2009-03-26 Jungshik Shin 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 Reviewed by Dan Bernstein. - Fix and . * 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 Reviewed by Darin Adler. 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 Reviewed by Kevin Decker. 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 Reviewed by Oliver Hunt. - speculative fix for 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 Reviewed by Dan Bernstein. Fix for Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache * Misc/WebCache.mm: (+[WebCache empty]): 2009-03-23 Adele Peterson 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 * WebView/WebTextIterator.h: Fixed a spelling error in a comment. 2009-03-22 Dan Bernstein Reviewed by John Sullivan. - fix 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 Build fix. Reviewed by Darin Adler. * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): 2009-03-20 Timothy Hatcher 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. 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 Reviewed by Timothy Hatcher. * WebView/WebTextIterator.h: Improved comments to point out some of the pitfalls of this SPI. 2009-03-20 Darin Adler 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 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 Reviewed by Oliver Hunt. WebKit side of . Try reinitializing the vendor port if it's invalid. * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::spawnPluginHost): 2009-03-18 Anders Carlsson Reviewed by Darin Adler. CrashTracer: [USER] 188 crashes in Safari at com.apple.WebCore • WTF::HashTableIterator, ... 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 Reviewed by Adele Peterson. 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 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 Fix the build. * Plugins/Hosted/HostedNetscapePluginStream.mm: 2009-03-17 David Kilzer 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 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 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 Reviewed by Dan Bernstein. 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 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 Reviewed by Oliver Hunt. 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 Reviewed by Sam Weinig. Fix Make sure to update both the window frame and the plug-in frame. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView addWindowObservers]): 2009-03-15 Dan Bernstein Reviewed by Adele Peterson. - fix 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 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 Reviewed by Kevin Decker and Geoffrey Garen. 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 And yet another attempt... * Plugins/WebNetscapePluginEventHandlerCocoa.h: (WebNetscapePluginEventHandlerCocoa::installKeyEventHandler): (WebNetscapePluginEventHandlerCocoa::removeKeyEventHandler): * Plugins/WebNetscapePluginEventHandlerCocoa.mm: 2009-03-13 Anders Carlsson Another attempt at fixing the build. * Plugins/WebNetscapePluginEventHandlerCocoa.mm: (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa): 2009-03-13 Anders Carlsson Try to fix the SL build. * Plugins/WebNetscapePluginEventHandlerCocoa.h: * Plugins/WebNetscapePluginEventHandlerCocoa.mm: (WebNetscapePluginEventHandlerCocoa::keyDown): 2009-03-13 Greg Bolsinga 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 Reviewed by Dan Bernstein. 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 Reviewed by Mike Thole and Mark Rowe. Fix . Make sure to process incoming messages for the NSEventTrackingRunLoopMode as well. * Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): 2009-03-12 Anders Carlsson Reviewed by Geoffrey Garen. WebKit side of * 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 Reviewed by Anders Carlsson. * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage _unloadWithShutdown:]): Simply a small SUPPORT_CFM code block. 2009-03-12 Kevin Decker Reviewed by Anders Carlsson. Fixed: 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 Remove duplicate header include Rubber-stamped by Mark Rowe. * WebView/WebView.mm: Remove duplicate #include . Also realphabetized lowercase #include statements. 2009-03-11 David Kilzer 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 Reviewed by Sam Weinig. WebKit side of . * 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 Reviewed by Darin Adler. Fix . * Plugins/WebPluginContainerPrivate.h: 2009-03-10 Xan Lopez Build fix, no review. * WebView/WebFrame.mm: (-[WebFrame _smartDeleteRangeForProposedRange:]): 2009-03-09 Anders Carlsson Reviewed by Kevin Decker. WebKit side of * 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 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 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 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 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 Reviewed by Darin Adler. Fix for https://bugs.webkit.org/show_bug.cgi?id=24079 REGRESSION (r39549): Page loads cannot be interrupted with Command-. or Escape 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 Reviewed by Dan Bernstein. Adoption of new Cocoa API for dictionary contextual menu * WebView/WebHTMLView.mm: (-[WebHTMLView _lookUpInDictionaryFromMenu:]): 2009-03-04 Adam Barth 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 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 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 Reviewed by Darin Adler. Fix . * 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 Reviewed by Mark Rowe. Enable Geolocation (except on Tiger and Leopard). * Configurations/WebKit.xcconfig: 2009-03-02 Anders Carlsson Reviewed by Dan Bernstein. WebKit part of . * 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 Reviewed by Geoffrey Garen. Fix for 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 Fix PowerPC build. * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage _tryLoad]): 2009-03-02 Anders Carlsson 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 Build fix. * Plugins/WebNetscapeDeprecatedFunctions.h: 2009-03-02 Anders Carlsson 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 Reviewed by Sam Weinig. WebKit side of Pass the visible name to the plug-in host. * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::spawnPluginHost): 2009-02-27 Alice Liu Fix 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 Reviewed by Geoffrey Garen. 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 Reviewed by Geoffrey Garen. WebKit side of . * 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 Fixes an exception by null checking the WebResource before adding it to the subresources array. 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 Adds a workaround for Automator creating a WebView from a secondary thread. 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 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 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 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 Reviewed by Geoff Garen. Fix for 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 Reviewed by Kevin Decker. Fix . * 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 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 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 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 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 Reviewed by Geoffrey Garen. Related to Allow disabling javascript: urls. * WebView/WebView.mm: (-[WebView _setJavaScriptURLsAreAllowed:]): * WebView/WebViewPrivate.h: 2009-02-24 Mark Rowe Reviewed by Oliver Hunt. 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 Reviewed by Mark Rowe. Fix 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 Reviewed by Geoffrey Garen and Darin Adler. WebKit side of . 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 Reviewed by Darin Adler. Fix . * 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 Fix the build after r41126. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): 2009-02-22 Dan Bernstein Reviewed by Darin Adler. - fix 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 Fix build. * Plugins/Hosted/WebTextInputWindowController.m: 2009-02-20 Anders Carlsson 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 Reviewed by andersca. 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 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 . 2009-02-18 Dan Bernstein Reviewed by Brady Eidson. - WebKit part of fixing 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 Reviewed by Sam Weinig. Fix for 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 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 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