blob: e73430964d6705842d076bcc6a17d78576695257 [file] [log] [blame]
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 ==