diff options
Diffstat (limited to 'src/3rdparty/webkit/WebKit/mac/ChangeLog-2010-01-29')
-rw-r--r-- | src/3rdparty/webkit/WebKit/mac/ChangeLog-2010-01-29 | 23230 |
1 files changed, 23230 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/WebKit/mac/ChangeLog-2010-01-29 b/src/3rdparty/webkit/WebKit/mac/ChangeLog-2010-01-29 new file mode 100644 index 0000000..e734309 --- /dev/null +++ b/src/3rdparty/webkit/WebKit/mac/ChangeLog-2010-01-29 @@ -0,0 +1,23230 @@ +2010-01-29 Mark Rowe <mrowe@apple.com> + + Fix the Mac build. + + Disable ENABLE_INDEXED_DATABASE since it is "completely non-functional". + + As the comment in FeatureDefines.xcconfig notes, the list of feature defines + needs to be kept in sync across the various files. The default values also + need to be kept in sync between these files and build-webkit. + + * Configurations/FeatureDefines.xcconfig: + +2010-01-29 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/7441982> REGRESSION (TOT): Adobe CS4: Installer alerts are displayed as + blank windows + + * WebView/WebView.mm: + (shouldEnableLoadDeferring): Load deferring is enabled unless the application is Adobe + Installer. + (-[WebView _preferencesChangedNotification:]): Call setLoadDeferringEnabled(). + +2010-01-28 Enrica Casucci <enrica@apple.com> + + Reviewed by Maciej Stachowiak. + + Huge plain text pastes are slow + <rdar://problem/5195056> + https://bugs.webkit.org/show_bug.cgi?id=34237 + + Mail is ignoring the fragment created from plain text or HTML that is + passed to the delegate function, that creates a new one. + This fix avoids creating the fragment twice. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): + +2010-01-25 Anders Carlsson <andersca@apple.com> + + Featureless build fixes. + + * Misc/WebCache.mm: + (+[WebCache empty]): + * WebCoreSupport/WebApplicationCache.mm: + * WebCoreSupport/WebChromeClient.h: + * WebView/WebDataSource.mm: + (-[WebDataSource _transferApplicationCache:]): + * WebView/WebFrame.mm: + (-[WebFrame _cacheabilityDictionary]): + * WebView/WebView.mm: + (WebKitInitializeApplicationCachePathIfNecessary): + (-[WebView _close]): + * WebView/WebViewData.mm: + (-[WebViewPrivate dealloc]): + (-[WebViewPrivate finalize]): + +2010-01-25 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Simon Fraser. + + A WebGeolocationControllerClient is leaked for every WebView + https://bugs.webkit.org/show_bug.cgi?id=34145 + + * WebCoreSupport/WebGeolocationControllerClient.h: + * WebCoreSupport/WebGeolocationControllerClient.mm: + (WebGeolocationControllerClient::geolocationDestroyed): + +2010-01-22 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=34025 + Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets. + + * Configurations/FeatureDefines.xcconfig: + +2010-01-22 Brady Eidson <beidson@apple.com> + + Reviewed by Adele Peterson. + + [WebFrame loadRequest:] does not null check the WebCore::Frame + <rdar://problem/7416286> and https://bugs.webkit.org/show_bug.cgi?id=34021 + + * WebView/WebFrame.mm: + (-[WebFrame loadRequest:]): Null check the WebCore::Frame as it can disappear + out of underneath a WebFrame. + +2010-01-22 Peter Kasting <pkasting@google.com> + + Reviewed by David Hyatt. + + When scrolling by page, hold back 1/8th of the visible size instead of + 40 px. + https://bugs.webkit.org/show_bug.cgi?id=32595 + + * WebView/WebFrameView.mm: + (-[WebFrameView _verticalPageScrollDistance]): + (-[WebFrameView initWithFrame:]): + (-[WebFrameView _horizontalPageScrollDistance]): + +2010-01-20 Jian Li <jianli@chromium.org> + + Reviewed by Dmitry Titov. + + Implement File and Blob interfaces as defined in File API spec. + https://bugs.webkit.org/show_bug.cgi?id=32912 + + * MigrateHeaders.make: + +2010-01-19 Timothy Hatcher <timothy@apple.com> + + Fix erroneous page scrolls when trying to select text or use form elements + with the Web Inspector docked. + + http://webkit.org/b/24403 + rdar://problem/6753925 + + Reviewed by John Sullivan and Darin Adler. + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::scrollRectIntoView): The scrollRect.move() call was + incorrectly converting the rect under the assumption that the frame view + is the same size as the WebView. Using convertRect:fromView: instead + is enough to fix the bug, but that code isn't needed since WebCore + already takes care of scrolling the main frame's document view, so it + was redundant to do it here too. + +2010-01-20 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Darin Adler and Adam Roben. + + Feature defines are difficult to maintain on Windows builds + https://bugs.webkit.org/show_bug.cgi?id=33883 + + * Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync. + +2010-01-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7489504> Clicking on an overflow scrollbar when the window doesn't have + focus only focuses the window; it should start scrolling too + https://bugs.webkit.org/show_bug.cgi?id=33906 + + * Misc/WebElementDictionary.mm: + (+[WebElementDictionary initializeLookupTable]): Initialize WebElementIsInScrollBarKey. + (-[WebElementDictionary _isInScrollBar]): Added. Returns whether the HitTestResult contains + a scroll bar. + * WebView/WebHTMLView.mm: + (-[WebHTMLView _isScrollBarEvent:]): Added. Returns whether the event point is in a scroll + bar in this view. + (-[WebHTMLView acceptsFirstMouse:]): Accept scroll bar events. + * WebView/WebView.mm: Define WebElementIsInScrollBarKey. + * WebView/WebViewPrivate.h: Declare WebElementIsInScrollBarKey. + +2010-01-19 Dan Bernstein <mitz@apple.com> + + Redo Tiger build fix without making WebTypesInternal.h a private header + + * WebView/WebHTMLRepresentation.h: Define and use WebNSUInteger. + * WebView/WebHTMLRepresentation.mm: Import WebTypesInternal.h. + +2009-12-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/7068584> Crash at NetscapePluginHostProxy::processRequests + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::waitForReply): Wrapped with calls + to willCallPluginFunction/didCallPluginFunction. This prevents the plug-in + from being stopped while waiting for reply. + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Protect the + instance proxy in case the plug-in host crashes while waiting for reply. + * Plugins/Hosted/ProxyInstance.h: + (WebKit::ProxyInstance::waitForReply): Added. Calls through to + NetscapePluginInstanceProxy::waitForReply(), but returns a null reply if the + proxy gets invalidated while waiting for the reply. + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyInstance::invoke): Use ProxyInstance::waitForReply(). + (WebKit::ProxyInstance::supportsInvokeDefaultMethod): Ditto. + (WebKit::ProxyInstance::supportsConstruct): Ditto. + (WebKit::ProxyInstance::getPropertyNames): Ditto. + (WebKit::ProxyInstance::methodsNamed): Ditto. + (WebKit::ProxyInstance::fieldNamed): Ditto. + (WebKit::ProxyInstance::fieldValue): Ditto. + (WebKit::ProxyInstance::setFieldValue): Ditto. + +2010-01-19 John Sullivan <sullivan@apple.com> + + Tiger build fix. + + * WebView/WebHTMLRepresentation.h: + Added #import for WebTypesInternal.h so NSUInteger will be defined on Tiger. + +2010-01-19 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Tim Hatcher. + + Part of <http://webkit.org/b/28622>. + Caught exceptions still pause the debugger. + + Update WebScriptDebugger::exception to have the hasHandler parameter. + + This just adds a new parameter, no behavior is changed. + + * WebView/WebScriptDebugger.h: + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::exception): + +2010-01-19 Jon Honeycutt <jhoneycutt@apple.com> + + MSAA: The child <option> elements of a non-multiple <select> are not + exposed + + https://bugs.webkit.org/show_bug.cgi?id=33773 + <rdar://problem/7550556> + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory AXMenuListPopupActionVerb]): + Stubbed. + (-[WebViewFactory AXMenuListActionVerb]): + Stubbed. + +2010-01-19 John Sullivan <sullivan@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=33854 + Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns + more info about where the result was found + + Reviewed by Darin Adler + + * WebView/WebHTMLRepresentation.h: + Declare -searchForLabels:beforeElement:resultDistance:resultIsInCellAbove. + + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation searchForLabels:beforeElement:]): + Now calls through to searchForLabels:beforeElement:resultDistance:resultIsInCellAbove. + (-[WebHTMLRepresentation searchForLabels:beforeElement:resultDistance:resultIsInCellAbove:]): + New method, calls through to WebCore. + +2010-01-19 Dave Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben. + + Add an API to obtain the WebScriptWorld for a given JSGlobalContextRef. + + * WebView/WebScriptWorld.h: + * WebView/WebScriptWorld.mm: + (+[WebScriptWorld scriptWorldForGlobalContext:]): + +2010-01-19 Steve Block <steveblock@google.com> + + Unreviewed build fix. + + Fixes Snow Leopard build due to http://trac.webkit.org/changeset/53464 + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: Modified. Import <WebCore/Bridge.h> + +2010-01-19 Steve Block <steveblock@google.com> + + Reviewed by Adam Barth. + + Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h] + https://bugs.webkit.org/show_bug.cgi?id=33801 + + * Plugins/Hosted/ProxyInstance.h: + +2010-01-18 Enrica Casucci <enrica@apple.com> + + Reviewed by Darin Adler. + + Script attributes are copied and pasted, making cross-domain attacks possible (30019) + <rdar://problem/6008809> + https://bugs.webkit.org/show_bug.cgi?id=30019 + + * WebView/WebFrame.mm: + (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Modified the call to createMarkupString. + +2010-01-18 Steve Falkenburg <sfalken@apple.com> + + Rubber-stamped by Sam Weinig. + + Add missing export for Geolocation. + + * WebKit.exp: + +2010-01-18 Adam Roben <aroben@apple.com> + + Add +[WebView _setDomainRelaxationForbidden:forURLScheme:] + + WebKit/mac part of fixing <http://webkit.org/b/33806> + <rdar://problem/7552837> Would like API to disallow setting of + document.domain for pages with certain URL schemes + + Reviewed by Sam Weinig. + + * WebView/WebView.mm: + (+[WebView _setDomainRelaxationForbidden:forURLScheme:]): + * WebView/WebViewPrivate.h: + Added. Calls through to SecurityOrigin. + +2010-01-16 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Oliver Hunt. + + Cache JS string values made from DOM strings (Dromaeo speedup) + https://bugs.webkit.org/show_bug.cgi?id=33768 + <rdar://problem/7353576> + + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyInstance::stringValue): Explicitly make a String, since char* + is now ambiguous. + +2010-01-13 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/7532544> + + Expose new method on WebKitSystemInterface, WKGetUserToBaseCTM(), which will + be used for a shadow drawing fix. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + +2010-01-13 Kevin Decker <kdecker@apple.com> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=33610 + <rdar://problem/7288546> Silverlight full screen performance problem seen on Snow Leopard. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView _workaroundSilverlightFullScreenBug:]): Added. Work around Silverlight full screen + performance issue by maintaining an accelerated GL pixel format. We can safely remove this at some point in + the future when both Microsoft releases a genuine fix for 7288546 and enough Silverlight users update to the + new Silverlight. For now, we'll distinguish older broken versions of Silverlight by asking the plug-in if it + resolved its full screen badness. + (-[WebNetscapePluginView _createPlugin]): Call _workaroundSilverlightFullScreenBug:YES if this is Silverlight. + (-[WebNetscapePluginView _destroyPlugin]): Call _workaroundSilverlightFullScreenBug:NO if this is Silverlight. + +2010-01-11 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/7512726> Flash full-screen does not work correctly with Flash 10.1 beta + + Explicitly track when the plug-in shows and hides a full-screen window to determine + whether a plug-in is currently full-screen, rather than relying on menu bar visibility. + This ensures that we activate the plug-in host process and client application as + appropriate when the plug-in enters or exits full-screen. + + * Plugins/Hosted/NetscapePluginHostProxy.h: + (WebKit::NetscapePluginHostProxy::isFullScreenWindowShowing): + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + (WebKit::NetscapePluginHostProxy::setMenuBarVisible): + (WebKit::NetscapePluginHostProxy::didEnterFullScreen): + (WebKit::NetscapePluginHostProxy::didExitFullScreen): + (WebKit::NetscapePluginHostProxy::setFullScreenWindowIsShowing): + (WKPCSetMenuBarVisible): + (WKPCSetFullScreenWindowIsShowing): + * Plugins/Hosted/WebKitPluginClient.defs: + +2010-01-11 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Kevin Decker. + + https://bugs.webkit.org/show_bug.cgi?id=33455 + Allows plugins to participate in accelerated compositing + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView createPlugin]): + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView createPlugin]): If accelerated compositing is + available, don't use a layer-backed NSView for plugins. Instead, tickle the + accelerated compositing code via setNeedsStyleRecalc(SyntheticStyleChange), + which will parent the plugin's layer in the accelerated compositing layer + tree. + +2010-01-09 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + ScriptController::isEnabled needs to be renamed + https://bugs.webkit.org/show_bug.cgi?id=32063 + + Rename ScriptController::isEnabled to + ScriptController::canExecuteScripts. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::getWindowNPObject): + (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): + +2010-01-07 Daniel Bates <dbates@rim.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=32987 + + Added ENABLE_XHTMLMP flag. Disabled by default. + + * Configurations/FeatureDefines.xcconfig: + +2010-01-07 Alexey Proskuryakov <ap@apple.com> + + More build fix. + + * WebKitPrefix.h: Define JS_EXPORTCLASS here, as well (as empty). + +2010-01-07 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Simon Fraser. + + REGRESSION (r48075): Clicking and dragging in a widget's text field doesn't create a selection; drags widget instead ( Translation, Weather, Ski Report ) + https://bugs.webkit.org/show_bug.cgi?id=33348 + <rdar://problem/7310616> + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): We only want to + handle file: URLs for the user stylesheet now, so special-case the + DashboardClient's funky user stylesheet URL by mapping it to the + equivalent file URL. + +2010-01-07 Kevin Decker <kdecker@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=33331 + (WebHostedNetscapePluginView should pass acceleratedCompositingEnabled bool to NetscapePluginHostManager when instantiating plug-ins) + + * Plugins/Hosted/NetscapePluginHostManager.h: Modify method signature for instantiatePlugin to include acceleratedCompositingEnabled bool. + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView createPlugin]): Pass accelerated compositing status to NetscapePluginHostManage + +2010-01-06 Kevin Decker <kdecker@apple.com> + + Reviewed by Simon Fraser. + + Third step of: + <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView getVariable:value:]): Add case for WKNVSupportsCompositingCoreAnimationPluginsBool. + +2010-01-06 Kevin Decker <kdecker@apple.com> + + Reviewed by Simon Fraser. + + Second step of: + <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism + + * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method. + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView pluginLayer]): Added. + * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method. + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView pluginLayer]): Added. + +2010-01-06 Kevin Decker <kdecker@apple.com> + + Reviewed by Eric Carlson. + + First step toward: + <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism + + Small refactoring moving the PluginWidget class from WebKit to WebCore. + + * WebCoreSupport/WebFrameLoaderClient.mm: Use the WebCore version of PluginWidget. + +2010-01-05 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + Re-enable plug-in halting on Mac after r51953 + + * WebCoreSupport/WebPluginHalterClient.mm: + (WebPluginHalterClient::enabled): Test for the correct selector. + +2010-01-04 Dan Bernstein <mitz@apple.com> + + Reviewed by Ada Chan and Mark Rowe. + + Updated copyright string + + * Info.plist: + +2009-12-27 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Alexey Proskuryakov. + + plugins/get-url-with-iframe-target.html fails on SnowLeopard (64-bit) + https://bugs.webkit.org/show_bug.cgi?id=32982 + + This test has been failing on SnowLeopard since it was landed. + + The problem is that we never delivered the notification for + NPN_GetURLNotify, in the frame-targeting case, for out-of-process + plugins on Mac. + + I implemented support for this based on how in-process Mac plugins + do it. + + * Plugins/Hosted/HostedNetscapePluginStream.h: + * Plugins/Hosted/HostedNetscapePluginStream.mm: + (WebKit::HostedNetscapePluginStream::reasonForError): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::PluginRequest::create): + (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest): + (WebKit::NetscapePluginInstanceProxy::destroy): + (WebKit::NetscapePluginInstanceProxy::performRequest): + (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason): + (WebKit::NetscapePluginInstanceProxy::requestTimerFired): + (WebKit::NetscapePluginInstanceProxy::loadRequest): + * Plugins/Hosted/WebHostedNetscapePluginView.h: + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView webFrame:didFinishLoadWithReason:]): + (-[WebHostedNetscapePluginView webFrame:didFinishLoadWithError:]): + +2009-12-22 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + Turn off datagrid by default, at least for all platforms Apple ships. + The datagrid implementation isn't ready for general web use yet. + + * Configurations/FeatureDefines.xcconfig: Turn off datagrid by default. + +2009-12-21 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + Don't allocate a WebGeolocationControllerClient unless that compile-time setting is enabled. + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): + +2009-12-18 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Add Mac WebKit side of the client based geolocation provider. + + * Misc/WebKitErrors.m: + (registerErrors): Add Geolocation errors. + * Misc/WebKitErrorsPrivate.h: + * WebCoreSupport/WebGeolocationControllerClient.h: Added. + (WebGeolocationControllerClient::webView): + * WebCoreSupport/WebGeolocationControllerClient.mm: Added. + (WebGeolocationControllerClient::WebGeolocationControllerClient): + (WebGeolocationControllerClient::startUpdating): + (WebGeolocationControllerClient::stopUpdating): + (WebGeolocationControllerClient::lastPosition): + Add implementation of the WebGeolocationControllerClient. + + * WebView/WebGeolocationPosition.h: Added. + * WebView/WebGeolocationPosition.mm: Added. + (-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]): + (core): + (-[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]): + * WebView/WebGeolocationPositionInternal.h: Added. + Add an Objective-C wrapper for GeolocationPosition. + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Set the GeolocationControllerClient. + (-[WebView _setGeolocationProvider:]): Set the GeolocationProvider + (-[WebView _geolocationProvider]): Return the GeolocationProvider. + (-[WebView _geolocationDidChangePosition:]): Notify WebCore that the position changed. + (-[WebView _geolocationDidFailWithError:]): Notify WebCore that an error occured. + * WebView/WebViewData.h: + * WebView/WebViewPrivate.h: + +2009-12-18 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + REGRESSION(52325) Chromium build broken due to link failure + https://bugs.webkit.org/show_bug.cgi?id=32753 + + * WebCoreSupport/WebSystemInterface.m: + - Chromium Mac builds use this file, but do not + enable Pre-compiled Header (PCH) files so that + Chromium build bots can take advantage of the faster + distcc 3. Eventually all mac builds will likely use + distcc, but for now we'll add Platform.h here and document + its usage so it's not removed by accident. + +2009-12-18 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Fix preference key name. + + * WebView/WebPreferenceKeysPrivate.h: + +2009-12-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Pass preference to plug-in host. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::spawnPluginHost): + +2009-12-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add WKPCRunSyncOpenPanel implementation. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCRunSyncOpenPanel): + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + +2009-12-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add a useProxiedOpenPanel WebPreference and tunnel it through to the plug-in host. + + * Plugins/Hosted/NetscapePluginHostManager.h: + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::hostForPackage): + (WebKit::NetscapePluginHostManager::spawnPluginHost): + (WebKit::NetscapePluginHostManager::instantiatePlugin): + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences usesProxiedOpenPanel]): + (-[WebPreferences setUsesProxiedOpenPanel:]): + * WebView/WebPreferencesPrivate.h: + +2009-12-18 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Update WebKitSystemInterface for <rdar://problem/7237059>. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + +2009-12-18 Adam Roben <aroben@apple.com> + + Add #includes needed after WebCore clean-up + + Rubber-stamped by Anders Carlsson. + + Fixes <http://webkit.org/b/32718>. + + * WebView/WebFrame.mm: + * WebView/WebFrameView.mm: + * WebView/WebView.mm: + +2009-12-17 Adam Roben <aroben@apple.com> + + Mac build fix + + * WebView/WebVideoFullscreenController.mm: Added now-needed #import. + +2009-12-13 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=32499 + Add client based Geolocation provider + + Add first cut of a client based Geolocation provider. This is guarded by + ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a + GeolocationControllerClient interface that no-one currently implements, + but will in a subsequent patch. + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): + +2009-12-10 Jon Honeycutt <jhoneycutt@apple.com> + + Mac build fix. Unreviewed. + + Re-adds code that was mistakenly removed from my last patch. + + * WebCoreSupport/WebPluginHalterClient.mm: + Add necessary #import. + + * WebView/WebDelegateImplementationCaching.h: + Declare a new overload of CallUIDelegateReturningBoolean. + + * WebView/WebDelegateImplementationCaching.mm: + (CallDelegateReturningBoolean): + Add a new overload with different arguments. + (CallUIDelegateReturningBoolean): + Ditto. + +2009-12-10 Jon Honeycutt <jhoneycutt@apple.com> + + Pass more information about a plug-in to the PluginHalterDelegate + + Reviewed by Adam Roben. + + * Plugins/WebBaseNetscapePluginView.mm: + (WebHaltablePlugin::isWindowed): + Return false - the Mac doesn't really have windowed plug-ins. + (WebHaltablePlugin::pluginName): + Return the name from the plug-in package. + + * WebCoreSupport/WebPluginHalterClient.h: + Update for new parameters. + + * WebCoreSupport/WebPluginHalterClient.mm: + (WebPluginHalterClient::shouldHaltPlugin): + Ditto; pass them when making the delegate call. + + * WebView/WebUIDelegatePrivate.h: + Update for new parameters. + +2009-12-08 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/7295070> WebKit video fullscreen keeps playing after closing the window + + Fix a leak of the QTMovieView when exiting fullscreen video, and remove the + old workaround. + + * WebView/WebVideoFullscreenController.mm: + (-[WebVideoFullscreenController windowDidLoad]): Set the movie view as the contentView directly. + (-[WebVideoFullscreenController setMediaElement:WebCore::]): Cast the contentView to a movie view. + (-[WebVideoFullscreenController windowDidExitFullscreen]): Remove the old workaround. + +2009-12-08 Dmitry Titov <dimich@chromium.org> + + Rubber-stamped by David Levin. + + Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread." + It may have caused massive increase of reported leaks on the bots. + https://bugs.webkit.org/show_bug.cgi?id=31639 + + * ForwardingHeaders/wtf/ThreadVerifier.h: Removed. + +2009-12-08 Dmitry Titov <dimich@chromium.org> + + Reviewed by Darin Adler. + + Add asserts to RefCounted to make sure ref/deref happens on the right thread. + https://bugs.webkit.org/show_bug.cgi?id=31639 + + * ForwardingHeaders/wtf/ThreadVerifier.h: Added. + +2009-12-07 Dmitry Titov <dimich@chromium.org> + + Rubber-stamped by Darin Adler. + + Remove ENABLE_SHARED_SCRIPT flags + https://bugs.webkit.org/show_bug.cgi?id=32245 + This patch was obtained by "git revert" command and then un-reverting of ChangeLog files. + + * Configurations/FeatureDefines.xcconfig: + +2009-12-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/7450481> One compositing test keeps DRT in "compositing mode", breaks repaint tests + + The counter that WebView used to keep track of the number of enclosed WebHTMLViews using + accelerated compositing was hard to manage, and maintained incorrectly in a number of cases. + This caused one compositing test make DumpRenderTree think that all subsequent tests + were compositing too. + + Replace this counter with notifications, which are only fired if a client (DRT) requests them. The + notification informs the client that a WebHTMLView entered compositing mode (or an already- + compositing WebHTML was added); it does not say when a view becomes uncomposited, or all + compositing subviews were removed, since this is tricky to get right. + + Change -[WebView _isUsingAcceleratedCompositing] to manually walk the frames, and + return YES if any document view is composited. + + * WebKit.exp: + * WebView/WebHTMLView.mm: + (-[WebHTMLView close]): + (-[WebHTMLView viewDidMoveToSuperview]): + (-[WebHTMLView attachRootLayer:]): + (-[WebHTMLView detachRootLayer]): + * WebView/WebView.mm: + (+[WebView automaticallyNotifiesObserversForKey:]): + (-[WebView _postsAcceleratedCompositingNotifications]): + (-[WebView _setPostsAcceleratedCompositingNotifications:]): + (-[WebView _isUsingAcceleratedCompositing]): + * WebView/WebViewData.h: + * WebView/WebViewInternal.h: + * WebView/WebViewPrivate.h: + +2009-12-07 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=32184 + Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing. + Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on. + + * WebView/WebView.mm: + (aeDescFromJSValue): + +2009-12-07 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Holger Hans Peter Freyther. + + Turn on (SVG) Filters support, by default. + https://bugs.webkit.org/show_bug.cgi?id=32224 + + * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag. + +2009-12-03 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchDidPushStateWithinPage): + (WebFrameLoaderClient::dispatchDidReplaceStateWithinPage): + (WebFrameLoaderClient::dispatchDidPopStateWithinPage): + * WebView/WebDelegateImplementationCaching.h: + * WebView/WebFrameLoadDelegatePrivate.h: + * WebView/WebView.mm: + (-[WebView _cacheFrameLoadDelegateImplementations]): + +2009-12-03 Pavel Feldman <pfeldman@dhcp-172-28-174-220.spb.corp.google.com> + + Reviewed by Timothy Hatcher. + + Web Inspector: Simplify the settings support in inspector controller. + + https://bugs.webkit.org/show_bug.cgi?id=32076 + + * WebCoreSupport/WebInspectorClient.h: + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController showWindow:]): + (-[WebInspectorWindowController attach]): + (-[WebInspectorWindowController detach]): + +2009-12-03 Ben Murdoch <benm@google.com> + + Reviewed by Brady Eidson. + + [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed. + https://bugs.webkit.org/show_bug.cgi?id=31915 + + * History/WebHistoryItem.mm: + (WKNotifyHistoryItemChanged): Update WKNotifyHistoryItemChanged() to add the new HistoryItem parameter added in the WebCore portion of this patch. + * History/WebHistoryItemInternal.h: ditto. + +2009-12-03 Ben Murdoch <benm@google.com> + + Reviewed by Brady Eidson. + + [Android] The FrameLoaderClient is unaware of BackForwardList changes. + https://bugs.webkit.org/show_bug.cgi?id=31914 + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug). + (WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto. + (WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto. + +2009-12-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + Fix a mistake in the previous change + + * WebView/WebView.mm: + (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]): + Make sure to include the image types’ view and representation classes + even when plug-ins are not allowed. + +2009-12-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + Fixed <rdar://problem/7254127> WebKit can load plug-ins even when + plug-ins are disabled + + Ensure that the shared WebPluginDatabase is not instantiated if no + WebViews are used that have plug-ins enabled. + + * DefaultDelegates/WebDefaultPolicyDelegate.m: + (-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]): + Call -[WebView _canShowMIMEType:] on the WebView instead of calling the + class method. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::canShowMIMEType): Ditto. + (WebFrameLoaderClient::transitionToCommittedForNewPage): Call + -[WebFrameView _viewClassForMIMEType:] on the WebView instead of calling + the class method. + (WebFrameLoaderClient::objectContentType): Ditto. + + * WebView/WebDataSource.mm: + (+[WebDataSource _representationClassForMIMEType:allowingPlugins:]): + Added the allowPlugins parameter, which is passed through to + +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]. + (-[WebDataSource _makeRepresentation]): Pass an allowPlugins value + based on the WebView’s preferences. + + * WebView/WebFrameView.mm: + (-[WebFrameView _makeDocumentViewForDataSource:]): Call + -[WebFrameView _viewClassForMIMEType:] instead of calling the class + method. + (+[WebFrameView _viewClassForMIMEType:allowingPlugins:]): Added the + allowPlugins parameter, which is passed through to + +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]. + (-[WebFrameView _viewClassForMIMEType:]): Added. Passes an allowPlugins + value based on the WebView’s preferences. + + * WebView/WebFrameViewInternal.h: + * WebView/WebView.mm: + (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]): + Added the allowPlugins parameter. If false, skip the instantiation of + the shared WebPluginDatabase. + (-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Pass an + allowPlugins value based on the WebView’s preferences. + (+[WebView _canShowMIMEType:allowingPlugins:]): Passes allowPlugins to + +_viewClass:andRepresentationClass:forMIMEType:allowingPlugins:. + (+[WebView canShowMIMEType:]): Changed to pass YES to + +_canShowMIMEType:allowingPlugins:. + (-[WebView _canShowMIMEType:]): Added. Passes an allowPlugins value + based on the WebView’s preferences. + (-[WebView _pluginForMIMEType:]): Return nil if plug-ins are disabled. + (-[WebView _pluginForExtension:]): Ditto. + (-[WebView _isMIMETypeRegisteredAsPlugin:]): Return NO if plug-ins are + disabled. + * WebView/WebViewInternal.h: + +2009-12-02 Timothy Hatcher <timothy@apple.com> + + Fixes a crash when scrolling a frame that goes away mid-scroll. + + <rdar://problem/7400263> + + Reviewed by John Sullivan. + + * WebView/WebDynamicScrollBarsView.mm: + (-[WebDynamicScrollBarsView scrollWheel:]): Retain self incase the last + reference is released when calling super. + +2009-11-13 Timothy Hatcher <timothy@apple.com> + + Migrate DOMHTMLInputElementPrivate.h as a private header. + + Reviewed by Darin Adler. + + * MigrateHeaders.make: + +2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Simon Fraser. + + Add SVG animation test framework with 'snapshot' functionality + https://bugs.webkit.org/show_bug.cgi?id=31897 + + Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method, + forwarding the call to SVGDocumentExtensions, if SVG is enabled. + + Implemented just like the existing pauseAnimation* methods for CSS animations. + + * WebView/WebFrame.mm: + (-[WebFrame _pauseSVGAnimation:onSMILNode:atTime:]): + * WebView/WebFramePrivate.h: + +2009-12-01 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + Simplify [WebView userAgentForURL:]. No need to call into helper function. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::userAgent): + * WebView/WebView.mm: + (-[WebView userAgentForURL:]): + * WebView/WebViewInternal.h: + +2009-11-24 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Geoff Garen. + + Bug 31859 - Make world selection for JSC IsolatedWorlds automagical. + + WebCore presently has to explicitly specify the world before entering into JSC, + which is a little fragile (particularly since property access via a + getter/setter might invoke execution). Instead derive the current world from + the lexical global object. + + Since WebCore no longer needs to explicitly specify the world on entry to JSC DebuggerCallFrame::evaluate can be called directly. + + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame evaluateWebScript:]): + +2009-11-24 Dmitry Titov <dimich@chromium.org> + + Reviewed by Eric Seidel. + + Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit + https://bugs.webkit.org/show_bug.cgi?id=31444 + + * Configurations/FeatureDefines.xcconfig: + +2009-11-24 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Brady Eidson. + + https://bugs.webkit.org/show_bug.cgi?id=31844 + SocketStreamHandleCFNet should support CONNECT proxy credentials + + * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add WKSI methods. + +2009-11-23 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + DocumentMarkers need to be educated about transforms + https://bugs.webkit.org/show_bug.cgi?id=31751 + + Find highlight is incorrect with transforms + <rdar://problem/6358394> + + Allow callers to specify that Frame::selectionTextRects() takes transforms into account + when computing the set of rects that encompass a selection. For transformed elemenets, the + selection rect will be the bounding box of the selected content. + + Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView selectionTextRects]): + Pass RespectTransforms to get a list of rects with transforms taken into account. + +2009-11-23 Kevin Decker <kdecker@apple.com> + + Reviewed by Adam Roben. + + <rdar://problem/7401503> + + Added a workaround for plug-ins not drawing immediately. + + * Plugins/WebBaseNetscapePluginView.mm: Added new constant. + (-[WebBaseNetscapePluginView _clearSubstituteImage]): Added. + (-[WebBaseNetscapePluginView resumeFromHalt]): Call above new method. + +2009-11-20 Dave Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + Make sure to export WebSerializedJSValue. + + * WebKit.exp: + +2009-11-20 Dave Hyatt <hyatt@apple.com> + + Reviewed by Oliver Hunt and Jon Honeycutt. + + Add support for WebSerializedJSValue to WebKit. This object wraps the SerializedScriptValue functionality in WebCore + and exposes the ability to do JS value serialization/deserialization to WebKit clients. + + * WebView/WebSerializedJSValue.h: Added. + * WebView/WebSerializedJSValue.mm: Added. + (-[WebSerializedJSValue initWithValue:context:]): + (-[WebSerializedJSValue deserialize:]): + (-[WebSerializedJSValue dealloc]): + +2009-11-20 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + WAI-ARIA: add support for 'math' role + https://bugs.webkit.org/show_bug.cgi?id=31706 + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory AXARIAContentGroupText:]): + +2009-11-19 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/7035231> + Support closed caption in <video> element + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + Add QTMovieHasClosedCaptions and QTMovieSetShowClosedCaptions. + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory localizedMediaControlElementString:]): + (-[WebViewFactory localizedMediaControlElementHelpText:]): + Add accessibility help strings for media controller closed caption button. + +2009-11-18 Michelangelo De Simone <micdesim@gmail.com> + + Reviewed by Darin Adler. + + Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>. + Support for validationMessage attribute, as per HTML5 specs. + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory validationMessageValueMissingText]): + (-[WebViewFactory validationMessageTypeMismatchText]): + (-[WebViewFactory validationMessagePatternMismatchText]): + (-[WebViewFactory validationMessageTooLongText]): + (-[WebViewFactory validationMessageRangeUnderflowText]): + (-[WebViewFactory validationMessageRangeOverflowText]): + (-[WebViewFactory validationMessageStepMismatchText]): + +2009-11-18 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Make the Mac Geolocation API async. + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::requestGeolocationPermissionForFrame): + (-[WebGeolocationPolicyListener initWithGeolocation:]): + (-[WebGeolocationPolicyListener allow]): + (-[WebGeolocationPolicyListener deny]): + Add WebGeolocationPolicyListener implementation of the new WebGeolocationPolicyListener + protocol and use if to implement requestGeolocationPermissionForFrame using the new async + API. + + * WebCoreSupport/WebGeolocation.mm: Removed. + * WebCoreSupport/WebGeolocationInternal.h: Removed. + * WebCoreSupport/WebGeolocationMock.mm: Remove bogus include. + * WebCoreSupport/WebGeolocationPrivate.h: Removed. + * WebView/WebUIDelegatePrivate.h: Remove requestGeolocationPermission and add + WebGeolocationPolicyListener protocol and decidePolicyForGeolocationRequestFromOrigin delegate + method. + +2009-11-18 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Add Preferences for WebKitShowDebugBorders and WebKitShowRepaintCounter + https://bugs.webkit.org/show_bug.cgi?id=31601 + + These are used to debug accelerated compositing layers + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences showDebugBorders]): + (-[WebPreferences setShowDebugBorders:]): + (-[WebPreferences showRepaintCounter]): + (-[WebPreferences setShowRepaintCounter:]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-11-17 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Make DRT show web inspector for tests in inspector/ folder. + - Updated DRT to show/close inspector for all tests under /inspector + - Introduced LayoutTestController::setTimelineProfilingEnabled and + WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled + - Removed reload on each inspector test + - Renamed fast/inspector to fast/inspector-support in order not to trigger + inspector for those. + - Reimplemented timeline tests in order to get rid of reload there. + - Moved tests that don't require harness into the fast group. + + https://bugs.webkit.org/show_bug.cgi?id=31472 + + * WebInspector/WebInspector.h: + * WebInspector/WebInspector.mm: + (-[WebInspector isTimelineProfilingEnabled]): + (-[WebInspector setTimelineProfilingEnabled:]): + +2009-11-14 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + Need to implement ARIA role="directory" + https://bugs.webkit.org/show_bug.cgi?id=31516 + + Fix a spelling error in the comment of a localized (accessibility) string. + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory AXARIAContentGroupText:]): + +2009-11-14 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/7287487> + Do not use QuickTime version to detect media controller theme + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Initialize wkMediaControllerThemeAvailable. + +2009-11-13 Adam Roben <aroben@apple.com> + + Tell the WebFrameLoadDelegate when window objects in isolated worlds + are cleared + + Fixes <http://webkit.org/b/31124>. + + Reviewed by Dave Hyatt. + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): + Replaced windowObjectCleared with this function. If the delegate + implements it, call + -webView:didClearWindowObjectForFrame:inScriptWorld:. Otherwise, if + the passed-in world is the mainThreadNormalWorld(), call + -webView:didClearWindowObject:forFrame:. + + * WebView/WebDelegateImplementationCaching.h: Added a new entry in the + frame load delegate implementation cache for the new delegate method. + + * WebView/WebFrameLoadDelegatePrivate.h: + * WebView/WebScriptWorld.mm: + (allWorlds): Added. Returns a HashMap of all the WebScriptWorlds in + existence. + (-[WebScriptWorld initWithWorld:]): Add ourselves to allWorlds(). + (-[WebScriptWorld dealloc]): Remove ourselves from allWorlds(). + (+[WebScriptWorld findOrCreateWorld:]): Returns the existing + WebScriptWorld for this DOMWrapperWorld, or a new one if one doesn't + already exist. + + * WebView/WebScriptWorldInternal.h: Declared +findOrCreateWorld:. + + * WebView/WebView.mm: + (-[WebView _cacheFrameLoadDelegateImplementations]): Cache the + implementation of the new frame load delegate method. + +2009-11-13 Adam Roben <aroben@apple.com> + + Finish replacing worldIDs with world objects + + The only remaining use of worldIDs was in a method only used by DRT + for the isolated worlds tests. + + Fixes <http://webkit.org/b/31414> Replace worldIDs with world objects + + Reviewed by Mark Rowe. + + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): + * WebView/WebFramePrivate.h: + Renamed from + _stringByEvaluatingJavaScriptInIsolatedWorld:WithGobalObject:FromString:. + Now takes a WebScriptWorld instead of a worldID, so we don't need to + maintain a map of worldID -> world anymore. + +2009-11-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + When exiting full-screen video, rather than resetting the system UI + mode, restore it to what it was when full-screen mode was entered. + + * WebView/WebVideoFullscreenController.h: Cleaned up style, removed + unnecessary imports, and added _savedUIMode and _savedUIOptions ivars. + * WebView/WebVideoFullscreenController.mm: + (-[WebVideoFullscreenController delegate]): Cleaned up style. + (-[WebVideoFullscreenController setDelegate:]): Ditto. + (-[WebVideoFullscreenController windowDidExitFullscreen]): Restore the + system UI mode. + (-[WebVideoFullscreenController windowDidEnterFullscreen]): Save the + system UI mode. + * WebView/WebView.mm: Added now-necessary import. + +2009-11-12 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by Darin Adler. + + externalRepresentation should take Frame as the argument + https://bugs.webkit.org/show_bug.cgi?id=31393 + + No new tests as this is just a refactoring. + + * Misc/WebCoreStatistics.mm: + (-[WebFrame renderTreeAsExternalRepresentation]): + +2009-11-12 Adam Roben <aroben@apple.com> + + Replace worldIDs with world objects + + WebScriptWorld is the new object that represents a world. The only + place worldID is still used is in -[WebFrame + _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:], + but that will change soon. + + Part of <http://webkit.org/b/31414> Implement new SPI for dealing with + user scripts/stylesheets and isolated worlds + + Reviewed by Sam Weinig. + + * WebKit.exp: Export WebScriptWorld. + + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:]): + Moved the bizarre world caching/creation logic that DRT depends on + here from the findWorld function in ScriptController.cpp. Updated to + use ScriptController::executeScriptInWorld instead of + ScriptController::executeScriptInIsolatedWorld. + (-[WebFrame _contextForWorld:]): Renamed from contextForWorldID:. Now + takes a WebScriptWorld. + + * WebView/WebFramePrivate.h: Replaced contextForWorldID: with + _contextForWorld:. + + * WebView/WebScriptWorld.h: Added. + * WebView/WebScriptWorld.mm: Added. + (-[WebScriptWorld initWithWorld:]): Store the passed-in world in our + _private member. + (-[WebScriptWorld init]): Create a new DOMWrapperWorld and pass it to + -initWithWorld:. + (-[WebScriptWorld dealloc]): Release _private. + (+[WebScriptWorld standardWorld]): Returns a shared instance that + represents WebCore's mainThreadNormalWorld(). + (+[WebScriptWorld world]): Returns a new instance. + (core): Returns the DOMWrapperWorld for this WebScriptWorld. + + * WebView/WebScriptWorldInternal.h: Added. + + * WebView/WebView.mm: + (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]): + (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]): + (+[WebView _removeUserScriptFromGroup:world:url:]): + (+[WebView _removeUserStyleSheetFromGroup:world:url:]): + (+[WebView _removeUserScriptsFromGroup:world:]): + (+[WebView _removeUserStyleSheetsFromGroup:world:]): + * WebView/WebViewPrivate.h: + Changed these functions to take a WebScriptWorld instead of a worldID. + +2009-11-12 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + ARIA: add alert type roles + https://bugs.webkit.org/show_bug.cgi?id=31392 + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory AXARIAContentGroupText:]): + +2009-11-10 Daniel Bates <dbates@webkit.org> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=30754 + + Removed method draggedImage:movedTo: + + * WebView/WebFrame.mm: + * WebView/WebFrameInternal.h: + * WebView/WebHTMLView.mm: + +2009-11-10 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Small WebKit part of: + Fix for <rdar://problem/7059710> + -and corresponding- + https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit- + color-correction for CSS colors + + * Misc/WebKitNSStringExtras.mm: + (-[NSString _web_drawAtPoint:font:textColor:]): setFillColor now + requires callers to pass a ColorSpace. + +2009-11-10 Dan Bernstein <mitz@apple.com> + + Reviewed by Eric Carlson and Darin Adler. + + WebKit part of making full-screen video pause during scrubbing. + + * WebView/WebVideoFullscreenHUDWindowController.h: Added _isScrubbing + ivar. + * WebView/WebVideoFullscreenHUDWindowController.mm: + (-[WebVideoFullscreenHUDWindowController dealloc]): Assert that + _isScrubbing is NO. + (-[WebVideoFullscreenHUDWindowController endScrubbing]): Call + HTMLMediaElement::endScrubbing(). + (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]): + If scrubbing has just begun, call HTMLMediaElement::beginScrubbing() + and schedule -endScrubbing to be called when mouse tracking ends. + +2009-11-09 Mark Mentovai <mark@chromium.org> + + Reviewed by Dan Bernstein. + + Track "can have scrollbar" state within FrameView independently of the + individual scrollbar states in ScrollView. + + rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167 + REGRESSION (r48064): mint.com loses scrollbars after coming out of + edit mode. + + rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517 + REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store. + + Test: fast/overflow/scrollbar-restored.html + + * WebView/WebFrameView.mm: + (-[WebFrameView _install]): + +2009-11-08 Dan Bernstein <mitz@apple.com> + + Reviewed by Eric Carlson. + + Made the full-screen video HUD appear when playback stops, such as when + the end of the video is reached. + + * WebView/WebVideoFullscreenHUDWindowController.h: Cleaned up. + * WebView/WebVideoFullscreenHUDWindowController.mm: + (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Updated + for the renaming of -updateRate to -updatePlayButton. + (-[WebVideoFullscreenHUDWindowController updatePlayButton]): Renamed + -updateRate to this. + (-[WebVideoFullscreenHUDWindowController updateRate]): This method now + responds to changes to the playback rate by updating the play button + and showing or hiding the HUD as necessary. + (-[WebVideoFullscreenHUDWindowController togglePlaying:]): Now only + toggles playing. UI updates are driven by -updateRate being called. + (-[WebVideoFullscreenHUDWindowController playing]): Cleaned up. + +2009-11-02 Eric Carlson <eric.carlson@apple.com> + + Reviewed by John Sullivan and Mark Rowe. + + <rdar://problem/7356733> Voiceover does not read correct media controller time values + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory localizedMediaTimeDescription:]): + +2009-11-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + Made the remaining time display show negative zero at the end of the + video. + + Made other cleanup. + + * WebView/WebVideoFullscreenHUDWindowController.h: Reverted the types of + _timeline and _volumeSlider to the more generic NSControl. + * WebView/WebVideoFullscreenHUDWindowController.mm: + (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Cleaned + up style. + (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Added an + assertion that the cast to NSButton * is legal. Removed casts. + (-[WebVideoFullscreenHUDWindowController updateTime]): Use + -setValue:forKey: instead of an NSSlider method. + (timeToString): Changed to support only non-negative values and + simplified. + (-[WebVideoFullscreenHUDWindowController remainingTimeText]): Always + prepend a “-” to the time. + +2009-11-02 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + WebKit part of making the appearance of the full-screen video HUD match + QuickTime Player X’s HUD. + + * WebView/WebVideoFullscreenHUDWindowController.h: Removed unnecessary + #import statements, cleaned up style, and changed _timeline, + _volumeSlider and _playButton to have more specific types. + * WebView/WebVideoFullscreenHUDWindowController.mm: Updated #import + statements. + (webkit_CGFloor): Added this helper function. + (-[WebVideoFullscreenHUDWindowController init]): Cleaned up style. + (createTimeTextField): Changed to use the bold system font. + (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the + subviews’ metrics and the text fields’ text alignment. + (-[WebVideoFullscreenHUDWindowController updateTime]): Avoid conversion + from double to float. + (stringToTimeTextAttributed): Removed this useless function that + returned an NSAttributedString masquerading as an NSString. + (-[WebVideoFullscreenHUDWindowController remainingTimeText]): Removed + call to stringToTimeTextAttributed(). + (-[WebVideoFullscreenHUDWindowController elapsedTimeText]): Ditto. + +2009-11-02 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + Support ARIA "tab" roles + https://bugs.webkit.org/show_bug.cgi?id=30842 + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory AXARIAContentGroupText:]): + +2009-11-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + Made the space bar toggle playing state in full-screen video when + modifier keys are down. Made it do so without highlighting the + Play/Pause button. + + * WebView/WebVideoFullscreenHUDWindowController.mm: + (-[WebVideoFullscreenHUDWindowController keyDown:]): + +2009-11-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + Made the full-screen video HUD respond to the up and down arrow keys by + increasing and decreasing the volume by 1/10 of the range or, when + combined with the Option key, all the way up or down. + + Made the volume buttons in the full-screen video HUD match the behavior + of their equivalents in the QuickTime Player HUD by turning the volume + all the way up or down. + + Made the volume slider update immediately when the keyboard or volume + buttons are used to change the volume, rather than at the nearest 1/4 + second interval. + + Made the elapsed and remaining time displays update immediately when the + play head is dragged across the timeline, rather than at 1/4 second + intervals. + + * WebView/WebVideoFullscreenHUDWindowController.mm: + (-[WebVideoFullscreenHUDWindowController keyDown:]): Handle the up and + down arrow keys. + (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the + actions of the volume up and volume down buttons. + (-[WebVideoFullscreenHUDWindowController setCurrentTime:]): Call + -updateTime. + (-[WebVideoFullscreenHUDWindowController setVolumeToZero:]): Added this + action for the volume down button. + (-[WebVideoFullscreenHUDWindowController setVolumeToMaximum:]): Added + this action for the volume up button. + (-[WebVideoFullscreenHUDWindowController decrementVolume]): No longer + and action method. + (-[WebVideoFullscreenHUDWindowController incrementVolume]): Ditto. + (-[WebVideoFullscreenHUDWindowController setVolume:]): Call + -updateVolume. + +2009-10-30 Evan Stade <estade@chromium.org> + + Reviewed by David Levin. + + Notify the chrome when the focused node has changed. + https://bugs.webkit.org/show_bug.cgi?id=30832 + + Added stub implementation for new ChromeClient function. + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::focusedNodeChanged): + +2009-10-30 Roland Steiner <rolandsteiner@chromium.org> + + Reviewed by Eric Seidel. + + Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak. + + Bug 28420 - Implement HTML5 <ruby> rendering + (https://bugs.webkit.org/show_bug.cgi?id=28420) + + No new tests (no functional change). + + * Configurations/FeatureDefines.xcconfig: + +2009-10-29 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Validate the stopSpeaking: selector so that is not always enabled when a WebView is first responder. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): + +2009-10-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=30932 + <rdar://problem/7350269> + + REGRESSION: Crash when turning on Private Browsing on site with flash. + + Null check setValue. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView privateBrowsingModeDidChange]): + +2009-10-29 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Kevin Decker. + + Refactor some duplicate plug-in clean up code into shared functions. + + * Plugins/WebPluginController.mm: + (-[WebPluginController stopOnePlugin:]): New, stop a plug-in. + (-[WebPluginController destroyOnePlugin:]): New, destroy plug-in. + (-[WebPluginController stopAllPlugins]): Call stopOnePlugin. + (-[WebPluginController destroyPlugin:]): Call stopOnePlugin and destroyOnePlugin. + (-[WebPluginController destroyAllPlugins]): Call destroyOnePlugin. + +2009-10-28 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7303145> + Can't exit full screen mode or restart movie after pressing command -R. + + * WebView/WebVideoFullscreenController.mm: + (-[WebVideoFullscreenController _requestExit]): + New, call media element's exitFullscreen method. + (-[WebVideoFullscreenController requestExitFullscreenWithAnimation:]): + Call mediaElement->exitFullscreen() after a delay as it turns around and calls + WebVideoFullscreenController:exitFullscreen. + + * WebView/WebVideoFullscreenHUDWindowController.h: + * WebView/WebVideoFullscreenHUDWindowController.mm: + (-[WebVideoFullscreenHUDWindow resignFirstResponder]): + New, don't give up responder status. + (-[WebVideoFullscreenHUDWindow performKeyEquivalent:]): + New, block all command key events. + (-[WebVideoFullscreenHUDWindowController exitFullscreen:]): + Remember when we are in the process of exiting fullscreen, don't allow recursion. + + * WebView/WebView.mm: + (-[WebView _exitFullscreen]): + Early return if fullscreen controller is nil. + + * WebView/WebWindowAnimation.h: + Correct comment about _window retain status. + * WebView/WebWindowAnimation.m: + (-[WebWindowScaleAnimation dealloc]): + Don't release _window, we never reatained it. + +2009-10-27 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by Darin Adler. + + Provide a way to get counter values with layoutTestContoller + https://bugs.webkit.org/show_bug.cgi?id=30555 + + Add counterValueForElement in WebFrame to call WebCore::counterValueForElement. + + * Misc/WebCoreStatistics.h: + * Misc/WebCoreStatistics.mm: + (-[WebFrame counterValueForElement:]): + +2009-10-27 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Updated for refactoring in the date code. + + * WebView/WebView.mm: + (aeDescFromJSValue): Since we just want a number of milliseconds, do that + instead of something more complicated. + +2009-10-26 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Move some WebView event handling code into its own file, WebViewEventHandling.mm + + * WebView/WebView.mm: + (-[WebView _close]): + (-[WebView _selectedOrMainFrame]): + * WebView/WebViewEventHandling.mm: Added. + (-[WebView _closingEventHandling]): + (-[WebView _setMouseDownEvent:]): + (-[WebView mouseDown:]): + (-[WebView mouseUp:]): + (+[WebView _updateMouseoverWithEvent:]): + (-[WebView _updateMouseoverWithFakeEvent]): + (_updateMouseoverWithEvent:fakeEvent::if): + (-[WebView _stopAutoscrollTimer]): + (-[WebView _setToolTip:]): + * WebView/WebViewInternal.h: + +2009-10-26 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/6988966> Hardware layers do not show up in page snapshots + + * WebView/WebHTMLViewPrivate.h: + * WebView/WebHTMLView.mm: + (-[WebHTMLView _compositingLayersHostingView]): + Add a private method that returns the NSView used to host compositing layers. + +2009-10-23 Mark Rowe <mrowe@apple.com> + + Fix engineering builds in the mysterious future. + + * Configurations/DebugRelease.xcconfig: + +2009-10-23 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Geoff Garen. + + https://bugs.webkit.org/show_bug.cgi?id=30729 + Provide private API to request the global context for a specific world. + Used to initialize parameters on the global object. + + * WebView/WebFramePrivate.h: + * WebView/WebFrame.mm: + (-[WebFrame contextForWorldID:]): + +2009-10-22 Eric Carlson <eric.carlson@apple.com> + + Reviewed by John Sullivan. + + <rdar://problem/7322847> + Pressing space bar key in full screen mode should pause movie but doesn't + + * WebView/WebVideoFullscreenHUDWindowController.mm: + (-[WebVideoFullscreenHUDWindowController keyDown:]): New, toggle playback on space key. + (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Play button action is now called togglePlaying. + (-[WebVideoFullscreenHUDWindowController togglePlaying:]): Rename from playingChanged. + +2009-10-22 Gavin Barraclough <barraclough@apple.com> + + Reviewed by NOBODY (build fix). + Build fix following bug #30696. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::getWindowNPObject): + (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): + +2009-10-16 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Sam Weinig & Geoff Garen. + + https://bugs.webkit.org/show_bug.cgi?id=30696 + Update to incorporate support for IsolatedWorlds in JSC bindings. + + * WebView/WebFrame.mm: + (-[WebFrame _attachScriptDebugger]): + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + (-[WebFrame globalContext]): + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame evaluateWebScript:]): + * WebView/WebView.mm: + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): + +2009-10-22 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Dan Bernstein & Simon Fraser. + + <rdar://problem/7297717> + https://bugs.webkit.org/show_bug.cgi?id=30323 + Play/pause button in full-screen video controller does not reflect current state + + * WebView/WebVideoFullscreenController.mm: + (-[WebVideoFullscreenController setMediaElement:WebCore::]): Register for QTMovieRateDidChangeNotification + (-[WebVideoFullscreenController rateChanged:]): Call HUD controller when rate changes. + + * WebView/WebVideoFullscreenHUDWindowController.h: + * WebView/WebVideoFullscreenHUDWindowController.mm: + (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Call updateRate so play button + reflects playback state. + (-[WebVideoFullscreenHUDWindowController updateRate]): New, set play button state according to + movie state. + (-[WebVideoFullscreenHUDWindowController playingChanged:]): Only call [self playing] once. + +2009-10-21 John Sullivan <sullivan@apple.com> + + Rubber-stamped by Dan Bernstein. + + * WebView/WebDynamicScrollBarsView.h: + Corrected a couple of long-obsolete comments regarding Safari's use of this class. + +2009-10-20 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Mark Rowe. + + <rdar://problem/7319749> REGRESSION(r49806): Contextual Menu items missing + https://bugs.webkit.org/show_bug.cgi?id=30568 + + Revert accidental change from r49806. + + * WebCoreSupport/WebContextMenuClient.mm: + (WebContextMenuClient::getCustomMenuFromDefaultItems): + +2009-10-20 Fumitoshi Ukai <ukai@chromium.org> + + Reviewed by David Levin. + + Removed WebSocket runtime settings. + https://bugs.webkit.org/show_bug.cgi?id=29896 + + WebSocket runtime configuration is supported by chromium/v8 only. + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-10-19 Nate Chapin <japhet@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Update call to loadFrameRequest to match new parameters. + + * WebView/WebPDFView.mm: + (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Update call to loadFrameRequest. + +2009-10-19 David Kilzer <ddkilzer@apple.com> + + Documentation fix for -[NSObject(WebResourceLoadDelegate) webView:resource:willSendRequest:redirectResponse:fromDataSource:] + + Reviewed by Dan Bernstein. + + * WebView/WebResourceLoadDelegate.h: Prepended "webView:" to the + @method declaration of + -webView:resource:willSendRequest:redirectResponse:fromDataSource: + which was absent before r3953 and was missed during the great + documentation clean up of r4269. + +2009-10-19 Anders Carlsson <andersca@apple.com> + + Fix build. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): + +2009-10-19 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + Split assertions of conjunctions into separate statements or remove + redundant assertions. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::deadNameNotificationCallback): + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView setAttributeKeys:andValues:]): + (-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView halt]): + (-[WebBaseNetscapePluginView resumeFromHalt]): + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): + (-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): + * WebCoreSupport/WebContextMenuClient.mm: + (WebContextMenuClient::getCustomMenuFromDefaultItems): + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::checkGrammarOfString): + (WebEditorClient::checkTextOfParagraph): + * WebView/WebTextCompletionController.mm: + (-[WebTextCompletionController _reflectSelection]): + +2009-10-18 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/7309062> Crashes in WebCore::DocumentLoader::isStopping below WebKit::NetscapePluginInstanceProxy::loadRequest. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::loadRequest): Null-check the DocumentLoader before deferencing it. + +2009-10-16 Kevin Decker <kdecker@apple.com> + + Reviewed by Jon Honeycutt. + + <rdar://problem/7304575> + + * Plugins/WebBaseNetscapePluginView.h: Added new boolean ivar and -hasBeenHalted instance method. + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView halt]):Update _hasBeenHalted. + (-[WebBaseNetscapePluginView hasBeenHalted]): Added. + * WebView/WebView.mm: + (+[WebView _hasPluginForNodeBeenHalted:]): Checks to see if a plug-in node's been halted. + * WebView/WebViewPrivate.h: Added -_hasPluginForNodeBeenHalted method. + +2009-10-16 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlson. + + Small code cleanup + + * Plugins/WebBaseNetscapePluginView.mm: + (WebHaltablePlugin::halt): Just call -[WebBaseNetscapePluginView halt]. + (WebHaltablePlugin::restart): Just call -[WebBaseNetscapePluginView resumeFromHalt] + (-[WebBaseNetscapePluginView halt]): + (-[WebBaseNetscapePluginView resumeFromHalt]): + * WebView/WebView.mm: + (_pluginViewForNode): Added a check if a render is a widget. This prevents a later assertion. + +2009-10-16 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlson. + + Last part of: + <rdar://problem/7273354> + + * WebView/WebView.mm: + (_pluginViewForNode): Added with code extracted from _isNodeHaltedPlugin + (+[WebView _isNodeHaltedPlugin:]): Made this a class method. + (+[WebView _restartHaltedPluginForNode:]): Added. Restarts a plug-in + * WebView/WebViewPrivate.h: Added +_restartHaltedPluginForNode to header. + +2009-10-16 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders. + + <rdar://problem/7273354> + + * Plugins/WebBaseNetscapePluginView.h: Added _isHalted ivar and three new methods: -halt, -resumeFromHalt, and -isHalted + * Plugins/WebBaseNetscapePluginView.mm: + (WebHaltablePlugin::halt): Call -halt instead of -stop. + (WebHaltablePlugin::restart):Call -resumeFromHalt instead of -start. + (-[WebBaseNetscapePluginView halt]): Added. Stop the plug-in, update _isHalted. + (-[WebBaseNetscapePluginView resumeFromHalt]): Added. Start the plug-in, update _isHalted. + (-[WebBaseNetscapePluginView isHalted]): Added. + * WebView/WebView.mm: + (-[WebView _isNodeHaltedPlugin:]): Added. Queries a DOMNode to determine if it's a halted plug-in. + * WebView/WebViewPrivate.h: Added _isNodeHaltedPlugin. + +2009-10-15 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Adele Peterson. + + <rdar://problem/7306052> Fullscreen max/min volume buttons non-functional + + * WebView/WebVideoFullscreenHUDWindowController.mm: + (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Set volume buttons target and action. + (-[WebVideoFullscreenHUDWindowController decrementVolume:]): New, decrement the volume by 10%. + (-[WebVideoFullscreenHUDWindowController incrementVolume:]): New, increment the volume by 10%. + +2009-10-15 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode + + * WebView/WebVideoFullscreenHUDWindowController.mm: + (-[WebVideoFullscreenHUDWindowController setVolume:]): Unmute movie before changing volume. + +2009-10-14 Kevin Decker <kdecker@apple.com> + + Unbreak the world. + + * Plugins/WebBaseNetscapePluginView.mm: + (WebHaltablePlugin::restart): + +2009-10-14 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlsson and Jon Honeycutt + + <rdar://problem/7304295> snapshots of halted plug-ins are missing + + * Plugins/WebBaseNetscapePluginView.mm: Move bodies of WebHaltablePlugin virtual functions from WebHaltablePlugin class definition. + (WebHaltablePlugin::halt): Provide a substitute image to the RenderWidget for the plug-in view. + (WebHaltablePlugin::restart): Clear the substitute image. + +2009-10-13 Dave Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben. + + Change the order of arguments on some methods. Split removal for user stylesheets and script into + separate functions based off the type of object being removed. + + * WebView/WebView.mm: + (+[WebView _addUserScriptToGroup:worldID:source:url:whitelist:blacklist:injectionTime:]): + (+[WebView _addUserStyleSheetToGroup:worldID:source:url:whitelist:blacklist:]): + (+[WebView _removeUserScriptFromGroup:worldID:url:]): + (+[WebView _removeUserStyleSheetFromGroup:worldID:url:]): + (+[WebView _removeUserScriptsFromGroup:worldID:]): + (+[WebView _removeUserStyleSheetsFromGroup:worldID:]): + * WebView/WebViewPrivate.h: + +2009-10-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/6660507> Add "privacy mode" to Netscape Plug-in API + + Listen for WebPreferences notifications and update the _isPrivateBrowsingEnabled ivar + when the value changes. Also call -[WebBaseNetscapePluginView privateBrowsingModeDidChange] when the + value changes. In process this just calls NPP_SetValue, and OOP it sends a MIG message to the plug-in host. + + * Plugins/Hosted/NetscapePluginHostManager.h: + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::privateBrowsingModeDidChange): + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView createPlugin]): + (-[WebHostedNetscapePluginView privateBrowsingModeDidChange]): + * Plugins/Hosted/WebKitPluginHost.defs: + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView privateBrowsingModeDidChange]): + (-[WebBaseNetscapePluginView viewDidMoveToWindow]): + (-[WebBaseNetscapePluginView preferencesHaveChanged:]): + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView privateBrowsingModeDidChange]): + (-[WebNetscapePluginView getVariable:value:]): + +2009-10-12 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Video keeps playing after going fullscreen, then closing window + https://bugs.webkit.org/show_bug.cgi?id=30164 + + Clear the QTMovie on the QTMovieView when coming out of fullscreen, + to fix issue where the underlying movie keeps playing. + + * WebView/WebVideoFullscreenController.mm: + (-[WebVideoFullscreenController windowDidExitFullscreen]): + +2009-10-11 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/7294267> REGRESSION (r48492): Gmail voice and video chat + doesn’t work + https://bugs.webkit.org/show_bug.cgi?id=30295 + + Test: plugins/setProperty.html + + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyInstance::setFieldValue): Fixed a typo. The function + should return early if m_instanceProxy is null. + +2009-10-09 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Factor HistoryController out of FrameLoader + https://bugs.webkit.org/show_bug.cgi?id=30246 + + Update API call. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::restoreViewState): + * WebView/WebView.mm: + (-[WebView _loadBackForwardListFromOtherView:]): + +2009-10-09 Mark Rowe <mrowe@apple.com> + + Reviewed by Brady Eidson. + + <rdar://problem/7290671> Crash after navigating away from a page with subframe containing plug-in + + At the time that -stop is called on a WebBaseNetscapePluginView that is contained within a subframe + the WebFrame's data source has been zeroed out. This was causing -[WebBaseNetscapePluginView webFrame] + to return nil during -stop, preventing the plug-in view from unregistering itself from the PluginHalter. + We fix this by having -webFrame retrieve the frame directly rather than retrieving it from the data source. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView dataSource]): Get the data source from the WebFrame. + (-[WebBaseNetscapePluginView webFrame]): Get the Frame directly from the element's document rather + than taking a windy route through the WebDataSource. + +2009-10-09 Brady Eidson <beidson@apple.com> + + Reviewed by Dan Bernstein. + + Add SPI to specifically enable visited link tracking. + + * History/WebHistory.mm: + (+[WebHistory _setVisitedLinkTrackingEnabled:]): + * History/WebHistoryPrivate.h: + +2009-10-08 Jon Honeycutt <jhoneycutt@apple.com> + + Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking + for the existence of a PluginHalterDelegate. + + Reviewed by Dan Bernstein. + + * WebCoreSupport/WebPluginHalterClient.h: + Add declaration for new function. + + * WebCoreSupport/WebPluginHalterClient.mm: + (WebPluginHalterClient::enabled): + Check whether the UIDelegate responds to shouldHaltPlugin. + + * WebView/WebPreferenceKeysPrivate.h: + Remove the "enabled" preference key. + + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + Remove the initialization of the pref. + + * WebView/WebPreferencesPrivate.h: + Remove the getter/setter for this pref. + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + Remove propagation of the pref. + +2009-10-08 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Move executeScript from FrameLoader to ScriptController + https://bugs.webkit.org/show_bug.cgi?id=30200 + + Update API call. + + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + * WebView/WebView.mm: + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): + +2009-10-08 Brady Eidson <beidson@apple.com> + + Reviewed by Dan Bernstein. + + Ask the History Delegate to populate the visited links hash. + <rdar://problem/7285293> and https://webkit.org/b/29904 + + * History/WebHistory.mm: + (+[WebHistory _removeAllVisitedLinks]): + * History/WebHistoryPrivate.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::populateVisitedLinks): + * WebView/WebDelegateImplementationCaching.h: + * WebView/WebDelegateImplementationCaching.mm: + (CallHistoryDelegate): + * WebView/WebHistoryDelegate.h: + * WebView/WebView.mm: + (-[WebView _cacheHistoryDelegateImplementations]): + (-[WebView addVisitedLinks:]): + * WebView/WebViewPrivate.h: + +2009-10-08 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Remove the shouldLoadMediaElementURL implementation. + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + * WebView/WebPolicyDelegatePrivate.h: + +2009-10-07 Simon Fraser <simon.fraser@apple.com> + + Re-land 49269-49271 since reverting them did not fix the tests. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView drawRect:]): + +2009-10-07 Simon Fraser <simon.fraser@apple.com> + + Revert 49269-49271 to see if it fixes test failures on SnowLeopard that do not + reproduce locally. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView drawRect:]): + +2009-10-07 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Factor PolicyChecker out of FrameLoader + https://bugs.webkit.org/show_bug.cgi?id=30155 + + Move the policy callback to the policy object. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchWillSubmitForm): + (WebFrameLoaderClient::receivedPolicyDecison): + +2009-10-07 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler. + + Send title changes to the global history delegate. + <rdar://problem/7285293> and https://webkit.org/b/29904 + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::setTitle): + * WebView/WebDelegateImplementationCaching.h: + * WebView/WebHistoryDelegate.h: + * WebView/WebView.mm: + (-[WebView _cacheHistoryDelegateImplementations]): + +2009-10-07 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + Make the setMetadataURL function foolproof by having it remove user info + https://bugs.webkit.org/show_bug.cgi?id=30178 + rdar://problem/6544670 + + * Misc/WebNSFileManagerExtras.m: + (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): + Call _web_URLByRemovingUserInfo on the passed in URL string after converting + it to a URL, and then convert it back to a string. + + * Misc/WebNSURLExtras.h: Added _web_URLByRemovingUserInfo. + * Misc/WebNSURLExtras.mm: Removed unused WebKitURLComponents struct. + (-[NSURL _web_URLByTruncatingOneCharacterBeforeComponent:]): Renamed to be + clearer on what this does. + (-[NSURL _webkit_URLByRemovingFragment]): Changed to call new name. + (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Ditto. + (-[NSURL _web_URLByRemovingComponentAndSubsequentCharacter:]): Added. + (-[NSURL _web_URLByRemovingUserInfo]): Added. + +2009-10-07 Simon Fraser <simon.fraser@apple.com> + + Make Dan Bernstein happy. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView drawRect:]): + +2009-10-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Avoid Obj-C message dispatch when possible by storing accessed objects + in local variables. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView drawRect:]): + +2009-10-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Animation stalls for a few seconds partway through + https://bugs.webkit.org/show_bug.cgi?id=30182 + + Make sure that we only call -disableScreenUpdatesUntilFlush when a window + update is actually going to happen, otherwise screen updates are disabled + for too long. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView drawRect:]): + +2009-10-06 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: default to an attached inspector window on Windows (as on Mac). + + https://bugs.webkit.org/show_bug.cgi?id=30134 + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController showWindow:]): + +2009-10-06 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Move FrameLoader::canLoad to SecurityOrigin + https://bugs.webkit.org/show_bug.cgi?id=30111 + + * Plugins/Hosted/HostedNetscapePluginStream.mm: + (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream): + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::loadRequest): + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::WebNetscapePluginStream): + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): + * Plugins/WebPluginContainerCheck.mm: + (-[WebPluginContainerCheck _isForbiddenFileLoad]): + * WebView/WebFrame.mm: + (-[WebFrame _allowsFollowingLink:]): + +2009-10-06 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Move setLocalLoadPolicy and friends to SecurityOrigin + https://bugs.webkit.org/show_bug.cgi?id=30110 + + Call the new API. + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): + +2009-10-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Mark Rowe. + + accessibility/media-element.html crashes (and has incorrect result) + https://bugs.webkit.org/show_bug.cgi?id=30108 + + Fix up the accessibilty label for the newly added fullscreen button, + and update the test result accordingly. + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory localizedMediaControlElementString:]): + Handle "ControlsPanel" which is just an empty container, to avoid + asserting in debug builds. + +2009-10-06 Daniel Bates <dbates@webkit.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=30107 + + Fixes an issue where the Mac build does return the correct drop effect + with respect to the HTML 5 specification when effectAllowed == "none". + + Currently, when effectAllowed == "none" and dropEffect == "copy" or + dropEffect == "move" the resulting drop effect is "copy" and "move", + respectively. However, the HTML 5 specification states that regardless + of the specified dropEffect, when effectAllowed == "none" the resulting + drop effect should be "none". + + * WebView/WebHTMLView.mm: + (-[WebHTMLView draggingSourceOperationMaskForLocal:]): + +2009-10-06 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: close inspector client view on + InspectorController::close API call. + + In order to run batch web inspector layout tests (and not affect + subsequent tests) we should close inspector client's view upon + InspectorController::close API call. + + https://bugs.webkit.org/show_bug.cgi?id=30009 + + * WebCoreSupport/WebInspectorClient.mm: + (WebInspectorClient::createPage): + +2009-10-05 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Mark Rowe. + + Moved a WebPluginHalterClient out of the WebCore namesapce. + + * WebCoreSupport/WebPluginHalterClient.h: + +2009-10-05 Kevin Decker <kdecker@apple.com> + + Reviewed by Dan Bernstein. + + Added new PluginHalter client, delegate and few more WebPreferences keys. + + * WebView/WebPreferenceKeysPrivate.h: Added two new keys. + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): Initialize newly added key. + (-[WebPreferences pluginAllowedRunTime]): Added. + (-[WebPreferences setPluginAllowedRunTime:]): Added. + * WebView/WebPreferencesPrivate.h: Added above two methods. + * WebView/WebUIDelegatePrivate.h: Added shouldHaltPlugin delegate. + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): + Setup a new WebPluginHalterClient. + (-[WebView _preferencesChangedNotification:]): Update WebCore settings accordingly. + * WebCoreSupport/WebPluginHalterClient.h: Added. + * WebCoreSupport/WebPluginHalterClient.mm: Added. + (WebPluginHalterClient::WebPluginHalterClient): + (WebPluginHalterClient::shouldHaltPlugin): Added, invoke the delegate. + +2009-10-05 Simon Fraser <simon.fraser@apple.com> + + More build fixes for Tiger. + + * WebView/WebVideoFullscreenController.mm: + +2009-10-05 Simon Fraser <simon.fraser@apple.com> + + More build fixes for Tiger. + + * WebView/WebVideoFullscreenController.mm: + (-[WebVideoFullscreenWindow animationDidEnd:]): + * WebView/WebWindowAnimation.m: + +2009-10-05 Simon Fraser <simon.fraser@apple.com> + + More build fixes for Tiger. + + * WebView/WebVideoFullscreenController.mm: + * WebView/WebVideoFullscreenHUDWindowController.mm: + (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]): + (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): + (-[WebVideoFullscreenHUDWindowController fadeWindowIn]): + (-[WebVideoFullscreenHUDWindowController fadeWindowOut]): + (-[WebVideoFullscreenHUDWindowController closeWindow]): + +2009-10-05 Simon Fraser <simon.fraser@apple.com> + + Build fixes for Tiger. + + * WebView/WebVideoFullscreenHUDWindowController.h: + * WebView/WebVideoFullscreenHUDWindowController.mm: + (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]): + (-[WebVideoFullscreenHUDWindowController dealloc]): + (-[WebVideoFullscreenHUDWindowController closeWindow]): + (-[WebVideoFullscreenHUDWindowController windowDidLoad]): + +2009-10-05 Simon Fraser <simon.fraser@apple.com> + + Build fix. If you call Node::hasTagName(), you also have to include Element.h. + + * WebCoreSupport/WebChromeClient.mm: + +2009-10-05 Pierre d'Herbemont <pdherbemont@webkit.org> + + Reviewed by Simon Fraser + + Support fullscreen in MediaPlayer (Mac) + https://bugs.webkit.org/show_bug.cgi?id=26742 + + Add a fullscreen button to the <video> controller if the media engine, + and the theme have support for fullscreen, and can show appropriate controls. + Clicking the button calls through the ChromeClient to the WebVideoFullscreenController + in WebKit to do a nice animation to fullscreen, with a custom controller. + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::supportsFullscreenForNode): + (WebChromeClient::enterFullscreenForNode): + (WebChromeClient::exitFullscreenForNode): + New methods to ask whether fullscreen is possible for a given node, and + notifications on enterying and exiting fullscreen. + + * WebView/WebVideoFullscreenController.h: Added. + * WebView/WebVideoFullscreenController.mm: Added. + WebVideoFullscreenController is responsible for creating the fullscreen window, + and coordinating the various animations when going fullscreen. + + * WebView/WebVideoFullscreenHUDWindowController.h: Added. + * WebView/WebVideoFullscreenHUDWindowController.mm: Added. + This class manages the heads-up display (HUD) control bar. + + * WebView/WebView.mm: + (-[WebView _close]): + Make sure we come out of fullscreen if the WebView is torn down (e.g. if + you close a background window). + + (-[WebView _enterFullscreenForNode:WebCore::]): + Make a WebVideoFullscreenController and tell is to start to go fullscreen. + + (-[WebView _exitFullscreen]): + Tell the WebVideoFullscreenController to come out of fullscreen, and clean up. + + * WebView/WebViewData.h: + * WebView/WebViewData.mm: + (-[WebViewPrivate dealloc]): + (-[WebViewPrivate finalize]): + * WebView/WebViewInternal.h: + Keep a pointer to the WebVideoFullscreenController. + + * WebView/WebWindowAnimation.h: Added. + * WebView/WebWindowAnimation.m: Added. + (WebWindowAnimationDurationFromDuration): + (scaledRect): + (squaredDistance): + Handle the animations used during the transitition to fullscreen. + +2009-10-05 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + WebKit side of <rdar://problem/7179166> + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + Add an m_pluginIsWaitingForDraw member variable. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + Initialize m_pluginIsWaitingForDraw. + + (WebKit::NetscapePluginInstanceProxy::invalidateRect): + Set m_pluginIsWaitingForDraw to true. + + (WebKit::NetscapePluginInstanceProxy::didDraw): + If m_pluginIsWaitingForDraw is true, call _WKPHPluginInstanceDidDraw. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView drawRect:]): + Call didDraw. + + * Plugins/Hosted/WebKitPluginHost.defs: + Add PHPluginInstanceDidDraw. + +2009-10-02 Chris Marrin <cmarrin@apple.com> + + Reviewed by Adele Peterson. + + Add functionality to pause/throttle CSS transitions/animations in a WebView + https://bugs.webkit.org/show_bug.cgi?id=29942 + + Added both a setter and getter function + + * WebView/WebView.mm: + (-[WebView cssAnimationsSuspended]): + (-[WebView setCSSAnimationsSuspended:]): + * WebView/WebViewData.h: + * WebView/WebViewData.mm: + (-[WebViewPrivate init]): + * WebView/WebViewPrivate.h: + +2009-10-04 Kevin Decker <kdecker@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/7273363> Plug-ins should use PluginHalter + + * Plugins/WebBaseNetscapePluginView.h: Add WebHaltablePlugin forward declare and _haltable ivar. + * Plugins/WebBaseNetscapePluginView.mm: + (WebHaltablePlugin::WebHaltablePlugin): Added. + (WebHaltablePlugin::halt): New method that stops a plug-in. + (WebHaltablePlugin::restart): New method that starts a plug-in. + (WebHaltablePlugin::node): Added. Provides the DOMNode corresponding to the plug-in in WebBaseNetscapePluginView. + (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]): + Initialize new _haltable ivar. + (-[WebBaseNetscapePluginView start]): Call the page's didStartPlugin() upon starting a plug-in. + (-[WebBaseNetscapePluginView stop]): Call the page's didStopPlugin() upon stopping a plug-in. + +2009-10-05 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: add testing harness for Web Inspector. + + https://bugs.webkit.org/show_bug.cgi?id=30010 + + * WebInspector/WebInspector.mm: + (-[WebInspector evaluateInFrontend:callId:script:]): + * WebInspector/WebInspectorPrivate.h: Added. + +2009-10-04 Kevin Decker <kdecker@apple.com> + + Reviewed by Cameron Zwarich. + + * WebView/WebPreferenceKeysPrivate.h: Added new key. + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): Leave plug-in halting disabled by default. + (-[WebPreferences pluginHalterEnabled]): Added. + (-[WebPreferences setPluginHalterEnabled:]): Ditto. + * WebView/WebPreferencesPrivate.h: Added above new methods. + +2009-10-02 Dave Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben. + + Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns. + + * WebView/WebView.mm: + (toStringVector): + (+[WebView _addUserScriptToGroup:source:url:worldID:whitelist:blacklist:injectionTime:]): + (+[WebView _addUserStyleSheetToGroup:source:url:worldID:whitelist:blacklist:]): + * WebView/WebViewPrivate.h: + +2009-10-01 Mark Rowe <mrowe@apple.com> + + Fix the Tiger build. Don't unconditionally enable 3D canvas as it is not supported on Tiger. + + * Configurations/FeatureDefines.xcconfig: + +2009-10-01 Chris Marrin <cmarrin@apple.com> + + Reviewed by Oliver Hunt. + + Turn on ENABLE_3D_CANVAS in TOT + https://bugs.webkit.org/show_bug.cgi?id=29906 + + * Configurations/FeatureDefines.xcconfig: + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences webGLEnabled]): + (-[WebPreferences setWebGLEnabled:]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-09-30 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix for <rdar://problem/7259706> + Need WebKit API or SPI on Mac and Windows to test whether it's safe to load a page in a new tab/window + + * WebView/WebFrame.mm: + (-[WebFrame _allowsFollowingLink:]): + * WebView/WebFramePrivate.h: + +2009-09-30 Dave Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben. + + Add the ability to remove user stylesheets and scripts by URL. + + * WebView/WebView.mm: + (+[WebView _removeUserContentFromGroup:url:worldID:]): + * WebView/WebViewPrivate.h: + +2009-09-29 Brady Eidson <beidson@apple.com> + + Rubberstamped by Dan Bernstein. + + Fix license and some sorting in new files. + + * WebView/WebHistoryDelegate.h: + * WebView/WebNavigationData.h: + * WebView/WebNavigationData.mm: + +2009-09-29 Brady Eidson <beidson@apple.com> + + Reviewed by John Sullivan. + + WebKit Mac API should provide a delegate interface for global history. + <rdar://problem/7042773> and https://webkit.org/b/29904 + + * WebView/WebHistoryDelegate.h: Added. New interface for WebKit clients to implement to manage + their own global history store. + + Object to store all of the bits of data relevant to a page visit: + * WebView/WebNavigationData.h: Added. + * WebView/WebNavigationData.mm: Added. + (-[WebNavigationDataPrivate dealloc]): + (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]): + (-[WebNavigationData url]): + (-[WebNavigationData title]): + (-[WebNavigationData originalRequest]): + (-[WebNavigationData response]): + (-[WebNavigationData hasSubstituteData]): + (-[WebNavigationData clientRedirectSource]): + (-[WebNavigationData dealloc]): + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::updateGlobalHistory): If the delegate exists, don't use the built-in WebHistory. + If the implementation for this method exists, call it. + (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Ditto + + * WebView/WebDelegateImplementationCaching.h: + * WebView/WebDelegateImplementationCaching.mm: + (WebViewGetHistoryDelegateImplementations): + (CallHistoryDelegate): + + * WebView/WebView.mm: + (-[WebView _cacheHistoryDelegateImplementations]): + (-[WebView setHistoryDelegate:]): + (-[WebView historyDelegate]): + * WebView/WebViewData.h: + * WebView/WebViewPrivate.h: + +2009-09-29 Kenneth Russell <kbr@google.com> + + Reviewed by Dimitri Glazkov. + + Add support for run-time flag for 3D canvas + https://bugs.webkit.org/show_bug.cgi?id=29826 + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Enable experimental + WebGL flag when 3D_CANVAS is enabled in the build. + +2009-09-28 Fumitoshi Ukai <ukai@chromium.org> + + Reviewed by Eric Seidel. + + Add experimentalWebSocketsEnabled in WebPreferences. + https://bugs.webkit.org/show_bug.cgi?id=28941 + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences experimentalWebSocketsEnabled]): + (-[WebPreferences setExperimentalWebSocketsEnabled:]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-09-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading + a PDF + + CGPDFObjectRef is not a CFTypeRef, and cannot be retained or released. + Its lifetime is managed by its container. Just use a Vector to store + CGPDFObjectRefs, relying on the CGPDFDocument to keep them alive. + + * WebView/WebPDFDocumentExtras.mm: + (appendValuesInPDFNameSubtreeToVector): + (getAllValuesInPDFNameTree): + (web_PDFDocumentAllScripts): + +2009-09-24 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Alice Liu. + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): + Pass 0 for new Page constructor argument. + +2009-09-14 John Gregg <johnnyg@google.com> + + Reviewed by Eric Seidel. + + isEnabled switch for notifications (experimental) in Page Settings + https://bugs.webkit.org/show_bug.cgi?id=28930 + + Adds support for the experimentalNotificationsEnabled flag in Settings + through WebPreferencesPrivate. + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences experimentalNotificationsEnabled]): + (-[WebPreferences setExperimentalNotificationsEnabled:]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-09-23 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Updated for a WebCore rename. + + * WebView/WebFrame.mm: + (-[WebFrame _cacheabilityDictionary]): + +2009-09-23 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + Speed up access to history items by caching date computation. + + * History/WebHistory.mm: + (getDayBoundaries): Refactored from timeIntervalForBeginningOfDay. + Returns the beginning of the day that the passed time is within and + the beginning of the next day. + (beginningOfDay): Added. Uses getDayBoundaries so it can be fast for + multiple dates within the same day, which is the common case. + (dateKey): Added. Calls beginningOfDay and converts to an integer. + (-[WebHistoryPrivate findKey:forDay:]): Changed to call dateKey + insetad of timeIntervalForBeginningOfDay. + +2009-09-23 David Kilzer <ddkilzer@apple.com> + + Move definition of USE(PLUGIN_HOST_PROCESS) from WebKitPrefix.h to Platform.h + + Reviewed by Mark Rowe. + + * WebKitPrefix.h: Removed definition of + WTF_USE_PLUGIN_HOST_PROCESS. + +2009-09-22 Timothy Hatcher <timothy@apple.com> + + Prevent scrolling multiple frames during latched wheel events. + + Reviewed by Anders Carlsson. + + * WebView/WebDynamicScrollBarsView.h: + * WebView/WebDynamicScrollBarsView.mm: + (-[WebDynamicScrollBarsView scrollWheel:]): + +2009-09-22 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + <rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading + a PDF + + * WebView/WebPDFDocumentExtras.mm: + (addWebPDFDocumentExtras): Made methodList static, because + class_addMethods() doesn't copy it. + +2009-09-21 Dan Bernstein <mitz@apple.com> + + Attempt to fix the Tiger build + + * WebView/WebPDFDocumentExtras.mm: + (addWebPDFDocumentExtras): + +2009-09-21 Dan Bernstein <mitz@apple.com> + + Attempt to fix the Tiger build + + * WebView/WebPDFDocumentExtras.mm: + (web_PDFDocumentAllScripts): + (addWebPDFDocumentExtras): + +2009-09-21 Dan Bernstein <mitz@apple.com> + + Attempt to fix the Tiger build + + * WebView/WebPDFDocumentExtras.mm: + * WebView/WebPDFRepresentation.mm: + +2009-09-21 Dan Bernstein <mitz@apple.com> + + Attempt to fix the Leopard and Tiger builds + + * WebView/WebPDFDocumentExtras.mm: + +2009-09-21 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/4137135> iFrame with PDF not being handled correctly on + usps.com + https://bugs.webkit.org/show_bug.cgi?id=4151 + + * WebView/WebJSPDFDoc.h: Added. + * WebView/WebJSPDFDoc.mm: Added. + (jsPDFDocInitialize): Retains the WebDataSource. + (jsPDFDocFinalize): Releases the WebDataSource. + (jsPDFDocPrint): Call the WebUIDelegate method -webView:printFrameView: + with the PDF document's view. + (makeJSPDFDoc): Makes and returns a JavaScript Doc instance that wraps + the WebDataSource. + * WebView/WebPDFDocumentExtras.h: Added. + * WebView/WebPDFDocumentExtras.mm: Added. + (appendValuesInPDFNameSubtreeToArray): Traverses a subtree of a PDF name + tree and adds all values in the subtree to an array. + (allValuesInPDFNameTree): Returns an array with all of the values in a + PDF name tree. + (web_PDFDocumentAllScripts): This is the implementation of -[PDFDocument + _web_allScripts]. It gets all values in the document-level "JavaScript" + name tree, which are action dictionaries, and returns an array of the + actions' scripts. + (addWebPDFDocumentExtras): Adds the -_web_allScripts method to + PDFDocument. + * WebView/WebPDFRepresentation.h: + * WebView/WebPDFRepresentation.m: Removed. + * WebView/WebPDFRepresentation.mm: Copied from WebKit/mac/WebView/WebPDFRepresentation.m. + (+[WebPDFRepresentation initialize]): Added. Calls + addWebPDFDocumentExtras(). + (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Get the + scripts from the PDF document, create a JavaScript Doc object for the + document, and a JavaScript execution context, then execute every script + in the context, with the Doc object as "this". + +2009-09-17 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt. + + Compositing layers are incorrectly positioned after scrolling with position:fixed + https://bugs.webkit.org/show_bug.cgi?id=29262 + + When scrolling a page with compositing layers inside a position:fixed element, + we need to update the compositing layer positions when the scroll position changes. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _frameOrBoundsChanged]): + Call the new FrameView::scrollPositionChanged() method rather than sending the + scroll event directly. + +2009-09-17 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Simon Hausmann. + + Make PlatformWindow return something else than PlatformWidget + https://bugs.webkit.org/show_bug.cgi?id=29085 + + Reflect the rename of platformWindow and it's return type. + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::platformPageClient): + +2009-09-17 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/7007541> + CrashTracer: 4800+ crashes in Safari at com.apple.WebKit • WTF::HashTableIterator... + + Add null checks for m_instanceProxy (It will be null when a plug-in has crashed). + + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyInstance::invoke): + (WebKit::ProxyInstance::supportsInvokeDefaultMethod): + (WebKit::ProxyInstance::supportsConstruct): + (WebKit::ProxyInstance::getPropertyNames): + (WebKit::ProxyInstance::methodsNamed): + (WebKit::ProxyInstance::fieldNamed): + (WebKit::ProxyInstance::fieldValue): + (WebKit::ProxyInstance::setFieldValue): + (WebKit::ProxyInstance::invalidate): + +2009-09-16 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and + become misplaced when the WebHTMLView is resized or scrolled sometimes. + <rdar://problem/7071636> + + The previous fix didn't fix the case where the layers jiggle when resizing the docked + inspector when the view size is over 2048px tall, on Leopard. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _updateLayerHostingViewPosition]): + +2009-09-16 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Oliver Hunt. + + Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and + become misplaced when the WebHTMLView is resized or scrolled sometimes. + <rdar://problem/7071636> + + We call an internal AppKit method to make sure the layer geometry is updated correctly. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _updateLayerHostingViewPosition]): + +2009-09-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Fixed position elements flash when CSS transforms are applied on page > 2048px tall + https://bugs.webkit.org/show_bug.cgi?id=27272 + + Update the previous workaround for misplaced compositing layers, which used a 4096px + threshold, to 2048px since that's the GPU max texture size on some older hardware. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _updateLayerHostingViewPosition]): + +2009-09-15 Alex Milowski <alex@milowski.com> + + Reviewed by Tor Arne Vestbø. + + Added the ENABLE_MATHML to the feaure defines + + * Configurations/FeatureDefines.xcconfig: + +2009-09-15 Mark Rowe <mrowe@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/7224378> REGRESSION(r48360): Dragging a tab with a plug-in out of a window, the plug-in gets slow and confused + + In r48360, the fix for <rdar://problem/7090444>, I neglected to consider the case where the plug-in had already been started and + -start would do an early-return rather than calling -restartTimers and -addWindowObservers itself. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Reinstate the call to -restartTimers and -addWindowObservers, but guard them + with a check that the view is still in the window. + +2009-09-14 Brady Eidson <beidson@apple.com> + + Reviewed by Alexey Proskuryakov. + + Safari 4 cannot be used to update firmware on Linksys routers. + <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160 + + Adopt the new WebCore::CredentialStorage in WebKit/Mac. + + * Misc/WebDownload.mm: + (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): + * Plugins/WebBaseNetscapePluginView.mm: + (WebKit::getAuthenticationInfo): + +2009-09-12 Mark Rowe <mrowe@apple.com> + + Reviewed by Anders Carlsson. + + Fix <rdar://problem/7090444> Crashes in-[WebBaseNetscapePluginView stop] handling NSWindowWillCloseNotification. + + It's not valid to call -addWindowObservers when the view is not in a window, but this can happen when -start + initializes a plug-in and the plug-in removes itself from the document during initialization. -viewDidMoveToWindow + calls -start and then calls -addWindowObservers without ensuring that the view is still in a window. + + If -[WebBaseNetscapePluginView addWindowObservers] is incorrectly called when the view is not in a window, it will + observe NSWindowWillCloseNotification on all windows. This unexpected observer registration is not balanced by an + unregistration so the notification can be delivered after the view is deallocated, causing the crash seen in + <rdar://problem/7090444>. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView start]): Only call -updateAndSetWindow if we still have a current window. + (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Remove unnecessary calls to -restartTimers and -addWindowObservers + from -[WebBaseNetscapePluginView viewDidMoveToWindow]. They are already called from within -start with the extra benefit + of ensuring that the view is still in a window when they are called. + +2009-09-11 Mark Rowe <mrowe@apple.com> + + Reviewed by Jon Honeycutt. + + Fix <rdar://problem/7145242> Crashes inside WTF::HashTable below NetscapePluginInstanceProxy::disconnectStream + + * Plugins/Hosted/HostedNetscapePluginStream.mm: + (WebKit::HostedNetscapePluginStream::cancelLoad): Canceling the load can result in calling through to disconnectStream. + If the plug-in instance holds the last reference to the plug-in stream this will result in the stream being deallocated. + This leads to HostedNetscapePluginStream::cancelLoad's call to disconnectStream being passed a deallocated stream object. + Since the stream was already disconnected by the call to cancel there's no need to call disconnectStream a second time. + +2009-09-11 Eric Seidel <eric@webkit.org> + + No review, rolling out r48229. + http://trac.webkit.org/changeset/48229 + + * WebView/WebFrame.mm: + (-[WebFrame _dragSourceMovedTo:]): + +2009-09-10 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Sam Weinig. + + Update JavaScriptCore and WebKit's FeatureDefines.xcconfig so that they are in sync with WebCore as they need to be. + + * Configurations/FeatureDefines.xcconfig: + +2009-09-09 Jens Alfke <snej@chromium.org> + + Reviewed by Eric Seidel. + + Initialize DataTransfer's effectAllowed and dropEffect properties correctly + according to HTML5 spec (sec. 7.9.2-7.9.3). + https://bugs.webkit.org/show_bug.cgi?id=26700 + + * WebView/WebFrame.mm: + (-[WebFrame _dragSourceMovedTo:]): + Pass current drag operation (if known) to EventHandler::dragSourceMovedTo(). + +2009-09-09 Dave Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben. + + https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection. This is similar + to user script injection but allows for user stylesheets to be added. The stylesheets are applied immediately + to all Frames in the PageGroup. + + Added userscripts/simple-stylesheet.html test case. + + * WebView/WebView.mm: + (+[WebView _addUserStyleSheetToGroup:source:url:worldID:patterns:]): + * WebView/WebViewPrivate.h: + +2009-09-07 Steve Block <steveblock@google.com> + + Reviewed by Adam Barth. + + Adds a mock Geolocation service. This will be used to provide predictable behavior of the + Geolocation API for use in LayoutTests. Later changes will integrate the the mock + Geolocation service with DumpRenderTree. + https://bugs.webkit.org/show_bug.cgi?id=28264 + + * WebCoreSupport/WebGeolocationMockPrivate.h: Added. + * WebCoreSupport/WebGeolocationMock.mm: Added. + (+[WebGeolocationMock setError:code:]): Added. Used by DumpRender tree to configure the mock Geolocation service. + (+[WebGeolocationMock setPosition:latitude:longitude:accuracy:]): Added. Used by DumpRender tree to configure the mock Geolocation service. + * WebKit.exp: Modified. Exports WebGeolocationMock. + +2009-09-07 Drew Wilson <atwilson@google.com> + + Reviewed by David Levin. + + Enable SHARED_WORKERS by default. + https://bugs.webkit.org/show_bug.cgi?id=28959 + + * Configurations/FeatureDefines.xcconfig: + +2009-09-06 Cameron McCormack <cam@mcc.id.au> + + Reviewed by Eric Seidel. + + Drop <definition-src> support + https://bugs.webkit.org/show_bug.cgi?id=28991 + + * MigrateHeaders.make: Remove reference to ObjC definition-src + binding class. + +2009-09-04 Mark Mentovai <mark@chromium.org> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=28614 + + Account for scrollbar state changes that occur during layout. + + * WebView/WebDynamicScrollBarsView.mm: + (-[WebDynamicScrollBarsView updateScrollers]): + + Perform a layout prior to checking whether the scrollbar modes are + off, on, or automatic. The modes may change during layout. + + * WebView/WebFrameView.mm: + (-[WebFrameView _install]): + + Eliminate duplicated (and incorrect) scrollbar mode tracking between + FrameView and ScrollView. + +2009-09-03 Dave Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben. + + https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work. + + This patch adds new API for adding and removing user scripts from page groups. User scripts + are bundled together in isolated worlds (you can have multiple scripts together in the same + world). + + Added userscripts/ directory for holding new tests (along with a simple test of script injection). + + * WebView/WebView.mm: + (+[WebView _addUserScriptToGroup:source:url:worldID:patterns:injectionTime:]): + (+[WebView _removeUserContentFromGroup:worldID:]): + (+[WebView _removeAllUserContentFromGroup:]): + * WebView/WebViewPrivate.h: + +2009-09-04 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24696 + + Plumb mixed content notifications to WebFrameLoadDelegatePrivate. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::didDisplayInsecureContent): + (WebFrameLoaderClient::didRunInsecureContent): + * WebView/WebDelegateImplementationCaching.h: + * WebView/WebFrameLoadDelegatePrivate.h: Added. + +2009-09-03 Adam Barth <abarth@webkit.org> + + Unreviewed build fix. + + Change notImplemented() to a FIXME. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::didDisplayInsecureContent): + (WebFrameLoaderClient::didRunInsecureContent): + +2009-09-03 Adam Barth <abarth@webkit.org> + + Reviewed by eric@webkit.org. + + https://bugs.webkit.org/show_bug.cgi?id=24696 + + Plumb mixed content notifications to WebFrameLoadDelegatePrivate. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::didDisplayInsecureContent): + (WebFrameLoaderClient::didRunInsecureContent): + * WebView/WebDelegateImplementationCaching.h: + * WebView/WebFrameLoadDelegatePrivate.h: Added. + +2009-09-03 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24696 + + Stub implementations of mixed content methods of FrameLoaderClient. + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::didDisplayInsecureContent): + (WebFrameLoaderClient::didRunInsecureContent): + +2009-09-02 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler. + + More partial work towards "Page Cache should support pages with Frames" + https://bugs.webkit.org/show_bug.cgi?id=13631 + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _topHTMLView]): Rework the ASSERT in this method to reflect the + reality of calling this method for pages currently in the PageCache. + +2009-08-31 Dimitri Glazkov <dglazkov@chromium.org> + + Reverting http://trac.webkit.org/changeset/47904, because it caused + layout test failure. + +2009-08-31 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=28852 + Rename KURL single argument constructor to avoid confusion + + * WebView/WebScriptDebugger.mm: (toNSURL): Adapt to the change. + +2009-08-31 Mark Mentovai <mark@chromium.org> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=28614 + + Perform a layout prior to checking whether the scrollbar modes are + off, on, or automatic. The modes may change during layout. + + * WebView/WebDynamicScrollBarsView.mm: + (-[WebDynamicScrollBarsView updateScrollers]): + +2009-08-28 Chris Fleizach <cfleizach@apple.com> + + Reviewed by John Sullivan. + + update-webkit-localizable-strings script can no longer complete + https://bugs.webkit.org/show_bug.cgi?id=28792 + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory AXARIAContentGroupText:]): + +2009-08-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=25889 + [GTK] scrollbar policy for main frame is not implementable + + Add empty implementation for new ChromeClient method. + + * WebCoreSupport/WebChromeClient.h: + (WebChromeClient::scrollbarsModeDidChange): + +2009-08-25 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Oliver Hunt. + + <video> and <audio> controller should be accessible + https://bugs.webkit.org/show_bug.cgi?id=28081 + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory localizedMediaControlElementString:]): + (-[WebViewFactory localizedMediaControlElementHelpText:]): + (-[WebViewFactory localizedMediaTimeDescription:]): + New. + +2009-08-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by NOBODY (build fix) + + Turn off ENABLE_3D_CANVAS in the xconfig files. + + * Configurations/FeatureDefines.xcconfig: + +2009-08-22 Adam Barth <abarth@webkit.org> + + Revert 47684. We're going to do this later once clients have had a + chance to opt into the setting they like. + + * Misc/WebKitVersionChecks.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + +2009-08-22 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Don't let local files access web URLs + https://bugs.webkit.org/show_bug.cgi?id=28480 + + * Misc/WebKitVersionChecks.m: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + +2009-08-21 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/7162480> + Sometimes WebKit does not layout correctly when a WebView is embedded in an HICocoaView + + Add a null check for the current context when reflectScrolledClipView: is called from outside a + draw operation. + + * WebView/WebDynamicScrollBarsView.mm: + (-[WebDynamicScrollBarsView reflectScrolledClipView:]): + +2009-08-20 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + Enable various "grouping" ARIA roles + https://bugs.webkit.org/show_bug.cgi?id=28486 + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory AXARIAContentGroupText:]): + +2009-08-19 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + Fix <http://webkit.org/b/28484> Plug-in-related leaks seen on the build bot + + When the plug-in data is being loaded manually there is a reference cycle between the + NetscapePluginInstanceProxy and the HostedNetscapePluginStream. We need to explicitly + break the reference cycle in NetscapePluginInstanceProxy::cleanup so that both objects + will be destroyed. + + Take the opportunity to add RefCountedLeakCounter support to HostedNetscapePluginStream + and NetscapePluginInstanceProxy to simplify tracking down leaks of these objects in the future. + + * Plugins/Hosted/HostedNetscapePluginStream.h: + * Plugins/Hosted/HostedNetscapePluginStream.mm: + (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream): + (WebKit::HostedNetscapePluginStream::~HostedNetscapePluginStream): + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy): + (WebKit::NetscapePluginInstanceProxy::cleanup): Clear m_manualStream to break the reference + cycle. + +2009-08-19 Aaron Boodman <aa@chromium.org> + + Reviewed by David Levin. + + https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to + specify a more granular policy for cross-origin XHR access. + + * WebView/WebView.mm: Add SPI to manipulate origin access whitelists. + (+[WebView _whiteListAccessFromOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Ditto. + (+[WebView _resetOriginAccessWhiteLists]): Ditto. + * WebView/WebViewPrivate.h: Ditto. + +2009-08-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Adele Peterson. + + Mac specific part of + + <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + Implement shouldLoadMediaElementURL by asking the policy delegate. + + * WebView/WebPolicyDelegatePrivate.h: + Add new delegate method, remove some unused cruft. + +2009-08-18 Drew Wilson <atwilson@google.com> + + Reviewed by Eric Seidel. + + Need to extend DumpRenderTree to expose number of worker threads. + https://bugs.webkit.org/show_bug.cgi?id=28292 + + * WebKit.exp: + Exported WebWorkersPrivate so DumpRenderTree can access it. + * Workers/WebWorkersPrivate.h: Added. + * Workers/WebWorkersPrivate.mm: Added. + (+[WebWorkersPrivate workerThreadCount]): + Added WebWorkersPrivate::workerThreadCount() API for DumpRenderTree. + +2009-08-17 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Use a HashMap instead of a list of if statements for the command + name exception map. + + * WebView/WebHTMLView.mm: + (createSelectorExceptionMap): Added. + (commandNameForSelector): Use createSelectorExceptionMap. + +2009-08-16 David Kilzer <ddkilzer@apple.com> + + <http://webkit.org/b/28366> WebHTMLViewInternal.h: add @class CALayer declaration + + Reviewed by Simon Fraser. + + Without WebKitPrefix.h, the missing @class CALayer declaration + causes a compile-time error. + + * WebView/WebHTMLViewInternal.h: Added @class CALayer + declaration with USE(ACCELERATED_COMPOSITING). + +2009-08-16 David Kilzer <ddkilzer@apple.com> + + <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates + + Reviewed by Dan Bernstein. + + * Plugins/WebBaseNetscapePluginStream.mm: Added using std::min + statement. + (WebNetscapePluginStream::deliverData): Changed MIN() to min(). + Changed C-style cast to a static_cast. + * Plugins/WebNetscapePluginView.mm: Added using std::min + statement. + (-[WebNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]): + Changed MIN() to min(). Changed C-style cast to a static_cast. + * WebView/WebHTMLView.mm: Added using std::max statement. + (-[WebHTMLView _dragImageForURL:withLabel:]): Changed MAX() to + max(). + (-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto. + * WebView/WebTextCompletionController.mm: Added using std::max + and using std::min statements. + (-[WebTextCompletionController _placePopupWindow:]): Changed + type of maxWidth variable from float to CGFloat to prevent a + type mismatch on x86_64. Changed MAX() to max() and MIN() to + min(). Added static_cast for a constant value since CGFloat is + defined as a float on i386 and as a double on x86_64. + +2009-08-15 Adam Bergkvist <adam.bergkvist@ericsson.com> + + Reviewed by Sam Weinig. + + Added ENABLE_EVENTSOURCE flag. + https://bugs.webkit.org/show_bug.cgi?id=14997 + + * Configurations/FeatureDefines.xcconfig: + +2009-08-14 Mark Rowe <mrowe@apple.com> + + Build fix. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::enumerate): Add the necessary .get() calls. + +2009-08-14 Brady Eidson <beidson@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/7091546> - Assertion failure in plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html + on 64-bit SnowLeopard + + * Plugins/Hosted/HostedNetscapePluginStream.mm: + (WebKit::HostedNetscapePluginStream::cancelLoad): Since this might be called while the FrameLoader is switching DocumentLoaders + during the brief moment where there is no activeDocumentLoader(), accept and handle a validly null DocumentLoader. + +2009-08-14 Mark Rowe <mrowe@apple.com> + + Reviewed by Brady Eidson. + + Fix leaks of NSNumber and NSMutableArray objects seen during layout tests. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::enumerate): Don't leak an NSMutableArray that we allocate. + +2009-08-14 Mark Rowe <mrowe@apple.com> + + Reviewed by Anders Carlsson. + + Fix leaks of HostedNetscapePluginStream and NetscapePlugInStreamLoader objects seen during layout tests. + + * Plugins/Hosted/HostedNetscapePluginStream.mm: + (WebKit::HostedNetscapePluginStream::didFail): Disconnect the stream from the plug-in instance proxy + when the load fails. + +2009-08-13 Darin Adler <darin@apple.com> + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Updated includes. + * WebView/WebScriptDebugger.mm: Ditto. + +2009-08-12 Mark Rowe <mrowe@apple.com> + + Reviewed by Kevin Decker. + + <rdar://problem/6017913> Replace use of HISearchWindowShow in -[WebView _searchWithSpotlightFromMenu]. + + * WebView/WebView.mm: + (-[WebView _searchWithSpotlightFromMenu:]): Use -[NSWorkspace showSearchResultsForQueryString:] post-Leopard. + +2009-08-12 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Eric Seidel. + + Add delegate methods about focus and blur and state change + https://bugs.webkit.org/show_bug.cgi?id=27153 + + Have ObjC delegate methods match C++ method names in the ChromeClient. + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::formDidFocus): + (WebChromeClient::formDidBlur): + * WebView/WebUIDelegatePrivate.h: + +2009-08-11 John Gregg <johnnyg@google.com> + + Reviewed by Maciej Stachowiak. + + Desktop Notifications API + https://bugs.webkit.org/show_bug.cgi?id=25643 + + Adds ENABLE_NOTIFICATION flag. + + * Configurations/FeatureDefines.xcconfig: + +2009-08-11 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Remove dead declarations. + + * WebView/WebViewInternal.h: + +2009-08-11 Dmitry Titov <dimich@chromium.org> + + Reviewed by Adam Roben. + + Originally implemented by Glenn Wilson <gwilson@chromium.org>. + + Added new methods for overriding default WebPreference values + and for resetting preferences to their defaults. + See https://bugs.webkit.org/show_bug.cgi?id=20534 + + * WebView/WebPreferences.mm: + (-[WebPreferences _setPreferenceForTestWithValue:withKey:]): added. + * WebView/WebPreferencesPrivate.h: same. + +2009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Reviewed by George Staikos. + + [WML] Deck access control is completly broken + https://bugs.webkit.org/show_bug.cgi?id=27721 + + Synchronize WebFrameLoadType with FrameLoadType enum. Append 'WebFrameLoadTypeBackWMLDeckNotAccessible'. + + * WebView/WebFramePrivate.h: + +2009-08-07 Simon Fraser <simon.fraser@apple.com> + + Fix the build on 10.6. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView attachRootLayer:]): + +2009-08-07 Simon Fraser <simon.fraser@apple.com> + + Fix a stylistic nit related to the location of the *, which, for some + ridiculous reason, WebKit style dictates to be different between Objective-C and C++. + + * WebView/WebDynamicScrollBarsView.mm: + (-[WebDynamicScrollBarsView reflectScrolledClipView:]): + +2009-08-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Work around an issue on Leopard where composited layers are misplaced and squished when the page + gets over 4096px tall. + https://bugs.webkit.org/show_bug.cgi?id=27272 + <rdar://problem/7067892> [Leopard] Composisted layers are misplaced and squished on on long pages + <rdar://problem/7068252> [Leopard] When switching to a tab with HW layers, they fade in + + * WebView/WebDynamicScrollBarsView.mm: + (-[WebDynamicScrollBarsView reflectScrolledClipView:]): + Call -_updateLayerHostingViewPosition after scrolling. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _frameOrBoundsChanged]): + Call -_updateLayerHostingViewPosition after the view changes size. + + (-[WebHTMLView attachRootLayer:]): + Turn off default animations, to avoid animations of sublayer transform, and fading-in + when tab switching. + + * WebView/WebHTMLViewInternal.h: + (-[WebHTMLView _updateLayerHostingViewPosition]): + New method that constrains the height of the layer-hosting view to a max height + of 4096px, and compensates for the height restriction by placing the layer-hosting + view at the top of the visible part of the WebHTMLView, and adjusting the position + of the hosted layers via sublayer transform. + +2009-08-07 Anders Carlsson <andersca@apple.com> + + Fix Tiger build. + + * WebView/WebRenderNode.mm: + (-[WebRenderNode _initWithCoreFrame:]): + +2009-08-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Timothy Hatcher and Sam Weinig. + + Change WebRenderNode to take a WebFrame instead of a WebFrameView. + + * WebView/WebRenderNode.h: + * WebView/WebRenderNode.mm: + (-[WebRenderNode _initWithName:position:rect:coreFrame:children:]): + (copyRenderNode): + (-[WebRenderNode _initWithCoreFrame:]): + (-[WebRenderNode initWithWebFrame:]): + +2009-08-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler and Dan Bernstein. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::hasHTMLView): + Always return true when we're in viewless mode. + +2009-08-06 Anders Carlsson <andersca@apple.com> + + Remove WebGraphicsExtras.h include. + + * Plugins/WebNetscapePluginView.mm: + +2009-08-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Remove WebGraphicsExtras, it is no longer used. + + * Misc/WebGraphicsExtras.c: Removed. + * Misc/WebGraphicsExtras.h: Removed. + +2009-08-06 Chris Marrin <cmarrin@apple.com> + + Reviewed by David Hyatt. + + Added ENABLE_3D_CANVAS flag to build, default to off + + * Configurations/FeatureDefines.xcconfig: + +2009-08-04 Michael Nordman <michaeln@google.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=27821 + + Mods to keep up with ApplicationCacheHost refactoring. + + * WebView/WebDataSource.mm: + (-[WebDataSource _transferApplicationCache:]): + +2009-07-30 Darin Adler <darin@apple.com> + + Reviewed by David Levin. + + Use checked casts for render tree + https://bugs.webkit.org/show_bug.cgi?id=23522 + + * Misc/WebNSAttributedStringExtras.mm: + (fileWrapperForElement): + * Misc/WebNSPasteboardExtras.mm: + (imageFromElement): + (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]): + * WebView/WebFrame.mm: + (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): + (-[WebFrame _accessibilityTree]): + * WebView/WebRenderNode.mm: + (copyRenderNode): + Use checked casts. + +2009-07-31 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Anders Carlsson. + + Accelerated animations stutter on pages with lots of animations and 3d transforms + https://bugs.webkit.org/show_bug.cgi?id=27884 + + This patch changes the strategy for synchronizing painting view the view, + and compositing layer updates. Previously the strategy was to disable screen + updates between the time we updated the layer tree, and painted the view. That + left screen updates disabled for too long (hundreds of milliseconds) in some + cases, causing animation stutter. + + The new strategy is to batch up changes to the CA layer tree, and commit them + all at once just before painting happens (referred to as a "sync" in the code). + GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates + the values stored in GraphicsLayer into the CA layer tree at commit time. + + Compositing layers are then synced in FrameView::paintContents(). However, not + all style/layout changes will result in painting; to deal with style changes that + touch only compositing properties, we set up a runloop observer that takes care + of comitting layer changes when no painting happens. + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::scheduleCompositingLayerSync): + scheduleViewUpdate() renamed to syncCompositingStateRecursive() + + * WebView/WebView.mm: + (-[WebView _close]): + (-[WebView _clearLayerSyncLoopObserver]): + "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver". + + (-[WebView _syncCompositingChanges]): + Helper method that calls syncCompositingStateRecursive() on the FrameView. + + (layerSyncRunLoopObserverCallBack): + (-[WebView _scheduleCompositingLayerSync]): + This is all about layer sycning now. Also, the run loop observer is repeating, + because it has to keep firing until syncCompositingStateRecursive() says that it + has completed. + + * WebView/WebViewData.h: + "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver". + + * WebView/WebViewInternal.h: + _scheduleViewUpdate is now _scheduleCompositingLayerSync + +2009-07-30 Michael Nordman <michaeln@google.com> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=27821 + + Mods to keep up with ApplicationCacheHost refactoring. + + * WebView/WebDataSource.mm: + (-[WebDataSource _transferApplicationCache:]): + +2009-07-29 David Kilzer <ddkilzer@apple.com> + + <http://webkit.org/b/27788> Don't export WebPluginController.h as a private header + + Reviewed by Mark Rowe. + + * Plugins/WebPluginController.h: Changed #import of + WebPluginContainerCheck.h to use a framework-style include in + case other platforms wish to export WebPluginController.h as a + private header. + +2009-07-29 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Darin Adler. + + Added foundation work to allow a testing infrastructure for the Web + Inspector. + + * WebCoreSupport/WebInspectorClient.h: + * WebCoreSupport/WebInspectorClient.mm: + (WebInspectorClient::inspectorWindowObjectCleared): Send the delegate + callback. + * WebView/WebDelegateImplementationCaching.h: + * WebView/WebView.mm: + (-[WebView _cacheFrameLoadDelegateImplementations]): + * WebView/WebViewPrivate.h: The delegate SPI. + +2009-07-27 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread + + In some situations Microsoft Messenger can attempt to manipulate the DOM from a secondary thread while + updating its file transfer progress bar. This results in corruption of WebCore data structures that is + quickly followed by a crash. We can work around this by having -[WebFrame DOMDocument] return nil when + called from a secondary thread by Microsoft Messenger, which has the effect of turning its attempts at + DOM manipulation in to no-ops. + + * WebView/WebFrame.mm: + (needsMicrosoftMessengerDOMDocumentWorkaround): + (-[WebFrame DOMDocument]): + +2009-07-27 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=27735 + Give a helpful name to JSLock constructor argument + + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics javaScriptObjectsCount]): + (+[WebCoreStatistics javaScriptGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): + (+[WebCoreStatistics shouldPrintExceptions]): + (+[WebCoreStatistics setShouldPrintExceptions:]): + (+[WebCoreStatistics memoryStatistics]): + (+[WebCoreStatistics javaScriptReferencedObjectsCount]): + * 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::hasMethod): + (WebKit::NetscapePluginInstanceProxy::enumerate): + (WebKit::NetscapePluginInstanceProxy::addValueToArray): + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::wantsAllStreams): + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView sendEvent:isDrawRect:]): + (-[WebNetscapePluginView setWindowIfNecessary]): + (-[WebNetscapePluginView createPluginScriptableObject]): + (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]): + (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]): + (-[WebNetscapePluginView loadPluginRequest:]): + (-[WebNetscapePluginView _printedPluginBitmap]): + * Plugins/WebPluginController.mm: + (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): + (-[WebPluginController startAllPlugins]): + (-[WebPluginController stopAllPlugins]): + (-[WebPluginController addPlugin:]): + (-[WebPluginController destroyPlugin:]): + (-[WebPluginController destroyAllPlugins]): + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame scopeChain]): + (-[WebScriptCallFrame evaluateWebScript:]): + * WebView/WebView.mm: + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): + +2009-07-24 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + REGRESSION (r46298): Exception after clicking on Bookmarks button in the Bookmarks Bar + https://bugs.webkit.org/show_bug.cgi?id=27667 + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::transitionToCommittedForNewPage): Moved the code to set the + title here. This is late enough that both the view and representation exist. + + * WebView/WebDataSource.mm: + (-[WebDataSource _makeRepresentation]): Removed the code to set the title from here. + It's a bit too early. + +2009-07-24 Andrei Popescu <andreip@google.com> + + Reviewed by Anders Carlsson. + + ApplicationCache should have size limit + https://bugs.webkit.org/show_bug.cgi?id=22700 + + Adds the WebApplicationCache class that is + used by the DumpRenderTree test application to + configure the Application Cache maximum size. + + * WebCoreSupport/WebApplicationCache.h: Added. + * WebCoreSupport/WebApplicationCache.mm: Added. + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::reachedMaxAppCacheSize): + Adds empty implementation of the reachedMaxAppCacheSize callback. + * WebKit.exp: + +2009-07-23 Darin Adler <darin@apple.com> + + * WebView/WebDataSource.mm: + (-[WebDataSource _makeRepresentation]): Landed a comment I forgot last time. + +2009-07-23 Darin Adler <darin@apple.com> + + Reviewed by Brady Eidson. + + URL appears in back/forward button menu instead of title for items with custom representation + https://bugs.webkit.org/show_bug.cgi?id=27586 + rdar://problem/5060337 + + The problem is that DocumentLoader expects to store a title, but for custom representations + it is never passed to the document loader. + + * WebView/WebDataSource.mm: + (-[WebDataSource _makeRepresentation]): Added a call to DocumentLoader::setTitle. + Works as long as the title does not change during the document's lifetime, which + is good enough for the simple cases in Safari. + +2009-07-20 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + REGRESSION (r39185): Safari adds ".jpeg" extension to images that already have ".JPG" extension + https://bugs.webkit.org/show_bug.cgi?id=27472 + + * WebView/WebHTMLView.mm: + (matchesExtensionOrEquivalent): Changed category method into a C function. + Made it require the leading dot when checking for the extension and do it + in a non-case-sensitive way. + (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Changed to call + the function. + +2009-07-21 Roland Steiner <rolandsteiner@google.com> + + Reviewed by David Levin. + + Add ENABLE_RUBY to list of build options + https://bugs.webkit.org/show_bug.cgi?id=27324 + + * Configurations/FeatureDefines.xcconfig: Added flag ENABLE_RUBY. + +2009-07-17 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Adam Roben. + + Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272) + https://bugs.webkit.org/show_bug.cgi?id=14272 + + Removed size calculation code from [WebInspectorWindowController setInitialAttachedHeight] into + InspectorController.cpp to make it cross platform, and use InspectorController to store the + user's preferred size for an attached window, instead of NSUserDefaults. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController showWindow:]): + (-[WebInspectorWindowController setAttachedWindowHeight:]): + +2009-07-16 Fumitoshi Ukai <ukai@chromium.org> + + Reviewed by David Levin. + + Add --web-sockets flag and ENABLE_WEB_SOCKETS define. + https://bugs.webkit.org/show_bug.cgi?id=27206 + + Add ENABLE_WEB_SOCKETS + + * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS + +2009-07-16 Xiaomei Ji <xji@chromium.org> + + Reviewed by Darin Adler. + + Fix tooltip does not get its directionality from its element's directionality. + https://bugs.webkit.org/show_bug.cgi?id=24187 + + Per mitz's suggestion in comment #6, while getting the plain-text + title, we also get the directionality of the title. How to handle + the directionality is up to clients. Clients could ignore it, + or use attribute or unicode control characters to display the title + as what they want. + + * Misc/WebElementDictionary.mm: + (-[WebElementDictionary _spellingToolTip]): Change spellingToolTip caller due to signature change. + (-[WebElementDictionary _title]): Change title caller due to signature change. + * WebCoreSupport/WebChromeClient.h: Add directionality as 2nd parameter to setToolTip(). + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::setToolTip): Add directionality as 2nd parameter to setToopTip() (without handling it yet). + +2009-07-15 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Renamed parseURL to deprecatedParseURL. + + * DOM/WebDOMOperations.mm: + (-[DOMDocument URLWithAttributeString:]): Renamed. + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createPlugin): Renamed. + +2009-07-15 Brady Eidson <beidson@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=27304 + WebKit should provide usage and eligibility information about the page cache. + + * Misc/WebCoreStatistics.h: + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics numberCachedPages]): + (+[WebCoreStatistics numberCachedFrames]): + (+[WebCoreStatistics numberAutoreleasedPages]): + * WebKit.exp: + + * WebView/WebFrame.mm: + (-[WebFrame _cacheabilityDictionary]): Returns a dictionary with all the data about + why the frame is not cacheable. If the frame *is* cacheable, the dictionary is + empty. + * WebView/WebFramePrivate.h: + +2009-07-13 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein, Adam Roben. + + "Unrecognized selector" console log when the Safari 4 Welcome page navigates to Top Sites. + <rdar://problem/6994893 + + attachRootGraphicsLayer() should not assume that the frameView's documentView + is a WebHTMLView. + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::attachRootGraphicsLayer): + +2009-07-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler and Kevin Decker. + + <rdar://problem/7053687> Core Animation plug-ins continue to grow larger and larger when opening new tabs (32 bit-only) + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView setLayer:]): + Add a FIXME. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView setLayer:]): + Make sure to set the size of the layer before changing the autoresizing mask so it won't grow everytime it's inserted + into the layer tree. + +2009-07-13 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Simon Fraser. + + Correct these delegate methods' declarations by adding parameter names. + + * WebView/WebUIDelegatePrivate.h: + +2009-07-13 Drew Wilson <atwilson@google.com> + + Reviewed by David Levin. + + Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs + https://bugs.webkit.org/show_bug.cgi?id=26932 + + Added ENABLE(SHARED_WORKERS) flag (disabled by default). + + * Configurations/FeatureDefines.xcconfig: + +2009-07-12 Keishi Hattori <casey.hattori@gmail.com> + + Reviewed by Timothy Hatcher. + + Refactor ConsoleMessage to add MessageType attribute. + https://bugs.webkit.org/show_bug.cgi?id=20625 + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::addMessageToConsole): + +2009-07-11 Simon Fraser <simon.fraser@apple.com> + + Enable support for accelerated compositing and 3d transforms on Leopard. + <https://bugs.webkit.org/show_bug.cgi?id=20166> + <rdar://problem/6120614> + + Reviewed by Oliver Hunt. + + * Configurations/FeatureDefines.xcconfig: + +2009-07-10 David Kilzer <ddkilzer@apple.com> + + Bug 27007: Build fixes when ICONDATABASE is disabled + + <https://bugs.webkit.org/show_bug.cgi?id=27007> + + Reviewed by Sam Weinig. + + * Misc/WebIconDatabase.mm: + (defaultClient): Return 0 if ICONDATABASE is disabled. + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchDidReceiveIcon): Commented out + the body of the method if ICONDATABASE is disabled. + (WebFrameLoaderClient::registerForIconNotification): Ditto. + * WebCoreSupport/WebIconDatabaseClient.mm: Added #if + ENABLE(ICONDATABASE)/#endif guard to source. + * WebView/WebView.mm: + (-[WebView setFrameLoadDelegate:]): Wrapped code that starts the + icon database machinery in #if ENABLE(ICONDATABASE)/#endif. + (-[WebView _registerForIconNotification:]): Wrapped method in + #if ENABLE(ICONDATABASE)/#endif guard. + (-[WebView _dispatchDidReceiveIconFromWebFrame:]): Ditto. + * WebView/WebViewInternal.h: Wrapped methods in #if + ENABLE(ICONDATABASE)/#endif guard. + (-[WebView _registerForIconNotification:]): + (-[WebView _dispatchDidReceiveIconFromWebFrame:]): + +2009-07-10 Simon Fraser <simon.fraser@apple.com> + + Reviewed by John Sullivan. + + Flashing as hardware layers are created and destroyed in some content + <rdar://problem/7032246> + + There's a window of time between the end of one runloop cycle, after CA layers changes + have been committed, and the window display at the start of the next cycle when + CA may push updates to the screen before AppKit has drawn the view contents. If + we know that we need to do drawing synchronization (which we do when content moves + between a layer and the view), then we need to call -disableScreenUpdatesUntilFlush + from the existing runloop observer that is set up when layers need repainting to + ensure that layer updates don't reach the screen before view-based painting does. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView drawRect:]): + Tweak the comments + + * WebView/WebView.mm: + (viewUpdateRunLoopObserverCallBack): + (-[WebView _scheduleViewUpdate]): + Add a big comment to explain the timing of things. + Call -disableScreenUpdatesUntilFlush when the view _needsOneShotDrawingSynchronization. + + 2009-07-09 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Tim Hatcher. +2009-07-10 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig with the power of Grayskull. + + Enable XSSAuditor by default. + + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + +2009-07-10 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Antti Koivisto. + + Add delegate methods about focus and blur and state change + https://bugs.webkit.org/show_bug.cgi?id=27153 + + Call the appropriate private delegate methods from the ChromeClient. + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::formStateDidChange): + (WebChromeClient::formDidFocus): + (WebChromeClient::formDidBlur): + * WebView/WebUIDelegatePrivate.h: + +2009-07-09 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Tim Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=27141 + + Updated WebInspectorClient to use Web Inspector Preferences to remember whether or not it should be + docked or a free window instead of NSUserDefaults it used to have. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController init]): + (-[WebInspectorWindowController showWindow:]): + (-[WebInspectorWindowController attach]): + (-[WebInspectorWindowController detach]): + +2009-07-09 Drew Wilson <atwilson@google.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=26903 + + Turned on CHANNEL_MESSAGING by default because the MessageChannel API + can now be implemented for Web Workers and is reasonably stable. + + * Configurations/FeatureDefines.xcconfig: + +2009-07-09 Darin Adler <darin@apple.com> + + Reviewed by Adele Peterson and Dan Bernstein. + + <rdar://problem/7024972> Cannot set font to Helvetica Neue Light in Mail compose window + + No regression test because this only affects the font panel. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _addToStyle:fontA:fontB:]): Fix code that detects whether the font would + survive a round trip by using the weight corresponding to "bold" or "normal" rather than + the actual weight number. + +2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com> + + Reviewed by Dave Hyatt. + + Make Widget RefCounted to fix: + + <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs + at WebCore::Widget::afterMouseDown() after clicking To Do's close + box + <rdar://problem/6978804> WER #16: Repro Access Violation in + WebCore::PluginView::bindingInstance (1310178023) + -and- + <rdar://problem/6991251> WER #13: Crash in WebKit! + WebCore::PluginView::performRequest+203 (1311461169) + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createPlugin): + +2009-07-09 Sam Weinig <sam@webkit.org> + + Reviewed by Steve Falkenburg. + + Roll out r43848. The quirk is no longer necessary. + + * WebView/WebView.mm: + (-[WebView WebCore::_userAgentForURL:WebCore::]): + +2009-07-09 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Geoff Garen. + + <rdar://problem/6921671> Visit count shouldn't be incremented by redirects. + + * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory): + Do not increase visit count if there is a redirect source. As a result, only pages that were + explicitly visited by the user (by typing a URL, choosing one from bookmarks, or clicking + a link) will be counted. + + * History/WebHistory.mm: + (-[WebHistoryPrivate visitedURL:withTitle:increaseVisitCount:]): + (-[WebHistory _visitedURL:withTitle:method:wasFailure:increaseVisitCount:]): + * History/WebHistoryInternal.h: + * History/WebHistoryItem.mm: + (-[WebHistoryItem _visitedWithTitle:increaseVisitCount:]): + * History/WebHistoryItemInternal.h: + Marshal this new argument all the way down to WebCore. + +2009-07-08 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Darin Adler. + + Add -[WebView _isProcessingUserGesture] + https://bugs.webkit.org/show_bug.cgi?id=27084 + + Add -_isProcessingUserGesture that calls into WebCore::FrameLoader::isProcessingUserGesture() + so that WebView code can determine if a user gesture is in progress. + + * WebView/WebView.mm: + (-[WebView _isProcessingUserGesture]): + * WebView/WebViewPrivate.h: + +2009-07-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + - Fix <rdar://problem/6544693>. + + For Flash, don't cache which methods or fields in an object are missing, since they can + be added at any time. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::hostForPackage): + * Plugins/Hosted/NetscapePluginHostProxy.h: + (WebKit::NetscapePluginHostProxy::shouldCacheMissingPropertiesAndMethods): + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyInstance::methodsNamed): + (WebKit::ProxyInstance::fieldNamed): + +2009-07-06 David Kilzer <ddkilzer@apple.com> + + Bug 27006: Build fix when MAC_JAVA_BRIDGE is disabled + + <https://bugs.webkit.org/show_bug.cgi?id=27006> + + Reviewed by Darin Adler. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createJavaAppletWidget): Wrap contents of + the method in #if ENABLE(MAC_JAVA_BRIDGE)/#endif and return 0 + when this feature is disabled. + +2009-07-06 David Kilzer <ddkilzer@apple.com> + + Bug 27005: Build fixes when NETSCAPE_PLUGIN_API is disabled + + <https://bugs.webkit.org/show_bug.cgi?id=27005> + + Reviewed by Geoff Garen. + + * Plugins/WebPluginController.mm: + (-[WebPluginController destroyPlugin:]): Wrap call to + ScriptController::cleanupScriptObjectsForPlugin() in + #if ENABLE(NETSCAPE_PLUGIN_API)/#endif macro. + (-[WebPluginController destroyAllPlugins]): Ditto. + * Plugins/WebPluginDatabase.mm: + (-[WebPluginDatabase removePluginInstanceViewsFor:]): Wrap + WebBaseNetscapePluginView class checks in + #if ENABLE(NETSCAPE_PLUGIN_API)/#endif macro. + (-[WebPluginDatabase destroyAllPluginInstanceViews]): Ditto. + +2009-07-06 David Kilzer <ddkilzer@apple.com> + + BUILD FIX: Use ENABLE(NETSCAPE_PLUGIN_API) instead of USE(PLUGIN_HOST_PROCESS) + + In r45579, #if/#endif macros for USE(PLUGIN_HOST_PROCESS) were + used, but ENABLE(NETSCAPE_PLUGIN_API) should have been used + instead. + + * Plugins/WebNetscapeContainerCheckContextInfo.h: + * Plugins/WebNetscapeContainerCheckContextInfo.mm: + * Plugins/WebNetscapeContainerCheckPrivate.mm: + +2009-07-06 David Kilzer <ddkilzer@apple.com> + + Bug 27004: Build fix for ENABLE(PLUGIN_PROXY_FOR_VIDEO) after r42618 + + <https://bugs.webkit.org/show_bug.cgi?id=27004> + + Reviewed by Geoff Garen. + + * Plugins/WebPluginController.mm: + (mediaProxyClient): Use core() method to convert from + DOMElement to WebCore::Element. + +2009-07-06 David Kilzer <ddkilzer@apple.com> + + Bug 27003: Build fix when USE(PLUGIN_HOST_PROCESS) is disabled + + <https://bugs.webkit.org/show_bug.cgi?id=27003> + + Reviewed by Geoff Garen. + + * Plugins/WebNetscapeContainerCheckContextInfo.h: Added #if + USE(PLUGIN_HOST_PROCESS)/#endif guards. + * Plugins/WebNetscapeContainerCheckContextInfo.mm: Ditto. + * Plugins/WebNetscapeContainerCheckPrivate.mm: Ditto. + +2009-07-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Adele Peterson. + + Initialize wkIsLatchingWheelEvent. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + +2009-07-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + - fix <rdar://problem/6964278> REGRESSION (r42118): Scrolling redraw + problem in FileMaker Pro + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): + Perform layout if needed, even on Mac OS X versions that have + -viewWillDraw. This prevents attempts to draw without layout in case + -viewWillDraw was not called due to NSView issues or the client + did something during the display operation that re-invalidated the + layout. + +2009-07-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6978783> + Software-rendered plug-in does not update correctly when inside a hardware layer + + Replace calls to setNeedsDisplay: and setNeedsDisplayInRect: with a call to the new method + invalidatePluginContentRect:. This new method will ask WebCore to do the repainting, taking + transforms into account. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::invalidateRect): + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView pluginHostDied]): + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView windowBecameKey:]): + (-[WebBaseNetscapePluginView windowResignedKey:]): + (-[WebBaseNetscapePluginView preferencesHaveChanged:]): + (-[WebBaseNetscapePluginView invalidatePluginContentRect:]): + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView invalidateRect:]): + (-[WebNetscapePluginView invalidateRegion:]): + (-[WebNetscapePluginView forceRedraw]): + +2009-07-02 Adam Roben <aroben@apple.com> + + Fix warnings from update-webkit-localizable-strings + + Rubber-stamped by Eric Carlson. + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory mediaElementLoadingStateText]): + (-[WebViewFactory mediaElementLiveBroadcastStateText]): + Changed the localization comments to match the comments in the Windows + version of this file, to avoid warnings about different comments for + the same localized string. + +2009-07-02 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Compositing-related preference methods are not public API; should move to WebPreferencesPrivate.h + <rdar://problem/7027363> + + Move accelerated-compositing pref to WebPreferencesPrivate.h + + * WebView/WebPreferences.h: + * WebView/WebPreferences.mm: + (-[WebPreferences acceleratedCompositingEnabled]): + (-[WebPreferences setAcceleratedCompositingEnabled:]): + * WebView/WebPreferencesPrivate.h: + +2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/6518119> + + Add localized strings for media controller status messages. + + * WebCoreSupport/WebViewFactory.mm: Add new localized text. + (-[WebViewFactory mediaElementLoadingStateText]): + (-[WebViewFactory mediaElementLiveBroadcastStateText]): + +2009-07-01 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + Add a preference/setting to toggle whether content sniffing is enabled for file URLs. + + * WebView/WebPreferenceKeysPrivate.h: + + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences localFileContentSniffingEnabled]): + (-[WebPreferences setLocalFileContentSniffingEnabled:]): + * WebView/WebPreferencesPrivate.h: + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-07-01 David Hyatt <hyatt@apple.com> + + Reviewed by Tim Hatcher. + + <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused, + even though the field is not actually focused for keyboard input + + Add the concept of whether or not the Page is focused by adding a boolean to the focusController. This allows the + focused frame and focused node to both be cached and changed programmatically without causing errors when the Page doesn't + have focus. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView becomeFirstResponder]): + (-[WebHTMLView resignFirstResponder]): + +2009-06-30 Adele Peterson <adele@apple.com> + + Reviewed by Dan Bernstein. + + Fix for <rdar://problem/7014389> REGRESSION(4-TOT): Hyperlinks have no tooltips in Mail unless you first click in the message body + + Updated these new methods (added as part of the viewless WebKit effort) that call through to WebHTMLView to use _selectedOrMainFrame, + instead of just selectedFrame. When the selection changes, I don't think there is a situation where there's no selected frame, but + it seems better to keep these two uses the same, since if there is a case, this will be more like the old behavior, before there was + a version of _selectionChanged in WebView. + + * WebView/WebView.mm: + (-[WebView _setToolTip:]): + (-[WebView _selectionChanged]): + +2009-06-30 Mark Rowe <mrowe@apple.com> + + Reviewed by Timothy Hatcher. + + <rdar://problem/7006959> 'Save as…’ does not work in Mail + + * WebView/WebFrameView.mm: + (-[WebFrameView initWithFrame:]): Call _needMailThreadWorkaroundIfCalledOffMainThread rather than + needMailThreadWorkaround, as the latter is intended to be used at the point which a workaround would + be applied and thus contains a main thread check. Since -initWithFrame: is called on the main thread, + this was causing us to not switch from exception-throwing to logging for the thread violation behavior. + +2009-06-30 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap + to Grid" window is clipping + + * Misc/WebKitVersionChecks.h: Added + WEBKIT_FIRST_VERSION_WITHOUT_SHADE10_QUIRK + * WebView/WebView.mm: + (-[WebView _needsLinkElementTextCSSQuirk]): Added. Returns YES if the + client app is a version of Shade 10 earlier than 10.6 and it was + linked against a version of WebKit earlier than 531.2. + (-[WebView _preferencesChangedNotification:]): Added a call to + Settings::setTreatsAnyTextCSSLinkAsStylesheet(). + +2009-06-29 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + Add QTMovieGetType. + +2009-06-29 David Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben. + + Put datagrid behind an #ifdef. + + * Configurations/FeatureDefines.xcconfig: + +2009-06-26 John Sullivan <sullivan@apple.com> + + Added support for disabling Stop Speaking when there is no speaking to stop. + Also fixed Stop Speaking so that it works (formerly it would throw an exception, and + selecting it from the menu would perform a web search instead (!)). + + Reviewed by Tim Hatcher. + + * WebCoreSupport/WebContextMenuClient.h: + declare isSpeaking() + + * WebCoreSupport/WebContextMenuClient.mm: + (WebContextMenuClient::isSpeaking): + implement by calling through to NSApplication + (WebContextMenuClient::stopSpeaking): + fixed implementation by correcting the signature of the NSApplication method + +2009-06-26 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser <simon.fraser@apple.com>. + + Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651 + + The flag should always default to true to avoid it getting set + to false in a build with accelerated compositing turned off + and then disabling accelerated compositing when subsequently + running a build with it turned on. + + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + +2009-06-26 Brady Eidson <beidson@apple.com> + + Fix SnowLeopard build. + + * Plugins/Hosted/HostedNetscapePluginStream.mm: + (WebKit::HostedNetscapePluginStream::didReceiveResponse): + +2009-06-26 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails + + Replace all usage of the now obsolete [NSURLResponse _webcore_MIMEType]. + + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::didReceiveResponse): + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView pluginView:receivedData:]): + * Plugins/WebPluginController.mm: + (-[WebPluginController pluginView:receivedResponse:]): + * WebView/WebDataSource.mm: + (-[WebDataSource _responseMIMEType]): + * WebView/WebResource.mm: + (-[WebResource _initWithData:URL:response:]): + +2009-06-26 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig. + + <rdar://problem/6651201> Update lookalike character list. + + * Misc/WebNSURLExtras.mm: (isLookalikeCharacter): Added more characters to the list. + +2009-06-25 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/6989017> + REGRESSION (SnowLeopard): RealPlayer content replays when opening a new tab or switching back to the RealPlayer tab + + If a plug-in fails in NPP_New, we would try to recreate it whenever the preferences for a web view would change. + + Fix this by setting a flag when we fail to instantiate the plug-in, so we only try once. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView start]): + +2009-06-25 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser <simon.fraser@apple.com>. + + https://bugs.webkit.org/show_bug.cgi?id=26651 + + Preference is named "WebKitAcceleratedCompositingEnabled" + and is a boolean value. When false, prevents compositing layers from + being created, which prevents hardware animation from running. + Also forces video to do software rendering. Added a cache for + the flag in RenderLayerCompositing and made it all work + on-the-fly when the flag is changed while a page is loaded. + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences acceleratedCompositingEnabled]): + (-[WebPreferences setAcceleratedCompositingEnabled:]): + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-06-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + Fix the most recently seen kind of crash in <rdar://problem/5983224> + + * WebView/WebHTMLView.mm: + (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Null-check the + Frame. + +2009-06-24 Jeff Johnson <opendarwin@lapcatsoftware.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=26638 WebKitErrors.m: _initWithPluginErrorCode: does not set localizedDescription + + Add localized descriptions for plugin errors. + The localized strings already existed but were unused; now NSLocalizedDescriptionKey is added to the NSError userInfo. + + * Misc/WebKitErrors.m: + (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): + +2009-06-23 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6950660> REGRESSION: iSale 5.5.3 crashes after I click a template to load + + Due to some subtle WebKit changes - presumably some delegate callback behavior - a latent bug in + iSale was uncovered where they aren't properly retaining their FrameLoadDelegate, and we ended up + calling back to a dealloc'ed object. + + * WebView/WebView.mm: + (-[WebView _needsAdobeFrameReloadingQuirk]): Use more intelligent C++-style initialization. + (-[WebView _needsKeyboardEventDisambiguationQuirks]): Ditto. + (-[WebView _needsFrameLoadDelegateRetainQuirk]): YES for iSale versions under 5.6 + (-[WebView dealloc]): Release the delegate if the quirk is in effect. + (-[WebView setFrameLoadDelegate:]): Retain the new delegate if the quirk is in effect. + +2009-06-23 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + - Fix <rdar://problem/6965672> + + Defer calls to WKPCInvalidateRect, so we don't try to invalidate while waiting for a reply, since + that is too early. + + * Plugins/Hosted/NetscapePluginHostProxy.h: + (WebKit::NetscapePluginHostProxy::isProcessingRequests): + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + (WebKit::NetscapePluginHostProxy::processRequests): + (WKPCInvalidateRect): + +2009-06-22 Timothy Hatcher <timothy@apple.com> + + Add Mail on Tiger and Leopard to the list of applications that need the WebView init thread workaround. + + <rdar://problem/6929524> Console shows WebKit Threading Violations from Mail + + Reviewed by Anders Carlsson. + + * WebView/WebView.mm: + (clientNeedsWebViewInitThreadWorkaround): Return true for com.apple.Mail. + +2009-06-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + - speculative fix for <rdar://problem/6889082> + Crash at -[WebHTMLView(WebPrivate) _updateMouseoverWithEvent:] + + The crash seems to happen because lastHitView points to a deleted + object. Since -close calls -_clearLastHitViewIfSelf, I speculate that + lastHitView has been set to an already-closed view. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView hitTest:]): Return nil if the view is closed. + +2009-06-22 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by John Sullivan. + + <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input, + Japanese can't be input. + + * WebView/WebHTMLView.mm: (-[WebHTMLView _updateSelectionForInputManager]): Removed an + unnecessary check - the function has an early return for null frame. + +2009-06-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/6990938> REGRESSION (r42787): After showing and + hiding the Find banner, the WebHTMLView's height is not restored + + * WebView/WebFrameView.mm: + (-[WebFrameView setFrameSize:]): Mark the FrameView for layout when the + WebFrameView's size changes. + * WebView/WebView.mm: + (-[WebView setFrameSize:]): Left the resize logic here, but only for + the single view model. + +2009-06-20 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/6964221> Need more processing of pluginspage. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createPlugin): Check protocolInHTTPFamily. + +2009-06-18 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=26199 + + Added preference to enable the XSSAuditor. + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences isXSSAuditorEnabled]): + (-[WebPreferences setXSSAuditorEnabled:]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-06-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/6926859> + NPN_ConvertPoint doesn't give the right value when converting to/from NPCoordinateSpaceFlippedScreen + + When inverting Y, use the height of the first screen instead of the screen the window is on. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::windowFrameChanged): + (WebKit::NetscapePluginInstanceProxy::mouseEvent): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]): + +2009-06-16 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + <rdar://problem/6976766> Control-click on pages with accelerated compositing + content does not work. + + Part deux. #ifdef the use of _private->layerHostingView with + USE(ACCELERATED_COMPOSITING) + + * WebView/WebHTMLView.mm: + (-[WebHTMLView hitTest:]): + +2009-06-16 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + <rdar://problem/6976766> Control-click on pages with accelerated compositing + content does not work. + + Remove the WebLayerHostingView subclass of NSView, with its attempts to + forward events to the WebHTMLView, and just fix -[WebHTMLView hitTest:] + to ignore the layerHostingView. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView hitTest:]): + (-[WebHTMLView attachRootLayer:]): + +2009-06-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Mark Rowe. + + <rdar://problem/6974857> + + Define ENABLE_3D_RENDERING when building on 10.6, and move ENABLE_3D_RENDERING + switch from config.h to wtf/Platform.h. + + * Configurations/FeatureDefines.xcconfig: + * WebKitPrefix.h: + +2009-06-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6967569> + CrashTracer: 15 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostManager::didCreateWindow + 85 + + Make sure to remove the entry from the plug-in host map so we won't end up with an entry that has a null value. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::hostForPackage): + +2009-06-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Tim Hatcher. + + - make the source code font in the Web Inspector match Mac defaults + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController init]): Set the default monospace font + to 11px Menlo, except on Leopard and Tiger where it is 10px Monaco. + +2009-06-09 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Eric Seidel. Landed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=26281 + + REGRESSION: Copying from TextEdit/OmniGraffle and pasting into editable + region loses images + + Prefer RTFD (RTF with inline images) over RTF. In + http://trac.webkit.org/changeset/19745 I accidently reversed their + order. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): + +2009-06-13 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Fisher. + + https://bugs.webkit.org/show_bug.cgi?id=24492 + + Move registerURLSchemeAsLocal from FrameLoader to SecurityOrigin + + * WebView/WebView.mm: + (+[WebView registerURLSchemeAsLocal:]): + +2009-06-12 Peter Kasting <pkasting@google.com> + + Reviewed by Eric Seidel. + + * ChangeLog-2007-10-14: Change pseudonym "Don Gibson" to me (was used while Google Chrome was not public); update my email address. + +2009-06-08 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Mark Rowe. + + - gave Objective-C++ files the .mm extension + + * Carbon/HIWebView.m: Removed. + * Carbon/HIWebView.mm: Copied from WebKit/mac/Carbon/HIWebView.m. + * Misc/WebKitNSStringExtras.m: Removed. + * Misc/WebKitNSStringExtras.mm: Copied from WebKit/mac/Misc/WebKitNSStringExtras.m. + * Misc/WebStringTruncator.m: Removed. + * Misc/WebStringTruncator.mm: Copied from WebKit/mac/Misc/WebStringTruncator.m. + * WebInspector/WebNodeHighlight.m: Removed. + * WebInspector/WebNodeHighlight.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlight.m. + * WebInspector/WebNodeHighlightView.m: Removed. + * WebInspector/WebNodeHighlightView.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlightView.m. + * WebView/WebDynamicScrollBarsView.m: Removed. + * WebView/WebDynamicScrollBarsView.mm: Copied from WebKit/mac/WebView/WebDynamicScrollBarsView.m. + +2009-06-05 David Hyatt <hyatt@apple.com> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=26220 + + Update a WebView's active state when it moves to a different window. + + * WebView/WebView.mm: + (-[WebView viewDidMoveToWindow]): + +2009-06-04 Sam Weinig <sam@webkit.org> + + Reviewed by Alice Liu. + + Move WebView internal data into WebViewData.h/mm. + + * WebView/WebDelegateImplementationCaching.mm: + * WebView/WebView.mm: + * WebView/WebViewData.h: Copied from mac/WebView/WebViewInternal.h. + * WebView/WebViewData.mm: Copied from mac/WebView/WebViewInternal.mm. + * WebView/WebViewInternal.h: + * WebView/WebViewInternal.mm: Removed. + +2009-06-04 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + Remove _updateFocusedStateForFrame, since it's actually not even necessary now that I made + setFocusedFrame get called explicitly from become/ResignFirstResponder. setFocusedFrame does + the work of focusing the selection already. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::transitionToCommittedForNewPage): + * WebView/WebHTMLView.mm: + (-[WebHTMLView becomeFirstResponder]): + (-[WebHTMLView resignFirstResponder]): + * WebView/WebView.mm: + * WebView/WebViewInternal.h: + +2009-06-04 Dan Bernstein <mitz@apple.com> + + - build fix + + * WebView/WebViewInternal.mm: + +2009-06-03 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + Reworking of focus and active state updating for WebHTMLViews so that it actually works instead of reporting wrong answers. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::transitionToCommittedForNewPage): + WebHTMLViews become first responders before they are able to reach their Frames/Pages. This happens because the NSClipView + becomes first responder when the WebHTMLView gets destroyed, and then we transfer the responder state back to the new WebHTMLView + when it is first connected. Once we have transitioned to a new page and have the Frame/Page available, go ahead and explicitly + focus the frame in WebCore and update our focused state. This change allows us to remove the updateFocusedActive timer and the + code from viewDidMoveToWindow. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView close]): + (-[WebHTMLView addWindowObservers]): + (-[WebHTMLView viewWillMoveToWindow:]): + (-[WebHTMLView viewDidMoveToWindow]): + (-[WebHTMLView _removeWindowObservers]): + Remove all the updateFocusedActiveState timer code, since it no longer exists. + + (-[WebHTMLView windowDidBecomeKey:]): + (-[WebHTMLView windowDidResignKey:]): + Active state updating is no longer done by WebHTMLViews. It is handled by the WebView instead. + + (-[WebHTMLView becomeFirstResponder]): + (-[WebHTMLView resignFirstResponder]): + Reworking of WebHTMLView's code for gaining/losing responder status. No longer update active state here, since the active state + can never change just because of responder changes. Make sure that the focused frame gets updated properly (and most importantly + actually cleared when a WebHTMLView resigns responder status). + + * WebView/WebHTMLViewInternal.h: + * WebView/WebHTMLViewPrivate.h: + State updating for focused and active states has been made independent. + + * WebView/WebView.mm: + (-[WebView _updateActiveState]): + WebView now handles updating of active state in _updateActiveState. It is now purely based off whether the window is key and nothing + else. + + (-[WebView addWindowObserversForWindow:]): + (-[WebView removeWindowObservers]): + Start listening for the window becoming/losing key even in the usesDocumentViews case. + + (-[WebView _updateFocusedStateForFrame:]): + Focused state updating is split into its own method now and called when WebHTMLViews gain and lose responder status. + + (-[WebView _windowDidBecomeKey:]): + (-[WebView _windowDidResignKey:]): + Make sure to call _updateActiveState as the window gains/loses key. + + (-[WebView _windowWillOrderOnScreen:]): + Run this code now that WebHTMLView no longer does it. + + * WebView/WebViewInternal.h: + * WebView/WebViewPrivate.h: + Updating for the split of focused and active state updating into separate methods. + +2009-06-04 Mark Rowe <mrowe@apple.com> + + Speculative Tiger build fix. + + * WebView/WebDelegateImplementationCaching.h: + +2009-06-03 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + Move delegate implementation caching logic into its own files. + + * WebView/WebDelegateImplementationCaching.h: Copied from mac/WebView/WebViewInternal.h. + * WebView/WebDelegateImplementationCaching.mm: Copied from mac/WebView/WebView.mm. + (WebViewGetResourceLoadDelegateImplementations): + (WebViewGetFrameLoadDelegateImplementations): + (WebViewGetScriptDebugDelegateImplementations): + * WebView/WebView.mm: + * WebView/WebViewInternal.h: + +2009-06-03 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + Move WebViewPrivate structure to WebViewInternal.h/mm. + + * WebView/WebView.mm: + * WebView/WebViewInternal.h: + * WebView/WebViewInternal.mm: Added. + (+[WebViewPrivate initialize]): + (-[WebViewPrivate init]): + (-[WebViewPrivate dealloc]): + (-[WebViewPrivate finalize]): + +2009-06-03 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Small cleanup in WebView. + - Move global data initialization to WebView's initialization method. + - Move _clearViewUpdateRunLoopObserver from WebViewPrivate to WebView (FileInternal) + + * WebView/WebView.mm: + (-[WebViewPrivate init]): Remove global initializers. + (-[WebViewPrivate dealloc]): Cleanup whitespace. + (-[WebViewPrivate finalize]): Ditto. + (-[WebView _close]): Call [self _clearViewUpdateRunLoopObserver] instead of + [_private _clearViewUpdateRunLoopObserver] + (+[WebView initialize]): Move global initializers here. + (-[WebView _clearViewUpdateRunLoopObserver]): Moved from WebViewPrivate. + (viewUpdateRunLoopObserverCallBack): Call [self _clearViewUpdateRunLoopObserver] + instead of [_private _clearViewUpdateRunLoopObserver] + +2009-06-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + - WebKit part of eliminating WebCoreTextRenderer + + * Misc/WebKitNSStringExtras.m: + (webkit_CGCeiling): Added. + (-[NSString _web_drawAtPoint:font:textColor:]): Replaced the malloc()ed + string buffer with a Vector. Moved code from + WebCoreDrawTextAtPoint() to here. + (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]): + (-[NSString _web_widthWithFont:]): Replaced the malloc()ed string buffer + with a Vector. Moved code from WebCoreTextFloatWidth() to here. + * WebView/WebHTMLView.mm: + (-[WebHTMLView _addToStyle:fontA:fontB:]): Replaced call to + WebCoreFindFont() with use of + +[WebFontCache fontWithFamily:traits:weight:size:]. + * WebView/WebView.mm: + (+[WebView _setAlwaysUsesComplexTextCodePath:]): Changed to call + Font::setCodePath() directly. + (+[WebView _setShouldUseFontSmoothing:]): Changed to call + Font::setShouldUseSmoothing(). + (+[WebView _shouldUseFontSmoothing]): Changed to call + Font::shouldUseSmoothing(). + +2009-06-03 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Mark Rowe. + + - remove a private method that was used only by Safari 3.0. + + * WebView/WebView.mm: Removed +_minimumRequiredSafariBuildNumber. + * WebView/WebViewPrivate.h: Ditto. + +2009-06-03 Dan Bernstein <mitz@apple.com> + + - build fix + + * WebView/WebHTMLView.mm: + +2009-06-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + - build fix + + * WebView/WebHTMLView.mm: + * WebView/WebView.mm: + +2009-06-02 Darin Adler <darin@apple.com> + + Reviewed by David Hyatt. + + Bug 26112: viewless WebKit -- make events work + https://bugs.webkit.org/show_bug.cgi?id=26112 + + One change here is to make the -[WebFrame frameView] function assert if ever called + in viewless mode, and fix many callers that would trip that assertion. + + A major change is to put some methods and data in WebView that are currently in + WebHTMLView, used only in viewless mode. A next step will be to use the WebView + methods whenever possible, even when not in the viewless mode. + + Also fix FrameView to do normal reference counting instead of a strange model with + an explicit deref near creation time. + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::scrollRectIntoView): Add code to start in the appropriate place + when dealing with viewless mode. This gets triggered when visiting the Google home page. + (WebChromeClient::setToolTip): Changed to call WebView instead of WebHTMLView. + (WebChromeClient::print): Changed to use a new selector that doesn't require a + WebFrameView if present. Also don't even try to use the old selector in viewless mode. + + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::respondToChangedSelection): Changed to call WebView instead of WebHTMLView. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::transitionToCommittedForNewPage): Added more code paths for + viewless mode to skip things we can't do in that mode, with appropriate FIXME. + Use Frame::create and RefPtr and eliminate the strange reference counting of FrameView. + + * WebView/WebDataSource.mm: + (-[WebDataSource _receivedData:]): Added a _usesDocumentViews guard around code that's + specific to document views. + + * WebView/WebFrame.mm: + (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Added a _usesDocumentViews + guard around code that's specific to document views. + (-[WebFrame _hasSelection]): Added an implementation for viewless mode. + (-[WebFrame _clearSelection]): Assert we're not in viewless mode; it doesn't really + make sense to clear the selection in only one frame in viewless mode. Later we can + decide what to do. + (-[WebFrame _dragSourceMovedTo:]): Assert we're not in viewless mode; the dragging + code for viewless mode shouldn't have to involve the WebFrame object at all. + (-[WebFrame _dragSourceEndedAt:operation:]): Ditto. + (-[WebFrame frameView]): Assert we're not in viewless mode. This assertion fires + often, but it's a great pointer to code that needs to be changed. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView hitTest:]): Tweaked a comment. + (-[WebHTMLView _updateMouseoverWithEvent:]): Fixed a bug where the fake event for + moving the mouse out of the old view ended up overwriting the event for moving + the mouse within the new view. + (-[WebHTMLView mouseDown:]): Got rid of explicit conversion of event to + PlatformMouseEvent in call to sendContextMenuEvent; that's no longer possible + without passing another argument, and it's now handled in EventHandler. + + * WebView/WebTextCompletionController.h: Copied from WebKit/mac/WebView/WebHTMLView.mm. + Removed everything except for the WebTextCompletionController class. + * WebView/WebTextCompletionController.mm: Copied from WebKit/mac/WebView/WebHTMLView.mm. + Ditto. + + * WebView/WebUIDelegatePrivate.h: Added webView:printFrame: method. + + * WebView/WebView.mm: Moved includes and fields in from WebHTMLView. + (-[WebView _usesDocumentViews]): Updated for name change from useDocumentViews + to usesDocumentViews. + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Ditto. + (-[WebView drawSingleRect:]): Ditto. + (-[WebView isFlipped]): Ditto. + (-[WebView setFrameSize:]): Ditto. Also changed to use _mainCoreFrame method. + (-[WebView _viewWillDrawInternal]): Ditto. + (-[WebView viewWillDraw]): Ditto. + (-[WebView drawRect:]): Ditto. + (-[WebView _close]): Added code to nil out the lastMouseoverView global. + (-[WebView _dashboardRegions]): Use _mainCoreFrame. + (-[WebView setProhibitsMainFrameScrolling:]): Ditto. + (-[WebView _setInViewSourceMode:]): Ditto. + (-[WebView _inViewSourceMode]): Ditto. + (-[WebView _attachScriptDebuggerToAllFrames]): Ditto. + (-[WebView _detachScriptDebuggerFromAllFrames]): Ditto. + (-[WebView textIteratorForRect:]): Ditto. + (-[WebView _executeCoreCommandByName:value:]): Ditto. + (-[WebView addWindowObserversForWindow:]): Ditto. + (-[WebView removeWindowObservers]): Ditto. + (-[WebView _updateFocusedAndActiveState]): Ditto. + (-[WebView _updateFocusedAndActiveStateForFrame:]): Turned into a class method. + Added code to handle the viewless case without calling frameView. + (-[WebView _windowDidBecomeKey:]): Updated for name change from useDocumentViews + to usesDocumentViews. + (-[WebView _windowDidResignKey:]): Ditto. + (-[WebView _windowWillOrderOnScreen:]): Ditto. + (-[WebView mainFrame]): Tweaked. + (-[WebView selectedFrame]): Added a conditional to avoid trying to get at the + frame view in viewless case. + (-[WebView _setZoomMultiplier:isTextOnly:]): Use _mainCoreFrame. + (-[WebView setCustomTextEncodingName:]): Ditto. + (-[WebView windowScriptObject]): Ditto. + (-[WebView setHostWindow:]): Ditto. Also put some code that's needed only for + document views inside _private->usesDocumentViews. + (-[WebView _hitTest:dragTypes:]): Tweaked. + (-[WebView acceptsFirstResponder]): Added case for viewless mode along with a + FIXME, since it's not complete. + (-[WebView becomeFirstResponder]): Ditto. + (-[WebView _webcore_effectiveFirstResponder]): Put the body of this inside + a usesDocumentView check, because we don't need the first responder forwarding + in viewless mode. + (-[WebView setNextKeyView:]): Ditto. + (-[WebView mouseDown:]): Added. Copied from WebHTMLView. FIXME in here suggests + that we make WebHTMLView share this one soon, which I think is practical. + (-[WebView mouseUp:]): Ditto. + (-[WebView setHoverFeedbackSuspended:]): Added a code path for viewless mode. + (-[WebView shouldClose]): Use _mainCoreFrame. + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto. + (-[WebView setEditable:]): Ditto. + (-[WebView _frameViewAtWindowPoint:]): Added an assertion that we're not in + viewless mode since this method makes no sense in that mode. + (-[WebView _setMouseDownEvent:]): Added. Copied from WebHTMLView. I plan to + eliminate the one in WebHTMLView soon. + (-[WebView _cancelUpdateMouseoverTimer]): Ditto. + (-[WebView _stopAutoscrollTimer]): Ditto. + (+[WebView _updateMouseoverWithEvent:]): Ditto. + (-[WebView _updateMouseoverWithFakeEvent]): Ditto. + (-[WebView _setToolTip:]): Added. Calls through to the WebHTMLView version. + (-[WebView _selectionChanged]): Ditto. + (-[WebView _mainCoreFrame]): Added. + (-[WebView _needsOneShotDrawingSynchronization]): Moved into the WebInternal + category. + (-[WebView _setNeedsOneShotDrawingSynchronization:]): Ditto. + (-[WebView _startedAcceleratedCompositingForFrame:]): Ditto. + (-[WebView _stoppedAcceleratedCompositingForFrame:]): Ditto. + (viewUpdateRunLoopObserverCallBack): Ditto. + (-[WebView _scheduleViewUpdate]): Ditto. + + * WebView/WebViewInternal.h: Made most of the file not compile at all when + included from non-C++ source files, elminating some excess declarations and + typedefs. Moved more methods into the real internal category. Added new + methods _setMouseDownEvent, _cancelUpdateMouseoverTimer, _stopAutoscrollTimer, + _updateMouseoverWithFakeEvent, _selectionChanged, and _setToolTip:. + +2009-06-02 Mark Rowe <mrowe@apple.com> + + Reviewed by Anders Carlsson. + + Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds. + + * Configurations/Base.xcconfig: + +2009-06-01 Darin Adler <darin@apple.com> + + * WebView/WebTextCompletionController.mm: Fix Tiger build by adding import + of WebTypesInternal.h. + +2009-06-01 Darin Adler <darin@apple.com> + + Reviewed by Maciej Stachowiak. + + Bug 26113: break WebTextCompletionController out into its own source file + https://bugs.webkit.org/show_bug.cgi?id=26113 + + * WebView/WebHTMLView.mm: + (-[WebHTMLViewPrivate dealloc]): Updated for new name. + (-[WebHTMLViewPrivate clear]): Ditto. + (-[WebHTMLView _frameOrBoundsChanged]): Ditto. + (-[WebHTMLView menuForEvent:]): Ditto. + (-[WebHTMLView windowDidResignKey:]): Ditto. + (-[WebHTMLView windowWillClose:]): Ditto. + (-[WebHTMLView mouseDown:]): Ditto. + (-[WebHTMLView resignFirstResponder]): Ditto. + (-[WebHTMLView keyDown:]): Ditto. + (-[WebHTMLView complete:]): Ditto. Also pass WebView to init method. + (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Ditto. + + * WebView/WebTextCompletionController.h: Copied from mac/WebView/WebHTMLView.mm. + * WebView/WebTextCompletionController.mm: Copied from mac/WebView/WebHTMLView.mm. + Changed initializer to pass in a spearate WebView and WebHTMLView, to smooth the + way for handling viewless mode properly in the future. + +2009-05-30 David Kilzer <ddkilzer@apple.com> + + Add JSLock to -[WebScriptCallFrame scopeChain] + + Reviewed by Darin Adler. + + In Debug builds of WebKit, Dashcode launching MobileSafari could + cause the ASSERT(JSLock::lockCount() > 0) assertion to fire in + JSC::Heap::heapAllocate() because the JSLock wasn't taken. + + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame scopeChain]): Take JSLock before calling + into JavaScriptCore. + +2009-05-28 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Dan Bernstein. + + Build fix. Move off a deprecated NSFileManager method. + + * Misc/WebNSFileManagerExtras.h: + * Misc/WebNSFileManagerExtras.m: + (-[NSFileManager destinationOfSymbolicLinkAtPath:error:]): Implement a new-in-Leopard method for Tiger to use. + (-[NSFileManager attributesOfItemAtPath:error:]): Ditto. + * Plugins/WebNetscapePluginPackage.mm: + (-[WebNetscapePluginPackage _initWithPath:]): Use the new non-deprecated methods. + +2009-05-28 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + Added new build flag --filters. More details in WebCore/ChangeLog. + + * Configurations/FeatureDefines.xcconfig: + +2009-05-27 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=26009 + <rdar://problem/6925656> REGRESSION (r43973): Problems While Working With OpenVanilla + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _updateSelectionForInputManager]): Don't call updateWindows if the selection + is None. This routinely happens during editing, and it doesn't mean that we left an editable + area (in which case the selection changes to a non-editable one). + +2009-05-26 Sam Weinig <sam@webkit.org> + + Reviewed by Brady Eidson. + + Fix for <rdar://problem/6916371> + iWeb 'Announce' button does nothing after publishing to MobileMe + + Add linked-on-or-after check to allow older WebKit apps to use the + old behavior of sniffing everything (including file: urls) + + * Misc/WebKitVersionChecks.h: + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): + +2009-05-26 Stephanie Lewis <slewis@apple.com> + + Reviewed by Ada Chan and Oliver Hunt. + + Remove WebView observers in during fast teardown. + <rdar://problem/6922619> REGRESSION (Tiger-only?): After restoring windows from the previous session, a crash occurs while attempting to quit Safari + + * WebView/WebView.mm: + (-[WebView _closeWithFastTeardown]): + +2009-05-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6901751> + REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com + + Remove WKCGContextIsSafeToClip. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + +2009-05-26 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/6922371> REGRESSION (r43973): Can't type first + character with an umlaut, circumflex, or accent in Mail or in a wiki + + * WebView/WebHTMLView.mm: + (isTextInput): Moved here. + (isInPasswordField): Moved here. + (-[WebHTMLView becomeFirstResponder]): Update the exposeInputContext + flag and let NSApplication update the input manager with the new input + context if necessary. + (-[WebHTMLView _updateSelectionForInputManager]): Changed to use the + NSApp global instead of +[NSApplication sharedApplication]. + +2009-05-26 Mark Rowe <mrowe@apple.com> + + Fix the Tiger build. + + * Misc/WebNSObjectExtras.mm: + (-[NSInvocation _webkit_invokeAndHandleException:]): Rename the local variable so that + it doesn't conflict with a member variable on Tiger. + +2009-05-26 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + <rdar://problem/6921835> REGRESSION (r44115): Crash in Leopard Mail viewing message + + Fix case where we autorelease an object on the main thread that we are returning + to another thread when using our _webkit_invokeOnMainThread method. + + * Misc/WebNSObjectExtras.mm: + (returnTypeIsObject): Added. + (-[WebMainThreadInvoker forwardInvocation:]): Autorelease the object on the calling + thread, balancing a retain done on the main thread. + (-[NSInvocation _webkit_invokeAndHandleException:]): Retain the object on the main + thread. + +2009-05-26 David Hyatt <hyatt@apple.com> + + Back out the workaround for Mail crashing. Darin is working on the real fix. + + * Misc/WebNSObjectExtras.mm: + (-[WebMainThreadInvoker forwardInvocation:]): + +2009-05-26 David Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=25969. + + Stop using notifications for boundsChanged, since the notifications are being sent too late. + Since subviews get resized before parents do, the notification comes in telling the WebHTMLView + that its size has changed *before* we've done setNeedsLayout in the WebView size change callback. + + Become more like the Windows platform and just do the bounds changed immediately as our size is + being altered by subclassing setFrameSize in WebView. + + Also patch WebDynamicScrollbarsView to detect the case where neither axis is really spilling out + past the viewport, so that in shrinking situations we figure out that we don't need scrollbars + any more. + + * WebView/WebDynamicScrollBarsView.m: + (-[WebDynamicScrollBarsView updateScrollers]): + * WebView/WebView.mm: + (-[WebView _boundsChangedToNewSize:]): + (-[WebView setFrameSize:]): + (-[WebView viewWillMoveToWindow:]): + (-[WebView viewDidMoveToWindow]): + +2009-05-25 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + - WebKit side of <rdar://problem/6914001>. + + * Plugins/Hosted/NetscapePluginHostManager.h: + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::didCreateWindow): + Iterate over all plug-in hosts. If one is in full-screen mode, make sure to activate the + WebKit app instead. + + * Plugins/Hosted/NetscapePluginHostProxy.h: + (WebKit::NetscapePluginHostProxy::isMenuBarVisible): + Add getter. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCEvaluate): + Add allowPopups flag. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest): + (WebKit::NetscapePluginInstanceProxy::PluginRequest::allowPopups): + (WebKit::NetscapePluginInstanceProxy::loadURL): + (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript): + (WebKit::NetscapePluginInstanceProxy::loadRequest): + (WebKit::NetscapePluginInstanceProxy::evaluate): + Use "allowPopups" instead of "userGesture". + + * Plugins/Hosted/WebKitPluginClient.defs: + Add allowPopups argument to Evaluate. + + * Plugins/Hosted/WebKitPluginHostTypes.h: + Use "allowPopups" instead of "userGesture". + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::createWindow): + Call didCreateWindow here. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchCreatePage): + Ditto. + +2009-05-25 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + - Fix <rdar://problem/6915849>. + + Release the placeholder window after -[NSApplication runModalForWindow] returns. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::beginModal): + (WebKit::NetscapePluginHostProxy::endModal): + +2009-05-24 Dan Bernstein <mitz@apple.com> + + - revert an accidental change from r43964. + + * WebView/WebView.mm: + (+[WebView _setShouldUseFontSmoothing:]): + +2009-05-24 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein and Tim Hatcher. + + <rdar://problem/6913045> New console message spewed by automator CLI after installing JetstreamLeo40B21a + + * Misc/WebNSObjectExtras.mm: + (-[WebMainThreadInvoker initWithTarget:]): Tweaked argument name. + (-[WebMainThreadInvoker forwardInvocation:]): Removed call to retainArguments. + This was unneeded and in the case of a newly created but not yet fully initialized + NSView object it caused the abovementioned bug. + (-[WebMainThreadInvoker handleException:]): Tweaked argument name. Added assertion. + (-[NSInvocation _webkit_invokeAndHandleException:]): Tweaked name of local variable + that holds the exception. + +2009-05-23 David Kilzer <ddkilzer@apple.com> + + Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr + + <https://bugs.webkit.org/show_bug.cgi?id=25495> + + Reviewed by Oliver Hunt. + + * History/WebHistory.mm: + (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Return + 0 instead of an empty auto_ptr<>. + * History/WebHistoryItem.mm: + (-[WebHistoryItem initFromDictionaryRepresentation:]): Use + OwnPtr<> instead of auto_ptr<> for stack variable. + * WebCoreSupport/WebChromeClient.h: + (WebChromeClient::createHTMLParserQuirks): Return a PassOwnPtr<> + instead of a raw HTMLParserQuirks pointer. + +2009-05-23 David Kilzer <ddkilzer@apple.com> + + Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr + + <https://bugs.webkit.org/show_bug.cgi?id=25495> + + Reviewed by Oliver Hunt. + + * ForwardingHeaders/wtf/OwnPtrCommon.h: Added. + * ForwardingHeaders/wtf/PassOwnPtr.h: Added. + +2009-05-22 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + - Fix <rdar://problem/6913765> REGRESSION (r42331-r42334): Extra scroll + bars appearing on Welcome panels of iLife '09 apps + + * WebView/WebView.mm: + (needsUnwantedScrollBarWorkaround): Added. Checks if this is a panel + where scroll bars are unwanted. For safety, limited to only Apple applications. + (-[WebView viewDidMoveToWindow]): If the workaround is needed, disallow + scrolling the main frame. This prevents scroll bars from appearing. + +2009-05-22 Adam Barth <abarth@webkit.org> + + Reviewed by Maciej Stachowiak. + + https://bugs.webkit.org/show_bug.cgi?id=25955 + + Remove the policyBaseURL parameter from setCookie. This parameter is + redudant with the document parameter. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::setCookies): + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView setVariable:forURL:value:length:]): + +2009-05-21 Darin Fisher <darin@chromium.org> + + Fix-up coding style. + + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::getAutoCorrectSuggestionForMisspelledWord): + +2009-05-20 Siddhartha Chattopadhyaya <sidchat@google.com> + + Reviewed by Justin Garcia. + + Add automatic spell correction support in WebKit + + https://bugs.webkit.org/show_bug.cgi?id=24953 + + * WebCoreSupport/WebEditorClient.h: + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::getAutoCorrectSuggestionForMisspelledWord): + +2009-05-21 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + <rdar://problem/6907542> REGRESSION (r43143): Hang in RenderLineBoxList::dirtyLinesFromChangedChild + when clicking link to load Flash animation (http://www.roambi.com) + + * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection): + Don't call -[NSApplication updateWindows] here, WebHTMLView can take care of this. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView inputContext]): Use a precomputed boolean stored in WebHTMLViewPrivate, as + calling isTextInput() is not always safe. + (-[WebHTMLView textStorage]): Ditto. + (-[WebHTMLView _updateSelectionForInputManager]): Update _private->exposeInputContext when + selection changes, and let AppKit update its cache if necessary. + +2009-05-21 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + <rdar://problem/5579292> REGRESSION (2-3): "Default default" encoding for Korean changed + from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites + + * WebView/WebPreferences.mm: + (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Update the existing fix + for the changed result of CFStringConvertEncodingToIANACharSetName(). + +2009-05-21 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + <rdar://problem/6883758> REGRESSION (r43143): First character typed with input method does + not go into inline hole (seen with Chinese & Kotoeri on top Chinese website www.baidu.com) + + * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection): + Call -[NSApplication updateWindows] to make AppKit re-fetch the input context when selection + changes. Since we use SelectionController to check whether the view is editable, it is + important not to re-fetch the context too early, e.g. from a focus changed notification. + +2009-05-21 Eric Seidel <eric@webkit.org> + + Reviewed by Alexey Proskuryakov. + + Rename DragController::dragOperation() to sourceDragOperation() for clarity + + * WebView/WebHTMLView.mm: + (-[WebHTMLView draggingSourceOperationMaskForLocal:]): + +2009-05-21 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + - WebKit part of <rdar://problem/6901751> REGRESSION (r35515): Tiger + crash painting the selection on registration page of car2go.com + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Added CGContextIsSafeToClip. + +2009-05-20 Stephanie Lewis <slewis@apple.com> + + Update the order files. <rdar://problem/6881750> Generate new order files. + + * WebKit.order: + +2009-05-20 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6905336> REGRESSION: "Clear History" does not save empty history to disk + + * History/WebHistory.mm: + (-[WebHistoryPrivate data]): If there are no entries, return an empty NSData instead of nil. + +2009-05-20 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler and Kevin Decker. + + WebKit side of <rdar://problem/6895072> + + Pass the localization as a launch property. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::spawnPluginHost): + +2009-05-20 Dan Bernstein <mitz@apple.com> + + - fix the build after r43918 + + * WebCoreSupport/WebChromeClient.h: + (WebChromeClient::setCursor): + +2009-05-20 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + <rdar://problem/4023899> Shift-Tab skips key views in toolbar in Safari, although Tab + iterates through them properly + + * WebView/WebView.mm: + (-[WebView previousValidKeyView]): Work around a bug in -[NSView previousValidKeyView]. + +2009-05-19 Timothy Hatcher <timothy@apple.com> + + Add a new private API method that will dispatch pending loads that have been scheduled + because of recent DOM additions or style changes. + + <rdar://problem/6889218> REGRESSION: Some iChat transcript resources are not + loaded because willSendRequest doesn't happen immediately + + Reviewed by Antti Koivisto. + + * WebView/WebView.mm: + (-[WebView _dispatchPendingLoadRequests]): Call Loader::servePendingRequests(). + * WebView/WebViewPrivate.h: Added _dispatchPendingLoadRequests. + +2009-05-18 Sam Weinig <sam@webkit.org> + + <rdar://problem/6899044> Can't see Apple ad on nytimes.com unless I spoof the user agent + + Add user agent hack for pointroll.com. + + Reviewed by Steve Falkenburg. + + * WebView/WebView.mm: + (-[WebView WebCore::_userAgentForURL:WebCore::]): + +2009-05-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig and Dan Bernstein. + + Fix <rdar://problem/6889644> + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::spawnPluginHost): + +2009-05-16 Dan Bernstein <mitz@apple.com> + + - revert an accidental change from r43802. + + * WebInspector/WebInspector.mm: + +2009-05-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6895347> Mouse wheeling in the QuickTime plug-in (incorrectly) scrolls the page + + Fix logic. The plug-in returns true if it handled the event. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView sendEvent:isDrawRect:]): + +2009-05-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + - fix <rdar://problem/6873305> Two distinct characters are not displayed + correctly with 2 of the font selections from the stickies widget + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _plainTextFromPasteboard:]): Return precomposed text. + This is consistent with + -_documentFragmentFromPasteboard:forType:inContext:subresources:. + +2009-05-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Fix <rdar://problem/6875398>. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + If we failed to instantiate the plug-in, call cleanup() so that any streams created by the plug-in from its + NPP_New callback are destroyed. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + Make cleanup() public. + +2009-05-15 Darin Adler <darin@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/6889823> hash table iterator used after hash table modified in + ProxyInstance::fieldNamed() when viewing movie trailer + + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyInstance::methodsNamed): Move add call after the waitForReply call. + Anders says that by the time we return someone else might have done the same add + for us. + (WebKit::ProxyInstance::fieldNamed): Ditto. + +2009-05-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6892055> + Replace WKN_GetLocation with WKN_ResolveURL (WKN_GetLocation was confusing and did not take the base URL into account) + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCResolveURL): + New MIG callback. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::resolveURL): + Use FrameLoader::complete URL here. + + * Plugins/Hosted/WebKitPluginClient.defs: + Add new MIG definition. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]): + * Plugins/WebNetscapeContainerCheckPrivate.h: + * Plugins/WebNetscapeContainerCheckPrivate.mm: + (browserContainerCheckFuncs): + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView resolveURL:forTarget:]): + * Plugins/npapi.mm: + (WKN_ResolveURL): + +2009-05-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/6892052> WebTextIterator should not “emit + characters between all visible positions” + + * WebView/WebTextIterator.mm: + (-[WebTextIterator initWithRange:]): Changed to construct a TextIterator + with emitCharactersBetweenAllVisiblePositions set to false. + +2009-05-15 Mark Rowe <mrowe@apple.com> + + Reviewed by Dave Kilzer. + + Look for libWebKitSystemInterface.a in a more reasonable location. + + * Configurations/DebugRelease.xcconfig: + +2009-05-14 David Hyatt <hyatt@apple.com> + + Reviewed by Tim Hatcher. + + Fix for <rdar://problem/6886217> REGRESSION (S4 beta-ToT): Adium chat window contents no longer resize. + + Technically this is a bug in Adium. It appears that Adium has subclassed the WebView and implemented + viewDidMoveToWindow in its subclass improperly. It doesn't call up to the base class WebView like it + should and so our boundsChanged notification never gets added. + + Reduce the dependence on viewDidMoveToWindow by moving the registration of observers into + viewWillMoveToWindow instead. + + * WebView/WebView.mm: + (-[WebView addSizeObserversForWindow:]): + (-[WebView removeWindowObservers]): + (-[WebView addWindowObserversForWindow:]): + (-[WebView viewWillMoveToWindow:]): + (-[WebView viewDidMoveToWindow]): + (-[WebView viewDidMoveToSuperview]): + +2009-05-14 David Levin <levin@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=24704 + + Allow the local cache directory to be set using a defaults key. + + * Misc/WebKitNSStringExtras.h: + * Misc/WebKitNSStringExtras.m: + (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]): + * WebKit.exp: + +2009-05-14 Darin Adler <darin@apple.com> + + Reviewed by Adam Roben. + + <rdar://problem/6879999> Automator actions that use WebKit on a background thread fail when run outside of Automator + + * WebView/WebView.mm: + (clientNeedsWebViewInitThreadWorkaround): Added. Contains new broader rule. + (needsWebViewInitThreadWorkaround): Changed to call clientNeedsWebViewInitThreadWorkaround. + +2009-05-14 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + Bug 24049: Second right-click crashes safari when alert invoked + https://bugs.webkit.org/show_bug.cgi?id=24049 + rdar://problem/6878977 + + * WebView/WebHTMLView.mm: + (-[WebHTMLView rightMouseUp:]): Added a retain/autorelease of the event. + (-[WebHTMLView menuForEvent:]): Ditto. Also cleaned up the logic here and + eliminated some use of pointers that might be invalid after calling through + to WebCore. + (-[WebHTMLView scrollWheel:]): Ditto. + (-[WebHTMLView acceptsFirstMouse:]): Ditto. + (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Ditto. + (-[WebHTMLView mouseDown:]): Ditto. + (-[WebHTMLView mouseDragged:]): Ditto. + (-[WebHTMLView mouseUp:]): Ditto. + (-[WebHTMLView keyDown:]): Ditto. + (-[WebHTMLView keyUp:]): Ditto. + (-[WebHTMLView flagsChanged:]): Ditto. + (-[WebHTMLView performKeyEquivalent:]): Ditto. + +2009-05-14 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Darin Adler. + + <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2 + + The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode. + Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR + if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not. + + * Configurations/Base.xcconfig: + +2009-05-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + WebKit side of <rdar://problem/6884476>. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCGetLocation): + Forward this to the plug-in instance proxy. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::getLocation): + Ask the plug-in view for the location. + + * Plugins/Hosted/WebKitPluginClient.defs: + Add MIG definition. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView locationStringForTarget:]): + Return the URL for a given frame. + + * Plugins/WebNetscapeContainerCheckPrivate.h: + Bump version. Add new declaration to the vtable. + + * Plugins/WebNetscapeContainerCheckPrivate.mm: + (browserContainerCheckFuncs): + Add new declaration to the vtable. + + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView locationForTarget:]): + Call the base class method. + + * Plugins/npapi.mm: + (WKN_GetLocation): + Forward this to the plug-in view. + +2009-05-13 Douglas R. Davidson <ddavidso@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6871587> Smart Copy/Paste setting should persist as continuous + spell checking setting does + + * WebView/WebPreferenceKeysPrivate.h: Added WebSmartInsertDeleteEnabled. + + * WebView/WebView.mm: + (-[WebViewPrivate init]): Initialize based on WebSmartInsertDeleteEnabled + default. + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): + Removed code that initialized here. + (-[WebView setSmartInsertDeleteEnabled:]): Set default here was with + continuous spell checking setting. + +2009-05-13 Darin Adler <darin@apple.com> + + Revert the parser arena change. It was a slowdown, not a speedup. + Better luck next time (I'll break it up into pieces). + +2009-05-13 Darin Adler <darin@apple.com> + + Reviewed by Cameron Zwarich. + + Bug 25674: syntax tree nodes should use arena allocation + https://bugs.webkit.org/show_bug.cgi?id=25674 + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Updated includes. + New ones needed due to reducing includes of JSDOMBinding.h. + * WebView/WebScriptDebugger.mm: Ditto. + +2009-05-13 Douglas R. Davidson <ddavidso@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6879145> + Generate a contextual menu item allowing autocorrections to + easily be changed back. Refrain from re-correcting items + that have already been autocorrected once. + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory contextMenuItemTagChangeBack:]): + * WebView/WebUIDelegatePrivate.h: + +2009-05-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Fix <rdar://problem/6878105>. + + When instantiating the QT plug-in under Dashboard, force "kiosk mode". + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]): + +2009-05-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - declare a forgotten method + + * DOM/WebDOMOperationsPrivate.h: Declare -[DOMNode markupString] in the + WebDOMNodeOperationsPendingPublic category. + +2009-05-10 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Dan Bernstein. + + <rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page + + * Misc/WebDownload.m: Removed. + * Misc/WebDownload.mm: Copied from WebKit/mac/Misc/WebDownload.m. + (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Try to use + credentials from WebCore storage. + +2009-05-08 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Not reviewed. Fix clean builds, forgot to land name() -> formControlName() rename patch in WebKit. Only landed the WebCore side. + + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation elementWithName:inForm:]): + +2009-05-08 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + - Fix <rdar://problem/6866712>. + + Instead of just caching whether a plug-in object _has_ a field or method, also add an entry to the cache + if it _doesn't_ have a certain field or method. This way we have to make fewer calls to the plug-in host. + + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyInstance::methodsNamed): + (WebKit::ProxyInstance::fieldNamed): + +2009-05-08 Douglas R. Davidson <ddavidso@apple.com> + + Reviewed by Darin Adler. + + Fixes for <rdar://problem/6852771>. + Disable text checking menu items if view is not editable. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): + (-[WebHTMLView smartInsertDeleteEnabled]): + (-[WebHTMLView setSmartInsertDeleteEnabled:]): + (-[WebHTMLView toggleSmartInsertDelete:]): + * WebView/WebHTMLViewInternal.h: + +2009-05-08 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Maciej Stachowiak. + + <rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials + + * Plugins/WebBaseNetscapePluginView.mm: (WebKit::getAuthenticationInfo): Ask WebCore for + credentials first (but also ask NSURLCredentialStorage, because WebCore won't know about + permanent credentials). + +2009-05-05 Ben Murdoch <benm@google.com> + + Reviewed by Eric Seidel. + + Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds. + https://bugs.webkit.org/show_bug.cgi?id=24776 + + * Storage/WebDatabaseManager.mm: + * Storage/WebDatabaseManagerInternal.h: + * Storage/WebDatabaseManagerPrivate.h: + * Storage/WebDatabaseTrackerClient.h: + * Storage/WebDatabaseTrackerClient.mm: + * Storage/WebSecurityOrigin.mm: + (-[WebSecurityOrigin usage]): + (-[WebSecurityOrigin quota]): + (-[WebSecurityOrigin setQuota:]): + * Storage/WebSecurityOriginPrivate.h: + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): + +2009-05-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Fix <rdar://problem/6797644>. + + Make sure to send a reply even when an instance proxy can't be found. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCEvaluate): + (WKPCInvoke): + (WKPCInvokeDefault): + (WKPCGetProperty): + (WKPCHasProperty): + (WKPCHasMethod): + (WKPCEnumerate): + +2009-05-04 Darin Adler <darin@apple.com> + + Reviewed by Eric Seidel. + + Bug 24924: remove Document.h include of Attr.h and HTMLCollection.h, + and NamedMappedAttrMap.h include of MappedAttribute.h + https://bugs.webkit.org/show_bug.cgi?id=24924 + + * WebView/WebFrame.mm: Added include of CSSMutableStyleDeclaration.h + and ScriptValue.h. + +2009-05-02 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Simplified null-ish JSValues. + + Replaced calls to noValue() with calls to JSValue() (which is what + noValue() returned). Removed noValue(). + + Removed "JSValue()" initialiazers, since default construction happens... + by default. + + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame evaluateWebScript:]): + +2009-05-02 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Dan Bernstein. + + <rdar://problem/6741615> REGRESSION (r38629): Shortcut "Flag/Junk" in MobileMe does not work + when Kotoeri is used. + + * WebView/WebHTMLView.mm: (-[WebHTMLView inputContext]): Return a nil input context when + focus is not in editable content. + +2009-05-01 Geoffrey Garen <ggaren@apple.com> + + Rubber Stamped by Sam Weinig. + + Renamed JSValuePtr => JSValue. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::evaluate): + (WebKit::NetscapePluginInstanceProxy::invoke): + (WebKit::NetscapePluginInstanceProxy::invokeDefault): + (WebKit::NetscapePluginInstanceProxy::construct): + (WebKit::NetscapePluginInstanceProxy::getProperty): + (WebKit::NetscapePluginInstanceProxy::setProperty): + (WebKit::NetscapePluginInstanceProxy::hasMethod): + (WebKit::NetscapePluginInstanceProxy::addValueToArray): + (WebKit::NetscapePluginInstanceProxy::marshalValue): + (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): + (WebKit::NetscapePluginInstanceProxy::demarshalValue): + (WebKit::NetscapePluginInstanceProxy::demarshalValues): + * Plugins/Hosted/ProxyInstance.h: + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyField::valueFromInstance): + (WebKit::ProxyField::setValueToInstance): + (WebKit::ProxyInstance::invoke): + (WebKit::ProxyInstance::invokeMethod): + (WebKit::ProxyInstance::invokeDefaultMethod): + (WebKit::ProxyInstance::invokeConstruct): + (WebKit::ProxyInstance::defaultValue): + (WebKit::ProxyInstance::stringValue): + (WebKit::ProxyInstance::numberValue): + (WebKit::ProxyInstance::booleanValue): + (WebKit::ProxyInstance::valueOf): + (WebKit::ProxyInstance::fieldValue): + (WebKit::ProxyInstance::setFieldValue): + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame _convertValueToObjcValue:]): + (-[WebScriptCallFrame exception]): + (-[WebScriptCallFrame evaluateWebScript:]): + * WebView/WebView.mm: + (aeDescFromJSValue): + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): + +2009-05-01 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest. + + https://bugs.webkit.org/show_bug.cgi?id=25347 + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest): + +2009-04-30 David Kilzer <ddkilzer@apple.com> + + Provide a mechanism to create a quirks delegate for HTMLParser + + Reviewed by David Hyatt. + + * WebCoreSupport/WebChromeClient.h: + (WebChromeClient::createHTMLParserQuirks): Added. The default + implementation of this factory method returns 0. + +2009-04-30 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Timothy Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=25470 + Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler. + + * Configurations/FeatureDefines.xcconfig: Added ENABLE_JAVASCRIPT_DEBUGGER define. + +2009-04-30 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlson. + + <rdar://problem/6823049> + + Fix an issue where some plug-ins would cause the application icon to constantly bounce + up and down in the Dock. + + * Plugins/Hosted/NetscapePluginHostProxy.h: Change m_placeholderWindow ivar to be + a subclass of NSWindow, WebPlaceholderModalWindow. + * Plugins/Hosted/NetscapePluginHostProxy.mm: Added WebPlaceholderModalWindow NSWindow subclass. + (-[WebPlaceholderModalWindow _wantsUserAttention]): Prevent NSApp from calling requestUserAttention: + when the window is shown modally, even if the app is inactive. + (WebKit::NetscapePluginHostProxy::beginModal): NSWindow -> WebPlaceholderModalWindow. + +2009-04-30 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=25342 + Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole. + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::addMessageToConsole): + +2009-04-29 Mark Rowe <mrowe@apple.com> + + More build fixing after r43037. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::invoke): + (WebKit::NetscapePluginInstanceProxy::invokeDefault): + (WebKit::NetscapePluginInstanceProxy::construct): + (WebKit::NetscapePluginInstanceProxy::demarshalValues): + +2009-04-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + - WebKit part of <rdar://problem/6609509> Select All and then Delete + should put Mail editing back into the same state as a new message + + * WebView/WebView.mm: + (-[WebView _selectionIsCaret]): Added. + (-[WebView _selectionIsAll]): Added. Returns whether the selection + encompasses the entire document. + * WebView/WebViewPrivate.h: + +2009-04-29 Douglas Davidson <ddavidso@apple.com> + + Reviewed by Justin Garcia. + + <rdar://problem/6836921> Mail exhibits issues with text checking, e.g. menu items not always validated correctly + + * WebView/WebHTMLView.mm: + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): + (-[WebHTMLView orderFrontSubstitutionsPanel:]): + * WebView/WebView.mm: + (-[WebView validateUserInterfaceItemWithoutDelegate:]): + +2009-04-29 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + Fix a bug in the bounds checking for setNeedsLayout dirtying when a WebView's size changes. The superview + of the WebView was being incorrectly checked instead of the WebView itself. + + * WebView/WebView.mm: + (-[WebView _boundsChanged]): + +2009-04-29 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlson. + + Allow WKN_CheckIfAllowedToLoadURL() to take an optional void* context parameter. + + * Plugins/WebNetscapeContainerCheckContextInfo.h: + * Plugins/WebNetscapeContainerCheckContextInfo.mm: + (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]): + (-[WebNetscapeContainerCheckContextInfo callback]): + (-[WebNetscapeContainerCheckContextInfo context]): + * Plugins/WebNetscapeContainerCheckPrivate.h: + * Plugins/WebNetscapeContainerCheckPrivate.mm: + (browserContainerCheckFuncs): + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]): + (-[WebNetscapePluginView _containerCheckResult:contextInfo:]): + * Plugins/npapi.mm: + (WKN_CheckIfAllowedToLoadURL): + +2009-04-29 David Hyatt <hyatt@apple.com> + + Reviewed by John Sullivan. + + Fix for <rdar://problem/6835573>, Find Banner turns invisible when WebView is resized. Make sure + not to resize the interior views of a WebView in response to its bounds changing when not using + viewless WebKit. Auto-resizing rules were already in place to handle size adjustments for us. + Just mark as needing layout and do nothing else. + + This does mean viewless WebKit is broken with the Find Banner, and that will likely require a + Safari change (using a new API that will enable clients to define the edges of the content area as offsets + from the sides of the WebView). + + * WebView/WebView.mm: + (-[WebView _boundsChanged]): + +2009-04-28 Geoffrey Garen <ggaren@apple.com> + + Rubber stamped by Beth Dakin. + + Removed scaffolding supporting dynamically converting between 32bit and + 64bit value representations. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::marshalValues): + +2009-04-28 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker and Darin Adler. + + Fix <rdar://problem/6836132>. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCCheckIfAllowedToLoadURL): + Call the instance proxy. + + (WKPCCancelCheckIfAllowedToLoadURL): + Ditto. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + Initialize the check ID counter. + + (WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURL): + Create a WebPluginContainerCheck, add it to the map, and start it. + + (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL): + Remove the check from the map. + + (WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURLResult): + Call the WKPH MIG callback. + + * Plugins/Hosted/WebHostedNetscapePluginView.h: + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): + Call the instance proxy. + + (-[WebHostedNetscapePluginView _containerCheckResult:contextInfo:]): + Ditto. + + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + Add MIG declarations. + +2009-04-28 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - fix <rdar://problem/6786360> Make PDF an insertable pasteboard type + + * WebCoreSupport/WebPasteboardHelper.mm: + (WebPasteboardHelper::insertablePasteboardTypes): + * WebView/WebHTMLView.mm: + (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): + (+[WebHTMLView _insertablePasteboardTypes]): + (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): + +2009-04-27 Douglas R. Davidson <ddavidso@apple.com> + + Add the various switches and context menu items needed for + <rdar://problem/6724106> WebViews need to implement text checking + and adopt updatePanels in place of old SPI _updateGrammar. + + Reviewed by Justin Garcia. + + * WebCoreSupport/WebContextMenuClient.mm: + (fixMenusReceivedFromOldClients): + * WebCoreSupport/WebEditorClient.h: + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::uppercaseWord): + (WebEditorClient::lowercaseWord): + (WebEditorClient::capitalizeWord): + (WebEditorClient::showSubstitutionsPanel): + (WebEditorClient::substitutionsPanelIsShowing): + (WebEditorClient::toggleSmartInsertDelete): + (WebEditorClient::isAutomaticQuoteSubstitutionEnabled): + (WebEditorClient::toggleAutomaticQuoteSubstitution): + (WebEditorClient::isAutomaticLinkDetectionEnabled): + (WebEditorClient::toggleAutomaticLinkDetection): + (WebEditorClient::isAutomaticDashSubstitutionEnabled): + (WebEditorClient::toggleAutomaticDashSubstitution): + (WebEditorClient::isAutomaticTextReplacementEnabled): + (WebEditorClient::toggleAutomaticTextReplacement): + (WebEditorClient::isAutomaticSpellingCorrectionEnabled): + (WebEditorClient::toggleAutomaticSpellingCorrection): + (WebEditorClient::checkTextOfParagraph): + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory contextMenuItemTagShowColors]): + (-[WebViewFactory contextMenuItemTagCorrectSpellingAutomatically]): + (-[WebViewFactory contextMenuItemTagSubstitutionsMenu]): + (-[WebViewFactory contextMenuItemTagShowSubstitutions:]): + (-[WebViewFactory contextMenuItemTagSmartCopyPaste]): + (-[WebViewFactory contextMenuItemTagSmartQuotes]): + (-[WebViewFactory contextMenuItemTagSmartDashes]): + (-[WebViewFactory contextMenuItemTagSmartLinks]): + (-[WebViewFactory contextMenuItemTagTextReplacement]): + (-[WebViewFactory contextMenuItemTagTransformationsMenu]): + (-[WebViewFactory contextMenuItemTagMakeUpperCase]): + (-[WebViewFactory contextMenuItemTagMakeLowerCase]): + (-[WebViewFactory contextMenuItemTagCapitalize]): + * WebView/WebHTMLView.mm: + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): + (-[WebHTMLView isAutomaticQuoteSubstitutionEnabled]): + (-[WebHTMLView setAutomaticQuoteSubstitutionEnabled:]): + (-[WebHTMLView toggleAutomaticQuoteSubstitution:]): + (-[WebHTMLView isAutomaticLinkDetectionEnabled]): + (-[WebHTMLView setAutomaticLinkDetectionEnabled:]): + (-[WebHTMLView toggleAutomaticLinkDetection:]): + (-[WebHTMLView isAutomaticDashSubstitutionEnabled]): + (-[WebHTMLView setAutomaticDashSubstitutionEnabled:]): + (-[WebHTMLView toggleAutomaticDashSubstitution:]): + (-[WebHTMLView isAutomaticTextReplacementEnabled]): + (-[WebHTMLView setAutomaticTextReplacementEnabled:]): + (-[WebHTMLView toggleAutomaticTextReplacement:]): + (-[WebHTMLView isAutomaticSpellingCorrectionEnabled]): + (-[WebHTMLView setAutomaticSpellingCorrectionEnabled:]): + (-[WebHTMLView toggleAutomaticSpellingCorrection:]): + * WebView/WebHTMLViewInternal.h: + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebUIDelegatePrivate.h: + * WebView/WebView.mm: + (-[WebViewPrivate init]): + (-[WebView validateUserInterfaceItemWithoutDelegate:]): + (-[WebView setGrammarCheckingEnabled:]): + (-[WebView isAutomaticQuoteSubstitutionEnabled]): + (-[WebView isAutomaticLinkDetectionEnabled]): + (-[WebView isAutomaticDashSubstitutionEnabled]): + (-[WebView isAutomaticTextReplacementEnabled]): + (-[WebView isAutomaticSpellingCorrectionEnabled]): + (-[WebView setAutomaticQuoteSubstitutionEnabled:]): + (-[WebView toggleAutomaticQuoteSubstitution:]): + (-[WebView setAutomaticLinkDetectionEnabled:]): + (-[WebView toggleAutomaticLinkDetection:]): + (-[WebView setAutomaticDashSubstitutionEnabled:]): + (-[WebView toggleAutomaticDashSubstitution:]): + (-[WebView setAutomaticTextReplacementEnabled:]): + (-[WebView toggleAutomaticTextReplacement:]): + (-[WebView setAutomaticSpellingCorrectionEnabled:]): + (-[WebView toggleAutomaticSpellingCorrection:]): + * WebView/WebViewPrivate.h: + +2009-04-27 David Kilzer <ddkilzer@apple.com> + + Consolidate runtime application checks for Apple Mail and Safari + + Reviewed by Mark Rowe and Darin Adler. + + * WebCoreSupport/WebContextMenuClient.mm: + (isAppleMail): Removed. + (fixMenusToSendToOldClients): Switched to use + applicationIsAppleMail(). + * WebView/WebFrame.mm: + (-[WebFrame reload]): Switched to use applicationIsSafari(). + * WebView/WebPDFView.mm: + (-[WebPDFView menuForEvent:]): Ditto. + * WebView/WebResource.mm: + (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): + Switched to use applicationIsAppleMail(). + * WebView/WebView.mm: + (runningLeopardMail): Ditto. + (runningTigerMail): Ditto. + (-[WebView _needsKeyboardEventDisambiguationQuirks]): Switched + to use applicationIsSafari(). + +2009-04-27 Kevin Decker <kdecker@apple.com> + + Fix the Tiger build. + + * Plugins/WebNetscapePluginView.mm: The base class of WebNetscapePluginView.mm, WebBaseNetscapePluginView, already implemented + the two methods below. But the Tiger compiler didn't know that. + (-[WebNetscapePluginView webView]): + (-[WebNetscapePluginView webFrame]): + +2009-04-27 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/6352982> + + * Plugins/WebBaseNetscapePluginView.mm: Removed checkIfAllowedToLoadURL:frame:callbackFunc, cancelCheckIfAllowedToLoadURL, and + _webPluginContainerCancelCheckIfAllowedToLoadRequest from the base class. These methods now exist in the subclass WebNetscapePluginView. + + Added WebNetscapeContainerCheckContextInfo, which is used as a "contextInfo" object in + -[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:] + * Plugins/WebNetscapeContainerCheckContextInfo.h: Added. + * Plugins/WebNetscapeContainerCheckContextInfo.mm: Added. + (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:]): Added desiginated initializer. + (-[WebNetscapeContainerCheckContextInfo checkRequestID]): Added. Returns the checkRequestID. + (-[WebNetscapeContainerCheckContextInfo callback]): Added. Returns the callback. + + * Plugins/WebNetscapePluginView.h: Added two new ivars: _containerChecksInProgress and _currentContainerCheckRequestID. + * Plugins/WebNetscapePluginView.mm: #import both WebPluginContainerCheck.h and WebNetscapeContainerCheckContextInfo.h + + (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added. This is the implementation of WKN_CheckIfAllowedToLoadURL. + Here, we increment the request ID and start the container check. + + (-[WebNetscapePluginView _containerCheckResult:contextInfo:]): Added. This is a callback method for WebPluginContainerCheck. + It's where we actually call into the plug-in and provide the allow-or-deny result. + + (-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Added. This is the implementation of WKN_CancelCheckIfAllowedToLoadURL. + Here we lookup the check, cancel it, and remove it from _containerChecksInProgress. + + (-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added. WebPluginContainerCheck automatically calls + this method after invoking our _containerCheckResult: selector. It works this way because calling -[WebPluginContainerCheck cancel] allows + it to do it's teardown process. + + (-[WebNetscapePluginView fini]): Release _containerChecksInProgress ivar. + + * Plugins/WebPluginContainerCheck.h: Removed initWithRequest: method from header; no client was using this method directly. + * Plugins/WebPluginContainerCheck.mm: + (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:contextInfo:]): Added optional contextInfo parameter. + (-[WebPluginContainerCheck _continueWithPolicy:]): If there's a contextInfo object, pass it as a parameter to resultSelector. + (-[WebPluginContainerCheck cancel]): Release _contextInfo ivar. + (-[WebPluginContainerCheck contextInfo]): Added new method. Returns the contextInfo object, if one so exists. + * Plugins/WebPluginController.mm: + (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Pass nil for contextInfo. WebKit-style + plug-ins do not need additional context information. + +2009-04-25 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + Some *obvious* style cleanup in my last patch. + + * History/WebBackForwardList.mm: + (bumperCarBackForwardHackNeeded): + +2009-04-25 Brady Eidson <beidson@apple.com> + + Reviewed by Oliver Hunt + + <rdar://problem/6817607> BumperCar 2.2 crashes going back (invalid WebHistoryItem) + + BumperCar was holding a pointer to a WebHistoryItem they never retain, then later + tried to go to it. In some cases it would be dealloc'ed first. + When WebHistoryItems were pure Objective-C they probably got away with this more often. + With the WebCore/Obj-C mixed WebHistoryItems it's more likely to crash. + + * History/WebBackForwardList.mm: + (bumperCarBackForwardHackNeeded): + (-[WebBackForwardList backListWithLimit:]): If this is BumperCar, hang on to the + NSArray of WebHistoryItems until the next time this method is called. + (-[WebBackForwardList forwardListWithLimit:]): Ditto. + + * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_BUMPERCAR_BACK_FORWARD_QUIRK. + +2009-04-24 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Fix <rdar://problem/6761635>. + + Make sure to keep an extra reference to the instance proxy in case the plug-in host crashes while + we're waiting for a reply. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::destroy): + +2009-04-24 Brady Eidson <beidson@apple.com> + + Reviewed by Dan Bernstein + + Currently working on a bug where a WebHistoryItem was being used after being dealloc'ed. + I added this assertion to help catch the case as soon as it happens instead of random + issues downstream. Figured it's worth checking in by itself. + + * History/WebHistoryItem.mm: + (core): ASSERT that the WebCore::HistoryItem inside this WebHistoryItem is supposed to have + this WebHistoryItem as a wrapper. + +2009-04-23 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/6333461> REGRESSION (r36864-r36869): + Dragging stocks widget scrollbar drags the whole widget + + Look for our new WebCore scrollbars in the WebHTMLView and add + proper Dashboard regions for them. + + * WebView/WebView.mm: + (-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]): + (-[WebView _addScrollerDashboardRegions:from:]): + +2009-04-23 John Sullivan <sullivan@apple.com> + + fixed <rdar://problem/6822479> Assertion failure after Reset Safari in new history-writing code + + Reviewed by Oliver Hunt + + * History/WebHistory.mm: + (-[WebHistoryPrivate data]): + Return nil immediately if there are no entries; this matches a recent Windows-platform fix. + +2009-04-23 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=25313 + Missing scroll bars in GMail. + + * WebView/WebDynamicScrollBarsView.m: + (-[WebDynamicScrollBarsView updateScrollers]): Added check for the ScrollbarAlwaysOn + scroll mode. + +2009-04-23 Kevin Decker <kdecker@apple.com> + + * Plugins/WebPluginContainerCheck.h: Fix the Tiger build. + +2009-04-23 Anders Carlsson <andersca@apple.com> + + Reviewed by Geoffrey Garen. + + Fix <rdar://problem/6821992> + + Add a new m_inDestroy member variable. Set it to true when in destroy, and have all NPRuntime functions return false + when m_inDestroy is true. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + (WebKit::NetscapePluginInstanceProxy::destroy): + (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): + +2009-04-23 David Hyatt <hyatt@apple.com> + + Reviewed by Maciej. + + Fix for <rdar://problem/6789879> REGRESSION (42464): Hitting assertion when loading message in Mail + TOT WebKit + + Make the Mac platform the same as all the other platforms. Instead of (incorrectly) marking a FrameView for layout + when its underlying document view changes, just mark the outermost frame view for layout when the WebView's size changes. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _frameOrBoundsChanged]): + (-[WebHTMLView addSuperviewObservers]): + * WebView/WebView.mm: + (-[WebView _boundsChanged]): + (-[WebView removeSizeObservers]): + (-[WebView addSizeObservers]): + +2009-04-23 Kevin Decker <kdecker@apple.com> + + Reviewed by Tim Hatcher. + + Second part of the fix for <rdar://problem/6352982> + + * Plugins/WebBaseNetscapePluginView.h: Make this class conform to WebPluginContainerCheckController + * Plugins/WebBaseNetscapePluginView.mm: Likewise. + (-[WebBaseNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added skeleton method. + * Plugins/WebPluginContainerCheck.h: Added protocol for <WebPluginContainerCheckController> + * Plugins/WebPluginContainerCheck.mm: + (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): + * Plugins/WebPluginController.h: Make this class conform to WebPluginContainerCheckController + +2009-04-23 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlsson. + + First part of <rdar://problem/6352982> + + * Plugins/WebBaseNetscapePluginView.h: Imported #WebNetscapeContainerCheckPrivate.h; Added two new method: + checkIfAllowedToLoadURL:url:frame:callbackFunc: and cancelCheckIfAllowedToLoadURL: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added skeleton method, does nothing interesting + yet. + (-[WebBaseNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Likewise. + * Plugins/WebNetscapeContainerCheckPrivate.h: Added. + * Plugins/WebNetscapeContainerCheckPrivate.mm: Added. + (browserContainerCheckFuncs): Added. + * Plugins/WebNetscapePluginView.h: Imported #WebNetscapeContainerCheckPrivate.h; + * Plugins/WebNetscapePluginView.mm: Imported #WebNetscapeContainerCheckPrivate.h; added WKN_CheckIfAllowedToLoadURL + and WKN_CancelCheckIfAllowedToLoadURL functions. + (-[WebNetscapePluginView getVariable:value:]): Return vtable for container check functions. + * Plugins/npapi.mm: + (WKN_CheckIfAllowedToLoadURL): Added new private function. + (WKN_CancelCheckIfAllowedToLoadURL): Ditto. + +2009-04-22 Oliver Hunt <oliver@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves + + Make mouseUP forward to the root view as we do for mouseMoves and mouseDragged:. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView mouseUp:]): + +2009-04-22 Oliver Hunt <oliver@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves + + Make mouseDragged forward to the root view as we do for mouseMoves. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView mouseDragged:]): + +2009-04-22 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver Hunt. + + Fix <rdar://problem/6792694> + + When we're trying to instantiate a plug-in and the plug-in host has died, we need to invalidate the + instance so that it doesn't stick around and do bad things. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + +2009-04-22 Sam Weinig <sam@webkit.org> + + Rubber-stamped by Darin Adler. + + Fix for <rdar://problem/6816957> + Turn off Geolocation by default + + * Configurations/FeatureDefines.xcconfig: + +2009-04-21 Dan Bernstein <mitz@apple.com> + + Reviewed by Jon Honeycutt. + + - Mac part of fixing for <rdar://problem/6755137> Action dictionary for + policy decision is missing keys when full-page zoom is used + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::actionDictionary): Use absoluteLocation() instead + of pageX() and pageY(), which are adjusted for zoom. + +2009-04-21 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler and Kevin Decker. + + WebKit side of <rdar://problem/6781642>. + + When we call resize with an actual changed size, block until the plug-in host is done. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::resize): + * Plugins/Hosted/WebHostedNetscapePluginView.h: + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView updateAndSetWindow]): + * Plugins/Hosted/WebKitPluginHost.defs: + +2009-04-17 Timothy Hatcher <timothy@apple.com> + + Change how sudden termination works with WebView teardown. + + <rdar://problem/6383352&6383379&6383940> + + Reviewed by Darin Adler. + + * WebCoreSupport/WebChromeClient.h: Remove disableSuddenTermination/enableSuddenTermination. + * WebCoreSupport/WebChromeClient.mm: Ditto. + * WebView/WebFrame.mm: + (-[WebFrame _pendingFrameUnloadEventCount]): Ask the DOMWindow. + * WebView/WebView.mm: + (+[WebView canCloseAllWebViews]): Call DOMWindow::dispatchAllPendingBeforeUnloadEvents. + (+[WebView closeAllWebViews]): Call DOMWindow::dispatchAllPendingUnloadEvents and + call close on all the WebViews. + (-[WebView _closeWithFastTeardown]): Remove code for unload event dispatch. + (-[WebView _close]): Correct a comment. + (+[WebView _applicationWillTerminate]): Call closeAllWebViews. + * WebView/WebViewPrivate.h: Add canCloseAllWebViews and closeAllWebViews. + +2009-04-21 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Mark Rowe. + + Tiger crash fix: Put VM tags in their own header file, and fixed up the + #ifdefs so they're not used on Tiger. + + * ForwardingHeaders/wtf/VMTags.h: Copied from ForwardingHeaders/wtf/HashTraits.h. + +2009-04-17 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/6722845> + In the Cocoa event model, NPWindow's window field should be null + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCConvertPoint): + Get the instance proxy and call it's convertPoint function. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::convertPoint): + Call convertPoint on the plug-in view. + + * Plugins/Hosted/WebKitPluginClient.defs: + Add PCConvertPoint. + + * Plugins/WebBaseNetscapePluginView.h: + Add a declaration for convertFromX:andY:space:toX:andY:space:. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]): + Convert a point from one coordinate system to another. + + * Plugins/WebNetscapePluginEventHandler.h: + * Plugins/WebNetscapePluginEventHandlerCarbon.h: + * Plugins/WebNetscapePluginEventHandlerCarbon.mm: + (WebNetscapePluginEventHandlerCarbon::drawRect): + * Plugins/WebNetscapePluginEventHandlerCocoa.h: + Add CGContextRef to drawRect. + + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + (WebNetscapePluginEventHandlerCocoa::drawRect): + Set the passed in context. + + * Plugins/WebNetscapePluginPackage.mm: + (-[WebNetscapePluginPackage _tryLoad]): + Add NPN_ConvertPoint to the browserFuncs vtable. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): + Only set the window for the Carbon event model. + + (-[WebNetscapePluginView restorePortState:]): + It's OK for the window context to be null. + + (-[WebNetscapePluginView sendDrawRectEvent:]): + Pass the CGContextRef to drawRect. + + * Plugins/npapi.mm: + (NPN_ConvertPoint): + Call the plug-in view method. + +2009-04-20 Sam Weinig <sam@webkit.org> + + Rubber-stamped by Tim Hatcher. + + Add licenses for xcconfig files. + + * Configurations/Base.xcconfig: + * Configurations/DebugRelease.xcconfig: + * Configurations/FeatureDefines.xcconfig: + * Configurations/Version.xcconfig: + * Configurations/WebKit.xcconfig: + +2009-04-20 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + WebKit side of <rdar://problem/6781302> + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::keyEvent): + Pass the event keyChar. + + (WebKit::NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier): + Ditto. + + (WebKit::NetscapePluginInstanceProxy::flagsChanged): + Pass a 0 keyChar. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView flagsChanged:]): + Call NetscapePluginInstanceProxy::flagsChanged. + + * Plugins/Hosted/WebKitPluginHost.defs: + Add a keyChar argument. + +2009-04-19 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/6804809> REGRESSION: In Mail, Home and End do not scroll message + + If no scrolling occurs, call tryToPerform on the next responder. Then our WebResponderChainSink + will correctly detect if no responders handle the selector. + + * WebView/WebFrameView.mm: + (-[WebFrameView _scrollToBeginningOfDocument]): + (-[WebFrameView _scrollToEndOfDocument]): + (-[WebFrameView scrollToBeginningOfDocument:]): + (-[WebFrameView scrollToEndOfDocument:]): + (-[WebFrameView scrollLineUp:]): + (-[WebFrameView scrollLineDown:]): + +2009-04-19 David Kilzer <ddkilzer@apple.com> + + Make FEATURE_DEFINES completely dynamic + + Reviewed by Darin Adler. + + Make FEATURE_DEFINES depend on individual ENABLE_FEATURE_NAME + variables for each feature, making it possible to remove all + knowledge of FEATURE_DEFINES from build-webkit. + + * Configurations/FeatureDefines.xcconfig: Extract a variable + from FEATURE_DEFINES for each feature setting. + +2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Mark Rowe. + + <rdar://problem/6781295> video.buffered and video.seekable are not + the same. video.buffered should return only what is buffered and + not what is seekable + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Add wkQTMovieMaxTimeSeekable. + +2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Adele Peterson. + + <rdar://problem/6747241> work around QTKit no longer reaching + QTMovieLoadStateComplete + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Init the new WKSI exported symbol. + +2009-04-17 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6714488> + REGRESSION (Safari 3-4): Edit menu commands (cut/copy/paste/select all) do not work on Flash content + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier): + Send a keyDown event to the plug-in host. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView sendModifierEventWithKeyCode:character:]): + Call the plug-in instance proxy. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]): + Add this. Subclasses are required to override it. + + (-[WebBaseNetscapePluginView cut:]): + (-[WebBaseNetscapePluginView copy:]): + (-[WebBaseNetscapePluginView paste:]): + (-[WebBaseNetscapePluginView selectAll:]): + Call sendModifierEventWithKeyCode. + + * Plugins/WebNetscapePluginEventHandler.h: + Add syntheticKeyDownWithCommandModifier. + + * Plugins/WebNetscapePluginEventHandlerCarbon.h: + * Plugins/WebNetscapePluginEventHandlerCarbon.mm: + (WebNetscapePluginEventHandlerCarbon::syntheticKeyDownWithCommandModifier): + Send the synthetic event. + + * Plugins/WebNetscapePluginEventHandlerCocoa.h: + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + (WebNetscapePluginEventHandlerCocoa::syntheticKeyDownWithCommandModifier): + Send the synthetic event. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView sendModifierEventWithKeyCode:character:]): + Call the event handler. + +2009-04-17 David Kilzer <ddkilzer@apple.com> + + Simplify FEATURE_DEFINES definition + + Reviewed by Darin Adler. + + This moves FEATURE_DEFINES and its related ENABLE_FEATURE_NAME + variables to their own FeatureDefines.xcconfig file. It also + extracts a new ENABLE_GEOLOCATION variable so that + FEATURE_DEFINES only needs to be defined once. + + * Configurations/FeatureDefines.xcconfig: Added. + * Configurations/WebKit.xcconfig: Removed definition of + ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES. Added include + of FeatureDefines.xcconfig. + +2009-04-17 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Fix crashes seen in regression tests with hosted plug-ins. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::cancelStreamLoad): Check the stream for 0, + not the stream ID. + +2009-04-17 Darin Adler <darin@apple.com> + + Reviewed by Antti Koivisto. + + Bug 25210: don't use ObjC methods to wrap/unwrap DOM objects with ObjC + https://bugs.webkit.org/show_bug.cgi?id=25210 + + * DOM/WebDOMOperations.mm: + (-[DOMNode markupString]): Use the core function instead of an Objective-C method. + (-[DOMNode _subresourceURLs]): Ditto. + (-[DOMDocument _focusableNodes]): Ditto. + (-[DOMRange webArchive]): Ditto. + (-[DOMRange markupString]): Ditto. + + * Misc/WebElementDictionary.mm: Added now-needed include since the core and kit + functions now come from the internal headers from DOM bindings. + * Misc/WebNSPasteboardExtras.mm: Ditto. + * Plugins/WebNullPluginView.mm: Ditto. + * Plugins/WebPluginController.mm: Ditto. + * WebCoreSupport/WebChromeClient.mm: Ditto. + * WebCoreSupport/WebInspectorClient.mm: Ditto. + * WebCoreSupport/WebPasteboardHelper.mm: Ditto. + * WebView/WebHTMLView.mm: Ditto. + + * WebCoreSupport/WebEditorClient.mm: Made kit function have internal linkage + since it's only used in this file. Someone had instead added a declaration to + suppress the warning you would otherwise get. Removed the core function. + (WebEditorClient::textFieldDidBeginEditing): Added correct type checking. + Previously the function would check only that something was an HTMLElement, + but then cast it to HTMLInputElement. Also call kit instead of old wrap method. + (WebEditorClient::textFieldDidEndEditing): Ditto. + (WebEditorClient::textDidChangeInTextField): Ditto. + (WebEditorClient::doTextFieldCommandFromEvent): Ditto. + (WebEditorClient::textWillBeDeletedInTextField): Ditto. + (WebEditorClient::textDidChangeInTextArea): Ditto, but for HTMLTextAreaElement. + + * WebView/WebFrame.mm: Removed the core and kit functions here which are no longer + needed since they're automatically generated now. + (-[WebFrame _nodesFromList:]): Use kit. + (-[WebFrame _markupStringFromRange:nodes:]): Use core. + (-[WebFrame _stringForRange:]): More of the same. + (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto. + (-[WebFrame _firstRectForDOMRange:]): Ditto. + (-[WebFrame _scrollDOMRangeToVisible:]): Ditto. + (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]): + Ditto. + (-[WebFrame _convertNSRangeToDOMRange:]): Ditto. + (-[WebFrame _convertDOMRangeToNSRange:]): Ditto. + (-[WebFrame _markDOMRange]): Ditto. + (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto. + (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto. + (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto. + (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto. + (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto. + (-[WebFrame _characterRangeAtPoint:]): Ditto. + (-[WebFrame _typingStyle]): Ditto. + (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto. + (-[WebFrame _pauseAnimation:onNode:atTime:]): Ditto. + (-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]): Ditto. + (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto. + + * WebView/WebFrameInternal.h: Removed the core and kit functions here which are no longer + needed since they're automatically generated now. + + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): Use core. + (formElementFromDOMElement): Ditto. + (inputElementFromDOMElement): Ditto. + * WebView/WebTextIterator.mm: + (-[WebTextIterator initWithRange:]): Ditto. + (-[WebTextIterator currentRange]): Ditto. + (-[WebTextIterator currentNode]): Ditto. + * WebView/WebView.mm: + (-[WebView textIteratorForRect:]): Ditto. + (-[WebView setSelectedDOMRange:affinity:]): Ditto. + +2009-04-17 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + WebKit side of <rdar://problem/6449642>. + + * Plugins/Hosted/HostedNetscapePluginStream.h: + (WebKit::HostedNetscapePluginStream::create): + New function that creates a stream from a frame loader. + + * Plugins/Hosted/HostedNetscapePluginStream.mm: + (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream): + Add the constructor that takes a frame loader. + + * Plugins/Hosted/NetscapePluginHostManager.h: + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + Pass "fullFrame" to the plug-in host. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCCancelLoadURL): + Call NetscapePluginInstanceProxy::cancelStreamLoad. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::create): + Pass "fullFrame" to the constructor. + + (WebKit::NetscapePluginInstanceProxy::manualStream): + New getter for the manual stream. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + Take the implicit request into account if we have a full frame plug-in. + + (WebKit::NetscapePluginInstanceProxy::setManualStream): + Setter for the manual stream. + + (WebKit::NetscapePluginInstanceProxy::cancelStreamLoad): + Cancel the manual stream if necessary. + + * Plugins/Hosted/WebHostedNetscapePluginView.h: + WebHostedNetscapePluginView now conforms to the WebPluginManualLoader protocol. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView createPlugin]): + Pass "fullFrame" to instantiatePlugin. + + (-[WebHostedNetscapePluginView pluginView:receivedResponse:]): + (-[WebHostedNetscapePluginView pluginView:receivedData:]): + (-[WebHostedNetscapePluginView pluginView:receivedError:]): + (-[WebHostedNetscapePluginView pluginViewFinishedLoading:]): + Call the equivalent manual stream functions. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createPlugin): + Use a macro for getting the plug-in view type. + +2009-04-14 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + https://bugs.webkit.org/show_bug.cgi?id=25157 + + Move the run loop observer cleanup from -close + to -_close. + + * WebView/WebView.mm: + (-[WebView _close]): + (-[WebView close]): + +2009-04-14 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + - Speculative fix for <rdar://problem/6781422> + + Protect the plug-in instance proxy in case it's deleted while waiting for a reply. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::wheelEvent): + +2009-04-14 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Initialize WebKitSystemInterface in class methods that could get called before a WebView/WebFrame is set up. This was causing Mail to crash on launch. + + * Misc/WebCache.mm: (+[WebCache initialize]): + * WebView/WebView.mm: (+[WebView initialize]): + +2009-04-13 Kevin Decker <kdecker@apple.com> + + Reviewed by Darin. + + <rdar://problem/6784955> REGRESSION: closing a tab containing a PDF causes world leaks + + Simplify the _trackFirstResponder method by just caching the value instead of retaining + a Cocoa object. + + * WebView/WebPDFView.h: Eliminated trackedFirstResponder object and replaced it with + a firstResponderIsPDFDocumentView boolean. + * WebView/WebPDFView.mm: + (-[WebPDFView dealloc]): Removed no longer necessary ASSERT. + (-[WebPDFView viewWillMoveToWindow:]): Removed call to release and nil-out trackedFirstResponder, + which no longer exists. In the new code all we do now is set firstResponderIsPDFDocumentView to NO. + (-[WebPDFView _trackFirstResponder]): Rewrote this method to just cache the value instead + of retaining an object. + +2009-04-13 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=25125. Rework scrolling so that a layout happens first when + it's already needed so that the code doesn't end up making bad decisions based off invalid document sizes. + + This patch also eliminates WebHTMLView's separate notion of needing a layout and just consolidates it with + WebCore's notion of needing layout. + + * WebView/WebDynamicScrollBarsView.m: + (-[WebDynamicScrollBarsView updateScrollers]): + * WebView/WebHTMLView.mm: + (-[WebHTMLView _frameOrBoundsChanged]): + (-[WebHTMLView initWithFrame:]): + (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): + (-[WebHTMLView setNeedsLayout:]): + (-[WebHTMLView _layoutIfNeeded]): + (-[WebHTMLView _needsLayout]): + * WebView/WebHTMLViewInternal.h: + +2009-04-13 Darin Adler <darin@apple.com> + + * WebView/WebViewPrivate.h: Updated comments. + +2009-04-13 Antti Koivisto <antti@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6740294> Increase the connection count per host + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + +2009-04-13 Brady Eidson <beidson@apple.com> + + Reviewed by Tim Hatcher + + Tweak my last check-in, moving the thread violation check up to the API-level calls so the logging is more + useful to developers/users. + + * WebView/WebFrame.mm: + (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): If not on the main thread, only + perform the "call on main thead" workaround, as the log/exception raising is now up at the API level. + (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Perform a thread violation check here so logging + is more meaningful. + (-[WebFrame loadHTMLString:baseURL:]): Ditto. + (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto. + +2009-04-13 Brady Eidson <beidson@apple.com> + + Reviewed by Kevin Decker + + <rdar://problem/6712063> Garmin WebUpdater crashes + + * WebView/WebFrame.mm: + (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): If not called on the main thread, + add a ThreadViolationCheckRoundTwo() call to either log or raise an exception. In the case where it's + only a log, reschedule the _loadData call to occur on the main thread. + +2009-04-10 Dan Bernstein <mitz@apple.com> + + Reviewed by Jon Honeycutt. + + - fix <rdar://problem/6752340> Light blue-green background in content + area in Mail + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): + Use device white, rather than calibrated white, as the default + background color. + +2009-04-10 Darin Adler <darin@apple.com> + + Reviewed by Brady Eidson. + + <rdar://problem/6773515> crash in push_heap inside WebCore when printing + + The crash was due to manipulating a timer on a different thread than the one it was created on. + + * History/WebHistoryItem.mm: + (-[WebWindowWatcher windowWillClose:]): Call later on main thread, if called on non-main thread. + * WebView/WebHTMLView.mm: + (-[WebHTMLView windowDidBecomeKey:]): Ditto. + (-[WebHTMLView windowDidResignKey:]): Ditto. + (-[WebHTMLView windowWillClose:]): Ditto. + (-[WebHTMLView _updateControlTints]): Added. Factored out the non-thread-safe part of + our override of _windowChangedKeyState. + (-[WebHTMLView _windowChangedKeyState]): Call _updateControlTints later on main thread, if + called on non-main thread. + * WebView/WebPreferences.mm: + (-[WebPreferences _postPreferencesChangesNotification]): Call later on main thread, if called + on non-main thread + +2009-04-10 Timothy Hatcher <timothy@apple.com> + + Remove DOMDocumentPrivate.h now that <rdar://problem/6730996> is fixed. + + Rubber-stamped by Mark Rowe. + + * Misc/DOMDocumentPrivate.h: Removed. + +2009-04-10 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Adele Peterson. + + <rdar://problem/6646998> Avoid starting QTKitServer if possible + Add the requires symbol in the WebSystemInterface. It is used by + WebCore. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Add wkQTIncludeOnlyModernMediaFileTypes. + +2009-04-09 Kevin Decker <kdecker@apple.com> + + Reviewed by Hyatt. + + <rdar://problem/4680397> tearing seen because deferred updates are disabled + + * WebView/WebFrameView.mm: + (-[WebFrameView initWithFrame:]): Don't call WKDisableCGDeferredUpdates on post-Leopard if + NSAppKitVersionNumberWithDeferredWindowDisplaySupport is defined. + +2009-04-09 John Sullivan <sullivan@apple.com> + + <rdar://problem/6775682> WebKit's support for SnowLeopard sudden termination for + downloads is broken and should be removed + + Reviewed by Darin Adler + + * Misc/WebDownload.m: + (-[WebDownloadInternal downloadDidBegin:]): + remove disableSuddenTermination call + (-[WebDownloadInternal downloadDidFinish:]): + remove enableSuddenTermination call + (-[WebDownloadInternal download:didFailWithError:]): + remove enableSuddenTermination call + +2009-04-09 Darin Adler <darin@apple.com> + + Reviewed by Anders Carlsson and Sam Weinig. + + Part of <rdar://problem/5438063> Saving history containing 100,000 entries causes pauses of 2s while browsing + + Longer term solution is to change the design so Safari doesn't read and write all of history. + This patch is step one: Do the serializing, which is done on the main thread, much faster. + + * History/WebHistory.mm: + (-[WebHistoryPrivate data]): Added. Returns the NSData object containing serialized history. + For creating new SPI so you can get the data in memory instead of on disk. Uses WebHistoryWriter. + (-[WebHistoryPrivate saveToURL:error:]): Changed to call [self data + (-[WebHistory _data]): Added. + (WebHistoryWriter::WebHistoryWriter): Added. + (WebHistoryWriter::writeHistoryItems): Added. + + * History/WebHistoryPrivate.h: Added a new _data method. + +2009-04-09 Mike Thole <mthole@apple.com> + + Rubber-stamped by Mark Rowe. + + Fix 64-bit build + + * Panels/WebAuthenticationPanel.h: + Declare the 'separateRealmLabel' IBOutlet as an NSTextField instead of 'id'. + This fixes a duplicate method warning (setAutoresizingMask: on NSView and CALayer) + +2009-04-09 Mike Thole <mthole@apple.com> + + Reviewed by Ada Chan. + + <rdar://problem/5697111> Basic authentication dialog spoofing vulnerability + + * Panels/WebAuthenticationPanel.h: + Added IBOutlet for separateRealmLabel + * Panels/WebAuthenticationPanel.m: + (-[WebAuthenticationPanel setUpForChallenge:]): + In the realm case, decide if it is a simple or complex realm name. A realm name + is considered complex if it has any whitespace or newline characters. Present + alternative text and layout for the complex case, where the realm name isn't inline + with the rest of the sheet's text. + + * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: + * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: + Updated the nib with a new 'separateRealmLabel' outlet. + Updated the File's Owner to correctly be WebAuthenticationPanel. + Fixed springs on the sheet's icon to keep it from moving during a resize. + +2009-04-09 David Kilzer <ddkilzer@apple.com> + + Reinstating <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings + + Rolled r42345 back in. The build failure was caused by an + internal script which had not been updated the same way that + build-webkit was updated. + + * Configurations/WebKit.xcconfig: + * DOM/WebDOMOperations.mm: + * MigrateHeaders.make: + +2009-04-09 Alexey Proskuryakov <ap@webkit.org> + + Reverting <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings. + It broke Mac build, and I don't know how to fix it. + + * Configurations/WebKit.xcconfig: + * DOM/WebDOMOperations.mm: + * MigrateHeaders.make: + +2009-04-08 David Kilzer <ddkilzer@apple.com> + + <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings + + Reviewed by Darin Adler and Maciej Stachowiak. + + Introduce the ENABLE_SVG_DOM_OBJC_BINDINGS feature define so + that SVG DOM Objective-C bindings may be optionally disabled. + + * Configurations/WebKit.xcconfig: Added + ENABLE_SVG_DOM_OBJC_BINDINGS variable and use it in + FEATURE_DEFINES. + * DOM/WebDOMOperations.mm: Removed unused header. + * MigrateHeaders.make: Switched from using ENABLE_SVG to using + ENABLE_SVG_DOM_OBJC_BINDINGS. + +2009-04-08 David Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben and Darin Adler + + Fix for https://bugs.webkit.org/show_bug.cgi?id=12440, fixed positioned elements end up in + inconsistent positions. Rewrite updateScrollers to improve the correctness. + + * WebView/WebDynamicScrollBarsView.h: + * WebView/WebDynamicScrollBarsView.m: + (-[WebDynamicScrollBarsView updateScrollers]): + +2009-04-07 Anders Carlsson <andersca@apple.com> + + Fix Tiger build for real this time. + + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView getVariable:forURL:value:length:]): + (-[WebNetscapePluginView setVariable:forURL:value:length:]): + (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]): + * Plugins/npapi.mm: + (NPN_GetValueForURL): + (NPN_SetValueForURL): + +2009-04-07 David Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben + + Mac portion of fix to make DumpRenderTree always produce accurate scrollbar results. Change + updateScrollers to call minimumContentsSize when a WebHTMLView is inside the WebDynamicScrollbarsView. + + * WebView/WebDynamicScrollBarsView.m: + (-[WebDynamicScrollBarsView updateScrollers]): + +2009-04-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Anders Carlsson. + + Trying to fix Tiger build. + + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]): + +2009-04-07 Anders Carlsson <andersca@apple.com> + + Try to fix the Leopard build once more. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView getVariable:forURL:value:length:]): + +2009-04-07 Anders Carlsson <andersca@apple.com> + + ...and try to fix the Leopard build. + + * Plugins/npapi.mm: + (NPN_GetAuthenticationInfo): + +2009-04-07 Anders Carlsson <andersca@apple.com> + + Try to fix the Tiger build. + + * Plugins/WebBaseNetscapePluginView.mm: + +2009-04-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/6667001> + NPAPI: need NPN_Get/SetValueForURL() and NPN_GetAuthenticationInfo() + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCGetCookies): + (WKPCGetProxy): + (WKPCSetCookies): + (WKPCGetAuthenticationInfo): + New MIG functions to be used by the plug-in host. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::getCookies): + (WebKit::NetscapePluginInstanceProxy::setCookies): + (WebKit::NetscapePluginInstanceProxy::getProxy): + (WebKit::NetscapePluginInstanceProxy::getAuthenticationInfo): + Implement these. + + * Plugins/Hosted/WebKitPluginClient.defs: + Add callbacks. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView URLWithCString:]): + Factor this out of URLWithCString. + + (-[WebBaseNetscapePluginView requestWithURLCString:]): + Call URLWithCString. + + (WebKit::proxiesForURL): + Return a string representation of proxies for a given URL. + + (WebKit::getAuthenticationInfo): + Get the authentication info for a given host/protocol/scheme/realm/port combination. + + * Plugins/WebNetscapePluginPackage.mm: + (-[WebNetscapePluginPackage _tryLoad]): + Initialize the new vtable functions. + + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView getVariable:forURL:value:length:]): + (-[WebNetscapePluginView setVariable:forURL:value:length:]): + (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]): + Implement these. + + * Plugins/npapi.mm: + (NPN_GetValueForURL): + (NPN_SetValueForURL): + (NPN_GetAuthenticationInfo): + Call the plug-in view functions. + +2009-04-03 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/6756512> + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::spawnPluginHost): Tweaked the visibleName property. + +2009-04-03 John Sullivan <sullivan@apple.com> + + Reviewed by Ada Chan + + <rdar://problem/6755838> Removing all icons can delete other items from disk. + + * Misc/WebIconDatabase.mm: + (importToWebCoreFormat): + When snooping around in various directories looking for a directory full of Safari-2-style + icon database information to convert and delete, bail out without doing the delete part if + we didn't actually find any Safari-2-style icon database information. + +2009-04-03 John Sullivan <sullivan@apple.com> + + fixed <rdar://problem/6355573> [WebView _setCacheModel:] leaks the result of _CFURLCacheCopyCacheDirectory + + Reviewed by Adam Roben + + * WebView/WebView.mm: + (+[WebView _setCacheModel:]): + use WebCFAutorelease rather than autorelease on result of method that returns CFStringRef + +2009-04-03 Chris Marrin <cmarrin@apple.com> + + Reviewed by David Hyatt. + + Fixed https://bugs.webkit.org/show_bug.cgi?id=24941 + + This fix essentially does a -viewWillDraw call for layout. It adds + a CFRunLoopObserver which performs layout just before drawing on the + Mac platform. This makes sure layout is complete before rendering and + avoids a flash. + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::attachRootGraphicsLayer): + (WebChromeClient::setNeedsOneShotDrawingSynchronization): + (WebChromeClient::scheduleViewUpdate): + * WebView/WebView.mm: + (-[WebViewPrivate _clearViewUpdateRunLoopObserver]): + (-[WebView _viewWillDrawInternal]): + (-[WebView viewWillDraw]): + (-[WebView close]): + (viewUpdateRunLoopObserverCallBack): + (-[WebView _scheduleViewUpdate]): + * WebView/WebViewInternal.h: + +2009-04-03 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + WebKit side of <rdar://problem/6752953>. + + Pass the clip rect to the plug-in host. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::resize): + * Plugins/Hosted/WebKitPluginHost.defs: + +2009-04-02 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein and Timothy Hatcher. + + <rdar://problem/6684745> Crash in -[WebView removeSizeObservers] when loading NIB file + + The implementation of -[NSView initWithCoder:] can result in -viewWillMoveToSuperview:/-viewDidMoveToSuperview: being sent to + our view before we've had a chance to initialize _private, so we need to ensure it is non-nil before dereferencing it in those + methods. + + * WebView/WebView.mm: + (-[WebView removeSizeObservers]): Nil-check _private before dereferencing it. + (-[WebView addSizeObservers]): Ditto. + +2009-04-02 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + Add a way to get a list of focusable nodes. + + * DOM/WebDOMOperations.mm: + (-[DOMDocument _focusableNodes]): + * DOM/WebDOMOperationsInternal.h: Added. + * DOM/WebDOMOperationsPrivate.h: Make this a private header. + Move old methods to WebDOMOperationsInternal.h + * WebView/WebHTMLView.mm: Use methods from WebDOMOperationsInternal.h + +2009-04-01 Darin Adler <darin@apple.com> + + Reviewed by Geoff Garen. + + Bug 22378: Crash submitting a form when parsing an XHTML document + https://bugs.webkit.org/show_bug.cgi?id=22378 + rdar://problem/6388377 + + * History/WebHistoryItem.mm: + (-[WebHistoryItem targetItem]): Call targetItem directly instead of callling + isTargetItem, hasChildren, and recurseToFindTargetItem. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchWillSubmitForm): Updated for the new + textFieldValues function in FormState. + + * WebView/WebPDFView.mm: + (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Updated for name and + argument change of loadFrameRequest. + +2009-04-01 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=24990 + Put SECTORDER_FLAGS into xcconfig files. + + * Configurations/Base.xcconfig: + * Configurations/DebugRelease.xcconfig: + +2009-03-31 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam Roben. + + WebKit side of <rdar://problem/6500266>. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::wheelEvent): + Send the event. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView scrollWheel:]): + Call NetscapePluginInstanceProxy::wheelEvent. If the plug-in processed the event, don't + call super. + + * Plugins/Hosted/WebKitPluginHost.defs: + Add definition. + +2009-03-31 Darin Adler <darin@apple.com> + + Reviewed by Adele Peterson. + + <rdar://problem/6740581> REGRESSION (r41793): Page Down and Page Up don’t work in Leopard Mail + + * WebView/WebHTMLView.mm: + (-[WebResponderChainSink tryToPerform:with:]): Added. Without this we would think we had + handled an event when we actually hadn't. Specifically, when -[WebFrameView scrollPageDown:] + calls tryToPerform on the next responder. + +2009-03-30 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=24938 + + Build fixes when building --no-svg + + DOMHTMLFrameElementPrivate.h and DOMHTMLIFrameElementPrivate.h are only available with ENABLE_SVG. + + * MigrateHeaders.make: + +2009-03-29 Darin Adler <darin@apple.com> + + Reviewed by Cameron Zwarich. + + * Plugins/WebNullPluginView.mm: Added now-needed includes. + * WebView/WebHTMLRepresentation.mm: Ditto. + * WebView/WebHTMLView.mm: Ditto. + +2009-03-27 Timothy Hatcher <timothy@apple.com> + + * MigrateHeaders.make: Remove DOMHTMLBodyElementPrivate.h since it + is not generated anymore. + +2009-03-27 Adam Roben <aroben@apple.com> + + Don't include substitute data URLs in global history redirect chains + + <rdar://6690169> + + Reviewed by Darin Adler. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::updateGlobalHistory): Don't call + updateGlobalHistoryRedirectLinks. FrameLoader calls this for us now. + (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): + Added an assertion to help catch cases where we might be adding a + substitute data URL into a redirect chain. + +2009-03-27 Darin Adler <darin@apple.com> + + Reviewed by Adam Roben. + + <rdar://problem/6541923> REGRESSION (r38629): Tab cycle in empty tab is broken + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _wantsKeyDownForEvent:]): Only return YES when we have a Frame. + +2009-03-27 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan and Anders Carlsson. + + <rdar://problem/5987442> Pasteboard not exposed to WebEditingDelegate for WebViewInsertActionPasted (needed for system services) + + Added SPI to tell which pasteboard is currently being inserted. + I chose to put it on WebView to be forward-looking since we're migrating things + from WebHTMLView to WebView in the future. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Add calls to _setInsertionPasteboard. + (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto. + * WebView/WebView.mm: + (-[WebViewPrivate dealloc]): Assert the pasteboard is nil. + (-[WebViewPrivate finalize]): Ditto. + (-[WebView _insertionPasteboard]): Return the pastebaord. + (-[WebView _setInsertionPasteboard:]): Set the pasteboard. + * WebView/WebViewInternal.h: Added _setInsertionPasteboard. + * WebView/WebViewPrivate.h: Added _insertionPasteboard. + +2009-03-25 Timothy Hatcher <timothy@apple.com> + + Expose new DOM methods as public Objective-C API. + + <rdar://problem/5837350> Expose new DOM classes and methods + as public API (match the additions to the JavaScript DOM) + + Reviewed by Mark Rowe and Darin Adler. + + * MigrateHeaders.make: + * Misc/DOMDocumentPrivate.h: Added. Forwarding header for + <rdar://problem/6730996>. + +2009-03-26 Jungshik Shin <jshin@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Add WebPreferences for encoding autodetection on Mac. + + http://bugs.webkit.org/show_bug.cgi?id=16482 + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences usesEncodingDetector]): + (-[WebPreferences setUsesEncodingDetector:]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-03-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + - Fix <rdar://problem/6687055> and <rdar://problem/6713639>. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCInvalidateRect): + Call NetscapePluginInstanceProxy::invalidateRect. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::cleanup): + Stop the request timer, set m_pluginView to nil. + + (WebKit::NetscapePluginInstanceProxy::pluginHostDied): + No need to set m_pluginView to nil here anymore, it's now done in cleanup(). + + (WebKit::NetscapePluginInstanceProxy::performRequest): + (WebKit::NetscapePluginInstanceProxy::requestTimerFired): + Assert that the plug-in view is not nil. + + (WebKit::NetscapePluginInstanceProxy::invalidateRect): + Call setNeedsDisplayInRect here. + +2009-03-25 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6714964> + CrashTracer: [REGRESSION] 51 crashes in Safari at com.apple.WebKit • WebNetscapePluginStream::deliverData + 775 + + Don't release m_deliveryData since it's a RetainPtr. Also, use adoptNS instead of releasing newDeliveryData manually. + + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::deliverData): + +2009-03-25 Mike Thole <mthole@apple.com> + + Reviewed by Kevin Decker. + + <rdar://problem/6453738> call SetWindow when user creates a new tab + + CoreGraphics plug-ins now receive an NPP_SetWindow call when moving to a background tab. + Flash is excluded from this change in behavior, as it has historical WebKit-specific code + that isn't compatible with this change. + + * Plugins/WebNetscapePluginView.h: + Added an _isFlash ivar. + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView _createPlugin]): + Set the new _isFlash ivar based on the bundle identifier. + (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): + When using the CG drawing model and in a non-drawable state, set the portState + to NULL and return early. + (-[WebNetscapePluginView updateAndSetWindow]): + When using the CG drawing model, call -setWindowIfNecessary even if the portState is NULL. + Flash is an exception to this, due to its historical behavior. + (-[WebNetscapePluginView setWindowIfNecessary]): + Removed an assertion that was no longer true. The [NSView focus] view + is no longer guaranteed to be 'self' at this point. + Also modified the debug logging for CG plug-ins to include the size of the + window's clipRect, which was useful in verifying the correct behavior of this patch. + +2009-03-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + - speculative fix for <rdar://problem/6630134> Crash at + Editor::compositionRange() + + * WebView/WebHTMLView.mm: + (-[WebHTMLView markedRange]): Null-check the Frame like most other + methods in this class. + +2009-03-23 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix for <rdar://problem/6140966> + Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache + + * Misc/WebCache.mm: + (+[WebCache empty]): + +2009-03-23 Adele Peterson <adele@apple.com> + + Reviewed by Mark Rowe & Dave Hyatt. + + Merge some of the individual Mail quirks into two settings that we can check for future quirks. + + * WebView/WebView.mm: + (runningLeopardMail): + (runningTigerMail): + (-[WebView _preferencesChangedNotification:]): + +2009-03-23 Darin Adler <darin@apple.com> + + * WebView/WebTextIterator.h: Fixed a spelling error in a comment. + +2009-03-22 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - fix <rdar://problem/6640741> Messages not displaying after the + Safari 4 beta was installed + + Mail assumes that if -[WebArchive subresources] is not nil, then it + contains at least one object. + + * WebView/WebArchive.mm: + (-[WebArchive subresources]): Preserve the behavior of returning nil + if there are no subresources. + +2009-03-20 Adele Peterson <adele@apple.com> + + Build fix. + + Reviewed by Darin Adler. + + * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): + +2009-03-20 Timothy Hatcher <timothy@apple.com> + + Change how threading exceptions are checked so they are reported + by what round they were added. That way WebKit can decided the + behavior per-round based on linked-on-or-after checks. + + <rdar://problem/6626741&6648478&6635474&6674079> + + Reviewed by Darin Adler. + + * History/WebBackForwardList.mm: Use the new WebCoreThreadViolationCheckRoundOne macro. + * History/WebHistoryItem.mm: Ditto. + * Misc/WebIconDatabase.mm: Ditto. + + * WebView/WebArchive.mm: Use the new WebCoreThreadViolationCheckRoundTwo macro. + * WebView/WebResource.mm: Ditto. + (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Check Mail's bundle version + to truly decide if it is an old Mail client. + * WebView/WebView.mm: Ditto. + + * Misc/WebKitVersionChecks.h: Add a new linked-on-or-after version define. + * WebView/WebFrameView.mm: + (-[WebFrameView initWithFrame:]): Set the default thread violation behavior per-round + based on difference version checks and the Mail workaround check. + +2009-03-20 Darin Adler <darin@apple.com> + + Reviewed by Timothy Hatcher. + + * WebView/WebTextIterator.h: Improved comments to point out some of the pitfalls + of this SPI. + +2009-03-20 Darin Adler <darin@apple.com> + + Reviewed by Adele Peterson. + + Use a better technique to handle finding out if something responds to a selector + in WebHTMLView's doCommandBySelector method. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView doCommandBySelector:]): Removed unneeded check for 0 coreFrame; + this is already handled by coreCommandBySelector: so doesn't need to be checked + twice. Got rid of initial value for eventWasHandled boolean to make it more clear. + Use WebResponderChainSink to find out if a command is handled rather than walking + the responder chain explicitly. + (-[WebResponderChainSink initWithResponderChain:]): Added. + (-[WebResponderChainSink detach]): Added. + (-[WebResponderChainSink receivedUnhandledCommand]): Added. + (-[WebResponderChainSink noResponderFor:]): Added. + (-[WebResponderChainSink doCommandBySelector:]): Added. + +2009-03-19 Timothy Hatcher <timothy@apple.com> + + Remove #ifndef BUILDING_ON_TIGER around code that schedules runloop modes + for Page, so the new RunLoopTimer in WebCore always gets a default mode. + Fixes the layout test failures on the Tiger build bots. + + Reviewed by Mark Rowe. + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): + (-[WebView scheduleInRunLoop:forMode:]): + (-[WebView unscheduleFromRunLoop:forMode:]): + +2009-03-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver Hunt. + + WebKit side of <rdar://problem/6688244>. + + Try reinitializing the vendor port if it's invalid. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::spawnPluginHost): + +2009-03-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6504776> + CrashTracer: [USER] 188 crashes in Safari at com.apple.WebCore • WTF::HashTableIterator<WTF::RefPtr<WebCore::ResourceLoader>, ... + + If the m_pluginView member was zeroed out as a result of making a call into the plug-in, the pluginFunctionCallDepth would be off + causing the plug-in never to be stopped. Simplify the code by using a RAII object. + + * Plugins/WebBaseNetscapePluginStream.mm: + (PluginStopDeferrer::PluginStopDeferrer): + (PluginStopDeferrer::~PluginStopDeferrer): + (WebNetscapePluginStream::startStream): + (WebNetscapePluginStream::wantsAllStreams): + (WebNetscapePluginStream::destroyStream): + +2009-03-17 Darin Adler <darin@apple.com> + + Reviewed by Adele Peterson. + + <rdar://problem/6687005> Need support for new move-left/right selectors. + + * WebView/WebHTMLView.mm: Added the four new selectors to the command-forwarding list. + * WebView/WebView.mm: Ditto. + +2009-03-17 Darin Adler <darin@apple.com> + + Reviewed by Adele Peterson. + + Bug 24477: REGRESSION (r41467): Page Down key scrolls two pages + https://bugs.webkit.org/show_bug.cgi?id=24477 + rdar://problem/6674184 + + * WebView/WebHTMLView.mm: + (responderChainRespondsToSelector): Added. + (-[WebHTMLView doCommandBySelector:]): Set eventWasHandled based on whether we + can find a responder that responds to this selector rather than always assuming + the selector will not be handled. + +2009-03-17 Mark Rowe <mrowe@apple.com> + + Fix the build. + + * Plugins/Hosted/HostedNetscapePluginStream.mm: + +2009-03-17 David Kilzer <ddkilzer@apple.com> + + Use -[NSURLResponse(WebCoreURLResponse) _webcore_MIMEType] consistently + + Reviewed by Darin Adler. + + WebKit r30323 added -_webcore_MIMEType to fix issues with + incorrect MIME types in NS[HTTP]URLResponse objects. However, + uses of -[NSURLResponse MIMEType] still persist in WebKit that + should be switched to use -_webcore_MIMEType. Note that + -[WebDataSource _responseMIMEType] calls back into WebCore to + get the MIME type from the ResourceResponse object, which has + already retrieved it via -_webcore_MIMEType. + + * Plugins/Hosted/HostedNetscapePluginStream.mm: + (WebKit::HostedNetscapePluginStream::didReceiveResponse): Use + -_webcore_MIMEType. + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::didReceiveResponse): Ditto. + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView pluginView:receivedData:]): Ditto. + * Plugins/WebPluginController.mm: + (-[WebPluginController pluginView:receivedResponse:]): Ditto. + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation _isDisplayingWebArchive]): Use + -[WebDataSource _responseMIMEType] instead. + * WebView/WebPDFRepresentation.m: + (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Ditto. + * WebView/WebPDFView.mm: + (-[WebPDFView menuForEvent:]): Ditto. + +2009-03-17 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=24396 + + Add WTF_USE_ACCELERATED_COMPOSITING, defined to 0 for now. + + * WebKitPrefix.h: + +2009-03-17 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Mark Rowe. + + Get BUILDING_ON_* defines from Platform.h. + + https://bugs.webkit.org/show_bug.cgi?id=24630 + + * WebKitPrefix.h: + +2009-03-16 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6577174> Rename the text directionality submenus to “Paragraph Direction” and “Selection Direction” + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory contextMenuItemTagParagraphDirectionMenu]): Changed string here, but only + post-Leopard, since we want this to match the Mac OS X menu on Tiger and Leopard. + (-[WebViewFactory contextMenuItemTagSelectionDirectionMenu]): Changed string here. + +2009-03-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver Hunt. + + Don't mig_deallocate random data in case an instance proxy method returns false. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCEvaluate): + (WKPCInvoke): + (WKPCInvokeDefault): + (WKPCGetProperty): + (WKPCEnumerate): + +2009-03-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/6633944> + REGRESSION (Safari 4 PB): Many crashes in Flip4Mac involving loading the plugin + + Defer loading while calling webPlugInInitialize since it can end up spinning the run loop. + + * Plugins/WebPluginController.mm: + (-[WebPluginController addPlugin:]): + +2009-03-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Fix <rdar://problem/6622601> + + Make sure to update both the window frame and the plug-in frame. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView addWindowObservers]): + +2009-03-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + - fix <rdar://problem/6607773> WebKit should support the "Default" + paragraph writing direction -- or at least validate the menu item + appropriately + + Made WebHTMLView validate user interface items with the selector + -makeBaseWritingDirectionNatural: by returning NO and, if the item is + a menu item, setting its state to "off". + + Strictly speaking, since -makeBaseWritingDirectionNatural: is never + valid for WebViews, WebHTMLView should not need to respond to it and + validate it, however because other responders respond to all three + -makeBaseWritingDirection*: messages and set the menu item state, having + WebHTMLView do the same makes application developers' lives easier. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): + (-[WebHTMLView makeBaseWritingDirectionNatural:]): + +2009-03-13 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Dan Bernstein. + + Take advantage of the ability of recent versions of Xcode to easily switch the active + architecture. + + * Configurations/DebugRelease.xcconfig: + +2009-03-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker and Geoffrey Garen. + + <rdar://problem/6590384> + REGRESSION (Safari 3-4): Tiger-only Crash occurs at WebView hostWindow () after reloading a set of tabs then quitting + + When we're doing fast teardown, plug-in views can be destroyed from -[WebView dealloc]'s [super dealloc] call, + and thus calling -[WebView hostWindow] will crash since _private is nil. + + * WebView/WebView.mm: + (-[WebView hostWindow]): + +2009-03-13 Anders Carlsson <andersca@apple.com> + + And yet another attempt... + + * Plugins/WebNetscapePluginEventHandlerCocoa.h: + (WebNetscapePluginEventHandlerCocoa::installKeyEventHandler): + (WebNetscapePluginEventHandlerCocoa::removeKeyEventHandler): + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + +2009-03-13 Anders Carlsson <andersca@apple.com> + + Another attempt at fixing the build. + + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa): + +2009-03-13 Anders Carlsson <andersca@apple.com> + + Try to fix the SL build. + + * Plugins/WebNetscapePluginEventHandlerCocoa.h: + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + (WebNetscapePluginEventHandlerCocoa::keyDown): + +2009-03-13 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Simon Fraser. + + Update Geolocation perimission dialogs to be asynchronous. + https://bugs.webkit.org/show_bug.cgi?id=24505 + + WebGeolocation is a wrapper around WebCore::Geolocation. It mimics the + coding style set by WebSecurityOrigin. + + WebChromeClient now calls the private UI delegate method + -webView:frame:requestGeolocationPermission:securityOrigin: + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::requestGeolocationPermissionForFrame): + * WebCoreSupport/WebGeolocation.mm: Added. + (WebCore::if): + (-[WebGeolocation shouldClearCache]): + (-[WebGeolocation setIsAllowed:]): + (-[WebGeolocation dealloc]): + * WebCoreSupport/WebGeolocationInternal.h: Added. + * WebCoreSupport/WebGeolocationPrivate.h: Added. + * WebView/WebUIDelegatePrivate.h: + +2009-03-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6610666> Revise the Cocoa event model text API + + Replace the text input API with a simpler API that uses a separate text input window. + + * Plugins/WebNetscapePluginEventHandlerCocoa.h: + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa): + Initialize m_keyEventHandler to 0. + + (WebNetscapePluginEventHandlerCocoa::keyDown): + If the plug-in returns 0 from NPP_HandleEvent, pass the event to the TSM machinery. + + (WebNetscapePluginEventHandlerCocoa::focusChanged): + Install/remove the key event handler as needed. + + (WebNetscapePluginEventHandlerCocoa::handleTSMEvent): + Get the text and send a TextInput event. + + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + Remove the old text input API. + + (-[WebNetscapePluginView inputContext]): + Always return nil here. + + * Plugins/npapi.mm: + * Plugins/nptextinput.h: Removed. + +2009-03-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Mike Thole and Mark Rowe. + + Fix <rdar://problem/6624105>. + + Make sure to process incoming messages for the NSEventTrackingRunLoopMode as well. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + +2009-03-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Geoffrey Garen. + + WebKit side of <rdar://problem/6607801> + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::destroy): + Pass a requestID to _WKPCDestroyPluginInstance and wait until we get a reply back. + + * Plugins/Hosted/WebKitPluginHost.defs: + Add requestID parameter. + +2009-03-12 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlsson. + + * Plugins/WebNetscapePluginPackage.mm: + (-[WebNetscapePluginPackage _unloadWithShutdown:]): Simply a small SUPPORT_CFM code block. + +2009-03-12 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlsson. + + Fixed: <rdar://problem/5815862> Opening a subclassed NSWindow from a Safari plugin causes Safari to crash on Quit + + This fix addresses crashes in both Silverlight and ChemDraw. This type of crash would occur because AppKit still + had a reference to open windows that the plugin created (which no longer exist). + + * Plugins/WebNetscapePluginPackage.mm: + (-[WebNetscapePluginPackage _unloadWithShutdown:]): Do not unload the plug-in bundle on browser shutdown. + +2009-03-11 David Kilzer <ddkilzer@apple.com> + + Remove duplicate header include + + Rubber-stamped by Mark Rowe. + + * WebView/WebView.mm: Remove duplicate #include <runtime/InitializeThreading.h>. + Also realphabetized lowercase #include statements. + +2009-03-11 David Kilzer <ddkilzer@apple.com> + + Clarify comments regarding order of FEATURE_DEFINES + + Rubber-stamped by Mark Rowe. + + * Configurations/WebKit.xcconfig: Added warning about the + consequences when FEATURE_DEFINES are not kept in sync. + +2009-03-11 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + WebKit side of <rdar://problem/6656147>. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + Pass the requestID to _WKPHInstantiatePlugin. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + Pass the requestID to setCurrentReply. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::setCurrentReply): + Store the reply in a map with the requestID as the key. + + (WebKit::NetscapePluginInstanceProxy::waitForReply): + Wait for a reply that matches the given requestID. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + Initialize member variables. + + (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy): + Delete all requests. + + (WebKit::NetscapePluginInstanceProxy::print): + Pass the requestID to _WKPHPluginInstancePrint. + + (WebKit::NetscapePluginInstanceProxy::loadRequest): + Rename m_currentRequestID to m_currentURLRequestID. + + (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply): + Process requests until we find a reply with the right requestID. + + (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): + Pass a requestID to the _WKPH function. + + (WebKit::NetscapePluginInstanceProxy::nextRequestID): + Ditto. + + * Plugins/Hosted/ProxyInstance.mm: + Pass a requestID to the _WKPH functions. + + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + Add requestID parameters. + +2009-03-11 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Fix <rdar://problem/6620064>. + + * Plugins/WebPluginContainerPrivate.h: + +2009-03-10 Xan Lopez <xlopez@igalia.com> + + Build fix, no review. + + * WebView/WebFrame.mm: + (-[WebFrame _smartDeleteRangeForProposedRange:]): + +2009-03-09 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + WebKit side of <rdar://problem/6530007> + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCEnumerate): + Call NetscapePluginInstanceProxy::enumerate. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::enumerate): + Enumerate the JS object and serialize its values. + + * Plugins/Hosted/ProxyInstance.h: + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyInstance::getPropertyNames): + Ask the plug-in host to get the property names and deserialize them. + + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + +2009-03-09 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Oliver Hunt and Cameron Zwarich + + https://bugs.webkit.org/show_bug.cgi?id=24440 + + The sublayer added to WebHTMLView to host accelerated compositing layers needs to + be a subclass of NSView which allows context menu clicks through. + + * WebView/WebHTMLView.mm: + (-[WebLayerHostingView rightMouseDown:]): + (-[WebHTMLView attachRootLayer:]): + +2009-03-08 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that + Frame.h no longer needs to include it. This cuts the size of the symbols + for a debug build by around 3%. + + * Plugins/WebNetscapePluginView.mm: + * WebView/WebFrame.mm: + (-[WebFrame _scrollDOMRangeToVisible:]): + (-[WebFrame _insertParagraphSeparatorInQuotedContent]): + (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): + * WebView/WebHTMLView.mm: + (-[WebHTMLView jumpToSelection:]): + (-[WebHTMLView centerSelectionInVisibleArea:]): + +2009-03-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + - fix a bug where debug builds were clearing the HTML5 application cache + on application termination + + * WebView/WebView.mm: + (-[WebView _close]): Call -[WebCache setDisabled:YES] instead of + -[WebCache empty]. + +2009-03-06 Douglas R. Davidson <ddavidso@apple.com> + + Reviewed by Justin Garcia. + + https://bugs.webkit.org/show_bug.cgi?id=24108 + + Update spelling and grammar checking to use the new combined text + checking (with automatic language identification) on Snow Leopard. + + * WebCoreSupport/WebEditorClient.h: + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::checkSpellingAndGrammarOfParagraph): + +2009-03-05 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=24079 + <rdar://problem/6611233> REGRESSION (r39549): Page loads cannot be interrupted with Command-. or Escape + <rdar://problem/6636563> Ctrl-tab shortcut doesn't switch tabs when focus is in text field + + * WebView/WebHTMLView.mm: (-[WebHTMLView doCommandBySelector:]): + If WebKit does not support the command, we need to pass the selector to super. In this case, + we'll consider the event not to be handled. This is not perfect because in theory, [super doCommandBySelector:] + can do some action that would cause WebKit to need to consider the event handled. But in practice, I've found no + example of that happening and causing broken behavior. + +2009-03-04 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6206172> Adoption of new Cocoa API for dictionary contextual menu + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _lookUpInDictionaryFromMenu:]): + +2009-03-04 Adam Barth <abath@webkit.org> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=24356 + + Fix WebKit style for allowUniversalAccessFromFileURLs. + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences allowUniversalAccessFromFileURLs]): + (-[WebPreferences setAllowUniversalAccessFromFileURLs:]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-03-03 David Kilzer <ddkilzer@apple.com> + + <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase + + Reviewed by Mark Rowe. + + The fix is to add INSTALLHDRS_COPY_PHASE = YES and + INSTALLHDRS_SCRIPT_PHASE = YES to WebKit.xcconfig, then to + make sure various build phase scripts work with the installhdrs + build phase. + + * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME + based on PLATFORM_NAME to work around the missing definition on + Tiger. + * Configurations/WebKit.xcconfig: Added + WEBCORE_PRIVATE_HEADERS_DIR variable to remove definition of + UMBRELLA_FRAMEWORKS_DIR for Debug and Release builds in the + Xcode project file. Added INSTALLHDRS_COPY_PHASE = YES and + INSTALLHDRS_SCRIPT_PHASE = YES. + +2009-03-03 David Kilzer <ddkilzer@apple.com> + + Remove last vestiges of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR from WebKit + + Reviewed by Adam Roben. + + Use of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR was removed in r37465 + since NPAPI headers had migrated from JavaScriptCore to WebCore + before that. + + * Configurations/WebKit.xcconfig: Removed definition of + JAVASCRIPTCORE_PRIVATE_HEADERS_DIR used in Production builds. + +2009-03-03 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Fix <rdar://problem/6633834>. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + Create a new plug-in instance if the plug-in host has crashed. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::invalidate): + Add a null check for the plug-in host proxy. + +2009-03-02 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + Enable Geolocation (except on Tiger and Leopard). + + * Configurations/WebKit.xcconfig: + +2009-03-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + WebKit part of <rdar://problem/6638658>. + + * Plugins/Hosted/NetscapePluginHostManager.h: + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::createPropertyListFile): + Spawn the plug-in host and wait for it to create the property list. + + * Plugins/WebBasePluginPackage.mm: + (-[WebBasePluginPackage createPropertyListFile]): + Factor code out into a new method. + + (-[WebBasePluginPackage pListForPath:createFile:]): + Call the newly added createPropertyListFile method. + + * Plugins/WebNetscapePluginPackage.mm: + (-[WebNetscapePluginPackage createPropertyListFile]): + Tell the plug-in host manager to create a property list file for us. + +2009-03-02 Sam Weinig <sam@webkit.org> + + Reviewed by Geoffrey Garen. + + Fix for <rdar://problem/6507404> Add Geolocation support. + + This is not yet turned on for any Mac platform. + + Add SPI to ask the embedding application whether to allow + Geolocation for an origin. + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::shouldAllowGeolocationForFrame): + * WebView/WebUIDelegatePrivate.h: + +2009-03-02 Anders Carlsson <andersca@apple.com> + + Fix PowerPC build. + + * Plugins/WebNetscapePluginPackage.mm: + (-[WebNetscapePluginPackage _tryLoad]): + +2009-03-02 Anders Carlsson <andersca@apple.com> + + Reviewed by John Sullivan, Ada Chan. + + Factor loading code out into its own method and get rid of a bunch of gotos. + + * Plugins/WebNetscapePluginPackage.mm: + (-[WebNetscapePluginPackage _tryLoad]): + (-[WebNetscapePluginPackage load]): + +2009-03-02 Anders Carlsson <andersca@apple.com> + + Build fix. + + * Plugins/WebNetscapeDeprecatedFunctions.h: + +2009-03-02 Anders Carlsson <andersca@apple.com> + + Reviewed by John Sullivan. + + Rename WebNetscapePluginPackage.m to WebNetscapePluginPackage.mm + + * Plugins/WebNetscapePluginPackage.m: Removed. + * Plugins/WebNetscapePluginPackage.mm: Copied from mac/Plugins/WebNetscapePluginPackage.m. + +2009-03-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + WebKit side of <rdar://problem/6449689> + + Pass the visible name to the plug-in host. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::spawnPluginHost): + +2009-02-27 Alice Liu <alice.liu@apple.com> + + Fix <rdar://problem/6531265> REGRESSION (r39185): adding ".jpeg" + extension to images that already have .jpg extension + + Reviewed by Oliver Hunt. + + * WebView/WebHTMLView.mm: + (-[NSString matchesExtensionEquivalent:]): + (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): + Relax the check for the proper extension to allow for known + equivalents, special-cased in matchesExtensionEquivalent function. + +2009-02-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Geoffrey Garen. + + <rdar://problem/6631436> + CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::addValueToArray + 55 + + Port the NPN_Evaluate code over from WebCore instead of using the frame loader. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::evaluate): + +2009-02-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Geoffrey Garen. + + WebKit side of <rdar://problem/6626814>. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCInvokeDefault): + Make InvokeDefault async. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::addValueToArray): + Handle passing NPObjects back to the plug-in host. + + * Plugins/Hosted/ProxyInstance.h: + (WebKit::ProxyInstance::objectID): + Add objectID getter. + + * Plugins/Hosted/WebKitPluginClient.defs: + Make InvokeDefault a simpleroutine. + +2009-02-27 Timothy Hatcher <timothy@apple.com> + + Fixes an exception by null checking the WebResource before adding it to + the subresources array. + + <rdar://problem/5950769> Bug in [WebDataSource subresources] can throw an exception + + Reviewed by Geoff Garen and Anders Carlsson. + + * WebView/WebDataSource.mm: + (-[WebDataSource subresources]): Null check the WebResource before adding it. + +2009-02-27 Timothy Hatcher <timothy@apple.com> + + Adds a workaround for Automator creating a WebView from a secondary thread. + + <rdar://problem/6631951> REGRESSION (Safari 4 Beta): Automator crash on + secondary thread beneath -[WebView initWithFrame:frameName:groupName:] + + Reviewed by Geoff Garen. + + * WebView/WebView.mm: + (needsWebViewInitThreadWorkaround): Check for com.apple.Automator. + +2009-02-27 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add a preference to reduce the power of file:// URLs. + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences allowUniversalAccessFromFileUrls]): + (-[WebPreferences setAllowUniversalAccessFromFileUrls:]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-02-27 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Anders Carlsson + + https://bugs.webkit.org/show_bug.cgi?id=24242 + + setCursor(), and resetCursorRects() on Tiger, were using global, not local + coordinates for elementAtPoint: + + * WebView/WebHTMLView.mm: + (resetCursorRects): + (setCursor): + +2009-02-27 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add a preference to reduce the power of file:// URLs. + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences allowUniversalAccessFromFileUrls]): + (-[WebPreferences setAllowUniversalAccessFromFileUrls:]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-02-26 Adele Peterson <adele@apple.com> + + Reviewed by Geoff Garen. + + Fix for <rdar://problem/6618166> + https://bugs.webkit.org/show_bug.cgi?id=24216 + (REGRESSION r36919) Safari 4 Beta causes MSN Messenger's text entry field to lose focus after entering a message + + During a series of firstResponder changes, at some point while the WebHTMLView was losing first responder status, + we incorrectly marked the page as active, and then when the WebHTMLView became first responder again, setActive did nothing. + This change restores behavior from before r36919 to check if the WebHTMLView is in the middle of losing first responder when calling setActive. + + In addition to updating editing/selection/designmode-no-caret.html results, I also made sure the test cases that were + fixed in r36919 and r38570 are still fixed. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView resignFirstResponder]): Keep track if we're in the process of resigning first responder. + (-[WebHTMLView _isResigningFirstResponder]): Added. + * WebView/WebHTMLViewInternal.h: + * WebView/WebView.mm: (-[WebView _updateFocusedAndActiveStateForFrame:]): Don't set the page to be active + if the document view is currently resigning first responder. + +2009-02-25 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Fix <rdar://problem/6623697>. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::print): + Ask the plug-in host to print, create a CGImage of the returned bytes and draw + the image into the passed in context. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView drawRect:]): + When printing, call NetscapePluginInstanceProxy::print. + + * Plugins/Hosted/WebKitPluginHost.defs: + +2009-02-19 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=24024 + REGRESSION (r39845): Assertion failure in -[WebHistoryItem dictionaryRepresentation] when + archiving a submission to about:blank + + I don't know how to make an automated test for this bug. + + * History/WebHistory.mm: (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): + Account for the fact that HTTP method may be non-empty for non-HTTP requests. + +2009-02-25 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + Naming change from + Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail + https://bugs.webkit.org/show_bug.cgi?id=24143 + + * WebView/WebFrame.mm: + (-[WebFrame _accessibilityTree]): + +2009-02-25 Simon Fraser <simon.fraser@apple.com> + + Build fix with ACCELERATED_COMPOSITING turned on. + + I missed a spot in my last commit in renaming to + _stoppedAcceleratedCompositingForFrame: + + * WebView/WebHTMLView.mm: + (-[WebHTMLView close]): + +2009-02-25 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + https://bugs.webkit.org/show_bug.cgi?id=23854 + + Make an observable property, _isUsingAcceleratedCompositing, on + WebView that DumpRenderTree can use to specialize behavior. + + This is implemented via a count of Frames that are using + accelerated compositing. + + * WebView/WebHTMLView.mm: + (-[WebHTMLViewPrivate clear]): + (-[WebHTMLView close]): + (-[WebHTMLView attachRootLayer:]): + (-[WebHTMLView detachRootLayer]): + * WebView/WebView.mm: + (+[WebView automaticallyNotifiesObserversForKey:]): + (-[WebView _startedAcceleratedCompositingForFrame:]): + (-[WebView _stoppedAcceleratedCompositingForFrame:]): + (-[WebView _isUsingAcceleratedCompositing]): + * WebView/WebViewInternal.h: + * WebView/WebViewPrivate.h: + +2009-02-24 Sam Weinig <sam@webkit.org> + + Reviewed by Geoffrey Garen. + + Related to <rdar://problem/6590295> + Allow disabling javascript: urls. + + * WebView/WebView.mm: + (-[WebView _setJavaScriptURLsAreAllowed:]): + * WebView/WebViewPrivate.h: + +2009-02-24 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/6259220> Rename AVAILABLE_AFTER_WEBKIT_VERSION_3_1 (etc.) to match the other macros + + * Carbon/CarbonUtils.h: + * Carbon/HIWebView.h: + * Plugins/WebPlugin.h: + * Plugins/WebPluginViewFactory.h: + * WebView/WebUIDelegate.h: + +2009-02-24 Peter Ammon <pammon@apple.com> + + Reviewed by Mark Rowe. + + Fix <rdar://problem/6251410> Services can modify non-editable content in Safari + + * WebView/WebHTMLView.mm: + (-[WebHTMLView validRequestorForSendType:returnType:]): Return self only if we can handle + both the send and return type. We should also handle a nil send or return type by ignoring + the argument and returning whether we can handle the other type passed in. + +2009-02-23 Anders Carlsson <andersca@apple.com> + + Reviewed by Geoffrey Garen and Darin Adler. + + WebKit side of <rdar://problem/6613151>. + + Make sure to vm_deallocate all memory we get from MIG callbacks. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (DataDeallocator::DataDeallocator): + (DataDeallocator::~DataDeallocator): + Add a simple deallocator class. + + (WKPCStatusText): + (WKPCLoadURL): + (WKPCBooleanAndDataReply): + (WKPCEvaluate): + (WKPCGetStringIdentifier): + (WKPCInvoke): + (WKPCInvokeDefault): + (WKPCConstruct): + (WKPCSetProperty): + Use the new deallocator class. + +2009-02-23 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Fix <rdar://problem/6450656>. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::insertText): + Add insert text which just calls the new WKPH function. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView inputContext]): + Get the input context from the shared input panel. + + (-[WebHostedNetscapePluginView keyDown:]): + Let the shared input panel have a go at the event first. + + * Plugins/Hosted/WebKitPluginHost.defs: + Add new InsertText function. + +2009-02-23 Mark Rowe <mrowe@apple.com> + + Fix the build after r41126. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::invoke): + (WebKit::NetscapePluginInstanceProxy::invokeDefault): + (WebKit::NetscapePluginInstanceProxy::construct): + +2009-02-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/5966123> REGRESSION (r30741): Generic Sun Applet loading logo appears half off screen + + * WebCoreSupport/WebFrameLoaderClient.mm: Correct a copy & paste error + in r30741, and assign the height value, rather than the width, to the + "height" parameter. + +2009-02-21 Anders Carlsson <andersca@apple.com> + + Fix build. + + * Plugins/Hosted/WebTextInputWindowController.m: + +2009-02-20 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Add a shared floating text input window implementation, to be used by the hosted plug-in view. + + * Plugins/Hosted/WebTextInputWindowController.h: Added. + * Plugins/Hosted/WebTextInputWindowController.m: Added. + +2009-02-20 Kevin Decker <kdecker@apple.com> + + Reviewed by andersca. + + <rdar://problem/6496140> Safari sometimes hangs in WKSetMetadataURL for several seconds after downloading a file + + Spawn a background thread for WKSetMetadataURL because this function will not return until mds has journaled the data + we are trying to set. Depending on what other I/O is going on, it can take some time. + + * Misc/WebNSFileManagerExtras.m: Import pthread.h and FoundationExtras.h + (setMetaData): Added. Calls WKSetMetadataURL(). + (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Call setMetaData on a background thread + +2009-02-19 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - WebKit part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027 + Do not send loader callbacks during CSS styling + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Reverted the + iChat-specific quirk added in <http://trac.webkit.org/changeset/41071>. + +2009-02-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Brady Eidson. + + - WebKit part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Activate the WebCore + workaround for this crash in iChat. + +2009-02-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Fix for <rdar://problem/6542390> + + There's no need to call setDefersLoading here - we already defer anything a plug-in can do that + would cause a load to begin. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView sendEvent:isDrawRect:]): + +2009-02-18 Adam Roben <aroben@apple.com> + + Add SPI to get WebKit's custom pointing-hand cursor + + Reviewed by John Sullivan. + + * WebView/WebView.mm: + (+[WebView _pointingHandCursor]): Added. Returns the custom + pointing-hand cursor that WebKit uses. + * WebView/WebViewPrivate.h: Added +_pointingHandCursor. + +2009-02-17 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Antti Koivisto. + + https://bugs.webkit.org/show_bug.cgi?id=23917 + Allow a WebKit plug-in to act as a proxy for the <audio> and <video> + element. + + * Plugins/WebPluginContainerPrivate.h: + * Plugins/WebPluginController.mm: + (mediaProxyClient): New, cast to HTMLMediaElement if it is a video or audio element + (-[WebPluginController _setMediaPlayerProxy:forElement:]): New, pass proxy to HTMLMediaElement + (-[WebPluginController _postMediaPlayerNotification:forElement:]): New, deliver event to HTMLMediaElement + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createPlugin): Don't allow a media player proxy plug-in to be chosen by + file extension, only want a match for the new MIME type proxy plug-ins should have. + +2009-02-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + <rdar://problem/6584834> ESPN radio live stream link hangs Safari + + When a plug-in invokes JavaScript code that will destroy the plug-in, we need to + defer destruction until we're done executing the script. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::PluginDestroyDeferrer::PluginDestroyDeferrer): + (WebKit::PluginDestroyDeferrer::~PluginDestroyDeferrer): + Add a simple RAII object for deferring destruction of the plug-in instance. + + (WKPCEvaluate): + (WKPCInvoke): + (WKPCInvokeDefault): + (WKPCConstruct): + (WKPCGetProperty): + (WKPCSetProperty): + (WKPCRemoveProperty): + (WKPCHasProperty): + (WKPCHasMethod): + Use the PluginDestroyDeferrer. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::pluginID): + Assert that the plug-in ID is not 0 here. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + Initialize the call depth. + + (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy): + Set the plug-in ID to 0 to aid debugging. + + (WebKit::NetscapePluginInstanceProxy::willCallPluginFunction): + Increment the call depth. + + (WebKit::NetscapePluginInstanceProxy::didCallPluginFunction): + Decrement the call depth, if it's 0 and we should stop the plug-in, do so. + + (WebKit::NetscapePluginInstanceProxy::shouldStop): + If we're called this with a non-zero call depth, set shouldStopSoon to true. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView shouldStop]): + Call the proxy. + +2009-02-12 Brady Eidson <beidson@apple.com> + + Reviewed by Kevin Decker + + <rdar://problem/6582180> - Wrong HTTP method applied to history item. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::updateGlobalHistory): Check the original request, not any + redirected request. + +2009-02-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + <rdar://problem/6579412> + REGRESSION (3.2.1-ToT): Crash in Silverlight viewing streaming lecture + + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView userAgent]): + Apply workaround for Silverlight workaround. + + (-[WebNetscapePluginView _createPlugin]): + Check if the plug-in that we're creating is the silverlight plug-in. + +2009-02-12 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler + + Fix potential ref-count or null-deref problems with C++ objects as Obj-C members. + + * History/WebBackForwardList.mm: + (-[WebBackForwardList dealloc]): Null check before deref()'ing. + (-[WebBackForwardList finalize]): Ditto. + + * Misc/WebIconFetcher.mm: + (-[WebIconFetcher dealloc]): Null check before deref()'ing. + (-[WebIconFetcher finalize]): Ditto. + + * WebCoreSupport/WebEditorClient.mm: Change to use RefPtr<> instead of ref()/deref(). + (-[WebEditCommand initWithEditCommand:]): + (-[WebEditCommand dealloc]): + (-[WebEditCommand finalize]): + (-[WebEditCommand command]): + + * WebView/WebArchive.mm: Change to use RefPtr<> instead of ref()/deref(). + (-[WebArchivePrivate init]): + (-[WebArchivePrivate initWithCoreArchive:]): + (-[WebArchivePrivate coreArchive]): + (-[WebArchivePrivate setCoreArchive:]): + (-[WebArchivePrivate dealloc]): + (-[WebArchivePrivate finalize]): + + * WebView/WebDataSource.mm: + (-[WebDataSourcePrivate dealloc]): Null check before deref()'ing. + (-[WebDataSourcePrivate finalize]): Ditto. + +2009-02-12 Brady Eidson <beidson@apple.com> + + Reviewed by Kevin Decker + + <rdar://problem/6579750> - Crash in WebArchivePrivate in Tiger TextEdit + + NSHTMLReader tries to create a WebArchive from a random chunk of data. Previously, WebArchive creation would + fail and return nil and NSHTMLReader would try something else. When we changed the behavior to return an invalid + WebArchive object, things started getting weird. + + * WebView/WebArchive.mm: + (-[WebArchivePrivate setCoreArchive:]): Null check the pointer before calling ->deref() + (-[WebArchivePrivate dealloc]): Remove the ASSERT which is now invalid, and null check the pointer before ->deref(). + (-[WebArchivePrivate finalize]): Ditto + (-[WebArchive initWithData:]): If the LegacyWebArchive cannot be created, return nil instead of an invalid object. + +2009-02-11 Mark Rowe <mrowe@apple.com> + + Fix the build. + + * History/WebHistory.mm: + (-[WebHistoryPrivate visitedURL:withTitle:]): Use ASSERT_UNUSED in a manner that makes sense. + +2009-02-11 Brady Eidson <beidson@apple.com> + + Reviewed by Mark Rowe + + <rdar://problem/6570573> Some visit counts in History.plist have insanely high values, can roll over to negative + + Remove the item from the date caches before registering the visit. Otherwise it might not be successfully removed + and when we add it back later it will exist in the list twice. This will cause the entry to be written out twice, + which would lead to doubling (or more!) the visit count on next launch when these multiple items are merged. + + * History/WebHistory.mm: + (-[WebHistoryPrivate visitedURL:withTitle:]): Swap the removeItemFromDateCaches and visitedWithTitle calls. + (-[WebHistoryPrivate addItem:discardDuplicate:]): Add a mode that allows the entry being added to be discarded + if an entry for the URL already exists. Use that mode when reading the History.plist so only the most + recent entry for a given URL will be used. + (-[WebHistoryPrivate addItems:]): + (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]): + +2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com> + + Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645). + This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown. + + Reviewed by Timothy Hatcher. + + * WebCoreSupport/WebInspectorClient.h: + * WebCoreSupport/WebInspectorClient.mm: + (WebInspectorClient::hiddenPanels): + +2009-02-11 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + <rdar://problem/6562920> Pasted text should be normalized to NFC + + * Misc/WebNSURLExtras.mm: (-[NSURL _web_userVisibleString]): Route the URL string through + -[NSString precomposedStringWithCanonicalMapping]. + + * WebCoreSupport/WebPasteboardHelper.mm: + (WebPasteboardHelper::plainTextFromPasteboard): Ditto. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): + Ditto. The affected cases are all plain text ones - RTF, RTFD and HTML are assumed to be + precomposed already, and the conversion is performed outside WebKit for those anyway. + +2009-02-10 John Sullivan <sullivan@apple.com> + + Reviewed by Dan Bernstein + + <https://bugs.webkit.org/show_bug.cgi?id=23889>, <rdar://problem/6572300> + Negative visit counts stored in History.plist aren't corrected. + + It's not clear how a huge negative visit count ended up in History.plist, but we can't + trust data read from disk so we can at least reset this to something sane. WebCore has + no guard against a visit count overflowing an int, but that seems very unlikely to have + caused this. + + * History/WebHistoryItem.mm: + (-[WebHistoryItem initFromDictionaryRepresentation:]): + If a negative visit count is in the dictionary, replace it with 1. If a negative daily or + weekly visit count is in the dictionary, replace it with 0. + +2009-02-10 John Sullivan <sullivan@apple.com> + + Reviewed by Dan Bernstein + + <https://bugs.webkit.org/show_bug.cgi?id=23891> + [WebHistoryItem _setVisitCount:] is unused and should be removed + + * History/WebHistoryItem.mm: + (-[WebHistoryItem _setVisitCount:]): + removed this unused method, which is a synonym for setVisitCount: that was introduced + recently and abandoned even more recently + + * History/WebHistoryItemInternal.h: + removed declaration of _setVisitCount: + +2009-02-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark Rowe. + + <rdar://problem/6573916> + CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::pluginHostDied + 25. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + If we failed to instantiate the plug-in, invalidate the instance proxy. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::invalidate): + Remove the instance from the plug-in host's set. + + (WebKit::NetscapePluginInstanceProxy::destroy): + Call invalidate(). + +2009-02-09 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + Fix <https://bugs.webkit.org/show_bug.cgi?id=23863> / <rdar://problem/6571390>. + Bug 23863: Reproducible crash in Mail with TOT WebKit when creating a new message + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _removeMouseMovedObserverUnconditionally]): Nil-check _private as it may have not + yet been initialized if this WebHTMLView was loaded from a nib. + (-[WebHTMLView _removeSuperviewObservers]): Ditto. + +2009-02-09 Eric Seidel <eric@webkit.org> + + Reviewed by Dave Hyatt. + + Rename Selection to VisibleSelection to allow us to separate + the selections the user works with from the ones used by + the JS editing APIs. + https://bugs.webkit.org/show_bug.cgi?id=23852 + + * WebView/WebFrame.mm: + (-[WebFrame _selectNSRange:]): + * WebView/WebView.mm: + (-[WebView textIteratorForRect:]): + +2009-02-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Fix crash when plug-in host dies. + + * Plugins/Hosted/HostedNetscapePluginStream.mm: + (WebKit::HostedNetscapePluginStream::didFail): + +2009-02-05 Eric Seidel <eric@webkit.org> + + Reviewed by Justin Garcia. + + DOMSelection.getRangeAt() returns a different range than the selection + https://bugs.webkit.org/show_bug.cgi?id=23601 + + Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range + + * WebView/WebFrame.mm: + (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]): + (-[WebFrame _markDOMRange]): + (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): + (-[WebFrame _selectedNSRange]): + * WebView/WebHTMLView.mm: + (-[WebHTMLView _selectedRange]): + (-[WebTextCompleteController doCompletion]): + (-[WebHTMLView selectedAttributedString]): + * WebView/WebView.mm: + (-[WebView textIteratorForRect:]): + (-[WebView selectedDOMRange]): + +2009-02-06 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Part III of <rdar://problem/6552272>. + + Refactored to use the redirect data WebCore makes available, instead of + tracking loading state in WebKit. + + * History/WebHistory.mm: + (-[WebHistoryPrivate dealloc]): + (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): + (-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]): + * History/WebHistoryInternal.h: + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::updateGlobalHistory): + (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): + +2009-02-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/6562220> + CrashTracer: [USER] 21 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostProxy::port + + Make the handling of crashes in the plug-in host more robust. + + * Plugins/Hosted/NetscapePluginHostProxy.h: + Add m_portSet. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + Initialize m_portSet. + + (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy): + Free m_portSet. + + (WebKit::NetscapePluginHostProxy::processRequests): + Listen for messages on the port set. If we get a message to the port death notification port, + then call pluginHostDied. Otherwise, process the message. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::cleanup): + Factor code that should be shared between destroy() and pluginHostDied() into cleanup. + + (WebKit::NetscapePluginInstanceProxy::destroy): + Call cleanup(). + + (WebKit::NetscapePluginInstanceProxy::pluginHostDied): + Call cleanup(). + + (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply): + Call NetscapePluginHostProxy::processRequests. + + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyInstance::invalidate): + Add a null check for the host proxy. + +2009-02-06 Dan Bernstein <mitz@apple.com> + + - try to fix the Tiger build + + * Misc/WebNSArrayExtras.h: + +2009-02-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6563650> + Add Netscape plug-in API to tell the browser not to load streams (some plug-ins handle network loading manually) + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView loadStream]): + (-[WebNetscapePluginView pluginView:receivedData:]): + (-[WebNetscapePluginView _shouldCancelSrcStream]): + +2009-02-05 Maciej Stachowiak <mjs@apple.com> and Brady Eidson <beidson@apple.com> + + Reviewed by Dan Bernstein and Geoff Garen. + + - WebKit code to track per-day and per-week visit counts in history + + For now this data is only exposed via SPI for performance reasons. + + * History/WebHistoryItem.mm: + (-[WebHistoryItem initFromDictionaryRepresentation:]): Add parsing support + for new data. + (-[WebHistoryItem _recordInitialVisit]): Tell WebCore to record an initial visit. + (-[WebHistoryItem dictionaryRepresentation]): Add saving support for new data. + (-[WebHistoryItem _getDailyVisitCounts:]): SPI accessor. + (-[WebHistoryItem _getWeeklyVisitCounts:]): SPI accessor. + * History/WebHistoryItemInternal.h: Declare new methods. + * History/WebHistoryItemPrivate.h: Ditto. + + * History/WebHistory.mm: + (-[WebHistoryPrivate visitedURL:withTitle:]): For the initial visit, use + the new _recordInitialVisit method instead of setting visit count to 1. + + * Misc/WebNSArrayExtras.h: + * Misc/WebNSArrayExtras.m: + (-[NSArray _webkit_numberAtIndex:]): Helper to retrieve an NSNumber or nil from an NSArray + (-[NSArray _webkit_stringAtIndex:]): Helper to retrieve an NSString of nil from an NSArray + +2009-02-05 Aaron Boodman <aa@chromium.org> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=23708 + Adds documentElementAvailable() callback to FrameLoaderClient. + + * WebCoreSupport/WebFrameLoaderClient.h: + Stub out documentElementAvailable(). + * WebCoreSupport/WebFrameLoaderClient.mm: + Ditto. + +2009-02-05 Dan Bernstein <mitz@apple.com> + + - build fix + + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::initGlobalCallFrame): + +2009-02-05 Beth Dakin <bdakin@apple.com> + + Reviewed by John Sullivan and Brady Eidson. + + Fix for <rdar://problem/6557595> REGRESSION: In Mail, selecting a + mail note message doesn't display it in Mail's preview pane + + This was failing because revision 36962 removed a version of + setVerticalScrollingMode that mail calls. This patch simply adds + that method back. + + * WebView/WebDynamicScrollBarsView.m: + (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): + +2009-02-04 Anders Carlsson <andersca@apple.com> + + Build fix fix. + + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::initGlobalCallFrame): + +2009-02-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Change PCHasProperty, PCHasMethod and PCGetProperty into simpleroutines. + + Rename PHEvaluateReply to PHBooleanAndDataReply and add PHBooleanReply. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCEvaluate): + (WKPCInvoke): + (WKPCGetProperty): + (WKPCHasProperty): + (WKPCHasMethod): + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + +2009-02-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark Rowe. + + Fix 64-bit build. + + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::initGlobalCallFrame): + +2009-02-04 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Mark Rowe. + + Part I of <rdar://problem/6552272>. + + Clear the redirectURLs entry when first visiting a site, so sites that + only redirect you the first time you visit them can later learn that + they don't redirect. + + * History/WebHistory.mm: + (-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]): + +2009-02-04 Timothy Hatcher <timothy@apple.com> + + Change the WebSourceId typedef from int to intptr_t now that <rdar://problem/6263297> is fixed. + + <rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for sourceId, not int + + Reviewed by Oliver Hunt. + + * WebView/WebScriptDebugDelegate.h: + +2009-02-04 Timothy Hatcher <timothy@apple.com> + + Switched over from using the WebSafeForwarder for the Script Debug + delegate and added high performance CallScriptDebugDelegate functions. + + <rdar://problem/6508457> Launching widget in Dashcode debugger is + super-slow due forwardInvocation: calling debug delegate + + Reviewed by Oliver Hunt. + + * DefaultDelegates/WebDefaultScriptDebugDelegate.h: Removed. + * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Removed. + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::initGlobalCallFrame): Use CallScriptDebugDelegate. + (WebScriptDebugger::sourceParsed): Ditto. + (WebScriptDebugger::callEvent): Ditto. + (WebScriptDebugger::atStatement): Ditto. + (WebScriptDebugger::returnEvent): Ditto. + (WebScriptDebugger::exception): Ditto. + * WebView/WebView.mm: + (-[WebViewPrivate dealloc]): Removed scriptDebugDelegateForwarder. + (-[WebView _cacheScriptDebugDelegateImplementations]): Added. Gets the + method implementations for the script debug delegate. Also caches what + didParseSource method to use. + (WebViewGetScriptDebugDelegateImplementations): Added. Returns the + WebScriptDebugDelegateImplementations structure. + (-[WebView setScriptDebugDelegate:]): Call _cacheScriptDebugDelegateImplementations. + (CallDelegate): Added more overloaded versions that take different arguments. + (CallScriptDebugDelegate): Added overloaded versions that take different arguments. + * WebView/WebViewInternal.h: + +2009-02-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=23365 + + Hook up accelerated compositing layers the native + view system on Mac. + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::attachRootGraphicsLayer): + (WebChromeClient::setNeedsOneShotDrawingSynchronization): + New methods to hook up the root GraphicsLayer to the native + view system, and to synchronize layer changes with view-based + drawing when layers come and go. + + * WebView/WebHTMLView.mm: + (-[WebHTMLViewPrivate clear]): + Clear the pointer to layerHostingView. + + (-[WebHTMLView _setAsideSubviews]): + (-[WebHTMLView willRemoveSubview:]): + Keep the special layer-hosting view in the subviews even + when the rest of the subviews are ripped out for + painting. + + (-[WebHTMLView _isUsingAcceleratedCompositing]): + New utility method for DumpRenderTree to know if we're + hosting layers. + + (-[WebHTMLView drawRect:]): + Call -disableScreenUpdatesUntilFlush if we have to + synchronize layer changes with painting. + + (-[WebHTMLView attachRootLayer:]): + (-[WebHTMLView detachRootLayer]): + Attach and detach the root GraphicsLayer. + + * WebView/WebViewInternal.h: + * WebView/WebHTMLViewInternal.h: + * WebView/WebHTMLViewPrivate.h: + New method declarations. + + * WebView/WebView.mm: + (-[WebView _needsOneShotDrawingSynchronization]): + (-[WebView _setNeedsOneShotDrawingSynchronization:]): + Set the flag to say if we need to synchronize layer + changes and painting on the next -drawRect: call. + + (-[WebView viewWillMoveToWindow:]): + (-[WebView viewDidMoveToWindow]): + Call new notifications that the view was added to or removed from + the window, which are required by the layer hosting mechanism. + +2009-02-02 Geoffrey Garen <ggaren@apple.com> + + Build fix. + + * Plugins/WebPluginController.mm: + (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): + +2009-02-02 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Track redirects in global history. + + * History/WebHistory.mm: + (-[WebHistoryPrivate dealloc]): + (-[WebHistoryPrivate lastVisitedEntry]): + (-[WebHistoryPrivate setLastVisitedEntry:]): Remember the last global history + entry in case we're asked to add redirect information to it later. + + (-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]): + (-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]): Record redirect + information in global history. + + * History/WebHistoryInternal.h: + * WebCoreSupport/WebFrameLoaderClient.h: See above and below. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::updateGlobalHistory): + (WebFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem): Record redirect + information in global history. + + * WebView/WebFrame.mm: + (-[WebFrame loadRequest:]): + (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): + * WebView/WebFramePrivate.h: Updated for rename and extra parameter. + +2009-02-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Work around a limitation in MIG where two functions can't have the same name even if they're + not in the same subsystem. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply): + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + +2009-02-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Implement WKPCGetPluginElementObject. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCGetPluginElementNPObject): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject): + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView WebCore::]): + +2009-02-02 Anders Carlsson <andersca@apple.com> + + Build fix. + + * WebView/WebHTMLView.mm: + +2009-02-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Make WebBaseNetscapePluginView hold a reference to a HTMLPlugInElement instead of a DOMElement. + + * Plugins/Hosted/WebHostedNetscapePluginView.h: + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]): + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]): + (-[WebBaseNetscapePluginView _windowClipRect]): + (-[WebBaseNetscapePluginView visibleRect]): + (-[WebBaseNetscapePluginView dataSource]): + * Plugins/WebKitPluginContainerView.h: Removed. + * Plugins/WebKitPluginContainerView.mm: Removed. + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]): + (-[WebNetscapePluginView getVariable:value:]): + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createPlugin): + +2009-02-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Update for changes to WebCore. + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createPlugin): + +2009-02-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver Hunt. + + When a new Web View was not created, report back to the plug-in host. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::performRequest): + * Plugins/Hosted/WebKitPluginHost.defs: + +2009-02-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Draw the regular missing plug-in icon instead of a red rect when a plug-in has crashed. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView drawRect:]): + +2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Darin Adler. + + Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView + + https://bugs.webkit.org/show_bug.cgi?id=23428 + + FrameView::forceLayout could be killed but the comment might + contain a value over the the plain FrameView::layout... + + Adjust the WebCore/WebKit consumers of these methods. + + * WebView/WebFrame.mm: + (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): + * WebView/WebHTMLView.mm: + (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): + (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): + +2009-01-31 John Sullivan <sullivan@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=23665 + + Cleaned up code to add/remove NSNotification observers, to avoid performance hit + of calling removeObserver with unspecified notifications, or calling removeObserver + multiple times for the same notification. + + Reviewed by Darin Adler + + * WebView/WebHTMLView.mm: + added observingMouseMovedNotifications, observingSuperviewNotifications, and + observingWindowNotifications as BOOL ivars of _private object + (-[WebHTMLView _removeMouseMovedObserverUnconditionally]): + moved to file-internal section of file, added leading underscore, now bails out + if we aren't observing the relevant notifications, now records that we are no longer + observing the relevant notifications + (-[WebHTMLView _removeSuperviewObservers]): + ditto, also stores [NSNoticationCenter defaultCenter] in local var to avoid objc dispatch + (-[WebHTMLView _removeWindowObservers]): + ditto + (-[WebHTMLView close]): + replace general removeObserver: call with three specific calls for all the notifications + that this class actually observes + (-[WebHTMLView addMouseMovedObserver]): + bail out if already observing relevant notifications, now records that we are observing + the relevant notifications + (-[WebHTMLView removeMouseMovedObserver]): + updated for name change + (-[WebHTMLView addSuperviewObservers]): + bail out if already observing relevant notifications, now records that we are observing + the relevant notifications; also stores [NSNoticationCenter defaultCenter] in local var + to avoid objc dispatch + (-[WebHTMLView addWindowObservers]): + ditto + (-[WebHTMLView viewWillMoveToSuperview:]): + updated for name change + (-[WebHTMLView viewWillMoveToWindow:]): + updated for name changes + +2009-01-31 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + Fix code that assumes all command selectors end in colons. + rdar://problem/6545874 + + * WebView/WebHTMLView.mm: + (commandNameForSelector): Don't assert, just return a null string, when + the selector doesn't end in a colon. + +2009-01-30 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + Add a pref to disable web security. + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferencesPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + (-[WebPreferences isWebSecurityEnabled]): + (-[WebPreferences setWebSecurityEnabled:]): + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Darin Adler. + + Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler + + Carry out the move and catch up in two call sites. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _frameOrBoundsChanged]): + +2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Darin Adler. + + isFrameSet was moved from Frame to Document. Update the + WebKit usage. + + * WebView/WebFrame.mm: + (-[WebFrame _isFrameSet]): + * WebView/WebHTMLView.mm: + (-[WebHTMLView knowsPageRange:]): + +2009-01-30 Geoffrey Garen <ggaren@apple.com> + + Build fix. + + * WebView/WebFramePrivate.h: + +2009-01-30 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Split "lockHistory" into "lockHistory" and "lockBackForwardList" in + preparation for setting them differently during a redirect. + + * WebView/WebPDFView.mm: + (-[WebPDFView PDFViewWillClickOnLink:withURL:]): + +2009-01-30 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Fix <rdar://problem/6544048> + + Have NetscapePluginInstanceProxy keep track of all the ProxyInstance objects associated. + + When the plug-in instance is destroyed, invalidate all proxy instances. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::destroy): + (WebKit::NetscapePluginInstanceProxy::addInstance): + (WebKit::NetscapePluginInstanceProxy::removeInstance): + * Plugins/Hosted/ProxyInstance.h: + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyInstance::ProxyInstance): + (WebKit::ProxyInstance::~ProxyInstance): + (WebKit::ProxyInstance::invalidate): + +2009-01-30 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Fix <rdar://problem/6490778>. + + Change the NPRuntime related functions to use IdentifierRep directly, and make sure to always + validate IdentifierReps before dereferencing them. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCEvaluate): + (WKPCGetStringIdentifier): + (WKPCGetIntIdentifier): + (identifierFromIdentifierRep): + (WKPCInvoke): + (WKPCGetProperty): + (WKPCSetProperty): + (WKPCRemoveProperty): + (WKPCHasProperty): + (WKPCHasMethod): + (WKPCIdentifierInfo): + +2009-01-30 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + Remove FrameLoaderClient code that is now handled by FrameLoader itself + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::frameLoadCompleted): + +2009-01-29 Stephanie Lewis <slewis@apple.com> + + RS by Oliver Hunt. + + Update the order files. + + * WebKit.order: + +2009-01-29 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Second step in tracking the urls a HistoryItem was redirected through + Add SPI to access the array of redirect urls associated with a HistoryItem. + + * History/WebHistoryItem.mm: + (-[WebHistoryItem dictionaryRepresentation]): + (-[WebHistoryItem _redirectURLs]): + * History/WebHistoryItemPrivate.h: + +2009-01-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Always activate the plug-in host process if we're in "modal mode" and are being told to activate. + + * Plugins/Hosted/NetscapePluginHostProxy.h: + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::pluginHostDied): + Call endModal here. + + (WebKit::NetscapePluginHostProxy::applicationDidBecomeActive): + If we're modal, we should always bring the plug-in host process to the front. + + (WebKit::NetscapePluginHostProxy::beginModal): + Add an observer for the NSApplicationWillBecomeActiveNotification callback. + + (WebKit::NetscapePluginHostProxy::endModal): + Remove the observer. + +2009-01-29 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + First step in tracking the urls a HistoryItem was redirected through. + + * History/WebHistoryItem.mm: + (-[WebHistoryItem initFromDictionaryRepresentation:]): + (-[WebHistoryItem dictionaryRepresentation]): + * Misc/WebNSDictionaryExtras.h: + * Misc/WebNSDictionaryExtras.m: + (-[NSDictionary _webkit_arrayForKey:]): Add helper. + +2009-01-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Pass the PSN of the client to the host, and get the PSN of the host back when checking in. + + * Plugins/Hosted/NetscapePluginHostManager.h: + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::hostForPackage): + Get the current PSN and pass it to spawnPluginHost. + + (WebKit::NetscapePluginHostManager::spawnPluginHost): + Pass the PSN to the "check in" function. + + * Plugins/Hosted/NetscapePluginHostProxy.h: + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + + (WebKit::NetscapePluginHostProxy::pluginHostDied): + Fix a bug noticed by Julien Chaffraix. Call endModal if necessary. + + (WebKit::NetscapePluginHostProxy::beginModal): + (WebKit::NetscapePluginHostProxy::endModal): + (WebKit::NetscapePluginHostProxy::setModal): + Split out the code that does all of the work into beginModal and endModal methods. + + * Plugins/Hosted/WebKitPluginHost.defs: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView loadStream]): + +2009-01-29 David Kilzer <ddkilzer@apple.com> + + Remove semi-colons from the end of ObjC method implementations + + Rubber-stamped by Adam Roben. + + $ find WebKit -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \; + + * DefaultDelegates/WebDefaultUIDelegate.m: + (-[WebDefaultUIDelegate webView:setResizable:]): + (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]): + (-[WebDefaultUIDelegate webView:dragSourceActionMaskForPoint:]): + (-[WebDefaultUIDelegate webView:willPerformDragSourceAction:fromPoint:withPasteboard:]): + * History/WebBackForwardList.mm: + (-[WebBackForwardList addItem:]): + (-[WebBackForwardList backListWithLimit:]): + (-[WebBackForwardList forwardListWithLimit:]): + * History/WebHistoryItem.mm: + (-[WebHistoryItem alternateTitle]): + (-[WebHistoryItem setViewState:]): + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:]): + * Misc/WebKitNSStringExtras.m: + (-[NSString _web_drawAtPoint:font:textColor:]): + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView setAttributeKeys:andValues:]): + * WebCoreSupport/WebEditorClient.mm: + (-[WebEditCommand command]): + * WebView/WebFrame.mm: + (-[WebFrame _getVisibleRect:]): + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]): + * WebView/WebHTMLView.mm: + (-[WebHTMLView elementAtPoint:allowShadowContent:]): + * WebView/WebPreferences.mm: + (-[WebPreferences setAllowsAnimatedImages:]): + (-[WebPreferences setAutosaves:]): + (-[WebPreferences PDFDisplayMode]): + * WebView/WebView.mm: + (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): + (-[WebView _viewClass:andRepresentationClass:forMIMEType:]): + (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]): + (+[WebView _registerViewClass:representationClass:forURLScheme:]): + (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]): + (-[WebView _insertNewlineInQuotedContent]): + +2009-01-28 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Updated for WebCore rename. + + * WebView/WebView.mm: + (-[WebView setCustomTextEncodingName:]): + +2009-01-28 David Kilzer <ddkilzer@apple.com> + + Add missing declaration for -[NSURL(WebNSURLExtras) _webkit_isFileURL] + + Reviewed by Dan Bernstein. + + * Misc/WebNSURLExtras.h: + (-[NSURL(WebNSURLExtras) _webkit_isFileURL]): Added missing + declaration after the implementation was added in r9258. + +2009-01-28 Sam Weinig <sam@webkit.org> + + Reviewed by Geoff Garen. + + Fix for <rdar://problem/6129678> + REGRESSION (Safari 3-4): Local variable not accessible from Dashcode console or variables view + + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame scopeChain]): Wrap JSActivations in DebuggerActivations. + +2009-01-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver Hunt. + + Fix two bugs with Core Animation based plug-ins. + + 1. The plug-in view was marked as opaque even though it's not. + (This would leave garbage in the plug-in view). + 2. The plug-in layer needs to have autoresizing turned on. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView setLayer:]): + +2009-01-27 Brady Eidson <beidson@apple.com> + + Reviewed by Dan Bernstein + + Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage + + * History/WebHistoryItem.mm: + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::savePlatformDataToCachedFrame): + (WebFrameLoaderClient::transitionToCommittedFromCachedFrame): + * WebKit.order: + +2009-01-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Add the ability for plug-ins to make WebKit operate in "modal mode" + + * Plugins/Hosted/NetscapePluginHostProxy.h: + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + (WebKit::NetscapePluginHostProxy::pluginHostDied): + If the plug-in crashes while we're modal, make sure to leave the modal mode. + + (WebKit::NetscapePluginHostProxy::setModal): + (WKPCSetModal): + * Plugins/Hosted/WebKitPluginClient.defs: + +2009-01-26 John Sullivan <sullivan@apple.com> + + fixed <rdar://problem/6530053> REGRESSION (Leopard): Shift-tab in http authentication window gets + stuck in the Name field rather than cycling around + + Reviewed by Dan Bernstein + + * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: + * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: + The two static text fields and the last button all had their "next key view" outlets set to the + name field, which caused shift-tab from the name field to do the wrong thing. Fixed by making each + selectable view have exactly one "next key view" set to it. + +2009-01-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add the ability for a plug-in to show or hide the menu bar. + + * Plugins/Hosted/NetscapePluginHostProxy.h: + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + (WebKit::NetscapePluginHostProxy::pluginHostDied): + (WebKit::NetscapePluginHostProxy::setMenuBarVisible): + (WKPCSetMenuBarVisible): + * Plugins/Hosted/WebKitPluginClient.defs: + +2009-01-26 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Reviewed by Gavin Barraclough. + + Bug 23552: Dashcode evaluator no longer works after making ExecStates actual call frames + <https://bugs.webkit.org/show_bug.cgi?id=23552> + <rdar://problem/6398839> + + Dashcode will crash when using the evaluator because it saves a global call + frame, even after global code has finished executing, and then uses this as + a launching pad to execute new JS in the evaluator. The fix is to detect + when Dashcode is attempting to do this and execute code from a global call + frame instead. + + * ForwardingHeaders/runtime/Protect.h: Added. + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame _initWithGlobalObject:debugger:caller:debuggerCallFrame:]): + Added debugger, a WebScriptDebugger* argument. + (-[WebScriptCallFrame evaluateWebScript:]): Detect when Dashcode is using + a stale WebScriptCallFrame to execute new JS and evaluate it starting from + the global object's global call frame instead. + * WebView/WebScriptDebugger.h: + (WebScriptDebugger::globalObject): Added. + (WebScriptDebugger::globalCallFrame): Added. + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::WebScriptDebugger): Initialize m_globalObject. + (WebScriptDebugger::initGlobalCallFrame): Created as a clone of callEvent + so that the global call frame can be saved immediately after being created. + (WebScriptDebugger::callEvent): Pass 'this' as the debugger argument of + WebScriptCallFrame's _initWithGlobalObject method. + +2009-01-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver Hunt. + + Make WKPCInvoke a simpleroutine. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCInvoke): + * Plugins/Hosted/WebKitPluginClient.defs: + +2009-01-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Implement using plug-in objects as constructors, and setting and getting properties from a plug-in object. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCBooleanAndDataReply): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::Reply::): + (WebKit::NetscapePluginInstanceProxy::BooleanAndDataReply::BooleanAndDataReply): + Rename NPObjectInvokeReply to BooleanAndDataReply. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::addValueToArray): + Fix a cut and paste error. + + (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): + Handle NPObjects. + + * Plugins/Hosted/ProxyInstance.h: + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyField::valueFromInstance): + (WebKit::ProxyField::setValueToInstance): + Call the ProxyInstance method. + + (WebKit::ProxyInstance::~ProxyInstance): + Release the NPObject. + + (WebKit::ProxyInstance::supportsConstruct): + Ask the plug-in host if an instance supports construct. + + (WebKit::ProxyInstance::fieldValue): + (WebKit::ProxyInstance::setFieldValue): + Call the plug-in host methods. + + * Plugins/Hosted/WebKitPluginHostTypes.h: + Rename ObjectValueType to JSObjectValueType, and add NPObjectValueType. + +2009-01-26 Mark Rowe <mrowe@apple.com> + + Fix the build. + + Remove -Wformat=2 from the warning flags as newer versions of GCC emit + warnings about non-literal format strings for uses of our UI_STRING macro. + + * Configurations/Base.xcconfig: + +2009-01-26 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Sam Weinig. + + Clean up after r40240. + + * Configurations/Base.xcconfig: Don't dead code strip in debug builds for now as it leads to link errors. + * Plugins/Hosted/HostedNetscapePluginStream.mm: Revert change that is no longer needed now that WebKitPluginHost.defs + is back in the build. + +2009-01-25 Darin Adler <darin@apple.com> + + * Plugins/Hosted/HostedNetscapePluginStream.mm: Added a missing extern "C". + +2009-01-25 Darin Adler <darin@apple.com> + + Discussed with Mark Rowe; not sure he reviewed it. + + * Configurations/Base.xcconfig: Add all the same warnings as in WebCore except for + -Wcast-qual and -Wunused-parameter, which both need to be off at least for now. + +2009-01-25 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Dan Bernstein. + + Improve the consistency of settings in our .xcconfig files. + + * Configurations/Base.xcconfig: Only dead code strip the normal variant. + Handle all cases in GCC_GENERATE_DEBUGGING_SYMBOLS. + +2009-01-25 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Bug 23522: use checked casts for render tree + https://bugs.webkit.org/show_bug.cgi?id=23522 + + Step one: RenderText. + + * WebView/WebRenderNode.mm: + (copyRenderNode): Use toRenderText. + +2009-01-23 Brady Eidson <beidson@apple.com> + + Rubberstamped by Darin Adler + + Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role. + + * WebCoreSupport/WebCachedFramePlatformData.h: Copied from WebKit/mac/WebCoreSupport/WebCachedPagePlatformData.h. + (WebCachedFramePlatformData::WebCachedFramePlatformData): + * WebCoreSupport/WebCachedPagePlatformData.h: Removed. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::savePlatformDataToCachedPage): + (WebFrameLoaderClient::transitionToCommittedFromCachedPage): + + * WebKit.order: + +2009-01-23 Adele Peterson <adele@apple.com> + + Build fix. + + Use new linesBoundingBox method instead of + boundingBoxWidth and boundingBoxHeight for RenderText objects. + + * WebView/WebRenderNode.mm: (copyRenderNode): + +2009-01-23 Anders Carlsson <andersca@apple.com> + + Fix 64-bit build. + + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::proxyClass): + +2009-01-23 Anders Carlsson <andersca@apple.com> + + Fix GCC 4.0 build. + + * Configurations/Base.xcconfig: + +2009-01-23 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Turn on -Wmissing-prototypes and fix the resulting warnings. + + * Configurations/Base.xcconfig: + * History/WebHistory.mm: + (timeIntervalForBeginningOfDay): + * History/WebHistoryItem.mm: + (historyItemWrappers): + * Misc/WebNSPasteboardExtras.mm: + (imageFromElement): + * WebView/WebFrame.mm: + * WebView/WebScriptDebugger.mm: + (toNSString): + +2009-01-22 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Anders Carlsson. + + Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily. + + Current versions of Xcode only respect it for C and Objective-C files, + and our code doesn't currently compile if it is applied to C++ and + Objective-C++ files. + + * Configurations/Base.xcconfig: + +2009-01-22 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add support for Invoke and InvokeDefault. Clean up code. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCBooleanReply): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::Reply::): + (WebKit::NetscapePluginInstanceProxy::BooleanReply::BooleanReply): + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): + * Plugins/Hosted/ProxyInstance.h: + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyInstance::invoke): + (WebKit::ProxyInstance::invokeMethod): + (WebKit::ProxyInstance::supportsInvokeDefaultMethod): + (WebKit::ProxyInstance::invokeDefaultMethod): + (WebKit::ProxyInstance::methodsNamed): + (WebKit::ProxyInstance::fieldNamed): + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + * Plugins/Hosted/WebKitPluginHostTypes.h: + +2009-01-22 Eric Roman <eroman@chromium.og> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=20806 + Deprecate RSSFeedReferrer() and setRSSFeedReferrer(). + + * History/WebHistoryItem.mm: + (-[WebHistoryItem RSSFeedReferrer]): + (-[WebHistoryItem setRSSFeedReferrer:]): + +2009-01-22 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Don't crash or hang when we fail to instantiate a plug-in. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + Return 0 on failure. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]): + Null check for the proxy member. + +2009-01-21 David Hyatt <hyatt@apple.com> + + Devirtualize width/height/x/y on RenderObject and move the methods to RenderBox. + + Reviewed by Eric Seidel and Darin Adler + + * WebView/WebRenderNode.mm: + (copyRenderNode): + +2009-01-21 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + More browser->plug-in scripting support. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCNPObjectHasPropertyReply): + (WKPCNPObjectHasMethodReply): + (WKPCNPObjectInvokeReply): + MIG reply functions. + + (WKPCIdentifierInfo): + Return information about an identifier given its 64-bit value. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + Add new reply structs. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::addValueToArray): + Split out code that adds values to the arrays from marshalValue. + + (WebKit::NetscapePluginInstanceProxy::marshalValue): + Call addValueToArray. + + (WebKit::NetscapePluginInstanceProxy::marshalValues): + Marshal a list of values. + + (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): + Actually create a proxy instance. + + * Plugins/Hosted/ProxyInstance.h: + * Plugins/Hosted/ProxyInstance.mm: + (WebKit::ProxyClass::methodsNamed): + (WebKit::ProxyClass::fieldNamed): + Add a proxy ProxyClass class that just forwards everything to the ProxyInstance class. + + (WebKit::proxyClass): + Shared proxyClass getter. + + (WebKit::ProxyField::ProxyField): + (WebKit::ProxyField::valueFromInstance): + (WebKit::ProxyField::setValueToInstance): + Add a proxy ProxyField class that just forwards everything to the ProxyInstance class. + + (WebKit::ProxyMethod::ProxyMethod): + (WebKit::ProxyMethod::serverIdentifier): + (WebKit::ProxyMethod::numParameters): + Add a dummy ProxyMethod class. + + (WebKit::ProxyInstance::invokeMethod): + Call _WKPHNPObjectInvoke. + + (WebKit::ProxyInstance::defaultValue): + (WebKit::ProxyInstance::stringValue): + (WebKit::ProxyInstance::numberValue): + (WebKit::ProxyInstance::booleanValue): + (WebKit::ProxyInstance::valueOf): + Add dummy implementations (taken from CInstance). + + (WebKit::ProxyInstance::methodsNamed): + Call _WKPHNPObjectHasMethod to determine whether a method with the given name exists. + + (WebKit::ProxyInstance::fieldNamed): + Call _WKPHNPObjectHasProperty to determine whether a property with the given name exists. + + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + Add new MIG definitions. + +2009-01-21 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Clean up how we force invocations of API that happened on background threads over to the main thread. + + This was previously accomplished in a somewhat ad-hoc manner using a mutable dictionary to pass arguments + and return values back from the function. The new approach is to use a proxy object that forwards an + NSInvocation over to the main thread and applies it to the target object, which leads to a much cleaner + call site. + + * Misc/WebNSObjectExtras.h: + * Misc/WebNSObjectExtras.mm: + (-[WebMainThreadInvoker initWithTarget:]): + (-[WebMainThreadInvoker forwardInvocation:]): + (-[WebMainThreadInvoker methodSignatureForSelector:]): + (-[WebMainThreadInvoker handleException:]): + (-[NSInvocation _webkit_invokeAndHandleException:]): Execute the invocation and forward any exception that was + raised back to the WebMainThreadInvoker. + (-[NSObject _webkit_invokeOnMainThread]): + + The following methods are updated to use the proxy object to forward methods to the main thread: + + * WebView/WebArchive.mm: + (-[WebArchive initWithMainResource:subresources:subframeArchives:]): + (-[WebArchive mainResource]): + (-[WebArchive subresources]): + (-[WebArchive subframeArchives]): + * WebView/WebResource.mm: + (-[WebResource data]): + (-[WebResource URL]): + (-[WebResource MIMEType]): + (-[WebResource textEncodingName]): + (-[WebResource frameName]): + (-[WebResource _ignoreWhenUnarchiving]): + (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): + (-[WebResource _initWithData:URL:response:]): + (-[WebResource _suggestedFilename]): + (-[WebResource _response]): + (-[WebResource _stringValue]): + * WebView/WebView.mm: + (-[WebView initWithFrame:frameName:groupName:]): + (-[WebView initWithCoder:]): + +2009-01-20 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Reviewed by George Staikos. + + Fixes: https://bugs.webkit.org/show_bug.cgi?id=23434 (Add WML <input> element support) + + Protect text field related WebEditorClient.mm methods against non-HTMLElement callers. + WebEditorClient.mm relies on HTMLInputElement as input element. Ignore calls from non-HTMLElement elements. + + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::textFieldDidBeginEditing): + (WebEditorClient::textFieldDidEndEditing): + (WebEditorClient::textDidChangeInTextField): + (WebEditorClient::doTextFieldCommandFromEvent): + (WebEditorClient::textWillBeDeletedInTextField): + (WebEditorClient::textDidChangeInTextArea): + +2009-01-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add and implement GetScriptableNPObject. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCGetScriptableNPObjectReply): + Create a new reply struct and set it as the current reply. + + (WKPCEvaluate): + Get rid of an unused variable. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::Reply::): + (WebKit::NetscapePluginInstanceProxy::GetScriptableNPObjectReply::GetScriptableNPObjectReply): + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): + Call _WKPHGetScriptableNPObject and wait for a reply. + + * Plugins/Hosted/ProxyInstance.h: Added. + * Plugins/Hosted/ProxyInstance.mm: Added. + Add empty files. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]): + Call NetscapePluginInstanceProxy::createBindingsInstance. + + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + Add new declarations. + +2009-01-19 Sam Weinig <sam@webkit.org> + + Rubber-stamped by Gavin Barraclough. + + Remove temporary operator-> from JSValuePtr. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::invoke): + (WebKit::NetscapePluginInstanceProxy::hasMethod): + (WebKit::NetscapePluginInstanceProxy::marshalValue): + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + * WebView/WebView.mm: + (aeDescFromJSValue): + +2009-01-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Make Evaluate an asynchronous method that has a reply method. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCEvaluate): + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + +2009-01-19 Brady Eidson <beidson@apple.com> + + Rubberstamped by Tim Hatcher + + Fix long standing typo. + + * History/WebBackForwardList.h: + +2009-01-19 Mark Rowe <mrowe@apple.com> + + Fix the build! + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::demarshalValue): + (WebKit::NetscapePluginInstanceProxy::demarshalValues): + +2009-01-18 Mark Rowe <mrowe@apple.com> + + Reviewed by Anders Carlsson. + + Fix <https://bugs.webkit.org/show_bug.cgi?id=23414>. + Bug 23414: Reproducible crash accessing View menu with plugins disabled + + * WebView/WebFrame.mm: + (-[WebFrame _canProvideDocumentSource]): Null-check the PluginData before using it. + +2009-01-17 David Hyatt <hyatt@apple.com> + + Eliminate dependencies on "backslashAsCurrencySymbol()" from WebKit, and make sure these alterations + are done in WebCore instead. + + Reviewed by Oliver Hunt + + * WebView/WebFrame.mm: + (-[WebFrame _selectedString]): + (-[WebFrame _stringForRange:]): + +2009-01-17 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Adele Peterson + + Complete <rdar://problem/6293969> + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Remove UseSharedMediaUI + +2009-01-15 Brady Eidson <beidson@apple.com> + + Reviewed by Dan Bernstein + + Fix problem where a URL visited as non-GET once is flagged as non-GET forever. + + * History/WebHistory.mm: + (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Always update the HTTPNonGet + flag for all loads with an HTTP Method + +2009-01-14 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Implement InvokeDefault, Construct, GetProperty and SetProperty. + + Fully implement marshalValue. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCInvokeDefault): + (WKPCConstruct): + (WKPCGetProperty): + (WKPCSetProperty): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::evaluate): + (WebKit::NetscapePluginInstanceProxy::invoke): + (WebKit::NetscapePluginInstanceProxy::invokeDefault): + (WebKit::NetscapePluginInstanceProxy::construct): + (WebKit::NetscapePluginInstanceProxy::getProperty): + (WebKit::NetscapePluginInstanceProxy::setProperty): + (WebKit::NetscapePluginInstanceProxy::marshalValue): + (WebKit::NetscapePluginInstanceProxy::demarshalValue): + * Plugins/Hosted/WebKitPluginClient.defs: + +2009-01-14 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Demarshal arguments and pass them to the JS call. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCInvoke): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::invoke): + (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): + (WebKit::NetscapePluginInstanceProxy::demarshalValues): + +2009-01-14 Mark Rowe <mrowe@apple.com> + + Reviewed by Timothy Hatcher. + + <rdar://problem/6496520> REGRESSION: In Mail, a crash occurs when attempting to display a mail message + + Move WebArchive and WebResource to use the same approach for initializing themselves on the main thread + that WebView uses. + + * WebView/WebArchive.mm: + (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Use _webkit_performSelectorOnMainThread:withObject:. + (-[WebArchive _initWithArguments:]): + * WebView/WebResource.mm: + (-[WebResource _initWithArguments:]): Unbox the BOOL argument. + +2009-01-14 Darin Adler <darin@apple.com> + + Reviewed by Oliver Hunt. + + Fix crash I ran into while printing. I was unable to reproduce it, but also, + it's clear there's no guarantee that the frame will be non-zero in this case, + so it seems fine to check it. + + * WebView/WebHTMLView.mm: (-[WebHTMLView reapplyStyles]): Check frame for zero + and don't do anything with it if it's zero. + +2009-01-14 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - update copyright + + * Info.plist: + +2009-01-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Add a bunch of methods to WebKitPluginClient.defs, and implement them. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::fromUTF8WithLatin1Fallback): + If the length isn't specified, get it by calling strlen. + + (WKPCEvaluate): + Evaluate doesn't take any arguments. + + (WKPCGetIntIdentifier): + Call _NPN_GetIntIdentifier. + + (identifierFromServerIdentifier): + New helper function that returns a JSC Identifier from an NPIdentifier. + + (WKPCInvoke): + Call identifierFromServerIdentifier. + + (WKPCRemoveProperty): + (WKPCHasProperty): + (WKPCHasMethod): + Call NetscapePluginInstanceProxy. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::removeProperty): + (WebKit::NetscapePluginInstanceProxy::hasProperty): + (WebKit::NetscapePluginInstanceProxy::hasMethod): + + * Plugins/Hosted/WebKitPluginClient.defs: + Add new definitions. + +2009-01-13 Anders Carlsson <andersca@apple.com> + + Fix build. + + * WebView/WebView.mm: + (-[WebView _initWithArguments:]): + +2009-01-13 Timothy Hatcher <timothy@apple.com> + + Adds a workaround for the flip4mac installer plugin decoding a WebView from a NIB on a secondary thread. + + <rdar://problem/6489788> New WebKit thread checks break installation of flip4mac (thread violation) + + Reviewed by Darin Adler. + + * Misc/WebKitVersionChecks.h: Add WEBKIT_FIRST_VERSION_WITHOUT_WEBVIEW_INIT_THREAD_WORKAROUND. + * Misc/WebNSObjectExtras.h: Add _webkit_performSelectorOnMainThread:withObject:. + * Misc/WebNSObjectExtras.mm: + (-[NSObject _webkit_performSelectorWithArguments:]): Renamed from _webkit_getPropertyWithArguments. + Passes the optional object to the selector. + (-[NSObject _webkit_performSelectorOnMainThread:withObject:]): Renamed from _webkit_getPropertyOnMainThread:. + Put the optional object into the arguments dictionary. + (-[NSObject _webkit_getPropertyOnMainThread:]): Call _webkit_performSelectorOnMainThread with a nil object. + * WebView/WebResource.mm: + (-[WebResource _ignoreWhenUnarchiving]): Use _cmd instead of making the selector again. + (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): Use the new + _webkit_performSelectorOnMainThread:withObject: method instead of performSelectorOnMainThread. + * WebView/WebView.mm: + (-[WebView _initWithArguments:]): Added. Pulls arguments out of the dictionary and calls the right init method. + (needsWebViewInitThreadWorkaround): Checks if the thead is not the main thread and if we are in the Installer bundle. + (-[WebView initWithFrame:frameName:groupName:]): Call needsWebViewInitThreadWorkaround and use _webkit_performSelectorOnMainThread + to call _initWithArguments: passing the frame, frameName and groupName. + (-[WebView initWithCoder:]): Ditto, except pass the coder to _initWithArguments:. + +2009-01-12 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + Deprecate JSValuePtr::getNumber() - two ways to get a number should be enough. + + * WebView/WebView.mm: + (aeDescFromJSValue): + +2009-01-12 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler + + <rdar://problem/6468274> - Track Non-get requests in global history + + * History/WebHistory.mm: + (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): + * History/WebHistoryInternal.h: + + * History/WebHistoryItem.mm: + (-[WebHistoryItem initFromDictionaryRepresentation:]): + (-[WebHistoryItem dictionaryRepresentation]): + (-[WebHistoryItem _lastVisitWasHTTPNonGet]): + * History/WebHistoryItemPrivate.h: + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::updateGlobalHistory): Only pass the method through if it was an HTTP load + +2009-01-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Move marshalling into NetscapePluginInstanceProxy. + + Add support for marshallin strings. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCEvaluate): + (WKPCInvoke): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::evaluate): + (WebKit::NetscapePluginInstanceProxy::invoke): + (WebKit::NetscapePluginInstanceProxy::marshalValue): + * Plugins/Hosted/WebKitPluginHostTypes.h: + +2009-01-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Implement WKPCInvoke. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCEvaluate): + (WKPCInvoke): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::idForObject): + (WebKit::NetscapePluginInstanceProxy::invoke): + * Plugins/Hosted/WebKitPluginClient.defs: + +2009-01-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Move marshalling code to NetscapePluginInstanceProxy. Add support for marshalling JS objects. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCEvaluate): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::marshalValue): + * Plugins/Hosted/WebKitPluginHostTypes.h: + +2009-01-12 Julien Chaffraix <jchaffraix@pleyo.com> + + Reviewed by Darin Adler. + + Bug 22861: Turn the FontCache into a singleton + https://bugs.webkit.org/show_bug.cgi?id=22861 + + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics cachedFontDataCount]): + (+[WebCoreStatistics cachedFontDataInactiveCount]): + (+[WebCoreStatistics purgeInactiveFontData]): + Redirected all the static calls to the global FontCache + instance. + +2009-01-11 Dmitry Titov <dimich@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=23207 + Moved currentTime() to from WebCore to WTF. + + * WebView/WebFrame.mm: a different header file included. + +2009-01-10 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/5845089> REGRESSION (r30044): Mail custom stationery missing images + because of change to -[HTMLObjectElement data] + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Added a thread + violation check because I saw this being done off the main thread while testing Mail, and it + caused problems. Put all the one time initialization under a single guard to make things just + a little faster other times, and to make it clearer which things are one-time. Added a call to + the new patchMailRemoveAttributesMethod function. + (-[WebView initWithFrame:frameName:groupName:]): Added a thread violation check here too, + because I assumed it would be slightly better to have a public method name in the violation + message. This calls commonInitialization later, so it will hit that one eventually. + (objectElementDataAttribute): Added. Just returns the value of the "data" attribute. + (recursivelyRemoveMailAttributes): Added. Patch to an internal Mail method that in turn patches + a WebKit method and removes the patch again on the way out. + (patchMailRemoveAttributesMethod): Added. On Leopard only, checks the Mail version, and then + applies the patch that fixes this bug. + +2009-01-09 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fixed <rdar://problem/6234347> Add/change conditional key + bindings for changing paragraph- and character-level writing + direction (to match NSTextView) + + * WebView/WebHTMLView.mm: + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Added + code to validate makeBaseWritingDirectionLeftToRight: and + makeBaseWritingDirectionRightToLeft:. + (writingDirectionKeyBindingsEnabled): Changed this function to + always return YES, except on Tiger and Leopard. + (-[WebHTMLView makeBaseWritingDirectionLeftToRight:]): Renamed + changeBaseWritingDirectionToLTR: to this. + (-[WebHTMLView makeBaseWritingDirectionRightToLeft:]): Renamed + changeBaseWritingDirectionToRTL: to this. + (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Now calls + makeBaseWritingDirectionLeftToRight:. + (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Now calls + makeBaseWritingDirectionRightToLeft:. + * WebView/WebView.mm: Added makeBaseWritingDirectionLeftToRight + and makeBaseWritingDirectionRightToLeft to + FOR_EACH_RESPONDER_SELECTOR. + +2009-01-08 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add and implement WKPCGetStringIdentifier. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCGetStringIdentifier): + * Plugins/Hosted/WebKitPluginClient.defs: + +2009-01-08 Stephanie Lewis <slewis@gmail.com> + + Fix Tiger build. + + * WebView/WebTextIterator.mm: + +2009-01-08 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add basic support for evaluating scripts. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::fromUTF8WithLatin1Fallback): + (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy): + (WKPCReleaseObject): + (marshalValue): + (WKPCEvaluate): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::releaseObject): + (WebKit::NetscapePluginInstanceProxy::evaluate): + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHostTypes.h: + +2009-01-08 David Hyatt <hyatt@apple.com> + + Fix for <rdar://problem/6465682> REGRESSION: In Mail, can't force a message to auto scroll + + Add a new ChromeClient method for handling exposure of scrolled rects. + + Reviewed by Oliver Hunt + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::scrollRectIntoView): + +2009-01-08 Darin Adler <darin@apple.com> + + Reviewed by Tim Hatcher. + + Bug 23185: add a currentRange method to the WebTextIterator SPI + https://bugs.webkit.org/show_bug.cgi?id=23185 + rdar://problem/6455834 + + I also noticed a garbage-collection-related threading issue that I fixed, and + that the SPI for getting text was unnecessarily inefficient, so I fixed that too. + + * WebView/WebTextIterator.h: Moved currentNode and currentText into a "deprecated" + category. Added currentTextPointer and currentTextLength. + + * WebView/WebTextIterator.mm: Changed m_textIterator into an OwnPtr, and also + used _textIterator to be consistent with ObjC rather than C++ naming. + (+[WebTextIteratorPrivate initialize]): Added. Calls WebCoreObjCFinalizeOnMainThread, + since the finalize method here works with main-thread only WebCore objects. + (-[WebTextIterator initWithRange:]): Changed since _textIterator is an OwnPtr now. + (-[WebTextIterator advance]): Changed name of m_textIterator. Removed null assertion, + since I don't think it provides much value. + (-[WebTextIterator atEnd]): Ditto. + (-[WebTextIterator currentRange]): Added. + (-[WebTextIterator currentTextPointer]): Added. + (-[WebTextIterator currentTextLength]): Added. + (-[WebTextIterator currentNode]): Did same as above, but also put into new category. + (-[WebTextIterator currentText]): Ditto. + +2009-01-08 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Adele Peterson. + + Simplify Mac interfaces for drawing media controller elements + + <rdar://problem/6293969> + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Update for changes to media controller functions + +2009-01-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Fix build. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::idForObject): + +2009-01-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Add a way for a plug-in to get a reference to the Window JS object. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCGetWindowNPObject): + Call the appropriate instance. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + Add object ID counter. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::destroy): + Clear the object ID map. + + (WebKit::NetscapePluginInstanceProxy::idForObject): + New method that returns a unique ID for a given JS object. + + (WebKit::NetscapePluginInstanceProxy::getWindowNPObject): + Return the object ID for the window JS object. + + * Plugins/Hosted/WebKitPluginClient.defs: + Add GetWindowNPObject. + +2009-01-07 Darin Adler <darin@apple.com> + + Reviewed by Oliver Hunt. + + Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed + https://bugs.webkit.org/show_bug.cgi?id=23160 + + * WebView/WebView.mm: + (-[WebView setMemoryCacheDelegateCallsEnabled:]): Added. + (-[WebView areMemoryCacheDelegateCallsEnabled]): Added + * WebView/WebViewPrivate.h: Ditto. + +2009-01-05 Gavin Barraclough <baraclough@apple.com> + + Rubber Stamped by Oliver Hunt. + + Replace all uses of JSValue* with new wrapper class, JSValuePtr. + See JavaScriptCore/ChangeLog for more detailed description. + + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame _convertValueToObjcValue:]): + (-[WebScriptCallFrame exception]): + (-[WebScriptCallFrame evaluateWebScript:]): + * WebView/WebView.mm: + (aeDescFromJSValue): + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): + +2009-01-06 Pierre-Olivier Latour <pol@apple.com> + + Reviewed by Darin Adler. + + Exposed through WebFrame private interface the new WebCore API AnimationController::numberOfActiveAnimations() to be used by DRT. + + https://bugs.webkit.org/show_bug.cgi?id=23126 + + * WebView/WebFrame.mm: + (-[WebFrame _numberOfActiveAnimations]): + * WebView/WebFramePrivate.h: + +2009-01-05 David Kilzer <ddkilzer@apple.com> + + Add SPI to enable, disable and check state of WebIconDatabase + + Reviewed by Darin Adler & Timothy Hatcher. + + Add -[WebIconDatabase isEnabled] and -[WebIconDatabase setEnabled:] + SPI to make it possible to enable, disable and check the state of + the icon database. + + * Misc/WebIconDatabase.mm: + (-[WebIconDatabase init]): Extracted code into -_startUpIconDatabase. + (-[WebIconDatabase iconForURL:withSize:cache:]): Switched to use + -isEnabled instead of -_isEnabled. + (-[WebIconDatabase iconURLForURL:]): Ditto. + (-[WebIconDatabase retainIconForURL:]): Ditto. + (-[WebIconDatabase releaseIconForURL:]): Ditto. + (-[WebIconDatabase isEnabled]): Renamed from -_isEnabled in + WebInternal category. + (-[WebIconDatabase setEnabled:]): Added. Takes care of changing + the enabled/disabled state of the icon database. + (-[WebIconDatabase removeAllIcons]): Switched to use -isEnabled + instead of -_isEnabled. + (-[WebIconDatabase _startUpIconDatabase]): Added. Extrated from + -init. + (-[WebIconDatabase _shutDownIconDatabase]): Added. Remove + observers when the icon database is disabled. + * Misc/WebIconDatabaseInternal.h: Added declarations for + -_startUpIconDatabase and -_shutDownIconDatabase. + * Misc/WebIconDatabasePrivate.h: Added declarations for + -isEnabled and -setEnabled:. + +2009-01-05 Brady Eidson <beidson@apple.com> + + Reviewed by Jon Honeycutt + + Expose setting the last-visit-was-failure flag on a history items in preparation for <rdar://problem/6173319> + + * History/WebHistoryItem.mm: + (-[WebHistoryItem _setLastVisitWasFailure:]): + * History/WebHistoryItemPrivate.h: + +2009-01-05 Adam Treat <adam.treat@torchmobile.com> + + Another blind mac build fix + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::contentsSizeChanged): + +2009-01-05 Adam Treat <adam.treat@torchmobile.com> + + Blind mac build fix + + * WebCoreSupport/WebChromeClient.mm: + +2009-01-05 Adam Treat <adam.treat@torchmobile.com> + + Fix mac build + + * WebCoreSupport/WebChromeClient.h: + +2009-01-05 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by George Staikos. + + Build fix for contentsSizeChanged + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::contentsSizeChanged): + +2009-01-02 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears + inside its web view when resizing its window + https://bugs.webkit.org/show_bug.cgi?id=23072 + rdar://problem/6368028 + + The first attempt at fixing this did not work. + This time I was able to reproduce the bug and test the fix. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (applyAppleDictionaryApplicationQuirkNonInlinePart): Changed the arguments and + function names around a bit to make even less code at the call site. + (applyAppleDictionaryApplicationQuirk): Put the check for whether this is the + Dictionary application in here. + (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): Put a call to + applyAppleDictionaryApplicationQuirk here. This was a case I had missed before, + when the script is cached. This fixes one of the two problems with the initial + patch; the other fix is in WebCore. + (WebFrameLoaderClient::dispatchWillSendRequest): Changed the + applyAppleDictionaryApplicationQuirk call here to work the new simpler way. + + * WebView/WebView.mm: Had to add an include due to changes in WebCore header includes. + +2009-01-02 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Reviewed by Darin Adler. + + Bug 23060: REGRESSION (r38629): Cannot scroll a WebHTMLView using Home/End/Page up/Page down + <https://bugs.webkit.org/show_bug.cgi?id=23060> + <rdar://problem/6467830> + + After r38629, all keyboard events get sent by Editor to the EditorClient, even + if the selection is not editable. If the event's command is unsupported by + WebHTMLView, WebHTMLView mistakenly thinks that the event was handled when it + was not. When using the page up / page down keys, the events generated are of + the form scrollPageUp rather than movePageUp, so they are unsupported by + WebHTMLView and cause this bug to occur. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView doCommandBySelector:]): + +2009-01-02 Darin Adler <darin@apple.com> + + Reviewed by Oliver Hunt. + + Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears inside its web view when resizing its window + https://bugs.webkit.org/show_bug.cgi?id=23072 + rdar://problem/6368028 + + * WebCoreSupport/WebFrameLoaderClient.mm: + (isAppleDictionaryApplication): Added. + (applyAppleDictionaryApplicationQuirk): Added. Under the right conditions, sets + a flag to ask HTMLFrameElementBase to ignore the scrolling attribute. + (WebFrameLoaderClient::dispatchWillSendRequest): Call the two functions above to + apply the quirk when the relevant script is loaded. + +2008-12-26 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - fix <rdar://problem/6467608> lastVisitWasFailure flag persists in + global history after a successful visit + + * History/WebHistory.mm: + (-[WebHistory _visitedURL:withTitle:wasFailure:]): Changed to always + update the wasFailure flag on the HistoryItem. + +2008-12-23 Darin Adler <darin@apple.com> + + Reviewed by Alexey Proskuryakov (a slightly earlier version). + + - fix https://bugs.webkit.org/show_bug.cgi?id=22976 + crash due to Mail's use of WebArchive and WebResource on non-main thread + + * Misc/WebKitLogging.h: Improved comments for ASSERT_MAIN_THREAD. Got rid of + WebKitRunningOnMainThread function, which was just a cover for pthread_main_np. + * Misc/WebKitLogging.m: Ditto. + + * Misc/WebKitVersionChecks.h: Added a version after which we won't do the + main thread workaround. + + * Misc/WebNSObjectExtras.h: Added a new method, _webkit_getPropertyOnMainThread:, + which performs a selector on the main thread, waits for it to complete, and then + returns the value on the caller thread. + * Misc/WebNSObjectExtras.mm: Added. + + * WebView/WebArchive.mm: + (-[WebArchive init]): Added WebCoreThreadViolationCheck. + (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Perform + initialization on main thread if needMailThreadWorkaround is true. + Also added WebCoreThreadViolationCheck. + (-[WebArchive initWithData:]): Added WebCoreThreadViolationCheck. + (-[WebArchive mainResource]): Get property on main thread if + needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck. + (-[WebArchive subresources]): Ditto. + (-[WebArchive subframeArchives]): Ditto. + (-[WebArchive data]): Ditto. + (-[WebArchive _initWithCoreLegacyWebArchive:]): Added WebCoreThreadViolationCheck. + (-[WebArchive _coreLegacyWebArchive]): Ditto. + (-[WebArchive _initWithArguments:]): Added. Used to implement the cross-thread + version of initWithMainResource above. + + * WebView/WebResource.mm: + (-[WebResource initWithCoder:]): Added WebCoreThreadViolationCheck. + (-[WebResource data]): Get property on main thread if + needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck. + (-[WebResource URL]): Ditto. + (-[WebResource MIMEType]): Ditto. + (-[WebResource textEncodingName]): Ditto. + (-[WebResource frameName]): Ditto. + (-[WebResource _ignoreWhenUnarchiving]): Ditto. + (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): + Perform initialization on main thread if needMailThreadWorkaround is true. + Also added WebCoreThreadViolationCheck. + (-[WebResource _suggestedFilename]): Added. Helper for _fileWrapperRepresentation. + (-[WebResource _fileWrapperRepresentation]): Rewrote to use methods instead of + getting at coreResource directly. + (-[WebResource _response]): Get property on main thread if + needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck. + (-[WebResource _stringValue]): Ditto. + (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Added. + (-[WebResource _initWithArguments:]): Added. Used to implement the cross-thread + version of _initWithData above. + + * WebView/WebResourceInternal.h: Changed to include WebResourcePrivate.h since internal + clients have access to the SPI as well as the API. Added definition of MAIL_THREAD_WORKAROUND + and the needMainThreadWorkaround helper function. + + * Misc/WebIconDatabase.mm: Removed include of now-defunct FoundationExtras.h + file. This probably fixes clean builds. + * WebCoreSupport/WebIconDatabaseClient.mm: Ditto. + + * WebCoreSupport/WebFrameLoaderClient.mm: Removed include of WebResourcePrivate.h, + since it's not actually used. + * WebView/WebDataSource.mm: Ditto. + * WebView/WebHTMLRepresentation.mm: Ditto. + +2008-12-23 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + - fix https://bugs.webkit.org/show_bug.cgi?id=22979 + crash seen in -[WebView drawsBackground] when quitting + <rdar://problem/6464601> + + * WebView/WebView.mm: + (-[WebView drawsBackground]): Added comment and a null check for _private. + +2008-12-22 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/6449588> REGRESSION (r38279-r38280): Minimize them remaximize a window with a flash plugin, plugin doesn't resume at full speed + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): Deminiaturizing should restart timers, not stop timers. + +2008-12-19 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler, Adele Peterson, Brady Eidson. + + Added SPI for getting an unsorted vector of all items in history. + + * History/WebHistory.h: + * History/WebHistory.mm: + (-[WebHistory allItems]): + +2008-12-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - implement FrameLoaderClient::shouldUseCredentialStorage() by calling + a new resource load delegae method. + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::shouldUseCredentialStorage): Added. Calls the + delegate method. If the method is unimplemented, returns true for + backwards compatibility. + * WebView/WebView.mm: + (-[WebView _cacheResourceLoadDelegateImplementations]): Initialize the + shouldUseCredentialStorageFunc member. + (CallResourceLoadDelegateReturningBoolean): Added. + * WebView/WebViewInternal.h: + * WebView/WebResourceLoadDelegatePrivate.h: Declared the delegate method + -webView:resource:shouldUseCredentialStorageForDataSource:. + +2008-12-18 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Jonathan Honeycutt. + + Fix an apparent typo in r39385 that is causing lots of crashes. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout): + +2008-12-18 Brady Eidson <beidson@apple.com> + + Reviewed by John Sullivan + + Initial visit to a website creates history items that start with a visit count of + zero instead of one + + * History/WebHistory.mm: + (-[WebHistoryPrivate visitedURL:withTitle:]): Set the visit count on new items + + * History/WebHistoryItem.mm: + (-[WebHistoryItem _setVisitCount:]): Call through to the WebCore item + * History/WebHistoryItemInternal.h: + +2008-12-18 Sam Weinig <sam@webkit.org> + + Reviewed by John Sullivan. + + Implement FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout() by calling + a new private frame load delegate method. + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout): + * WebView/WebView.mm: + (-[WebView _cacheFrameLoadDelegateImplementations]): + * WebView/WebViewInternal.h: + * WebView/WebViewPrivate.h: + +2008-12-16 Antti Koivisto <antti@apple.com> + + Reviewed by John Sullivan. + + Add version check for shift-reload behavior. + + * Misc/WebKitVersionChecks.h: + * WebView/WebFrame.mm: + (-[WebFrame reload]): + +2008-12-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Start sending keyboard events to the plug-in host. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::keyEvent): + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView keyDown:]): + (-[WebHostedNetscapePluginView keyUp:]): + * Plugins/Hosted/WebKitPluginHost.defs: + +2008-12-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + <rdar://problem/6450538> + + Fix flag enumeration. + + * Plugins/Hosted/WebKitPluginHostTypes.h: + +2008-12-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Instead of passing a gazillion booleans to WKPCLoadURL, pass a single set of flags. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCLoadURL): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::loadURL): + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHostTypes.h: + +2008-12-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Add trailing null to headers to avoid a crash in the plug-in host. + + * Plugins/Hosted/HostedNetscapePluginStream.mm: + (WebKit::HostedNetscapePluginStream::didReceiveResponse): + +2008-12-15 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Cameron Zwarich. + + <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard. + + * Configurations/Base.xcconfig: + * Configurations/DebugRelease.xcconfig: + +2008-12-15 Stephanie Lewis <slewis@apple.com> + + Fix build. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + +2008-12-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Change InstantiatePlugin to be asynchronous so we won't deadlock if the plug-in tries to call + back into us while it's being instantiated. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + * Plugins/Hosted/NetscapePluginHostProxy.h: + (WebKit::NetscapePluginHostProxy::clientPort): + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCInstantiatePluginReply): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::Reply::): + (WebKit::NetscapePluginInstanceProxy::Reply::Reply): + (WebKit::NetscapePluginInstanceProxy::Reply::~Reply): + (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply): + (WebKit::NetscapePluginInstanceProxy::setCurrentReply): + (WebKit::NetscapePluginInstanceProxy::waitForReply): + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply): + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + +2008-12-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Let WebKit generate a plug-in ID instead of having the plug-in host do it. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + Create the plug-in proxy before instantiating the plug-in. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::create): + (WebKit::NetscapePluginInstanceProxy::setRenderContextID): + (WebKit::NetscapePluginInstanceProxy::setUseSoftwareRenderer): + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + * Plugins/Hosted/WebKitPluginHost.defs: + +2008-12-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + LoadURL doesn't need to be asynchronous. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCLoadURL): + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + +2008-12-15 Antti Koivisto <antti@apple.com> + + Reviewed by Darin Adler. + + - Add [WebFrame reloadFromOrigin] for performing end-to-end reload. + - Add corresponding IBAction to WebView. + - Temporarily make [WebFrame reload] trigger end-to-end reload if shift modifier is pressed when it is called. + + * WebView/WebFrame.h: + * WebView/WebFrame.mm: + (-[WebFrame reload]): + (-[WebFrame reloadFromOrigin]): + * WebView/WebFramePrivate.h: Match the FrameLoadType enum in WebCore. + * WebView/WebView.h: + * WebView/WebView.mm: + (-[WebView reloadFromOrigin:]): + +2008-12-14 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/3258561> WebHistoryAllItemsRemovedNotification + should add items to userInfo + + * History/WebHistory.mm: + (-[WebHistoryPrivate allItems]): Added this helper method, which returns + all values in the _entriesByURL dictionary. + (-[WebHistory removeAllItems]): Changed to send the array of all items + in the notification. + +2008-12-13 Darin Adler <darin@apple.com> + + - <rdar://problem/6441035> WebTextIterator class not exported in WebKit + + * WebKit.exp: Added the class. We forgot to export it when we added + the WebTextIterator SPI. + +2008-12-12 Darin Adler <darin@apple.com> + + Rubber stamped by Adam Roben. + + - fix <rdar://problem/5648301> Can't tab around to text fields in Safari + login sheet after clicking static text, due to AppKit key loop change + + * Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib: Removed. + * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: Added. + * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: Removed. + * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: + Set nextKeyView of the selectable static texts to the editable text. + Updated nib format. + +2008-12-12 Stephanie Lewis <slewis@apple.com> + + Reviewed by Geoff Garen. + + Shrink Cache Sizes. + + * WebView/WebView.mm: + (+[WebView _setCacheModel:]): + +2008-12-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Tim Hatcher. + + Don't try to free the dummy "1" port state. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView sendEvent:isDrawRect:]): + (-[WebNetscapePluginView updateAndSetWindow]): + +2008-12-11 Cameron Zwarich <zwarich@apple.com> + + Rubber-stamped by Mark Rowe. + + Roll out r39212 due to assertion failures during layout tests, multiple + layout test failures, memory leaks, and obvious incorrectness. + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (-[WebPreferences fullDocumentTeardownEnabled]): + * WebView/WebPreferencesPrivate.h: + +2008-12-11 Stephanie Lewis <slewis@apple.com> + + Fix build. + + * WebView/WebView.mm: + +2008-12-11 Stephanie Lewis <slewis@apple.com> + + Reviewed by Oliver Hunt. + + Empty Web cache before quitting a debug build in order + to report accurate CachedResource leaks. + + * WebView/WebView.mm: + (-[WebView _close]): + +2008-12-11 Anders Carlsson <andersca@apple.com> + + Fix Tiger build. + + * Misc/WebNSDataExtras.h: + +2008-12-11 Anders Carlsson <andersca@apple.com> + + Reviewed by Cameron Zwarich. + + https://bugs.webkit.org/show_bug.cgi?id=22797 + REGRESSION: Crash at http://news.cnet.com/8301-17939_109-10119149-2.html + + Make sure to protect the stream because destroyStream can otherwise cause it to be deleted. + + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::destroyStreamWithReason): + +2008-12-10 Glenn Wilson <gwilson@google.com> + + Reviewed by Adam Roben. + + Added new methods for overriding default WebPreference values + and for resetting preferences to their defaults. + https://bugs.webkit.org/show_bug.cgi?id=20534 + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (-[WebPreferences resetToDefaults]): new method + (-[WebPreferences overridePreference:flag:]): new method + * WebView/WebPreferencesPrivate.h: new method signatures + +2008-12-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Implement support for NPN_PostURL/NPN_PostURLNotify in WebKit. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + Add stopAllStreams. + + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::stopAllStreams): + Factored out this from ::destroy. + + (WebKit::NetscapePluginInstanceProxy::destroy): + Call stopAllStreams(). + + (WebKit::NetscapePluginInstanceProxy::pluginHostDied): + Ditto. + + (WebKit::NetscapePluginInstanceProxy::loadURL): + Handle post being true. This code has been copied from WebNetscapePluginView.mm (for now). + +2008-12-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Move two NSData category methods to WebNSDataExtras.m. + + * Misc/WebNSDataExtras.h: + * Misc/WebNSDataExtras.m: + (-[NSData _web_startsWithBlankLine]): + (-[NSData _web_locationAfterFirstBlankLine]): + * Plugins/WebNetscapePluginView.mm: + +2008-12-10 Alice Liu <alice.liu@apple.com> + + fixed https://bugs.webkit.org/show_bug.cgi?id=20685 + + Reviewed by Darin Adler. + + * Misc/WebNSPasteboardExtras.mm: + Ask image for its file extension instead of falling back on MIME type and file path. + Also moved this code to before setting the pasteboard data so as not to set any if + no extension can be determined. + (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]): + + * WebView/WebHTMLView.mm: + Fixed a separate but related long-standing bug of how the filename for the promised + drag data is determined by asking the image for a proper file extension. + (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): + +2008-12-09 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Fix typecast. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): + +2008-12-09 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Implement software rendering of hosted plug-ins. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCInvalidateRect): + New MiG function. This is called by the plug-in host when it has drawn something. + + * Plugins/Hosted/WebHostedNetscapePluginView.h: + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView createPlugin]): + Create a software renderer. + + (-[WebHostedNetscapePluginView destroyPlugin]): + Destroy the software renderer. + + (-[WebHostedNetscapePluginView drawRect:]): + Draw using the software renderer. + + * Plugins/Hosted/WebKitPluginClient.defs: + Add InvalidateRect. + +2008-12-09 Brett Wilson <brettw@chromium.org> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=22177 + + Add a callback on ChromeClient that the state of form elements on + the page has changed. This is to allow clients implementing session + saving to know when the current state is dirty. + + * WebCoreSupport/WebChromeClient.h: + (WebChromeClient::formStateDidChange): + +2008-12-09 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Make sure to pause null events for hosted plug-ins as well. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): + +2008-12-09 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + * Plugins/Hosted/NetscapePluginHostProxy.h: + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy): + Unfortunately we can't use a libdispatch source right now, because of <rdar://problem/6393180>. + +2008-12-09 Timothy Hatcher <timothy@apple.com> + + Implement a few methods needed to keep Dictionary.app working on Leopard. + + <rdar://problem/6002160> Internal changes to WebKit in Safari 4 + Developer Preview might break Dictionary + + Reviewed by Dan Bernstein. + + * WebView/WebFrame.mm: + (-[WebFrame convertNSRangeToDOMRange:]): Added. Calls _convertNSRangeToDOMRange. + (-[WebFrame convertDOMRangeToNSRange:]): Added. Calls _convertDOMRangeToNSRange. + * WebView/WebHTMLView.mm: + (-[WebHTMLView _bridge]): Added. Returns the WebFrame, which has the methods + that Dictionary.app is using. + +2008-12-08 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + More work towards getting NPN_GetURL working. + + * Plugins/Hosted/HostedNetscapePluginStream.h: + Inherit from NetscapePlugInStreamLoaderClient. + + (WebKit::HostedNetscapePluginStream::streamID): + * Plugins/Hosted/HostedNetscapePluginStream.mm: + (WebKit::HostedNetscapePluginStream::startStream): + Keep track of the resposne URL and the MIME type. Pass the response URL to the + plug-in host. + + (WebKit::HostedNetscapePluginStream::didFinishLoading): + Disconnect the stream. + + (WebKit::HostedNetscapePluginStream::start): + Create a plug-in stream loader and start loading. + + (WebKit::HostedNetscapePluginStream::stop): + Cancel the load. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCLoadURL): + Fix the parameter order. + + (WKPCCancelLoadURL): + New function that cancels a load of a stream with a given reason. + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::destroy): + Stop the streams. + + (WebKit::NetscapePluginInstanceProxy::pluginStream): + Return a plug-in stream given a stream ID. + + (WebKit::NetscapePluginInstanceProxy::disconnectStream): + Remove the stream from the streams map. + + (WebKit::NetscapePluginInstanceProxy::loadRequest): + Create a stream and load it. + + * Plugins/Hosted/WebKitPluginClient.defs: + Add CancelLoadURL. + + * Plugins/Hosted/WebKitPluginHost.defs: + Add responseURL to StartStream. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView pluginPackage]): + Move this down to the base class from WebNetscapePluginView. + + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + +2008-12-08 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - WebKit/mac part of tracking the global history item for a WebView + + * WebView/WebView.mm: + (-[WebView _globalHistoryItem]): Added. Returns the page's global + history item. + * WebView/WebViewPrivate.h: + +2008-12-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=15671 + + VisiblePosition::caretRect() was renaemd to absoluteCaretBounds(). + + * WebView/WebFrame.mm: + (-[WebFrame _caretRectAtNode:offset:affinity:]): + +2008-12-06 David Kilzer <ddkilzer@apple.com> + + Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives + + <https://bugs.webkit.org/show_bug.cgi?id=22666> + + Reviewed by Darin Adler. + + * DOM/WebDOMOperations.mm: + (-[DOMNode _subresourceURLs]): Changed from using Vector<KURL> to + ListHashSet<KURL> when calling WebCore::Node::getSubresourceURLs(). + +2008-12-05 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page" + in Safari before opening a mail message in Mail + + * Carbon/CarbonWindowAdapter.m: Removed. + * Carbon/CarbonWindowAdapter.mm: Copied from WebKit/mac/Carbon/CarbonWindowAdapter.m. + (+[CarbonWindowAdapter initialize]): + * History/WebBackForwardList.mm: + (+[WebBackForwardList initialize]): + * History/WebHistoryItem.mm: + (+[WebHistoryItem initialize]): + * Misc/WebElementDictionary.mm: + (+[WebElementDictionary initialize]): + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (+[WebHostedNetscapePluginView initialize]): + * Plugins/WebBaseNetscapePluginView.mm: + * Plugins/WebBasePluginPackage.m: Removed. + * Plugins/WebBasePluginPackage.mm: Copied from WebKit/mac/Plugins/WebBasePluginPackage.m. + (+[WebBasePluginPackage initialize]): + * Plugins/WebNetscapePluginView.mm: + (+[WebNetscapePluginView initialize]): + * WebCoreSupport/WebEditorClient.mm: + (+[WebEditCommand initialize]): + * WebCoreSupport/WebFrameLoaderClient.mm: + * WebView/WebArchive.mm: + (+[WebArchivePrivate initialize]): + * WebView/WebDataSource.mm: + (+[WebDataSourcePrivate initialize]): + * WebView/WebHTMLView.mm: + (+[WebHTMLViewPrivate initialize]): + (+[WebHTMLView initialize]): + * WebView/WebResource.mm: + (+[WebResourcePrivate initialize]): + * WebView/WebView.mm: + (+[WebViewPrivate initialize]): + Call JSC::initializeThreading(); + +2008-12-04 Stephanie Lewis <slewis@apple.com> + + Fix build. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCLoadURL): + +2008-12-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + More work on streams. + + * Plugins/Hosted/HostedNetscapePluginStream.h: Added. + (WebKit::HostedNetscapePluginStream::create): + * Plugins/Hosted/HostedNetscapePluginStream.mm: Added. + (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream): + (WebKit::HostedNetscapePluginStream::startStreamWithResponse): + (WebKit::HostedNetscapePluginStream::startStream): + (WebKit::HostedNetscapePluginStream::didReceiveData): + (WebKit::HostedNetscapePluginStream::didFinishLoading): + (WebKit::HostedNetscapePluginStream::didReceiveResponse): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::pluginView): + (WebKit::NetscapePluginInstanceProxy::hostProxy): + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest): + (WebKit::NetscapePluginInstanceProxy::PluginRequest::requestID): + (WebKit::NetscapePluginInstanceProxy::PluginRequest::request): + (WebKit::NetscapePluginInstanceProxy::PluginRequest::frameName): + (WebKit::NetscapePluginInstanceProxy::PluginRequest::didStartFromUserGesture): + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + (WebKit::NetscapePluginInstanceProxy::performRequest): + (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript): + (WebKit::NetscapePluginInstanceProxy::requestTimerFired): + (WebKit::NetscapePluginInstanceProxy::loadRequest): + * Plugins/Hosted/WebKitPluginHost.defs: + +2008-12-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Start implementing WKPCLoadURL. Currently this has copied a lot of code from WebNetscapePluginView + but once we have a more complete implementation of NPStreams we can start refactoring things so that the + implementations can share more code. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WKPCLoadURL): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + (WebKit::NetscapePluginInstanceProxy::loadURL): + (WebKit::NetscapePluginInstanceProxy::performRequest): + (WebKit::NetscapePluginInstanceProxy::requestTimerFired): + (WebKit::NetscapePluginInstanceProxy::loadRequest): + * Plugins/Hosted/WebKitPluginClient.defs: + * Plugins/Hosted/WebKitPluginHost.defs: + +2008-12-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Move requestWithURLCString to WebBaseNetscapePluginView. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView requestWithURLCString:]): + * Plugins/WebNetscapePluginView.mm: + +2008-12-03 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Move WebPluginRequest to its own file. + + * Plugins/WebNetscapePluginView.mm: + * Plugins/WebPluginRequest.h: Added. + * Plugins/WebPluginRequest.m: Added. + (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]): + (-[WebPluginRequest dealloc]): + (-[WebPluginRequest request]): + (-[WebPluginRequest frameName]): + (-[WebPluginRequest isCurrentEventUserGesture]): + (-[WebPluginRequest sendNotification]): + (-[WebPluginRequest notifyData]): + +2008-12-03 Anders Carlsson <andersca@apple.com> + + Handle the CA model. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView setWindowIfNecessary]): + +2008-12-03 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + <rdar://problem/6412293> + Call NPP_SetWindow for CA plug-ins. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): + (-[WebNetscapePluginView restorePortState:]): + (-[WebNetscapePluginView isNewWindowEqualToOldWindow]): + (-[WebNetscapePluginView updateAndSetWindow]): + (-[WebNetscapePluginView setWindowIfNecessary]): + +2008-12-03 Anders Carlsson <andersca@apple.com> + + Fix the release build. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::deadNameNotificationCallback): + +2008-12-03 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6412234> + Don't crash if we can't launch the plug-in host. + + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + +2008-12-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Start processing messages sent to the client port. + + * Plugins/Hosted/NetscapePluginHostProxy.h: + * Plugins/Hosted/NetscapePluginHostProxy.mm: + Add a map from ports to plug-in proxies. Turn the set of instances into a map from + pluginID to instance proxy. + + (WKPCStatusText): + Look up the right instance proxy and call status(). + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::pluginID): + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::status): + Implement this. + + * Plugins/Hosted/WebKitPluginClient.defs: + Add the plug-in ID to StatusText. + +2008-12-02 Gregory Hughes <ghughes@apple.com> + + Reviewed by Beth Dakin. + + Bug 22513: ZOOM: text selection does not send correct zoom bounds + + When zoomed, text selection must send the zoom bounds in flipped + screen coordinates. + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory accessibilityConvertScreenRect:]): + +2008-12-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Create a client mach port and pass it to the plug-in host. + + * Plugins/Hosted/NetscapePluginHostManager.h: + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::hostForPackage): + (WebKit::NetscapePluginHostManager::spawnPluginHost): + * Plugins/Hosted/NetscapePluginHostProxy.h: + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + * Plugins/Hosted/WebKitPluginHost.defs: + +2008-12-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Let the plug-in views know if the plug-in host crashes. + + * Plugins/Hosted/NetscapePluginHostManager.h: + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + * Plugins/Hosted/NetscapePluginHostProxy.h: + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::pluginHostDied): + (WebKit::NetscapePluginHostProxy::addPluginInstance): + (WebKit::NetscapePluginHostProxy::removePluginInstance): + + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::create): + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + Keep a pointer to the host proxy. + + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + Add the instance to the host set. + + (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy): + Remove the instance form the host set. + + (WebKit::NetscapePluginInstanceProxy::pluginHostDied): + Tell the plug-in view that the plug-in died. + + * Plugins/Hosted/WebHostedNetscapePluginView.h: + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView createPlugin]): + Pass the plug-in view to the instantiatePlugin. + + (-[WebHostedNetscapePluginView pluginHostDied]): + Handle the plug-in host crashing. + + (-[WebHostedNetscapePluginView drawRect:]): + Fill the plug-in view with a nice red shade if the plug-in crashes. + +2008-12-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Recover if the plug-in host dies and we try to instantiate another plugin before we get the port death notification + + * Plugins/Hosted/NetscapePluginHostManager.h: + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::pluginHostDied): + Remove the plug-in host from the map. + + (WebKit::NetscapePluginHostManager::instantiatePlugin): + NetscapePluginHostProxy is no longer refcounted. + + * Plugins/Hosted/NetscapePluginHostProxy.h: + This is no longer refcounted. Add a set of plug-in instances (unused for now). + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + Create a death notification port. + + (WebKit::NetscapePluginHostProxy::pluginHostDied): + Tell the manager that we're gone and delete ourselves. + + (WebKit::NetscapePluginHostProxy::deathPortCallback): + New CFMachPort callback. + +2008-12-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Move instantiatePlugin to NetscapePluginHostManager. + + * Plugins/Hosted/NetscapePluginHostManager.h: + * Plugins/Hosted/NetscapePluginHostManager.mm: + (WebKit::NetscapePluginHostManager::instantiatePlugin): + * Plugins/Hosted/NetscapePluginHostProxy.h: + * Plugins/Hosted/NetscapePluginHostProxy.mm: + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView createPlugin]): + +2008-12-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Pass the plug-in host port directly to the instance proxy. + + * Plugins/Hosted/NetscapePluginHostProxy.mm: + (WebKit::NetscapePluginHostProxy::instantiatePlugin): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: + (WebKit::NetscapePluginInstanceProxy::create): + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + (WebKit::NetscapePluginInstanceProxy::resize): + (WebKit::NetscapePluginInstanceProxy::destroy): + (WebKit::NetscapePluginInstanceProxy::focusChanged): + (WebKit::NetscapePluginInstanceProxy::windowFocusChanged): + (WebKit::NetscapePluginInstanceProxy::windowFrameChanged): + (WebKit::NetscapePluginInstanceProxy::startTimers): + (WebKit::NetscapePluginInstanceProxy::mouseEvent): + (WebKit::NetscapePluginInstanceProxy::stopTimers): + +2008-12-01 Anders Carlsson <andersca@apple.com> + + Try to fix the Tiger build. + + * Plugins/WebNetscapePluginView.mm: + +2008-12-01 Anders Carlsson <andersca@apple.com> + + Rename _layer to _pluginLayer where I forgot to do so. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView destroyPlugin]): + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView createPlugin]): + (-[WebNetscapePluginView setLayer:]): + (-[WebNetscapePluginView destroyPlugin]): + +2008-12-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam Roben. + + Make sure to re-insert layers as needed so they won't be lost when the layer backed + view is removed from the view hierarchy. + + * Plugins/Hosted/WebHostedNetscapePluginView.h: + Add _pluginLayer ivar. + + * Plugins/Hosted/WebHostedNetscapePluginView.mm: + (-[WebHostedNetscapePluginView createPlugin]): + Don't add the layer here. + + (-[WebHostedNetscapePluginView setLayer:]): + Instead, add it here. + + (-[WebHostedNetscapePluginView destroyPlugin]): + Set _pluginLayer to 0. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView createPlugin]): + Don't add the layer here. + + (-[WebNetscapePluginView setLayer:]): + Do it here. + +2008-11-30 Antti Koivisto <antti@apple.com> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=22557 + + Report free size in central and thread caches too. + + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics memoryStatistics]): + +2008-11-29 Antti Koivisto <antti@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=22557 + Add statistics for JavaScript GC heap. + + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics javaScriptObjectsCount]): + (+[WebCoreStatistics memoryStatistics]): + +2008-11-29 Antti Koivisto <antti@apple.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=22557 + + - Add purgeable memory statistics to cache statistics. + - Add method for getting fastMalloc statistics. + - Add method to force returning free memory back to system. + + * Misc/WebCache.mm: + (+[WebCache statistics]): + * Misc/WebCoreStatistics.h: + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics stopIgnoringWebCoreNodeLeaks]): + (+[WebCoreStatistics memoryStatistics]): + (+[WebCoreStatistics returnFreeMemoryToSystem]): + +2008-11-26 Mark Rowe <mrowe@apple.com> + + Fix the Tiger build. + + mig.h does not always define __MigTypeCheck on Tiger, which leads to problems when the generated + code is built with -Wundef. + + * Plugins/Hosted/WebKitPluginHostTypes.h: + +2008-11-26 Anders Carlsson <andersca@apple.com> + + Fix build. + + * Configurations/Base.xcconfig: + +2008-11-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark Rowe. + + Move WebHostedNetscapePluginView.{h|mm} to Plugins/Hosted. + + (-[WebHostedNetscapePluginView handleMouseMoved:]): + (-[WebHostedNetscapePluginView setAttributeKeys:andValues:]): + Fix a leak. + + (-[WebHostedNetscapePluginView createPlugin]): + Instantiate the plug-in, store the plug-in proxy in the _proxy ivar. + + (-[WebHostedNetscapePluginView loadStream]): + (-[WebHostedNetscapePluginView shouldStop]): + Add stubs for these. + + (-[WebHostedNetscapePluginView updateAndSetWindow]): + (-[WebHostedNetscapePluginView windowFocusChanged:]): + (-[WebHostedNetscapePluginView destroyPlugin]): + (-[WebHostedNetscapePluginView startTimers]): + (-[WebHostedNetscapePluginView stopTimers]): + (-[WebHostedNetscapePluginView focusChanged]): + (-[WebHostedNetscapePluginView windowFrameDidChange:]): + (-[WebHostedNetscapePluginView mouseDown:]): + (-[WebHostedNetscapePluginView mouseUp:]): + (-[WebHostedNetscapePluginView mouseDragged:]): + (-[WebHostedNetscapePluginView mouseEntered:]): + (-[WebHostedNetscapePluginView mouseExited:]): + Call the proxy. + + (-[WebHostedNetscapePluginView addWindowObservers]): + (-[WebHostedNetscapePluginView removeWindowObservers]): + Add/remove observers for when the window frame changes. + + * Plugins/WebHostedNetscapePluginView.h: Removed. + * Plugins/WebHostedNetscapePluginView.mm: Removed. + +2008-11-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark Rowe. + + Add the plug-in host proxy and plug-in instance proxy objects. + + These are just simple objects that forward their calls to the plug-in host. + + * Plugins/Hosted/NetscapePluginHostProxy.h: Added. + (WebKit::NetscapePluginHostProxy::create): + (WebKit::NetscapePluginHostProxy::port): + * Plugins/Hosted/NetscapePluginHostProxy.mm: Added. + (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): + (WebKit::NetscapePluginHostProxy::instantiatePlugin): + * Plugins/Hosted/NetscapePluginInstanceProxy.h: Added. + (WebKit::NetscapePluginInstanceProxy::create): + (WebKit::NetscapePluginInstanceProxy::renderContextID): + (WebKit::NetscapePluginInstanceProxy::useSoftwareRenderer): + * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Added. + (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): + (WebKit::NetscapePluginInstanceProxy::resize): + (WebKit::NetscapePluginInstanceProxy::destroy): + (WebKit::NetscapePluginInstanceProxy::focusChanged): + (WebKit::NetscapePluginInstanceProxy::windowFocusChanged): + (WebKit::NetscapePluginInstanceProxy::windowFrameChanged): + (WebKit::NetscapePluginInstanceProxy::startTimers): + (WebKit::NetscapePluginInstanceProxy::mouseEvent): + (WebKit::NetscapePluginInstanceProxy::stopTimers): + +2008-11-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein, Mark Rowe and Kevin Decker. + + Add the plug-in host manager singleton. + + * Plugins/Hosted/NetscapePluginHostManager.h: Added. + * Plugins/Hosted/NetscapePluginHostManager.mm: Added. + + (WebKit::NetscapePluginHostManager::hostForPackage): + If there's an existing host proxy available, just return it. Otherwise spawn a new plug-in host and + create a new plug-in host proxy from the new plug-in host port. + + (WebKit::NetscapePluginHostManager::spawnPluginHost): + Pass the plug-in host path and the preferred CPU type to the plug-in agent. When the plug-in host has + finished launching, pass it the path to the plug-in bundle. + + (WebKit::NetscapePluginHostManager::initializeVendorPort): + Check in with the plug-in agent and get the new plug-in vendor port back. + +2008-11-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark Rowe. + + * Plugins/Hosted/WebKitPluginHostTypes.h: + Add copyright headers and fix the spacing around the *'s. + +2008-11-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + * Plugins/Hosted/WebKitPluginHost.defs: + Add copyright headers. + + * Plugins/Hosted/WebKitPluginHostTypes.h: Added. + Forgot to add this. + +2008-11-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Add plug-in host .defs. + + * Plugins/Hosted/WebKitPluginAgent.defs: Added. + * Plugins/Hosted/WebKitPluginAgentReply.defs: Added. + * Plugins/Hosted/WebKitPluginClient.defs: Added. + * Plugins/Hosted/WebKitPluginHost.defs: Added. + * Plugins/Hosted/WebKitPluginHostTypes.defs: Added. + +2008-11-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark Rowe and Kevin Decker. + + Minor plug-in changes. + + * Plugins/WebBaseNetscapePluginView.h: + Add add/remove observer method declarations. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView isFlipped]): + Move this down from WebNetscapePluginView. + + * Plugins/WebNetscapePluginPackage.h: + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage pluginHostArchitecture]): + Getter for the plug-in host architecture. + + * Plugins/WebNetscapePluginView.mm: + +2008-11-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - include the text direction submenu in context menus when appropriate + + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): Changed the default + textDirectionSubmenuInclusionBehavior to "automatically", which includes + the menu when the selection is confined to a single paragraph the either + has right-to-left base writing direction or contains right-to-left or + embedded text. Left the default for Tiger and Leopard to be "never". + +2008-11-24 Darin Fisher <darin@chromium.org> + + Fix bustage. + + * History/WebHistory.mm: + +2008-11-24 Glenn Wilson <gwilson@chromium.org> + + Reviewed by Alexey Proskuryakov. + + http://bugs.webkit.org/show_bug.cgi?id=15643 + + Added API support for the "trailing whitespace" work-around. This includes an APIs + to get and set the state of this configuration variable. + + * WebCoreSupport/WebEditorClient.h: + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::selectTrailingWhitespaceEnabled): + * WebView/WebView.mm: + (-[WebView setSelectTrailingWhitespaceEnabled:]): + (-[WebView isSelectTrailingWhitespaceEnabled]): + (-[WebView setSmartInsertDeleteEnabled:]): + * WebView/WebViewPrivate.h: + +2008-11-24 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + - https://bugs.webkit.org/show_bug.cgi?id=22470 + remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory + + * WebCoreSupport/WebFrameLoaderClient.h: Remove argument. + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::updateGlobalHistory): Get the URL from the + DocumentLoader, just as we do the title and the failure flag. + +2008-11-24 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + - finish https://bugs.webkit.org/show_bug.cgi?id=22295 + track which history items are from page load failures + + Last time around I did this only for the back/forward list and missed the + global history list. + + * History/WebHistory.mm: + (-[WebHistory _visitedURL:withTitle:wasFailure:]): Added wasFailure argument. + Set the flag on the newly created history item. Also eliminated the use of + autorelease on the added-items array. + * History/WebHistoryInternal.h: Ditto. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::updateGlobalHistory): Added code to check for failure + and pass the argument in to WebHistory. Given that this function gets other + data from the DocumentLoader, I think we should get rid of the KURL argument, + but that's a separate issue so I don't do it in this patch. + +2008-11-24 Simon Fraser <simon.fraser@apple.com> + + Fix call to Frame::selectionBounds in Tiger build. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _lookUpInDictionaryFromMenu:]): + +2008-11-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + Via: https://bugs.webkit.org/show_bug.cgi?id=22433 + + Rename RenderView::selectionRect() to selectionBounds(), to remove + longstanding ambiguity with the base class selectionRect() method. + Do the same on Frame for consistency with RenderView. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _lookUpInDictionaryFromMenu:]): + (-[WebHTMLView selectionRect]): + (-[WebHTMLView selectionImageRect]): + +2008-11-20 Pierre-Olivier Latour <pol@apple.com> + + Reviewed by Dan Bernstein. + + WebKit should be using Device RGB colorspace everywhere for + consistency. + + https://bugs.webkit.org/show_bug.cgi?id=22300 + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _dragImageForURL:withLabel:]): + (-[WebHTMLView _colorAsString:]): + +2008-11-20 Darin Adler <darin@apple.com> + + Earlier version reviewed by Justin Garcia. + + - part of fix for <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode + Also resolves <rdar://problem/5000134>. + + * WebView/WebHTMLView.mm: Removed some unused code, and made the Tiger workaround for bug 3789278 + be Tiger-only. + (-[WebHTMLView resignFirstResponder]): Removed code setting unused resigningFirstResponder flag. + (-[WebHTMLView _wantsKeyDownForEvent:]): Added. Returns YES. + (-[WebHTMLView insertText:]): Don't try to insert text if the selection is not editable. We used + to prevent even processing the input, but that's not practical since some commands need to work + even in non-editable regions. + +2008-11-20 Anders Carlsson <andersca@apple.com> + + Reviewed by Jon Honeycutt. + + Move some frame/page checking code down to the base class. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView start]): + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView _createPlugin]): + +2008-11-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Test: plugins/netscape-plugin-setwindow-size-2.html + + Fix bug where NPP_SetWindow wasn't getting called for some plug-ins. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView updateAndSetWindow]): + Don't bail if the drawing model is not the CA drawing model. Remove some code + that was doing the wrong thing. + +2008-11-19 Darin Fisher <darin@chromium.org> + + Reviewed by Geoff Garen. + + https://bugs.webkit.org/show_bug.cgi?id=22345 + Define ScriptValue as a thin container for a JSC::Value*. + + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + * WebView/WebView.mm: + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): + +2008-11-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/6383762> WebKit r38340 crash on key press in plugin + + Set the value to 0 before calling NPP_GetValue, in case the plug-in returns NPERR_NO_ERROR but does not + update the value. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView createPlugin]): + +2008-11-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Make sure to copy the MIME type. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]): + +2008-11-19 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + First step toward fixing <rdar://problem/6263293> WebScriptDebugDelegate + should use intptr_t for sourceId, not int + + Added a conditional typedef (currently disabled) to switch sourceId to + intptr_t in non-Tiger, non-Leopard builds. + + * DefaultDelegates/WebDefaultScriptDebugDelegate.m: + (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]): + (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]): + (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]): + (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]): + (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]): + (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]): + * WebView/WebScriptDebugDelegate.h: + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::sourceParsed): + (WebScriptDebugger::callEvent): + (WebScriptDebugger::atStatement): + (WebScriptDebugger::returnEvent): + (WebScriptDebugger::exception): + +2008-11-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - fix https://bugs.webkit.org/show_bug.cgi?id=22331 + <rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item + + * WebView/WebUIDelegatePrivate.h: Reorder new enum values after existing + ones. + +2008-11-17 Beth Dakin <bdakin@apple.com> + + Reviewed by Adele Peterson. + + Fix for <rdar://problem/6373102> REGRESSION (r36919): In a new mail + message, the caret appears in message body by default + + This fixes a regression caused by http://trac.webkit.org/changeset/36919. + That change was too sweeping; we do not want to + unconditionally set the page to be active, but we can be looser + than the original constraints. This patch set the window active if + the first responder is or is a descendant of the main frame's frame + view. + + * WebView/WebView.mm: + (-[WebView _updateFocusedAndActiveStateForFrame:]): + +2008-11-18 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=22337 + Enable workers by default + + * Configurations/WebKit.xcconfig: Define ENABLE_WORKERS (change from ENABLE_WORKER_THREADS, + which was accidentally committed before). + +2008-11-17 Geoffrey Garen <ggaren@apple.com> + + Not reviewed. + + Try to fix Mac build. + + * WebView/WebScriptDebugDelegate.mm: + +2008-11-17 Pierre-Olivier Latour <pol@apple.com> + + Reviewed by Sam Weinig. + + Added SPI to allow pausing a running CSS transition or animation + at a given time for testing purposes. + + https://bugs.webkit.org/show_bug.cgi?id=21261 + + * WebView/WebFrame.mm: + (-[WebFrame _pauseAnimation:onNode:atTime:]): + (-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]): + * WebView/WebFramePrivate.h: + +2008-11-17 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Updated for JavaScriptCore renames. + + * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/runtime/Interpreter.h. + * ForwardingHeaders/runtime/Interpreter.h: Removed. + * WebView/WebScriptDebugDelegate.mm: + +2008-11-16 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21810 + Remove use of static C++ objects that are destroyed at exit time (destructors) + + Use DEFINE_STATIC_LOCAL for static RetainPtr<T> + + * Misc/WebNSPasteboardExtras.mm: Use DEFINE_STATIC_LOCAL + (+[NSPasteboard _web_writableTypesForURL]): + (_createWritableTypesForImageWithoutArchive): Created so accessor has one line initialization + (_writableTypesForImageWithoutArchive): Use create function for one line initialization + (_createWritableTypesForImageWithArchive): Created so accessor has one line initialization + (_writableTypesForImageWithArchive): Use create function for one line initialization + * WebCoreSupport/WebPasteboardHelper.mm: Use DEFINE_STATIC_LOCAL + (WebPasteboardHelper::insertablePasteboardTypes): + * WebView/WebHTMLRepresentation.mm: Use DEFINE_STATIC_LOCAL + (+[WebHTMLRepresentation supportedMIMETypes]): + (+[WebHTMLRepresentation supportedNonImageMIMETypes]): + (+[WebHTMLRepresentation supportedImageMIMETypes]): + +2008-11-16 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + - https://bugs.webkit.org/show_bug.cgi?id=22295 + track which history items are from page load failures + + * History/WebHistoryItem.mm: Added lastVisitWasFailureKey. + (-[WebHistoryItem initFromDictionaryRepresentation:]): Set the lastVisitWasFailure + flag in the history item if the dictionary had lastVisitWasFailureKey true. + (-[WebHistoryItem dictionaryRepresentation]): Set the lastVisitWasFailureKey boolean + in the dictionary if the history item had the lastVisitWasFailure flag. + (-[WebHistoryItem lastVisitWasFailure]): Added. + + * History/WebHistoryItemInternal.h: Moved include of WebBackForwardList here from + WebHistoryItemPrivate.h; removed other unneeded includes. + + * History/WebHistoryItemPrivate.h: Added lastVisitWasFailure method. + Removed unneeded includes. + + * Misc/WebNSDictionaryExtras.h: Added _webkit_boolForKey. + * Misc/WebNSDictionaryExtras.m: + (-[NSDictionary _webkit_boolForKey:]): Added. + +2008-11-14 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21810 + Remove use of static C++ objects that are destroyed at exit time (destructors) + + Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid + exit-time destructor. Update code that was changed to fix this issue that ran + into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference + in gcc build 5465). Also typdefs for template types needed to be added in some + cases so the type could make it through the macro successfully. + + Basically code of the form: + static T m; + becomes: + DEFINE_STATIC_LOCAL(T, m, ()); + + Also any code of the form: + static T& m = *new T; + also becomes: + DEFINE_STATIC_LOCAL(T, m, ()); + + * ForwardingHeaders/wtf/StdLibExtras.h: Added. + * History/WebBackForwardList.mm: + (backForwardLists): + * History/WebHistoryItem.mm: + (historyItemWrappers): + * Misc/WebStringTruncator.m: + (fontFromNSFont): + * Plugins/WebBaseNetscapePluginStream.mm: + (streams): + * WebView/WebView.mm: + (aeDescFromJSValue): + +2008-11-14 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - <rdar://problem/6234333> Implement action methods for setting and clearing character-level directionality + - part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory contextMenuItemTagTextDirectionMenu]): Added. + * WebView/WebFrame.mm: + (core): Added a convertor from WebTextDirectionSubmenuInclusionBehavior + to WebCore::TextDirectionSubmenuInclusionBehavior. + * WebView/WebFrameInternal.h: + * WebView/WebHTMLView.mm: + Added makeTextWritingDirectionLeftToRight:, + makeTextWritingDirectionNatural: and + makeTextWritingDirectionRightToLeft: using the WEBCORE_COMMAND macro. + * WebView/WebPreferenceKeysPrivate.h: + Added WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey. + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): Set the default Text Direction + submenu inclusion behavior to never include. + (-[WebPreferences textDirectionSubmenuInclusionBehavior]): Added this + accessor. + (-[WebPreferences setTextDirectionSubmenuInclusionBehavior:]): Ditto. + * WebView/WebPreferencesPrivate.h: Defined the + WebTextDirectionSubmenuInclusionBehavior enum and declared + accessors. + * WebView/WebUIDelegatePrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Added code to transfer + the Text Direction submenu inclusion behavior preference to WebCore + settings. + +2008-11-14 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + - fix https://bugs.webkit.org/show_bug.cgi?id=22222 + selectKeyViewPrecedingView: with document view that can't be first responder + makes WebFrameView be first responder + + * WebView/WebFrameView.mm: (-[WebFrameView becomeFirstResponder]): + Moved the acceptsFirstResponder special case inside the if statement so it won't + run in the "selecting previous" case. Also removed the "just before shipping Tiger" + code that doesn't need to be here any more. + +2008-11-13 Mark Rowe <mrowe@apple.com> + + Fix the build. + + Don't use NSPICTPboardType on systems where it is deprecated. The system will take care of converting + from this format to a format that we can understand. + + * WebCoreSupport/WebPasteboardHelper.mm: + (WebPasteboardHelper::insertablePasteboardTypes): + * WebView/WebHTMLView.mm: + (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): + (+[WebHTMLView _insertablePasteboardTypes]): + (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): + +2008-11-13 John Sullivan <sullivan@apple.com> + + fixed <rdar://problem/6361578> Web Kit UI strings: a few edits + + Reviewed by Tim Hatcher + + * Misc/WebKitErrors.m: + "Cannot show content with specified mime type" -> "Content with specified MIME type can't be shown" + "Cannot show URL" -> "The URL can't be shown" + "Cannot find plug-in" -> "The plug-in can't be found" + "Cannot load plug-in" -> "The plug-in can't be loaded" + + * Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib: + * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: + * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: Added. + * Panels/English.lproj/WebAuthenticationPanel.nib/objects.nib: Removed. + Changed placeholder fine print in the nib to match one of the two strings it might be replaced by. + This automagically updated the nib to a newer format, hence the objects -> keyedobjects change. + I could have changed the placeholder fine print to be empty but this lets localizers understand + the dialog layout better. + + * Panels/WebAuthenticationPanel.m: + (-[WebAuthenticationPanel setUpForChallenge:]): + "you need to log in" -> "you must log in" + "Your log-in information" -> "Your login information" + "The name or password entered" -> "The user name or password you entered" + "Please try again." -> "Make sure you're entering them correctly, and then try again." + +2008-11-12 Stephanie Lewis <slewis@apple.com> + + Fix Mac build. + + * Panels/WebAuthenticationPanel.m: + +2008-11-12 John Sullivan <sullivan@apple.com> + + fixed <rdar://problem/3839110> Authentication dialogs talk about passwords being sent "in the clear" + + Reviewed by Tim Hatcher + + * Panels/WebAuthenticationPanel.m: + (-[WebAuthenticationPanel setUpForChallenge:]): + use "unencrypted" instead of "in the clear". Also, use the "Your log-in information + will be sent securely" version when the receiving server is https, regardless of + whether it uses basic or digest authentication. + +2008-11-12 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + - fix https://bugs.webkit.org/show_bug.cgi?id=22223 + <rdar://problem/6366864> REGRESSION(r38245): "View Source" crashes the browser + + * WebView/WebFrameView.mm: (-[WebFrameView viewDidMoveToWindow]): + Add missing null check. + +2008-11-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Fix stupid bug. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView createPlugin]): + +2008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon Hausmann. + + Move _web_encodingForResource from WebKit into WebCore and change return type + + This change is needed to implement NSAPI in WebCore for Mac, see: + + https://bugs.webkit.org/show_bug.cgi?id=21427 + + + * Misc/WebKitNSStringExtras.m: + (+[NSString _web_encodingForResource:]): + +2008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon Hausmann. + + Moved the implementation of _webkit_isCaseInsensitiveEqualToString to + WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString. + + This change is needed to implement NSAPI in WebCore for Mac, see: + + https://bugs.webkit.org/show_bug.cgi?id=21427 + + * Misc/WebKitNSStringExtras.m: + (-[NSString _webkit_isCaseInsensitiveEqualToString:]): + +2008-11-11 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + WebKit/mac part of adding a master volume control for media elements in a WebView + + * WebView/WebView.mm: + (-[WebView setMediaVolume:]): Added. + (-[WebView mediaVolume]): Added. + * WebView/WebViewPrivate.h: + +2008-11-11 Aaron Golden <agolden@apple.com> + + Bug 22134: -[WebHistoryItem dictionaryRepresentation] accesses past the end of a vector + + <https://bugs.webkit.org/show_bug.cgi?id=22134> + + Reviewed by Geoff Garen. + + * History/WebHistoryItem.mm: + (-[WebHistoryItem initFromDictionaryRepresentation:]): + (-[WebHistoryItem dictionaryRepresentation]): + +2008-11-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Move renewGState to the base class. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView renewGState]): + * Plugins/WebNetscapePluginView.mm: + +2008-11-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Move start, stop and all the related methods down to WebBaseNetscapePluginView. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView updateAndSetWindow]): + (-[WebBaseNetscapePluginView addWindowObservers]): + (-[WebBaseNetscapePluginView removeWindowObservers]): + (-[WebBaseNetscapePluginView start]): + (-[WebBaseNetscapePluginView stop]): + (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): + (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]): + (-[WebBaseNetscapePluginView viewDidMoveToWindow]): + (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]): + (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): + (-[WebBaseNetscapePluginView windowWillClose:]): + (-[WebBaseNetscapePluginView windowBecameKey:]): + (-[WebBaseNetscapePluginView windowResignedKey:]): + (-[WebBaseNetscapePluginView windowDidMiniaturize:]): + (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): + (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]): + (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]): + (-[WebBaseNetscapePluginView preferencesHaveChanged:]): + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + +2008-11-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Move rightMouseDown, rightMouseUp and sendActivateEvent to the base plugin view. + Add stubs for createPlugin, loadStream, shouldStop and destroyPlugin. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView windowFocusChanged:]): + (-[WebBaseNetscapePluginView createPlugin]): + (-[WebBaseNetscapePluginView loadStream]): + (-[WebBaseNetscapePluginView destroyPlugin]): + (-[WebBaseNetscapePluginView sendActivateEvent:]): + (-[WebBaseNetscapePluginView rightMouseDown:]): + (-[WebBaseNetscapePluginView rightMouseUp:]): + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView windowFocusChanged:]): + +2008-11-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Factor plug-in type specific code out to three new methods, createPlugin, destroyPlugin and loadStream. + + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView createPlugin]): + (-[WebNetscapePluginView loadStream]): + (-[WebNetscapePluginView start]): + (-[WebNetscapePluginView shouldStop]): + (-[WebNetscapePluginView destroyPlugin]): + (-[WebNetscapePluginView stop]): + +2008-11-10 Anders Carlsson <andersca@apple.com> + + Fix Tiger build. + + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage load]): + +2008-11-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Move even more code down to WebBaseNetscapePluginView, get rid of some unnecessary methods. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView focusChanged]): + (-[WebBaseNetscapePluginView visibleRect]): + (-[WebBaseNetscapePluginView acceptsFirstResponder]): + (-[WebBaseNetscapePluginView setHasFocus:]): + (-[WebBaseNetscapePluginView becomeFirstResponder]): + (-[WebBaseNetscapePluginView resignFirstResponder]): + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView focusChanged]): + (-[WebNetscapePluginView tellQuickTimeToChill]): + (-[WebNetscapePluginView updateAndSetWindow]): + (-[WebNetscapePluginView start]): + (-[WebNetscapePluginView stop]): + (-[WebNetscapePluginView viewWillMoveToWindow:]): + (-[WebNetscapePluginView createPluginScriptableObject]): + (-[WebNetscapePluginView pluginView:receivedData:]): + (-[WebNetscapePluginView pluginView:receivedError:]): + (-[WebNetscapePluginView pluginViewFinishedLoading:]): + (-[WebNetscapePluginView inputContext]): + (-[WebNetscapePluginView hasMarkedText]): + (-[WebNetscapePluginView insertText:]): + (-[WebNetscapePluginView markedRange]): + (-[WebNetscapePluginView selectedRange]): + (-[WebNetscapePluginView setMarkedText:selectedRange:]): + (-[WebNetscapePluginView unmarkText]): + (-[WebNetscapePluginView validAttributesForMarkedText]): + (-[WebNetscapePluginView attributedSubstringFromRange:]): + (-[WebNetscapePluginView characterIndexForPoint:]): + (-[WebNetscapePluginView doCommandBySelector:]): + (-[WebNetscapePluginView firstRectForCharacterRange:]): + (-[WebNetscapePluginView _viewHasMoved]): + (-[WebNetscapePluginView _redeliverStream]): + +2008-11-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Move timer handling code down to WebBaseNetscapePluginView. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView stopTimers]): + (-[WebBaseNetscapePluginView startTimers]): + (-[WebBaseNetscapePluginView restartTimers]): + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView stopTimers]): + (-[WebNetscapePluginView startTimers]): + (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]): + * WebView/WebHTMLView.mm: + (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): + +2008-11-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Move a bunch of methods and ivars up to WebBaseNetscapePluginView. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView dealloc]): + (-[WebBaseNetscapePluginView finalize]): + (-[WebBaseNetscapePluginView removeTrackingRect]): + (-[WebBaseNetscapePluginView resetTrackingRect]): + (-[WebBaseNetscapePluginView dataSource]): + (-[WebBaseNetscapePluginView webFrame]): + (-[WebBaseNetscapePluginView webView]): + (-[WebBaseNetscapePluginView currentWindow]): + * Plugins/WebNetscapePluginEventHandlerCarbon.mm: + (WebNetscapePluginEventHandlerCarbon::windowFocusChanged): + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView sendEvent:isDrawRect:]): + (-[WebNetscapePluginView sendActivateEvent:]): + (-[WebNetscapePluginView restartTimers]): + (-[WebNetscapePluginView setHasFocus:]): + (-[WebNetscapePluginView mouseDown:]): + (-[WebNetscapePluginView mouseUp:]): + (-[WebNetscapePluginView mouseEntered:]): + (-[WebNetscapePluginView mouseExited:]): + (-[WebNetscapePluginView handleMouseMoved:]): + (-[WebNetscapePluginView mouseDragged:]): + (-[WebNetscapePluginView scrollWheel:]): + (-[WebNetscapePluginView keyUp:]): + (-[WebNetscapePluginView keyDown:]): + (-[WebNetscapePluginView flagsChanged:]): + (-[WebNetscapePluginView updateAndSetWindow]): + (-[WebNetscapePluginView setWindowIfNecessary]): + (-[WebNetscapePluginView start]): + (-[WebNetscapePluginView stop]): + (-[WebNetscapePluginView isStarted]): + (-[WebNetscapePluginView dealloc]): + (-[WebNetscapePluginView finalize]): + (-[WebNetscapePluginView drawRect:]): + (-[WebNetscapePluginView windowBecameKey:]): + (-[WebNetscapePluginView preferencesHaveChanged:]): + (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]): + (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]): + (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]): + (-[WebNetscapePluginView _viewHasMoved]): + +2008-11-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker and Mark Rowe. + + Add a WebHostedNetscapePluginView class. + + * Plugins/WebHostedNetscapePluginView.h: Added. + * Plugins/WebHostedNetscapePluginView.mm: Added. + + * Plugins/WebNetscapePluginPackage.h: + Use the right define. + + * Plugins/WebPluginDatabase.mm: + (-[WebPluginDatabase removePluginInstanceViewsFor:]): + Check for WebBaseNetscapePluginView. + + (-[WebPluginDatabase destroyAllPluginInstanceViews]): + Check for WebBaseNetscapePluginView. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (NetscapePluginWidget::NetscapePluginWidget): + (NetscapePluginWidget::handleEvent): + Use WebBaseNetscapePluginView. + + (netscapePluginViewClass): + New function that returns the right netscape plugin view type to use. + + (WebFrameLoaderClient::createPlugin): + Get the right class. + + * WebKitPrefix.h: + Prefix the #define with WTF_. + + * WebView/WebHTMLView.mm: + (-[NSArray _web_makePluginViewsPerformSelector:withObject:]): + Check for WebBaseNetscapePluginView. + + * WebView/WebView.mm: + Remove an unnecessary include. + +2008-11-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Don't use individual ivars for each plug-in vtable function. Instead, get them from the plugin package. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]): + * Plugins/WebNetscapePluginPackage.h: + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage load]): + (-[WebNetscapePluginPackage _unloadWithShutdown:]): + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView sendEvent:isDrawRect:]): + (-[WebNetscapePluginView setWindowIfNecessary]): + (-[WebNetscapePluginView start]): + (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]): + (-[WebNetscapePluginView createPluginScriptableObject]): + (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]): + (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]): + (-[WebNetscapePluginView loadPluginRequest:]): + (-[WebNetscapePluginView _createPlugin]): + (-[WebNetscapePluginView _destroyPlugin]): + (-[WebNetscapePluginView _printedPluginBitmap]): + +2008-11-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Add a new WebBaseNetscapePluginView class. + + * Plugins/WebBaseNetscapePluginView.h: Added. + * Plugins/WebBaseNetscapePluginView.mm: Added. + (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]): + (-[WebBaseNetscapePluginView setAttributeKeys:andValues:]): + (-[WebBaseNetscapePluginView handleMouseMoved:]): + * Plugins/WebNetscapePluginView.h: + * Plugins/WebNetscapePluginView.mm: + (-[WebNetscapePluginView cut:]): + (-[WebNetscapePluginView copy:]): + (-[WebNetscapePluginView paste:]): + (-[WebNetscapePluginView selectAll:]): + (-[WebNetscapePluginView start]): + (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]): + +2008-11-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam Roben. + + Rename WebBaseNetscapePluginView to WebNetscapePluginView. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::WebNetscapePluginStream): + (WebNetscapePluginStream::setPlugin): + * Plugins/WebBaseNetscapePluginView.h: Removed. + * Plugins/WebBaseNetscapePluginView.mm: Removed. + * Plugins/WebNetscapePluginEventHandler.h: + (WebNetscapePluginEventHandler::WebNetscapePluginEventHandler): + * Plugins/WebNetscapePluginEventHandler.mm: + (WebNetscapePluginEventHandler::create): + * Plugins/WebNetscapePluginEventHandlerCarbon.h: + * Plugins/WebNetscapePluginEventHandlerCarbon.mm: + (WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon): + * Plugins/WebNetscapePluginEventHandlerCocoa.h: + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa): + * Plugins/WebNetscapePluginView.h: Copied from mac/Plugins/WebBaseNetscapePluginView.h. + * Plugins/WebNetscapePluginView.mm: Copied from mac/Plugins/WebBaseNetscapePluginView.mm. + (+[WebNetscapePluginView setCurrentPluginView:]): + (+[WebNetscapePluginView currentPluginView]): + (-[WebNetscapePluginView loadPluginRequest:]): + * Plugins/WebPluginDatabase.mm: + (-[WebPluginDatabase removePluginInstanceViewsFor:]): + (-[WebPluginDatabase destroyAllPluginInstanceViews]): + * Plugins/npapi.mm: + (pluginViewForInstance): + (NPN_MarkedTextAbandoned): + (NPN_MarkedTextSelectionChanged): + * WebCoreSupport/WebFrameLoaderClient.mm: + (NetscapePluginWidget::NetscapePluginWidget): + (NetscapePluginWidget::handleEvent): + (WebFrameLoaderClient::createPlugin): + * WebView/WebHTMLView.mm: + (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): + (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): + (-[NSArray _web_makePluginViewsPerformSelector:withObject:]): + * WebView/WebView.mm: + +2008-11-09 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + - fix https://bugs.webkit.org/show_bug.cgi?id=15063 + <rdar://problem/5452227> REGRESSION (r25151): Switching to a tab waiting + for first data does not clear the window + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::frameLoadCompleted): Added comments, and got rid of + a local variable to make this code match the code in the function below + more closely. + (WebFrameLoaderClient::provisionalLoadStarted): Added comments. + + * WebView/WebFrame.mm: + (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Improved comment. + + * WebView/WebFrameView.mm: + (-[WebFrameView _scrollView]): Tweaked formatting. + (-[WebFrameView initWithFrame:]): Ditto. + (-[WebFrameView setFrameSize:]): Added a comment and tweaked formatting. + (-[WebFrameView viewDidMoveToWindow]): Added. This is the change that fixes + the bug. Calls setDrawsBackground:YES as appropriate since moving the view + out of the window to switch to another view disrupts the special technique + for showing the old page during the start of loading. This is the identical + reason for the setFrameSize: method above, and the code is almost the same. + +2008-11-08 David Kilzer <ddkilzer@apple.com> + + Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled + + <https://bugs.webkit.org/show_bug.cgi?id=22137> + + Reviewed by Darin Adler. + + * WebView/WebFrame.mm: + (-[WebFrame _accessibilityTree]): Return nil if HAVE(ACCESSIBILITY) + is false. + +2008-11-08 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - WebKit/mac part of adding WebPreferences for controlling databases and local storage + + * WebView/WebPreferenceKeysPrivate.h: Added + WebKitDatabasesEnabledPreferenceKey and + WebKitLocalStorageEnabledPreferenceKey. + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): Made databases and local storage enabled + by default. + (-[WebPreferences databasesEnabled]): Added. + (-[WebPreferences setDatabasesEnabled:]): Added. + (-[WebPreferences localStorageEnabled]): Added. + (-[WebPreferences setLocalStorageEnabled:]): Added. + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Transfer the databases + and local storage preferences to WebCore settings. + +2008-11-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + https://bugs.webkit.org/show_bug.cgi?id=22115 + NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL + + Initialize the browser funcs correctly. + + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage load]): + +2008-11-06 David Kilzer <ddkilzer@apple.com> + + BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0. + + Apparently older versions of gcc have issues with this patch. + Backing out a second time until the issues are resolved. + +2008-11-06 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Geoff Garen. + + Move the remaining files in the kjs subdirectory of JavaScriptCore to + a new parser subdirectory, and remove the kjs subdirectory entirely. + + The header SavedBuiltins.h was removed in r32587, so it no longer needs + a forwarding header. + + * ForwardingHeaders/kjs: Removed. + * ForwardingHeaders/kjs/SavedBuiltins.h: Removed. + +2008-11-06 David Kilzer <ddkilzer@apple.com> + + BUILD WAS NOT BROKEN: Rolling r38189 back in. + + Please perform a clean build if you see crashes. + +2008-11-06 David Kilzer <ddkilzer@apple.com> + + BUILD FIX: Backed out r38189 since it apparently broke the world. + +2008-11-06 John Sullivan <sullivan@apple.com> + + Fixed problem with switching between text-only zoom and full-content zoom + + There were two booleans tracking whether zoom was text-only, one in WebCore settings + and one in WebViewPrivate. Fixed by eliminating the one in WebViewPrivate. + + Reviewed by Adam Roben + + * WebView/WebView.mm: + remove declaration of zoomMultiplierIsTextOnly instance variable in WebViewPrivate + (-[WebViewPrivate init]): + removed initialization of zoomMultiplierIsTextOnly + (-[WebView textSizeMultiplier]): + call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable + (-[WebView _setZoomMultiplier:isTextOnly:]): + update WebCore settings rather than WebViewPrivate instance variable + (-[WebView _zoomMultiplier:]): + call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable + (-[WebView _realZoomMultiplierIsTextOnly]): + return value from WebCore settings instead of accessing WebViewPrivate instance variable + (-[WebView pageSizeMultiplier]): + call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable + +2008-11-06 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Darin Adler. + + Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors) + https://bugs.webkit.org/show_bug.cgi?id=21810 + + * History/WebBackForwardList.mm: + (backForwardLists): Changed to leak an object to avoid an exit-time destructor. + * History/WebHistoryItem.mm: + (historyItemWrappers): Ditto + * Misc/WebStringTruncator.m: + (fontFromNSFont): Ditto + * Plugins/WebBaseNetscapePluginStream.mm: + (streams): Ditto + * WebView/WebView.mm: + (aeDescFromJSValue): Ditto + +2008-11-05 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark Rowe. + + Keep track of which plug-in host architecture would be needed for a given plug-in package. + + * Plugins/WebNetscapePluginPackage.h: + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage _initWithPath:]): + * WebKitPrefix.h: + +2008-11-05 Cameron Zwarich <zwarich@apple.com> + + Rubber-stamped by Sam Weinig. + + Correct forwarding headers for files moved to the runtime subdirectory + of JavaScriptCore and remove unused forwarding headers. + + * ForwardingHeaders/kjs/collector.h: Removed. + * ForwardingHeaders/kjs/identifier.h: Removed. + * ForwardingHeaders/kjs/interpreter.h: Removed. + * ForwardingHeaders/kjs/lookup.h: Removed. + * ForwardingHeaders/kjs/operations.h: Removed. + * ForwardingHeaders/kjs/protect.h: Removed. + * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h. + * WebView/WebScriptDebugDelegate.mm: + +2008-11-05 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Remove WebPlugInStreamLoaderDelegate.h + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebPlugInStreamLoaderDelegate.h: Removed. + +2008-11-05 Dan Bernstein <mitz@apple.com> + + - Tiger build fix + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView stop]): + +2008-11-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Don't leak the CALayer. + + * Plugins/WebBaseNetscapePluginView.h: + Make the layer a RetainPtr. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView start]): + + (-[WebBaseNetscapePluginView stop]): + Make sure to clear out the layer here. + +2008-11-04 Cameron Zwarich <zwarich@apple.com> + + Rubber-stamped by Sam Weinig. + + Remove the unused kjs/dtoa.h forwarding header. + + * ForwardingHeaders/kjs/dtoa.h: Removed. + +2008-11-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + More cleanup. Make a bunch of instance variables RetainPtrs. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView visibleRect]): + (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): + (-[WebBaseNetscapePluginView sendActivateEvent:]): + (-[WebBaseNetscapePluginView sendDrawRectEvent:]): + (-[WebBaseNetscapePluginView stopTimers]): + (-[WebBaseNetscapePluginView restartTimers]): + (-[WebBaseNetscapePluginView setHasFocus:]): + (-[WebBaseNetscapePluginView mouseDown:]): + (-[WebBaseNetscapePluginView mouseUp:]): + (-[WebBaseNetscapePluginView mouseEntered:]): + (-[WebBaseNetscapePluginView mouseExited:]): + (-[WebBaseNetscapePluginView handleMouseMoved:]): + (-[WebBaseNetscapePluginView mouseDragged:]): + (-[WebBaseNetscapePluginView scrollWheel:]): + (-[WebBaseNetscapePluginView keyUp:]): + (-[WebBaseNetscapePluginView keyDown:]): + (-[WebBaseNetscapePluginView flagsChanged:]): + (-[WebBaseNetscapePluginView cut:]): + (-[WebBaseNetscapePluginView copy:]): + (-[WebBaseNetscapePluginView paste:]): + (-[WebBaseNetscapePluginView selectAll:]): + (-[WebBaseNetscapePluginView didStart]): + (-[WebBaseNetscapePluginView start]): + (-[WebBaseNetscapePluginView stop]): + (-[WebBaseNetscapePluginView dataSource]): + (-[WebBaseNetscapePluginView pluginPackage]): + (-[WebBaseNetscapePluginView setPluginPackage:]): + (-[WebBaseNetscapePluginView setAttributeKeys:andValues:]): + (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]): + (-[WebBaseNetscapePluginView fini]): + (-[WebBaseNetscapePluginView dealloc]): + (-[WebBaseNetscapePluginView pluginView:receivedError:]): + (-[WebBaseNetscapePluginView requestWithURLCString:]): + (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): + (-[WebBaseNetscapePluginView loadPluginRequest:]): + (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): + (-[WebBaseNetscapePluginView userAgent]): + (-[WebBaseNetscapePluginView getVariable:value:]): + (-[WebBaseNetscapePluginView setVariable:value:]): + (-[WebBaseNetscapePluginView _createPlugin]): + (-[WebBaseNetscapePluginView _redeliverStream]): + +2008-11-04 Brady Eidson <beidson@apple.com> + + Reviewed by John Sullivan + + Cleanup global history a tad. + + Used to _addItemForURL always create a new item and merge it with a previous item if one existed. + + It is more efficient and less complicated to update the previous item if one exists. + + * History/WebHistory.mm: + (-[WebHistoryPrivate visitedURL:withTitle:]): + (-[WebHistory _visitedURL:withTitle:]): Instead of calling the general purpose [WebHistoryPrivate addItem:] + with a new history item, call the new special purposed visitedURL:withTitle: + * History/WebHistoryInternal.h: + + * History/WebHistoryItem.mm: + (-[WebHistoryItem _visitedWithTitle:]): Call "visited()" on the WebCore history item with the pertinent info. + * History/WebHistoryItemInternal.h: + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::updateGlobalHistory): + +2008-11-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + https://bugs.webkit.org/show_bug.cgi?id=22065 + + Only create the plug-in stream loader when the stream is started. + + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::WebNetscapePluginStream): + (WebNetscapePluginStream::start): + +2008-11-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + https://bugs.webkit.org/show_bug.cgi?id=22065 + + Remove some old, unused plug-in code. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): + (-[WebBaseNetscapePluginView start]): + (-[WebBaseNetscapePluginView setVariable:value:]): + +2008-11-04 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=21941 + + Rename absolutePosition() to localToAbsolute(), and add the ability + to optionally take transforms into account (which will eventually be the + default behavior). + + * WebView/WebRenderNode.mm: + (copyRenderNode): + +2008-11-01 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=22030 + Make EventNames usable from multiple threads + + * WebView/WebHTMLView.mm: + * WebView/WebPDFView.mm: + (-[WebPDFView PDFViewWillClickOnLink:withURL:]): + Access event names via eventNames() function. + +2008-11-04 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Mark Rowe. + + Delete a forwarding header for a file that no longer exists. + + * ForwardingHeaders/kjs/string_object.h: Removed. + +2008-11-03 Cameron Zwarich <zwarich@apple.com> + + Rubber-stamped by Maciej Stachowiak. + + Move more files into the runtime subdirectory of JavaScriptCore. + + * ForwardingHeaders/kjs/JSLock.h: Removed. + * ForwardingHeaders/kjs/SymbolTable.h: Removed. + * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h. + * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h. + * Misc/WebCoreStatistics.mm: + * Plugins/WebBaseNetscapePluginStream.mm: + * Plugins/WebBaseNetscapePluginView.mm: + * Plugins/WebPluginController.mm: + * WebView/WebFrame.mm: + * WebView/WebScriptDebugDelegate.mm: + * WebView/WebView.mm: + +2008-11-03 Mark Rowe <mrowe@apple.com> + + Fix the 64-bit build. + + Pull the frequently-made check for drawingModel == NPDrawingModelQuickDraw out into a + helper function to avoid #ifdef'ing all of the new places that this check is made. + + A few other #ifdef's are moved inside functions to allow their call sites to remain #ifdef-free, + and we rely on the compiler to optimise out the check (which will always be false in 64-bit) instead. + + * Plugins/WebBaseNetscapePluginView.mm: + (isDrawingModelQuickDraw): + (-[WebBaseNetscapePluginView fixWindowPort]): + (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): + (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): + (-[WebBaseNetscapePluginView updateAndSetWindow]): + (-[WebBaseNetscapePluginView start]): + (-[WebBaseNetscapePluginView tellQuickTimeToChill]): + (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): + (-[WebBaseNetscapePluginView _viewHasMoved]): + +2008-11-03 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Kevin Decker. + + - fix release build (and unitialized variable for CG drawing model!) + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): initialize portState in all code paths + +2008-11-03 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=22053 + + This patch adds initial support for the NPDrawingModelCoreAnimation drawing model. + + * Plugins/WebBaseNetscapePluginView.h: Added _layer ivar. + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): ASSERT this is not a plug-in using NPDrawingModelCoreAnimation. + (-[WebBaseNetscapePluginView restorePortState:]): Ditto. + (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Slightly refactored a small block of code which with the PortState. + Plug-ins using the NPDrawingModelCoreAnimation drawing model have no PortState. + (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): ASSERT this is not a plug-in using NPDrawingModelCoreAnimation + (-[WebBaseNetscapePluginView updateAndSetWindow]): Ditto. + (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto. + (-[WebBaseNetscapePluginView start]): If the plug-in is a plug-in using the Core Animation model, request a layer from it. + (-[WebBaseNetscapePluginView drawRect:]): Return early for NPDrawingModelCoreAnimation plug-ins. + (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins running on post-Tiger systems WebKit supports + NPDrawingModelCoreAnimation. + (-[WebBaseNetscapePluginView setVariable:value:]): Added the new NPDrawingModelCoreAnimation case, which initializes drawingMode. + (-[WebBaseNetscapePluginView _viewHasMoved]): Reworded the conditional call to updateAndSetWindow to be specific to + CoreGraphics and QuickDraw plug-ins. + +2008-10-31 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Darin Adler. + + Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console + <https://bugs.webkit.org/show_bug.cgi?id=22019> + + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics shouldPrintExceptions]): + (+[WebCoreStatistics setShouldPrintExceptions:]): + +2008-10-31 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - WebKit/mac part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie + + * WebView/WebView.mm: + (-[WebView _cookieEnabled]): + (-[WebView _setCookieEnabled:]): + * WebView/WebViewPrivate.h: + +2008-10-31 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler + + [WebHistory setLastVisitedTimeInterval:forItem] was internal to WebHistory.mm and + completely unused. Nuke it! + + * History/WebHistory.mm: + +2008-10-31 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/4361197> Screen Reader's Item Chooser shows scroll area for WebKit Application window + + If a WebFrameView does not allow scrolling, its scrollbars should not appear in the accessibility hierarchy. + + * WebView/WebDynamicScrollBarsView.m: + (-[WebDynamicScrollBarsView accessibilityIsIgnored]): + +2008-10-30 Mark Rowe <mrowe@apple.com> + + Reviewed by Jon Homeycutt. + + Explicitly default to building for only the native architecture in debug and release builds. + + * Configurations/DebugRelease.xcconfig: + +2008-10-30 Cameron Zwarich <zwarich@apple.com> + + Rubber-stamped by Sam Weinig. + + Create a debugger directory in JavaScriptCore and move the relevant + files to it. + + * ForwardingHeaders/debugger: Added. + * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h. + * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed. + * WebView/WebScriptDebugDelegate.mm: + * WebView/WebScriptDebugger.h: + * WebView/WebScriptDebugger.mm: + +2008-10-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::WebNetscapePluginStream): + (WebNetscapePluginStream::~WebNetscapePluginStream): + (WebNetscapePluginStream::start): + +2008-10-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Remove an unused forward class declaration. + + * Plugins/WebBaseNetscapePluginView.h: + +2008-10-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Remove WebBaseNetscapePluginViewInternal.h and WebBaseNetscapePluginViewPrivate.h. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginViewInternal.h: Removed. + * Plugins/WebBaseNetscapePluginViewPrivate.h: Removed. + * Plugins/WebNetscapePluginEventHandler.mm: + * Plugins/WebNetscapePluginEventHandlerCarbon.mm: + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + * Plugins/npapi.mm: + * WebView/WebHTMLView.mm: + +2008-10-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Remove WebNetscapePluginEmbeddedView, it adds nothing extra now. + + Remove WebNetscapePlugInStreamLoaderClient since WebNetscapePluginStream is the client now. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebKitPluginContainerView.h: + * Plugins/WebNetscapePluginEmbeddedView.h: Removed. + * Plugins/WebNetscapePluginEmbeddedView.mm: Removed. + * Plugins/WebNetscapePluginEventHandler.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (NetscapePluginWidget::NetscapePluginWidget): + (NetscapePluginWidget::handleEvent): + (WebFrameLoaderClient::createPlugin): + * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Removed. + * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Removed. + * WebView/WebHTMLView.mm: + (-[NSArray _web_makePluginViewsPerformSelector:withObject:]): + +2008-10-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Remove the WebBaseNetscapePluginStream Objective-C object. + + * Plugins/WebBaseNetscapePluginStream.h: + (WebNetscapePluginStream::create): + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::WebNetscapePluginStream): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView pluginView:receivedResponse:]): + (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): + (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): + +2008-10-29 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + https://bugs.webkit.org/show_bug.cgi?id=21952 + + Address an outstanding FIXME by removing unused SPI + + * History/WebHistory.mm: + (-[WebHistory _addItemForURL:title:]): Fold addItem: into this method + + * History/WebHistoryPrivate.h: Removed unused/unneccessary SPI + +2008-10-28 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored + + * WebView/WebHTMLView.mm: IgnoreSpelling is now a WebCore command. That command handles + calling back into WebKit to perform the cross platform work that was removed in this change. + +2008-10-28 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Mark Rowe. + + Move ForwardingHeaders to their correct location after the creation of + the runtime directory in JavaScriptCore. + + * ForwardingHeaders/kjs/JSFunction.h: Removed. + * ForwardingHeaders/kjs/JSObject.h: Removed. + * ForwardingHeaders/kjs/JSString.h: Removed. + * ForwardingHeaders/kjs/JSValue.h: Removed. + * ForwardingHeaders/runtime: Added. + * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h. + * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h. + * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h. + * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h. + * WebView/WebScriptDebugDelegate.mm: + * WebView/WebScriptDebugger.mm: + * WebView/WebView.mm: + +2008-10-28 Adele Peterson <adele@apple.com> + + Reviewed by John Sullivan. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=21880 + "files" string for multifile uploads needs to be localized + + * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory multipleFileUploadTextForNumberOfFiles:]): + Added. + +2008-10-28 Timothy Hatcher <timothy@apple.com> + + Add WebInspector methods to enable the profiler. + + https://bugs.webkit.org/show_bug.cgi?id=21927 + + <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does + not slow down JavaScript all the time + + Reviewed by Darin Adler and Kevin McCullough. + + * WebInspector/WebInspector.h: + * WebInspector/WebInspector.mm: + (-[WebInspector isJavaScriptProfilingEnabled]): Added. Calls InspectorController::profilerEnabled. + (-[WebInspector setJavaScriptProfilingEnabled:]): Added. Call InspectorController's disableProfiler + or enableProfiler methods. + +2008-10-27 Timothy Hatcher <timothy@apple.com> + + Rename a few methods related to attaching and detaching the debugger. + + * Rename attachDebugger to enableDebugger. + * Rename detachDebugger to disableDebugger. + * Rename the debuggerAttached getter to debuggerEnabled. + + Reviewed by Darin Adler. + + * WebInspector/WebInspector.mm: + (-[WebInspector isDebuggingJavaScript]): + (-[WebInspector startDebuggingJavaScript:]): + (-[WebInspector stopDebuggingJavaScript:]): + +2008-10-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Maciej Stachowiak. + + Use the C++ stream object for JS requests as well. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): + (-[WebBaseNetscapePluginView destroyStream:reason:]): + +2008-10-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Use the C++ stream object in WebBaseNetscapePluginView. Use a HashSet of RefPtrs to keep track of the streams. + + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::~WebNetscapePluginStream): + (WebNetscapePluginStream::setPlugin): + (WebNetscapePluginStream::startStream): + (WebNetscapePluginStream::destroyStream): + (WebNetscapePluginStream::destroyStreamWithReason): + (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError): + (WebNetscapePluginStream::deliverData): + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView stop]): + (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]): + (-[WebBaseNetscapePluginView disconnectStream:]): + (-[WebBaseNetscapePluginView dealloc]): + (-[WebBaseNetscapePluginView pluginView:receivedResponse:]): + (-[WebBaseNetscapePluginView pluginView:receivedData:]): + (-[WebBaseNetscapePluginView pluginView:receivedError:]): + (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): + (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): + +2008-10-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Move code from dealloc and finalize to the WebNetscapePluginStream destructor. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::~WebNetscapePluginStream): + (-[WebBaseNetscapePluginStream dealloc]): + (-[WebBaseNetscapePluginStream finalize]): + +2008-10-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Get rid of WebNetscapePlugInStreamLoaderClient, the plug-in stream is its own client. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::WebNetscapePluginStream): + (-[WebBaseNetscapePluginStream dealloc]): + (-[WebBaseNetscapePluginStream finalize]): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView pluginView:receivedError:]): + (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): + (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): + (-[WebBaseNetscapePluginView destroyStream:reason:]): + +2008-10-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Change the Obj-C init methods to simply call WebNetscapePluginStream::create. + + * Plugins/WebBaseNetscapePluginStream.h: + (WebNetscapePluginStream::create): + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream initWithFrameLoader:]): + (WebNetscapePluginStream::WebNetscapePluginStream): + (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): + +2008-10-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Convert more code over to C++. + + * Plugins/WebBaseNetscapePluginStream.h: + (WebNetscapePluginStream::plugin): + (WebNetscapePluginStream::setRequestURL): + Convert to C++. + + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::start): + (WebNetscapePluginStream::stop): + Ditto. + + (WebNetscapePluginStream::startStreamWithResponse): + Ditto. + + (-[WebBaseNetscapePluginStream startStreamWithResponse:]): + Call the C++ version. + + (-[WebBaseNetscapePluginStream impl]): + New accessor for the C++ class. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView pluginView:receivedData:]): + (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): + (-[WebBaseNetscapePluginView destroyStream:reason:]): + Call the C++ methods. + +2008-10-24 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix https://bugs.webkit.org/show_bug.cgi?id=21759 + Layering violation: FileChooser should not depend on Document/Frame/Page + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::runOpenPanel): + +2008-10-24 Anders Carlsson <andersca@apple.com> + + Fix Tiger build. + + * WebView/WebUIDelegate.h: + +2008-10-24 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/5440917> Support NPN_Construct + + Set construct. + + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage load]): + +2008-10-24 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Tim Hatcher. + + <rdar://problem/6119711> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS__ define. + + * Misc/EmptyProtocolDefinitions.h: + +2008-10-24 Adele Peterson <adele@apple.com> + + Reviewed by Sam Weinig. + + WebKit part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload. + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::runOpenPanel): + (-[WebOpenPanelResultListener chooseFilenames:]): + * WebView/WebUIDelegate.h: + +2008-10-24 Timothy Hatcher <timothy@apple.com> + + Implement new InspectorClient methods to work with Settings. + + https://bugs.webkit.org/show_bug.cgi?id=21856 + + Reviewed by Darin Adler. + + * WebCoreSupport/WebInspectorClient.h: Add the new methods and + guard the ObjC parts of the header. + +2008-10-24 Darin Adler <darin@apple.com> + + - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732 + + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame _convertValueToObjcValue:]): + (-[WebScriptCallFrame exception]): + (-[WebScriptCallFrame evaluateWebScript:]): + * WebView/WebView.mm: + (aeDescFromJSValue): + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): + Use JSValue* instead of JSValuePtr. + +2008-10-23 Mark Rowe <mrowe@apple.com> + + Build fix. + + * Misc/WebKitErrors.m: + (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): + +2008-10-20 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port. + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + +2008-10-20 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Oliver Hunt. + + <rdar://problem/6277777> REGRESSION (r36954): XMLHttpRequest not working when + certain WebView delegate actions are taken + + * WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]): Don't accidentally create + a window shell if there is none yet. + +2008-10-19 Darin Adler <darin@apple.com> + + Reviewed by Oliver Hunt. + + - next step of https://bugs.webkit.org/show_bug.cgi?id=21732 + improve performance by eliminating JSValue as a base class for JSCell + + Remove most uses of JSValue, which will be removed in a future patch. + + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + Use JSValuePtr instead of JSValue. + * WebView/WebScriptDebugger.h: Removed declaration of JSValue. + +2008-10-18 Darin Adler <darin@apple.com> + + Reviewed by Oliver Hunt. + + - next step of https://bugs.webkit.org/show_bug.cgi?id=21732 + improve performance by eliminating JSValue as a base class for JSCell + + Tweak a little more to get closer to where we can make JSValuePtr a class. + + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame _convertValueToObjcValue:]): Use JSValuePtr. + (-[WebScriptCallFrame exception]): Ditto. + (-[WebScriptCallFrame evaluateWebScript:]): Ditto. And noValue. + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::WebScriptDebugger): Use new DebuggerCallFrame + constructor that doesn't require explicitly passing an exception. + * WebView/WebView.mm: + (aeDescFromJSValue): Use JSValuePtr. + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto. + +2008-10-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - WebKit/mac part of https://bugs.webkit.org/show_bug.cgi?id=21736 + Long-dead decoded image data make up for most of the object cache's memory use over time + + * WebView/WebView.mm: + (+[WebView _setCacheModel:]): In the primary web browser model, set the + cache's dead decoded data deletion interval to 60 seconds. + +2008-10-15 Mark Rowe <mrowe@apple.com> + + Reviewed by Jon Honeycutt. + + Fix a leak of a CFStringRef reported by the build bot. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Use a autoreleased + NSString rather than manually releasing a CFStringRef when we're done with it. + +2008-10-15 Kenneth Russell <kenneth.russell@sun.com> + + Reviewed and landed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=21572 + + Initialize pluginFunc.size to the correct size before calling NP_GetEntryPoints. + + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage load]): + +2008-10-15 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/6272508> Crash occurs after loading flash content at http://www.macrumors.com/ + + Restore some code related to the CoreGraphics drawing model that was misplaced in r37131. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView invalidateRegion:]): + (-[WebBaseNetscapePluginView setVariable:value:]): + +2008-10-15 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Cameron Zwarich. + + Fixed https://bugs.webkit.org/show_bug.cgi?id=21345 + Start the debugger without reloading the inspected page + + * WebInspector/WebInspector.mm: + (-[WebInspector startDebuggingJavaScript:]): Updated for rename. + +2008-10-14 Maxime Britto <britto@apple.com> + + Reviewed by Darin Adler. + + Added SPI to use WebCore's TextIterator with WebKit. + + * WebView/WebTextIterator.h: Added. + * WebView/WebTextIterator.mm: Added. + (-[WebTextIteratorPrivate dealloc]): + (-[WebTextIterator dealloc]): + (-[WebTextIterator initWithRange:]): Creates a TextIterator + instance + (-[WebTextIterator advance]): Asks the iterator to advance() . + (-[WebTextIterator currentNode]): Returns the current DOMNode from + the iterator + (-[WebTextIterator currentText]): Returns the current text from the + iterator + (-[WebTextIterator atEnd]): Indicated whether the iterator has + reached the end of the range. + * WebView/WebView.h: + * WebView/WebView.mm: + (-[WebView textIteratorForRect:]): Returns a WebTextIterator with + the DOMRange contained in the rectangle given as a parameter. + +2008-10-15 Timothy Hatcher <timothy@apple.com> + + Clean up user agent generation to simplify the _standardUserAgentWithApplicationName: + class method to not require a WebKit version. + + Reviewed by Darin Adler. + + * WebView/WebView.mm: + (+[WebView _standardUserAgentWithApplicationName:]): Create the WebKit version. + (-[WebView WebCore::_userAgentForURL:]): Use the simplified _standardUserAgentWithApplicationName:. + Remove code that created the WebKit version. + * WebView/WebViewPrivate.h: Change the method name of _standardUserAgentWithApplicationName:. + +2008-10-14 Timothy Hatcher <timothy@apple.com> + + Make the user agent generation method a class method and cache the WebKit + version in a static to prevent generating it every time. This is needed + clean up to fix <rdar://problem/6292331>. Moved all code to WebPrivate so + the class method can be in the WebViewPrivate.h header. + + Reviewed by John Sullivan. + + * WebView/WebView.mm: + (callGestalt): Moved. Same code. + (createMacOSXVersionString): Moved. Same code. + (createUserVisibleWebKitVersionString): Moved from _userVisibleBundleVersionFromFullVersion: + and returns a copied string. + (+[WebView _standardUserAgentWithApplicationName:andWebKitVersion:]): Made into a class method. + (-[WebView WebCore::_userAgentForURL:]): Changed to cache the WebKit version. + * WebView/WebViewPrivate.h: Added +_standardUserAgentWithApplicationName:andWebKitVersion:. + +2008-10-13 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Mark Rowe. + + - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default + + * Configurations/DebugRelease.xcconfig: + +2008-10-11 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - rename _setAlwaysUseATSU to _setAlwaysUsesComplexTextCodePath and + update it for the renamed WebCoreTextRenderer method; keep the old + method around for clients that use it + + * WebView/WebView.mm: + (+[WebView _setAlwaysUseATSU:]): + (+[WebView _setAlwaysUsesComplexTextCodePath:]): + * WebView/WebViewPrivate.h: + +2008-10-09 Timothy Hatcher <timothy@apple.com> + + Don't convert JavaScriptCore header include paths to WebKit paths. This was needed + back when NPAPI and WebScriptObject migrated from JavaScriptCore. Also remove + JavaScriptCore from the VPATH. + + Reviewed by Sam Weinig. + + * MigrateHeaders.make: + +2008-10-08 Darin Adler <darin@apple.com> + + Reviewed by Cameron Zwarich. + + - https://bugs.webkit.org/show_bug.cgi?id=21403 + Bug 21403: use new CallFrame class rather than Register* for call frame manipulation + + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now. + +2008-10-08 Timothy Hatcher <timothy@apple.com> + + Roll out r37427 because it causes an infinite recursion loading about:blank. + + https://bugs.webkit.org/show_bug.cgi?id=21476 + +2008-10-08 Darin Adler <darin@apple.com> + + Reviewed by Cameron Zwarich. + + - https://bugs.webkit.org/show_bug.cgi?id=21403 + Bug 21403: use new CallFrame class rather than Register* for call frame manipulation + + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now. + +2008-10-07 David Hyatt <hyatt@apple.com> + + Move viewless WebKit methods that Safari needs from WebViewInternal to WebViewPrivate. + + Reviewed by Tim Hatcher + + * WebView/WebView.mm: + (WebKitInitializeApplicationCachePathIfNecessary): + (-[WebView _registerDraggedTypes]): + (-[WebView _usesDocumentViews]): + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): + (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]): + (-[WebView isFlipped]): + (-[WebView viewWillDraw]): + * WebView/WebViewInternal.h: + * WebView/WebViewPrivate.h: + +2008-10-07 David Hyatt <hyatt@apple.com> + + Fix crash in isFlipped. Null check _private since isFlipped can get called from within AppKit + machinery during teardown of the WebView. + + Reviewed by Adam Roben + + * WebView/WebView.mm: + (-[WebView isFlipped]): + +2008-10-07 David Hyatt <hyatt@apple.com> + + Make viewless WebKit update focused and active state when the window becomes and loses key. + The focus controller has been patched to understand that in viewless mode it can recur down and + update all of the frames, which is why this code works now when placed just on the WebView. + + Reviewed by Adam Roben + + * WebView/WebView.mm: + (-[WebView addWindowObservers]): + (-[WebView removeWindowObservers]): + (-[WebView viewWillMoveToWindow:]): + (-[WebView viewDidMoveToWindow]): + (-[WebView _updateFocusedAndActiveState]): + (-[WebView _windowDidBecomeKey:]): + (-[WebView _windowDidResignKey:]): + (-[WebView _windowWillOrderOnScreen:]): + +2008-10-07 David Hyatt <hyatt@apple.com> + + Make sure the parent visibility state is set up properly on the outermost ScrollView widget. + This fixes the repainting issues with viewless WebKit on Mac. + + Reviewed by Sam Weinig + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::transitionToCommittedForNewPage): + +2008-10-07 David Hyatt <hyatt@apple.com> + + Make sure viewless Mac WebKit does a layout if needed before drawing. + + Reviewed by Sam Weinig + + * WebView/WebView.mm: + (-[WebView viewWillDraw]): + +2008-10-07 David Hyatt <hyatt@apple.com> + + Make sure observers get hooked up to watch for size changes in viewless WebKit mode. + + Reviewed by Sam Weinig + + * ChangeLog: + * WebView/WebFrame.mm: + (-[WebFrame _drawRect:contentsOnly:]): + * WebView/WebView.mm: + (-[WebView viewWillDraw]): + (-[WebView _boundsChanged]): + (-[WebView addSizeObservers]): + (-[WebView viewDidMoveToWindow]): + (-[WebView viewDidMoveToSuperview]): + +2008-10-07 David Hyatt <hyatt@apple.com> + + Make sure WebView listens for size changes and resizes the frame view in viewless mode. + + Reviewed by Sam Weinig + + * WebView/WebView.mm: + (-[WebView addSizeObservers]): + (-[WebView viewDidMoveToWindow]): + (-[WebView viewDidMoveToSuperview]): + +2008-10-06 David Hyatt <hyatt@apple.com> + + Enable viewless Mac WebKit to paint some basic pages. + + Reviewed by Sam Weinig + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::windowResizerRect): + (WebChromeClient::repaint): + (WebChromeClient::screenToWindow): + (WebChromeClient::windowToScreen): + (WebChromeClient::platformWindow): + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::forceLayoutForNonHTML): + (WebFrameLoaderClient::dispatchDidCommitLoad): + (WebFrameLoaderClient::transitionToCommittedForNewPage): + (WebFrameLoaderClient::createFrame): + * WebView/WebFrame.mm: + (-[WebFrame _drawRect:contentsOnly:]): + * WebView/WebFrameInternal.h: + * WebView/WebFrameView.mm: + * WebView/WebFrameViewInternal.h: + * WebView/WebHTMLView.mm: + (-[WebHTMLView drawSingleRect:]): + (-[WebHTMLView drawRect:]): + * WebView/WebView.mm: + (-[WebView isFlipped]): + (-[WebView _boundsChanged]): + (-[WebView _mustDrawUnionedRect:singleRects:count:]): + (-[WebView drawSingleRect:]): + (-[WebView drawRect:]): + (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): + (-[WebView initWithFrame:frameName:groupName:]): + (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]): + (-[WebView initWithCoder:]): + (-[WebView removeSizeObservers]): + (-[WebView viewWillMoveToWindow:]): + (-[WebView viewWillMoveToSuperview:]): + (-[WebView _usesDocumentViews]): + * WebView/WebViewInternal.h: + +2008-10-06 Kevin Decker <kdecker@apple.com> + + Rubber-stamped by Anders Carlsson. + + Rename _webkit_applicationCacheDirectoryWithBundleIdentifier to _webkit_localCacheDirectoryWithBundleIdentifier. + + * Misc/WebKitNSStringExtras.h: + * Misc/WebKitNSStringExtras.m: + (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]): + * WebView/WebDataSource.mm: + (-[WebDataSource _transferApplicationCache:]): + * WebView/WebView.mm: + (WebKitInitializeApplicationCachePathIfNecessary): + +2008-10-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Make WebNetscapePluginStream a WebCore::NetscapePlugInStreamLoaderClient. + + * Plugins/WebBaseNetscapePluginStream.h: + (WebNetscapePluginStream::~WebNetscapePluginStream): + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::didReceiveResponse): + (-[WebBaseNetscapePluginStream startStreamWithResponse:]): + (WebNetscapePluginStream::wantsAllStreams): + (-[WebBaseNetscapePluginStream wantsAllStreams]): + (WebNetscapePluginStream::didFail): + (-[WebBaseNetscapePluginStream destroyStreamWithError:]): + (WebNetscapePluginStream::didFinishLoading): + (-[WebBaseNetscapePluginStream finishedLoading]): + (WebNetscapePluginStream::didReceiveData): + (-[WebBaseNetscapePluginStream receivedData:]): + +2008-10-06 Anders Carlsson <andersca@apple.com> + + Bring back the stop method. It was called through performSelector, which + is why I couldn't find any references to it. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream stop]): + +2008-10-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + More conversion and cleanup. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::startStream): + (-[WebBaseNetscapePluginStream startStreamWithResponse:]): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): + +2008-10-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Fold initWithRequestURL into initWithRequest. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): + +2008-10-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Change the init methods not to return nil on failures. (These failures never occur anyway) + + Use initWithRequest as the initializer, initWithRequestURL is going to be merged with it. + + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): + (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): + +2008-10-06 Anders Carlsson <andersca@apple.com> + + Reviewed by David Hyatt. + + Convert more methods over to C++. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::ownerForStream): + (WebNetscapePluginStream::pluginCancelledConnectionError): + (WebNetscapePluginStream::errorForReason): + (-[WebBaseNetscapePluginStream errorForReason:]): + (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): + (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError): + (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]): + (WebNetscapePluginStream::deliverData): + (WebNetscapePluginStream::deliverDataTimerFired): + (WebNetscapePluginStream::deliverDataToFile): + (-[WebBaseNetscapePluginStream finishedLoading]): + (-[WebBaseNetscapePluginStream receivedData:]): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView destroyStream:reason:]): + +2008-10-06 David Hyatt <hyatt@apple.com> + + Add SPI for a new viewless WebKit mode. The idea is that when this flag is set there will be no + views created except for the outermost WebView. + + Reviewed by Tim Hatcher + + * WebView/WebView.mm: + * WebView/WebViewInternal.h: + +2008-10-06 Anders Carlsson <andersca@apple.com> + + Reviewed by David Hyatt. + + Convert more methods over to C++. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::reasonForError): + (WebNetscapePluginStream::destroyStreamWithReason): + (WebNetscapePluginStream::cancelLoadWithError): + (-[WebBaseNetscapePluginStream cancelLoadWithError:]): + (WebNetscapePluginStream::destroyStreamWithError): + (-[WebBaseNetscapePluginStream destroyStreamWithError:]): + (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]): + (-[WebBaseNetscapePluginStream _deliverDataToFile:]): + (-[WebBaseNetscapePluginStream finishedLoading]): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]): + +2008-10-04 Darin Adler <darin@apple.com> + + Reviewed by Cameron Zwarich. + + - https://bugs.webkit.org/show_bug.cgi?id=21295 + Bug 21295: Replace ExecState with a call frame Register pointer + + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::WebScriptDebugger): Remove 0 passed for ExecState. + +2008-10-03 John Sullivan <sullivan@apple.com> + + Fixed Release build + + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::destroyStream): + added !LOG_DISABLED guard around declaration of npErr used only in LOG + +2008-10-03 Anders Carlsson <andersca@apple.com> + + Reviewed by David Hyatt. + + Convert destroyStream over to C++. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (WebNetscapePluginStream::destroyStream): + (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): + (-[WebBaseNetscapePluginStream _deliverData]): + +2008-10-03 Anders Carlsson <andersca@apple.com> + + Reviewed by David Hyatt. + + Use a Timer instead of -[NSObject performSelector:withObject:afterDelay]; + + * Plugins/WebBaseNetscapePluginStream.h: + (WebNetscapePluginStream::WebNetscapePluginStream): + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream _destroyStream]): + (-[WebBaseNetscapePluginStream _deliverData]): + (WebNetscapePluginStream::deliverDataTimerFired): + +2008-10-03 Anders Carlsson <andersca@apple.com> + + Reviewed by David Hyatt. + + More plug-in stream cleanup. + + * Plugins/WebBaseNetscapePluginStream.h: + (WebNetscapePluginStream::create): + (WebNetscapePluginStream::WebNetscapePluginStream): + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream initWithFrameLoader:]): + (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): + (-[WebBaseNetscapePluginStream dealloc]): + (-[WebBaseNetscapePluginStream finalize]): + (-[WebBaseNetscapePluginStream setPlugin:]): + (WebNetscapePluginStream::setPlugin): + (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): + (-[WebBaseNetscapePluginStream _destroyStream]): + +2008-10-03 David Hyatt <hyatt@apple.com> + + Remove addToDirtyRegion. + + Reviewed by Oliver Hunt + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + +2008-10-02 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21328 + + Make widget invalidation more cross-platform. + + (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function. + + (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call. + This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected. + + (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer. + + (4) FrameViews now do a repaintRectangle on their owner element's renderer. + + Reviewed by Sam Weinig + + * WebCoreSupport/WebFrameLoaderClient.mm: + (PluginWidget::PluginWidget): + (PluginWidget::invalidateRect): + (NetscapePluginWidget::NetscapePluginWidget): + (WebFrameLoaderClient::createPlugin): + +2008-10-02 Darin Adler <darin@apple.com> + + Reviewed by Geoff Garen. + + - https://bugs.webkit.org/show_bug.cgi?id=21321 + Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData + + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics javaScriptObjectsCount]): Use heap. instead of heap-> to + work with the heap. + (+[WebCoreStatistics javaScriptGlobalObjectsCount]): Ditto. + (+[WebCoreStatistics javaScriptProtectedObjectsCount]): Ditto. + (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): Ditto. + (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Ditto. + (+[WebCoreStatistics javaScriptReferencedObjectsCount]): Ditto. + +2008-10-02 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21314 + + Make scrollBackingStore cross-platform. + + Reviewed by Sam Weinig + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::repaint): + (WebChromeClient::scroll): + +2008-10-01 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler and Cameron Zwarich. + + Updated for JavaScriptCore API changes: use a SourceCode instead of + broken out parameters; treat sourceId as intptr_t. + + We still treat sourceId as int in some cases because of DashCode. See + <rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for + sourceId, not int. + + * WebView/WebScriptDebugger.h: + * WebView/WebScriptDebugger.mm: + (toNSString): + (WebScriptDebugger::sourceParsed): + (WebScriptDebugger::callEvent): + (WebScriptDebugger::atStatement): + (WebScriptDebugger::returnEvent): + (WebScriptDebugger::exception): + (WebScriptDebugger::willExecuteProgram): + (WebScriptDebugger::didExecuteProgram): + (WebScriptDebugger::didReachBreakpoint): + +2008-10-01 David Hyatt <hyatt@apple.com> + + Move prohibitsScrolling from the Frame to the ScrollView. + + Reviewed by Sam Weinig + + * WebView/WebView.mm: + (-[WebView setProhibitsMainFrameScrolling:]): + +2008-10-01 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21282 + + Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now. + + Reviewed by Adam Roben + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::repaint): + (WebChromeClient::screenToWindow): + (WebChromeClient::windowToScreen): + +2008-09-30 Dave Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21269 + + This patch makes the ScrollView::paint method cross-platform. The paint method calls the base class + Widget paint on platforms with native widgets (Mac and wx). Otherwise it calls a virtual function, + paintContents, to paint the ScrollView's contents, and then it paints each of the two scrollbars and + the scrollbar corner. + + The scrollbar themes are now responsible for painting scrollbar corners. At the moment ScrollbarThemeWin still + paints white (which is incorrect), so a future patch will actually implement proper native scroll corner painting + for Windows. + + paintContents is implemented by FrameView, and replaces Frame::paint. All of the FramePrivate member + variables used by Frame::paint have moved to FrameViewPrivate instead. All callers of Frame::paint have + been patched to use FrameView::paintContents instead. + + Reviewed by Darin Adler + + * WebView/WebFrame.mm: + (-[WebFrame _drawRect:]): + +2008-09-30 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlsson. + + Remove the NPDrawingModelOpenGL entirely. To my knowledge no shipping plug-in ever used it, and no other browser engine + ever supported it. + + * Plugins/WebBaseNetscapePluginView.h: Removed AGL.h import and OpenGL related ivars. + * Plugins/WebBaseNetscapePluginView.mm: Removed soft linking for OpenGL and AGL frameworks. + Also removed many methods AGL/CGL support methods that are no longer necessary. + (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed NPDrawingModelOpenGL related code. + (-[WebBaseNetscapePluginView restorePortState:]): Ditto. + (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Ditto. + (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): Ditto. + (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto. + (-[WebBaseNetscapePluginView stop]): Ditto. + (-[WebBaseNetscapePluginView dealloc]): Ditto. + (-[WebBaseNetscapePluginView drawRect:]): + (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Ditto. + (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto. + (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins WebKit does not support NPDrawingModelOpenGL. + (-[WebBaseNetscapePluginView setVariable:value:]): Removed NPDrawingModelOpenGL related code. + (-[WebBaseNetscapePluginView _viewHasMoved]): Ditto. + +2008-09-30 Dave Hyatt <hyatt@apple.com> + + http://bugs.webkit.org/show_bug.cgi?id=21250 + + Rename updateContents to repaintContentRectangle and make it cross-platform by always sending + repaints up through the ChromeClient. + + Reviewed by Darin Adler + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::repaint): + +2008-09-30 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark Rowe and Adam Roben. + + No need to use pointers to store C++ objects as pointers in WebViewPrivate, we can just + store them directly. + + * Configurations/Base.xcconfig: + Set GCC_OBJC_CALL_CXX_CDTORS to YES. + + * WebView/WebView.mm: + (-[WebViewPrivate init]): + (-[WebViewPrivate dealloc]): + (-[WebViewPrivate finalize]): + (-[WebView _preferencesChangedNotification:]): + (-[WebView setApplicationNameForUserAgent:]): + (-[WebView setCustomUserAgent:]): + (-[WebView customUserAgent]): + (-[WebView WebCore::_userAgentForURL:WebCore::]): + (-[WebView _addObject:forIdentifier:]): + (-[WebView _objectForIdentifier:]): + (-[WebView _removeObjectForIdentifier:]): + +2008-09-29 Thiago Macieira <thiago.macieira@nokia.com> + + Reviewed by Simon. + + Changed copyright from Trolltech ASA to Nokia. + + Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008. + + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + * WebCoreSupport/WebEditorClient.h: + * WebCoreSupport/WebEditorClient.mm: + +2008-09-28 Timothy Hatcher <timothy@apple.com> + + Improves the Web Inspector node highlight so it does not scroll + to reveal the node in the page. This makes the highlight less + invasive and causes less things to change on screen. Also makes + the highlight redraw when the WebView draws, so it stays current + if the node changes on the page for any reason. + + <rdar://problem/6115804> Don't scroll when highlighting (21000) + https://bugs.webkit.org/show_bug.cgi?id=21000 + + Reviewed by Dan Bernstein. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController highlightNode:]): Call setNeedsDisplay:YES + if there is an existing highlight. + (-[WebInspectorWindowController didAttachWebNodeHighlight:]): Set the current + highlight node on the inspected WebView. + (-[WebInspectorWindowController willDetachWebNodeHighlight:]): Set the current + highlight node on the inspected WebView to nil. + * WebInspector/WebNodeHighlight.m: + (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Disable screen updates + until flush for the inspected window. Invalidate the whole highlight view since + we don't know the rect that needs updated since the highlight can be larger than + the highlighted element due to the margins and other factors. + * WebInspector/WebNodeHighlightView.m: + * WebView/WebHTMLView.mm: + (-[WebHTMLView drawSingleRect:]): Call setNeedsUpdateInTargetViewRect: on the + current highlight node. + * WebView/WebView.mm: + (-[WebViewPrivate dealloc]): Release the current highlight node. + (-[WebView setCurrentNodeHighlight:]): Set the current highlight node. + (-[WebView currentNodeHighlight]): Return the current highlight node. + * WebView/WebViewInternal.h: + +2008-09-28 David Kilzer <ddkilzer@apple.com> + + Fix build warning in WebDefaultUIDelegate.m + + Reviewed by Dan Bernstein. + + This fixes a warning noticed by the clang static analyzer: + .../WebDefaultUIDelegate.m: In function ‘-[WebDefaultUIDelegate webViewFirstResponder:]’: + .../WebDefaultUIDelegate.m:92: warning: initialization from distinct Objective-C type + + Note that this doesn't actually cause any change in behavior since + the gcc compiler ignores the semi-colon anyway. + + * DefaultDelegates/WebDefaultUIDelegate.m: + (-[WebDefaultUIDelegate webViewFirstResponder:]): Removed semi-colon + from method signature. + +2008-09-27 David Hyatt <hyatt@apple.com> + + Fix for https://bugs.webkit.org/show_bug.cgi?id=21182 + + Make sure Mac null checks the view like the other platforms do now that Mac goes through WebCore + to call setAllowsScrolling. + + Reviewed by Mark Rowe + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createFrame): + +2008-09-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=21178 + <rdar://problem/6248651> + + Check if the plug-in is allowed to load the resource. This matches Firefox. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): + +2008-09-26 Matt Lilek <webkit@mattlilek.com> + + Reviewed by Tim Hatcher. + + Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed. + + * Configurations/WebKit.xcconfig: + +2008-09-26 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21164 + + Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform. + + Reviewed by Sam Weinig + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createFrame): + * WebView/WebDynamicScrollBarsView.h: + * WebView/WebDynamicScrollBarsView.m: + * WebView/WebDynamicScrollBarsViewInternal.h: + * WebView/WebFrameView.mm: + (-[WebFrameView setAllowsScrolling:]): + (-[WebFrameView allowsScrolling]): + +2008-09-26 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21149 + + More refactoring to make scrollbar modes cross-platform. Reduce the protocol that + WebDynamicScrollBarsView has to implement for communicating with WebCore to just three methods. + + Reviewed by Sam Weinig + + * WebView/WebDynamicScrollBarsView.m: + (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]): + (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): + (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): + (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]): + * WebView/WebDynamicScrollBarsViewInternal.h: + * WebView/WebFrameView.mm: + (-[WebFrameView setAllowsScrolling:]): + * WebView/WebView.mm: + (-[WebView setAlwaysShowVerticalScroller:]): + (-[WebView setAlwaysShowHorizontalScroller:]): + +2008-09-26 David Kilzer <ddkilzer@apple.com> + + Fix Mac build with XSLT disabled + + Reviewed by Alexey. + + * Misc/WebCache.mm: + (+[WebCache statistics]): Populate xslStyleSheet statistics with + zeros if XSLT is disabled. + +2008-09-25 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21101 + + Fix the updating of the active state to not be dumb, so that viewless scrollbars repaint properly. + + Reviewed by Tim Hatcher + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _updateFocusedAndActiveState]): + +2008-09-24 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + - https://bugs.webkit.org/show_bug.cgi?id=21079 + <rdar://problem/6203938> Disallow embedding Safari-generated pages + (e.g bookmarks collection) in subframes + + * DefaultDelegates/WebDefaultPolicyDelegate.m: + (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): + Use the new +[WebView _canHandleRequest:forMainFrame:] so we can give + a different answer for the main frame and subframes. + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::canHandleRequest): Ditto. + + * WebView/WebView.mm: + (+[WebView _canHandleRequest:forMainFrame:]): Added forMainFrame. Only look + for scheme-specific representations for the main frame, not subframes. + (+[WebView _canHandleRequest:]): Give answer for main frame -- calls the + method above with YES for main frame. + + * WebView/WebViewInternal.h: Added _canHandleRequest:forMainFrame:. + +2008-09-23 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21039 + + Teach the viewless Mac scrollbar how to avoid the NSWindow resizer. + + Reviewed by Sam Weinig + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::windowResizerRect): + +2008-09-23 Dan Bernstein <mitz@apple.com> + + Reviewed by Beth Dakin. + + - fix <rdar://problem/6233388> Crash beneath -[WebFrameView keyDown:] + + Test: fast/events/keydown-remove-frame.html + + * WebView/WebFrameView.mm: + (-[WebFrameView keyDown:]): Added a null check. + +2008-09-21 Dirk Schulze <vbs85@gmx.de> + + Reviewed and landed by Eric Seidel. + + Moved CGFloat definition to WebKitPrefix so CGFloat can be used more + freely throughout WebCore without worrying about breaking Tiger. + + * Misc/WebTypesInternal.h: Removed it from here. + * WebKitPrefix.h: Added it here. + +2008-09-20 Matt Lilek <webkit@mattlilek.com> + + Reviewed by Tim Hatcher. + + Revert r35688. We use a textured window on Leopard, which does not have the + square corners of the standard Aqua window on Tiger. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController window]): Add back the call to WKNSWindowMakeBottomCornersSquare. + +2008-09-19 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + - speculative fix for https://bugs.webkit.org/show_bug.cgi?id=20943 + Assertion failure in RefCountedLeakCounter::cancelMessageSuppression() when closing a window + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:]): Moved call to + RefCountedLeakCounter::suppressMessages in here. + (-[WebView initWithFrame:frameName:groupName:]): Moved it out of here. + +2008-09-18 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + Add SPI to WebView to allow DRT to clear the main frame's name between tests. + + * WebView/WebView.mm: + (-[WebView _clearMainFrameName]): + * WebView/WebViewPrivate.h: + +2008-09-18 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + - fix https://bugs.webkit.org/show_bug.cgi?id=20925 + LEAK messages appear every time I quit + + * WebView/WebPreferences.mm: + (-[WebPreferences setFullDocumentTeardownEnabled:]): Removed unneeded call + to setLogLeakMessages. + * WebView/WebView.mm: + (-[WebView _closeWithFastTeardown]): Call RefCountedLeakCounter::suppressMessages, + telling it that we can't track leaks because at least one WebView was closed with + fast teardown. + (-[WebView _close]): Removed unneeded call to setLogLeakMessages. Added a call to + cancelMessageSuppression since the WebView is no longer open. + Added an explicit garbage collect to help with the case where we're closing during + the quit process -- the garbageCollectSoon() calls done inside WebCore won't help + us in that case. + (-[WebView initWithFrame:frameName:groupName:]): Call + RefCountedLeakCounter::suppressMessages telling it that we can't track leaks + because at least one WebView is currently open. + +2008-09-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam Roben. + + Move the remainder of the stream ivars to the C++ object. + + * Plugins/WebBaseNetscapePluginStream.h: + (WebNetscapePluginStream::WebNetscapePluginStream): + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): + (-[WebBaseNetscapePluginStream initWithFrameLoader:]): + (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): + (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): + (-[WebBaseNetscapePluginStream dealloc]): + (-[WebBaseNetscapePluginStream finalize]): + (-[WebBaseNetscapePluginStream setPlugin:]): + (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): + (-[WebBaseNetscapePluginStream start]): + (-[WebBaseNetscapePluginStream stop]): + (-[WebBaseNetscapePluginStream wantsAllStreams]): + (-[WebBaseNetscapePluginStream _destroyStream]): + (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): + (-[WebBaseNetscapePluginStream cancelLoadWithError:]): + (-[WebBaseNetscapePluginStream _deliverData]): + +2008-09-17 David Hyatt <hyatt@apple.com> + + Make the notion of Widget having an underlying native widget cross-platform. + + Reviewed by Sam Weinig + + * WebCoreSupport/WebFrameLoaderClient.mm: + (NetscapePluginWidget::handleEvent): + * WebView/WebFrame.mm: + (-[WebFrame _dragSourceMovedTo:]): + (-[WebFrame _dragSourceEndedAt:operation:]): + * WebView/WebFrameView.mm: + (-[WebFrameView _install]): + * WebView/WebRenderNode.mm: + (copyRenderNode): + +2008-09-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Cameron Zwarich. + + Move more instance variables down to the C++ class. + + * Plugins/WebBaseNetscapePluginStream.h: + (WebNetscapePluginStream::WebNetscapePluginStream): + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): + (-[WebBaseNetscapePluginStream dealloc]): + (-[WebBaseNetscapePluginStream finalize]): + (-[WebBaseNetscapePluginStream transferMode]): + (-[WebBaseNetscapePluginStream plugin]): + (-[WebBaseNetscapePluginStream setPlugin:]): + (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): + (-[WebBaseNetscapePluginStream wantsAllStreams]): + (-[WebBaseNetscapePluginStream _destroyStream]): + (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): + (-[WebBaseNetscapePluginStream _deliverData]): + (-[WebBaseNetscapePluginStream _deliverDataToFile:]): + (-[WebBaseNetscapePluginStream finishedLoading]): + (-[WebBaseNetscapePluginStream receivedData:]): + +2008-09-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Dave Hyatt. + + Move a bunch of instance variables into the C++ class. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): + (-[WebBaseNetscapePluginStream errorForReason:]): + (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): + (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): + (-[WebBaseNetscapePluginStream dealloc]): + (-[WebBaseNetscapePluginStream setRequestURL:]): + (-[WebBaseNetscapePluginStream setResponseURL:]): + (-[WebBaseNetscapePluginStream setMIMEType:]): + (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): + (-[WebBaseNetscapePluginStream _destroyStream]): + (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): + (-[WebBaseNetscapePluginStream _deliverData]): + (-[WebBaseNetscapePluginStream receivedData:]): + +2008-09-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Dave Hyatt. + + Add a new WebNetscapePluginStream C++ class. The idea is that it is supposed to replace the Obj-C + WebBaseNetscapePluginStream class. The plan is to gradually move/rewrite code from the Obj-C class to the C++ class + until the C++ class can replace the Obj-C class. + + * Plugins/WebBaseNetscapePluginStream.h: + (WebNetscapePluginStream::create): + (WebNetscapePluginStream::WebNetscapePluginStream): + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream initWithFrameLoader:]): + (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): + (-[WebBaseNetscapePluginStream dealloc]): + (-[WebBaseNetscapePluginStream finalize]): + +2008-09-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Dave Hyatt. + + Instead of storing a pointer to NPP method individually, just store a pointer to the NPNetscapeFuncs vtable. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream setPlugin:]): + (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): + (-[WebBaseNetscapePluginStream wantsAllStreams]): + (-[WebBaseNetscapePluginStream _destroyStream]): + (-[WebBaseNetscapePluginStream _deliverData]): + * Plugins/WebNetscapePluginPackage.h: + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage pluginFuncs]): + +2008-09-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Dave Hyatt. + + Remove references to WebNetscapePluginStream. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebNetscapePluginEmbeddedView.h: + +2008-09-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix https://bugs.webkit.org/show_bug.cgi?id=20860 + REGRESSION: Crash in RenderLayer::hasVisibleContent() loading wavy.com + + * WebView/WebFrame.mm: + (-[WebFrame _getVisibleRect:]): Changed to check if the RenderPart has + layout before accessing it, instead of checking if the frame inside it + has layout. + +2008-09-15 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler, Beth Dakin + + Support strings for AXLists + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory AXDefinitionListTermText]): + (-[WebViewFactory AXDefinitionListDefinitionText]): + +2008-09-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Mitz. + + Merge WebNetscapePluginStream into WebBaseNetscapePluginStream. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream initWithFrameLoader:]): + (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): + (-[WebBaseNetscapePluginStream dealloc]): + (-[WebBaseNetscapePluginStream finalize]): + (-[WebBaseNetscapePluginStream start]): + (-[WebBaseNetscapePluginStream stop]): + (-[WebBaseNetscapePluginStream cancelLoadWithError:]): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView pluginView:receivedResponse:]): + (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): + * Plugins/WebNetscapePluginEmbeddedView.mm: + * Plugins/WebNetscapePluginStream.h: Removed. + * Plugins/WebNetscapePluginStream.mm: Removed. + +2008-09-12 John Sullivan <sullivan@apple.com> + + Fixed <rdar://problem/6110941> Clicking the print button in PDF content does nothing + + Reviewed by Darin Adler + + * WebView/WebPDFView.mm: + (-[WebPDFView PDFViewPerformPrint:]): + Implemented PDFKit delegate method that's called after a Print action in the PDF content + +2008-09-12 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - fix a crash in -visibleRect when it is called during WebFrameView deallocation + + * WebView/WebFrameView.mm: + (-[WebFrameView visibleRect]): Added an early return if _private is 0. + +2008-09-11 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - eliminate excessive repainting when a clipped iframe is moved (noticed in <rdar://problem/6204032>) + + * WebView/WebFrame.mm: + (-[WebFrame _getVisibleRect:]): Added. If the frame is in a RenderPart + and has layout, gets the visible rect of the RenderPart and returns + YES. Returns NO otherwise. + * WebView/WebFrameInternal.h: + * WebView/WebFrameView.mm: + (-[WebFrameView visibleRect]): Added. Overrides this NSView method to + take clipping in the render tree into account. + +2008-09-09 Dan Bernstein <mitz@apple.com> + + - Tiger build fix + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + +2008-09-09 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - WebKit part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + +2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Reviewed by Maciej Stachowiak. + + Bug 20704: Replace the KJS namespace + <https://bugs.webkit.org/show_bug.cgi?id=20704> + + Rename the KJS namespace to JSC. + + * Misc/WebCoreStatistics.mm: + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream wantsAllStreams]): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): + (-[WebBaseNetscapePluginView setWindowIfNecessary]): + (-[WebBaseNetscapePluginView start]): + (-[WebBaseNetscapePluginView createPluginScriptableObject]): + (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): + (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): + (-[WebBaseNetscapePluginView loadPluginRequest:]): + (-[WebBaseNetscapePluginView _printedPluginBitmap]): + * Plugins/WebPluginController.mm: + (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): + (-[WebPluginController startAllPlugins]): + (-[WebPluginController stopAllPlugins]): + (-[WebPluginController addPlugin:]): + (-[WebPluginController destroyPlugin:]): + (-[WebPluginController destroyAllPlugins]): + * WebView/WebFrame.mm: + * WebView/WebScriptDebugDelegate.mm: + * WebView/WebScriptDebugger.h: + * WebView/WebScriptDebugger.mm: + * WebView/WebView.mm: + (-[WebViewPrivate init]): + +2008-09-05 Timothy Hatcher <timothy@apple.com> + + Correct a typo in the setApplicationChromeModeEnabledEnabled: + method name, remove the extra "Enabled". + + * WebView/WebPreferences.mm: + * WebView/WebPreferencesPrivate.h: + +2008-09-04 Mark Rowe <mrowe@apple.com> + + Reviewed by Eric Seidel. + + Fix https://bugs.webkit.org/show_bug.cgi?id=20639. + Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE + + * Configurations/WebKit.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES. + +2008-09-03 Eric Seidel <eric@webkit.org> + + Reviewed by Sam. + + Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS) + + * Configurations/WebKit.xcconfig: + * WebKitPrefix.h: add rules for V8_BINDINGS + +2008-09-01 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=19760 + + Add a linked-on-or-after check to prevent substitute data from loading + local resources on newer users of WebKit. + + * Misc/WebKitVersionChecks.h: + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:]): + +2008-08-29 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + Fix regression I introducted in 35946 + Already covered by media/video-click-dlbclick-standalone.html + + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation receivedData:withDataSource:]): Cancel the load here after + calling [WebFrame _receivedData:] which more closely follows the path taken by PluginDocuments + +2008-08-28 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Geoff. + + <rdar://problem/6095949> REGRESSION (5525.8-6527.1?): "this" is null + when you first hit a breakpoint in Dashcode + - We wanted to reset the callframe whenever eval() was called but + dashcode uses eval() when broken to evaluate the state of the current + call frame. + + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::willExecuteProgram): + (WebScriptDebugger::didExecuteProgram): + +2008-08-27 Robert Kroeger <rjkroege@liqui.org> + + Tweaked by Sam Weinig. + + Reviewed by Eric Seidel. + + Fix https://bugs.webkit.org/show_bug.cgi?id=6595 + <rdar://problem/4432150> + Right-click does not fire mouseup event + + Adds a rightMouseUp handler to the WebHTMLView. + + The added method generates mouseup events for button 2. The result + is that webkit will deliver mousedown and mouseup events for button + 2 in a fashion identical to FireFox and will retain event ordering + identical to Internet Explorer. + + Test: fast/events/mouseup-from-button2.html + + * WebView/WebHTMLView.mm: + (-[WebHTMLView rightMouseUp:]): + +2008-08-27 Timothy Hatcher <timothy@apple.com> + + Add support for support for -webkit-appearance: default-button on the Mac platform. + + <rdar://problem/6173530> + + Reviewed by Dave Hyatt. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Init AdvanceDefaultButtonPulseAnimation. + * WebView/WebPreferenceKeysPrivate.h: Added WebKitApplicationChromeModeEnabledPreferenceKey. + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): Set WebKitApplicationChromeModeEnabledPreferenceKey to NO. + (-[WebPreferences applicationChromeModeEnabled]): Added. + (-[WebPreferences setApplicationChromeModeEnabledEnabled:]): Added. + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Call Settings::setApplicationChromeMode + with the value of -[WebPreferences applicationChromeModeEnabled]. + +2008-08-27 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + <rdar://problem/6134133> - Crash when loading large movie as a standalone document + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::pluginWillHandleLoadError): + +2008-08-20 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by John Sullivan. + + - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen, + rename related methods and variables accordingly, and make + -setShouldUpdateWhileOffscreen: and -shouldUpdateWhileOffscreen + WebView API. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::transitionToCommittedForNewPage): + * WebView/WebFrame.mm: + (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): + * WebView/WebFrameInternal.h: + * WebView/WebHTMLView.mm: + (-[WebHTMLView windowWillOrderOnScreen:]): + * WebView/WebView.h: + * WebView/WebView.mm: + (-[WebViewPrivate init]): + (-[WebView setBackgroundColor:]): + (-[WebView setDrawsBackground:]): + (-[WebView setShouldUpdateWhileOffscreen:]): + (-[WebView shouldUpdateWhileOffscreen]): + * WebView/WebViewPrivate.h: + +2008-08-18 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + Switch to non-deprecated NSFileManager API. + + In order to minimize #if's the new NSFileManager APIs have been implemented for + Tiger and call sites updated to use the new methods. + + * Misc/WebIconDatabase.mm: + (importToWebCoreFormat): + * Misc/WebKitNSStringExtras.m: + (-[NSString _webkit_fixedCarbonPOSIXPath]): + * Misc/WebKitSystemBits.m: + * Misc/WebNSFileManagerExtras.h: + * Misc/WebNSFileManagerExtras.m: Remove implementations of methods that are not used. + (-[NSFileManager _webkit_backgroundRemoveFileAtPath:]): + (-[NSFileManager attributesOfFileSystemForPath:error:]): Implement new API for Tiger in terms of Tiger API. + (-[NSFileManager contentsOfDirectoryAtPath:error:]): Ditto. + (-[NSFileManager moveItemAtPath:toPath:error:]): Ditto. + (-[NSFileManager removeItemAtPath:error:]): Ditto. + * Plugins/WebPluginDatabase.mm: + (-[WebPluginDatabase _scanForNewPlugins]): + +2008-08-20 Josh Aas <joshmoz@gmail.com> + + Reviewed and landed by Anders. + + <rdar://problem/6163636> + rename NPCocoaEvent's "event" struct to "data" (20446) + + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + (WebNetscapePluginEventHandlerCocoa::drawRect): + (WebNetscapePluginEventHandlerCocoa::sendMouseEvent): + (WebNetscapePluginEventHandlerCocoa::flagsChanged): + (WebNetscapePluginEventHandlerCocoa::sendKeyEvent): + (WebNetscapePluginEventHandlerCocoa::windowFocusChanged): + (WebNetscapePluginEventHandlerCocoa::focusChanged): + +2008-08-20 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/6145626> + Allows a WebKit client to mark a frame as not-text-searchable + through SPI. + + * WebView/WebFrame.mm: + (-[WebFrame _setExcludeFromTextSearch:]): + * WebView/WebFramePrivate.h: + +2008-08-19 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Geoff Garen. + + Bring back shared JSGlobalData and implicit locking, because too many clients rely on it. + + * ForwardingHeaders/runtime/JSLock.h: Added. + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics javaScriptObjectsCount]): + (+[WebCoreStatistics javaScriptGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): + (+[WebCoreStatistics shouldPrintExceptions]): + (+[WebCoreStatistics setShouldPrintExceptions:]): + (+[WebCoreStatistics javaScriptReferencedObjectsCount]): + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream wantsAllStreams]): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): + (-[WebBaseNetscapePluginView setWindowIfNecessary]): + (-[WebBaseNetscapePluginView start]): + (-[WebBaseNetscapePluginView createPluginScriptableObject]): + (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): + (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): + (-[WebBaseNetscapePluginView loadPluginRequest:]): + (-[WebBaseNetscapePluginView _printedPluginBitmap]): + * Plugins/WebPluginController.mm: + (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): + (-[WebPluginController startAllPlugins]): + (-[WebPluginController stopAllPlugins]): + (-[WebPluginController addPlugin:]): + (-[WebPluginController destroyPlugin:]): + (-[WebPluginController destroyAllPlugins]): + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame evaluateWebScript:]): + * WebView/WebView.mm: + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): + +2008-08-19 Timothy Hatcher <timothy@apple.com> + + Fixes the Web Inspector flashing white while resizing after + highlighting a page element. Calling disableScreenUpdatesUntilFlush + when attaching and detaching the Inspector page highlight is bad, + since the browser window might not flush again for a while. So screen + updates could be disabled for long periods of time, causing backing store + flashing while resizing. There is no need to call disableScreenUpdatesUntilFlush + when attaching or detaching the child window. + + Reviewed by John Sullivan and Kevin McCullough. + + * WebInspector/WebNodeHighlight.m: + (-[WebNodeHighlight attach]): Remove the call to disableScreenUpdatesUntilFlush. + (-[WebNodeHighlight detach]): Ditto. + +2008-08-19 Timothy Hatcher <timothy@apple.com> + + Correctly remembers the attached state of the Web Inspector so + it opens in that state for the next window, or next launch. + + Reviewed by Kevin McCullough. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController attach]): Set WebKitInspectorAttachedKey + to YES in the user defaults. + (-[WebInspectorWindowController detach]): Set WebKitInspectorAttachedKey + to NO in the user defaults. + +2008-08-18 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=19347 + <rdar://problem/5977562> Input methods do not work after switching to a password field + and back. + + Fix <rdar://problem/5522011> (The content of the password field of Safari is displayed by + reconversion) in a different way which doesn't conflict with context caching performed + by AppKit. + + This original bug does not really occur in ToT or shipping Safari under Mac OS X 10.5.4, + because input methods are disabled in password fields. Attempting to reconvert text typed + with Romaji only yields a string of bullets. Still, it is probably better to match Cocoa + password field behavior and disable reconversion completely. + + * WebView/WebHTMLView.mm: + (isInPasswordField): Factored out code to determine that the current selection is in + a password field. + (inputContext): Removed a hack that was breaking TSMGetActiveDocument(). + (-[WebHTMLView attributedSubstringFromRange:]): Check for password fields. + (-[WebHTMLView textStorage]): Ditto. + +2008-08-12 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - eliminate JSValue::type() + + * WebView/WebView.mm: + (aeDescFromJSValue): Rewrite to use the JSValue::is functions instead + of a switch on JSValue::type(). + +2008-08-17 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Cameron Zwarich. + + Made room for a free word in JSCell. + + (Updated for JavaScriptCore changes.) + +2008-08-15 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Geoff Garen. + + <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework + + * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared + between the Debug configuration and debug Production variant. + +2008-08-14 Sam Weinig <sam@webkit.org> + + Reviewed by Geoffrey Garen and Timothy Hatcher. + + Add WebView SPI to set HTMLTokenizer yielding parameters. + + * WebView/WebView.mm: + (-[WebView _setCustomHTMLTokenizerTimeDelay:]): + (-[WebView _setCustomHTMLTokenizerChunkSize:]): + * WebView/WebViewPrivate.h: + +2008-08-13 Timothy Hatcher <timothy@apple.com> + + Fixes a bug where Safari's find banner would be permanently hidden + when attaching or closing the Web Inspector while attached. + + https://bugs.webkit.org/show_bug.cgi?id=20376 + + Reviewed by Kevin McCullough. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController close]): + Carefully manipulate the WebFrameView's frame when closing to + not assume the WebFrameView's frame fills the inspected WebView. + (-[WebInspectorWindowController setAttachedWindowHeight:]): + Carefully manipulate the WebFrameView's frame when docking to + not assume the WebFrameView plus the Web Inspector WebViews fills + the full inspected WebView. + +2008-08-13 Stephanie Lewis <slewis@apple.com> + + fix 64bit build + + * WebCoreSupport/WebInspectorClient.mm: + +2008-08-13 Timothy Hatcher <timothy@apple.com> + + Remember the docked state of the Web Inspector, so it can be + reopened docked if it was last docked. + + https://bugs.webkit.org/show_bug.cgi?id=14271 + + Reviewed by Kevin McCullough. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController init]): Initialize _shouldAttach + to the value stored in the user defaults. If there has never + been a value stored, default to being attached. + (-[WebInspectorWindowController showWindow:]): Pass the attached + state to InspectorController::setWindowVisible. + +2008-08-12 Timothy Hatcher <timothy@apple.com> + + Remove the Inspector's WebView for the view hierarchy when closed + while attached. This prevents it from showing in the background + while the page changes. + + Reviewed by Kevin McCullough. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController close:]): Call removeFromSuperview + on the Inspector's WebView if it isn't attached, so it will not + be visible when navigating pages while closed. + +2008-08-12 Timothy Hatcher <timothy@apple.com> + + Make the docked Web Inspector resizable. + + https://bugs.webkit.org/show_bug.cgi?id=14282 + + Reviewed by Kevin McCullough. + + * WebCoreSupport/WebInspectorClient.h: + * WebCoreSupport/WebInspectorClient.mm: + (WebInspectorClient::setAttachedWindowHeight): Call setAttachedWindowHeight: + on the WebInspectorWindowController. + (-[WebInspectorWindowController showWindow:]): Call setAttachedWindowHeight:. + (-[WebInspectorWindowController setAttachedWindowHeight:]): Moved code + from showWindow: and generalized to allow being called multiple times. + Remembers the last height passed, which is used by showWindow: the next + time the Inspector attaches. + +2008-08-12 Timothy Hatcher <timothy@apple.com> + + Remove unneeded header imports from some Web Inspector files. + + Reviewed by Adam Roben. + + * WebCoreSupport/WebInspectorClient.mm: + * WebInspector/WebInspector.mm: + * WebInspector/WebNodeHighlightView.m: + +2008-08-12 Timothy Hatcher <timothy@apple.com> + + Remove the call to WKNSWindowMakeBottomCornersSquare on the + Web Inspector's window. This isn't needed anymore since the + window style masks used always have square bottom corners. + + Reviewed by Adam Roben. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController window]): Remove the call + to WKNSWindowMakeBottomCornersSquare. + +2008-08-12 Timothy Hatcher <timothy@apple.com> + + Make attaching and detaching the Web Inspector instantaneous. + This also preserves the current view, other state, and keeps + the script debugger attached. + + https://bugs.webkit.org/show_bug.cgi?id=19301 + + Reviewed by Adam Roben. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController close]): Only call setWindowVisible(false) + when not moving windows. + +2008-08-12 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - replace -[WebPreferences updatesWhenOffscreen] with -[WebView shouldUpdateWhileHidden] + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::transitionToCommittedForNewPage): + * WebView/WebFrame.mm: + (-[WebFrame _updateBackgroundAndUpdatesWhileHidden]): + * WebView/WebFrameInternal.h: + * WebView/WebHTMLView.mm: + (-[WebHTMLView windowWillOrderOnScreen:]): + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebViewPrivate init]): + (-[WebView _preferencesChangedNotification:]): + (-[WebView setBackgroundColor:]): + (-[WebView setDrawsBackground:]): + (-[WebView shouldUpdateWhileHidden]): + (-[WebView setShouldUpdateWhileHidden:]): + * WebView/WebViewPrivate.h: + +2008-08-08 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - fix <rdar://problem/6130216> Exception "windowRegionBeingDrawn != nil" in NSView when caching image of a subframe + + This change reintroduces <https://bugs.webkit.org/show_bug.cgi?id=5195> on Leopard. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]): Removed an + unsuccessful workaround for <rdar://problem/5668489>, because invoking + layout may change the view hierarchy during the drawing operation, + which is not supported on Leopard. + +2008-08-08 Maxime Britto <britto@apple.com> + + Reviewed by Adele. + + * WebView/WebFrame.mm: + (-[WebFrame _scrollDOMRangeToVisible:]): + +2008-08-08 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + Fix for <rdar://problem/5865504> + + This bug was actually *largely* fixed by http://trac.webkit.org/changeset/35538. + But with that same patch, it became possible for a WebResource to fail to initialize. + Therefore we were trying to add nil to an NSCFArray for certain situations, which is bad. + Lets fix that, shall we? + + * WebView/WebArchive.mm: + (-[WebArchive subresources]): + +2008-08-06 Eric Seidel <eric@webkit.org> + + Reviewed by Cameron Zwarich. + + Move more methods from Frame into ScriptController + https://bugs.webkit.org/show_bug.cgi?id=20294 + + The WebKit side of this move. Calls to frame() are now frame()->script() + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView getVariable:value:]): + (-[WebBaseNetscapePluginView _destroyPlugin]): + * Plugins/WebPluginController.mm: + (-[WebPluginController destroyPlugin:]): + (-[WebPluginController destroyAllPlugins]): + * WebCoreSupport/WebFrameLoaderClient.mm: + * WebView/WebFrame.mm: + (-[WebFrame windowObject]): + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::callEvent): + * WebView/WebView.mm: + (-[WebView windowScriptObject]): + +2008-08-06 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - fix an assertion failure in Cache::setCapacities() + + * Misc/WebKitSystemBits.h: Changed the return type of WebMemorySize() + to uint64_t. + * Misc/WebKitSystemBits.m: + (WebMemorySize): + * WebView/WebView.mm: + (+[WebView _setCacheModel:]): + +2008-08-05 Anders Carlsson <andersca@apple.com> + + Pass in the correct class here. + + * WebView/WebResource.mm: + (-[WebResourcePrivate dealloc]): + +2008-08-05 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6037398> + ER: Deallocate WebKit objects on the main thread, even if released on secondary thread + + Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose. + + * Carbon/CarbonWindowAdapter.m: + (-[CarbonWindowAdapter dealloc]): + * History/WebBackForwardList.mm: + (-[WebBackForwardList dealloc]): + * History/WebHistoryItem.mm: + (-[WebHistoryItem dealloc]): + * Misc/WebElementDictionary.mm: + (+[WebElementDictionary initialize]): + (-[WebElementDictionary dealloc]): + * WebCoreSupport/WebEditorClient.mm: + (-[WebEditCommand dealloc]): + * WebCoreSupport/WebFrameLoaderClient.mm: + * WebView/WebArchive.mm: + (-[WebArchivePrivate dealloc]): + * WebView/WebDataSource.mm: + (-[WebDataSourcePrivate dealloc]): + * WebView/WebHTMLView.mm: + (-[WebHTMLViewPrivate dealloc]): + (-[WebHTMLView dealloc]): + * WebView/WebResource.mm: + (-[WebResourcePrivate dealloc]): + +2008-08-05 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Remove MainThreadObjectDeallocator.{h|mm}. + + * WebView/MainThreadObjectDeallocator.h: Removed. + * WebView/MainThreadObjectDeallocator.mm: Removed. + + * WebView/WebView.mm: + (-[WebView dealloc]): + Call WebCoreObjCScheduleDeallocateOnMainThread instead. + +2008-08-05 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Make the main thread object deallocator work with subclasses. + + * WebView/MainThreadObjectDeallocator.h: + * WebView/MainThreadObjectDeallocator.mm: + (deallocCallback): + Call the correct dealloc method. + + (scheduleDeallocateOnMainThread): + Store both the class and the instance, so we know which dealloc method to call. + + * WebView/WebView.mm: + (-[WebViewPrivate dealloc]): + Schedule deallocation on the main thread. + +2008-08-05 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe and Anders Carlsson. + + - fix WebMemorySize() reporting a value capped at 2GB + + * misc/WebKitSystemBits.m: + (WebMemorySize): Changed to return the max_mem field, which, unlike + memory_size, is not capped at 2GB. + * WebView/WebView.mm: + (+[WebView _setCacheModel:]): Made the cache sizes for over 2GB RAM the + same as for 2GB, so that behavior on machines that have more than 2GB + RAM is not affected by the fix to WebMemorySize(). + +2008-08-04 Mark Rowe <mrowe@apple.com> + + Build fix. + + * WebView/WebHTMLView.mm: + +2008-08-04 Mark Rowe <mrowe@apple.com> + + Reviewed by Kevin Decker. + + Adopt the formal protocols where necessary. + Final part of fix for <rdar://problem/5853147>. + + * WebCoreSupport/WebInspectorClient.mm: + * WebView/WebHTMLView.mm: + * WebView/WebView.mm: + (-[WebView _openFrameInNewWindowFromMenu:]): + +2008-08-04 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + Declare empty protocols when using versions of AppKit that do not use formal protocols for delegates and data sources. + Part one of fix for <rdar://problem/5853147>. + + * Misc/EmptyProtocolDefinitions.h: + * WebKitPrefix.h: + +2008-08-04 Brady Eidson <beidson@apple.com> + + Reviewed by Mitz Pettel + + Fix <rdar://problem/5820157> - Saving WebArchives of Mail attachments broken. + + This broke in r31355 when we stopped returning nil WebResources when there was nil + resource data. + + * WebView/WebResource.mm: + (-[WebResource _initWithCoreResource:]): Restore previous behavior of returning nil + when the resource data is null. + +2008-08-02 Matt Lilek <webkit@mattlilek.com> + + Reviewed by Tim Hatcher. + + Update the window gradient offset to match the inspector toolbar's new height. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController window]): + +2008-08-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Jon. + + <rdar://problem/6120206> + Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams. + + Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack. + + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream wantsAllStreams]): + +2008-07-31 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5949410> + Add the ability to transfer a given application cache to a new database. + + * Misc/WebKitNSStringExtras.h: + * Misc/WebKitNSStringExtras.m: + (+[NSString _webkit_applicationCacheDirectoryWithBundleIdentifier:]): + New method which returns the appopriate cache directory for a given bundle identifier. + + * WebView/WebDataSource.mm: + (-[WebDataSource _transferApplicationCache:]): + Transfer the application cache. + + * WebView/WebDataSourcePrivate.h: + * WebView/WebView.mm: + (WebKitInitializeApplicationCachePathIfNecessary): + Change this to use _webkit_applicationCacheDirectoryWithBundleIdentifier. + +2008-07-31 John Sullivan <sullivan@apple.com> + + WebKit part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs + + Reviewed by Hyatt + + * WebView/WebPreferenceKeysPrivate.h: + added WebKitZoomsTextOnlyPreferenceKey + + * WebView/WebPreferences.mm: + (+[WebPreferences initialize]): + default value of YES for WebKitZoomsTextOnlyPreferenceKey + (-[WebPreferences zoomsTextOnly]): + getter for WebKitZoomsTextOnlyPreferenceKey + (-[WebPreferences setZoomsTextOnly:]): + setter for WebKitZoomsTextOnlyPreferenceKey + + * WebView/WebPreferencesPrivate.h: + declare zoomsTextOnly/setZoomsTextOnly: + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + update WebCore::Settings value for zoomsTextOnly + +2008-07-31 David D. Kilzer <ddkilzer@webkit.org> + + Fix layout test results for webarchive/test-xml-stylesheet.xml + + Reviewed by Darin Adler. + + Needed to expose -[WebHTMLRepresentation supportedNonImageMIMETypes] + for DumpRenderTree. + + * WebView/WebHTMLRepresentationInternal.h: Added. + +2008-07-31 Alexey Proskuryakov <ap@webkit.org> + + Release build fix. + + * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setWindowIfNecessary]): + Don't define to npErr in release builds, as it is only used for logging. + +2008-07-31 John Sullivan <sullivan@apple.com> + + Fixed <https://bugs.webkit.org/show_bug.cgi?id=5195> + drawing with cacheDisplayInRect:toBitmapImageRep: doesn't trigger layout on Leopard + + Reviewed by Dan + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]): + include Leopard in the #ifdef that forces a layout if needed + +2008-07-30 Brady Eidson <beidson@apple.com> + + Reviewed by Adam and Hyatt + + Fix for <rdar://problem/6099748> + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Set the "don't enforce CSS mime type in strict mode" + quirk when running under iWeb 2 + +2008-07-31 Alexey Proskuryakov <ap@webkit.org> + + Rubber-stamped by Maciej. + + Eliminate JSLock (it was already disabled, removing the stub implementaion and all + call sites now). + + * ForwardingHeaders/runtime/JSLock.h: Removed. + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics javaScriptObjectsCount]): + (+[WebCoreStatistics javaScriptGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): + (+[WebCoreStatistics shouldPrintExceptions]): + (+[WebCoreStatistics setShouldPrintExceptions:]): + (+[WebCoreStatistics javaScriptReferencedObjectsCount]): + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream wantsAllStreams]): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): + (-[WebBaseNetscapePluginView setWindowIfNecessary]): + (-[WebBaseNetscapePluginView start]): + (-[WebBaseNetscapePluginView createPluginScriptableObject]): + (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): + (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): + (-[WebBaseNetscapePluginView loadPluginRequest:]): + (-[WebBaseNetscapePluginView _printedPluginBitmap]): + * Plugins/WebPluginController.mm: + (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): + (-[WebPluginController startAllPlugins]): + (-[WebPluginController stopAllPlugins]): + (-[WebPluginController addPlugin:]): + (-[WebPluginController destroyPlugin:]): + (-[WebPluginController destroyAllPlugins]): + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame evaluateWebScript:]): + * WebView/WebView.mm: + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): + +2008-07-30 Beth Dakin <bdakin@apple.com> + + Reviewed by Anders Carlsson. + + Fixes <rdar://problem/6041390> + + Adds the ability to have a frame that is "disconnected" from the + main frame from the perspective of top and parent in + Javascript. + + * WebView/WebFrame.mm: + (-[WebFrame _setIsDisconnectedFrame]): + * WebView/WebFramePrivate.h: + +2008-07-29 Mark Rowe <mrowe@apple.com> + + Tweak to the build fix to keep Dan happy. + + * Plugins/WebBaseNetscapePluginView.mm: + * WebView/WebHTMLView.mm: + +2008-07-29 Mark Rowe <mrowe@apple.com> + + Build fix. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView inputContext]): + * WebView/WebHTMLView.mm: + +2008-07-28 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Based on a patch by Dimcho Balev. + + https://bugs.webkit.org/show_bug.cgi?id=18676 + <rdar://problem/6106578> + Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs + + * Plugins/WebBaseNetscapePluginStream.h: + Add NPP_GetValue pointer. + + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream setPlugin:]): + Initialize NPP_GetValue. + + (-[WebBaseNetscapePluginStream wantsAllStreams]): + Call NPP_GetValue. + + * Plugins/WebPlugInStreamLoaderDelegate.h: + * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: + * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: + (WebNetscapePlugInStreamLoaderClient::wantsAllStreams): + Implement this and call down to the stream. + +2008-07-28 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam. + + <rdar://problem/6105529> + https://bugs.webkit.org/show_bug.cgi?id=19659 + Turning off plugins causes crash + + When an active page has plug-ins, and plug-ins are disabled, they will be stopped and will + end up in a state where they don't have an event handler. Because of this, we need to + check that the plug-in has been started before calling the event handler. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView sendActivateEvent:]): + (-[WebBaseNetscapePluginView sendDrawRectEvent:]): + (-[WebBaseNetscapePluginView setHasFocus:]): + (-[WebBaseNetscapePluginView mouseDown:]): + (-[WebBaseNetscapePluginView mouseUp:]): + (-[WebBaseNetscapePluginView mouseEntered:]): + (-[WebBaseNetscapePluginView mouseExited:]): + (-[WebBaseNetscapePluginView handleMouseMoved:]): + (-[WebBaseNetscapePluginView mouseDragged:]): + (-[WebBaseNetscapePluginView scrollWheel:]): + (-[WebBaseNetscapePluginView keyUp:]): + (-[WebBaseNetscapePluginView keyDown:]): + (-[WebBaseNetscapePluginView flagsChanged:]): + (-[WebBaseNetscapePluginView cut:]): + (-[WebBaseNetscapePluginView copy:]): + (-[WebBaseNetscapePluginView paste:]): + (-[WebBaseNetscapePluginView selectAll:]): + (-[WebBaseNetscapePluginView drawRect:]): + (-[WebBaseNetscapePluginView inputContext]): + +2008-07-26 Daniel Jalkut <jalkut@red-sweater.com> + + Reviewed by Geoff Garen. + + Changes to accommodate newly named/signatured loading methods in WebCore. + + * Plugins/WebNetscapePluginStream.mm: + (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): + * Plugins/WebPluginContainerCheck.mm: + (-[WebPluginContainerCheck _isForbiddenFileLoad]): + * WebView/WebPDFView.mm: + (-[WebPDFView PDFViewWillClickOnLink:withURL:]): + +2008-07-21 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number. + + * Configurations/Version.xcconfig: + * Info.plist: + +2008-07-21 Anders Carlsson <andersca@apple.com> + + Reviewed by Geoff. + + <rdar://problem/5820667> + CrashTracer: [USER] 3759 crashes in Safari at FrameLoader::activeDocumentLoader const + 6 while canceling plug-in load + + Don't allow URLs to be loaded in response to an NPP_DestroyStream that happens when tearing down the plug-in. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): + +2008-07-21 Mark Rowe <mrowe@apple.com> + + Reviewed by Adam Roben. + + <rdar://problem/5624143> WebView printing doesn't work correctly in x86_64 + + Fix the return type of an NSView method that we override so that the correct data type is used in 64-bit. + This prevents a garbage value being used for the scale factor that the NSView print machinery applies. + + * WebView/WebHTMLView.mm: + +2008-07-21 Mark Rowe <mrowe@apple.com> + + Reviewed by Adam Roben. + + Fix CallDelegateReturningFloat for x86_64. The x86_64 Objective-C runtime + only uses objc_msgSend_fpret for long double return values. For float return + values the standard objc_msgSend is used, as on ppc and ppc64. + + * WebView/WebView.mm: Use objc_msgSend_float_return as the name of our version of + objc_msgSend with the correct return type. We can no longer call it objc_msgSend_fpret + as that method is defined by the Objective-C runtime for x86_64. + (CallDelegateReturningFloat): + +2008-07-14 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - WebKit part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep: + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Changed + to account for the case of being drawn into a bitmap context that is not + a window's backing store. In that case, there are no valid "rects being + drawn" to clip to. + * WebView/WebHTMLView.mm: + (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]): + Added an override of this NSView method which is used in for + -cacheDisplayInRect:toBitmapImageRep:. Like two existing NSView drawing + machinery overrides, it sets subviews aside before invoking the + superclass implementation. On Tiger, it also updates the layout. + +2008-07-14 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Geoff Garen. + + Eliminate per-thread JavaScript global data instance support and make arbitrary + global data/global object combinations possible. + + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics javaScriptObjectsCount]): + (+[WebCoreStatistics javaScriptGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): + (+[WebCoreStatistics javaScriptReferencedObjectsCount]): + Ask WebCore for its instance of JSGlobalData, now that it is not in per-thread storage. + +2008-07-11 Stephanie Lewis <slewis@apple.com> + + Reviewed by Darin Adler. + + Disable WTF leak messages when using fast teardown. Use full document teardown while running in debug. + + * WebView/WebPreferences.m: Removed. + * WebView/WebPreferences.mm: Copied from http:/svn.webkit.org/repository/webkit/trunk/WebKit/mac/WebView/WebPreferences.m. + (+[WebPreferences initialize]): if running in Default enable full document teardown + (-[WebPreferences editableLinkBehavior]): + (-[WebPreferences setFullDocumentTeardownEnabled:]): + * WebView/WebView.mm: + (-[WebView _close]): disable leak messages if using fast teardown + +2008-07-10 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute. + + * Configurations/WebKit.xcconfig: + +2008-07-10 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + Fix the Tiger build by omitting annotations from methods declared in categories when using old versions of GCC. + + * Plugins/WebPlugin.h: Wrap annotations on methods declared in categories in the WEBKIT_CATEGORY_METHOD_ANNOTATION macro. + * WebView/WebFrameLoadDelegate.h: Ditto. + * WebView/WebUIDelegate.h: Ditto. + +2008-07-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark. + + Add availability macros for the new WebPlugin methods. + + * Plugins/WebPlugin.h: + * Plugins/WebPluginViewFactory.h: + +2008-07-09 Mark Rowe <mrowe@apple.com> + + Reviewed by Geoff Garen. + + Don't warn about deprecated functions in production builds. + + * Configurations/Base.xcconfig: + * Configurations/DebugRelease.xcconfig: + +2008-07-09 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame + has been installed in a frame tree. + + The root of this problem was that calling init() on a new frame could end up calling arbitrary + javascript that might end up removing the frame from the tree. This opened up a small can of worms + such as the frame not having yet been installed in its frame tree, and other assumed behavior while + destroying the frame. + + Note that each platforms WebKit API layer needs to make this new guarantee: + "The new Frame must be installed in its FrameTree before newCoreFrame->init() is called" + I am fixing Mac, and Windows and GTK already have this property. Wx currently has subframes disabled + but will need to add this guarantee when re-enabling, and Qt is currently vulnerable to this same bug. + + Alternately, the way frames are created right now is roundabout and asinine, and this is a key + architectural improvement we can make in the future so the individual platform clients are no longer + vulnerable to this problem, which should really have been a WebCore issue. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createFrame): Don't bother null checking the newCoreFrame - can't be NULL. + Don't appendChild() the new frame here. + Null-check the new frame's page before loading the URL into it, as it might already have been + removed from the page. + + * WebView/WebFrame.mm: + (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): If there is an ownerElement, + go ahead and install the new frame in the frame tree *before* calling init() on it. + +2008-07-09 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Make some WebPlugin and WebPluginFactory SPI public. + + * Plugins/WebPlugin.h: + * Plugins/WebPluginPrivate.h: + * Plugins/WebPluginViewFactory.h: + * Plugins/WebPluginViewFactoryPrivate.h: + +2008-07-08 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Anders. + + Port r34988 to Mac: don't call NPP_DestroyStream if NPP_NewStream was + unsuccessful. + + * Plugins/WebBaseNetscapePluginStream.h: Added new member, + newStreamSuccessful. + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): Initialize new member. + (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): If NPP_NewStream is successful, set + newStreamSuccessful to YES. + (-[WebBaseNetscapePluginStream _destroyStream]): Only call + NPP_DestroyStream if newStreamSuccessful is true. + +2008-07-08 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - WebKit part of <rdar://problem/6008409> Need a way to disable updates in offscreen views + + * WebView/WebHTMLView.mm: + (-[WebHTMLView addWindowObservers]): Added code to observe when the + window goes onscreen. + (-[WebHTMLView removeWindowObservers]): Added. + (-[WebHTMLView windowWillOrderOnScreen:]): Added. If the view is set to + not update when offscreen, calls -setNeedsDisplay: just before it comes + onscreen. + * WebView/WebPreferenceKeysPrivate.h: Added preference key. + * WebView/WebPreferences.m: + (+[WebPreferences initialize]): Made updates when offscreen on by + default. + (-[WebPreferences updatesWhenOffscreen]): Added. + (-[WebPreferences setUpdatesWhenOffscreen:]): Added. + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Added code to update the + updatesWhenOffscreen setting in WebCore. + +2008-07-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Speculative fix for + <rdar://problem/5839800> + CrashTracer: [USER] 5802 crashes in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389 + + Set _private->closed to YES before calling -[WebPluginController destroyAllPlugins]. + + My theory is that the plug-in destruction callbacks could end up rescheduling timers or re-adding notifications. + This is usually protected by _private->closed, but in this case it might still be false. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView close]): + +2008-07-05 Mark Rowe <mrowe@apple.com> + + Reviewed by John Sullivan. + + Remove WebSearchableTextView as it has been unused for some time now. + + * Misc/WebSearchableTextView.h: Removed. + * Misc/WebSearchableTextView.m: Removed. + +2008-07-05 Mark Rowe <mrowe@apple.com> + + Reviewed by John Sullivan. + + Don't leak the result of WKCopyCFLocalizationPreferredName when running under GC. + + * Misc/WebNSUserDefaultsExtras.m: + (-[NSString _webkit_HTTPStyleLanguageCode]): + +2008-07-02 Alexey Proskuryakov <ap@webkit.org> + + Inspired and reviewed by Mark Rowe. + + Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style. + + * Carbon/HIViewAdapter.m: + * DOM/WebDOMOperations.mm: + * DefaultDelegates/WebDefaultContextMenuDelegate.mm: + * DefaultDelegates/WebDefaultPolicyDelegate.m: + * History/WebBackForwardList.mm: + * History/WebHistory.mm: + * History/WebHistoryItem.mm: + * History/WebHistoryItemInternal.h: + * Misc/WebCoreStatistics.mm: + * Misc/WebDownload.m: + * Misc/WebGraphicsExtras.c: + * Misc/WebKitLogging.h: + * Misc/WebKitSystemBits.m: + * Misc/WebLocalizableStrings.m: + * Misc/WebNSArrayExtras.m: + * Misc/WebNSDataExtras.m: + * Misc/WebNSDictionaryExtras.m: + * Misc/WebNSFileManagerExtras.m: + * Misc/WebNSPasteboardExtras.mm: + * Misc/WebNSURLExtras.mm: + * Misc/WebNSUserDefaultsExtras.m: + * Panels/WebAuthenticationPanel.m: + * Panels/WebPanelAuthenticationHandler.m: + * Plugins/WebBaseNetscapePluginView.mm: + * Plugins/WebBasePluginPackage.m: + * Plugins/WebNetscapePluginEmbeddedView.mm: + * Plugins/WebPluginContainerCheck.mm: + * Plugins/WebPluginController.mm: + * Plugins/WebPluginDatabase.mm: + * WebCoreSupport/WebJavaScriptTextInputPanel.m: + * WebCoreSupport/WebKeyGenerator.m: + * WebCoreSupport/WebViewFactory.mm: + * WebKitPrefix.h: + * WebView/WebHTMLRepresentation.mm: + * WebView/WebPDFRepresentation.m: + * WebView/WebPDFView.mm: + * WebView/WebScriptDebugger.mm: + +2008-07-01 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + Disable JSLock for per-thread contexts. + + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics javaScriptObjectsCount]): + (+[WebCoreStatistics javaScriptGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): + (+[WebCoreStatistics shouldPrintExceptions]): + (+[WebCoreStatistics setShouldPrintExceptions:]): + (+[WebCoreStatistics javaScriptReferencedObjectsCount]): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): + (-[WebBaseNetscapePluginView setWindowIfNecessary]): + (-[WebBaseNetscapePluginView start]): + (-[WebBaseNetscapePluginView createPluginScriptableObject]): + (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): + (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): + (-[WebBaseNetscapePluginView loadPluginRequest:]): + (-[WebBaseNetscapePluginView _printedPluginBitmap]): + * Plugins/WebPluginController.mm: + (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): + (-[WebPluginController startAllPlugins]): + (-[WebPluginController stopAllPlugins]): + (-[WebPluginController addPlugin:]): + (-[WebPluginController destroyPlugin:]): + (-[WebPluginController destroyAllPlugins]): + * WebView/WebFrame.mm: + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame evaluateWebScript:]): + * WebView/WebView.mm: + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): + Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebKit + doesn't need locking. In the future, it may be possible to remove some of these if we + establish that this won't make JSC assertions fail (and that we don't want to add such + assertions either). + Added includes that are now needed. + +2008-07-01 Kevin McCullough <kmccullough@apple.com> + + Build fix. + + * WebView/WebView.mm: + +2008-07-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Use the PluginMainThreadScheduler, and implement NPN_PluginThreadAsyncCall. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView _createPlugin]): + Register the plug-in instance. + + (-[WebBaseNetscapePluginView _destroyPlugin]): + Unegister the plug-in instance. + + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage load]): + Set NPN_PluginThreadAsyncCall. + + * Plugins/npapi.mm: + (NPN_PluginThreadAsyncCall): + Implement this. + +2008-07-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - WebKit part of moving the method to set the base writing direction from Frame to Editor + + * WebView/WebHTMLView.mm: + (-[WebHTMLView toggleBaseWritingDirection:]): Changed back to call the + Editor method. + (-[WebHTMLView changeBaseWritingDirection:]): Ditto. + (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto. + +2008-07-01 Geoffrey Garen <ggaren@apple.com> + + Build fix: forgot to check in this file. + + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::WebScriptDebugger): + +2008-06-30 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + - WebKit/mac part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari + + * WebView/WebHTMLView.mm: + (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call + WebCore::Frame::setSelectionBaseWritingDirection() instead of + WebCore::Editor::setBaseWritingDirection(). + (-[WebHTMLView changeBaseWritingDirection:]): Ditto. + (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto. + +2008-06-28 Darin Adler <darin@apple.com> + + - fix build + + * WebView/WebView.mm: + (aeDescFromJSValue): Use get instead of getItem, which no longer exists. + +2008-06-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Add a new MainThreadObjectDeallocator which can schedule dealloc calls on the main thread + if necessary. Use this for the WebView class. + + * WebView/MainThreadObjectDeallocator.h: Added. + * WebView/MainThreadObjectDeallocator.mm: Added. + (deallocCallback): + (scheduleDeallocateOnMainThread): + * WebView/WebView.mm: + (-[WebViewPrivate dealloc]): + (+[WebView initialize]): + +2008-06-25 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark. + + <rdar://problem/5984270> + REGRESSION (Tiger only) : Mail crashes because message load is being processed on a secondary thread + + * WebView/WebView.mm: + (tigerMailReleaseIMP): + New method that makes sure that the final release happens on the main thread. + + (-[WebView release]): + New method that just calls [super release]; + + (+[WebView initialize]): + When running under Tiger mail, replace the release method with tigerMailReleaseIMP. + +2008-06-19 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Geoff. + + Make Machine per-JSGlobalData. + + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::WebScriptDebugger): + +2008-06-17 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + Prepare JavaScript heap for being per-thread. + + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics javaScriptObjectsCount]): + (+[WebCoreStatistics javaScriptGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): + (+[WebCoreStatistics javaScriptReferencedObjectsCount]): + Use JSGlobalData::threadInstance()->heap instead of static Collector calls. + +2008-06-17 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Use create instead of new + to create a CSSMutableStyleDeclaration. + +2008-06-16 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5951874> WebHTMLHighlighter mistakenly gained two new methods, causing compile warnings + + _pauseNullEventsForAllNetscapePlugins and _resumeNullEventsForAllNetscapePlugins ended up being declared both in + WebHTMLViewInternal.h and as members of the WebHTMLHighlighter protocol in WebHTMLViewPrivate.h. They don't belong + in the protocol, but they do need to be available outside of WebKit so they're being moved to the correct location + in WebHTMLViewPrivate.h and removed from WebHTMLViewInternal.h. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): + (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): + * WebView/WebHTMLViewInternal.h: + * WebView/WebHTMLViewPrivate.h: + +2008-06-15 Darin Adler <darin@apple.com> + + - give Frame object functions shorter names: scriptProxy() -> script(), + selectionController() -> selection(), animationController() -> animation() + + * Plugins/WebPluginController.mm: + (-[WebPluginController webPlugInContainerSelectionColor]): + * WebView/WebFrame.mm: + (-[WebFrame _attachScriptDebugger]): + (-[WebFrame _hasSelection]): + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): + (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]): + (-[WebFrame _convertToNSRange:]): + (-[WebFrame _convertToDOMRange:]): + (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): + (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): + (-[WebFrame _insertParagraphSeparatorInQuotedContent]): + (-[WebFrame _selectedNSRange]): + (-[WebFrame _selectNSRange:]): + (-[WebFrame globalContext]): + * WebView/WebHTMLView.mm: + (-[WebHTMLView _selectedRange]): + (-[WebHTMLView _hasSelection]): + (-[WebHTMLView _hasSelectionOrInsertionPoint]): + (-[WebHTMLView _hasInsertionPoint]): + (-[WebHTMLView _isEditable]): + (-[WebHTMLView _updateFocusedAndActiveState]): + (-[WebHTMLView readSelectionFromPasteboard:]): + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): + (-[WebHTMLView maintainsInactiveSelection]): + (-[WebHTMLView paste:]): + (isTextInput): + (-[WebHTMLView inputContext]): + (-[WebTextCompleteController doCompletion]): + (-[WebHTMLView selectAll]): + (-[WebHTMLView deselectAll]): + (-[WebHTMLView selectedAttributedString]): + * WebView/WebView.mm: + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): + (-[WebView setSelectedDOMRange:affinity:]): + (-[WebView selectedDOMRange]): + (-[WebView selectionAffinity]): + +2008-06-15 Darin Adler <darin@apple.com> + + - rename KJS::List to KJS::ArgList + + * WebView/WebScriptDebugger.h: + +2008-06-15 Darin Adler <darin@apple.com> + + - new names for more JavaScriptCore files + + * WebView/WebView.mm: + +2008-06-15 Darin Adler <darin@apple.com> + + - new names for a few key JavaScriptCore files + + * ForwardingHeaders/kjs/JSFunction.h: Copied from WebKit/mac/ForwardingHeaders/kjs/function.h. + * ForwardingHeaders/kjs/JSObject.h: Copied from WebKit/mac/ForwardingHeaders/kjs/object.h. + * ForwardingHeaders/kjs/JSString.h: Copied from WebKit/mac/ForwardingHeaders/kjs/internal.h. + * ForwardingHeaders/kjs/JSValue.h: Copied from WebKit/mac/ForwardingHeaders/kjs/value.h. + * ForwardingHeaders/kjs/function.h: Removed. + * ForwardingHeaders/kjs/internal.h: Removed. + * ForwardingHeaders/kjs/object.h: Removed. + * ForwardingHeaders/kjs/value.h: Removed. + * WebView/WebScriptDebugDelegate.mm: + +2008-06-15 Darin Adler <darin@apple.com> + + Rubber stamped by Sam. + + - use JS prefix and simpler names for basic JavaScriptCore types, + to complement JSValue and JSObject + + * WebView/WebView.mm: + (aeDescFromJSValue): + +2008-06-14 Darin Adler <darin@apple.com> + + Rubber stamped by Sam. + + - new names for kjs_binding.h and kjs_proxy.h + + * WebView/WebFrame.mm: + * WebView/WebScriptDebugDelegate.mm: + * WebView/WebView.mm: + +2008-06-14 Darin Adler <darin@apple.com> + + Rubber stamped by Sam. + + - renamed HTMLGenericFormElement to HTMLFormControlElement + + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation elementWithName:inForm:]): + (-[WebHTMLRepresentation controlsInForm:]): + +2008-06-14 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - more of https://bugs.webkit.org/show_bug.cgi?id=17257 + start ref counts at 1 instead of 0 for speed + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createDocumentLoader): Use create instead of new. + (WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by + a ref call inside the Frame constructor. The lifetime rules for Frame are now the + conventional ones without a special case. + + * WebView/WebDataSource.mm: + (-[WebDataSource _initWithDocumentLoader:]): Changed argument to be a PassRefPtr, since + this function takes ownership of the DocumentLoader. + (-[WebDataSource initWithRequest:]): Use create instead of new. + * WebView/WebDataSourceInternal.h: Changed _initWithDocumentLoader argument to be a + PassRefPtr and also cleaned up the header a bit. + + * WebView/WebDocumentLoaderMac.h: + (WebDocumentLoaderMac::create): Added. Also made the constructor and a couple of virtual + functions private. + + * WebView/WebFrame.mm: + (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Use create instead + of new. + +2008-06-14 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - more work on https://bugs.webkit.org/show_bug.cgi?id=17257 + start ref counts at 1 instead of 0 for speed + + * WebView/WebFrame.mm: + (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): + * WebView/WebPDFView.mm: + (-[WebPDFView PDFViewWillClickOnLink:withURL:]): + +2008-06-13 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + - updated for addition of FormState argument to action policy functions + - added WebActionFormKey + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): + (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): + (WebFrameLoaderClient::actionDictionary): + * WebKit.exp: + * WebView/WebPolicyDelegate.mm: + * WebView/WebPolicyDelegatePrivate.h: + +2008-06-12 John Sullivan <sullivan@apple.com> + + Reviewed by Dan and Darin + + Clear up the confusion about _close (older private method) vs -close (newer public method). + + * WebView/WebView.mm: + (-[WebView _isClosed]): + simplified style + (-[WebView _close]): + added a comment about how clients and subclasses should use -close instead + (-[WebView dealloc]): + call -close instead of _close, so subclasses that override the public method will have the intended behavior + (-[WebView close]): + added a comment + (-[WebView _windowWillClose:]): + call -close instead of _close, so subclasses that override the public method will have the intended behavior + + * WebView/WebViewPrivate.h: + added a comment about how clients and subclasses should use -close instead + +2008-06-07 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - work on https://bugs.webkit.org/show_bug.cgi?id=17257 + start ref counts at 1 instead of 0 for speed + + * History/WebHistoryItem.mm: + (-[WebHistoryItem init]): + (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]): + (-[WebHistoryItem initWithURL:target:parent:title:]): + (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]): + * WebView/WebView.mm: + (+[WebView _decodeData:]): + +2008-06-03 Oliver Hunt <oliver@apple.com> + + Reviewed by Tim. + + Bug 12983: Web Inspector break on the debugger keyword + <https://bugs.webkit.org/show_bug.cgi?id=12983> + + Add stubs to allow old webkit debugger interface to build. + + * WebView/WebScriptDebugger.h: + * WebView/WebScriptDebugger.mm: + +2008-06-03 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5980961> + + In 64-bit Web Kit, converting between float and double, can cause rounding errors which in turn causes + newBottom to be larger than oldBottom which is illegal. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): + +2008-06-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Mitz. + + Speculative fix for <rdar://problem/5661112> + CrashTracer: [USER] 49 crashes in DashboardClient at com.apple.WebCore: WebCore::RenderPart::setWidget + 62 + + Defer loads while calling NPP_New. Some plug-ins start a run-loop inside NPP_New and finished loads could cause + layouts to be triggered. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView _createPlugin]): + +2008-05-29 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5949462> REGRESSION: Can't paste screen captures into Mail + + AppKit started putting PNG instead of PICT onto the pasteboard for screen + captures. Added support for PNG with kUTTypePNG. Tiger doesn't support + setting and retrieving pasteboard types with UTIs, but we don't know of any + applications on Tiger that put only PNG on the pasteboard. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): + (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): + +2008-05-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Brady. + + <rdar://problem/5970312> + icon file specified for stand alone web app causes crash if the icon can't be found + + Handle the case where iconData is null. + + * Misc/WebIconFetcher.mm: + (WebIconFetcherClient::finishedFetchingIcon): + +2008-05-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Mitz. + + <rdar://problem/5971845> + https://bugs.webkit.org/show_bug.cgi?id=19313 + Add version member to NPCocoaEvent + + Initialize the version member to 0 for all events. + + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + (initializeEvent): + (WebNetscapePluginEventHandlerCocoa::drawRect): + (WebNetscapePluginEventHandlerCocoa::sendMouseEvent): + (WebNetscapePluginEventHandlerCocoa::flagsChanged): + (WebNetscapePluginEventHandlerCocoa::sendKeyEvent): + (WebNetscapePluginEventHandlerCocoa::windowFocusChanged): + (WebNetscapePluginEventHandlerCocoa::focusChanged): + +2008-05-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Jessica Kahn. + + - fix <rdar://problem/5965013> Page 2 does not print correctly + + When printing, _recursiveDisplayRectIfNeededIgnoringOpacity:... and + _recursiveDisplayAllDirtyWithLockFocus:... can be invoked without + -viewWillDraw being sent first, which could lead to painting without + valid layout. The fix is to ensure up-to-date layout in those methods + when printing. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): + (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): + +2008-05-28 Anders Carlsson <andersca@apple.com> + + Reviewed by Jon. + + Remove workaround, this is no longer a problem. + + * WebView/WebView.mm: + (-[WebView _removeObjectForIdentifier:]): + +2008-05-27 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Tim Hatcher. + + Fixed https://bugs.webkit.org/show_bug.cgi?id=19183 + REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when + clicking button in returnEvent-crash.html + + Added implementations for willExecuteProgram and didExecuteProgram, which + take care of making sure we're not hanging on to stale data. + +2008-05-27 Timothy Hatcher <timothy@apple.com> + + Fixes a bug where unplugging the monitor from a video card and + moving it to another video card would no longer show OpenGL plugins + until you relaunched Safari. + + <rdar://problem/5790983> Add AllowOfflineDisplays pixel format + attribute to OpenGL contexts + + Reviewed by Kevin Decker. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView _createWindowedAGLContext]): Added + AGL_ALLOW_OFFLINE_RENDERERS for non-Tiger builds. + (-[WebBaseNetscapePluginView _createWindowlessAGLContext]): Ditto. + +2008-05-25 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5840884> _recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined + + Follow-up for r33052. _recursive_resumeNullEventsForAllNetscapePlugins and _recursive_pauseNullEventsForAllNetscapePlugins + need to be declared in WebFramePrivate.h rather than WebFrameInternal.h so they can be used from outside of WebKit. + + * WebView/WebFrame.mm: + (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): + (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): + * WebView/WebFrameInternal.h: + * WebView/WebFramePrivate.h: + +2008-05-23 Timothy Hatcher <timothy@apple.com> + + Fix attaching and detaching the Web Inspector. This change removes + the clunky animation that never looked right and was causing issues + where the inspected WebView would get into a no useable state. + + <rdar://problem/5958812> Attaching and Detaching the Web Inspector + can cause the inspected WebVIew to be unusable + + Reviewed by Adam Roben. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController close]): Removes animation code. + Sets the frame directly and does a displayIfNeeded to prevent + showing the Inspector in the page and in the Inspector window. + (-[WebInspectorWindowController showWindow:]): Removes animation code. + Sets the frame directly. + (-[WebInspectorWindowController attach]): Simplified. + (-[WebInspectorWindowController detach]): Ditto. + +2008-05-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix broken documentation of + webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame: + + * WebView/WebUIDelegate.h: Fixed method name in HeaderDoc for + -webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame: + +2008-05-22 Timothy Hatcher <timothy@apple.com> + + <rdar://problem/5956403> Update the Develop menu to match the new Inspector items + + Reviewed by Adam Roben. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController showWebInspector:]): + (-[WebInspectorWindowController showErrorConsole:]): + (-[WebInspectorWindowController toggleDebuggingJavaScript:]): + (-[WebInspectorWindowController toggleProfilingJavaScript:]): + (-[WebInspectorWindowController validateUserInterfaceItem:]): + * WebInspector/WebInspector.h: + * WebInspector/WebInspector.mm: + (-[WebInspector showConsole:]): + (-[WebInspector showTimeline:]): + (-[WebInspector isDebuggingJavaScript]): + (-[WebInspector toggleDebuggingJavaScript:]): + (-[WebInspector startDebuggingJavaScript:]): + (-[WebInspector stopDebuggingJavaScript:]): + (-[WebInspector isProfilingJavaScript]): + (-[WebInspector toggleProfilingJavaScript:]): + (-[WebInspector startProfilingJavaScript:]): + (-[WebInspector stopProfilingJavaScript:]): + +2008-05-22 Josh Aas <joshmoz@gmail.com> + + Reviewed by Anders. + + <rdar://problem/5956429> + https://bugs.webkit.org/show_bug.cgi?id=19192 + remove NPNVpluginEventModel, fix example plugin + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView getVariable:value:]): + +2008-05-21 Anders Carlsson <andersca@apple.com> + + Reviewed by Maciej. + + Add WebIconFetcher. + + * Misc/WebIconFetcher.h: Added. + * Misc/WebIconFetcher.mm: Added. + (WebIconFetcherClient::WebIconFetcherClient): + (WebIconFetcherClient::finishedFetchingIcon): + (WebIconFetcherClient::setFetcher): + (-[WebIconFetcher init]): + (-[WebIconFetcher dealloc]): + (-[WebIconFetcher finalize]): + (-[WebIconFetcher cancel]): + (-[WebIconFetcher _initWithIconFetcher:client:]): + (+[WebIconFetcher _fetchApplicationIconForFrame:target:selector:]): + * Misc/WebIconFetcherInternal.h: Added. + * WebView/WebFrame.mm: + (-[WebFrame fetchApplicationIcon:selector:]): + * WebView/WebFramePrivate.h: + +=== End merge of squirrelfish === + +2008-05-21 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Tim Hatcher. + + Updated for API changes from merging with trunk WebCore's new debugger. + + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame evaluateWebScript:]): Explicitly check for an + exception return, since the DebuggerCallFrame no longer automatically + substitutes the exception for the return value. + + * WebView/WebScriptDebugger.mm: Use the dynamic global object, not the + lexical global object, since the debugger attaches based on dynamic + global object. + +2008-05-17 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Re-enabled previously disabled debugging functionality. + + There are two major changes from how the WebKit debugger used to work: + + (1) All the interesting bits are implemented down in JavaScriptCore. The + debugger just calls through to KJS::DebuggerCallFrame for everything. + + (2) Instead of copyihng a pointer to an ExecState once, the debugger + copies the DebuggerCallFrame passed to it in each callback. This is + because the VM no longer maintains a fully transparent execution state + to which you can hold a pointer, and the DebuggerCallFrames it vends + are temporaries. + + Also, we NULL out a WebScriptCallFrame's DebuggerCallFrame upon return + from its function. This is safer than the old method, which was to + hold a stale ExecState* and hope for the best. + +2008-05-13 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Updated for API changes in KJS::Debugger. + + * WebView/WebFrame.mm: + (-[WebFrame _attachScriptDebugger]): Changed the order of operations to + fix an ASSERT that can happen when re-entering _attachScriptDebugger. + +2008-05-13 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Updated WebScriptDebugger API to accept a SourceProvider instead + of a WebCore::String, to avoid copying. + + (WebScriptDebugger::sourceParsed): Updated this function not to return + a value. + +2008-04-30 Geoffrey Garen <ggaren@apple.com> + + Build fix: #ifdef'd out some code that doesn't work anymore. + +2008-04-30 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + #ifdef'd out some debugger code that doesn't work anymore. + + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame scopeChain]): + +2008-04-21 Geoffrey Garen <ggaren@apple.com> + + Build fix. + + * ChangeLog: + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame scopeChain]): + +2008-03-30 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Build fix. + +=== Start merge of squirrelfish === + +2008-05-21 Darin Adler <darin@apple.com> + + - fix build + + * WebView/WebViewPrivate.h: Remove declaration of closeWithFastTeardown. We can add it back later + if we want, but if we do, we should probably make some refinements like checking _private->closed + and applicationIsTerminating. + +2008-05-21 Darin Adler <darin@apple.com> + + Reviewed by Anders and Kevin Decker. + + - fix <rdar://problem/5951130> REGRESSION: crash on quit after reopening windows from previous session + + * WebView/WebView.mm: + (-[WebViewPrivate dealloc]): Fix assertions to not complain when fast teardown is used. + (-[WebView _closePluginDatabases]): Factored out some common code from both versions of close. + (-[WebView _closeWithFastTeardown]): Added an underscore to this method's name, since it's internal. + Streamlined the code a bit. Added a line of code to set _private->closed (this is the bug fix). + (-[WebView _close]): Changed for new method name and to use _closePluginDatabases. + +2008-05-19 Stephanie Lewis <slewis@apple.com> + + Reviewed by Darin Adler. + + more fast teardown performance work + + * Misc/WebDownload.m: + (-[WebDownloadInternal downloadDidBegin:]): + (-[WebDownloadInternal downloadDidFinish:]): + (-[WebDownloadInternal download:didFailWithError:]): + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::disableSuddenTermination): + (WebChromeClient::enableSuddenTermination): + +2008-05-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - fix <rdar://problem/5944596> IDNs are displayed as punycode in the authentication panel + + * Panels/WebAuthenticationPanel.m: + (-[WebAuthenticationPanel setUpForChallenge:]): + +2008-05-16 Timothy Hatcher <timothy@apple.com> + + Removes WebScriptDebugServer files and related calls. This removes + the hooks that Drosera uses for debugging. Now that the Web Inspector + has a better debugger, we don't need these anymore. + + Reviewed by Sam Weinig. + + * DefaultDelegates/WebScriptDebugServer.h: Removed. + * DefaultDelegates/WebScriptDebugServer.m: Removed. + * DefaultDelegates/WebScriptDebugServerPrivate.h: Removed. + * WebCoreSupport/WebFrameLoaderClient.mm: + * WebKit.exp: + * WebView/WebScriptDebugDelegate.mm: + * WebView/WebScriptDebugger.mm: + (WebScriptDebugger::sourceParsed): + (WebScriptDebugger::callEvent): + (WebScriptDebugger::atStatement): + (WebScriptDebugger::returnEvent): + (WebScriptDebugger::exception): + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:]): + * WebView/WebViewPrivate.h: + +2008-05-16 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + <rdar://problem/5942616> - Need to standardize LocalStorage persistence path + + Took the opportunity to touch up another pref that needs the same standardization. + That pref is currently not in use on Mac. + + * WebView/WebPreferences.m: + (-[WebPreferences _setFTPDirectoryTemplatePath:]): + (-[WebPreferences _localStorageDatabasePath]): + (-[WebPreferences _setLocalStorageDatabasePath:]): + (-[WebPreferences _ftpDirectoryTemplatePath]): + +2008-05-16 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Alice Liu + + <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310) + + * WebView/WebFrame.mm: + (-[WebFrame _accessibilityTree]): + +2008-05-15 Stephanie Lewis <slewis@apple.com> + + fix mac build + + * WebView/WebView.mm: + (-[WebView closeWithFastTeardown]): + +2008-05-15 Stephanie Lewis <slewis@apple.com> + + Reviewed by Anders. + + Turn on fast teardown. I added a preference for using full teardown because + the LEAKS output will be useless without a full teardown. + + preference for fullteardown + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.m: + (-[WebPreferences setFullDocumentTeardownEnabled:]): + (-[WebPreferences fullDocumentTeardownEnabled]): + * WebView/WebPreferencesPrivate.h: + + on application quit dispatch unload events and destroy plugins then exit + * WebView/WebView.mm: + (-[WebView closeWithFastTeardown]): + (-[WebView _close]): + * WebView/WebViewPrivate.h: + +2008-05-15 Stephanie Lewis <slewis@apple.com> + + Reviewed by Anders. + + get the pending frame unload count from WebCore + + * WebView/WebFrame.mm: + (-[WebFrame _pendingFrameUnloadEventCount]): + * WebView/WebFramePrivate.h: + +2008-05-15 John Sullivan <sullivan@apple.com> + + Reviewed by Kevin Decker + + - fixed <rdar://problem/5940275> Inspector highlighting moves to bottom-left corner of + screen when new tab appears + + The highlight should go away entirely, but this simple patch just makes it not jump away. + The issue with it not going away entirely is harder to fix and covered by <rdar://problem/5322306> + + * WebInspector/WebNodeHighlight.m: + (-[WebNodeHighlight _repositionHighlightWindow]): + Bail out if target view isn't in a window + +2008-05-15 Stephanie Lewis <slewis@apple.com> + + Reviewed by Anders. + + Track views that contain plugin instances so that they can be destroyed at application + quit without walking the entire document tree. + + Add/Remove Netscape plugin views from instance list. Start/stop are when netscape + plugins are created and destroyed + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView start]): + (-[WebBaseNetscapePluginView stop]): + + Add/remove WebKit plugin views from instance list + * Plugins/WebPluginController.mm: + (-[WebPluginController addPlugin:]): + (-[WebPluginController destroyPlugin:]): + (-[WebPluginController destroyAllPlugins]): + + Add a set of views with plugin instances to the WebPluginDatabase + * Plugins/WebPluginDatabase.h: + * Plugins/WebPluginDatabase.mm: + (-[WebPluginDatabase init]): + (-[WebPluginDatabase dealloc]): + (-[WebPluginDatabase addPluginInstanceView:]): + (-[WebPluginDatabase removePluginInstanceView:]): + (-[WebPluginDatabase removePluginInstanceViewsFor:]): + (-[WebPluginDatabase destroyAllPluginInstanceViews]): + + Handle cases where plugin views are detached before the plugin is destroyed. + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::detachedFromParent2): + (WebFrameLoaderClient::transitionToCommittedFromCachedPage): + (WebFrameLoaderClient::transitionToCommittedForNewPage): + + Add plugin instances to the set in the WebPluginDatabase by way of the WebView + * WebView/WebHTMLView.mm: + (-[WebHTMLView _destroyAllWebPlugins]): + * WebView/WebHTMLViewInternal.h: + * WebView/WebView.mm: + (-[WebView addPluginInstanceView:]): + (-[WebView removePluginInstanceView:]): + (-[WebView removePluginInstanceViewsFor:]): + * WebView/WebViewInternal.h: + +2008-05-15 Brady Eidson <beidson@apple.com> + + Reviewed by Tim Hatcher + + Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path + before setting the page group of the new page. + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:]): Set the LocalStorage path + immediately after creating the page so it is in place for initializing the LocalStorageThread + +2008-05-15 Timothy Hatcher <timothy@apple.com> + + Fixes the bug where the Web Inspector would flash white while resizing. + This was cause by deferring the window creation. + + <rdar://problem/5873549> REGRESSION: Inspector flickers horribly while resizing (17979) + + Reviewed by Darin Adler. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController window]): Don't defer the window creation. + +2008-05-15 Alexey Proskuryakov <ap@webkit.org> + + Tiger build fix. + + * Misc/WebNSAttributedStringExtras.mm: Import WebTypesInternal.h for NSUInteger. + +2008-05-15 Adele Peterson <adele@apple.com> + + Reviewed and landed by Alexey. + + Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:]. + + * Misc/WebNSAttributedStringExtras.mm: + (+[NSAttributedString _web_attributedStringFromRange:]): + +2008-05-14 Eric Seidel <eric@webkit.org> + + Reviewed by Oliver. + + Add missing NULL check to match rest of file, this was found by the editing fuzzer. + + * WebView/WebResource.mm: + (-[WebResource data]): + +2008-05-14 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Dan Bernstein. + + NPP_ValidAttributesForMarkedText should return NSArray*, not NSArray. + + * Plugins/nptextinput.h: + +2008-05-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam. + + Don't empty the application cache in _setCacheModel, since it will be called during initialization. + Instead, do it in [WebCache empty]. + + * Misc/WebCache.mm: + (+[WebCache empty]): + * WebView/WebView.mm: + (+[WebView _setCacheModel:]): + +2008-05-13 chris fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin + + <rdar://problem/4780592> WebKit application has its window announced as HTML content + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory AXWebAreaText]): + +2008-05-13 Timothy Hatcher <timothy@apple.com> + + Fixes a crash seen in Xcode where CallUIDelegateReturningBoolean + was referencing a nil WebView under validateUserInterfaceItem. + The validateUserInterfaceItem methods was being called at a time + when the WebHTMLView is being torndown. + + <rdar://problem/5806229> A crash occurs at CallUIDelegateReturningBoolean() + while mousing down on menu bar after Xcode News window is opened + + Reviewed by Ada Chan. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView validateUserInterfaceItem:]): NULL check the WebView and + return NO when it is nil. Adds a comment. + * WebView/WebPDFView.mm: + (-[WebPDFView validateUserInterfaceItem:]): Ditto. + +2008-05-13 Mark Rowe <mrowe@apple.com> + + Reviewed by John Sullivan. + + <rdar://problem/5926425> HIWebViewCreateWithClass declared as API in HIWebView.h but never exported from WebKit.framework + + * Carbon/HIWebView.h: Remove HIWebViewCreateWithClass. + * Carbon/HIWebView.m: Ditto. + (HIWebViewCreate): + (HIWebViewConstructor): + +2008-05-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Ada Chan. + + - WebKit/mac changes for https://bugs.webkit.org/show_bug.cgi?id=17097 + <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound + + Added font cache statistics and a function to purge inactive font data. + + * Misc/WebCoreStatistics.h: + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics cachedFontDataCount]): + (+[WebCoreStatistics cachedFontDataInactiveCount]): + (+[WebCoreStatistics purgeInactiveFontData]): + (+[WebCoreStatistics glyphPageCount]): + +2008-05-12 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Decorate some deprecated delegate methods with the availability macros. + + The compiler doesn't appear to warn if a delegate implements these methods, but using the availability + macros is good for consistency and documentation. + + * WebView/WebFrameLoadDelegate.h: + * WebView/WebUIDelegate.h: + +2008-05-12 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + <rdar://problem/5835604> Deprecate HIWebView + + Use of HIWebView is deprecated in favor of embedding a WebView in a HICocoaView. + + * Carbon/CarbonUtils.h: Include the availability macro header and decorate the functions appropriately. + * Carbon/HIWebView.h: Ditto. + +2008-05-12 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders. + + Fixed: <rdar://problem/5840884>_recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined + + Re-added these SPI methods because they are needed by some clients. They were accidentally removed + in changeset <http://trac.webkit.org/changeset/31028> + + * Plugins/WebBaseNetscapePluginView.h: Added stopTimers, restartTimers to the header. + * WebView/WebFrame.mm: + (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): Re-addd. + (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): Ditto. + * WebView/WebFrameInternal.h: Ditto. + * WebView/WebHTMLView.mm: Ditto. + (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): Ditto. + (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): Ditto. + * WebView/WebHTMLViewInternal.h: Ditto. + * WebView/WebHTMLViewPrivate.h: Ditto. + +2008-05-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Alexey. + + Empty the application cache when changing the cache model. + + * WebView/WebView.mm: + (+[WebView _setCacheModel:]): + +2008-05-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver. + + <rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView start]): + Get the plug-in text input vtable pointer. + + (-[WebBaseNetscapePluginView stop]): + Set the plug-in text input vtable pointer to 0. + + (-[WebBaseNetscapePluginView inputContext]): + Return 0 for Carbon plug-ins since we don't want Cocoa to handle text input for them. + + (-[WebBaseNetscapePluginView hasMarkedText]): + (-[WebBaseNetscapePluginView insertText:]): + (-[WebBaseNetscapePluginView markedRange]): + (-[WebBaseNetscapePluginView selectedRange]): + (-[WebBaseNetscapePluginView setMarkedText:selectedRange:]): + (-[WebBaseNetscapePluginView unmarkText]): + (-[WebBaseNetscapePluginView validAttributesForMarkedText]): + (-[WebBaseNetscapePluginView attributedSubstringFromRange:]): + (-[WebBaseNetscapePluginView characterIndexForPoint:]): + (-[WebBaseNetscapePluginView doCommandBySelector:]): + (-[WebBaseNetscapePluginView firstRectForCharacterRange:]): + (-[WebBaseNetscapePluginView conversationIdentifier]): + Implement NSTextInput and call into the plug-in text input vtable. + + (browserTextInputFuncs): + New method which returns the browser input vtable. + + (-[WebBaseNetscapePluginView getVariable:value:]): + Support getting the browser input vtable pointer. + + * Plugins/WebNetscapePluginEventHandlerCocoa.h: + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + (WebNetscapePluginEventHandlerCocoa::keyDown): + (WebNetscapePluginEventHandlerCocoa::sendKeyEvent): + If the plug-in returns 0 when a NPCocoaEventKeyDown is passed to NPP_HandleEvent, + it means that the event should be passed on to the input manager. + + * Plugins/npapi.mm: + (NPN_MarkedTextAbandoned): + (NPN_MarkedTextSelectionChanged): + Add implementations of browser input method methods. + + * Plugins/nptextinput.h: Added. + Add file with new text input API. + +2008-05-12 Alexey Proskuryakov <ap@webkit.org> + + Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify + SquirrelFish merging. + + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics javaScriptObjectsCount]): + (+[WebCoreStatistics javaScriptGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): + (+[WebCoreStatistics javaScriptReferencedObjectsCount]): + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame evaluateWebScript:]): + +2008-05-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Mitz. + + REGRESSION (3.1.1-TOT): Arrow keys are sticky in Google Maps street view + https://bugs.webkit.org/show_bug.cgi?id=18880 + <rdar://problem/5909513> + + Stop suspending key up events before calling handleEvent. + + * Plugins/WebNetscapePluginEventHandlerCarbon.mm: + (WebNetscapePluginEventHandlerCarbon::sendEvent): + +2008-05-06 Stephanie Lewis <slewis@apple.com> + + Reviewed by Andersca. + + prepare for plugin fast teardown work - make WebPluginDatabase a objective C++ file. + + * Plugins/WebPluginDatabase.m: Removed. + * Plugins/WebPluginDatabase.mm: Copied from WebKit/mac/Plugins/WebPluginDatabase.m. + * Plugins/npapi.m: Removed. + * Plugins/npapi.mm: Copied from WebKit/mac/Plugins/npapi.m. + +2008-05-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Initialize numArchs to 0. + + * Plugins/WebBasePluginPackage.m: + (-[WebBasePluginPackage isNativeLibraryData:]): + +2008-05-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Add implementation of NPN_PopUpContextMenu. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView popUpContextMenu:]): + * Plugins/WebBaseNetscapePluginViewPrivate.h: + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage load]): + * Plugins/npapi.m: + (NPN_PopUpContextMenu): + +2008-05-06 Anders Carlsson <andersca@apple.com> + + Fix typo (don't read random memory). + + * Plugins/WebBasePluginPackage.m: + (-[WebBasePluginPackage isNativeLibraryData:]): + +2008-05-05 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Change the isNativeLibraryData: method to handle universal binaries. + + * Plugins/WebBasePluginPackage.m: + (swapIntsInHeader): + (-[WebBasePluginPackage isNativeLibraryData:]): + +2008-05-06 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler + + Preparation for upcoming work making LocalStorage persistent. + + When the application terminates, all LocalStorage areas must be sync'ed out to disk first. + + * WebView/WebView.mm: + (+[WebView _applicationWillTerminate]): Close all LocalStorage areas before quitting. + +2008-05-05 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/5884383> + Escape look-a-like characters from the the entire url. + + * Misc/WebNSURLExtras.mm: + (escapeUnsafeCharacters): + (-[NSURL _web_userVisibleString]): + +2008-05-05 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end + + * WebView/WebView.mm: + (-[WebView _updateSettingsFromPreferences:]): Disable Range mutation on changes to + the document for Tiger and Leopard Mail. There is code in Mail that does it, and + the two interfere. + +2008-05-05 Sam Weinig <sam@webkit.org> + + Reviewed by Tim Hatcher. + + Make the Inspector's localizable strings file match the format used by Dashboard widgets. + + * WebCoreSupport/WebInspectorClient.mm: + (WebInspectorClient::localizedStringsURL): + +2008-05-05 Anders Carlsson <andersca@apple.com> + + Reviewed by Jess. + + Apparently preflighting can cause hangs for some reason. Revert this for now. + + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage _initWithPath:]): + * Plugins/WebPluginPackage.m: + (-[WebPluginPackage initWithPath:]): + +2008-05-05 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - https://bugs.webkit.org/show_bug.cgi?id=18789 + fix some shouldCloseWithWindow edge cases + + * WebView/WebView.mm: + (-[WebView viewWillMoveToWindow:]): Fix bug where we would stop observing the + NSWindowWillCloseNotification if the view was moved out of the window but still + had that window set as the host window. Also make sure this function doesn't do + anything if the WebView is already closed. + (-[WebView setHostWindow:]): Ditto. + +2008-05-04 David Kilzer <ddkilzer@apple.com> + + Make parameters match for WebChromeClient::addMessageToConsole() + + Reviewed by John. + + * WebCoreSupport/WebChromeClient.h: + (WebChromeClient::addMessageToConsole): Renamed sourceID parameter + to sourceURL to match implementation in WebChromeClient.mm. + +2008-05-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark. + + Various Cocoa event model and 64-bit plug-in fixes. + + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + (WebNetscapePluginEventHandlerCocoa::sendMouseEvent): + Set click count. + + (WebNetscapePluginEventHandlerCocoa::flagsChanged): + (WebNetscapePluginEventHandlerCocoa::sendKeyEvent): + Don't try to get the mouse location for keyboard events. + + * Plugins/WebPluginPackage.m: + (-[WebPluginPackage initWithPath:]): + Preflight the bundle so we won't show 32-bit WebKit plug-ins when running as 64-bit. + +2008-05-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam. + + The event union is now named. + + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + (WebNetscapePluginEventHandlerCocoa::drawRect): + (WebNetscapePluginEventHandlerCocoa::sendMouseEvent): + (WebNetscapePluginEventHandlerCocoa::flagsChanged): + (WebNetscapePluginEventHandlerCocoa::sendKeyEvent): + (WebNetscapePluginEventHandlerCocoa::windowFocusChanged): + (WebNetscapePluginEventHandlerCocoa::focusChanged): + +2008-05-02 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark. + + Make sure that 32-bit only plug-ins aren't shown when running as 64-bit. + + Call preflightAndReturnError on the bundle, which will check if any of the architectures + in the bundle match the current architecture. + + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage _initWithPath:]): + +2008-05-02 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Geoffrey Garen. + + https://bugs.webkit.org/show_bug.cgi?id=18826 + Make JavaScript heap per-thread + + * Misc/WebCoreStatistics.mm: + (+[WebCoreStatistics javaScriptObjectsCount]): + (+[WebCoreStatistics javaScriptGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): + (+[WebCoreStatistics javaScriptReferencedObjectsCount]): + Replaced static Collector calls with calls to a current thread's instance. + + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame evaluateWebScript:]): + Pass ExecState to jsString(). + +2008-05-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark. + + 64-bit NPAPI plugin build fixes. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): + (-[WebBaseNetscapePluginView updateAndSetWindow]): + (-[WebBaseNetscapePluginView start]): + (-[WebBaseNetscapePluginView windowBecameKey:]): + * Plugins/WebNetscapeDeprecatedFunctions.c: + * Plugins/WebNetscapeDeprecatedFunctions.h: + * Plugins/WebNetscapePluginEventHandler.mm: + (WebNetscapePluginEventHandler::create): + * Plugins/WebNetscapePluginEventHandlerCarbon.h: + * Plugins/WebNetscapePluginEventHandlerCarbon.mm: + * Plugins/WebPluginDatabase.m: + (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): + +2008-05-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Tim. + + Remove duplicate npfunctions.h header from WebKit. + + * MigrateHeaders.make: + Migrate npfunctions.h + + * Plugins/npfunctions.h: Removed. + +2008-05-01 Anders Carlsson <andersca@apple.com> + + Reviewed by John. + + Add null checks for the event handler. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView stopTimers]): + (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): + +2008-05-01 Anders Carlsson <andersca@apple.com> + + Fix 64-bit build. + + * Plugins/WebNetscapePluginEventHandlerCocoa.h: + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + * WebCoreSupport/WebFrameLoaderClient.mm: + +2008-05-01 Anders Carlsson <andersca@apple.com> + + Fix build. + + * Plugins/npfunctions.h: + +2008-05-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam. + + Forward mouse move events to the Netscape plug-in view. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView handleMouseMoved:]): + New method that just calls the current event handler. + + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: + (WebNetscapePluginEventHandlerCocoa::flagsChanged): + NSFlagsChanged is not a regular keyboard event and some of the NSEvent accessors + don't work on it so don't call them. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (NetscapePluginWidget::NetscapePluginWidget): + New Widget subclass to be used for Netscape plug-ins. + + (NetscapePluginWidget::handleEvent): + Forward NSMouseMoved events to the plug-in. + + (WebFrameLoaderClient::createPlugin): + Wrap the plug-in view in a NetscapePluginWidget. + +2008-05-01 Alp Toker <alp@nuanti.com> + + Rubber-stamped by Anders. + + GTK+ build fix for changes in r32752. Use int32, not int32_t types in + npapi.h. + + Additional fix to use same signedness in npapi.h and Mac for the + interval parameter. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (PluginTimer::PluginTimer): + (-[WebBaseNetscapePluginView stopTimers]): + (-[WebBaseNetscapePluginView restartTimers]): + (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]): + (-[WebBaseNetscapePluginView unscheduleTimer:]): + * Plugins/WebBaseNetscapePluginViewPrivate.h: + * Plugins/npapi.m: + (NPN_ScheduleTimer): + (NPN_UnscheduleTimer): + * Plugins/npfunctions.h: + +2008-04-30 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam. + + Add new Cocoa event model and the NPN_ScheduleTimer/NPN_UnscheduleTimer methods. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (PluginTimer::PluginTimer): + (PluginTimer::start): + (PluginTimer::fired): + (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): + (-[WebBaseNetscapePluginView stopTimers]): + (-[WebBaseNetscapePluginView restartTimers]): + (-[WebBaseNetscapePluginView scrollWheel:]): + (-[WebBaseNetscapePluginView flagsChanged:]): + (-[WebBaseNetscapePluginView start]): + (-[WebBaseNetscapePluginView eventModel]): + (-[WebBaseNetscapePluginView fini]): + (-[WebBaseNetscapePluginView getVariable:value:]): + (-[WebBaseNetscapePluginView setVariable:value:]): + (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]): + (-[WebBaseNetscapePluginView unscheduleTimer:]): + * Plugins/WebBaseNetscapePluginViewInternal.h: + * Plugins/WebBaseNetscapePluginViewPrivate.h: + * Plugins/WebNetscapePluginEventHandler.h: + * Plugins/WebNetscapePluginEventHandler.mm: + (WebNetscapePluginEventHandler::create): + * Plugins/WebNetscapePluginEventHandlerCarbon.h: + * Plugins/WebNetscapePluginEventHandlerCarbon.mm: + (WebNetscapePluginEventHandlerCarbon::scrollWheel): + (WebNetscapePluginEventHandlerCarbon::flagsChanged): + (WebNetscapePluginEventHandlerCarbon::platformWindow): + * Plugins/WebNetscapePluginEventHandlerCocoa.h: Added. + (WebNetscapePluginEventHandlerCocoa::startTimers): + (WebNetscapePluginEventHandlerCocoa::stopTimers): + * Plugins/WebNetscapePluginEventHandlerCocoa.mm: Added. + (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa): + (WebNetscapePluginEventHandlerCocoa::drawRect): + (WebNetscapePluginEventHandlerCocoa::mouseDown): + (WebNetscapePluginEventHandlerCocoa::mouseDragged): + (WebNetscapePluginEventHandlerCocoa::mouseEntered): + (WebNetscapePluginEventHandlerCocoa::mouseExited): + (WebNetscapePluginEventHandlerCocoa::mouseMoved): + (WebNetscapePluginEventHandlerCocoa::mouseUp): + (WebNetscapePluginEventHandlerCocoa::scrollWheel): + (WebNetscapePluginEventHandlerCocoa::sendMouseEvent): + (WebNetscapePluginEventHandlerCocoa::keyDown): + (WebNetscapePluginEventHandlerCocoa::keyUp): + (WebNetscapePluginEventHandlerCocoa::flagsChanged): + (WebNetscapePluginEventHandlerCocoa::sendKeyEvent): + (WebNetscapePluginEventHandlerCocoa::windowFocusChanged): + (WebNetscapePluginEventHandlerCocoa::focusChanged): + (WebNetscapePluginEventHandlerCocoa::platformWindow): + (WebNetscapePluginEventHandlerCocoa::sendEvent): + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage load]): + * Plugins/npapi.m: + (NPN_ScheduleTimer): + (NPN_UnscheduleTimer): + * Plugins/npfunctions.h: + +2008-04-30 Brady Eidson <beidson@apple.com> + + Fix my WebPreferences revert check-in + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2008-04-30 Brady Eidson <beidson@apple.com> + + Rubberstamped by John Sullivan + + Revert the remainder of my original preferences changes from last week. + They caused a massive PLT regression (too many notifications being sent out + or listened to that weren't previously) and it's not in my schedule to refine + the preferences code instead of working on my feature! + + * WebView/WebView.mm: + (-[WebView _updateSettingsFromPreferences:]): + (-[WebView _commonInitializationWithFrameName:groupName:]): + +2008-04-30 Anders Carlsson <andersca@apple.com> + + Fix the 64-bit build. + + * Plugins/WebNetscapePluginEventHandler.h: + * Plugins/WebNetscapePluginEventHandler.mm: + * Plugins/WebNetscapePluginEventHandlerCarbon.h: + * Plugins/WebNetscapePluginEventHandlerCarbon.mm: + +2008-04-29 David D. Kilzer <ddkilzer@apple.com> + + BUILD FIX for Release build. + + * Plugins/WebNetscapePluginEventHandlerCarbon.mm: + (WebNetscapePluginEventHandlerCarbon::drawRect): Declare acceptedEvent + separately so the compiler doesn't complain about an unused variable. + (WebNetscapePluginEventHandlerCarbon::TSMEventHandler): Ditto. + +2008-04-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam. + + Refactor the Carbon event handling code out into a separate class in preparation for adding + the Cocoa event handling code. + + * Plugins/WebBaseNetscapePluginView.h: + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): + (-[WebBaseNetscapePluginView sendActivateEvent:]): + (-[WebBaseNetscapePluginView sendDrawRectEvent:]): + (-[WebBaseNetscapePluginView stopTimers]): + (-[WebBaseNetscapePluginView restartTimers]): + (-[WebBaseNetscapePluginView setHasFocus:]): + (-[WebBaseNetscapePluginView mouseDown:]): + (-[WebBaseNetscapePluginView mouseUp:]): + (-[WebBaseNetscapePluginView mouseEntered:]): + (-[WebBaseNetscapePluginView mouseExited:]): + (-[WebBaseNetscapePluginView mouseDragged:]): + (-[WebBaseNetscapePluginView keyUp:]): + (-[WebBaseNetscapePluginView keyDown:]): + (-[WebBaseNetscapePluginView cut:]): + (-[WebBaseNetscapePluginView copy:]): + (-[WebBaseNetscapePluginView paste:]): + (-[WebBaseNetscapePluginView selectAll:]): + (-[WebBaseNetscapePluginView start]): + (-[WebBaseNetscapePluginView stop]): + (-[WebBaseNetscapePluginView fini]): + (-[WebBaseNetscapePluginView drawRect:]): + (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): + (-[WebBaseNetscapePluginView viewDidMoveToWindow]): + (-[WebBaseNetscapePluginView windowBecameKey:]): + (-[WebBaseNetscapePluginView windowResignedKey:]): + (-[WebBaseNetscapePluginView windowDidMiniaturize:]): + (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): + (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]): + (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]): + (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): + (-[WebBaseNetscapePluginView _viewHasMoved]): + * Plugins/WebBaseNetscapePluginViewInternal.h: + * Plugins/WebNetscapePluginEmbeddedView.h: + * Plugins/WebNetscapePluginEventHandler.h: Added. + (WebNetscapePluginEventHandler::~WebNetscapePluginEventHandler): + (WebNetscapePluginEventHandler::currentEventIsUserGesture): + (WebNetscapePluginEventHandler::WebNetscapePluginEventHandler): + * Plugins/WebNetscapePluginEventHandler.mm: Added. + (WebNetscapePluginEventHandler::create): + * Plugins/WebNetscapePluginEventHandlerCarbon.h: Added. + * Plugins/WebNetscapePluginEventHandlerCarbon.mm: Added. + (WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon): + (getCarbonEvent): + (modifiersForEvent): + (WebNetscapePluginEventHandlerCarbon::sendNullEvent): + (WebNetscapePluginEventHandlerCarbon::drawRect): + (WebNetscapePluginEventHandlerCarbon::mouseDown): + (WebNetscapePluginEventHandlerCarbon::mouseUp): + (WebNetscapePluginEventHandlerCarbon::mouseEntered): + (WebNetscapePluginEventHandlerCarbon::mouseExited): + (WebNetscapePluginEventHandlerCarbon::mouseDragged): + (WebNetscapePluginEventHandlerCarbon::mouseMoved): + (WebNetscapePluginEventHandlerCarbon::keyDown): + (keyMessageForEvent): + (WebNetscapePluginEventHandlerCarbon::keyUp): + (WebNetscapePluginEventHandlerCarbon::focusChanged): + (WebNetscapePluginEventHandlerCarbon::windowFocusChanged): + (WebNetscapePluginEventHandlerCarbon::TSMEventHandler): + (WebNetscapePluginEventHandlerCarbon::installKeyEventHandler): + (WebNetscapePluginEventHandlerCarbon::removeKeyEventHandler): + (WebNetscapePluginEventHandlerCarbon::nullEventTimerFired): + (WebNetscapePluginEventHandlerCarbon::startTimers): + (WebNetscapePluginEventHandlerCarbon::stopTimers): + (WebNetscapePluginEventHandlerCarbon::sendEvent): + +2008-04-29 Mark Rowe <mrowe@apple.com> + + Reviewed by David Harrison. + + Ensure that WebDynamicScrollBarsView defines WebCoreScrollbarAlwaysOn to keep Mail building. + + * WebKit.exp: + * WebView/WebDynamicScrollBarsView.h: + * WebView/WebDynamicScrollBarsView.m: + +2008-04-29 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Darin Adler. + + Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT) + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + * WebView/WebClipView.m: + (-[WebClipView scrollWheel:]): + * WebView/WebHTMLView.mm: + (-[WebHTMLView addMouseMovedObserver]): + (-[WebHTMLView removeMouseMovedObserver]): + (-[WebHTMLView acceptsFirstMouse:]): + * WebView/WebUIDelegatePrivate.h: + * WebView/WebView.mm: + (-[WebViewPrivate init]): + * WebView/WebViewPrivate.h: + +2008-04-28 Rob Buis <buis@kde.org> + + Reviewed by Maciej. + + Build fix for Tiger. + + * WebView/WebView.mm: + (WebKitInitializeApplicationCachePathIfNecessary): + +2008-04-28 Adele Peterson <adele@apple.com> + + Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler. + + WebKit part of fix for <rdar://problem/3709505> + Safari should have a way to upload bundles from the file upload control (as zip) + + Added UIDelegate methods to let the application handle generating replacement files for uploads. + In this case, Safari will create archived files for bundles so they can be uploaded properly. + + * DefaultDelegates/WebDefaultUIDelegate.m: + (-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]): + (-[WebDefaultUIDelegate webView:generateReplacementFile:]): + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::shouldReplaceWithGeneratedFileForUpload): + (WebChromeClient::generateReplacementFile): + * WebView/WebUIDelegatePrivate.h: + +2008-04-28 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam, Mark, Adele and Darin. + + Initialize the application cache path. + + * WebView/WebView.mm: + (WebKitInitializeApplicationCachePathIfNecessary): + (-[WebView _commonInitializationWithFrameName:groupName:]): + +2008-04-28 Alice Liu <alice.liu@apple.com> + + Reviewed by Darin Adler. + + Fix <rdar://problem/4911289> Add tabindex property to all children + of HTMLElement (7138) + http://bugs.webkit.org/show_bug.cgi?id=7138 + + * MigrateHeaders.make: + Removing DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h + because now that focus() has been moved to DOMHTMLElement.h, these + files are no longer needed. + +2008-04-25 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + Fix run-webkit-tests --threading + and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661> + Proxy server issue in Sunday's Nightly + + * WebView/WebView.mm: (-[WebViewPrivate init]): Initialize threading. Previously, this was + only done from icon database code, which is not robust enough. + +2008-04-20 Adam Barth <hk9565@gmail.com> + + Reviewed by Adam Roben and Sam Weinig. + + Updated WebSecurityOrigin to match new SecurityOrigin API. + + Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch. + + * Storage/WebSecurityOrigin.mm: + (-[WebSecurityOrigin host]): + (-[WebSecurityOrigin domain]): + * Storage/WebSecurityOriginPrivate.h: + +2008-04-25 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Sam Weinig. + + Add some content to an empty ICU header file to prevent verification errors. + + * icu/unicode/utf_old.h: + +2008-04-25 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam. + + Add offlineWebApplicationCacheEnabled preference. + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.m: + (+[WebPreferences initialize]): + (-[WebPreferences offlineWebApplicationCacheEnabled]): + (-[WebPreferences setOfflineWebApplicationCacheEnabled:]): + * WebView/WebPreferencesPrivate.h: + * WebView/WebView.mm: + (-[WebView _updateSettingsFromPreferences:]): + +2008-04-24 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + Remove code for calculating the glyph cache size. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Remove unused symbol. + +2008-04-24 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER. + + * WebKitPrefix.h: + +2008-04-24 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + Fix layout test regressions from my earlier preferences/settings tweak. + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:]): Even if we're not posting + the notification to update the settings, each WebView still needs to register for the + notification - restore that behavior. + +2008-04-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729 + <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text + + * WebView/WebFrame.mm: + (-[WebFrame _caretRectAtNode:offset:affinity:]): Changed to use + VisiblePosition::caretRect() instead of the RenderObject method which + was removed. + +2008-04-24 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + Rework the Settings population again. + + * WebView/WebView.mm: + (-[WebView _updateSettingsFromPreferences:]): This method is called both from _preferencesChangedNotification + and directly from WebView's common init function. + (-[WebView _preferencesChangedNotification:]): + (-[WebView _commonInitializationWithFrameName:groupName:]): Call _updateSettingsFromPreferences immediately + after creating the new Page + +2008-04-24 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - fix crash in regression test where we'd ask a frame for a user agent string + after the WebView was already closed + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::userAgent): Assert that the WebView is not nil. Also + added some code to prevent the crash in release builds if this problem happens + again. + +2008-04-24 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam. + + Change some String arguments to be const references instead. + + * WebCoreSupport/WebEditorClient.h: + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::shouldInsertText): + +2008-04-24 John Sullivan <sullivan@apple.com> + + Mac build fix + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory AXButtonActionVerb]): + implement this method using the text in WebCoreLocalizedStrings.cpp + (-[WebViewFactory AXRadioButtonActionVerb]): + ditto + (-[WebViewFactory AXTextFieldActionVerb]): + ditto + (-[WebViewFactory AXCheckedCheckBoxActionVerb]): + ditto + (-[WebViewFactory AXUncheckedCheckBoxActionVerb]): + ditto + (-[WebViewFactory AXLinkActionVerb]): + ditto + +2008-04-23 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings + object before the Settings object is initialized. It seems quite prudent to post the preferences changed notification, + thereby populating the Settings object, immediately after the Page is created. + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:]): Post the notification right after the Page is created + +2008-04-24 John Sullivan <sullivan@apple.com> + + Reviewed by Jess + + - fixed <rdar://problem/5886655> JavaScript input panel automatic resizing doesn't work right with HiDPI + + * Misc/WebNSControlExtras.m: + (-[NSControl sizeToFitAndAdjustWindowHeight]): + deploy userSpaceScaleFactor when using view distances on the window + +2008-04-22 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Add NPN_Construct and NPN_PluginThreadAsyncCall declarations. + + * Plugins/npfunctions.h: + +2008-04-20 Matt Lilek <webkit@mattlilek.com> + + Mysteriously reviewed by mitz|away. + + Bug 18111: Closing a tab while dragging crashes Safari + https://bugs.webkit.org/show_bug.cgi?id=18111 + + Null check the page before handling drag events. + + * WebView/WebView.mm: + (-[WebView draggingUpdated:]): + (-[WebView draggingExited:]): + +2008-04-19 Brady Eidson <beidson@apple.com> + + Reviewed by Tim Hatcher + + Add a WebPreference for the path of the local storage persistent store. + + * WebView/WebPreferenceKeysPrivate.h: + + * WebView/WebPreferences.m: + (-[WebPreferences _localStorageDatabasePath]): + (-[WebPreferences _setLocalStorageDatabasePath:]): + * WebView/WebPreferencesPrivate.h: + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2008-04-18 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + Don't clear the PageGroup on _close, as the WebCore::Page destructor already does this. + No reason to do the work twice... + + * WebView/WebView.mm: + (-[WebView _close]): + +2008-04-17 Eric Seidel <eric@webkit.org> + + Reviewed by beth. + + Rename Frame::renderer() to contentRenderer() and fix uses. + + * Misc/WebCoreStatistics.mm: + * WebView/WebRenderNode.mm: + (-[WebRenderNode initWithWebFrameView:]): + +2008-04-17 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by mrowe. + + * WebView/WebFrame.mm: Remove temporary build fix. + +2008-04-17 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + Fix <rdar://problem/5863552> REGRESSION (r30741): Attachments don't appear in the iChat message window after sending + + The order of arguments to -[NSDictionary initWithObjects:andKeys:] had been transposed accidentally during refactoring. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createPlugin): Pass the arguments in the correct order. + +2008-04-17 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Dan Bernstein. + + Fix the Mac build. + + * WebView/WebFrame.mm: Define HAVE_ACCESSIBILITY before including AccessibilityObject.h and AXObjectCache.h to get things building + for now. This comes from config.h in WebCore but we don't have an equivalent in WebKit so we'll need to work out the correct place + for this to live going forward. + +2008-04-15 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders. + + <rdar://problem/5412759> CrashTracer: [USER] 22 crashes in Safari at com.apple.quicktime.webplugin: NPN_SetValue + 15403 + + In certain situations, code in WebBasePluginPackage would load a plug-in only for the explicit reason of asking it to create a + preference file, but wouldn't actually unload the bundle. This created problems for the QuickTime WebKit plug-in by unloading + a bundle out from underneath itself. + + * Plugins/WebBasePluginPackage.h: Added unload method. + * Plugins/WebBasePluginPackage.m: + (-[WebBasePluginPackage unload]): Added new method. Currently, only Netscape plug-ins support unload. + (-[WebBasePluginPackage pListForPath:createFile:]): Added a call to unload. + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage unload]): Added. + +2008-04-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam. + + Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES. + + * Configurations/WebKit.xcconfig: + +2008-04-15 Brady Eidson <beidson@apple.com> + + Reviewed by John Sullivan + + Do a more complete job adding the "WebArchiveDebugMode" pref + + * WebView/WebPreferences.m: Add both getter *and* setter + (-[WebPreferences webArchiveDebugModeEnabled]): + (-[WebPreferences setWebArchiveDebugModeEnabled:]): + * WebView/WebPreferencesPrivate.h: + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Call the renamed getter + +2008-04-14 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + Add a hidden pref to debug WebArchive loading. With this pref on, when loading a WebArchive, + if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the + network and will instead fail the load as "cancelled." + + * WebView/WebPreferenceKeysPrivate.h: + + * WebView/WebPreferences.m: + (+[WebPreferences initialize]): + (-[WebPreferences _webArchiveDebugModeEnabled]): + * WebView/WebPreferencesPrivate.h: + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): + +2008-04-11 David Hyatt <hyatt@apple.com> + + Rename CachedResource ref/deref methods to addClient/removeClient. + + Reviewed by olliej + + * WebView/WebHTMLView.mm: + (-[WebHTMLViewPrivate dealloc]): + (-[WebHTMLViewPrivate finalize]): + (-[WebHTMLViewPrivate clear]): + (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]): + +2008-04-07 Brady Eidson <beidson@apple.com> + + Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project + + * Configurations/WebKit.xcconfig: + +2008-04-04 Adam Roben <aroben@apple.com> + + Use WebCore's ICU headers instead of our own copy + + Rubberstamped by Tim Hatcher. + + * Configurations/WebKit.xcconfig: Pick up ICU headers from WebCore's + PrivateHeaders. + +2008-04-04 Adam Roben <aroben@apple.com> + + Fix <rdar://problem/5804776> Would like to use WebCore's + ForwardingHeaders in WebKit without manually creating copies + + Patch by Tim Hatcher, typed by me. + + * Configurations/WebKit.xcconfig: Use the copy of ForwardingHeaders in + WebCore's PrivateHeaders instead of our own copy. + +2008-04-04 Ada Chan <adachan@apple.com> + + Now we pass width and height directly as integers to format + the window title for a standalone image. + + Reviewed by Dan. + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory imageTitleForFilename:width:height:]): + +2008-04-03 Nicholas Shanks <webkit@nickshanks.com> + + Updated by Dan Bernstein. Reviewed by Dave Hyatt. + + - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484 + font-weight does not properly support graded weights + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _styleFromFontAttributes:]): + (-[WebHTMLView _originalFontB]): + (-[WebHTMLView _addToStyle:fontA:fontB:]): + +2008-04-02 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Ensure that debug symbols are generated for x86_64 and ppc64 builds. + + * Configurations/Base.xcconfig: + +2008-03-31 Alice Liu <alice.liu@apple.com> + + Reviewed by Darin Adler. + + * WebView/WebFrame.mm: + (-[WebFrame _accessibilityTree]): + The syntax for fetching an object from the AXObjectCache changed slightly + +2008-03-31 Brady Eidson <beidson@apple.com> + + Reviewed by Jon Honeycutt + + Move a WebArchive loading check into WebCore + + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation receivedData:withDataSource:]): Don't check "isDisplayingWebArchive" as WebCore is now + responsible for checking that state + +2008-03-31 Brady Eidson <beidson@apple.com> + + Reviewed by Darin and Mitz's rubber stamp + + Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore + + * WebCoreSupport/WebEditorClient.mm: + * WebCoreSupport/WebEditorClient.h: + +2008-03-28 Brady Eidson <beidson@apple.com> + + Rubberstamped by Darin Adler + + Remove WebArchiver.h/mm + + * WebView/WebArchiver.h: Removed. + * WebView/WebArchiver.mm: Removed. + + * DOM/WebDOMOperations.mm: + * WebCoreSupport/WebDragClient.mm: + * WebCoreSupport/WebEditorClient.mm: + * WebView/WebDataSource.mm: + * WebView/WebHTMLView.mm: + +2008-03-28 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler + + Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore + + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::dataForArchivedSelection): + + * WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users + * WebView/WebArchiver.mm: Ditto + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): + +2008-03-28 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler + + More Kit->Core WebArchive changes. + + Create an archive from the current selection in a frame + + * WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off + easily in a followup + +2008-03-28 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + WebArchive saga continues - Can now make archives from ranges in WebCore + + * DOM/WebDOMOperations.mm: + (-[DOMRange webArchive]): + (-[DOMRange markupString]): + + * WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:] + * WebView/WebArchiver.mm: + +2008-03-28 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + More Kit->Core webarchive code movement + + * DOM/WebDOMOperations.mm: + (-[DOMNode markupString]): Call createFullMarkup() instead + + * WebView/WebFrame.mm: Remove obsolete _markupStringFromNode + * WebView/WebFrameInternal.h: Ditto + +2008-03-28 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller + + * WebView/WebArchiver.h: + * WebView/WebArchiver.mm: + * WebView/WebDataSource.mm: + (-[WebDataSource webArchive]): + +2008-03-28 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + Remove unused [WebArchiver archiveNode:], made obsolete in r31400 + + * WebView/WebArchiver.h: + * WebView/WebArchiver.mm: + +2008-03-28 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + "Yet another transitional step" to empty out WebKit-based code for archiving. + + With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place + entirely within WebCore, and opens the door to saving WebArchives on Windows. + + * DOM/WebDOMOperations.mm: + * WebView/WebArchiver.mm: + (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]): + +2008-03-27 Brady Eidson <beidson@apple.com> + + Reviewed by Adam Roben + + Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore + as the push to core-ify WebArchives continues. + + This patch also introduces a behavior change. WebCore allows ArchiveResources with null or empty data. + WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null. + Since WebResource is API, I decided to leave it be to avoid a behavior change. But internally created resources + (as in "while archiving a page") are accepting of null or empty data. + + This actually fixes a bug where not all subframes are archived, and resulted in a layout test change. + + * WebView/WebDataSource.mm: + (-[WebDataSource mainResource]): Call DocumentLoader implementation + (-[WebDataSource subresources]): Ditto + * WebView/WebFrame.mm: Remove [WebFrame _getAllResourceDatas:andResponses:] as its only caller is obsolete + * WebView/WebFrameInternal.h: + +2008-03-27 Brady Eidson <beidson@apple.com> + + Reviewed by Adam + + Change the "init from WebCore resource" version of WebResource to take PassRefPtr + (more efficient) + + * WebView/WebResource.mm: + (-[WebResource _initWithCoreResource:]): + * WebView/WebResourceInternal.h: + +2008-03-26 Brady Eidson <beidson@apple.com> + + Build fix - accidentally checked in this change which was work in progress + + * DOM/WebDOMOperations.mm: + +2008-03-26 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + When we create a WebArchive, we walk every node from some starting point, asking each node + along the way "What are your subresource URLs?" + + That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into + WebCore::Node + + * DOM/WebDOMOperations.mm: + (-[DOMNode _subresourceURLs]): One generic DOMNode method can now handle all DOMNodes by + calling into individual WebCore::Node implementations + * DOM/WebDOMOperationsPrivate.h: + +2008-03-26 Brady Eidson <beidson@apple.com> + + Reviewed by Mark Rowe + + Part of the continued push to move WebArchive-related code down to WebCore, this + moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource() + + * WebView/WebDataSource.mm: + (-[WebDataSource subresourceForURL:]): Call through to the DocumentLoader + + * WebView/WebFrame.mm: Remove [WebFrame _getData:andResponse:forURL:], as its only use + has now been ported down to WebCore + * WebView/WebFrameInternal.h: + +2008-03-26 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Brady Eidson. + + Update FEATURE_DEFINES to be consistent with the other locations in which it is defined. + + * Configurations/WebKit.xcconfig: + +2008-03-26 Mark Rowe <mrowe@apple.com> + + Reviewed by David Hyatt. + + Make the Ahem font antialias correctly on Acid3 on Tiger. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + +2008-03-26 Mark Rowe <mrowe@apple.com> + + Fix the Mac build. + + * MigrateHeaders.make: Copy the newly generated header into the right place. + +2008-03-25 Brady Eidson <beidson@apple.com> + + Reviewed by Beth Dakin + + Remove entirely unused internal method + + * WebView/WebArchiver.h: + * WebView/WebArchiver.mm: + +2008-03-25 Brady Eidson <beidson@apple.com> + + Reviewed by Adam Roben + + <rdar://problem/5819308> - View Source is empty when view webarchives + + * WebCore.base.exp: + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::setParsedArchiveData): + (WebCore::DocumentLoader::parsedArchiveData): + * loader/DocumentLoader.h: + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData + in the DocumentLoader + +2008-03-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix http://bugs.webkit.org/show_bug.cgi?id=17933 + Reopen All Windows From Last Session causes crash + + * WebView/WebHTMLView.mm: + (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Added null + check. + +2008-03-25 Brady Eidson <beidson@apple.com> + + Reviewed by Jon Honeycutt's rubberstamp + + Fix a leak with the new WebArchive setup + + * WebView/WebArchive.mm: + (-[WebArchivePrivate setCoreArchive:]): Deref() the old WebArchive + +2008-03-25 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + Removed the concept of "pending archive resources" and the "archive resources delivery timer" + from WebFrameLoaderClient, as those concepts have been pushed into WebCore + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::WebFrameLoaderClient): + +2008-03-25 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + Remove newly obsolete FrameLoaderClient methods + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + +2008-03-25 Brady Eidson <beidson@apple.com> + + Release build fix + + * WebView/WebArchive.mm: + (-[WebArchive subresources]): + (-[WebArchive subframeArchives]): + +2008-03-25 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + <rdar://problem/4516169> - Support WebArchives on Windows + And paves the way for many future WebArchive bug fixes and enhancements + + This change moves most of the real workhorse code about WebArchives into WebCore. It maintains + 1-to-1 relationships between a few objects in WebCore and WebKit. Such as: + * WebArchive <-> LegacyWebArchive + * WebResource <-> ArchiveResource + * WebUnarchivingState <-> ArchiveResourceCollection + + The other biggest changes involve many FrameLoaderClient methods that existed soley for WebArchives + and now exist in WebCore + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::clearUnarchivingState): Emptied - to be removed in a followup patch + (WebFrameLoaderClient::finalSetupForReplace): + (WebFrameLoaderClient::setDefersLoading): + (WebFrameLoaderClient::willUseArchive): + (WebFrameLoaderClient::isArchiveLoadPending): + (WebFrameLoaderClient::cancelPendingArchiveLoad): + (WebFrameLoaderClient::clearArchivedResources): + (WebFrameLoaderClient::createFrame): + + * WebView/WebArchive.mm: + (+[WebArchivePrivate initialize]): + (-[WebArchivePrivate init]): + (-[WebArchivePrivate initWithCoreArchive:]): + (-[WebArchivePrivate coreArchive]): + (-[WebArchivePrivate setCoreArchive:]): + (-[WebArchivePrivate dealloc]): + (-[WebArchivePrivate finalize]): + (-[WebArchive init]): + (-[WebArchive initWithMainResource:subresources:subframeArchives:]): + (-[WebArchive initWithData:]): + (-[WebArchive initWithCoder:]): + (-[WebArchive encodeWithCoder:]): + (-[WebArchive mainResource]): + (-[WebArchive subresources]): + (-[WebArchive subframeArchives]): + (-[WebArchive data]): + (-[WebArchive _initWithCoreLegacyWebArchive:WebCore::]): + (-[WebArchive WebCore::]): + * WebView/WebArchiveInternal.h: Added. + + * WebView/WebDataSource.mm: + (-[WebDataSourcePrivate dealloc]): + (-[WebDataSource _addSubframeArchives:]): + (-[WebDataSource _documentFragmentWithArchive:]): + (-[WebDataSource subresourceForURL:]): + (-[WebDataSource addSubresource:]): + * WebView/WebDataSourceInternal.h: + + * WebView/WebFrame.mm: + (-[WebFrame loadArchive:]): + * WebView/WebFrameInternal.h: + + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): + + * WebView/WebResource.mm: + (+[WebResourcePrivate initialize]): + (-[WebResourcePrivate init]): + (-[WebResourcePrivate initWithCoreResource:]): + (-[WebResourcePrivate dealloc]): + (-[WebResourcePrivate finalize]): + (-[WebResource initWithCoder:]): + (-[WebResource encodeWithCoder:]): + (-[WebResource data]): + (-[WebResource URL]): + (-[WebResource MIMEType]): + (-[WebResource textEncodingName]): + (-[WebResource frameName]): + (-[WebResource _initWithCoreResource:WebCore::]): + (-[WebResource WebCore::]): + (-[WebResource _ignoreWhenUnarchiving]): + (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): + (-[WebResource _fileWrapperRepresentation]): + (-[WebResource _response]): + (-[WebResource _stringValue]): + * WebView/WebResourceInternal.h: Added. + * WebView/WebResourcePrivate.h: + + * WebView/WebUnarchivingState.h: Removed. + * WebView/WebUnarchivingState.m: Removed. + +2008-03-24 Oliver Hunt <oliver@apple.com> + + Reviewed by Mark Rowe. + + Bug 18030: REGRESSION(r31236): Space bar fails to scroll down page + <http://bugs.webkit.org/show_bug.cgi?id=18030> + + Rollout keyDown changes from r31236 -- fix for keyDown behaviour is + tracked by Bug 18057: keyDown incorrectly propagates up the frame tree + <http://bugs.webkit.org/show_bug.cgi?id=18057> + + * WebView/WebHTMLView.mm: + (-[WebHTMLView keyDown:]): + +2008-03-24 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Reviewed by Maciej, landed by Brady + + Bug 3580: iFrames Appear to be Cached + <http://bugs.webkit.org/show_bug.cgi?id=3580> + + Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs + <http://bugs.webkit.org/show_bug.cgi?id=15486> + + Bug 15554: Reload causes <object> to use old data + <http://bugs.webkit.org/show_bug.cgi?id=15554> + + If a page is reloaded, a child frame's URL can not be taken from a history item. + + * WebView/WebFrame.mm: + (-[WebFrame _loadURL:referrer:intoChild:]): + +2008-03-24 Darin Adler <darin@apple.com> + + Reviewed by Beth. + + - fix <rdar://problem/5817067> -[WebDataSource unreachableURL] invokes KURL's copy constructor + + * History/WebHistoryItem.mm: + (-[WebHistoryItem URL]): Use a reference to avoid making a copy. + * WebView/WebDataSource.mm: + (-[WebDataSource _URL]): Ditto. + (-[WebDataSource unreachableURL]): Ditto. + * WebView/WebHTMLView.mm: + (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto. + + * DefaultDelegates/WebDefaultContextMenuDelegate.mm: + * History/WebHistory.mm: + * Misc/WebElementDictionary.mm: + * Misc/WebNSAttributedStringExtras.mm: + Remove unneeded imports of KURL.h. + +2008-03-24 Brady Eidson <beidson@apple.com> + + Reviewed by Darin's rubberstamp + + Rename this file for upcoming work. + + * WebView/WebArchive.m: Removed. + * WebView/WebArchive.mm: Copied from WebKit/mac/WebView/WebArchive.m. + +2008-03-24 Alexey Proskuryakov <ap@webkit.org> + + Build fix. + + * MigrateHeaders.make: Added DOMSVGAltGlyphElement.h and DOMSVGAltGlyphElementInternal.h. + +2008-03-23 Oliver Hunt <oliver@apple.com> + + Reviewed by Maciej. + + Bug 17670: Key events may improperly propagate from iframe to parent frame + <http://bugs.webkit.org/show_bug.cgi?id=17670> + Bug 16381: REGRESSION: Shift, command, option, ctrl keys in Gmail Rich Text changes focus + <http://bugs.webkit.org/show_bug.cgi?id=16381> + + Prevent the Cocoa event system from propagating key events to the parent WebHTMLView, + as that results in us dispatching the key events for each frame going up the frame + tree. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView keyDown:]): + (-[WebHTMLView keyUp:]): + (-[WebHTMLView flagsChanged:]): + +2008-03-21 Timothy Hatcher <timothy@apple.com> + + Bug 17980: Regression: Inspector highlighting of webpage not cleared when going to new URL + http://bugs.webkit.org/show_bug.cgi?id=17980 + + Reviewed by Adam. + + The new highlight drawing was not honoring the fade value, so it was + always drawing at full opacity. The animation code didn't match Windows + and the new highlight anyway, so it has been removed. The highlight + how just detaches when it is hidden. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController windowShouldClose:]): Call hideHighlight. + (-[WebInspectorWindowController close]): Ditto. + (-[WebInspectorWindowController highlightNode:]): Call attach. + (-[WebInspectorWindowController hideHighlight]): Call detach and release _currentHighlight. + * WebInspector/WebNodeHighlight.h: + * WebInspector/WebNodeHighlight.m: + (-[WebNodeHighlight initWithTargetView:inspectorController:]): + (-[WebNodeHighlight dealloc]): Assert we have no _highlightView. + (-[WebNodeHighlight attach]): Renamed from attachHighlight. + (-[WebNodeHighlight detach]): Renamed from detachHighlight. + (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Renamed from setHolesNeedUpdateInTargetViewRect:. + * WebInspector/WebNodeHighlightView.h: + * WebInspector/WebNodeHighlightView.m: + (-[WebNodeHighlightView setNeedsDisplayInRect:]): Renamed from setHolesNeedUpdateInRect:. + +2008-03-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit. + This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the + command-line. + + * Configurations/WebKit.xcconfig: + +2008-03-20 Adam Roben <aroben@apple.com> + + Make WebNodeHighlightView use InspectorController to do its painting + + Reviewed by Tim Hatcher. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController highlightNode:]): Pass the + InspectorController to the WebNodeHighlight, and don't call + setHighlightedNode: (which has been removed). + (-[WebInspectorWindowController hideHighlight]): Removed call to + setHighlightedNode:. + * WebInspector/WebNodeHighlight.h: + - Replaced _highlightNode with _inspectorController + - Removed _highlightedNode accessors + - Added -inspectorController method + * WebInspector/WebNodeHighlight.m: + (-[WebNodeHighlight initWithTargetView:inspectorController:]): Now + takes an InspectorController* and stores it in _inspectorController. + (-[WebNodeHighlight dealloc]): Removed code dealing with + _highlightedNode. + (-[WebNodeHighlight inspectorController]): Added. + * WebInspector/WebNodeHighlightView.m: Removed FileInternal category. + (-[WebNodeHighlightView isFlipped]): Added. WebCore expects all + GraphicsContexts to be based on a flipped CGContext, so we have to + specify that this view is flipped. + (-[WebNodeHighlightView drawRect:]): Changed to create a + GraphicsContext and pass it to InspectorController::drawNodeHighlight. + +2008-03-18 David Hyatt <hyatt@apple.com> + + Add support for a preference in WebKit that can be used in nightly builds to test full page + zoom. + + Reviewed by Antti + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebView.mm: + (-[WebView setTextSizeMultiplier:]): + (-[WebView canMakeTextSmaller]): + (-[WebView makeTextSmaller:]): + (-[WebView canMakeTextLarger]): + (-[WebView makeTextLarger:]): + (-[WebView canMakeTextStandardSize]): + (-[WebView makeTextStandardSize:]): + +2008-03-17 Eric Seidel <eric@webkit.org> + + Reviewed by darin. + + Export _NPN_IntFromIdentifier as part of our NPAPI interface + + * Plugins/WebNetscapePluginPackage.m: + (-[WebNetscapePluginPackage load]): + +2008-03-14 Brady Eidson <beidson@apple.com> + + Reviewed by Brian Dash's rubberstamp + + Remove a class declaration for a class that has never existed + + * WebView/WebResource.h: + +2008-03-14 David D. Kilzer <ddkilzer@apple.com> + + Unify concept of enabling the Mac Java bridge. + + Reviewed by Darin and Anders. + + * Plugins/WebPluginJava.h: Removed unused file. + * WebCoreSupport/WebFrameLoaderClient.h: + (WebFrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard. + * WebCoreSupport/WebFrameLoaderClient.mm: Ditto for #import and NSView SPI method. + (WebFrameLoaderClient::javaApplet): Ditto. + +2008-03-13 Antti Koivisto <antti@apple.com> + + Reviewed by Darin Adler. + + * ForwardingHeaders/wtf/Deque.h: Added. + +2008-03-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam. + + Call originalRequest, not initialRequest. + + * WebView/WebDataSource.mm: + (-[WebDataSource initialRequest]): + +2008-03-12 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + - cleanup after removing the bridge + + * DOM/WebDOMOperations.mm: + (-[DOMDocument URLWithAttributeString:]): Call computeURL directly. + + * Misc/WebCoreStatistics.mm: + (-[WebFrame renderTreeAsExternalRepresentation]): Call externalRepresentation directly. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView loadPluginRequest:]): Use core function instead of + _frameLoader method. + (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): + Ditto. + * Plugins/WebPluginController.mm: + (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Ditto. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::frameLoaderDestroyed): Added a call to the new _clearCoreFrame + method. Without this we could leave a stale frame pointer around. + (WebFrameLoaderClient::dispatchDidReceiveIcon): Rewrote assertion so it's not the single + caller of the _isMainFrame method. + (WebFrameLoaderClient::transitionToCommittedForNewPage): Use core function instead of + _frameLoader method. + (WebFrameLoaderClient::createFrame): Moved code here from _addChild. + + * WebView/WebFrame.mm: Removed lots of methods. Some were moved elsewhere, others + turned out to be unused. + (core): Added overload for DocumentFragment. + (kit): Ditto. + (-[WebFrame _loadURL:referrer:intoChild:]): Get to Frame using _private->coreFrame and + to FrameLoader with _private->coreFrame->loader(). + (-[WebFrame _attachScriptDebugger]): Ditto. + (-[WebFrame _clearCoreFrame]): Added. + (-[WebFrame _updateBackground]): More of the same. + (-[WebFrame _unmarkAllBadGrammar]): Ditto. + (-[WebFrame _unmarkAllMisspellings]): Ditto. + (-[WebFrame _hasSelection]): Ditto. + (-[WebFrame _atMostOneFrameHasSelection]): Ditto. + (-[WebFrame _findFrameWithSelection]): Ditto. + (-[WebFrame _dataSource]): Ditto. + (-[WebFrame _addData:]): Streamlined code a bit. + (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto. + (-[WebFrame _receivedData:textEncodingName:]): Ditto. + (-[WebFrame _isDescendantOfFrame:]): Ditto. + (-[WebFrame _bodyBackgroundColor]): Ditto. + (-[WebFrame _isFrameSet]): Ditto. + (-[WebFrame _firstLayoutDone]): Ditto. + (-[WebFrame _loadType]): Ditto. + (-[WebFrame _isDisplayingStandaloneImage]): Ditto. + (-[WebFrame name]): Ditto. + (-[WebFrame DOMDocument]): Ditto. + (-[WebFrame frameElement]): Ditto. + (-[WebFrame provisionalDataSource]): Ditto. + (-[WebFrame dataSource]): Ditto. + (-[WebFrame loadRequest:]): Ditto. + (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Ditto. + (-[WebFrame loadArchive:]): Ditto. + (-[WebFrame stopLoading]): Ditto. + (-[WebFrame reload]): Ditto. + (-[WebFrame findFrameNamed:]): Ditto. + (-[WebFrame parentFrame]): Ditto. + (-[WebFrame childFrames]): Ditto. + (-[WebFrame windowObject]): Ditto. + (-[WebFrame globalContext]): Ditto. + + * WebView/WebFrameInternal.h: Added overloads of core and kit. + Removed method declarations. + + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation documentSource]): Moved code here from WebFrame. + (formElementFromDOMElement): Ditto. + (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto. + (inputElementFromDOMElement): Ditto. + (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto. + (-[WebHTMLRepresentation elementIsPassword:]): Ditto. + (-[WebHTMLRepresentation formForElement:]): Ditto. + (-[WebHTMLRepresentation currentForm]): Ditto. + (-[WebHTMLRepresentation controlsInForm:]): Ditto. + (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto. + (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _frameOrBoundsChanged]): Moved sendScrollEvent code here from WebFrame. + (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): + Call createFragmentFromText directly instead of via WebFrame. + (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): + Moved layout calls here from WebFrame. + (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto. + (-[WebHTMLView _updateFontPanel]): Ditto, but with fontForSelection. + (-[WebHTMLView _canSmartCopyOrDelete]): Ditto, but with selectionGranularity. + (-[WebHTMLView markedRange]): Moved code here from _markedTextNSRange. + (-[WebHTMLView attributedSubstringFromRange:]): Tweaked code a bit. + (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): + Moved code here from WebFrame. + (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto. + (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto. + (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto. + (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto. + (-[WebHTMLView unmarkAllTextMatches]): Ditto. + (-[WebHTMLView rectsForTextMatches]): Ditto. + + * WebView/WebHTMLViewInternal.h: Removed unused method declarations. + + * WebView/WebPDFView.mm: + (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Use core function instead of + _frameLoader method. + + * WebView/WebRenderNode.mm: + (copyRenderNode): Moved code here from WebFrame. + (-[WebRenderNode initWithWebFrameView:]): Ditto. + + * WebView/WebResource.mm: + (-[WebResource _stringValue]): Moved code here from WebFrame. + + * WebView/WebView.mm: + (-[WebView _close]): Use core function intsead of _frameLoader method. + (-[WebView setCustomTextEncodingName:]): Ditto. + (-[WebView setHostWindow:]): Moved code here from WebFrame. + (aeDescFromJSValue): Moved this here from WebFrame. + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Moved code here from WebFrame. + +2008-03-12 Darin Adler <darin@apple.com> + + Reviewed by Anders. + + - http://bugs.webkit.org/show_bug.cgi?id=17640 + eliminate WebCoreFrameBridge + + Moved all the code from the bridge into WebFrame. This need not be the final + home of these methods -- they can be moved closer to their callers and improved + further -- but it eliminates the bridge without requiring a rewrite of the code. + It's a fairly mechanical process (just adding underscores to method names really). + + There's even a chance that some of the methods are unused. Those we can remove + after checking if that's so. + + * DOM/WebDOMOperations.mm: + (-[DOMNode markupString]): Use WebFrame rather than bridge. + (-[DOMDocument webFrame]): Changed to use the core and kit functions + instead of using the bridge. + (-[DOMDocument URLWithAttributeString:]): Use WebFrame rather than bridge. + (-[DOMRange markupString]): Ditto. + * DOM/WebDOMOperationsPrivate.h: Removed _bridge methods. + + * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded import. + * History/WebHistoryItem.mm: Ditto. + + * MigrateHeaders.make: Added DOMDocumentFragmentInternal.h. + * Misc/WebCoreStatistics.mm: + (-[WebFrame renderTreeAsExternalRepresentation]): Use WebFrame rather than bridge. + + * Misc/WebElementDictionary.mm: Removed unneeded import. + + * Misc/WebKitStatistics.m: + (+[WebKitStatistics bridgeCount]): Removed WebBridgeCount and just return 0. + * Misc/WebKitStatisticsPrivate.h: Ditto. + + * Misc/WebNSAttributedStringExtras.mm: Removed unneeded import. + * Misc/WebNSPasteboardExtras.mm: Ditto. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Use WebFrame + rather than bridge. + + * Plugins/WebNetscapePluginEmbeddedView.mm: Removed unneeded import. + * Plugins/WebNetscapePluginStream.mm: Ditto. + + * Plugins/WebPluginContainerCheck.mm: + (-[WebPluginContainerCheck _isForbiddenFileLoad]): Use WebFrame rather than + bridge to get to the WebCore::Frame. + + * Plugins/WebPluginController.h: Declare webFrame method and remove bridge method. + * Plugins/WebPluginController.mm: + (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Use WebFrame + rather than bridge. + + * WebCoreSupport/WebEditorClient.mm: + (selectorForKeyEvent): Tweaked comment. + + * WebCoreSupport/WebFrameBridge.h: Removed. + * WebCoreSupport/WebFrameBridge.mm: Removed. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::frameLoaderDestroyed): Removed bridge assertion. + (WebFrameLoaderClient::detachedFromParent4): Removed bridge teardown code. + I could remove this function entirely, but it looks like the Qt port is using it. + + * WebCoreSupport/WebViewFactory.mm: Removed unneeded import. + + * WebView/WebArchiver.mm: + (+[WebArchiver archiveRange:]): Use WebFrame rather than bridge. + (+[WebArchiver archiveNode:]): Ditto. + (+[WebArchiver archiveSelectionInFrame:]): Ditto. + + * WebView/WebDataSource.mm: + (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): Ditto. + (-[WebDataSource _documentFragmentWithArchive:]): Ditto. + (-[WebDataSource subresources]): Ditto. + (-[WebDataSource subresourceForURL:]): Ditto. + + * WebView/WebDataSourceInternal.h: Removed _bridge method. + + * WebView/WebFrame.mm: + (-[WebFramePrivate dealloc]): Removed code to release the bridge. + (core): Go directly to the core frame, not via the bridge. + (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): + Remove the code to deal with the bridge. + (-[WebFrame _initWithWebFrameView:webView:]): Ditto. Also added code to set the + shouldCreateRenderers flag, formerly on the bridge. + (-[WebFrame _updateBackground]): Change to call mehods on self, not bridge. + (aeDescFromJSValue): Moved here from bridge. + (-[WebFrame _domain]): Ditto. + (-[WebFrame _addData:]): Ditto. + (-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]): Ditto. + (-[WebFrame _nodesFromList:]): Ditto. + (-[WebFrame _markupStringFromNode:nodes:]): Ditto. + (-[WebFrame _markupStringFromRange:nodes:]): Ditto. + (-[WebFrame _selectedString]): Ditto. + (-[WebFrame _stringForRange:]): Ditto. + (-[WebFrame _forceLayoutAdjustingViewSize:]): Ditto. + (-[WebFrame _forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto. + (-[WebFrame _sendScrollEvent]): Ditto. + (-[WebFrame _drawRect:]): Ditto. + (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): Ditto. + (-[WebFrame _adjustPageHeightNew:top:bottom:limit:]): Ditto. + (-[WebFrame _copyRenderNode:copier:]): Ditto. + (-[WebFrame _copyRenderTree:]): Ditto. + (inputElementFromDOMElement): Ditto. + (formElementFromDOMElement): Ditto. + (-[WebFrame _elementWithName:inForm:]): Ditto. + (-[WebFrame _elementDoesAutoComplete:]): Ditto. + (-[WebFrame _elementIsPassword:]): Ditto. + (-[WebFrame _formForElement:]): Ditto. + (-[WebFrame _currentForm]): Ditto. + (-[WebFrame _controlsInForm:]): Ditto. + (-[WebFrame _searchForLabels:beforeElement:]): Ditto. + (-[WebFrame _matchLabels:againstElement:]): Ditto. + (-[WebFrame _URLWithAttributeString:]): Ditto. + (-[WebFrame _searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto. + (-[WebFrame _markAllMatchesForText:caseSensitive:limit:]): Ditto. + (-[WebFrame _markedTextMatchesAreHighlighted]): Ditto. + (-[WebFrame _setMarkedTextMatchesAreHighlighted:]): Ditto. + (-[WebFrame _unmarkAllTextMatches]): Ditto. + (-[WebFrame _rectsForTextMatches]): Ditto. + (-[WebFrame _stringByEvaluatingJavaScriptFromString:]): Ditto. + (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto. + (-[WebFrame _aeDescByEvaluatingJavaScriptFromString:]): Ditto. + (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto. + (-[WebFrame _firstRectForDOMRange:]): Ditto. + (-[WebFrame _scrollDOMRangeToVisible:]): Ditto. + (-[WebFrame _baseURL]): Ditto. + (-[WebFrame _stringWithData:]): Ditto. + (+[WebFrame _stringWithData:textEncodingName:]): Ditto. + (-[WebFrame _needsLayout]): Ditto. + (-[WebFrame _renderTreeAsExternalRepresentation]): Ditto. + (-[WebFrame _accessibilityTree]): Ditto. + (-[WebFrame _setBaseBackgroundColor:]): Ditto. + (-[WebFrame _setDrawsBackground:]): Ditto. + (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]): + Ditto. + (-[WebFrame _selectionGranularity]): Ditto. + (-[WebFrame _convertToNSRange:]): Ditto. + (-[WebFrame _convertToDOMRange:]): Ditto. + (-[WebFrame _convertNSRangeToDOMRange:]): Ditto. + (-[WebFrame _convertDOMRangeToNSRange:]): Ditto. + (-[WebFrame _markDOMRange]): Ditto. + (-[WebFrame _markedTextNSRange]): Ditto. + (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto. + (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto. + (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto. + (-[WebFrame _documentFragmentWithText:inContext:]): Ditto. + (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto. + (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto. + (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto. + (-[WebFrame _replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): Ditto. + (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto. + (-[WebFrame _insertParagraphSeparatorInQuotedContent]): Ditto. + (-[WebFrame _visiblePositionForPoint:]): Ditto. + (-[WebFrame _characterRangeAtPoint:]): Ditto. + (-[WebFrame _typingStyle]): Ditto. + (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto. + (-[WebFrame _fontForSelection:]): Ditto. + (-[WebFrame _dragSourceMovedTo:]): Ditto. + (-[WebFrame _dragSourceEndedAt:operation:]): Ditto. + (-[WebFrame _getData:andResponse:forURL:]): Ditto. + (-[WebFrame _getAllResourceDatas:andResponses:]): Ditto. + (-[WebFrame _canProvideDocumentSource]): Ditto. + (-[WebFrame _canSaveAsWebArchive]): Ditto. + (-[WebFrame _receivedData:textEncodingName:]): Ditto. + (-[WebFrame _setShouldCreateRenderers:]): Put the code from the bridge in this preexisting + function. Couldn't just keep the bridge method because this was already here with the same name. + (-[WebFrame _selectedNSRange]): Ditto. + (-[WebFrame _selectNSRange:]): Ditto. + (-[WebFrame dealloc]): Remove bridge-related code. + (-[WebFrame finalize]): Ditto. + + * WebView/WebFrameInternal.h: Added all the method declarations from the bridge. + Removed the bridge parameter from the init method. Removed the #if blocks that + tried to make this header work in non-C++ ObjC files -- they were broken and unused. + Removed the _bridge method. + + * WebView/WebFrameView.mm: Removed the _bridge method. + + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation setDataSource:]): Removed the code to set up the bridge + field. + (-[WebHTMLRepresentation receivedData:withDataSource:]): Use WebFrame instead of bridge. + (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Ditto. + (-[WebHTMLRepresentation canProvideDocumentSource]): Ditto. + (-[WebHTMLRepresentation canSaveAsWebArchive]): Ditto. + (-[WebHTMLRepresentation documentSource]): Ditto. + (-[WebHTMLRepresentation DOMDocument]): Ditto. + (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto. + (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto. + (-[WebHTMLRepresentation elementIsPassword:]): Ditto. + (-[WebHTMLRepresentation formForElement:]): Ditto. + (-[WebHTMLRepresentation currentForm]): Ditto. + (-[WebHTMLRepresentation controlsInForm:]): Ditto. + (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto. + (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto. + + * WebView/WebHTMLRepresentationPrivate.h: Removed the _bridge method. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _documentFragmentWithPaths:]): Use WebFrame instead of bridge. + (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Ditto. + (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto. + (-[WebHTMLView _updateTextSizeMultiplier]): Ditto. + (-[WebHTMLView _frameOrBoundsChanged]): Ditto. + (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto. + (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto. + (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto. + (-[WebHTMLView drawSingleRect:]): Ditto. + (-[WebHTMLView draggedImage:movedTo:]): Ditto. + (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto. + (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto. + (-[WebHTMLView knowsPageRange:]): Ditto. + (-[WebHTMLView accessibilityAttributeValue:]): Ditto. + (-[WebHTMLView accessibilityFocusedUIElement]): Ditto. + (-[WebHTMLView accessibilityHitTest:]): Ditto. + (-[WebHTMLView _accessibilityParentForSubview:]): Ditto. + (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto. + (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto. + (-[WebHTMLView _changeSpellingToWord:]): Ditto. + (-[WebHTMLView startSpeaking:]): Ditto. + (-[WebHTMLView _updateFontPanel]): Ditto. + (-[WebHTMLView _canSmartCopyOrDelete]): Ditto. + (-[WebHTMLView _layoutIfNeeded]): Ditto. + (-[WebHTMLView characterIndexForPoint:]): Ditto. + (-[WebHTMLView firstRectForCharacterRange:]): Ditto. + (-[WebHTMLView selectedRange]): Ditto. + (-[WebHTMLView markedRange]): Ditto. + (-[WebHTMLView attributedSubstringFromRange:]): Ditto. + (-[WebHTMLView setMarkedText:selectedRange:]): Ditto. + (-[WebHTMLView insertText:]): Ditto. + (-[WebTextCompleteController _insertMatch:]): Ditto. + (-[WebTextCompleteController doCompletion]): Ditto. + (-[WebTextCompleteController endRevertingChange:moveLeft:]): Ditto. + (-[WebHTMLView string]): Ditto. + (-[WebHTMLView selectedString]): Ditto. + (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto. + (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto. + (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto. + (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto. + (-[WebHTMLView unmarkAllTextMatches]): Ditto. + (-[WebHTMLView rectsForTextMatches]): Ditto. + * WebView/WebRenderNode.mm: + (-[WebRenderNode initWithWebFrameView:]): Ditto. + * WebView/WebResource.mm: + (-[WebResource _stringValue]): Ditto. + + * WebView/WebScriptDebugDelegate.mm: Removed unneeded include. + + * WebView/WebView.mm: + (-[WebView _dashboardRegions]): Use WebFrame instead of bridge. + (-[WebView setProhibitsMainFrameScrolling:]): Ditto. + (-[WebView _setInViewSourceMode:]): Ditto. + (-[WebView _inViewSourceMode]): Ditto. + (-[WebView _executeCoreCommandByName:value:]): Ditto. + (-[WebView stringByEvaluatingJavaScriptFromString:]): Ditto. + (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto. + (-[WebView scrollDOMRangeToVisible:]): Ditto. + (-[WebView setSelectedDOMRange:affinity:]): Ditto. + (-[WebView setEditable:]): Ditto. + (-[WebView setTypingStyle:]): Ditto. + (-[WebView typingStyle]): Ditto. + (-[WebView replaceSelectionWithNode:]): Ditto. + (-[WebView replaceSelectionWithText:]): Ditto. + (-[WebView replaceSelectionWithMarkupString:]): Ditto. + (-[WebView replaceSelectionWithArchive:]): Ditto. + (-[WebView _insertNewlineInQuotedContent]): Ditto. + (-[WebView _replaceSelectionWithNode:matchStyle:]): Ditto. + +2008-03-12 David Hyatt <hyatt@apple.com> + + Make the zoom factor a float and not a percent. + + Reviewed by antti + + * WebView/WebView.mm: + (-[WebView _setZoomMultiplier:isTextOnly:]): + +2008-03-11 David Hyatt <hyatt@apple.com> + + This patch prepares Mac WebKit to handle two different zooming modes (full page zoom and text only zoom). + New API is added that is parallel to the text zoom public API. You can get/set a pageSizeMultiplier and you + can zoom the page in, out or reset it to the standard size. + + In the implementation only one zoom factor is stored, and setting one multiplier will shift you into that mode + and set the common zoom factor. In other words you can't combine text zoom and page zoom. One will always + win. + + Reviewed by Tim H. + + * WebCoreSupport/WebFrameBridge.mm: + (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]): + * WebView/WebDocumentInternal.h: + * WebView/WebHTMLView.mm: + (-[WebHTMLView viewDidMoveToSuperview]): + * WebView/WebPDFView.h: + * WebView/WebPDFView.mm: + (-[WebPDFView _zoomOut:]): + (-[WebPDFView _zoomIn:]): + (-[WebPDFView _resetZoom:]): + (-[WebPDFView _canZoomOut]): + (-[WebPDFView _canZoomIn]): + (-[WebPDFView _canResetZoom]): + * WebView/WebView.mm: + (-[WebViewPrivate init]): + (-[WebView setTextSizeMultiplier:]): + (-[WebView textSizeMultiplier]): + (-[WebView _setZoomMultiplier:isTextOnly:]): + (-[WebView _zoomMultiplier:]): + (-[WebView _realZoomMultiplier]): + (-[WebView _realZoomMultiplierIsTextOnly]): + (-[WebView _canZoomOut:]): + (-[WebView _canZoomIn:]): + (-[WebView _zoomOut:isTextOnly:]): + (-[WebView _zoomIn:isTextOnly:]): + (-[WebView _canResetZoom:]): + (-[WebView _resetZoom:isTextOnly:]): + (-[WebView canMakeTextSmaller]): + (-[WebView makeTextSmaller:]): + (-[WebView canMakeTextLarger]): + (-[WebView makeTextLarger:]): + (-[WebView canMakeTextStandardSize]): + (-[WebView makeTextStandardSize:]): + (-[WebView setPageSizeMultiplier:]): + (-[WebView pageSizeMultiplier]): + (-[WebView canZoomPageIn]): + (-[WebView zoomPageIn:]): + (-[WebView canZoomPageOut]): + (-[WebView zoomPageOut:]): + (-[WebView canResetPageZoom]): + (-[WebView resetPageZoom:]): + (-[WebView _searchWithSpotlightFromMenu:]): + * WebView/WebViewInternal.h: + * WebView/WebViewPrivate.h: + +2008-03-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler and Sam Weinig. + + - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Made WKGetCGFontFromNSFont and + WKGetNSFontATSUFontId Tiger-only. + +2008-03-12 Darin Adler <darin@apple.com> + + - fix http://bugs.webkit.org/show_bug.cgi?id=17794 + REGRESSION (r30980): 23 tests hanging on the Mac buildbot + + * WebView/WebFrame.mm: + (-[WebFrame _initWithWebFrameView:webView:bridge:]): Added missing call to set + up pointer from the bridge to the frame. (My next check-in removes the bridge + entirely, but we need this until then.) + +2008-03-11 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - remove all bridge-related things from WebCore except the bridge itself + + * DOM/WebDOMOperations.mm: + (-[DOMNode _bridge]): Reimplemented to not use the bridgeForDOMDocument: method. + + * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded include. + + * Plugins/WebPluginController.mm: Ditto. + + * WebCoreSupport/WebFrameBridge.h: Removed unneeded things, including the + init and close methods. Added a setWebFrame: method. + + * WebCoreSupport/WebFrameBridge.mm: + (-[WebFrameBridge setWebFrame:]): Added. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::frameLoaderDestroyed): Added an assertion. + (WebFrameLoaderClient::detachedFromParent4): Moved the call to close on the + bridge here. Soon we will be able to remove this entirely! + (WebFrameLoaderClient::createFrame): Rewrote this to use the method moved + into WebFrame from the bridge. + + * WebView/WebFrame.mm: + (-[WebFramePrivate dealloc]): Added code to release the bridge, because it's + now owned by the frame. + (-[WebFramePrivate finalize]): Added this missing method. We'd leak the script + debugger under GC without this! + (kit): Rewrote the function that maps from a WebCore::Frame to a WebFrame to + use WebFrameLoaderClient instead of the bridge. + (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Added. + This is code that used to live in the bridge's init function. + (+[WebFrame _createMainFrameWithPage:frameName:frameView:]): Ditto. + (+[WebFrame WebCore::_createSubframeWithOwnerElement:frameName:frameView:]): Ditto. + (-[WebFrame _initWithWebFrameView:webView:bridge:]): Retain the bridge, since + the WebView is now the bridge's owner. + (-[WebFrame _updateBackground]): Changed this one call site that was calling the + WebCore::Frame::bridge function directly to use the kit function instead. + (-[WebFrame dealloc]): Added code to clear the WebFrame pointer in the bridge. + This code won't last long -- we're eliminating the bridge soon. + (-[WebFrame finalize]): Ditto. + + * WebView/WebFrameInternal.h: Added a coreFrame backpointer and two new methods + for creating frames. + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:]): Rewrote this to use + the method moved into WebFrame from the bridge. Gets rid of the unpleasant idiom + where we have to allocate a WebFrameBridge and then immediately release it. + +2008-03-11 Darin Adler <darin@apple.com> + + Reviewed by Anders. + + - remove code depending on the bridge to get from an NSView to a WebCore::Frame + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::transitionToCommittedForNewPage): Remove incorrect call + to setView. A couple lines later, there is a call to _install, which sets the + view to the scroll view. + + * WebCoreSupport/WebViewFactory.mm: Removed bridgeForView method. + + * WebView/WebDynamicScrollBarsView.h: Moved most of the declarations out of + this file, since it's used by Safari. + * WebView/WebDynamicScrollBarsViewInternal.h: Added. + * WebView/WebDynamicScrollBarsView.m: + (-[WebDynamicScrollBarsView updateScrollers]): Ditto. + (-[WebDynamicScrollBarsView setAllowsScrolling:]): Ditto. + (-[WebDynamicScrollBarsView allowsScrolling]): Ditto. + (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): Ditto. + (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): Ditto. + (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): Ditto. + (-[WebDynamicScrollBarsView allowsVerticalScrolling]): Ditto. + (-[WebDynamicScrollBarsView horizontalScrollingMode]): Ditto. + (-[WebDynamicScrollBarsView verticalScrollingMode]): Ditto. + (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): Ditto. + (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): Ditto. + (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): Ditto. + (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): Ditto. + (-[WebDynamicScrollBarsView setScrollingMode:]): Ditto. + (-[WebDynamicScrollBarsView setScrollingMode:andLock:]): Ditto. + + * WebView/WebFrameView.mm: + (-[WebFrameView _web_frame]): Added. Replaces the webCoreBridge method. + + * WebView/WebView.mm: + (-[WebView setAlwaysShowVerticalScroller:]): Updated for changes to WebCoreFrameView.h. + (-[WebView alwaysShowVerticalScroller]): Ditto. + (-[WebView setAlwaysShowHorizontalScroller:]): Ditto. + (-[WebView alwaysShowHorizontalScroller]): Ditto. + +2008-03-11 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore + + * WebCoreSupport/WebChromeClient.h: Added new virtual functions that replace + bridge methods. + * WebCoreSupport/WebChromeClient.mm: Added lots of BEGIN_BLOCK_OBJC_EXCEPTIONS + to recently-created functions. + (WebChromeClient::firstResponder): Moved code here from the bridge. + (WebChromeClient::makeFirstResponder): Ditto. + (WebChromeClient::runOpenPanel): Ditto. + (WebChromeClient::willPopUpMenu): Ditto. + + * WebCoreSupport/WebFrameBridge.h: Removed almost everything. What's left + is related to creating the bridge and connecting it to WebCore, which will + go next when I eliminate use of the bridge to get to/from the Frame*. + * WebCoreSupport/WebFrameBridge.mm: + (-[WebFrameBridge close]): Moved the code to track the bridge count here + instead of the dealloc and finalize methods. + +2008-03-11 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - update code affected by Range changes + + * Misc/WebNSAttributedStringExtras.mm: + (+[NSAttributedString _web_attributedStringFromRange:]): Update for name changes. + * WebView/WebHTMLRepresentation.mm: + (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): + Use Range::create. + * WebView/WebHTMLView.mm: + (-[WebHTMLView attributedString]): Ditto. + +2008-03-10 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - eliminate keyboard UI mode method from WebCoreFrameBridge + + * WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function. + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::keyboardUIMode): Ditto. Calls WebView. + * WebCoreSupport/WebFrameBridge.h: Removed unused things, including the + fields for keyboard UI mode. + * WebCoreSupport/WebFrameBridge.mm: + (-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini + method. + (-[WebFrameBridge finalize]): Ditto. + * WebView/WebView.mm: Moved the keyboard mode code in here. + (-[WebView _close]): Remove observer from the distributed notification + center as well as the normal one. + (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved + here from the bridge. + (-[WebView _keyboardUIMode]): Ditto. + * WebView/WebViewInternal.h: Added _keyboardUIMode method. + +2008-03-10 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - eliminate Java applet methods from WebCoreFrameBridge + + * WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations. + * WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including + the ones that load Java applets. + * WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function. + * WebCoreSupport/WebFrameLoaderClient.mm: Ditto. + +2008-03-07 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Darin Adler. + + Done with Lars. + + Simplified WebViewFactory's refreshPlugins method to only refresh the + plugins and not reload the frames anymore since that's now done in a + platform independent manner by WebCore::Page. + + Also removed the now unused pluginNameForMIMEType and + pluginSupportsMIMEType methods. + + * WebCoreSupport/WebViewFactory.mm: + * WebView/WebFrame.mm: + * WebView/WebFrameInternal.h: + * WebView/WebView.mm: + +2008-03-08 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + Fix 64-bit build with GCC 4.2. + + * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required. + * DefaultDelegates/WebDefaultUIDelegate.m: Ditto. + * History/WebHistoryItem.mm: Ditto. + * Misc/WebElementDictionary.mm: Ditto. + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the + variable being unused in 64-bit. + * WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required. + * WebView/WebHTMLView.mm: + (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required. + (-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required. + +2008-03-08 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - eliminate custom highlight methods from WebCoreFrameBridge + + * WebCoreSupport/WebChromeClient.h: Added custom highlight functions. + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::customHighlightRect): Moved code here from bridge. + (WebChromeClient::paintCustomHighlight): Ditto. + * WebCoreSupport/WebFrameBridge.mm: Removed code here. + +2008-03-07 David D. Kilzer <ddkilzer@apple.com> + + Unify concept of enabling Netscape Plug-in API (NPAPI). + + Reviewed by Darin Adler. + + * WebKit.exp: Removed unused class export for WebBaseNetscapePluginView. + + * WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use + ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h. + + * Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef __LP64__ with + #if ENABLE(NETSCAPE_PLUGIN_API). + * Plugins/WebBaseNetscapePluginStream.mm: Ditto. + * Plugins/WebBaseNetscapePluginView.h: Ditto. + * Plugins/WebBaseNetscapePluginView.mm: Ditto. + * Plugins/WebBaseNetscapePluginViewInternal.h: Ditto. + * Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto. + * Plugins/WebBasePluginPackage.h: Ditto. + * Plugins/WebBasePluginPackage.m: Ditto. + (+[WebBasePluginPackage pluginWithPath:]): + * Plugins/WebNetscapeDeprecatedFunctions.c: Ditto. + * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto. + * Plugins/WebNetscapePluginEmbeddedView.h: Ditto. + * Plugins/WebNetscapePluginEmbeddedView.mm: Ditto. + * Plugins/WebNetscapePluginPackage.h: Ditto. + * Plugins/WebNetscapePluginPackage.m: Ditto. + * Plugins/WebNetscapePluginStream.h: Ditto. + * Plugins/WebNetscapePluginStream.mm: Ditto. + * Plugins/WebPluginDatabase.m: Ditto. + (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): + * Plugins/npapi.m: Ditto. + * WebCoreSupport/WebFrameLoaderClient.mm: Ditto. + (WebFrameLoaderClient::objectContentType): + (WebFrameLoaderClient::createPlugin): + * WebView/WebHTMLView.mm: Ditto. + (-[NSArray _web_makePluginViewsPerformSelector:withObject:]): + * WebView/WebHTMLViewInternal.h: Ditto. + + * WebView/WebFrame.mm: Replaced #ifndef __LP64__ with + #if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate) + category to (WebInternal) category so we don't expose the ENABLE() macro + from the private header. + (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): + (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): + * WebView/WebFrameInternal.h: Ditto. + * WebView/WebFramePrivate.h: Ditto. + +2008-03-07 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + <rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean + changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites + + * WebView/WebPreferences.m: + (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match + the one used in Safari. + +2008-03-07 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Fix WebKit build with GCC 4.2. + + * Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature. + +2008-03-07 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - eliminated WebCoreFrameBridge runOpenPanel + + * WebCoreSupport/WebChromeClient.h: Added runOpenPanel. + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::runOpenPanel): Added. + (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the + FileChooser so it can get a result from the UI delegate. + (-[WebOpenPanelResultListener dealloc]): Added. + (-[WebOpenPanelResultListener finalize]): Added. + (-[WebOpenPanelResultListener cancel]): Added. + (-[WebOpenPanelResultListener chooseFilename:]): Added. + +2008-03-06 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - fix regression test failures from the visited-link change + + * History/WebHistory.mm: + (+[WebHistory setOptionalSharedHistory:]): Call PageGroup::setShouldTrackVisitedLinks + to turn off visited links if there is no history object. Also call + removeAllVisitedLinks so we can start over from scratch with the new history. + +2008-03-06 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix a regression from r30741: a crash under + WebFrameLoaderClient::createPlugin() when showing a Mail message with + an attachment + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::createPlugin): + +2008-03-06 Darin Adler <darin@apple.com> + + - fix Tiger build + + * History/WebHistory.mm: Added include of WebTypesInternal.h. + +2008-03-06 Darin Adler <darin@apple.com> + + - fix Release build + + * History/WebHistory.mm: + (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore. + (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if. + (-[WebHistoryPrivate saveToURL:error:]): Ditto. + +2008-03-06 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - fix http://bugs.webkit.org/show_bug.cgi?id=17526 + REGRESSION: iframes are added to Safari's History menu + by separating the visited link machinery from global history + + * History/WebHistory.mm: Moved WebHistoryPrivate inside this file. + (-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this + method name, since it's on a private object. + (-[WebHistoryPrivate removeItemForURLString:]): Added a call to the + PageGroup::removeAllVisitedLinks function if the last URL was removed. + (-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this + method name, since it's on a private object. + (-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks. + (-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this + method name, since it's on a private object. + (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]): + Ditto. + (-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this + to correctly return the error by using the newer version of writeToURL: and + removed the FIXME about that. + (-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Added. Calls addVisitedLink + for every link in the history. + (-[WebHistory saveToURL:error:]): Removed the FIXME, since we do get the error now. + (-[WebHistory addItem:]): Moved into the WebPrivate category. + (-[WebHistory addItemForURL:]): Ditto. + (-[WebHistory _addItemForURL:title:]): Added. Used for the normal case where we + create an item and already know its title. + (-[WebHistory ageLimitDate]): Moved into the WebPrivate category. + (-[WebHistory containsItemForURLString:]): Ditto. + (-[WebHistory removeItem:]): Ditto. + (-[WebHistory setLastVisitedTimeInterval:forItem:]): Ditto. + (-[WebHistory _itemForURLString:]): Ditto. + (-[WebHistory _addVisitedLinksToPageGroup:]): Added. For use only inside WebKit. + + * History/WebHistoryInternal.h: Added. + * History/WebHistoryItemInternal.h: Tweaked formatting and includes. + * History/WebHistoryPrivate.h: Moved the WebHistoryPrivate class out of this header. + Also reorganized what was left behind. + + * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks. + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::populateVisitedLinks): Added a call to the new + -[WebHistory _addVisitedLinksToPageGroup:] method. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::updateGlobalHistory): Changed code to use the new + -[WebHistory _addItemForURL:title:] method. + +2008-03-05 Adam Roben <aroben@apple.com> + + Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm} + + Reviewed by Kevin M. + + * WebView/WebFrame.mm: + * WebView/WebScriptDebugDelegate.mm: + * WebView/WebScriptDebugger.h: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.h. + * WebView/WebScriptDebugger.mm: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.mm. + +2008-03-05 Adam Roben <aroben@apple.com> + + Rename WebCoreScriptDebuggerImp to WebScriptDebugger + + Reviewed by Kevin M. + + * WebView/WebCoreScriptDebuggerImp.h: + * WebView/WebCoreScriptDebuggerImp.mm: + * WebView/WebFrame.mm: + (-[WebFrame _attachScriptDebugger]): + * WebView/WebFrameInternal.h: + +2008-03-05 Adam Roben <aroben@apple.com> + + Remove WebScriptDebugger + + Uses of WebScriptDebugger have been replaced with + WebCoreScriptDebuggerImp. + + Reviewed by Kevin M. + + * WebView/WebFrame.mm: + (-[WebFramePrivate dealloc]): Use delete instead of release since + WebCoreScriptDebuggerImp is a C++ class. + (-[WebFrame _attachScriptDebugger]): Updated to use early returns and + WebCoreScriptDebuggerImp. + (-[WebFrame _detachScriptDebugger]): Ditto. + * WebView/WebFrameInternal.h: + * WebView/WebScriptDebugDelegate.mm: Removed WebScriptDebugger + * WebView/WebScriptDebugDelegatePrivate.h: Removed. + * WebView/WebView.mm: + +2008-03-05 Adam Roben <aroben@apple.com> + + Remove -webFrame and -globalObject from WebScriptDebugger + + WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger + + Reviewed by Kevin M. + + * WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger* + parameter to the constructor. + * WebView/WebCoreScriptDebuggerImp.mm: + (toWebFrame): Added. + (WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame. + (WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's + WindowScriptObject ourselves instead of asking WebScriptDebugger for + it. + (WebCoreScriptDebuggerImp::atStatement): Call toWebFrame. + (WebCoreScriptDebuggerImp::returnEvent): Ditto. + (WebCoreScriptDebuggerImp::exception): Ditto. + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptDebugger initWithWebFrame:]): Updated for change to + WebScriptDebuggerImp's constructor. + * WebView/WebScriptDebugDelegatePrivate.h: Removed + -webFrame/-globalObject. + +2008-03-05 Adam Roben <aroben@apple.com> + + Remove -enterFrame: and -leaveFrame from WebScriptDebugger + + Reviewed by Kevin M. + + * WebView/WebCoreScriptDebuggerImp.h: Changed to store m_topCallFrame + in a RetainPtr, now that WebCoreScriptDebuggerImp is in charge of its + lifetime. + * WebView/WebCoreScriptDebuggerImp.mm: + - Added declaration of -[WebScriptCallFrame + _initWithGlobalObject:caller:state:]. + - Changed most uses of m_topCallFrame to m_topCallFrame.get() + (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Removed + now-unnecessary initialization of m_topCallFrame. + (WebCoreScriptDebuggerImp::callEvent): Replaced call to enterFrame: + with its implementation. The one difference between this + implementation and the old enterFrame: method is that we don't hand + our reference to m_topCallFrame to _initWithGlobalObject: -- that + method must now retain the passed-in WebScriptCallFrame manually. + (WebCoreScriptDebuggerImp::atStatement): + (WebCoreScriptDebuggerImp::returnEvent): Replaced call to leaveFrame + with its implementation. + (WebCoreScriptDebuggerImp::exception): + * WebView/WebScriptDebugDelegate.mm: Removed declaration of + -[WebScriptCallFrame _initWithGlobalObject:caller:state:]. + (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Changed + to retain the passed-in caller. + * WebView/WebScriptDebugDelegatePrivate.h: + - Removed _current ivar + - Removed enterFrame:/leaveFrame declarations. + +2008-03-05 Adam Roben <aroben@apple.com> + + Remove -parsedSource: from WebScriptDebugger + + Reviewed by Kevin M. + + * WebView/WebCoreScriptDebuggerImp.mm: + (WebCoreScriptDebuggerImp::sourceParsed): Moved code here from + -[WebScriptDebugger parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:] + * WebView/WebScriptDebugDelegate.mm: Removed -parsedSource:. + * WebView/WebScriptDebugDelegatePrivate.h: Ditto. + +2008-03-05 Adam Roben <aroben@apple.com> + + Remove -enteredFrame:, -leavingFrame:, and -exceptionRaised: from WebScriptDebugger + + Reviewed by Kevin M. + + * WebView/WebCoreScriptDebuggerImp.mm: + (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Changed to call + trhough to callEvent instead of duplicating its code here. + (WebCoreScriptDebuggerImp::callEvent): Moved code from + -[WebScriptDebugger enteredFrame:sourceId:line:] here. + (WebCoreScriptDebuggerImp::returnEvent): Moved code from + -[WebScriptDebugger leavingFrame:sourceId:line:] here. + (WebCoreScriptDebuggerImp::exception): Moved code from + -[WebScriptDebugger exceptionRaised:sourceId:line:] here. + * WebView/WebScriptDebugDelegate.mm: Removed -enteredFrame:, + -leavingFrame:, and -exceptionRaised:. + * WebView/WebScriptDebugDelegatePrivate.h: Ditto. + +2008-03-05 Adam Roben <aroben@apple.com> + + Remove -[WebScriptDebugger hitStatement:sourceId:line:] + + Reviewed by Kevin M. + + * WebView/WebCoreScriptDebuggerImp.mm: + (WebCoreScriptDebuggerImp::atStatement): Moved code here from + -[WebScriptDebugger hitStatement:sourceId:line:]. + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptDebugger webFrame]): Added. + * WebView/WebScriptDebugDelegatePrivate.h: + +2008-03-05 Adam Roben <aroben@apple.com> + + Remove WebCoreScriptDebugger + + Reviewed by Kevin M. + + * WebView/WebCoreScriptDebugger.h: Removed. + * WebView/WebCoreScriptDebugger.mm: Removed. + * WebView/WebCoreScriptDebuggerImp.h: Replaced WebCoreScriptDebugger + with WebScriptDebugger. + * WebView/WebCoreScriptDebuggerImp.mm: Ditto, and replaced [m_debugger + delegate] with just m_debugger. + (toNSString): Moved here from WebCoreScriptDebugger.mm. + (toNSURL): Ditto. + (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): + (WebCoreScriptDebuggerImp::sourceParsed): + (WebCoreScriptDebuggerImp::callEvent): + (WebCoreScriptDebuggerImp::atStatement): + (WebCoreScriptDebuggerImp::returnEvent): + (WebCoreScriptDebuggerImp::exception): + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptDebugger initWithWebFrame:]): _debugger now holds a + WebCoreScriptDebuggerImp, so initialize it properly. + * WebView/WebScriptDebugDelegatePrivate.h: Changed _debugger to hold a + WebCoreScriptDebuggerImp. + +2008-03-05 Adam Roben <aroben@apple.com> + + Move WebCoreScriptDebuggerImp to its own source files + + Also changed WebCoreScriptDebuggerImp coding style to match our style + guidelines. + + Reviewed by Kevin M. + + * WebView/WebCoreScriptDebugger.h: Added declaration of toNSURL + function. + * WebView/WebCoreScriptDebugger.mm: Removed WebCoreScriptDebuggerImp + implementation. + (toNSURL): Made no longer static. + * WebView/WebCoreScriptDebuggerImp.h: Added. + * WebView/WebCoreScriptDebuggerImp.mm: Added. Code was moved here from + WebCoreScriptDebugger.mm and cleaned up. + (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): + (WebCoreScriptDebuggerImp::sourceParsed): + (WebCoreScriptDebuggerImp::callEvent): + (WebCoreScriptDebuggerImp::atStatement): + (WebCoreScriptDebuggerImp::returnEvent): + (WebCoreScriptDebuggerImp::exception): + +2008-03-05 Adam Roben <aroben@apple.com> + + Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDebugger + + Reviewed by Kevin M. + + * WebView/WebCoreScriptDebugger.h: + - Removed newFrameWithGlobalObject:caller:state: from + WebScriptDebugger protocol + - Added enterFrame: and leaveFrame: to WebScriptDebugger protocol + - Removed _current ivar from WebCoreScriptDebugger + * WebView/WebCoreScriptDebugger.mm: + (WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on + the delegate. + (WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame. + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptDebugger dealloc]): Added code to release _current. + (-[WebScriptDebugger enterFrame:]): Added. Code came from + WebCoreScriptDebugger. + (-[WebScriptDebugger leaveFrame]): Ditto. + * WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar. + +2008-03-05 Adam Roben <aroben@apple.com> + + Remove WebCoreScriptCallFrame + + Reviewed by Tim. + + * WebView/WebCoreScriptDebugger.h: + - Replaced WebCoreScriptCallFrame with WebScriptCallFrame + - Replaced -newWrapperForFrame: with + -newFrameWithGlobalObject:caller:state: + - Removed WebCoreScriptCallFrame interface. + * WebView/WebCoreScriptDebugger.mm: Replaced WebCoreScriptCallFrame + with WebScriptCallFrame. + (-[WebCoreScriptDebugger _enterFrame:]): Changed to call + -newFrameWithGlobalObject:caller:state. + (-[WebCoreScriptDebugger _leaveFrame]): + * WebView/WebScriptDebugDelegate.h: Changed WebScriptCallFrame's + _private ivar to be of type WebScriptCallFramePrivate*. + * WebView/WebScriptDebugDelegate.mm: + - Replaced WebCoreScriptCallFrame with WebScriptCallFrame + - Added WebScriptCallFramePrivate + (-[WebScriptDebugger enteredFrame:sourceId:line:]): + (-[WebScriptDebugger hitStatement:sourceId:line:]): + (-[WebScriptDebugger leavingFrame:sourceId:line:]): + (-[WebScriptDebugger exceptionRaised:sourceId:line:]): + (-[WebScriptCallFramePrivate dealloc]): Added. + (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Added. + Code came from WebCoreScriptCallFrame. + (-[WebScriptCallFrame dealloc]): Added a call to release the _private + ivar. + (-[WebScriptCallFrame _convertValueToObjcValue:]): Replaced calls to + _private with direct access of _private's ivars. + (-[WebScriptCallFrame caller]): Ditto. + (-[WebScriptCallFrame scopeChain]): Ditto. + (-[WebScriptCallFrame evaluateWebScript:]): Ditto. + +2008-03-05 Adam Roben <aroben@apple.com> + + Move -_convertValueToObjcValue to WebScriptCallFrame + + Reviewed by Darin Adler. + + * WebView/WebCoreScriptDebugger.h: Removed declaration of + -_convertValueToObjcValue. + * WebView/WebCoreScriptDebugger.mm: Removed -_convertValueToObjcValue. + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame _convertValueToObjcValue:]): Added. Code came + from -[WebCoreScriptCallFrame _convertValueToObjcValue]. + (-[WebScriptCallFrame scopeChain]): Changed to call + -_convertValueToObjcValue on self instead of _private. + (-[WebScriptCallFrame exception]): Ditto. + (-[WebScriptCallFrame evaluateWebScript:]): Ditto. + +2008-03-05 Adam Roben <aroben@apple.com> + + Move -exception and -evaluateWebScript: to WebScriptCallFrame + + Reviewed by Darin Adler. + + * WebView/WebCoreScriptDebugger.h: Removed declarations of -exception + and -evaluateWebScript:. + * WebView/WebCoreScriptDebugger.mm: Removed -exception and + -evaluateWebScript:. + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame exception]): Added. Code came from + -[WebCoreScriptCallFrame exception]. + (-[WebScriptCallFrame evaluateWebScript:]): Added. Code came from + -[WebCoreScriptCallFrame evaluateWebScript:]. + +2008-03-05 Adam Roben <aroben@apple.com> + + Move -scopeChain to WebScriptCallFrame + + Reviewed by Darin Adler. + + * WebView/WebCoreScriptDebugger.h: + - Added declarations of -globalObject and -_convertValueToObjcValue: + to WebCoreScriptCallFrame + - Removed declaration of -scopeChain. + * WebView/WebCoreScriptDebugger.mm: Moved -_convertValueToObjcValue + within the main WebCoreScriptCallFrame implementation. + (-[WebCoreScriptCallFrame globalObject]): Added. + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame scopeChain]): Added. Code came from + -[WebCoreScriptCallFrame scopeChain]. + +2008-03-05 Adam Roben <aroben@apple.com> + + Move -functionName from WebCoreScriptCallFrame to WebScriptCallFrame + + Reviewed by Darin Adler. + + * WebView/WebCoreScriptDebugger.h: + - Removed #else case of #ifdef __cplusplus since this file is only + ever used by C++ Objective-C files + - Removed 'using KJS::ExecState' statement since we prefer not to + have using statements in header files + - Consequently prefixed uses of ExecState with KJS:: + - Added declaration of toNSString method that takes a const + UString& + - Added declaration of -[WebCoreScriptCallFrame state] + - Removed declaration of -[WebCoreScriptCallFrame functionName] + * WebView/WebCoreScriptDebugger.mm: + (toNSString): Made this no longer static. + (-[WebCoreScriptCallFrame state]): Added. + * WebView/WebScriptDebugDelegate.mm: + (-[WebScriptCallFrame functionName]): Added. Code came from + -[WebCoreScriptCallFrame functionName], though I changed some nested + ifs into early returns. + +2008-03-05 Adam Roben <aroben@apple.com> + + Move WebCoreScriptDebugger to WebKit + + Reviewed by Darin Adler. + + * WebView/WebCoreScriptDebugger.h: Renamed from WebCore/page/mac/WebCoreScriptDebugger.h. + * WebView/WebCoreScriptDebugger.mm: Renamed from WebCore/page/mac/WebCoreScriptDebugger.mm. + (toNSString): + (toNSURL): + (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): + (WebCoreScriptDebuggerImp::sourceParsed): + (WebCoreScriptDebuggerImp::callEvent): + (WebCoreScriptDebuggerImp::atStatement): + (WebCoreScriptDebuggerImp::returnEvent): + (WebCoreScriptDebuggerImp::exception): + (+[WebCoreScriptDebugger initialize]): + (-[WebCoreScriptDebugger initWithDelegate:]): + (-[WebCoreScriptDebugger dealloc]): + (-[WebCoreScriptDebugger finalize]): + (-[WebCoreScriptDebugger delegate]): + (-[WebCoreScriptDebugger _enterFrame:]): + (-[WebCoreScriptDebugger _leaveFrame]): + (-[WebCoreScriptCallFrame _initWithGlobalObject:caller:state:]): + (-[WebCoreScriptCallFrame _setWrapper:]): + (-[WebCoreScriptCallFrame _convertValueToObjcValue:]): + (-[WebCoreScriptCallFrame dealloc]): + (-[WebCoreScriptCallFrame wrapper]): + (-[WebCoreScriptCallFrame caller]): + (-[WebCoreScriptCallFrame scopeChain]): + (-[WebCoreScriptCallFrame functionName]): + (-[WebCoreScriptCallFrame exception]): + (-[WebCoreScriptCallFrame evaluateWebScript:]): + * WebView/WebScriptDebugDelegate.mm: Updated header path. + * WebView/WebScriptDebugDelegatePrivate.h: Ditto. + +2008-03-05 Anders Carlsson <andersca@apple.com> + + Reviewed by Geoff. + + Include file changes. + + * Plugins/WebBaseNetscapePluginView.mm: + * Plugins/WebNetscapePluginPackage.m: + +2008-03-04 Timothy Hatcher <timothy@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5720160> Browser windows "do nothing" while modal + dialog or menu is up due to run loop modes (or while scrolling) + + Add new API that lets a WebView be scheduled with multiple runloops and modes. + This lets loading continue when in a nested runloop or in a different mode. + + * Misc/WebKitVersionChecks.h: Add a new version define: + WEBKIT_FIRST_VERSION_WITH_LOADING_DURING_COMMON_RUNLOOP_MODES. + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:]): Schedule in the main runloop and with + the default runloop mode if we are linked on an earlier WebKit version, use common modes otherwise. + (-[WebView scheduleInRunLoop:forMode:]): New API, that calls through to Page. + (-[WebView unscheduleFromRunLoop:forMode:]): Ditto. + * WebView/WebViewPrivate.h: Add the new pending API methods. + +2008-03-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Fix crash that happens when trying to load a page with a Java applet. + + * WebCoreSupport/WebFrameLoaderClient.mm: + Don't release the names and values array - the kit method returns an autoreleased array. + +2008-03-04 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - fix 200+ failing regression tests + - fix http://bugs.webkit.org/show_bug.cgi?id=17668 + Vertical scrollbar at slashdot.org is randomly not shown + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::transitionToCommittedForNewPage): Changed the refcounting + code here to exactly match the way it was before it was moved from WebCore. I had + introduced a storage leak and that was causing problems with scroll bars! + +2008-03-04 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - remove WebCoreFrameBridge reapplyStyles method + + * WebView/WebHTMLView.mm: + (-[WebHTMLView reapplyStyles]): Moved code to reapply styles here from the bridge. + +2008-03-04 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - eliminate WebCoreFrameBridge createFrameViewWithNSView + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::transitionToCommittedForNewPage): + Moved code here from createFrameViewWithNSView. + +2008-03-04 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - removed WebCoreFrameBridge scrollOverflowInDirection + + * WebView/WebFrameView.mm: + (-[WebFrameView _scrollOverflowInDirection:granularity:]): Changed to call + EventHandler directly instead of using the bridge. + (-[WebFrameView scrollToBeginningOfDocument:]): Updated to use WebCore enums instead + of the ones from the bridge. + (-[WebFrameView scrollToEndOfDocument:]): Ditto. + (-[WebFrameView _pageVertically:]): Ditto. + (-[WebFrameView _pageHorizontally:]): Ditto. + (-[WebFrameView _scrollLineVertically:]): Ditto. + (-[WebFrameView _scrollLineHorizontally:]): Ditto. + +2008-03-04 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - remove WebCoreFrameBridge installInFrame: method + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::transitionToCommittedForNewPage): Call + -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:]. + * WebView/WebFrameView.mm: + (-[WebFrameView _install]): Added. Has code from -[WebCoreFrameBridge installInFrame:]. + (-[WebFrameView _setCustomScrollViewClass:]): Used early return idiom so the entire + method isn't nested inside an if statement. Call + -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:]. + * WebView/WebFrameViewInternal.h: Added declaration of _install method so it can be + used in WebFrameLoaderClient.mm. + +2008-03-04 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - remove WebCoreFrameBridge window method + + * WebCoreSupport/WebFrameBridge.mm: Removed window method. + +2008-03-04 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - move code from WebFrameBridge into WebFrameLoaderClient + + * WebCoreSupport/WebFrameBridge.h: Removed unused fields, changed frame name parameters + to use WebCore::String instead of NSString, add initSubframeWithOwnerElement declaration, + removed viewForPluginWithFrame, viewForJavaAppletWithFrame, createChildFrameNamed, + redirectDataToPlugin, determineObjectFromMIMEType, and windowObjectCleared methods. + * WebCoreSupport/WebFrameBridge.mm: + (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]): + Changed to use WebCore::String. + (-[WebFrameBridge initMainFrameWithPage:frameName:WebCore::frameView:]): Ditto. + (-[WebFrameBridge initSubframeWithOwnerElement:frameName:WebCore::frameView:]): Ditto. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::setOriginalURLForDownload): Removed some dead code I found here + and added a FIXME. + (WebFrameLoaderClient::createFrame): Moved the code from WebFrameBridge here. + (WebFrameLoaderClient::objectContentType): Ditto. + (parameterValue): Added. Helper function, based on code originally in WebFrameBridge. + (pluginView): Ditto. + (WebFrameLoaderClient::createPlugin): Moved the code from WebFrameBridge here. + +2008-03-04 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - remove -[WebCoreFrameBridge dashboardRegionsChanged:] + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::dashboardRegionsChanged): Moved code here from the bridge. + The WebCore side now calls this only when there's an actual change. + * WebCoreSupport/WebFrameBridge.h: Removed lastDashboardRegions. + * WebCoreSupport/WebFrameBridge.mm: + (-[WebFrameBridge dealloc]): Removed code to release lastDashboardRegions. + Removed _compareDashboardRegions: and dashboardRegionsChanged: methods. + +2008-03-04 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - remove WebCoreFrameBridge issuePasteComand method + + * WebCoreSupport/WebFrameBridge.mm: Removed issuePasteCommand method. + * WebView/WebHTMLViewInternal.h: Removed declaration of paste: method. + +2008-03-03 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - some "cleanup" on the path to removing WebCoreFrameBridge + + * Storage/WebDatabaseManager.mm: Tweak includes. + * Storage/WebDatabaseTrackerClient.mm: Ditto. + * Storage/WebSecurityOrigin.mm: Ditto. + * Storage/WebSecurityOriginInternal.h: Ditto. + + * WebView/WebFrame.mm: + (core): Changed to get rid of the requirement that WebKitEditableLinkBehavior exactly + match WebCore::EditableLinkBehavior. + * WebView/WebFrameInternal.h: Removed unused kit function. + + * WebView/WebHTMLView.mm: Moved WebHTMLViewPrivate class in here. + * WebView/WebHTMLViewInternal.h: Moved WebHTMLVewPrivate class out of here. + * WebView/WebHTMLViewPrivate.h: Tweaked formatting and removed some unneeded declarations. + + * WebView/WebPreferencesPrivate.h: Removed a no-longer-needed comment. + +2008-03-01 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Update Xcode configuration to support building debug and release from the mysterious future. + + * Configurations/DebugRelease.xcconfig: + +2008-02-29 Mark Rowe <mrowe@apple.com> + + Reviewed by Anders Carlsson. + + Replace use of WKPathFromFont with implementation in terms of public API. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Remove unused symbol. + +2008-02-29 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Fix spelling of "request" in name of WKNSURLProtocolClassForRequest. + + * Misc/WebNSURLExtras.mm: + (-[NSURL _webkit_canonicalize]): + * WebKit.order: + +2008-02-29 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + +2008-02-29 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Remove obsolete code that had been left intact to support users running WebKit with older versions of Safari. + + * Misc/WebNSViewExtras.m: Remove _web_superviewOfClass:stoppingAtClass:. + * Misc/WebNSWindowExtras.m: Remove _webkit_displayThrottledWindows. + * Misc/WebSearchableTextView.m: Remove selectionImageForcingWhiteText:. + * WebCoreSupport/WebImageRendererFactory.m: Update comment to mention the last version of Safari that + requires this class. + * WebInspector/WebInspector.mm: Remove sharedWebInspector and update comments to mention the last version + of Safari that calls other obsolete methods. + * WebView/WebDocumentPrivate.h: Remove selectionImageForcingWhiteText:. + * WebView/WebHTMLView.mm: Ditto. + * WebView/WebPDFView.mm: Ditto. + * WebView/WebView.mm: Update comment to mentoin the last version of Safari that requires the obsolete method. + +2008-02-29 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Eric Seidel. + + Remove unneeded includes of WebKitSystemInterface.h. + + * History/WebHistoryItem.mm: + * Misc/WebNSViewExtras.m: + * WebCoreSupport/WebFrameLoaderClient.mm: + * WebView/WebDataSource.mm: + * WebView/WebPDFView.mm: + +2008-02-29 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt and Oliver Hunt. + + <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Remove unused symbol. + * WebKit.order: Ditto. + +2008-02-28 Mark Rowe <mrowe@apple.com> + + Reviewed by Dave Hyatt. + + Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Only initialize wkGetFontMetrics on Tiger. + +2008-02-27 Brady Eidson <beidson@apple.com> + + Reviewed by Mark Rowe (code) and Darin (concept) + + Much better fix for <rdar://problem/4930688> (see r19549) + Original fix for <rdar://problem/3947312> (and 14 dupes) + + Let me tell you a story: + A long time ago, in a cvs repository far, far away, loader code was almost all up in WebKit. + WebArchive code was intertwined with that code in bizarre and complex ways. + During the months long loader re-factoring where we pushed much loader code down into WebCore, + many portions of the WebKit loader were thinned out until they ceased to exist. Others remained + with a sole purpose. + + One such section of code whose lineage traces back from WebFrameLoaderClient to WebFrameLoader + to WebLoader was originally rooted in the method [WebLoader loadRequest:]. This method was the + single entry point for almost all loading (network or web archives) + + This method would check various headers and other fields on the NSURLRequest and NSURLResponse + to make decisions about the load. If the cache control fields were expired or other conditions + in the headers were met, the load would be forced to go out to the network. + + As the loader was moved and tweaked repeatedly, most of this code was pruned or re-factored. + At some point, all that remained was the special cases for loading WebArchives. + + Somewhere in the r16,000s, this remaining responsibility was noticed and related methods we renamed + to be WebArchive specific, further cementing the assumed design. + + Problem is, the design was bad. A WebArchive is meant to be a static snapshot of a WebPage at a + specific point in time. Referring to the request to see if the resource should be reloaded seems + nonsensical, as does referring to the response headers to see if the resource is "expired". In the + context of loading a WebArchive, available data should *always* be loaded from the WebArchive, at least + during the initial load! + + After discovering the secret to reproducing all of these bugs is both emptying our your Foundation + cache and disconnecting your network, it was easy to reproduce the 16 individually reported cases + that were all symptoms of this bug, and easy to verify that they are fixed with this patch. + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::willUseArchive): Do not call either form of "canUseArchivedResource()" that + inspect the request or response objects - We are loading from a WebArchive, and we should never + make the decision to go out to the network when we actually have the resource available. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): Remove two methods that are no longer used anywhere in WebKit + +2008-02-27 Matt Lilek <webkit@mattlilek.com> + + Reviewed by Adam Roben. + + Bug 14348: Messing up the inspector by dragging an URL into it + http://bugs.webkit.org/show_bug.cgi?id=14348 + <rdar://problem/5283620> and <rdar://problem/5712808> + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController init]): Remove duplicate preference setting. + (-[WebInspectorWindowController webView:dragDestinationActionMaskForDraggingInfo:]): + +2008-02-25 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + * WebView/WebArchiver.mm: + (+[WebArchiver archiveSelectionInFrame:]): Use blankURL. + * WebView/WebFrame.mm: + (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Avoid the + variable name URL to avoid clashing with the renamed KURL in the future. Also use + blankURL. + (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Ditto. + (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]): Ditto. + (-[WebFrame loadHTMLString:baseURL:]): Ditto. + (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto. + +2008-02-24 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - remove separate client calls for "standard" and "reload' history + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::updateGlobalHistory): + +2008-02-23 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + Move basic threading support from WebCore to WTF. + + * ForwardingHeaders/wtf/Threading.h: Added. + * ForwardingHeaders/wtf/Locker.h: Added. + +2008-02-23 David Kilzer <ddkilzer@apple.com> + + Please clarify licensing for some files + <http://bugs.webkit.org/show_bug.cgi?id=14970> + + Reviewed by Darin Adler. + + * Plugins/WebNetscapeDeprecatedFunctions.c: Updated copyright statement + and added Apple BSD-style license. + * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto. + +2008-02-22 John Sullivan <sullivan@apple.com> + + Reviewed by Adam Roben + + Reverted the changed from yesterday to add pasteAndMatchStyle:, as the existing + pasteAsPlainText: has the same behavior. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): + (-[WebHTMLView readSelectionFromPasteboard:]): + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): + (-[WebHTMLView pasteAsRichText:]): + (-[WebHTMLView paste:]): + * WebView/WebView.mm: + * WebView/WebViewPrivate.h: + +2008-02-21 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam. + + Use BackForwardList::create instead. + + * History/WebBackForwardList.mm: + (-[WebBackForwardList init]): + +2008-02-21 John Sullivan <sullivan@apple.com> + + Reviewed by Jessica Kahn + + support for pasteAndMatchStyle: command (see <rdar://problem/5723952>) + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _pasteWithPasteboard:allowPlainText:matchStyle:]): + added matchStyle parameter, passed along to bridge (formerly always passed NO to bridge) + (-[WebHTMLView readSelectionFromPasteboard:]): + pass NO for new matchStyle parameter to match old behavior + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): + validate pasteAndMatchStyle the same way as pasteAsRichText + (-[WebHTMLView pasteAndMatchStyle:]): + just like pasteAsRichText but passes YES for matchStyle + (-[WebHTMLView pasteAsRichText:]): + pass NO for new matchStyle parameter to match old behavior + (-[WebHTMLView paste:]): + ditto + + * WebView/WebView.mm: + added macro(pasteAndMatchStyle) + + * WebView/WebViewPrivate.h: + added pasteAndMatchStyle: to WebViewEditingActionsPendingPublic category + +2008-02-20 Sam Weinig <sam@webkit.org> + + Reviewed by Darin and Geoff. + + - WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Added a call to Settings::setNeedsSiteSpecificQuirks. + There are currently no site-specific quirks on Mac, but we will propagate the state + to WebCore to avoid possible mistakes later. + +2008-02-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Move back WebKit methods that were unused in WebCore. + + * Misc/WebNSURLExtras.mm: + (+[NSURL _web_URLWithData:]): + (+[NSURL _web_URLWithData:relativeToURL:]): + (-[NSURL _web_originalData]): + (-[NSURL _web_originalDataAsString]): + (-[NSURL _web_isEmpty]): + (-[NSURL _webkit_canonicalize]): + (-[NSURL _webkit_URLByRemovingComponent:]): + (-[NSURL _webkit_URLByRemovingFragment]): + (-[NSURL _webkit_URLByRemovingResourceSpecifier]): + (-[NSURL _webkit_isFileURL]): + (-[NSString _webkit_isFileURL]): + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::setTitle): + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + +2008-02-18 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + * Misc/WebNSAttributedStringExtras.mm: + (+[NSAttributedString _web_attributedStringFromRange:]): Eliminate use of + DeprecatedString. + +2008-02-17 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=17365 + document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR + + * MigrateHeaders.make: Migrate DOMProgressEvent.h and DOMTextPrivate.h which were + mistakenly not migrated. + +2008-02-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360 + <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html + + * WebView/WebDataSource.mm: + (+[WebDataSource _representationClassForMIMEType:]): + (-[WebDataSource _responseMIMEType]): + (-[WebDataSource subresources]): + (-[WebDataSource subresourceForURL:]): + * WebView/WebResource.mm: + (-[WebResource _initWithData:URL:response:]): + * WebView/WebResourcePrivate.h: + +2008-02-15 Adam Roben <aroben@apple.com> + + Make WebKit's FEATURE_DEFINES match WebCore's + + Reviewed by Mark. + + * Configurations/WebKit.xcconfig: + +2008-02-14 Darin Adler <darin@apple.com> + + Reviewed by Eric Seidel. + + - updated for WebCore KURL changes + + * History/WebHistoryItem.mm: + (-[WebHistoryItem URL]): Removed getNSURL call. + * Misc/WebElementDictionary.mm: + (-[WebElementDictionary _absoluteImageURL]): Ditto. + (-[WebElementDictionary _absoluteLinkURL]): Ditto. + * Misc/WebNSAttributedStringExtras.mm: + (fileWrapperForElement): Ditto. + (+[NSAttributedString _web_attributedStringFromRange:]): Ditto. + * Misc/WebNSURLExtras.mm: + (-[NSString _webkit_stringByReplacingValidPercentEscapes]): Updated + for function name change. + * WebCoreSupport/WebContextMenuClient.mm: + (WebContextMenuClient::downloadURL): Removed getNSURL call. + * WebCoreSupport/WebDragClient.mm: + (WebDragClient::createDragImageForLink): Ditto. + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchWillPerformClientRedirect): Ditto. + (WebFrameLoaderClient::startDownload): Ditto. + (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad): Ditto. + (WebFrameLoaderClient::updateGlobalHistoryForReload): Ditto. + (WebFrameLoaderClient::cancelledError): Ditto. + (WebFrameLoaderClient::blockedError): Ditto. + (WebFrameLoaderClient::cannotShowURLError): Ditto. + (WebFrameLoaderClient::interruptForPolicyChangeError): Ditto. + (WebFrameLoaderClient::cannotShowMIMETypeError): Ditto. + (WebFrameLoaderClient::fileDoesNotExistError): Ditto. + (WebFrameLoaderClient::willUseArchive): Ditto. + (WebFrameLoaderClient::setTitle): Ditto. + (WebFrameLoaderClient::actionDictionary): Ditto. + (WebFrameLoaderClient::createFrame): Ditto. + (WebFrameLoaderClient::objectContentType): Ditto. + (WebFrameLoaderClient::createPlugin): Ditto. + (WebFrameLoaderClient::createJavaAppletWidget): Ditto. + * WebView/WebDataSource.mm: + (-[WebDataSource _URL]): Ditto. + (-[WebDataSource _initWithDocumentLoader:]): Ditto. + (-[WebDataSource unreachableURL]): Ditto. + * WebView/WebHTMLView.mm: + (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto. + +2008-02-14 Stephanie Lewis <slewis@apple.com> + + Reviewed by Geoff. + + Update order files. + + * WebKit.order: + +2008-02-14 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Adam Roben. + + http://bugs.webkit.org/show_bug.cgi?id=17207 + Database example doesn't work (requires not-yet-released Safari) + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage + if it's too old. + +2008-02-11 Darin Adler <darin@apple.com> + + - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders + incorrectly due to visibility fix + + Removed the Xcode-specific quirk at the request of some folks on the Xcode team. + + * Misc/WebKitVersionChecks.h: Removed the constant. + + * WebView/WebView.mm: + (-[WebView _needsXcodeVisibilityQuirk]): Removed. + (-[WebView _preferencesChangedNotification:]): Removed call to + setNeedsXcodeVisibilityQuirk. + +2008-02-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Mitz. + + * WebCoreSupport/WebFrameBridge.mm: + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory imageTitleForFilename:size:]): + Move implementation from WebFrameBridge to WebViewFactory. + +2008-02-11 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - fix <rdar://problem/5726016> REGRESSION: Xcode News window renders + incorrectly due to visibility fix + + Added an Xcode-specific quirk. + + * Misc/WebKitVersionChecks.h: Added a constant for the "linked on or after" + part of the check. + + * WebView/WebView.mm: + (-[WebView _needsXcodeVisibilityQuirk]): Added. + (-[WebView _preferencesChangedNotification:]): Added a call to + setNeedsXcodeVisibilityQuirk based on _needsXcodeVisibilityQuirk. + +2008-02-10 Darin Adler <darin@apple.com> + + - fix http://bugs.webkit.org/show_bug.cgi?id=17274 + REGRESSION: User Agent string broken in r30119 + + * WebView/WebView.mm: + (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): + Fix wrong variable name. Doh! + +2008-02-09 Darin Adler <darin@apple.com> + + Reviewed by Tim Hatcher. + + - fix <rdar://problem/5725996> crash every time you open the Xcode documentation window + + * WebView/WebView.mm: + (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Work around a bug in the + garbage collector's Objective C++ support by not initializing a static to an object + that needs to be marked when running under GC. + +2008-02-05 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - WebKit part of <rdar://problem/5724303> Should implement writing direction shortcuts + + The key bindings are Command-Control-left arrow and + Command-Control-right arrow. To match AppKit, the bindings are enabled + only when certain user defaults are set. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): + (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call + Frame::baseWritingDirectionForSelectionStart() and + Editor::setBaseWritingDirection() directly. + (-[WebHTMLView changeBaseWritingDirection:]): Ditto. + (writingDirectionKeyBindingsEnabled): Added. + (-[WebHTMLView _changeBaseWritingDirectionTo:]): Added this helper + method. + (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Added. + (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Added. + * WebView/WebView.mm: + +2008-02-05 Mark Rowe <mrowe@apple.com> + + Unreviewed build fix. + + * WebView/WebView.mm: Add missing #import. + +2008-02-05 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Update versioning to support the mysterious future. + + * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060. + +2008-01-30 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Brought + this back, it's used by Mail. + (-[WebHTMLView _canSmartReplaceWithPasteboard:]): This WebInternal method is + also used by Mail. Moved to WebPrivate. + * WebView/WebHTMLViewPrivate.h: Expose two methods that Mail uses here, so that we don't + accidently remove them in the future. + +2008-01-30 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Move off deprecated NSTableView methods. + + * WebView/WebHTMLView.mm: + (-[WebTextCompleteController _buildUI]): Switch from -setDrawsGrid: to -setGridStyleMask:. + (-[WebTextCompleteController _placePopupWindow:]): Switch from -selectRow:byExtendingSelection: to -selectRowIndexes:byExtendingSelection:. + (-[WebTextCompleteController filterKeyDown:]): Ditto. + +2008-01-26 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + Fix leaks seen after loading <http://www.funnyordie.com/videos/d70b5a11cb>. + + * Misc/WebNSDataExtras.m: + (-[NSString _web_capitalizeRFC822HeaderFieldName]): Transfer ownerhip of the allocated buffers + to the new CFString so that they will be freed when no longer needed. + +2008-01-26 Greg Bolsinga <bolsinga@apple.com> + + <rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit + + Reviewed by Darin Adler. + + * WebCoreSupport/WebDashboardRegion.h: Removed. + * WebView/WebView.mm: Updated #import to use copy of WebDashboardRegion.h from WebCore. + +2008-01-21 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases + - add a missing export of WebDatabaseExpectedSizeKey + - implement deleteOrigin: and remove deleteDatabasesWithOrigin: + + * Storage/WebDatabaseManager.mm: + (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Updated to check for a null + name instead of calling isValid(). + (-[WebDatabaseManager deleteOrigin:]): Implemented. + (WebKitInitializeDatabasesIfNecessary): Updated for name change. + + * Storage/WebDatabaseManagerPrivate.h: Removed deleteDatabasesWithOrigin:. + + * WebCoreSupport/WebChromeClient.h: Updated for changes to ChromeClient. + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::exceededDatabaseQuota): Replaced the two different client functions + we had before with a single one. + + * WebKit.exp: Added missing export for WebDatabaseExpectedSizeKey. + + * WebView/WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey. + * WebView/WebPreferences.m: + (+[WebPreferences initialize]): Removed the default for WebKitDefaultDatabaseQuotaKey. + * WebView/WebPreferencesPrivate.h: Removed defaultDatabaseQuota and + setDefaultDatabaseQuota:. + + * WebView/WebUIDelegatePrivate.h: Replaced the two different database quota delegate + methods we had before with a single one. + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Removed the code to set the + default database origin quota in WebCore::Settings based on WebPreferences. + + * WebView/WebViewInternal.h: Removed delegate method dispatch functions for unusual + types of parameters that the database UI delegate methods had before. + +2008-01-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + Remove code bracketed by REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM as we are no longer + interested in supporting Safari 2 with TOT WebKit. + + * WebView/WebView.mm: + (+[WebView initialize]): + +2008-01-17 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + <rdar://problem/5693558> REGRESSION (r29581): no form field focus rings + and inactive text selection after loading a page + Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance + + The problem was other frames were changing the FocusController's active + status to false after the first responder frame set it to true. The last + frame to call _updateActiveState would win. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _updateActiveState]): Only call page->focusController()->setActive() + if the first responder is the current WebHTMLView or the WebFrameView. + (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Removed, inlined code in _updateActiveState. + +2008-01-18 Adam Roben <aroben@apple.com> + + Rename _updateActiveState to _updateFocusedAndActiveState + + Also renamed any related methods/members similarly. + + Reviewed by Adele. + + * WebView/WebHTMLView.mm: + (-[WebHTMLViewPrivate dealloc]): + (-[WebHTMLView _cancelUpdateFocusedAndActiveStateTimer]): + (-[WebHTMLView close]): + (_updateFocusedAndActiveStateTimerCallback): + (-[WebHTMLView viewWillMoveToWindow:]): + (-[WebHTMLView viewDidMoveToWindow]): + (-[WebHTMLView windowDidBecomeKey:]): + (-[WebHTMLView windowDidResignKey:]): + (-[WebHTMLView becomeFirstResponder]): + (-[WebHTMLView resignFirstResponder]): + * WebView/WebHTMLViewInternal.h: + * WebView/WebHTMLViewPrivate.h: + +2008-01-17 John Sullivan <sullivan@apple.com> + + Reviewed by Darin + + - fixed <rdar://problem/5692068> -1 WebFrameView world leaks reported after closing view source window + + * WebView/WebFrameView.mm: + (-[WebFrameView initWithCoder:]): + override to bump the global WebFrameView count + +2008-01-16 Adam Roben <aroben@apple.com> + + Updated for renames/removal of WebCore methods. + + Reviewed by Darin Adler. + + * Plugins/WebPluginController.mm: + (-[WebPluginController webPlugInContainerSelectionColor]): Changed to + ask isFocusedAndActive directly, instead of going through the frame + bridge. + * WebView/WebHTMLView.mm: + (-[WebHTMLView _updateActiveState]): Updated for method renames. + +2008-01-16 John Sullivan <sullivan@apple.com> + + Reviewed by Adam and Dan + + - cleaned up some existing logging + + * WebView/WebHTMLView.mm: + (-[WebHTMLView setNeedsDisplay:]): + add method name to log, use "YES" and "NO" instead of (int)flag + (-[WebHTMLView setNeedsLayout:]): + ditto + (-[WebHTMLView setNeedsToApplyStyles:]): + ditto + +2008-01-15 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Andre Boule. + + Fixed <rdar://problem/5667627> [WebCache empty] implementation should + not disable/enable the cache + + Toggle the cache model instead -- toggling disable/enable just causes + the cache to forget about resources, not reclaim their memory. + + * Misc/WebCache.mm: + (+[WebCache empty]): + * WebView/WebView.mm: + * WebView/WebViewInternal.h: + +2008-01-15 Adele Peterson <adele@apple.com> + + Reviewed by Adam and Antti. + + WebKit part of fix for <rdar://problem/5619062> Add load progress indicator to video controls + + * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): + Removed initialization for GetMediaControlBackgroundImageData. Added initialization for DrawMediaSliderTrack. + +2008-01-10 Geoffrey Garen <ggaren@apple.com> + + Reviewed by John Sullivan. + + Fixed some world leak reports: + * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript + Interpreter after running cvs-base suite + + * <rdar://problem/5669423> PLT complains about world leak if browser + window is open when PLT starts + + These were both bugs in the reporting mechanism, so I took the + opportunity to do some house cleaning there. + + * Misc/WebCoreStatistics.h: Did a little renaming, to match + JavaScriptCore better. I kept the methods with the old names around, + though, because old versions of Safari need them. + + * Misc/WebCoreStatistics.mm: Removed dependence on + WebCore::JavaScriptStatistics, which is gone now. + + These two methods are now distinct, for the sake of world leak reporting: + (+[WebCoreStatistics javaScriptGlobalObjectsCount]): + (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): + +2008-01-10 Maciej Stachowiak <mjs@apple.com> + + Not reviewed. Build fix. + + - Attempt to fix mac build. + + * Storage/WebDatabaseManager.mm: + +2008-01-10 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Sam. + + - remove SecurityOriginData and fold its functionality into SecurityOrigin + + * Storage/WebDatabaseManager.mm: + (-[WebDatabaseManager origins]): + (-[WebDatabaseManager databasesWithOrigin:]): + (-[WebDatabaseManager detailsForDatabase:withOrigin:]): + (-[WebDatabaseManager deleteDatabasesWithOrigin:]): + (-[WebDatabaseManager deleteDatabase:withOrigin:]): + * Storage/WebDatabaseTrackerClient.h: + * Storage/WebDatabaseTrackerClient.mm: + (WebDatabaseTrackerClient::dispatchDidModifyOrigin): + (WebDatabaseTrackerClient::dispatchDidModifyDatabase): + * Storage/WebSecurityOrigin.mm: + (-[WebSecurityOrigin initWithProtocol:domain:port:]): + (-[WebSecurityOrigin protocol]): + (-[WebSecurityOrigin domain]): + (-[WebSecurityOrigin port]): + (-[WebSecurityOrigin usage]): + (-[WebSecurityOrigin quota]): + (-[WebSecurityOrigin setQuota:]): + (-[WebSecurityOrigin isEqual:]): + (-[WebSecurityOrigin dealloc]): + (-[WebSecurityOrigin finalize]): + (-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]): + (-[WebSecurityOrigin _core]): + * Storage/WebSecurityOriginInternal.h: + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::requestQuotaIncreaseForNewDatabase): + (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): + +2008-01-10 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522 + <rdar://problem/5657355> + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView loadPluginRequest:]): call findFrameForNavigation + to ensure the shouldAllowNavigation check is made. + +2008-01-07 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Mark. + + Enable SVG_FONTS by default. + + * Configurations/WebKit.xcconfig: + +2008-01-07 Adele Peterson <adele@apple.com> + + Reviewed by Antti, Adam, and Mitz. + + WebKit part of fix for + <rdar://problem/5619073> Updated look for <video> controls + <rdar://problem/5619057> Add volume control to video controls + + * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): + +2008-01-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - <rdar://problem/5665216> Support the unicode-range property in @font-face rules + + * Misc/WebNSAttributedStringExtras.mm: + +2008-01-03 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + <rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController + + * WebView/WebView.mm: + (-[WebView _executeCoreCommandByName:value:]): + * WebView/WebViewPrivate.h: + Added an SPI to implement layoutTestController.execCommand. + +2008-01-03 Kevin Decker <kdecker@apple.com> + + Reviewed by Darin Adler. + + Fixed: <rdar://problem/4106190> Include "Where from" metadata in drag-and-dropped images + + * Misc/WebNSFileManagerExtras.h: + * Misc/WebNSFileManagerExtras.m: + (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Added new method. Uses WebKitSystemInterface to set + "Where from:" metadata information. + * WebView/WebHTMLView.mm: + (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Added "Where from:" metadata for drag and dropped images. + +2008-01-03 Alice Liu <alice.liu@apple.com> + + Reviewed by Darin Adler. + + This fixes pageup/down in iframes. test for this is fast/frames/iframe-scroll-page-up-down.html + + * WebView/WebHTMLView.mm: + (-[WebHTMLView doCommandBySelector:]): + Have the editor handle all the commands it supports instead of just text commands. + If not handled by the editor, the webview will handle the command. + +2008-01-02 Kevin Decker <kdecker@apple.com> + + Reviewed by Darin Adler. + + Fixed: <rdar://problem/5660603> QuickDraw plug-ins can cause a 100% reproducible assertion failure in AppKit (breaks Safari UI) + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView updateAndSetWindow]): Simplified an early return for non-QuickDraw plug-ins and switched + to using the more NSView friendly version of lockFocus, lockFocusIfCanDraw. + +2008-01-01 David D. Kilzer <ddkilzer@webkit.org> + + Reviewed by Dan. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16700 + Fix -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:] + + * DefaultDelegates/WebDefaultPolicyDelegate.m: Check return value of + -[NSFileManager fileExistsAtPath:isDirectory:] before using the value + of isDirectory. + +2007-12-29 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Add DOMSVGFontElement/DOMSVGGlyphElement/DOMSVGMissingGlyphElement to MigrateHeaders.make + + * MigrateHeaders.make: + +2007-12-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + - fix an assertion failure when pressing the num lock key + + * WebView/WebHTMLView.mm: + (-[WebHTMLView flagsChanged:]): Avoid passing key code 10 down to + WebCore. + +2007-12-20 Darin Adler <darin@apple.com> + + Reviewed by Oliver. + + - fix <rdar://problem/5658787> Selector -[WebView insertLineBreak:] is not implemented + + * WebView/WebView.mm: Added all selectors implemented by WebHTMLView to the list of + selectors to forward here. The new ones are: changeBaseWritingDirection:, changeSpelling:, + deleteToMark:, insertLineBreak:, moveParagraphBackwardAndModifySelection:, + moveParagraphForwardAndModifySelection:, pageDownAndModifySelection:, pageUpAndModifySelection:, + selectToMark:, setMark:, swapWithMark:, takeFindStringFromSelection:, toggleBaseWritingDirection:, + and transpose:. + +2007-12-20 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders. + + Fixed: <rdar://problem/5638288> REGRESSION: Flash movies show up in other tabs above the page (16373) + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView updateAndSetWindow]): QuickDraw plug-ins must manually be told when to stop + writing to the window backing store. The problem was that change-set 28400 introduced an early return + which prevented this necessary operation. The fix is to limit the scope of the early return to CG and GL + plug-ins and to tweak the needsFocus check to prevent an exception from occurring in QuickDraw-based plug-ins. + +2007-12-19 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Build fix. + + * ForwardingHeaders/kjs/SymbolTable.h: Added. + * ForwardingHeaders/wtf/VectorTraits.h: Added. + +2007-12-16 Mark Rowe <mrowe@apple.com> + + Reviewed by Maciej Stachowiak. + + Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebNetscapePluginStream.h: + * Plugins/WebNetscapePluginStream.mm: + (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): + (-[WebNetscapePluginStream dealloc]): + (-[WebNetscapePluginStream finalize]): + * Plugins/WebPlugInStreamLoaderDelegate.h: Moved from WebCore. + * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Added. + (WebNetscapePlugInStreamLoaderClient::WebNetscapePlugInStreamLoaderClient): + * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Added. + (WebNetscapePlugInStreamLoaderClient::didReceiveResponse): Call through to the equivalent WebPlugInStreamLoaderDelegate method. + (WebNetscapePlugInStreamLoaderClient::didReceiveData): Ditto. + (WebNetscapePlugInStreamLoaderClient::didFail): Ditto. + (WebNetscapePlugInStreamLoaderClient::didFinishLoading): Ditto. + +2007-12-16 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + http://bugs.webkit.org/show_bug.cgi?id=14140 + <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Made command replaying work + when handling keypress, too. + (-[WebHTMLView doCommandBySelector:]): Adapted for the new way to store commands in events. + (-[WebHTMLView insertText:]): Append a command, not replace the whole existing vector. Also, + restore the state for additional commands to be saved correctly. + +2007-12-14 David D. Kilzer <ddkilzer@apple.com> + + <rdar://problem/5647272> Remove user agent string hack for flickr.com + + Reviewed by Darin Adler. + + * WebView/WebView.mm: + (-[WebView _userAgentForURL:]): Removed hack. + +2007-12-14 David D. Kilzer <ddkilzer@apple.com> + + <rdar://problem/5647261> Remove user agent string hack for yahoo.com + + Reviewed by Darin Adler. + + * WebView/WebView.mm: + (-[WebView _userAgentForURL:]): Removed hack. + +2007-12-14 Darin Adler <darin@apple.com> + + Reviewed by Brady. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16296 + <rdar://problem/5635641> -[WebFrameLoadDelegate didReceiveIcon:forFrame:] never called + + * WebView/WebView.mm: + (-[WebView setFrameLoadDelegate:]): Call [WebIconDatabase sharedIconDatabase] if the + a didReceiveIcon method is present. + +2007-12-14 Darin Adler <darin@apple.com> + + Reviewed by Alexey. + + - Changed a few more editing operations to use WebCore instead of WebKit. + - Removed some obsolete unused code. + + * WebCoreSupport/WebFrameBridge.h: Moved declarations of methods that are both + defined and used on the WebKit side to here. These no longer belong on the bridge + and should be moved to the WebFrame class (or elsewhere). + * WebCoreSupport/WebFrameBridge.mm: Removed some unused methods. + + * WebView/WebFrameView.mm: + (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Fix typo in comment. + + * WebView/WebHTMLView.mm: + (-[WebHTMLViewPrivate dealloc]): Removed unused firstResponderTextViewAtMouseDownTime. + (-[WebHTMLViewPrivate clear]): Ditto. + (-[WebHTMLView _setMouseDownEvent:]): Ditto. + (commandNameForSelector): Added special cases for pageDown:, pageDownAndModifySelection:, + pageUp:, and pageUpAndModifySelection:, since those names probably aren't specific enough + to be used in WebCore (what AppKit calls scrollPageDown: vs. pageDown: needs to be + disambiguated with the word "Move"). Added deleteBackward:, + deleteBackwardByDecomposingPreviousCharacter:, deleteForward:, deleteToBeginningOfLine:, + deleteToBeginningOfParagraph:, deleteToEndOfLine:, deleteToEndOfParagraph:, pageDown:, + pageDownAndModifySelection:, pageUp:, pageUpAndModifySelection:, selectLine:, + selectParagraph:, selectSentence:, and selectWord: to the list of commands that are + forwarded to WebCore. + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Eliminated the long list of + operations that we forward to WebCore. Instead, look up any command that WebCore can + handle, after any that we handle specially in WebHTMLView. Also fixed a bug where + an item that's not a menu item with changeBaseWritingDirection:NSWritingDirectionNatural + would end up enabled instead of disabled and streamlined the logic for toggleGrammarChecking:. + (-[WebHTMLView mouseDown:]): Removed unused firstResponderTextViewAtMouseDownTime. + (-[WebHTMLView becomeFirstResponder]): Removed unused willBecomeFirstResponderForNodeFocus. + (-[WebHTMLView resignFirstResponder]): Ditto. + (-[WebHTMLView checkSpelling:]): Took unneeded extra initialization of NSSpellChecker. + + * WebView/WebHTMLViewInternal.h: Removed unused willBecomeFirstResponderForNodeFocus, + firstResponderTextViewAtMouseDownTime, _textViewWasFirstResponderAtMouseDownTime: and + _willMakeFirstResponderForNodeFocus. + +2007-12-13 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + Turn on keyboard event processing quirks for feed views and old applications on Mac OS X. + + * Misc/WebKitVersionChecks.h: + * WebView/WebView.mm: + (-[WebView _needsKeyboardEventHandlingQuirks]): + (-[WebView _preferencesChangedNotification:]): + +2007-12-12 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows) + + * WebCoreSupport/WebCachedPagePlatformData.h: Added. + (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes a WebDocumentView for later restoration + (WebCachedPagePlatformData::clear): + (WebCachedPagePlatformData::webDocumentView): + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::savePlatformDataToCachedPage): + (WebFrameLoaderClient::transitionToCommittedFromCachedPage): Don't set the DocumentLoader to the Frame here, + because that is now done in WebCore. + (WebFrameLoaderClient::transitionToCommittedForNewPage): + +2007-12-12 Mark Rowe <mrowe@apple.com> + + Reviewed by Dave Kilzer. + + Remove abuse of projectDirPath from WebKit.xcodeproj to fix Production builds. + + * Configurations/WebKit.xcconfig: + +2007-12-11 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Scrub URL out of the tree in preparation for renaming KURL to URL. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::actionDictionary): + * WebView/WebDataSource.mm: + (-[WebDataSource _URL]): + * WebView/WebView.mm: + (-[WebView _dispatchDidReceiveIconFromWebFrame:]): + +2007-12-11 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - change more editing commands to use WebCore::Editor + - change to use the new WebCore::Editor::command() function + + * WebView/WebHTMLView.mm: Changed alignCenter, alignJustified, alignLeft, + alignRight, cut, copy, deleteToMark, indent, insertNewlineIgnoringFieldEditor, + insertTabIgnoringFieldEditor, outdent, selectAll, selectToMark, setMark, + subscript, superscript, swapWithMark, underline, unscript, yank, and yankAndSelect + to use the "forward to WebCore" macro instead of having hand-written implementations. + (kit): Added function to change a TriState to an AppKit-style tri-state value. + (-[WebHTMLView coreCommandBySelector:]): Added. No longer converts case of the + first character or copies the selector name, since the Editor commands are not case + sensitive any more. Returns a command object. + (-[WebHTMLView coreCommandByName:]): Added. + (-[WebHTMLView executeCoreCommandBySelector:]): Renamed from callWebCoreCommand:, + and changed to use the new coreCommandBySelector: method. + (-[WebHTMLView executeCoreCommandByName:]): Added. + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Changed all the + methods that call through to WebCore to also use the state() and isEnabled() + functions on the commands for the menu item state and user interface item enabling. + (-[WebHTMLView _handleStyleKeyEquivalent:]): Use ToggleBold and ToggleItalic by + name rather than having local methods for them; no need for methods with a single + call site. + (-[WebHTMLView insertParagraphSeparator:]): Use executeCoreCommandByName: rather + than the deprecated execCommand(). + (-[WebHTMLView doCommandBySelector:]): Changed to use command().execute() rather + than the deprecated execCommand(). + * WebView/WebHTMLViewInternal.h: Removed some unneeded method declarations. + +2007-12-07 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + <rdar://problem/5535636> + Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard. + + http://bugs.webkit.org/show_bug.cgi?id=13916 + JavaScript detects Tab as a character input on a textfield validation + + * WebCoreSupport/WebEditorClient.h: + Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses. + Renamed handleInputMethodKeypress() to handleInputMethodKeydown(). + * WebCoreSupport/WebEditorClient.mm: + (WebEditorClient::handleKeyboardEvent): This change makes sense only remotely, but it helped + to get tests working. I guess Mac keyboard event handling needs further refactoring. + + * WebView/WebHTMLView.mm: + (selectorToCommandName): Convert AppKit editing selector name to Editor command name - extracted + from callWebCoreCommand:. + (_interceptEditingKeyEvent:shouldSaveCommand:): Insert text from keypress. + + * WebView/WebPDFView.mm: + (-[WebPDFView PDFViewWillClickOnLink:withURL:]): + Convert incoming platform KeyDown into RawKeyDown, as this is what the view is interested in. + +2007-12-10 Brady Eidson <beidson@apple.com> + + Reviewed by John Sullivan + + Fix for <rdar://problem/5640080> - Database UI delegate calls need to specify WebFrame + + This is because a common UI case is to want to know the originating URL of a Database + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::requestQuotaIncreaseForNewDatabase): + (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): + + * WebView/WebUIDelegatePrivate.h: + + * WebView/WebView.mm: + (CallDelegateReturningUnsignedLongLong): + (CallUIDelegateReturningUnsignedLongLong): + * WebView/WebViewInternal.h: + +2007-12-10 Timothy Hatcher <timothy@apple.com> + + Reviewed by Mark Rowe. + + <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x + + * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR, + so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX. + +2007-12-10 Kevin Decker <kdecker@apple.com> + + Reviewed by Darin Adler. + + Fixed: <rdar://problem/4290098> Right-mouse click on element doesn't call onmousedown handler + + * WebView/WebHTMLView.mm: + (-[WebHTMLView menuForEvent:]): Match behavior of other browsers by sending an onmousedown event for right clicks. + +2007-12-08 Oliver Hunt <oliver@apple.com> + + Reviewed by Sam W. + + Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags. + + Fixes <rdar://problem/5620249> Must disable SVG animation + <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior + + Minor updates to the feature flags used. + + * Configurations/WebKit.xcconfig: + * DOM/WebDOMOperations.mm: + +2007-12-07 Darin Adler <darin@apple.com> + + Reviewed by Kevin Decker and Tim Hatcher. + + - speculative fix for <rdar://problem/5400159> CrashTracer: [USER] 726 crashes + in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389 + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _frameOrBoundsChanged]): Only schedule the mouseover timer if we are in a window + and not closed. That's because viewDidMoveToWindow and close are the entry points for cancelling. + (-[WebHTMLView close]): Add code to cancel both timers. Needed for the case where the entire + window goes away, and the view is never removed from the window. + (-[WebHTMLView viewDidMoveToWindow]): Don't do work if the view is closed. + +2007-12-07 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - http://bugs.webkit.org/show_bug.cgi?id=15981 + speed up visited-link code a bit + + * History/WebHistory.mm: Removed unused Latin-1 code path. + (-[_WebCoreHistoryProvider containsURL:length:]): Updated for method name change. + +2007-12-07 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Added a forwarding header, since we now #include nodes.h through some + JavaScriptCore headers. + + * ForwardingHeaders/wtf/ListRefPtr.h: Added. + +2007-12-06 Brady Eidson <beidson@apple.com> + + Reviewed by Oliver's rubber stamp + + Let's go ahead and call the correct UI Delegate method, shall we? + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Call the correct UI delegate + +2007-12-06 Adam Roben <aroben@apple.com> + + Remove some assertions we know can fire and replace them with a FIXME + + Reviewed by Anders. + + * WebCoreSupport/WebFrameLoaderClient.mm: + +2007-12-06 Timothy Hatcher <timothy@apple.com> + + Change the ASSERT added for the previous fix. The ASSERT was firing for 10.5.0. + Only assert if the major version is zero, since zero is handled in the other cases. + + * WebView/WebView.mm: + (callGestalt): Remove the ASSERT. + (createMacOSXVersionString): ASSERT that major is not zero. + +2007-12-06 Darin Adler <darin@apple.com> + + Reviewed by Tim Hatcher. + + - fix <rdar://problem/5513394> No way to detect Tiger vs Leopard from Safari's user agent string + + * WebView/WebView.mm: + (callGestalt): Added. + (createMacOSXVersionString): Added. + (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Added Mac OS X version string, + right after the string "Mac OS X", but with underscores instead of dots to avoid the dreaded + "4." problem (old libraries that think a "4." anywhere in the user agent means Netscape 4). + (-[WebView _userAgentForURL:]): Fixed incorrect bug numbers. + +2007-12-04 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + Third step in refactoring JSGlobalObject: Moved data members and data + member access from Interpreter to JSGlobalObject. + + * WebView/WebFrame.mm: + (-[WebFrame _attachScriptDebugger]): + +2007-12-04 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Darin Adler. + + - <rdar://5621435> + - Security Fix. Instead of having it off by default, WebKit now must + explicitly turn off local-resource restriction when needed for backwards + coimpatibility reasons. + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:]): + +2007-12-05 Brady Eidson <beidson@apple.com> + + Reviewed by Kevin Deckers rubberstamp + + Disclose and export the Databases Directory defaults key + + * Storage/WebDatabaseManager.mm: + * Storage/WebDatabaseManagerPrivate.h: + * WebKit.exp: + +2007-12-04 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders. + + <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type + + * WebCoreSupport/WebViewFactory.mm: + (-[WebViewFactory pluginNameForMIMEType:]): Added. + +2007-12-04 Brady Eidson <beidson@apple.com> + + Reviewed by Mark Rowe + + Tweaked the way we typedef and cast these objc_msgSend calls + + * WebView/WebView.mm: + (CallDelegateReturningUnsignedLongLong): + +2007-12-04 John Sullivan <sullivan@apple.com> + + Reviewed by Brady Eidson (with help from Mark Rowe) + + Fixed return values for unsigned-long-long delegate methods + + * WebView/WebView.mm: + (CallDelegateReturningUnsignedLongLong): + redid the change that Brady did at home over the weekend but forgot to check in + +2007-11-27 Adam Roben <aroben@apple.com> + + Remove -[WebFrameBridge setNeedsReapplyStyles] + + This functionality is now WebCore's responsibility. + + Reviewed by Hyatt. + + * WebCoreSupport/WebFrameBridge.mm: + * WebKit.order: + +2007-12-04 John Sullivan <sullivan@apple.com> + + Reviewed by Darin + + Added deleteOrigin: SPI, which isn't fully implemented + + * Storage/WebDatabaseManagerPrivate.h: + * Storage/WebDatabaseManager.mm: + (-[WebDatabaseManager deleteOrigin:]): + just calls deleteDatabasesWithOrigin: for now, but needs to delete origin itself too + +2007-12-04 Timothy Hatcher <timothy@apple.com> + + Reviewed by Mark Rowe. + + Remove a check for early versions of Leopard CFNetwork now that + Leopard has shipped. + + * Misc/WebKitVersionChecks.h: Remove WEBKIT_FIRST_CFNETWORK_VERSION_WITH_LARGE_DISK_CACHE_FIX. + * WebView/WebView.mm: + (+[WebView _setCacheModel:]): Remove the early Leopard CFNetwork check. + +2007-12-04 Kevin Decker <kdecker@apple.com> + + Reviewed by Darin Adler. + + Revised fix for: <rdar://problem/5586978> REGRESSION (Safari 2-3): WebKit sometimes doesn't invoke Flash's NPP_SetWindow function and causes a hang + + This fix is exactly the same as chageset 28359 with the exception of an added early return in + updateAndSetWindow to cover the additional case of when a plug-in isn't drawable. + + The CG-based Flash player would sometimes hang because (for CoreGraphics-based plug-ins) our code would + only call into the NPP_SetWindow() function when we tell the plug-in to draw. This created havoc with + Flash because Flash expects the browser to call NPP_SetWindow() and provide a valid graphics context + regardless of whether or not it actually needs to draw. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed an incorrect comment and toned + down an ASSERT that was too strict. + (-[WebBaseNetscapePluginView updateAndSetWindow]): Removed an early return for CoreGraphics-based plug-ins + which would sometimes altogether prevent updating the PortState and calling into a plug-ins NPP_SetWindow() + function. Also tweaked a comment and added an early return if the plug-in can't draw. + +2007-12-04 Darin Adler <darin@apple.com> + + Reviewed by Kevin Decker. + + * WebCoreSupport/WebFrameLoaderClient.h: Removed obsolete privateBrowsingEnabled. + * WebCoreSupport/WebFrameLoaderClient.mm: Ditto. + * WebKit.order: Ditto. + +2007-12-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame + + * WebView/WebHTMLView.mm: + (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Removed the code + that checked if the view had resized and sent the resize event, since + FrameView sends resize events now. + * WebView/WebHTMLViewInternal.h: + +2007-12-03 Timothy Hatcher <timothy@apple.com> + + Reviewed by Darin Adler. + + Change WebViewGetResourceLoadDelegateImplementations and WebViewGetFrameLoadDelegateImplementations + to return a pointer to the implementation struct instead of a copy of the struct. This changes + all of the callers to dereference the pointer to access the struct fields. + + * Plugins/WebNullPluginView.mm: + (-[WebNullPluginView reportFailure]): + * WebCoreSupport/WebFrameBridge.mm: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): + (WebFrameLoaderClient::assignIdentifierToInitialRequest): + (WebFrameLoaderClient::dispatchWillSendRequest): + (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): + (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge): + (WebFrameLoaderClient::dispatchDidReceiveResponse): + (WebFrameLoaderClient::willCacheResponse): + (WebFrameLoaderClient::dispatchDidReceiveContentLength): + (WebFrameLoaderClient::dispatchDidFinishLoading): + (WebFrameLoaderClient::dispatchDidFailLoading): + (WebFrameLoaderClient::dispatchDidHandleOnloadEvents): + (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): + (WebFrameLoaderClient::dispatchDidCancelClientRedirect): + (WebFrameLoaderClient::dispatchWillPerformClientRedirect): + (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): + (WebFrameLoaderClient::dispatchWillClose): + (WebFrameLoaderClient::dispatchDidStartProvisionalLoad): + (WebFrameLoaderClient::dispatchDidReceiveTitle): + (WebFrameLoaderClient::dispatchDidCommitLoad): + (WebFrameLoaderClient::dispatchDidFailProvisionalLoad): + (WebFrameLoaderClient::dispatchDidFailLoad): + (WebFrameLoaderClient::dispatchDidFinishDocumentLoad): + (WebFrameLoaderClient::dispatchDidFinishLoad): + (WebFrameLoaderClient::dispatchDidFirstLayout): + * WebView/WebView.mm: + (WebViewGetResourceLoadDelegateImplementations): + (WebViewGetFrameLoadDelegateImplementations): + (-[WebView _dispatchDidReceiveIconFromWebFrame:]): + * WebView/WebViewInternal.h: + +2007-12-03 Timothy Hatcher <timothy@apple.com> + + Reviewed by Brady Eidson. + + <rdar://problem/5539913> 188 crashes in WebViewGetFrameLoadDelegateImplementations + <rdar://problem/5586095> CrashTracer: [USER] 5000+ crashes in Safari and Dashboard in dispatchDidFailLoading + <rdar://problem/5607081> CrashTracer: [USER] 2150 crashes in Safari at com.apple.WebKit: + WebViewGetResourceLoadDelegateImplementations + 28 + + * WebView/WebView.mm: + (-[WebView _cacheResourceLoadDelegateImplementations]): If the delegate is nil, bzero the + implementation cache. This just prevents us from calling getMethod() multiple times just to zero. + (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto. + (WebViewGetResourceLoadDelegateImplementations): Return a zeroed implementations struct + if the WebView is nil. This fixes the crashes. + (WebViewGetFrameLoadDelegateImplementations): Ditto. + +2007-12-02 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Eric Seidel. + + Updated to match the JavaScriptCore change to move virtual methods from + Interpreter to JSGlobalObject. + + * WebView/WebFrame.mm: + (-[WebFrame globalContext]): Use the toRef function instead of manually + casting. + +2007-12-01 Brady Eidson <beidson@apple.com> + + Reviewed by Tim + + Added a default database quota of 5mb to the default WebPreferences + + * WebView/WebPreferences.m: + (+[WebPreferences initialize]): + +2007-11-30 John Sullivan <sullivan@apple.com> + + Reviewed by Geoff Garen + + Added another symbol for WebDatabaseManager clients + + * WebKit.exp: + added .objc_class_name_WebSecurityOrigin + +2007-11-30 Brady Eidson <beidson@apple.com> + + Reviewed by Geoff + + Add isEqual operator to WebSecurityOrigin + + * Storage/WebSecurityOrigin.mm: + (-[WebSecurityOrigin isEqual:]): + +2007-11-30 John Sullivan <sullivan@apple.com> + + Reviewed by Darin + + Tweaks to newly-declared NSString * constants to make them usable from clients + + * Storage/WebDatabaseManagerPrivate.h: + * Storage/WebDatabaseManager.mm: + removed "const" from new NSNotification names and userInfo keys; these generate compiler warnings when used + + * WebKit.exp: + export new NSNotification names and userInfo keys so clients can use them + +2007-11-29 Anders Carlsson <andersca@apple.com> + + Reviewed by John. + + Rename WebKitShrinksStandaloneImagesToFitKey to WebKitShrinksStandaloneImagesToFit. + + This is safe to do because the preference is off by default and Safari 3, which is the only client that turns it on, + is using the setter and not messing around with NSUserDefaults. + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.m: + (+[WebPreferences initialize]): + (-[WebPreferences shrinksStandaloneImagesToFit]): + (-[WebPreferences setShrinksStandaloneImagesToFit:]): + +2007-11-29 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + Support for <rdar://problem/5556381> and <rdar://problem/5556379> + + Hook up UI Delegate calls for the database engine feature and other small tweaks + + * Storage/WebDatabaseManager.mm: + (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity + (-[WebDatabaseManager deleteDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity + * Storage/WebDatabaseManagerPrivate.h: + + * Storage/WebDatabaseTrackerClient.h: + * Storage/WebDatabaseTrackerClient.mm: + (WebDatabaseTrackerClient::dispatchDidModifyDatabase): Renamed databaseName parameter to databaseIdentifier for clarity + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::requestQuotaIncreaseForNewDatabase): Call through to the UI Delegate + (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Ditto + + * WebView/WebUIDelegatePrivate.h: Added the two UI Delegate methods + + * WebView/WebView.mm: + (CallDelegateReturningUnsignedLongLong): + (CallUIDelegateReturningUnsignedLongLong): + * WebView/WebViewInternal.h: + +2007-11-28 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Sam. + + - Added recursive runloop guards. + + * DefaultDelegates/WebScriptDebugServer.m: + (-[WebScriptDebugServer suspendProcessIfPaused]): + +2007-11-29 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Fix an assertion failure seen on the layout tests, and when closing the window after + visiting <http://www.coudal.com/losalamos/>. + + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream _destroyStream]): Unlink the file and close the file + descriptor even when the stream is being destroyed without the load completing. This + avoids leaking the path and file descriptor, and leaving the temporary file on disk. + +2007-11-28 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6 + + The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in + WebHTMLView to prevent future problems in other methods as well. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): + (-[WebHTMLView keyDown:]): + (-[WebHTMLView keyUp:]): + (-[WebHTMLView flagsChanged:]): + (-[WebHTMLView _selectionStartFontAttributesAsRTF]): + (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): + (-[WebHTMLView checkSpelling:]): + (-[WebHTMLView showGuessPanel:]): + (-[WebHTMLView indent:]): + (-[WebHTMLView outdent:]): + (-[WebHTMLView paste:]): + (-[WebHTMLView _lookUpInDictionaryFromMenu:]): + (-[WebHTMLView insertText:]): + (-[WebHTMLView selectionTextRects]): + +2007-11-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + - fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first) + + * WebView/WebHTMLView.mm: + (-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver + because addMouseMovedObserver returns early if the dataSource + is not nil. But if the dataSource is already set (which happens when + a WebHTMLView is being reused) then addMouseMovedObserver must not + be called again. + +2007-11-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Brady. + + * Storage/WebDatabaseManager.mm: + * Storage/WebDatabaseManagerPrivate.h: + * Storage/WebDatabaseTrackerClient.mm: + (WebDatabaseTrackerClient::dispatchDidModifyOrigin): + (WebDatabaseTrackerClient::dispatchDidModifyDatabase): + * Storage/WebSecurityOrigin.mm: + (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]): + * Storage/WebSecurityOriginInternal.h: + +2007-11-27 Kevin Decker <kdecker@apple.com> + + Reviewed by Darin, landed by Anders. + + Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131 + + The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard + shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in + database will compare bundle versions and always load the latest version. + + * Plugins/WebBasePluginPackage.h: + * Plugins/WebBasePluginPackage.m: + (-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes, + but we think for now it's good enough for us. + * Plugins/WebPluginDatabase.m: + (considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number. + If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate. + (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function. + +2007-11-26 Timothy Hatcher <timothy@apple.com> + + Reviewed by Dave Hyatt. + + <rdar://problem/5569233> Add the ability to disable author and user CSS styles + + * WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey. + * WebView/WebPreferences.m: + (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES. + (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value. + (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value. + * WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:. + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled. + +2007-11-26 Brady Eidson <beidson@apple.com> + + Reviewed by Mark Rowe + + Provide API for setting the default storage quota per database origin + + * Misc/WebNSDictionaryExtras.h: + * Misc/WebNSDictionaryExtras.m: + (-[NSMutableDictionary _webkit_setUnsignedLongLong:forKey:]): Helper for UINT64 preferences + + * WebView/WebPreferenceKeysPrivate.h: + * WebView/WebPreferences.m: + (-[WebPreferences _unsignedLongLongValueForKey:]): Helper for UINT64 prefs + (-[WebPreferences _setUnsignedLongLongValue:forKey:]): Ditto + (-[WebPreferences defaultDatabaseQuota]): + (-[WebPreferences setDefaultDatabaseQuota:]): + * WebView/WebPreferencesPrivate.h: + + * WebView/WebView.mm: + (-[WebView _preferencesChangedNotification:]): Set the WebCore Settings version of the default storage pref + +2007-11-26 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - some middle-mouse-button-related fixes + + These don't affect Safari since it maps the middle mouse button to the command key, + but that might not always be the case for future versions. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore. + (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events. + (-[WebHTMLView otherMouseUp:]): Ditto, for up events. + + * WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey. + +2007-11-26 Anders Carlsson <andersca@apple.com> + + Reviewed by Brady. + + Get rid of the WebSecurityOriginPrivate object and store + the WebCore::SecurityOriginData pointer in the _private field of + the WebSecurityOrigin object instead. + + * Storage/WebDatabaseManager.mm: + (-[WebDatabaseManager databasesWithOrigin:]): + (-[WebDatabaseManager detailsForDatabase:withOrigin:]): + (-[WebDatabaseManager deleteDatabasesWithOrigin:]): + (-[WebDatabaseManager deleteDatabase:withOrigin:]): + * Storage/WebSecurityOrigin.mm: + (-[WebSecurityOrigin initWithProtocol:domain:port:]): + (-[WebSecurityOrigin protocol]): + (-[WebSecurityOrigin domain]): + (-[WebSecurityOrigin port]): + (-[WebSecurityOrigin usage]): + (-[WebSecurityOrigin quota]): + (-[WebSecurityOrigin setQuota:]): + (-[WebSecurityOrigin dealloc]): + (-[WebSecurityOrigin finalize]): + (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]): + (-[WebSecurityOrigin _core]): + * Storage/WebSecurityOriginInternal.h: + +2007-11-26 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title + http://bugs.webkit.org/show_bug.cgi?id=16137 + + Create the Web Inspector window with the textured style. Set the content border + thickness for the top of the window or the height of the toolbar. Also make the + window's bottom corners square, since a normal textured window normally has + rounded bottom corners. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController window]): + +2007-11-24 Mark Rowe <mrowe@apple.com> + + Tiger build fix. + + * Plugins/WebBaseNetscapePluginStream.mm: + (CarbonPathFromPOSIXPath): Use WebCFAutorelease as this also works on Tiger. + +2007-11-24 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream). + http://bugs.webkit.org/show_bug.cgi?id=13705 + + Have NP_ASFILE and NP_ASFILEONLY streams write the data to disk as they receive it rather than + dumping the data to disk in a single go when the stream has completed loading. On a test case + involving a 150MB Flash movie being streamed from a local web server this reduces memory consumption + on page load from around 400MB to 22MB. + + The only plugin I have found that uses NP_ASFILE or NP_ASFILEONLY on the Mac is our NetscapeMoviePlugin + example code so the NP_ASFILE portion of this change has not had any testing with a real-world plugin. + + * Plugins/WebBaseNetscapePluginStream.h: + * Plugins/WebBaseNetscapePluginStream.mm: + (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): + (-[WebBaseNetscapePluginStream dealloc]): + (-[WebBaseNetscapePluginStream finalize]): + (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): + (-[WebBaseNetscapePluginStream _destroyStream]): Update to work with paths as NSStrings. + (-[WebBaseNetscapePluginStream _deliverDataToFile:]): Open the file if it is not already open, and write any data + to disk. + (-[WebBaseNetscapePluginStream finishedLoading]): If the stream is NP_ASFILE or NP_ASFILEONLY we need to ensure + that the file exists before _destroyStream passes it to the plugin. Simulating the arrival of an empty data block + ensure that the file will be created if it has not already. + (-[WebBaseNetscapePluginStream receivedData:]): + (CarbonPathFromPOSIXPath): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): Data is dealt with incrementally so there's no need to pass + it to finishedLoading. + (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Ditto. + +2007-11-23 Oliver Hunt <oliver@apple.com> + + Reviewed by Mark Rowe. + + Fixed <rdar://problem/3759190> allow input methods the option of processing mouse events themselves + + * WebView/WebHTMLView.mm: + (-[WebHTMLView mouseDown:]): + +2007-11-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Antti Koivisto. + + - http://bugs.webkit.org/show_bug.cgi?id=15811 + WebKit plug-ins can re-enter WebKit under attach() + <rdar://problem/5577978> + + * Plugins/WebNullPluginView.mm: + (-[WebNullPluginView viewDidMoveToWindow]): Removed workaround for the + above bug that added as part of fixing + <http://bugs.webkit.org/show_bug.cgi?id=15804>. + +2007-11-21 Mark Rowe <mrowe@apple.com> + + Reviewed by Eric. + + Fix WebKit to build without warnings under GCC 4.2. + + * Configurations/Base.xcconfig: + +2007-11-21 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings + + Update format strings to use format specifiers that match the argument types. + + * Misc/WebGraphicsExtras.c: + (WebConvertBGRAToARGB): + +2007-11-19 Brady Eidson <beidson@apple.com> + + Reviewed by Maciej + + Finished hooking up the WebKit API for database management. + Most of the API is actually implemented in WebCore and some of those methods might + only be stubs for now. + + * Storage/WebDatabaseManager.mm: + (-[WebDatabaseManager origins]): Call through to the WebCore tracker and construct an API result + (-[WebDatabaseManager databasesWithOrigin:]): Ditto + (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Ditto + + * Storage/WebSecurityOrigin.mm: + (-[WebSecurityOrigin usage]): Call through to WebCore + (-[WebSecurityOrigin quota]): Ditto + (-[WebSecurityOrigin setQuota:]): Ditto + (-[WebSecurityOrigin _core]): Get WebCore version of this object + * Storage/WebSecurityOriginInternal.h: + +2007-11-17 Timothy Hatcher <timothy@apple.com> + + Reviewed by Mark Rowe. + + Bug 13470: i18n: The Web Inspector is not localizable + http://bugs.webkit.org/show_bug.cgi?id=13470 + + Implement the localizedStringsURL() client method to return the + localized URL of InspectorLocalizedStrings.js in WebCore. + + * WebCoreSupport/WebInspectorClient.h: Added localizedStringsURL. + * WebCoreSupport/WebInspectorClient.mm: + (WebInspectorClient::localizedStringsURL): Added. + (WebInspectorClient::updateWindowTitle): Localized the window title. + (-[WebInspectorWindowController init]): Remove a FIXME that dosen't make sense anymore. + (-[WebInspectorWindowController initWithInspectedWebView:]): Code style cleanup. + +2007-11-17 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + http://bugs.webkit.org/show_bug.cgi?id=15969 + Eliminate Editor::deleteRange() + + * WebView/WebHTMLView.mm: + (+[WebHTMLView initialize]): + (-[WebHTMLView yank:]): + (-[WebHTMLView yankAndSelect:]): + (-[WebHTMLView setMark:]): + (-[WebHTMLView deleteToMark:]): + (-[WebHTMLView selectToMark:]): + (-[WebHTMLView swapWithMark:]): + Pushed all kill ring methods to WebCore. They were guilty of using Editor::deleteRange()! + +2007-11-16 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Build WebCore as a sub-framework of WebKit in all configurations. + + * Configurations/WebKit.xcconfig: + +2007-11-16 John Sullivan <sullivan@apple.com> + + Reviewed by Brady + + * WebKit.exp: + Exported some new database-related symbols + +2007-11-16 Brady Eidson <beidson@apple.com> + + Reviewed by John + + Database management API tweaks + + Fleshed out "WebSecurityOrigin" to be the API object representing an origin. This relieves some + burden off WebDatabaseManager and allows usage/quota operations on the SecurityOrigin object itself + + Also added a new subdirectory for Storage related API - Why are we afraid to add new directories to + the WebKit tree? + + * Misc/WebSecurityOrigin.mm: Removed. + * Misc/WebSecurityOriginInternal.h: Removed. + * Misc/WebSecurityOriginPrivate.h: Removed. + + * Storage/WebDatabaseManager.mm: Work in terms of WebSecurityOrigin + * Storage/WebDatabaseManagerPrivate.h: + + * Storage/WebSecurityOrigin.mm: Added. + (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]): + (-[WebSecurityOriginPrivate initWithWebCoreSecurityOrigin:]): + (-[WebSecurityOriginPrivate finalize]): + (-[WebSecurityOriginPrivate dealloc]): + (-[WebSecurityOrigin initWithProtocol:domain:]): + (-[WebSecurityOrigin initWithProtocol:domain:port:]): + (-[WebSecurityOrigin protocol]): + (-[WebSecurityOrigin domain]): + (-[WebSecurityOrigin port]): + (-[WebSecurityOrigin usage]): + (-[WebSecurityOrigin quota]): + (-[WebSecurityOrigin setQuota:]): Clients will set quotas on the WebSecurityOrigin object itself + (-[WebSecurityOrigin dealloc]): + (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]): + * Storage/WebSecurityOriginInternal.h: Added. + * Storage/WebSecurityOriginPrivate.h: Added. + +2007-11-15 Brady Eidson <beidson@apple.com> + + Reviewed by John + + Stubbing out everything required for a WebKit API for databases + + These interfaces seem to provide everything we need for UI and management at the browser level + + * Misc/WebDatabaseManager.h: Removed. + * Misc/WebDatabaseManager.mm: Removed. + * Misc/WebDatabaseManagerPrivate.h: Removed. + + * Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple" + (protocol, domain, and port) + (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]): + (-[WebSecurityOriginPrivate dealloc]): + (-[WebSecurityOrigin initWithProtocol:domain:]): + (-[WebSecurityOrigin initWithProtocol:domain:port:]): + (-[WebSecurityOrigin protocol]): + (-[WebSecurityOrigin domain]): + (-[WebSecurityOrigin port]): + (-[WebSecurityOrigin dealloc]): + (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]): + * Misc/WebSecurityOriginInternal.h: Added. + * Misc/WebSecurityOriginPrivate.h: Added. + + * Storage/WebDatabaseManager.mm: Added. + (+[WebDatabaseManager sharedWebDatabaseManager]): + (-[WebDatabaseManager origins]): Get a list of all origins currently tracked + (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin + (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin + (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database + (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota + (-[WebDatabaseManager deleteAllDatabases]): + (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]): + (-[WebDatabaseManager deleteDatabase:withOrigin:]): + * Storage/WebDatabaseManagerPrivate.h: Added. + * Storage/WebDatabaseManagerInternal.h: Added. + (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things + + * Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications + * Storage/WebDatabaseTrackerClient.mm: Added. + (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient): + (WebDatabaseTrackerClient::WebDatabaseTrackerClient): + (WebDatabaseTrackerClient::~WebDatabaseTrackerClient): + (WebDatabaseTrackerClient::dispatchDidModifyOrigin): + (WebDatabaseTrackerClient::dispatchDidModifyDatabase): + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of + Database-related things here + +2007-11-13 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Anders Carlsson. + + Renamed Shared to RefCounted. + + * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h. + * ForwardingHeaders/wtf/Shared.h: Removed. + * WebCoreSupport/WebContextMenuClient.h: + +2007-11-13 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Moved Shared.h into wtf so it could be used in more places. + + * ChangeLog: + * WebCoreSupport/WebContextMenuClient.h: + +2007-11-13 John Sullivan <sullivan@apple.com> + + Reviewed by Darin Adler. + + removed recently-added PreferredType concept; we found a better way to do what + ths was accomplishing + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::createWindow): + removed use of PreferredType + +2007-11-13 John Sullivan <sullivan@apple.com> + + Reviewed by Dan Bernstein. + + - fixed <rdar://problem/5567954> REGRESSION (Safari 2-3): Autofill no longer automatically fills in + form fields other than the one you're typing into + + * WebCoreSupport/WebEditorClient.mm: + (selectorForKeyEvent): + correct the key identifier strings for Tab and Esc; these were updated in WebCore as part of r21445 + but didn't get updated here. + +2007-11-12 Josh Aas <joshmoz@gmail.com> + + Reviewed by Darin Adler. + + - http://bugs.webkit.org/show_bug.cgi?id=15946 + add NPPValue NPPVpluginDrawingModel (Mozilla bug 403418 compat) + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView setVariable:value:]): + +2007-11-12 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + http://bugs.webkit.org/show_bug.cgi?id=15954 + Move DOM Selection operations out of SelectionController + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _expandSelectionToGranularity:]): + (-[WebHTMLView selectToMark:]): + (-[WebHTMLView swapWithMark:]): + * WebView/WebView.mm: + (-[WebView setSelectedDOMRange:affinity:]): + Adapted for SelectionController::setSelectedRange() now returning a bool. + +2007-11-12 Oliver Hunt <oliver@apple.com> + + Reviewed by Darin and Geoff. + + <rdar://problem/5522011> The content of the password field of + Safari is displayed by reconversion. + + Some input methods (notably Kotoeri) can incorrectly provide + access to the raw text of a password field. To work around + this we forcefully override the inputContext whenever a password + field is active. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView inputContext]): + +2007-11-12 John Sullivan <sullivan@apple.com> + + Reviewed by Tim Hatcher + + - speculative fix for <rdar://problem/5509989> CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit: + -[WebPDFView(FileInternal) _updatePreferencesSoon] + 56 + + The crash is probably due to messaging a dealloc'ed dataSource ivar. The dataSource ivar isn't retained + by this class, but should be. (It is retained by WebHTMLView, e.g.). + + * WebView/WebPDFView.mm: + (-[WebPDFView dealloc]): + release dataSource ivar + (-[WebPDFView setDataSource:]): + retain dataSource ivar + +2007-11-09 Tristan O'Tierney <tristan@apple.com> + + Reviewed by Timothy Hatcher. + + This patch is for the WebKit side of <rdar://problem/5591115>. + We need a way to tell context menu navigations, such as "Open in New Window" + to override any sort of browser preference for tab based navigation. + + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::createWindow): + Pass up the new preferredType parameter as a string. + +2007-11-09 Timothy Hatcher <timothy@apple.com> + + Reviewed by John. + + <rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used + + Extend the linked on or after check to every application when a script passed to + stringByEvaluatingJavaScriptFromString: has a return statement. Before the check + was limited to VitalSource Bookshelf, but other developers are running into this. + + * Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define. + * WebView/WebDocumentLoaderMac.mm: + (needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the + WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource. + * WebView/WebView.mm: + (-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use + WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call. + +2007-11-08 Kevin McCullough <kmccullough@apple.com> + + Build Fix. + + * WebCoreSupport/WebFrameLoaderClient.h: + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::windowObjectCleared): + +2007-11-07 Darin Adler <darin@apple.com> + + Reviewed by Steve. + + - removed some unused WebCore bridge methods + + * WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of + using the bridge object. + +2007-11-06 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Dave Kilzer. + + Move Mac files from WebKit into WebKit/mac. + + * Carbon: Copied from WebKit/Carbon. + * ChangeLog: Copied from WebKit/ChangeLog. + * ChangeLog-2002-12-03: Copied from WebKit/ChangeLog-2002-12-03. + * ChangeLog-2006-02-09: Copied from WebKit/ChangeLog-2006-02-09. + * ChangeLog-2007-10-14: Copied from WebKit/ChangeLog-2007-10-14. + * Configurations: Copied from WebKit/Configurations. + * DOM: Copied from WebKit/DOM. + * DefaultDelegates: Copied from WebKit/DefaultDelegates. + * ForwardingHeaders: Copied from WebKit/ForwardingHeaders. + * History: Copied from WebKit/History. + * Info.plist: Copied from WebKit/Info.plist. + * MigrateHeaders.make: Copied from WebKit/MigrateHeaders.make. + * Misc: Copied from WebKit/Misc. + * Panels: Copied from WebKit/Panels. + * Plugins: Copied from WebKit/Plugins. + * PublicHeaderChangesFromTiger.txt: Copied from WebKit/PublicHeaderChangesFromTiger.txt. + * Resources: Copied from WebKit/Resources. + * WebCoreSupport: Copied from WebKit/WebCoreSupport. + * WebInspector: Copied from WebKit/WebInspector. + * WebKit.exp: Copied from WebKit/WebKit.exp. + * WebKit.order: Copied from WebKit/WebKit.order. + * WebKitPrefix.h: Copied from WebKit/WebKitPrefix.h. + * WebView: Copied from WebKit/WebView. + * icu: Copied from WebKit/icu. + +2007-11-06 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + http://bugs.webkit.org/show_bug.cgi?id=15847 + Some editing cleanup + + No change in functionality. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView deleteToEndOfLine:]): + (-[WebHTMLView deleteToEndOfParagraph:]): + WebCore had a duplicate of the same logic already. We are passing a boundary value to + a function that expects granularity, this may need to be straightened out in the future. + +2007-11-05 John Sullivan <sullivan@apple.com> + + * WebView/WebView.mm: + (-[WebView _searchWithSpotlightFromMenu:]): + + Teeny style tweak to test svn access on other machine + +2007-11-05 John Sullivan <sullivan@apple.com> + + * WebView/WebView.mm: + (-[WebView computedStyleForElement:pseudoElement:]): + + Teeny style tweak to test svn access + +2007-11-02 Tristan O'Tierney <tristan@apple.com> + + Reviewed by Darin Adler. + + * DefaultDelegates/WebDefaultUIDelegate.m: + (-[WebDefaultUIDelegate webView:createWebViewWithRequest:windowFeatures:]): + Forward the UI delegate to call webView:createWebViewWithRequest: if + this method doesn't exist. + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchCreatePage): + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView loadPluginRequest:]): + * WebView/WebView.mm: + (-[WebView _openNewWindowWithRequest:]): + Revised to use new webView:createWebViewWithRequest:windowFeatures: callback. + + * WebCoreSupport/WebChromeClient.h: + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::createWindow): + Added a new createWindow that accepts 3 parameters, so we can pass up windowFeatures to the chrome. + Removed createModalDialog to use new createWindow function. + + * WebView/WebUIDelegatePrivate.h: + Added new webView:createWebViewWithRequest:windowFeatures: method. + +2007-11-05 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + http://bugs.webkit.org/show_bug.cgi?id=15835 + + Small adaptations to new KJS::List class. + + * ForwardingHeaders/kjs/value.h: Added. + +2007-11-03 David D. Kilzer <ddkilzer@webkit.org> + + Sort files(...); sections of Xcode project files. + + Rubber-stamped by Darin Adler. + + * WebKit.xcodeproj/project.pbxproj: + +2007-11-02 Antti Koivisto <antti@apple.com> + + Reviewed by Darin Adler. + + Add method to enable video composition. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + +2007-11-02 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - fix problem I ran into while doing some testing on Mac for + <rdar://problem/5530185> WebKit does not show <object> + fallback content when both URL and MIME type is omitted + + I don't know how to reproduce this failure in DumpRenderTree, so there is no + regression test. + + * Plugins/WebNullPluginView.h: Removed some unneeded declarations, including + the didSendError local variable. Instead we just set the error to nil once + we've sent it. + * Plugins/WebNullPluginView.mm: + (-[WebNullPluginView initWithFrame:error:DOMElement:]): Refactored so that + the null plug-in image code is separate from the rest of the function and + so that the whole thing is not inside an if statement. Also don't hold a + reference to the DOM element if there is no error to report. + (-[WebNullPluginView reportFailure]): Added. Does the actual delegate + callback. Happens back at the top level of the run loop so it doesn't + fire deep inside layout. Also wrote this so that it is guaranteed not to + reenter and so that it can handle the case where the delegate destroys + the world (including this object). NOTE: This is not a real, general + solution to the problem of plug-ins that do work inside layout. We will need + a more general fix that works for other plug-ins, and we'll track that with + a separate bug report. + (-[WebNullPluginView viewDidMoveToWindow]): Removed most of the code; + changed so it just does a performSelector:afterDelay:0. + +2007-11-02 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + Fix http://bugs.webkit.org/show_bug.cgi?id=15780 + Bug 15780: WebFrameLoaderClient: WebActionElementKey wrong if view is scrolled + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::actionDictionary): Retrieve the mouse event coordinates + in the page coordinate system rather than the client area coordinate system. + +2007-11-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + - fix an assertion failure when Command-Tabbing out of Safari + + * WebView/WebHTMLView.mm: + (-[WebHTMLView flagsChanged:]): Avoid passing key code 0 down to + WebCore. + +2007-11-01 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply + + No need to match style when pasting plain text, since the fragment we build for plain text + won't have any style information on it. + + * WebView/WebHTMLView.mm: + (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): There's no + longer a need to know whether this function chosePlaintext. + (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): + (-[WebHTMLView _documentFragmentFromPasteboard:]): + +2007-10-31 Timothy Hatcher <timothy@apple.com> + + Reviewed by John Sullivan. + + Move the developer extras preference to WebPreferences. + + * WebView/WebPreferenceKeysPrivate.h: Add WebKitDeveloperExtrasEnabledPreferenceKey + * WebView/WebPreferences.m: + (+[WebPreferences initialize]): Initialize WebKitDeveloperExtrasEnabledPreferenceKey to NO. + (-[WebPreferences developerExtrasEnabled]): Check DisableWebKitDeveloperExtras, WebKitDeveloperExtras + and IncludeDebugMenu in addition to WebKitDeveloperExtrasEnabledPreferenceKey. + (-[WebPreferences setDeveloperExtrasEnabled:]): Set WebKitDeveloperExtrasEnabledPreferenceKey. + * WebView/WebPreferencesPrivate.h: Add developerExtrasEnabled and setDeveloperExtrasEnabled:. + * WebView/WebView.mm: + (+[WebView _developerExtrasEnabled]): Removed. + (-[WebView _preferencesChangedNotification:]): Check the WebPreferences object for developerExtrasEnabled. + * WebView/WebViewPrivate.h: Removed _developerExtrasEnabled. + +2007-10-30 David D. Kilzer <ddkilzer@webkit.org> + + Generated files missing from WebCore's Xcode project file + <http://bugs.webkit.org/show_bug.cgi?id=15406> + + Reviewed by Darin Adler. + + Added the following private header files to MigrateHeaders.make: + + - DOMCSSStyleSheetPrivate.h + - DOMEventPrivate.h + - DOMHTMLCollectionPrivate.h + - DOMHTMLEmbedElementPrivate.h + - DOMHTMLIFrameElementPrivate.h + - DOMHTMLObjectElementPrivate.h + - DOMHTMLSelectElementPrivate.h + + * MigrateHeaders.make: + +2007-10-29 Antti Koivisto <antti@apple.com> + + Reviewed by Maciej. + + Some SPIs for media support. + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + +2007-10-29 Timothy Hatcher <timothy@apple.com> + + Reviewed by John Sullivan. + + Various semi-related changes: + - A WebView can now be asked for it's WebInspector. There is one + WebInspector per WebView. + - Refactor the WebInspector class and move obsolete methods to + a special category. + - Add new WebInspector methods to show, hide and show the + console/timeline panels. + - Add an isDisabled method to WebCache. + - Allow WebLocalizableStrings.h to be used in C files. + + * Misc/WebCache.h: Add isDisabled. + * Misc/WebCache.mm: + (+[WebCache isDisabled]): New method. + + * Misc/WebLocalizableStrings.h: Changes to allow use in plain C files. + + * WebCoreSupport/WebInspectorClient.mm: + (-[WebInspectorWindowController showWindow:]): Call super if already visible + so the window will be ordered front. + (-[WebInspectorWindowController showWebInspector:]): Method used by menu items, + so they are enabled and work when the Inspector window is key. + (-[WebInspectorWindowController showErrorConsole:]): Ditto. + (-[WebInspectorWindowController showNetworkTimeline:]): Ditto. + + * WebInspector/WebInspector.h: Add and remove methods. + * WebInspector/WebInspector.mm: + (-[WebInspector webViewClosed]): Called when the WebView is closed/dealloced. + Clears the _webView pointer. + (-[WebInspector show:]): Calls thru to the Page's InspectorController. + (-[WebInspector showConsole:]): Ditto. + (-[WebInspector showTimeline:]): Ditto. + (-[WebInspector close:]): Ditto. + (-[WebInspector attach:]): Ditto. + (-[WebInspector detach:]): Ditto. + (+[WebInspector sharedWebInspector]): Moved to the obsolete category. + (+[WebInspector webInspector]): Ditto. + (-[WebInspector setWebFrame:]): Ditto. + (-[WebInspector window]): Ditto. + (-[WebInspector showWindow:]): Ditto. + + * WebView/WebView.mm: + (-[WebViewPrivate dealloc]): Release the WebInspector. + (-[WebView _close]): Call webViewClosed on the WebInspector. + (-[WebView inspector]): Create a WebInspector if needed and return it. + * WebView/WebViewPrivate.h: Add the inspector method. + +2007-10-30 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577 + <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields + + * WebView/WebHTMLView.mm: + (-[WebHTMLView flagsChanged:]): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field. + (+[WebHTMLView _postFlagsChangedEvent:]): Added a comment with a Radar number for why this isn't just in flagsChanged. + (-[WebHTMLView scrollWheel:]): Instead of calling the next responder explicitly, we can just call super, which will take care of this. + +2007-10-27 Mark Ambachtsheer <mark.a@apple.com> + + Reviewed by Darin Adler. + + Fix for bug 15710, When QD plugins draw to an offscreen bitmap and the plugin is not at + (0, 0) the clipping rectangle is not correct. + Added the origin to the window clip rectangle coordinates to account for plugins that + don't originate at (0,0); affects code for offscreen GWorlds only. + + * Plugins/WebBaseNetscapePluginView.mm: + (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): + +2007-10-26 Adele Peterson <adele@apple.com> + + Reviewed by Oliver. + + Adding WebKitSystemInterface support for the caps lock indicator + + * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): + +2007-10-25 David Hyatt <hyatt@apple.com> + + Fix for bug 15672, backgrounds don't tile properly inside transforms. This patch fixes tiling + of backgrounds inside CSS transforms and also of HTML content with background images inside SVG + transforms. + + Reviewed by aroben and mmitz + + * WebCoreSupport/WebSystemInterface.m: + (InitWebCoreSystemInterface): + * WebKit.xcodeproj/project.pbxproj: + +2007-10-25 John Sullivan <sullivan@apple.com> + + Reviewed by Tim Hatcher + + Removed the support for toggling whether WebKit uses the 10.5 PDFKit improvements. Now it + always does, when available. + + * WebView/WebPreferencesPrivate.h: + removed _usePDFPreviewView and _setUsePDFPreviewView:. Note that these were guarded with + a comment that says that they can be removed when no longer needed. That time is now. + + * WebView/WebPreferences.m: + (+[WebPreferences initialize]): + removed WebKitUsePDFPreviewViewPreferenceKey + (-[WebPreferences _usePDFPreviewView]): + removed + (-[WebPreferences _setUsePDFPreviewView:]): + removed + + * WebView/WebPDFView.mm: + (-[WebPDFView initWithFrame:]): + don't check _usePDFPreviewView + + * WebView/WebPreferenceKeysPrivate.h: + removed WebKitUsePDFPreviewViewPreferenceKey + +2007-10-24 Timothy Hatcher <timothy@apple.com> + + Reviewed by Mark Rowe. + + <rdar://problem/5069711> OpenSource version of libWebKitSystemInterface.a is Tiger only, causes issues if used on Leopard + + Use the WebKitSystemInterface that matches the system version. + + * Configurations/DebugRelease.xcconfig: + * WebKit.xcodeproj/project.pbxproj: + +2007-10-24 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + <rdar://problem/5554130> DatabaseTracker.o has a global initializer + + * Misc/WebDatabaseManager.mm: + (WebKitSetWebDatabasesPathIfNecessary): Call the member function instead of a static one + +2007-10-23 Mark Rowe <mrowe@apple.com> + + Build fix for Eric's build fix in r26916. + + * MigrateHeaders.make: + +2007-10-22 Eric Seidel <eric@webkit.org> + + Reviewed by Maciej. + + * MigrateHeaders.make: copy over font-face related DOM headers + +2007-10-22 Andrew Wellington <proton@wiretapped.net> + + Reviewed by Mark Rowe. + + Fix for local database support after r26879 + Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set + + * Configurations/WebKit.xcconfig: + +2007-10-19 Brady Eidson <beidson@apple.com> + + Reviewed by Tim Hatcher + + Added support for Chrome prompts required by the Storage API + Added support API for future managing of databases from the WebKit client + Added preference and initialization for the databases path + + * Misc/WebDatabaseManager.h: Added. WebDatabaseManager is how a WebKit application can list and + remove the current available databases + * Misc/WebDatabaseManager.mm: Added. + (+[WebDatabaseManager origins]): + (+[WebDatabaseManager databasesWithOrigin:]): + (+[WebDatabaseManager deleteAllDatabases]): + (+[WebDatabaseManager deleteAllDatabasesWithOrigin:]): + (+[WebDatabaseManager deleteDatabaseWithOrigin:named:]): + (WebKitSetWebDatabasesPathIfNecessary): Setup the database path + * Misc/WebDatabaseManagerPrivate.h: Added. + + * WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for + an origin exceeding its size limit + * WebCoreSupport/WebChromeClient.mm: + (WebChromeClient::runDatabaseSizeLimitPrompt): + * WebKit.xcodeproj/project.pbxproj: + * WebView/WebUIDelegate.h: + + * WebView/WebView.mm: + (-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path + * WebView/WebViewInternal.h: + +2007-10-19 John Sullivan <sullivan@apple.com> + + Reviewed by Tim Hatcher + + - fixed <rdar://problem/5540325> REGRESSION (2.0.4-3): History menu looks odd after clearing history + + * History/WebHistory.mm: + (-[WebHistoryPrivate removeAllItems]): + This was fallout from r25275. We need to clear the orderedLastVisitedDays cache here, in addition + to the other places where it's cleared. + +2007-10-18 Dan Bernstein <mitz@apple.com> + + Tiger build fix. + + * WebView/WebDataSource.mm: + (-[WebDataSource _MIMETypeOfResponse:]): + +2007-10-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - fix <rdar://problem/5313523> + REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::makeDocumentView): Changed to use _responseMIMEType. + * WebView/WebDataSource.mm: + (-[WebDataSource _MIMETypeOfResponse:]): Added. Works around + <rdar://problem/5321972> by testing for the case of an NSHTTPURLResponse + with a MIMEType of application/octet-stream and a Content-Type header + starting with text/plain and returning text/plain as the MIME type in + that case. + (-[WebDataSource _responseMIMEType]): Added. Used to get the correct + response MIME type. + (-[WebDataSource _isDocumentHTML]): Changed to use _responseMIMEType. + (-[WebDataSource _makeRepresentation]): Ditto. + (-[WebDataSource mainResource]): Ditto. + (-[WebDataSource subresources]): Changed to use _MIMETypeOfResponse and + pass the MIME type explicitly. + (-[WebDataSource subresourceForURL:]): Ditto. + * WebView/WebDataSourcePrivate.h: + * WebView/WebFrameView.mm: + (-[WebFrameView _makeDocumentViewForDataSource:]): Changed to use + _responseMIMEType. + * WebView/WebResource.mm: + (-[WebResource _initWithData:URL:response:MIMEType:]): Changed this + method to take a MIME type instead of extracting it from the response, + so that WebDataSource could pass the correct MIME type. + * WebView/WebResourcePrivate.h: + +2007-10-17 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + - fix <rdar://problem/5183775> Uninitialized memory in -[WebDynamicScrollBarsView updateScrollers] + + * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]): + Change code path so it doesn't dispatch a method that returns an NSSize passing a nil object. + It's safe to do that for functions that return integers or pointers, but not structures. + +2007-10-16 David Kilzer <ddkilzer@apple.com> + + Reviewed by Timothy. + + <rdar://problem/5544354> Wrong delegate method called in + WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad() + + * WebCoreSupport/WebFrameLoaderClient.mm: + (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Fixed selector name. + +2007-10-16 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - moved transpose command implementation into WebCore + + * WebView/WebHTMLView.mm: Removed transpose: and replaced it with standard WebCore forwarding. + +2007-10-16 Darin Adler <darin@apple.com> + + Reviewed by Maciej and Geoff (and looked over by Eric). + + - http://bugs.webkit.org/show_bug.cgi?id=15519 + eliminate use of <ctype.h> for processing ASCII + + * ForwardingHeaders/wtf/ASCIICType.h: Added. + * ForwardingHeaders/wtf/DisallowCType.h: Added. + + * WebKitPrefix.h: Include DisallowCType.h. + + * Misc/WebNSURLExtras.mm: (-[NSURL _web_URLWithLowercasedScheme]): Use toASCIILower. + * WebView/WebHTMLView.mm: + (-[WebHTMLView callWebCoreCommand:]): Use toASCIIUpper. + (-[WebTextCompleteController filterKeyDown:]): Add a list of specific character codes, + instead of using ispunct. + +2007-10-16 John Sullivan <sullivan@apple.com> + + Reviewed by Adam Roben + + Cleaned up localizable strings + + * English.lproj/Localizable.strings: + updated + * StringsNotToBeLocalized.txt: + updated + * WebKit.xcodeproj/project.pbxproj: + StringsNotToBeLocalized.txt recently moved but project file wasn't updated to match; now it is + +2007-10-15 Kevin Decker <kdecker@apple.com> + + Reviewed by Darin Adler. + + Fixed: <rdar://problem/5520541> REGRESSION: Broken image when forwarding certain email on Tiger + + * WebCoreSupport/WebFrameBridge.mm: The problem was that we were loading Mail's WebKit plug-in + too soon, which borked some necessary housekeeping on behalf of Mail. The fix is to add a quirk + that treats Tiger Mail's WebKit plug-in like a Netscape plug-in, thus ensuring the plug-in will + load during first layout and not attach time. For this plug-in, loading at first layout is + expected and is consistent with Safari 2 behavior. + +2007-10-15 John Sullivan <sullivan@apple.com> + + Reviewed by Geoff Garen + + Replaced NS_DURING/NS_HANDLER with @try/@catch throughout WebKit + + I made the following changes: + - replaced NS_DURING with @try, and added opening brace if there wasn't one + - replaced NS_HANDLER with @catch (NSException *localException), and added braces if there weren't any + - removed NS_ENDHANDLER, and added a closing brace if there wasn't one + - in a couple of places, fixed indentation therein + + * Misc/WebIconDatabase.mm: + (objectFromPathForKey): + * WebView/WebHTMLView.mm: + (-[WebHTMLView drawSingleRect:]): + (-[WebHTMLView beginDocument]): + (-[WebHTMLView deleteToMark:]): + * WebView/WebView.mm: + (-[WebView initWithCoder:]): + +== Rolled over to ChangeLog-2007-10-14 == |