2011-04-19 Matthew Delaney 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 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 Reviewed by Mark Rowe. WebKit needs to stop importing https://bugs.webkit.org/show_bug.cgi?id=58798 Use public header 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 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 Switch HTTP pipelining from user default to private setting 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 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 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 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 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 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 Reviewed by Dan Bernstein. WebKit2: Password field input does not switch to ASCII-compatible source https://bugs.webkit.org/show_bug.cgi?id=58583 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 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 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 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 Reviewed by Gavin Barraclough. WebKit2 doesn't keep overlay scrollers shown while scroll gesture held * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize new WKSI functions. 2011-04-13 David Kilzer 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 Reviewed by Alexey Proskuryakov. Infinite recursion in WebHTMLView executeSavedKeypressCommands. https://bugs.webkit.org/show_bug.cgi?id=58382 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 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 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 * WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Added a comment explaining how this should be changed to match WebKit2. 2011-04-06 Timothy Hatcher 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 Unreviewed; roll out unintentional change to WebFullScreenController.mm. * WebView/WebFullScreenController.mm: (-[WebFullScreenController enterFullscreen:]): 2011-04-08 Geoffrey Garen Reviewed by Oliver Hunt. A few heap-related renames and file moves. WeakGCPtr => Weak Global => Strong 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 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 * WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Added a comment explaining how this should be changed to match WebKit2. 2011-04-08 Alpha Lam 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 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 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 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 Revert ENABLE_TRACK patch due to compile failures. * Configurations/FeatureDefines.xcconfig: 2011-04-07 Alexey Proskuryakov Reviewed by Anders Carlsson. REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri https://bugs.webkit.org/show_bug.cgi?id=58066 * 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 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 "", 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 "" to being "". 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 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 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 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 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 Didn't mean to land this. * Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView getVariable:value:]): 2011-04-04 David Kilzer CFNetwork and WebCore load priorities should match Reviewed by Alexey Proskuryakov. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Added initialization for wkSetHTTPPipeliningMaximumPriority(). 2011-04-04 Alexey Proskuryakov Reviewed by Dan Bernstein. REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2 https://bugs.webkit.org/show_bug.cgi?id=51230 * WebView/WebHTMLView.mm: (-[WebHTMLView flagsChanged:]): Moved Caps Lock handling from WebKits to WebCore, because WebKit shouldn't be smart. 2011-04-01 Alexey Proskuryakov 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 Reviewed by Sam Weinig. Shockwave plug-in doesn't accept mouse events https://bugs.webkit.org/show_bug.cgi?id=57653 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 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 Make momentum scroll event latching work in WebKit2 on Mac. 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 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 Patch by John Harvey, reviewed and tweaked by me. 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 Reviewed by Eric Seidel. 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 ==