2012-08-06 Lucas Forschler <lforschler@apple.com> Merge 123907 2012-07-27 Anders Carlsson <andersca@apple.com> Show the unavailable plug-in indicator for Java applets as well https://bugs.webkit.org/show_bug.cgi?id=92521 Reviewed by Sam Weinig. Check if the Java plug-in is blocked before trying to instantiate it. * WebCoreSupport/WebFrameLoaderClient.mm: 2012-08-06 Lucas Forschler <lforschler@apple.com> Merge 123775 2012-07-25 Jer Noble <jer.noble@apple.com> Add setting to enable and disable diagnostic logging. https://bugs.webkit.org/show_bug.cgi?id=92337 Reviewed by Anders Carlsson. Add a WebKit WebPreferences API to set set the WebCore diagnosticLoggingEnabled setting. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Register the default value to false. (-[WebPreferences diagnosticLoggingEnabled]): Simple userDefaults accessor. (-[WebPreferences setDiagnosticLoggingEnabled:]): Ditto. * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Ensure this preference is propagated to Settings whenever the preferences change. 2012-07-30 Lucas Forschler <lforschler@apple.com> Merge 121646 2012-07-01 Timothy Hatcher <timothy@apple.com> Make the "Inspect Element" context menu item appear in nightly builds again. rdar://problem/11702613 https://webkit.org/b/89323 Reviewed by Dan Bernstein. * WebView/WebUIDelegatePrivate.h: Add missing enums that were added in ContextMenuItem.h but left out here. 2012-06-12 Lucas Forschler <lforschler@apple.com> Merge 120357 2012-06-14 Jia Pu <jpu@apple.com> Mark text with text alternative with blue underline. https://bugs.webkit.org/show_bug.cgi?id=83047 Reviewed by Enrica Casucci. Changes in WebKit include implementation of new functions declared in AlternativeTextClient, and logic for calling Editor::insertDictatedText() instead of Editor::insertText() when there's alternatives attached to the input string. * WebCoreSupport/CorrectionPanel.mm: (correctionIndicatorType): (CorrectionPanel::handleAcceptedReplacement): * WebCoreSupport/WebAlternativeTextClient.h: (WebAlternativeTextClient): * WebCoreSupport/WebAlternativeTextClient.mm: (WebAlternativeTextClient::showCorrectionAlternative): (WebAlternativeTextClient::dismissAlternative): (WebAlternativeTextClient::dismissAlternativeSoon): (WebAlternativeTextClient::recordAutocorrectionResponse): (WebAlternativeTextClient::removeDictationAlternatives): (WebAlternativeTextClient::showDictationAlternativeUI): (WebAlternativeTextClient::dismissDictationAlternativeUI): (WebAlternativeTextClient::dictationAlternatives): * WebView/WebHTMLView.mm: (-[WebHTMLView validAttributesForMarkedText]): (-[WebHTMLView insertText:]): * WebView/WebView.mm: (-[WebView handleAcceptedAlternativeText:]): (-[WebView _getWebCoreDictationAlternatives:fromTextAlternatives:]): (-[WebView _showDictationAlternativeUI:WebCore::forDictationContext:]): (-[WebView _dismissDictationAlternativeUI]): (-[WebView _removeDictationAlternatives:]): (-[WebView _dictationAlternatives:]): * WebView/WebViewData.h: * WebView/WebViewData.mm: (-[WebViewPrivate init]): * WebView/WebViewInternal.h: * WebView/WebViewPrivate.h: 2012-06-12 Lucas Forschler <lforschler@apple.com> Merge 119280 2012-06-01 Michael Saboff <msaboff@apple.com> WebFrame::_stringByEvaluatingJavaScriptFromString methods don't handle nil string https://bugs.webkit.org/show_bug.cgi?id=88109 Reviewed by Geoffrey Garen. Added short circuit return when the NSString to evaluate is nil. * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): 2012-06-12 Lucas Forschler <lforschler@apple.com> Merge 119543 2012-06-05 Anders Carlsson <andersca@apple.com> Build fix. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): The error constant has been renamed. 2012-06-12 Lucas Forschler <lforschler@apple.com> Merge 119542 2012-06-05 Anders Carlsson <andersca@apple.com> Rename a plug-in loading error constant https://bugs.webkit.org/show_bug.cgi?id=88381 <rdar://problem/11602601> Reviewed by Sam Weinig. * Misc/WebKitErrors.h: 2012-06-06 Mark Rowe <mrowe@apple.com> Merge r119339. 2012-06-02 Yongjun Zhang <yongjun_zhang@apple.com> loadRequest should check for empty URLs. https://bugs.webkit.org/show_bug.cgi?id=88154 In [WebFrame loadRequest], if the url is invalid and not nil, we transform it to file: url. However, WebKit client could send down an empty URL that makes us transform it to file: url as well. We should skip that as we did for nil URLs. Reviewed by Brady Eidson. * WebView/WebFrame.mm: (-[WebFrame loadRequest:]): 2012-05-31 Ojan Vafai <ojan@chromium.org> add back the ability to disable flexbox https://bugs.webkit.org/show_bug.cgi?id=87147 Reviewed by Tony Chang. * Configurations/FeatureDefines.xcconfig: 2012-05-31 Tim Horton <timothy_horton@apple.com> Disable CSS3 flexbox <rdar://problem/11524921> Reviewed by John Sullivan. * Configurations/FeatureDefines.xcconfig: 2012-05-31 Tim Horton <timothy_horton@apple.com> Add feature defines for web-facing parts of CSS Regions and Exclusions https://bugs.webkit.org/show_bug.cgi?id=87442 <rdar://problem/10887709> Reviewed by Dan Bernstein. * Configurations/FeatureDefines.xcconfig: 2012-05-24 Lucas Forschler <lforschler@apple.com> Merge 118086 2012-05-22 Tim Horton <timothy_horton@apple.com> Add a quirk for applications that depend on the relative ordering of progressCompleted/didFinishLoad https://bugs.webkit.org/show_bug.cgi?id=87178 <rdar://problem/11468434> Reviewed by Maciej Stachowiak. Add plumbing for the quirk to flip the relative ordering of progressCompleted/didFinishLoad back to the behavior before http://trac.webkit.org/changeset/94105. Make it apply to any Mail.app linked against WebKit before that revision. * Misc/WebKitVersionChecks.h: * WebView/WebView.mm: (-[WebView _needsDidFinishLoadOrderQuirk]): (-[WebView _preferencesChanged:]): 2012-05-21 Lucas Forschler <lforschler@apple.com> Merge 117510 2012-05-17 Andy Estes <aestes@apple.com> Don't let -[CALayer renderInContext:] try to render WebView's root layer https://bugs.webkit.org/show_bug.cgi?id=86773 <rdar://problem/10950075> Reviewed by Dan Bernstein. -[CALayer renderInContext:] doesn't correctly render our layer tree, so don't let it try. Calling drawRect: with a bitmap context will already do the right thing for WebViews. * WebView/WebHTMLView.mm: Create a subclass of CALayer called WebLayerHostingLayer. (-[WebLayerHostingLayer renderInContext:]): override renderInContext: to be a NOOP. (-[WebHTMLView attachRootLayer:]): Create a WebLayerHostingLayer rather than a CALayer. 2012-05-16 Lucas Forschler <lforschler@apple.com> Merge 117129 2012-05-15 Anders Carlsson <andersca@apple.com> Use unaccelerated scrolling deltas when rubber-banding https://bugs.webkit.org/show_bug.cgi?id=86503 <rdar://problem/11378742> Reviewed by Sam Weinig. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Init new WKSI functions. 2012-05-15 Sam Weinig <sam@webkit.org> <rdar://problem/11401642> ENABLE_IFRAME_SEAMLESS should be turned off on the branch Reviewed by Andy Estes. * Configurations/FeatureDefines.xcconfig: Disable ENABLE_IFRAME_SEAMLESS. 2012-05-15 Sam Weinig <sam@webkit.org> Disable CSS regions <rdar://problem/10887709> Reviewed by Anders Carlsson. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Disable regions by default 2012-05-15 Lucas Forschler <lforschler@apple.com> Merge 116820 2012-05-11 Brady Eidson <beidson@apple.com> <rdar://problem/11361907> and https://bugs.webkit.org/show_bug.cgi?id=86265 REGRESSION(r104885): Images missing from printed YummySoup! recipes We thought clients were passing paths as URLs. It turns out it was more likely they were passing file: URLs with the file: scheme removed. And that jives perfectly with the behavior change caused by r104885. Reviewed by Alexey Proskuryakov. Rename _webkit_URLFromURLOrPath to _webkit_URLFromURLOrSchemelessFileURL, and change it to create the new URL simply by appending "file:": * Misc/WebNSURLExtras.h: * Misc/WebNSURLExtras.mm: (-[NSURL _webkit_URLFromURLOrSchemelessFileURL]): * WebView/WebFrame.mm: (-[WebFrame loadRequest:]): Create the fixed url simply by appending "file:" to the existing URL string. (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): (-[WebFrame loadHTMLString:baseURL:]): (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): 2012-05-15 Lucas Forschler <lforschler@apple.com> Merge 116695 2012-05-10 Anders Carlsson <andersca@apple.com> WebKit1: Add a way to blacklist specific plug-ins/plug-in versions https://bugs.webkit.org/show_bug.cgi?id=86150 <rdar://problem/9551196> Reviewed by Sam Weinig. * Misc/WebKitErrors.h: Add WebKitErrorInsecurePlugInVersion enum. * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage bundleIdentifier]): (-[WebBasePluginPackage bundleVersion]): Add bundleIdentifier and bundleVersion getters. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Check if the plug-in is blocked. If it is, set the unavailability reason and the error code. 2012-05-15 Lucas Forschler <lforschler@apple.com> Merge 116687 2012-05-10 Anders Carlsson <andersca@apple.com> Rename the missing plug-in indicator to the unavailable plug-in indicator https://bugs.webkit.org/show_bug.cgi?id=86136 Reviewed by Sam Weinig. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView pluginHostDied]): * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::shouldUnavailablePluginMessageBeButton): (WebChromeClient::unavailablePluginButtonClicked): 2012-05-15 Lucas Forschler <lforschler@apple.com> Merge 116473 2012-05-08 Jon Lee <jonlee@apple.com> Safari warns that it needs to resend the form in an iFrame when going back https://bugs.webkit.org/show_bug.cgi?id=82658 <rdar://problem/11292558> Reviewed by Darin Adler. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Add wkCFURLRequestAllowAllPostCaching. 2012-05-15 Lucas Forschler <lforschler@apple.com> Merge 116449 2012-05-08 Timothy Hatcher <timothy@apple.com> Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen. <rdar://problem/11406517> Reviewed by Mark Rowe. * WebCoreSupport/WebInspectorClient.mm: Pass A to SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL for the version. 2012-05-15 Lucas Forschler <lforschler@apple.com> Merge 116367 2012-05-07 Andy Estes <aestes@apple.com> ENABLE_IFRAME_SEAMLESS should be part of FEATURE_DEFINES. * Configurations/FeatureDefines.xcconfig: 2012-05-15 Lucas Forschler <lforschler@apple.com> Merge 116356 2012-05-07 Eric Seidel <eric@webkit.org> Add ENABLE_IFRAME_SEAMLESS so Apple can turn off SEAMLESS if needed https://bugs.webkit.org/show_bug.cgi?id=85822 Reviewed by Adam Barth. * Configurations/FeatureDefines.xcconfig: 2012-05-04 Jer Noble <jer.noble@apple.com> REGRESSION (r116127-r116165): 6 tests failing on Lion Debug (Tests) https://bugs.webkit.org/show_bug.cgi?id=85674 Reviewed by Oliver Hunt. Null check the results of core([frame DOMDocument]). * WebView/WebView.mm: (-[WebView _didStartProvisionalLoadForFrame:]): 2012-05-02 Jer Noble <jer.noble@apple.com> Taking a visibility:hidden element full screen causes full screen window to disappear. https://bugs.webkit.org/show_bug.cgi?id=85432 Reviewed by Maciej Stachowiak. When given an initial or final frame with a zero width or height, return a rect representing the entire screen, rather than a rect with a zero or infinite size. Doing otherwise will confuse the window server when it's instructed to scale the full screen window to that size. * WebView/WebFullScreenController.mm: (windowFrameFromApparentFrames): 2012-05-04 Jer Noble <jer.noble@apple.com> Full screen will exit during a provisional load of a non-ancestor iframe. https://bugs.webkit.org/show_bug.cgi?id=85230 Reviewed by Maciej Stachowiak . Only exit full screen mode if the frame being loaded contains the full screen element. * WebView/WebView.mm: (-[WebView _didStartProvisionalLoadForFrame:]): Give the UIDelegate a first crack at handling the request to close the full screen window when a provisional load occurs. 2012-05-04 Jer Noble <jer.noble@apple.com> Move WebKitFullScreenListener into its own file. https://bugs.webkit.org/show_bug.cgi?id=85640 Reviewed by Maciej Stachowiak. Move WebKitFullScreenListener into its own file, so it can be used by multiple classes. * WebCoreSupport/WebKitFullScreenListener.h: Added. * WebCoreSupport/WebKitFullScreenListener.mm: Added. (-[WebKitFullScreenListener webkitWillEnterFullScreen]): (-[WebKitFullScreenListener webkitDidEnterFullScreen]): (-[WebKitFullScreenListener webkitWillExitFullScreen]): (-[WebKitFullScreenListener webkitDidExitFullScreen]): * WebCoreSupport/WebChromeClient.mm: 2012-05-04 Brady Eidson <beidson@apple.com> <rdar://problem/11312853> and https://bugs.webkit.org/show_bug.cgi?id=85635 Exception in [WebFrame loadRequest:] breaks some WebKit apps Reviewed by Alexey Proskuryakov. Some API clients pass in nil requests or requests with nil URLs. In r112571 we started rewriting these URLs resulting in an exception. Since we've supported nil requests until now, we should not try to rewrite these URLs. * WebView/WebFrame.mm: (-[WebFrame loadRequest:]): Don't try to rewrite invalid URLs if they are also null. 2012-05-04 Nate Chapin <japhet@chromium.org> Don't require FrameLoaderClient to manufacture a commitData() call for empty documents. https://bugs.webkit.org/show_bug.cgi?id=85533 Reviewed by Alexey Proskuryakov. * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Calling commitData when finishing is no longer necessary, as WebCore will take care of simulating the receipt of data and ensuring the requisite work gets done in the blank document case. 2012-05-03 Anders Carlsson <andersca@apple.com> useWebKitWebInspector should be more robust against missing files https://bugs.webkit.org/show_bug.cgi?id=85563 <rdar://problem/11373948> Reviewed by Dan Bernstein. * WebCoreSupport/WebInspectorClient.mm: (useWebKitWebInspector): 2012-05-03 Tobias Netzel <tobias.netzel@googlemail.com> Bugs in WebFullScreenController https://bugs.webkit.org/show_bug.cgi?id=85388 Reviewed by Alexey Proskuryakov. Leopard specific fixes: NSWindow doesn't respond to isOnActiveSpace so find out first. Values passed to SetSystemUIMode were swapped. * WebView/WebFullScreenController.mm: (-[WebFullScreenController exitFullScreen]): (-[WebFullScreenController _updateMenuAndDockForFullScreen]): 2012-05-02 Jon Lee <jonlee@apple.com> Migrate permission functions to Notification from NotificationCenter https://bugs.webkit.org/show_bug.cgi?id=80485 <rdar://problem/10965458> Reviewed by Jian Li. * WebCoreSupport/WebNotificationClient.h: * WebCoreSupport/WebNotificationClient.mm: Add a separate callback variable depending on the notifications API enabled. (WebNotificationClient::requestPermission): Add NotificationPermissionCallback version of the same function. And refactor common code into private function. (-[WebNotificationPolicyListener initWithCallback:]): Refactor to take the NotificationPermissionCallback as a parameter. (-[WebNotificationPolicyListener initWithVoidCallback:]): Add new init method to handle legacy API. (-[WebNotificationPolicyListener allow]): Invoke the callback for both variables. If only one of the APIs is enabled, we are guaranteed that the relevant callback variable exists. If both APIs are supported, it is possible that _voidCallback will be nil if the callback is NotificationPermissionCallback, so we need the extra pointer check. (-[WebNotificationPolicyListener deny]): Ditto. 2012-05-02 Eric Seidel <eric@webkit.org> Sort ENABLE_ defines in FeatureDefines.xcconfig files to make them easier to compare with one another (and easier to autogenerate) https://bugs.webkit.org/show_bug.cgi?id=85433 Reviewed by Adam Barth. I have a script which can autogenerate these xcconfig files as well as the vsprops files (and soon the Chromium, cmake, gnumake and qmake) feature lists from a central feature list file. In preparation for posting such a tool, I'm re-sorting these xcconfig files to be alphabetically ordered (currently they're close, but not quite). There is also at least one inconsistency between these files (CSS_LEGACY_PREFIXES) which I will fix in a second pass. I will also sort the FEATURE_DEFINES = line in a follow-up patch. * Configurations/FeatureDefines.xcconfig: 2012-04-18 Jon Honeycutt <jhoneycutt@apple.com> FrameLoaderClient::dispatchWillSendSubmitEvent() should be given more information about the form being submitted https://bugs.webkit.org/show_bug.cgi?id=84297 Reviewed by Andy Estes. * WebCoreSupport/WebFrameLoaderClient.h: Updated method declaration. 2012-05-01 Jon Honeycutt <jhoneycutt@apple.com> Make Page::setDefersLoading() have a call count so that each time loading is deferred, it must be balanced with a call to resume. https://bugs.webkit.org/show_bug.cgi?id=84522 Reviewed by Andy Estes. * WebView/WebPreferenceKeysPrivate.h: Declare a new key for this preference. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Initialize new preference to NO. (-[WebPreferences setWantsBalancedSetDefersLoadingBehavior:]): Setter. (-[WebPreferences wantsBalancedSetDefersLoadingBehavior]): Getter. * WebView/WebPreferencesPrivate.h: Declare setter and getter. * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Set the setting from the WebPreferences object's value. 2012-05-01 Jeffrey Pfau <jpfau@apple.com> <rdar://problem/10422318> Support for web content filter delegate for filtering https content https://bugs.webkit.org/show_bug.cgi?id=85300 Reviewed by Alexey Proskuryakov. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2012-05-01 Ryosuke Niwa <rniwa@webkit.org> *Command.h files shouldn't be exported to WebKit layer https://bugs.webkit.org/show_bug.cgi?id=74778 Reviewed by Eric Seidel. * WebView/WebFrame.mm: (-[WebFrame _insertParagraphSeparatorInQuotedContent]): 2012-04-28 Geoffrey Garen <ggaren@apple.com> Clarified JSGlobalData (JavaScript VM) lifetime https://bugs.webkit.org/show_bug.cgi?id=85142 Reviewed by Anders Carlsson. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): 2012-04-27 Gavin Peters <gavinp@chromium.org> Add new ENABLE_LINK_PRERENDER define to control the Prerendering API https://bugs.webkit.org/show_bug.cgi?id=84871 Reviewed by Adam Barth. Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering API separates it from prefetching. Having separate include guards lets ports enable prefetching, a relatively easy change, without needing to build the infrastructure for prerendering, which is considerably more complicated. 2012-04-26 Jon Lee <jonlee@apple.com> [WK2] AlternativeTextClient leaks when the page is destroyed https://bugs.webkit.org/show_bug.cgi?id=84307 <rdar://problem/11328431> Reviewed by Enrica Casucci. * WebCoreSupport/WebAlternativeTextClient.h: Implement pageDestroyed(), as in EditorClient. (WebAlternativeTextClient): * WebCoreSupport/WebAlternativeTextClient.mm: (WebAlternativeTextClient::pageDestroyed): Deletes itself. 2012-04-26 Jer Noble <jer.noble@apple.com> Full Screen mode does not preserve CALayer ordering after exiting. https://bugs.webkit.org/show_bug.cgi?id=83931 Reviewed by Eric Carlson. Further corrections to r114567. When swapping view for otherView, give the correct relative view to -[NSView addSubview:positioned:relativeTo:]. * WebView/WebFullScreenController.mm: (-[WebFullScreenController _swapView:with:]): 2012-04-25 Jer Noble <jer.noble@apple.com> Placeholder view is immediately removed from hosting window upon entering full screen. https://bugs.webkit.org/show_bug.cgi?id=84916 Reviewed by Darin Adler. Correct a mistake added in r114567. When swapping view for otherView, add otherView and remove view (rather than adding otherView and removing otherView). * WebView/WebFullScreenController.mm: (-[WebFullScreenController _swapView:with:]): 2012-04-25 Beth Dakin <bdakin@apple.com> https://bugs.webkit.org/show_bug.cgi?id=84913 WebKit 1: Initialize deviceScaleFactor on creation of the WebView -and corresponding- <rdar://problem/11322716> Reviewed by Darin Adler. Before this patch, we weren't setting the deviceScaleFactor until viewDidMoveToWindow which is quite late for background tabs. setHostWindow will happen early on though. For applications that don't use host windows, also set it from _initWithFrame. * WebView/WebView.mm: (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]): (-[WebView setHostWindow:]): (-[WebView _deviceScaleFactor]): 2012-04-24 Alexis Menard <alexis.menard@openbossa.org> Replace occurences of style selector from variables and methods names by style resolver. https://bugs.webkit.org/show_bug.cgi?id=84765 Reviewed by Andreas Kling. Rename methods and variables to follow the new name StyleResolver. It requires to update the local variables, methods parameters, and function names to match the new name and to remove the concept of "selector" to avoid clashing with the CSS concept. The next and last patch will be to rename CSSStyleSelector file and update the includes. * WebView/WebHTMLView.mm: (-[WebHTMLView reapplyStyles]): (-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustViewSize:paginateScreenContent:]): 2012-04-23 Andy Estes <aestes@apple.com> Incremental rendering should be unsuppressed after the load event or a configurable timeout, whichever occurs first. https://bugs.webkit.org/show_bug.cgi?id=84583 Add a private WebPreference for setting the incremental rendering suppression timeout. Reviewed by Anders Carlsson. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (-[WebPreferences setIncrementalRenderingSuppressionTimeoutInSeconds:]): (-[WebPreferences incrementalRenderingSuppressionTimeoutInSeconds]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2012-04-23 Julien Chaffraix <jchaffraix@webkit.org> Cut dependency on RenderLayer::scrollRectToVisible outside rendering https://bugs.webkit.org/show_bug.cgi?id=84607 Reviewed by Simon Fraser. * WebView/WebFrame.mm: (-[WebFrame _scrollDOMRangeToVisible:]): Updated to use RenderObject::scrollRectToVisible and not depend on RenderLayer. 2012-04-22 Jon Lee <jonlee@apple.com> Remove notifications support on Mac Lion. https://bugs.webkit.org/show_bug.cgi?id=84554 <rdar://problem/11297128> Reviewed by Sam Weinig. * Configurations/FeatureDefines.xcconfig: 2012-04-20 Jon Lee <jonlee@apple.com> Add Notification constructor https://bugs.webkit.org/show_bug.cgi?id=80477 <rdar://problem/10912431> Reviewed by Jian Li. * WebCoreSupport/WebNotificationClient.mm: (WebNotificationClient::clearNotifications): When clearing notifications, finalize them so that they can be cleaned up by the GC. 2012-04-20 Timothy Hatcher <timothy@apple.com> Make the Web Inspector be the first responder when opening docked. <rdar://problem/11294217> Reviewed by Brian Weinstein. * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController showWindow:]): Call makeFirstResponder: on the window and pass the Inspector's WebView. 2012-04-18 Hironori Bono <hbono@chromium.org> Split SpellChecker::didCheck() to SpellChecker::didCheckSucceeded() and SpellChecker::didCheckCanceled() https://bugs.webkit.org/show_bug.cgi?id=83748 Reviewed by Ryosuke Niwa. This change replaces a call for SpellChecker::didCheck() with one for SpellChecker::didCheckSucceeded() because didCheck has been split into didCheckSucceeded(0 and didCheckCanceled(). * WebCoreSupport/WebEditorClient.mm: (-[WebEditorSpellCheckResponder perform]): Replaced didCheck with didCheckSucceeded. 2012-04-18 Jer Noble <jer.noble@apple.com> Full Screen mode does not preserve CALayer ordering after exiting. https://bugs.webkit.org/show_bug.cgi?id=83931 Reviewed by Eric Carlson. When swapping the placeholder and web views, use -[NSView addSubview:positioned:relativeTo:] instead of -[NSView replaceSubview:with:], as the latter does not preserve the relative order of the view's backing CALayers. * WebView/WebFullScreenController.mm: (-[WebFullScreenController _swapView:with:]): 2012-04-18 Alexey Proskuryakov <ap@apple.com> [WK2] Sandbox violations prevent attaching files to gmail messages https://bugs.webkit.org/show_bug.cgi?id=84263 <rdar://problem/11248260> Reviewed by Oliver Hunt. * WebCoreSupport/WebDragClient.mm: (WebDragClient::willPerformDragDestinationAction): DragDestinationActionUpload no longer exists, so we don't need a special case for it. 2012-04-17 Jer Noble <jer.noble@apple.com> Exiting full screen video brings the wrong Safari window to the foreground https://bugs.webkit.org/show_bug.cgi?id=83936 Reviewed by Adele Peterson. Tell the original webView's window to makeKeyAndOrderFront once the exit animation completes. * WebView/WebFullScreenController.mm: (-[WebFullScreenController finishedExitFullScreenAnimation:]): 2012-04-16 Anders Carlsson <andersca@apple.com> Use a MIG call when creating a plug-in property list file https://bugs.webkit.org/show_bug.cgi?id=84084 <rdar://problem/11197341> Reviewed by Sam Weinig. * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::createPropertyListFile): Get a plug-in host and call _WKPHCreatePluginMIMETypesPreferences instead. * Plugins/Hosted/WebKitPluginHost.defs: Add PHCreatePluginMIMETypesPreferences. * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage createPropertyListFile]): NetscapePluginHostManager::createPropertyListFile is no longer a static member function. 2012-04-12 Andy Estes <aestes@apple.com> REGRESSION (r102262): iAd Producer relies on CSSStyleDeclaration property setters respecting '!important' https://bugs.webkit.org/show_bug.cgi?id=83832 Reviewed by Alexey Proskuryakov. * Misc/WebKitVersionChecks.h: Indicate that 535.13.0 was the first version of WebKit.framework to ignore '!important' in CSSStyleDeclaration property setters. * WebView/WebView.mm: (shouldRespectPriorityInCSSAttributeSetters): (-[WebView _commonInitializationWithFrameName:groupName:]): Enable a quirk to restore pre-r102262 behavior if the application is iAd Producer and was linked against a version of WebKit.framework that had the old behavior. 2012-04-12 Andy Estes <aestes@apple.com> Remove unused WebKit1 SPI for suppressing incremental rendering. https://bugs.webkit.org/show_bug.cgi?id=83801 Reviewed by Simon Fraser. This SPI is unused and has been replaced by API ([setS|s]uppressesIncrementalRendering). * WebView/WebPreferences.mm: * WebView/WebPreferencesPrivate.h: 2012-04-08 Dan Bernstein <mitz@apple.com> [mac] REGRESSION (r113467): Some canvas tests are failing in WebKit1 when run after compositing/tiled-layers-hidpi.html https://bugs.webkit.org/show_bug.cgi?id=83453 Reviewed by Sam Weinig. * WebView/WebView.mm: (-[WebView _setCustomBackingScaleFactor:]): When the scale factor parameter was 0, meaning no custom scale factor, this method was setting the Page scale factor to 0, and that value was used by canvas. Changed it to correctly set the Page scale factor back to the device scale factor. 2012-04-06 Alexey Proskuryakov <ap@apple.com> [Mac] Adopt a different method of telling AppKit when inline input isn't supported https://bugs.webkit.org/show_bug.cgi?id=83408 <rdar://problem/9205734> Reviewed by Adele Peterson. * Plugins/Hosted/WebTextInputWindowController.m: (-[WebTextInputView validAttributesForMarkedText]): (-[WebTextInputPanel init]): (-[WebTextInputPanel _interpretKeyEvent:string:]): Added a comment about old approach. 2012-04-06 Enrica Casucci <enrica@apple.com> Provide Obj-C private API to simplify markup. https://bugs.webkit.org/show_bug.cgi?id=83334 <rdar://problem/11033861> Reviewed by Sam Weinig. * WebView/WebView.mm: (-[WebView _simplifyMarkup:endNode:]): Added. * WebView/WebViewPrivate.h: 2012-04-06 Tim Horton <timothy_horton@apple.com> Add autodetection of image orientation from EXIF information https://bugs.webkit.org/show_bug.cgi?id=19688 <rdar://problem/4126979> and <rdar://problem/11091578> Original patch by David Carson and Eric Seidel. Reviewed by Simon Fraser. Add a preference, ShouldRespectImageOrientation, which will cause WebCore to respect EXIF orientation in all images. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setShouldRespectImageOrientation:]): (-[WebPreferences shouldRespectImageOrientation]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2012-04-06 Dan Bernstein <mitz@apple.com> <rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsample upon access Reviewed by Sam Weinig. * Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS. 2012-04-05 Jia Pu <jpu@apple.com> Move correction panel related functions from EditorClient into separated AlternativeTextClient class. https://bugs.webkit.org/show_bug.cgi?id=82970 Reviewed by Enrica Casucci. Move correction panel related functions from WebEditorClient to the new WebAlternativeTextClient. See WebCore/ChangeLog for details. * WebCoreSupport/CorrectionPanel.h: * WebCoreSupport/CorrectionPanel.mm: * WebCoreSupport/WebAlternativeTextClient.h: Added. (WebAlternativeTextClient): * WebCoreSupport/WebAlternativeTextClient.mm: Added. (WebAlternativeTextClient::WebAlternativeTextClient): (WebAlternativeTextClient::~WebAlternativeTextClient): (WebAlternativeTextClient::showCorrectionAlternative): (WebAlternativeTextClient::dismissAlternative): (WebAlternativeTextClient::dismissAlternativeSoon): (WebAlternativeTextClient::recordAutocorrectionResponse): * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::~WebEditorClient): * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): 2012-03-15 Jer Noble <jer.noble@apple.com> Full Screen mode should cancel before navigation. https://bugs.webkit.org/show_bug.cgi?id=81295 Reviewed by Anders Carlsson. When a provisional load is started, if the page is currently in full screen mode, instruct the full screen controller to close the full screen window immediately. * WebView/WebFullScreenController.h: * WebView/WebFullScreenController.mm: (-[WebFullScreenController isFullScreen]): Added. * WebView/WebView.mm: (-[WebView _didStartProvisionalLoadForFrame:]): Close the full screen window controller, if present and in full screen mode. 2012-04-03 Keishi Hattori <keishi@webkit.org> Disable ENABLE_DATALIST for now https://bugs.webkit.org/show_bug.cgi?id=82871 Reviewed by Kent Tamura. * Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST. 2012-04-03 Anders Carlsson <andersca@apple.com> Add audit token to PHCheckInWithPluginHost https://bugs.webkit.org/show_bug.cgi?id=83102 Reviewed by Sam Weinig. * Plugins/Hosted/WebKitPluginHost.defs: 2012-04-02 Jia Pu <jpu@apple.com> Rename SpellingCorrectionController to AlternativeTextController. https://bugs.webkit.org/show_bug.cgi?id=82942 Reviewed by Enrica Casucci. These changes are simply adopting new class names. * WebCoreSupport/CorrectionPanel.h: (CorrectionPanel): * WebCoreSupport/CorrectionPanel.mm: (correctionIndicatorType): (CorrectionPanel::CorrectionPanel): (CorrectionPanel::~CorrectionPanel): (CorrectionPanel::show): (CorrectionPanel::dismiss): (CorrectionPanel::dismissInternal): (CorrectionPanel::handleAcceptedReplacement): * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::~WebEditorClient): (WebEditorClient::showCorrectionPanel): (WebEditorClient::dismissCorrectionPanel): (WebEditorClient::dismissCorrectionPanelSoon): * WebView/WebView.mm: (-[WebView handleCorrectionPanelResult:]): 2012-04-03 Jer Noble <jer.noble@apple.com> ESC key in full screen does not result in webkitFullScreenChange event. https://bugs.webkit.org/show_bug.cgi?id=82755 <rdar://problem/11093513> Reviewed by Eric Carlson. Instead of exiting full screen directly, ask the document to initiate exiting full screen. This ensures that the entire full screen element stack is cleared and that webkitFullScreenChange events are sent out correctly. * WebView/WebFullScreenController.mm: (-[WebFullScreenController cancelOperation:]): (-[WebFullScreenController requestExitFullScreen]): 2012-04-01 Jon Lee <jonlee@apple.com> Rename notification properties and functions https://bugs.webkit.org/show_bug.cgi?id=80482 <rdar://problem/10912432> Reviewed by Kentaro Hara. * WebView/WebNotification.h: Rename replaceID to tag. * WebView/WebNotification.mm: (-[WebNotification tag]): 2012-03-31 Timothy Hatcher <timothy@apple.com> Prevent opening external URLs in the Web Inspector's WebView. All URLs not handled by the Inspector's JavaScript are now opened in the inspected WebView. https://webkit.org/b/82812 rdar://problem/9488558 Reviewed by Joseph Pecoraro. * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController init]): Factored the URL code out of here into inspectorPagePath. (-[WebInspectorWindowController inspectorPagePath]): Added. (-[WebInspectorWindowController webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Added. Only allow non-main frame and the inspector page. All other URLs will be opened in the inspected page. 2012-03-30 Emil A Eklund <eae@chromium.org> Change WebKit/WebKit2 platform code to use pixel snapped values https://bugs.webkit.org/show_bug.cgi?id=82549 Change WebKit and WebKit2 platform code to use rounded locations and pixel snapped rects and sizes. This largely avoids having to expose the fractional layout types to the platform code. Reviewed by Eric Seidel. * DOM/WebDOMOperations.mm: (-[DOMNode _renderRect:]): 2012-03-30 Mark Pilgrim <pilgrim@chromium.org> GEOLOCATION should be implemented as Page Supplement https://bugs.webkit.org/show_bug.cgi?id=82228 Reviewed by Adam Barth. Geolocation is now a Supplement in Page so the interface has changed for setting up the page's geolocation client initially and accessing the controller later. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): (-[WebView _geolocationDidChangePosition:]): (-[WebView _geolocationDidFailWithError:]): 2012-03-30 Keishi Hattori <keishi@webkit.org> Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium https://bugs.webkit.org/show_bug.cgi?id=80972 Reviewed by Kent Tamura. * Configurations/FeatureDefines.xcconfig: 2012-03-28 Alexey Proskuryakov <ap@apple.com> [Mac] REGRESSION: Removing translation of local paths in KURL constructor broke some applications https://bugs.webkit.org/show_bug.cgi?id=82548 <rdar://problem/11125355> <rdar://problem/11142152> Reviewed by Brady Eidson. * WebView/WebFrame.mm: (-[WebFrame loadRequest:]): Fixed this bug. (-[WebFrame loadHTMLString:baseURL:]): Also added translation to another API, so that I don't have to come back again. (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto. * WebView/WebView.mm: (-[WebView setMainFrameURL:]): Changed another place where clients used to pass file paths instead of URLs. 2012-03-29 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r112553. http://trac.webkit.org/changeset/112553 https://bugs.webkit.org/show_bug.cgi?id=82638 It made all tests crash on Qt WK2 (Requested by Ossy_away on #webkit). * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): (-[WebView _geolocationDidChangePosition:]): (-[WebView _geolocationDidFailWithError:]): 2012-03-29 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> HashMap<>::add should return a more descriptive object https://bugs.webkit.org/show_bug.cgi?id=71063 Reviewed by Ryosuke Niwa. Update code to use AddResult instead of a pair. * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::hostForPlugin): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::methodsNamed): (WebKit::ProxyInstance::fieldNamed): * WebCoreSupport/WebNotificationClient.mm: (WebNotificationClient::show): 2012-03-29 Mark Pilgrim <pilgrim@chromium.org> GEOLOCATION should be implemented as Page Supplement https://bugs.webkit.org/show_bug.cgi?id=82228 Reviewed by Adam Barth. Geolocation is now a Supplement in Page so the interface has changed for setting up the page's geolocation client initially and accessing the controller later. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): (-[WebView _geolocationDidChangePosition:]): (-[WebView _geolocationDidFailWithError:]): 2012-03-28 Nate Chapin <japhet@chromium.org> Remove dispatchDidLoadMainResource callback, since no port implements it. https://bugs.webkit.org/show_bug.cgi?id=82539 Reviewed by Alexey Proskuryakov. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: * WebKit.order: 2012-03-28 Joseph Pecoraro <pecoraro@apple.com> <http://webkit.org/b/82419> Web Inspector: Create -[DOMNode inspect] from IDL Reviewed by Timothy Hatcher. * MigrateHeaders.make: Copy DOMNodePrivate.h to PrivateHeaders. 2012-03-27 Timothy Hatcher <timothy@apple.com> Make WebKit properly load a staged framework when soft linking. https://webkit.org/b/82371 rdar://problem/11125989 Reviewed by Dan Bernstein. * WebCoreSupport/WebInspectorClient.mm: Use SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL to properly load the WebInspector framework. 2012-03-26 Adam Barth <abarth@webkit.org> FrameLoader::shouldAllowNavigation uses Frame for context rather than Document https://bugs.webkit.org/show_bug.cgi?id=81020 Reviewed by Eric Seidel. Update call site to new function name. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchWillSubmitForm): 2012-03-23 Alexey Proskuryakov <ap@apple.com> [Mac] No need for platform-specific ENABLE_BLOB values https://bugs.webkit.org/show_bug.cgi?id=82102 Reviewed by David Kilzer. * Configurations/FeatureDefines.xcconfig: 2012-03-23 Dean Jackson <dino@apple.com> Disable CSS_SHADERS in Apple builds https://bugs.webkit.org/show_bug.cgi?id=81996 Reviewed by Simon Fraser. Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h. * Configurations/FeatureDefines.xcconfig: 2012-03-22 Gyuyoung Kim <gyuyoung.kim@samsung.com> Convert hasGrammarMarker to use Internals interface https://bugs.webkit.org/show_bug.cgi?id=82004 Reviewed by Ryosuke Niwa. Remove hasGrammarMarker support, since it can support in the cross-port way through the Internals interface. * WebKit.order: * WebView/WebFrame.mm: * WebView/WebFramePrivate.h: 2012-03-22 Benjamin Poulain <bpoulain@apple.com> Build fix for WebHistory is busted after changing time zone https://bugs.webkit.org/show_bug.cgi?id=81849 Unreviewed build fix. When generating warning for undefined message signature, rebuildHistoryByDayIfNeeded fail to compile due to addItemToDateCaches: being undefined. Move the definition to the right place in the file to use the private method. * History/WebHistory.mm: (-[WebHistoryPrivate rebuildHistoryByDayIfNeeded:]): 2012-03-22 Benjamin Poulain <bpoulain@apple.com> WebHistory is busted after changing time zone https://bugs.webkit.org/show_bug.cgi?id=81849 Reviewed by Brady Eidson. The date used for choosing the bucket of a new entry is computed with the system TimeZone. When the Time Zone change, or the daylight saving time change, all the dates in _entriesByDate are offset from the new entries. This patch solves the issue by re-distributing the WebHistoryItems if the time zone changes. The clients of WebHistory are notified of this change through the regular Notifications. * History/WebHistory.mm: (-[WebHistoryPrivate rebuildHistoryByDayIfNeeded:]): (-[WebHistoryPrivate init]): (-[WebHistory timeZoneChanged:]): (-[WebHistory init]): (-[WebHistory dealloc]): (-[WebHistory finalize]): 2012-03-21 Tim Horton <timothy_horton@apple.com> Make use of CG rounded-rect primitives https://bugs.webkit.org/show_bug.cgi?id=79932 <rdar://problem/9274953> Reviewed by Simon Fraser. Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman. Add wkCGPathAddRoundedRect. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2012-03-20 Gyuyoung Kim <gyuyoung.kim@samsung.com> Convert hasSpellingMarker to use Internals interface. https://bugs.webkit.org/show_bug.cgi?id=81300 Reviewed by Ryosuke Niwa. Remove hasSpellingMarker support, since it can support in the cross-port way through the Internals interface. * WebKit.order: * WebView/WebFrame.mm: * WebView/WebFramePrivate.h: 2012-03-19 Adam Barth <abarth@webkit.org> Remove support for "magic" iframe https://bugs.webkit.org/show_bug.cgi?id=81590 Reviewed by Eric Seidel. Remove FrameLoaderClient methods that no longer exist. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: 2012-03-19 Enrica Casucci <enrica@apple.com> WebKit2: create sandbox extensions for files that are dropped in an input control. https://bugs.webkit.org/show_bug.cgi?id=81153 <rdar://problem/11031207> Reviewed by Alexey Proskuryakov. * WebCoreSupport/WebDragClient.mm: (WebDragClient::willPerformDragDestinationAction): Avoid calling the delegate with the new drag action. We want to avoid any unwanted side effects for the WebKit clients. 2012-03-19 Emil A Eklund <eae@chromium.org> [mac/chromium] Change platform code to use pixelSnappedRect methods https://bugs.webkit.org/show_bug.cgi?id=81016 Reviewed by Eric Seidel. * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView actualVisibleRectInWindow]): * WebView/WebFrame.mm: (-[WebFrame _getVisibleRect:]): (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]): * WebView/WebView.mm: (-[WebView _dashboardRegions]): (-[WebView trackedRepaintRects]): 2012-03-16 Brady Eidson <beidson@apple.com> <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412 REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted Reviewed by Geoff Garen. * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::setInsertionPasteboard): * WebCoreSupport/WebPlatformStrategies.h: (WebPlatformStrategies): * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::url): 2012-03-08 Jer Noble <jer.noble@apple.com> Support W3C Full Screen API proposal https://bugs.webkit.org/show_bug.cgi?id=80660 Reviewed by Alexey Proskuryakov. Allow full screen elements to access the keyboard. * WebView/WebView.mm: (-[WebView _supportsFullScreenForElement:WebCore::withKeyboard:]): 2012-03-07 Jon Lee <jonlee@apple.com> Move NotificationContents into Notification https://bugs.webkit.org/show_bug.cgi?id=80487 <rdar://problem/10965519> Reviewed by Jian Li. * WebView/WebNotification.mm: Refactor to use accessor methods on Notification. (-[WebNotification title]): (-[WebNotification body]): 2012-03-15 David Hyatt <hyatt@apple.com> https://bugs.webkit.org/show_bug.cgi?id=81258 Add a preference for enabling the new multi-column layout code that will be based on regions. Reviewed by Beth Dakin. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setRegionBasedColumnsEnabled:]): (-[WebPreferences regionBasedColumnsEnabled]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2012-03-15 Brady Eidson <beidson@apple.com> <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079 REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard Reviewed by Sam Weinig. Add the non-destructive "addTypes" to supplement the destructive "setTypes" * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::addTypes): 2012-03-14 Anders Carlsson <andersca@apple.com> java/java-and-plugins.html test failing https://bugs.webkit.org/show_bug.cgi?id=81188 <rdar://problem/11048657> Reviewed by Sam Weinig. When we're marshaling JSObjects that wrap plug-in objects, make sure to check that the current plug-in instance is the same as the plug-in instance the object came from and don't pass the unwrapped object ID if that is the case. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::getObjectID): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValues): * Plugins/Hosted/ProxyInstance.h: (ProxyInstance): (WebKit::ProxyInstance::instanceProxy): 2012-03-14 Michael Saboff <msaboff@apple.com> REGRESSION(r110383): ASSERTION failures in JSCell::finishCreation causing multiple tests to "crash" on the Lion Intel Debug Bots https://bugs.webkit.org/show_bug.cgi?id=80993 Reviewed by Mark Rowe. Moved $(BUILT_PRODUCTS_DIR)/usr/local/include to the front of HEADER_SEARCH_PATH to fix builds given the wtf move. * Configurations/WebKit.xcconfig: 2012-03-13 Jon Lee <jonlee@apple.com> Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS https://bugs.webkit.org/show_bug.cgi?id=80922 <rdar://problem/11035082> Reviewed by Jian Li. You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API. LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the new API. Therefore, APIs that are common between the two will have: #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to the new API, the defines will begin to split. This allows ports to decide which set of APIs to include. Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) * WebCoreSupport/WebNotificationClient.h: * WebCoreSupport/WebNotificationClient.mm: (WebNotificationClient::show): (WebNotificationClient::cancel): (WebNotificationClient::clearNotifications): (WebNotificationClient::notificationObjectDestroyed): (WebNotificationClient::notificationControllerDestroyed): (WebNotificationClient::requestPermission): (WebNotificationClient::checkPermission): * WebView/WebNotification.mm: (-[WebNotification title]): (-[WebNotification body]): (-[WebNotification replaceID]): (-[WebNotification origin]): (-[WebNotification notificationID]): (-[WebNotification dispatchShowEvent]): (-[WebNotification dispatchCloseEvent]): (-[WebNotification dispatchClickEvent]): (-[WebNotification dispatchErrorEvent]): * WebView/WebNotificationInternal.h: * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): 2012-03-13 Adam Barth <abarth@webkit.org> && Benjamin Poulain <bpoulain@apple.com> Always enable ENABLE(CLIENT_BASED_GEOLOCATION) https://bugs.webkit.org/show_bug.cgi?id=78853 Reviewed by Adam Barth. * Configurations/FeatureDefines.xcconfig: * WebCoreSupport/WebChromeClient.h: (WebChromeClient): * WebCoreSupport/WebGeolocationClient.mm: (WebGeolocationClient::lastPosition): * WebView/WebGeolocationPosition.mm: (-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]): (core): (-[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]): * WebView/WebGeolocationPositionInternal.h: * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): (-[WebView _geolocationDidChangePosition:]): (-[WebView _geolocationDidFailWithError:]): 2012-03-12 Antonio Gomes <agomes@rim.com> Convert nodesFromRect tests to use Internals interface https://bugs.webkit.org/show_bug.cgi?id=80886 Reviewed by Ryosuke Niwa. Removed mac specific support for nodesFromRect for testing purposes only, since it can work in a cross-port way through the Internals interface. * WebKit.order: * WebView/WebView.mm: * WebView/WebViewPrivate.h: 2012-03-13 Anders Carlsson <andersca@apple.com> Remove a nonexistent WebUIDelegate method from WebUIDelegatePrivate.h https://bugs.webkit.org/show_bug.cgi?id=81014 Reviewed by Sam Weinig. Remove a plug-in halter related WebUIDelegate method. * WebView/WebUIDelegatePrivate.h: 2012-03-13 Shinya Kawanaka <shinyak@chromium.org> REGRESSION: Spellcheck tests hit assertions on Mac. https://bugs.webkit.org/show_bug.cgi?id=80883 Reviewed by Ryosuke Niwa. The bug was caused by the closure object created in requestCheckingOfString accessing request's member variables even though the request object is not an NSObject or allocated in stack. This resulted in the closure not being able to access those variables when invoked. Fixed the bug by making local copies of those member variables. * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::requestCheckingOfString): 2012-03-11 Timothy Hatcher <timothy@apple.com> Update how the Web Inspector resources are loaded. https://bugs.webkit.org/show_bug.cgi?id=80798 rdar://problem/10359959 Reviewed by Brian Weinstein. * WebCoreSupport/WebInspectorClient.mm: (useWebKitWebInspector): Return if we are using the WebCore resources for compatibility with local and nightly builds. (WebInspectorFrontendClient::localizedStringsURL): Decide what path to use. (-[WebInspectorWindowController init]): Ditto. (-[WebInspectorWindowController window]): Decide if the window is textured or not. 2012-03-09 Jon Lee <jonlee@apple.com> Rename NotificationPresenter to NotificationClient https://bugs.webkit.org/show_bug.cgi?id=80488 <rdar://problem/10965558> Reviewed by Kentaro Hara. Refactor to use renamed WebCore::NotificationClient. * WebCoreSupport/WebNotificationClient.h: * WebCoreSupport/WebNotificationClient.mm: (WebNotificationClient::checkPermission): * WebView/WebViewPrivate.h: 2012-03-09 Enrica Casucci <enrica@apple.com> Move WebNSURLExtras code down to WebCore. https://bugs.webkit.org/show_bug.cgi?id=80611 Reviewed by Alexey Proskuryakov. Changed the implementation to use newly moved WebCore functions. * Misc/WebKitNSStringExtras.mm: (-[NSString _webkit_hasCaseInsensitivePrefix:]): * Misc/WebNSURLExtras.mm: (+[NSURL _web_URLWithUserTypedString:]): (+[NSURL _web_URLWithDataAsString:relativeToURL:]): (+[NSURL _web_URLWithData:]): (+[NSURL _web_URLWithData:relativeToURL:]): (-[NSURL _web_originalData]): (-[NSURL _web_originalDataAsString]): (-[NSURL _web_userVisibleString]): (-[NSURL _web_isEmpty]): (-[NSURL _web_URLCString]): (-[NSURL _web_URLByTruncatingOneCharacterBeforeComponent:]): (-[NSURL _webkit_URLByRemovingFragment]): (-[NSURL _webkit_URLByRemovingResourceSpecifier]): (-[NSURL _web_URLByRemovingUserInfo]): (-[NSURL _web_dataForURLComponentType:]): (-[NSURL _web_schemeData]): (-[NSURL _web_hostData]): (-[NSString _web_isUserVisibleURL]): (-[NSString _web_hostNameNeedsDecodingWithRange:]): (-[NSString _web_hostNameNeedsEncodingWithRange:]): (-[NSString _web_decodeHostNameWithRange:]): (-[NSString _web_encodeHostNameWithRange:]): (-[NSString _web_decodeHostName]): (-[NSString _web_encodeHostName]): * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2012-03-09 Emil A Eklund <eae@chromium.org> Add roundedPoint to HitTestResult and change platform code to use it https://bugs.webkit.org/show_bug.cgi?id=80715 Reviewed by James Robinson. Change ports to use roundedPoint to avoid exposing subpixel types to platform code. * WebCoreSupport/WebContextMenuClient.mm: (WebContextMenuClient::showContextMenu): 2012-03-09 Jon Lee <jonlee@apple.com> Add support for ENABLE(LEGACY_NOTIFICATIONS) https://bugs.webkit.org/show_bug.cgi?id=80497 Reviewed by Adam Barth. Prep for b80472: Update API for Web Notifications * Configurations/FeatureDefines.xcconfig: 2012-03-08 Ryosuke Niwa <rniwa@webkit.org> Mac build fix for micro data API. * Configurations/FeatureDefines.xcconfig: 2012-03-08 Jer Noble <jer.noble@apple.com> Unreviewed Snow Leopard build fix. On Leopard and Snow Leopard, provide an implementation for -[NSWindow convertRectToScreen:]. * WebView/WebFullScreenController.mm: (-[NSWindow convertRectToScreen:]): 2012-02-20 Jer Noble <jer.noble@apple.com> Full Screen Refactor Part 4: Animate into Full Screen mode using new animation classes, WebKit edition. https://bugs.webkit.org/show_bug.cgi?id=78930 Reviewed by Anders Carlsson. Revise WebFullScreenController to have the same general functionality and code path as WKFullScreenWindowController in WebKit2. As such, the following functions are copies of their equivalents in WKFullScreenWindowController: * WebView/WebFullScreenController.mm: (-[WebFullScreenController init]): (-[WebFullScreenController dealloc]): (-[WebFullScreenController windowDidLoad]): (-[WebFullScreenController cancelOperation:]): (-[WebFullScreenController applicationDidResignActive:]): (-[WebFullScreenController applicationDidChangeScreenParameters:]): (-[WebFullScreenController finishedEnterFullScreenAnimation:]): (-[WebFullScreenController finishedExitFullScreenAnimation:]): (-[WebFullScreenController close]): (-[WebFullScreenController animationDidEnd:]): (-[WebFullScreenController _updateMenuAndDockForFullScreen]): (-[WebFullScreenController _swapView:with:]): (createBackgroundFullscreenWindow): (windowFrameFromApparentFrames): (-[WebFullScreenController _startEnterFullScreenAnimationWithDuration:]): (-[WebFullScreenController _startExitFullScreenAnimationWithDuration:]): The following is a copy of the equivalent function in WebFullScreenManager: * WebView/WebFullScreenController.mm: (screenRectOfContents): * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::fullScreenRendererChanged): No longer tell the WebView the renderer changed (as it doesn't care.) * WebView/WebFullScreenController.h: * WebView/WebFullScreenController.mm: (-[WebFullScreenController setElement:]): No need to add event listeners to the media element. (-[WebFullScreenController enterFullScreen:]): Same as WKFullScreenWindowController, but not asynchronous. (-[WebFullScreenController exitFullScreen]): Ditto. * WebView/WebView.mm: (-[WebView _enterFullScreenForElement:WebCore::]): Fullscreen -> FullScreen. (-[WebView _exitFullScreenForElement:WebCore::]): Ditto. 2012-03-08 Matt Lilek <mrl@apple.com> Don't enable VIDEO_TRACK on all OS X platforms https://bugs.webkit.org/show_bug.cgi?id=80635 Reviewed by Eric Carlson. * Configurations/FeatureDefines.xcconfig: 2012-03-07 Joseph Pecoraro <pecoraro@apple.com> <http://webkit.org/b/80510> Web Inspector crash (iCab) Reviewed by Timothy Hatcher. * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::didResizeMainFrame): 2012-03-06 Benjamin Poulain <bpoulain@apple.com> [Mac] Update the configuration files for iOS https://bugs.webkit.org/show_bug.cgi?id=80435 Reviewed by David Kilzer. * Configurations/WebKit.xcconfig: 2012-03-06 Eric Seidel <eric@webkit.org> Make WTF public headers use fully-qualified include paths and remove ForwardingHeaders/wtf https://bugs.webkit.org/show_bug.cgi?id=80363 Reviewed by Mark Rowe. ForwardingHeaders/wtf is no longer necessary (or functional) now that JavaScriptCore no longer includes the WTF headers as private headers. * ForwardingHeaders/wtf/ASCIICType.h: Removed. * ForwardingHeaders/wtf/AlwaysInline.h: Removed. * ForwardingHeaders/wtf/Assertions.h: Removed. * ForwardingHeaders/wtf/Deque.h: Removed. * ForwardingHeaders/wtf/DisallowCType.h: Removed. * ForwardingHeaders/wtf/FastMalloc.h: Removed. * ForwardingHeaders/wtf/Forward.h: Removed. * ForwardingHeaders/wtf/GetPtr.h: Removed. * ForwardingHeaders/wtf/HashCountedSet.h: Removed. * ForwardingHeaders/wtf/HashMap.h: Removed. * ForwardingHeaders/wtf/HashSet.h: Removed. * ForwardingHeaders/wtf/HashTraits.h: Removed. * ForwardingHeaders/wtf/ListHashSet.h: Removed. * ForwardingHeaders/wtf/ListRefPtr.h: Removed. * ForwardingHeaders/wtf/Locker.h: Removed. * ForwardingHeaders/wtf/MathExtras.h: Removed. * ForwardingHeaders/wtf/Noncopyable.h: Removed. * ForwardingHeaders/wtf/OwnArrayPtr.h: Removed. * ForwardingHeaders/wtf/OwnPtr.h: Removed. * ForwardingHeaders/wtf/OwnPtrCommon.h: Removed. * ForwardingHeaders/wtf/PassOwnPtr.h: Removed. * ForwardingHeaders/wtf/PassRefPtr.h: Removed. * ForwardingHeaders/wtf/Platform.h: Removed. * ForwardingHeaders/wtf/RefCounted.h: Removed. * ForwardingHeaders/wtf/RefCountedLeakCounter.h: Removed. * ForwardingHeaders/wtf/RefPtr.h: Removed. * ForwardingHeaders/wtf/RetainPtr.h: Removed. * ForwardingHeaders/wtf/StdLibExtras.h: Removed. * ForwardingHeaders/wtf/TemporaryChange.h: Removed. * ForwardingHeaders/wtf/Threading.h: Removed. * ForwardingHeaders/wtf/UnusedParam.h: Removed. * ForwardingHeaders/wtf/VMTags.h: Removed. * ForwardingHeaders/wtf/ValueCheck.h: Removed. * ForwardingHeaders/wtf/Vector.h: Removed. * ForwardingHeaders/wtf/VectorTraits.h: Removed. * ForwardingHeaders/wtf/unicode/Unicode.h: Removed. * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Removed. 2012-03-05 Joseph Pecoraro <pecoraro@apple.com> Web Inspector: Hide dock button when not allowed to dock https://bugs.webkit.org/show_bug.cgi?id=78575 Reviewed by Pavel Feldman. * WebCoreSupport/WebInspectorClient.h: (WebCore): (WebInspectorClient): * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::didResizeMainFrame): 2012-03-05 Gavin Barraclough <barraclough@apple.com> putByIndex should throw in strict mode https://bugs.webkit.org/show_bug.cgi?id=80335 Reviewed by Filip Pizlo. Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::setProperty): 2012-03-05 Joseph Pecoraro <pecoraro@apple.com> Unreviewed rollout of r109858 for restructuring. 2012-03-05 Joseph Pecoraro <pecoraro@apple.com> <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock Reviewed by Timothy Hatcher. * WebCoreSupport/WebInspectorClient.h: (WebInspectorClient): * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::updateDockingAvailability): 2012-03-02 Jon Lee <jonlee@apple.com> Add support for notification replaceId in Mac WebKit and WK2 https://bugs.webkit.org/show_bug.cgi?id=80206 <rdar://problem/10965574> Reviewed by Sam Weinig. * WebView/WebNotification.h: Add replaceID method. * WebView/WebNotification.mm: (-[WebNotification replaceID]): 2012-03-05 Adam Barth <abarth@webkit.org> Geolocation should use a ScriptExecutionContext as its context object https://bugs.webkit.org/show_bug.cgi?id=80248 Reviewed by Kentaro Hara. * WebView/WebFrame.mm: (-[WebFrame _cacheabilityDictionary]): - We no longer special-case Geolocation. 2012-03-03 Benjamin Poulain <benjamin@webkit.org> Remove the redundant method KURL::protocolInHTTPFamily() https://bugs.webkit.org/show_bug.cgi?id=80216 Reviewed by Anders Carlsson. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): 2012-03-03 Hans Wennborg <hans@chromium.org> Implement Speech JavaScript API https://bugs.webkit.org/show_bug.cgi?id=80019 Reviewed by Adam Barth. Add ENABLE_SCRIPTED_SPEECH. * Configurations/FeatureDefines.xcconfig: 2012-03-03 Anders Carlsson <andersca@apple.com> Fix build with newer versions of clang. * Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForChallenge:]): Use %ld and cast to long. * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView getVariable:value:]): Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type. 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com> Unreviewed, rolling out r109255. http://trac.webkit.org/changeset/109255 https://bugs.webkit.org/show_bug.cgi?id=79932 Breaks rounded rects with dashed strokes in SVG * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2012-02-29 Adam Barth <abarth@webkit.org> ScriptExecutionContext has too many ifdef ENABLE(SQL_DATABASE) https://bugs.webkit.org/show_bug.cgi?id=79633 Reviewed by Eric Seidel. * WebView/WebFrame.mm: (-[WebFrame _cacheabilityDictionary]): 2012-02-29 Tim Horton <timothy_horton@apple.com> Make use of CG rounded-rect primitives https://bugs.webkit.org/show_bug.cgi?id=79932 <rdar://problem/9274953> Reviewed by Simon Fraser. Add wkCGPathAddRoundedRect. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2012-02-29 Enrica Casucci <enrica@apple.com> Crash at -[WebFrame(WebInternal) _setTypingStyle:withUndoAction:] https://bugs.webkit.org/show_bug.cgi?id=79937 <rdar://problem/10942936> Reviewed by Dan Bernstein. * WebView/WebFrame.mm: (-[WebFrame _setTypingStyle:withUndoAction:]): Adding a null check. 2012-02-28 Simon Fraser <simon.fraser@apple.com> Update WebKitSystemInterface. Reviewed by Sam Weinig. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2012-02-28 Enrica Casucci <enrica@apple.com> More Pasteboard code cleanup. https://bugs.webkit.org/show_bug.cgi?id=79816 Removing the last references to NSPasteboard. Reviewed by Alexey Proskuryakov. * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::setInsertionPasteboard): 2012-02-26 Hajime Morrita <morrita@chromium.org> Move ChromeClient::showContextMenu() to ContextMenuClient https://bugs.webkit.org/show_bug.cgi?id=79427 Reviewed by Adam Barth. * WebCoreSupport/WebContextMenuClient.h: (WebContextMenuClient): * WebCoreSupport/WebContextMenuClient.mm: (WebContextMenuClient::showContextMenu): Moved from WebChromeClient * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: 2012-02-25 Sam Weinig <sam@webkit.org> QuickLook events don't make it to WebKit plugins. <rdar://problem/10931721> Reviewed by Anders Carlsson. * WebView/WebHTMLView.mm: (isQuickLookEvent): (-[WebHTMLView hitTest:]): Allow QuickLook events to hit test down to subviews. 2012-02-24 Brady Eidson <beidson@apple.com> <rdar://problem/10805709> and https://bugs.webkit.org/show_bug.cgi?id=79421 Need a WK1 Mac API to filter which subframes go into WebArchives as they are created Reviewed by Sam Weinig (with additional comments by Adam Roben) Add webArchiveByFilteringSubframes: which takes a callback block: * DOM/WebDOMOperationsPrivate.h: Add FrameFilter that adapts the block, and use it to implement the new SPI: * DOM/WebDOMOperations.mm: (WebFrameFilter): (WebFrameFilter::WebFrameFilter): (WebFrameFilter::~WebFrameFilter): (WebFrameFilter::shouldIncludeSubframe): (-[DOMNode webArchiveByFilteringSubframes:]): 2012-02-24 Shinya Kawanaka <shinyak@chromium.org> SpellCheckRequest needs to know the context where the spellcheck happened. https://bugs.webkit.org/show_bug.cgi?id=79320 Reviewed by Hajime Morita. * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::requestCheckingOfString): 2012-02-23 Andy Estes <aestes@apple.com> Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API. https://bugs.webkit.org/show_bug.cgi?id=79433 Reviewed by Dan Bernstein. * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController init]): * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setSuppressesIncrementalRendering:]): (-[WebPreferences suppressesIncrementalRendering]): (-[WebPreferences setSuppressIncrementalRendering:]): (-[WebPreferences suppressIncrementalRendering]): * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2012-02-22 Hajime Morrita <morrita@chromium.org> NOTIFICATIONS should be implemented as PageSupplement https://bugs.webkit.org/show_bug.cgi?id=79052 Reviewed by Adam Barth. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): 2012-02-21 Ryosuke Niwa <rniwa@webkit.org> Remove the remaining uses of CSSStyleDeclaration in Editor https://bugs.webkit.org/show_bug.cgi?id=78939 Reviewed by Enrica Casucci. * WebCoreSupport/WebEditorClient.h: (WebEditorClient): * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebView/WebFrame.mm: (-[WebFrame _setTypingStyle:withUndoAction:]): * WebView/WebHTMLView.mm: (-[WebHTMLView _applyStyleToSelection:withUndoAction:]): (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): * WebView/WebView.mm: (-[WebView applyStyle:]): 2012-02-22 Ryosuke Niwa <rniwa@webkit.org> Remove the remaining uses of CSSStyleDeclaration in Editor https://bugs.webkit.org/show_bug.cgi?id=78939 Reviewed by Enrica Casucci. * WebCoreSupport/WebEditorClient.h: (WebEditorClient): * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::shouldApplyStyle): * WebView/WebFrame.mm: (-[WebFrame _setTypingStyle:withUndoAction:]): * WebView/WebHTMLView.mm: (-[WebHTMLView _applyStyleToSelection:withUndoAction:]): (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): * WebView/WebView.mm: (-[WebView applyStyle:]): 2012-02-22 Jon Lee <jonlee@apple.com> Part of r108409 was incorrect, and incorporated an older version of a sub-patch. This is the actual sub-patch that should have been submitted. * WebCoreSupport/WebNotificationClient.h: * WebCoreSupport/WebNotificationClient.mm: (WebNotificationClient::show): (WebNotificationClient::cancel): (WebNotificationClient::clearNotifications): (WebNotificationClient::notificationObjectDestroyed): (WebNotificationClient::notificationControllerDestroyed): 2012-02-21 Jon Lee <jonlee@apple.com> Build fix. Push ENABLE_NOTIFICATIONS into .mm file. * WebCoreSupport/WebNotificationClient.h: * WebView/WebNotification.h: * WebView/WebNotification.mm: (-[WebNotification title]): (-[WebNotification body]): (-[WebNotification origin]): (-[WebNotification notificationID]): (-[WebNotification dispatchShowEvent]): (-[WebNotification dispatchCloseEvent]): (-[WebNotification dispatchClickEvent]): (-[WebNotification dispatchErrorEvent]): 2012-02-21 John Sullivan <sullivan@apple.com> Build fix. * WebView/WebUIDelegatePrivate.h: Added @class declarations for DOMNode and DOMElement. 2012-02-21 Jon Lee <jonlee@apple.com> Build fix for r108409. * WebCoreSupport/WebNotificationClient.h: (WebCore): * WebCoreSupport/WebNotificationClient.mm: * WebView/WebNotification.h: (WebSecurityOrigin): * WebView/WebNotification.mm: (core): (-[WebNotification initWithCoreNotification:notificationID:]): 2012-02-21 Jon Lee <jonlee@apple.com> Bring notifications support to WK1 mac: permission requests https://bugs.webkit.org/show_bug.cgi?id=78783 <rdar://problem/10610578> Reviewed by Anders Carlsson. * WebCoreSupport/WebNotificationClient.h: * WebCoreSupport/WebNotificationClient.mm: Create policy listener, which conforms to the WebAllowDenyPolicyListener protocol, similar to geolocation. (WebNotificationClient::requestPermission): (WebNotificationClient::checkPermission): (-[WebNotificationPolicyListener initWithCallback:]): (-[WebNotificationPolicyListener allow]): Call the callback. (-[WebNotificationPolicyListener deny]): Call the callback. * WebView/WebUIDelegatePrivate.h: Define new UI delegate method to ask the user to decide a policy for navigations. ==== Bring notifications support to WK1 mac: showing, canceling, removing notifications Create a WebKit wrapper object for WebCore::Notification, which also keeps track of an assigned ID. * WebView/WebNotification.h: Added. (WebSecurityOrigin): * WebView/WebNotification.mm: Added. (core): (-[WebNotification initWithCoreNotification:notificationID:]): (-[WebNotification init]): (-[WebNotification dealloc]): (-[WebNotification title]): (-[WebNotification body]): (-[WebNotification origin]): (-[WebNotification notificationID]): (-[WebNotification dispatchShowEvent]): (-[WebNotification dispatchCloseEvent]): (-[WebNotification dispatchClickEvent]): (-[WebNotification dispatchErrorEvent]): * WebView/WebNotificationInternal.h: Added. (WebCore): Internal category to allow creating instances with WebCore objects. Extend WebView to include a WebNotificationProvider, which clients implement. * WebView/WebViewData.h: Add a private member for the provider. * WebView/WebViewPrivate.h: * Define an enum WebNotificationPermission that mirrors WebCore::NotificationPresenter::Permission that client which implement the provider can use to return policy decisions. * Define WebNotificationProvider. * Category WebViewNotification extends WebView with methods that set and manager the notification provider, and handle events from the platform notifications. * WebView/WebView.mm: (-[WebView _setNotificationProvider:]): Sets the provider when initializing the WebView. (-[WebView _notificationControllerDestroyed]): (-[WebView _notificationProvider]): (-[WebView _notificationDidShow:]): (-[WebView _notificationDidClick:]): (-[WebView _notificationsDidClose:]): * WebCoreSupport/WebNotificationClient.h: Add variables that map between WebCore::Notification instances, their assigned IDs, their contexts, and corresponding WebKit wrapper objects. * WebCoreSupport/WebNotificationClient.mm: (generateNotificationID): Created unique IDs for each shown notification. (WebNotificationClient::show): Create wrapper object for notification, assign ID, cache the mappings between the objects, and forward it to the provider. (WebNotificationClient::cancel): (WebNotificationClient::clearNotifications): Clear all notifications associated with the provided context. (WebNotificationClient::notificationObjectDestroyed): Remove the notification from the maps. (WebNotificationClient::notificationControllerDestroyed): If the controller is destroyed, tell the provider to clear of the notifications related to this web view. ==== (Prep work for) Bring notifications support to WK1 mac Rename WebGeolocationPolicyListener. The interface is generic enough to be reused for notification requests. To avoid having to create a new listener type, instead rename it to WebAllowDenyPolicyListener. * WebView/WebUIDelegatePrivate.h: Rename the protocol. * WebCoreSupport/WebGeolocationClient.mm: Refactor geolocation request listener to use new name. Add preference to keep track of whether notifications are enabled in general. * WebView/WebPreferenceKeysPrivate.h: Add WebNotificationsEnabledKey for storing the preference. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): By default have them enabled. (-[WebPreferences setNotificationsEnabled:]): (-[WebPreferences notificationsEnabled]): * WebView/WebPreferencesPrivate.h: Add a stringValue method that exposes WebCore::SecurityOrigin::toString() for storing the notification policy for a given origin. * WebCoreSupport/WebSecurityOrigin.mm: (-[WebSecurityOrigin stringValue]): * WebCoreSupport/WebSecurityOriginPrivate.h: 2012-02-21 Sam Weinig <sam@webkit.org> Attempt to fix the Snow Leopard build. * Configurations/Base.xcconfig: 2012-02-21 Sam Weinig <sam@webkit.org> Use libc++ when building with Clang on Mac https://bugs.webkit.org/show_bug.cgi?id=78981 Reviewed by Dan Bernstein. * Configurations/Base.xcconfig: 2012-02-17 Mihnea Ovidenie <mihnea@adobe.com> CSS regions enabled by default https://bugs.webkit.org/show_bug.cgi?id=78525 Reviewed by David Hyatt. Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled). CSSRegions are still enabled by default. In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences cssRegionsEnabled]): (-[WebPreferences setCSSRegionsEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2012-02-17 Enrica Casucci <enrica@apple.com> Refactor DragData class to use PlatformStrategies in the Mac implementation. https://bugs.webkit.org/show_bug.cgi?id=78768 Reviewed by Darin Adler. * WebCoreSupport/WebPlatformStrategies.h: Added color() method. * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::color): 2012-02-16 Brady Eidson <beidson@apple.com> <rdar://problem/10616280> and https://bugs.webkit.org/show_bug.cgi?id=78767 REGRESSION (r90471) - iAd Producer 2.0.1 produces blank pages Reviewed by Sam Weinig. * WebView/WebView.mm: (-[WebView _needsIsLoadingInAPISenseQuirk]): (-[WebView _preferencesChanged:]): 2012-02-15 Enrica Casucci <enrica@apple.com> Refactor ClipboardMac class to use PlatformStrategies. https://bugs.webkit.org/show_bug.cgi?id=78554 Reviewed by Anders Carlsson. * WebCoreSupport/WebDragClient.h: Changed methods signature to use name based pasteboard. * WebCoreSupport/WebDragClient.mm: Ditto. (WebDragClient::willPerformDragSourceAction): (WebDragClient::startDrag): (WebDragClient::declareAndWriteDragImage): * WebCoreSupport/WebPlatformStrategies.h: Added new methods. * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::changeCount): (WebPlatformStrategies::uniqueName): 2012-02-15 Sadrul Habib Chowdhury <sadrul@chromium.org> Notify ChromeClient when touch-event handlers are installed/removed. https://bugs.webkit.org/show_bug.cgi?id=77440 Reviewed by Darin Fisher and Ryosuke Niwa. * WebCoreSupport/WebChromeClient.h: 2012-02-14 Matt Lilek <mrl@apple.com> Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms https://bugs.webkit.org/show_bug.cgi?id=78629 Reviewed by David Kilzer. * Configurations/FeatureDefines.xcconfig: 2012-02-14 Alexey Proskuryakov <ap@apple.com> [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets https://bugs.webkit.org/show_bug.cgi?id=78541 <rdar://problem/10036695> Reviewed by Kent Tamura. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Changed default value of the preference. 2012-02-11 Nikolas Zimmermann <nzimmermann@rim.com> Convert svg/animations to use SMIL methods for driving the timeline https://bugs.webkit.org/show_bug.cgi?id=78422 Reviewed by Dirk Schulze. Remove SVG animation sampling functionality provided for DRT, which no longer uses it. Instead we switched the svg/animations tests to use SVGSVGElement.setCurrentTime. * WebKit.order: * WebView/WebFrame.mm: * WebView/WebFramePrivate.h: 2012-02-13 Enrica Casucci <enrica@apple.com> Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies. https://bugs.webkit.org/show_bug.cgi?id=78282 This patch removes any accesss to the NSPasteboard object from the Pasteboard class which now makes use of a new pasteboardStrategy object that is implemented both in WebKit and WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy interface but this one more step in the direction of removing access to NSPasteboard from the WebProcess. As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes. Reviewed by Anders Carlsson. * WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy. * WebCoreSupport/WebPlatformStrategies.mm: Added implementation of PasteboardStrategy interface. (WebPlatformStrategies::createPasteboardStrategy): (WebPlatformStrategies::getTypes): (WebPlatformStrategies::bufferForType): (WebPlatformStrategies::getPathnamesForType): (WebPlatformStrategies::stringForType): (WebPlatformStrategies::copy): (WebPlatformStrategies::setTypes): (WebPlatformStrategies::setBufferForType): (WebPlatformStrategies::setPathnamesForType): (WebPlatformStrategies::setStringForType): 2012-02-12 Hajime Morrita <morrita@chromium.org> Page should have less intrusive way to associate API implementation objects. https://bugs.webkit.org/show_bug.cgi?id=78085 Reviewed by Adam Barth. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): 2012-02-11 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r107435. http://trac.webkit.org/changeset/107435 https://bugs.webkit.org/show_bug.cgi?id=78410 It broke the Qt build (Requested by Ossy on #webkit). * WebCoreSupport/WebPlatformStrategies.h: (WebPlatformStrategies): * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::addVisitedLink): 2012-02-10 Adam Klein <adamk@chromium.org> Enable MUTATION_OBSERVERS by default on all platforms https://bugs.webkit.org/show_bug.cgi?id=78196 Reviewed by Ojan Vafai. * Configurations/FeatureDefines.xcconfig: 2012-02-10 Enrica Casucci <enrica@apple.com> Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies. https://bugs.webkit.org/show_bug.cgi?id=78282 This patch removes any accesss to the NSPasteboard object from the Pasteboard class which now makes use of a new pasteboardStrategy object that is implemented both in WebKit and WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy interface but this one more step in the direction of removing access to NSPasteboard from the WebProcess. As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes. Reviewed by Anders Carlsson. * WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy. * WebCoreSupport/WebPlatformStrategies.mm: Added implementation of PasteboardStrategy interface. (WebPlatformStrategies::createPasteboardStrategy): (WebPlatformStrategies::getTypes): (WebPlatformStrategies::bufferForType): (WebPlatformStrategies::getPathnamesForType): (WebPlatformStrategies::stringForType): (WebPlatformStrategies::copy): (WebPlatformStrategies::setTypes): (WebPlatformStrategies::setBufferForType): (WebPlatformStrategies::setPathnamesForType): (WebPlatformStrategies::setStringForType): 2012-02-10 Benjamin Poulain <bpoulain@apple.com> [Mac] DYLIB_INSTALL_NAME_BASE should not be prefixed by the SDKROOT https://bugs.webkit.org/show_bug.cgi?id=78320 Reviewed by Joseph Pecoraro. <rdar://problem/10839750> * Configurations/WebKit.xcconfig: 2012-02-09 Alexey Proskuryakov <ap@apple.com> REGRESSION (r104885): Articles not displayed in Vienna RSS reader https://bugs.webkit.org/show_bug.cgi?id=78280 <rdar://problem/10762545> Reviewed by Oliver Hunt. * Misc/WebNSURLExtras.h: * Misc/WebNSURLExtras.mm: (-[NSURL _webkit_URLFromURLOrPath]): Added a method to create a URL from a path, similarly to what KURL used to do. * WebView/WebFrame.mm: (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Use it in an API where a known regression occurred. 2012-02-07 Antti Koivisto <antti@apple.com> REGRESSION (r106681): Null check missing in [WebFrame(WebInternal) _typingStyle] https://bugs.webkit.org/show_bug.cgi?id=78080 Reviewed by Reviewed by Andreas Kling, Darin Adler and Dan Bernstein. * WebView/WebFrame.mm: (-[WebFrame _typingStyle]): 2012-02-07 Tony Chang <tony@chromium.org> merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in https://bugs.webkit.org/show_bug.cgi?id=78036 Reviewed by Darin Adler. * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES. 2012-02-06 Anders Carlsson <andersca@apple.com> Overlay scrollbars flash when window is simply activated https://bugs.webkit.org/show_bug.cgi?id=77911 <rdar://problem/10211995> Reviewed by Kenneth Russell. * WebView/WebView.mm: (-[WebView _windowWillOrderOnScreen:]): (-[WebView _windowWillOrderOffScreen:]): Call FocusController::setContainingWindowIsVisible. 2012-02-06 Matthew Delaney <mdelaney@apple.com> toDataURL() uses stale data after putImageData() https://bugs.webkit.org/show_bug.cgi?id=65767 Reviewed by Chris Marrin. * WebCoreSupport/WebSystemInterface.mm: 2012-02-03 Antti Koivisto <antti@apple.com> Rename CSSMutableStyleDeclaration.h/.cpp to StylePropertySet.h/.cpp https://bugs.webkit.org/show_bug.cgi?id=77779 Reviewed by Darin Adler. * WebView/WebHTMLView.mm: 2012-02-03 Antti Koivisto <antti@apple.com> https://bugs.webkit.org/show_bug.cgi?id=77740 Split CSSMutableStyleDeclaration into separate internal and CSSOM types Reviewed by Andreas Kling and Darin Adler. * WebView/WebFrame.mm: (-[WebFrame _typingStyle]): 2012-02-03 Beth Dakin <bdakin@apple.com> https://bugs.webkit.org/show_bug.cgi?id=77691 Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use of device scale Reviewed by Andy Estes. toUserSpace() and toDeviceSpace() don't need to take device scale. Also restore a comment that I needlessly removed. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::setWindowRect): (WebChromeClient::windowRect): 2012-02-01 Dan Bernstein <mitz@apple.com> WebKit/mac part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after} https://bugs.webkit.org/show_bug.cgi?id=77505 Reviewed by Darin Adler. * WebView/WebView.mm: (-[WebView _setPaginationBehavesLikeColumns:]): Added this setter. (-[WebView _paginationBehavesLikeColumns]): Added this getter. * WebView/WebViewPrivate.h: 2012-01-25 Eric Seidel <eric@webkit.org> HTMLIsIndexElement should not expose HTMLInputElement properties https://bugs.webkit.org/show_bug.cgi?id=76095 Reviewed by Adam Barth. * MigrateHeaders.make: 2012-01-31 Pablo Flouret <pablof@motorola.com> Fix compilation errors on build-webkit --debug --no-workers on mac. https://bugs.webkit.org/show_bug.cgi?id=75869 Reviewed by Adam Barth. * Workers/WebWorkersPrivate.mm: (+[WebWorkersPrivate workerThreadCount]): 2012-01-30 Beth Dakin <bdakin@apple.com> https://bugs.webkit.org/show_bug.cgi?id=77263 PlatformScreenMac should not rely on NSWindow for important bits of data Reviewed by Geoff Garen. toUserSpace() and toDeviceSpace() now take a parameter for the deviceScaleFactor. * WebCoreSupport/WebChromeClient.mm: (windowScaleFactor): (WebChromeClient::setWindowRect): (WebChromeClient::windowRect): 2012-01-25 Mark Rowe <mrowe@apple.com> Build in to an alternate location when USE_STAGING_INSTALL_PATH is set. <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH Reviewed by David Kilzer. * Configurations/WebKit.xcconfig: Define NORMAL_WEBKIT_FRAMEWORKS_DIR, which contains the path where WebKit is normally installed. Update WEBKIT_FRAMEWORKS_DIR to point to the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Define NORMAL_PRODUCTION_FRAMEWORKS_DIR, which contains the path where our public frameworks are normally installed. Update PRODUCTION_FRAMEWORKS_DIR to point to the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Always set the framework's install name based on the normal framework location. This prevents an incorrect install name from being used when installing in to the staged frameworks directory. Look for our other frameworks in the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Update WEBCORE_PRIVATE_HEADERS_DIR to find WebCore at the top level of the staged frameworks directory when USE_STAGING_INSTALL_PATH is set, rather than finding it embedded inside of WebKit.framework. 2012-01-25 Eric Seidel <eric@webkit.org> HTMLIsIndexElement should not expose HTMLInputElement properties https://bugs.webkit.org/show_bug.cgi?id=76095 Reviewed by Adam Barth. * MigrateHeaders.make: 2012-01-25 Hajime Morita <morrita@google.com> ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom https://bugs.webkit.org/show_bug.cgi?id=76863 Reviewed by Dimitri Glazkov. Added a feature flag. * Configurations/FeatureDefines.xcconfig: 2012-01-25 Enrica Casucci <enrica@apple.com> WebView should implement typingAttributes methods to work correctly with the Inspector bar in Mail. https://bugs.webkit.org/show_bug.cgi?id=76951 <rdar://problem/9325158> Reviewed by Alexey Proskuryakov. * WebView/WebHTMLView.mm: Removed typingAttributes implementation. * WebView/WebView.mm: (-[WebView typingAttributes]): Added. 2012-01-24 Enrica Casucci <enrica@apple.com> WebHTMLView should implement typingAttributes methods to work correctly with the Inspector bar in Mail. https://bugs.webkit.org/show_bug.cgi?id=76951 <rdar://problem/9325158> The Inspector bar calls the typingAttributes methods on the clients that support it to retrieve the set of attributes representing the style at the selection and uses this information to update the state of the B, I and U buttons. If this method is not supported, it defaults to the attributes of the previous character position, reporting an incorrect state. This occurs only when we have a caret selection. Reviewed by Alexey Proskuryakov. * WebView/WebHTMLView.mm: (-[WebHTMLView _styleForAttributeChange:]): Removed dead code. (-[WebHTMLView _updateFontPanel]): Removed comment that doesn't apply anymore. (-[WebHTMLView typingAttributes]): Added. 2012-01-24 Benjamin Poulain <bpoulain@apple.com> pageCacheSupportsPlugins should default to true on WebKit1 https://bugs.webkit.org/show_bug.cgi?id=76891 Reviewed by Joseph Pecoraro. The default was left out of r102619 by accident. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): 2012-01-23 Geoffrey Garen <ggaren@apple.com> JSValue::toString() should return a JSString* instead of a UString https://bugs.webkit.org/show_bug.cgi?id=76861 Reviewed by Gavin Barraclough. Mechanical changes to call value() after calling toString(), to convert from "JS string" (JSString*) to "C++ string" (UString), since toString() no longer returns a "C++ string". * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::addValueToArray): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): 2012-01-20 Sam Weinig <sam@webkit.org> Make WebCore RunLoop work for WebKit1 https://bugs.webkit.org/show_bug.cgi?id=76739 Reviewed by Anders Carlsson. * Carbon/CarbonWindowAdapter.mm: (+[CarbonWindowAdapter initialize]): * History/WebBackForwardList.mm: (+[WebBackForwardList initialize]): * History/WebHistoryItem.mm: (+[WebHistoryItem initialize]): * Misc/WebElementDictionary.mm: (+[WebElementDictionary initialize]): * Misc/WebIconDatabase.mm: (+[WebIconDatabase initialize]): * Plugins/Hosted/WebHostedNetscapePluginView.mm: (+[WebHostedNetscapePluginView initialize]): * Plugins/WebBaseNetscapePluginView.mm: * Plugins/WebBasePluginPackage.mm: * Plugins/WebNetscapePluginView.mm: (+[WebNetscapePluginView initialize]): * WebCoreSupport/WebEditorClient.mm: (+[WebUndoStep 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/WebTextIterator.mm: (+[WebTextIteratorPrivate initialize]): * WebView/WebView.mm: (+[WebView initialize]): * WebView/WebViewData.mm: (+[WebViewPrivate initialize]): Initialized the main run loop in addition to other initialization. 2012-01-20 Simon Fraser <simon.fraser@apple.com> https://bugs.webkit.org/show_bug.cgi?id=76444 #if ENABLE(CSS_SHADERS) cannot appear in framework headers. This breaks builds. * WebView/WebPreferences.mm: * WebView/WebPreferencesPrivate.h: 2012-01-20 Alexandru Chiculita <achicu@adobe.com> CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime https://bugs.webkit.org/show_bug.cgi?id=76444 Added private WebPreference property called "WebKitCSSCustomFilterEnabled". Reviewed by Nikolas Zimmermann. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences cssCustomFilterEnabled]): (-[WebPreferences setCSSCustomFilterEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2012-01-17 Enrica Casucci <enrica@apple.com> Missing NSForegroundColorAttributeName should be treated as black instead of transparent. https://bugs.webkit.org/show_bug.cgi?id=76490 <rdar://problem/9460733> Starting with Lion, there is no more NSForegroundColor attribute in the dictionary if the color matches the default (solid black). The fix consists in treating the lack of color as solid black instead of transparent as we did before. Added a TestWebKitAPI test. Reviewed by Darin Adler and Dan Bernstein. * WebView/WebHTMLView.mm: (-[WebHTMLView _styleForAttributeChange:]): 2012-01-17 Matthew Delaney <mdelaney@apple.com> On post-Lion releases, preserve the Lion behavior where WebKit explicitly calls -setGeometryFlipped on the hosting layer for applications that were linked on Lion or earlier. <rdar://problem/10692025> Reviewed by Simon Fraser. * WebCoreSupport/WebSystemInterface.mm: Init newly added function. * WebView/WebHTMLView.mm: Added case for post-Lion builds that calls -setGeometryFlipped if the app is linked on or before Lion. 2012-01-17 Enrica Casucci <enrica@apple.com> REGRESSION (r101413): Correction panel overlaps misspelled text. https://bugs.webkit.org/show_bug.cgi?id=74589 <rdar://problem/10585115> When converting the rectangle from the root view, we need to take into account the height of the rectangle. Reviewed by Anders Carlsson. * WebView/WebView.mm: (-[WebView _convertRectFromRootView:]): 2012-01-16 Simon Fraser <simon.fraser@apple.com> <rdar://problem/10703228> ASSERTION FAILED: Uncaught exception - Cannot lock focus on image <NSImage 0x1206572a0 Size={0, 0} Reps=( )>, because it is size zero loading techcrunch.com Reviewed by Anders Carlsson. Avoid trying to create image snapshots for zero-sized plugins, because it causes -[NSView lockFocus] to throw an exception. * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView cacheSnapshot]): 2012-01-16 Alexey Proskuryakov <ap@apple.com> A follow-up fix for: A warning is logged to console when typing a bare "/" in Safari address bar https://bugs.webkit.org/show_bug.cgi?id=76236 <rdar://problem/10702986> Reviewed by John Sullivan. * Misc/WebNSURLExtras.mm: (+[NSURL _web_URLWithData:relativeToURL:]): It's OK to have a path when there is a base URL. 2012-01-16 Jon Lee <jonlee@apple.com> Build fix for r105086. * Configurations/FeatureDefines.xcconfig: 2012-01-12 Alexey Proskuryakov <ap@apple.com> A warning is logged to console when typing a bare "/" in Safari address bar https://bugs.webkit.org/show_bug.cgi?id=76236 Reviewed by John Sullivan. * Misc/WebNSURLExtras.mm: (+[NSURL _web_URLWithData:relativeToURL:]): Bail out early for paths. 2012-01-16 Pablo Flouret <pablof@motorola.com> Fix compilation errors on build-webkit --debug --no-svg --no-svg-fonts --no-svg-dom-objc-bindings on mac. https://bugs.webkit.org/show_bug.cgi?id=75865 Reviewed by Hajime Morita. * WebView/WebFrame.mm: (-[WebFrame _pauseSVGAnimation:onSMILNode:atTime:]): 2012-01-15 Pablo Flouret <pablof@motorola.com> Fix compilation errors on build-webkit --debug --no-video on mac. https://bugs.webkit.org/show_bug.cgi?id=75867 Reviewed by Philippe Normand. - WebChromeClient::fullScreenRendererChanged() declaration wrongly guarded by VIDEO feature instead of FULLSCREEN_API. - _isAnyMoviePlaying implementation depends on VIDEO. * WebCoreSupport/WebChromeClient.h: * WebView/WebFullScreenController.mm: (-[WebFullScreenController _isAnyMoviePlaying]): 2012-01-11 Beth Dakin <bdakin@apple.com> https://bugs.webkit.org/show_bug.cgi?id=75904 WebKit 1: Scrollbar uiStateTransitionProgress requires tracking the mouse all the time -and corresponding- <rdar://problem/10498816> Reviewed by Darin Adler. New ivar trackingAreaForNonKeyWindow stores our NSTrackingArea whenever we have one. * WebView/WebHTMLView.mm: (-[WebHTMLViewPrivate dealloc]): (-[WebHTMLViewPrivate clear]): When we know that mouse movements won't affect anything other than scrollbars, call our new function passMouseMovedEventToScrollbars(), otherwise we'll call the old mouseMoved(). (mouseEventIsPartOfClickOrDrag): (-[WebHTMLView _updateMouseoverWithEvent:]): Make sure not to remove the mouse observer when there are legacy scrollbars. (-[WebHTMLView removeMouseMovedObserver]): Set up a tracking area when the window is not key to ensure that the WebView gets the relevant events. Remove it when the window is key again so that we rely on the existing mechanism. (-[WebHTMLView windowDidBecomeKey:]): (-[WebHTMLView windowDidResignKey:]): 2012-01-10 Dan Bernstein <mitz@apple.com> Made -[WebHistoryItem copyWithZone:] allocate an object of the same class as the receiver. Reviewed by Mark Rowe. * History/WebHistoryItem.mm: (-[WebHistoryItem copyWithZone:]): 2012-01-10 Chris Marrin <cmarrin@apple.com> Wrapped allowedCompositingTriggers in ACCELERATED_COMPOSITING ifdef to make non-accelerated builds work Unreviewed. * WebCoreSupport/WebChromeClient.h: 2012-01-10 Chris Marrin <cmarrin@apple.com> Turn off the FilterTrigger in WebKit and WebKit2 https://bugs.webkit.org/show_bug.cgi?id=75914 Reviewed by Simon Fraser. Implement allowedCompositingTriggers to turn on all compositing triggers except FilterTrigger. * WebCoreSupport/WebChromeClient.h: (WebChromeClient::allowedCompositingTriggers): 2012-01-10 Dan Bernstein <mitz@apple.com> Change -[WebHistoryItem copyWithZone:] to not use NSCopyObject() https://bugs.webkit.org/show_bug.cgi?id=75980 Reviewed by Mark Rowe. * History/WebHistoryItem.mm: (-[WebHistoryItem copyWithZone:]): Replaced NSCopyObject() with -alloc, -initWithWebCoreHistoryItem:. 2012-01-06 Simon Fraser <simon.fraser@apple.com> Mitigate scrollbar differences when running pixel tests https://bugs.webkit.org/show_bug.cgi?id=67217 Reviewed by Dan Bernstein. Make it possible to register a custom NSScroller class, which the WebDynamicScrollBarsView will use when mock scrollbars are enabled. Also ensure that the WebPreferences mock scrollbars preference is migrated into Settings. * WebView/WebDynamicScrollBarsView.h: * WebView/WebDynamicScrollBarsView.mm: (+[WebDynamicScrollBarsView _horizontalScrollerClass]): (+[WebDynamicScrollBarsView _verticalScrollerClass]): (+[WebDynamicScrollBarsView setCustomScrollerClass:]): * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2012-01-05 Dan Bernstein <mitz@apple.com> <rdar://problem/10633760> Update copyright strings Reviewed by Mark Rowe. * Info.plist: 2012-01-05 Pratik Solanki <psolanki@apple.com> WebFrameLoaderClient::userAgent does unnecessary NSString/NSURL conversions https://bugs.webkit.org/show_bug.cgi?id=75586 Reviewed by Alexey Proskuryakov. We do unnecessary KURL->NSURL* and String<->NSString* when calling [WebView userAgentForURL:] from WebFrameLoaderClient::userAgent. Instead we add a separate function, _userAgentString that returns a WTF::String to make this call faster. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::userAgent): * WebView/WebView.mm: (-[WebView _userAgentString]): (-[WebView userAgentForURL:]): * WebView/WebViewInternal.h: 2012-01-04 Anders Carlsson <andersca@apple.com> Ambiguous if-then-else in Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm https://bugs.webkit.org/show_bug.cgi?id=75447 Reviewed by Brian Weinstein. Resolve the ambiguity. * Misc/WebNSPasteboardExtras.mm: (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]): 2012-01-04 Mihnea Ovidenie <mihnea@adobe.com> [Mac]Fix build after changeset 103997 https://bugs.webkit.org/show_bug.cgi?id=75530 Reviewed by Andreas Kling. * WebView/WebFrame.mm: * WebView/WebHTMLView.mm: * WebView/WebPDFView.mm: * WebView/WebView.mm: 2012-01-03 Jon Lee <jonlee@apple.com> Leak of WebNotificationClient when page is destroyed https://bugs.webkit.org/show_bug.cgi?id=74980 <rdar://problem/10611231> Reviewed by Mark Rowe. * WebCoreSupport/WebNotificationClient.h: * WebCoreSupport/WebNotificationClient.mm: (WebNotificationClient::notificationControllerDestroyed): Remove the instance. 2012-01-02 Dan Bernstein <mitz@apple.com> [mac] Remove -[WebView setHoverFeedbackSuspended:] https://bugs.webkit.org/show_bug.cgi?id=75406 Reviewed by Tim Hatcher. * WebView/WebHTMLView.mm: (-[WebHTMLView _updateMouseoverWithEvent:]): Removed check for suspended hover updates. * WebView/WebHTMLViewInternal.h: Removed -_hoverFeedbackSuspendedChanged. * WebView/WebView.mm: (-[WebView setHoverFeedbackSuspended:]): Left empty implementation to support versions of Safari that call this. (-[WebView isHoverFeedbackSuspended]): Left implementation that always returns NO to support versions of Safari that call this. * WebView/WebViewData.h: Removed hoverFeedbackSuspended ivar. * WebView/WebViewPrivate.h: Removed method definitions. 2011-12-31 Dan Bernstein <mitz@apple.com> WebKit/mac changes for: REGRESSION (WebKit2): Cursor, hover states not updated when page scrolls under stationary mouse pointer https://bugs.webkit.org/show_bug.cgi?id=75405 Reviewed by Anders Carlsson. Removed the WebKit/mac mechanism for dispatching fake mouse moved events when an HTML frame scrolls, since FrameView now does this. * WebView/WebHTMLView.mm: (-[WebHTMLViewPrivate dealloc]): Removed an assertion about a removed ivar. (-[WebHTMLView _updateMouseoverWithFakeEvent]): Removed call to -_cancelUpdateMouseoverTimer. (-[WebHTMLView _frameOrBoundsChanged]): Removed code to schedule a timer for dispatching a mouse moved event on scroll. (-[WebHTMLView close]): Removed call to _cancelUpdateMouseoverTimer. (-[WebHTMLView viewWillMoveToWindow:]): Ditto. (-[WebHTMLView mouseDown:]): Ditto. 2011-12-23 Ryosuke Niwa <rniwa@webkit.org> Chromium Mac build fix. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-12-21 Sam Weinig <sam@webkit.org> Start extracting platform specific bits out of PlatformEvents https://bugs.webkit.org/show_bug.cgi?id=75063 Reviewed by Anders Carlsson. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): * WebView/WebFrame.mm: * WebView/WebHTMLView.mm: (-[WebHTMLView menuForEvent:]): (-[WebHTMLView acceptsFirstMouse:]): (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): (currentKeyboardEvent): (-[WebHTMLView flagsChanged:]): * WebView/WebPDFView.mm: (-[WebPDFView PDFViewWillClickOnLink:withURL:]): * WebView/WebView.mm: 2011-12-21 Timothy Hatcher <timothy@apple.com> Web Inspector: suppress incremental rendering and use application chrome mode https://webkit.org/b/75026 Reviewed by Joseph Pecoraro. * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController init]): Sort the preferences, remove the Leopard font family setting, set suppress incremental rendering and use application chrome mode. 2011-12-20 Pavel Feldman <pavel.feldman@gmail.com> Web Inspector: reproducible crash after closing web inspector and browser window (iCab) https://bugs.webkit.org/show_bug.cgi?id=74255 Reviewed by Yury Semikhatsky. * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::bringFrontendToFront): (-[WebInspectorWindowController destroyInspectorView:]): 2011-12-19 Eric Carlson <eric.carlson@apple.com> Enable <track> for Mac build https://bugs.webkit.org/show_bug.cgi?id=74838 Reviewed by Darin Adler. * Configurations/FeatureDefines.xcconfig: 2011-12-16 Ryosuke Niwa <rniwa@webkit.org> Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step https://bugs.webkit.org/show_bug.cgi?id=74748 Reviewed by Eric Seidel. * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::registerUndoOrRedoStep): (WebEditorClient::registerUndoStep): (WebEditorClient::registerRedoStep): 2011-12-16 Sam Weinig <sam@webkit.org> Give PlatformEvents a base class https://bugs.webkit.org/show_bug.cgi?id=74685 Reviewed by Anders Carlsson. Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent and PlatformGestureEvent and move Type enumeration and modifiers down to it. * WebView/WebFrame.mm: (-[WebFrame _dragSourceEndedAt:operation:]): * WebView/WebHTMLView.mm: (currentKeyboardEvent): (-[WebHTMLView _interpretKeyEvent:savingCommands:]): * WebView/WebPDFView.mm: (-[WebPDFView PDFViewWillClickOnLink:withURL:]): 2011-12-16 Simon Fraser <simon.fraser@apple.com> Fix a #elsif fumble in my earlier commit. * WebView/WebHTMLView.mm: (-[WebHTMLView attachRootLayer:]): 2011-12-16 Ryosuke Niwa <rniwa@webkit.org> Only EditCommandComposition should implement unapply and reapply https://bugs.webkit.org/show_bug.cgi?id=74490 Reviewed by Eric Seidel. * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (-[WebUndoStep initWithUndoStep:]): (-[WebUndoStep dealloc]): (+[WebUndoStep stepWithUndoStep:]): (-[WebUndoStep step]): (-[WebEditorUndoTarget undoEditing:]): (-[WebEditorUndoTarget redoEditing:]): (WebEditorClient::registerCommandForUndoOrRedo): (WebEditorClient::registerCommandForUndo): (WebEditorClient::registerCommandForRedo): 2011-12-16 Simon Fraser <simon.fraser@apple.com> <rdar://problem/10589427> Avoid calling -setGeometryFlipped ourselves on the layer hosting view's layer Reviewed by Sam Weinig. Now that we're using a flipped view to host the compositing layers, we should not set geometryFlipped on the root layer ourselves. * WebView/WebHTMLView.mm: (-[WebHTMLView attachRootLayer:]): 2011-12-16 Mark Hahnenberg <mhahnenberg@apple.com> De-virtualize destructors https://bugs.webkit.org/show_bug.cgi?id=74331 Reviewed by Geoffrey Garen. * Plugins/Hosted/ProxyRuntimeObject.h: Remove empty virtual destructor. * Plugins/Hosted/ProxyRuntimeObject.mm: 2011-12-14 Ryosuke Niwa <rniwa@webkit.org> Mac build fix after r102874. * WebCoreSupport/WebChromeClient.mm: 2011-12-14 Jing Zhao <jingzhao@chromium.org> Opening two popup menus by dispatchEvent() makes problems. https://bugs.webkit.org/show_bug.cgi?id=73304 Reviewed by Kent Tamura. * WebCoreSupport/WebChromeClient.h: Overrides hasOpenedPopup(). * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::hasOpenedPopup): Not implemented. 2011-12-14 Michael Saboff <msaboff@apple.com> Mac WebScriptDebugger crashes beneath sourceParsed() https://bugs.webkit.org/show_bug.cgi?id=74564 Reviewed by Gavin Barraclough. * WebView/WebScriptDebugger.mm: (toNSString): Change to use ->characters() method to actually get characters for string conversion. 2011-12-14 Hajime Morrita <morrita@chromium.org> JS_INLINE and WTF_INLINE should be visible from WebCore https://bugs.webkit.org/show_bug.cgi?id=73191 Reviewed by Kevin Ollivier. Removed macro definitions which is now provided by Platform.h * WebKitPrefix.h: 2011-12-13 Jon Lee <jonlee@apple.com> Enable notifications on Mac. Reviewed by Sam Weinig. * Configurations/FeatureDefines.xcconfig: 2011-12-12 Ryosuke Niwa <rniwa@webkit.org> WebKit code shouldn't be calling applyCommand directly https://bugs.webkit.org/show_bug.cgi?id=74337 Reviewed by Darin Adler. * WebView/WebFrame.mm: (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): 2011-12-12 Brady Eidson <beidson@apple.com> Page cache should support pages with plugins. <rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634 Expose a WebKit preference for the page cache supporting plugins (on by default). Reviewed by Anders Carlsson. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (-[WebPreferences pageCacheSupportsPlugins]): (-[WebPreferences setPageCacheSupportsPlugins:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2011-12-12 Dan Bernstein <mitz@apple.com> <rdar://problem/10328474> Text highlight changes to gray selection color when menu extra is shown Reviewed by John Sullivan. * WebView/WebView.mm: (-[WebView _updateActiveState]): Changed to use -[NSWindow _hasKeyAppearance] instead of -isKeyWindow. The former also returns YES when a menu extra is open. (-[WebView addWindowObserversForWindow:]): Removed code to observe NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification. (-[WebView removeWindowObservers]): Removed code to stop observing the above. (-[WebView _windowChangedKeyState]): Overridden this to call _updateActiveState. This is called when the result of -_hasKeyAppearance changes. (-[WebView _windowWillOrderOnScreen:]): Removed call to _updateActiveState, previously needed for popovers, because _windowChangedKeyState is invoked at the right time for them. (-[WebView _windowWillOrderOffScreen:]): Ditto. 2011-12-07 Mark Rowe <mrowe@apple.com> Fix the 32-bit build. Ignore some warnings that only occur in 32-bit. * Plugins/WebNetscapePluginPackage.mm: 2011-12-07 Mary Wu <mary.wu@torchmobile.com.cn> Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline https://bugs.webkit.org/show_bug.cgi?id=73986 Reviewed by Kenneth Rohde Christiansen. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): 2011-12-06 Alexey Proskuryakov <ap@apple.com> REGRESSION (WebKit2): Kill ring is not cleared when selection changes https://bugs.webkit.org/show_bug.cgi?id=73888 <rdar://problem/10532310> Reviewed by Mark Rowe. * WebView/WebHTMLView.mm: (-[WebHTMLView becomeFirstResponder]): Added a FIXME comment. (-[WebHTMLView _selectionChanged]): Moved the code to clear kill ring to WebCore. The rest of kill ring implementation is there, so it makes no sense to have this call in WebKits. 2011-12-05 Anders Carlsson <andersca@apple.com> Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not https://bugs.webkit.org/show_bug.cgi?id=73862 Reviewed by Andy Estes. Remove the call to LayerFlushScheduler::invalidate and return true instead. Return false for the cases where we don't want the layer flush scheduler to be invalidated. * WebView/WebView.mm: (LayerFlushController::flushLayers): * WebView/WebViewData.h: 2011-12-05 Eric Carlson <eric.carlson@apple.com> Add WebKit preferences for text track settings https://bugs.webkit.org/show_bug.cgi?id=73721 Reviewed by John Sullivan. * WebView/WebPreferenceKeysPrivate.h: Added #define for shouldDisplaySubtitles, shouldDisplayCaptions, and shouldDisplayTextDescriptions properties. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Initialize new preferences to NO. (-[WebPreferences setShouldDisplaySubtitles:]): Added. (-[WebPreferences shouldDisplaySubtitles]): Ditto. (-[WebPreferences setShouldDisplayCaptions:]): Ditto. (-[WebPreferences shouldDisplayCaptions]): Ditto. (-[WebPreferences setShouldDisplayTextDescriptions:]): Ditto. (-[WebPreferences shouldDisplayTextDescriptions]): Ditto. * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Updates WebCore settings from WebKit prefs. 2011-12-03 Dan Bernstein <mitz@apple.com> <rdar://problem/10523721> Crash at WebCore::SubresourceLoader::releaseResources Reviewed by Darin Adler. * WebView/WebView.mm: (-[WebView _removeObjectForIdentifier:]): Changed the CFRelease(self) into a WebCFAutorelease(self). This prevents re-entry into this method due to the WebView closing and canceling all subresource loads, including the one we have just removed. 2011-12-02 David Levin <levin@chromium.org> Rename WTF class from TemporarilyChange to TemporaryChange. https://bugs.webkit.org/show_bug.cgi?id=73479 Reviewed by Eric Seidel. * ForwardingHeaders/wtf/TemporarilyChange.h: Removed. * ForwardingHeaders/wtf/TemporaryChange.h: Added. 2011-12-02 Simon Fraser <simon.fraser@apple.com> <rdar://problem/10423627> Layers are flipped in WebKit1 views Reviewed by Sam Weinig. Host the compositing layers in an NSView which is flipped, which helps AppKit get the geometry right in some situations. * WebView/WebHTMLView.mm: (-[WebLayerHostingFlippedView isFlipped]): (-[WebHTMLView attachRootLayer:]): 2011-12-02 Hajime Morrita <morrita@chromium.org> Unreviewed, rolling out r101751 and r101775. http://trac.webkit.org/changeset/101751 http://trac.webkit.org/changeset/101775 https://bugs.webkit.org/show_bug.cgi?id=73191 breaks Windows build * WebKitPrefix.h: 2011-12-01 Hajime Morrita <morrita@chromium.org> JS_INLINE and WTF_INLINE should be visible from WebCore https://bugs.webkit.org/show_bug.cgi?id=73191 Reviewed by Kevin Ollivier. Removed macro definitions which is now provided by Platform.h * WebKitPrefix.h: 2011-11-30 Alexey Proskuryakov <ap@apple.com> Remove an unneeded argument from FrameLoaderClient::download https://bugs.webkit.org/show_bug.cgi?id=73486 Reviewed by Andreas Kling. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::download): Updated for the change. 2011-11-30 Dan Bernstein <mitz@apple.com> WebKit/mac part of: Allow the length of a page along the pagination axis to differ from the length of the view https://bugs.webkit.org/show_bug.cgi?id=73476 Reviewed by Anders Carlsson. * WebView/WebView.mm: (-[WebView _setPageLength:]): Added this accessor. (-[WebView _pageLength]): Ditto. * WebView/WebViewPrivate.h: 2011-11-30 Alexey Proskuryakov <ap@apple.com> Download page URL should be set by WebCore https://bugs.webkit.org/show_bug.cgi?id=73358 Reviewed by Darin Adler. * WebCoreSupport/WebFrameLoaderClient.h: Removed setOriginalURLForDownload, which is now in WebCore. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::download): There is no need to set original URL post factum any more. (WebFrameLoaderClient::startDownload): Ditto. 2011-11-29 David Levin <levin@chromium.org> Add a way to revert a variable to its previous value after leaving a scope. https://bugs.webkit.org/show_bug.cgi?id=73371 Reviewed by Adam Barth. * ForwardingHeaders/wtf/TemporarilyChange.h: Added. 2011-11-29 Jessie Berlin <jberlin@apple.com> WKKeyValueStorageManagerGetKeyValueStorageOrigins may not report the correct list of origins the first time it is called. https://bugs.webkit.org/show_bug.cgi?id=73374 (<rdar://problem/10196057>) Reviewed by Brady Eidson. * Storage/WebStorageTrackerClient.h: * Storage/WebStorageTrackerClient.mm: (WebStorageTrackerClient::didFinishLoadingOrigins): 2011-11-15 Anders Carlsson <andersca@apple.com> DragClient::dragSourceActionMaskForPoint should use root view coordinates https://bugs.webkit.org/show_bug.cgi?id=72409 Reviewed by Sam Weinig. * WebCoreSupport/WebDragClient.mm: (WebDragClient::dragSourceActionMaskForPoint): Use -[WebView _convertPointFromRootView:] to convert the point to the web view coordinate system. 2011-11-15 Anders Carlsson <andersca@apple.com> EditorClient::showCorrectionPanel should pass the string bounding box in root view coordinates https://bugs.webkit.org/show_bug.cgi?id=72408 Reviewed by Sam Weinig. * WebCoreSupport/CorrectionPanel.mm: (CorrectionPanel::show): Convert the bounding rect to web view coordinates. * WebView/WebView.mm: (-[WebView _convertPointFromRootView:]): (-[WebView _convertRectFromRootView:]): * WebView/WebViewInternal.h: Add helper methods for converting from root view coordinates to web view coordinates. 2011-11-29 Roland Steiner <rolandsteiner@chromium.org> <style scoped>: add ENABLE(STYLE_SCOPED) flag to WebKit https://bugs.webkit.org/show_bug.cgi?id=72848 Reviewed by Dimitri Glazkov. * Configurations/FeatureDefines.xcconfig: 2011-11-28 Jon Lee <jonlee@apple.com> Create skeleton framework for notifications support in WK2 https://bugs.webkit.org/show_bug.cgi?id=73253 <rdar://problem/10356943> Reviewed by Sam Weinig. * Configurations/FeatureDefines.xcconfig: Split out ENABLE_NOTIFICATIONS based on platform. * WebCoreSupport/WebNotificationClient.h: Added. (WebNotificationClient::webView): * WebCoreSupport/WebNotificationClient.mm: Added. Implemented as stubs for now. (WebNotificationClient::WebNotificationClient): (WebNotificationClient::show): (WebNotificationClient::cancel): (WebNotificationClient::notificationObjectDestroyed): (WebNotificationClient::requestPermission): (WebNotificationClient::cancelRequestsForPermission): (WebNotificationClient::checkPermission): * WebView/WebView.mm: Set PageClient's notification client to an instance of this stubbed class. 2011-11-28 Adam Roben <aroben@apple.com> Properly retain the OS X version string Fixes <http://webkit.org/b/73214> REGRESSION (r101215): Crash on launch beneath +[WebView _standardUserAgentWithApplicationName:] Reviewed by Antti Koivisto. * WebView/WebView.mm: (createMacOSXVersionString): Retain the string we're returning, since this function is supposed to return an owning reference to the caller. 2011-11-28 Hayato Ito <hayato@chromium.org> Fix chromium canary build after r101215. Unreviewed. Build fix. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-11-27 Mark Rowe <mrowe@apple.com> <http://webkit.org/b/72665> Switch to a more modern approach to retrieving the OS marketing version Reviewed by Dan Bernstein. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Set up wkGetMacOSXVersionString. * WebView/WebView.mm: (createMacOSXVersionString): Use WKGetMacOSXVersionString. 2011-11-26 Pavel Feldman <pfeldman@google.com> Web Inspector: remove disconnectFromBackend from the protocol. https://bugs.webkit.org/show_bug.cgi?id=73127 Reviewed by Yury Semikhatsky. * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::inspectorDestroyed): (WebInspectorClient::closeInspectorFrontend): 2011-11-26 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r101193. http://trac.webkit.org/changeset/101193 https://bugs.webkit.org/show_bug.cgi?id=73158 Breaks Windows and Qt minimal. (Requested by pfeldman on #webkit). * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::inspectorDestroyed): 2011-11-26 Pavel Feldman <pfeldman@google.com> Web Inspector: remove disconnectFromBackend from the protocol. https://bugs.webkit.org/show_bug.cgi?id=73127 Reviewed by Yury Semikhatsky. * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::inspectorDestroyed): (WebInspectorClient::closeInspectorFrontend): 2011-11-22 Pavel Feldman <pfeldman@google.com> Web Inspector: remove Inspector::bringToFront from the protocol. https://bugs.webkit.org/show_bug.cgi?id=72937 Reviewed by Yury Semikhatsky. * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::openInspectorFrontend): (WebInspectorClient::bringFrontendToFront): 2011-11-21 Mark Rowe <mrowe@apple.com> Fix the SnowLeopard build. * Misc/WebNSFileManagerExtras.mm: Forward-declare DADiskCreateFromVolumePath on SnowLeopard as it was not yet declared in a public header. 2011-11-20 Mark Rowe <mrowe@apple.com> <http://webkit.org/b/72661> Switch to a more modern approach to retrieving the startup volume name Use the DiskArbitration framework to retrieve the name of the startup volume rather than using Carbon File Manager APIs. Reviewed by Dan Bernstein. * Misc/WebNSFileManagerExtras.mm: (-[NSFileManager _webkit_startupVolumeName]): Retrieve a DADiskRef for the startup volume and copy the volume name from its description dictionary. 2011-06-20 Pavel Feldman <pfeldman@chromium.org> Web Inspector: introduce InspectorFrontendAPI for actions initiated from the application menu. https://bugs.webkit.org/show_bug.cgi?id=62985 Both: inspector protocol and WebCore/InspectorController have a number of unnecessary methods for plumbing the menu action handlers through the WebKit and WebCore. I intend to remove this menu support from the protocol and WebCore/InspectorController API. I am starting with exposing the new front-end API in the WebCore and using it in the WebKit/mac port. WebKit/win and WebKit2 to follow. Reviewed by Yury Semikhatsky. * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController destroyInspectorView:]): * WebInspector/WebInspector.mm: (-[WebInspector showWindow]): (-[WebInspector show:]): (-[WebInspector showConsole:]): (-[WebInspector isDebuggingJavaScript]): (-[WebInspector toggleDebuggingJavaScript:]): (-[WebInspector startDebuggingJavaScript:]): (-[WebInspector stopDebuggingJavaScript:]): (-[WebInspector isProfilingJavaScript]): (-[WebInspector toggleProfilingJavaScript:]): (-[WebInspector startProfilingJavaScript:]): (-[WebInspector stopProfilingJavaScript:]): (-[WebInspector isJavaScriptProfilingEnabled]): (-[WebInspector setJavaScriptProfilingEnabled:]): (-[WebInspector isTimelineProfilingEnabled]): (-[WebInspector setTimelineProfilingEnabled:]): (-[WebInspector setFrontend:]): (-[WebInspector releaseFrontend]): (-[WebInspector showWindow:]): * WebInspector/WebInspectorFrontend.h: * WebInspector/WebInspectorFrontend.mm: (-[WebInspectorFrontend isDebuggingEnabled]): (-[WebInspectorFrontend setDebuggingEnabled:]): (-[WebInspectorFrontend isProfilingJavaScript]): (-[WebInspectorFrontend startProfilingJavaScript]): (-[WebInspectorFrontend stopProfilingJavaScript]): (-[WebInspectorFrontend isJavaScriptProfilingEnabled]): (-[WebInspectorFrontend setJavaScriptProfilingEnabled:]): (-[WebInspectorFrontend isTimelineProfilingEnabled]): (-[WebInspectorFrontend setTimelineProfilingEnabled:]): * WebInspector/WebInspectorPrivate.h: 2011-11-21 Jochen Eisinger <jochen@chromium.org> Implement Meta referrer https://bugs.webkit.org/show_bug.cgi?id=72674 Reviewed by Adam Barth. * Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream): * Plugins/WebNetscapePluginStream.mm: (WebNetscapePluginStream::WebNetscapePluginStream): 2011-10-17 Antonio Gomes <agomes@rim.com> Pass a Frame* parameter in EditorClient::respondToChangedSelection https://bugs.webkit.org/show_bug.cgi?id=70248 Reviewed by Ryosuke Niwa. * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: Make use of the newly added Frame* parameter. (WebEditorClient::respondToChangedSelection): 2011-11-17 Mark Rowe <mrowe@apple.com> <http://webkit.org/b/72646> Disable deprecation warnings around code where we cannot easily switch away from the deprecated APIs. Reviewed by Sam Weinig. * Plugins/WebBasePluginPackage.mm: * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage _tryLoad]): 2011-11-18 Anton D'Auria <adauria@apple.com> bool WebChromeClient::shouldInterruptJavaScript casts pointer to bool and always returns true https://bugs.webkit.org/show_bug.cgi?id=72568 Reviewed by David Kilzer. WebChromeClient::shouldInterruptJavaScript called CallUIDelegate, which used an id as the return value, which was then cast to a bool and always returned true. This patch uses CallUIDelegateReturningBoolean instead of CallUIDelegate, with the default return value of NO. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::shouldInterruptJavaScript): 2011-11-16 Dan Bernstein <mitz@apple.com> WebKit/mac part of <rdar://problem/10262242> Add API for paginated display https://bugs.webkit.org/show_bug.cgi?id=72537 Reviewed by Anders Carlsson. * WebView/WebView.mm: (-[WebView _setPaginationMode:]): Added this accessor. (-[WebView _paginationMode]): Ditto. (-[WebView _setGapBetweenPages:]): Ditto. (-[WebView _gapBetweenPages]): Ditto. (-[WebView _pageCount]): Ditto. * WebView/WebViewPrivate.h: Defined WebPaginationMode enum and values. 2011-11-15 Andy Estes <aestes@apple.com> Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation https://bugs.webkit.org/show_bug.cgi?id=72106 Reviewed by Anders Carlsson. Remove code that schedules layer flushes and use LayerFlushScheduler instead. * WebView/WebView.mm: (-[WebView _close]): Invalidate the run loop observer and destroy the LayerFlushController. (LayerFlushController::flushLayers): Perform the work that layerSyncRunLoopObserverCallBack used to do. (-[WebView _scheduleCompositingLayerSync]): If layerFlushController has yet to be created, create it, then schedule a layer flush. * WebView/WebViewData.h: (LayerFlushController::create): Create a LayerFlushController that implements the LayerFlushSchedulerClient interface and contains a LayerFlushScheduler with itself as the client. * WebView/WebViewData.mm: (LayerFlushController::scheduleLayerFlush): (LayerFlushController::invalidateObserver): (LayerFlushController::LayerFlushController): 2011-11-15 Jochen Eisinger <jochen@chromium.org> Rename ReferrerPolicy to clarify its meaning https://bugs.webkit.org/show_bug.cgi?id=72420 Reviewed by Nate Chapin. * WebView/WebPDFView.mm: (-[WebPDFView PDFViewWillClickOnLink:withURL:]): 2011-11-15 Anders Carlsson <andersca@apple.com> HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen https://bugs.webkit.org/show_bug.cgi?id=72397 Reviewed by Dan Bernstein. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::screenToRootView): (WebChromeClient::rootViewToScreen): 2011-11-14 Anders Carlsson <andersca@apple.com> HostWindow invalidation functions should use root view coordinates https://bugs.webkit.org/show_bug.cgi?id=72338 Reviewed by Dan Bernstein. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::invalidateRootView): (WebChromeClient::invalidateContentsAndRootView): (WebChromeClient::invalidateContentsForSlowScroll): 2011-11-14 Julien Chaffraix <jchaffraix@webkit.org> Add --css-grid-layout to build-webkit and the build systems https://bugs.webkit.org/show_bug.cgi?id=72320 Reviewed by Ojan Vafai. * Configurations/FeatureDefines.xcconfig: 2011-11-14 Tony Chang <tony@chromium.org> Remove the CSS3_FLEXBOX compile time flag and enable on all ports https://bugs.webkit.org/show_bug.cgi?id=72196 Reviewed by Ojan Vafai. * Configurations/FeatureDefines.xcconfig: 2011-11-07 Adam Barth <abarth@webkit.org> Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp https://bugs.webkit.org/show_bug.cgi?id=71755 Reviewed by Eric Seidel. * Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream): * Plugins/WebNetscapePluginStream.mm: (WebNetscapePluginStream::WebNetscapePluginStream): * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): (+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): (+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): (+[WebView _resetOriginAccessWhitelists]): 2011-11-08 Joseph Pecoraro <pecoraro@apple.com> Move NSRange / DOMRange functions back to WebFrameInternal https://bugs.webkit.org/show_bug.cgi?id=71844 Reviewed by Alexey Proskuryakov. * WebView/WebFrame.mm: (-[WebFrame _convertNSRangeToDOMRange:]): (-[WebFrame _convertDOMRangeToNSRange:]): * WebView/WebFrameInternal.h: * WebView/WebFramePrivate.h: 2011-11-08 Michael Saboff <msaboff@apple.com> Towards 8 Bit Strings: Templatize JSC::Parser class by Lexer type https://bugs.webkit.org/show_bug.cgi?id=71761 Changed WKPCEvaluate() to use emptyString() when the source is zero length. Reviewed by Gavin Barraclough. * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCEvaluate): 2011-11-08 Beth Dakin <bdakin@apple.com> https://bugs.webkit.org/show_bug.cgi?id=71856 WebKit should use new NSWindowDidChangeBackingPropertiesNotification instead of old NSWindowDidChangeResolutionNotification -and corresponding- <rdar://problem/10317253> Reviewed by Tim Hatcher. * WebView/WebView.mm: (-[WebView addWindowObserversForWindow:]): (-[WebView removeWindowObservers]): We have to check that the backing scale factor actually changed since this notification can also be used to signify other changes. (-[WebView _windowDidChangeBackingProperties:]): 2011-11-07 Adam Barth <abarth@webkit.org> Move DomainRelaxationForbidden scheme registry to SchemeRegistry https://bugs.webkit.org/show_bug.cgi?id=71750 Reviewed by Eric Seidel. * WebView/WebView.mm: (+[WebView _setDomainRelaxationForbidden:forURLScheme:]): 2011-11-07 Jessie Berlin <jberlin@apple.com> Need a way to allow a scheme access to Local Storage and Databases while Private Browsing is enabled. https://bugs.webkit.org/show_bug.cgi?id=71631 Reviewed by Jon Honeycutt. Add WebKit1 API to register a scheme as ignoring Private Browsing for Local Storage and Databases. * WebView/WebView.mm: (+[WebView _registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing:]): Call through to the SchemeRegistry function. (+[WebView _registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing:]): Ditto. * WebView/WebViewPrivate.h: 2011-11-03 Mark Hahnenberg <mhahnenberg@apple.com> De-virtualize JSObject::getPropertyNames https://bugs.webkit.org/show_bug.cgi?id=71306 Reviewed by Darin Adler. Added getPropertyNames to the MethodTable, changed all the virtual implementations of getPropertyNames to static ones, and replaced all call sites with corresponding lookups in the MethodTable. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::enumerate): 2011-11-02 Darin Adler <darin@apple.com> Change remaining callers of releaseRef to call leakRef https://bugs.webkit.org/show_bug.cgi?id=71422 Reviewed by Darin Fisher. * History/WebBackForwardList.mm: (-[WebBackForwardList initWithBackForwardList:]): * History/WebHistoryItem.mm: (-[WebHistoryItem copyWithZone:]): (-[WebHistoryItem initWithWebCoreHistoryItem:]): * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView createPlugin]): * WebCoreSupport/WebOpenPanelResultListener.mm: * WebView/WebDataSource.mm: (-[WebDataSource _initWithDocumentLoader:]): * WebView/WebResource.mm: (-[WebResourcePrivate initWithCoreResource:]): Use leakRef. 2011-11-02 Joseph Pecoraro <pecoraro@apple.com> Move NSRange / DOMRange conversion functions to WebFramePrivate https://bugs.webkit.org/show_bug.cgi?id=71435 Reviewed by Sam Weinig. Move conversion functions to WebFramePrivate, and remove the no longer used versions. * WebView/WebFrame.mm: (-[WebFrame _convertNSRangeToDOMRange:]): (-[WebFrame _convertDOMRangeToNSRange:]): * WebView/WebFrameInternal.h: * WebView/WebFramePrivate.h: 2011-11-02 Dean Jackson <dino@apple.com> Add ENABLE_CSS_SHADERS flag https://bugs.webkit.org/show_bug.cgi?id=71394 Reviewed by Sam Weinig. * Configurations/FeatureDefines.xcconfig: 2011-11-02 Jon Lee <jonlee@apple.com> Expand DragController to provide more information about the dragging session https://bugs.webkit.org/show_bug.cgi?id=71324 <rdar://problem/10379175> Reviewed by Darin Adler. * WebView/WebView.mm: (-[WebView draggingEntered:]): DragOperation is now inside the DragSession struct. (-[WebView draggingUpdated:]): 2011-11-02 Tom Sepez <tsepez@chromium.org> XSSAuditor is silent https://bugs.webkit.org/show_bug.cgi?id=70973 Reviewed by Adam Barth. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::didRunInsecureContent): (WebFrameLoaderClient::didDetectXSS): * WebView/WebDelegateImplementationCaching.h: * WebView/WebFrameLoadDelegatePrivate.h: * WebView/WebView.mm: (-[WebView _cacheFrameLoadDelegateImplementations]): 2011-11-01 Darin Adler <darin@apple.com> Crash in PDF code when script has illegal UTF-8 or UTF-16 sequences https://bugs.webkit.org/show_bug.cgi?id=71289 Reviewed by Dan Bernstein. Just adding a null check. I don't have access to an actual PDF with this problem but crashes from the field indicate they exist. * WebView/WebPDFDocumentExtras.mm: (allScriptsInPDFDocument): Skip the code to add the script text to an array when the script is null. 2011-10-28 John Sullivan <sullivan@apple.com> WebKit part of: https://bugs.webkit.org/show_bug.cgi?id=71142 Whether backspace goes Back should be configurable Reviewed by Sam Weinig. * WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Honor the new preference. * WebView/WebPreferenceKeysPrivate.h: Added #define for WebKitBackspaceKeyNavigationEnabledKey * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Initialize new pref to YES, to match current behavior. (-[WebPreferences setBackspaceKeyNavigationEnabled:]): New method, standard prefs setter. (-[WebPreferences backspaceKeyNavigationEnabled]): New method, standard prefs getter. * WebView/WebPreferencesPrivate.h: Declared new methods. * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Updates WebCore settings from WebKit prefs. 2011-10-28 Jochen Eisinger <jochen@chromium.org> Rename a number of methods mentioning JavaScript to just Script instead https://bugs.webkit.org/show_bug.cgi?id=71105 Reviewed by Adam Barth. * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2011-10-27 Joseph Pecoraro <pecoraro@apple.com> Reviewed by David Kilzer. Make FeatureDefines Identical Across OS X Projects https://bugs.webkit.org/show_bug.cgi?id=71051 * Configurations/FeatureDefines.xcconfig: 2011-10-27 Mark Hahnenberg <mhahnenberg@apple.com> De-virtualize JSCell::toThisObject https://bugs.webkit.org/show_bug.cgi?id=70958 Reviewed by Geoffrey Garen. Converted all instances of toThisObject to static functions, added toThisObject to the MethodTable, and replaced all call sites with a corresponding lookup in the MethodTable. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): 2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com> Remove deletePropertyVirtual https://bugs.webkit.org/show_bug.cgi?id=70738 Reviewed by Geoffrey Garen. Removed all declarations and definitions of deletePropertyVirtual. Also replaced all call sites to deletePropertyVirtual with a corresponding lookup in the MethodTable. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::removeProperty): 2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com> Remove putVirtual https://bugs.webkit.org/show_bug.cgi?id=70740 Reviewed by Geoffrey Garen. Removed all declarations and definitions of putVirtual. Also replaced all call sites to putVirtual with a corresponding lookup in the MethodTable. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::setProperty): 2011-10-24 Geoffrey Garen <ggaren@apple.com> Removed SharedUChar and tightened language around its previous uses https://bugs.webkit.org/show_bug.cgi?id=70698 Reviewed by David Levin. - Renamed "threadSafeCopy" and "crossThreadCopy" to "isolatedCopy" because the former names gave the dangerous misimpression that the resulting object was thread-safe, which is not true. * Storage/WebDatabaseTrackerClient.mm: (DidModifyOriginData::dispatchToMainThread): 2011-10-24 Michael Saboff <msaboff@apple.com> WebKit doesn't build with recent changes to libdispatch https://bugs.webkit.org/show_bug.cgi?id=70737 Added initialization for new WebKitSystemInterface function CreateVMPressureDispatchOnMainQueue. Reviewed by Geoffrey Garen. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-10-23 Mark Hahnenberg <mhahnenberg@apple.com> Remove getConstructDataVirtual https://bugs.webkit.org/show_bug.cgi?id=70638 Reviewed by Darin Adler. Removed all declarations and definitions of getConstructDataVirtual. Also replaced all call sites to getConstructDataVirtual with a corresponding lookup in the MethodTable. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::construct): 2011-10-20 Ian Henderson <ianh@apple.com> https://bugs.webkit.org/show_bug.cgi?id=70541 There are two WebFrameLoadDelegatePrivate categories on NSObject Reviewed by David Kilzer. * WebView/WebViewPrivate.h: Rename the private delegate categories in WebViewPrivate.h with a "WebView" prefix to avoid collision. 2011-10-20 Alexey Proskuryakov <ap@apple.com> REGRESSION (r96823): Contextual menu closes immediately when control-clicking in Flash plug-in https://bugs.webkit.org/show_bug.cgi?id=70534 <rdar://problem/10308827> Reviewed by Darin Adler. * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): Return true for contextmenu event, so that plug-ins won't get a default WebKit context menu. We can't know if the plug-in is handling mousedown (or even mouseup) by displaying a menu. 2011-10-19 Beth Dakin <bdakin@apple.com> https://bugs.webkit.org/show_bug.cgi?id=70396 Focus rings are too thin in HiDPI in WebKit2 -and corresponding- <rdar://problem/10086876> Reviewed by Dan Bernstein. Rename wkSetPatternBaseCTM to wkSetBaseCTM * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): To create a HiDPI context in DRT, we have to set the base CTM, which currently requires CG SPI, so we have to do it through WebKitSystemInterface. * WebView/WebView.mm: (-[WebView _setBaseCTM:forContext:]): * WebView/WebViewPrivate.h: 2011-10-18 Adam Barth <abarth@webkit.org> Always enable ENABLE(XPATH) https://bugs.webkit.org/show_bug.cgi?id=70217 Reviewed by Eric Seidel. * Configurations/FeatureDefines.xcconfig: 2011-10-14 Chris Marrin <cmarrin@apple.com> Throttle rate of requestAnimationFrame when page is not visible https://bugs.webkit.org/show_bug.cgi?id=67873 Reviewed by Anders Carlsson. Plumb through notification when the window is hidden/shown or minimized/unminimized * WebView/WebView.mm: (-[WebView _windowWillOrderOnScreen:]): (-[WebView _windowWillOrderOffScreen:]): 2011-10-16 Adam Barth <abarth@webkit.org> Always enable ENABLE(DOM_STORAGE) https://bugs.webkit.org/show_bug.cgi?id=70189 Reviewed by Eric Seidel. * Configurations/FeatureDefines.xcconfig: * Storage/WebStorageManager.mm: * Storage/WebStorageManagerInternal.h: * Storage/WebStorageTrackerClient.h: * Storage/WebStorageTrackerClient.mm: (WebStorageTrackerClient::dispatchDidModifyOrigin): * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): 2011-10-14 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/70158> Fix clang compiler warnings Reviewed by Darin Adler. The following two methods in WebDelegateImplementationCaching.h are ambiguous in WebChromeClient::runJavaScriptPrompt() because the compiler can't decide how to convert the WTF::String defaultText argument: id CallUIDelegate(WebView *, SEL, id, id); id CallUIDelegate(WebView *, SEL, id, BOOL); The fix is to perform the conversion explicitly. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::runJavaScriptPrompt): Extract a defaultString variable to convert the WTF::String to an NSString*, then use defaultString in place of defaultText. 2011-10-14 Mark Hahnenberg <mhahnenberg@apple.com> Rename virtual put to putVirtual https://bugs.webkit.org/show_bug.cgi?id=69851 Reviewed by Darin Adler. Renamed virtual versions of put to putVirtual in prepration for adding the static put to the MethodTable in ClassInfo since the compiler gets mad if the virtual and static versions have the same name. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::setProperty): 2011-10-14 Mark Hahnenberg <mhahnenberg@apple.com> Rename virtual deleteProperty to deletePropertyVirtual https://bugs.webkit.org/show_bug.cgi?id=69884 Reviewed by Darin Adler. Renamed virtual versions of deleteProperty to deletePropertyVirtual in prepration for adding the static deleteProperty to the MethodTable in ClassInfo since the compiler gets mad if the virtual and static versions have the same name. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::removeProperty): 2011-10-12 Ryosuke Niwa <rniwa@webkit.org> Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent https://bugs.webkit.org/show_bug.cgi?id=69964 Reviewed by Enrica Casucci. * WebView/WebFrame.mm: (-[WebFrame _convertToNSRange:]): (-[WebFrame _convertToDOMRange:]): 2011-10-13 Mark Hahnenberg <mhahnenberg@apple.com> Rename virtual getConstructData to getConstructDataVirtual https://bugs.webkit.org/show_bug.cgi?id=69872 Reviewed by Geoffrey Garen. Renamed virtual getConstructData functions to getConstructDataVirtual to avoid conflicts when we add static getConstructData to the MethodTable. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::construct): 2011-10-13 Beth Dakin <bdakin@apple.com> https://bugs.webkit.org/show_bug.cgi?id=70050 DRT and WRT should have HiDPI testing capabilities Reviewed by Darin Adler. New method _backingScaleFactor matches SPI of a similar name that I added recently to WKPage in WebKit2. Equivalent functionality is needed for DumpRenderTree's HiDPI support. * WebView/WebView.mm: (-[WebView _backingScaleFactor]): * WebView/WebViewPrivate.h: 2011-10-12 Chris Marrin <cmarrin@apple.com> Sync requestAnimationFrame callback to CVDisplayLink on Mac https://bugs.webkit.org/show_bug.cgi?id=68911 Reviewed by Simon Fraser. Add windowDidChangeScreen function which listens for the window changing screens and passes the new displayID along to WebCore::Page. It also sends one on windowWillOrderOnScreen, so the Page has a fresh displayID after it's created. * WebView/WebView.mm: (-[WebView addWindowObserversForWindow:]): (-[WebView removeWindowObservers]): (-[WebView _windowDidChangeScreen:]): (-[WebView _windowWillOrderOnScreen:]): 2011-10-12 Adam Barth <abarth@webkit.org> Remove ENABLE(XHTMLMP) and associated code https://bugs.webkit.org/show_bug.cgi?id=69729 Reviewed by David Levin. * Configurations/FeatureDefines.xcconfig: 2011-10-10 Nate Chapin <japhet@chromium.org> Use a CachedImageClient instead of CachedResourceClient in WebHTMLView. https://bugs.webkit.org/show_bug.cgi?id=69790 Reviewed by Adam Barth. * WebView/WebHTMLView.mm: (promisedDataClient): 2011-10-10 Mark Hahnenberg <mhahnenberg@apple.com> Remove getCallDataVirtual methods https://bugs.webkit.org/show_bug.cgi?id=69186 Reviewed by Geoffrey Garen. Removed all getCallDataVirtual methods and replaced their call sites with an explicit lookup in the MethodTable. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invokeDefault): 2011-10-10 Joseph Pecoraro <joepeck@webkit.org> Extract WebOpenPanelResultListener out into its own file https://bugs.webkit.org/show_bug.cgi?id=69575 Reviewed by David Kilzer. Extract the WebOpenPanelResultListener class out into its own file. No functional change. * WebCoreSupport/WebChromeClient.mm: * WebCoreSupport/WebOpenPanelResultListener.h: Added. * WebCoreSupport/WebOpenPanelResultListener.mm: Added. (-[WebOpenPanelResultListener dealloc]): (-[WebOpenPanelResultListener finalize]): (-[WebOpenPanelResultListener cancel]): (-[WebOpenPanelResultListener chooseFilename:]): (-[WebOpenPanelResultListener chooseFilenames:]): * WebView/WebUIDelegate.h: 2011-10-08 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r96996. http://trac.webkit.org/changeset/96996 https://bugs.webkit.org/show_bug.cgi?id=69697 It broke all tests on the Qt bot (Requested by Ossy_night on #webkit). * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invokeDefault): 2011-10-07 Mark Hahnenberg <mhahnenberg@apple.com> Remove getCallDataVirtual methods https://bugs.webkit.org/show_bug.cgi?id=69186 Reviewed by Geoffrey Garen. Removed all getCallDataVirtual methods and replaced their call sites with an explicit lookup in the MethodTable. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invokeDefault): 2011-10-06 Anders Carlsson <andersca@apple.com> When building with clang, enable -Wglobal-constructors and -Wexit-time-destructors https://bugs.webkit.org/show_bug.cgi?id=69586 Reviewed by Darin Adler. * Configurations/Base.xcconfig: Add -Wglobal-constructors and -Wexit-time-destructors when building with clang. 2011-10-06 Anders Carlsson <andersca@apple.com> Add DEFINE_DEBUG_ONLY_GLOBAL for globals that should be defined in debug builds https://bugs.webkit.org/show_bug.cgi?id=69584 Reviewed by Darin Adler. Adopt the DEFINE_DEBUG_ONLY_GLOBAL macro. * Plugins/Hosted/HostedNetscapePluginStream.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: 2011-10-03 Andy Estes <aestes@apple.com> Add an option to suppress rendering until the document's load event fires. https://bugs.webkit.org/show_bug.cgi?id=69298 Reviewed by Simon Fraser. Add a new private WebPreference. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setSuppressRenderingWhileInitiallyLoading:]): (-[WebPreferences suppressRenderingWhileInitiallyLoading]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2011-10-05 Jer Noble <jer.noble@apple.com> Enable WEB_AUDIO by default in the WebKit/mac port. https://bugs.webkit.org/show_bug.cgi?id=68587 Reviewed by Simon Fraser. * Configurations/FeatureDefines.xcconfig: 2011-10-05 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/69386> REGRESSION: Curious Location of StorageTracker.db Reviewed by Alexey Proskuryakov. * Storage/WebStorageManager.mm: (+[WebStorageManager _storageDirectoryPath]): Restore call to -[NSString stringByStandardizingPath]. Also fix over-release of sLocalStoragePath if the initial -objectForKey: call returned an NSString object. Use pthread_once to be thread-safe. 2011-10-04 Kent Tamura <tkent@chromium.org> Introduce feature flags for incomplete input types https://bugs.webkit.org/show_bug.cgi?id=68971 Reviewed by Hajime Morita. * Configurations/FeatureDefines.xcconfig: Add ENABLE_INPUT_TYPE_* flags. They are enabled only for iOS. 2011-10-03 Geoffrey Garen <ggaren@apple.com> Some JSValue cleanup https://bugs.webkit.org/show_bug.cgi?id=69320 Reviewed by Darin Adler. * WebView/WebView.mm: (aeDescFromJSValue): Updated for JSC changes. 2011-10-04 Scott Graham <scottmg@chromium.org> Add GAMEPAD feature flag https://bugs.webkit.org/show_bug.cgi?id=66859 Reviewed by Darin Fisher. * Configurations/FeatureDefines.xcconfig: 2011-10-03 Jer Noble <jer.noble@apple.com> Unreviewed, rolling out r96526. http://trac.webkit.org/changeset/96526 https://bugs.webkit.org/show_bug.cgi?id=68587 WEB_AUDIO has numerous 64->32 bit casting warnings, causing build breakages where -Wall is enabled. * Configurations/FeatureDefines.xcconfig: 2011-10-03 Jer Noble <jer.noble@apple.com> Enable WEB_AUDIO by default in the WebKit/mac port. https://bugs.webkit.org/show_bug.cgi?id=68587 Reviewed by Simon Fraser. * Configurations/FeatureDefines.xcconfig: 2011-10-02 Sam Weinig <sam@webkit.org> Strength reduce Mac only Frame::searchForLabelsBeforeElement and Frame::matchLabelsAgainstElement into callers https://bugs.webkit.org/show_bug.cgi?id=69230 Reviewed by Anders Carlsson. * WebView/WebHTMLRepresentation.mm: (regExpForLabels): (searchForLabelsBeforeElement): (matchLabelsAgainstString): (matchLabelsAgainstElement): (-[WebHTMLRepresentation searchForLabels:beforeElement:resultDistance:resultIsInCellAbove:]): (-[WebHTMLRepresentation matchLabels:againstElement:]): 2011-10-02 Alexey Proskuryakov <ap@apple.com> REGRESSION (r95474): Unable to type anywhere in nightly builds in WebKit1 mode https://bugs.webkit.org/show_bug.cgi?id=68542 Reviewed by Mark Rowe. * WebView/WebView.mm: (-[WebView _usesDocumentViews]): Re-add this method for now. 2011-10-01 Geoffrey Garen <ggaren@apple.com> Leopard build fix: Updated for Strong<T> changes. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: * WebView/WebScriptDebugger.mm: 2011-09-28 Joseph Pecoraro <joepeck@webkit.org> ASSERT if WebView's UIDelegate does not implement webView:runOpenPanel https://bugs.webkit.org/show_bug.cgi?id=69037 Reviewed by Alexey Proskuryakov. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::runOpenPanel): If no delegate is implemented, dismiss the listener with a cancel. It expects some action. 2011-09-28 Anton D'Auria <adauria@apple.com> Expose +[WebStorageManager _storageDirectoryPath] as SPI https://bugs.webkit.org/show_bug.cgi?id=68951 Reviewed by Brady Eidson. This patch exposes +[WebStorageManager _storageDirectoryPath], which pulls the path from NSUserDefaults if the preference is set. Otherwise, it falls back on the default path. * Storage/WebStorageManager.mm: (+[WebStorageManager _storageDirectoryPath]): Adding static variable so that we don't reread user defaults repeatedly. (WebKitInitializeStorageIfNecessary): * Storage/WebStorageManagerPrivate.h: 2011-09-27 Andy Estes <aestes@apple.com> WebKitLinkedOnOrAfter() check is ineffective for Solar Walk app-specific hack. https://bugs.webkit.org/show_bug.cgi?id=68863 Reviewed by Darin Adler. The SolarWalk binary does not link against WebKit.framework directly, so calling NSVersionOfLinkTimeLibrary() will not return the version of WebKit against which SolarWalk was linked. Since Solar Walk has released an update that addresses the issue for which this app-specific hack was originally added, we should just remove the hack. * Misc/SolarWalkQuirksUserScript.js: Removed. * WebView/WebView.mm: Removed needsSolarWalkQuirksScript(), leakSolarWalkQuirksUserScriptContents(), and -[WebView _injectSolarWalkQuirksScript]. (-[WebView _commonInitializationWithFrameName:groupName:]): Do not inject the Solar Walk quirks script. 2011-09-27 Mark Hahnenberg <mhahnenberg@apple.com> Add static version of JSCell::getCallData https://bugs.webkit.org/show_bug.cgi?id=68741 Reviewed by Darin Adler. In this patch we just extract the bodies of the virtual getCallData methods throughout the JSCell inheritance hierarchy out into static methods, which are now called from the virtual methods. This is an intermediate step in trying to move the virtual-ness of getCallData into our own method table stored in ClassInfo. We need to convert the methods to static methods because static methods can be represented as function pointers rather than pointers to member functions, and function pointers are smaller and faster to call than pointers to member functions. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invokeDefault): 2011-09-23 Simon Fraser <simon.fraser@apple.com> Repaint tests don't work in WebKit2 https://bugs.webkit.org/show_bug.cgi?id=68453 Reviewed by Sam Weinig. Have FrameView keep track of repaint rects when asked to, and expose this set of repaint rects via private WebKit API for later use by DumpRenderTree. * WebView/WebView.mm: (-[WebView setTracksRepaints:]): (-[WebView isTrackingRepaints]): (-[WebView resetTrackedRepaints]): (-[WebView trackedRepaintRects]): * WebView/WebViewPrivate.h: 2011-09-25 Mark Hahnenberg <mhahnenberg@apple.com> Add custom vtable struct to ClassInfo struct https://bugs.webkit.org/show_bug.cgi?id=68567 Reviewed by Oliver Hunt. Added CREATE_METHOD_TABLE macro to generate the custom vtable for the specified class in its ClassInfo. Also added to it the first function to use this macro, visitChildren. This is part of the process of getting rid of all C++ virtual methods in JSCell. Eventually all virtual functions in JSCell that can't easily be converted to non-virtual functions will be put into this custom vtable structure. * Plugins/Hosted/ProxyInstance.mm: * Plugins/Hosted/ProxyRuntimeObject.mm: 2011-09-24 Adam Barth <abarth@webkit.org> Always enable ENABLE(OFFLINE_WEB_APPLICATIONS) https://bugs.webkit.org/show_bug.cgi?id=68767 Reviewed by Eric Seidel. * Configurations/FeatureDefines.xcconfig: * Misc/WebCache.mm: (+[WebCache empty]): * WebCoreSupport/WebApplicationCache.mm: * WebCoreSupport/WebApplicationCacheQuotaManager.mm: (-[WebApplicationCacheQuotaManager usage]): (-[WebApplicationCacheQuotaManager quota]): (-[WebApplicationCacheQuotaManager setQuota:]): * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: * WebView/WebDataSource.mm: (-[WebDataSource _transferApplicationCache:]): * WebView/WebFrame.mm: (-[WebFrame _cacheabilityDictionary]): * WebView/WebView.mm: (WebKitInitializeApplicationCachePathIfNecessary): 2011-09-23 Adam Klein <adamk@chromium.org> Add ENABLE_MUTATION_OBSERVERS feature flag https://bugs.webkit.org/show_bug.cgi?id=68732 Reviewed by Ojan Vafai. This flag will guard an implementation of the "Mutation Observers" proposed in http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html * Configurations/FeatureDefines.xcconfig: 2011-09-23 Anders Carlsson <andersca@apple.com> Axe WebImageRendererFactory https://bugs.webkit.org/show_bug.cgi?id=68715 Reviewed by Darin Adler. Remove WebImageRendererFactory, it was used by Safari 3, many a moon ago. * WebCoreSupport/WebImageRendererFactory.m: Removed. 2011-09-23 Anders Carlsson <andersca@apple.com> Add OVERRIDE to a bunch of virtual member functions on clients https://bugs.webkit.org/show_bug.cgi?id=68712 Reviewed by Sam Weinig. * Configurations/Base.xcconfig: * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebContextMenuClient.h: * WebCoreSupport/WebDeviceOrientationClient.h: * WebCoreSupport/WebDragClient.h: * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameNetworkingContext.h: * WebCoreSupport/WebGeolocationClient.h: * WebCoreSupport/WebIconDatabaseClient.h: * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebPlatformStrategies.h: 2011-09-22 Dean Jackson <dino@apple.com> Add ENABLE_CSS_FILTERS https://bugs.webkit.org/show_bug.cgi?id=68652 Reviewed by Simon Fraser. * Configurations/FeatureDefines.xcconfig: 2011-09-22 Anders Carlsson <andersca@apple.com> Get rid of Widget::setBoundsSize https://bugs.webkit.org/show_bug.cgi?id=68491 Reviewed by Sam Weinig. This basically reverts http://trac.webkit.org/changeset/79167 and http://trac.webkit.org/changeset/75897 which were added to make zoom gestures work with WebKit1, but since we don't support zoom gestures in WebKit1 anymore, it's better for code cleanliness to get rid of Widget::setBoundsSize and the associated code. While this will unfortunately break transformed iframes in WebKit1, but Simon says that it's an acceptable tradeoff. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView updateAndSetWindow]): * WebView/WebFrameView.mm: 2011-09-19 Jer Noble <jer.noble@apple.com> Add settings to control the availability of the Web Audio API to WebKit and WebKit2. https://bugs.webkit.org/show_bug.cgi?id=68382 Reviewed by Darin Adler. Initialize the webAudioEnabled preference to NO by default. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): 2011-09-21 Anders Carlsson <andersca@apple.com> Remove checks for Leopard-only Objective-C APIs https://bugs.webkit.org/show_bug.cgi?id=68579 Reviewed by Sam Weinig. We can always assume that OBJC_API_VERSION is at least 2, it's been 2 since Leopard. * Misc/WebNSObjectExtras.h: 2011-09-21 Andras Becsi <andras.becsi@nokia.com> [Qt] Remove Qt specific code from css/SelectorChecker.cpp https://bugs.webkit.org/show_bug.cgi?id=67702 Reviewed by Csaba Osztrogonác. * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::isLinkVisited): 2011-09-20 Anders Carlsson <andersca@apple.com> Remove ScrollView::platformContentsSize https://bugs.webkit.org/show_bug.cgi?id=68188 Reviewed by Darin Adler. When creating the document view, make sure it's zero sized which matches the initial size of the ScrollView. This is fine to do early since DocumentWriter::begin sets the contents size to a zero size anyway. * WebView/WebFrameView.mm: (-[WebFrameView _makeDocumentViewForDataSource:]): 2011-09-19 Pavel Feldman <pfeldman@google.com> Web Inspector: streamline Console's MessageType and MessageSource semantics. https://bugs.webkit.org/show_bug.cgi?id=68342 This change fixes semantics of the MessageSource and MessageType: MessageSource is now the source of the message (be it Network, HTML parser or Console API). MessageType is only defined for the Console API messages and contains the name of the API call (log, dir, dirxml, etc.). Subsequent https://bugs.webkit.org/show_bug.cgi?id=66371 will make MessageType private to the inspector. Reviewed by Tony Gentilcore. * WebCoreSupport/WebChromeClient.mm: (stringForMessageSource): (stringForMessageType): * WebView/WebUIDelegatePrivate.h: 2011-09-19 Timothy Hatcher <timothy@apple.com> Make WebViews in NSPopovers render as they would in active windows. The NSWindowDid{Become,Resign}KeyNotifications are not fired when NSPopovers are shown or hidden since they share key with the parent window. So WebView and WebHTMLView need to also observe the will order on/off screen notifications. https://webkit.org/b/68402 rdar://problem/9754099 Reviewed by John Sullivan. * WebView/WebHTMLView.mm: (-[WebHTMLView _removeWindowObservers]): Remove order on/off screen notification obversers. (-[WebHTMLView addWindowObservers]): Add order on/off screen notification obversers. (-[WebHTMLView windowWillOrderOnScreen:]): Check if the window is already a key window, which can be the case for NSPopovers. (-[WebHTMLView windowWillOrderOffScreen:]): Remove the mouse moved observer. * WebView/WebView.mm: (-[WebView addWindowObserversForWindow:]): Add order off screen notification obverser. (-[WebView removeWindowObservers]): Remove order off screen notification obverser. (-[WebView _windowWillOrderOnScreen:]): Call _updateActiveState. (-[WebView _windowWillOrderOffScreen:]): Ditto. 2011-09-19 Mark Rowe <mrowe@apple.com> <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and a NoIdleSleep assertion as the latter is implied by the former. Adopt the DisplaySleepDisabler class that was added to WebCore and remove all of duplicated logic from WebFullScreenController. Reviewed by Dan Bernstein. * WebView/WebFullScreenController.h: * WebView/WebFullScreenController.mm: (-[WebFullScreenController dealloc]): (-[WebFullScreenController _updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any disabler that we own. 2011-09-19 Adam Barth <abarth@webkit.org> Always enable ENABLE(EVENTSOURCE) https://bugs.webkit.org/show_bug.cgi?id=68414 Reviewed by Eric Seidel. * Configurations/FeatureDefines.xcconfig: 2011-09-19 Anders Carlsson <andersca@apple.com> Fix crashes when running WebKit1 tests. -[WebView _mustDrawUnionedRect:singleRects:count:] was removed, so just put back the equivalent code directly into -[WebHTMLView drawRect:]. * WebView/WebHTMLView.mm: (-[WebHTMLView drawRect:]): * WebView/WebViewInternal.h: 2011-09-19 Anders Carlsson <andersca@apple.com> Remove the last remains of viewless WebKit1 https://bugs.webkit.org/show_bug.cgi?id=68388 Reviewed by Darin Adler. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::forceLayoutForNonHTML): Remove null check. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Remove usesDocumentViews parameter and checks. (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]): Add an assertion that usesDocumentViews is always true. (-[WebView _isUsingAcceleratedCompositing]): Remove usesDocumentViews check. (-[WebView _isSoftwareRenderable]): Remove usesDocumentViews check. (-[WebView initWithFrame:frameName:groupName:]): Remove usesDocumentViews parameter and always pass YES to the _initWithFrame method. (-[WebView initWithCoder:]): Remove usesDocumentViews parameter. (-[WebView _frameViewAtWindowPoint:]): Remove usesDocumentViews check. * WebView/WebViewData.h: Remove usesDocumentViews ivar. * WebView/WebViewPrivate.h: Remove usesDocumentViews parameters. 2011-09-19 Anders Carlsson <andersca@apple.com> Remove WebViewEventHandling.mm https://bugs.webkit.org/show_bug.cgi?id=68387 Reviewed by Adam Roben. WebViewEventHandling.mm was all about event handling in viewless WebKit, so rip it out since we're getting rid of viewless WebKit1. * WebView/WebView.mm: (-[WebView _close]): * WebView/WebViewData.h: * WebView/WebViewEventHandling.mm: Removed. * WebView/WebViewInternal.h: 2011-09-19 Anders Carlsson <andersca@apple.com> Remove -[WebView _selectionChanged] and -[WebView _setTooltip:] https://bugs.webkit.org/show_bug.cgi?id=68385 Reviewed by Adam Roben. Move these functions back into the respective clients and remove usesDocumentViews checks. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::setToolTip): * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection): * WebView/WebView.mm: * WebView/WebViewEventHandling.mm: * WebView/WebViewInternal.h: 2011-09-19 Anders Carlsson <andersca@apple.com> Begin removing -[WebView _usesDocumentCalls] from WebView.mm https://bugs.webkit.org/show_bug.cgi?id=68383 Reviewed by Adam Roben. Remove checks and begin assuming that -[WebView _usesDocumentViews] always returns true, since viewless WebKit1 has been abandoned. * WebView/WebView.mm: (-[WebView selectedFrame]): (-[WebView setHostWindow:]): (-[WebView acceptsFirstResponder]): (-[WebView becomeFirstResponder]): (-[WebView _webcore_effectiveFirstResponder]): (-[WebView setNextKeyView:]): (-[WebView setHoverFeedbackSuspended:]): 2011-09-19 Anders Carlsson <andersca@apple.com> Remove calls to -[WebView _usesDocumentViews] from WebFrameLoaderClient.mm https://bugs.webkit.org/show_bug.cgi?id=68379 Reviewed by Adam Roben. Remove checks and begin assuming that -[WebView _usesDocumentViews] always returns true, since viewless WebKit1 has been abandoned. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::hasHTMLView): (WebFrameLoaderClient::dispatchDidCommitLoad): (WebFrameLoaderClient::transitionToCommittedForNewPage): (WebFrameLoaderClient::createFrame): * WebView/WebFrame.mm: (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): (-[WebFrame _hasSelection]): (-[WebFrame _clearSelection]): (-[WebFrame _shouldFlattenCompositingLayers:]): (-[WebFrame _dragSourceEndedAt:operation:]): (-[WebFrame frameView]): 2011-09-19 Anders Carlsson <andersca@apple.com> Remove calls to -[WebView _usesDocumentViews] https://bugs.webkit.org/show_bug.cgi?id=68377 Reviewed by Adam Roben. Remove checks and begin assuming that -[WebView _usesDocumentViews] always returns true, since viewless WebKit1 has been abandoned. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::windowResizerRect): (WebChromeClient::invalidateContentsAndWindow): (WebChromeClient::screenToWindow): (WebChromeClient::windowToScreen): (WebChromeClient::platformPageClient): (WebChromeClient::scrollRectIntoView): (WebChromeClient::print): * WebView/WebDataSource.mm: (-[WebDataSource _receivedData:]): 2011-09-19 Dan Bernstein <mitz@apple.com> WebKit part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes https://bugs.webkit.org/show_bug.cgi?id=68323 Reviewed by Sam Weinig. Renamed NonBlockingPanel to WebNonBlockingPanel. Renamed ThreadEnabler to WebCocoaThreadingEnabler. Renamed PDFPrefUpdatingProxy to WebPDFPrefUpdatingProxy. * Misc/WebIconDatabase.mm: (+[WebCocoaThreadingEnabler enableThreading]): (importToWebCoreFormat): * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: * Panels/WebAuthenticationPanel.h: * Panels/WebAuthenticationPanel.m: Renamed NonBlockingPanel to WebNonBlockingPanel. Because Safari 5.1 uses NonBlockingPanel, this will cause nightly builds to log an error message when showing the Safari HTTP authentication sheet and disable the Quit command while the sheet is disaplyed. * WebView/WebPDFView.mm: (-[WebPDFView initWithFrame:]): (-[WebPDFView _updatePreferencesSoon]): 2011-09-17 Mihai Parparita <mihaip@chromium.org> FrameLoaderClient BackForwardList-related methods are unsued https://bugs.webkit.org/show_bug.cgi?id=68293 Reviewed by Darin Adler. Remove FrameLoaderClient methods that were added by r51629, since only the old (since-deleted) Android port needed them. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: * WebKit.order: 2011-09-16 Simon Fraser <simon.fraser@apple.com> Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms https://bugs.webkit.org/show_bug.cgi?id=68134 Reviewed by Sam Weinig. Hook up a private preference that enables the mock scrollbar theme. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (-[WebPreferences mockScrollbarsEnabled]): (-[WebPreferences setMockScrollbarsEnabled:]): * WebView/WebPreferencesPrivate.h: 2011-09-15 Adam Barth <abarth@webkit.org> Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE) https://bugs.webkit.org/show_bug.cgi?id=68205 Reviewed by Eric Seidel. * Storage/WebDatabaseManager.mm: * Storage/WebDatabaseManagerInternal.h: * Storage/WebDatabaseManagerPrivate.h: * Storage/WebDatabaseQuotaManager.mm: (-[WebDatabaseQuotaManager usage]): (-[WebDatabaseQuotaManager quota]): (-[WebDatabaseQuotaManager setQuota:]): * Storage/WebDatabaseTrackerClient.h: * Storage/WebDatabaseTrackerClient.mm: * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: * WebCoreSupport/WebSecurityOrigin.mm: (-[WebSecurityOrigin usage]): (-[WebSecurityOrigin quota]): (-[WebSecurityOrigin setQuota:]): * WebView/WebFrame.mm: (-[WebFrame _cacheabilityDictionary]): * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView _preferencesChanged:]): 2011-09-15 Mark Hahnenberg <mhahnenberg@apple.com> Unzip initialization lists and constructors in JSCell hierarchy (7/7) https://bugs.webkit.org/show_bug.cgi?id=68122 Reviewed by Geoffrey Garen. Completed the seventh and final level of the refactoring to add finishCreation() methods to all classes within the JSCell hierarchy with non-trivial constructor bodies. * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod): * Plugins/Hosted/ProxyRuntimeObject.h: (WebKit::ProxyRuntimeObject::create): * Plugins/Hosted/ProxyRuntimeObject.mm: (WebKit::ProxyRuntimeObject::ProxyRuntimeObject): 2011-09-15 Kentaro Hara <haraken@google.com> A single line must not be split into two pages. https://bugs.webkit.org/show_bug.cgi?id=65005 Reviewed by David Hyatt. When the document width of a page is overflowed, the last line of the page can be split into the next page. This is the regression caused by r88737. r88737 tried to fix rounding errors in rendering calculations by expanding and shrinking a page using one common method, resizePageRectsKeepingRatio(), but overlooked the case where a document width gets overflowed. Test: printing/single-line-must-not-be-split-into-two-pages.html * WebView/WebHTMLView.mm: (-[WebHTMLView _web_setPrintingModeRecursive]): Passes an original page size to setPrinting(). (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto. (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto. (-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]): Ditto. (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]): Ditto. (-[WebHTMLView _endPrintMode]): Ditto. (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]): Ditto. (-[WebHTMLView _endScreenPaginationMode]): Ditto. (-[WebHTMLView layoutToMinimumPageWidth:height:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustingViewSize:]): Ditto. (-[WebHTMLView layout]): Ditto. (-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustViewSize:paginateScreenContent:]): Ditto. (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto. (-[WebHTMLView setPageWidthForPrinting:]): Ditto. 2011-09-15 Eric Seidel <eric@webkit.org> Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default https://bugs.webkit.org/show_bug.cgi?id=68182 Reviewed by Adam Barth. * Configurations/FeatureDefines.xcconfig: 2011-09-15 Eric Seidel <eric@webkit.org> Remove ENABLE_SVG_ANIMATION as all major ports have it on by default https://bugs.webkit.org/show_bug.cgi?id=68022 Reviewed by Ryosuke Niwa. * Configurations/FeatureDefines.xcconfig: 2011-09-14 Anders Carlsson <andersca@apple.com> Get rid of WebCoreViewFactory and its WebViewFactory subclass https://bugs.webkit.org/show_bug.cgi?id=68124 Reviewed by Sam Weinig. * WebCoreSupport/WebContextMenuClient.mm: * WebCoreSupport/WebViewFactory.h: Removed. * WebCoreSupport/WebViewFactory.mm: Removed. * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): 2011-09-14 Mark Hahnenberg <mhahnenberg@apple.com> Unzip initialization lists and constructors in JSCell hierarchy (6/7) https://bugs.webkit.org/show_bug.cgi?id=67692 Reviewed by Geoffrey Garen. Completed the sixth level of the refactoring to add finishCreation() methods to all classes within the JSCell hierarchy with non-trivial constructor bodies. This primarily consists of pushing the calls to finishCreation() down into the constructors of the subclasses of the fifth level of the hierarchy as well as pulling the finishCreation() calls out into the class's corresponding create() method if it has one. Doing both simultaneously allows us to maintain the invariant that the finishCreation() method chain is called exactly once during the creation of an object, since calling it any other number of times (0, 2, or more) will cause an assertion failure. * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod): (WebKit::ProxyRuntimeMethod::finishCreation): 2011-09-13 Eric Seidel <eric@webkit.org> Remove ENABLE_SVG_USE as <use> is required by HTML5 https://bugs.webkit.org/show_bug.cgi?id=68019 Reviewed by Ryosuke Niwa. * Configurations/FeatureDefines.xcconfig: 2011-09-13 Anders Carlsson <andersca@apple.com> Disable C++ exceptions when building with clang https://bugs.webkit.org/show_bug.cgi?id=68031 <rdar://problem/9556880> Reviewed by Mark Rowe. * Configurations/Base.xcconfig: 2011-09-13 Eric Seidel <eric@webkit.org> Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5 https://bugs.webkit.org/show_bug.cgi?id=68018 Reviewed by Ryosuke Niwa. * Configurations/FeatureDefines.xcconfig: 2011-09-09 Oliver Hunt <oliver@apple.com> Remove support for anonymous storage from jsobjects https://bugs.webkit.org/show_bug.cgi?id=67881 Reviewed by Sam Weinig. Remove the use of AnonymousSlotCount * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyRuntimeMethod::createStructure): * Plugins/Hosted/ProxyRuntimeObject.h: (WebKit::ProxyRuntimeObject::createStructure): 2011-09-09 Chris Marrin <cmarrin@apple.com> requestAnimationFrame doesn't throttle on Mac https://bugs.webkit.org/show_bug.cgi?id=67171 Reviewed by Simon Fraser. Removed runLoopObserver for requestAnimationFrame. It's now done by a Timer in ScriptedAnimationController in WebCore. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: * WebView/WebView.mm: (-[WebView _close]): * WebView/WebViewData.h: * WebView/WebViewInternal.h: 2011-09-09 Fady Samuel <fsamuel@chromium.org> Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp} https://bugs.webkit.org/show_bug.cgi?id=67250 Reviewed by Simon Fraser. * WebView/WebView.mm: (-[WebView _scaleWebView:atOrigin:]): (-[WebView _viewScaleFactor]): 2011-09-09 Mark Hahnenberg <mhahnenberg@apple.com> Unzip initialization lists and constructors in JSCell hierarchy (5/7) https://bugs.webkit.org/show_bug.cgi?id=67420 Reviewed by Geoffrey Garen. Completed the fifth level of the refactoring to add finishCreation() methods to all classes within the JSCell hierarchy with non-trivial constructor bodies. This primarily consists of pushing the calls to finishCreation() down into the constructors of the subclasses of the second level of the hierarchy as well as pulling the finishCreation() calls out into the class's corresponding create() method if it has one. Doing both simultaneously allows us to maintain the invariant that the finishCreation() method chain is called exactly once during the creation of an object, since calling it any other number of times (0, 2, or more) will cause an assertion failure. * Plugins/Hosted/ProxyRuntimeObject.h: * Plugins/Hosted/ProxyRuntimeObject.mm: (WebKit::ProxyRuntimeObject::ProxyRuntimeObject): (WebKit::ProxyRuntimeObject::finishCreation): 2011-09-08 Sam Weinig <sam@webkit.org> Remove the Completion object from JSC, I have never liked it https://bugs.webkit.org/show_bug.cgi?id=67755 Reviewed by Gavin Barraclough. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): 2011-09-07 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r94627 and r94632. http://trac.webkit.org/changeset/94627 http://trac.webkit.org/changeset/94632 https://bugs.webkit.org/show_bug.cgi?id=67698 It broke tests on GTK and Qt (Requested by Ossy on #webkit). * Plugins/Hosted/ProxyRuntimeObject.h: * Plugins/Hosted/ProxyRuntimeObject.mm: (WebKit::ProxyRuntimeObject::ProxyRuntimeObject): 2011-09-06 Mark Hahnenberg <mhahnenberg@apple.com> Unzip initialization lists and constructors in JSCell hierarchy (5/7) https://bugs.webkit.org/show_bug.cgi?id=67420 Reviewed by Geoffrey Garen. Completed the fifth level of the refactoring to add finishCreation() methods to all classes within the JSCell hierarchy with non-trivial constructor bodies. This primarily consists of pushing the calls to finishCreation() down into the constructors of the subclasses of the second level of the hierarchy as well as pulling the finishCreation() calls out into the class's corresponding create() method if it has one. Doing both simultaneously allows us to maintain the invariant that the finishCreation() method chain is called exactly once during the creation of an object, since calling it any other number of times (0, 2, or more) will cause an assertion failure. * Plugins/Hosted/ProxyRuntimeObject.h: * Plugins/Hosted/ProxyRuntimeObject.mm: (WebKit::ProxyRuntimeObject::ProxyRuntimeObject): (WebKit::ProxyRuntimeObject::finishCreation): 2011-09-06 Ryosuke Niwa <rniwa@webkit.org> Rename confirmCompositionWithoutDisturbingSelection to cancelComposition https://bugs.webkit.org/show_bug.cgi?id=67569 Reviewed by Antonio Gomes. * WebView/WebHTMLView.mm: (-[WebHTMLView _updateSelectionForInputManager]): 2011-09-05 Oliver Hunt <oliver@apple.com> An object's structure should reference the global object responsible for its creation https://bugs.webkit.org/show_bug.cgi?id=67624 Reviewed by Gavin Barraclough. Update for new Structure::create() globalObject parameter. * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyRuntimeMethod::createStructure): * Plugins/Hosted/ProxyRuntimeObject.h: (WebKit::ProxyRuntimeObject::createStructure): 2011-09-01 Mark Rowe <mrowe@apple.com> Fix the build by adding some more missing return types. * WebView/WebDashboardRegion.h: * WebView/WebDashboardRegion.mm: (-[WebDashboardRegion initWithRect:clip:type:]): 2011-09-01 Tim Horton <timothy_horton@apple.com> REGRESSION: Rendering artifacts on a rotated, pattern filled shape https://bugs.webkit.org/show_bug.cgi?id=53055 <rdar://problem/8910917> Reviewed by Simon Fraser. Introduce wkCGPatternCreateWithImageAndTransform. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-08-31 Beth Dakin <bdakin@apple.com> https://bugs.webkit.org/show_bug.cgi?id=67322 Re-name overrideBackingScaleFactor Reviewed by John Sullivan. _setOverrideBackingScaleFactor is now _setCustomBackingScaleFactor * WebView/WebView.mm: (-[WebView _setCustomBackingScaleFactor:]): (-[WebView _deviceScaleFactor]): * WebView/WebViewData.h: * WebView/WebViewPrivate.h: 2011-08-30 Dan Bernstein <mitz@apple.com> <rdar://problem/9281695> Add text search API for getting the DOM range of a text match https://bugs.webkit.org/show_bug.cgi?id=67230 Reviewed by Darin Adler. * WebView/WebHTMLView.mm: * WebView/WebView.mm: (coreOptions): Moved this function from WebHTMLView.mm to here and made it accessible from both this file and WebHTMLView.mm. (-[WebView DOMRangeOfString:relativeTo:options:]): Added this new API. * WebView/WebViewInternal.h: * WebView/WebViewPrivate.h: 2011-08-30 Beth Dakin <bdakin@apple.com> https://bugs.webkit.org/show_bug.cgi?id=67150 Would like API to use a custom device scale factor for a particular WebView/WKView -and corresponding- <rdar://problem/10041016> Reviewed by Darin Adler. New API is _setOverrideBackingScaleFactor:(CGFloat) * WebView/WebView.mm: (-[WebView _setOverrideBackingScaleFactor:]): (-[WebView _deviceScaleFactor]): * WebView/WebViewData.h: * WebView/WebViewPrivate.h: 2011-08-30 Aaron Colwell <acolwell@chromium.org> Add MediaSource API to HTMLMediaElement https://bugs.webkit.org/show_bug.cgi?id=64731 Reviewed by Eric Carlson. * Configurations/FeatureDefines.xcconfig: 2011-08-29 Alexey Proskuryakov <ap@apple.com> DumpRenderTree should begin each test with an empty cookie store https://bugs.webkit.org/show_bug.cgi?id=63545 <rdar://problem/5666907> Reviewed by Darin Adler. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (+[WebPreferences _switchNetworkLoaderToNewTestingSession]): (+[WebPreferences _setCurrentNetworkLoaderSessionCookieAcceptPolicy:]): * WebView/WebPreferencesPrivate.h: Exposed an SPI to use a private default session. It's separate from private browsing, because some tests enable the latter, and we don't want to mix them up. Also exposed an SPI to set cookie accept policy regardless of what session we are currently using. * WebView/WebView.mm: (-[WebView _cachedResponseForURL:]): Updated to use currentStorageSession() instead of privateBrowsingStorageSession(). 2011-08-30 Kaustubh Atrawalkar <kaustubh@motorola.com> The unused ScrollView* argument can and should be removed from scrollRectIntoView. https://bugs.webkit.org/show_bug.cgi?id=67117 Reviewed by Darin Adler. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::scrollRectIntoView): 2011-08-29 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r93987, r93992, r93995, r93998, and r93999. http://trac.webkit.org/changeset/93987 http://trac.webkit.org/changeset/93992 http://trac.webkit.org/changeset/93995 http://trac.webkit.org/changeset/93998 http://trac.webkit.org/changeset/93999 https://bugs.webkit.org/show_bug.cgi?id=67147 Many failing tests (Requested by ap on #webkit). * WebView/WebPreferences.mm: (+[WebPreferences initialize]): * WebView/WebPreferencesPrivate.h: 2011-08-26 Alexey Proskuryakov <ap@apple.com> DumpRenderTree should begin each test with an empty cookie store https://bugs.webkit.org/show_bug.cgi?id=63545 <rdar://problem/5666907> Reviewed by Darin Adler. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (+[WebPreferences _usePrivateSessionForNetworkLoading]): * WebView/WebPreferencesPrivate.h: Exposed an SPI to use a private default session. It's separate from private browsing, because some tests enable the latter, and we don't want to mix them up. 2011-08-23 Chris Marrin <cmarrin@apple.com> [mac] requestAnimationFrame support for mac port https://bugs.webkit.org/show_bug.cgi?id=59146 Reviewed by Simon Fraser. Implement requestAnimationFrame for WebKit. Add a CFRunLoopObserver to WebView, which runs just before the syncCompositingState RLO and calls into the ScriptedAnimationController if scheduleAnimation() has been called. * Configurations/FeatureDefines.xcconfig: * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::scheduleAnimation): * WebView/WebView.mm: (-[WebView _close]): (-[WebView _unscheduleAnimation]): (-[WebView _scheduleCompositingLayerSync]): (requestAnimationFrameRunLoopObserverCallback): (-[WebView _scheduleAnimation]): * WebView/WebViewData.h: * WebView/WebViewInternal.h: 2011-08-24 Alexey Proskuryakov <ap@apple.com> Plug-in tests are flaky on Mac https://bugs.webkit.org/show_bug.cgi?id=66822 Reviewed by Anders Carlsson. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript): Protect objects that can be removed by a script. * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto. (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): Ditto. Also fixed some nonsense code. 2011-08-23 Mark Hahnenberg <mhahnenberg@apple.com> Add checks to ensure allocation does not take place during initialization of GC-managed objects https://bugs.webkit.org/show_bug.cgi?id=65288 Reviewed by Darin Adler. Adding the new validation functionality. In its current state, it will performs checks, but they don't fail unless you do allocation in the arguments to the parent constructor in the initialization list of a class. The allocateCell() method turns on the global flag disallowing any new allocations, and the constructorBody() method in JSCell turns it off. This way, allocation is still allowed in constructor bodies while other refactoring efforts continue. * Plugins/Hosted/ProxyRuntimeObject.h: (WebKit::ProxyRuntimeObject::create): * Plugins/Hosted/ProxyRuntimeObject.mm: (WebKit::ProxyRuntimeObject::ProxyRuntimeObject): 2011-08-18 Beth Dakin <bdakin@apple.com> Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=66495 Lion-specific scroller SPIs can use forward declaration instead of WebKitSystemInterface * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-08-18 Anders Carlsson <andersca@apple.com> More C++0x libc++ build fixes https://bugs.webkit.org/show_bug.cgi?id=66476 Reviewed by Adam Roben. * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCSetException): Use a WTF String here instead of an STL string. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject): std::make_pair now takes rvalue references, so get rid of the template arguments and let the compiler deduce them instead. 2011-08-18 Adam Roben <aroben@apple.com> Update the device scale factor when the WebView's window changes Fixes <http://webkit.org/b/66412> <rdar://problem/9971958> WebKit doesn't react when a WebView is moved between windows with different backing scale factors Reviewed by Anders Carlsson. * WebView/WebView.mm: (-[WebView viewDidMoveToWindow]): Call setDeviceScaleFactor because our new window (or no window at all) might have a different backing scale factor than the previous one. (-[WebView _deviceScaleFactor]): Moved to the WebFileInternal category. 2011-08-17 Adam Roben <aroben@apple.com> Make WebCore keep track of the current device scale factor Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the device scale factor Reviewed by Darin Adler. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: Moved code to calculate the device scale factor from here... * WebView/WebView.mm: (-[WebView _deviceScaleFactor]): ...to here. (-[WebView _windowDidChangeResolution:]): Now calls Page::setDeviceScaleFactor. 2011-08-17 Dan Bernstein <mitz@apple.com> Removed some code that is not needed when building for Leopard or later. Reviewed by Anders Carlsson. * WebCoreSupport/WebContextMenuClient.mm: (fixMenusToSendToOldClients): Removed check for Tiger Mail. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::objectContentType): * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView _preferencesChanged:]): 2011-08-17 Dan Bernstein <mitz@apple.com> Eliminate the WebCGFloat compatibility definition that was needed for Tiger. Rubber-stamped by Anders Carlsson. * WebView/WebHTMLViewPrivate.h: 2011-08-17 Dan Bernstein <mitz@apple.com> Eliminate the WebNSInteger and WebNSUInteger compatibility definitions that were needed for Tiger. Reviewed by Darin Adler. * History/WebBackForwardList.h: * WebView/WebDocumentInternal.h: * WebView/WebHTMLRepresentation.h: * WebView/WebPreferences.h: * WebView/WebResourceLoadDelegate.h: * WebView/WebResourceLoadDelegatePrivate.h: * WebView/WebScriptDebugDelegate.h: * WebView/WebTextIterator.h: * WebView/WebUIDelegate.h: * WebView/WebView.h: * WebView/WebViewPrivate.h: 2011-08-15 Dmitry Titov <dimich@chromium.org> FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters https://bugs.webkit.org/show_bug.cgi?id=66165 Reviewed by Darin Fisher. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::transferLoadingResourceFromPage): 2011-08-15 Mark Hahnenberg <mhahnenberg@apple.com> Refactor JS objects to allocate in static create methods rather than constructors https://bugs.webkit.org/show_bug.cgi?id=65347 Reviewed by Geoffrey Garen. Removed all calls to deprecatedGetDOMObject from initialization lists as part of a larger refactoring to get rid of all allocation during initialization. * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod): 2011-08-15 Adam Roben <aroben@apple.com> Update pages' style and content scale when the window's backing scale factor changes Unfortunately, I couldn't think of a way to test this in an automated fashion. Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device scale factor changes Reviewed by Simon Fraser. * WebView/WebView.mm: (-[WebView addWindowObserversForWindow:]): (-[WebView removeWindowObservers]): Listen for the notification that tells us the window's backing scale has changed. (-[WebView _windowDidChangeResolution:]): Tell the page about the change to the device scale factor so that, e.g., scale-factor-dependent media queries will be reevaluated. 2011-08-10 Adam Roben <aroben@apple.com> Clear up scale factor terminology WebKit by and large deals with two scale factors: one intrinsic to the device on which the software is running, and one that is per-Page and can be controlled via API calls. This patch names the former "deviceScaleFactor" and the latter "pageScaleFactor", and makes the code use those names. It should introduce no behavior changes. Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the device scale factor Reviewed by Simon Fraser. * Misc/WebNSControlExtras.m: (-[NSControl sizeToFitAndAdjustWindowHeight]): Updated this function to use more modern AppKit scale factor terminology. (This is unrelated to the rest of the patch.) * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: 2011-08-13 Dan Bernstein <mitz@apple.com> Changed the value of WebKitShowsToolTipOverTruncatedTextPreferenceKey to match the naming everywhere else. Reviewed by Joseph Pecoraro. * WebView/WebPreferenceKeysPrivate.h: 2011-08-13 Sam Weinig <sam@webkit.org> Remove unused variables from WebView/WebFullScreenController.h https://bugs.webkit.org/show_bug.cgi?id=66194 Reviewed by Dan Bernstein. * WebView/WebFullScreenController.h: Remove a few variables which were not used. 2011-08-12 Dan Bernstein <mitz@apple.com> Add an option to automatically show tooltips (with the full text) over truncated text https://bugs.webkit.org/show_bug.cgi?id=66178 Reviewed by Simon Fraser. * WebView/WebPreferenceKeysPrivate.h: Defined a preference key. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Added a default value of NO for the ShowsToolTipOverTruncatedText preference. (-[WebPreferences showsToolTipOverTruncatedText]): Added this getter. (-[WebPreferences setShowsToolTipOverTruncatedText:]): Added this setter. * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Added call to Settings::setShowsToolTipOverTruncatedText(). 2011-08-12 Sam Weinig <sam@webkit.org> Use __builtin_trap() for CRASH when building with clang https://bugs.webkit.org/show_bug.cgi?id=66152 Reviewed by Anders Carlsson. * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setAttributeKeys:andValues:]): (-[WebBaseNetscapePluginView handleMouseMoved:]): (-[WebBaseNetscapePluginView handleMouseEntered:]): (-[WebBaseNetscapePluginView handleMouseExited:]): (-[WebBaseNetscapePluginView focusChanged]): (-[WebBaseNetscapePluginView windowFocusChanged:]): (-[WebBaseNetscapePluginView createPlugin]): (-[WebBaseNetscapePluginView loadStream]): (-[WebBaseNetscapePluginView shouldStop]): (-[WebBaseNetscapePluginView destroyPlugin]): (-[WebBaseNetscapePluginView updateAndSetWindow]): (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]): (-[WebBaseNetscapePluginView pluginLayer]): (-[WebBaseNetscapePluginView getFormValue:]): Remove the ASSERT_NOT_REACHED from the base class methods. They were not adding much value and were getting in the way of making the static analyzer work. A better way to do this would be to use a formal protocol. 2011-08-12 Mark Rowe <mrowe@apple.com> Be more forward-looking in the choice of compiler. Rubber-stamped by Jon Honeycutt. * Configurations/CompilerVersion.xcconfig: 2011-08-10 David Hyatt <hyatt@apple.com> https://bugs.webkit.org/show_bug.cgi?id=66004 Removing the CSS Regions and Exclusions ifdefs. Reviewed by Adam Roben. * Configurations/FeatureDefines.xcconfig: 2011-08-09 Mark Hahnenberg <mhahnenberg@apple.com> Add ParentClass typedef in all JSC classes https://bugs.webkit.org/show_bug.cgi?id=65731 Reviewed by Oliver Hunt. Just added the Base typedefs in all the classes that are a subclass of JSCell to point at their parent classes. This is a change to support future changes to the way constructors and destructors are implemented in JS objects, among other things. * Plugins/Hosted/ProxyInstance.mm: * Plugins/Hosted/ProxyRuntimeObject.h: 2011-08-08 Chris Marrin <cmarrin@apple.com> Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState https://bugs.webkit.org/show_bug.cgi?id=65708 Supply initial display rects for the full-screen case Reviewed by Simon Fraser. * WebView/WebFullScreenController.mm: (-[WebFullScreenController enterFullscreen:]): (-[WebFullScreenController exitFullscreen]): 2011-08-06 Joseph Pecoraro <joepeck@webkit.org> Potential Leaks - RetainPtr<> over retaining Create'd objects https://bugs.webkit.org/show_bug.cgi?id=65806 Reviewed by Darin Adler. Fix a possible leak by adopting an allocation instead of retaining it. * WebView/WebView.mm: (-[WebView previousValidKeyView]): 2011-08-05 Anders Carlsson <andersca@apple.com> Remove PluginHalter https://bugs.webkit.org/show_bug.cgi?id=65729 Reviewed by Darin Adler. Remove plug-in halter and associated classes. * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]): (-[WebBaseNetscapePluginView start]): (-[WebBaseNetscapePluginView stop]): * WebCoreSupport/WebPluginHalterClient.h: Removed. * WebCoreSupport/WebPluginHalterClient.mm: Removed. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView _preferencesChanged:]): * WebView/WebViewPrivate.h: 2011-08-04 Mark Rowe <mrowe@apple.com> Future-proof Xcode configuration settings. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: * Configurations/Version.xcconfig: * Configurations/WebKit.xcconfig: 2011-08-03 Kent Tamura <tkent@chromium.org> Fix incorrect checks for HTMLMediaElement https://bugs.webkit.org/show_bug.cgi?id=65590 Reviewed by Dimitri Glazkov. <video> and <audio> can be an HTMLElement instance instead of HTMLMediaElement if MediaPlayer::isAvailable() returns false or the media feature is disabled at runtime. * WebView/WebFullScreenController.mm: (-[WebFullScreenController _isAnyMoviePlaying]): 2011-08-03 Mark Rowe <mrowe@apple.com> Bring some order to FeatureDefines.xcconfig to make it easier to follow. Reviewed by Sam Weinig. * Configurations/FeatureDefines.xcconfig: 2011-08-03 Mark Rowe <mrowe@apple.com> Clean up FeatureDefines.xcconfig to remove some unnecessary conditional settings Reviewed by Dave Kilzer. * Configurations/FeatureDefines.xcconfig: 2011-08-03 Joseph Pecoraro <joepeck@webkit.org> Web Inspector: Remove InspectorFrontendHost load/saveSessionSetting https://bugs.webkit.org/show_bug.cgi?id=65582 Reviewed by Pavel Feldman. * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: 2011-08-03 Pavel Feldman <pfeldman@google.com> Web Inspector: [Timeline] Hover on paint events and see rect outline around that area. https://bugs.webkit.org/show_bug.cgi?id=65510 Reviewed by Yury Semikhatsky. * WebInspector/WebNodeHighlightView.mm: (-[WebNodeHighlightView drawRect:]): 2011-08-03 Pavel Feldman <pfeldman@chromium.org> Web Inspector: remove Node parameter from the InspectorClient::highlight https://bugs.webkit.org/show_bug.cgi?id=65549 Reviewed by Yury Semikhatsky. * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::highlight): * WebInspector/WebNodeHighlighter.h: * WebInspector/WebNodeHighlighter.mm: (-[WebNodeHighlighter highlight]): 2011-07-30 Patrick Gansterer <paroga@webkit.org> Remove inclusion of MainThread.h from Threading.h https://bugs.webkit.org/show_bug.cgi?id=65081 Reviewed by Darin Adler. Add missing include statements for MainThread. * Carbon/CarbonWindowAdapter.mm: * History/WebBackForwardList.mm: * History/WebHistoryItem.mm: * Misc/WebElementDictionary.mm: * Misc/WebIconDatabase.mm: * Misc/WebLocalizableStrings.mm: * Plugins/Hosted/WebHostedNetscapePluginView.mm: * Plugins/WebBaseNetscapePluginView.mm: * Plugins/WebBasePluginPackage.mm: * Plugins/WebNetscapePluginView.mm: * WebCoreSupport/WebEditorClient.mm: * WebCoreSupport/WebFrameLoaderClient.mm: * WebView/WebArchive.mm: * WebView/WebDataSource.mm: * WebView/WebHTMLView.mm: * WebView/WebResource.mm: * WebView/WebTextIterator.mm: * WebView/WebView.mm: * WebView/WebViewData.mm: 2011-07-28 Dan Bernstein <mitz@apple.com> <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds Reviewed by Darin Adler. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize wkGetVerticalGlyphsForCharacters. 2011-07-28 Brady Eidson <beidson@apple.com> <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306 WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView Reviewed by Maciej Stachowiak. * Storage/WebStorageManager.mm: (WebKitInitializeStorageIfNecessary): Pass the client along in initializeTracker(). 2011-07-27 Mark Hahnenberg <mhahnenberg@apple.com> Remove operator new from JSCell https://bugs.webkit.org/show_bug.cgi?id=64999 Reviewed by Oliver Hunt. Removed the implementation of operator new in JSCell, so any further uses will not successfully link. Also removed any remaining uses of operator new. * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod): (WebKit::ProxyInstance::getMethod): * Plugins/Hosted/ProxyRuntimeObject.h: (WebKit::ProxyRuntimeObject::create): * WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame scopeChain]): 2011-07-26 Dan Bernstein <mitz@apple.com> <rdar://problem/9842889> Add a generic pictograph font family https://bugs.webkit.org/show_bug.cgi?id=65197 Reviewed by Anders Carlsson. * WebView/WebPreferenceKeysPrivate.h: Added WebKitPictographFontPreferenceKey. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Set the default pictograph font family to "Apple Color Emoji". (-[WebPreferences pictographFontFamily]): Added this getter. (-[WebPreferences setPictographFontFamily:]): Added this setter. * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Pass the preference through to WebCore. 2011-07-25 Ian Henderson <ianh@apple.com> WebFrame should have a method to determine its visual emptiness https://bugs.webkit.org/show_bug.cgi?id=64223 Reviewed by Dan Bernstein. * WebView/WebFrame.mm: (-[WebFrame _isVisuallyNonEmpty]): Pipe the isVisuallyNonEmpty method through WebKit. * WebView/WebFramePrivate.h: 2011-07-19 Leo Yang <leoyang.webkit@gmail.com> SVG: Missing implementation of <altGlyphDef>, <altGlyphItem> and <glyphRef> https://bugs.webkit.org/show_bug.cgi?id=60850 Reviewed by Nikolas Zimmermann. SVG spec: http://www.w3.org/TR/SVG/text.html#AlternateGlyphDefinitions. This patch is to implement SVG <altGlyphDef>, <altGlyphItem> and <glyphRef> elements for alternative glyph features. * MigrateHeaders.make: 2011-07-18 Andy Estes <aestes@apple.com> Solar Walk app-specific hack accidentally strips stylesheets from the document. https://bugs.webkit.org/show_bug.cgi?id=64777 Reviewed by Adam Barth. Solar Walk uses a self-closed title tag in its documents ("<title />"). The HTML5 parser does not recognize this as a valid self-closing tag, so it treats the remainder of the document as title text. We work around this in WebKit by injecting a script that calls document.write() on the contents of document.title, thereby restoring the contents of the document. Unfortunately this overwrote several <style> tags that existed before the <title>, thereby causing the document to not have the intended styling. Fix this by having the injected script concatenate document.title to the document instead of overwriting it during document.write(). We can also take the opportunity to remove document.title since it does not contain useful information. * Misc/SolarWalkQuirksUserScript.js: 2011-07-18 Dean Jackson <dino@apple.com> https://bugs.webkit.org/show_bug.cgi?id=64742 Expose WebPreferences for media playback requiring user gestures and inline playback Reviewed by Simon Fraser. Two new WebPreferences: MediaPlaybackRequiresUserGesture and MediaPlaybackAllowsInline. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences mediaPlaybackRequiresUserGesture]): (-[WebPreferences setMediaPlaybackRequiresUserGesture:]): (-[WebPreferences mediaPlaybackAllowsInline]): (-[WebPreferences setMediaPlaybackAllowsInline:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2011-07-18 Pratik Solanki <psolanki@apple.com> Part of https://bugs.webkit.org/show_bug.cgi?id=63674 Get webkit to compile with USE(CFNETWORK) enabled on Mac Reviewed by David Kilzer. Create an NSURLDownload from the CF objects that we have. * Misc/WebDownload.mm: (-[WebDownload _initWithLoadingCFURLConnection:request:response:delegate:proxy:]): * Misc/WebDownloadInternal.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::download): 2011-07-15 Pratik Solanki <psolanki@apple.com> Part of https://bugs.webkit.org/show_bug.cgi?id=63674 Get webkit to compile with USE(CFNETWORK) enabled on Mac Reviewed by David Kilzer. New WebKitSystemInterface functions for CFNetwork-based loader. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-07-15 Tim Horton <timothy_horton@apple.com> Overlay scrollbars in overflow areas no longer pulse when revealed https://bugs.webkit.org/show_bug.cgi?id=64606 <rdar://problem/9390674> Reviewed by Simon Fraser. Ensure that the state of the scrollbar implementation is kept in sync with WebCore's internal representation. Previously, we synchronized them at paint time, causing pulsing to be skipped due to the scrollbars being disabled. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-07-15 Andy Estes <aestes@apple.com> Rename applicationIsSolarWalk() to applicationIsSolarWalkMac(). https://bugs.webkit.org/show_bug.cgi?id=64641 Reviewed by Brian Weinstein. * WebView/WebView.mm: (needsSolarWalkQuirksScript): Call applicationIsSolarWalkMac(). 2011-07-15 Dan Bernstein <mitz@apple.com> REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides https://bugs.webkit.org/show_bug.cgi?id=64615 Reviewed by Anders Carlsson. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::setCursorHiddenUntilMouseMoves): Added. Calls +[NSCursor setHiddenUntilMouseMoves:]. 2011-07-14 Gavin Barraclough <barraclough@apple.com> https://bugs.webkit.org/show_bug.cgi?id=64250 Global strict mode function leaking global object as "this". Reviewed by Oliver Hunt. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): - Change call to pass DOM Window shell, instead of the global varaible object. 2011-07-13 Joseph Pecoraro <joepeck@webkit.org> Improve names of some ApplicationCacheStorage accessor methods https://bugs.webkit.org/show_bug.cgi?id=64433 Reviewed by Alexey Proskuryakov. * WebCoreSupport/WebApplicationCacheQuotaManager.mm: (-[WebApplicationCacheQuotaManager usage]): (-[WebApplicationCacheQuotaManager quota]): Renamed methods. 2011-07-12 Joseph Pecoraro <joepeck@webkit.org> ApplicationCache update should not immediately fail when reaching per-origin quota https://bugs.webkit.org/show_bug.cgi?id=64177 Reviewed by Alexey Proskuryakov. * WebView/WebUIDelegatePrivate.h: * DefaultDelegates/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:spaceNeeded:]): Update the delegate to include a space needed parameter. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::reachedApplicationCacheOriginQuota): Call the delegate with the new space needed information. 2011-07-12 Adam Roben <aroben@apple.com> Delete some redundant code in WebHTMLView This code had no user-visible effect, as we were just duplicating work that AppKit would do for us at a slightly different time. Fixes <http://webkit.org/b/64390> WebHTMLView sets its root layer's transform unnecessarily Reviewed by Simon Fraser. * WebView/WebHTMLView.mm: (-[WebHTMLView viewDidMoveToWindow]): (-[WebHTMLView attachRootLayer:]): Don't bother setting the root layer's transform to account for the scale factor. AppKit takes care of this for us nowadays. 2011-07-10 Kenichi Ishibashi <bashi@chromium.org> Let plugins participate in form submission https://bugs.webkit.org/show_bug.cgi?id=13061 Adds methods to get form value from NPAPI plugins. Reviewed by Anders Carlsson. * Plugins/Hosted/WebHostedNetscapePluginView.h: * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView getFormValue:]): Added. * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView getFormValue:]): Added. * Plugins/WebNetscapePluginPackage.h: * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage browserFuncs]): Added. * Plugins/WebNetscapePluginView.h: * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView getFormValue:]): Added. * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::getFormValue): Added. 2011-07-04 Dan Bernstein <mitz@apple.com> Moved handling of frame size changes into its own method. Reviewed by Oliver Hunt. * WebView/WebFrameView.mm: (-[WebFrameView _frameSizeChanged]): Added. Moved code here... (-[WebFrameView setFrameSize:]): ...from here. * WebView/WebFrameViewInternal.h: 2011-07-01 Adele Peterson <adele@apple.com> Reviewed by Darin Adler. WebKit part of fix for https://bugs.webkit.org/show_bug.cgi?id=63851 <rdar://problem/8981062> Crash when loading a document in an editable WebView that has a subframe with an unstyled body * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Only call applyEditingStyleToBodyElement for the main frame. There's no need to apply break-word, space, and after-white-space properties to subframes in the editable document. 2011-07-01 Andy Estes <aestes@apple.com> Reviewed by Mark Rowe. Simplify MailQuirksUserScript.js https://bugs.webkit.org/show_bug.cgi?id=63800 MailQuirksUserScript.js is injected into WebViews in Mail.app on Leopard to resolve an incompatibility between it and the HTML5 parser. It did so by taking all nodes in the document between <html> and <body> and moving them to be children of <body>. This maintains Mail.app's assumption that document.firstChild.firstChild == document.body. While this script fixed a specific issue with the Signature panel in Mail.app, it caused regressions in other WebViews. Since the issue with the Signature panel is with the empty <head> node implicitly created by the parser, we can simplify this script by removing this implicit <head> in the case it has no attributes and no children. This fixes the Signature panel without affecting other WebViews that have non-trivial <head> nodes. * Misc/MailQuirksUserScript.js: If <head> exists but has no attributes and no children, remove it. 2011-06-30 Dan Bernstein <mitz@apple.com> Reviewed by Adele Peterson. Add +[WebView _allowsRoundingHacks] https://bugs.webkit.org/show_bug.cgi?id=63734 * WebView/WebView.mm: (+[WebView _allowsRoundingHacks]): Added this accessor. * WebView/WebViewPrivate.h: 2011-06-29 Darin Adler <darin@apple.com> Reviewed by Dan Bernstein. [Mac] Use system cursors instead of custom bitmaps where possible https://bugs.webkit.org/show_bug.cgi?id=63679 * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Added WKCursor. 2011-06-28 Ilya Sherman <isherman@chromium.org> Reviewed by Adam Barth. form.autocomplete="off" does not work https://bugs.webkit.org/show_bug.cgi?id=35823 * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation elementDoesAutoComplete:]): Update callsite. 2011-06-26 Mark Rowe <mrowe@apple.com> Reviewed by Dan Bernstein. Use a separate file name for Lion's WebKitSystemInterface. * Configurations/DebugRelease.xcconfig: 2011-06-24 Dan Bernstein <mitz@apple.com> Reviewed by Anders Carlsson. Add an option to enable legacy rounding hacks https://bugs.webkit.org/show_bug.cgi?id=63363 * Misc/WebKitNSStringExtras.mm: (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Disabled rounding hacks. (-[NSString _web_widthWithFont:]): Ditto. * WebView/WebView.mm: (+[WebView _setAllowsRoundingHacks:]): Added this setter. * WebView/WebViewPrivate.h: 2011-06-24 Dominic Cooney <dominicc@chromium.org> Reviewed by Dimitri Glazkov. Convert shadow DOM-related tests to use window.internals https://bugs.webkit.org/show_bug.cgi?id=61671 Remove shadow DOM-related methods from Mac API. These are not required any more. * DOM/WebDOMOperations.mm: * DOM/WebDOMOperationsPrivate.h: 2011-06-24 Yuta Kitamura <yutak@chromium.org> Reviewed by Adam Barth. WebSocket: Add run-time flag for new HyBi protocol https://bugs.webkit.org/show_bug.cgi?id=60348 Make a new flag (Setting::m_useHixie76WebSocketProtocol) switchable from WebView and WebPreferences. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setHixie76WebSocketProtocolEnabled:]): (-[WebPreferences isHixie76WebSocketProtocolEnabled]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2011-06-22 Sam Weinig <sam@webkit.org> Roll out r89469 (Add preference for setting the html parser depth limit) The preference is not needed at this time, so there is no reason to expose it. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2011-06-22 Sam Weinig <sam@webkit.org> Reviewed by Adam Barth. Add preference for setting the html parser depth limit https://bugs.webkit.org/show_bug.cgi?id=63163 * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setMaximumHTMLParserDOMTreeDepth:]): (-[WebPreferences maximumHTMLParserDOMTreeDepth]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Add private preference for setting the parser depth limit. 2011-06-22 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Darin Adler. Make instantiation of legacy editing position more explicit https://bugs.webkit.org/show_bug.cgi?id=63037 Create new positions since we can't create a legacy editing position outside of WebCore anymore. * WebView/WebFrame.mm: (-[WebFrame _smartDeleteRangeForProposedRange:]): Calls createLegacyEditingPosition. (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto. 2011-06-20 Dimitri Glazkov <dglazkov@chromium.org> Reviewed by Kent Tamura. FileChooser should be only created when we need to choose files. https://bugs.webkit.org/show_bug.cgi?id=63039 * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::runOpenPanel): Changed to use settings. 2011-06-21 MORITA Hajime <morrita@google.com> Unreviewed, rolling out r89401 and r89403. http://trac.webkit.org/changeset/89401 http://trac.webkit.org/changeset/89403 https://bugs.webkit.org/show_bug.cgi?id=62970 Breaks mac build and mistakenly enables the spellcheck API * Configurations/FeatureDefines.xcconfig: 2011-06-20 MORITA Hajime <morrita@google.com> Reviewed by Kent Tamura. Spellcheck API should be build-able. https://bugs.webkit.org/show_bug.cgi?id=62970 No new tests, changing only build related files * Configurations/FeatureDefines.xcconfig: 2011-06-21 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r89354. http://trac.webkit.org/changeset/89354 https://bugs.webkit.org/show_bug.cgi?id=63099 Broke tests on Mac (Requested by rniwa on #webkit). * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController destroyInspectorView:]): * WebInspector/WebInspector.mm: (-[WebInspector show:]): (-[WebInspector showConsole:]): (-[WebInspector isDebuggingJavaScript]): (-[WebInspector toggleDebuggingJavaScript:]): (-[WebInspector startDebuggingJavaScript:]): (-[WebInspector stopDebuggingJavaScript:]): (-[WebInspector isProfilingJavaScript]): (-[WebInspector toggleProfilingJavaScript:]): (-[WebInspector startProfilingJavaScript:]): (-[WebInspector stopProfilingJavaScript:]): (-[WebInspector isJavaScriptProfilingEnabled]): (-[WebInspector setJavaScriptProfilingEnabled:]): (-[WebInspector isTimelineProfilingEnabled]): (-[WebInspector setTimelineProfilingEnabled:]): (-[WebInspector setFrontend:]): (-[WebInspector showWindow:]): * WebInspector/WebInspectorFrontend.h: * WebInspector/WebInspectorFrontend.mm: * WebInspector/WebInspectorPrivate.h: 2011-06-20 Pavel Feldman <pfeldman@chromium.org> Reviewed by Yury Semikhatsky. Web Inspector: introduce InspectorFrontendAPI for actions initiated from the application menu. https://bugs.webkit.org/show_bug.cgi?id=62985 Both: inspector protocol and WebCore/InspectorController have a number of unnecessary methods for plumbing the menu action handlers through the WebKit and WebCore. I intend to remove this menu support from the protocol and WebCore/InspectorController API. I am starting with exposing the new front-end API in the WebCore and using it in the WebKit/mac port. WebKit/win and WebKit2 to follow. * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController destroyInspectorView:]): * WebInspector/WebInspector.mm: (-[WebInspector showWindow]): (-[WebInspector show:]): (-[WebInspector showConsole:]): (-[WebInspector isDebuggingJavaScript]): (-[WebInspector toggleDebuggingJavaScript:]): (-[WebInspector startDebuggingJavaScript:]): (-[WebInspector stopDebuggingJavaScript:]): (-[WebInspector isProfilingJavaScript]): (-[WebInspector toggleProfilingJavaScript:]): (-[WebInspector startProfilingJavaScript:]): (-[WebInspector stopProfilingJavaScript:]): (-[WebInspector isJavaScriptProfilingEnabled]): (-[WebInspector setJavaScriptProfilingEnabled:]): (-[WebInspector isTimelineProfilingEnabled]): (-[WebInspector setTimelineProfilingEnabled:]): (-[WebInspector setFrontend:]): (-[WebInspector releaseFrontend]): (-[WebInspector showWindow:]): * WebInspector/WebInspectorFrontend.h: * WebInspector/WebInspectorFrontend.mm: (-[WebInspectorFrontend isDebuggingEnabled]): (-[WebInspectorFrontend setDebuggingEnabled:]): (-[WebInspectorFrontend isProfilingJavaScript]): (-[WebInspectorFrontend startProfilingJavaScript]): (-[WebInspectorFrontend stopProfilingJavaScript]): (-[WebInspectorFrontend isJavaScriptProfilingEnabled]): (-[WebInspectorFrontend setJavaScriptProfilingEnabled:]): (-[WebInspectorFrontend isTimelineProfilingEnabled]): (-[WebInspectorFrontend setTimelineProfilingEnabled:]): * WebInspector/WebInspectorPrivate.h: 2011-06-01 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Move Full Screen Controllers into WebCore. Remove dependency on QTKit from wekitExitFullscreen() https://bugs.webkit.org/show_bug.cgi?id=61843 WebVideoFullscreenController, WebVideoFullscreenHUDController, and WebWindowAnimation have been moved into WebCore. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Add support for four WKSI functions in WCSI. * WebView/WebFullScreenController.mm: Remove unused #include. * WebView/WebView.mm: Change the include location of WebVideoFullscreenController.h 2011-06-18 Dimitri Glazkov <dglazkov@chromium.org> Reviewed by Darin Adler. Separate concerns of loading file icons and choosing files. https://bugs.webkit.org/show_bug.cgi?id=62931 * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::loadIconForFiles): Renamed. 2011-06-18 Andrew Wellington <andrew@webkit.org> Reviewed by Alexey Proskuryakov. https://bugs.webkit.org/show_bug.cgi?id=62843 WebKit Mac API calls didReceiveAuthenticationChallenge instead of didCancelAuthenticationChallenge * WebView/WebView.mm: (-[WebView _cacheResourceLoadDelegateImplementations]): 2011-06-16 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r89026. http://trac.webkit.org/changeset/89026 https://bugs.webkit.org/show_bug.cgi?id=62804 These patches were likely correct. I'll investigate the browser_test failures. (Requested by abarth on #webkit). * WebView/WebVideoFullscreenHUDWindowController.mm: (-[WebVideoFullscreenHUDWindowController setPlaying:]): 2011-06-16 Vitaly Repeshko <vitalyr@chromium.org> Unreviewed. Revert Adam's user gesture patch series r89002, r89005, r89007, r89018 https://bugs.webkit.org/show_bug.cgi?id=62796 The patches broke chromium browser tests. * WebView/WebVideoFullscreenHUDWindowController.mm: (-[WebVideoFullscreenHUDWindowController setPlaying:]): 2011-06-16 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Remove HTMLVideoElement::processingUserGesture https://bugs.webkit.org/show_bug.cgi?id=62784 * WebView/WebVideoFullscreenHUDWindowController.mm: (-[WebVideoFullscreenHUDWindowController setPlaying:]): 2011-06-15 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Remove ScriptController::setAllowPopupsFromPlugin https://bugs.webkit.org/show_bug.cgi?id=62706 * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView sendEvent:isDrawRect:]): 2011-06-15 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/62745> Convert WebNSFileManagerExtras.m to Objective-C++ Reviewed by Joseph Pecoraro. * Misc/WebNSFileManagerExtras.mm: Renamed from Source/WebKit/mac/Misc/WebNSFileManagerExtras.m. (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Added static_cast<MetaDataInfo *>. 2011-06-14 Stephanie Lewis <slewis@apple.com> Rubber stamped by Oliver Hunt. <rdar://problem/9511169> Update order files. * WebKit.order: 2011-06-13 Kentaro Hara <haraken@google.com> Reviewed by Alexey Proskuryakov. Add resizePageRectsKeepingRatio(), which expands/shrinks a page, keeping the ratio of the original page https://bugs.webkit.org/show_bug.cgi?id=61256 In order to prevent rounding error caused by expanding/shrinking a page using different calculation here and there, I added a common calculation method, resizePageRectsKeepingRatio(), which expands/shrinks a page, keeping the ratio of width and height of the original page. [WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:] and [WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:] use resizePageRectsKeepingRatio() to expand/shrink a page. Test: printing/page-count-with-one-word.html * WebView/WebHTMLView.mm: (-[WebHTMLView _web_setPrintingModeRecursive]): (-[WebHTMLView _web_clearPrintingModeRecursive]): (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): (-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumShrinkRatio:]): (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]): (-[WebHTMLView _endPrintMode]): (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]): (-[WebHTMLView _endScreenPaginationMode]): (-[WebHTMLView layoutToMinimumPageWidth:height:maximumShrinkRatio:adjustingViewSize:]): (-[WebHTMLView layout]): (-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:maximumShrinkRatio:adjustViewSize:paginateScreenContent:]): (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): (-[WebHTMLView setPageWidthForPrinting:]): 2011-06-13 Tony Chang <tony@chromium.org> Reviewed by Dimitri Glazkov. rename ENABLE_NEW_FLEXBOX to ENABLE_CSS3_FLEXBOX https://bugs.webkit.org/show_bug.cgi?id=62578 * Configurations/FeatureDefines.xcconfig: 2011-06-13 Tony Chang <tony@chromium.org> Reviewed by Adam Barth. rename ENABLE_FLEXBOX to ENABLE_NEW_FLEXBOX https://bugs.webkit.org/show_bug.cgi?id=62545 * Configurations/FeatureDefines.xcconfig: 2011-06-12 Adam Barth <abarth@webkit.org> Reviewed by Alexey Proskuryakov. Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense https://bugs.webkit.org/show_bug.cgi?id=62516 * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::interruptedForPolicyChangeError): 2011-06-12 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Remove FrameLoader::isProcessingUserGesture https://bugs.webkit.org/show_bug.cgi?id=62519 * WebView/WebView.mm: (-[WebView _isProcessingUserGesture]): 2011-06-12 Adam Barth <abarth@webkit.org> Reviewed by Alexey Proskuryakov. Remove trival "forward-to-client" member functions from FrameLoader https://bugs.webkit.org/show_bug.cgi?id=62510 * WebCoreSupport/WebFrameNetworkingContext.mm: (WebFrameNetworkingContext::blockedError): 2011-06-10 Tony Chang <tony@chromium.org> Reviewed by Ojan Vafai. add a compile guard ENABLE(FLEXBOX) https://bugs.webkit.org/show_bug.cgi?id=62049 * Configurations/FeatureDefines.xcconfig: 2011-06-06 Michael Saboff <msaboff@apple.com> Reviewed by Geoffrey Garen. Fonts returned by FontCache::getFontDataForCharacters() are never released https://bugs.webkit.org/show_bug.cgi?id=61875 This change allows fonts allocated as system fallback fonts to be released. Previously, the reference counts for these fonts grew without bound. This is implemented as an auto release class that wraps accesses to the cache for system fallback fonts. All such accesses are via the method FontCache::getFontDataForCharacters. The new class is called FontCachePurgePreventer. When such an object exists, it protects these fonts from deletion. See more comments for this defect in Source/WebCore/ChangeLog. * Misc/WebKitNSStringExtras.mm: (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): (-[NSString _web_widthWithFont:]): Wrapped code accessing fallback fonts with local FontCachePurgePreventer in these methods. * Misc/WebStringTruncator.mm: (+[WebStringTruncator centerTruncateString:toWidth:]): (+[WebStringTruncator centerTruncateString:toWidth:withFont:]): (+[WebStringTruncator rightTruncateString:toWidth:withFont:]): (+[WebStringTruncator widthOfString:font:]): Wrapped code accessing fallback fonts with local FontCachePurgePreventer in these methods. 2011-06-06 Peter Kasting <pkasting@google.com> Reviewed by Antonio Gomes. Remove unnecessary args from scroll functions. https://bugs.webkit.org/show_bug.cgi?id=61648 * WebView/WebFrame.mm: (-[WebFrame _scrollDOMRangeToVisible:]): 2011-06-06 Alexandru Chiculita <achicu@adobe.com> Reviewed by Kent Tamura. Add ENABLE_CSS_EXCLUSIONS support for build-webkit script https://bugs.webkit.org/show_bug.cgi?id=61628 * Configurations/FeatureDefines.xcconfig: 2011-06-06 Mihnea Ovidenie <mihnea@adobe.com> Reviewed by Kent Tamura. Add ENABLE(CSS_REGIONS) guard for CSS Regions support https://bugs.webkit.org/show_bug.cgi?id=61631 * Configurations/FeatureDefines.xcconfig: 2011-06-02 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Need a way to install the memory pressure handler without initializing WebKit1 https://bugs.webkit.org/show_bug.cgi?id=61975 Add a WebInstallMemoryPressureHandler function which will install the memory pressure handler. -[WebView WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:] will do this, but we'd like to be able to install a memory pressure handler without creating a WebView or even calling any WebView method since that will call +[WebView initialize]. * WebKit.exp: * WebView/WebView.mm: (WebInstallMemoryPressureHandler): * WebView/WebViewPrivate.h: 2011-05-27 Stephanie Lewis <slewis@apple.com> Unreviewed. Fix a typo in the order_file flag. * Configurations/Base.xcconfig: 2011-05-27 Stephanie Lewis <slewis@apple.com> Rubber Stamped by Adam Roben. Update Order Files. Use -order_file flag since it can order more of the binary. * Configurations/Base.xcconfig: * WebKit.order: 2011-05-25 Stephanie Lewis <slewis@apple.com> Reviewed by Brady Eidson. https://bugs.webkit.org/show_bug.cgi?id=61407 part of <rdar://problem/8675177> Remove Quicklook pref. Moving it enirely down into WebCore so it can be calculated only on reloads. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2011-05-24 Jer Noble <jer.noble@apple.com> Reviewed by Darin Adler. Video fails to play on Vimeo https://bugs.webkit.org/show_bug.cgi?id=61403 * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Added support for wkAVAssetResolvedURL and wkQTMovieResolvedURL. 2011-05-24 Keishi Hattori <keishi@webkit.org> Reviewed by Kent Tamura. Disable input color. Add INPUT_COLOR feature flag. Implement input color sanitizer. https://bugs.webkit.org/show_bug.cgi?id=61273 * Configurations/FeatureDefines.xcconfig: Added INPUT_COLOR feature flag. 2011-05-24 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Add FIXME comments about removing FrameLoader::isProcessingUserGesture https://bugs.webkit.org/show_bug.cgi?id=61395 * WebView/WebView.mm: (-[WebView _isProcessingUserGesture]): 2011-05-24 Michael Saboff <msaboff@apple.com> Reviewed by Geoffrey Garen. Improve handling in WebCore of low memory situations https://bugs.webkit.org/show_bug.cgi?id=61222 Added call to enable memory pressure handling. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): * WebView/WebViewInternal.h: 2011-05-24 Jay Civelli <jcivelli@chromium.org> Rubberstamped by David Kilzer. Updated some files that I forgot in my previous MHTML CL. * Configurations/FeatureDefines.xcconfig: 2011-05-20 Jeremy Noble <jer.noble@apple.com> Reviewed by Simon Fraser. Stack overflow in WebFullScreenController when built on Leopard and run on SnowLeopard. https://bugs.webkit.org/show_bug.cgi?id=61224 Remove the CATransaction(SnowLeopardConvenience) functions, and replace them with the Leopard versions of same. * WebView/WebFullScreenController.mm: (-[WebFullScreenController windowDidEnterFullscreen:]): (-[WebFullScreenController enterFullscreen:]): (-[WebFullScreenController exitFullscreen]): (-[WebFullscreenWindow setRendererLayer:]): 2011-05-20 Andy Estes <aestes@apple.com> Reviewed by Darin Adler. WebView loses firstResponder status when entering full-screen mode. https://bugs.webkit.org/show_bug.cgi?id=61153 * Misc/WebNSWindowExtras.h: * Misc/WebNSWindowExtras.m: (-[NSWindow makeResponder:firstResponderIfDescendantOfView:]): Add a convenience method to NSWindow that makes the given NSResponder first responder only if it is a descendant of the given view. * WebView/WebFullScreenController.mm: (-[WebFullScreenController windowDidEnterFullscreen:]): If the WebView was a descendant of the browser window's first responder when entering full-screen mode, set the full-screen window's first responder to that same NSResponder. (-[WebFullScreenController exitFullscreen]): Do the reverse of what is done in windowDidEnterFullscreen:. 2011-05-20 Enrica Casucci <enrica@apple.com> Reviewed by David Kilzer. Add delegate methods about focus and blur to all elements. https://bugs.webkit.org/show_bug.cgi?id=61218 We want to have delegates for these events for all the elements, not only the form elements. The patch changes the name of the methods in a way that is not form element specific. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::elementDidFocus): (WebChromeClient::elementDidBlur): * WebView/WebUIDelegatePrivate.h: 2011-05-20 Simon Fraser <simon.fraser@apple.com> Reviewed by Sam Weinig. numberOfActiveAnimations() can include animations from documents in the page cache https://bugs.webkit.org/show_bug.cgi?id=53641 Pass the Frame's document as the one to count animations on. * WebView/WebFrame.mm: (-[WebFrame _numberOfActiveAnimations]): 2011-05-17 Timothy Hatcher <timothy@apple.com> Update the the context menu to reflect the system search provider on Mac. <rdar://problem/9198419> Reviewed by Sam Weinig. * DefaultDelegates/WebDefaultContextMenuDelegate.mm: (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]): Use wkCopyDefaultSearchProviderDisplayName to create the web search context menu title. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Added CopyDefaultSearchProviderDisplayName. 2011-05-16 Emil A Eklund <eae@chromium.org> Reviewed by Eric Seidel. Replace docTop/Right/Bottom/Left/Width/Height with documentRect https://bugs.webkit.org/show_bug.cgi?id=60743 Replace uses of docWidth/Height with documentRect. * WebView/WebFrame.mm: (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]): 2011-05-16 Yuzo Fujishima <yuzo@google.com> Reviewed by Antti Koivisto. Fix for Bug 43704 - Web font is printed as blank if it is not cached https://bugs.webkit.org/show_bug.cgi?id=43704 * WebView/WebHTMLView.mm: (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]): Use ResourceCacheValidationSuppressor to allow stale resources in printing. 2011-05-16 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2 <rdar://problem/9446430> Reviewed by Mark Rowe. * Configurations/Base.xcconfig: Fixed typo. 2011-05-13 Jon Lee <jonlee@apple.com> Reviewed by Simon Fraser. Can't horizontally scroll iframes and overflow because wheel events are always accepted https://bugs.webkit.org/show_bug.cgi?id=60779 * WebCoreSupport/WebChromeClient.h: (WebChromeClient::numWheelEventHandlersChanged): Default impl of new ChromeClient method (WebChromeClient::shouldRubberBandInDirection): Default impl of new ChromeClient method 2011-05-13 Sam Weinig <sam@webkit.org> Reviewed by Anders Carlsson. Prune #includes from FrameView.h (Part 2) https://bugs.webkit.org/show_bug.cgi?id=60748 - Update files that were depending on FrameView.h #including Frame.h or Page.h. * WebView/WebClipView.mm: * WebView/WebHTMLView.mm: (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]): 2011-05-12 Pratik Solanki <psolanki@apple.com> Reviewed by Antti Koivisto. Part of WebCore should use CFNetwork-based loader on Mac https://bugs.webkit.org/show_bug.cgi?id=51836 Use CFRunLoop when using CFNetwork. * WebView/WebView.mm: (-[WebView scheduleInRunLoop:forMode:]): (-[WebView unscheduleFromRunLoop:forMode:]): 2011-05-12 Pratik Solanki <psolanki@apple.com> Reviewed by Antti Koivisto. Part of WebCore should use CFNetwork-based loader on Mac https://bugs.webkit.org/show_bug.cgi?id=51836 Include AuthenticationCF.h header file. * Misc/WebDownload.mm: * Plugins/WebBaseNetscapePluginView.mm: * WebCoreSupport/WebFrameLoaderClient.mm: 2011-05-12 Adele Peterson <adele@apple.com> Reviewed by Darin Adler and Adam Barth. Fix for <rdar://problem/9253454> Solar Walk For Mac: Info window is blank (HTML5 parser) https://bugs.webkit.org/show_bug.cgi?id=60685 Solar Walk uses a self closing title tag, so to match the behavior of the old parser, we use a UserScript to write the contents of the title element to the end of the document so it can be re-parsed. * Misc/SolarWalkQuirksUserScript.js: Added. * WebView/WebView.mm: (needsSolarWalkQuirksScript): (leakSolarWalkQuirksUserScriptContents): (-[WebView _injectSolarWalkQuirksScript]): (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): 2011-05-12 Jia Pu <jpu@apple.com> Reviewed by Darin Adler. Regression caused by changeset 86281 https://bugs.webkit.org/show_bug.cgi?id=60712 <rdar://problem/9427970> Removed the condition variable. [NSSpellChecker dismissCorrectionIndicatorForView:] is blocking. So handleAcceptedReplacement() triggered by dismissInternal() will return before dismissInternal() returns. So we don't need to use the condition to coordinate between these two function. In fact, all callbacks are delivered on main thread. We don't really need any locking here. Since now we don't have distinction between dismiss() and dismissSoon(). dismissSoon() has been removed. * WebCoreSupport/CorrectionPanel.h: * WebCoreSupport/CorrectionPanel.mm: (CorrectionPanel::CorrectionPanel): (CorrectionPanel::show): (CorrectionPanel::dismiss): (CorrectionPanel::dismissInternal): (CorrectionPanel::handleAcceptedReplacement): * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::dismissCorrectionPanelSoon): 2011-05-12 Patrick Gansterer <paroga@webkit.org> Reviewed by Adam Barth. Enable OwnPtr strict mode in PluginHalter https://bugs.webkit.org/show_bug.cgi?id=60681 * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): 2011-05-12 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Darin Adler. String operator+ reallocates unnecessarily when concatting > 2 strings https://bugs.webkit.org/show_bug.cgi?id=58420 Provide a faster String append operator. See Source/JavaScriptCore/ChangeLog for details. * WebView/WebFrame.mm: Explicitely cast to Strings first, so operator NSString*() can be invoked. (-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]): 2011-05-10 Tony Gentilcore <tonyg@chromium.org> Reviewed by Darin Adler. Perform some forward declarations suggested by include-what-you-use https://bugs.webkit.org/show_bug.cgi?id=60545 * Plugins/Hosted/WebHostedNetscapePluginView.mm: * WebView/WebFrame.mm: 2011-05-11 Jia Pu <jpu@apple.com> Reviewed by Darin Adler. CorrectionPanel sometimes hangs in dismissSoon(). https://bugs.webkit.org/show_bug.cgi?id=60599 <rdar://problem/9313628> Make sure dismissSoon() won't wait indefinitely if handleAcceptedReplacement() sets m_resultForSynchronousDismissal to nil. Added a designated variable m_isDismissing, instead of piggy-backing m_resultForSynchronousDismissal, for condition checking. * WebCoreSupport/CorrectionPanel.h: * WebCoreSupport/CorrectionPanel.mm: (CorrectionPanel::CorrectionPanel): (CorrectionPanel::show): (CorrectionPanel::dismissSoon): (CorrectionPanel::dismissInternal): (CorrectionPanel::handleAcceptedReplacement): 2011-05-10 Anton D'Auria <adauria@apple.com> Reviewed by David Levin. Add ApplicationCache API to get disk usage per origin https://bugs.webkit.org/show_bug.cgi?id=57127 Added Mac port API. * WebCoreSupport/WebApplicationCache.h: * WebCoreSupport/WebApplicationCache.mm: (+[WebApplicationCache diskUsageForOrigin:]): 2011-05-10 Anton D'Auria <adauria@apple.com> Reviewed by Alexey Proskuryakov. Add ApplicationCache API to get disk usage per origin https://bugs.webkit.org/show_bug.cgi?id=57127 Added Mac port API. * WebCoreSupport/WebApplicationCache.h: * WebCoreSupport/WebApplicationCache.mm: (+[WebApplicationCache diskUsageForOrigin:]): 2011-05-10 Beth Dakin <bdakin@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=60582 Crash switching overlay/non-overlay scrollbar preference still possible -and corresponding- <rdar://problem/9323983> * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-05-09 Jeremy Noble <jer.noble@apple.com> Reviewed by Darin Adler. Command-~/Exposé to another window while <video> is in full screen, breaks Safari, eventually leading to crash https://bugs.webkit.org/show_bug.cgi?id=60496 When animating into and out of full screen, order out and back in the original webView window, disabling animations when necessary. The exitFullscreen method was targeting the wrong window, as the webView is hosted in the full screen window when we ask for it's parent window. * WebView/WebFullScreenController.mm: (-[WebFullScreenController windowDidEnterFullscreen:]): (-[WebFullScreenController exitFullscreen]): 2011-05-04 Philippe Normand <pnormand@igalia.com> Reviewed by Dimitri Glazkov. Implement LayoutTestController::pseudoShadowId() https://bugs.webkit.org/show_bug.cgi?id=60034 * DOM/WebDOMOperations.mm: (-[DOMElement _shadowPseudoId]): * DOM/WebDOMOperationsPrivate.h: 2011-05-05 Dan Bernstein <mitz@apple.com> Reviewed by Simon Fraser. WebKit part of <rdar://problem/9155590> Broken animation in iAd producer * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize wkExecutableWasLinkedOnOrBeforeSnowLeopard. 2011-05-05 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Eric Seidel. Rename SelectionController to FrameSelection https://bugs.webkit.org/show_bug.cgi?id=60234 * WebView/WebFrame.mm: (-[WebFrame _rangeByAlteringCurrentSelection:FrameSelection::direction:granularity:]): * WebView/WebFrameInternal.h: * WebView/WebHTMLView.mm: * WebView/WebTextCompletionController.mm: (-[WebTextCompletionController doCompletion]): * WebView/WebView.mm: 2011-05-04 Cris Neckar <cdn@chromium.org> Reviewed by Adam Barth. Expose WebView directly through ChromeClient. https://bugs.webkit.org/show_bug.cgi?id=49902 * WebCoreSupport/WebChromeClient.h: (WebChromeClient::webView): * WebView/WebFrame.mm: (kit): 2011-05-04 Tao Bai <michaelbai@chromium.org> Reviewed by David Kilzer. Populate touch-icon url to FrameLoaderClient https://bugs.webkit.org/show_bug.cgi?id=59143 Respect the interface change in FrameLoaderClient. * Configurations/FeatureDefines.xcconfig: * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchDidChangeIcons): 2011-05-03 Julien Chaffraix <jchaffraix@codeaurora.org> Reviewed by Dimitri Glazkov. Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot* https://bugs.webkit.org/show_bug.cgi?id=58703 * DOM/WebDOMOperations.mm: Added #include for ShadowRoot.h. 2011-05-02 Adam Roben <aroben@apple.com> Take advantage of implicit conversion from nullptr_t to PassOwnPtr Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr doesn't work, but should Reviewed by Adam Barth. * History/WebHistory.mm: * Plugins/WebNetscapePluginEventHandler.mm: * WebView/WebView.mm: 2011-05-02 Brady Eidson <beidson@apple.com> Reviewed by Anders Carlsson. <rdar://problem/9340945> and https://bugs.webkit.org/show_bug.cgi?id=59973 In Aperture, a WebView might be dealloc'ed before it finishes loading. * WebView/WebView.mm: (needsSelfRetainWhileLoadingQuirk): (-[WebView _didStartProvisionalLoadForFrame:]): If we need the quirk, retain self. (-[WebView _didFinishLoadForFrame:]): If we need the quirk, release self on a delay. (-[WebView _didFailLoadWithError:forFrame:]): Ditto. (-[WebView _didFailProvisionalLoadWithError:forFrame:]): Ditto. 2011-05-02 Adam Barth <abarth@webkit.org> Reviewed by David Levin. PLATFORM(MAC) should (almost!) build with strict PassOwnPtr https://bugs.webkit.org/show_bug.cgi?id=59924 * History/WebHistory.mm: (-[WebHistory _visitedURL:withTitle:method:wasFailure:increaseVisitCount:]): * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]): * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::savePlatformDataToCachedFrame): * WebView/WebView.mm: (-[WebView _injectMailQuirksScript]): (-[WebView _injectOutlookQuirksScript]): (toStringVector): 2011-05-02 Sam Weinig <sam@webkit.org> Reviewed by Adam Barth. Prune some #includes from DOMWindow.h https://bugs.webkit.org/show_bug.cgi?id=59907 * Plugins/WebBaseNetscapePluginView.mm: * WebView/WebFrame.mm: Add now missing SecurityOrigin.h #includes. 2011-05-01 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Eric Seidel. Get rid of versions of sendContextMenuEvent and eventMayStartDrag that takes NSEvent https://bugs.webkit.org/show_bug.cgi?id=59837 Call sendContextMenuEvent and eventMayStartDrag with PlatformMouseEvent instead of NSEvent. * WebView/WebHTMLView.mm: (-[WebHTMLView menuForEvent:]): (-[WebHTMLView acceptsFirstMouse:]): (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): 2011-05-01 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Eric Seidel. Move currentKeyboardEvent from EventHandlerMac.mm to WebHTMLView.mm https://bugs.webkit.org/show_bug.cgi?id=59835 Moved currentKeyboardEvent. * WebView/WebHTMLView.mm: (currentKeyboardEvent): (-[WebHTMLView becomeFirstResponder]): 2011-04-29 Dean Jackson <dino@apple.com> Reviewed by Simon Fraser. Add ENABLE macro for WebKitAnimation https://bugs.webkit.org/show_bug.cgi?id=59729 Add new feature to toggle WebKit Animation API. * Configurations/FeatureDefines.xcconfig: 2011-04-28 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/59758> Fix static analyzer warnings for missing assignment to 'self' in -init methods Reviewed by Anders Carlsson. * History/WebHistory.mm: (-[WebHistoryPrivate init]): * Misc/WebElementDictionary.mm: (-[WebElementDictionary initWithHitTestResult:]): * Misc/WebIconDatabase.mm: (-[WebIconDatabase init]): * Plugins/WebPluginController.mm: (-[WebPluginController initWithDocumentView:]): * Plugins/WebPluginRequest.m: (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]): * WebCoreSupport/WebEditorClient.mm: (-[WebEditCommand initWithEditCommand:]): * WebCoreSupport/WebJavaScriptTextInputPanel.m: (-[WebJavaScriptTextInputPanel initWithPrompt:text:]): * WebView/WebNavigationData.mm: (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]): 2011-04-28 David Levin <levin@chromium.org> Reviewed by Adam Barth. Remove IMAGE_RESIZER related code. https://bugs.webkit.org/show_bug.cgi?id=59735 * Configurations/FeatureDefines.xcconfig: 2011-04-28 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Remove WML https://bugs.webkit.org/show_bug.cgi?id=59678 Remove WML-related configuration options and private APIs. * Configurations/FeatureDefines.xcconfig: * WebCoreSupport/WebChromeClient.mm: (stringForMessageSource): * WebView/WebFramePrivate.h: * WebView/WebUIDelegatePrivate.h: 2011-04-28 Brian Weinstein <bweinstein@apple.com> Reviewed by Timothy Hatcher. Web Inspector: REGRESSION(85051): Develop Menu items are wrong when inspector is frontmost window https://bugs.webkit.org/show_bug.cgi?id=59747 Restore functions that were removed in r85051. They were needed when the inspector is the frontmost window. Also update them to call _inspectedWebView.get() - since it's a RetainPtr now. * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController showWebInspector:]): (-[WebInspectorWindowController showErrorConsole:]): (-[WebInspectorWindowController toggleDebuggingJavaScript:]): (-[WebInspectorWindowController toggleProfilingJavaScript:]): (-[WebInspectorWindowController validateUserInterfaceItem:]): 2011-04-28 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/59725> -[WebFullscreenWindow initWithContentRect:styleMask:backing:defer:] leaks a CALayer Reviewed by Dan Bernstein. * WebView/WebFullScreenController.mm: (-[WebFullscreenWindow initWithContentRect:styleMask:backing:defer:]): Use a RetainPtr to hold the CALayer and to fix the leak. 2011-04-28 David Kilzer <ddkilzer@apple.com> Follow-up fix: <http://webkit.org/b/59727> -[WebPDFView menuForEvent:] leaks NSMenuItem objects Addresses review comment from Darin Adler. * WebView/WebPDFView.mm: (-[WebPDFView menuForEvent:]): Use a local variable and -release instead of -autorelease. 2011-04-28 Anders Carlsson <andersca@apple.com> Fix a thinko - separateRealmLabel is not an NSImageView. * Panels/WebAuthenticationPanel.h: 2011-04-28 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/59727> -[WebPDFView menuForEvent:] leaks NSMenuItem objects Reviewed by Dan Bernstein. * WebView/WebPDFView.mm: (-[WebPDFView menuForEvent:]): Call -autorelease after copying each NSMenuItem. Regressed in r9566 for Bug 3711. 2011-04-28 Enrica Casucci <enrica@apple.com> Reviewed by Beth Dakin. Momentum scroll tweak for WebKit. https://bugs.webkit.org/show_bug.cgi?id=59723 <rdar://problem/9259933> * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView scrollWheel:]): Changed constant. 2011-04-27 Anders Carlsson <andersca@apple.com> Follow-up Leopard build fix. * Carbon/HIViewAdapter.m: (_webkit_NSView_setNeedsDisplayInRect): 2011-04-27 Anders Carlsson <andersca@apple.com> More clang++ 32-bit build fixes. * Carbon/CarbonWindowAdapter.mm: (-[CarbonWindowAdapter reconcileToCarbonWindowBounds]): (-[CarbonWindowAdapter setContentView:]): (-[CarbonWindowAdapter _handleContentBoundsChanged]): * Carbon/HIViewAdapter.m: (_webkit_NSView_setNeedsDisplayInRect): * Panels/WebAuthenticationPanel.h: * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]): * Plugins/WebNetscapePluginEventHandlerCarbon.mm: (getCarbonEvent): * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::scrollRectIntoView): * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory accessibilityConvertScreenRect:]): * WebView/WebFrameView.mm: (-[WebFrameView _scrollToBeginningOfDocument]): (-[WebFrameView _scrollToEndOfDocument]): * WebView/WebFullScreenController.mm: (-[WebFullScreenController windowDidEnterFullscreen:]): * WebView/WebHTMLView.mm: (-[WebHTMLView _hitViewForEvent:]): (coreGraphicsScreenPointForAppKitScreenPoint): * WebView/WebPDFView.mm: (-[WebPDFView setScrollPoint:]): 2011-04-27 Yury Semikhatsky <yurys@chromium.org> Reviewed by Pavel Feldman. REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector https://bugs.webkit.org/show_bug.cgi?id=44230 Use RetainPtr access inspected view from the inspector one to avoid inspected view being deleted before inspector is closed. * WebCoreSupport/WebInspectorClient.mm: store reference to inspected view in RetainPtr. Despite the removed comment in initWithInspectedWebView this doesn't introduce cyclic reference since there are no retaining pointers to the WebInspectorWindowController from the inspected page or from the WebInspectorClient. There is only one reference to it from WebInspectorFrontendClient which is held by the inspector front-end page. Drive-by fix: removed several unused methods which are currently implemented in mac/WebInspector/WebInspector.mm (-[WebInspectorWindowController initWithInspectedWebView:]): (-[WebInspectorWindowController close]): (-[WebInspectorWindowController showWindow:]): (-[WebInspectorWindowController setAttachedWindowHeight:]): (-[WebInspectorWindowController destroyInspectorView:]): 2011-04-26 Sam Weinig <sam@webkit.org> Reviewed by David Hyatt. Remove Datagrid from the tree https://bugs.webkit.org/show_bug.cgi?id=59543 * Configurations/FeatureDefines.xcconfig: Remove feature. 2011-04-26 Dan Bernstein <mitz@apple.com> Reviewed by Mark Rowe. Choose the compiler based on the Xcode version for Snow Leopard debug builds. * Configurations/Base.xcconfig: * Configurations/CompilerVersion.xcconfig: Added. 2011-04-25 Adam Barth <abarth@webkit.org> Reviewed by David Levin. WebKit2 should play nice with strict OwnPtrs https://bugs.webkit.org/show_bug.cgi?id=59426 Fix include ordering. * WebView/WebDeviceOrientationProviderMock.mm: 2011-04-25 Adam Barth <abarth@webkit.org> Reviewed by David Levin. WebKit1 should build cleanly with strict OwnPtrs https://bugs.webkit.org/show_bug.cgi?id=59424 * History/WebHistoryItem.mm: (-[WebHistoryItem initFromDictionaryRepresentation:]): * Plugins/WebNetscapePluginEventHandler.h: * Plugins/WebNetscapePluginEventHandler.mm: (WebNetscapePluginEventHandler::create): * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView createPlugin]): * WebView/WebDeviceOrientationProviderMock.mm: * WebView/WebTextIterator.mm: (-[WebTextIterator initWithRange:]): 2011-04-25 Jon Lee <jonlee@apple.com> Reviewed by Maciej Stachowiak. Overlay scroller hard to see on pages with dark background (59183) https://bugs.webkit.org/show_bug.cgi?id=59183 <rdar://problem/8975367> * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): adding method to allow changing style 2011-04-23 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r84740. http://trac.webkit.org/changeset/84740 https://bugs.webkit.org/show_bug.cgi?id=59290 change breaks apple internal builds and is incorrect (Requested by smfr on #webkit). * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-04-22 Jon Lee <jonlee@apple.com> Reviewed by Beth Dakin. Overlay scroller hard to see on pages with dark background (59183) https://bugs.webkit.org/show_bug.cgi?id=59183 <rdar://problem/8975367> * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): adding method to allow changing style 2011-04-19 Jer Noble <jer.noble@apple.com> Reviewed by Daniel Bates. Full Screen from within an <iframe> does not cause <iframe> to resize. https://bugs.webkit.org/show_bug.cgi?id=58638 Tests: fullscreen/full-screen-frameset-allowed.html fullscreen/full-screen-frameset-not-allowed.html Return the _element's document instead of the WKView's document, which will be different in the case of elements within <iframe>s. * WebView/WebFullScreenController.mm: (-[WebFullScreenController _document]): 2011-04-22 Jer Noble <jer.noble@apple.com> Reviewed by Maciej Stachowiak. Disable MediaPlayerPrivateAVFoundation when using old full screen mode. https://bugs.webkit.org/show_bug.cgi?id=59147 Add a new user default preference, and plumb that preference down to WebCore Settings. Allow the fullScreenEnabled preference to override the new isAVFoundationEnabled preference, so that clients of the legacy full screen mode will continue to use that mode normally. * WebView/WebPreferenceKeysPrivate.h: Add new preference key. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Set the default value of new preference. (-[WebPreferences setAVFoundationEnabled:]): Added. (-[WebPreferences isAVFoundationEnabled]): Added. * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Update the WebCore settings with the new values from WebPreferences. 2011-04-22 Sam Weinig <sam@webkit.org> Reviewed by Gavin Barraclough. Remove remaining uses of deprecated version of toJS https://bugs.webkit.org/show_bug.cgi?id=59170 * DOM/WebDOMOperations.mm: (-[DOMElement _shadowRoot:]): (-[DOMElement _ensureShadowRoot:]): Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype. 2011-04-21 Maciej Stachowiak <mjs@apple.com> Reviewed by Adam Roben. Add a feature define to allow <details> and <summary> to be disabled https://bugs.webkit.org/show_bug.cgi?id=59118 <rdar://problem/9257045> * Configurations/FeatureDefines.xcconfig: 2011-04-21 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Sam Weinig. Add Frame* to the argument lists of canCopyCut and canPaste https://bugs.webkit.org/show_bug.cgi?id=59153 * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::canCopyCut): (WebEditorClient::canPaste): 2011-04-21 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r82052. http://trac.webkit.org/changeset/82052 https://bugs.webkit.org/show_bug.cgi?id=59135 New full screen api should be opt-in, not opt-out. (Requested by jernoble on #webkit). * WebView/WebPreferences.mm: (+[WebPreferences initialize]): 2011-04-21 Beth Dakin <bdakin@apple.com> Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=59048 Need to track whether overlay scrollbar is currently visible and in lower- righthand corner -and corresponding- <rdar://problem/9211232> A new WebSystemInterface is needed for this. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-04-21 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. SVG feDropShadow implementation of SVG Filters 1.2 https://bugs.webkit.org/show_bug.cgi?id=52513 * MigrateHeaders.make: 2011-04-20 Dominic Cooney <dominicc@chromium.org> Reviewed by Dimitri Glazkov. layoutTestController can create and destroy shadow DOM https://bugs.webkit.org/show_bug.cgi?id=59058 Support for new methods in Mac DRT. * DOM/WebDOMOperations.mm: (-[DOMElement _ensureShadowRoot:]): (-[DOMElement _removeShadowRoot]): * DOM/WebDOMOperationsPrivate.h: 2011-04-20 Eric Carlson <eric.carlson@apple.com> Reviewed by Dan Bernstein. Adopt QTKit API for listing and deleting file in its media cache. <rdar://problem/9130029> * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize new functions. 2011-04-19 Matthew Delaney <mdelaney@apple.com> Reviewed by Simon Fraser. WebPreferences in WebKit1 should have CanvasUsesAcceleratedDrawing set to NO by default https://bugs.webkit.org/show_bug.cgi?id=58936 * WebView/WebPreferences.mm: (+[WebPreferences initialize]): 2011-04-19 Vsevolod Vlasov <vsevik@chromium.org> Reviewed by Pavel Feldman. Web Inspector: Rename lengthReceived to encodedDataLength/dataLength https://bugs.webkit.org/show_bug.cgi?id=58883 * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchDidReceiveContentLength): 2011-04-18 Jia Pu <jpu@apple.com> Reviewed by Mark Rowe. WebKit needs to stop importing <AppKit/NSTextChecker.h> https://bugs.webkit.org/show_bug.cgi?id=58798 <rdar://problem/9294938> Use public header <AppKit/NSSpellChecker.h> instead. * WebCoreSupport/CorrectionPanel.h: * WebCoreSupport/CorrectionPanel.mm: (correctionIndicatorType): (CorrectionPanel::show): (CorrectionPanel::dismissInternal): (CorrectionPanel::handleAcceptedReplacement): * WebCoreSupport/WebEditorClient.mm: * WebView/WebView.mm: 2011-04-17 Cameron Zwarich <zwarich@apple.com> Reviewed by Timothy Hatcher. Stop using -[NSString initWithContentsOfFile:] https://bugs.webkit.org/show_bug.cgi?id=58763 -[NSString initWithContentsOfFile:] was deprecated in 10.4, so we should stop using it. * WebView/WebView.mm: (leakMailQuirksUserScriptContents): (leakOutlookQuirksUserScriptContents): 2011-04-17 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting <rdar://problem/9268729> Reviewed by Dan Bernstein. This replaces support for the WebKitEnableHTTPPipelining user default with methods on the WebCore::ResourceRequest class in WebCore, the WebView class in WebKit1, and the WebContext class in WebKit2. It also removes support for the WebKitForceHTTPPipeliningPriorityHigh user default which was not needed. * WebView/WebView.mm: (+[WebView(WebPrivate) _HTTPPipeliningEnabled]): Added. (+[WebView(WebPrivate) _setHTTPPipeliningEnabled:]): Added. * WebView/WebViewPrivate.h: (+[WebView(WebPrivate) _HTTPPipeliningEnabled]): Added declaration. (+[WebView(WebPrivate) _setHTTPPipeliningEnabled:]): Added declaration. 2011-04-17 Joseph Pecoraro <joepeck@webkit.org> Reviewed by Dan Bernstein. Assign to self in WebInspectorWindowController constructors https://bugs.webkit.org/show_bug.cgi?id=58749 * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController init]): (-[WebInspectorWindowController initWithInspectedWebView:]): 2011-04-17 Joseph Pecoraro <joepeck@webkit.org> Reviewed by Timothy Hatcher. Move WebNodeHighlighter into its own file https://bugs.webkit.org/show_bug.cgi?id=58746 Extract this class into its own file alongside the other WebNodeHighlight files. In doing so do some cleanup on WebInspectorClient removing some methods that were never called. * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::WebInspectorClient): style fix. * WebInspector/WebNodeHighlighter.h: Added. * WebInspector/WebNodeHighlighter.mm: Added. (-[WebNodeHighlighter initWithInspectedWebView:]): call super init. (-[WebNodeHighlighter dealloc]): (-[WebNodeHighlighter highlightNode:]): (-[WebNodeHighlighter hideHighlight]): (-[WebNodeHighlighter didAttachWebNodeHighlight:]): (-[WebNodeHighlighter willDetachWebNodeHighlight:]): 2011-04-15 Jia Pu <jpu@apple.com> Reviewed by Dan Bernstein. [Mac] WebKit needs to convert the bounding box of autocorrected word to view coordinate. https://bugs.webkit.org/show_bug.cgi?id=58717 Convert the bounding box from window coordinate to view coordinate, which is expected by NSCorrectionPanel. * WebCoreSupport/CorrectionPanel.mm: (CorrectionPanel::show): 2011-04-15 Shishir Agrawal <shishir@chromium.org> Reviewed by James Robinson. Add a flag to guard Page Visibility API changes. https://bugs.webkit.org/show_bug.cgi?id=58464 * Configurations/FeatureDefines.xcconfig: 2011-04-15 Oliver Hunt <oliver@apple.com> GC allocate Structure https://bugs.webkit.org/show_bug.cgi?id=58483 Rolling r83894 r83827 r83810 r83809 r83808 back in with a workaround for the gcc bug seen by the gtk bots * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyRuntimeMethod::createStructure): * Plugins/Hosted/ProxyRuntimeObject.h: (WebKit::ProxyRuntimeObject::createStructure): 2011-04-14 Alexey Proskuryakov <ap@apple.com> Reviewed by Dan Bernstein. WebKit2: Password field input does not switch to ASCII-compatible source https://bugs.webkit.org/show_bug.cgi?id=58583 <rdar://problem/9059651> Now that WebCore doesn't set secure input mode, WebKit has to. Happily, it already has the necessary logic, needed to return a nil text input context when in password fields. * WebView/WebHTMLView.mm: (-[WebHTMLView close]): If the view is still enforcing secure event mode, stop. (-[WebHTMLView windowDidBecomeKey:]): Call _updateSecureInputState. (-[WebHTMLView windowDidResignKey:]): Ditto. (-[WebHTMLView becomeFirstResponder]): Call _updateSecureInputState. It's a bit tricky because the first responder is still different an this point, so set a boolean variable to let _updateSecureInputState know what's going on. (-[WebHTMLView resignFirstResponder]): Disable secure event mode if it's on. (-[WebHTMLView _updateSecureInputState]): Update HIToolbox secure event input state and allowed input sources accorsing to current selection. (-[WebHTMLView _updateSelectionForInputManager]): Call _updateSecureInputState. 2011-04-15 Sam Weinig <sam@webkit.org> Reviewed by Maciej Stachowiak. Make mac WebKit1 use the default localization strategy https://bugs.webkit.org/show_bug.cgi?id=58628 * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: Remove the localization strategy code. The equivalent is now in WebCore/platform/DefaultLocalizationStrategy.cpp. 2011-04-15 Anna Cavender <annacc@chromium.org> Reviewed by Eric Carlson. Renaming TRACK feature define to VIDEO_TRACK https://bugs.webkit.org/show_bug.cgi?id=53556 * Configurations/FeatureDefines.xcconfig: 2011-04-14 Pratik Solanki <psolanki@apple.com> Reviewed by David Kilzer. Set minimum priority for fast lane connections https://bugs.webkit.org/show_bug.cgi?id=58353 * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Support for new WKSI method WKSetHTTPPipeliningMinimumFastLanePriority. 2011-04-13 Sam Weinig <sam@webkit.org> Reviewed by Gavin Barraclough. WebKit2 doesn't keep overlay scrollers shown while scroll gesture held <rdar://problem/9260518> * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize new WKSI functions. 2011-04-13 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/58172> Fix -Wcast-align warning in WebBasePluginPackage.mm Reviewed by Anders Carlsson. Fixes the following warning with -Wcast-align enabled: Source/WebKit/mac/Plugins/WebBasePluginPackage.mm:402:21:{402:21-402:93}{402:39-402:93}: error: cast from 'uint8_t *' (aka 'unsigned char *') to 'struct fat_arch *' increases required alignment from 1 to 4 [-Werror,-Wcast-align,3] archs = (struct fat_arch*)((uint8_t*)rawData.data() + sizeof(struct fat_header)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage isNativeLibraryData:]): Added COMPILE_ASSERT() to make sure our pointer math is valid. Removed cast to (uint8_t*) and divide sizeof(struct fat_header) by sizeof(uint32_t) to fix the pointer math. Replaced C-style casts with reinterpret_cast. 2011-04-12 Enrica Casucci <enrica@apple.com> Reviewed by Alexey Proskuryakov. Infinite recursion in WebHTMLView executeSavedKeypressCommands. https://bugs.webkit.org/show_bug.cgi?id=58382 <rdar://problem/9239370> Execution of some editing commands could trigger a call to selectedRange that internally calls executeSavedKeypressCommands creating an infinite recursion. * WebView/WebHTMLView.mm: (-[WebHTMLView _executeSavedKeypressCommands]): Added a flag to avoid recursion. (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Added flag initialization. 2011-04-12 Alice Liu <alice.liu@apple.com> Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=58292 Provide new setting to allow site icon loading despite disabling automatic image loading in general. * WebView/WebPreferenceKeysPrivate.h: Add preference key. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Initialize to false. (-[WebPreferences setLoadsSiteIconsIgnoringImageLoadingPreference:]): Added. (-[WebPreferences loadsSiteIconsIgnoringImageLoadingPreference]): Added. * WebView/WebPreferencesPrivate.h: Add setter/getter definitions. * WebView/WebView.mm: (-[WebView _preferencesChanged:]): Add to settings that get propagated upon changes. 2011-04-11 Alexey Proskuryakov <ap@apple.com> Reviewed by Maciej Stachowiak. WebKit2: Safari doesn't respect cmd-arrows (and variations) as custom keyboard shortcuts https://bugs.webkit.org/show_bug.cgi?id=58175 <rdar://problem/9060555> * WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Added a comment explaining how this should be changed to match WebKit2. 2011-04-06 Timothy Hatcher <timothy@apple.com> Fix a bug where the context menu does not show in PDF documents if there is no UI delegate or the UI delegate does not respond to the context menu selector. https://webkit.org/b/57958 Reviewed by Darin Adler. * WebView/WebView.mm: (-[WebView _menuForElement:defaultItems:]): CallUIDelegate returns nil if UIDelegate is nil or doesn't respond to the selector. So check that here to distinguish between using defaultMenuItems or the delegate really returning nil to say "no context menu". 2011-04-11 Jer Noble <jer.noble@apple.com> Unreviewed; roll out unintentional change to WebFullScreenController.mm. * WebView/WebFullScreenController.mm: (-[WebFullScreenController enterFullscreen:]): 2011-04-08 Geoffrey Garen <ggaren@apple.com> Reviewed by Oliver Hunt. A few heap-related renames and file moves. WeakGCPtr<T> => Weak<T> Global<T> => Strong<T> collector/ => heap/ collector/* => heap/* runtime/WeakGCPtr.h => heap/Weak.h (Eventually, even more files should move into the heap directory. Like Heap.h and Heap.cpp, for example.) * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject): (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): (WebKit::NetscapePluginInstanceProxy::evaluate): * WebView/WebScriptDebugger.h: 2011-04-08 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. WebKit2: Safari doesn't respect cmd-arrows (and variations) as custom keyboard shortcuts https://bugs.webkit.org/show_bug.cgi?id=58175 <rdar://problem/9060555> * WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Added a comment explaining how this should be changed to match WebKit2. 2011-04-08 Alpha Lam <hclam@chromium.org> Unreviewed, rolling out r83335. http://trac.webkit.org/changeset/83335 https://bugs.webkit.org/show_bug.cgi?id=53556 GTK and QT bots are broken * Configurations/FeatureDefines.xcconfig: 2011-04-07 Anna Cavender <annacc@chromium.org> Reviewed by Eric Carlson. Setup ENABLE(TRACK) feature define https://bugs.webkit.org/show_bug.cgi?id=53556 * Configurations/FeatureDefines.xcconfig: 2011-04-08 Maciej Stachowiak <mjs@apple.com> Reviewed by Darin Adler. -[WebView setPreferences:] can take a lot of time if loading lots of webviews at once https://bugs.webkit.org/show_bug.cgi?id=58128 <rdar://problem/9244553> The root of the problem here was an O(N^2) issue - each WebView, upon having its preferences initialized, would broadcast a notification that was listened to by all other WebViews sharing its preferences. To maintain the API contract, I split the notification into two, one that is for public API consumption, and the other which is for internal use only. Changes that don't need to be picked up by other WebViews broadcast the public notification only. And we avoid WebView broadcasting a notification just to get itself to update. * Misc/WebIconDatabase.mm: (-[WebIconDatabase _startUpIconDatabase]): (-[WebIconDatabase _shutDownIconDatabase]): * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]): (-[WebBaseNetscapePluginView viewDidMoveToWindow]): (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]): * WebView/WebPreferences.mm: (-[WebPreferences initWithIdentifier:]): (-[WebPreferences _setStringValue:forKey:]): (-[WebPreferences _setIntegerValue:forKey:]): (-[WebPreferences _setFloatValue:forKey:]): (-[WebPreferences _setBoolValue:forKey:]): (-[WebPreferences _setLongLongValue:forKey:]): (-[WebPreferences _setUnsignedLongLongValue:forKey:]): (-[WebPreferences _postPreferencesChangedNotification]): (-[WebPreferences _postPreferencesChangedAPINotification]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView _preferencesChangedNotification:]): (-[WebView _preferencesChanged:]): (-[WebView setUsesPageCache:]): (+[WebView initialize]): (-[WebView setPreferences:]): (-[WebView _keyboardUIMode]): * WebView/WebViewInternal.h: 2011-04-07 Andrew Scherkus <scherkus@chromium.org> Revert ENABLE_TRACK patch due to compile failures. * Configurations/FeatureDefines.xcconfig: 2011-04-07 Alexey Proskuryakov <ap@apple.com> Reviewed by Anders Carlsson. REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri https://bugs.webkit.org/show_bug.cgi?id=58066 <rdar://problem/8965302> * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): * WebView/WebHTMLView.mm: (-[WebHTMLView attributedSubstringFromRange:]): (-[WebHTMLView attributedString]): (-[WebHTMLView selectedAttributedString]): Updated for editingAttributedStringFromRange: now taking a WebCore::Range instead of DOMRange. 2011-04-07 Andy Estes <aestes@apple.com> Reviewed by Darin Adler. REGRESSION (r64712): Microsoft Outlook 2011: original message contents not included when replying to an email. https://bugs.webkit.org/show_bug.cgi?id=57794 Outlook populates a reply message by creating an empty WebView and using DOM API to populate the WebView's empty document with content from the original message. It expects the initial empty document to simply be "<html></html>", and it proceeds to dynamically create and append a BODY node and add the original message content as a child of that node. Outlook then takes the innerHTML of the frame's first body element and copies it into a *new* document that is displayed and edited in the reply message window. Due to implementing the HTML5 tree building algorithm in r64712, initial empty documents went from being "<html></html>" to being "<html><head></head><body></body></html>". Outlook still dynamically creates a BODY node to parent the original message content, but this BODY node duplicates the one created by the tree builder. When Outlook then takes the innerHTML of the first body element to populate the reply message window it gets the empty body element created by the parser, not the one it created with the original message content. Fix this by injecting a user script into the initial empty document that removes the HEAD and BODY nodes created by the parser. This ensures that the BODY created by Outlook is the only BODY in the document. * Misc/OutlookQuirksUserScript.js: Added. * WebView/WebView.mm: (leakMailQuirksUserScriptContents): (-[WebView _injectMailQuirksScript]): (needsOutlookQuirksScript): (leakOutlookQuirksUserScriptContents): (-[WebView _injectOutlookQuirksScript]): (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): 2011-04-06 Dai Mikurube <dmikurube@chromium.org> Reviewed by David Levin. Add QUOTA build flag for unified quota API https://bugs.webkit.org/show_bug.cgi?id=57918 * Configurations/FeatureDefines.xcconfig: Added QUOTA build flag 2011-04-06 Robert Sesek <rsesek@chromium.org> Reviewed by Alexey Proskuryakov. Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too https://bugs.webkit.org/show_bug.cgi?id=54969 * WebView/WebFrame.mm: (-[WebFrame _convertToNSRange:]): Moved duplicated code to WebCore (-[WebFrame _characterRangeAtPoint:]): Moved duplicated code to WebCore 2011-04-05 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. Move attributedStringFromRange down to WebCore https://bugs.webkit.org/show_bug.cgi?id=57905 * Misc/WebNSAttributedStringExtras.h: Removed. * Misc/WebNSAttributedStringExtras.mm: Removed. * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): * WebView/WebHTMLView.mm: (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): (-[WebHTMLView attributedSubstringFromRange:]): (-[WebHTMLView attributedString]): (-[WebHTMLView selectedAttributedString]): * WebView/WebPDFView.mm: (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]): 2011-04-04 MORITA Hajime <morrita@google.com> Reviewed by Ryosuke Niwa. [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult https://bugs.webkit.org/show_bug.cgi?id=56085 Removed NSTextCheckingResult to SpellCheckingResult convertion, and extracted NSTextCheckingResult to TextCheckingResult convertio from checkTextOfParagraph method. for requestCheckingOfString method. * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (toCoreTextCheckingResults): (WebEditorClient::checkTextOfParagraph): (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:types:WebCore::results:]): (-[WebEditorSpellCheckResponder perform]): (WebEditorClient::requestCheckingOfString): * WebView/WebFrame.mm: (-[WebFrame markersForSelectionStartAsText]): * WebView/WebFramePrivate.h: 2011-04-05 Anders Carlsson <andersca@apple.com> Didn't mean to land this. * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView getVariable:value:]): 2011-04-04 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match Reviewed by Alexey Proskuryakov. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Added initialization for wkSetHTTPPipeliningMaximumPriority(). 2011-04-04 Alexey Proskuryakov <ap@apple.com> Reviewed by Dan Bernstein. REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2 https://bugs.webkit.org/show_bug.cgi?id=51230 <rdar://problem/8780989> * WebView/WebHTMLView.mm: (-[WebHTMLView flagsChanged:]): Moved Caps Lock handling from WebKits to WebCore, because WebKit shouldn't be smart. 2011-04-01 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. REGRESSION: Assertion failure when executing a complex custom key binding https://bugs.webkit.org/show_bug.cgi?id=57681 * WebView/WebHTMLView.mm: (-[WebHTMLView hasMarkedText]): There is no need to execute saved commands when they can't possibly change the result. 2011-04-01 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Shockwave plug-in doesn't accept mouse events https://bugs.webkit.org/show_bug.cgi?id=57653 <rdar://problem/8483273> Fix an unrelated bug found by the added test. * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]): Make sure to always set destX and destY. 2011-04-01 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. Make WebKit2 text input handling more like WebKit1 https://bugs.webkit.org/show_bug.cgi?id=57649 * WebView/WebFrameInternal.h: Expose _convertToDOMRange for use in WebHTMLView. * WebView/WebHTMLView.mm: (-[WebHTMLView _executeSavedKeypressCommands]): Renamed, since these are not editor commands. (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Updated for the renamed _executeSavedKeypressCommands. (-[WebHTMLView characterIndexForPoint:]): Ditto. (-[WebHTMLView firstRectForCharacterRange:]): Ditto. (-[WebHTMLView selectedRange]): Ditto. (-[WebHTMLView markedRange]): Ditto. (-[WebHTMLView attributedSubstringFromRange:]): Ditto. (-[WebHTMLView hasMarkedText]): Ditto. (-[WebHTMLView unmarkText]): Ditto. (-[WebHTMLView setMarkedText:selectedRange:]): Ditto. Changed the comment about the argument type into an assertion. Removed resetting interpretKeyEventsParameters to 0, as we shouldn't be able to call text input protocol methods from here (and we didn't even reset it back on return). Changed to retrieve all data before starting to apply actions to better match WK2 code. (-[WebHTMLView insertText:]): Ditto. 2011-04-01 Timothy Hatcher <timothy@apple.com> Make momentum scroll event latching work in WebKit2 on Mac. <rdar://problem/8751861> Reviewed by Darin Adler. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Remove IsLatchingWheelEvent, add GetNSEventMomentumPhase. * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView scrollWheel:]): Use WKGetNSEventMomentumPhase to set isLatchingEvent. 2011-03-31 Darin Adler <darin@apple.com> Reviewed by Anders Carlsson. Assertion failure in -[WebHTMLView _handleStyleKeyEquivalent:] https://bugs.webkit.org/show_bug.cgi?id=26667 * WebView/WebHTMLView.mm: (-[WebHTMLView _handleStyleKeyEquivalent:]): Handle the case where WebView is nil rather than asserting that it is non-nil. One case where WebView will be nil is when the frame is closed, but in any case where it is nil, the correct thing to do is to not try to handle the style key. 2011-03-31 Alexey Proskuryakov <ap@apple.com> Patch by John Harvey, reviewed and tweaked by me. <rdar://problem/8644403> Should notify TSM that plug-ins would show a bottom input window for marked text. * Plugins/Hosted/WebTextInputWindowController.m: (-[WebTextInputPanel _interpretKeyEvent:string:]): 2011-03-31 Evan Martin <evan@chromium.org> Reviewed by Eric Seidel. <title> should support dir attribute https://bugs.webkit.org/show_bug.cgi?id=50961 Update to new FrameLoaderClient interface. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchDidReceiveTitle): (WebFrameLoaderClient::setTitle): 2011-03-30 Dominic Cooney <dominicc@google.com> Reviewed by Dimitri Glazkov. Adds layoutTestController.shadowRoot accessor to Mac DRT. https://bugs.webkit.org/show_bug.cgi?id=57415 * DOM/WebDOMOperations.mm: (-[DOMElement _shadowRoot:]): * DOM/WebDOMOperationsPrivate.h: 2011-03-30 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. WebHTMLView shouldn't resend noop: commands https://bugs.webkit.org/show_bug.cgi?id=57504 <rdar://problem/9209390> * WebView/WebHTMLView.mm: (-[WebHTMLView _executeSavedEditingCommands]): Filter out NOOPs, which we get e.g. when handling Cmd-key combos. 2011-03-30 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. REGRESSION (r82320): Spacebar no longer pages down https://bugs.webkit.org/show_bug.cgi?id=57423 <rdar://problem/9207702> Also includes some unrelated cleanup that I had in my tree. * WebView/WebHTMLView.mm: (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Added an assertion that the event is being dispatched to the right frame. (-[WebHTMLView setMarkedText:selectedRange:]): Use 0 for a pointer, not NULL. (-[WebHTMLView doCommandBySelector:]): Update eventInterpretationHadSideEffects with "|=". Even if this specific command hasn't been handled, that doesn't nullify side effects from previous commands. (-[WebHTMLView insertText:]): Besides looking at the return value of insertText() to fix the bug, removed setting _private->interpretKeyEventsParameters to 0. I don't see any way for another WebHTMLView NSTextInput method to be called from within insertText:, so no one is going to look at it. 2011-03-30 Sam Weinig <sam@webkit.org> Reviewed by Brady Eidson. WebKit2: Attempting to view css file from url causes it to download <rdar://problem/9102611> https://bugs.webkit.org/show_bug.cgi?id=57501 * WebView/WebHTMLRepresentation.h: * WebView/WebHTMLRepresentation.mm: (+[WebHTMLRepresentation unsupportedTextMIMETypes]): * WebView/WebHTMLView.mm: (+[WebHTMLView unsupportedTextMIMETypes]): Re-factor unsupportedTextMIMETypes to pull from WebCore's MIMETypeRegistry, so that the list can be shared with WebKit2. 2011-03-29 Beth Dakin <bdakin@apple.com> Reviewed by Maciej Stachowiak. Fix for https://bugs.webkit.org/show_bug.cgi?id=57408 webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard -and corresponding- <rdar://problem/8665411> * Misc/WebNSControlExtras.m: (-[NSControl sizeToFitAndAdjustWindowHeight]): * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::scaleFactor): * WebView/WebHTMLView.mm: (-[WebHTMLView viewDidMoveToWindow]): (-[WebHTMLView attachRootLayer:]): 2011-03-29 Kent Tamura <tkent@chromium.org> Reviewed by Dimitri Glazkov. Make validation message bubble testable https://bugs.webkit.org/show_bug.cgi?id=57290 * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Copy the private value of the timer magnification to WebCore::Settings. (-[WebView validationMessageTimerMagnification]): Added. (-[WebView setValidationMessageTimerMagnification:]): Added. * WebView/WebViewData.h: Declare a member for the timer magnification. * WebView/WebViewData.mm: (-[WebViewPrivate init]): Initialize the timer magnification. * WebView/WebViewPrivate.h: Declare a setter and a getter for the timer magnification. 2011-03-29 Kent Tamura <tkent@chromium.org> Reviewed by Dimitri Glazkov. [Mac] Enable interactive-validation tests on Mac DRT https://bugs.webkit.org/show_bug.cgi?id=57308 * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Convey a WebView flag for interactive validation to WebCore::Settings. (-[WebView interactiveFormValidationEnabled]): Added. (-[WebView setInteractiveFormValidationEnabled:]): Added. * WebView/WebViewData.h: Add interactiveFormValidationEnabled. * WebView/WebViewData.mm: (-[WebViewPrivate init]): Initialize interactiveFormValidationEnabled. * WebView/WebViewPrivate.h: Add setter and getter for interactiveFormValidationEnabled. 2011-03-29 Timothy Hatcher <timothy@apple.com> Update the order of the context menu to better match AppKit on Mac. <rdar://problem/9054893> Reviewed by John Sullivan. * DefaultDelegates/WebDefaultContextMenuDelegate.mm: (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): Update the order of items. * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::contextMenuItemTagLookUpInDictionary): Added argument for selected string. 2011-03-29 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=57379 Clean up WK1 key event handling logic No bugs knowingly fixed, but this makes the code more consistent. * WebView/WebHTMLView.mm: (struct WebHTMLViewInterpretKeyEventsParameters): Renamed eventWasHandled to eventInterpretationHadSideEffects, because "handled" doesn't really mean much. (-[WebHTMLView _executeSavedEditingCommands]): Factored out from _interpretKeyEvent for use from other functions. We need to execute saved commands when an input method asks for current state, because providing stale state could confuse it. (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Heavily commented, and updated for other changes. (-[WebHTMLView characterIndexForPoint:]): Call _executeSavedEditingCommands, because otherwise, the answer would be stale. (-[WebHTMLView firstRectForCharacterRange:]): Ditto. (-[WebHTMLView selectedRange]): Ditto. (-[WebHTMLView markedRange]): Ditto. (-[WebHTMLView attributedSubstringFromRange:]): Ditto. (-[WebHTMLView hasMarkedText]): Ditto. (-[WebHTMLView unmarkText]): Call _executeSavedEditingCommands, because otherwise, we'd be operating on stale data. Also, updated for eventWasHandled renaming. (-[WebHTMLView setMarkedText:selectedRange:]): Ditto. (-[WebHTMLView doCommandBySelector:]): Removed special handling for noop:. I verified that it's no longer needed for bug 14522, presumably due to WebCore level changes. It was also fragile, because there is no guarantee about when noop: is sent (also, a custom key binding could have a noop: as one of its commands, although that's hardly practical). Added the same "from input method" logic that we have in insertText: - I don't know of any IMs that call this method, but we clearly need to execute it as part of IM processing when there is marked text. (-[WebHTMLView insertText:]): Removed a confusing check for [text length]. Always set eventInterpretationHadSideEffects to true, becasue there is no reason to try multiple times if current selection isn't editable. This is different from doCommandBySelector:, where we need to give super class a chance to handle the event if our processing fails. Removed a nonsense "consumedByIM = true" assignment - we no longer need it now that the return value of _interpretKeyEvent is computed differently. 2011-03-28 Adele Peterson <adele@apple.com> Reviewed by Eric Seidel. Fix for <rdar://problem/9112694> REGRESSION (r79411): "Check grammar with spelling" context menu doesn't check as you type https://bugs.webkit.org/show_bug.cgi?id=57173 * WebView/WebFrame.mm: (-[WebFrame hasSpellingMarker:length:]): Call new selectionStartHasMarkerFor method instead of selectionStartHasSpellingMarkerFor. (-[WebFrame hasGrammarMarker:length:]): Call new selectionStartHasMarkerFor method. * WebView/WebFramePrivate.h: Add hasGrammarMarker so grammar marking can be tested. 2011-03-28 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=57260 Clean up text input code a little * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyboardEvent): (WebEditorClient::handleInputMethodKeydown): * WebView/WebHTMLViewInternal.h: Renamed _interceptEditingKeyEvent:shouldSaveCommand:, becasue it doesn't really intercept anything. It's just a version it interpretKeyEvents: that tells us whether it was handled, and also possibly saves resulting commands for later execution. * WebView/WebHTMLView.mm: (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Changed to use early return. Changed return value in case platformEvent is null to be less mysterious. Moved receivedNOOP from WebHTMLViewPrivate to WebHTMLViewInterpretKeyEventsParameters, as this is just part of event handling state, like the other booleans there. Don't call interpretKeyEvents: again simply because the first call resulted in no saved commands, becasue it's confusing and apparently useless (I couldn't find any broken behavior). (-[WebHTMLView unmarkText]): Cleaned upo BOOL vs. bool constants. (-[WebHTMLView setMarkedText:selectedRange:]): Ditto. (-[WebHTMLView doCommandBySelector:]): Ditto. (-[WebHTMLView insertText:]): Ditto. * WebView/WebViewInternal.h: There was no _interceptEditingKeyEvent:shouldSaveCommand: method on WebView. 2011-03-27 Jer Noble <jer.noble@apple.com> Reviewed by Maciej Stachowiak. Full Screen: disable keyboard access by default https://bugs.webkit.org/show_bug.cgi?id=56684 Take into account whether keyboard access was requested when deciding whether full screen mode is supported. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::supportsFullScreenForElement): * WebView/WebView.mm: (-[WebView _supportsFullScreenForElement:WebCore::withKeyboard:]): * WebView/WebViewInternal.h: 2011-03-26 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Enable the Full Screen API by default in WebKit/mac and WebKit2 https://bugs.webkit.org/show_bug.cgi?id=56956 * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Default the WebKitFullScreenEnabled preference to true. 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 Update objectContentType() implementation to handle the shouldPreferPlugInsForImages flag. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::objectContentType): 2011-03-24 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r81939. http://trac.webkit.org/changeset/81939 https://bugs.webkit.org/show_bug.cgi?id=57084 Rolling out 81939, as it's causing a number of app cache test failures. (Requested by jernoble on #webkit). * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2011-03-23 Jer Noble <jer.noble@apple.com> Reviewed by Maciej Stachowiak. Application Cache should save audio/ and video/ mime types as flat files https://bugs.webkit.org/show_bug.cgi?id=53784 <rdar://problem/8932473> No new tests. Initialize the AppCache Total size quotas with the values for WebKitPreferences upon startup. * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2011-03-24 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r81916 and r81917. http://trac.webkit.org/changeset/81916 http://trac.webkit.org/changeset/81917 https://bugs.webkit.org/show_bug.cgi?id=57071 broke a test on platforms that do not have QuickTime installed (Requested by estes on #webkit). * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::objectContentType): 2011-03-24 Andy Estes <aestes@apple.com> Reviewed by Darin Adler. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 Update objectContentType() implementation to handle the shouldPreferPlugInsForImages flag. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::objectContentType): 2011-03-24 Geoffrey Garen <ggaren@apple.com> Reviewed by Oliver Hunt. Ensure that all compilation takes place within a dynamic global object scope https://bugs.webkit.org/show_bug.cgi?id=57054 * WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame evaluateWebScript:]): Updated for signature change. 2011-03-24 Jia Pu <jpu@apple.com> Reviewed by Darin Adler. Dismissed reversion suggestion is incorrectly learned. https://bugs.webkit.org/show_bug.cgi?id=57039 CorrectionPanel should always use [NSSpellChecker dismissCorrectionBubbleForView]. [NSSpellChecker cancelCorrectionBubbleForView] is reserved for situation where correction panel is dismissed explicitly by ESC key or clicking the dimiss button. Misusing these causes incorrect automatic learning. * WebCoreSupport/CorrectionPanel.mm: (CorrectionPanel::dismissInternal): 2011-03-24 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/56993> ENABLE_PLUGIN_PROXY_FOR_VIDEO should be defined to 0 on Mac OS X Reviewed by Joseph Pecoraro. * Plugins/WebPluginContainerPrivate.h: Changed value of ENABLE_PLUGIN_PROXY_FOR_VIDEO from 1 to 0. 2011-03-23 Jia Pu <jpu@apple.com> Reviewed by Darin Adler. Hook up new AppKit autocorrection UI with WK2. https://bugs.webkit.org/show_bug.cgi?id=56055 <rdar://problem/8947463> Please see WebCore/ChangeLog for detail. * WebCoreSupport/CorrectionPanel.h: Added. (CorrectionPanel::isShowing): * WebCoreSupport/CorrectionPanel.mm: Added. (correctionBubbleType): (CorrectionPanel::CorrectionPanel): (CorrectionPanel::~CorrectionPanel): (CorrectionPanel::show): (CorrectionPanel::dismiss): (CorrectionPanel::dismissSoon): (CorrectionPanel::dismissInternal): (CorrectionPanel::recordAutocorrectionResponse): * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::WebEditorClient): (WebEditorClient::showCorrectionPanel): (WebEditorClient::dismissCorrectionPanel): (WebEditorClient::dismissCorrectionPanelSoon): (WebEditorClient::recordAutocorrectionResponse): * WebView/WebView.mm: (-[WebView handleCorrectionPanelResult:]): * WebView/WebViewPrivate.h: 2011-03-23 Enrica Casucci <enrica@apple.com> Reviewed by Alexey Proskuryakov. Services menu item to convert selected Simplified/Traditional Chinese Text is not working. https://bugs.webkit.org/show_bug.cgi?id=56974 <rdar://problem/8284642> This fixes a regression introduced by http://trac.webkit.org/changeset/61794 where readSelectionFromPasteboard was accidentally removed. This method and writeSelectionToPasteboard are needed to support Mac OS X services. * WebView/WebHTMLView.mm: (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Added. (-[WebHTMLView readSelectionFromPasteboard:]): Added. 2011-03-23 Brady Eidson <beidson@apple.com> Reviewed by Sam Weinig. Change IconDatabase opening to allow for arbitrary filenames https://bugs.webkit.org/show_bug.cgi?id=56977 * Misc/WebIconDatabase.mm: (-[WebIconDatabase _startUpIconDatabase]): 2011-03-22 Anton D'Auria <adauria@apple.com> Reviewed by Alexey Proskuryakov. Add +[WebApplicationCache getOriginsWithCache] https://bugs.webkit.org/show_bug.cgi?id=56722 Call existing WebCore::ApplicationCacheStorage::getOriginsWithCache API. * WebCoreSupport/WebApplicationCache.h: * WebCoreSupport/WebApplicationCache.mm: (+[WebApplicationCache originsWithCache]): 2011-03-22 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. OBJECT element with DivX source is always downloaded https://bugs.webkit.org/show_bug.cgi?id=56879 * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage getPluginInfoFromPLists]): Always try to split every element in the "WebPluginExtensions" array, since the DivX plug-in specifies multiple file extensions in a single element. 2011-03-22 Brady Eidson <beidson@apple.com> Reviewed by Sam Weinig. <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56876 WK2 Icon DB: Expand IconDatabaseClient interface and move it to the main thread Note that while the new client calls always come through on the main thread, our mechanisms to route dispatches to the main thread are still valid and will still work. Update to the new IconDatabaseClient interface: * WebCoreSupport/WebIconDatabaseClient.h: * WebCoreSupport/WebIconDatabaseClient.mm: (WebIconDatabaseClient::didRemoveAllIcons): (WebIconDatabaseClient::didImportIconURLForPageURL): (WebIconDatabaseClient::didImportIconDataForPageURL): (WebIconDatabaseClient::didChangeIconForPageURL): (WebIconDatabaseClient::didFinishURLImport): 2011-03-22 Matthew Delaney <mdelaney@apple.com> Reviewed by Simon Fraser. Have WebKit push acceleratedDrawing preferences to settings https://bugs.webkit.org/show_bug.cgi?id=56792 * WebView/WebView.mm: 2011-03-21 Nate Chapin <japhet@chromium.org> Reviewed by Brady Eidson. Expose a preference to use caching quirks for QuickLook, and use it if the QuickLook framework is loaded. https://bugs.webkit.org/show_bug.cgi?id=38690 * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (useQuickLookQuirks): (+[WebPreferences initialize]): (-[WebPreferences useQuickLookResourceCachingQuirks]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2011-03-21 Chris Fleizach <cfleizach@apple.com> Reviewed by Darin Adler. AX: showContextMenu not working in WK2 https://bugs.webkit.org/show_bug.cgi?id=56734 Implement showContextMenu() so accessibility related code can call this independent of whether WK1 or WK2 is running. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::showContextMenu): 2011-03-21 Chang Shu <cshu@webkit.org> Reviewed by Alexey Proskuryakov. REGRESSION (r79953): Can't type in MS Outlook 2011 https://bugs.webkit.org/show_bug.cgi?id=56665 r79953 removed the WebView level editablity which is persistent no matter whether underlying document itself is changed and editability gets lost. The resolution is to set this WebView editable value to WebCore. This avoids the callback from WebCore to WebKit which was the main goal in r79953 to improve performance. * WebView/WebView.mm: (-[WebView setEditable:]): (-[WebView isEditable]): 2011-03-19 Anton D'Auria <adauria@apple.com> Reviewed by Alexey Proskuryakov. ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin https://bugs.webkit.org/show_bug.cgi?id=56415 Use new ApplicationCache API to delete all cache for an origin. * WebCoreSupport/WebApplicationCache.h: * WebCoreSupport/WebApplicationCache.mm: (+[WebApplicationCache deleteOrigin:]): 2011-03-17 Brady Eidson <beidson@apple.com> Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=56425 More groundwork for WebKit2 IconDatabase Update already-used function names: * Misc/WebIconDatabase.mm: (-[WebIconDatabase iconForURL:withSize:cache:]): (-[WebIconDatabase iconURLForURL:]): * WebView/WebView.mm: (-[WebView _dispatchDidReceiveIconFromWebFrame:]): 2011-03-18 Pavel Podivilov <podivilov@chromium.org> Reviewed by Yury Semikhatsky. Web Inspector: implement inspector session storage. https://bugs.webkit.org/show_bug.cgi?id=56643 * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::saveSessionSetting): (WebInspectorClient::loadSessionSetting): (WebInspectorFrontendClient::saveSessionSetting): (WebInspectorFrontendClient::loadSessionSetting): (-[WebInspectorWindowController inspectorClient]): 2011-03-17 Geoffrey Garen <ggaren@apple.com> Reviewed by Oliver Hunt. Fixed a leak seen on the buildbot. * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::openInspectorFrontend): Smart pointers are smart. 2011-03-16 Jeff Johnson <github@lapcatsoftware.com> Reviewed by Alexey Proskuryakov. Logic error in -[WebHTMLView close] https://bugs.webkit.org/show_bug.cgi?id=56445 Page is always nil at this point, because [self _webView] is nil, so the conditional code is never run. * WebView/WebHTMLView.mm: (-[WebHTMLView close]): 2011-03-16 Chris Fleizach <cfleizach@apple.com> Reviewed by Darin Adler. WK2: Need to propagate enhanced accessibility flag from UI -> web process https://bugs.webkit.org/show_bug.cgi?id=56379 * WebView/WebFrame.mm: (-[WebFrame accessibilityRoot]): 2011-03-15 Oliver Hunt <oliver@apple.com> Reviewed by Geoffrey Garen. Make Structure creation require a JSGlobalData https://bugs.webkit.org/show_bug.cgi?id=56438 Mechanical change to make all Structure creation use a JSGlobalData& * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyRuntimeMethod::createStructure): * Plugins/Hosted/ProxyRuntimeObject.h: (WebKit::ProxyRuntimeObject::createStructure): 2011-03-15 Alexey Proskuryakov <ap@apple.com> Forgot to save a modification to this file when committing. * WebCoreSupport/WebKeyGenerator.mm: Changed "Apple Computer" to "Apple" in copyright header. 2011-03-15 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. REGRESSION (WebKit2): keygen element doesn't work https://bugs.webkit.org/show_bug.cgi?id=56402 <rdar://problem/9006545> * WebCoreSupport/WebKeyGenerator.h: * WebCoreSupport/WebKeyGenerator.m: Removed. * WebCoreSupport/WebKeyGenerator.mm: Copied from Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.m. (+[WebKeyGenerator sharedGenerator]): (toWebCertificateParseResult): WebCore no longer needs WebKeyGenerator. Safari still does need a part of it, so keeping this misnamed and misplaced code for now. * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::keygenMenuItem512): (WebPlatformStrategies::keygenMenuItem1024): (WebPlatformStrategies::keygenMenuItem2048): (WebPlatformStrategies::keygenKeychainItemName): Added strings used by keygen. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize a WebCore pointer to a function used by keygen. * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): WebKeyGenerator can be lazily initialized now. 2011-03-15 Beth Dakin <bdakin@apple.com> Reviewed by Simon Fraser. WebKit part of <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6% New WebKitystemInterface function to force the scrollbars to flash * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-03-15 Ilya Sherman <isherman@chromium.org> Reviewed by Tony Chang. Autofilled form elements are assigned fixed background color but not text color https://bugs.webkit.org/show_bug.cgi?id=48382 * DOM/WebDOMOperations.mm: (-[DOMHTMLInputElement _setAutofilled:]): Added (wrapper). * DOM/WebDOMOperationsPrivate.h: 2011-03-15 Adam Roben <aroben@apple.com> Fix a leak in WebStorageTrackerClient::dispatchDidModifyOrigin Fixes <http://webkit.org/b/56385> SecurityOrigin leaks seen in WebStorageTrackerClient::dispatchDidModifyOrigin Reviewed by Antti Koivisto. * Storage/WebStorageTrackerClient.mm: (WebStorageTrackerClient::dispatchDidModifyOriginOnMainThread): Adopt the reference passed to us by dispatchDidModifyOrigin. (WebStorageTrackerClient::dispatchDidModifyOrigin): Added a comment and removed an unnecessary cast. 2011-03-15 Kevin Ollivier <kevino@theolliviers.com> Reviewed by Darin Adler. Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export info into the headers rather than in export symbol definition files, but disable it on all platforms initially so we can deal with port build issues one port at a time. https://bugs.webkit.org/show_bug.cgi?id=27551 * WebKitPrefix.h: 2011-03-14 Brady Eidson <beidson@apple.com> Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=56320 Remove HistoryItem::icon() and the WebCore dependency on "IconDatabaseBase::defaultIcon()" * History/WebHistoryItem.mm: (-[WebHistoryItem icon]): This far-future FIXME is now irrelevant. 2011-03-13 Pratik Solanki <psolanki@apple.com> Reviewed by Brady Eidson. Make adjustMIMETypeIfNecessary use CFNetwork directly https://bugs.webkit.org/show_bug.cgi?id=55912 * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Support for new WKSI functions. 2011-03-12 Mark Rowe <mrowe@apple.com> Fix the 32-bit build. * Carbon/CarbonWindowAdapter.mm: (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): Use a more appropriate format specifier. (-[CarbonWindowAdapter _carbonWindowClass]): Ditto. 2011-03-11 Brady Eidson <beidson@apple.com> Reviewed by Anders Carlsson <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216 Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation. * Misc/WebIconDatabase.mm: (+[WebIconDatabase _checkIntegrityBeforeOpening]): Call these static methods on IconDatabase::, not iconDatabase(). (-[WebIconDatabase _startUpIconDatabase]): Ditto. (importToWebCoreFormat): 2011-03-11 Anton D'Auria <adauria@apple.com> Reviewed and landed by Brady Eidson. https://bugs.webkit.org/show_bug.cgi?id=51878 Add WebKit1 API to view and delete local storage * Storage/WebStorageManager.mm: Added. (+[WebStorageManager sharedWebStorageManager]): (-[WebStorageManager origins]): (-[WebStorageManager deleteAllOrigins]): (-[WebStorageManager deleteOrigin:]): (-[WebStorageManager syncLocalStorage]): (-[WebStorageManager syncFileSystemAndTrackerDatabase]): (storageDirectoryPath): (WebKitInitializeStorageIfNecessary): * Storage/WebStorageManagerInternal.h: Added. * Storage/WebStorageManagerPrivate.h: Added. * Storage/WebStorageTrackerClient.h: Added. * Storage/WebStorageTrackerClient.mm: Added. (WebStorageTrackerClient::sharedWebStorageTrackerClient): (WebStorageTrackerClient::WebStorageTrackerClient): (WebStorageTrackerClient::~WebStorageTrackerClient): (WebStorageTrackerClient::dispatchDidModifyOriginOnMainThread): (WebStorageTrackerClient::dispatchDidModifyOrigin): * WebCoreSupport/WebSecurityOrigin.mm: (-[WebSecurityOrigin protocol]): (-[WebSecurityOrigin host]): (-[WebSecurityOrigin databaseIdentifier]): (-[WebSecurityOrigin domain]): (-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]): * WebCoreSupport/WebSecurityOriginPrivate.h: * WebKit.exp: * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): 2011-03-10 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. <rdar://problem/9117047> Don't paint more than 60 times per second even when scrolling * WebView/WebClipView.mm: (-[WebClipView _immediateScrollToPoint:]): 2011-03-09 Matthew Delaney <mdelaney@apple.com> Reviewed by Simon Fraser. Plumb through settings for accelerated drawing for canvas https://bugs.webkit.org/show_bug.cgi?id=56039 * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: * WebView/WebPreferencesPrivate.h: 2011-03-10 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Tony Chang. VisiblePosition's next and previous should take an enum instead of a boolean https://bugs.webkit.org/show_bug.cgi?id=56135 SelectionController::isAll now takes EditingBoundaryCrossingRule instead of StayInEditableContent. * WebView/WebView.mm: (-[WebView _selectionIsAll]): 2011-03-09 Jessie Berlin <jberlin@apple.com> Reviewed by Adam Roben. Use the Cookie Storage from the Private Browsing Storage Session directly https://bugs.webkit.org/show_bug.cgi?id=55986 * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-03-08 Darin Adler <darin@apple.com> Reviewed by Timothy Hatcher. Promote a method used outside WebKit from internal to private https://bugs.webkit.org/show_bug.cgi?id=55949 * Misc/WebNSPasteboardExtras.mm: Removed an unused category declaration. Minor tweak, not directly related to the rest of this patch. * WebView/WebFrame.mm: (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]): Moved this method from the internal category into the private category. Streamlined the code a bit. * WebView/WebFrameInternal.h: Removed _computePageRects method. * WebView/WebFramePrivate.h: Added _computePageRects method. 2011-03-07 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Darin Adler. selectionHasStyle and selectionStartHasStyle should use EditingStyle https://bugs.webkit.org/show_bug.cgi?id=55902 selectionHasStyle now takes a property id and a value instead of a CSSMutableStyleDeclaration. * WebView/WebHTMLView.mm: Removed unused selectionHasStyle. (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Calls Editor::selectionHasStyle. 2011-03-07 Dan Bernstein <mitz@apple.com> LLVM Compiler build fix. * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::checkGrammarOfString): 2011-03-07 Chris Fleizach <cfleizach@apple.com> Reviewed by Beth Dakin. AX: WK1 needs to use ScrollView attachment for AXScrollArea, WK2 does not https://bugs.webkit.org/show_bug.cgi?id=55706 Make sure WebDynamicScrollBarsView appear in the AX tree in WK1 (since this object returns the scroll bar objects). Make the accessibilityRoot object be the web area in WK1 because WebDynamicScrollBarsView will expect that as its child, instead of the WebCore ScrollView object. * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView accessibilityIsIgnored]): * WebView/WebFrame.mm: (-[WebFrame accessibilityRoot]): 2011-03-07 Sam Weinig <sam@webkit.org> Reviewed by Anders Carlsson. Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse https://bugs.webkit.org/show_bug.cgi?id=55827 Renamed FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse and pass the entire response, instead of just the MIMEType. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchDecidePolicyForResponse): 2011-03-06 Dan Bernstein <mitz@apple.com> LLVM Compiler build fix. * DOM/WebDOMOperations.mm: (-[DOMHTMLInputElement _setValueForUser:]): 2011-03-06 Jessie Berlin <jberlin@apple.com> Reviewed by Sam Weinig. WebKit2: Use CFNetwork Sessions API. https://bugs.webkit.org/show_bug.cgi?id=55435. When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the Private Browsing Storage Session. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Add support for using the new WKSI functions in WebCore. 2011-03-05 Ilya Sherman <isherman@chromium.org> Reviewed by Darin Adler. HTMLInputElement::setValue() should schedule change event when the element is focused In service of https://code.google.com/p/chromium/issues/detail?id=42716 https://bugs.webkit.org/show_bug.cgi?id=53160 * DOM/WebDOMOperations.mm: (-[DOMHTMLInputElement _setValueForUser:]): Expose HTMLInputElement::setValueForUser() to tests * DOM/WebDOMOperationsPrivate.h: * WebView/WebViewInternal.h: 2011-03-04 Jia Pu <jpu@apple.com> Reviewed by Darin Adler. On Mac, the bounding box sent to EditorClient::showCorrectionPanel() is incorrect when the correction occurs in an iframe. https://bugs.webkit.org/show_bug.cgi?id=55717 <rdar://problem/9018127> With the change in WebCore, the bounding box passed into EditorClient::showCorrectionPanel() is already in window coordinate. We don't need to do further conversion anymore. * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::showCorrectionPanel): 2011-03-04 Jessie Berlin <jberlin@apple.com> Reviewed by Maciej Stachowiak. WebKit2: Use CFNetwork Sessions API. https://bugs.webkit.org/show_bug.cgi?id=55435. When Private Browsing is enabled, get the cached url response from the cache associated with the Private Browsing Storage Session. * WebView/WebView.mm: (-[WebView _cachedResponseForURL:]): 2011-03-03 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Get rid of Page::globalHistoryItem https://bugs.webkit.org/show_bug.cgi?id=55738 * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistoryItemForPage): Get the current history item and update it using -[WebView _setGlobalHistoryItem:]. * WebView/WebView.mm: (-[WebView _globalHistoryItem]): (-[WebView _setGlobalHistoryItem:]): Set _globalHistoryItem ivar. * WebView/WebViewData.h: * WebView/WebViewData.mm: Add _globalHistoryItem ivar. 2011-03-03 Brady Eidson <beidson@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=55721 Global IconDatabase should be returned by reference, not as a pointer * Misc/WebCoreStatistics.mm: (+[WebCoreStatistics iconPageURLMappingCount]): (+[WebCoreStatistics iconRetainedPageURLCount]): (+[WebCoreStatistics iconRecordCount]): (+[WebCoreStatistics iconsWithDataCount]): * Misc/WebIconDatabase.mm: (-[WebIconDatabase init]): (-[WebIconDatabase iconForURL:withSize:cache:]): (-[WebIconDatabase iconURLForURL:]): (-[WebIconDatabase defaultIconWithSize:]): (-[WebIconDatabase retainIconForURL:]): (-[WebIconDatabase releaseIconForURL:]): (-[WebIconDatabase isEnabled]): (-[WebIconDatabase setEnabled:]): (-[WebIconDatabase removeAllIcons]): (+[WebIconDatabase _checkIntegrityBeforeOpening]): (-[WebIconDatabase _startUpIconDatabase]): (-[WebIconDatabase _applicationWillTerminate:]): (-[WebIconDatabase _resetCachedWebPreferences:]): (importToWebCoreFormat): * WebView/WebView.mm: (-[WebView _dispatchDidReceiveIconFromWebFrame:]): 2011-03-03 Jessie Berlin <jberlin@apple.com> Reviewed by Adam Roben. WebKit2: Use CFNetwork Sessions API. https://bugs.webkit.org/show_bug.cgi?id=55435. Set the Private Browsing Storage Session on requests when Private Browsing is enabled. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Support using WKCopyRequestWithStorageSession in WebCore. 2011-03-02 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access https://bugs.webkit.org/show_bug.cgi?id=55633 <rdar://problem/8963023> * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: Removed tabsToLinks(). Mac WebKit already implements keyboardUIMode(). * WebView/WebView.mm: (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Removed an incorrect comment. We actually get a value of 2 on Snow Leopard, and we don't require both bits to be set. The rest of the comment might be wrong too, but I'm not sure, so I've preserved it. 2011-03-02 Jessie Berlin <jberlin@apple.com> Rubber-stamped by Dan Bernstein. Fix crashes in private browsing tests in WK1 on Snow Leopard. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Put the INIT call for wkCreatePrivateStorageSession outside of the #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD) guards. 2011-03-02 Jessie Berlin <jberlin@apple.com> Reviewed by Adam Roben. WebKit2: Use CFNetwork Sessions API. https://bugs.webkit.org/show_bug.cgi?id=55435. Add the ability to create a Private Browsing Storage Session. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Support calling wkCreatePrivateStorageSession from WebCore. 2011-03-02 Daniel Cheng <dcheng@chromium.org> Reviewed by David Levin. Add feature define for data transfer items https://bugs.webkit.org/show_bug.cgi?id=55510 * Configurations/FeatureDefines.xcconfig: 2011-03-02 Sam Weinig <sam@webkit.org> Reviewed by Anders Carlsson. Fix remaining localization issues by piping all localized strings through WebCore's localization bottleneck. <rdar://problem/8728860> * DefaultDelegates/WebDefaultContextMenuDelegate.mm: (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]): * Misc/WebKitErrors.m: * Misc/WebLocalizableStringsInternal.h: Added. * Misc/WebLocalizableStringsInternal.mm: Added. (WebLocalizedStringInternal): * Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForChallenge:]): * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::spawnPluginHost): * WebCoreSupport/WebEditorClient.mm: (undoNameForEditAction): * WebCoreSupport/WebInspectorClient.mm: (WebInspectorFrontendClient::updateWindowTitle): (-[WebInspectorWindowController validateUserInterfaceItem:]): * WebCoreSupport/WebKeyGenerator.m: (-[WebKeyGenerator strengthMenuItemTitles]): (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): * WebCoreSupport/WebPlatformStrategies.mm: * WebView/WebHTMLView.mm: (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): * WebView/WebPDFView.mm: (-[WebPDFView menuForEvent:]): 2011-03-01 Brian Weinstein <bweinstein@apple.com> Reviewed by Adam Roben. Part of WebKit2: Need a way to send notifications to client when cookies change https://bugs.webkit.org/show_bug.cgi?id=55427 <rdar://problem/9056027> Add stubs for CookiesStrategy on Mac WebKit1. * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::createCookiesStrategy): (WebPlatformStrategies::notifyCookiesChanged): 2011-03-01 Philippe Normand <pnormand@igalia.com> Reviewed by Eric Carlson. [GStreamer] support in mac video fullscreen controller https://bugs.webkit.org/show_bug.cgi?id=52280 Factored the code to configure the video overlay in a new private method of the controller and added GStreamer support to it. * WebView/WebVideoFullscreenController.h: * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController setupVideoOverlay:]): (-[WebVideoFullscreenController windowDidLoad]): (-[WebVideoFullscreenController setMediaElement:WebCore::]): (-[WebVideoFullscreenController windowDidExitFullscreen]): 2011-02-23 Joseph Pecoraro <joepeck@webkit.org> Reviewed by Timothy Hatcher. All Console Messages should be passed to ChromeClients. https://bugs.webkit.org/show_bug.cgi?id=54926 Add a new private UIDelegate method, -webView:addMessageToConsole:withSource:, which supersedes -webView:addMessageToConsole if it exists. The new delegate does not filter to only JavaScript originated console messages. The old delegate is left around for clients that expect filtered messages, like DashCode and older versions of Safari. The dictionary message passed to the delegate now includes more information about the message source, type, and level. * WebCoreSupport/WebChromeClient.mm: (stringForMessageSource): (stringForMessageType): (stringForMessageLevel): (WebChromeClient::addMessageToConsole): * WebView/WebUIDelegatePrivate.h: 2011-03-01 Levi Weintraub <leviw@chromium.org> Reviewed by Ryosuke Niwa. Stop instantiating legacy editing Positions in VisiblePosition https://bugs.webkit.org/show_bug.cgi?id=52919 Changing usage of legacy VisiblePosition constructor. Since we were dealing with positions from DOM Ranges, we're guaranteed a parent-anchored position. * WebView/WebFrame.mm: (-[WebFrame _caretRectAtPosition:affinity:]): * WebView/WebFrameInternal.h: * WebView/WebTextCompletionController.mm: (-[WebTextCompletionController doCompletion]): 2011-03-01 Sam Weinig <sam@webkit.org> Reviewed by Timothy Hatcher. WebKit2 needs to be made localizable https://bugs.webkit.org/show_bug.cgi?id=55483 * WebCoreSupport/WebPlatformStrategies.mm: Use WebCore's localizedString function instead of WebLocalizableStrings since WebCore is now responsible for localization. 2011-02-25 Steve Block <steveblock@google.com> Reviewed by Jeremy Orlow. Bridge.h should not include BridgeJSC.h https://bugs.webkit.org/show_bug.cgi?id=55212 Include BridgeJSC.h directly instead. * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/WebHostedNetscapePluginView.mm: 2011-02-28 Chang Shu <cshu@webkit.org> Reviewed by Ryosuke Niwa. Remove the support of Frame::isContentEditable and its dependencies. https://bugs.webkit.org/show_bug.cgi?id=54292 Remove the WebKit side implementation. Make WebKit support depend on Document::inDesignMode. * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: * WebView/WebView.mm: (-[WebView setEditable:]): (-[WebView isEditable]): * WebView/WebViewData.h: 2011-02-28 Oliver Hunt <oliver@apple.com> Reviewed by Gavin Barraclough. Make ScopeChainNode GC allocated https://bugs.webkit.org/show_bug.cgi?id=55283 More updates for the absence of the ScopeChain class * WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame scopeChain]): 2011-02-26 Vsevolod Vlasov <vsevik@chromium.org> Reviewed by Pavel Feldman. DumpRenderTree should reset frame opener between tests. https://bugs.webkit.org/show_bug.cgi?id=54874 Added clearOpener method to WebFramePrivate. * WebView/WebFrame.mm: (-[WebFrame _clearOpener]): * WebView/WebFramePrivate.h: 2011-02-26 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r79764. http://trac.webkit.org/changeset/79764 https://bugs.webkit.org/show_bug.cgi?id=55295 "broke Chromium builds" (Requested by rniwa on #webkit). * WebView/WebFrame.mm: * WebView/WebFramePrivate.h: 2011-02-26 Yongjun Zhang <yongjun_zhang@apple.com> Reviewed by David Kilzer. https://bugs.webkit.org/show_bug.cgi?id=48781 Add a resource load delegate method to query if WebCore should paint the default broken image for failed images. Add a new resource load client method (shouldPaintBrokenImage). WebKit client can decide if WebCore should paint the default broken image when an image fails to load or decode. The method also passes the URL of the failed image. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::shouldPaintBrokenImage): * WebView/WebDelegateImplementationCaching.h: * WebView/WebDelegateImplementationCaching.mm: Added case for passing one object. (CallResourceLoadDelegateReturningBoolean): * WebView/WebResourceLoadDelegatePrivate.h: * WebView/WebView.mm: (-[WebView _cacheResourceLoadDelegateImplementations]): 2011-02-26 Vsevolod Vlasov <vsevik@chromium.org> Reviewed by Pavel Feldman. DumpRenderTree should reset frame opener between tests. https://bugs.webkit.org/show_bug.cgi?id=54874 Added clearOpener method to WebFramePrivate. * WebView/WebFrame.mm: (-[WebFrame _clearOpener]): * WebView/WebFramePrivate.h: 2011-02-25 Mark Rowe <mrowe@apple.com> <rdar://problem/8902546> Build fix. * Misc/QuickDrawCompatibility.h: 2011-02-24 Anders Carlsson <andersca@apple.com> Fix clang build. * WebCoreSupport/WebKeyGenerator.m: (toWebCertificateParseResult): (-[WebKeyGenerator addCertificatesToKeychainFromData:]): * WebView/WebTextCompletionController.mm: 2011-02-24 Peter Kasting <pkasting@google.com> Reviewed by Eric Seidel. Drop the "U; " encryption level from the User Agent string. https://bugs.webkit.org/show_bug.cgi?id=54566 * WebView/WebView.mm: (+[WebView _standardUserAgentWithApplicationName:]): 2011-02-24 Andrew Wilson <atwilson@chromium.org> Unreviewed, rolling out r79570. http://trac.webkit.org/changeset/79570 https://bugs.webkit.org/show_bug.cgi?id=54874 Breaks chromium build because glue/mocks/mock_web_frame.h/cc was not updated * WebView/WebFrame.mm: * WebView/WebFramePrivate.h: 2011-02-24 Vsevolod Vlasov <vsevik@chromium.org> Reviewed by Alexey Proskuryakov. DumpRenderTree should reset frame opener between tests. https://bugs.webkit.org/show_bug.cgi?id=54874 Added clearOpener method to WebFramePrivate. * WebView/WebFrame.mm: (-[WebFrame _clearOpener]): * WebView/WebFramePrivate.h: 2011-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com> Reviewed by Alexey Proskuryakov. Drop the language tag part from the User Agent string https://bugs.webkit.org/show_bug.cgi?id=54560 * WebView/WebView.mm: (+[WebView _standardUserAgentWithApplicationName:]): Drop the language tag part. 2011-02-22 Brady Eidson <beidson@apple.com> Reviewed by Anders Carlsson. Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514 API to view and delete Application Cache data by origin. * WebCoreSupport/WebApplicationCache.mm: (+[WebApplicationCache deleteAllApplicationCaches]): Move this implementation into WebCore itself. 2011-02-17 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Kent Tamura. Rename Position::node() to Position::deprecatedNode() https://bugs.webkit.org/show_bug.cgi?id=54622 * WebView/WebFrame.mm: (-[WebFrame _smartDeleteRangeForProposedRange:]): 2011-02-17 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Kent Tamura. Rename Position::node() to Position::deprecatedNode() https://bugs.webkit.org/show_bug.cgi?id=54622 Done the rename. * WebView/WebFrame.mm: (-[WebFrame _smartDeleteRangeForProposedRange:]): Since newStart and newEnd are parent-anchored, use containerNode() and offsetInContainerNode() instead of deprecated member functions. 2011-02-18 Gavin Barraclough <barraclough@apple.com> Reviewed by Sam Weinig. Bug 54786 - Devirtualize JSCell::classInfo() Instead of making a virtual function call, add a pointer to the ClassInfo onto Structure. This removes a virtual function call, and paves the way towards removing all the createStructure methods, and StructureFlags/AnonymousSlotCount properties (these should be able to move onto ClassInfo). Calls to Structure::create must now pass a pointer to the ClassInfo for the structure. All objects now have a ClassInfo pointer, non-object cell types still do not. Changes are most mechanical, involving three steps: * Remove virtual classInfo() methods. * Add &s_info parameter to calls to Structure::create. * Rename ClassInfo static members on classes from 'info' to 's_info', for consistency. * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod): (WebKit::ProxyRuntimeMethod::createStructure): * Plugins/Hosted/ProxyRuntimeObject.h: (WebKit::ProxyRuntimeObject::createStructure): * Plugins/Hosted/ProxyRuntimeObject.mm: (WebKit::ProxyRuntimeObject::ProxyRuntimeObject): * WebView/WebView.mm: (aeDescFromJSValue): 2011-02-19 Brian Ryner <bryner@chromium.org> Reviewed by Adam Barth. Add missing #include of DocumentLoader.h, needed since the transitive include through Document.h is removed. https://bugs.webkit.org/show_bug.cgi?id=50489 * WebView/WebFrame.mm: 2011-02-19 Charlie Reis <creis@chromium.org> Reviewed by Mihai Parparita. Ensure loading has stopped in HistoryController::goToItem https://bugs.webkit.org/show_bug.cgi?id=54517 Add a FrameLoaderClient callback for whether to stop loading before goToItem. Test: http/tests/navigation/forward-to-fragment-fires-onload.html * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::shouldStopLoadingForHistoryItem): Added. * WebCoreSupport/WebFrameLoaderClient.h: 2011-02-16 David Hyatt <hyatt@apple.com> Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=54244 Convert the line box tree to floating point and eliminate font rounding hacks. This patch removes all of the rounding hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats. The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have been changed as well. In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height). Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting. Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes still have a precise floating point position. Justification will now allow subpixel positioning to occur as well. Platforms that don't support subpixel positioning should already be rounding justification spacing in their font code. Many layout test results change on Mac, since rounding hacks were used there and are now gone. * Misc/WebKitNSStringExtras.mm: (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): (-[NSString _web_widthWithFont:]): 2011-02-10 Luiz Agostini <luiz.agostini@openbossa.org> Reviewed by Adam Roben. HTML5 <details> and <summary>: localized text https://bugs.webkit.org/show_bug.cgi?id=54260 The method defaultDetailsSummaryText was added to LocalizationStrategy class. It is used to provide the default label to be used by a <details> tag that has no <summary> child. * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::defaultDetailsSummaryText): 2011-02-16 Matthew Delaney <mdelaney@apple.com> Reviewed by Simon Fraser. Allow acceleratesDrawing for WebKit2 https://bugs.webkit.org/show_bug.cgi?id=54511 Plumb through preference for accelerated drawing. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences acceleratedDrawingEnabled]): (-[WebPreferences setAcceleratedDrawingEnabled:]): * WebView/WebPreferencesPrivate.h: 2011-02-15 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/54505> Move -[WebDynamicScrollBarsView inProgrammaticScroll] to WebDynamicScrollBarsViewInternal.h Reviewed by Darin Adler. * WebView/WebDynamicScrollBarsView.h: (-[WebDynamicScrollBarsView inProgrammaticScroll]): Removed declaration. * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView inProgrammaticScroll]): Moved implementation into correct category. * WebView/WebDynamicScrollBarsViewInternal.h: (-[WebDynamicScrollBarsView inProgrammaticScroll]): Added declaration. * WebView/WebHTMLView.mm: Included WebDynamicScrollBarsViewInternal.h instead of WebDynamicScrollBarsView.h. 2011-02-14 Oliver Hunt <oliver@apple.com> Reviewed by Gavin Barraclough and Geoff Garen. Refactor handles and weak pointers to become nicer and more automatic https://bugs.webkit.org/show_bug.cgi?id=54415 Update to use Global<> instead of ProtectedPtr, and refactored slightly to get global data to places it's needed for when we're assigning to Global<>s * ForwardingHeaders/collector/handles/Global.h: Added. * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject): (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): (WebKit::NetscapePluginInstanceProxy::getWindowNPObject): (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject): (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::addValueToArray): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::WebScriptDebugger): 2011-02-15 Jia Pu <jpu@apple.com> Reviewed by Darin Adler. Autocorrection should respect undo. https://bugs.webkit.org/show_bug.cgi?id=52221 <rdar://problem/8663399> Please see WebCore/ChangeLog for detailed description. * WebCoreSupport/WebEditorClient.h: Updated for the new function declared in EditorClient. * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::recordAutocorrectionResponse): Ditto. * WebView/WebFrame.mm: (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Adopted new signature of ReplaceSelectionCommand::create(). 2011-02-15 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/54485> Fix spelling of -inProgramaticScroll Reviewed by Darin Adler. * WebView/WebDynamicScrollBarsView.h: * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView inProgrammaticScroll]): Renamed from -inProgramaticScroll. * WebView/WebHTMLView.mm: (-[WebHTMLView _frameOrBoundsChanged]): Corrected method name. 2011-02-15 Kenneth Russell <kbr@google.com> Reviewed by Darin Fisher. Allow controlling minimum DOMTimer interval on a per-page basis https://bugs.webkit.org/show_bug.cgi?id=54312 Added needed methods to implement LayoutTestController's new setMinimumTimerInterval method. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (+[WebView _defaultMinimumTimerInterval]): (-[WebView _setMinimumTimerInterval:]): * WebView/WebViewPrivate.h: 2011-02-11 Geoffrey Garen <ggaren@apple.com> Reviewed by Oliver Hunt. A little more encapsulation for the heap: Removed CollectorHeapIterator https://bugs.webkit.org/show_bug.cgi?id=54298 * Misc/WebCoreStatistics.mm: (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): (+[WebCoreStatistics javaScriptObjectTypeCounts]): Updated for new typedef. 2011-02-10 Nate Chapin <japhet@chromium.org> Reviewed by Adam Barth. Update calls to DocumentWriter. https://bugs.webkit.org/show_bug.cgi?id=50489 * WebView/WebFrame.mm: (-[WebFrame _canProvideDocumentSource]): 2011-02-10 Chris Fleizach <cfleizach@apple.com> Reviewed by Anders Carlsson. AX: AX needs to stop using WebCoreViewFactory https://bugs.webkit.org/show_bug.cgi?id=54153 * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-02-10 Peter Varga <pvarga@webkit.org> Reviewed by Csaba Osztrogonác. Remove PCRE source from trunk https://bugs.webkit.org/show_bug.cgi?id=54188 * ForwardingHeaders/pcre/pcre.h: Removed. 2011-02-09 Pavel Feldman <pfeldman@chromium.org> Reviewed by Yury Semikhatsky. Web Inspector: follow up on InspectorAgent split - removing unnecessary methods from InspectorController. https://bugs.webkit.org/show_bug.cgi?id=54093 * WebInspector/WebInspector.mm: (-[WebInspector showConsole:]): (-[WebInspector stopProfilingJavaScript:]): 2011-02-08 Dan Bernstein <mitz@apple.com> Reviewed by Jon Honeycutt and Maciej Stachowiak. <rdar://problem/8959420> Find in Mail no longer cycles around * WebView/WebHTMLView.mm: (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Set the wrap option according to the flag. 2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r77980. http://trac.webkit.org/changeset/77980 https://bugs.webkit.org/show_bug.cgi?id=54043 "Crashes on Windows and Linux..." (Requested by leviw on #webkit). * WebView/WebFrame.mm: (-[WebFrame _caretRectAtNode:offset:affinity:]): * WebView/WebFrameInternal.h: * WebView/WebTextCompletionController.mm: (-[WebTextCompletionController doCompletion]): 2011-02-08 Levi Weintraub <leviw@chromium.org> Reviewed by Ryosuke Niwa. Stop instantiating legacy editing Positions in VisiblePosition https://bugs.webkit.org/show_bug.cgi?id=52919 Changing usage of legacy VisiblePosition constructor. Since we were dealing with positions from DOM Ranges, we're guaranteed a parent-anchored position. * WebView/WebFrame.mm: (-[WebFrame _caretRectAtPosition:affinity:]): * WebView/WebFrameInternal.h: * WebView/WebTextCompletionController.mm: (-[WebTextCompletionController doCompletion]): 2011-02-08 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Remove orphan code from old parser https://bugs.webkit.org/show_bug.cgi?id=53984 * WebCoreSupport/WebChromeClient.h: 2011-02-02 Ilya Tikhonovsky <loislo@chromium.org> Reviewed by Yury Semikhatsky. Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController. https://bugs.webkit.org/show_bug.cgi?id=53169 Minor change enforced by major changes in WebCore/inspector/InspectorController. * WebInspector/WebInspector.mm: (-[WebInspector isTimelineProfilingEnabled]): 2011-02-07 Enrica Casucci <enrica@apple.com> Reviewed Adam Roben and Darin Adler. WebKit2: drag and drop support on Windows. https://bugs.webkit.org/show_bug.cgi?id=52775 Removed createDragImageForLink from DragClient. * WebCoreSupport/WebDragClient.h: * WebCoreSupport/WebDragClient.mm: (WebDragClient::startDrag): 2011-02-03 Yury Semikhatsky <yurys@chromium.org> Reviewed by Pavel Feldman. Web Inspector: remove settings related methods from InspectorClient https://bugs.webkit.org/show_bug.cgi?id=53686 * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::openInspectorFrontend): (WebInspectorFrontendClient::WebInspectorFrontendClient): 2011-02-03 James Kozianski <koz@chromium.org> Reviewed by Dimitri Glazkov. Add navigator.registerProtocolHandler behind a flag. https://bugs.webkit.org/show_bug.cgi?id=52609 * Configurations/FeatureDefines.xcconfig: 2011-02-03 Adam Langley <agl@chromium.org> Reviewed by Adam Barth. Plumb mixed script URL to FrameLoaderClient https://bugs.webkit.org/show_bug.cgi?id=52384 Regressions covered by http/tests/security/mixedContent/* * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::didRunInsecureContent): 2011-02-03 Beth Dakin <bdakin@apple.com> Reviewed by Sam Weinig. Fix for <rdar://problem/8944544> Ability to animate track for WKPainter scrollers * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-02-02 Mark Rowe <mrowe@apple.com> Reviewed by Beth Dakin. <rdar://problem/8928367> Crash when loading canvas pages inside HTMLCanvasElement::createImageBuffer(). * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Add some missing initializers. 2011-02-02 Steve Lacey <sjl@chromium.org> Reviewed by Eric Carlson. Implement basic media statistics on media elements. https://bugs.webkit.org/show_bug.cgi?id=53322 * Configurations/FeatureDefines.xcconfig: 2011-02-01 Sam Weinig <sam@webkit.org> Reviewed by Beth Dakin. Part 2 for <rdar://problem/8492788> Adopt WKScrollbarPainterController Use header detection to define scrollbar painting controller #define. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-02-01 David Hyatt <hyatt@apple.com> Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=53520 Remove the physical terminology from IntRect and FloatRect. Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes, we need to update our terminology to be more accurate. I'm borrowing a page from AppKit here (which also supports flipped NSViews) and renaming right() and bottom() to maxX() and maxY(). These terms remain accurate even for flipped rectangles. * WebView/WebHTMLView.mm: (setNeedsDisplayInRect): 2011-02-01 Beth Dakin <bdakin@apple.com> Reviewed by Sam Weinig. Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-02-01 Dave Hyatt <hyatt@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work with vertical text. Change printing functions to check writing-mode and properly swap width and height as needed. * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView setScrollOrigin:updatePositionAtAll:immediately:]): * WebView/WebFrame.mm: (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]): * WebView/WebFrameInternal.h: * WebView/WebHTMLView.mm: (-[WebHTMLView _web_setPrintingModeRecursive]): (-[WebHTMLView _web_clearPrintingModeRecursive]): (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): (-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]): (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]): (-[WebHTMLView _endPrintMode]): (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]): (-[WebHTMLView _endScreenPaginationMode]): (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]): (-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:maximumPageLogicalWidth:adjustViewSize:paginateScreenContent:]): (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): (-[WebHTMLView _scaleFactorForPrintOperation:]): (-[WebHTMLView setPageWidthForPrinting:]): (-[WebHTMLView knowsPageRange:]): 2011-01-31 Oliver Hunt <oliver@apple.com> Convert markstack to a slot visitor API https://bugs.webkit.org/show_bug.cgi?id=53219 rolling r77098, r77099, r77100, r77109, and r77111 back in, along with a few more Qt fix attempts. * WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame scopeChain]): 2011-01-30 Csaba Osztrogonác <ossy@webkit.org> Unreviewed, rolling out r77098, r77099, r77100, r77109, and r77111. http://trac.webkit.org/changeset/77098 http://trac.webkit.org/changeset/77099 http://trac.webkit.org/changeset/77100 http://trac.webkit.org/changeset/77109 http://trac.webkit.org/changeset/77111 https://bugs.webkit.org/show_bug.cgi?id=53219 Qt build is broken * WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame scopeChain]): 2011-01-30 Oliver Hunt <oliver@apple.com> Convert markstack to a slot visitor API https://bugs.webkit.org/show_bug.cgi?id=53219 rolling r77006 and r77020 back in. * WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame scopeChain]): 2011-01-28 Geoffrey Garen <ggaren@apple.com> Reviewed by Maciej Stachowiak. Some more Heap cleanup. https://bugs.webkit.org/show_bug.cgi?id=53357 Updated for JavaScriptCore changes. * Misc/WebCoreStatistics.mm: (+[WebCoreStatistics memoryStatistics]): 2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r77006 and r77020. http://trac.webkit.org/changeset/77006 http://trac.webkit.org/changeset/77020 https://bugs.webkit.org/show_bug.cgi?id=53360 "Broke Windows tests" (Requested by rniwa on #webkit). * WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame scopeChain]): 2011-01-27 Oliver Hunt <oliver@apple.com> Reviewed by Geoffrey Garen. Convert markstack to a slot visitor API https://bugs.webkit.org/show_bug.cgi?id=53219 Update to new marking api * WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame scopeChain]): 2011-01-28 Dan Bernstein <mitz@apple.com> Reviewed by Sam Weinig. <select> can't display right-to-left (rtl) languages https://bugs.webkit.org/show_bug.cgi?id=19785 * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::selectItemWritingDirectionIsNatural): Changed to return false. (WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added. Returns true. 2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r76891. http://trac.webkit.org/changeset/76891 https://bugs.webkit.org/show_bug.cgi?id=53280 Makes every layout test crash (Requested by othermaciej on #webkit). * Misc/WebIconDatabase.mm: (-[ThreadEnabler threadEnablingSelector:]): (importToWebCoreFormat): 2011-01-27 Nate Chapin <japhet@chromium.org> Reviewed by Adam Barth. Use Document::url() instead of FrameLoader::url(). https://bugs.webkit.org/show_bug.cgi?id=41165 * WebView/WebView.mm: (-[WebView _dispatchDidReceiveIconFromWebFrame:]): 2011-01-27 Dan Bernstein <mitz@apple.com> Rubber-stamped by Anders Carlsson. Reverted an accidental change in r76561. * WebView/WebHTMLView.mm: 2011-01-26 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork <rdar://problem/8821760> Reviewed by Antti Koivisto. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Added initialization for GetHTTPPipeliningPriority and SetHTTPPipeliningPriority. 2011-01-26 Beth Dakin <bdakin@apple.com> Reviewed by Darin Adler. Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics when using WKScrollbars. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-01-25 Darin Adler <darin@apple.com> Reviewed by Anders Carlsson. WebKit is using CSBackupSetItemExcluded incorrectly https://bugs.webkit.org/show_bug.cgi?id=53095 rdar://problem/8790540 * Misc/WebIconDatabase.mm: (importToWebCoreFormat): Removed code that was calling CSBackupSetItemExcluded. It was incorrect, and this responsibility has been moved to WebCore. 2011-01-24 Chris Marrin <cmarrin@apple.com> Reviewed by Eric Seidel. Change ENABLE_3D_CANVAS to ENABLE_WEBGL https://bugs.webkit.org/show_bug.cgi?id=53041 * Configurations/FeatureDefines.xcconfig: 2011-01-25 Yury Semikhatsky <yurys@chromium.org> Reviewed by Pavel Feldman. Web Inspector: remove "attached" state related methods from InspectorAgent https://bugs.webkit.org/show_bug.cgi?id=53086 * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController showWindow:]): (-[WebInspectorWindowController attach]): (-[WebInspectorWindowController detach]): 2011-01-23 Dan Bernstein <mitz@apple.com> Reviewed by John Sullivan. <rdar://problem/6097826> Mail's cursor does not become a resize cursor when moving mouse from scrolled email to the horizontal splitter * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::setCursor): If the current cursor comes from a cursor rect, do not override it. 2011-01-22 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=52473 Auto-scaling to avoid orphans is broken, remove dysfunctional code * WebView/WebHTMLView.mm: (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]): (-[WebHTMLView _scaleFactorForPrintOperation:]): (-[WebHTMLView knowsPageRange:]): 2011-01-21 Mark Rowe <mrowe@apple.com> Rubber-stamped by Jon Honeycutt. Fix the build when using Clang by removing some unused variables. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView updateAndSetWindow]): * WebView/WebFullScreenController.mm: (-[WebFullScreenController enterFullscreen:]): (-[WebFullScreenController exitFullscreen]): 2011-01-21 Chris Rogers <crogers@google.com> Reviewed by Darin Fisher. Add run-time enable support for the web audio API https://bugs.webkit.org/show_bug.cgi?id=52741 * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (-[WebPreferences webAudioEnabled]): (-[WebPreferences setWebAudioEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2011-01-20 John Sullivan <sullivan@apple.com> Reviewed by Mark Rowe. Shift-tab doesn't cycle through fields in http authentication panel https://bugs.webkit.org/show_bug.cgi?id=52850 * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: Re-wired the key loop so that there aren't two views with the same nextKeyView. 2011-01-20 Beth Dakin <bdakin@apple.com> Reviewed by Geoffrey Garen. Fix for <rdar://problem/8890255> Allow WebKitSystemInterface to draw scrollbars when appropriate. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2011-01-19 Simon Fraser <simon.fraser@apple.com> Reviewed by Sam Weinig. GraphicsLayers in subframes can get sync'd multiple times https://bugs.webkit.org/show_bug.cgi?id=52489 * WebView/WebView.mm: (-[WebView _syncCompositingChanges]): syncCompositingStateRecursive() was renamed to syncCompositingStateIncludingSubframes(). 2011-01-19 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. Would like script debugging protocol method to differentiate between caught and uncaught exceptions https://bugs.webkit.org/show_bug.cgi?id=52104 rdar://problem/8704226 * WebView/WebDelegateImplementationCaching.h: Fix type of second integer in CallScriptDebugDelegate function overload to be int to match the actual Objective-C method. Added a new overload that includes a BOOL in the right place. Added a boolean named exceptionWasRaisedExpectsHasHandlerFlag. * WebView/WebDelegateImplementationCaching.mm: (CallDelegate): Added overloads as above. (CallScriptDebugDelegate): Ditto. * WebView/WebScriptDebugDelegate.h: Added new method with the additional boolean argument. Marked the old method informally deprecated. * WebView/WebScriptDebugger.mm: (WebScriptDebugger::exception): Added code to call with or without the boolean depending on exceptionWasRaisedExpectsHasHandlerFlag. * WebView/WebView.mm: (-[WebView _cacheScriptDebugDelegateImplementations]): Set up the exceptionWasRaisedExpectsHasHandlerFlag. Also fixed old code that was not guaranteed to set didParseSourceExpectsBaseLineNumber to NO. 2011-01-19 Tony Gentilcore <tonyg@chromium.org> Reviewed by Mihai Parparita. Perform some forward declaration https://bugs.webkit.org/show_bug.cgi?id=52522 * Misc/WebKitNSStringExtras.mm: 2011-01-19 Pavel Podivilov <podivilov@chromium.org> Reviewed by Yury Semikhatsky. Web Inspector: [JSC] scripts have incorrect starting line (always 1). https://bugs.webkit.org/show_bug.cgi?id=52721 * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (toNSString): (WebScriptDebugger::sourceParsed): 2011-01-19 Levi Weintraub <leviw@google.com> Reviewed by Ryosuke Niwa. Updating to use Position::parentAnchoredEquivalent instead of the old htmlediting rangeCompliantEquivalent. remove rangeCompliantEquivalent and replace it with Position methods https://bugs.webkit.org/show_bug.cgi?id=25057 * WebView/WebFrame.mm: (-[WebFrame _smartDeleteRangeForProposedRange:]): 2011-01-18 Chris Fleizach <cfleizach@apple.com> Reviewed by Darin Adler. REGRESSION: A problem with Voiceover and finding links https://bugs.webkit.org/show_bug.cgi?id=52324 * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView accessibilityIsIgnored]): 2011-01-17 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project Reviewed by Dan Bernstein. * MigrateHeaders.make: Copy DOMDocumentFragmentPrivate.h and DOMDocumentPrivate.h to the PrivateHeaders directory. 2011-01-17 Enrica Casucci <enrica@apple.com> Reviewed by Alexey Proskuryakov. Drag and drop support: refactoring of image from link and image from selection https://bugs.webkit.org/show_bug.cgi?id=52496 This work cleans up the Mac code and makes it more similar to the Windows implementation, avoiding the use of an NSView when the FrameView can be used. The refactoring is a necessary step towards the complete support of drag and drop in WebKit2. * WebCoreSupport/WebDragClient.mm: (WebDragClient::createDragImageForLink): Added. * WebView/WebHTMLView.mm: Removed dragImageFromLink and dragImageFromURL. * WebView/WebHTMLViewPrivate.h: Removed dragImageFromLink and dragImageFromURL. 2011-01-17 Pavel Feldman <pfeldman@chromium.org> Reviewed by Yury Semikhatsky. Web Inspector: simplify debugger enabling routine. https://bugs.webkit.org/show_bug.cgi?id=52472 * WebInspector/WebInspector.mm: (-[WebInspector startDebuggingJavaScript:]): 2011-01-16 Dan Bernstein <mitz@apple.com> Reviewed by Simon Fraser. Assertion failure (!inSetWindow) with in-process plug-in in plugins/destroy-on-setwindow.html https://bugs.webkit.org/show_bug.cgi?id=52550 * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView setWindowIfNecessary]): Removed the assertion, making sure that inSetWindow remains YES until we exit the top-level setWindowIfNecessary. 2011-01-16 Simon Fraser <simon.fraser@apple.com> Reviewed by Dan Bernstein. Issues with iframes and plugins when the WebView is scaled. <rdar://problem/6213380> When _scaleWebView has been called on a WebView, iframes in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up. This is caused by AppKit NSViews not playing nicely with the scale applied through style. Work around most of these issues by adjusting the bounds size of widgets to allow iframe contents to paint with the correct scale, and fix various places in the code where we relied on coordinate transforms via NSViews (which ignore CSS transforms). * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView updateAndSetWindow]): * WebView/WebFrameView.mm: (-[WebFrameView setBoundsSize:]): 2011-01-16 Beth Dakin <bdakin@apple.com> Reviewed by Kevin Decker. Fix for <rdar://problem/8871204> Don't try to save elasticity state. Just rely on NSScrollElasticityAutomatic to restore the correct state. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::WebFrameLoaderClient): (WebFrameLoaderClient::dispatchDidFirstLayout): (WebFrameLoaderClient::provisionalLoadStarted): 2011-01-14 Simon Fraser <simon.fraser@apple.com> Reviewed by Dan Bernstein. Plugins render incorrectly with transformed ancestors https://bugs.webkit.org/show_bug.cgi?id=52507 -[NSView visibleRect] gives the wrong answer if there are CSS transforms in the ancestor chain of a plugin. So use of this method with calls to -actualVisibleRectInWindow, which maps rects through the render tree to compute the correct rect, clipping via windowClipRect() if necessary. Not testable, because doing so relies on the behavior of some plugins, which stop rendering if setWindow passes an empty rect. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView updateAndSetWindow]): * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView actualVisibleRectInWindow]): * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): 2011-01-14 Yuzo Fujishima <yuzo@google.com> Reviewed by Antti Koivisto. Rename cache() to memoryCache() https://bugs.webkit.org/show_bug.cgi?id=52433 * Misc/WebCache.mm: (+[WebCache statistics]): (+[WebCache setDisabled:]): (+[WebCache isDisabled]): * WebView/WebView.mm: (+[WebView _setCacheModel:]): 2011-01-13 Geoffrey Garen <ggaren@apple.com> Reviewed by Oliver Hunt. Split out a MarkedSpace strategy object from Heap. https://bugs.webkit.org/show_bug.cgi?id=52421 * Misc/WebCoreStatistics.mm: (+[WebCoreStatistics memoryStatistics]): Updated for class move. 2011-01-14 Dan Bernstein <mitz@apple.com> Reviewed by Simon Fraser. WebKit/mac part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree] * WebView/WebHTMLView.mm: (-[WebHTMLView _invalidateGStatesForTree]): Override this NSView method, and bracket the call to the superclass implementation with suspending WebCore Widget hierarchy updates. This ensures that the NSView tree doesn’t change from under AppKit as it traverses it. 2011-01-14 Beth Dakin <bdakin@apple.com> Reviewed by Mark Rowe. Fix for <rdar://problem/7793902> Artifacts when scrolling page in Safari while page is loading Call setDrawsBackground:YES on the scrollView in dispatchDidFirstLayout() rather than waiting until frameLoadCompleted(). Also suspend scrolling elasticity between provisionalLoadStarted() and dispatchDidFirstLayout() * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::WebFrameLoaderClient): (WebFrameLoaderClient::dispatchDidFirstLayout): (WebFrameLoaderClient::provisionalLoadStarted): 2011-01-12 Enrica Casucci <enrica@apple.com> Reviewed by Darin Adler. WebKit2: Add support for drag and drop https://bugs.webkit.org/show_bug.cgi?id=52343 <rdar://problem/7660558> The DragData class has been extended to provide additional context from the application (keyboard state, modal windows, etc.) as well as information of the drag pasteboard being used. These are the changes to align the behavior for WebKit. * WebView/WebView.mm: (-[WebView applicationFlags:]): Added. (-[WebView draggingEntered:]): Added parameter to the DragData constructor. (-[WebView draggingUpdated:]): Added parameter to the DragData constructor. (-[WebView draggingExited:]): Added parameter to the DragData constructor. (-[WebView performDragOperation:]): Added parameter to the DragData constructor. 2011-01-12 Beth Dakin <bdakin@apple.com> Reviewed by Anders Carlsson. Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose fixed layout through WebKit SPI -and corresponding- <rdar://problem/8844464> And now with getters! * WebView/WebView.mm: (-[WebView _useFixedLayout]): (-[WebView _fixedLayoutSize]): * WebView/WebViewPrivate.h: 2011-01-12 Beth Dakin <bdakin@apple.com> Reviewed by Anders Carlsson. Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose fixed layout through WebKit SPI -and corresponding- <rdar://problem/8844464> * WebView/WebView.mm: (-[WebView _setUseFixedLayout:]): (-[WebView _setFixedLayoutSize:]): * WebView/WebViewPrivate.h: 2011-01-07 Enrica Casucci <enrica@apple.com> Reviewed by Alexey Proskuryakov. Paste and drag and drop use different code paths to interact with the pasteboard. https://bugs.webkit.org/show_bug.cgi?id=52093 The change consists in a refactoring of the code to have only one class that deals with the pasteboard on Mac. * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: Added two methods to provide to WebCore functionality exposed by NSURLExtras. (WebEditorClient::canonicalizeURL): (WebEditorClient::canonicalizeURLString): * WebCoreSupport/WebPasteboardHelper.h: Removed. * WebCoreSupport/WebPasteboardHelper.mm: Removed. * WebView/WebHTMLView.mm: Removed comment. * WebView/WebView.mm: The following methods have been changed to use the new DragData constructor that doesn't use the WebPasteboardHelper reference. (-[WebView draggingEntered:]): (-[WebView draggingUpdated:]): (-[WebView draggingExited:]): (-[WebView performDragOperation:]): 2011-01-09 Tony Gentilcore <tonyg@chromium.org> Reviewed by Alexey Proskuryakov. Forward declare some headers where possible https://bugs.webkit.org/show_bug.cgi?id=52133 * WebView/WebFrame.mm: 2011-01-09 Xianzhu Wang <phnixwxz@gmail.com> Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=41441 createWindow method should only do window-creating without URL navigation * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::createWindow): 2011-01-08 Dan Bernstein <mitz@apple.com> Try to fix the Leopard build. * WebView/WebFullScreenController.mm: 2011-01-07 Jer Noble <jer.noble@apple.com> Yet another Leopard build fix: NSRect and CGRect are not inter- changable in 32-bit. * WebView/WebFullScreenController.mm: (-[WebFullScreenController exitFullscreen]): 2011-01-07 Jer Noble <jer.noble@apple.com> Fix the Leopard build: Replace CoreAnimation SL-only functions with Leopard equivalents. * WebView/WebFullScreenController.mm: (+[CATransaction setDisableActions:]): (+[CATransaction setAnimationDuration:]): (-[WebFullScreenController _animationDuration]): (-[WebFullscreenWindow initWithContentRect:styleMask:backing:defer:]): 2010-12-21 Jer Noble <jer.noble@apple.com> Reviewed by Simon Fraser. Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 Support the new fullscreen Chrome client requests. WebView will pass through these requests to a WebFullscreenController. * WebCoreSupport/WebChromeClient.h: Add fullScreenRendererChanged(). * WebView/WebView.mm: (-[WebView _supportsFullScreenForElement:WebCore::]): Check to see if the fullscreen pref has been enabled. (-[WebView _enterFullScreenForElement:WebCore::]): Create a WebFullScreenController. (-[WebView _exitFullScreenForElement:WebCore::]): Request that the WebFullScreenController exit fullscreen. (-[WebView _fullScreenRendererChanged:WebCore::]): Notify the WebFullScreenController that its renderer has changed. * WebView/WebViewData.h: Add ivar newFullscreenController. 2010-12-17 Jer Noble <jer@kokode.apple.com> Reviewed by Simon Fraser. Implement WebKit Full Screen support. https://bugs.webkit.org/show_bug.cgi?id=49481 rdar://problem/8247444 This patch implements the FullScreen APIs using the new RenderFullScreen renderer and the new Document client APIs. The RenderFullScreen renderer's CALayer is hosted in a new, fullscreen window, and a custom CAAnimation animates that layer between the initial screen rect of the full screen element, to its final value. WebFullscreenController will swap the WebView out of its original window, and into the fullscreen window. The controller will replace the WebView with a placeholder view, so that if the placeholder moves or resized while the WebView is absent, the WebView will move back to the correct location when exiting fullscreen. * WebView/WebFullscreenController.h: Added. * WebView/WebFullscreenController.mm: Added. (-[WebFullscreenController windowDidExitFullscreen:]): Close the fullscreen window. (-[WebFullscreenController windowDidEnterFullscreen:]): Swap the webView back into the fullscreen window. (-[WebFullscreenController animationDidStop:finished:]): Call windowDid{Exit|Enter}FullScreen as appropriate. (-[WebFullscreenController applicationDidResignActive:]): (-[WebFullscreenController applicationDidChangeScreenParameters:]): Resize the fullscreen window to match the new screen parameters. (-[WebFullscreenController enterFullscreen:]): Set up the animation that will take the fullscreen element from its original screen rect into fullscreen. (-[WebFullscreenController exitFullscreen]): Swap the webView back into its original window. Set up the animation that will take the fullscreen element back into its original screen rect. (-[WebFullscreenController _updatePowerAssertions]): Now checks _isAnyMoviePlaying to determine whether to disable screensaver and sleep. (-[WebFullscreenController _isAnyMoviePlaying]): Walks through the sub-tree starting at the fullscreen element looking for HTMLVideoElements; returns whether any are found to be playing. (-[WebFullscreenController _animationDuration]): Returns the current animation duration, affected by control and shift keys. (-[WebFullscreenWindow canBecomeKeyWindow]): Allow the window to become key. (-[WebFullscreenWindow keyDown:]): Handle the 'Esc' key. (-[WebFullscreenWindow cancelOperation:]): Request to exit fullscreen. (-[WebFullscreenWindow rendererLayer]): Convenience accessor. (-[WebFullscreenWindow setRendererLayer:]): Ditto. (-[WebFullscreenWindow backgroundLayer]): Ditto. (-[WebFullscreenWindow animationView]): Ditto. (MediaEventListener::MediaEventListener): Implements the EventListener protocol. (MediaEventListener::handleEvent): Tells its delegate to _updatePowerAssertions. 2011-01-07 James Robinson <jamesr@chromium.org> Revert "Implement mozilla's animationTime property" https://bugs.webkit.org/show_bug.cgi?id=51952 This approach isn't quite right. * WebView/WebHTMLView.mm: (-[WebHTMLView drawRect:]): * WebView/WebView.mm: (layerSyncRunLoopObserverCallBack): 2011-01-06 Gavin Barraclough <barraclough@apple.com> Reviewed by Geoff Garen. Bug 52035 - Unregistering DOMWrapperWorlds is unsafe The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's destructor early, in order to release wrappers once we know we no longer intend to use them. Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to lose any state stored on them) it is not okay to deregister the world from the JSGlobalData. A sequence of events that triggers the bug would look like this: (1) Create a DOMWrapperWorld. (2) Register a timer in the world. (3) Call unregisterWorld() on the world. (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document. (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've called forgetWorld() none exists. (6) Attempt to add a wrapper to a NULL map. Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away. * WebView/WebScriptWorld.mm: (-[WebScriptWorld unregisterWorld]): 2011-01-04 Chris Fleizach <cfleizach@apple.com> Reviewed by Sam Weinig. WK2: Support Accessibility https://bugs.webkit.org/show_bug.cgi?id=51859 Use rootObject() method to get top of AX tree. * WebCoreSupport/WebFrameLoaderClient.h: (WebFrameLoaderClient::accessibilityRemoteObject): * WebView/WebFrame.mm: (-[WebFrame setAccessibleName:]): (-[WebFrame accessibilityRoot]): * WebView/WebFrameInternal.h: * WebView/WebFramePrivate.h: * WebView/WebHTMLView.mm: (-[WebHTMLView accessibilityAttributeValue:]): (-[WebHTMLView accessibilityFocusedUIElement]): (-[WebHTMLView accessibilityHitTest:]): (-[WebHTMLView _accessibilityParentForSubview:]): 2011-01-04 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/51889> WebFrameLoaderClient::createMediaPlayerProxyPlugin() should use WebCore::PluginInfo.name Reviewed by Eric Carlson. This originally broke in r61581. It is inside an ENABLE(PLUGIN_PROXY_FOR_VIDEO) macro, so it didn't break the Mac build then. * WebCoreSupport/WebFrameLoaderClient.mm: Call (WebFrameLoaderClient::createMediaPlayerProxyPlugin): Updated to use WebCore::PluginInfo.name instead of -[WebBasePluginPackage name]. 2011-01-02 Dan Bernstein <mitz@apple.com> Rubber-stamped by Simon Fraser. <rdar://problem/8812159> Update copyright strings * Info.plist: 2010-12-29 Dan Bernstein <mitz@apple.com> Reviewed by Ada Chan. <rdar://problem/8758191> REGRESSION (r72887): Mail crashes when doing searches in a message due to method name conflict https://bugs.webkit.org/show_bug.cgi?id=51717 Renamed -findString:options: to -_findString:options: in the WebDocumentOptionsSearching protocol to avoid conflict with -[WebHTMLView(MailExtras) findString:options:] which Mail defines. * WebView/WebDocumentInternal.h: * WebView/WebHTMLView.mm: (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): (-[WebHTMLView _findString:options:]): * WebView/WebView.mm: (findString): 2010-12-28 Daniel Bates <dbates@rim.com> Reviewed by Sam Weinig. Substitute // MARK: for compiler-specific #pragma mark https://bugs.webkit.org/show_bug.cgi?id=51657 For consistency, we should substitute "// MARK:" for compiler- specific "#pragma mark" in the source files for the Mac port. * History/WebHistory.mm: * Plugins/WebBaseNetscapePluginView.mm: * Plugins/WebNetscapePluginView.mm: * WebCoreSupport/WebInspectorClient.mm: * WebCoreSupport/WebSecurityOrigin.mm: * WebView/WebPDFView.mm: * WebView/WebVideoFullscreenController.mm: * WebView/WebVideoFullscreenHUDWindowController.mm: 2010-12-23 Yongjun Zhang <yongjun_zhang@apple.com> Reviewed by Darin Adler. WebKit crashes at DebuggerCallFrame::functionName() if m_callFrame is the top global callframe. https://bugs.webkit.org/show_bug.cgi?id=38535 WebScriptDebugger in WebKit has empty implementations for willExecuteProgram and didExecuteProgram. As a result, if the top call frame is from a program, WebKitScriptDebugger doesn't record that callframe as the top frame, and WebScriptDebugger's callframe stack is wrong from this point. That could cause crash if we trying to access the top call frame from this stack when an exception throws because the saved top frame could be invalid. To fix that, we need to maintain the call frame stack in willExecuteProgram and didExecuteProgram, as we did in callEvent and returnEvent. * WebView/WebScriptDebugger.mm: (WebScriptDebugger::willExecuteProgram): (WebScriptDebugger::didExecuteProgram): 2010-12-22 Sam Weinig <sam@webkit.org> Reviewed by Darin Adler. WebKit2 needs to mirror the frame tree in the UIProcess https://bugs.webkit.org/show_bug.cgi?id=51546 - Add client functions to notify that a frame has been added or removed from the page cache. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::didSaveToPageCache): (WebFrameLoaderClient::didRestoreFromPageCache): 2010-12-22 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Eric Seidel. Editor.h doesn't need to include SelectionController.h https://bugs.webkit.org/show_bug.cgi?id=51441 Renamed SelectionController::EDirection to SelectionDirection. * WebView/WebFrame.mm: (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:granularity:]): Takes SelectionDirection instead of SelectionController::EDirection. * WebView/WebFrameInternal.h: * WebView/WebTextCompletionController.mm: (-[WebTextCompletionController doCompletion]): Calls _rangeByAlteringCurrentSelection:SelectionController. 2010-12-22 Simon Fraser <simon.fraser@apple.com> Reviewed by Darin Adler. Cache snapshots of plug-ins before painting, to avoid script running during painting https://bugs.webkit.org/show_bug.cgi?id=51493 When FrameView is asked to do a flattening paint (e.g. when Safari snapshots, or when printing), plug-ins which otherwise use the CA rendering model are sent a paint event. Some plug-ins may run script while handling this event, or out of process plug-ins may process queued requests at this time. Running script while inside layout or painting can have bad consequences, because it can result in arbitrary changes to the render tree. This patch avoids sending plug-ins paint events inside of painting. Instead, we ask the plug-ins to cache a snapshot before we paint, and then the software paint simply draws that snapshot. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView drawRect:]): If we have a cached snapshot, draw it. Also only send the snapshot message to the plugin proxy if we know we're snapshotting, since even if creating the snapshot image failed, we still don't want to call to the plug-in. * Plugins/WebBaseNetscapePluginView.h: Add a retained NSImage member for the snapshot. * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView cacheSnapshot]): Create an image and draw the snapshot into it. (-[WebBaseNetscapePluginView clearCachedSnapshot]): Clear the snapshot. * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView drawRect:]): If we have a cached snapshot, use it. * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::notifyWidget): Implement notifyWidget() and use it to cache and clear the snapshots. 2010-12-21 Cameron Zwarich <zwarich@apple.com> Reviewed by Darin Adler. -[WebBasePluginPackage isNativeLibraryData:] integer underflows on zero-sized data https://bugs.webkit.org/show_bug.cgi?id=51431 <rdar://problem/8791757> * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage isNativeLibraryData:]): Change an arithmetic expression so it doesn't underflow. 2010-12-16 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Cameron Zwarich. REGRESSION(r74172): 125 java tests fail on Mac https://bugs.webkit.org/show_bug.cgi?id=51214 The regression was caused by an incorrectly adding sizeof(struct fat_header) to a pointer for uint32_t as supposed to uint8_t. Fixed the bug by explicitly casting it to uint8_t* before the addition. * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage isNativeLibraryData:]): 2010-12-15 Cameron Zwarich <zwarich@apple.com> Reviewed by Darin Adler. Clang -Wcast-align gives an error in WebBasePluginPackage.mm https://bugs.webkit.org/show_bug.cgi?id=51144 Fix an alignment issue. OSSwapInt32 takes data that is 32-bit aligned on ARM, but we were calling it on a byte array 32 bits at a time. While this is okay in practice, since TCMalloc won't give us a non-32-bit aligned block array of bytes and Vector's inline storage is at the beginning of the Vector, it is still better to fix this and silence the warning. * Plugins/WebBasePluginPackage.mm: (swapIntsInHeader): (-[WebBasePluginPackage isNativeLibraryData:]): 2010-12-14 Mark Rowe <mrowe@apple.com> Reviewed by Sam Weinig. <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video> * History/WebHistoryItem.mm: (-[WebHistoryItem description]): Test whether the string is empty rather than incorrectly always including the target in the output. 2010-12-13 Alexey Proskuryakov <ap@apple.com> Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=50953 DNS Prefetch should be an opt-in feature * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Changed default to false. 2010-12-13 Mike Thole <mthole@apple.com> Rubber-stamped by John Sullivan. https://bugs.webkit.org/show_bug.cgi?id=50956 WebAuthenticationPanel.nib appears to have a cut-off sentence Replace the sentence fragment in the sheet layout with "<-- do not localize -->" style text. The contents of this text field are updated dynamically before the sheet is displayed. * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: 2010-12-13 Antti Koivisto <antti@apple.com> Reviewed by Alexey Proskuryakov. https://bugs.webkit.org/show_bug.cgi?id=50758 <rdar://problem/8722094> Defer loading print stylesheets Expose SPI for DRT for making resources load serially. This is useful for testing resource load order. * WebView/WebView.mm: (+[WebView _setLoadResourcesSerially:forHost:]): * WebView/WebViewPrivate.h: 2010-12-09 Matthew Delaney <mdelaney@apple.com> Reviewed by Simon Fraser. Adopt new CG API for canvas https://bugs.webkit.org/show_bug.cgi?id=50591 * WebCoreSupport/WebSystemInterface.mm: 2010-10-28 MORITA Hajime <morrita@google.com> Reviewed by Ojan Vafai. spellcheck does not check pasted text https://bugs.webkit.org/show_bug.cgi?id=40092 Added asynchronous spell checking API to WebEditorClient using -[NSSpellChecker requestCheckingOfString]. Note that WebEditorSpellCheckResponder is a small class to receive requested spell-checking result. Note that this feature is disabled at default. Also added [WebPreferences setAsynchronousSpellCheckingEnabled:] to enable the feature from LayoutTestController. * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]): (-[WebEditorSpellCheckResponder perform]): (toCoreSpellingResult): (-[WebEditorSpellCheckResponder WTF::WebCore::]): (WebEditorClient::requestCheckingOfString): * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setAsynchronousSpellCheckingEnabled:]): (-[WebPreferences asynchronousSpellCheckingEnabled]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-12-09 Anders Carlsson <andersca@apple.com> Fix a bug uncovered by clang++. * WebView/WebHTMLView.mm: (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): 2010-12-09 Anders Carlsson <andersca@apple.com> Clang++ build fixes. Silence a couple of warnings. * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): * WebView/WebTextCompletionController.mm: (-[WebTextCompletionController filterKeyDown:]): 2010-12-09 David Hyatt <hyatt@apple.com> Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PgUp, PgDown should respect writing-mode. This first part of the patch just patches Mac WebKit 1 views. * WebView/WebFrameView.mm: (-[WebFrameView _isVerticalDocument]): (-[WebFrameView _isFlippedDocument]): (-[WebFrameView _scrollToEndOfDocument]): (-[WebFrameView _pageInBlockProgressionDirection:]): (-[WebFrameView scrollPageUp:]): (-[WebFrameView scrollPageDown:]): 2010-12-08 Andy Estes <aestes@apple.com> Reviewed by Darin Adler. Enable pre-HTML5 parser quirks for Apple Mail.app https://bugs.webkit.org/show_bug.cgi?id=50727 * WebView/WebView.mm: (-[WebView _needsPreHTML5ParserQuirks]): Return true if the embedding application is Mail.app. 2010-12-08 Brian Weinstein <bweinstein@apple.com> Reviewed by John Sullivan. REGRESSION: r73429-r73490: Some Contextual menu items non-functional, such as Open Link in New Tab https://bugs.webkit.org/show_bug.cgi?id=50683 If our context menu item already has an action, don't overwrite the action with the context menu forwarder. * WebView/WebHTMLView.mm: (setMenuItemTarget): 2010-12-08 Anders Carlsson <andersca@apple.com> Remove an unused variable. * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]): 2010-12-07 Brian Weinstein <bweinstein@apple.com> Reviewed by John Sullivan. Layering Violation in ContextMenu - member variable of type HitTestResult https://bugs.webkit.org/show_bug.cgi?id=50586 Update users of ContextMenu and ContextMenuController to match where the new functions are located. * WebCoreSupport/WebContextMenuClient.mm: (WebContextMenuClient::getCustomMenuFromDefaultItems): (WebContextMenuClient::contextMenuItemSelected): * WebView/WebHTMLView.mm: (-[WebMenuTarget validateMenuItem:]): 2010-12-07 Brian Weinstein <bweinstein@apple.com> Reviewed by John Sullivan. Part of Layering Violation in ContextMenu https://bugs.webkit.org/show_bug.cgi?id=50586 Move WebMenuTarget from ContextMenuMac to here, because having it in ContextMenuMac was a layering violation. Also, make sure we set the menu item targets for all menu items before showing them, because the ContextMenu constructor doesn't do that anymore. * WebView/WebHTMLView.mm: (+[WebMenuTarget sharedMenuTarget]): Moved from ContextMenuMac.mm. (-[WebMenuTarget WebCore::]): Ditto. (-[WebMenuTarget setMenuController:WebCore::]): Ditto. (-[WebMenuTarget forwardContextMenuAction:]): Ditto. (-[WebMenuTarget validateMenuItem:]): Ditto. (setMenuItemTarget): Sets the target of the NSMenuItem to the shared WebMenuTarget. (setMenuTargets): Recursively iterates over all NSMenuItems in an NSMenu (including submenus), and calls setMenuItemTarget on them. (-[WebHTMLView menuForEvent:]): Call setMenuTarget on all the menu items before adding them to the menu. 2010-12-06 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. Pass security origin to make local file decision correctly https://bugs.webkit.org/show_bug.cgi?id=48603 * WebView/WebPDFView.mm: (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Pass security origin. 2010-12-07 Martin Robinson <mrobinson@igalia.com> Unreviewed, rolling out r73392. http://trac.webkit.org/changeset/73392 https://bugs.webkit.org/show_bug.cgi?id=50489 This commit caused crashes on the GTK+ bots * WebView/WebFrame.mm: (-[WebFrame _canProvideDocumentSource]): 2010-12-07 Kenichi Ishibashi <bashi@google.com> Reviewed by Kent Tamura. Let HTMLObjectElement be a form associated element https://bugs.webkit.org/show_bug.cgi?id=48821 Modified to use FormAssociatedElement instead of HTMLFormControlElement. * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation elementWithName:inForm:]): Modified to use FormAssociatedElement instead of HTMLFormControlElement. (-[WebHTMLRepresentation controlsInForm:]): Ditto. 2010-12-06 Nate Chapin <japhet@chromium.org> Reviewed by Adam Barth. Update calls to DocumentWriter. https://bugs.webkit.org/show_bug.cgi?id=50489 * WebView/WebFrame.mm: (-[WebFrame _canProvideDocumentSource]): 2010-12-06 Chris Marrin <cmarrin@apple.com> Reviewed by Simon Fraser. Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations https://bugs.webkit.org/show_bug.cgi?id=49388 Got rid of GraphicsLayer::nativeLayer() call, replacing it with GraphicsLayer::platformLayer(). * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::attachRootGraphicsLayer): 2010-12-04 Dan Bernstein <mitz@apple.com> Reviewed by Sam Weinig. WebKit part of <rdar://problem/8145955> Add text search API for counting/marking/highlighting matches in a range https://bugs.webkit.org/show_bug.cgi?id=50530 * WebView/WebDocumentInternal.h: Added a DOMRange parameter to -countMatchesForText:options:limit:markMatches: * WebView/WebHTMLView.mm: (-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter, which is passed through to WebCore. * WebView/WebPDFView.mm: (isFrameInRange): Added this helper function. (-[WebPDFView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter and a check if the frame is in the range. * WebView/WebView.mm: (-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Now calls the inDOMRange: version. (-[WebView countMatchesForText:inDOMRange:options:highlight:limit:markMatches:]): Added DOMRange parameter, which is passed to document views' -countMatchesForText:inDOMRange:options:limit:markMatches:. * WebView/WebViewPrivate.h: 2010-12-03 Sam Weinig <sam@webkit.org> Reviewed by Maciej Stachowiak. Enable <a ping> for Mac/Windows/WebKit2 builds <rdar://problem/8504473> https://bugs.webkit.org/show_bug.cgi?id=50488 * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Enable "HyperlinkAuditing" by default. 2010-12-03 Jia Pu <jpu@apple.com> Reviewed by Darin Adler. Need to move all code that applies correction into correction panel callback. https://bugs.webkit.org/show_bug.cgi?id=50426 <rdar://problem/8720832> * WebCoreSupport/WebEditorClient.h: Adopted new signature of dismissCorrectionPanel. * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::~WebEditorClient): Adopted new signature of dismissCorrectionPanel. (WebEditorClient::showCorrectionPanel): Added more user dictionary learning code. (WebEditorClient::dismissCorrectionPanel): Adopted new signature of dismissCorrectionPanel. 2010-12-02 Simon Fraser <simon.fraser@apple.com> Revert r73217 and r73227 because of continued bustage. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::attachRootGraphicsLayer): 2010-12-02 Chris Marrin <cmarrin@apple.com> Reviewed by Simon Fraser. Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations https://bugs.webkit.org/show_bug.cgi?id=49388 Got rid of GraphicsLayer::nativeLayer() call, replacing it with GraphicsLayer::platformLayer(). * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::attachRootGraphicsLayer): 2010-12-02 Mark Rowe <mrowe@apple.com> Reviewed by Beth Dakin. <rdar://problem/8708730> Objects reported as being leaked due to lack of autorelease pool * Misc/WebNSFileManagerExtras.m: (setMetaData): Create an autorelease pool for the duration of the thread body. 2010-12-02 John Knottenbelt <jknotten@chromium.org> Reviewed by Steve Block. Move requestGeolocationPermissionForFrame to GeolocationClient https://bugs.webkit.org/show_bug.cgi?id=50061 This change facilitates client-based geolocation implementation by bringing together permission control into the geolocation client interface. Move method ChromeClient::requestGeolocationPermissionForFrame to GeolocationClient::requestPermission, and supporting class WebGeolocationPolicyListener. The moved code is unchanged except that requestPermission now takes only one argument (Geolocation*) and the Frame parameter is retrieved from the Geolocation object. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: * WebCoreSupport/WebGeolocationClient.h: (WebGeolocationClient::cancelPermissionRequest): * WebCoreSupport/WebGeolocationClient.mm: (WebGeolocationClient::requestPermission): (-[WebGeolocationPolicyListener initWithGeolocation:]): (-[WebGeolocationPolicyListener allow]): (-[WebGeolocationPolicyListener deny]): 2010-12-02 Joseph Pecoraro <joepeck@webkit.org> Reviewed by Eric Carlson. Style Fixes in WebPluginController https://bugs.webkit.org/show_bug.cgi?id=50397 * Plugins/WebPluginController.mm: (-[WebPluginController startAllPlugins]): (-[WebPluginController stopAllPlugins]): 2010-12-02 John Sullivan <sullivan@apple.com> Reviewed by Adam Roben. Slightly speculative fix for: <rdar://problem/8712674> <https://bugs.webkit.org/show_bug.cgi?id=50393> setStringValue: sometimes called with nil in [WebAuthenticationPanel setUpForChallenge] * Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForChallenge:]): If the realm is nil, use @"" instead. 2010-12-01 Jia Pu <jpu@apple.com> Reviewed by Darin Adler. Support multiple correction candidates panel for misspelled word on Mac OS X. https://bugs.webkit.org/show_bug.cgi?id=50137 <rdar://problem/8568059> This patch is for supporting multiple correction suggestion panel on Mac OS X. The behavior and implementation is similar to that of reversion candiate panel. * WebCoreSupport/WebEditorClient.h: Adopted new signatures defined in base class. * WebCoreSupport/WebEditorClient.mm: Adopted new signatures defined in base class. Added code to handle new multiple suggestion canidate panel type. (WebEditorClient::showCorrectionPanel): (WebEditorClient::getGuessesForWord): 2010-12-01 David Hyatt <hyatt@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=46645 Part 1 of making scrolling work with vertical text. This patch generalizes the scrollOriginX concept recently added for horizontal RTL documents and applies it to writing modes as well. Now the scrollOrigin is a point, since you can start off locked to the bottom or locked to the right. This patch also fixes numerous bugs with the scrollOrigin code using native Mac NSScrollViews and makes them behave the same as the cross-platform code (allowing for cross-platform results to be landed). * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView adjustForScrollOriginChange]): (-[WebDynamicScrollBarsView updateScrollers]): (-[WebDynamicScrollBarsView reflectScrolledClipView:]): (-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]): (-[WebDynamicScrollBarsView scrollOrigin]): * WebView/WebFrameView.mm: (-[WebFrameView _scrollToBeginningOfDocument]): (-[WebFrameView _scrollToEndOfDocument]): 2010-11-29 Dan Bernstein <mitz@apple.com> Reviewed by Darin Adler. WebKit Mac part of <rdar://problem/8650085> adding word-prefix search options to the text search API. https://bugs.webkit.org/show_bug.cgi?id=50038 Based on a patch from Darin Adler. * WebView/WebDocumentInternal.h: Removed -markAllMatchesForText:caseSensitive:limit: and replaced -countMatchesForText:caseSensitive:limit:markMatches: with a WebFindOptions-based method. Declared a WebDocumentOptionsSearching protocol with a new -findString:options: method. Made WebHTMLView conform to the new protocol. * WebView/WebHTMLView.mm: (coreOptions): Added. Converts WebFindOptions to WebCore FindOptions. (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Changed to use -findString:options:. (-[WebHTMLView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions. (-[WebHTMLView findString:options:]): Added. Calls through to WebCore::Editor::findString(). * WebView/WebPDFView.mm: (-[WebPDFView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions. * WebView/WebView.mm: (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]): Now calls through to -countMatchesForText:options:highlight:limit:markMatches. (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]): Ditto. (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]): Now calls through to -findString:options:. (incrementFrame): Changed to use WebFindOptions. (findString): Added this helper method that performs the search using the best supported method for the document view. (-[WebView findString:options:]): Changed -searchFor::::: into this. (-[WebView canMarkAllTextMatches]): (-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Updated to use WebFindOptions. (-[WebView unmarkAllTextMatches]): Updated for change to incrementFrame. (-[WebView rectsForTextMatches]): Ditto. * WebView/WebViewPrivate.h: Added WebFindOptions, -findString:options:, and WebFindOptions version of countMatchesForText:. 2010-11-29 Jeremy Moskovich <jeremy@chromium.org> Reviewed by David Hyatt. Right-to-left pages should be scrollable to reveal left overflow. https://bugs.webkit.org/show_bug.cgi?id=23556 Set and get the original x-axis scroll position and reset scroll position on HOME/END key press. Modify WebFrameView to support setting the initial horizontal scroller's thumb position to the right for pages with a left overflow. * WebView/WebDynamicScrollBarsView.h: * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView inProgramaticScroll]): (-[WebDynamicScrollBarsView refreshInitialScrollbarPosition]): (-[WebDynamicScrollBarsView updateScrollers]): (-[WebDynamicScrollBarsView reflectScrolledClipView:]): (-[WebDynamicScrollBarsView setScrollOriginX:]): (-[WebDynamicScrollBarsView scrollOriginX]): * WebView/WebFrameView.mm: (-[WebFrameView _scrollToBeginningOfDocument]): (-[WebFrameView _scrollToEndOfDocument]): * WebView/WebHTMLView.mm: (-[WebHTMLView _frameOrBoundsChanged]): 2010-11-22 Ryosuke Niwa <rniwa@webkit.org> Reviewed by Tony Chang. SelectionController::typingStyle() should return EditingStyle* https://bugs.webkit.org/show_bug.cgi?id=49813 Changed the return value of SelectionController::typingStyle() to EditingStyle*. Also added SelectionController::copyTypingStyle() to copy the typing style as an instance of CSSMutableStyleDeclaration. No tests are added since this is no behavioral change. * WebView/WebFrame.mm: (-[WebFrame _typingStyle]): Calls SelectionController::copyTypingStyle() 2010-11-19 Michael Saboff <msaboff@apple.com> Reviewed by Sam Weinig Remove DOMSVGAnimatedPathData.h from all: target to fix build. * MigrateHeaders.make: 2010-11-19 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49580 * WebView/WebRenderLayer.mm: Add missing StyledElement.h include. 2010-11-18 Mark Rowe <mrowe@apple.com> Rubber-stamped by Adam Roben. <rdar://problem/8602509&8602717&8602724> Enable compaction support. * Configurations/WebKit.xcconfig: 2010-11-18 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r72288. http://trac.webkit.org/changeset/72288 https://bugs.webkit.org/show_bug.cgi?id=49730 'krit attempted to do that, but revert got stuck' (Requested by antonm on #webkit). * WebView/WebRenderLayer.mm: 2010-11-17 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept https://bugs.webkit.org/show_bug.cgi?id=49580 * WebView/WebRenderLayer.mm: Add missing StyledElement.h include. 2010-11-16 Stephanie Lewis <slewis@apple.com> Reviewed by Geoff Garen. <rdar://problem/8624267> Leak creating offscreen webview running fast/dom tests Make a static provider for WebDeviceOrientationProviderMock. The old code allocated a new WebDeviceOrientationProviderMock for every WebView, and the WebKit API doesn't support that ownership model. * WebView/WebDeviceOrientationProviderMock.h: * WebView/WebDeviceOrientationProviderMock.mm: (+[WebDeviceOrientationProviderMock shared]): 2010-11-16 Dave Hyatt <hyatt@apple.com> Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=11004 font-size:0 is ignored. Remove the minimum font size of 1 in CSSStyleSelector. Change the pref value for minimum font size from 1 to 0. Make sure to never use the NSFont's size, since it doesn't honor a size of 0. Instead pass the size in to the FontPlatformData(NSFont*) version of the constructor rather than using [NSFont pointSize]. https://bugs.webkit.org/show_bug.cgi?id=49582 Negative leading is not handled correctly. There are two bugs here. The first is that maxAscent and maxDescent can be negative, so we need a notion of whether or not we have set them before so that we can allow them to be < 0. The second issue is that we should understand where fonts will end up relative to our baseline (excluding line height), and only allow those boxes to impact ascent and descent if the actual font box (without factoring in line height) is above or below the root line box baseline. Added fast/css/negative-leading.html These two bug fixes have to land together to keep the Acid 3 test rendering correctly. * Misc/WebKitNSStringExtras.mm: (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): (-[NSString _web_widthWithFont:]): * Misc/WebStringTruncator.mm: (fontFromNSFont): * WebView/WebPreferences.mm: (+[WebPreferences initialize]): 2010-11-16 Anders Carlsson <andersca@apple.com> Fix clang++ build. * WebCoreSupport/WebFrameLoaderClient.mm: 2010-11-14 Kent Tamura <tkent@chromium.org> Reviewed by Andreas Kling. KeyboardEvent::keyIdentifier() should return "const String&" https://bugs.webkit.org/show_bug.cgi?id=49426 * WebCoreSupport/WebEditorClient.mm: (selectorForKeyEvent): Change the type of a variable to have keyIdentifier(); String -> const String& 2010-11-12 John Knottenbelt <jknotten@chromium.org> Reviewed by Steve Block. Rename GeolocationControllerClient to GeolocationClient. https://bugs.webkit.org/show_bug.cgi?id=49259 * WebCoreSupport/WebGeolocationClient.h: Renamed from WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.h. (WebGeolocationClient::webView): (WebGeolocationClient::setEnableHighAccuracy): * WebCoreSupport/WebGeolocationClient.mm: Renamed from WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.mm. (WebGeolocationClient::WebGeolocationClient): (WebGeolocationClient::geolocationDestroyed): (WebGeolocationClient::startUpdating): (WebGeolocationClient::stopUpdating): (WebGeolocationClient::lastPosition): * WebKit.order: * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): 2010-11-10 Beth Dakin <bdakin@apple.com> Reviewed by Simon Fraser. Fix for https://bugs.webkit.org/show_bug.cgi?id=49356 -[WebView _scaleWebView:] should take and origin and scroll the document -and corresponding- <rdar://problem/8643921> * WebView/WebView.mm: (-[WebView _scaleWebView:atOrigin:]): * WebView/WebViewPrivate.h: 2010-11-10 Csaba Osztrogonác <ossy@webkit.org> Reviewed by David Hyatt. HTML5 Ruby support should be mandatory feature https://bugs.webkit.org/show_bug.cgi?id=49272 Remove Ruby as optional feature. * Configurations/FeatureDefines.xcconfig: 2010-11-08 Ned Holbrook <nholbrook@apple.com> Reviewed by Adam Barth. Avoid CFAttributedString creation in ComplexTextController by adopting UniChar provider SPI. https://bugs.webkit.org/show_bug.cgi?id=48886 * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2010-11-08 Nate Chapin <japhet@chromium.org> Unreviewed, build fix. Clumsy typo in r71562. * Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::start): 2010-11-08 Nate Chapin <japhet@chromium.org> Reviewed by Alexey Proskuryakov. Interface changes in https://bugs.webkit.org/show_bug.cgi?id=27165 * Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::start): Move duplicate code into NetscapePluginStreamLoader * Plugins/WebNetscapePluginStream.mm: (WebNetscapePluginStream::start): Move duplicate code into NetscapePluginStreamLoader * WebView/WebView.mm: (-[WebView _dispatchPendingLoadRequests]): Use resourceLoadScheduler() instead of cache()->loader(). 2010-11-08 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. Plug-in views should not assume that plugins are RenderEmbeddedObjects https://bugs.webkit.org/show_bug.cgi?id=49196 <rdar://problem/8638467> * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView pluginHostDied]): 2010-11-08 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=48685 Notify UI process about focused frame Added an empty implementation of the new ChromeClient method. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::focusedFrameChanged): 2010-11-08 Anders Carlsson <andersca@apple.com> Build fix. * MigrateHeaders.make: 2010-11-08 Anders Carlsson <andersca@apple.com> Reviewed by Adam Roben. Remove use of HIGetScaleFactor https://bugs.webkit.org/show_bug.cgi?id=49186 <rdar://problem/8618410> Scale factors can vary on a display-by-display basis and it doesn't make sense to compute scale factor event coordinates like this. * Plugins/WebNetscapePluginEventHandlerCarbon.mm: (getCarbonEvent): 2010-11-08 Simon Fraser <simon.fraser@apple.com> Reviewed by Sam Weinig. Allow applets to participate in accelerated compositing https://bugs.webkit.org/show_bug.cgi?id=49117 <rdar://problem/8625819> If Java is being loaded via the Netscape Plugin API, create a NetscapePluginWidget so that it has an implementation of platformLayer(). Also clean up by using early returns. * WebCoreSupport/WebFrameLoaderClient.mm: 2010-11-07 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Rename Cache to MemoryCache https://bugs.webkit.org/show_bug.cgi?id=49159 * Misc/WebCache.mm: (+[WebCache statistics]): * WebCoreSupport/WebDeviceOrientationClient.mm: (WebDeviceOrientationClient::setController): * WebView/WebView.mm: 2010-11-05 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=49100 ASSERT([self window]) fails in -[WebBaseNetscapePluginView restartTimers] * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView restartTimers]): Removed the assertion. Multiple callers provide no guarantee that the plug-in is still alive (see bug comments), and there seems to be no harm in executing this function in that case. 2010-11-05 Chris Marrin <cmarrin@apple.com> Reviewed by Simon Fraser. Move resumeAnimations/suspendAnimations from Frame to AnimationController. https://bugs.webkit.org/show_bug.cgi?id=49073 * WebView/WebFrame.mm: (-[WebFrame _suspendAnimations]): (-[WebFrame _resumeAnimations]): 2010-11-04 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=49008 <rdar://problem/7906226> Frequent crashes on mail.yahoo.co.jp Callers of NetscapePluginInstanceProxy::waitForReply() are not prepared to be deleted during the call, unless it returns 0. There are two reasons for NetscapePluginInstanceProxy to be deleted during wait: - plugin crashed; - plugin was stopped (e.g. due to a DOM modification performed by another reply that came in while waiting). We didn't recognize the latter. * Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::PluginDestroyDeferrer::~PluginDestroyDeferrer): * Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::waitForReply): * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::didCallPluginFunction): 2010-11-05 Chris Marrin <cmarrin@apple.com> Reviewed by Simon Fraser. Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state https://bugs.webkit.org/show_bug.cgi?id=46945 * WebView/WebFrame.mm: (-[WebFrame _suspendAnimations]): (-[WebFrame _resumeAnimations]): 2010-11-04 Jia Pu <jpu@apple.com> Reviewed by Dan Bernstein. reversion bubble in WebViews https://bugs.webkit.org/show_bug.cgi?id=47630 <rdar://problem/8530960> This patch is to add reversion to correction panel. Please see WebCore/ChangeLog for detail. * WebCoreSupport/WebEditorClient.h: Adopted new signature of base class method. * WebCoreSupport/WebEditorClient.mm: Adopted new signature of base class method. And code change to use new reversion API in AppKit. (WebEditorClient::WebEditorClient): (WebEditorClient::~WebEditorClient): (WebEditorClient::respondToChangedSelection): (WebEditorClient::showCorrectionPanel): (WebEditorClient::dismissCorrectionPanel): (WebEditorClient::isShowingCorrectionPanel): 2010-11-04 Mike Thole <mthole@apple.com> Reviewed by Dan Bernstein. Title for images should use localized numerals https://bugs.webkit.org/show_bug.cgi?id=49017 * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::imageTitle): Use localized numerals on Snow Leopard or newer. 2010-11-02 Daniel Bates <dbates@rim.com> Reviewed by Adam Barth. For unnamed frames, window.name returns a generated name https://bugs.webkit.org/show_bug.cgi?id=6751 Part 1 of 2. Substitute FrameTree::uniqueName() for FrameTree::name() in the Mac port. * WebView/WebFrame.mm: (-[WebFrame name]): 2010-11-01 Brady Eidson <beidson@apple.com> Reviewed by Anders Carlsson. <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699 Context menu support for WebKit 2. * WebCoreSupport/WebChromeClient.h: (WebChromeClient::showContextMenu): 2010-10-29 Daniel Bates <dbates@rim.com> No review, rolling out 70971. http://trac.webkit.org/changeset/70971 https://bugs.webkit.org/show_bug.cgi?id=6751 Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since it caused layout test failures on all bots. In particular, the child count in a generated frame name differs after this patch. We need to look into this further. * WebView/WebFrame.mm: (-[WebFrame name]): 2010-10-28 Antonio Gomes <agomes@rim.com> Reviewed by Ojan Vafai. Needs a "LinuxEditingBehavior", perhaps with a better name https://bugs.webkit.org/show_bug.cgi?id=36627 Added the corresponding GTK+ setting to WebCore's EditingUnixBehavior: WebKitEditingUnixBehavior. * WebView/WebFrame.mm: (core): * WebView/WebPreferencesPrivate.h: 2010-10-29 Daniel Bates <dbates@rim.com> Reviewed by Adam Barth. For unnamed frames, window.name returns a generated name https://bugs.webkit.org/show_bug.cgi?id=6751 Modified Mac-port to use FrameTree::uniqueName(). * WebView/WebFrame.mm: (-[WebFrame name]): 2010-10-29 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. Change BackForwardList clients to use BackForwardListImpl to prepare for further refactoring https://bugs.webkit.org/show_bug.cgi?id=48574 * History/WebBackForwardList.mm: Use BackForwardListImpl. 2010-10-29 Alexey Proskuryakov <ap@apple.com> Rubber-stamped by Sam Weinig. Comment for usesDocumentViews explains it backwards. This flag is true in ToT, and we do create views for subframes. * WebView/WebViewData.h: Double negation is better than a lie. 2010-10-27 Jer Noble <jer.noble@apple.com> Reviewed by Darin Adler. Full screen video in Safari (still) exits full-screen if you switch to another app on a multi-display system. https://bugs.webkit.org/show_bug.cgi?id=47364 <rdar://problem/8382299> The FullScreen window does not technically close when it deactivates, but the two NSWindows that make up the FullScreen feature should not hide when deactivated. * WebView/WebVideoFullscreenController.mm: (createBackgroundFullscreenWindow): Do not set hidesOnDeactivate. (-[WebVideoFullscreenWindow initWithContentRect:styleMask:backing:defer:]): Ditto. * WebView/WebVideoFullscreenHUDWindowController.mm: (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]): Ditto. 2010-10-29 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=48576 Let WebKit2 client know when a frame is a frameset Added a blank implementation of the new FrameLoaderClient method. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchDidBecomeFrameset): 2010-10-29 Csaba Osztrogonác <ossy@webkit.org> Reviewed by Adam Roben and David Kilzer. Fix and cleanup of build systems https://bugs.webkit.org/show_bug.cgi?id=48342 * Configurations/FeatureDefines.xcconfig: Remove unnecessary ENABLE_SANDBOX. 2010-10-28 Dan Bernstein <mitz@apple.com> Reviewed by Mark Rowe. LLVM compiler build fix * Misc/WebDownload.mm: (-[WebDownload initWithRequest:delegate:]): Changed the delegate type from id to id<NSURLDownloadDelegate> to match the method signature in NSURLDownload. 2010-10-28 Ivan Krstić <ike@apple.com> Reviewed by Mark Rowe. Remove unused experimental proxied panel interface. <rdar://problem/7237059> * Plugins/Hosted/NetscapePluginHostManager.h: * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::hostForPlugin): (WebKit::NetscapePluginHostManager::spawnPluginHost): (WebKit::NetscapePluginHostManager::instantiatePlugin): * Plugins/Hosted/NetscapePluginHostProxy.mm: * Plugins/Hosted/WebKitPluginClient.defs: * Plugins/Hosted/WebKitPluginHost.defs: * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): * WebView/WebPreferencesPrivate.h: 2010-10-27 Pratik Solanki <psolanki@apple.com> Reviewed by Darin Adler. Improve memSize calculation in [WebView _setCacheModel] https://bugs.webkit.org/show_bug.cgi?id=48484 * WebView/WebView.mm: (roundUpToPowerOf2): Added. Utility function to calculate the nearest power of 2. (+[WebView _setCacheModel:]): Update memSize calculation to set it to the next bigger power of 2. Also update WebCore cache settings. 2010-10-26 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. WebKitTestRunner needs to support layoutTestController.dumpBackForwardList https://bugs.webkit.org/show_bug.cgi?id=42322 rdar://problem/8193631 WebKitTestRunner needs to support layoutTestController.clearBackForwardList https://bugs.webkit.org/show_bug.cgi?id=42333 rdar://problem/8193643 * History/WebBackForwardList.mm: (core): Return BackForwardListImpl. (kit): Take BackForwardListImpl. (-[WebBackForwardList initWithBackForwardList:]): Use BackForwardListImpl. (-[WebBackForwardList dealloc]): Ditto. (-[WebBackForwardList finalize]): Ditto. (-[WebBackForwardList description]): Ditto. (-[WebBackForwardList setPageCacheSize:]): Ditto. (-[WebBackForwardList pageCacheSize]): Ditto. * History/WebBackForwardListInternal.h: Ditto. * WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Ditto. * WebView/WebView.mm: (-[WebView initWithCoder:]): Ditto. (-[WebView encodeWithCoder:]): Ditto. (-[WebView backForwardList]): Ditto. (-[WebView setMaintainsBackForwardList:]): Ditto. 2010-10-27 Chris Rogers <crogers@google.com> Reviewed by Chris Marrin. Add ENABLE_WEB_AUDIO feature enable flag (initially disabled) to build-webkit https://bugs.webkit.org/show_bug.cgi?id=48279 * Configurations/FeatureDefines.xcconfig: 2010-10-27 Beth Dakin <bdakin@apple.com> Reviewed by Darin Adler. Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit SPI to scale a WebView -and corresponding- <rdar://problem/8107667> This patch adds SPI to Mac WebKit that scales the page by the given scale factor. * WebView/WebView.mm: (-[WebView _scaleWebView:]): (-[WebView _viewScaleFactor]): * WebView/WebViewPrivate.h: 2010-10-27 Dan Bernstein <mitz@apple.com> Reviewed by Darin Adler. REGRESSION (r70335): Incorrect article layout in Safari Reader https://bugs.webkit.org/show_bug.cgi?id=48436 * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_GET_MATCHED_CSS_RULES_RESTRICTIONS. * WebView/WebView.mm: (-[WebView _needsUnrestrictedGetMatchedCSSRules]): Added. Returns YES for Safari linked against versions of WebKit that did not have the cross-origin restrictions in getMatchedCSSRules(). (-[WebView _preferencesChangedNotification:]): Call Settings::setCrossOriginCheckInGetMatchedCSSRulesDisabled() based on the above. 2010-10-18 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Safari fullscreen media element tickles when it should not. https://bugs.webkit.org/show_bug.cgi?id=47861 * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController updatePowerAssertions]): 2010-10-26 Jenn Braithwaite <jennb@chromium.org> Reviewed by Dmitry Titov. Resource tracking failure when trying to move a frame between documents https://bugs.webkit.org/show_bug.cgi?id=44713 * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::didTransferChildFrameToNewDocument): Empty method. (WebFrameLoaderClient::transferLoadingResourceFromPage): Update resource tracking for a resource load that has been transferred to a new page. 2010-10-25 Oliver Hunt <oliver@apple.com> Reviewed by Gavin Barraclough. Remove exec and globalData arguments from jsNumber https://bugs.webkit.org/show_bug.cgi?id=48270 Mechanical removal of exec parameter to jsNumber * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::numberValue): 2010-10-24 Dan Bernstein <mitz@apple.com> Reviewed by Anders Carlsson. Expose HitTestResult::absoluteMediaURL() via WebKit API https://bugs.webkit.org/show_bug.cgi?id=48219 * Misc/WebElementDictionary.mm: (+[WebElementDictionary initializeLookupTable]): Map WebElementMediaURLKey to _absoluteMediaURL. (-[WebElementDictionary _absoluteMediaURL]): Added. Returns absoluteMediaURL(). * WebKit.exp: Export WebElementMediaURLKey. * WebView/WebView.mm: Define WebElementMediaURLKey. * WebView/WebViewPrivate.h: Declare WebElementMediaURLKey. 2010-10-24 Dan Bernstein <mitz@apple.com> Reviewed by Simon Fraser. Removed deprecated methods from the WebHTMLHighlighter private protocol. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::customHighlightRect): Call -highlightRectForLine:representedNode: unconditionally. (WebChromeClient::paintCustomHighlight): Call -paintHighlightForBox:onLine:behindText:entireLine:representedNode: unconditionally. * WebView/WebHTMLViewPrivate.h: 2010-10-23 Xan Lopez <xlopez@igalia.com> Reviewed by Sam Weinig. Unify globalData APIs https://bugs.webkit.org/show_bug.cgi?id=47969 * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): * WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame evaluateWebScript:]): 2010-10-23 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/48186> Remove unneeded WebHTMLRepresentationInternal.h header Reviewed by Sam Weinig. The only method defined in WebHTMLRepresentationInternal.h is also defined in WebHTMLRepresentation.h, so use that instead. * WebView/WebHTMLRepresentationInternal.h: Removed. 2010-10-23 Alexey Proskuryakov <ap@apple.com> Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=48083 <rdar://problem/8489082> Need WebKit2 API for private browsing (48083) * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize the new method. 2010-10-22 Sam Weinig <sam@webkit.org> Reviewed by Anders Carlsson. WebKit2 needs to pass the current event modifier flags when requesting a new window https://bugs.webkit.org/show_bug.cgi?id=48140 * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::createWindow): * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchCreatePage): Add NavigationAction parameter. 2010-10-21 Andy Estes <aestes@apple.com> Reviewed by Eric Carlson. WebKit shouldn't load a plug-in based on file extension if a MIME type is specified. https://bugs.webkit.org/show_bug.cgi?id=48046 If a MIME type is specified in an object or embed element, and that MIME type isn't supported by an installed plug-in, WebKit shouldn't attempt to find a plug-in based on the file extension of the url attribute. Doing so can lead to cases where a plug-in is loaded that can't handle resources of the MIME type specified by the author. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Only check for a pluginPackage by extension if MIME type is the empty string. 2010-10-20 Simon Fraser <simon.fraser@apple.com> Reviewed by Dan Bernstein. Composited elements drawn twice when WebView is layer-backed https://bugs.webkit.org/show_bug.cgi?id=48024 <rdar://problem/7916580> When drawing content in a layer-backed WebView, WebFrame's test for drawing to a bitmap succeeded, causing us to paint flattened compositing layers into the view. They would also be rendered by the normal compositing path, resulting in double rendering. Fix this by detecting when the WebHTMLView is being drawn into a layer, and avoiding flattening in that case. * WebView/WebFrame.mm: (-[WebFrame _showFlattenedCompositingLayers:]): (-[WebFrame _drawRect:contentsOnly:]): * WebView/WebHTMLView.mm: (-[WebHTMLView drawLayer:inContext:]): (-[WebHTMLView _web_isDrawingIntoLayer]): * WebView/WebHTMLViewInternal.h: 2010-10-20 Dumitru Daniliuc <dumi@chromium.org> Reviewed by David Levin. Repost the DatabaseTracker notifications to the main thread, if needed. https://bugs.webkit.org/show_bug.cgi?id=40655 * Storage/WebDatabaseTrackerClient.mm: (DidModifyOriginData::dispatchToMainThread): (DidModifyOriginData::DidModifyOriginData): (DidModifyOriginData::dispatchDidModifyOriginOnMainThread): (WebDatabaseTrackerClient::dispatchDidModifyOrigin): (WebDatabaseTrackerClient::dispatchDidModifyDatabase): 2010-10-20 Simon Fraser <simon.fraser@apple.com> Reviewed by Darin Adler. REGRESSION(r67568-r67643): Some HTML/CSS renders upside down and backwards on Leopard https://bugs.webkit.org/show_bug.cgi?id=47369 r46947 added code that limits the size of the layer-backed view on Leopard when the page height exceeds 4096px (later adjusted to 2048px in r48401). Later, r67576 altered the geometry flipping behavior to push the geometry flipping down into WebKit. However, the code that adjusts the hosting layer's sublayer transform to account for layer-backed view size-limiting was not fixed at the same time. This change corrects that. * WebView/WebHTMLView.mm: (-[WebHTMLView _updateLayerHostingViewPosition]): 2010-10-19 Simon Fraser <simon.fraser@apple.com> Reviewed by Dan Bernstein. <rdar://problem/8508422> Compositing layers aren't always displayed correctly in layer-backed WebViews AppKit has some special code to prevent it meddling with view's layers under layer-backed WebViews. When a layer-backed WebView became composited, this caused our layer to remain zero-sized. Fix this by manually setting the geometry for our layer, if the WebHTMLView has a layer. This does not seem to be a problem if the WebView becomes layer-backed, or stops being layer-backed after the WebView starts using compositing. * WebView/WebHTMLView.mm: (-[WebHTMLView attachRootLayer:]): 2010-10-20 Dirk Schulze <krit@webkit.org> Reviewed by Nikolas Zimmermann. Merge ColorSpace and ImageColorSpace enums https://bugs.webkit.org/show_bug.cgi?id=47922 Renamed ColorSpace enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB to follow webkit style rules. * Misc/WebKitNSStringExtras.mm: (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): 2010-10-19 Alexey Proskuryakov <ap@apple.com> Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=47933 <rdar://problem/8494337> navigator.language doesn't work in WebKit2 * Misc/WebNSUserDefaultsExtras.mm: Moved code for computing default language to WebCore. We need to keep _webkit_preferredLanguageCode for Safari. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize wkCopyCFLocalizationPreferredName. * WebCoreSupport/WebViewFactory.mm: Removed defaultLanguage. WebCore was the only caller. 2010-10-18 Alexey Proskuryakov <ap@apple.com> Reviewed by David Kilzer. https://bugs.webkit.org/show_bug.cgi?id=47864 Convert WebNSUserDefaultsExtras.m to .mm Also, fixed some issues in the process: - removed locking, which was only necessary when this code was in Foundation; - fixed notification center observer to actually work (previously, it picked up changes when application preferences changed, not when system language did); - removed unused NSString category; - updated style. * Misc/WebNSUserDefaultsExtras.m: Removed. * Misc/WebNSUserDefaultsExtras.mm: Copied from WebKit/mac/Misc/WebNSUserDefaultsExtras.m. (createHTTPStyleLanguageCode): (+[NSUserDefaults _webkit_defaultsDidChange]): (addLanguageChangeObserver): (+[NSUserDefaults _webkit_preferredLanguageCode]): 2010-10-18 Stuart Morgan <stuartmorgan@chromium.org> Reviewed by Eric Seidel. Switch to using the new Carbon NPAPI event declarations, and remove the old ones. https://bugs.webkit.org/show_bug.cgi?id=40784 * Plugins/WebNetscapePluginEventHandlerCarbon.mm: (WebNetscapePluginEventHandlerCarbon::mouseEntered): (WebNetscapePluginEventHandlerCarbon::mouseExited): (WebNetscapePluginEventHandlerCarbon::mouseMoved): (WebNetscapePluginEventHandlerCarbon::focusChanged): 2010-10-18 Pavel Podivilov <podivilov@chromium.org> Reviewed by Timothy Hatcher. Web Inspector: disable private browsing for inspector https://bugs.webkit.org/show_bug.cgi?id=47827 * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController init]): 2010-10-14 Ilya Tikhonovsky <loislo@chromium.org> Reviewed by Pavel Feldman. Web Inspector: inspector settings/properties/states management should be extracted into separate class. We have a lot of flags/values in InspectorController. Some flags are persisting into profile. Others are part of inspector state for frontend. All these flags should keep their values after navigation. It'd be better to extract these flags/values into separate class which will care about theirs lifetime. https://bugs.webkit.org/show_bug.cgi?id=47275 * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController showWindow:]): (-[WebInspectorWindowController attach]): (-[WebInspectorWindowController detach]): 2010-10-13 Gavin Barraclough <barraclough@apple.com> Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=43987 Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder to construct their internal result string. Remove ScriptString (this is now redundant). * WebCoreSupport/WebFrameLoaderClient.mm: 2010-10-12 Andy Estes <aestes@apple.com> Rubber-stamped by Darin Adler. Check in some cleanup from the previous commit. * WebView/WebView.mm: (leakMailQuirksUserScriptPath): Renamed to indicate that this function leaks an NSString. (-[WebView _injectMailQuirksScript]): Moved a static initialization from a separate class method into the only method that used it and removed the now-unnecessary class method. 2010-10-12 Eric Seidel <eric@webkit.org> Reviewed by Darin Adler. REGRESSION (new parser): Leopard/Tiger Mail <head>/<body> quirk is gone https://bugs.webkit.org/show_bug.cgi?id=45693 Re-implement this former WebCore parser quirk as a Mac-only userscript-based quirk. As far as I can tell from Darin's description this should satisfy Mail's needs. * Misc/MailQuirksUserScript.js: Added. * WebView/WebView.mm: (+[WebView _mailQuirksUserScript]): (-[WebView _injectMailQuirksScript]): (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): 2010-10-12 Simon Fraser <simon.fraser@apple.com> Reviewed by Sam Weinig. Add 'didDraw' callback for framerate tracking https://bugs.webkit.org/show_bug.cgi?id=47478 Add a callback at the end of -[WebHTMLView drawRect:] so a delegate can get notified when a draw happens. * WebView/WebHTMLView.mm: (-[WebHTMLView drawRect:]): * WebView/WebUIDelegatePrivate.h: 2010-10-11 Anders Carlsson <andersca@apple.com> Reviewed by Darin Adler. Remove WebIconFetcher from WebKit and IconFetcher from WebCore https://bugs.webkit.org/show_bug.cgi?id=47523 Remove all traces of the WebKit WebIconFetcher class. It's SPI that nobody uses. * Misc/WebIconFetcher.h: Removed. * Misc/WebIconFetcher.mm: Removed. * Misc/WebIconFetcherInternal.h: Removed. * WebView/WebFrame.mm: * WebView/WebFramePrivate.h: 2010-10-11 Jessie Berlin <jberlin@apple.com> Reviewed by Darin Adler. Add Private API for creating a WebKit2 WebSerializedScriptValue from the internal representation of a WebKit1 WebSerializedJSValue. https://bugs.webkit.org/show_bug.cgi?id=47439 * WebView/WebSerializedJSValue.mm: (-[WebSerializedJSValue internalRepresentation]): * WebView/WebSerializedJSValuePrivate.h: 2010-10-07 Jessie Berlin <jberlin@apple.com> Reviewed by Sam Weinig. Add Private API for creating a WebKit1 WebSerializedJSValue from the internal representation of a WebKit2 WebSerializedScriptValue. https://bugs.webkit.org/show_bug.cgi?id=47390 * WebView/WebSerializedJSValue.mm: (-[WebSerializedJSValue initWithInternalRepresentation:]): Set the WebSerializedJSValuePrivate's WebCore::SerializedScriptValue to be the passed in internal representation. * WebView/WebSerializedJSValuePrivate.h: Added. 2010-10-07 Antonio Gomes <agomes@rim.com> Reviewed by Simon Fraser. [Mac] [DRT] implement setSpatialNavigationEnabled https://bugs.webkit.org/show_bug.cgi?id=47291 Added the needed bits to make it possible to enabled spatial navigation for the Mac port. For now it is being only used by DRT. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences isSpatialNavigationEnabled]): (-[WebPreferences setSpatialNavigationEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-10-07 Jer Noble <jer.noble@apple.com> Fix the Leopard 64-bit build. * Configurations/WebKit.xcconfig: Add CoreServices.framework/Frameworks to the framework search path. * WebView/WebVideoFullscreenController.mm: Explicitly import <OSStatus/Power.h>. 2010-10-06 Jer Noble <jer.noble@apple.com> Reviewed by Darin Adler. Screensaver starts while watching fullscreen playback. https://bugs.webkit.org/show_bug.cgi?id=47299 <rdar://problem/8478956> To disable the Screen Saver, we need to periodically call UpdateSystemActivity(). * WebView/WebVideoFullscreenController.h: Added _tickleTimer. * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController dealloc]): Invalidate _tickleTimer. (-[WebVideoFullscreenController _enableTickleTimer]): Create _tickleTimer. (-[WebVideoFullscreenController _disableTickleTimer]): Invalidate _tickleTimer. (-[WebVideoFullscreenController _tickleTimerFired]): Call UpdateSystemActivity(). (-[WebVideoFullscreenController updatePowerAssertions]): Call _enableTickleTimer or _disableTickleTimer. 2010-10-05 Philippe Normand <pnormand@igalia.com> Reviewed by Martin Robinson. check for ENABLE(GLIB_SUPPORT) in WebView https://bugs.webkit.org/show_bug.cgi?id=46788 Use ENABLE(GLIB_SUPPORT) in WebView to guard the glib runloop observer. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView _close]): * WebView/WebViewData.h: * WebView/WebViewInternal.h: 2010-10-01 Anders Carlsson <andersca@apple.com> Fix Snow Leopard build. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::getProxy): 2010-10-01 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it https://bugs.webkit.org/show_bug.cgi?id=47022 <rdar://problem/8504712> * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::getProxy): * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.mm: * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView getVariable:forURL:value:length:]): 2010-09-30 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. Remove remaining calls to deprecatedParseURL https://bugs.webkit.org/show_bug.cgi?id=26599 * DOM/WebDOMOperations.mm: (-[DOMDocument URLWithAttributeString:]): * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Call stripLeadingAndTrailingHTMLSpaces instead of deprecatedParseURL. 2010-09-30 Anders Carlsson <andersca@apple.com> Reviewed by Darin Adler. -[DOMDocument _documentRange] throws an exception if there is no document element https://bugs.webkit.org/show_bug.cgi?id=46934 <rdar://problem/8169260> If there is no document element, just return an empty range. Otherwise we'll try to call Range::selectNode with a null Node which will throw a NOT_FOUND exception. * DOM/WebDOMOperations.mm: (-[DOMDocument _documentRange]): 2010-09-30 Chris Marrin <cmarrin@apple.com> Reviewed by Simon Fraser. Make 2D accelerated canvas rendering build on Mac https://bugs.webkit.org/show_bug.cgi?id=46007 Added ACCELERATED_2D_CANVAS to FeatureDefines * Configurations/FeatureDefines.xcconfig: 2010-09-30 Dan Bernstein <mitz@apple.com> Reviewed by John Sullivan. Add printing SPI allowing full control over shrink-to-fit https://bugs.webkit.org/show_bug.cgi?id=46877 * WebView/WebHTMLView.mm: (-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]): Added. * WebView/WebHTMLViewPrivate.h: 2010-09-28 Johnny Ding <jnd@chromium.org> Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=41292 Some windowed plugins did not handle events through EventHandler, so we never set right gesture state for those events. This change is to set right allowPopupsFromPlugin flag to current execution frame, so WeKit can always get right gesture state on Mac. From Mac Snow Leopard, the plugin is run under "WebKitPluginHost,app" process, that process passes the allowPopupsFromPlugin flag to WKPCEvaluate(in NetscapePluginHostProxy.mm), then flag is set in NetscapePluginInstanceProxy::evaluate. * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView sendEvent:isDrawRect:]): 2010-09-28 Jenn Braithwaite <jennb@chromium.org> Reviewed by Dmitry Titov. Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument. https://bugs.webkit.org/show_bug.cgi?id=46663 * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::didTransferChildFrameToNewDocument): 2010-09-26 Antonio Gomes <agomes@rim.com> Reviewed by Kenneth Rohde Christiansen. DRT/Mac nodesFromRect support [Mac][DRT] Implement LayoutTestController::nodesFromRect https://bugs.webkit.org/show_bug.cgi?id=46580 Implement nodesFromRect as a private method to access non-exposed Document methods, similarly to computedStyleIncludingVisitedInfo. * WebView/WebView.mm: Added JSDocument.h and JSNodeList.h to the include list. These headers makes it possible to: 1) Get a Document off of a JSDocument; 2) Call toJS function, defined in JSNodeList.cpp|h so we can convert RefPtr<NodeList> gotten from Document::nodesFromRect to JS bindings. (-[WebView _nodesFromRect:forDocument:x:y:hPadding:vPadding:ignoreClipping:]): * WebView/WebViewPrivate.h: Added nodesFromRect method to access methods of the Document class not exposed to JavaScript. It works similarly to computedStyleIncludingVisitedInfo. 2010-09-24 Jia Pu <jpu@apple.com> Reviewed by Dan Bernstein. automaticSpellingCorrectionEnabled isn't updated. https://bugs.webkit.org/show_bug.cgi?id=46486 <rdar://problem/8475212> * WebView/WebView.mm: (+[WebView initialize]): Should update "automaticSpellingCorrectionEnabled" instead of "automaticTextReplacementEnabled". 2010-09-23 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=46380 REGRESSION: Crash when downloading a file Downloading cannot be tested in DRT. * Misc/WebNSFileManagerExtras.m: (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Don't copy null strings. 2010-09-24 Ilya Tikhonovsky <loislo@chromium.org> Reviewed by Yury Semikhatsky. Web Inspector: CRASH at node highlight on MAC Safari. 1) run-safari --debug 2) open inspector 3) open elements panel 4) hover mouse over elements panel items multiple times 5) CRASH Looks like it is a race condition. WebNodeHighlightView doesn't check the pointer to WebNodeHighligh object and it can be nil. https://bugs.webkit.org/show_bug.cgi?id=46261 * WebInspector/WebNodeHighlightView.mm: (-[WebNodeHighlightView drawRect:]): 2010-09-23 Andy Estes <aestes@apple.com> Reviewed by Darin Adler. REGRESSION (r61285): some Dashboard widgets are always invisible due to HTML parser changes. https://bugs.webkit.org/show_bug.cgi?id=46435 Enable pre-HTML5 parser quirks if Dashboard is in backward compatibility mode. * WebView/WebView.mm: (-[WebView _needsPreHTML5ParserQuirks]): Renamed from shouldUsePreHTML5ParserQuirks(). Return true if WebCore::Settings::usesDashboardCompatibilityMode() is true. (-[WebView _preferencesChangedNotification:]): (-[WebView _setDashboardBehavior:to:]): Enable pre-HTML5 parser quirks if Dashboard behavior is set to backward compatibility mode. 2010-09-23 Matthew Delaney <mdelaney@apple.com> Reviewed by Simon Fraser. Reduce minimum DOMTimer interval https://bugs.webkit.org/show_bug.cgi?id=45362 * WebView/WebView.mm: Updating set interval call to use Settings' static version inside one time init block. 2010-09-22 Andy Estes <aestes@apple.com> Reviewed by Darin Adler. REGRESSION (r61285): Microsoft Entourage 2008 does not invoke My Day window https://bugs.webkit.org/show_bug.cgi?id=46334 Microsoft My Day loads scripts using self-closing script tags, markup which is incompatible with the HTML5 parser. Enable parser quirks for this application. * WebView/WebView.mm: (shouldUsePreHTML5ParserQuirks): Return true if the application is Microsoft My Day and was linked against a version of WebKit prior to the introduction of the HTML5 parser. 2010-09-23 Nate Chapin <japhet@chromium.org> Reviewed by Darin Fisher. Add hyperlink auditing settings (i.e., <a ping>). https://bugs.webkit.org/show_bug.cgi?id=30458 * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setMemoryInfoEnabled:]): (-[WebPreferences hyperlinkAuditingEnabled]): (-[WebPreferences setHyperlinkAuditingEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-09-22 Alexey Proskuryakov <ap@apple.com> Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=43667 ASSERT failure in NetscapePluginInstanceProxy::disconnectStream Test: plugins/get-javascript-url.html * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript): Add the stream to m_streams, just like any other one. 2010-09-21 Darin Adler <darin@apple.com> Reviewed by Anders Carlsson. Fix some Objective-C GC problems and use RetainPtr instead of HardRetain/Release https://bugs.webkit.org/show_bug.cgi?id=46220 * Misc/WebNSFileManagerExtras.m: (setMetaData): Use CFRelease instead of HardRelease. (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Use CFStringCreateCopy instead of -[NSObject copy] combined with HardRetainWithNSRelease. 2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu> Reviewed by Kenneth Rohde Christiansen. PluginStrategy should satisfy the needs of Qt https://bugs.webkit.org/show_bug.cgi?id=45857 No new functionality so no new tests. * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::getPluginInfo): 2010-09-22 Paul Knight <pknight@apple.com> Reviewed by Simon Fraser. -[WebView _scheduleCompositingLayerSync] should wake the run loop https://bugs.webkit.org/show_bug.cgi?id=46226 Call CFRunLoopWakeUp to make sure the run loop is not sleeping, which could delay layer painting. * WebView/WebView.mm: (-[WebView _scheduleCompositingLayerSync]): 2010-09-21 Andy Estes <aestes@apple.com> Reviewed by Darin Adler. REGRESSION (r61285): AIM 2.1.296: Code rendered as text in Welcome screen https://bugs.webkit.org/show_bug.cgi?id=46134 AIM clients linked against versions of WebKit prior to the introduction of the HTML5 parser contain markup incompatible with the new parser. Enable parser quirks in this case to remain compatible with these clients. * WebView/WebView.mm: (shouldUsePreHTML5ParserQuirks): Returns true if the embedding application is AIM and was linked against a version of WebKit prior to the introduction of the HTML5 parser, or if the WebKitPreHTML5ParserQuirks WebPreference is enabled. (-[WebView _preferencesChangedNotification:]): Call WebCore::Settings::setUsePreHTML5ParserQuirks(). 2010-09-21 Steve Block <steveblock@google.com> Reviewed by Jeremy Orlow. DeviceOrientationClient and DeviceMotionClient should have controllerDestroyed() methods https://bugs.webkit.org/show_bug.cgi?id=45891 Implements WebDeviceOrientationClient::deviceOrientationControllerDestroyed to delete the client. * WebCoreSupport/WebDeviceOrientationClient.h: * WebCoreSupport/WebDeviceOrientationClient.mm: (WebDeviceOrientationClient::deviceOrientationControllerDestroyed): 2010-09-20 Philippe Normand <pnormand@igalia.com> Reviewed by Eric Carlson. [GTK] enhanced context menu for media elements https://bugs.webkit.org/show_bug.cgi?id=45021 New localized strings for the media element context-menu. * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::contextMenuItemTagOpenVideoInNewWindow): (WebPlatformStrategies::contextMenuItemTagOpenAudioInNewWindow): (WebPlatformStrategies::contextMenuItemTagCopyVideoLinkToClipboard): (WebPlatformStrategies::contextMenuItemTagCopyAudioLinkToClipboard): (WebPlatformStrategies::contextMenuItemTagToggleMediaControls): (WebPlatformStrategies::contextMenuItemTagToggleMediaLoop): (WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen): (WebPlatformStrategies::contextMenuItemTagMediaPlay): (WebPlatformStrategies::contextMenuItemTagMediaPause): (WebPlatformStrategies::contextMenuItemTagMediaMute): 2010-09-20 Andy Estes <aestes@apple.com> Reviewed by Adam Barth. REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes https://bugs.webkit.org/show_bug.cgi?id=40961 Implement WebKitUsePreHTML5ParserQuirks preference. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Default WebKitUsePreHTML5ParserQuirks to false. (-[WebPreferences usePreHTML5ParserQuirks]): (-[WebPreferences setUsePreHTML5ParserQuirks:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings with the value of WebKitUsePreHTML5ParserQuirks when a preference changes. 2010-09-20 Enrica Casucci <enrica@apple.com> Reviewed by Sam Weinig. Pasteboard doesn't work in WebKit2. https://bugs.webkit.org/show_bug.cgi?id=42317 <rdar://problem/7660537> Some changes to fix style inconsistencies. Added OBJC 2.0 style enumeration. * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::userVisibleString): (createExcludedElementsForAttributedStringConversion): (WebEditorClient::documentFragmentFromAttributedString): Changed parameter to be a Vector of RefPtr. (WebEditorClient::setInsertionPasteboard): (WebEditorClient::pasteboardTypesForSelection): 2010-09-17 David Hyatt <hyatt@apple.com> Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=45993, convert printing to the new pagination model. Make printing store the page height in the RenderView and push that into the layout state to use the new pagination model. The old pagination model is retained because it is still used for embedded WebViews. * WebView/WebHTMLView.mm: (-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]): 2010-09-17 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. REGRESSION (r60104): Zoom level is unexpectedly reset on page reload https://bugs.webkit.org/show_bug.cgi?id=42863 * WebView/WebView.mm: (-[WebView _setZoomMultiplier:isTextOnly:]): Call functions on Frame instead of FrameView. 2010-09-17 Matthew Delaney <mdelaney@apple.com> Reviewed by Simon Fraser. Reduce minimum DOMTimer interval https://bugs.webkit.org/show_bug.cgi?id=45362 * WebView/WebView.mm: Added in a call to set the mimimum allowed DOMTimer to 4ms. 2010-09-17 Chris Marrin <cmarrin@apple.com> Reviewed by Simon Fraser. Add WebKitAccelerated2dCanvasEnabled flag to WebKit for Mac https://bugs.webkit.org/show_bug.cgi?id=45911 * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences accelerated2dCanvasEnabled]): (-[WebPreferences setAccelerated2dCanvasEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-09-17 Jia Pu <jpu@apple.com> Reviewed by Dan Bernstein. WebKit should use system wide spell checking preference when application specific one isn't set. https://bugs.webkit.org/show_bug.cgi?id=45789 <rdar://problem/8416041> * WebView/WebView.mm: (+[WebView initialize]): Use system wide autocorrection and text substitution preferences when the application level preferences are not set. 2010-09-16 John Sullivan <sullivan@apple.com> Reviewed by Darin Adler. <rdar://problem/8395558> https://bugs.webkit.org/show_bug.cgi?id=45938 _web_makePluginViewsPerformSelector:: mutates subviews array while iterating it * WebView/WebHTMLView.mm: (-[WebHTMLView _web_makePluginSubviewsPerformSelector:withObject:]): Converted from -[NSArray _web_makePluginViewsPerformSelector:withObject:]. The old method was only ever called on the result of -[WebHTMLView subviews]. By moving that knowledge into this helper method, it can't be used incorrectly. Now it makes a copy of [WebHTMLView subviews] before enumerating it, to ensure that the selector can't mutate the array being enumerated. (-[WebHTMLView viewWillMoveToHostWindow:]): Updated for _web_makePluginSubviewsPerformSelector:: signature change. (-[WebHTMLView viewDidMoveToHostWindow]): Ditto. 2010-09-16 Darin Adler <darin@apple.com> Reviewed by Andreas Kling. Reduce use of HTMLInputElement::inputType so we can remove it later https://bugs.webkit.org/show_bug.cgi?id=45903 * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation elementDoesAutoComplete:]): Use isPasswordField. (-[WebHTMLRepresentation elementIsPassword:]): Use isPasswordField. 2010-09-16 Patrick Gansterer <paroga@paroga.com> Reviewed by Darin Adler. Always use a valid string when setting WebKitUserStyleSheetLocationPreferenceKey. https://bugs.webkit.org/show_bug.cgi?id=41510 This prevents usage of nil value, which would cause an uncaught exception. * WebView/WebPreferences.mm: (-[WebPreferences setUserStyleSheetLocation:]): 2010-09-16 Dan Bernstein <mitz@apple.com> Reverted the previous change because r67628 has been reverted. * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: 2010-09-16 Dan Bernstein <mitz@apple.com> Build fix after r67628. Added context menu item localizable strings for the items added in r67628, following equivalent menu items in Mac OS X when possible. However, this set of menu items does not make much sense for Mac OS X, and this should be addressed separately. * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::contextMenuItemTagOpenMediaInNewWindow): (WebPlatformStrategies::contextMenuItemTagCopyMediaLinkToClipboard): (WebPlatformStrategies::contextMenuItemTagToggleMediaControls): (WebPlatformStrategies::contextMenuItemTagToggleMediaLoop): (WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen): (WebPlatformStrategies::contextMenuItemTagMediaPlay): (WebPlatformStrategies::contextMenuItemTagMediaPause): (WebPlatformStrategies::contextMenuItemTagMediaMute): (WebPlatformStrategies::contextMenuItemTagMediaUnMute): 2010-09-16 Eric Uhrhane <ericu@chromium.org> Reviewed by Jian Li. Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM. https://bugs.webkit.org/show_bug.cgi?id=45798 * Configurations/FeatureDefines.xcconfig: 2010-09-15 Simon Fraser <simon.fraser@apple.com> Reviewed by Adam Roben. https://bugs.webkit.org/show_bug.cgi?id=44715 maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac Move geometry flipping to platform-specific code. * WebView/WebHTMLView.mm: (-[WebHTMLView attachRootLayer:]): 2010-09-14 Jia Pu <jpu@apple.com> Reviewed by Dan Bernstein. Only intercept ESC key press when autocorrection UI is visible. https://bugs.webkit.org/show_bug.cgi?id=45071 * WebCoreSupport/WebEditorClient.h: Added declaration of isShowingCorrectionPanel(), which provides an inteface to query whether autocorrection panel is shown. * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::WebEditorClient): Defined a constant, InvalidCorrectionPanelTag, for invalid correction panel tag. Replaced -1 with this constant. (WebEditorClient::dismissCorrectionPanel): Ditto (WebEditorClient::isShowingCorrectionPanel): Query whether autocorrection panel is shown. 2010-09-14 Mark Rowe <mrowe@apple.com> Reviewed by John Sullivan. Part of <rdar://problem/8420003>. Make it possible to override the version number used in linked-in-or-after checks. * Misc/WebKitVersionChecks.h: Remove two unused functions from the header and add a method to set the overriden version. * Misc/WebKitVersionChecks.m: (WebKitLinkedOnOrAfter): (setWebKitLinkTimeVersion): Set the overridden version. (WebKitLinkTimeVersion): Return the overridden version if set, otherwise do the old thing. * WebView/WebPreferences.mm: (+[WebPreferences setWebKitLinkTimeVersion:]): Call through to set the overridden version. * WebView/WebPreferencesPrivate.h: 2010-09-14 Eric Seidel <eric@webkit.org> Unreviewed, reverting changes r67451 and r67451. Broke lots of builders. Only intercept ESC key press when autocorrection UI is visible. https://bugs.webkit.org/show_bug.cgi?id=45071 * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::WebEditorClient): (WebEditorClient::dismissCorrectionPanel): 2010-09-14 Jia Pu <jpu@apple.com> Reviewed by Dan Bernstein. Only intercept ESC key press when autocorrection UI is visible. https://bugs.webkit.org/show_bug.cgi?id=45071 * WebCoreSupport/WebEditorClient.h: Added declaration of isShowingCorrectionPanel(), which provides an inteface to query whether autocorrection panel is shown. * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::WebEditorClient): Defined a constant, InvalidCorrectionPanelTag, for invalid correction panel tag. Replaced -1 with this constant. (WebEditorClient::dismissCorrectionPanel): Ditto (WebEditorClient::isShowingCorrectionPanel): Query whether autocorrection panel is shown. 2010-09-13 Darin Adler <darin@apple.com> Reviewed by Adam Barth. Preparation for eliminating deprecatedParseURL https://bugs.webkit.org/show_bug.cgi?id=45695 * DOM/WebDOMOperations.mm: (-[DOMDocument webFrame]): Get rid of unneeded local variable. (-[DOMDocument URLWithAttributeString:]): Remove unhelpful comment. 2010-09-13 Enrica Casucci <enrica@apple.com> Reviewed by Sam Weinig. Paste should be implemented in WebCore like Copy and Cut for Mac also. https://bugs.webkit.org/show_bug.cgi?id=45494 <rdar://problem/7660537> On the Mac platform, the implementation of the paste operation is all done at the WebKit level. In order to support it on WebKit2 it is necessary to refactor the code and move this functionality at the level of WebCore like we already have on Windows. The original code relies on some in AppKit functions that call back into WebKit causing problems in WebKit2. All this functionality has been moved at the level of the editor client where it can be dealt with appropriately. * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (excludedElementsForAttributedStringConversion): (WebEditorClient::documentFragmentFromAttributedString): Added. (WebEditorClient::setInsertionPasteboard): * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::canShowMIMETypeAsHTML): Re-implemented at the level of the editor client. * WebView/WebHTMLView.mm: Removed paste method. 2010-09-13 John Sullivan <sullivan@apple.com> Reviewed by Adam Roben. https://bugs.webkit.org/show_bug.cgi?id=45677 [WebView canMarkAllTextMatches] can crash if called after [WebView close] <rdar://problem/8404890> * WebView/WebView.mm: (-[WebView canMarkAllTextMatches]): Return NO immediately if the webview has already been closed. This was an overlooked case from the fix for 45175. 2010-09-10 MORITA Hajime <morrita@google.com> Reviewed by Tony Chang. [Chromium] Implement textInputController.hasSpellingMarker() for Chromium https://bugs.webkit.org/show_bug.cgi?id=45441 Moved the actual logic of hasSpellingMarker into WebCore to share it with other ports. * WebView/WebFrame.mm: (-[WebFrame hasSpellingMarker:length:]): 2010-09-11 Adam Barth <abarth@webkit.org> Reviewed by Sam Weinig. Make SecurityOrigin::canDisplay an instance function https://bugs.webkit.org/show_bug.cgi?id=45219 * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::loadRequest): * Plugins/WebNetscapePluginStream.mm: (WebNetscapePluginStream::WebNetscapePluginStream): * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): * Plugins/WebPluginContainerCheck.mm: (-[WebPluginContainerCheck _isForbiddenFileLoad]): * WebView/WebFrame.mm: (-[WebFrame _allowsFollowingLink:]): 2010-09-10 Sam Weinig <sam@webkit.org> Reviewed by Darin Adler. Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom. Precursor to <rdar://problem/7660657> https://bugs.webkit.org/show_bug.cgi?id=45522 * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): (-[WebView _setZoomMultiplier:isTextOnly:]): (-[WebView _realZoomMultiplierIsTextOnly]): * WebView/WebViewData.h: * WebView/WebViewData.mm: (-[WebViewPrivate init]): Move tracking of text only zoom here from WebCore. 2010-09-10 Stephanie Lewis <slewis@apple.com> Reviewed by Alexey Proskuryakov. Refactor JavaScriptCore memory statistics so that WebKit doesn't need to know about the JIT and other implementation details of JavaScriptCore. Necessary to fix PPC build. https://bugs.webkit.org/show_bug.cgi?id=45528 * Misc/WebCoreStatistics.mm: (+[WebCoreStatistics memoryStatistics]): 2010-09-10 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. Move some Dashboard stuff from WebCore to WebKit along with a bit more FrameMac cleanup https://bugs.webkit.org/show_bug.cgi?id=45582 * MigrateHeaders.make: Removed WebDashboardRegion.h from the set of header to copy. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::dashboardRegionsChanged): Changed this to call -[WebView _dashboardRegions] so we don't have two copies of that code. * WebView/WebDashboardRegion.h: Copied from WebCore/page/mac/WebDashboardRegion.h. * WebView/WebDashboardRegion.mm: Copied from WebCore/page/mac/WebDashboardRegion.m. * WebView/WebView.mm: (-[WebView _dashboardRegions]): Moved the code from Frame::dashboardRegions here. 2010-09-10 Adam Barth <abarth@webkit.org> Reviewed by Darin Fisher. Move code from WebKit-layer to DocumentLoader https://bugs.webkit.org/show_bug.cgi?id=45569 This code is the most confused, but now should be a bit cleaner. There's still a magical fake-setting for creating renderers that needs to be cleaned up, but we can do that in a separate patch. * WebView/WebFrame.mm: (-[WebFrame _commitData:]): * WebView/WebFrameInternal.h: * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation receivedData:withDataSource:]): (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): 2010-09-09 Darin Adler <darin@apple.com> Reviewed by Adam Barth. Move functions from Frame to SelectionController as planned https://bugs.webkit.org/show_bug.cgi?id=45508 * WebView/WebFrame.mm: (-[WebFrame _selectionGranularity]): (-[WebFrame _insertParagraphSeparatorInQuotedContent]): (-[WebFrame _typingStyle]): (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation currentForm]): * WebView/WebHTMLView.mm: (-[WebHTMLView jumpToSelection:]): (-[WebHTMLView centerSelectionInVisibleArea:]): (-[WebHTMLView _canSmartCopyOrDelete]): (-[WebHTMLView _lookUpInDictionaryFromMenu:]): (-[WebHTMLView selectionRect]): (-[WebHTMLView selectionTextRects]): (-[WebHTMLView selectionImageRect]): * WebView/WebView.mm: (-[WebView setEditable:]): Call functions on selection(). 2010-09-10 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Main resource bytes shouldn't bounce through FrameLoader https://bugs.webkit.org/show_bug.cgi?id=45496 Now return the bytes to the DocumentLoader. Previously, we were checking the document for null. However, Frame can never have a null document, so this check is no longer needed. * WebView/WebFrame.mm: (-[WebFrame _addData:]): 2010-09-09 John Therrell <jtherrell@apple.com> Reviewed by Alexey Proskuryakov. Added statistics sampling and reporting for JavaScriptCore's RegisterFile and ExecutableAllocator classes https://bugs.webkit.org/show_bug.cgi?id=45134 Added ability to enable new JavaScriptCore statistics sampling and reporting for RegisterFile and ExecutableAllocator classes. Added reporting of JavaScriptCore's stack committed memory and JIT code committed memory statistics to WebCoreStatistics memoryStatistics. * Misc/WebCoreStatistics.mm: (+[WebCoreStatistics memoryStatistics]): Added statistics reporting for JSC RegisterFile and ExecutableAllocator. 2010-09-09 Jer Noble <jer.noble@apple.com> Reviewed by Mark Rowe. Use of ENABLE macro in WebUIDelegatePrivate.h breaks use from outside WebKit <rdar://problem/8412657> * WebView/WebUIDelegatePrivate.h: Use ENABLE_FULLSCREEN_API instead of ENABLE(FULLSCREEN_API) 2010-09-08 Darin Adler <darin@apple.com> Reviewed by Adam Barth. Move functions from Frame to Editor as planned https://bugs.webkit.org/show_bug.cgi?id=45218 * WebView/WebFrame.mm: (-[WebFrame _selectedString]): (-[WebFrame _firstRectForDOMRange:]): (-[WebFrame _markDOMRange]): (-[WebFrame _setTypingStyle:withUndoAction:]): * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): * WebView/WebHTMLView.mm: (-[WebHTMLView _selectionStartFontAttributesAsRTF]): (-[WebHTMLView toggleBaseWritingDirection:]): (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): (-[WebHTMLView countMatchesForText:caseSensitive:limit:markMatches:]): (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): (-[WebHTMLView markedTextMatchesAreHighlighted]): * WebView/WebView.mm: (-[WebView setEditable:]): Changed call sites to use editor(). 2010-09-08 MORITA Hajime <morrita@google.com> Reviewed by Ojan Vafai. spellcheck does not check pasted text https://bugs.webkit.org/show_bug.cgi?id=40092 Implemented async spell-check APIs on WebEditorClient. The implementations are using [NSSpellChecker requestCheckingOfString] which is available only on Mac OS 10.6 or later. Note that [NSSpellChecker requestCheckingOfString] could invoke the callback block on on of their worker thread, so we need to return the result to the main thread where WebCore is running. For that purpose, we made WebEditorSpellCheckResponder class. Test: editing/spelling/spellcheck-pasted-text-001.html * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::isAsynchronousSpellCheckingEnabled): Added. (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]): Added. (-[WebEditorSpellCheckResponder perform]): Added. (WebEditorClient::requestCheckingOfString): Added. * WebView/WebFramePrivate.h: 2010-09-08 MORITA Hajime <morrita@google.com> Reviewed by Tony Chang. spelling underline gets lost on backspace https://bugs.webkit.org/show_bug.cgi?id=41423 Switched to use a anchorNode of the selection instead of a focused node for finer control of node selection in spellingNode(): With the focused node, we cannot select other nodes but the first child of that node. In some case, we need to inspect these. The API is only for LayoutTests, and the change is compatible for existing test cases. * WebView/WebFrame.mm: (spellingNode): 2010-09-08 Adam Barth <abarth@webkit.org> Rubber-stamped by Eric Seidel. Rename DocLoader to CachedResourceLoader because that's what it does. * WebView/WebFrame.mm: 2010-09-07 Anders Carlsson <andersca@apple.com> Reviewed by Oliver Hunt. Fix clang++ build. * Misc/WebLocalizableStrings.h: Fix a struct/tag mismatch. * WebView/WebDeviceOrientationProviderMock.mm: (-[WebDeviceOrientationProviderMock init]): Remove stray semicolon. * WebView/WebViewData.h: Remove unused class forward declaration. 2010-09-07 Anders Carlsson <andersca@apple.com> Reviewed by Darin Adler. <rdar://problem/8381749> -Wcast-align warning emitted when building with clang Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc. * Configurations/Base.xcconfig: 2010-09-06 Adam Barth <abarth@webkit.org> Reviewed by Darin Adler. Rename SecurityOrigin::canLoad to canDisplay https://bugs.webkit.org/show_bug.cgi?id=45214 Propagate name change. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::loadRequest): * Plugins/WebNetscapePluginStream.mm: (WebNetscapePluginStream::WebNetscapePluginStream): * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): * Plugins/WebPluginContainerCheck.mm: (-[WebPluginContainerCheck _isForbiddenFileLoad]): * WebView/WebFrame.mm: (-[WebFrame _allowsFollowingLink:]): 2010-09-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> Reviewed by Darin Adler. Add NetworkingContext to avoid layer violations https://bugs.webkit.org/show_bug.cgi?id=42292 Add Mac's specific implementation of FrameNetworkingContext. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: * WebCoreSupport/WebFrameNetworkingContext.mm: (WebFrameNetworkingContext::needsSiteSpecificQuirks): (WebFrameNetworkingContext::localFileContentSniffingEnabled): (WebFrameNetworkingContext::scheduledRunLoopPairs): (WebFrameNetworkingContext::blockedError): 2010-09-03 John Sullivan <sullivan@apple.com> Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=45175 [WebView unmarkAllTextMatches] will crash if the webview is already closed Made this and related methods robust against being called when the WebView is closed. * WebView/WebView.mm: (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]): Bail out if the WebView is closed. (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]): Ditto. (-[WebView unmarkAllTextMatches]): Ditto. (-[WebView rectsForTextMatches]): Ditto. 2010-09-03 Hironori Bono <hbono@chromium.org> Reviewed by Kent Tamura. Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests and implements it for Mac. https://bugs.webkit.org/show_bug.cgi?id=41832 * WebView/WebFrame.mm: Implemented [WebFrame hasSpellingMarker:length:]. (spellingNode): (-[WebFrame hasSpellingMarker:length:]): * WebView/WebFramePrivate.h: Added [WebFrame hasSpellingMarker:length:] so TextInputController can use it. 2010-09-02 Yury Semikhatsky <yurys@chromium.org> Reviewed by Pavel Feldman. REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector https://bugs.webkit.org/show_bug.cgi?id=44230 * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorFrontendClient::closeWindow): (WebInspectorFrontendClient::disconnectFromBackend): (-[WebInspectorWindowController windowShouldClose:]): (-[WebInspectorWindowController destroyInspectorView:]): 2010-09-02 Steve Block <steveblock@google.com> Reviewed by Adam Barth. Hook up LayoutTestController.setMockDeviceOrientation() on Mac. https://bugs.webkit.org/show_bug.cgi?id=43181 This patch hooks up the mock device orientation client on Mac for use in DumpRenderTree. The patch adds a new WebDeviceOrientationClient for Mac. This client acts as a proxy to either a real or mock device orientation provider, both of which implement a new WebDeviceOrientationProvider interface. The provider is created by the embedder and passed to the WebView, from where WebDeviceOrientationClient can access it. The mock provider, WebDeviceOrientationProviderMock, is a wrapper around the existing WebCore mock. * WebCoreSupport/WebDeviceOrientationClient.h: Added. * WebCoreSupport/WebDeviceOrientationClient.mm: Added. (WebDeviceOrientationClient::WebDeviceOrientationClient): (WebDeviceOrientationClient::setController): (WebDeviceOrientationClient::startUpdating): (WebDeviceOrientationClient::stopUpdating): (WebDeviceOrientationClient::lastOrientation): * WebKit.exp: * WebView/WebDeviceOrientation.h: Added. * WebView/WebDeviceOrientation.mm: Added. (-[WebDeviceOrientation initWithCoreDeviceOrientation:WebCore::]): (core): (-[WebDeviceOrientation initWithCanProvideAlpha:alpha:canProvideBeta:beta:canProvideGamma:gamma:]): (-[WebDeviceOrientation dealloc]): * WebView/WebDeviceOrientationInternal.h: Added. * WebView/WebDeviceOrientationProvider.h: Added. * WebView/WebDeviceOrientationProviderMock.h: Added. * WebView/WebDeviceOrientationProviderMock.mm: Added. (-[WebDeviceOrientationProviderMockInternal setOrientation:]): (-[WebDeviceOrientationProviderMockInternal setController:]): (-[WebDeviceOrientationProviderMockInternal startUpdating]): (-[WebDeviceOrientationProviderMockInternal stopUpdating]): (-[WebDeviceOrientationProviderMockInternal lastOrientation]): (-[WebDeviceOrientationProviderMock init]): (-[WebDeviceOrientationProviderMock dealloc]): (-[WebDeviceOrientationProviderMock setOrientation:]): (-[WebDeviceOrientationProviderMock setController:]): (-[WebDeviceOrientationProviderMock startUpdating]): (-[WebDeviceOrientationProviderMock stopUpdating]): (-[WebDeviceOrientationProviderMock lastOrientation]): * WebView/WebDeviceOrientationProviderMockInternal.h: Added. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView _setDeviceOrientationProvider:]): (-[WebView _deviceOrientationProvider]): * WebView/WebViewData.h: * WebView/WebViewPrivate.h: 2010-09-01 Jia Pu <jpu@apple.com> Reviewed by Dan Bernstein. Add support for autocorrection UI on Mac OS X. https://bugs.webkit.org/show_bug.cgi?id=44958 <rdar://problem/7326847> See detailed high level description in WebCore/ChangeLog. * WebCoreSupport/WebEditorClient.h: Added new member methods declared in EditorClient. Added m_correctionPanelTag to store the ID of current autocorrection UI object. * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::WebEditorClient): Initialize m_correctionPanelTag. (WebEditorClient::~WebEditorClient): Make sure the autocorrection UI is dismissed before destroying the object. (WebEditorClient::respondToChangedSelection): Dismiss autocorrection UI whenever the selection changes. (WebEditorClient::showCorrectionPanel): Show autocorrection UI. (WebEditorClient::dismissCorrectionPanel): Dismiss autocorrection UI. 2010-09-01 Mark Rowe <mrowe@apple.com> Reviewed by Adam Roben. <rdar://problem/8374711> WebKit needs to compile without access to QuickDraw private headers. * Carbon/HIViewAdapter.m: * Carbon/HIWebView.mm: * Misc/QuickDrawCompatibility.h: Added. * Plugins/WebNetscapePluginView.mm: 2010-08-31 Dave Hyatt <hyatt@apple.com> Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that the former can occur in more places without having to do the latter. Eliminate Mac-specific code for style re-application and recursive layout/style updating in favor of the cross-platform code that all the other ports use. * Carbon/HIWebView.mm: (Draw): * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::forceLayout): * WebView/WebHTMLView.mm: (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): (-[WebHTMLView viewWillDraw]): (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]): (-[WebHTMLView reapplyStyles]): (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]): (-[WebHTMLView setNeedsToApplyStyles:]): (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]): (-[WebHTMLView _layoutIfNeeded]): (-[WebHTMLView _web_updateLayoutAndStyleIfNeededRecursive]): * WebView/WebHTMLViewInternal.h: * WebView/WebView.mm: (-[WebView _viewWillDrawInternal]): 2010-08-31 Sam Weinig <sam@webkit.org> Reviewed by Darin Adler. Add ability to count text matches without marking https://bugs.webkit.org/show_bug.cgi?id=43996 Safari needs to be able to count text matches without triggering lots of repainting. Rename markAllMatchesForText: to countMatchesForText: and add a markMatches: parameter. For backwards compatibility markAllMatchesForText: calls countMatchesForText: and passes YES for markMatches:. * WebView/WebDocumentInternal.h: * WebView/WebHTMLView.mm: (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): (-[WebHTMLView countMatchesForText:caseSensitive:limit:markMatches:]): * WebView/WebPDFView.mm: (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]): (-[WebPDFView countMatchesForText:caseSensitive:limit:markMatches:]): * WebView/WebView.mm: (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]): (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]): * WebView/WebViewPrivate.h: 2010-08-31 Darin Adler <darin@apple.com> Reviewed by Anders Carlsson. * WebInspector/WebInspectorFrontend.mm: (-[WebInspectorFrontend initWithFrontendClient:]): Remove a stray semicolon. 2010-08-30 Mark Rowe <mrowe@apple.com> Reviewed by Darin Adler. <rdar://problem/8369736> WebKit build fails. Temporarily add some extra includes in order to get things building again until <rdar://problem/8374711> is addressed. * Carbon/HIViewAdapter.m: * Carbon/HIWebView.mm: * Plugins/WebNetscapePluginView.mm: 2010-08-30 Andy Estes <aestes@apple.com> Reviewed by Darin Adler. REGRESSION (r66156): Sites using AppleConnect for authentication fail to log in. https://bugs.webkit.org/show_bug.cgi?id=44865 After http://trac.webkit.org/changeset/66156, sites using the AppleConnect plug-in for authentication fail to log in. This is due to a bug in AppleConnect that r66156 exposed, but since this will have a significant impact on users of WebKit nightly builds, a plugin-specific hack should be added while the underlying issue is being addressed. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Convert plug-in parameter names to lowercase if the plugin is of type 'application/x-snkp'. 2010-08-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. text/plain non-video files cause <video> to hang (while reading them?) https://bugs.webkit.org/show_bug.cgi?id=44212 Add the new WebKitSystemInterface function WKQTMovieDisableComponent to the initialization routine. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize WKQTMovieDisableComponent. 2010-08-30 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r66198. http://trac.webkit.org/changeset/66198 https://bugs.webkit.org/show_bug.cgi?id=44856 It made tests crash on Qt bot (Requested by Ossy_ on #webkit). * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorFrontendClient::closeWindow): (-[WebInspectorWindowController windowShouldClose:]): (-[WebInspectorWindowController destroyInspectorView]): 2010-08-28 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. Make an internal method used by Apple Mail into SPI https://bugs.webkit.org/show_bug.cgi?id=44832 rdar://problem/5748951 * WebView/WebFrame.mm: (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Moved this method from the internal section to the private section. * WebView/WebFrameInternal.h: Moved the method declaration out of here. * WebView/WebFramePrivate.h: Moved the method declaration in here. 2010-08-27 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Add JavaScript API to allow a page to go fullscreen. rdar://problem/6867795 Added chrome client overrides which support entering and exiting full screen. A new preference has been added (setFullScreenEnabled:) to control at runtime whether full screen support is enabled (defaults to disabled). Added a new WebKitFullScreenListener callback object which notifies WebCore when the chrome has started/finished its full screen animation. * Configurations/FeatureDefines.xcconfig: * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::supportsFullscreenForElement): (WebChromeClient::enterFullscreenForElement): (WebChromeClient::exitFullscreenForElement): (-[WebKitFullScreenListener initWithElement:]): (-[WebKitFullScreenListener webkitWillEnterFullScreen]): (-[WebKitFullScreenListener webkitDidEnterFullScreen]): (-[WebKitFullScreenListener webkitWillExitFullScreen]): (-[WebKitFullScreenListener webkitDidExitFullScreen]): * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setFullScreenEnabled:]): (-[WebPreferences fullScreenEnabled]): * WebView/WebUIDelegatePrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-08-27 David Hyatt <hyatt@apple.com> Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=44788, implement HTML5-compliant doctype switching. Rename the various modes to match the HTML5 specification: ParseMode -> CompatibilityMode CompatMode -> QuirksMode AlmostStrictMode -> LimitedQuirksMode StrictMode -> NoQuirksMode Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document instead. This makes switching modes avoid forcing all RenderStyles to detect as changed. Clean up user stylesheets to minimize style recalculation when the mode is switched. Fix bugs with the propagation of correct modes in the HTML5 parser. Make sure the dummy document created for fragment parsing properly inherits the real document's CompatibilityMode. Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling a doctype token. determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm precisely. * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-08-27 Yury Semikhatsky <yurys@chromium.org> Reviewed by Pavel Feldman. REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector https://bugs.webkit.org/show_bug.cgi?id=44230 * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorFrontendClient::closeWindow): (WebInspectorFrontendClient::disconnectFromBackend): (-[WebInspectorWindowController windowShouldClose:]): (-[WebInspectorWindowController destroyInspectorView:]): 2010-08-26 Yury Semikhatsky <yurys@chromium.org> Unreviewed. Revert r66103 since Qt tests are failing. * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorFrontendClient::closeWindow): (-[WebInspectorWindowController windowShouldClose:]): (-[WebInspectorWindowController destroyInspectorView]): 2010-08-26 Yury Semikhatsky <yurys@chromium.org> Reviewed by Pavel Feldman. REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector https://bugs.webkit.org/show_bug.cgi?id=44230 * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorFrontendClient::closeWindow): (WebInspectorFrontendClient::disconnectFromBackend): (-[WebInspectorWindowController windowShouldClose:]): (-[WebInspectorWindowController destroyInspectorView:]): 2010-08-24 Eric Seidel <eric@webkit.org> Reviewed by Adam Barth. Remove HTML5 parser testing infrastructure now that we don't need it https://bugs.webkit.org/show_bug.cgi?id=44581 * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-08-24 Sam Weinig <sam@webkit.org> Reviewed by Oliver Hunt. Paste event fires twice for mac WebKit <rdar://problem/8094611> https://bugs.webkit.org/show_bug.cgi?id=44535 The mac implementation of paste in WebKit was accidentally calling Editor::tryDHTMLPaste twice, once in -[WebHTMLView paste:] and once in Editor::pasteAsPlainText (which is called -[WebHTMLView paste:]). Use the new pasteAsPlainTextBypassingDHTML function to bypass the second call. * WebView/WebHTMLView.mm: (-[WebHTMLView paste:]): 2010-08-24 Daniel Cheng <dcheng@chromium.org> Reviewed by Eric Seidel. [chromium] Generate drag images for HTML elements and selections. https://bugs.webkit.org/show_bug.cgi?id=43449 Fix up calls to Frame::nodeImage, which has a new signature. * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView halt]): 2010-08-23 Mike Thole <mthole@apple.com> Reviewed by Dan Bernstein. WebPDFView should remove itself as the delegate of its PDFView before being dealloced https://bugs.webkit.org/show_bug.cgi?id=44441 * WebView/WebPDFView.mm: (-[WebPDFView dealloc]): Set the PDFView's delegate to nil. 2010-08-22 Daniel Bates <dbates@rim.com> Reviewed by Eric Seidel. Encapsulate document marker management into DocumentMarkerController https://bugs.webkit.org/show_bug.cgi?id=44383 Modify call sites in the Apple Mac port to use DocumentMarkerController. No functionality was changed, so no new tests. * WebView/WebFrame.mm: (-[WebFrame _unmarkAllBadGrammar]): (-[WebFrame _unmarkAllMisspellings]): * WebView/WebHTMLView.mm: (-[WebHTMLView unmarkAllTextMatches]): (-[WebHTMLView rectsForTextMatches]): 2010-08-19 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled Reviewed by Joseph Pecoraro. * Plugins/Hosted/HostedNetscapePluginStream.mm: Changed USE(PLUGIN_HOST_PROCESS) to USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API). * Plugins/Hosted/NetscapePluginHostManager.mm: Ditto. * Plugins/Hosted/NetscapePluginHostProxy.mm: Ditto. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Ditto. * Plugins/Hosted/ProxyInstance.mm: Ditto. * Plugins/Hosted/WebHostedNetscapePluginView.mm: Ditto. * WebCoreSupport/WebChromeClient.mm: Ditto. (WebChromeClient::createWindow): * WebCoreSupport/WebFrameLoaderClient.mm: Ditto. (WebFrameLoaderClient::dispatchCreatePage): * WebView/WebHTMLView.mm: (needsCursorRectsSupportAtPoint): Added #if ENABLE(NETSCAPE_PLUGIN_API) and #endif macros as needed. * WebView/WebView.mm: (+[WebView _isNodeHaltedPlugin:]): Ditto. (+[WebView _hasPluginForNodeBeenHalted:]): Ditto. (+[WebView _restartHaltedPluginForNode:]): Ditto. 2010-08-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> Reviewed by Darin Adler. Add NetworkingContext to avoid layer violations https://bugs.webkit.org/show_bug.cgi?id=42292 Preparation: Just add the files to the build system. * WebCoreSupport/WebFrameNetworkingContext.h: Added. Placeholder with tentative code that might be changed when landing the rest of it. * WebCoreSupport/WebFrameNetworkingContext.mm: Added. Empty placeholder for now. 2010-08-17 Brady Eidson <beidson@apple.com> Reviewed by Sam Weinig. Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed. <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131 * WebView/WebView.mm: (-[WebView canGoBack]): Return false if loads are deferred. (-[WebView canGoForward]): Ditto. 2010-08-14 Joseph Pecoraro <joepeck@webkit.org> Reviewed by Pavel Feldman. Web Inspector: -[WebInspector attach] and detach should work https://bugs.webkit.org/show_bug.cgi?id=43924 For actions that relate only to the Web Inspector's Frontend window (actions on the InspectorFrontendClient) the new Obj-C wrapper class WebInspectorFrontend can be used. For now, this is just attach and detach. * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::openInspectorFrontend): setup and attach the WebInspectorFrontend to the WebInspector. * WebInspector/WebInspector.h: * WebInspector/WebInspector.mm: (-[WebInspector dealloc]): (-[WebInspector attach:]): delegate to the frontend. (-[WebInspector detach:]): delegate to the frontend. (-[WebInspector setFrontend:]): * WebInspector/WebInspectorFrontend.h: Added. * WebInspector/WebInspectorFrontend.mm: Added. (-[WebInspectorFrontend initWithFrontendClient:]): (-[WebInspectorFrontend attach]): (-[WebInspectorFrontend detach]): * WebInspector/WebInspectorPrivate.h: 2010-08-13 Gavin Barraclough <barraclough@apple.com> Rubber stamped by Sam Weinig. Switch String::/UString::ascii() to return a CString. * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::methodsNamed): (WebKit::ProxyInstance::fieldNamed): 2010-08-13 Gavin Barraclough <barraclough@apple.com> Reviewed by Sam Weinig Unify UString::UTF8String() & String::utf8() methods, remove UString::cost() & make atArrayIndex a free function. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::enumerate): 2010-08-12 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r65295. http://trac.webkit.org/changeset/65295 https://bugs.webkit.org/show_bug.cgi?id=43950 It broke 4 sputnik tests (Requested by Ossy on #webkit). * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::enumerate): 2010-08-12 Gavin Barraclough <barraclough@apple.com> Reviewed by Sam Weinig Unify UString::UTF8String() & String::utf8() methods, remove UString::cost() & make atArrayIndex a free function. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::enumerate): 2010-08-12 Jeremy Orlow <jorlow@chromium.org> Revert for now https://bugs.webkit.org/show_bug.cgi?id=43794 * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView _preferencesChangedNotification:]): 2010-08-10 Jeremy Orlow <jorlow@chromium.org> Reviewed by Adam Barth. Some settings are linked to the PageGroup not the Page. Create a new class for those. https://bugs.webkit.org/show_bug.cgi?id=43794 Change WebView to use the new GroupSettings class rather than Settings for the settings that moved. This is sub-optimal since the settings aren't really per-view, but we can't really change the API at this point. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView _preferencesChangedNotification:]): 2010-08-11 Gavin Barraclough <barraclough@apple.com> Rubber stamps by Darin Adler & Sam Weinig. Bug 43867 - Some UString cleanup Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String. Move string concatenation methods to a new header to simplify down UString.h. Remove is8Bit(). * WebView/WebScriptDebugger.mm: (toNSString): 2010-08-10 David Hyatt <hyatt@apple.com> Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=43806, add ability to paginate screen content. Add SPI for entering and exiting screen pagination mode. This is similar to printing mode but it can be done for on-screen content. * WebView/WebHTMLView.mm: (-[WebHTMLView _web_setPrintingModeRecursive]): (-[WebHTMLView _web_clearPrintingModeRecursive]): (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]): (-[WebHTMLView _endPrintMode]): (-[WebHTMLView _isInScreenPaginationMode]): (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]): (-[WebHTMLView _endScreenPaginationMode]): (-[WebHTMLView reapplyStyles]): (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]): (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): (-[WebHTMLView setPageWidthForPrinting:]): * WebView/WebHTMLViewPrivate.h: 2010-08-10 Gavin Barraclough <barraclough@apple.com> Build fix (update more includes) * Plugins/Hosted/NetscapePluginHostManager.h: 2010-08-10 Chris Marrin <cmarrin@apple.com> Reviewed by Oliver Hunt. Add suspendAnimations/resumeAnimation API to DRT https://bugs.webkit.org/show_bug.cgi?id=43733 Mac specific API. Plumbs suspendAnimations/resumeAnimations down to WebCore. * WebView/WebFrame.mm: (-[WebFrame _suspendAnimations]): (-[WebFrame _resumeAnimations]): * WebView/WebFramePrivate.h: 2010-08-10 Gavin Barraclough <barraclough@apple.com> Rubber stamped by Sam Weinig Bug 43817 - Remove UString::Rep UString::Rep has for a long time been replaced by UStringImpl (Rep remaining as a typedef). UStringImpl has since been removed too (unified with StringImpl). Remove Rep, rename rep() to impl() and m_rep to m_impl. Also add impl() method to Identifier, and rename its UString member from _ustring to m_string. * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::methodsNamed): (WebKit::ProxyInstance::fieldNamed): 2010-08-06 Gavin Barraclough <barraclough@apple.com> Rubber stamped by Sam Weinig Bug 43594 - Add string forwards to Forward.h This allows us to remove forward declarations for these classes from WebCore/WebKit (a step in moving these class from WebCore:: to WTF::). * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/WebBaseNetscapePluginView.h: * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebIconDatabaseClient.h: * WebCoreSupport/WebPluginHalterClient.h: * WebView/WebViewInternal.h: 2010-08-04 MORITA Hajime <morrita@google.com> Reviewed by Tony Chang. Pasting should fire textInput event. https://bugs.webkit.org/show_bug.cgi?id=42958 On paste, invoke Editor instead of direct command invocation, which allows dispatching events before actual paste. * WebView/WebHTMLView.mm: (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): 2010-08-06 Yongjun Zhang <yongjun_zhang@apple.com> Reviewed by Eric Seidel. add "const" to WebChromeClient::webView(). https://bugs.webkit.org/show_bug.cgi?id=43631 Change WebChromeClient::webView() to be const because ChromeClient::didReceiveViewportArguments is const method now, and calling webView() inside port-specific didReceiveViewportArguments implementation fails compiling if webView() is not const. * WebCoreSupport/WebChromeClient.h: (WebChromeClient::webView): 2010-08-06 Jessie Berlin <jberlin@apple.com> Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build. Unreviewed. * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/WebBaseNetscapePluginView.h: * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebIconDatabaseClient.h: * WebCoreSupport/WebPluginHalterClient.h: * WebView/WebViewInternal.h: 2010-08-05 Joseph Pecoraro <joepeck@webkit.org> Reviewed by David Kilzer. Remove Invalid Asserts for Application Cache Quotas https://bugs.webkit.org/show_bug.cgi?id=43585 Removed Invalid ASSERTs that would always happen for quotas that were not noQuota(). * WebView/WebPreferences.mm: (-[WebPreferences applicationCacheTotalQuota]): (-[WebPreferences applicationCacheDefaultOriginQuota]): 2010-08-05 Gavin Barraclough <barraclough@apple.com> Rubber stamped by Sam Weinig Bug 43594 - Add string forwards to Forward.h This allows us to remove forward declarations for these classes from WebCore/WebKit (a step in moving these class from WebCore:: to WTF::). * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/WebBaseNetscapePluginView.h: * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebIconDatabaseClient.h: * WebCoreSupport/WebPluginHalterClient.h: * WebView/WebViewInternal.h: 2010-08-05 Jian Li <jianli@chromium.org> Reviewed by David Levin. Unify blob related feature defines to ENABLE(BLOB). https://bugs.webkit.org/show_bug.cgi?id=43081 * Configurations/FeatureDefines.xcconfig: 2010-08-03 Joseph Pecoraro <joepeck@webkit.org> Reviewed by David Kilzer. Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas) https://bugs.webkit.org/show_bug.cgi?id=40627 Part 6 - LayoutTest and Cleanup * WebCoreSupport/WebApplicationCache.h: * WebCoreSupport/WebApplicationCache.mm: (+[WebApplicationCache setMaximumSize:]): refactor out deleting the application caches. (+[WebApplicationCache deleteAllApplicationCaches]): delete application caches. 2010-08-03 Joseph Pecoraro <joepeck@webkit.org> Reviewed by David Kilzer. Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas) https://bugs.webkit.org/show_bug.cgi?id=40627 Part 5 - Refactor Quota Management in WebSecurityOrigin into Managers Per-Origin quotas exist for Databases and Application Caches. Clients given a WebSecurityOrigin have the ability to set the quota for any per-origin quota type. This puts quota management into an interface and WebSecurityOrigin allows access to quota managers for the different types of quotas. This also deprecates the old methods on WebSecurityOrigin. They are left in for now to prevent breaking older clients. The WebQuotaManager interface allows querying and modifying a per-origin quota. This is implemented for both Databases and Application Caches. * Misc/WebQuotaManager.h: Added. Interface for quota management (usage, quota, setQuota). * Storage/WebDatabaseQuotaManager.h: Added. * Storage/WebDatabaseQuotaManager.mm: Added. (-[WebDatabaseQuotaManager origin]): (-[WebDatabaseQuotaManager usage]): (-[WebDatabaseQuotaManager quota]): (-[WebDatabaseQuotaManager setQuota:]): * Storage/WebDatabaseSecurityOrigin.h: Removed. * Storage/WebDatabaseSecurityOrigin.mm: Removed. * WebCoreSupport/WebApplicationCacheQuotaManager.h: Added. * WebCoreSupport/WebApplicationCacheQuotaManager.mm: Added. (-[WebApplicationCacheQuotaManager origin]): (-[WebApplicationCacheQuotaManager usage]): (-[WebApplicationCacheQuotaManager quota]): (-[WebApplicationCacheQuotaManager setQuota:]): * WebCoreSupport/WebSecurityOriginPrivate.h: Added a category to access managers. Deprecated old methods. Remove the WebSecurityOrigin sub-classes. Managers are better. * WebCoreSupport/WebApplicationCacheSecurityOrigin.h: Removed. * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: Removed. Create the managers lazily. Change old style calls to make use of the managers. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::exceededDatabaseQuota): (WebChromeClient::reachedApplicationCacheOriginQuota): * WebCoreSupport/WebSecurityOrigin.mm: (-[WebSecurityOrigin applicationCacheQuotaManager]): (-[WebSecurityOrigin databaseQuotaManager]): (-[WebSecurityOrigin dealloc]): release the managers if they exist. 2010-08-03 Alex Milowski <alex@milowski.com> Reviewed by Beth Dakin. Changed the ENABLE_MATHML value to enable MathML by default. * Configurations/FeatureDefines.xcconfig: 2010-08-02 Brady Eidson <beidson@apple.com> Reviewed by Anders Carlsson. Add VisitedLinkStrategy for each platform to implement https://bugs.webkit.org/show_bug.cgi?id=43393 * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::createVisitedLinkStrategy): (WebPlatformStrategies::isLinkVisited): Call back into PageGroup's visited links. (WebPlatformStrategies::addVisitedLink): Ditto. 2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org> Reviewed by Darin Fisher. PopupMenu refactoring in preparation to WebKit2 https://bugs.webkit.org/show_bug.cgi?id=42592 As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu instances, concrete classes that inherit from ChromeClient needed to be changed to implement the new methods. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::selectItemWritingDirectionIsNatural): (WebChromeClient::createPopupMenu): (WebChromeClient::createSearchPopupMenu): 2010-08-02 Jeremy Orlow <jorlow@chromium.org> Speculative revert of 64425 due to Chromium instability https://bugs.webkit.org/show_bug.cgi?id=43347 * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: 2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org> Reviewed by Darin Fisher. PopupMenu refactoring in preparation to WebKit2 https://bugs.webkit.org/show_bug.cgi?id=42592 As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu instances, concrete classes that inherit from ChromeClient needed to be changed to implement the new methods. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::selectItemWritingDirectionIsNatural): (WebChromeClient::createPopupMenu): (WebChromeClient::createSearchPopupMenu): 2010-07-31 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r64422. http://trac.webkit.org/changeset/64422 https://bugs.webkit.org/show_bug.cgi?id=43304 Build fixes are needed for Snow Leopard and Windows. (Requested by lca on #webkit). * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: 2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org> Reviewed by Darin Fisher. PopupMenu refactoring in preparation to WebKit2 https://bugs.webkit.org/show_bug.cgi?id=42592 As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu instances, concrete classes that inherit from ChromeClient needed to be changed to implement the new methods. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::selectItemWritingDirectionIsNatural): (WebChromeClient::createPopupMenu): (WebChromeClient::createSearchPopupMenu): 2010-07-31 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/43300> Simplify variables in *.xcconfig files after adding iOS support Reviewed by Darin Adler. * Configurations/WebKit.xcconfig: Extracted PRODUCTION_FRAMEWORKS_DIR and PRODUCTION_ROOT variables. 2010-07-30 Dan Bernstein <mitz@apple.com> Reviewed by Darin Adler. <rdar://problem/8257783> Short documents may print a second blank page https://bugs.webkit.org/show_bug.cgi?id=43271 * WebView/WebHTMLView.mm: (-[WebHTMLView _web_setPrintingModeRecursive]): Updated for additional height parameter to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:. (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto. (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto. (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]): Added height parameter, which is scaled and passed on to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:. (-[WebHTMLView _endPrintMode]): Updated for additional height parameter to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:. (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]): Added height parameter, which is passed on to FrameView::forceLayoutForPagination(). (-[WebHTMLView layout]): Updated for additional height parameter. (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:]): Added height parameter, which is passed on to -layoutToMinimumPageWidth:height:maximumPageWidth:adjustViewSize:. (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Updated for additional height parameter. (-[WebHTMLView setPageWidthForPrinting:]): Ditto. (-[WebHTMLView knowsPageRange:]): Pass the available height on the page on to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize. * WebView/WebHTMLViewPrivate.h: 2010-07-30 Joseph Pecoraro <joepeck@webkit.org> Fix for tests that broke after r64400. Tracking a more ideal solution in https://bugs.webkit.org/show_bug.cgi?id=40627 Switch the interface back to (unsigned long long), and move the WebDatabaseSecurityOrigin implementation up into WebSecurityOrigin. The subclasses' implementations were not getting called. * Storage/WebDatabaseSecurityOrigin.mm: * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: (-[WebApplicationCacheSecurityOrigin quota]): (-[WebApplicationCacheSecurityOrigin setQuota:]): * WebCoreSupport/WebSecurityOrigin.mm: (-[WebSecurityOrigin usage]): (-[WebSecurityOrigin quota]): (-[WebSecurityOrigin setQuota:]): * WebCoreSupport/WebSecurityOriginPrivate.h: 2010-07-30 Joseph Pecoraro <joepeck@webkit.org> Reviewed by David Kilzer. Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas) https://bugs.webkit.org/show_bug.cgi?id=40627 Part 4 - Client Notification when the Quota is Reached Notify the WebKit client when the per-origin quota is reached via a delegate method reachedApplicationCacheOriginQuota. Refactor the WebSecurityOrigin class to be generic enough to allow quota management of both Databases or Application Caches via subclasses. * Storage/WebDatabaseSecurityOrigin.h: Added. * Storage/WebDatabaseSecurityOrigin.mm: Added. (-[WebDatabaseSecurityOrigin quota]): (-[WebDatabaseSecurityOrigin setQuota:]): * WebCoreSupport/WebApplicationCacheSecurityOrigin.h: Added. * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: Added. (-[WebApplicationCacheSecurityOrigin quota]): (-[WebApplicationCacheSecurityOrigin setQuota:]): * Storage/WebSecurityOrigin.mm: Removed. (Moved to WebCoreSupport) * Storage/WebSecurityOriginPrivate.h: Removed. (Moved to WebCoreSupport) * WebCoreSupport/WebSecurityOrigin.mm: Added. (-[WebSecurityOrigin usage]): to be implemented by subclasses. (-[WebSecurityOrigin quota]): to be implemented by subclasses. (-[WebSecurityOrigin setQuota:]): to be implemented by subclasses. * WebCoreSupport/WebSecurityOriginInternal.h: Renamed from WebKit/mac/Storage/WebSecurityOriginInternal.h. * WebCoreSupport/WebSecurityOriginPrivate.h: Added. Turn the notification into a WebUI Delegate to call. Following the example of Databases. * DefaultDelegates/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:]): * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::exceededDatabaseQuota): use the Databases Security Origin subclass. (WebChromeClient::reachedApplicationCacheOriginQuota): use the Application Cache Security Origin subclass. * WebView/WebUIDelegatePrivate.h: 2010-07-30 Joseph Pecoraro <joepeck@webkit.org> Reviewed by David Kilzer. Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas) https://bugs.webkit.org/show_bug.cgi?id=40627 Part 1 - Add Total and Per-Origin Quota Preferences. Allow the application cache total size to be a preference, and add a new preference for the default per-origin quota. Storage quotas were int64_t (long long). Boilerplate for these types added for consistency. * Misc/WebNSDictionaryExtras.h: * Misc/WebNSDictionaryExtras.m: (-[NSMutableDictionary _webkit_setLongLong:forKey:]): * WebCoreSupport/WebApplicationCache.h: setters and accessors for WebCore's cacheStorage. * WebCoreSupport/WebApplicationCache.mm: (+[WebApplicationCache maximumSize:]): (+[WebApplicationCache setMaximumSize:]): (+[WebApplicationCache defaultOriginQuota]): (+[WebApplicationCache setDefaultOriginQuota:]): * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): defaults to noQuota for both preferences. (-[WebPreferences _longLongValueForKey:]): (-[WebPreferences _setLongLongValue:forKey:]): (-[WebPreferences applicationCacheTotalQuota]): (-[WebPreferences setApplicationCacheTotalQuota:]): (-[WebPreferences applicationCacheDefaultOriginQuota]): (-[WebPreferences setApplicationCacheDefaultOriginQuota:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): respect updates to the preferences. 2010-07-30 Andy Estes <aestes@apple.com> Reviewed by David Kilzer. Add Xcode support for compiling WebKit against iOS SDKs. https://bugs.webkit.org/show_bug.cgi?id=42796 * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: * Configurations/FeatureDefines.xcconfig: * Configurations/Version.xcconfig: * Configurations/WebKit.xcconfig: 2010-07-26 Steve Block <steveblock@google.com> Reviewed by Jeremy Orlow. Page clients should be passed to Page constructor via structure of pointers https://bugs.webkit.org/show_bug.cgi?id=42834 * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): 2010-07-27 Kinuko Yasuda <kinuko@chromium.org> Reviewed by Ojan Vafai. Add FILE_SYSTEM build flag for FileSystem API https://bugs.webkit.org/show_bug.cgi?id=42915 * Configurations/FeatureDefines.xcconfig: 2010-07-27 Steve Block <steveblock@google.com> Reviewed by Jeremy Orlow. Client-based Geolocation does not pass enableHighAccuracy option to controller and client https://bugs.webkit.org/show_bug.cgi?id=40374 Stub out setEnableHighAccuracy method for the Mac port. * WebCoreSupport/WebGeolocationControllerClient.h: (WebGeolocationControllerClient::setEnableHighAccuracy): 2010-07-22 Sam Weinig <sam@webkit.org> Reviewed by Maciej Stachowiak. Fix for <rdar://problem/8222626> Send textDidChangeInTextField delegate callback only in response to typing or other forms of user text input. The function name no longer perfectly matches the behavior, but I didn't want to break any existing clients. Maybe we should migrate to a new function name eventually * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::textDidChangeInTextField): 2010-07-22 Sam Weinig <sam@webkit.org> Reviewed by Anders Carlsson. Patch for https://bugs.webkit.org/show_bug.cgi?id=42836 Add localized strings stubs for WebKit2. - Convert WebKit (mac) to use a LocalizationStrategy rather than the WebCoreViewFactory for localized strings. Gets us below 200 tests failing in WebKitTestRunner. * WebCoreSupport/WebContextMenuClient.mm: (fixMenusReceivedFromOldClients): Use LocalizedStrings rather than the factory. * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: * WebCoreSupport/WebViewFactory.mm: 2010-07-21 Brady Eidson <beidson@apple.com> Reviewed by Geoffrey Garen. Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry https://bugs.webkit.org/show_bug.cgi?id=42783 * WebView/WebView.mm: (+[WebView _registerURLSchemeAsSecure:]): (+[WebView registerURLSchemeAsLocal:]): 2010-07-21 Simon Fraser <simon.fraser@apple.com> Reviewed by Anders Carlsson. Composited layers don't scroll in WebKit2 https://bugs.webkit.org/show_bug.cgi?id=42771 Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck, but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget(). * WebView/WebHTMLView.mm: (-[WebHTMLView _frameOrBoundsChanged]): 2010-07-21 Eric Carlson <eric.carlson@apple.com> Reviewed by Simon Fraser. Update plug-in proxy backed <video> and <audio> elements. https://bugs.webkit.org/show_bug.cgi?id=42770 <rdar://problem/7963467> * Plugins/WebPluginController.h: * Plugins/WebPluginController.mm: (-[WebPluginController dealloc]): Release _viewsNotInDocument. (-[WebPluginController stopAllPlugins]): Stop plug-ins not in the document. (-[WebPluginController pluginViewCreated:]): New, add a View (plug-in) to _viewsNotInDocument. (+[WebPluginController pluginViewHidden:]): New, remove the view (plug-in) from pluginViews. (-[WebPluginController addPlugin:]): Remove the new plug-in from _viewsNotInDocument. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Remove PLUGIN_PROXY_FOR_VIDEO code, the media player proxy plug-in should never be allocated by this method. (WebFrameLoaderClient::createMediaPlayerProxyPlugin): New, allocate a media player proxy. * WebView/WebView.mm: (-[WebView _videoProxyPluginForMIMEType:]): New. Identical to _pluginForMIMEType except it doesn't consider the arePlugInsEnabled preference. * WebView/WebViewInternal.h: 2010-07-19 Chris Marrin <cmarrin@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=42118 Disable WebGL on Leopard for now. LayoutTests fail on some graphics hardware on Leopard because one of the features we use, GL_ARB_framebuffer_object, is not universally available in Leopard like it is in SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a software OpenGL driver on machines without this support. * Configurations/FeatureDefines.xcconfig: 2010-07-18 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Move PluginWidget to WebKit https://bugs.webkit.org/show_bug.cgi?id=42530 * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView pluginLayer]): Add default pluginLayer implementation. * WebCoreSupport/WebFrameLoaderClient.mm: (PluginWidget::PluginWidget): (PluginWidget::invalidateRect): Move the guts of PluginWidget here from WebCore. (NetscapePluginWidget::platformLayer): Get the layer from the plug-in view. 2010-07-18 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/42522> Add missing (id) return type to Obj-C methods Reviewed by Dan Bernstein. * Carbon/CarbonWindowAdapter.mm: (-[NSWindow(HIWebFrameView) _initContent:styleMask:backing:defer:contentView:]): (-[CarbonWindowAdapter _destroyRealWindow:]): (-[CarbonWindowAdapter _clearModalWindowLevel]): * Misc/WebIconDatabase.mm: (-[WebIconDatabase init]): * Misc/WebNSPasteboardExtras.mm: (-[NSFilePromiseDragSource initWithSource:]): * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation init]): * WebView/WebPreferences.mm: (-[WebPreferences init]): * WebView/WebView.mm: (-[WebView UIDelegate]): (-[WebView resourceLoadDelegate]): (-[WebView downloadDelegate]): (-[WebView policyDelegate]): (-[WebView frameLoadDelegate]): 2010-07-16 Zhe Su <suzhe@chromium.org> Reviewed by Darin Adler. REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms https://bugs.webkit.org/show_bug.cgi?id=42253 Dummy implementation of EditorClient::willSetInputMethodState. * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::willSetInputMethodState): 2010-07-16 Dan Bernstein <mitz@apple.com> Reviewed by Sam Weinig. Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:] https://bugs.webkit.org/show_bug.cgi?id=29355 * Misc/WebKitNSStringExtras.h: * Misc/WebKitNSStringExtras.mm: (-[NSString _web_drawAtPoint:font:textColor:]): Now calls through to -_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing YES for the last parameter. (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Added allowingFontSmoothing:. If font smoothing is not allowed, sets the font smoothing mode to antialiased. Otherwise, sets it to auto. (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]): Instead of changing the font smoothing setting in the graphics context, call -_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing NO for the last parameter. 2010-07-16 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Remove semicolons from Objective-C method declarations. * WebView/WebRenderLayer.mm: (+[WebRenderLayer nameForLayer:]): (+[WebRenderLayer compositingInfoForLayer:]): 2010-07-16 Mikhail Naganov <mnaganov@chromium.org> Reviewed by Pavel Feldman. Make JS memory stats available via 'Performance' object (Web Timing). This statistics is populated only if 'WebKitMemoryInfoEnabled' preference is set. 'console.memory' is kept until Web Timing object becomes visible by default (currently it is hidden under compile-time flag). These stats are guarded with the same preference. https://bugs.webkit.org/show_bug.cgi?id=41617 * WebKit.order: * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences memoryInfoEnabled]): (-[WebPreferences setMemoryInfoEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-07-15 Shinichiro Hamaji <hamaji@chromium.org> Reviewed by Darin Adler. Printing test results differ between machines, we should use ImageDiff instead https://bugs.webkit.org/show_bug.cgi?id=20011 * Misc/WebCoreStatistics.h: * Misc/WebCoreStatistics.mm: (-[WebFrame printToCGContext:cgContext:pageWidthInPixels:]): 2010-07-15 Daniel Bates <dbates@rim.com> Reviewed by Darin Adler. [Mac] Implement LayoutTestController::markerTextForListItem() https://bugs.webkit.org/show_bug.cgi?id=37929 Implements support for markerTextForListItem in the Mac port. * DOM/WebDOMOperations.mm: (+[DOMElement _DOMElementFromJSContext]): Added. (-[DOMElement _markerTextForListItem]): Added. * DOM/WebDOMOperationsPrivate.h: 2010-07-14 Simon Fraser <simon.fraser@apple.com> Fix non-ACCELERATED_COMPOSITING build. * WebView/WebRenderLayer.mm: (+[WebRenderLayer compositingInfoForLayer:]): 2010-07-14 Simon Fraser <simon.fraser@apple.com> Reviewed by John Sullivan. <rdar://problem/8186963> Expose information about compositing layers. Use RenderLayerBacking::compositingLayerType() to add more information about compositing to WebRenderLayer, via a compositingInfo property. Also show element classnames. Also add separator items between the various z-order lists. * WebView/WebRenderLayer.h: * WebView/WebRenderLayer.mm: (+[WebRenderLayer nameForLayer:]): (+[WebRenderLayer compositingInfoForLayer:]): (-[WebRenderLayer initWithRenderLayer:]): (-[WebRenderLayer initWithName:]): (-[WebRenderLayer initWithWebFrame:]): (-[WebRenderLayer dealloc]): (-[WebRenderLayer buildDescendantLayers:]): (-[WebRenderLayer compositingInfo]): (-[WebRenderLayer isComposited]): (-[WebRenderLayer isSeparator]): 2010-07-14 Darin Adler <darin@apple.com> Another try at fixing the Tiger build. Avoid non-ASCII in source files to keep Tiger compiler happy. * WebView/WebRenderLayer.mm: (+[WebRenderLayer nameForLayer:]): Use %C for the non-ASCII characters. 2010-07-14 Sam Weinig <sam@webkit.org> Reviewed by Darin Adler. Patch for https://bugs.webkit.org/show_bug.cgi?id=42232 Make changing Cursors work in WebKit2. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::setCursor): * WebView/WebView.mm: Implement cursor changing at the WebKit level for the sake of WebKit2. This functionality is being moved from WidgetMac.mm. (+[WebView _pointingHandCursor]): Update to use platformCursor() instead of impl(). 2010-07-13 Simon Fraser <simon.fraser@apple.com> Fix Tiger build. Avoid non-ASCII in souce files to keep Tiger compiler happy. * WebView/WebRenderLayer.mm: (+[WebRenderLayer nameForLayer:]): 2010-07-13 Simon Fraser <simon.fraser@apple.com> Reviewed by Dan Bernstein. <rdar://problem/8186963> Expose RenderLayer hierarchy via Obj-C for debugging. Add a WebRenderLayer class that reflects the RenderLayer tree into a hierarchy of Objective-C objects suitable for display in an outline view. * WebKit.exp: Export the WebRenderLayer Objective-C class. * WebView/WebRenderLayer.h: Added. * WebView/WebRenderLayer.mm: Added. 2010-07-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> Reviewed by Darin Adler. Prevent assertion/duplicate loads for non-deferred subtitute-data loads https://bugs.webkit.org/show_bug.cgi?id=30879 MainResourceLoader uses the member m_initialRequest to store requests for future deferred loads. When doing the actual load in handleDataLoadNow(), we therefore have to clear this request so that subsequent entries into the loader will not start yet another load. This can happen as a result of a PageGroupLoadDeferrer going out of scope when returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false), but only in the case of using both substitute-data and non-deferred main resource load together. That's why two new DRT functions were added: * queueLoadHTMLString() * setDeferMainResourceLoad() The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac and Win the hook uses new SPI in WebDataSource. For Qt a new static member was added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt. * WebView/WebDataSource.mm: (-[WebDataSource _setDeferMainResourceDataLoad:]): * WebView/WebDataSourcePrivate.h: 2010-07-13 Philippe Normand <pnormand@igalia.com> Rubber-stamped by Xan Lopez. Updated the copyright headers of the files modified in r62476. * WebView/WebView.mm: * WebView/WebViewData.h: * WebView/WebViewInternal.h: 2010-07-09 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=13075 XMLHttpRequest with failed authentication should set status to 401 https://bugs.webkit.org/show_bug.cgi?id=6871 <rdar://problem/3363403> 401 error page is never shown * Panels/WebPanelAuthenticationHandler.m: (-[WebPanelAuthenticationHandler startAuthentication:window:]): Updated a comment - this code cancels loading, not authentication (canceling authentication means telling to continue without credentials). (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): If there were no credentials provided, tell to continue without any. There may be alternative content returned with 401. 2010-07-09 Leon Clarke <leonclarke@google.com> Reviewed by Adam Barth. add support for link prefetching https://bugs.webkit.org/show_bug.cgi?id=3652 * Configurations/FeatureDefines.xcconfig: 2010-07-08 Aaron Boodman <aa@chromium.org> Reviewed by Timothy Hatcher. Add the ability for user scripts and user styles to affect just the top frame. https://bugs.webkit.org/show_bug.cgi?id=41529 * WebView/WebView.mm: (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]): (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]): (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]): (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]): * WebView/WebViewPrivate.h: 2010-07-08 Adele Peterson <adele@apple.com> Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler. Fix for https://bugs.webkit.org/show_bug.cgi?id=41721 <rdar://problem/8158561> Missing plug-in indicator should have a pressed state Implement shouldMissingPluginMessageBeButton. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::shouldMissingPluginMessageBeButton): 2010-07-08 Brady Eidson <beidson@apple.com> Reviewed by Tim Hatcher. <rdar://problem/8136327> - Crash in Entourage calling WebCache method from background thread * Misc/WebCache.mm: (+[WebCache setDisabled:]): Forward the call to the main thread if called from a background thread. * Misc/WebNSObjectExtras.h: * Misc/WebNSObjectExtras.mm: (+[NSObject _webkit_invokeOnMainThread]): Add a class version of the main thread invoker. 2010-07-08 Mike Thole <mthole@apple.com> Reviewed by Darin Adler. Patch for https://bugs.webkit.org/show_bug.cgi?id=41896 Crash under allScriptsInPDFDocument() in WebPDFDocumentExtras.mm for certain PDFs * WebView/WebPDFDocumentExtras.mm: (allScriptsInPDFDocument): Null-check 'data', as CGPDFStreamCopyData() may have returned 0. 2010-07-08 Sam Weinig <sam@webkit.org> Reviewed by Anders Carlsson. Patch for https://bugs.webkit.org/show_bug.cgi?id=41826 Convert BackForwardList to an abstract base class and add BackForwardListImpl as the concrete implementation of it. * History/WebBackForwardList.mm: (-[WebBackForwardList init]): (-[WebBackForwardList setPageCacheSize:]): (-[WebBackForwardList pageCacheSize]): 2010-07-07 Sam Weinig <sam@webkit.org> Reviewed by Anders Carlsson. Patch for https://bugs.webkit.org/show_bug.cgi?id=41772 Add basic piping for BackForwardControllerClient. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): 2010-07-07 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Change requestURL to a KURL. https://bugs.webkit.org/show_bug.cgi?id=41775 * Plugins/WebNetscapePluginStream.h: (WebNetscapePluginStream::setRequestURL): * Plugins/WebNetscapePluginStream.mm: (WebNetscapePluginStream::pluginCancelledConnectionError): (WebNetscapePluginStream::errorForReason): (WebNetscapePluginStream::startStream): (WebNetscapePluginStream::didReceiveResponse): (WebNetscapePluginStream::destroyStream): 2010-07-07 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Rename the WebBaseNetscapePluginStream.cpp and .h files to WebNetscapePluginStream.cpp and .h to match the class name. * Plugins/WebNetscapePluginStream.h: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.h. * Plugins/WebNetscapePluginStream.mm: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.mm. 2010-07-06 Steve Falkenburg <sfalken@apple.com> Reviewed by Simon Fraser. Expose URL matching from WebUserContentURLPattern https://bugs.webkit.org/show_bug.cgi?id=41726 <rdar://problem/7910144> We previously had a way to construct WebUserContentURLPattern instances via WebKit, but no way for callers to perform matching. This patch adds the matchesURL functionality to allow for this. * Misc/WebUserContentURLPattern.h: Added matchesURL. * Misc/WebUserContentURLPattern.mm: (-[WebUserContentURLPattern matchesURL:]): Added. Calls through to WebCore::UserContentURLPattern::matches. 2010-06-23 Philippe Normand <pnormand@igalia.com> Reviewed by Eric Carlson. [GStreamer] on Mac OS use a runloop observer to process the glib context iterations https://bugs.webkit.org/show_bug.cgi?id=35747 If VIDEO and GSTREAMER are enabled, make the WebView start a runloop observer that will trigger the glib main context iterations. Those are needed by the GStreamer player only at the moment but could later be used for other GLib-dependant components if required. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView _close]): (-[WebView _clearGlibLoopObserver]): (glibContextIterationCallback): (-[WebView _scheduleGlibContextIterations]): * WebView/WebViewData.h: * WebView/WebViewInternal.h: 2010-07-03 Jon Honeycutt <jhoneycutt@apple.com> The missing plug-in indicator should be clickable https://bugs.webkit.org/show_bug.cgi?id=41550 <rdar://problem/8132162> From an original patch by Kevin Decker. Reviewed by Darin Adler. * WebCoreSupport/WebChromeClient.h: Declare an override of missingPluginButtonClicked(). * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::missingPluginButtonClicked): Call the UIDelegate's method. * WebView/WebUIDelegatePrivate.h: Declare didPressMissingPluginButton. 2010-07-01 Timothy Hatcher <timothy@apple.com> Provide a WebView preference to disable DNS prefetching. https://bugs.webkit.org/show_bug.cgi?id=28825 rdar://problem/7181249 Reviewed by Darin Adler. * WebView/WebPreferenceKeysPrivate.h: Added WebKitDNSPrefetchingEnabledPreferenceKey. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Set WebKitDNSPrefetchingEnabledPreferenceKey to YES. (-[WebPreferences isDNSPrefetchingEnabled]): Added. Return WebKitDNSPrefetchingEnabledPreferenceKey's value. (-[WebPreferences setDNSPrefetchingEnabled:]): Added. Set WebKitDNSPrefetchingEnabledPreferenceKey's value. * WebView/WebPreferencesPrivate.h: Added isDNSPrefetchingEnabled and setDNSPrefetchingEnabled:. * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Call WebCore::Settings::setDNSPrefetchingEnabled. 2010-07-01 Alexey Proskuryakov <ap@apple.com> Reviewed by Anders Carlsson. <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431> REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction Strengthen m_inDestroy "swipe under the carpet" fix. * Plugins/Hosted/NetscapePluginInstanceProxy.h: Added a long comment about m_inDestroy, and changed it to static. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): m_inDestroy is now static, so we don't initialize it in constructor. (WebKit::NetscapePluginInstanceProxy::destroy): Assert that we aren't already destroying some plug-in. (WebKit::NetscapePluginInstanceProxy::evaluate): This function accidentally lacked an m_inDestroy check in r42789. 2010-06-29 Zoltan Herczeg <zherczeg@webkit.org> Reviewed by Nikolas Zimmermann. Add ConvolveMatrixElement to MigrateHeaders.make https://bugs.webkit.org/show_bug.cgi?id=5861 * MigrateHeaders.make: 2010-06-23 John Gregg <johnnyg@google.com> Reviewed by Kent Tamura. add ENABLE_DIRECTORY_UPLOAD build support https://bugs.webkit.org/show_bug.cgi?id=41100 * Configurations/FeatureDefines.xcconfig: 2010-06-28 Eric Seidel <eric@webkit.org> Reviewed by Adam Barth. Make it possible to test the new HTML5 TreeBuilder https://bugs.webkit.org/show_bug.cgi?id=41276 Adam was concerned that someone might make their port depend on this setting (I guess we had some trouble with that with the HTML5Parser setting), so I littered the code with warnings. test-html5-parser now tests this code path. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences html5TreeBuilderEnabled]): (-[WebPreferences setHTML5TreeBuilderEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-06-25 Yuzo Fujishima <yuzo@google.com> Reviewed by Shinichiro Hamaji. Improve default value handling for page format properties. https://bugs.webkit.org/show_bug.cgi?id=41150 * Misc/WebCoreStatistics.h: * Misc/WebCoreStatistics.mm: (-[WebFrame pageSizeAndMarginsInPixels:pageNumber:width:height:marginTop:marginRight:marginBottom:]): 2010-06-26 Tony Gentilcore <tonyg@chromium.org> Reviewed by Dimitri Glazkov. Add an ENABLE_WEB_TIMING option for enabling Web Timing support. https://bugs.webkit.org/show_bug.cgi?id=38924 * Configurations/FeatureDefines.xcconfig: 2010-06-24 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Full-screened content doesn't keep the display on: Safari not grabbing a power assertion? https://bugs.webkit.org/show_bug.cgi?id=40939 rdar://problem/7996172 Take a IOKit power assertion when playing video in fullscreen mode. Release the assertion when paused in fullscreen mode, and when exiting fullscreen mode. * WebView/WebVideoFullscreenController.h: * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidExitFullscreen]): Call updatePowerAssertions. (-[WebVideoFullscreenController windowDidEnterFullscreen]): Call updatePowerAssertions. (-[WebVideoFullscreenController _disableIdleDisplaySleep]): (-[WebVideoFullscreenController _enableIdleDisplaySleep]): (-[WebVideoFullscreenController _disableIdleSystemSleep]): (-[WebVideoFullscreenController _enableIdleSystemSleep]): (-[WebVideoFullscreenController updatePowerAssertions]): Call _(enable|disable)Idle(System|Display)sleep depending on current playback rate and fullscreen status. (-[WebVideoFullscreenController rateChanged:]): Call updatePowerAssertions. 2010-06-24 Jer Noble <jer.noble@apple.com> Reviewed by Darin Adler. Playing movie full screen on second monitor hides menu bar and title bar on main monitor https://bugs.webkit.org/show_bug.cgi?id=40933 rdar://problem/7858452 Remove all references to GetSystemUIMode and SetSystemUIMode. Replace these calls with [NSApplication setPresentationOptions:]. Do not auto-hide the menu bar if the fullscreen screen is does not contain the menu-bar. Do not auto-hide the dock if the fullscreen screen is both not the menu-bar screen and not the dock screen. * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidLoad]): Register the applicationDidChangeScreenParameters: listener. (-[WebVideoFullscreenController windowDidExitFullscreen]): Calls updateMenuAndDockForFullscreen. (-[WebVideoFullscreenController windowDidEnterFullscreen]): Calls updateMenuAndDockForFullscreen. (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]): New notification handler; catches NSApplicationDidChangeScreenParameters. (-[WebVideoFullscreenController updateMenuAndDockForFullscreen]): Hide/show the menu-bar and dock according to the fullscreen window's screen. 2010-06-24 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. Full screen video in Safari exits full-screen if you switch to another app https://bugs.webkit.org/show_bug.cgi?id=40635 rdar://problem/7885101 Implement the following rules for exiting full screen when switching apps: 1. If the system has a single screen, switching apps will cause Safari to exit full-screen. 2. Otherwise, if the full-screen screen is the "main screen" (the one with the title bar), switching apps will cause Safari to exit full-screen. 3. Overriding rules 1 & 2, if the full-screen screen is not on the "current space", switching apps will NOT cause Safari to exit full-screen. * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidLoad]): (-[WebVideoFullscreenController applicationDidResignActive:]): 2010-06-24 Adele Peterson <adele@apple.com> Reviewed by Sam Weinig. Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events https://bugs.webkit.org/show_bug.cgi?id=41085 * WebView/WebHTMLView.mm: Use the WebCore command system for the pasteAsPlainText selector. Also remove internal methods that no one is using. 2010-06-24 Damian Kaleta <dkaleta@apple.com> Reviewed by Sam Weinig. Added an ObjC wrapper to Node::renderRect(bool&). * DOM/WebDOMOperations.mm: (-[DOMNode _renderRect:]): * DOM/WebDOMOperationsPrivate.h: 2010-06-24 Adele Peterson <adele@apple.com> Reviewed by Eric Carlson. Fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events https://bugs.webkit.org/show_bug.cgi?id=41085 * WebView/WebHTMLView.mm: (-[WebHTMLView pasteAsPlainText:]): Reuse code in WebCore which does everything done here and also fires paste events. 2010-06-23 Yuzo Fujishima <yuzo@google.com> Reviewed by Shinichiro Hamaji. Implement page format data programming interface. Add methods for testing. https://bugs.webkit.org/show_bug.cgi?id=37538 * Misc/WebCoreStatistics.h: * Misc/WebCoreStatistics.mm: (-[WebFrame isPageBoxVisible:]): (-[WebFrame pageAreaRectInPixels:]): (-[WebFrame preferredPageSizeInPixels:]): 2010-06-22 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Get rid of more USE_LIBDISPATCH code. * Plugins/Hosted/NetscapePluginHostProxy.h: 2010-06-22 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Get rid of the USE_LIBDISPATCH code. * Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy): 2010-06-22 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Wean NetscapePluginHostManager of any knowledge about WebNetscapePluginPackage https://bugs.webkit.org/show_bug.cgi?id=41006 * Plugins/Hosted/NetscapePluginHostManager.h: * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::hostForPlugin): (WebKit::NetscapePluginHostManager::spawnPluginHost): (WebKit::NetscapePluginHostManager::instantiatePlugin): (WebKit::NetscapePluginHostManager::createPropertyListFile): * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage createPropertyListFile]): 2010-06-21 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Fix an off-by-one bug I introduced. * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage getPluginInfoFromResources]): 2010-06-21 Nate Chapin <japhet@chromium.org> Reviewed by Adam Barth. FrameLoader cleanup: Split high level subframe and plugin loading functions into a separate class. https://bugs.webkit.org/show_bug.cgi?id=40453 * WebView/WebFrame.mm: (-[WebFrame _cacheabilityDictionary]): 2010-06-21 Anders Carlsson <andersca@apple.com> Another Tiger build fix. * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage _tryLoad]): 2010-06-21 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. More WebBasePluginPackage cleanup https://bugs.webkit.org/show_bug.cgi?id=40944 * Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::pluginCancelledConnectionError): * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::spawnPluginHost): * Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::pluginCancelledConnectionError): * Plugins/WebBaseNetscapePluginView.mm: (WebHaltablePlugin::pluginName): * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage initWithPath:]): (-[WebBasePluginPackage _objectForInfoDictionaryKey:]): (-[WebBasePluginPackage getPluginInfoFromPLists]): (-[WebBasePluginPackage load]): (-[WebBasePluginPackage dealloc]): (-[WebBasePluginPackage finalize]): (-[WebBasePluginPackage pluginInfo]): (-[WebBasePluginPackage supportsExtension:]): (-[WebBasePluginPackage supportsMIMEType:WebCore::]): (-[WebBasePluginPackage MIMETypeForExtension:]): (-[WebBasePluginPackage isJavaPlugIn]): (-[WebBasePluginPackage versionNumber]): (-[WebBasePluginPackage WebCore::]): * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage openResourceFile]): (-[WebNetscapePluginPackage closeResourceFile:]): (-[WebNetscapePluginPackage getPluginInfoFromResources]): (-[WebNetscapePluginPackage _initWithPath:]): (-[WebNetscapePluginPackage _applyDjVuWorkaround]): (-[WebNetscapePluginPackage _tryLoad]): (-[WebNetscapePluginPackage supportsSnapshotting]): (-[WebNetscapePluginPackage _unloadWithShutdown:]): * Plugins/WebPluginDatabase.mm: (-[WebPluginDatabase refresh]): (-[WebPluginDatabase _removePlugin:]): * Plugins/WebPluginPackage.mm: (-[WebPluginPackage initWithPath:]): (-[WebPluginPackage load]): * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::getPluginInfo): 2010-06-21 Anders Carlsson <andersca@apple.com> Another PowerPC build fix. * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage openResourceFile]): (-[WebNetscapePluginPackage _tryLoad]): 2010-06-21 Anders Carlsson <andersca@apple.com> Try to fix the PowerPC build. * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage _tryLoad]): 2010-06-21 Nate Chapin <japhet@chromium.org> Reviewed by Adam Barth. Update relevant calls into FrameLoader to make use of FrameLoaderStateMachine. https://bugs.webkit.org/show_bug.cgi?id=39695 * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::transitionToCommittedForNewPage): * WebView/WebFrame.mm: (-[WebFrame _firstLayoutDone]): 2010-06-21 Dimitri Glazkov <dglazkov@chromium.org> Reviewed by Dan Bernstein. Chromium/Mac build fix. * WebCoreSupport/WebSystemInterface.mm: Change the order of wtf/Platform.h include to let other headers smell it. 2010-06-21 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. Make all of WebKit build with clang++ * DefaultDelegates/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]): * Plugins/Hosted/NetscapePluginHostManager.mm: * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]): * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView setSuppressLayout:]): * WebView/WebHTMLRepresentation.mm: * WebView/WebNavigationData.mm: (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]): * WebView/WebPDFRepresentation.mm: (-[WebPDFRepresentation setDataSource:]): (-[WebPDFRepresentation receivedData:withDataSource:]): (-[WebPDFRepresentation receivedError:withDataSource:]): * WebView/WebResource.mm: (-[WebResource description]): * WebView/WebSerializedJSValue.mm: (-[WebSerializedJSValue initWithValue:context:exception:]): * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController WebCore::]): (-[WebVideoFullscreenController setMediaElement:WebCore::]): (-[WebVideoFullscreenController setDelegate:]): (-[WebVideoFullscreenController enterFullscreen:]): * WebView/WebView.mm: (-[WebView _openFrameInNewWindowFromMenu:]): (-[WebView _geolocationDidChangePosition:]): 2010-06-21 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Remove unused dictionary ivars from WebBasePluginPackage https://bugs.webkit.org/show_bug.cgi?id=40928 * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage getPluginInfoFromPLists]): (-[WebBasePluginPackage dealloc]): * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage getPluginInfoFromResources]): 2010-06-21 Dan Bernstein <mitz@apple.com> Build fix * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): 2010-06-21 Dan Bernstein <mitz@apple.com> Reviewed by Darin Adler. WebKit part of implementing the 'hyphens' and 'hyphenate-character' properties https://bugs.webkit.org/show_bug.cgi?id=10228 * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize wkGetHyphenationLocationBeforeIndex. 2010-06-21 Satish Sampath <satish@chromium.org> Reviewed by Steve Block. Speech Input Patch 0: Added compilation argument to conditionally compile pending patches. https://bugs.webkit.org/show_bug.cgi?id=40878 * Configurations/FeatureDefines.xcconfig: 2010-06-20 Anders Carlsson <andersca@apple.com> Fix Tiger build. * Plugins/WebNetscapePluginPackage.mm: 2010-06-20 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. Get rid of the old MIMETypes getter method https://bugs.webkit.org/show_bug.cgi?id=40898 * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage supportsExtension:]): (-[WebBasePluginPackage supportsMIMEType:WebCore::]): (-[WebBasePluginPackage MIMETypeForExtension:]): * Plugins/WebPluginDatabase.mm: (-[WebPluginDatabase refresh]): (-[WebPluginDatabase _removePlugin:]): 2010-06-20 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. Remove bogus const qualifiers. * WebCoreSupport/WebPasteboardHelper.h: * WebCoreSupport/WebPasteboardHelper.mm: (WebPasteboardHelper::urlFromPasteboard): (WebPasteboardHelper::plainTextFromPasteboard): (WebPasteboardHelper::fragmentFromPasteboard): 2010-06-20 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. Get rid of the extensionToMIME mapping in WebBasePluginPackage https://bugs.webkit.org/show_bug.cgi?id=40897 Instead of using the extensionToMIME mutable dictionary, use the MIME types vector. While this makes lookup of MIME types based on extensions linear instead of constant, the number of extensions per plug-in is too small for it to matter. * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage initWithPath:]): (-[WebBasePluginPackage dealloc]): (-[WebBasePluginPackage supportsExtension:]): (-[WebBasePluginPackage MIMETypeForExtension:]): (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]): 2010-06-20 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. Add a MimeClassInfo Vector to WebBasePluginPackage https://bugs.webkit.org/show_bug.cgi?id=40896 * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage getPluginInfoFromPLists]): (-[WebBasePluginPackage WebCore::]): * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage getPluginInfoFromResources]): * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::getPluginInfo): 2010-06-20 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. Move the NSBundle ivar to WebPluginPackage https://bugs.webkit.org/show_bug.cgi?id=40894 * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage initWithPath:]): (-[WebBasePluginPackage _objectForInfoDictionaryKey:]): (-[WebBasePluginPackage getPluginInfoFromPLists]): (-[WebBasePluginPackage load]): (-[WebBasePluginPackage dealloc]): * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage _initWithPath:]): * Plugins/WebPluginPackage.h: * Plugins/WebPluginPackage.mm: (-[WebPluginPackage initWithPath:]): (-[WebPluginPackage dealloc]): (-[WebPluginPackage viewFactory]): (-[WebPluginPackage load]): 2010-06-20 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Remove -[WebBasePluginPackage bundle] https://bugs.webkit.org/show_bug.cgi?id=40892 Add -[WebBasePluginPackage bundleIdentifier] and switch clients over to it. Move the supportsSnapshotting method over to the plug-in package. * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::hostForPackage): * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]): (-[WebBaseNetscapePluginView supportsSnapshotting]): * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage isQuickTimePlugIn]): (-[WebBasePluginPackage isJavaPlugIn]): (-[WebBasePluginPackage WebCore::]): Call bundleIdentifier directly instead of asking the bundle * Plugins/WebNetscapePluginPackage.h: * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage supportsSnapshotting]): * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView setAttributeKeys:andValues:]): (-[WebNetscapePluginView _createPlugin]): * Plugins/WebPluginDatabase.mm: (checkCandidate): 2010-06-20 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. Change some WebPluginDabase ivars to use WebCore::String instead of NSString. https://bugs.webkit.org/show_bug.cgi?id=40869 Re-land r61459, with extra null-checks in WebFrameLoaderClient. * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::spawnPluginHost): * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage initWithPath:]): (-[WebBasePluginPackage getPluginInfoFromPLists]): (-[WebBasePluginPackage dealloc]): (-[WebBasePluginPackage name]): (-[WebBasePluginPackage path]): (-[WebBasePluginPackage filename]): (-[WebBasePluginPackage pluginDescription]): (-[WebBasePluginPackage description]): (-[WebBasePluginPackage isJavaPlugIn]): * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage getPluginInfoFromResources]): (-[WebNetscapePluginPackage _tryLoad]): (-[WebNetscapePluginPackage _unloadWithShutdown:]): * Plugins/WebPluginPackage.mm: (-[WebPluginPackage load]): * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): 2010-06-18 Adam Barth <abarth@webkit.org> Unreviewed, rolling out r61459. http://trac.webkit.org/changeset/61459 https://bugs.webkit.org/show_bug.cgi?id=40869 Seems to have broken two tests on the Tiger buildbot: dom/html/level2/html/AppletsCollection.html plugins/qt-qwidget-plugin.html Anders wasn't on #webkit... * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::spawnPluginHost): * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage initWithPath:]): (-[WebBasePluginPackage getPluginInfoFromPLists]): (-[WebBasePluginPackage dealloc]): (-[WebBasePluginPackage name]): (-[WebBasePluginPackage path]): (-[WebBasePluginPackage filename]): (-[WebBasePluginPackage pluginDescription]): (-[WebBasePluginPackage setName:]): (-[WebBasePluginPackage setPath:]): (-[WebBasePluginPackage setPluginDescription:]): (-[WebBasePluginPackage description]): (-[WebBasePluginPackage isJavaPlugIn]): * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage getPluginInfoFromResources]): (-[WebNetscapePluginPackage _tryLoad]): (-[WebNetscapePluginPackage _unloadWithShutdown:]): * Plugins/WebPluginPackage.mm: (-[WebPluginPackage load]): 2010-06-18 Anders Carlsson <andersca@apple.com> Fix Tiger build. * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage isJavaPlugIn]): 2010-06-18 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Change some WebPluginDabase ivars to use WebCore::String instead of NSString. https://bugs.webkit.org/show_bug.cgi?id=40869 * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::spawnPluginHost): * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage initWithPath:]): (-[WebBasePluginPackage getPluginInfoFromPLists]): (-[WebBasePluginPackage dealloc]): (-[WebBasePluginPackage name]): (-[WebBasePluginPackage path]): (-[WebBasePluginPackage filename]): (-[WebBasePluginPackage pluginDescription]): (-[WebBasePluginPackage description]): (-[WebBasePluginPackage isJavaPlugIn]): * Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage getPluginInfoFromResources]): (-[WebNetscapePluginPackage _tryLoad]): (-[WebNetscapePluginPackage _unloadWithShutdown:]): * Plugins/WebPluginPackage.mm: (-[WebPluginPackage load]): 2010-06-18 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Rename WebPluginPackage.m to make it an Objective-C++ file. * Plugins/WebPluginPackage.m: Removed. * Plugins/WebPluginPackage.mm: Copied from Plugins/WebPluginPackage.m. 2010-06-18 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Get rid of the NSEnumerators from WebBasePluginPackage https://bugs.webkit.org/show_bug.cgi?id=40868 * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage MIMETypes]): (-[WebBasePluginPackage supportsExtension:]): (-[WebBasePluginPackage supportsMIMEType:]): * Plugins/WebPluginDatabase.mm: (-[WebPluginDatabase pluginForMIMEType:]): (-[WebPluginDatabase pluginForExtension:]): (-[WebPluginDatabase refresh]): (-[WebPluginDatabase _removePlugin:]): * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::getPluginInfo): 2010-06-18 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Make WebCoreSystemInterface.h a C++ only header https://bugs.webkit.org/show_bug.cgi?id=40867 * WebCoreSupport/WebSystemInterface.h: * WebCoreSupport/WebSystemInterface.m: Removed. * WebCoreSupport/WebSystemInterface.mm: Copied from WebKit/mac/WebCoreSupport/WebSystemInterface.m. 2010-06-18 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig. Clean up WebPluginDatabase.mm https://bugs.webkit.org/show_bug.cgi?id=40866 * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: (pathByResolvingSymlinksAndAliases): (-[WebBasePluginPackage initWithPath:]): Change an instance method into a static function. * Plugins/WebPluginDatabase.mm: (PluginPackageCandidates::PluginPackageCandidates): (PluginPackageCandidates::update): (PluginPackageCandidates::bestCandidate): Add a new PluginPackageCandidates class. (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Use PluginPackageCandidates here. 2010-06-18 Anders Carlsson <andersca@apple.com> Fix Tiger build. * WebCoreSupport/WebPlatformStrategies.mm: 2010-06-18 Anders Carlsson <andersca@apple.com> Reviewed by Darin Adler. Get rid of PluginDataMac.mm and use the plug-in strategy instead https://bugs.webkit.org/show_bug.cgi?id=40860 * Plugins/WebBasePluginPackage.h: * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::createPluginStrategy): (WebPlatformStrategies::refreshPlugins): (WebPlatformStrategies::getPluginInfo): * WebCoreSupport/WebViewFactory.mm: 2010-06-18 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. Add stubbed out WebPlatformStrategies class to WebKit. https://bugs.webkit.org/show_bug.cgi?id=40851 * WebCoreSupport/WebPlatformStrategies.h: Added. * WebCoreSupport/WebPlatformStrategies.mm: Added. (WebPlatformStrategies::initialize): (WebPlatformStrategies::WebPlatformStrategies): (WebPlatformStrategies::createPluginStrategy): * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): 2010-06-15 Dumitru Daniliuc <dumi@chromium.org> Reviewed by Adam Barth. Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase. https://bugs.webkit.org/show_bug.cgi?id=39041 * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-06-17 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. Use adoptRef and create functions in more code paths https://bugs.webkit.org/show_bug.cgi?id=40760 * Plugins/Hosted/NetscapePluginInstanceProxy.h: Made create no longer be an inline function. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Moved the call to addPluginInstance out of here. (WebKit::NetscapePluginInstanceProxy::create): Move it in here. This makes sure we call adoptRef on the new proxy before any caller calls ref on it. 2010-06-16 Eric Seidel <eric@webkit.org> Reviewed by Adam Barth. Enable HTML5 Parser in Safari on Mac https://bugs.webkit.org/show_bug.cgi?id=40739 The HTML5 parser is probably off on all webkit ports. We should either flip the meaning of the default so that "false" means HTML5 on all ports, or we'll have to write more code like this for all the other ports. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): 2010-06-15 Mark Rowe <mrowe@apple.com> Reviewed by Sam Weinig. Don't leak WebGeolocationPositionInternal and GeolocationPosition instances for every WebGeolocationPosition created. * WebView/WebGeolocationPosition.mm: (-[WebGeolocationPosition dealloc]): Implement -dealloc and release our WebGeolocationPositionInternal instance. 2010-06-10 Yuzo Fujishima <yuzo@google.com> Reviewed by Shinichiro Hamaji. Implement render style selection for pages to support CSS3 Paged Media. https://bugs.webkit.org/show_bug.cgi?id=35961 * Misc/WebCoreStatistics.h: * Misc/WebCoreStatistics.mm: (-[WebFrame pageProperty:propertyName:]): 2010-06-15 Darin Adler <darin@apple.com> Reviewed by Adam Barth. Move functions out of Frame class that were marked "move to Chrome" https://bugs.webkit.org/show_bug.cgi?id=39636 * WebView/WebView.mm: (-[WebView shouldClose]): Call shouldClose on FrameLoader instead of going through Frame. 2010-06-15 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. Remove getPluginInfoFromBundleAndMIMEDictionary: * Plugins/WebBasePluginPackage.mm: 2010-06-15 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. Fold getPluginInfoFromBundleAndMIMEDictionary: into its sole caller. * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage getPluginInfoFromPLists]): 2010-06-11 Simon Fraser <simon.fraser@apple.com> Reviewed by Darin Adler. <rdar://problem/8084721> Pages using accelerated compositing fail to update correctly in Carbon apps The run loop observer used to commit compositing layer changes does not do updates if [window viewsNeedDisplay] is true, because this indicates that a delayed window update is pending (added in r58623). However, Carbon apps don't use the NSWindow updating mechanism, so [window viewsNeedDisplay] always returns YES. This caused us to never sync compositing layers. So detect if the current window is wrapping a carbon window, and in that case consult the root HIView to detect if display is pending. * WebView/WebView.mm: (layerSyncRunLoopObserverCallBack): 2010-06-15 Dan Bernstein <mitz@apple.com> Reviewed by John Sullivan. <rdar://problem/8077032> REGRESSION (r50796): Black background on AppleScript generated email Test: platform/mac/editing/input/NSBackgroundColor-transparent.html r50796 changed the initial background color from invalid to transparent. As a result, NSAttributedStrings returned from +_web_attributedStringFromRange started including the NSBackgroundColor attribute, with a transparent color as the value. This caused problems for components in the system that ignore the alpha component, turning the color into opaque black. * Misc/WebNSAttributedStringExtras.mm: (+[NSAttributedString _web_attributedStringFromRange:]): Change to not include the background and foreground color attributes if the color are transparent. 2010-06-14 Ilya Tikhonovsky <loislo@chromium.org> Reviewed by Pavel Feldman. WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc data from inspected page to WebInspector as JSON string via http. The native serialization to JSON string is supported by InspectorValue's classes. This patch has the implementation of sendMessageToFrontend function. WebKit version of it still uses ScriptFunctionCall and will be switched to another transport a little bit later. https://bugs.webkit.org/show_bug.cgi?id=40134 * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::WebInspectorClient): (WebInspectorClient::openInspectorFrontend): 2010-06-10 David Hyatt <hyatt@apple.com> Reviewed by John Sullivan. https://bugs.webkit.org/show_bug.cgi?id=40441, back out the original fix for 29601, since it has broken continuous wheel delta values. * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView scrollWheel:]): 2010-06-09 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r60889. http://trac.webkit.org/changeset/60889 https://bugs.webkit.org/show_bug.cgi?id=40365 gtk bot has some kind of memory corruption (Requested by loislo on #webkit). * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::WebInspectorClient): (WebInspectorClient::openInspectorFrontend): (-[WebInspectorWindowController destroyInspectorView]): 2010-06-07 Ilya Tikhonovsky <loislo@chromium.org> Reviewed by Pavel Feldman. WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc data from inspected page to WebInspector as JSON string via http. The native serialization to JSON string is supported by InspectorValue's classes. This patch has the implementation of sendMessageToFrontend function. WebKit version of it still uses ScriptFunctionCall and will be switched to another transport a little bit later. https://bugs.webkit.org/show_bug.cgi?id=40134 * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::WebInspectorClient): (WebInspectorClient::openInspectorFrontend): 2010-06-08 Mark Rowe <mrowe@apple.com> Reviewed by Adele Peterson. <rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK * WebCoreSupport/WebContextMenuClient.mm: (fixMenusReceivedFromOldClients): Fix up the tag on the Inspect Element menu item. This ensures that even if the context menu layout doesn't match our expectations that the menu item will continue to trigger the web inspector. 2010-06-08 Antonio Gomes <tonikitoo@webkit.org> Reviewed by Ojan Vafai and Darin Adler. Refactor platform dependent editing behavior code out of Settings https://bugs.webkit.org/show_bug.cgi?id=39854 EditingBehavior enum was renamed to EditingBehaviorTypes and moved out from Settings.h to EditingBehaviorTypes.h . Call sites in WebKit/ adjusted accordingly. * WebView/WebFrame.mm: (core): * WebView/WebFrameInternal.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-06-06 MORITA Hajime <morrita@google.com> Unreviewd, follow up to r60820 https://bugs.webkit.org/show_bug.cgi?id=40219 [Mac] ENABLE_METER_TAG should be enabled Added ENABLE_METER_TAG. * Configurations/FeatureDefines.xcconfig: 2010-06-06 Gavin Barraclough <barraclough@apple.com> Reviewed by Sam Weinig. Bug 40214 - Clean up error construction / throwing in JSC. The one egregious insanity here is that creating an error requires a VM-entry-esqe-host call (the string argument is wrapped as a JS object & pushed on the RegisterFile, then unwrapped back to a UString). Changing this also means you only require a global object, not an ExecState, to create an error. The methods to create error objects are also parameterized requiring a switch on the type, which can be made cleaner and faster by moving to a separate method per error type. Code to add divot information to error had been duplicated, and is coalesced back into a single function. Convenience methods added to create & throw type & syntax error with a default error message, since this is a common case. Also, errors are currently thrown either using "throwError(exec, error)" or "exec->setException(error)" - unify on the former, since this is more commonly used. Add "throwVMError(exec, error)" equivalents, as a convenience for cases where the result was being wrapped in "JSValue::encode(...)". * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invokeMethod): 2010-06-02 Gavin Barraclough <barraclough@apple.com> Reviewed by Oliver Hunt. Bug 40094 - The return type of NativeFunction should be EncodedJSValue On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not. * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invoke): 2010-06-02 Sterling Swigart <sswigart@google.com> Reviewed by David Levin. Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches. https://bugs.webkit.org/show_bug.cgi?id=39906 * Configurations/FeatureDefines.xcconfig: 2010-06-01 David Hyatt <hyatt@apple.com> Reviewed by Anders Carlsson. Add a preference for paginating during layout (the new model for computing page breaks). * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (-[WebPreferences paginateDuringLayoutEnabled]): (-[WebPreferences setPaginateDuringLayoutEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-06-01 Kevin Decker <kdecker@apple.com> Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=40025 <rdar://problem/8046273> All Flash content crashes after installing CS5 Design Premium. * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView supportsSnapshotting]): Do not support snapshotting Flash 10.1 if the version is less than 10.1.53.60. 2010-06-01 Alexey Proskuryakov <ap@apple.com> Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=39434 REGRESSION (r59811): Geolocation callbacks cannot be created Removing unused WebGeolocationMock. * WebCoreSupport/WebGeolocationMock.mm: Removed. * WebCoreSupport/WebGeolocationMockPrivate.h: Removed. * WebKit.exp: 2010-05-30 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. Make more HTML DOM members private, especially constructors, third and final batch https://bugs.webkit.org/show_bug.cgi?id=39916 * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation elementWithName:inForm:]): Use the new HTMLFormElement function, associatedElements, rather than getting directly at a data member named formElements. (-[WebHTMLRepresentation controlsInForm:]): Ditto. 2010-05-28 Geoffrey Garen <ggaren@apple.com> Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt. Simplified the host calling convention. PART ONE: Functional code changes. [ None in WebKit ] PART TWO: Global search and replace. In the areas below, I used global search-and-replace to change (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*) args.size() => exec->argumentCount() args.at(i) => exec->argument(i) * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invoke): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): 2010-05-27 Beth Dakin <bdakin@apple.com> Reviewed by Simon Fraser. Change z-component to 1. * WebView/WebHTMLView.mm: (-[WebHTMLView viewDidMoveToWindow]): (-[WebHTMLView attachRootLayer:]): 2010-05-26 Simon Fraser <simon.fraser@apple.com> Reviewed by Beth Dakin and Darin Adler. Fix for <rdar://problem/7464703> HiDPI: [Layers] Compositing layers do not scale properly when running with a resolution independent scale Apply the userSpaceScaleFactor as a scale on the layerHostingView. * WebView/WebHTMLView.mm: (-[WebHTMLView viewDidMoveToWindow]): (-[WebHTMLView attachRootLayer:]): 2010-05-25 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=39621 <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test Removed formStateDidChange support, which is not needed by any client. * WebCoreSupport/WebChromeClient.h: (WebChromeClient::formStateDidChange): * WebCoreSupport/WebChromeClient.mm: * WebView/WebUIDelegatePrivate.h: 2010-05-25 Brady Eidson <beidson@apple.com> Reviewed by Darin Adler. Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms) <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486 * Storage/WebDatabaseManager.mm: (WebKitInitializeDatabasesIfNecessary): Call initializeTracker() instead of trying to set the path on an already created tracker that already has its origins populated. 2010-05-24 Darin Adler <darin@apple.com> Reviewed by Eric Seidel. Move view-related functions from Frame to FrameView https://bugs.webkit.org/show_bug.cgi?id=39366 * WebView/WebView.mm: (-[WebView _setZoomMultiplier:isTextOnly:]): Call function on FrameView. (-[WebView setEditable:]): Get rid of call to empty function, removeEditingStyleFromBodyElement. 2010-05-21 David Hyatt <hyatt@apple.com> Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=39420 Make sure everyone who needs to is using visitedDependentColor rather than accessing styles directly. * Misc/WebNSAttributedStringExtras.mm: (+[NSAttributedString _web_attributedStringFromRange:]): * WebView/WebFrame.mm: (-[WebFrame _bodyBackgroundColor]): 2010-05-21 Oliver Hunt <oliver@apple.com> Reviewed by Geoffrey Garen. All callable objects should have a global object reference https://bugs.webkit.org/show_bug.cgi?id=39495 Update the plugin proxy to handle the need for global object. * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod): (WebKit::ProxyInstance::getMethod): * Plugins/Hosted/ProxyRuntimeObject.h: * Plugins/Hosted/ProxyRuntimeObject.mm: (WebKit::ProxyRuntimeObject::ProxyRuntimeObject): 2010-05-21 Steve Block <steveblock@google.com> Reviewed by Jeremy Orlow. Add DeviceOrientation and DeviceOrientationClient https://bugs.webkit.org/show_bug.cgi?id=39479 * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): 2010-05-20 Mike Thole <mthole@apple.com> Reviewed by Dave Hyatt. When using a scale factor > 1, scrollbars sometimes appear when not necessary https://bugs.webkit.org/show_bug.cgi?id=39458 * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView updateScrollers]): Round up non-integral sizes from AppKit so that they can be compared against the integral document size. 2010-05-20 Kevin Decker <kdecker@apple.com> Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=39441 <rdar://problem/7985715> Flash context menu is both horizontally and vertically offset from point of click <rdar://problem/7986109> Youtube video controller UI entirely missing <rdar://problem/7986154> Flash content paints at horizontally and vertically shifted locations (within the plug-in region) * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView updateAndSetWindow]): The base coordinates of a window and it's contentView happen to be the equal at a userSpaceScaleFactor of 1. For non-1.0 scale factors this assumption is false. Accordingly we now convert to the window contentView coordinate system when computing bounds in "window" and the visible rect. * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): Ditto. 2010-05-20 Steve Block <steveblock@google.com> Reviewed by Jeremy Orlow. Provide bindings for DeviceOrientation https://bugs.webkit.org/show_bug.cgi?id=39210 Adds ENABLE_DEVICE_ORIENTATION to XCode project file, always disabled. * Configurations/FeatureDefines.xcconfig: 2010-05-20 Martin Robinson <mrobinson@webkit.org> Reviewed by Ojan Vafai. Expose the editing behavior setting in DRT to test all editing code paths https://bugs.webkit.org/show_bug.cgi?id=38603 * WebView/WebFrame.mm: (core): * WebView/WebFrameInternal.h: Added a conversion method from the API enum to the WebCore enum. * WebView/WebPreferenceKeysPrivate.h: Added a preference key for the new setting. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Initialize the EditingBehavior to Mac style. (-[WebPreferences editingBehavior]): Added. (-[WebPreferences setEditingBehavior:]): Added. * WebView/WebPreferencesPrivate.h: Added the new API points to the private API. * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Set the editing behavior via the WebPreferences setting. 2010-05-19 Anders Carlsson <andersca@apple.com> Reviewed by Kevin Decker and Simon Fraser. <rdar://problem/8004528> REGRESSION: Coordinate system for Core Animation NPAPI plug-ins is flipped with accelerated compositing turned on When needed, create a new CALayer and set it's geometry to be flipped. Add the plug-in layer as a sublayer and then return the newly created layer. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView createPlugin]): 2010-05-18 Tony Chang <tony@chromium.org> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=24943 Command-B and Command-I do not generate keydown events in contentEditable regions. Manual test because performKeyEquivalent is not called by DRT. Test: manual-tests/style-keypress-events.html * WebView/WebHTMLView.mm: (-[WebHTMLView performKeyEquivalent:]): Move style key handling until after webcore gets a chance to handle the event 2010-05-18 Daniel Cheng <dcheng@chromium.org> Reviewed by Darin Adler, Jian Li. DragData::asURL() shouldn't do file validity checks https://bugs.webkit.org/show_bug.cgi?id=38711 Change [NSPasteboard _web_bestURL] to still return a file URL for paths that don't exist. Callers who care about the existence of the file or whether or not it is a directory should check themselves when they want to use the file. The directory check has been left in for now, since the Mac implementation of ResourceHandle, which uses this function indirectly via DragController::performDrag) handles directories somewhat non-intuitively: it opens the parent directory in the Finder, rather than opening the directory itself. * Misc/WebNSPasteboardExtras.mm: (-[NSPasteboard _web_bestURL]): 2010-05-18 Eric Seidel <eric@webkit.org> Reviewed by Adam Barth (and Maciej Stachowiak). Make it possible to enable the new HTML5Tokenizer for testing https://bugs.webkit.org/show_bug.cgi?id=39275 Expose the WebCore::Settings::html5ParserEnabled as a private WebKit setting. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (-[WebPreferences html5ParserEnabled]): (-[WebPreferences setHTML5ParserEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-05-17 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r59652. http://trac.webkit.org/changeset/59652 https://bugs.webkit.org/show_bug.cgi?id=39268 file-input-files-access test is broken on Mac (Requested by dcheng on #webkit). * Misc/WebNSPasteboardExtras.mm: (-[NSPasteboard _web_bestURL]): 2010-05-17 Daniel Cheng <dcheng@chromium.org> Reviewed by Darin Adler. DragData::asURL() shouldn't do file validity checks https://bugs.webkit.org/show_bug.cgi?id=38711 Change [NSPasteboard _web_bestURL] to still return a file URL for paths that don't exist. Callers who care about the existence of the file or whether or not it is a directory should check themselves when they want to use the file. The directory check has been left in for now, since the Mac implementation of ResourceHandle, which uses this function indirectly via DragController::performDrag) handles directories somewhat non-intuitively: it opens the parent directory in the Finder, rather than opening the directory itself. * Misc/WebNSPasteboardExtras.mm: (-[NSPasteboard _web_bestURL]): 2010-05-14 Stephanie Lewis <slewis@apple.com> Rubber-stamped by Mark Rowe. Update order files. * WebKit.order: 2010-05-13 Timothy Hatcher <timothy@apple.com> Allow reporting exceptions that occur when using JavaScriptCore APIs to the Web Inspector. <rdar://problem/7975410> Reviewed by Sam Weinig. * WebView/WebView.mm: (+[WebView _reportException:inContext:]): Call WebCore::reportException after checking that the global object is a DOMWindow. * WebView/WebViewPrivate.h: Added _reportException:inContext:. 2010-05-13 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=39089 <rdar://problem/7974044> Domain names in Russian '.рф' domain are displayed as punycode Add a custom check for this domain. Currently, this is the only non-ASCII TLD, we'll investigate a more extensible solution when there are more, and we know what the typical restictions are. * Misc/WebNSURLExtras.mm: (allCharactersAllowedByTLDRules): (-[NSString _web_mapHostNameWithRange:encode:makeString:]): 2010-05-12 Simon Fraser <simon.fraser@apple.com> Reviewed by David Hyatt. Composited plug-ins can cause missed painting https://bugs.webkit.org/show_bug.cgi?id=39033 <rdar://problem/7972478> Eagerly enable compositing mode via the enclosing FrameView when the plug-in tells us it wants to do compositing. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView createPlugin]): 2010-05-12 Jer Noble <jer.noble@apple.com> Reviewed by Darin Adler. Bug 38689: #34005 will break fullscreen video playback https://bugs.webkit.org/show_bug.cgi?id=38689 Use the new definition of PlatformMedia to check the actual type returned by MediaPlayer. * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidLoad]): 2010-05-11 Mark Rowe <mrowe@apple.com> Fix the world. In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER. The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong function in WebCore being called. We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change has been reverted. * Configurations/FeatureDefines.xcconfig: 2010-05-10 Simon Fraser <simon.fraser@apple.com> Reviewed by Anders Carlsson. Allow compositing layers to be connected across iframe boundaries on Mac https://bugs.webkit.org/show_bug.cgi?id=38856 When painting an iframe into a compositing layer, the "PaintBehaviorFlattenCompositingLayers" flag was mistakenly set, because we'd detect that we were drawing into a bitmap. This caused content to show up in both compositing layers, and the painted background inside the iframe. Fix by taking the flattening state from the parent frame, if there is one. For the root frame, we continue to look to see if we're painting into a bitmap. * WebView/WebFrame.mm: (-[WebFrame _drawRect:contentsOnly:]): 2010-05-10 Timothy Hatcher <timothy@apple.com> Fix a crash when closing a WebView while the Web Inspector is open. <rdar://problem/7966830> Reviewed by Mark Rowe. * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController destroyInspectorView]): Null check Page since it can be null. * WebView/WebView.mm: (-[WebView _close]): Null out _private->page before deleting the page, so code called during destruction don't access a half deleted Page object. 2010-05-10 Anders Carlsson <andersca@apple.com> Unbreak the world. (Fix Mac builds). * Plugins/Hosted/WebKitPluginHostTypes.h: 2010-05-10 Anders Carlsson <andersca@apple.com> Reviewed by Simon Fraser. Change the order of the RendererType enum values, so that old versions of WebKitPluginHost will use accelerated compositing and not layer backed views. * Plugins/Hosted/WebKitPluginHostTypes.h: 2010-05-07 Anders Carlsson <andersca@apple.com> Reviewed by Sam Weinig and Simon Fraser. <rdar://problem/7947356> QT Plug-in in hardware-accelerated WebKit is missing the controller Replace the useSoftwareRenderer boolean with an enum that lets the plug-in host opt into using a layer backed NSView instead of inserting the layer into the WebCore layer hierarchy. * Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin): * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCInstantiatePluginReply): * Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::rendererType): (WebKit::NetscapePluginInstanceProxy::setRendererType): (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply): * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Replace the useSoftwareRenderer boolean everywhere with the RendererType enum. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): Only go into full compositing mode when the renderer type returned is UseAcceleratedCompositing. Otherwise, use a layer backed NSView. * Plugins/Hosted/WebKitPluginHostTypes.h: Add a RendererType enum. 2010-05-06 Anders Carlsson <andersca@apple.com> Reviewed by Darin Adler and Dan Bernstein.. REGRESSION (r51617): when plugins are disabled, plugins show up as garbage characters https://bugs.webkit.org/show_bug.cgi?id=38698 <rdar://problem/7942075> When the plug-in database is initialized, we will register all the MIME types it supports with the global WebView dictionary. When plug-ins are disabled for a single web view, the MIME types still need to be in the global mapping (because other web views might still have plug-ins enabled). Prior to r51617 we would always look at the plug-in database to determine that the MIME type belongs to a plug-in, but now we won't even touch the plug-in database when plug-ins are disabled. In order to fix this, a new set of registered MIME types that are known to be plug-ins is added. When +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:] is called and allowingPlugins is FALSE we check if the MIME type is a known plug-in MIME type and return false in that case. * Plugins/WebPluginDatabase.mm: (-[WebPluginDatabase refresh]): (-[WebPluginDatabase _removePlugin:]): * WebView/WebView.mm: (knownPluginMIMETypes): (+[WebView _registerPluginMIMEType:]): (+[WebView _unregisterPluginMIMEType:]): (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]): * WebView/WebViewInternal.h: 2010-05-06 Dan Bernstein <mitz@apple.com> Reviewed by Simon Fraser. <rdar://problem/7951285> REGRESSION (r58847): Composited iframe content obscures Safari's application chrome Fixed this other regression from r58847. The regression was caused by overriding -visibleRect to return the WebClipView’s full bounds. AppKit uses -visibleRect to determine the geometry of the surface for the child WebFrameView. The fix is to restrict the special behavior of -[WebClipView visibleRect] to when AppKit is consulting it for the purpose of invalidating areas while scrolling. * WebView/WebClipView.h: * WebView/WebClipView.mm: (-[WebClipView visibleRect]): If the WebClipView is not scrolling, always return [super visibleRect]. (-[WebClipView _immediateScrollToPoint:]): Override this internal NSClipView method to set a flag telling -visibleRect that the view is scrolling. * WebView/WebView.mm: (layerSyncRunLoopObserverCallBack): Ensure that screen updates, disabled by AppKit when it thinks an upcoming window flush will re-enable them, are enabled here in case the -setNeedsDisplayInRect: override has prevented the window from needing to be flushed. 2010-05-06 Steve Block <steveblock@google.com> Reviewed by Eric Seidel. MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE https://bugs.webkit.org/show_bug.cgi?id=38544 * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: 2010-05-05 Dan Bernstein <mitz@apple.com> Reviewed by Mark Rowe. Fixed a crash when closing Top Sites after r58847. * WebView/WebFrameView.mm: (-[WebFrameView webFrame]): Null-check _private. 2010-05-05 Dan Bernstein <mitz@apple.com> Rubber-stamped by Mark Rowe. Fixed test crashes after r58847. * WebView/WebHTMLView.mm: (setNeedsDisplayInRect): Null-check the frame. 2010-05-05 Dan Bernstein <mitz@apple.com> Reviewed by Simon Fraser. <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1) https://bugs.webkit.org/show_bug.cgi?id=38427 * WebView/WebClipView.m: Renamed to WebClipView.mm. * WebView/WebClipView.mm: (-[WebClipView visibleRect]): Added this override, which for instances used for WebFrameViews in composited layers, returns the clip view’s entire bounds. This prevents drawing from being clipped to AppKit’s idea of what part of the view would be visible if it was drawn as part of the view hierarchy. Since it is drawn into a compositing layer, that’s irrelevant, and we should not be clipping. * WebView/WebHTMLView.mm: (setCursor): Style tweak. (setNeedsDisplayInRect): Added. Replaces the default implementation of -[NSView setNeedsDisplayInRect:], so that if the receiver is a descendant of a WebFrameView that draws into a composited layer, the invalidation is routed back through the WebCore FrameView, which propagates it to the layer. (+[WebHTMLViewPrivate initialize]): Swizzle the setNeedsDisplayInRect: override in. (-[WebHTMLView visibleRect]): Removed whitespace. * WebView/WebView.mm: (layerSyncRunLoopObserverCallBack): If we bailed out on syncing, due to pending layout, do an eager layout in preparation for the displaying of compositing layers. 2010-05-05 John Sullivan <sullivan@apple.com> <rdar://problem/7942606> Output appears in Console when exiting Safari with multiple windows opened Reviewed by Mark Rowe. * WebView/WebView.mm: (+[WebView closeAllWebViews]): Make copy of allWebViewsSet to avoid mutating it while iterating through it. 2010-05-04 Simon Fraser <simon.fraser@apple.com> Reviewed by Dan Bernstein. Improve check for drawing into the window that was added in r58623 https://bugs.webkit.org/show_bug.cgi?id=38562 Rather than assuming that any non-bitmap context is the window's context, compare the current graphics context with -[NSWindow graphicsContext] to determine that we're drawing into the window. * WebView/WebHTMLView.mm: (-[WebHTMLView drawRect:]): 2010-05-04 Ada Chan <adachan@apple.com> Reviewed by David Kilzer. https://bugs.webkit.org/show_bug.cgi?id=38555 Small code refactoring: move the logic to figure out the path to the databases directory to another method. * Storage/WebDatabaseManager.mm: (databasesDirectoryPath): (WebKitInitializeDatabasesIfNecessary): 2010-05-04 Beth Dakin <bdakin@apple.com> Reviewed by Mike Thole. Fix for <rdar://problem/7818509> Crash occurs when exiting Safari We can avoid this crash if we call [self _removeFromAllWebViewsSet] even in the case when we are doing a fastDocumentTeardown. This is a much safer approach. * WebView/WebView.mm: (-[WebView _close]): 2010-05-03 Abhishek Arya <inferno@chromium.org> Reviewed by Adam Barth. Add support for controlling clipboard access from javascript. Clipboard access from javascript is disabled by default. https://bugs.webkit.org/show_bug.cgi?id=27751 * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences javaScriptCanAccessClipboard]): (-[WebPreferences setJavaScriptCanAccessClipboard:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-05-03 Jens Alfke <snej@chromium.org> Reviewed by Darin Fisher. [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient https://bugs.webkit.org/show_bug.cgi?id=38397 No tests (functionality is exposed only through native WebKit API.) * WebCoreSupport/WebFrameLoaderClient.h: (WebFrameLoaderClient::dispatchWillSendSubmitEvent): 2010-04-30 Simon Fraser <simon.fraser@apple.com> Reviewed by Dan Bernstein. <rdar://problem/7477071> REGRESSION: Bad flicker when wheel-scrolling Google Maps, iPad gallery and other sites Sites that frequently toggle content in and out of compositing layers (like http://www.tumblr.com/boothed) can cause flickering because of unsychronized compositing layer and view-based updates. There were two underlying issues: 1. On SnowLeopard, AppKit can throttle window updates, thus breaking an assumption that NSView drawing will happen on the runloop cycle after a repaint. This provided a window for the layerSyncRunLoopObserver to fire and commit layer changes too early. Fix this by having the layerSyncRunLoopObserver in WebView check to see if a display is pending, and not commit layer changes in that case. We'll commit layer changes later when we finally draw. 2. The change in r49269 was wrong; it was attempting to fix an issue that was actually caused by -drawRects: coming in for page snapshots. The correct approach is to avoid hitting the synchronization and update disabling code in WebHTMLView for draws that are not to the screen. * WebView/WebHTMLView.mm: (-[WebHTMLView drawRect:]): * WebView/WebView.mm: (layerSyncRunLoopObserverCallBack): (-[WebView _scheduleCompositingLayerSync]): 2010-04-30 Anders Carlsson <andersca@apple.com> Part of the previous part (forgot to save). * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView stopTimers]): (-[WebNetscapePluginView startTimers]): (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]): (-[WebNetscapePluginView _containerCheckResult:contextInfo:]): (-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]): (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]): (-[WebNetscapePluginView unscheduleTimer:]): (-[WebNetscapePluginView getVariable:forURL:value:length:]): (-[WebNetscapePluginView setVariable:forURL:value:length:]): 2010-04-30 Anders Carlsson <andersca@apple.com> Reviewed by Darin Adler. Use C99 integer types in more places. * Plugins/WebNetscapePluginView.mm: (getNPRect): 2010-04-30 Anders Carlsson <andersca@apple.com> Fix Tiger build. * Plugins/WebBaseNetscapePluginStream.h: * Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::startStream): 2010-04-30 Anders Carlsson <andersca@apple.com> Another 32-bit build fix. * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): 2010-04-30 Anders Carlsson <andersca@apple.com> Fix 32-bit build (again). * Plugins/WebNetscapeContainerCheckContextInfo.h: * Plugins/WebNetscapeContainerCheckContextInfo.mm: (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]): (-[WebNetscapeContainerCheckContextInfo checkRequestID]): (-[WebNetscapeContainerCheckContextInfo callback]): * Plugins/WebNetscapePluginPackage.h: 2010-04-30 Anders Carlsson <andersca@apple.com> Fix 32-bit build. * Plugins/WebNetscapeContainerCheckContextInfo.h: * Plugins/WebNetscapeContainerCheckContextInfo.mm: (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]): * Plugins/WebNetscapeContainerCheckPrivate.h: * Plugins/WebNetscapePluginPackage.mm: (functionPointerForTVector): * Plugins/WebNetscapePluginView.mm: (PluginTimer::PluginTimer): (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]): (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]): 2010-04-30 Anders Carlsson <andersca@apple.com> Reviewed by Timothy Hatcher. Next step towards fixing https://bugs.webkit.org/show_bug.cgi?id=20784 move npapi.h to C99 integer types Use the C99 types everywhere. The "old" types are still around but will be removed in a subsequent commit. * Plugins/WebBaseNetscapePluginStream.h: * Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::deliverData): * Plugins/WebNetscapePluginView.h: * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]): * Plugins/npapi.mm: (NPN_MemAlloc): (NPN_MemFlush): (NPN_PostURLNotify): (NPN_PostURL): (NPN_Write): (NPN_ScheduleTimer): (NPN_UnscheduleTimer): (NPN_GetValueForURL): (NPN_SetValueForURL): (NPN_GetAuthenticationInfo): (WKN_CheckIfAllowedToLoadURL): (WKN_CancelCheckIfAllowedToLoadURL): 2010-04-29 Anders Carlsson <andersca@apple.com> Reviewed by Dan Bernstein. First part of https://bugs.webkit.org/show_bug.cgi?id=20784 move npapi.h to C99 integer types. * MigrateHeaders.make: 2010-04-28 Mike Thole <mthole@apple.com> Reviewed by David Kilzer. Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space can be inspected before attempting to authenticate against it https://bugs.webkit.org/show_bug.cgi?id=38271 * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace): Added. If the resource load delegate implements the callback, use its answer. If it does not, then only send authentication challenges for pre-10.6 protection spaces, which matches CFNetwork's default behavior. * WebView/WebDelegateImplementationCaching.h: * WebView/WebDelegateImplementationCaching.mm: (CallResourceLoadDelegateReturningBoolean): Added case for passing three objects. * WebView/WebResourceLoadDelegatePrivate.h: Added private SPI definition: webView:resource:canAuthenticateAgainstProtectionSpace:forDataSource: * WebView/WebView.mm: (-[WebView _cacheResourceLoadDelegateImplementations]): 2010-04-28 Simon Fraser <simon.fraser@apple.com> Reviewed by Sam Weinig. <rdar://problem/7918719> ASSERT(isMainThread()) from Font::setShouldUseSmoothing() Ensure that the WebView +initialize method initializes threading, so that things are correctly initialized when the first call into the WebKit framework is via a WebView class method. * WebView/WebView.mm: (+[WebView initialize]): 2010-04-28 Darin Adler <darin@apple.com> Reviewed by Adele Peterson. REGRESSION: Autoscroll does not work in Mail messages https://bugs.webkit.org/show_bug.cgi?id=38267 rdar://problem/7559799 The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another view had gotten broken in multiple ways. For some reason, a combination of bugs made it partly work until around r48064. This brings it back. * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::scrollRectIntoView): When converting coordinates, use the document view rather than the WebView itself. This logic may not be correct for the case where usesDocumentViews is NO, but that is currently an experimental mode and can be fixed later. 2010-04-27 Shinichiro Hamaji <hamaji@chromium.org> Reviewed by Darin Adler and Eric Seidel. Add layoutTestController.setPrinting() https://bugs.webkit.org/show_bug.cgi?id=37203 * Misc/WebCoreStatistics.h: * Misc/WebCoreStatistics.mm: (-[WebFrame renderTreeAsExternalRepresentationForPrinting:]): 2010-04-25 Sam Weinig <sam@webkit.org> Reviewed by Maciej Stachowiak. Fix for https://bugs.webkit.org/show_bug.cgi?id=38097 Disentangle initializing the main thread from initializing threading Calls initializeMainThreadToProcessMainThread since there is no way to ensure that the initialize method will be called on the main thread. * Carbon/CarbonWindowAdapter.mm: (+[CarbonWindowAdapter initialize]): Add call to initializeMainThreadToProcessMainThread. * History/WebBackForwardList.mm: (+[WebBackForwardList initialize]): Ditto. * History/WebHistoryItem.mm: (+[WebHistoryItem initialize]): Ditto. * Misc/WebElementDictionary.mm: (+[WebElementDictionary initialize]): Ditto. * Misc/WebIconDatabase.mm: (+[WebIconDatabase initialize]): Ditto. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (+[WebHostedNetscapePluginView initialize]): Ditto. * Plugins/WebBaseNetscapePluginView.mm: (+[WebBaseNetscapePluginView initialize]): Ditto. * Plugins/WebBasePluginPackage.mm: (+[WebBasePluginPackage initialize]): Ditto. * Plugins/WebNetscapePluginView.mm: (+[WebNetscapePluginView initialize]): Ditto. * WebCoreSupport/WebEditorClient.mm: (+[WebEditCommand initialize]): Ditto. * WebCoreSupport/WebFrameLoaderClient.mm: (+[WebFramePolicyListener initialize]): Ditto. * WebView/WebArchive.mm: (+[WebArchivePrivate initialize]): Ditto. * WebView/WebDataSource.mm: (+[WebDataSourcePrivate initialize]): Ditto. * WebView/WebHTMLView.mm: (+[WebHTMLViewPrivate initialize]): Ditto. (+[WebHTMLView initialize]): Ditto. * WebView/WebResource.mm: (+[WebResourcePrivate initialize]): Ditto. * WebView/WebTextIterator.mm: (+[WebTextIteratorPrivate initialize]): Ditto. * WebView/WebView.mm: * WebView/WebViewData.mm: Ditto. (+[WebViewPrivate initialize]): Ditto. 2010-04-24 Dan Bernstein <mitz@apple.com> Reviewed by Darin Adler. <rdar://problem/7903728> REGRESSION (r51617): WebView fails to load plug-in MIME types https://bugs.webkit.org/show_bug.cgi?id=38085 WebView was calling -_webView in a few places where it should have just used itself. It never makes sense for WebView to call -_webView on itself, and these calls look like they were copied from similar code in WebHTMLView, WebFrameView and WebDataSource, where -_webView has a different, useful meaning. * WebView/WebView.mm: (-[WebView drawSingleRect:]): Replaced [self _webView] with self. (-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Replaced [[self _webView] preferences] with _private->preferences. (-[WebView _canShowMIMEType:]): Ditto. 2010-04-23 Simon Fraser <simon.fraser@apple.com> Reviewed by Anders Carlsson. <rdar://problem/7894489> When printing Flash, send a drawRect event, rather than NPPrint When printing Flash plug-ins in 32-bit, send a drawRect event with a CGContextRef, rather than calling NPPrint with a GWorldPtr, since Flash prefers the CGContext path. * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView drawRect:]): 2010-04-22 David Kilzer <ddkilzer@apple.com> <http://webkit.org/b/38029> +[WebTextIteratorPrivate initialize] is missing call to JSC::initializeThreading() Reviewed by Timothy Hatcher. Every other Objective-C class that calls WebCoreObjCFinalizeOnMainThread(self) in +initialize also calls JSC::initializeThreading(). The WebTextIteratorPrivate class was the only one missing this call. * WebView/WebTextIterator.mm: (+[WebTextIteratorPrivate initialize]): Added call to JSC::initializeThreading(). 2010-04-22 Alexey Proskuryakov <ap@apple.com> Rubber-stamped by Mark Rowe. <rdar://problem/7805969> REGRESSION: iTunes unable to play trailers Undo the changes made for https://bugs.webkit.org/show_bug.cgi?id=35215 (<rdar://problem/7673157>) for now. Clients rely on the old behavior, so a fix that changes it will need to account for those. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Pass pluginURL instead of baseURL again. 2010-04-22 Dave Moore <davemoore@chromium.org> Reviewed by Dimitri Glazkov. Added notification when the favicons for a page are changed from a script. The Document object will notify the frame loader, which will notify the client. Implementations of FrameLoaderClient will have to add one method; dispatchDidChangeIcons(). https://bugs.webkit.org/show_bug.cgi?id=33812 * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchDidChangeIcons): 2010-04-22 Adam Barth <abarth@webkit.org> Unreviewed, rolling out r58069. http://trac.webkit.org/changeset/58069 https://bugs.webkit.org/show_bug.cgi?id=27751 Broke compile on Windows. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-04-22 Abhishek Arya <inferno@chromium.org> Reviewed by Adam Barth. Add support for controlling clipboard access from javascript. Clipboard access from javascript is disabled by default. https://bugs.webkit.org/show_bug.cgi?id=27751 * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences javaScriptCanAccessClipboard]): (-[WebPreferences setJavaScriptCanAccessClipboard:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-04-21 Alexey Proskuryakov <ap@apple.com> Reviewed by Shinichiro Hamaji. https://bugs.webkit.org/show_bug.cgi?id=37964 Fix a typo in comments - Korean encoding name is windows-949, not windows-939 * WebView/WebPreferences.mm: (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): 2010-04-21 Mark Rowe <mrowe@apple.com> Tiger build fix. * Plugins/WebPluginController.mm: Add an #import that is necessary on Tiger. 2010-04-21 Mark Rowe <mrowe@apple.com> Reviewed by Eric Carlson. <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:] Existing versions of the Flip4Mac WebKit plug-in have an object lifetime bug related to an NSAlert that is used to notify the user about updates to the plug-in. This bug can result in Safari crashing if the page containing the plug-in navigates while the alert is displayed (<rdar://problem/7313430>). The gist of the bug is thus: Flip4Mac sets an instance of the TSUpdateCheck class as the modal delegate of the NSAlert instance. This TSUpdateCheck instance itself has a delegate. The delegate is set to the WmvPlugin instance which is the NSView subclass that is exposed to WebKit as the plug-in view. Since this relationship is that of delegates the TSUpdateCheck does not retain the WmvPlugin. This leads to a bug if the WmvPlugin instance is destroyed before the TSUpdateCheck instance as the TSUpdateCheck instance will be left with a pointer to a stale object. This will happen if a page containing the Flip4Mac plug-in triggers a navigation while the update sheet is visible as the WmvPlugin instance is removed from the view hierarchy and there are no other references to keep the object alive. We work around this bug by patching the following two messages: 1) -[NSAlert beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:] 2) -[TSUpdateCheck alertDidEnd:returnCode:contextInfo:] Our override of 1) detects whether it is Flip4Mac's update sheet triggering the alert by checking whether the modal delegate is an instance of TSUpdateCheck. If it is, it retains the modal delegate's delegate. Our override of 2) then autoreleases the delegate, balancing the retain we added in 1). These two overrides have the effect of ensuring that the WmvPlugin instance will always outlive the TSUpdateCheck instance, preventing the TSUpdateCheck instance from accessing a stale delegate pointer and crashing the application. * Plugins/WebPluginController.mm: (-[WebPluginController addPlugin:]): Check whether the plug-in being instantiated is the Flip4Mac plug-in and install our workaround if it is. (isKindOfClass): Helper function that checks whether the given object is an instance of the named class. (WebKit_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_): Autorelease the delegate. (WebKit_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_): Retain the modal delegate's delegate if this NSAlert belongs to the Flip4Mac plug-in. (installFlip4MacPlugInWorkaroundIfNecessary): Swizzle the necessary methods. We swizzle the TSUpdateCheck methods first since it is possible that in some versions of Flip4Mac the TSUpdateCheck class may not exist or may not have the method we're interested in. In that case we want to bail out before patching any methods. 2010-04-20 Mark Rowe <mrowe@apple.com> Reviewed by Maciej Stachowiak. <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog An interaction between the plug-in host and WebKit was resulting in WKPCSetModal being called while NetscapePluginInstanceProxy was waiting on a reply to the GetScriptableNPObject message. This resulted in calls to stop the plug-in being deferred due to the presence of plug-in code up the stack. This could lead to crashes as it was possible for the plug-in view to be deallocated during the modal runloop. * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCInvalidateRect): (WKPCSetModal): Defer the handling of setModal until the next runloop iteration if the host proxy is already processing requests. This ensures that there will be no plug-in code on the stack when the modal runloop is entered, which allows the plug-in to be stopped when the page is navigated while a modal dialog is displayed. 2010-04-20 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Factor DocumentWriter out of FrameLoader https://bugs.webkit.org/show_bug.cgi?id=37175 Update these callsites because the method moved to DocumentWriter. * WebView/WebFrame.mm: (-[WebFrame _canProvideDocumentSource]): (-[WebFrame _receivedData:textEncodingName:]): 2010-04-20 Kent Tamura <tkent@chromium.org> Reviewed by Darin Adler. Change a parameter type of chooseIconForFiles() https://bugs.webkit.org/show_bug.cgi?id=37504 * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::chooseIconForFiles): 2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r57892. http://trac.webkit.org/changeset/57892 https://bugs.webkit.org/show_bug.cgi?id=37864 Caused an assertion in Mac builds (Requested by smfr on #webkit). * WebView/WebFrame.mm: (-[WebFrame _getVisibleRect:]): * WebView/WebFrameView.mm: (-[WebFrameView _install]): 2010-04-20 Simon Fraser <simon.fraser@apple.com> Reviewed by Dan Bernstein. Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject https://bugs.webkit.org/show_bug.cgi?id=37741 Make Frame::ownerRenderer() return a RenderFrameBase* rather than a RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase(). * WebView/WebFrame.mm: (-[WebFrame _getVisibleRect:]): * WebView/WebFrameView.mm: (-[WebFrameView _install]): 2010-04-19 Dan Bernstein <mitz@apple.com> Reviewed by Sam Weinig. Finish exposing extremal shrink factors WebHTMLView uses when shrinking pages to fit in the printing width as SPI. * WebKit.exp: Export _WebHTMLViewPrintingMinimumShrinkFactor and _WebHTMLViewPrintingMaximumShrinkFactor. 2010-04-15 Gavin Barraclough <barraclough@apple.com> Reviewed by Sam Weinig & Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=37675 Remove casts/constructors to/from JSC::UString type from WebCore::String WebCore's strings should not know about JSC::UString, this should be abstracted away in the bindings. Add explicit conversion methods rather than relying on overloaded cast operators / constructors being implicitly called. This patch only changes the class String, once this has landed StringImpl, and hopefully AtomicString too, should follow suit. * Plugins/Hosted/NetscapePluginHostProxy.mm: (identifierFromIdentifierRep): * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::getPropertyNames): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): * WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame evaluateWebScript:]): * WebView/WebScriptDebugger.mm: (toNSURL): * WebView/WebView.mm: (aeDescFromJSValue): 2010-04-16 Dan Bernstein <mitz@apple.com> Reviewed by John Sullivan. Expose the extremal shrink factors WebHTMLView uses when shrinking pages to fit in the printing width as SPI. * WebView/WebHTMLView.mm: Replaced two macros with constants. (-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Changed to use the constants. (-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto. * WebView/WebHTMLViewPrivate.h: Declared _WebHTMLViewPrintingMinimumShrinkFactor and _WebHTMLViewPrintingMaximumShrinkFactor. 2010-04-15 Mark Rowe <mrowe@apple.com> Reviewed by Sam Weinig. <rdar://problem/7870651> WebDynamicScrollBarsView.h generates compile errors when included in plain Objective-C files. * WebView/WebDynamicScrollBarsView.h: 2010-04-15 Adam Roben <aroben@apple.com> Export WebUserContentURLPattern from WebKit Rubber-stamped by Mark Rowe. * WebKit.exp: 2010-04-15 Dan Bernstein <mitz@apple.com> Reviewed by Simon Fraser. Made consecutive calls to -[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:] work without intermediate calls -[WebHTMLView _endPrintMode]. * WebView/WebHTMLView.mm: (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): 2010-04-15 Adam Roben <aroben@apple.com> Expose UserContentURLPattern as WebKit SPI Fixes <http://webkit.org/b/37354>. Reviewed by Tim Hatcher. * Misc/WebUserContentURLPattern.h: Added. * Misc/WebUserContentURLPattern.mm: Added. (-[WebUserContentURLPattern initWithPatternString:]): Initialize _private and then parse the passed-in string into a UserContentURLPattern. (-[WebUserContentURLPattern dealloc]): Release _private. (-[WebUserContentURLPattern isValid]): (-[WebUserContentURLPattern scheme]): (-[WebUserContentURLPattern host]): (-[WebUserContentURLPattern matchesSubdomains]): Call through to UserContentURLPattern. 2010-04-13 Geoffrey Garen <ggaren@apple.com> Reviewed by Oliver Hunt. Separated a DOMWrapperWorld's behavior of keeping wrappers alive from its own lifetime, so a DOMWrapperWorld's controller can throw away its wrappers even before its refcount reaches 0. * WebView/WebScriptWorld.h: * WebView/WebScriptWorld.mm: (-[WebScriptWorld unregisterWorld]): Exported this function through WebKit. 2010-04-12 Timothy Hatcher <timothy@apple.com> SecurityOrigin needs a way to remove individual OriginAccessEntries https://bugs.webkit.org/show_bug.cgi?id=37449 Reviewed by Dave Hyatt. * WebView/WebView.mm: (+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Call SecurityOrigin::removeOriginAccessWhitelistEntry. * WebView/WebViewPrivate.h: Added _removeOriginAccessWhitelistEntryWithSourceOrigin. 2010-04-13 Timothy Hatcher <timothy@apple.com> Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry. And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists. SecurityOrigin needs a way to remove individual OriginAccessEntries https://bugs.webkit.org/show_bug.cgi?id=37449 Reviewed by Dave Hyatt. * WebView/WebView.mm: (+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): (+[WebView _resetOriginAccessWhitelists]): * WebView/WebViewPrivate.h: 2010-04-11 Sheriff Bot <webkit.review.bot@gmail.com> Unreviewed, rolling out r57468. http://trac.webkit.org/changeset/57468 https://bugs.webkit.org/show_bug.cgi?id=37433 Broke the world... Must have applied the patch wrong (Requested by abarth on #webkit). * WebView/WebFrame.mm: (-[WebFrame _canProvideDocumentSource]): (-[WebFrame _receivedData:textEncodingName:]): 2010-04-11 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Factor DocumentWriter out of FrameLoader https://bugs.webkit.org/show_bug.cgi?id=37175 Update these callsites because the method moved to DocumentWriter. * WebView/WebFrame.mm: (-[WebFrame _canProvideDocumentSource]): (-[WebFrame _receivedData:textEncodingName:]): 2010-04-10 Mark Rowe <mrowe@apple.com> Reviewed by Dan Bernstein. <rdar://problem/7845305> Further adoption of formal protocols for delegates. Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places. * Misc/EmptyProtocolDefinitions.h: Removed. * Misc/WebDownload.mm: * WebKitPrefix.h: 2010-04-09 Jer Noble <jer.noble@apple.com> Reviewed by Darin Adler. Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead. https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993> * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidLoad]): (-[WebVideoFullscreenController setMediaElement:WebCore::]): 2010-04-09 Alexey Proskuryakov <ap@apple.com> Reviewed by Maciej Stachowiak. https://bugs.webkit.org/show_bug.cgi?id=24572 XMLHttpRequest.statusText returns always "OK" on Mac * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): 2010-04-09 Eric Seidel <eric@webkit.org> Unreviewed, rolling out r57343. http://trac.webkit.org/changeset/57343 https://bugs.webkit.org/show_bug.cgi?id=37311 Broke Tiger compile. * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidLoad]): (-[WebVideoFullscreenController setMediaElement:WebCore::]): 2010-04-09 Dan Bernstein <mitz@apple.com> Reviewed by Darin Adler. <rdar://problem/7846015> REGRESSION (r57332) - Crash in [WebDynamicScrollBarsView(WebInternal) reflectScrolledClipView:] when opening the Downloads window * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView initWithCoder:]): Added. Calls super and then initializes _private. 2010-04-09 Jer Noble <jer.noble@apple.com> Reviewed by Darin Adler. Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead. https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993> * WebView/WebVideoFullscreenController.mm: (-[WebVideoFullscreenController windowDidLoad]): (-[WebVideoFullscreenController setMediaElement:WebCore::]): 2010-04-08 Mark Rowe <mrowe@apple.com> Reviewed by John Sullivan. <rdar://problem/7814899> REGRESSION(r56008): iTunes crashes on quit inside -[NSScrollView dealloc] In r56008 new instance variables were added to WebDynamicScrollBarsView, increasing its size. This causes problems for 32-bit applications that derive from WebDynamicScrollBarsView, as the size and layout of their subclasses is baked in at compile time. This results in instances being allocated that are smaller than the new code expects, and may result in the new instance variables sharing the same memory space as any instance variables that the subclass defines. We can avoid this problem by having the class contain only a single member that acts as a pointer to a heap-allocated structure that acts as storage for the real instance variables. This makes us free to add instance variables in the future without risk of changing the size of the class. To ensure that 32-bit applications that are built against this new WebDynamicScrollBarsView header are able to run against older versions of WebKit we pad the class out to its previous size. This results in any subclasses of WebDynamicScrollBarsView being created with a layout that is compatible with both versions of the code. This change could potentially break a subclass of WebDynamicScrollBarsView that directly accesses instance variables of its superclass. However, this is a private header and no known subclasses of WebDynamicScrollBarsView access superclass instance variables in this fashion. * WebView/WebDynamicScrollBarsView.h: * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView initWithFrame:]): (-[WebDynamicScrollBarsView dealloc]): (-[WebDynamicScrollBarsView finalize]): (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): (-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]): (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]): (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]): (-[WebDynamicScrollBarsView horizontalScrollingAllowed]): (-[WebDynamicScrollBarsView verticalScrollingAllowed]): (-[WebDynamicScrollBarsView contentViewFrame]): (-[WebDynamicScrollBarsView tile]): (-[WebDynamicScrollBarsView setSuppressLayout:]): (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]): (-[WebDynamicScrollBarsView updateScrollers]): (-[WebDynamicScrollBarsView reflectScrolledClipView:]): (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): (-[WebDynamicScrollBarsView allowsVerticalScrolling]): (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]): (-[WebDynamicScrollBarsView horizontalScrollingMode]): (-[WebDynamicScrollBarsView verticalScrollingMode]): (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]): (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]): (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]): (-[WebDynamicScrollBarsView setScrollingModesLocked:]): (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]): (-[WebDynamicScrollBarsView verticalScrollingModeLocked]): (-[WebDynamicScrollBarsView scrollWheel:]): 2010-04-07 David Hyatt <hyatt@apple.com> Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=24300, don't expose history info via CSS Add SPI so that layout tests can access computed style including :visited information. * WebView/WebRenderNode.mm: (copyRenderNode): * WebView/WebView.mm: (-[WebView _computedStyleIncludingVisitedInfo:forElement:]): * WebView/WebViewInternal.h: * WebView/WebViewPrivate.h: 2010-04-07 Dan Bernstein <mitz@apple.com> Reviewed by Adele Peterson. Refactor WebHTMLView printing code and add private methods to enter and exit printing mode. https://bugs.webkit.org/show_bug.cgi?id=37246 * Misc/WebNSPrintOperationExtras.h: Declared -_web_availablePaperWidth and -_web_availablePaperHeight. * Misc/WebNSPrintOperationExtras.m: (-[NSPrintOperation _web_availablePaperWidth]): Turned -[WebHTMLView _availablePaperWidthForPrintOperation:] into this method. (-[NSPrintOperation _web_availablePaperHeight]): Turned -[WebHTMLView _calculatePrintHeight] into this method. * WebView/WebHTMLView.mm: (-[WebHTMLView _isInPrintMode]): Added this accessor. (-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Added. Moved the code from -knowsPageRange: that computes the layout widths and enters printing mode into this private method. (-[WebHTMLView _endPrintMode]): New private method (the old -_endPrintMode has been renamed). (-[WebHTMLView _scaleFactorForPrintOperation:]): Use -[NSPrintOperation _web_availablePaperWidth]. (-[WebHTMLView _endPrintModeAndRestoreWindowAutodisplay]): Renamed -_endPrintMode to this, changed it to call _endPrintMode. (-[WebHTMLView _delayedEndPrintMode:]): Updated for rename. (-[WebHTMLView knowsPageRange:]): Use -_beginPrintModeWithPageWidth:shrintToFit:, -[NSPrintOperation _web_availablePaperWidth], and -[NSPrintOperation _web_availablePaperHeight]. Updated for rename. (-[WebHTMLView beginDocument]): Updated for rename. (-[WebHTMLView endDocument]): Ditto. * WebView/WebHTMLViewPrivate.h: Declared new private methods -_isInPrintMode, -_beginPrintModeWithPageWidth:shrinkToFit: and -_endPrintMode. 2010-04-07 Andrey Kosyakov <caseq@chromium.org> Reviewed by Yury Semikhatsky. Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest() https://bugs.webkit.org/show_bug.cgi?id=36949 * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: 2010-04-06 Dan Bernstein <mitz@apple.com> Tiger build fix after r57184. * WebView/WebHTMLViewPrivate.h: 2010-04-06 Dan Bernstein <mitz@apple.com> Tiger build fix after r57184. * WebView/WebHTMLViewPrivate.h: 2010-04-06 Adam Barth <abarth@webkit.org> Unreviewed. Speculative build fix for Tiger. * WebView/WebHTMLViewPrivate.h: 2010-04-06 Dan Bernstein <mitz@apple.com> Reviewed by Sam Weinig and Anders Carlsson. Expose WebHTMLView’s page breaking logic as SPI. * WebView/WebHTMLView.mm: (-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]): Factored out of -adjustPageHeightNew:top:bottom:limit: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Call -_adjustedBottomOfPageWithTop:bottom:limit: * WebView/WebHTMLViewPrivate.h: Declared -_adjustedBottomOfPageWithTop:bottom:limit: 2010-04-06 Mark Rowe <mrowe@apple.com> Add an #if in order to make Tiger happy. * WebView/WebViewData.mm: (-[WebViewPrivate init]): 2010-04-06 Mark Rowe <mrowe@apple.com> Build fix. * WebView/WebViewData.mm: (-[WebViewPrivate init]): Use objc_collectingEnabled like we do elsewhere in WebKit. 2010-04-05 Mark Rowe <mrowe@apple.com> Reviewed by Adele Peterson. Test case for <http://webkit.org/b/37115> / <rdar://problem/7829331>. REGRESSION(r56989): Crash in Mail in WebCore::Position::isCandidate when deleting block using block deletion UI * WebView/WebHTMLView.mm: (-[WebHTMLView _updateFontPanel]): Ask the window whether it is the key window rather than doing the comparison manually. This allows DumpRenderTree's override of isKeyWindow to force this code path to be taken during tests. 2010-04-05 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=37111 <rdar://problem/7790327> Draw replacement text when plug-in host crashes * Plugins/Hosted/WebHostedNetscapePluginView.h: Removed _pluginDied - it was only used for drawing replacement icon, and this information is now in WebCore. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView pluginHostDied]): Tell RenderEmbeddedObject that the plug-in has crashed. (-[WebHostedNetscapePluginView drawRect:]): Removed the case for crashed plug-in host. It is handled by WebCore now. * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory crashedPluginText]): Added a string for plug-in failure. 2010-04-03 yael aharon <yael.aharon@nokia.com> Reviewed by Darin Adler. Enable HTMLProgressElement for Safari on OSX https://bugs.webkit.org/show_bug.cgi?id=36961 * Configurations/FeatureDefines.xcconfig: 2010-04-02 Jer Noble <jer.noble@apple.com> Reviewed by Eric Carlson. https://bugs.webkit.org/show_bug.cgi?id=36624 Add an INIT macro for the WebKitSystemInterface function wkQTMovieSelectPreferredAlternates. * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): 2010-04-02 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=37043 Java regression tests spam stderr about being unable to set status message With this change, there is still spam about "Attempt to access JavaScript from destroyed applet, type 9." I haven't investigated if that indicates a problem or not. * Plugins/WebPluginController.mm: (-[WebPluginController webPlugInContainerShowStatus:]): Removed check for _documentView. We don't seem to care. 2010-04-01 Kinuko Yasuda <kinuko@chromium.org> Reviewed by Dmitry Titov. Add FileThread for async file operation support in FileReader and FileWriter https://bugs.webkit.org/show_bug.cgi?id=36896 Add FILE_READER or FILE_WRITER feature defines. * Configurations/FeatureDefines.xcconfig: 2010-04-01 Ada Chan <adachan@apple.com> Reviewed by Darin Adler. Change WebDatabaseManager::deleteOrigin() to return true if there are no errors in deleting the origin. Ditto for WebDatabaseManager::deleteDatabase(). https://bugs.webkit.org/show_bug.cgi?id=36988 * Storage/WebDatabaseManager.mm: (-[WebDatabaseManager deleteOrigin:]): (-[WebDatabaseManager deleteDatabase:withOrigin:]): * Storage/WebDatabaseManagerPrivate.h: 2010-04-01 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=36976 <rdar://problem/7817498> REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): The HashTable assertions aren't there to catch potential future attempts to store empty/deleted values before these happen - it's actually wrong to try to look up these values. Added an early return. (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Ditto. 2010-04-01 Chris Marrin <cmarrin@apple.com> Reviewed by Simon Fraser. Added layerTreeAsText function to DRT (for Mac) https://bugs.webkit.org/show_bug.cgi?id=36782 This is the WebKit side for Mac. It plumbs the call from WebCore to DRT. * WebView/WebFrame.mm:WebKit (Mac) side of plumbing (-[WebFrame _layerTreeAsText]): * WebView/WebFramePrivate.h: 2010-04-01 Alexey Proskuryakov <ap@apple.com> Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=36976 <rdar://problem/7817498> REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): Use find() instead of get(), because the latter fails with an assertion when looking up 0 or -1. (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Be prepared for unexpected object IDs coming from plug-in host. 2010-03-31 Chris Fleizach <cfleizach@apple.com> Reviewed by Darin Adler. Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit https://bugs.webkit.org/show_bug.cgi?id=36845 Provide a way through WebKit to set an accessible label that describes the web area. * WebView/WebFrame.mm: (-[WebFrame setAccessibleName:]): * WebView/WebFramePrivate.h: 2010-03-31 Marcus Bulach <bulach@chromium.org> Reviewed by Jeremy Orlow. Adds Geolocation param for cancelGeolocationPermissionRequestForFrame. https://bugs.webkit.org/show_bug.cgi?id=35031 * WebCoreSupport/WebChromeClient.h: (WebChromeClient::cancelGeolocationPermissionRequestForFrame): 2010-03-30 Gavin Barraclough <barraclough@apple.com> Rubber stamped by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=36866 Move CString to WTF * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::getCookies): (WebKit::NetscapePluginInstanceProxy::getProxy): (WebKit::NetscapePluginInstanceProxy::getAuthenticationInfo): (WebKit::NetscapePluginInstanceProxy::resolveURL): * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.mm: * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView resolveURL:forTarget:]): 2010-03-30 John Sullivan <sullivan@apple.com> Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=36848 <rdar://problem/7362913> Menu items appropriate only for rich-content editing can appear in plain-text contexts * WebView/WebHTMLView.mm: (-[WebHTMLView validRequestorForSendType:returnType:]): Don't return self for non-string content if _canEditRichly is false. 2010-03-29 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=36791 Add assertions for instance proxy validity Add some assertions that the instance proxy hasn't been deleted. We sometimes keep a raw pointer to one across complicated function calls, relying on the caller to protect the reference. * Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::renderContextID): (WebKit::NetscapePluginInstanceProxy::pluginView): (WebKit::NetscapePluginInstanceProxy::hostProxy): 2010-03-30 Laszlo Gombos <laszlo.1.gombos@nokia.com> Reviewed by David Kilzer. Explicit guards for ENABLE_GEOLOCATION https://bugs.webkit.org/show_bug.cgi?id=25756 * WebCoreSupport/WebGeolocationMock.mm: (-[WebGeolocationMock setError:code:]): Make the body conditional on ENABLE(GEOLOCATION) (-[WebGeolocationMock setPosition:]): Ditto. 2010-03-26 Kenneth Rohde Christiansen <kenneth@webkit.org> Reviewed by Antti Koivisto. Change method name due to it dealing with both flattening of frame sets and inner frames. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences isFrameFlatteningEnabled]): (-[WebPreferences setFrameFlatteningEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-03-27 Darin Adler <darin@apple.com> * Misc/WebNSFileManagerExtras.m: (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]): Removed stray "!". How did that get in there? 2010-03-27 Darin Adler <darin@apple.com> Reviewed by Mark Rowe. WebKit NSFileManager methods don't handle broken symlinks correctly. Part of <rdar://problem/7574046>. * Misc/WebNSFileManagerExtras.h: Removed unused defines and methods. * Misc/WebNSFileManagerExtras.m: Removed unused methods. (fileExists): Added. For use instead of fileExistsAtPath: for cases where we'd like to treat a broken symlink as a file that does indeed exist. (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]): Use fileExists. 2010-03-25 Alexey Proskuryakov <ap@apple.com> Reviewed by Mark Rowe. * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): Re-fetch host proxy in a way that works in a function that doesn't have a pluginID argument for some reason. 2010-03-25 Simon Fraser <simon.fraser@apple.com> Build fix: no review. Another c_str() -> data(). * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::enumerate): 2010-03-25 Alexey Proskuryakov <ap@apple.com> Reviewed by Mark Rowe. Correctness fix after r56493. * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): We still need to update our hostProxy reference, even though we didn't use to have instanceProxy. Nothing guarantees that the host proxy won't go away while the open panel is up. 2010-03-24 Mark Rowe <mrowe@apple.com> Build fix after r56474. * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): 2010-03-24 Alexey Proskuryakov <ap@apple.com> Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=36563 A plug-in makes Safari crash on http://www.itscodingtime.com/ * Plugins/Hosted/NetscapePluginHostProxy.h: (WebKit::NetscapePluginHostProxy::port): Assert that the object is still alive. This isn't beautifully systemic, but helped catch a bug, and may help catch more. (WebKit::NetscapePluginHostProxy::clientPort): Ditto. (WebKit::NetscapePluginHostProxy::isProcessingRequests): Changed m_processingRequests to a static. This doesn't change behavior much, but helps avoid writing into deallocated memory. * Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): Changed m_processingRequests to a static. (WebKit::NetscapePluginHostProxy::processRequests): Ditto. Changing m_processingRequests after destroying the object in pluginHostDied() was wrong, but reasonably harmless, as there wasn't much time for some other object to be allocated at this address. (WKPCEvaluate): Refetch host proxy, as it may have been destroyed. (WKPCInvoke): Ditto. (WKPCInvokeDefault): Ditto. (WKPCGetProperty): Ditto. (WKPCSetProperty): Ditto. (WKPCRemoveProperty): Ditto. (WKPCHasProperty): Ditto. (WKPCHasMethod): Ditto. (WKPCEnumerate): Ditto. (WKPCRunSyncOpenPanel): Ditto. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply): Bail out of the "event loop" if host proxy went away while processing a request. 2010-03-24 Hayato Ito <hayato@chromium.org> Reviewed by Shinichiro Hamaji. Refactor computePageRects so that Mac can make use of it. https://bugs.webkit.org/show_bug.cgi?id=36159 Refactoring only, so no new tests. * WebView/WebFrame.mm: (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): 2010-03-24 Kent Tamura <tkent@chromium.org> Reviewed by Darin Adler. Make Icon::createIconForFiles() optional. https://bugs.webkit.org/show_bug.cgi?id=35072 - Rename iconForFiles() to chooseIconForFiles(). - Call Icon::createIconForFiles() from chooseIconForFiles(). * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::chooseIconForFiles): 2010-03-23 Dan Bernstein <mitz@apple.com> Reverted accidental change from r56429. * WebCoreSupport/WebContextMenuClient.mm: (WebContextMenuClient::getCustomMenuFromDefaultItems): 2010-03-23 Dan Bernstein <mitz@apple.com> Reviewed by John Sullivan. WebKit part of <rdar://problem/7197736> Plug-in clip rect does not update when overflow clip changes https://bugs.webkit.org/show_bug.cgi?id=36479. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView visibleRectDidChange]): Added. Calls WKSyncSurfaceToView(). * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView _windowClipRect]): Changed to use Widget::windowClipRect(). (-[WebBaseNetscapePluginView visibleRectDidChange]): Added. Invokes -renewGState. 2010-03-22 Kevin Decker <kdecker@apple.com> Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=36328 This patch entirely WebNullPluginView. * Plugins/WebNetscapePluginView.mm: * Plugins/WebNullPluginView.h: Removed. * Plugins/WebNullPluginView.mm: Removed. * Resources/nullplugin.tiff: Removed. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Invoke the resource load delegate if the plug-in failed to load. 2010-03-22 Alexey Proskuryakov <ap@apple.com> Reviewed by John Sullivan. https://bugs.webkit.org/show_bug.cgi?id=36455 Make WebKit more resistant against plug-in crashes No tests, because crashing on build bots isn't good, even if it's only helper processes that crash. * Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::waitForReply): Protect "this", because this function needs it after waiting for reply. Some callers used to do this, but not all, and we really shouldn't depend on callers here. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::wheelEvent): Don't protect the plug-in instance proxy, because this function doesn't use it after waiting for reply. (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Ditto. * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invoke): Added an m_instanceProxy null check for another code path. 2010-03-22 Kevin Decker <kdecker@apple.com> Reviewed by John Sullivan. https://bugs.webkit.org/show_bug.cgi?id=36328 * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory missingPluginText]): Added. 2010-03-18 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=36337 Log an error when an OOP plug-in sends an unknown object id Making these LOG_ERROR and not ASSERTs, because I don't want early returns to look temporary or redundant. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): 2010-03-16 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=36184 YouTube video resizing doesn't work with OOP plug-ins Test: plugins/resize-from-plugin.html We were calling _WKPHResizePluginInstance synchronously or asynchronously, depending on whether the size has changed. But sync and async messages are not necessarily delivered in order - plug-in host listens only to the former while waiting for a response to a message it sent (a call to invoke() in this case). * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::resize): * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView updateAndSetWindow]): 2010-03-16 Yury Semikhatsky <yurys@chromium.org> Reviewed by Pavel Feldman. Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost. Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder https://bugs.webkit.org/show_bug.cgi?id=35036 * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::WebInspectorClient): (WebInspectorClient::inspectorDestroyed): (WebInspectorClient::openInspectorFrontend): (WebInspectorClient::highlight): (WebInspectorClient::hideHighlight): (WebInspectorFrontendClient::WebInspectorFrontendClient): (WebInspectorFrontendClient::frontendLoaded): (WebInspectorFrontendClient::localizedStringsURL): (WebInspectorFrontendClient::hiddenPanels): (WebInspectorFrontendClient::bringToFront): (WebInspectorFrontendClient::closeWindow): (WebInspectorFrontendClient::attachWindow): (WebInspectorFrontendClient::detachWindow): (WebInspectorFrontendClient::setAttachedWindowHeight): (WebInspectorFrontendClient::inspectedURLChanged): (WebInspectorFrontendClient::updateWindowTitle): (-[WebInspectorWindowController dealloc]): (-[WebInspectorWindowController windowShouldClose:]): (-[WebInspectorWindowController close]): (-[WebInspectorWindowController showWindow:]): (-[WebInspectorWindowController attach]): (-[WebInspectorWindowController detach]): (-[WebInspectorWindowController attached]): (-[WebInspectorWindowController setFrontendClient:]): (-[WebInspectorWindowController destroyInspectorView]): (-[WebNodeHighlighter initWithInspectedWebView:]): (-[WebNodeHighlighter dealloc]): (-[WebNodeHighlighter highlightNode:]): (-[WebNodeHighlighter hideHighlight]): (-[WebNodeHighlighter didAttachWebNodeHighlight:]): (-[WebNodeHighlighter willDetachWebNodeHighlight:]): * WebInspector/WebInspector.mm: (-[WebInspector attach:]): (-[WebInspector detach:]): 2010-03-15 Andy Estes <aestes@apple.com> Reviewed by John Sullivan. Updated call to WKGetWheelEventDeltas() to match new method signature. https://bugs.webkit.org/show_bug.cgi?id=29601 <rdar://problem/7453254> * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView scrollWheel:]): 2010-03-15 John Sullivan <sullivan@apple.com> Reviewed by Adam Roben. -[WebFrame setAlwaysHideHorizontal/VerticalScroller:] prevents keyboard scrolling <https://bugs.webkit.org/show_bug.cgi?id=36125> * WebView/WebDynamicScrollBarsView.h: Added instance variables horizontalScrollingAllowedButScrollerHidden and verticalScrollingAllowedButScrollerHidden. Renamed instance variables hideHorizontal/VerticalScroller to alwaysHideHorizontal/VerticalScroller for clarity. Declared methods -horizontalScrollingAllowed and -verticalScrollingAllowed. Added comments. * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]): Updated for instance variable renaming. (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]): Ditto. (-[WebDynamicScrollBarsView horizontalScrollingAllowed]): New method, returns YES if the scroller is showing or the only reason that the scroller is not showing is that setAlwaysHideHorizontalScrolling has been called. (-[WebDynamicScrollBarsView verticalScrollingAllowed]): New method, returns YES if the scroller is showing or the only reason that the scroller is not showing is that setAlwaysHideVerticalScrolling has been called. (-[WebDynamicScrollBarsView updateScrollers]): Updated for instance variable renamings. Now updates horizontalScrollingAllowedButScrollerHidden and verticalScrollingAllowedButScrollerHidden. Now takes the always-hidden state into account in the early-return code path, to avoid taking it into account twice in the regular code path. * WebView/WebFrameView.mm: (-[WebFrameView _scrollToBeginningOfDocument]): Use _isScrollable instead of _hasScrollBars. (-[WebFrameView _scrollToEndOfDocument]): Ditto. (-[WebFrameView scrollToBeginningOfDocument:]): Use _largestScrollableChild instead of _largestChildWithScrollBars. (-[WebFrameView scrollToEndOfDocument:]): Ditto. (-[WebFrameView _pageVertically:]): Use _isScrollable and _largestScrollableChild instead of _hasScrollBars and _largestChildWithScrollBars. (-[WebFrameView _pageHorizontally:]): Ditto. (-[WebFrameView _scrollLineVertically:]): Ditto. (-[WebFrameView _scrollLineHorizontally:]): Ditto. (-[WebFrameView keyDown:]): Use _largestScrollableChild instead of _largestChildWithScrollBars. (-[WebFrameView _isScrollable]): New method, calls -[WebDynamicScrollBarsView horizontalScrollingAllowed] and -[WebDynamicScrollBarsView verticalScrollingAllowed] (-[WebFrameView _largestScrollableChild]): New method, like _largestChildWithScrollBars but uses _isScrollable. (-[WebFrameView _hasScrollBars]): Added a comment that this is no longer used by Safari, and can thus probably be deleted once we no longer want to support it for nightly build compatibility with old versions of Safari. (-[WebFrameView _largestChildWithScrollBars]): Ditto. * WebView/WebFrameViewPrivate.h: Declared -_isScrollable and -_largestScrollableChild. Added comments to _hasScrollBars and _largestChildWithScrollBars saying that they are no longer used by Safari, and can thus probably be deleted once we no longer want to support them for nightly build compatibility with old versions of Safari. 2010-03-15 John Sullivan <sullivan@apple.com> Method name and parameter name mistakes from recent SPI addition <https://bugs.webkit.org/show_bug.cgi?id=36119> Reviewed by Dan Bernstein. * WebView/WebDynamicScrollBarsView.h: Renamed instance variable and method name from "setAllowXXX" to "setAllowsXXX". * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]): Updated for renamed instance variable and method. (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]): Changed parameter name from shouldBeVisible to shouldBeHidden. (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]): Ditto. (-[WebDynamicScrollBarsView contentViewFrame]): Updated for renamed instance variable. (-[WebDynamicScrollBarsView tile]): Ditto. (-[WebDynamicScrollBarsView reflectScrolledClipView:]): Ditto. * WebView/WebFrame.mm: (-[WebFrame setAllowsScrollersToOverlapContent:]): Renamed method from setAllowXXX, and updated for same change in WebDynamicScrollBarsView. * WebView/WebFramePrivate.h: Renamed method name from "setAllowXXX" to "setAllowsXXX". 2010-03-14 Darin Adler <darin@apple.com> Reviewed by Mark Rowe. Remove unneeded dependency on non-string identifier for an NSTableColumn https://bugs.webkit.org/show_bug.cgi?id=36106 * WebView/WebTextCompletionController.mm: (-[WebTextCompletionController _buildUI]): Use init instead of initWithIdentifier: because the table has only one column and that column does not need an identifier. 2010-03-12 Beth Dakin <bdakin@apple.com> Reviewed by Simon Fraser. Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen API naming is inconsistent -and corresponding- <rdar://problem/7729165> This patch changes all occurrences of "fullScreen" to the more popular "fullscreen." * Plugins/Hosted/NetscapePluginHostProxy.h: (WebKit::NetscapePluginHostProxy::isFullscreenWindowShowing): * Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): (WebKit::NetscapePluginHostProxy::didEnterFullscreen): (WebKit::NetscapePluginHostProxy::didExitFullscreen): (WebKit::NetscapePluginHostProxy::setFullscreenWindowIsShowing): (WKPCSetFullscreenWindowIsShowing): * Plugins/Hosted/WebKitPluginClient.defs: * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView _workaroundSilverlightFullscreenBug:]): (-[WebNetscapePluginView _createPlugin]): (-[WebNetscapePluginView _destroyPlugin]): * WebView/WebVideoFullscreenHUDWindowController.mm: (-[WebVideoFullscreenHUDWindowController windowDidLoad]): 2010-03-12 Andy Estes <aestes@apple.com> Reviewed by Brady Eidson. Expose WebPDFView's underlying PDFDocument. https://bugs.webkit.org/show_bug.cgi?id=36045 * WebView/WebDocumentPrivate.h: Create a new protocol called WebDocumentPDF. * WebView/WebPDFView.h: Have WebPDFView implement said protocol. * WebView/WebPDFView.mm: (-[WebPDFView PDFDocument]): Expose WebPDFView's underlying PDFDocument by implementing -(PDFDocument*)PDFDocument from WebDocumentPDF. 2010-03-12 Andy Estes <aestes@apple.com> Reviewed by Brady Eidson. Remove an unused method. https://bugs.webkit.org/show_bug.cgi?id=35940 * Plugins/WebPluginController.mm: removed - (void)showURL:(NSURL *) inFrame:(NSString *) 2010-03-11 Mark Rowe <mrowe@apple.com> Reviewed by David Kilzer. <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version. * Configurations/Base.xcconfig: 2010-03-11 Mark Rowe <mrowe@apple.com> Reviewed by Tim Hatcher. <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the current Mac OS X version unless otherwise specified. Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR. Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice may not be usable when targetting a different Mac OS X version. Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used. * Configurations/Base.xcconfig: * Configurations/DebugRelease.xcconfig: * Configurations/FeatureDefines.xcconfig: * Configurations/Version.xcconfig: 2010-03-11 Anders Carlsson <andersca@apple.com> Reviewed by David Hyatt. Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents. * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: 2010-03-11 Alexey Proskuryakov <ap@apple.com> Reviewed by Geoff Garen. https://bugs.webkit.org/show_bug.cgi?id=35965 <rdar://problem/7742771> Crash when passing an object returned from plug-in back to the plug-in Test: plugins/round-trip-npobject.html * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::retainLocalObject): Corrected the check - there is now a separate ProxyRuntimeObject class for proxy pbjects. (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto. * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invoke): Check if m_instanceProxy is still non-zero. The plug-in could have crashed while we were waiting for response. (WebKit::ProxyInstance::setFieldValue): Ditto. 2010-03-10 Simon Fraser <simon.fraser@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=35975 <rdar://problem/7739922> Flash 10.1b crashes when generating snapshots Do a version check before sending a drawRect event to a Flash plugin, since 10.1.d51 has a bug that crashes when called this way. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView drawRect:]): * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView supportsSnapshotting]): * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView drawRect:]): 2010-03-10 John Sullivan <sullivan@apple.com> Reviewed by Tim Hatcher. <rdar://problem/7735387> input type other than text won't work with autofill <https://bugs.webkit.org/show_bug.cgi?id=35963> * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation elementDoesAutoComplete:]): Return true for any text field that's not a password, rather than only for TEXT type. 2010-03-09 Brady Eidson <beidson@apple.com> Reviewed by Tim Hatcher. REGRESSION: WebInspector docking busted on Windows <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953 * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController showWindow:]): Use the InspectorController:: copy of the should attach settings key. (-[WebInspectorWindowController attach]): Ditto. (-[WebInspectorWindowController detach]): Ditto. 2010-03-09 Geoffrey Garen <ggaren@apple.com> Reviewed by Darin Adler. Updated for FastMalloc reporting changes. * Misc/WebCoreStatistics.mm: (+[WebCoreStatistics memoryStatistics]): 2010-03-08 Simon Fraser <simon.fraser@apple.com> Reviewed by Mark Rowe. Move the new method to the end of the MIG definitions file, to avoid breaking compatibility between WebKit and older versions of WebKitPluginHost. * Plugins/Hosted/WebKitPluginHost.defs: 2010-03-08 Simon Fraser <simon.fraser@apple.com> Reviewed by Kevin Decker. <rdar://problem/7714340> Need to grab image snapshot of Core Animation plugins Allow plug-ins using the Core Animation drawing model to be captured when doing a flattening paint, by sending them a drawRect event as if they were software-painting. * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::snapshot): New snapshot() method that calls over to the plugin host, and then draws the image that comes back. * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView drawRect:]): If we don't have a software renderer, but we're doing a flattening paint, then call the snapshot method. * Plugins/Hosted/WebKitPluginHost.defs: Added snapshot method. * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView inFlatteningPaint]): New utility method that asks the FrameView whether the current paint behavior is flattening. * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView drawRect:]): If the plug-in is using CA but this is a flattening paint, go ahead and send a drawRect event to the plug-in. 2010-03-08 Darin Adler <darin@apple.com> Reviewed by Dan Bernstein. Fix crash when you quit inside an unload handler. rdar://problem/6958347 Test: manual-tests/quit-inside-unload.html * WebView/WebView.mm: (-[WebView _closeWithFastTeardown]): Removed code to set _private->closed since _close now does this earlier, before calling this method. (-[WebView _close]): Moved code to set _private->closed to the top of this method. (-[WebView setHostWindow:]): Rewrote the code that forbade setting the host window after closing so that it only forbids non-nil host windows. That way, the code to clear away the host window can run safely after setting _private->closed, yet client code cannot set a new host window after closing. 2010-03-08 Darin Adler <darin@apple.com> Roll out a file I checked in by accident. * WebView/WebView.mm: Back to previous version. 2010-03-08 Chris Marrin <cmarrin@apple.com> Reviewed by Darin Adler. Turn on HW accel on Leopard even if coreVideoHas7228836Fix() is false, when WebGL is enabled https://bugs.webkit.org/show_bug.cgi?id=35759 This allows WebGL to work on Leopard without the fix. It exposes these users to the crash that happens because of the CoreVideo bug, but it limits the exposure to those who have chosen to enable WebGL. * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-03-02 Adam Treat <atreat@rim.com> Reviewed by Dave Hyatt. Adapt the mac port to the refactoring of repaint methods. https://bugs.webkit.org/show_bug.cgi?id=34214 * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::invalidateContents): (WebChromeClient::invalidateWindow): (WebChromeClient::invalidateContentsAndWindow): (WebChromeClient::invalidateContentsForSlowScroll): 2010-03-08 Jian Li <jianli@chromium.org> Reviewed by Dmitry Titov. Blob.slice support. https://bugs.webkit.org/show_bug.cgi?id=32993 Add ENABLE_BLOB_SLICE feature define. * Configurations/FeatureDefines.xcconfig: 2010-03-08 Eric Uhrhane <ericu@chromium.org> Reviewed by David Levin. Remove the now-redundant Settings fields for the Database https://bugs.webkit.org/show_bug.cgi?id=35763 No new tests; this code isn't called. * WebView/WebView.mm: Remove the call into Settings. (-[WebView _preferencesChangedNotification:]): 2010-03-07 Mark Rowe <mrowe@apple.com> Rubber-stamped by Cameron Zwarich. Remove unnecessary includes from header files, adding them to the handful of implementation files that need them. * Misc/WebIconDatabase.mm: 2010-03-07 Mark Rowe <mrowe@apple.com> Rubber-stamped by Cameron Zwarich. Remove unnecessary includes from header files, adding them to the handful of implementation files that need them. * Misc/WebNSPasteboardExtras.mm: 2010-03-04 Mark Rowe <mrowe@apple.com> Reviewed by Sam Weinig. <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h * MigrateHeaders.make: Migrate DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h. 2010-03-04 Mark Rowe <mrowe@apple.com> Reviewed by Sam Weinig. Use a framework-style include to pull in WebInspector.h for consistency with other parts of WebKit. * WebInspector/WebInspectorPrivate.h: 2010-03-04 Brady Eidson <beidson@apple.com> Reviewed by Geoff Garen. REGRESSION (31281): -[WebArchive initWithCoder:] leaks <rdar://problem/7702420> and https://bugs.webkit.org/show_bug.cgi?id=35534 * WebView/WebArchive.mm: (-[WebArchive initWithCoder:]): Don't retain objects we don't own. 2010-03-03 Alexey Proskuryakov <ap@apple.com> Reviewed by Timothy Hatcher. https://bugs.webkit.org/show_bug.cgi?id=35692 <rdar://problem/7703622> Crash when calling abort() on an XHR while in a windowless WebView * Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]): Retain the challenge, just like it's done for sheet. 2010-03-02 Eric Uhrhane <ericu@chromium.org> Reviewed by David Levin. Move database enable bit fully out of settings This is stage one of a three-stage commit [webkit, then chromium, then webkit again]. In this change I'm adding calls to Database::setIsAvailable inside Settings::setDatabaseEnabled and anywhere else that called it, and switching webkit fully over to using that flag [added in a previous checkin]. Phase two will remove Chromium's use of Settings for the Database, and phase three will remove the Setting for the Database enable entirely, leaving only Database::isAvailable/setIsAvailable. No new tests; tested by existing storage tests. https://bugs.webkit.org/show_bug.cgi?id=35310 * WebView/WebView.mm: Added a call to Database::setIsAvailable. (-[WebView _preferencesChangedNotification:]): 2010-03-02 Adam Roben <aroben@apple.com> Add -[WebView _registerURLSchemeAsSecure:] Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI Reviewed by Tim Hatcher. * WebView/WebView.mm: (+[WebView _registerURLSchemeAsSecure:]): * WebView/WebViewPrivate.h: Added. Calls through to SecurityOrigin::registerURLSchemeAsSecure. 2010-03-01 Jakob Petsovits <jpetsovits@rim.com> Reviewed by Adam Barth. Adapt to the new ZoomMode enum. https://bugs.webkit.org/show_bug.cgi?id=35347 * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): (-[WebView _setZoomMultiplier:isTextOnly:]): (-[WebView _realZoomMultiplierIsTextOnly]): 2010-02-27 Jing Jin <jjin@apple.com> Reviewed by Timothy Hatcher. Move implementation of Bug 35449 into WebFramePrivate. * WebView/WebFrame.h: * WebView/WebFrame.mm: (-[WebFrame setAllowScrollersToOverlapContent:]): (-[WebFrame setAlwaysHideHorizontalScroller:]): (-[WebFrame setAlwaysHideVerticalScroller:]): * WebView/WebFramePrivate.h: 2010-02-26 Jing Jin <jjin@apple.com> Reviewed by Timothy Hatcher. https://bugs.webkit.org/show_bug.cgi?id=35449 Add ability to hide WebFrame scrollbars and to allow scrollbars to overlap with content. * WebView/WebDynamicScrollBarsView.h: * WebView/WebDynamicScrollBarsView.mm: (-[WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]): Allows scrollbars to overlap with the document and re-layouts the document. (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]): Hides the horizontal scrollbar. (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]): Hides the vertical scrollbar. (-[WebDynamicScrollBarsView contentViewFrame]): Calculates the appropriate frame based on allowScrollersToOverlapContent. (-[WebDynamicScrollBarsView tile]): If allowScrollersToOverlapContent is YES, set the contentView's frame so it overlaps with the scrollbar. (-[WebDynamicScrollBarsView updateScrollers]): Take into account hideHorizontalScroller and hideVerticalScroller. (-[WebDynamicScrollBarsView reflectScrolledClipView:]): set drawsBackground to NO when scrollbars are overlapping with content, so we don't get trails during scrollbar draw updates. * WebView/WebDynamicScrollBarsViewInternal.h: * WebView/WebFrame.h: * WebView/WebFrame.mm: (-[WebFrame setAllowScrollersToOverlapContent:]): Hook for [WebDynamicScrollBarsView setAllowScrollersToOverlapContent:] (-[WebFrame setAlwaysHideHorizontalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:] (-[WebFrame setAlwaysHideVerticalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideVerticalScroller:] 2010-02-26 Gavin Barraclough <barraclough@apple.com> Reviewed by Alexey Proskuryakov. Bug 35401 - Fix handling of errors in handling calls over bridge, where base object bridge-type does not match method bridge-type. The code assumes users will only attempt to invoke a Java method on a Java base object, etc. Add language specific subclasses of RuntimeMethod, and pass the RuntimeMethod into invokeMethod, so we can typecheck before casting. Throw an exception on type mismatch. * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::PluginRuntimeMethod::PluginRuntimeMethod): new class to distinguish this type of RuntimeMethod. (WebKit::ProxyInstance::getMethod): create an appropriate sublclass of RuntimeMethod. (WebKit::ProxyInstance::invokeMethod): dynamically check the type of the RuntimeMethod. 2010-02-25 Alexey Proskuryakov <ap@apple.com> Reviewed by Geoffrey Garen. https://bugs.webkit.org/show_bug.cgi?id=35394 <rdar://problem/7685262> Make passing objects between Java and plug-ins work Added a ProxyInstance implementation of RuntimeObject. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::addValueToArray): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::getClass): * Plugins/Hosted/ProxyRuntimeObject.h: Added. (WebKit::ProxyRuntimeObject::classInfo): * Plugins/Hosted/ProxyRuntimeObject.mm: Added. (WebKit::ProxyRuntimeObject::ProxyRuntimeObject): (WebKit::ProxyRuntimeObject::~ProxyRuntimeObject): (WebKit::ProxyRuntimeObject::getInternalProxyInstance): 2010-02-24 Adam Barth <abarth@webkit.org> Reviewed by Darin Fisher. [Chromium API] Disambiguate allowJavaScript from didNotAllowScript https://bugs.webkit.org/show_bug.cgi?id=35205 Make these two callsites explicit about not running script immediately. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::getWindowNPObject): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): 2010-02-23 Brady Eidson <beidson@apple.com> Reviewed by Tim Hatcher and Pavel Feldman. Regression (r55107) - WebInspector docking is busted. https://bugs.webkit.org/show_bug.cgi?id=35274 * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController showWindow:]): Swap the order of the "should attach?" check to get the expected behavior. 2010-02-23 Dan Bernstein <mitz@apple.com> Reviewed by Simon Fraser. <rdar://problem/7611158> Incomplete repaint of YouTube timeline thumb while scrolling https://bugs.webkit.org/show_bug.cgi?id=34381 Test: fast/repaint/repaint-during-scroll.html NSClipView offsets any rects marked as needing display during scrolling by the scroll offset. Compensate for this when -setNeedsDisplay: is called during scrolling. * WebView/WebHTMLView.mm: (-[WebHTMLView _frameOrBoundsChanged]): Set inScrollPositionChanged to YES around to call to FrameView::scrollPositionChanged(). (-[WebHTMLView setNeedsDisplayInRect:]): When called beneath scrollPositionChanged(), adjust the rect by the inverse of the scroll offset. 2010-02-23 Steve Block <steveblock@google.com> Reviewed by Darin Adler. Adds ChromeClient::cancelGeolocationPermissionRequestForFrame https://bugs.webkit.org/show_bug.cgi?id=34962 This method is required so that a Geolocation object can cancel an asynchronous permission request. This allows the chrome client to cancel any UI it is showing for the permission request. * WebCoreSupport/WebChromeClient.h: (WebChromeClient::cancelGeolocationPermissionRequestForFrame): 2010-02-22 Alexey Proskuryakov <ap@apple.com> Rubber-stamped by Geoff Garen. Rename RuntimeObjectImp to RuntimeObject. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::retainLocalObject): (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): 2010-02-22 Brady Eidson <beidson@apple.com> Reviewed by Tim Hatcher. Disable WebView docking to views that are too small. <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254 * WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController showWindow:]): No matter the preference, don't open the inspector window attached if WebCore says it shouldn't be attached. 2010-02-22 Simon Fraser <simon.fraser@apple.com> Reviewed by John Sullivan. <rdar://problem/7285392> On Leopard, we have to disable hardware acceleration if we detect that the installed Core Video framework has bug <rdar://problem/7228836>. * WebView/WebView.mm: (coreVideoHas7228836Fix): (-[WebView _preferencesChangedNotification:]): 2010-02-21 Dan Bernstein <mitz@apple.com> Reviewed by Darin Adler. False warnings about needing layout in -[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] https://bugs.webkit.org/show_bug.cgi?id=35218 * WebView/WebHTMLView.mm: (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): Suppress the warning and the forced layout if the view is not being drawn in this display operation. 2010-02-21 Kevin Decker <kdecker@apple.com> Reviewed by Sam Weinig. plugInViewWithArguments: API sends wrong parameter for WebPlugInBaseURLKey https://bugs.webkit.org/show_bug.cgi?id=35215 <rdar://problem/7673157> The plugInViewWithArguments: API passes a dictionary of plugin arguments. One of the parameters is WebPlugInBaseURLKey, which is a key that represents the base URL of the document containing the plug-in's view. Instead of sending the base URL, code in WebFrameLoaderClient::createPlugin would incorrectly pass the source URL of the plug-in resource. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): When building the plug-in arguments dictionary, pass the real base URL for the WebPlugInBaseURLKey key. 2010-02-19 Maciej Stachowiak <mjs@apple.com> Reviewed by David Levin. Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases https://bugs.webkit.org/show_bug.cgi?id=35147 * Configurations/FeatureDefines.xcconfig: 2010-02-19 Alexey Proskuryakov <ap@apple.com> Reviewed by Maciej Stachowiak. https://bugs.webkit.org/show_bug.cgi?id=35132 <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132) * Plugins/WebNetscapePluginEventHandlerCarbon.mm: (WebNetscapePluginEventHandlerCarbon::mouseMoved): Send adjustCursor events on every mouse move. This matches Firefox, and is actually required for plug-ins to manipulate cursor wihout resorting to techniques such as fast firing timers. * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView handleMouseEntered:]): Some plug-ins handle mouse cursor internally, but those that don't just need to get an arrow cursor (matching Firefox). This means that e.g. a plugin inside <A> won't get a finger mouse pointer. * Plugins/WebHostedNetscapePluginView.mm: (-[WebNetscapePluginView handleMouseEntered:]): (-[WebNetscapePluginView handleMouseExited:]): Implement this behavior here, too. Also, out of process code didn't reset mouse pointer on mouse exit, which it needed to do. * WebView/WebHTMLView.mm: (needsCursorRectsSupportAtPoint): (setCursor): (resetCursorRects): Make sure that the same workaround we have for Web content also applies to Netscape plug-ins, as AppKit would reset the mouse pointer to arrow if given a chance. (+[WebHTMLViewPrivate initialize]): Renamed setCursorIMP on Leopard and higher to prevent confusion - the method we override is completely different. (-[WebHTMLView hitTest:]): Added a FIXME about a likely bug. 2010-02-19 Simon Fraser <simon.fraser@apple.com> Reviewed by Dan Bernstein. <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article Followup to avoid capturing compositing layers twice in snapshots. Add private methods to WebView to specify whether drawing the WebView into an image will include flattened compositing layers (the default behavior) or not. * WebView/WebFrame.mm: (-[WebFrame _drawRect:contentsOnly:]): Consult the WebView flag to see if we want flattening. * WebView/WebViewPrivate.h: New methods. * WebView/WebView.mm: Ditto. (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView _setIncludesFlattenedCompositingLayersWhenDrawingToBitmap:]): (-[WebView _includesFlattenedCompositingLayersWhenDrawingToBitmap]): * WebView/WebViewData.h: New member variable. 2010-02-19 Alexey Proskuryakov <ap@apple.com> Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=35165 plugins/set-status.html fails on Windows bot * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::status): * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView status:]): Match Windows port behavior (and also Firefox one, in a way) - pass null status messages as empty ones to chrome. 2010-02-18 Simon Fraser <simon.fraser@apple.com> Reviewed by Dan Bernstein. <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article Add logic to determine when painting via the software rendering path will give an equivalent result to the accelerated compositing presentation. This tests for the presence of 3D transforms. Also have -[WebFrame _drawRect:contentsOnly:] set the PaintBehaviorFlattenCompositingLayers paint behavior when painting into a bitmap context, so that snapshots contain composited layers. * WebView/WebFrame.mm: (-[WebFrame _drawRect:contentsOnly:]): Set the PaintBehaviorFlattenCompositingLayers flag when painting into a bitmap context. * WebView/WebView.mm: (-[WebView _isSoftwareRenderable]): Returns YES if all frames can be software-rendered. * WebView/WebViewPrivate.h: New _isSoftwareRenderable method. 2010-02-18 Alexey Proskuryakov <ap@apple.com> Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=35134 <rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0) Test: plugins/set-status.html * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::status): (WebKit::NetscapePluginInstanceProxy::loadURL): Added null checks for CFStringCreateWithCString arguments. 2010-02-17 Dmitry Titov <dimich@chromium.org> Reviewed by David Levin, Darin Fisher, Simon Hausmann. When a live iframe element is moved between pages, it still depends on the old page. https://bugs.webkit.org/show_bug.cgi?id=34382 * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: Added empty implementation of a new virtual method. (WebFrameLoaderClient::didTransferChildFrameToNewDocument): 2010-02-17 Kent Tamura <tkent@chromium.org> Reviewed by Eric Seidel. Introduces new Icon loading interface in order to support asynchronous loading. https://bugs.webkit.org/show_bug.cgi?id=32054 Add an empty implementation of ChromeClient::iconForFiles(). * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: (WebChromeClient::iconForFiles): 2010-02-17 Timothy Hatcher <timothy@apple.com> Add a way for WebView and its dependancies to be selectively included in WebKitStatistics leak tracking. By default WebView is not included and you need to subclass WebView and implement +isIncludedInWebKitStatistics to be included. rdar://problem/7567677&7572900 https://webkit.org/b/35045 Reviewed by Adam Roben. * WebView/WebDataSource.mm: (-[WebDataSource _initWithDocumentLoader:]): Increment WebDataSourceCount if the WebFrame is included in statistics. (-[WebDataSource dealloc]): Only --WebDataSourceCount if _private->includedInWebKitStatistics is YES. (-[WebDataSource finalize]): Ditto. * WebView/WebFrame.mm: (-[WebFrame _isIncludedInWebKitStatistics]): Return _private->includedInWebKitStatistics. (-[WebFrame _initWithWebFrameView:webView:]): Increment WebFrameCount if the WebView's class is included in statistics. (-[WebFrame dealloc]): Only --WebFrameCount if _private->includedInWebKitStatistics is YES. (-[WebFrame finalize]): Ditto. * WebView/WebFrameInternal.h: * WebView/WebFrameView.mm: (-[WebFrameView _setWebFrame:]): Increment WebFrameViewCount if the WebFrame is included in statistics. (-[WebFrameView initWithFrame:]): Move ++WebFrameViewCount from here since we don't know what WebFrame we belong to yet. (-[WebFrameView dealloc]): Only --WebFrameViewCount if _private->includedInWebKitStatistics is YES. (-[WebFrameView finalize]): Ditto. * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation init]): Move ++WebHTMLRepresentationCount from here since we don't know what WebFrame we belong to yet. (-[WebHTMLRepresentation dealloc]): Only --WebHTMLRepresentationCount if _private->includedInWebKitStatistics is YES. (-[WebHTMLRepresentation finalize]): Ditto. (-[WebHTMLRepresentation setDataSource:]): Increment WebHTMLRepresentationCount if the WebFrame of the dataSource is included in statistics. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView dealloc]): (+[WebView shouldIncludeInWebKitStatistics]): Return NO, so any WebView wont be included. Subclasses that care can return YES to be included. * WebView/WebViewInternal.h: 2010-02-16 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. Generalize delayed plug-in start for background tabs for use for other media https://bugs.webkit.org/show_bug.cgi?id=34981 * WebView/WebHTMLView.mm: (-[WebHTMLView viewWillMoveToWindow:]): Added comment. (-[WebHTMLView viewDidMoveToWindow]): Ditto. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Call setCanStartMedia right away so that if this view is not in a window, it will not start any media. (-[WebView viewWillMoveToWindow:]): Call setCanStartMedia(false) when moving to a window of nil. (-[WebView viewDidMoveToWindow]): Call setCanStartMedia(true) when moved to a window that is non-nil. 2010-02-16 Eric Carlson <eric.carlson@apple.com> Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=34988 WebHTMLView.mm has two -willRemoveSubview: methods * WebView/WebHTMLView.mm: (-[WebHTMLView willRemoveSubview:]): Consolidate the two copies of this method. 2010-02-16 Alexey Proskuryakov <ap@apple.com> Reviewed by Geoffrey Garen and Kevin Decker. https://bugs.webkit.org/show_bug.cgi?id=34989 <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content This fixes event dispatch for both Cocoa and Carbon event models (mouseEntered/mouseExited in the former case, and adjustCursor in the latter). * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView handleMouseEntered:]): (-[WebHostedNetscapePluginView handleMouseExited:]): * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView handleMouseEntered:]): (-[WebBaseNetscapePluginView handleMouseExited:]): * Plugins/WebNetscapePluginView.h: * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView handleMouseEntered:]): (-[WebNetscapePluginView handleMouseExited:]): AppKit cannot reliably dispatch events for overlapping views. We are now asking WebCore to notify plug-in views of mouse entered/exited as part of DOM event dispatch. * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): Besides mouse moved, dispatch plugin mouse entered/exit events in HTMLPlugInElement default event handler. Other mouse events are passed down by EventHandler. 2010-02-15 Alexey Proskuryakov <ap@apple.com> More build fixing (for what is actually a 64-bit failure, as 32-bit apparently includes headers that aren't included in 64-bit). * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::contains): (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): Move inline functions to .cpp; also made the class Noncopyable. 2010-02-15 Alexey Proskuryakov <ap@apple.com> Mac release build fix attempt. * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::~LocalObjectMap): Implement destructor in .cpp file, where necessary headers are already included. 2010-02-12 Alexey Proskuryakov <ap@apple.com> Reviewed by Kevin Decker. <rdar://problem/7130641> Browser objects identity is not preserved by Safari Out of process part. To avoid excessive IPC, plugin process doesn't send each NPObject release/retain call to Safari. It only sends one when the last one is removed, and it can destroy the proxy NPObject. However, the browser may be sending the same object out to plug-in as a function call argument at the same time - neither side can know what the other one is up to. The solution is to make the "destroying object" call return a boolean result, making it possible for the browser to make plugin host keep the proxy with zero refcount for a little longer. * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCForgetBrowserObject): This function (that used to be named ReleaseObject) is only called when plug-in releases all of its references, so renamed it. Its boolean result is returned as call success or failure. * Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::LocalObjectMap): Made the numeric ID to JSObject map two-way. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject): This method is tricky in that it creates objects with refcount of 1, but doesn't increase refcount when returning found objects. This extra count accounts for the "reference" kept by plugin process. (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain): Only retaining for the duration of calls out to plug-in, which means that refcount is almost always equal to 1. Note that we can't use "++" here, due to how std::pair works! (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release): Ditto. (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::clear): Clear all references when stopping plug-in. (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Like release(), but only functional when recount is 1 (meaning that the object is not being sent out to plug-in at the moment). (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Updated for other changes. (WebKit::NetscapePluginInstanceProxy::cleanup): Ditto. (WebKit::NetscapePluginInstanceProxy::getWindowNPObject): Ditto. (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject): Ditto. (WebKit::NetscapePluginInstanceProxy::forgetBrowserObjectID): Ditto. (WebKit::NetscapePluginInstanceProxy::evaluate): Ditto. (WebKit::NetscapePluginInstanceProxy::invoke): Ditto. (WebKit::NetscapePluginInstanceProxy::invokeDefault): Ditto. (WebKit::NetscapePluginInstanceProxy::construct): Ditto. (WebKit::NetscapePluginInstanceProxy::getProperty): Ditto. (WebKit::NetscapePluginInstanceProxy::setProperty): Ditto. (WebKit::NetscapePluginInstanceProxy::removeProperty): Ditto. (WebKit::NetscapePluginInstanceProxy::hasProperty): Ditto. (WebKit::NetscapePluginInstanceProxy::hasMethod): Ditto. (WebKit::NetscapePluginInstanceProxy::enumerate): Ditto. (WebKit::NetscapePluginInstanceProxy::addValueToArray): Ditto. (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): Ditto. (WebKit::NetscapePluginInstanceProxy::retainLocalObject): Helper for calling retain when making calls out to plug-in. No-op for objects that aren't wrapped to be sent (i.e. for objects wrapping ProxyInstance wrappers for plug-in objects being sent bak). (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto. * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invoke): Retain/release arguments during call. (WebKit::ProxyInstance::setFieldValue): Ditto. * Plugins/Hosted/WebKitPluginClient.defs: Renamed PCReleaseObject to PCForgetBrowserObject. 2010-02-12 Darin Adler <darin@apple.com> Reviewed by Sam Weinig. Removed unneeded custom implementation of isDescendantOf. * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView shouldClipOutPlugin]): Use the -[NSView isDescendantOf:] method instead of our own method named superviewsHaveSuperviews. 2010-02-12 Dan Bernstein <mitz@apple.com> Reviewed by Darin Adler. <rdar://problem/7615234> REGRESSION (r48586): Loading an HTML page causes PDFKit to be loaded * WebView/WebPDFDocumentExtras.h: Removed the category declaration and addWebPDFDocumentExtras(). Declare allScriptsInPDFDocument(). * WebView/WebPDFDocumentExtras.mm: (allScriptsInPDFDocument): Changed the -_web_allScripts method into this function. * WebView/WebPDFRepresentation.mm: Removed +initialize. (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Use allScriptsInPDFDocument() instead of -_web_allScripts. 2010-02-10 Geoffrey Garen <ggaren@apple.com> Reviewed by Oliver Hunt. Exported some new JavaScript heap introspection. * Misc/WebCoreStatistics.h: * Misc/WebCoreStatistics.mm: (+[WebCoreStatistics javaScriptObjectTypeCounts]): Just like javaScriptProtectedObjectTypeCounts, except this function enumerates all live objects, not just protected objects. 2010-02-08 Maciej Stachowiak <mjs@apple.com> Reviewed by Cameron Zwarich. Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose. https://bugs.webkit.org/show_bug.cgi?id=34698 * Configurations/FeatureDefines.xcconfig: 2010-02-09 Alexey Proskuryakov <ap@apple.com> Reviewed by Geoffrey Garen. https://bugs.webkit.org/show_bug.cgi?id=34490 WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions * ForwardingHeaders/wtf/ValueCheck.h: Added. 2010-02-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> Reviewed by Kenneth Rohde Christiansen. Support frameset flattening https://bugs.webkit.org/show_bug.cgi?id=32717 Add support for enabling/disabling FrameSet Flattening on the Mac port. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences isFrameSetFlatteningEnabled]): (-[WebPreferences setFrameSetFlatteningEnabled:]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): 2010-02-09 Alexey Proskuryakov <ap@apple.com> Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=34771 A stray mouse moved event is sent to plug-ins after mouse exit * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): A mouseout DOM event is dispatched while handling NSMouseMoved - but we shouldn't be sending a mouse moved event to plug-ins at this point. 2010-02-09 Shinichiro Hamaji <hamaji@chromium.org> Reviewed by Darin Adler. Provide a way to get total number of pages to be printed https://bugs.webkit.org/show_bug.cgi?id=34699 * Misc/WebCoreStatistics.h: * Misc/WebCoreStatistics.mm: (-[WebFrame numberOfPages:pageWidthInPixels:]): 2010-02-08 Alexey Proskuryakov <ap@apple.com> Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=34727 Assertion crashes and freezes when plug-in property access results in an exception * Plugins/Hosted/WebKitPluginClient.defs: Made PCSetProperty and PCRemoveProperty async. A plug-in can call back whil processing this call (e.g. for NPN_SetException), so we need to listen for messages while waiting for reply. * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCEvaluate): If there is no instance proxy, return KERN_FAILURE. This improves consistency between method implementations, and leaves us with one less IPC call to make in failure case (returning false with KERN_SUCCESS and returning KERN_FAILURE looks the same from plugin host code). (WKPCInvoke): Ditto. (WKPCInvokeDefault): Ditto. (WKPCGetProperty): Ditto. (WKPCSetProperty): Send a reply once done. (WKPCRemoveProperty): Ditto. (WKPCHasProperty): If there is no instance proxy, return KERN_FAILURE. (WKPCHasMethod): Ditto. (WKPCEnumerate): Ditto. 2010-02-08 Alexey Proskuryakov <ap@apple.com> Reviewed by Anders Carlsson. <rdar://problem/6530010> OOP: Support NPN_SetException Tested by plugins/netscape-throw-exception.html (removed it from skipped list). * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCSetException): * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::globalExceptionString): (WebKit::NetscapePluginInstanceProxy::setGlobalException): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invoke): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue): (WebKit::ProxyInstance::setFieldValue): * Plugins/Hosted/WebKitPluginClient.defs: Route exception string to a global that's checked after calling into plug-in (just like in in-process case). 2010-02-05 Kevin Decker <kdecker@apple.com> Reviewed by Mark Rowe. https://bugs.webkit.org/show_bug.cgi?id=34661 <rdar://problem/7614067> REGRESSION (Safari 4.0-> Safari 4.0.4): NPP_SetWindow no longer sets a clipRect of (0,0,0,0) when it becomes hidden * Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView updateAndSetWindow]): When clipping out NPDrawingModelCoreAnimation plug-ins, provide a zero'd out clipRect. * Plugins/WebBaseNetscapePluginView.h: Moved superviewsHaveSuperviews to the base class. * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): Added to the base class; extracted from WebNetscapePluginView. (-[WebBaseNetscapePluginView shouldClipOutPlugin]): Added new method with code extracted from WebNetscapePluginView. * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): When clipping out NPDrawingModelCoreAnimation plug-ins, provide a zero'd out clipRect. 2010-02-04 Mark Rowe <mrowe@apple.com> Rubber-stamped by Dan Bernstein. Fix the ability to #include <WebKit/DOMFile.h>. * MigrateHeaders.make: Mark DOMBlob.h as a public header since the already-public DOMFile.h depends on it. 2010-02-04 John Sullivan <sullivan@apple.com> https://bugs.webkit.org/show_bug.cgi?id=34611 WebLocalizedString() could use an assertion that it is being called on the main thread Reviewed by Tim Hatcher. * Misc/WebLocalizableStrings.m: Removed. * Misc/WebLocalizableStrings.mm: Copied from mac/Misc/WebLocalizableStrings.m. Renamed to use .mm extension so it can include a C++ header. (WebLocalizedString): Added an assertion that this is being called on the main thread. 2010-02-04 Dan Bernstein <mitz@apple.com> Reviewed by Simon Fraser. REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big https://bugs.webkit.org/show_bug.cgi?id=34371 * WebView/WebFrameView.mm: (-[WebFrameView _verticalPageScrollDistance]): Use Scrollbar methods instead of constants, and cap the scroll distance. (-[WebFrameView initWithFrame:]): Use Scrollbar::pixelsPerLineStep() instead of cScrollbarPixelsPerLineStep. (-[WebFrameView _horizontalPageScrollDistance]):Use Scrollbar methods instead of constants, and cap the scroll distance. 2010-02-01 Shinichiro Hamaji <hamaji@chromium.org> Reviewed by Eric Seidel. Provide a way to get page number with layoutTestController https://bugs.webkit.org/show_bug.cgi?id=33840 * Misc/WebCoreStatistics.h: * Misc/WebCoreStatistics.mm: (-[WebFrame pageNumberForElement:element:pageWidth:]): 2010-01-29 Gavin Barraclough <barraclough@apple.com> Reviewed by Sam Weinig + Oliver Hunt. Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds Pass processeing user gensture flag to media play/pause methods. * WebView/WebVideoFullscreenHUDWindowController.mm: (-[WebVideoFullscreenHUDWindowController setPlaying:]): 2010-02-01 Dan Bernstein <mitz@apple.com> Reviewed by Anders Carlsson. <rdar://problem/7044385> Crash at NetscapePlugInStreamLoader::didReceiveResponse() The crash was caused by having two streams with a streamID of 1. * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Fixed a typo. Now correctly increments m_currentURLRequestID to account for the manual stream. (WebKit::NetscapePluginInstanceProxy::disconnectStream): If the stream is the manual stream, null it out instead of trying to remove it from the map. Added an assertion. (WebKit::NetscapePluginInstanceProxy::loadRequest): Added an assertion. == Rolled over to ChangeLog-2010-01-29 ==