summaryrefslogtreecommitdiffstats
path: root/WebKit/mac
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-02-02 14:57:50 +0000
committerSteve Block <steveblock@google.com>2010-02-04 15:06:55 +0000
commitd0825bca7fe65beaee391d30da42e937db621564 (patch)
tree7461c49eb5844ffd1f35d1ba2c8b7584c1620823 /WebKit/mac
parent3db770bd97c5a59b6c7574ca80a39e5a51c1defd (diff)
downloadexternal_webkit-d0825bca7fe65beaee391d30da42e937db621564.zip
external_webkit-d0825bca7fe65beaee391d30da42e937db621564.tar.gz
external_webkit-d0825bca7fe65beaee391d30da42e937db621564.tar.bz2
Merge webkit.org at r54127 : Initial merge by git
Change-Id: Ib661abb595522f50ea406f72d3a0ce17f7193c82
Diffstat (limited to 'WebKit/mac')
-rw-r--r--WebKit/mac/ChangeLog4
-rw-r--r--WebKit/mac/ChangeLog-2010-01-2923230
-rw-r--r--WebKit/mac/Configurations/FeatureDefines.xcconfig12
-rw-r--r--WebKit/mac/Configurations/Version.xcconfig2
-rw-r--r--WebKit/mac/Info.plist4
-rw-r--r--WebKit/mac/MigrateHeaders.make2
-rw-r--r--WebKit/mac/Misc/WebCache.mm2
-rw-r--r--WebKit/mac/Misc/WebElementDictionary.mm8
-rw-r--r--WebKit/mac/Misc/WebKitErrors.m7
-rw-r--r--WebKit/mac/Misc/WebKitErrorsPrivate.h9
-rw-r--r--WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.h2
-rw-r--r--WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm2
-rw-r--r--WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h6
-rw-r--r--WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.mm20
-rw-r--r--WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.h19
-rw-r--r--WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm107
-rw-r--r--WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h20
-rw-r--r--WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm75
-rw-r--r--WebKit/mac/Plugins/Hosted/ProxyInstance.h22
-rw-r--r--WebKit/mac/Plugins/Hosted/ProxyInstance.mm23
-rw-r--r--WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.h3
-rw-r--r--WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm36
-rw-r--r--WebKit/mac/Plugins/Hosted/WebKitPluginClient.defs10
-rw-r--r--WebKit/mac/Plugins/Hosted/WebKitPluginHost.defs3
-rw-r--r--WebKit/mac/Plugins/WebNetscapePluginView.h4
-rw-r--r--WebKit/mac/Plugins/WebNetscapePluginView.mm65
-rw-r--r--WebKit/mac/WebCoreSupport/WebApplicationCache.mm4
-rw-r--r--WebKit/mac/WebCoreSupport/WebChromeClient.h2
-rw-r--r--WebKit/mac/WebCoreSupport/WebChromeClient.mm24
-rw-r--r--WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm14
-rw-r--r--WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.h47
-rw-r--r--WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.mm60
-rw-r--r--WebKit/mac/WebCoreSupport/WebPluginHalterClient.mm2
-rw-r--r--WebKit/mac/WebCoreSupport/WebSystemInterface.m8
-rw-r--r--WebKit/mac/WebCoreSupport/WebViewFactory.mm10
-rw-r--r--WebKit/mac/WebKit.exp1
-rw-r--r--WebKit/mac/WebKitPrefix.h1
-rw-r--r--WebKit/mac/WebView/WebDataSource.mm4
-rw-r--r--WebKit/mac/WebView/WebFrame.mm12
-rw-r--r--WebKit/mac/WebView/WebFrameView.mm9
-rw-r--r--WebKit/mac/WebView/WebGeolocationPosition.h35
-rw-r--r--WebKit/mac/WebView/WebGeolocationPosition.mm86
-rw-r--r--WebKit/mac/WebView/WebGeolocationPositionInternal.h36
-rw-r--r--WebKit/mac/WebView/WebHTMLRepresentation.h13
-rw-r--r--WebKit/mac/WebView/WebHTMLRepresentation.mm23
-rw-r--r--WebKit/mac/WebView/WebHTMLView.mm29
-rw-r--r--WebKit/mac/WebView/WebPreferenceKeysPrivate.h1
-rw-r--r--WebKit/mac/WebView/WebPreferences.mm15
-rw-r--r--WebKit/mac/WebView/WebPreferencesPrivate.h3
-rw-r--r--WebKit/mac/WebView/WebScriptDebugger.h2
-rw-r--r--WebKit/mac/WebView/WebScriptDebugger.mm2
-rw-r--r--WebKit/mac/WebView/WebScriptWorld.h5
-rw-r--r--WebKit/mac/WebView/WebScriptWorld.mm7
-rw-r--r--WebKit/mac/WebView/WebVideoFullscreenController.mm1
-rw-r--r--WebKit/mac/WebView/WebView.mm70
-rw-r--r--WebKit/mac/WebView/WebViewData.h3
-rw-r--r--WebKit/mac/WebView/WebViewData.mm4
-rw-r--r--WebKit/mac/WebView/WebViewPrivate.h18
58 files changed, 24124 insertions, 124 deletions
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 17c7470..13dd4e1 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
2010-01-19 Steve Block <steveblock@google.com>
Reviewed by Adam Barth.
@@ -22570,3 +22571,6 @@
(-[WebView initWithCoder:]):
== Rolled over to ChangeLog-2007-10-14 ==
+=======
+== Rolled over to ChangeLog-2010-01-29 ==
+>>>>>>> webkit.org at r54127
diff --git a/WebKit/mac/ChangeLog-2010-01-29 b/WebKit/mac/ChangeLog-2010-01-29
new file mode 100644
index 0000000..e734309
--- /dev/null
+++ b/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 ==
diff --git a/WebKit/mac/Configurations/FeatureDefines.xcconfig b/WebKit/mac/Configurations/FeatureDefines.xcconfig
index cd462d6..24589c7 100644
--- a/WebKit/mac/Configurations/FeatureDefines.xcconfig
+++ b/WebKit/mac/Configurations/FeatureDefines.xcconfig
@@ -26,6 +26,9 @@
// WebCore and WebKit. Also the default values of the ENABLE_FEATURE_NAME macros in build-webkit
// should match the values below, but they do not need to be in the same order.
+// Keep this list of features (not enabled/disabled state) in sync with FeatureDefines.vsprops
+// and FeatureDefinesCairo.vsprops in WebKitLibraries/win/tools/vsprops.
+
// Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.
ENABLE_3D_CANVAS = $(ENABLE_3D_CANVAS_$(MAC_OS_X_VERSION_MAJOR));
@@ -39,14 +42,16 @@ ENABLE_3D_RENDERING_1060 = ENABLE_3D_RENDERING;
ENABLE_3D_RENDERING_1070 = ENABLE_3D_RENDERING;
ENABLE_CHANNEL_MESSAGING = ENABLE_CHANNEL_MESSAGING;
+ENABLE_CLIENT_BASED_GEOLOCATION = ENABLE_CLIENT_BASED_GEOLOCATION;
ENABLE_DATABASE = ENABLE_DATABASE;
-ENABLE_DATAGRID = ENABLE_DATAGRID;
+ENABLE_DATAGRID = ;
ENABLE_DATALIST = ENABLE_DATALIST;
ENABLE_DOM_STORAGE = ENABLE_DOM_STORAGE;
ENABLE_EVENTSOURCE = ENABLE_EVENTSOURCE;
ENABLE_FILTERS = ENABLE_FILTERS;
-ENABLE_GEOLOCATION = ;
+ENABLE_GEOLOCATION = ENABLE_GEOLOCATION;
ENABLE_ICONDATABASE = ENABLE_ICONDATABASE;
+ENABLE_INDEXED_DATABASE = ;
ENABLE_JAVASCRIPT_DEBUGGER = ENABLE_JAVASCRIPT_DEBUGGER;
ENABLE_MATHML = ;
ENABLE_NOTIFICATIONS = ;
@@ -63,7 +68,8 @@ ENABLE_VIDEO = ENABLE_VIDEO;
ENABLE_WEB_SOCKETS = ENABLE_WEB_SOCKETS;
ENABLE_WML = ;
ENABLE_WORKERS = ENABLE_WORKERS;
+ENABLE_XHTMLMP = ;
ENABLE_XPATH = ENABLE_XPATH;
ENABLE_XSLT = ENABLE_XSLT;
-FEATURE_DEFINES = $(ENABLE_3D_CANVAS) $(ENABLE_3D_RENDERING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XPATH) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_CANVAS) $(ENABLE_3D_RENDERING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_DATABASE) $(ENABLE_DATAGRID) $(ENABLE_DATALIST) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILTERS) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_MATHML) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_VIDEO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WML) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);
diff --git a/WebKit/mac/Configurations/Version.xcconfig b/WebKit/mac/Configurations/Version.xcconfig
index b3bf41d..75f9bd4 100644
--- a/WebKit/mac/Configurations/Version.xcconfig
+++ b/WebKit/mac/Configurations/Version.xcconfig
@@ -22,7 +22,7 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 532;
-MINOR_VERSION = 6;
+MINOR_VERSION = 9;
TINY_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION);
diff --git a/WebKit/mac/Info.plist b/WebKit/mac/Info.plist
index 849742c..7232293 100644
--- a/WebKit/mac/Info.plist
+++ b/WebKit/mac/Info.plist
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
@@ -7,7 +7,7 @@
<key>CFBundleExecutable</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleGetInfoString</key>
- <string>${BUNDLE_VERSION}, Copyright 2003-2009 Apple Inc.</string>
+ <string>${BUNDLE_VERSION}, Copyright 2003-2010 Apple Inc.</string>
<key>CFBundleIdentifier</key>
<string>com.apple.${PRODUCT_NAME}</string>
<key>CFBundleInfoDictionaryVersion</key>
diff --git a/WebKit/mac/MigrateHeaders.make b/WebKit/mac/MigrateHeaders.make
index 072da65..7d01c99 100644
--- a/WebKit/mac/MigrateHeaders.make
+++ b/WebKit/mac/MigrateHeaders.make
@@ -36,6 +36,8 @@ all : \
$(PUBLIC_HEADERS_DIR)/DOM.h \
$(PUBLIC_HEADERS_DIR)/DOMAbstractView.h \
$(PUBLIC_HEADERS_DIR)/DOMAttr.h \
+ $(PRIVATE_HEADERS_DIR)/DOMBlob.h \
+ $(INTERNAL_HEADERS_DIR)/DOMBlobInternal.h \
$(PUBLIC_HEADERS_DIR)/DOMCDATASection.h \
$(PUBLIC_HEADERS_DIR)/DOMCSS.h \
$(PUBLIC_HEADERS_DIR)/DOMCSSCharsetRule.h \
diff --git a/WebKit/mac/Misc/WebCache.mm b/WebKit/mac/Misc/WebCache.mm
index 6013a5f..b29f720 100644
--- a/WebKit/mac/Misc/WebCache.mm
+++ b/WebKit/mac/Misc/WebCache.mm
@@ -115,8 +115,10 @@
[WebView _setCacheModel:WebCacheModelDocumentViewer];
[WebView _setCacheModel:cacheModel];
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
// Empty the application cache.
WebCore::cacheStorage().empty();
+#endif
// Empty the Cross-Origin Preflight cache
WebCore::CrossOriginPreflightResultCache::shared().empty();
diff --git a/WebKit/mac/Misc/WebElementDictionary.mm b/WebKit/mac/Misc/WebElementDictionary.mm
index aa703e0..7779392 100644
--- a/WebKit/mac/Misc/WebElementDictionary.mm
+++ b/WebKit/mac/Misc/WebElementDictionary.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -91,6 +91,7 @@ static void cacheValueForKey(const void *key, const void *value, void *self)
addLookupKey(WebElementLinkLabelKey, @selector(_textContent));
addLookupKey(WebElementLinkIsLiveKey, @selector(_isLiveLink));
addLookupKey(WebElementIsContentEditableKey, @selector(_isContentEditable));
+ addLookupKey(WebElementIsInScrollBarKey, @selector(_isInScrollBar));
}
- (id)initWithHitTestResult:(const HitTestResult&)result
@@ -254,4 +255,9 @@ static NSString* NSStringOrNil(String coreString)
return [NSNumber numberWithBool:_result->isContentEditable()];
}
+- (NSNumber *)_isInScrollBar
+{
+ return [NSNumber numberWithBool:_result->scrollbar() != 0];
+}
+
@end
diff --git a/WebKit/mac/Misc/WebKitErrors.m b/WebKit/mac/Misc/WebKitErrors.m
index ec42dc9..09aa907 100644
--- a/WebKit/mac/Misc/WebKitErrors.m
+++ b/WebKit/mac/Misc/WebKitErrors.m
@@ -53,6 +53,10 @@ NSString * const WebKitErrorPlugInPageURLStringKey = @"WebKitErrorPlugInPageU
#define WebKitErrorDescriptionPlugInCancelledConnection UI_STRING("Plug-in cancelled", "WebKitErrorPlugInCancelledConnection description")
#define WebKitErrorDescriptionPlugInWillHandleLoad UI_STRING("Plug-in handled load", "WebKitErrorPlugInWillHandleLoad description")
+// Geolocations errors
+
+#define WebKitErrorDescriptionGeolocationLocationUnknown UI_STRING("The current location cannot be found.", "WebKitErrorGeolocationLocationUnknown description")
+
static pthread_once_t registerErrorsControl = PTHREAD_ONCE_INIT;
static void registerErrors(void);
@@ -161,6 +165,9 @@ static void registerErrors()
WebKitErrorDescriptionJavaUnavailable, [NSNumber numberWithInt: WebKitErrorJavaUnavailable],
WebKitErrorDescriptionPlugInCancelledConnection, [NSNumber numberWithInt: WebKitErrorPlugInCancelledConnection],
WebKitErrorDescriptionPlugInWillHandleLoad, [NSNumber numberWithInt: WebKitErrorPlugInWillHandleLoad],
+
+ // Geolocation errors
+ WebKitErrorDescriptionGeolocationLocationUnknown, [NSNumber numberWithInt: WebKitErrorGeolocationLocationUnknown],
nil];
[NSError _webkit_addErrorsWithCodesAndDescriptions:dict inDomain:WebKitErrorDomain];
diff --git a/WebKit/mac/Misc/WebKitErrorsPrivate.h b/WebKit/mac/Misc/WebKitErrorsPrivate.h
index 6a98c4e..eee50a0 100644
--- a/WebKit/mac/Misc/WebKitErrorsPrivate.h
+++ b/WebKit/mac/Misc/WebKitErrorsPrivate.h
@@ -41,6 +41,15 @@ enum {
WebKitErrorCannotUseRestrictedPort = 103,
};
+/*!
+ @enum
+ @abstract Geolocation errors
+ @constant WebKitErrorGeolocationLocationUnknown
+*/
+enum {
+ WebKitErrorGeolocationLocationUnknown = 300,
+};
+
@interface NSError (WebKitExtras)
+ (NSError *)_webKitErrorWithCode:(int)code failingURL:(NSString *)URL;
+ (NSError *)_webKitErrorWithDomain:(NSString *)domain code:(int)code URL:(NSURL *)URL;
diff --git a/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.h b/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.h
index 946c8ac..34cea32 100644
--- a/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.h
+++ b/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.h
@@ -70,6 +70,8 @@ public:
void cancelLoad(NPReason reason);
+ static NPReason reasonForError(NSError* error);
+
private:
NSError *errorForReason(NPReason) const;
void cancelLoad(NSError *);
diff --git a/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm b/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm
index 5c25ef7..98b5a7e 100644
--- a/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm
+++ b/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm
@@ -183,7 +183,7 @@ void HostedNetscapePluginStream::didReceiveResponse(NetscapePlugInStreamLoader*,
startStream([r URL], expectedContentLength, WKGetNSURLResponseLastModifiedDate(r), [r MIMEType], theHeaders);
}
-static NPReason reasonForError(NSError *error)
+NPReason HostedNetscapePluginStream::reasonForError(NSError *error)
{
if (!error)
return NPRES_DONE;
diff --git a/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h b/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h
index 9e29062..e62d87a 100644
--- a/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h
+++ b/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h
@@ -43,7 +43,7 @@ class NetscapePluginHostManager {
public:
static NetscapePluginHostManager& shared();
- PassRefPtr<NetscapePluginInstanceProxy> instantiatePlugin(WebNetscapePluginPackage *, WebHostedNetscapePluginView *, NSString *mimeType, NSArray *attributeKeys, NSArray *attributeValues, NSString *userAgent, NSURL *sourceURL, bool fullFrame, bool isPrivateBrowsingEnabled);
+ PassRefPtr<NetscapePluginInstanceProxy> instantiatePlugin(WebNetscapePluginPackage *, WebHostedNetscapePluginView *, NSString *mimeType, NSArray *attributeKeys, NSArray *attributeValues, NSString *userAgent, NSURL *sourceURL, bool fullFrame, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled);
void pluginHostDied(NetscapePluginHostProxy*);
@@ -52,12 +52,12 @@ public:
void didCreateWindow();
private:
- NetscapePluginHostProxy* hostForPackage(WebNetscapePluginPackage *);
+ NetscapePluginHostProxy* hostForPackage(WebNetscapePluginPackage *, bool useProxiedOpenPanel);
NetscapePluginHostManager();
~NetscapePluginHostManager();
- bool spawnPluginHost(WebNetscapePluginPackage *, mach_port_t clientPort, mach_port_t& pluginHostPort, ProcessSerialNumber& pluginHostPSN);
+ bool spawnPluginHost(WebNetscapePluginPackage *, mach_port_t clientPort, mach_port_t& pluginHostPort, ProcessSerialNumber& pluginHostPSN, bool useProxiedOpenPanel);
bool initializeVendorPort();
diff --git a/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.mm b/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.mm
index 6b36a6d..281d41f 100644
--- a/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.mm
+++ b/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.mm
@@ -31,7 +31,10 @@
#import "NetscapePluginInstanceProxy.h"
#import "WebLocalizableStrings.h"
#import "WebKitSystemInterface.h"
+#import "WebHostedNetscapePluginView.h"
#import "WebNetscapePluginPackage.h"
+#import "WebPreferencesPrivate.h"
+#import "WebView.h"
#import <mach/mach_port.h>
#import <servers/bootstrap.h>
#import <spawn.h>
@@ -66,7 +69,7 @@ NetscapePluginHostManager::~NetscapePluginHostManager()
{
}
-NetscapePluginHostProxy* NetscapePluginHostManager::hostForPackage(WebNetscapePluginPackage *package)
+NetscapePluginHostProxy* NetscapePluginHostManager::hostForPackage(WebNetscapePluginPackage *package, bool useProxiedOpenPanel)
{
pair<PluginHostMap::iterator, bool> result = m_pluginHosts.add(package, 0);
@@ -82,7 +85,7 @@ NetscapePluginHostProxy* NetscapePluginHostManager::hostForPackage(WebNetscapePl
mach_port_t pluginHostPort;
ProcessSerialNumber pluginHostPSN;
- if (!spawnPluginHost(package, clientPort, pluginHostPort, pluginHostPSN)) {
+ if (!spawnPluginHost(package, clientPort, pluginHostPort, pluginHostPSN, useProxiedOpenPanel)) {
mach_port_destroy(mach_task_self(), clientPort);
m_pluginHosts.remove(result.first);
return 0;
@@ -100,7 +103,7 @@ NetscapePluginHostProxy* NetscapePluginHostManager::hostForPackage(WebNetscapePl
return hostProxy;
}
-bool NetscapePluginHostManager::spawnPluginHost(WebNetscapePluginPackage *package, mach_port_t clientPort, mach_port_t& pluginHostPort, ProcessSerialNumber& pluginHostPSN)
+bool NetscapePluginHostManager::spawnPluginHost(WebNetscapePluginPackage *package, mach_port_t clientPort, mach_port_t& pluginHostPort, ProcessSerialNumber& pluginHostPSN, bool useProxiedOpenPanel)
{
if (m_pluginVendorPort == MACH_PORT_NULL) {
if (!initializeVendorPort())
@@ -120,6 +123,7 @@ bool NetscapePluginHostManager::spawnPluginHost(WebNetscapePluginPackage *packag
pluginHostAppExecutablePath, @"pluginHostPath",
[NSNumber numberWithInt:[package pluginHostArchitecture]], @"cpuType",
localization.get(), @"localization",
+ [NSNumber numberWithBool:useProxiedOpenPanel], @"useProxiedOpenPanel",
nil];
NSData *data = [NSPropertyListSerialization dataFromPropertyList:launchProperties format:NSPropertyListBinaryFormat_v1_0 errorDescription:0];
@@ -211,9 +215,10 @@ void NetscapePluginHostManager::pluginHostDied(NetscapePluginHostProxy* pluginHo
}
}
-PassRefPtr<NetscapePluginInstanceProxy> NetscapePluginHostManager::instantiatePlugin(WebNetscapePluginPackage *pluginPackage, WebHostedNetscapePluginView *pluginView, NSString *mimeType, NSArray *attributeKeys, NSArray *attributeValues, NSString *userAgent, NSURL *sourceURL, bool fullFrame, bool isPrivateBrowsingEnabled)
+PassRefPtr<NetscapePluginInstanceProxy> NetscapePluginHostManager::instantiatePlugin(WebNetscapePluginPackage *pluginPackage, WebHostedNetscapePluginView *pluginView, NSString *mimeType, NSArray *attributeKeys, NSArray *attributeValues, NSString *userAgent, NSURL *sourceURL, bool fullFrame, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled)
{
- NetscapePluginHostProxy* hostProxy = hostForPackage(pluginPackage);
+ WebPreferences *preferences = [[pluginView webView] preferences];
+ NetscapePluginHostProxy* hostProxy = hostForPackage(pluginPackage, [preferences usesProxiedOpenPanel]);
if (!hostProxy)
return 0;
@@ -236,7 +241,8 @@ PassRefPtr<NetscapePluginInstanceProxy> NetscapePluginHostManager::instantiatePl
[properties.get() setObject:[NSNumber numberWithBool:fullFrame] forKey:@"fullFrame"];
[properties.get() setObject:[NSNumber numberWithBool:isPrivateBrowsingEnabled] forKey:@"privateBrowsingEnabled"];
-
+ [properties.get() setObject:[NSNumber numberWithBool:isAcceleratedCompositingEnabled] forKey:@"acceleratedCompositingEnabled"];
+
NSData *data = [NSPropertyListSerialization dataFromPropertyList:properties.get() format:NSPropertyListBinaryFormat_v1_0 errorDescription:nil];
ASSERT(data);
@@ -251,7 +257,7 @@ PassRefPtr<NetscapePluginInstanceProxy> NetscapePluginHostManager::instantiatePl
pluginHostDied(hostProxy);
// Try to spawn it again.
- hostProxy = hostForPackage(pluginPackage);
+ hostProxy = hostForPackage(pluginPackage, [preferences usesProxiedOpenPanel]);
// Create a new instance.
instance = NetscapePluginInstanceProxy::create(hostProxy, pluginView, fullFrame);
diff --git a/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.h b/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.h
index c3b58de..cd3729f 100644
--- a/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.h
+++ b/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.h
@@ -50,10 +50,13 @@ public:
void removePluginInstance(NetscapePluginInstanceProxy*);
NetscapePluginInstanceProxy* pluginInstance(uint32_t pluginID);
-
+
bool isMenuBarVisible() const { return m_menuBarIsVisible; }
void setMenuBarVisible(bool);
-
+
+ bool isFullScreenWindowShowing() const { return m_fullScreenWindowIsShowing; }
+ void setFullScreenWindowIsShowing(bool);
+
void setModal(bool);
void applicationDidBecomeActive();
@@ -69,8 +72,11 @@ private:
void beginModal();
void endModal();
-
- static void deadNameNotificationCallback(CFMachPortRef port, void *msg, CFIndex size, void *info);
+
+ void didEnterFullScreen() const;
+ void didExitFullScreen() const;
+
+ static void deadNameNotificationCallback(CFMachPortRef, void *msg, CFIndex size, void *info);
typedef HashMap<uint32_t, RefPtr<NetscapePluginInstanceProxy> > PluginInstanceMap;
PluginInstanceMap m_instances;
@@ -90,10 +96,11 @@ private:
RetainPtr<WebPlaceholderModalWindow *> m_placeholderWindow;
unsigned m_isModal;
bool m_menuBarIsVisible;
+ bool m_fullScreenWindowIsShowing;
const ProcessSerialNumber m_pluginHostPSN;
-
+
unsigned m_processingRequests;
-
+
bool m_shouldCacheMissingPropertiesAndMethods;
};
diff --git a/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm b/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm
index 970f5f5..0e6c9a3 100644
--- a/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm
+++ b/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm
@@ -94,6 +94,7 @@ NetscapePluginHostProxy::NetscapePluginHostProxy(mach_port_t clientPort, mach_po
, m_pluginHostPort(pluginHostPort)
, m_isModal(false)
, m_menuBarIsVisible(true)
+ , m_fullScreenWindowIsShowing(false)
, m_pluginHostPSN(pluginHostPSN)
, m_processingRequests(0)
, m_shouldCacheMissingPropertiesAndMethods(shouldCacheMissingPropertiesAndMethods)
@@ -196,14 +197,42 @@ void NetscapePluginHostProxy::deadNameNotificationCallback(CFMachPortRef port, v
void NetscapePluginHostProxy::setMenuBarVisible(bool visible)
{
m_menuBarIsVisible = visible;
-
+
[NSMenu setMenuBarVisible:visible];
- if (visible) {
- // Make ourselves the front app
- ProcessSerialNumber psn;
- GetCurrentProcess(&psn);
- SetFrontProcess(&psn);
- }
+}
+
+void NetscapePluginHostProxy::didEnterFullScreen() const
+{
+ SetFrontProcess(&m_pluginHostPSN);
+}
+
+void NetscapePluginHostProxy::didExitFullScreen() const
+{
+ // If the plug-in host is the current application then we should bring ourselves to the front when it exits full-screen mode.
+
+ ProcessSerialNumber frontProcess;
+ GetFrontProcess(&frontProcess);
+ Boolean isSameProcess = 0;
+ SameProcess(&frontProcess, &m_pluginHostPSN, &isSameProcess);
+ if (!isSameProcess)
+ return;
+
+ ProcessSerialNumber currentProcess;
+ GetCurrentProcess(&currentProcess);
+ SetFrontProcess(&currentProcess);
+}
+
+void NetscapePluginHostProxy::setFullScreenWindowIsShowing(bool isShowing)
+{
+ if (m_fullScreenWindowIsShowing == isShowing)
+ return;
+
+ m_fullScreenWindowIsShowing = isShowing;
+ if (m_fullScreenWindowIsShowing)
+ didEnterFullScreen();
+ else
+ didExitFullScreen();
+
}
void NetscapePluginHostProxy::applicationDidBecomeActive()
@@ -875,7 +904,18 @@ kern_return_t WKPCSetMenuBarVisible(mach_port_t clientPort, boolean_t menuBarVis
return KERN_FAILURE;
hostProxy->setMenuBarVisible(menuBarVisible);
-
+
+ return KERN_SUCCESS;
+}
+
+kern_return_t WKPCSetFullScreenWindowIsShowing(mach_port_t clientPort, boolean_t fullScreenWindowIsShowing)
+{
+ NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
+ if (!hostProxy)
+ return KERN_FAILURE;
+
+ hostProxy->setFullScreenWindowIsShowing(fullScreenWindowIsShowing);
+
return KERN_SUCCESS;
}
@@ -1058,4 +1098,55 @@ kern_return_t WKPCResolveURL(mach_port_t clientPort, uint32_t pluginID, data_t u
return KERN_SUCCESS;
}
+#if !defined(BUILDING_ON_SNOW_LEOPARD)
+kern_return_t WKPCRunSyncOpenPanel(mach_port_t clientPort, data_t panelData, mach_msg_type_number_t panelDataLength)
+{
+ DataDeallocator panelDataDeallocator(panelData, panelDataLength);
+
+ NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
+ if (!hostProxy)
+ return KERN_FAILURE;
+
+ NSOpenPanel *sheet = [NSOpenPanel openPanel];
+ NSDictionary *panelState = [NSPropertyListSerialization propertyListFromData:[NSData dataWithBytes:panelData length:panelDataLength]
+ mutabilityOption:NSPropertyListImmutable
+ format:NULL
+ errorDescription:nil];
+
+ [sheet setCanChooseFiles:[[panelState objectForKey:@"canChooseFiles"] boolValue]];
+ [sheet setCanChooseDirectories:[[panelState objectForKey:@"canChooseDirectories"] boolValue]];
+ [sheet setResolvesAliases:[[panelState objectForKey:@"resolvesAliases"] boolValue]];
+ [sheet setAllowsMultipleSelection:[[panelState objectForKey:@"allowsMultipleSelection"] boolValue]];
+ [sheet setCanCreateDirectories:[[panelState objectForKey:@"canCreateDirectories"] boolValue]];
+ [sheet setShowsHiddenFiles:[[panelState objectForKey:@"showsHiddenFiles"] boolValue]];
+ [sheet setExtensionHidden:[[panelState objectForKey:@"isExtensionHidden"] boolValue]];
+ [sheet setCanSelectHiddenExtension:[[panelState objectForKey:@"canSelectHiddenExtension"] boolValue]];
+ [sheet setAllowsOtherFileTypes:[[panelState objectForKey:@"allowsOtherFileTypes"] boolValue]];
+ [sheet setTreatsFilePackagesAsDirectories:[[panelState objectForKey:@"treatsFilePackagesAsDirectories"] boolValue]];
+ [sheet setPrompt:[panelState objectForKey:@"prompt"]];
+ [sheet setNameFieldLabel:[panelState objectForKey:@"nameFieldLabel"]];
+ [sheet setMessage:[panelState objectForKey:@"message"]];
+ [sheet setAllowedFileTypes:[panelState objectForKey:@"allowedFileTypes"]];
+ [sheet setRequiredFileType:[panelState objectForKey:@"requiredFileType"]];
+ [sheet setTitle:[panelState objectForKey:@"title"]];
+ [sheet runModal];
+
+ NSDictionary *ret = [NSDictionary dictionaryWithObjectsAndKeys:
+ [sheet filenames], @"filenames",
+ WKNoteOpenPanelFiles([sheet filenames]), @"extensions",
+ nil];
+
+ RetainPtr<NSData*> data = [NSPropertyListSerialization dataFromPropertyList:ret format:NSPropertyListBinaryFormat_v1_0 errorDescription:0];
+ ASSERT(data);
+
+ _WKPHSyncOpenPanelReply(hostProxy->port(), const_cast<char *>(static_cast<const char*>([data.get() bytes])), [data.get() length]);
+ return KERN_SUCCESS;
+}
+#else
+kern_return_t WKPCRunSyncOpenPanel(mach_port_t clientPort, data_t panelData, mach_msg_type_number_t panelDataLength)
+{
+ return KERN_FAILURE;
+}
+#endif // !defined(BUILDING_ON_SNOW_LEOPARD)
+
#endif // USE(PLUGIN_HOST_PROCESS)
diff --git a/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h b/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
index c950ab7..2ef6b02 100644
--- a/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
+++ b/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2008, 2009, 2010 Apple Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -49,11 +49,13 @@ namespace JSC {
}
}
@class WebHostedNetscapePluginView;
+@class WebFrame;
namespace WebKit {
class HostedNetscapePluginStream;
class NetscapePluginHostProxy;
+class PluginRequest;
class ProxyInstance;
class NetscapePluginInstanceProxy : public RefCounted<NetscapePluginInstanceProxy> {
@@ -247,6 +249,8 @@ public:
template <typename T>
std::auto_ptr<T> waitForReply(uint32_t requestID)
{
+ willCallPluginFunction();
+
m_waitingForReply = true;
Reply* reply = processRequestsAndWaitForReply(requestID);
@@ -254,13 +258,18 @@ public:
ASSERT(reply->m_type == T::ReplyType);
m_waitingForReply = false;
+
+ didCallPluginFunction();
+
return std::auto_ptr<T>(static_cast<T*>(reply));
}
+ void webFrameDidFinishLoadWithReason(WebFrame*, NPReason);
+
private:
- NetscapePluginInstanceProxy(NetscapePluginHostProxy*, WebHostedNetscapePluginView *, bool fullFramePlugin);
+ NetscapePluginInstanceProxy(NetscapePluginHostProxy*, WebHostedNetscapePluginView*, bool fullFramePlugin);
- NPError loadRequest(NSURLRequest *, const char* cTarget, bool currentEventIsUserGesture, uint32_t& streamID);
+ NPError loadRequest(NSURLRequest*, const char* cTarget, bool currentEventIsUserGesture, uint32_t& streamID);
class PluginRequest;
void performRequest(PluginRequest*);
@@ -274,7 +283,7 @@ private:
void requestTimerFired(WebCore::Timer<NetscapePluginInstanceProxy>*);
WebCore::Timer<NetscapePluginInstanceProxy> m_requestTimer;
- Deque<PluginRequest*> m_pluginRequests;
+ Deque<RefPtr<PluginRequest> > m_pluginRequests;
HashMap<uint32_t, RefPtr<HostedNetscapePluginStream> > m_streams;
@@ -313,6 +322,9 @@ private:
bool m_pluginIsWaitingForDraw;
RefPtr<HostedNetscapePluginStream> m_manualStream;
+
+ typedef HashMap<WebFrame*, RefPtr<PluginRequest> > FrameLoadMap;
+ FrameLoadMap m_pendingFrameLoads;
};
} // namespace WebKit
diff --git a/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm b/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
index 4ae0220..187b0ea 100644
--- a/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
+++ b/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2008, 2009, 2010 Apple Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -72,9 +72,20 @@ using namespace WebCore;
namespace WebKit {
-class NetscapePluginInstanceProxy::PluginRequest {
+class NetscapePluginInstanceProxy::PluginRequest : public RefCounted<NetscapePluginInstanceProxy::PluginRequest> {
public:
- PluginRequest(uint32_t requestID, NSURLRequest *request, NSString *frameName, bool allowPopups)
+ static PassRefPtr<PluginRequest> create(uint32_t requestID, NSURLRequest* request, NSString* frameName, bool allowPopups)
+ {
+ return adoptRef(new PluginRequest(requestID, request, frameName, allowPopups));
+ }
+
+ uint32_t requestID() const { return m_requestID; }
+ NSURLRequest* request() const { return m_request.get(); }
+ NSString* frameName() const { return m_frameName.get(); }
+ bool allowPopups() const { return m_allowPopups; }
+
+private:
+ PluginRequest(uint32_t requestID, NSURLRequest* request, NSString* frameName, bool allowPopups)
: m_requestID(requestID)
, m_request(request)
, m_frameName(frameName)
@@ -82,15 +93,9 @@ public:
{
}
- uint32_t requestID() const { return m_requestID; }
- NSURLRequest *request() const { return m_request.get(); }
- NSString *frameName() const { return m_frameName.get(); }
- bool allowPopups() const { return m_allowPopups; }
-
-private:
uint32_t m_requestID;
- RetainPtr<NSURLRequest *> m_request;
- RetainPtr<NSString *> m_frameName;
+ RetainPtr<NSURLRequest*> m_request;
+ RetainPtr<NSString*> m_frameName;
bool m_allowPopups;
};
@@ -212,6 +217,10 @@ void NetscapePluginInstanceProxy::destroy()
m_inDestroy = true;
+ FrameLoadMap::iterator end = m_pendingFrameLoads.end();
+ for (FrameLoadMap::iterator it = m_pendingFrameLoads.begin(); it != end; ++it)
+ [(it->first) _setInternalLoadDelegate:nil];
+
_WKPHDestroyPluginInstance(m_pluginHostProxy->port(), m_pluginID, requestID);
// If the plug-in host crashes while we're waiting for a reply, the last reference to the instance proxy
@@ -517,8 +526,33 @@ void NetscapePluginInstanceProxy::performRequest(PluginRequest* pluginRequest)
if (JSString) {
ASSERT(!frame || [m_pluginView webFrame] == frame);
evaluateJavaScript(pluginRequest);
- } else
+ } else {
[frame loadRequest:request];
+
+ // Check if another plug-in view or even this view is waiting for the frame to load.
+ // If it is, tell it that the load was cancelled because it will be anyway.
+ WebHostedNetscapePluginView *view = [frame _internalLoadDelegate];
+ if (view != nil) {
+ ASSERT([view isKindOfClass:[WebHostedNetscapePluginView class]]);
+ [view webFrame:frame didFinishLoadWithReason:NPRES_USER_BREAK];
+ }
+ m_pendingFrameLoads.set(frame, pluginRequest);
+ [frame _setInternalLoadDelegate:m_pluginView];
+ }
+
+}
+
+void NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason(WebFrame* webFrame, NPReason reason)
+{
+ FrameLoadMap::iterator it = m_pendingFrameLoads.find(webFrame);
+ ASSERT(it != m_pendingFrameLoads.end());
+
+ PluginRequest* pluginRequest = it->second.get();
+ _WKPHLoadURLNotify(m_pluginHostProxy->port(), m_pluginID, pluginRequest->requestID(), reason);
+
+ m_pendingFrameLoads.remove(it);
+
+ [webFrame _setInternalLoadDelegate:nil];
}
void NetscapePluginInstanceProxy::evaluateJavaScript(PluginRequest* pluginRequest)
@@ -557,14 +591,13 @@ void NetscapePluginInstanceProxy::requestTimerFired(Timer<NetscapePluginInstance
ASSERT(!m_pluginRequests.isEmpty());
ASSERT(m_pluginView);
- PluginRequest* request = m_pluginRequests.first();
+ RefPtr<PluginRequest> request = m_pluginRequests.first();
m_pluginRequests.removeFirst();
if (!m_pluginRequests.isEmpty())
m_requestTimer.startOneShot(0);
- performRequest(request);
- delete request;
+ performRequest(request.get());
}
NPError NetscapePluginInstanceProxy::loadRequest(NSURLRequest *request, const char* cTarget, bool allowPopups, uint32_t& requestID)
@@ -616,8 +649,8 @@ NPError NetscapePluginInstanceProxy::loadRequest(NSURLRequest *request, const ch
return NPERR_INVALID_PARAM;
}
- PluginRequest* pluginRequest = new PluginRequest(requestID, request, target, allowPopups);
- m_pluginRequests.append(pluginRequest);
+ RefPtr<PluginRequest> pluginRequest = PluginRequest::create(requestID, request, target, allowPopups);
+ m_pluginRequests.append(pluginRequest.release());
m_requestTimer.startOneShot(0);
} else {
RefPtr<HostedNetscapePluginStream> stream = HostedNetscapePluginStream::create(this, requestID, request);
@@ -663,7 +696,7 @@ bool NetscapePluginInstanceProxy::getWindowNPObject(uint32_t& objectID)
if (!frame)
return false;
- if (!frame->script()->isEnabled())
+ if (!frame->script()->canExecuteScripts())
objectID = 0;
else
objectID = idForObject(frame->script()->windowShell(pluginWorld())->window());
@@ -1168,7 +1201,7 @@ bool NetscapePluginInstanceProxy::demarshalValueFromArray(ExecState* exec, NSArr
if (!frame)
return false;
- if (!frame->script()->isEnabled())
+ if (!frame->script()->canExecuteScripts())
return false;
RefPtr<RootObject> rootObject = frame->script()->createRootObject(m_pluginView);
@@ -1220,6 +1253,10 @@ PassRefPtr<Instance> NetscapePluginInstanceProxy::createBindingsInstance(PassRef
if (_WKPHGetScriptableNPObject(m_pluginHostProxy->port(), m_pluginID, requestID) != KERN_SUCCESS)
return 0;
+
+ // If the plug-in host crashes while we're waiting for a reply, the last reference to the instance proxy
+ // will go away. Prevent this by protecting it here.
+ RefPtr<NetscapePluginInstanceProxy> protect(this);
auto_ptr<GetScriptableNPObjectReply> reply = waitForReply<GetScriptableNPObjectReply>(requestID);
if (!reply.get())
diff --git a/WebKit/mac/Plugins/Hosted/ProxyInstance.h b/WebKit/mac/Plugins/Hosted/ProxyInstance.h
index f84c685..138a316 100644
--- a/WebKit/mac/Plugins/Hosted/ProxyInstance.h
+++ b/WebKit/mac/Plugins/Hosted/ProxyInstance.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2009, 2010 Apple Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -28,15 +28,22 @@
#ifndef ProxyInstance_h
#define ProxyInstance_h
+<<<<<<< HEAD
#include <WebCore/Bridge.h>
#include <WebCore/runtime_root.h>
#include <wtf/OwnPtr.h>
#include "WebKitPluginHostTypes.h"
+=======
+#import "NetscapePluginInstanceProxy.h"
+#import "WebKitPluginHostTypes.h"
+#import <WebCore/Bridge.h>
+#import <WebCore/runtime_root.h>
+#import <wtf/OwnPtr.h>
+>>>>>>> webkit.org at r54127
namespace WebKit {
class ProxyClass;
-class NetscapePluginInstanceProxy;
class ProxyInstance : public JSC::Bindings::Instance {
public:
@@ -80,6 +87,17 @@ private:
JSC::JSValue invoke(JSC::ExecState*, InvokeType, uint64_t identifier, const JSC::ArgList& args);
+ template <typename T>
+ std::auto_ptr<T> waitForReply(uint32_t requestID) const {
+ std::auto_ptr<T> reply = m_instanceProxy->waitForReply<T>(requestID);
+
+ // If the instance proxy was invalidated, just return a null reply.
+ if (!m_instanceProxy)
+ return std::auto_ptr<T>();
+
+ return reply;
+ }
+
NetscapePluginInstanceProxy* m_instanceProxy;
uint32_t m_objectID;
JSC::Bindings::FieldMap m_fields;
diff --git a/WebKit/mac/Plugins/Hosted/ProxyInstance.mm b/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
index 6be3953..1af2ef8 100644
--- a/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
+++ b/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2008, 2009, 2010 Apple Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -28,11 +28,10 @@
#import "ProxyInstance.h"
#import "NetscapePluginHostProxy.h"
-#import "NetscapePluginInstanceProxy.h"
-#import <runtime/PropertyNameArray.h>
#import <WebCore/IdentifierRep.h>
#import <WebCore/JSDOMWindow.h>
#import <WebCore/npruntime_impl.h>
+#import <runtime/PropertyNameArray.h>
extern "C" {
#import "WebKitPluginHost.h"
@@ -147,7 +146,7 @@ JSValue ProxyInstance::invoke(JSC::ExecState* exec, InvokeType type, uint64_t id
type, identifier, (char*)[arguments.get() bytes], [arguments.get() length]) != KERN_SUCCESS)
return jsUndefined();
- auto_ptr<NetscapePluginInstanceProxy::BooleanAndDataReply> reply = m_instanceProxy->waitForReply<NetscapePluginInstanceProxy::BooleanAndDataReply>(requestID);
+ auto_ptr<NetscapePluginInstanceProxy::BooleanAndDataReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanAndDataReply>(requestID);
if (!reply.get() || !reply->m_returnValue)
return jsUndefined();
@@ -175,7 +174,7 @@ bool ProxyInstance::supportsInvokeDefaultMethod() const
m_objectID) != KERN_SUCCESS)
return false;
- auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = m_instanceProxy->waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
+ auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
if (reply.get() && reply->m_result)
return true;
@@ -199,7 +198,7 @@ bool ProxyInstance::supportsConstruct() const
m_objectID) != KERN_SUCCESS)
return false;
- auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = m_instanceProxy->waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
+ auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
if (reply.get() && reply->m_result)
return true;
@@ -223,7 +222,7 @@ JSValue ProxyInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint
JSValue ProxyInstance::stringValue(ExecState* exec) const
{
// FIXME: Implement something sensible.
- return jsString(exec, "");
+ return jsEmptyString(exec);
}
JSValue ProxyInstance::numberValue(ExecState* exec) const
@@ -253,7 +252,7 @@ void ProxyInstance::getPropertyNames(ExecState* exec, PropertyNameArray& nameArr
if (_WKPHNPObjectEnumerate(m_instanceProxy->hostProxy()->port(), m_instanceProxy->pluginID(), requestID, m_objectID) != KERN_SUCCESS)
return;
- auto_ptr<NetscapePluginInstanceProxy::BooleanAndDataReply> reply = m_instanceProxy->waitForReply<NetscapePluginInstanceProxy::BooleanAndDataReply>(requestID);
+ auto_ptr<NetscapePluginInstanceProxy::BooleanAndDataReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanAndDataReply>(requestID);
if (!reply.get() || !reply->m_returnValue)
return;
@@ -298,7 +297,7 @@ MethodList ProxyInstance::methodsNamed(const Identifier& identifier)
m_objectID, methodName) != KERN_SUCCESS)
return MethodList();
- auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = m_instanceProxy->waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
+ auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
if (!reply.get())
return MethodList();
@@ -334,7 +333,7 @@ Field* ProxyInstance::fieldNamed(const Identifier& identifier)
m_objectID, propertyName) != KERN_SUCCESS)
return 0;
- auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = m_instanceProxy->waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
+ auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
if (!reply.get())
return 0;
@@ -361,7 +360,7 @@ JSC::JSValue ProxyInstance::fieldValue(ExecState* exec, const Field* field) cons
m_objectID, serverIdentifier) != KERN_SUCCESS)
return jsUndefined();
- auto_ptr<NetscapePluginInstanceProxy::BooleanAndDataReply> reply = m_instanceProxy->waitForReply<NetscapePluginInstanceProxy::BooleanAndDataReply>(requestID);
+ auto_ptr<NetscapePluginInstanceProxy::BooleanAndDataReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanAndDataReply>(requestID);
if (!reply.get() || !reply->m_returnValue)
return jsUndefined();
@@ -387,7 +386,7 @@ void ProxyInstance::setFieldValue(ExecState* exec, const Field* field, JSValue v
if (kr != KERN_SUCCESS)
return;
- auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = m_instanceProxy->waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
+ auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
}
void ProxyInstance::invalidate()
diff --git a/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.h b/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.h
index 4ff5aba..5313ff2 100644
--- a/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.h
+++ b/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.h
@@ -59,6 +59,9 @@ namespace WebKit {
element:(PassRefPtr<WebCore::HTMLPlugInElement>)element;
- (void)pluginHostDied;
+- (CALayer *)pluginLayer;
+- (void)webFrame:(WebFrame *)webFrame didFinishLoadWithReason:(NPReason)reason;
+
@end
#endif // USE(PLUGIN_HOST_PROCESS)
diff --git a/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm b/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm
index 8de2aa6..9baa328 100644
--- a/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm
+++ b/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm
@@ -37,10 +37,10 @@
#import "WebUIDelegate.h"
#import <CoreFoundation/CoreFoundation.h>
+#import <WebCore/Bridge.h>
#import <WebCore/Frame.h>
#import <WebCore/FrameLoaderTypes.h>
#import <WebCore/HTMLPlugInElement.h>
-#import <WebCore/runtime.h>
#import <WebCore/runtime_root.h>
#import <WebCore/WebCoreObjCExtras.h>
#import <runtime/InitializeThreading.h>
@@ -102,9 +102,13 @@ extern "C" {
ASSERT(!_proxy);
NSString *userAgent = [[self webView] userAgentForURL:_baseURL.get()];
-
+ BOOL accleratedCompositingEnabled = false;
+#if USE(ACCELERATED_COMPOSITING)
+ accleratedCompositingEnabled = [[[self webView] preferences] acceleratedCompositingEnabled];
+#endif
+
_proxy = NetscapePluginHostManager::shared().instantiatePlugin(_pluginPackage.get(), self, _MIMEType.get(), _attributeKeys.get(), _attributeValues.get(), userAgent, _sourceURL.get(),
- _mode == NP_FULL, _isPrivateBrowsingEnabled);
+ _mode == NP_FULL, _isPrivateBrowsingEnabled, accleratedCompositingEnabled);
if (!_proxy)
return NO;
@@ -112,7 +116,11 @@ extern "C" {
_softwareRenderer = WKSoftwareCARendererCreate(_proxy->renderContextID());
else {
_pluginLayer = WKMakeRenderLayer(_proxy->renderContextID());
- self.wantsLayer = YES;
+
+ if (accleratedCompositingEnabled)
+ [self element]->setNeedsStyleRecalc(SyntheticStyleChange);
+ else
+ self.wantsLayer = YES;
}
// Update the window frame.
@@ -121,6 +129,12 @@ extern "C" {
return YES;
}
+// FIXME: This method is an ideal candidate to move up to the base class
+- (CALayer *)pluginLayer
+{
+ return _pluginLayer.get();
+}
+
- (void)setLayer:(CALayer *)newLayer
{
// FIXME: This should use the same implementation as WebNetscapePluginView (and move to the base class).
@@ -441,6 +455,20 @@ extern "C" {
_proxy->checkIfAllowedToLoadURLResult(checkID, (policy == PolicyUse));
}
+- (void)webFrame:(WebFrame *)webFrame didFinishLoadWithReason:(NPReason)reason
+{
+ if (_isStarted && _proxy)
+ _proxy->webFrameDidFinishLoadWithReason(webFrame, reason);
+}
+
+- (void)webFrame:(WebFrame *)webFrame didFinishLoadWithError:(NSError *)error
+{
+ NPReason reason = NPRES_DONE;
+ if (error)
+ reason = HostedNetscapePluginStream::reasonForError(error);
+ [self webFrame:webFrame didFinishLoadWithReason:reason];
+}
+
@end
#endif
diff --git a/WebKit/mac/Plugins/Hosted/WebKitPluginClient.defs b/WebKit/mac/Plugins/Hosted/WebKitPluginClient.defs
index 9877d9e..0cf4005 100644
--- a/WebKit/mac/Plugins/Hosted/WebKitPluginClient.defs
+++ b/WebKit/mac/Plugins/Hosted/WebKitPluginClient.defs
@@ -206,7 +206,7 @@ routine PCResolveURL(clientPort :mach_port_t;
url :data_t;
target :data_t;
out resolvedURL :data_t, dealloc);
-
+
// Replies
simpleroutine PCInstantiatePluginReply(clientPort :mach_port_t;
pluginID :uint32_t;
@@ -224,9 +224,15 @@ simpleroutine PCBooleanReply(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
result :boolean_t);
-
+
simpleroutine PCBooleanAndDataReply(clientPort :mach_port_t;
pluginID :uint32_t;
requestID :uint32_t;
returnValue :boolean_t;
result :data_t);
+
+simpleroutine PCRunSyncOpenPanel(clientPort :mach_port_t;
+ panelData :data_t);
+
+simpleroutine PCSetFullScreenWindowIsShowing(clientPort :mach_port_t;
+ isShowing :boolean_t);
diff --git a/WebKit/mac/Plugins/Hosted/WebKitPluginHost.defs b/WebKit/mac/Plugins/Hosted/WebKitPluginHost.defs
index 9882bb5..c7cec89 100644
--- a/WebKit/mac/Plugins/Hosted/WebKitPluginHost.defs
+++ b/WebKit/mac/Plugins/Hosted/WebKitPluginHost.defs
@@ -240,4 +240,5 @@ simpleroutine PHPluginInstancePrivateBrowsingModeDidChange(pluginHostPort :mach_
pluginID :uint32_t;
privateBrowsingEnabled :boolean_t);
-
+simpleroutine PHSyncOpenPanelReply(pluginHostPort :mach_port_t;
+ filenames :data_t);
diff --git a/WebKit/mac/Plugins/WebNetscapePluginView.h b/WebKit/mac/Plugins/WebNetscapePluginView.h
index b2583da..2ee566e 100644
--- a/WebKit/mac/Plugins/WebNetscapePluginView.h
+++ b/WebKit/mac/Plugins/WebNetscapePluginView.h
@@ -151,7 +151,9 @@ typedef union PluginPort {
@interface WebNetscapePluginView (WebInternal)
- (BOOL)sendEvent:(void*)event isDrawRect:(BOOL)eventIsDrawRect;
- (NPEventModel)eventModel;
-
+#ifndef BUILDING_ON_TIGER
+- (CALayer *)pluginLayer;
+#endif
- (NPError)loadRequest:(NSURLRequest *)request inTarget:(NSString *)target withNotifyData:(void *)notifyData sendNotification:(BOOL)sendNotification;
- (NPError)getURLNotify:(const char *)URL target:(const char *)target notifyData:(void *)notifyData;
- (NPError)getURL:(const char *)URL target:(const char *)target;
diff --git a/WebKit/mac/Plugins/WebNetscapePluginView.mm b/WebKit/mac/Plugins/WebNetscapePluginView.mm
index 3ce5e39..4a4a435 100644
--- a/WebKit/mac/Plugins/WebNetscapePluginView.mm
+++ b/WebKit/mac/Plugins/WebNetscapePluginView.mm
@@ -81,6 +81,8 @@
#define LoginWindowDidSwitchFromUserNotification @"WebLoginWindowDidSwitchFromUserNotification"
#define LoginWindowDidSwitchToUserNotification @"WebLoginWindowDidSwitchToUserNotification"
+#define WKNVSupportsCompositingCoreAnimationPluginsBool 74656 /* TRUE if the browser supports hardware compositing of Core Animation plug-ins */
+static const int WKNVSilverlightFullScreenPerformanceIssueFixed = 7288546; /* TRUE if Siverlight addressed its underlying bug in <rdar://problem/7288546> */
using namespace WebCore;
using namespace WebKit;
@@ -1088,10 +1090,18 @@ static inline void getNPRect(const NSRect& nr, NPRect& npr)
if (drawingModel == NPDrawingModelCoreAnimation) {
void *value = 0;
if ([_pluginPackage.get() pluginFuncs]->getvalue(plugin, NPPVpluginCoreAnimationLayer, &value) == NPERR_NO_ERROR && value) {
-
+
// The plug-in gives us a retained layer.
_pluginLayer.adoptNS((CALayer *)value);
- [self setWantsLayer:YES];
+
+ BOOL accleratedCompositingEnabled = false;
+#if USE(ACCELERATED_COMPOSITING)
+ accleratedCompositingEnabled = [[[self webView] preferences] acceleratedCompositingEnabled];
+#endif
+ if (accleratedCompositingEnabled)
+ [self element]->setNeedsStyleRecalc(SyntheticStyleChange);
+ else
+ [self setWantsLayer:YES];
LOG(Plugins, "%@ is using Core Animation drawing model with layer %@", _pluginPackage.get(), _pluginLayer.get());
}
@@ -1106,6 +1116,12 @@ static inline void getNPRect(const NSRect& nr, NPRect& npr)
}
#ifndef BUILDING_ON_TIGER
+// FIXME: This method is an ideal candidate to move up to the base class
+- (CALayer *)pluginLayer
+{
+ return _pluginLayer.get();
+}
+
- (void)setLayer:(CALayer *)newLayer
{
[super setLayer:newLayer];
@@ -2057,6 +2073,13 @@ static inline void getNPRect(const NSRect& nr, NPRect& npr)
*(WKNBrowserContainerCheckFuncs **)value = browserContainerCheckFuncs();
return NPERR_NO_ERROR;
}
+#if USE(ACCELERATED_COMPOSITING)
+ case WKNVSupportsCompositingCoreAnimationPluginsBool:
+ {
+ *(NPBool *)value = [[[self webView] preferences] acceleratedCompositingEnabled];
+ return NPERR_NO_ERROR;
+ }
+#endif
default:
break;
}
@@ -2297,6 +2320,39 @@ static inline void getNPRect(const NSRect& nr, NPRect& npr)
return NO;
}
+// Work around Silverlight full screen performance issue by maintaining an accelerated GL pixel format.
+// We can safely remove it at some point in the future when both:
+// 1) Microsoft releases a genuine fix for 7288546.
+// 2) 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.
+- (void)_workaroundSilverlightFullScreenBug:(BOOL)initializedPlugin
+{
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+ ASSERT(_isSilverlight);
+ NPBool isFullScreenPerformanceIssueFixed = 0;
+ NPPluginFuncs *pluginFuncs = [_pluginPackage.get() pluginFuncs];
+ if (pluginFuncs->getvalue && pluginFuncs->getvalue(plugin, static_cast<NPPVariable>(WKNVSilverlightFullScreenPerformanceIssueFixed), &isFullScreenPerformanceIssueFixed) == NPERR_NO_ERROR && isFullScreenPerformanceIssueFixed)
+ return;
+
+ static CGLPixelFormatObj pixelFormatObject = 0;
+ static unsigned refCount = 0;
+
+ if (initializedPlugin) {
+ refCount++;
+ if (refCount == 1) {
+ const CGLPixelFormatAttribute attributes[] = { kCGLPFAAccelerated, static_cast<CGLPixelFormatAttribute>(0) };
+ GLint npix;
+ CGLChoosePixelFormat(attributes, &pixelFormatObject, &npix);
+ }
+ } else {
+ ASSERT(pixelFormatObject);
+ refCount--;
+ if (!refCount)
+ CGLReleasePixelFormat(pixelFormatObject);
+ }
+#endif
+}
+
- (NPError)_createPlugin
{
plugin = (NPP)calloc(1, sizeof(NPP_t));
@@ -2315,6 +2371,8 @@ static inline void getNPRect(const NSRect& nr, NPRect& npr)
[[self class] setCurrentPluginView:self];
NPError npErr = [_pluginPackage.get() pluginFuncs]->newp((char *)[_MIMEType.get() cString], plugin, _mode, argsCount, cAttributes, cValues, NULL);
[[self class] setCurrentPluginView:nil];
+ if (_isSilverlight)
+ [self _workaroundSilverlightFullScreenBug:YES];
LOG(Plugins, "NPP_New: %d", npErr);
return npErr;
}
@@ -2323,6 +2381,9 @@ static inline void getNPRect(const NSRect& nr, NPRect& npr)
{
PluginMainThreadScheduler::scheduler().unregisterPlugin(plugin);
+ if (_isSilverlight)
+ [self _workaroundSilverlightFullScreenBug:NO];
+
NPError npErr;
npErr = ![_pluginPackage.get() pluginFuncs]->destroy(plugin, NULL);
LOG(Plugins, "NPP_Destroy: %d", npErr);
diff --git a/WebKit/mac/WebCoreSupport/WebApplicationCache.mm b/WebKit/mac/WebCoreSupport/WebApplicationCache.mm
index 8eb623d..4ca749c 100644
--- a/WebKit/mac/WebCoreSupport/WebApplicationCache.mm
+++ b/WebKit/mac/WebCoreSupport/WebApplicationCache.mm
@@ -23,6 +23,8 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+
#import "WebApplicationCache.h"
#import <WebCore/ApplicationCacheStorage.h>
@@ -38,3 +40,5 @@ using namespace WebCore;
}
@end
+
+#endif
diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.h b/WebKit/mac/WebCoreSupport/WebChromeClient.h
index ca2863e..66381a4 100644
--- a/WebKit/mac/WebCoreSupport/WebChromeClient.h
+++ b/WebKit/mac/WebCoreSupport/WebChromeClient.h
@@ -152,9 +152,11 @@ public:
virtual void scheduleCompositingLayerSync();
#endif
+#if ENABLE(VIDEO)
virtual bool supportsFullscreenForNode(const WebCore::Node*);
virtual void enterFullscreenForNode(WebCore::Node*);
virtual void exitFullscreenForNode(WebCore::Node*);
+#endif
virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*);
diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.mm b/WebKit/mac/WebCoreSupport/WebChromeClient.mm
index 58323bb..c4e9671 100644
--- a/WebKit/mac/WebCoreSupport/WebChromeClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebChromeClient.mm
@@ -490,22 +490,14 @@ void WebChromeClient::scrollRectIntoView(const IntRect& r, const ScrollView* scr
{
// FIXME: This scrolling behavior should be under the control of the embedding client (rather than something
// we just do ourselves).
-
- IntRect scrollRect = r;
- NSView *startView = m_webView;
- if ([m_webView _usesDocumentViews]) {
- // We have to convert back to document view coordinates.
- // It doesn't make sense for the scrollRectIntoView API to take document view coordinates.
- scrollRect.move(scrollView->scrollOffset());
- startView = [[[m_webView mainFrame] frameView] documentView];
- }
- NSRect rect = scrollRect;
- for (NSView *view = startView; view; view = [view superview]) {
- if ([view isKindOfClass:[NSClipView class]]) {
- NSClipView *clipView = (NSClipView *)view;
- NSView *documentView = [clipView documentView];
- [documentView scrollRectToVisible:[documentView convertRect:rect fromView:startView]];
- }
+
+ NSRect rect = r;
+ for (NSView *view = m_webView; view; view = [view superview]) {
+ if ([view isKindOfClass:[NSClipView class]]) {
+ NSClipView *clipView = (NSClipView *)view;
+ NSView *documentView = [clipView documentView];
+ [documentView scrollRectToVisible:[documentView convertRect:rect fromView:m_webView]];
+ }
}
}
diff --git a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
index 9816e01..5934d7c 100644
--- a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
@@ -104,6 +104,7 @@
#import <WebCore/MouseEvent.h>
#import <WebCore/Page.h>
#import <WebCore/PlatformString.h>
+#import <WebCore/PluginWidget.h>
#import <WebCore/ResourceError.h>
#import <WebCore/ResourceHandle.h>
#import <WebCore/ResourceLoader.h>
@@ -1474,19 +1475,6 @@ static NSView *pluginView(WebFrame *frame, WebPluginPackage *pluginPackage,
return view;
}
-class PluginWidget : public Widget {
-public:
- PluginWidget(NSView *view = 0)
- : Widget(view)
- {
- }
-
- virtual void invalidateRect(const IntRect& rect)
- {
- [platformWidget() setNeedsDisplayInRect:rect];
- }
-};
-
#if ENABLE(NETSCAPE_PLUGIN_API)
class NetscapePluginWidget : public PluginWidget {
diff --git a/WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.h b/WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.h
new file mode 100644
index 0000000..3965210
--- /dev/null
+++ b/WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebCore/GeolocationControllerClient.h>
+
+namespace WebCore {
+ class GeolocationPosition;
+}
+
+@class WebView;
+
+class WebGeolocationControllerClient : public WebCore::GeolocationControllerClient {
+public:
+ WebGeolocationControllerClient(WebView *);
+ WebView *webView() { return m_webView; }
+
+ void geolocationDestroyed();
+ void startUpdating();
+ void stopUpdating();
+
+ WebCore::GeolocationPosition* lastPosition();
+
+private:
+ WebView *m_webView;
+};
diff --git a/WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.mm b/WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.mm
new file mode 100644
index 0000000..98ffc72
--- /dev/null
+++ b/WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.mm
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "WebGeolocationControllerClient.h"
+
+#import "WebGeolocationPositionInternal.h"
+#import "WebViewInternal.h"
+
+using namespace WebCore;
+
+WebGeolocationControllerClient::WebGeolocationControllerClient(WebView *webView)
+ : m_webView(webView)
+{
+}
+
+void WebGeolocationControllerClient::geolocationDestroyed()
+{
+ delete this;
+}
+
+void WebGeolocationControllerClient::startUpdating()
+{
+ [[m_webView _geolocationProvider] registerWebView:m_webView];
+}
+
+void WebGeolocationControllerClient::stopUpdating()
+{
+ [[m_webView _geolocationProvider] unregisterWebView:m_webView];
+}
+
+GeolocationPosition* WebGeolocationControllerClient::lastPosition()
+{
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+ return core([[m_webView _geolocationProvider] lastPosition]);
+#else
+ return 0;
+#endif
+}
diff --git a/WebKit/mac/WebCoreSupport/WebPluginHalterClient.mm b/WebKit/mac/WebCoreSupport/WebPluginHalterClient.mm
index 0c87d19..b59c1f2 100644
--- a/WebKit/mac/WebCoreSupport/WebPluginHalterClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebPluginHalterClient.mm
@@ -46,5 +46,5 @@ bool WebPluginHalterClient::shouldHaltPlugin(Node* pluginNode, bool isWindowed,
bool WebPluginHalterClient::enabled() const
{
- return [[m_webView UIDelegate] respondsToSelector:@selector(webView:shouldHaltPlugin:)];
+ return [[m_webView UIDelegate] respondsToSelector:@selector(webView:shouldHaltPlugin:isWindowed:pluginName:)];
}
diff --git a/WebKit/mac/WebCoreSupport/WebSystemInterface.m b/WebKit/mac/WebCoreSupport/WebSystemInterface.m
index f2a215d..7f4effd 100644
--- a/WebKit/mac/WebCoreSupport/WebSystemInterface.m
+++ b/WebKit/mac/WebCoreSupport/WebSystemInterface.m
@@ -31,6 +31,9 @@
#import <WebCore/WebCoreSystemInterface.h>
#import <WebKitSystemInterface.h>
+// Needed for builds not using PCH to expose BUILDING_ macros, see bug 32753.
+#include <wtf/Platform.h>
+
#define INIT(function) wk##function = WK##function
void InitWebCoreSystemInterface(void)
@@ -73,6 +76,7 @@ void InitWebCoreSystemInterface(void)
INIT(SetNSURLRequestShouldContentSniff);
INIT(SetPatternBaseCTM);
INIT(SetPatternPhaseInUserSpace);
+ INIT(GetUserToBaseCTM);
INIT(SetUpFontCache);
INIT(SignalCFReadStreamEnd);
INIT(SignalCFReadStreamError);
@@ -105,5 +109,9 @@ void InitWebCoreSystemInterface(void)
INIT(SupportsMultipartXMixedReplace);
#endif
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
+ INIT(NoteOpenPanelFiles);
+#endif
+
didInit = true;
}
diff --git a/WebKit/mac/WebCoreSupport/WebViewFactory.mm b/WebKit/mac/WebCoreSupport/WebViewFactory.mm
index 99729dc..2607f18 100644
--- a/WebKit/mac/WebCoreSupport/WebViewFactory.mm
+++ b/WebKit/mac/WebCoreSupport/WebViewFactory.mm
@@ -630,6 +630,16 @@
return UI_STRING("jump", "Verb stating the action that will occur when a link is clicked, as used by accessibility");
}
+- (NSString *)AXMenuListPopupActionVerb
+{
+ return nil;
+}
+
+- (NSString *)AXMenuListActionVerb
+{
+ return nil;
+}
+
- (NSString *)multipleFileUploadTextForNumberOfFiles:(unsigned)numberOfFiles
{
return [NSString stringWithFormat:UI_STRING("%d files", "Label to describe the number of files selected in a file upload control that allows multiple files"), numberOfFiles];
diff --git a/WebKit/mac/WebKit.exp b/WebKit/mac/WebKit.exp
index 3aa270f..904f389 100644
--- a/WebKit/mac/WebKit.exp
+++ b/WebKit/mac/WebKit.exp
@@ -13,6 +13,7 @@
.objc_class_name_WebFrame
.objc_class_name_WebFrameView
.objc_class_name_WebGeolocationMock
+.objc_class_name_WebGeolocationPosition
.objc_class_name_WebHTMLRepresentation
.objc_class_name_WebHTMLView
.objc_class_name_WebHistory
diff --git a/WebKit/mac/WebKitPrefix.h b/WebKit/mac/WebKitPrefix.h
index 518fc1b..2a894e6 100644
--- a/WebKit/mac/WebKitPrefix.h
+++ b/WebKit/mac/WebKitPrefix.h
@@ -90,4 +90,5 @@ typedef float CGFloat;
#undef catch
#define JS_EXPORTDATA
+#define JS_EXPORTCLASS
#define WEBKIT_EXPORTDATA
diff --git a/WebKit/mac/WebView/WebDataSource.mm b/WebKit/mac/WebView/WebDataSource.mm
index ecd89f7..8a3842e 100644
--- a/WebKit/mac/WebView/WebDataSource.mm
+++ b/WebKit/mac/WebView/WebDataSource.mm
@@ -194,6 +194,7 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl
- (BOOL)_transferApplicationCache:(NSString*)destinationBundleIdentifier
{
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
DocumentLoader* loader = [self _documentLoader];
if (!loader)
@@ -202,6 +203,9 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl
NSString *cacheDir = [NSString _webkit_localCacheDirectoryWithBundleIdentifier:destinationBundleIdentifier];
return ApplicationCacheStorage::storeCopyOfCache(cacheDir, loader->applicationCacheHost());
+#else
+ return NO;
+#endif
}
@end
diff --git a/WebKit/mac/WebView/WebFrame.mm b/WebKit/mac/WebView/WebFrame.mm
index 58400d6..41d7e01 100644
--- a/WebKit/mac/WebView/WebFrame.mm
+++ b/WebKit/mac/WebView/WebFrame.mm
@@ -56,6 +56,7 @@
#import <WebCore/AccessibilityObject.h>
#import <WebCore/AnimationController.h>
#import <WebCore/CSSMutableStyleDeclaration.h>
+#import <WebCore/Chrome.h>
#import <WebCore/ColorMac.h>
#import <WebCore/DOMImplementation.h>
#import <WebCore/DocLoader.h>
@@ -847,7 +848,7 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
if (!_private->coreFrame || !_private->coreFrame->document())
return nil;
- return kit(createFragmentFromMarkup(_private->coreFrame->document(), markupString, baseURLString).get());
+ return kit(createFragmentFromMarkup(_private->coreFrame->document(), markupString, baseURLString, FragmentScriptingNotAllowed).get());
}
- (DOMDocumentFragment *)_documentFragmentWithNodesAsParagraphs:(NSArray *)nodes
@@ -1190,13 +1191,17 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
if (domWindow->hasEventListeners(eventNames().unloadEvent))
[result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameHasUnloadListener];
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
if (domWindow->optionalApplicationCache())
[result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameUsesApplicationCache];
+#endif
}
if (Document* document = _private->coreFrame->document()) {
+#if ENABLE(DATABASE)
if (document->hasOpenDatabases())
[result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameUsesDatabases];
+#endif
if (document->usingGeolocation())
[result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameUsesGeolocation];
@@ -1355,7 +1360,10 @@ static bool needsMicrosoftMessengerDOMDocumentWorkaround()
- (void)loadRequest:(NSURLRequest *)request
{
- _private->coreFrame->loader()->load(request, false);
+ Frame* coreFrame = _private->coreFrame;
+ if (!coreFrame)
+ return;
+ coreFrame->loader()->load(request, false);
}
static NSURL *createUniqueWebDataURL()
diff --git a/WebKit/mac/WebView/WebFrameView.mm b/WebKit/mac/WebView/WebFrameView.mm
index 4638418..565e64d 100644
--- a/WebKit/mac/WebView/WebFrameView.mm
+++ b/WebKit/mac/WebView/WebFrameView.mm
@@ -55,6 +55,7 @@
#import "WebViewInternal.h"
#import "WebViewPrivate.h"
#import <Foundation/NSURLRequest.h>
+#import <WebCore/BackForwardList.h>
#import <WebCore/DragController.h>
#import <WebCore/EventHandler.h>
#import <WebCore/Frame.h>
@@ -199,9 +200,8 @@ enum {
- (float)_verticalPageScrollDistance
{
- float overlap = [self _verticalKeyboardScrollDistance];
float height = [[self _contentView] bounds].size.height;
- return (height < overlap) ? height / 2 : height - overlap;
+ return max(height * cFractionToStepWhenPaging, 1.f);
}
static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCClass, NSArray *supportTypes)
@@ -342,7 +342,7 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl
[scrollView setHasVerticalScroller:NO];
[scrollView setHasHorizontalScroller:NO];
[scrollView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
- [scrollView setLineScroll:40.0f];
+ [scrollView setLineScroll:cScrollbarPixelsPerLineStep];
[self addSubview:scrollView];
// Don't call our overridden version of setNextKeyView here; we need to make the standard NSView
@@ -612,9 +612,8 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl
- (float)_horizontalPageScrollDistance
{
- float overlap = [self _horizontalKeyboardScrollDistance];
float width = [[self _contentView] bounds].size.width;
- return (width < overlap) ? width / 2 : width - overlap;
+ return max(width * cFractionToStepWhenPaging, 1.f);
}
- (BOOL)_pageVertically:(BOOL)up
diff --git a/WebKit/mac/WebView/WebGeolocationPosition.h b/WebKit/mac/WebView/WebGeolocationPosition.h
new file mode 100644
index 0000000..99348b4
--- /dev/null
+++ b/WebKit/mac/WebView/WebGeolocationPosition.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+@class WebGeolocationPositionInternal;
+
+@interface WebGeolocationPosition : NSObject
+{
+ WebGeolocationPositionInternal *_internal;
+}
+
+- (id)initWithTimestamp:(double)timestamp latitude:(double)latitude longitude:(double)longitude accuracy:(double)accuracy;
+
+@end
diff --git a/WebKit/mac/WebView/WebGeolocationPosition.mm b/WebKit/mac/WebView/WebGeolocationPosition.mm
new file mode 100644
index 0000000..46f62c1
--- /dev/null
+++ b/WebKit/mac/WebView/WebGeolocationPosition.mm
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "WebGeolocationPosition.h"
+
+#import "WebGeolocationPositionInternal.h"
+#import <wtf/PassRefPtr.h>
+#import <wtf/RefPtr.h>
+
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+#import <WebCore/GeolocationPosition.h>
+
+using namespace WebCore;
+#endif
+
+@interface WebGeolocationPositionInternal : NSObject
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+{
+@public
+ RefPtr<GeolocationPosition> _position;
+}
+
+- (id)initWithCoreGeolocationPosition:(PassRefPtr<GeolocationPosition>)coreGeolocationPosition;
+#endif
+@end
+
+@implementation WebGeolocationPositionInternal
+
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+- (id)initWithCoreGeolocationPosition:(PassRefPtr<GeolocationPosition>)coreGeolocationPosition
+{
+ self = [super init];
+ if (!self)
+ return nil;
+ _position = coreGeolocationPosition;
+ return self;
+}
+#endif
+
+@end
+
+@implementation WebGeolocationPosition
+
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+GeolocationPosition* core(WebGeolocationPosition *position)
+{
+ return position ? position->_internal->_position.get() : 0;
+}
+#endif
+
+- (id)initWithTimestamp:(double)timestamp latitude:(double)latitude longitude:(double)longitude accuracy:(double)accuracy
+{
+ self = [super init];
+ if (!self)
+ return nil;
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+ _internal = [[WebGeolocationPositionInternal alloc] initWithCoreGeolocationPosition:GeolocationPosition::create(timestamp, latitude, longitude, accuracy)];
+#else
+ _internal = [[WebGeolocationPositionInternal alloc] init];
+#endif
+ return self;
+}
+
+@end
diff --git a/WebKit/mac/WebView/WebGeolocationPositionInternal.h b/WebKit/mac/WebView/WebGeolocationPositionInternal.h
new file mode 100644
index 0000000..27f8a39
--- /dev/null
+++ b/WebKit/mac/WebView/WebGeolocationPositionInternal.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "WebGeolocationPosition.h"
+
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+
+namespace WebCore {
+ class GeolocationPosition;
+}
+
+WebCore::GeolocationPosition* core(WebGeolocationPosition *);
+
+#endif
diff --git a/WebKit/mac/WebView/WebHTMLRepresentation.h b/WebKit/mac/WebView/WebHTMLRepresentation.h
index 2098c47..68f9bde 100644
--- a/WebKit/mac/WebView/WebHTMLRepresentation.h
+++ b/WebKit/mac/WebView/WebHTMLRepresentation.h
@@ -30,6 +30,12 @@
#import <WebKit/WebDocumentPrivate.h>
+#if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4
+#define WebNSUInteger unsigned int
+#else
+#define WebNSUInteger NSUInteger
+#endif
+
@class WebHTMLRepresentationPrivate;
@class NSView;
@@ -60,7 +66,12 @@
- (DOMElement *)formForElement:(DOMElement *)element;
- (DOMElement *)currentForm;
- (NSArray *)controlsInForm:(DOMElement *)form;
-- (NSString *)searchForLabels:(NSArray *)labels beforeElement:(DOMElement *)element;
+- (NSString *)searchForLabels:(NSArray *)labels beforeElement:(DOMElement *)element resultDistance:(WebNSUInteger*)outDistance resultIsInCellAbove:(BOOL*)outIsInCellAbove;
- (NSString *)matchLabels:(NSArray *)labels againstElement:(DOMElement *)element;
+// Deprecated SPI
+- (NSString *)searchForLabels:(NSArray *)labels beforeElement:(DOMElement *)element; // Use -searchForLabels:beforeElement:resultDistance:resultIsInCellAbove:
+
@end
+
+#undef WebNSUInteger
diff --git a/WebKit/mac/WebView/WebHTMLRepresentation.mm b/WebKit/mac/WebView/WebHTMLRepresentation.mm
index 39489e8..41ce9f9 100644
--- a/WebKit/mac/WebView/WebHTMLRepresentation.mm
+++ b/WebKit/mac/WebView/WebHTMLRepresentation.mm
@@ -39,6 +39,7 @@
#import "WebKitStatisticsPrivate.h"
#import "WebNSAttributedStringExtras.h"
#import "WebNSObjectExtras.h"
+#import "WebTypesInternal.h"
#import "WebView.h"
#import <Foundation/NSURLResponse.h>
#import <WebCore/Document.h>
@@ -337,7 +338,27 @@ static HTMLInputElement* inputElementFromDOMElement(DOMElement* element)
- (NSString *)searchForLabels:(NSArray *)labels beforeElement:(DOMElement *)element
{
- return core([_private->dataSource webFrame])->searchForLabelsBeforeElement(labels, core(element));
+ return [self searchForLabels:labels beforeElement:element resultDistance:0 resultIsInCellAbove:0];
+}
+
+- (NSString *)searchForLabels:(NSArray *)labels beforeElement:(DOMElement *)element resultDistance:(NSUInteger*)outDistance resultIsInCellAbove:(BOOL*)outIsInCellAbove
+{
+ size_t distance;
+ bool isInCellAbove;
+
+ NSString *result = core([_private->dataSource webFrame])->searchForLabelsBeforeElement(labels, core(element), &distance, &isInCellAbove);
+
+ if (outDistance) {
+ if (distance == notFound)
+ *outDistance = NSNotFound;
+ else
+ *outDistance = distance;
+ }
+
+ if (outIsInCellAbove)
+ *outIsInCellAbove = isInCellAbove;
+
+ return result;
}
- (NSString *)matchLabels:(NSArray *)labels againstElement:(DOMElement *)element
diff --git a/WebKit/mac/WebView/WebHTMLView.mm b/WebKit/mac/WebView/WebHTMLView.mm
index 5dc66ee..54a177e 100644
--- a/WebKit/mac/WebView/WebHTMLView.mm
+++ b/WebKit/mac/WebView/WebHTMLView.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
* (C) 2006, 2007 Graham Dennis (graham.dennis@gmail.com)
*
* Redistribution and use in source and binary forms, with or without
@@ -103,6 +103,7 @@
#import <WebCore/Page.h>
#import <WebCore/PlatformKeyboardEvent.h>
#import <WebCore/Range.h>
+#import <WebCore/RuntimeApplicationChecks.h>
#import <WebCore/SelectionController.h>
#import <WebCore/SharedBuffer.h>
#import <WebCore/SimpleFontData.h>
@@ -796,10 +797,26 @@ static NSURL* uniqueURLWithRelativePart(NSString *relativePart)
[webView _setInsertionPasteboard:pasteboard];
DOMRange *range = [self _selectedRange];
+
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
DOMDocumentFragment *fragment = [self _documentFragmentFromPasteboard:pasteboard inContext:range allowPlainText:allowPlainText];
if (fragment && [self _shouldInsertFragment:fragment replacingDOMRange:range givenAction:WebViewInsertActionPasted])
[[self _frame] _replaceSelectionWithFragment:fragment selectReplacement:NO smartReplace:[self _canSmartReplaceWithPasteboard:pasteboard] matchStyle:NO];
-
+#else
+ // Mail is ignoring the frament passed to the delegate and creates a new one.
+ // We want to avoid creating the fragment twice.
+ if (applicationIsAppleMail()) {
+ if ([self _shouldInsertFragment:nil replacingDOMRange:range givenAction:WebViewInsertActionPasted]) {
+ DOMDocumentFragment *fragment = [self _documentFragmentFromPasteboard:pasteboard inContext:range allowPlainText:allowPlainText];
+ if (fragment)
+ [[self _frame] _replaceSelectionWithFragment:fragment selectReplacement:NO smartReplace:[self _canSmartReplaceWithPasteboard:pasteboard] matchStyle:NO];
+ }
+ } else {
+ DOMDocumentFragment *fragment = [self _documentFragmentFromPasteboard:pasteboard inContext:range allowPlainText:allowPlainText];
+ if (fragment && [self _shouldInsertFragment:fragment replacingDOMRange:range givenAction:WebViewInsertActionPasted])
+ [[self _frame] _replaceSelectionWithFragment:fragment selectReplacement:NO smartReplace:[self _canSmartReplaceWithPasteboard:pasteboard] matchStyle:NO];
+ }
+#endif
[webView _setInsertionPasteboard:nil];
[webView release];
}
@@ -3309,6 +3326,12 @@ WEBCORE_COMMAND(yankAndSelect)
return [[[self elementAtPoint:point allowShadowContent:YES] objectForKey:WebElementIsSelectedKey] boolValue];
}
+- (BOOL)_isScrollBarEvent:(NSEvent *)event
+{
+ NSPoint point = [self convertPoint:[event locationInWindow] fromView:nil];
+ return [[[self elementAtPoint:point allowShadowContent:YES] objectForKey:WebElementIsInScrollBarKey] boolValue];
+}
+
- (BOOL)acceptsFirstMouse:(NSEvent *)event
{
// There's a chance that responding to this event will run a nested event loop, and
@@ -3331,6 +3354,8 @@ WEBCORE_COMMAND(yankAndSelect)
[hitHTMLView _setMouseDownEvent:event];
if ([hitHTMLView _isSelectionEvent:event])
result = coreFrame->eventHandler()->eventMayStartDrag(event);
+ else if ([hitHTMLView _isScrollBarEvent:event])
+ result = true;
[hitHTMLView _setMouseDownEvent:nil];
}
return result;
diff --git a/WebKit/mac/WebView/WebPreferenceKeysPrivate.h b/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
index d295323..7085cec 100644
--- a/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
+++ b/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
@@ -88,6 +88,7 @@
#define WebKitShowDebugBordersPreferenceKey @"WebKitShowDebugBorders"
#define WebKitShowRepaintCounterPreferenceKey @"WebKitShowRepaintCounter"
#define WebKitWebGLEnabledPreferenceKey @"WebKitWebGLEnabled"
+#define WebKitUsesProxiedOpenPanelPreferenceKey @"WebKitUsesProxiedOpenPanel"
#define WebKitPluginAllowedRunTimePreferenceKey @"WebKitPluginAllowedRunTime"
// These are private both because callers should be using the cover methods and because the
diff --git a/WebKit/mac/WebView/WebPreferences.mm b/WebKit/mac/WebView/WebPreferences.mm
index 6b55ea3..d06cc13 100644
--- a/WebKit/mac/WebView/WebPreferences.mm
+++ b/WebKit/mac/WebView/WebPreferences.mm
@@ -351,9 +351,10 @@ static WebCacheModel cacheModelForMainBundle(void)
[NSNumber numberWithBool:YES], WebKitZoomsTextOnlyPreferenceKey,
[NSNumber numberWithBool:YES], WebKitXSSAuditorEnabledPreferenceKey,
[NSNumber numberWithBool:YES], WebKitAcceleratedCompositingEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitShowDebugBordersPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitShowRepaintCounterPreferenceKey,
+ [NSNumber numberWithBool:NO], WebKitShowDebugBordersPreferenceKey,
+ [NSNumber numberWithBool:NO], WebKitShowRepaintCounterPreferenceKey,
[NSNumber numberWithBool:NO], WebKitWebGLEnabledPreferenceKey,
+ [NSNumber numberWithBool:NO], WebKitUsesProxiedOpenPanelPreferenceKey,
[NSNumber numberWithUnsignedInt:4], WebKitPluginAllowedRunTimePreferenceKey,
nil];
@@ -1183,6 +1184,16 @@ static NSString *classIBCreatorID = nil;
[self _setBoolValue:enabled forKey:WebKitWebGLEnabledPreferenceKey];
}
+- (BOOL)usesProxiedOpenPanel
+{
+ return [self _boolValueForKey:WebKitUsesProxiedOpenPanelPreferenceKey];
+}
+
+- (void)setUsesProxiedOpenPanel:(BOOL)enabled
+{
+ [self _setBoolValue:enabled forKey:WebKitUsesProxiedOpenPanelPreferenceKey];
+}
+
- (unsigned)pluginAllowedRunTime
{
return [self _integerValueForKey:WebKitPluginAllowedRunTimePreferenceKey];
diff --git a/WebKit/mac/WebView/WebPreferencesPrivate.h b/WebKit/mac/WebView/WebPreferencesPrivate.h
index 3cea78b..20c98b2 100644
--- a/WebKit/mac/WebView/WebPreferencesPrivate.h
+++ b/WebKit/mac/WebView/WebPreferencesPrivate.h
@@ -158,6 +158,9 @@ extern NSString *WebPreferencesRemovedNotification;
- (BOOL)webGLEnabled;
- (void)setWebGLEnabled:(BOOL)enabled;
+- (BOOL)usesProxiedOpenPanel;
+- (void)setUsesProxiedOpenPanel:(BOOL)enabled;
+
// Other private methods
- (void)_postPreferencesChangesNotification;
+ (WebPreferences *)_getInstanceForIdentifier:(NSString *)identifier;
diff --git a/WebKit/mac/WebView/WebScriptDebugger.h b/WebKit/mac/WebView/WebScriptDebugger.h
index 1213ab2..c4147a2 100644
--- a/WebKit/mac/WebView/WebScriptDebugger.h
+++ b/WebKit/mac/WebView/WebScriptDebugger.h
@@ -57,7 +57,7 @@ public:
virtual void callEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber);
virtual void atStatement(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber);
virtual void returnEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber);
- virtual void exception(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber);
+ virtual void exception(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, bool hasHandler);
virtual void willExecuteProgram(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineno);
virtual void didExecuteProgram(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineno);
virtual void didReachBreakpoint(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineno);
diff --git a/WebKit/mac/WebView/WebScriptDebugger.mm b/WebKit/mac/WebView/WebScriptDebugger.mm
index 8deccff..a71d78b 100644
--- a/WebKit/mac/WebView/WebScriptDebugger.mm
+++ b/WebKit/mac/WebView/WebScriptDebugger.mm
@@ -200,7 +200,7 @@ void WebScriptDebugger::returnEvent(const DebuggerCallFrame& debuggerCallFrame,
m_callingDelegate = false;
}
-void WebScriptDebugger::exception(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineNumber)
+void WebScriptDebugger::exception(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineNumber, bool hasHandler)
{
if (m_callingDelegate)
return;
diff --git a/WebKit/mac/WebView/WebScriptWorld.h b/WebKit/mac/WebView/WebScriptWorld.h
index 9204975..7059b76 100644
--- a/WebKit/mac/WebView/WebScriptWorld.h
+++ b/WebKit/mac/WebView/WebScriptWorld.h
@@ -22,6 +22,8 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+typedef struct OpaqueJSContext* JSGlobalContextRef;
+
@class WebScriptWorldPrivate;
@interface WebScriptWorld : NSObject {
@@ -31,4 +33,7 @@
+ (WebScriptWorld *)standardWorld;
+ (WebScriptWorld *)world;
+
++ (WebScriptWorld *)scriptWorldForGlobalContext:(JSGlobalContextRef)globalContext;
+
@end
diff --git a/WebKit/mac/WebView/WebScriptWorld.mm b/WebKit/mac/WebView/WebScriptWorld.mm
index 0310701..7dab1b3 100644
--- a/WebKit/mac/WebView/WebScriptWorld.mm
+++ b/WebKit/mac/WebView/WebScriptWorld.mm
@@ -27,6 +27,8 @@
#import "WebScriptWorldInternal.h"
#import <WebCore/JSDOMBinding.h>
#import <WebCore/ScriptController.h>
+#import <JavaScriptCore/APICast.h>
+
#import <wtf/RefPtr.h>
using namespace WebCore;
@@ -94,6 +96,11 @@ static WorldMap& allWorlds()
return [[[self alloc] init] autorelease];
}
++ (WebScriptWorld *)scriptWorldForGlobalContext:(JSGlobalContextRef)context
+{
+ return [self findOrCreateWorld:currentWorld(toJS(context))];
+}
+
@end
@implementation WebScriptWorld (WebInternal)
diff --git a/WebKit/mac/WebView/WebVideoFullscreenController.mm b/WebKit/mac/WebView/WebVideoFullscreenController.mm
index 946da90..e5fde5e 100644
--- a/WebKit/mac/WebView/WebVideoFullscreenController.mm
+++ b/WebKit/mac/WebView/WebVideoFullscreenController.mm
@@ -34,6 +34,7 @@
#import <WebCore/HTMLMediaElement.h>
#import <WebCore/SoftLinking.h>
#import <objc/objc-runtime.h>
+#import <wtf/UnusedParam.h>
SOFT_LINK_FRAMEWORK(QTKit)
SOFT_LINK_CLASS(QTKit, QTMovieView)
diff --git a/WebKit/mac/WebView/WebView.mm b/WebKit/mac/WebView/WebView.mm
index ad8f33a..6dcbfb4 100644
--- a/WebKit/mac/WebView/WebView.mm
+++ b/WebKit/mac/WebView/WebView.mm
@@ -56,6 +56,8 @@
#import "WebFormDelegatePrivate.h"
#import "WebFrameInternal.h"
#import "WebFrameViewInternal.h"
+#import "WebGeolocationControllerClient.h"
+#import "WebGeolocationPositionInternal.h"
#import "WebHTMLRepresentation.h"
#import "WebHTMLViewInternal.h"
#import "WebHistoryItemInternal.h"
@@ -100,6 +102,7 @@
#import <CoreFoundation/CFSet.h>
#import <Foundation/NSURLConnection.h>
#import <WebCore/ApplicationCacheStorage.h>
+#import <WebCore/BackForwardList.h>
#import <WebCore/Cache.h>
#import <WebCore/ColorMac.h>
#import <WebCore/Cursor.h>
@@ -162,6 +165,11 @@
#import <WebKit/WebDashboardRegion.h>
#endif
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+#import <WebCore/GeolocationController.h>
+#import <WebCore/GeolocationError.h>
+#endif
+
@interface NSSpellChecker (WebNSSpellCheckerDetails)
- (void)_preflightChosenSpellServer;
@end
@@ -369,6 +377,7 @@ NSString *WebElementLinkURLKey = @"WebElementLinkURL";
NSString *WebElementSpellingToolTipKey = @"WebElementSpellingToolTip";
NSString *WebElementTitleKey = @"WebElementTitle";
NSString *WebElementLinkIsLiveKey = @"WebElementLinkIsLive";
+NSString *WebElementIsInScrollBarKey = @"WebElementIsInScrollBar";
NSString *WebElementIsContentEditableKey = @"WebElementIsContentEditableKey";
NSString *WebViewProgressStartedNotification = @"WebProgressStartedNotification";
@@ -515,6 +524,7 @@ static NSString *createUserVisibleWebKitVersionString()
static void WebKitInitializeApplicationCachePathIfNecessary()
{
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
static BOOL initialized = NO;
if (initialized)
return;
@@ -529,6 +539,7 @@ static void WebKitInitializeApplicationCachePathIfNecessary()
cacheStorage().setCacheDirectory(cacheDir);
initialized = YES;
+#endif
}
static bool runningLeopardMail()
@@ -547,6 +558,11 @@ static bool runningTigerMail()
return NO;
}
+static bool shouldEnableLoadDeferring()
+{
+ return !applicationIsAdobeInstaller();
+}
+
- (void)_dispatchPendingLoadRequests
{
cache()->loader()->servePendingRequests();
@@ -607,7 +623,16 @@ static bool runningTigerMail()
didOneTimeInitialization = true;
}
+<<<<<<< HEAD
_private->page = new Page(new WebChromeClient(self), new WebContextMenuClient(self), new WebEditorClient(self), new WebDragClient(self), new WebInspectorClient(self), new WebPluginHalterClient(self), 0);
+=======
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+ WebGeolocationControllerClient* geolocationControllerClient = new WebGeolocationControllerClient(self);
+#else
+ WebGeolocationControllerClient* geolocationControllerClient = 0;
+#endif
+ _private->page = new Page(new WebChromeClient(self), new WebContextMenuClient(self), new WebEditorClient(self), new WebDragClient(self), new WebInspectorClient(self), new WebPluginHalterClient(self), geolocationControllerClient);
+>>>>>>> webkit.org at r54127
_private->page->settings()->setLocalStorageDatabasePath([[self preferences] _localStorageDatabasePath]);
@@ -987,7 +1012,9 @@ static bool fastDocumentTeardownEnabled()
return;
}
+#if ENABLE(VIDEO)
[self _exitFullscreen];
+#endif
if (Frame* mainFrame = [self _mainCoreFrame])
mainFrame->loader()->detachFromParent();
@@ -1288,6 +1315,8 @@ static bool fastDocumentTeardownEnabled()
settings->setApplicationChromeMode([preferences applicationChromeModeEnabled]);
if ([preferences userStyleSheetEnabled]) {
NSString* location = [[preferences userStyleSheetLocation] _web_originalDataAsString];
+ if ([location isEqualToString:@"apple-dashboard://stylesheet"])
+ location = @"file:///System/Library/PrivateFrameworks/DashboardClient.framework/Resources/widget.css";
settings->setUserStyleSheetLocation([NSURL URLWithString:(location ? location : @"")]);
} else
settings->setUserStyleSheetLocation([NSURL URLWithString:@""]);
@@ -1308,6 +1337,7 @@ static bool fastDocumentTeardownEnabled()
settings->setShowRepaintCounter([preferences showRepaintCounter]);
settings->setPluginAllowedRunTime([preferences pluginAllowedRunTime]);
settings->setWebGLEnabled([preferences webGLEnabled]);
+ settings->setLoadDeferringEnabled(shouldEnableLoadDeferring());
}
static inline IMP getMethod(id o, SEL s)
@@ -2319,6 +2349,11 @@ static PassOwnPtr<Vector<String> > toStringVector(NSArray* patterns)
frame->animation()->resumeAnimations(frame->document());
}
++ (void)_setDomainRelaxationForbidden:(BOOL)forbidden forURLScheme:(NSString *)scheme
+{
+ SecurityOrigin::setDomainRelaxationForbiddenForURLScheme(forbidden, scheme);
+}
+
@end
@implementation _WebSafeForwarder
@@ -5577,6 +5612,41 @@ static void layerSyncRunLoopObserverCallBack(CFRunLoopObserverRef, CFRunLoopActi
@end
+@implementation WebView (WebViewGeolocation)
+
+- (void)_setGeolocationProvider:(id<WebGeolocationProvider>)geolocationProvider
+{
+ if (_private)
+ _private->_geolocationProvider = geolocationProvider;
+}
+
+- (id<WebGeolocationProvider>)_geolocationProvider
+{
+ if (_private)
+ return _private->_geolocationProvider;
+ return nil;
+}
+
+- (void)_geolocationDidChangePosition:(WebGeolocationPosition *)position;
+{
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+ if (_private && _private->page)
+ _private->page->geolocationController()->positionChanged(core(position));
+#endif
+}
+
+- (void)_geolocationDidFailWithError:(NSError *)error
+{
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+ if (_private && _private->page) {
+ RefPtr<GeolocationError> geolocatioError = GeolocationError::create(GeolocationError::PositionUnavailable, [error localizedDescription]);
+ _private->page->geolocationController()->errorOccurred(geolocatioError.get());
+ }
+#endif
+}
+
+@end
+
#ifdef BUILDING_ON_LEOPARD
static IMP originalRecursivelyRemoveMailAttributesImp;
diff --git a/WebKit/mac/WebView/WebViewData.h b/WebKit/mac/WebView/WebViewData.h
index 37024c7..b0569a2 100644
--- a/WebKit/mac/WebView/WebViewData.h
+++ b/WebKit/mac/WebView/WebViewData.h
@@ -43,6 +43,7 @@ namespace WebCore {
@class WebPreferences;
@class WebTextCompletionController;
@protocol WebFormDelegate;
+@protocol WebGeolocationProvider;
#if ENABLE(VIDEO)
@class WebVideoFullscreenController;
#endif
@@ -165,5 +166,7 @@ extern int pluginDatabaseClientCount;
#if ENABLE(VIDEO)
WebVideoFullscreenController *fullscreenController;
#endif
+
+ id<WebGeolocationProvider> _geolocationProvider;
}
@end
diff --git a/WebKit/mac/WebView/WebViewData.mm b/WebKit/mac/WebView/WebViewData.mm
index 835f46e..21ba4c8 100644
--- a/WebKit/mac/WebView/WebViewData.mm
+++ b/WebKit/mac/WebView/WebViewData.mm
@@ -81,7 +81,9 @@ int pluginDatabaseClientCount = 0;
ASSERT(applicationIsTerminating || !page);
ASSERT(applicationIsTerminating || !preferences);
ASSERT(!insertionPasteboard);
+#if ENABLE(VIDEO)
ASSERT(!fullscreenController);
+#endif
[applicationNameForUserAgent release];
[backgroundColor release];
@@ -101,7 +103,9 @@ int pluginDatabaseClientCount = 0;
{
ASSERT_MAIN_THREAD();
ASSERT(!insertionPasteboard);
+#if ENABLE(VIDEO)
ASSERT(!fullscreenController);
+#endif
[super finalize];
}
diff --git a/WebKit/mac/WebView/WebViewPrivate.h b/WebKit/mac/WebView/WebViewPrivate.h
index 0622d4c..4d1145e 100644
--- a/WebKit/mac/WebView/WebViewPrivate.h
+++ b/WebKit/mac/WebView/WebViewPrivate.h
@@ -43,6 +43,7 @@
@class NSError;
@class WebFrame;
+@class WebGeolocationPosition;
@class WebInspector;
@class WebPreferences;
@class WebScriptWorld;
@@ -66,6 +67,7 @@ extern NSString *WebElementIsContentEditableKey; // NSNumber indicating whether
// other WebElementDictionary keys
extern NSString *WebElementLinkIsLiveKey; // NSNumber of BOOL indictating whether the link is live or not
+extern NSString *WebElementIsInScrollBarKey;
// One of the subviews of the WebView entered compositing mode.
extern NSString *_WebViewDidStartAcceleratedCompositingNotification;
@@ -507,6 +509,8 @@ Could be worth adding to the API.
*/
- (void)setCSSAnimationsSuspended:(BOOL)suspended;
++ (void)_setDomainRelaxationForbidden:(BOOL)forbidden forURLScheme:(NSString *)scheme;
+
@end
@interface WebView (WebViewPrintingPrivate)
@@ -573,6 +577,20 @@ Could be worth adding to the API.
- (BOOL)_selectionIsAll;
@end
+@protocol WebGeolocationProvider <NSObject>
+- (void)registerWebView:(WebView *)webView;
+- (void)unregisterWebView:(WebView *)webView;
+- (WebGeolocationPosition *)lastPosition;
+@end
+
+@interface WebView (WebViewGeolocation)
+- (void)_setGeolocationProvider:(id<WebGeolocationProvider>)locationProvider;
+- (id<WebGeolocationProvider>)_geolocationProvider;
+
+- (void)_geolocationDidChangePosition:(WebGeolocationPosition *)position;
+- (void)_geolocationDidFailWithError:(NSError *)error;
+@end
+
@interface NSObject (WebFrameLoadDelegatePrivate)
- (void)webView:(WebView *)sender didFirstLayoutInFrame:(WebFrame *)frame;