blob: 513973483733b2c3f00cb7f7408630dbb7c3a86d [file] [log] [blame]
2011-04-19 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
WebPreferences in WebKit1 should have CanvasUsesAcceleratedDrawing set to NO by default
https://bugs.webkit.org/show_bug.cgi?id=58936
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
https://bugs.webkit.org/show_bug.cgi?id=58883
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
2011-04-18 Jia Pu <jpu@apple.com>
Reviewed by Mark Rowe.
WebKit needs to stop importing <AppKit/NSTextChecker.h>
https://bugs.webkit.org/show_bug.cgi?id=58798
<rdar://problem/9294938>
Use public header <AppKit/NSSpellChecker.h> instead.
* WebCoreSupport/CorrectionPanel.h:
* WebCoreSupport/CorrectionPanel.mm:
(correctionIndicatorType):
(CorrectionPanel::show):
(CorrectionPanel::dismissInternal):
(CorrectionPanel::handleAcceptedReplacement):
* WebCoreSupport/WebEditorClient.mm:
* WebView/WebView.mm:
2011-04-17 Cameron Zwarich <zwarich@apple.com>
Reviewed by Timothy Hatcher.
Stop using -[NSString initWithContentsOfFile:]
https://bugs.webkit.org/show_bug.cgi?id=58763
-[NSString initWithContentsOfFile:] was deprecated in 10.4, so we should stop using it.
* WebView/WebView.mm:
(leakMailQuirksUserScriptContents):
(leakOutlookQuirksUserScriptContents):
2011-04-17 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting
<rdar://problem/9268729>
Reviewed by Dan Bernstein.
This replaces support for the WebKitEnableHTTPPipelining user
default with methods on the WebCore::ResourceRequest class in
WebCore, the WebView class in WebKit1, and the WebContext class
in WebKit2. It also removes support for the
WebKitForceHTTPPipeliningPriorityHigh user default which was not
needed.
* WebView/WebView.mm:
(+[WebView(WebPrivate) _HTTPPipeliningEnabled]): Added.
(+[WebView(WebPrivate) _setHTTPPipeliningEnabled:]): Added.
* WebView/WebViewPrivate.h:
(+[WebView(WebPrivate) _HTTPPipeliningEnabled]): Added declaration.
(+[WebView(WebPrivate) _setHTTPPipeliningEnabled:]): Added declaration.
2011-04-17 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Dan Bernstein.
Assign to self in WebInspectorWindowController constructors
https://bugs.webkit.org/show_bug.cgi?id=58749
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]):
(-[WebInspectorWindowController initWithInspectedWebView:]):
2011-04-17 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Timothy Hatcher.
Move WebNodeHighlighter into its own file
https://bugs.webkit.org/show_bug.cgi?id=58746
Extract this class into its own file alongside the
other WebNodeHighlight files. In doing so do some
cleanup on WebInspectorClient removing some methods
that were never called.
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::WebInspectorClient): style fix.
* WebInspector/WebNodeHighlighter.h: Added.
* WebInspector/WebNodeHighlighter.mm: Added.
(-[WebNodeHighlighter initWithInspectedWebView:]): call super init.
(-[WebNodeHighlighter dealloc]):
(-[WebNodeHighlighter highlightNode:]):
(-[WebNodeHighlighter hideHighlight]):
(-[WebNodeHighlighter didAttachWebNodeHighlight:]):
(-[WebNodeHighlighter willDetachWebNodeHighlight:]):
2011-04-15 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
[Mac] WebKit needs to convert the bounding box of autocorrected word to view coordinate.
https://bugs.webkit.org/show_bug.cgi?id=58717
Convert the bounding box from window coordinate to view coordinate, which is expected by NSCorrectionPanel.
* WebCoreSupport/CorrectionPanel.mm:
(CorrectionPanel::show):
2011-04-15 Shishir Agrawal <shishir@chromium.org>
Reviewed by James Robinson.
Add a flag to guard Page Visibility API changes.
https://bugs.webkit.org/show_bug.cgi?id=58464
* Configurations/FeatureDefines.xcconfig:
2011-04-15 Oliver Hunt <oliver@apple.com>
GC allocate Structure
https://bugs.webkit.org/show_bug.cgi?id=58483
Rolling r83894 r83827 r83810 r83809 r83808 back in with
a workaround for the gcc bug seen by the gtk bots
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyRuntimeMethod::createStructure):
* Plugins/Hosted/ProxyRuntimeObject.h:
(WebKit::ProxyRuntimeObject::createStructure):
2011-04-14 Alexey Proskuryakov <ap@apple.com>
Reviewed by Dan Bernstein.
WebKit2: Password field input does not switch to ASCII-compatible source
https://bugs.webkit.org/show_bug.cgi?id=58583
<rdar://problem/9059651>
Now that WebCore doesn't set secure input mode, WebKit has to. Happily, it already has the
necessary logic, needed to return a nil text input context when in password fields.
* WebView/WebHTMLView.mm:
(-[WebHTMLView close]): If the view is still enforcing secure event mode, stop.
(-[WebHTMLView windowDidBecomeKey:]): Call _updateSecureInputState.
(-[WebHTMLView windowDidResignKey:]): Ditto.
(-[WebHTMLView becomeFirstResponder]): Call _updateSecureInputState. It's a bit tricky
because the first responder is still different an this point, so set a boolean variable to
let _updateSecureInputState know what's going on.
(-[WebHTMLView resignFirstResponder]): Disable secure event mode if it's on.
(-[WebHTMLView _updateSecureInputState]): Update HIToolbox secure event input state and
allowed input sources accorsing to current selection.
(-[WebHTMLView _updateSelectionForInputManager]): Call _updateSecureInputState.
2011-04-15 Sam Weinig <sam@webkit.org>
Reviewed by Maciej Stachowiak.
Make mac WebKit1 use the default localization strategy
https://bugs.webkit.org/show_bug.cgi?id=58628
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
Remove the localization strategy code. The equivalent is now
in WebCore/platform/DefaultLocalizationStrategy.cpp.
2011-04-15 Anna Cavender <annacc@chromium.org>
Reviewed by Eric Carlson.
Renaming TRACK feature define to VIDEO_TRACK
https://bugs.webkit.org/show_bug.cgi?id=53556
* Configurations/FeatureDefines.xcconfig:
2011-04-14 Pratik Solanki <psolanki@apple.com>
Reviewed by David Kilzer.
Set minimum priority for fast lane connections
https://bugs.webkit.org/show_bug.cgi?id=58353
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Support for new WKSI method WKSetHTTPPipeliningMinimumFastLanePriority.
2011-04-13 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
WebKit2 doesn't keep overlay scrollers shown while scroll gesture held
<rdar://problem/9260518>
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
Initialize new WKSI functions.
2011-04-13 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/58172> Fix -Wcast-align warning in WebBasePluginPackage.mm
Reviewed by Anders Carlsson.
Fixes the following warning with -Wcast-align enabled:
Source/WebKit/mac/Plugins/WebBasePluginPackage.mm:402:21:{402:21-402:93}{402:39-402:93}: error: cast from 'uint8_t *' (aka 'unsigned char *') to 'struct fat_arch *' increases required alignment from 1 to 4 [-Werror,-Wcast-align,3]
archs = (struct fat_arch*)((uint8_t*)rawData.data() + sizeof(struct fat_header));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage isNativeLibraryData:]): Added
COMPILE_ASSERT() to make sure our pointer math is valid.
Removed cast to (uint8_t*) and divide sizeof(struct fat_header)
by sizeof(uint32_t) to fix the pointer math. Replaced C-style
casts with reinterpret_cast.
2011-04-12 Enrica Casucci <enrica@apple.com>
Reviewed by Alexey Proskuryakov.
Infinite recursion in WebHTMLView executeSavedKeypressCommands.
https://bugs.webkit.org/show_bug.cgi?id=58382
<rdar://problem/9239370>
Execution of some editing commands could trigger a call to selectedRange that
internally calls executeSavedKeypressCommands creating an infinite recursion.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _executeSavedKeypressCommands]): Added a flag to avoid recursion.
(-[WebHTMLView _interpretKeyEvent:savingCommands:]): Added flag initialization.
2011-04-12 Alice Liu <alice.liu@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=58292
Provide new setting to allow site icon loading despite disabling automatic image loading in general.
* WebView/WebPreferenceKeysPrivate.h: Add preference key.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Initialize to false.
(-[WebPreferences setLoadsSiteIconsIgnoringImageLoadingPreference:]): Added.
(-[WebPreferences loadsSiteIconsIgnoringImageLoadingPreference]): Added.
* WebView/WebPreferencesPrivate.h: Add setter/getter definitions.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Add to settings that get propagated upon changes.
2011-04-11 Alexey Proskuryakov <ap@apple.com>
Reviewed by Maciej Stachowiak.
WebKit2: Safari doesn't respect cmd-arrows (and variations) as custom keyboard shortcuts
https://bugs.webkit.org/show_bug.cgi?id=58175
<rdar://problem/9060555>
* WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Added a comment explaining how this
should be changed to match WebKit2.
2011-04-06 Timothy Hatcher <timothy@apple.com>
Fix a bug where the context menu does not show in PDF documents if there is no
UI delegate or the UI delegate does not respond to the context menu selector.
https://webkit.org/b/57958
Reviewed by Darin Adler.
* WebView/WebView.mm:
(-[WebView _menuForElement:defaultItems:]): CallUIDelegate returns nil
if UIDelegate is nil or doesn't respond to the selector. So check that
here to distinguish between using defaultMenuItems or the delegate
really returning nil to say "no context menu".
2011-04-11 Jer Noble <jer.noble@apple.com>
Unreviewed; roll out unintentional change to WebFullScreenController.mm.
* WebView/WebFullScreenController.mm:
(-[WebFullScreenController enterFullscreen:]):
2011-04-08 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
A few heap-related renames and file moves.
WeakGCPtr<T> => Weak<T>
Global<T> => Strong<T>
collector/ => heap/
collector/* => heap/*
runtime/WeakGCPtr.h => heap/Weak.h
(Eventually, even more files should move into the heap directory. Like
Heap.h and Heap.cpp, for example.)
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
(WebKit::NetscapePluginInstanceProxy::evaluate):
* WebView/WebScriptDebugger.h:
2011-04-08 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
WebKit2: Safari doesn't respect cmd-arrows (and variations) as custom keyboard shortcuts
https://bugs.webkit.org/show_bug.cgi?id=58175
<rdar://problem/9060555>
* WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Added a comment explaining how this
should be changed to match WebKit2.
2011-04-08 Alpha Lam <hclam@chromium.org>
Unreviewed, rolling out r83335.
http://trac.webkit.org/changeset/83335
https://bugs.webkit.org/show_bug.cgi?id=53556
GTK and QT bots are broken
* Configurations/FeatureDefines.xcconfig:
2011-04-07 Anna Cavender <annacc@chromium.org>
Reviewed by Eric Carlson.
Setup ENABLE(TRACK) feature define
https://bugs.webkit.org/show_bug.cgi?id=53556
* Configurations/FeatureDefines.xcconfig:
2011-04-08 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin Adler.
-[WebView setPreferences:] can take a lot of time if loading lots of webviews at once
https://bugs.webkit.org/show_bug.cgi?id=58128
<rdar://problem/9244553>
The root of the problem here was an O(N^2) issue - each WebView,
upon having its preferences initialized, would broadcast a
notification that was listened to by all other WebViews sharing
its preferences.
To maintain the API contract, I split the notification into two,
one that is for public API consumption, and the other which is for
internal use only. Changes that don't need to be picked up by
other WebViews broadcast the public notification only. And we
avoid WebView broadcasting a notification just to get itself to
update.
* Misc/WebIconDatabase.mm:
(-[WebIconDatabase _startUpIconDatabase]):
(-[WebIconDatabase _shutDownIconDatabase]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
(-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
(-[WebBaseNetscapePluginView viewDidMoveToWindow]):
(-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
* WebView/WebPreferences.mm:
(-[WebPreferences initWithIdentifier:]):
(-[WebPreferences _setStringValue:forKey:]):
(-[WebPreferences _setIntegerValue:forKey:]):
(-[WebPreferences _setFloatValue:forKey:]):
(-[WebPreferences _setBoolValue:forKey:]):
(-[WebPreferences _setLongLongValue:forKey:]):
(-[WebPreferences _setUnsignedLongLongValue:forKey:]):
(-[WebPreferences _postPreferencesChangedNotification]):
(-[WebPreferences _postPreferencesChangedAPINotification]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView _preferencesChangedNotification:]):
(-[WebView _preferencesChanged:]):
(-[WebView setUsesPageCache:]):
(+[WebView initialize]):
(-[WebView setPreferences:]):
(-[WebView _keyboardUIMode]):
* WebView/WebViewInternal.h:
2011-04-07 Andrew Scherkus <scherkus@chromium.org>
Revert ENABLE_TRACK patch due to compile failures.
* Configurations/FeatureDefines.xcconfig:
2011-04-07 Alexey Proskuryakov <ap@apple.com>
Reviewed by Anders Carlsson.
REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
https://bugs.webkit.org/show_bug.cgi?id=58066
<rdar://problem/8965302>
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView attributedSubstringFromRange:]):
(-[WebHTMLView attributedString]):
(-[WebHTMLView selectedAttributedString]):
Updated for editingAttributedStringFromRange: now taking a WebCore::Range instead of DOMRange.
2011-04-07 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
REGRESSION (r64712): Microsoft Outlook 2011: original message contents
not included when replying to an email.
https://bugs.webkit.org/show_bug.cgi?id=57794
Outlook populates a reply message by creating an empty WebView and
using DOM API to populate the WebView's empty document with content
from the original message. It expects the initial empty document to
simply be "<html></html>", and it proceeds to dynamically create and
append a BODY node and add the original message content as a child of
that node. Outlook then takes the innerHTML of the frame's first body
element and copies it into a *new* document that is displayed and
edited in the reply message window.
Due to implementing the HTML5 tree building algorithm in r64712,
initial empty documents went from being "<html></html>" to being
"<html><head></head><body></body></html>". Outlook still dynamically
creates a BODY node to parent the original message content, but this
BODY node duplicates the one created by the tree builder. When Outlook
then takes the innerHTML of the first body element to populate the
reply message window it gets the empty body element created by the
parser, not the one it created with the original message content.
Fix this by injecting a user script into the initial empty document
that removes the HEAD and BODY nodes created by the parser. This
ensures that the BODY created by Outlook is the only BODY in the
document.
* Misc/OutlookQuirksUserScript.js: Added.
* WebView/WebView.mm:
(leakMailQuirksUserScriptContents):
(-[WebView _injectMailQuirksScript]):
(needsOutlookQuirksScript):
(leakOutlookQuirksUserScriptContents):
(-[WebView _injectOutlookQuirksScript]):
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2011-04-06 Dai Mikurube <dmikurube@chromium.org>
Reviewed by David Levin.
Add QUOTA build flag for unified quota API
https://bugs.webkit.org/show_bug.cgi?id=57918
* Configurations/FeatureDefines.xcconfig: Added QUOTA build flag
2011-04-06 Robert Sesek <rsesek@chromium.org>
Reviewed by Alexey Proskuryakov.
Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
https://bugs.webkit.org/show_bug.cgi?id=54969
* WebView/WebFrame.mm:
(-[WebFrame _convertToNSRange:]): Moved duplicated code to WebCore
(-[WebFrame _characterRangeAtPoint:]): Moved duplicated code to WebCore
2011-04-05 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
Move attributedStringFromRange down to WebCore
https://bugs.webkit.org/show_bug.cgi?id=57905
* Misc/WebNSAttributedStringExtras.h: Removed.
* Misc/WebNSAttributedStringExtras.mm: Removed.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
(-[WebHTMLView attributedSubstringFromRange:]):
(-[WebHTMLView attributedString]):
(-[WebHTMLView selectedAttributedString]):
* WebView/WebPDFView.mm:
(-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
2011-04-04 MORITA Hajime <morrita@google.com>
Reviewed by Ryosuke Niwa.
[Refactoring] SpellCheckingResult should be replaced with TextCheckingResult
https://bugs.webkit.org/show_bug.cgi?id=56085
Removed NSTextCheckingResult to SpellCheckingResult convertion, and extracted
NSTextCheckingResult to TextCheckingResult convertio from checkTextOfParagraph method.
for requestCheckingOfString method.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(toCoreTextCheckingResults):
(WebEditorClient::checkTextOfParagraph):
(-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:types:WebCore::results:]):
(-[WebEditorSpellCheckResponder perform]):
(WebEditorClient::requestCheckingOfString):
* WebView/WebFrame.mm:
(-[WebFrame markersForSelectionStartAsText]):
* WebView/WebFramePrivate.h:
2011-04-05 Anders Carlsson <andersca@apple.com>
Didn't mean to land this.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView getVariable:value:]):
2011-04-04 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match
Reviewed by Alexey Proskuryakov.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Added initialization for
wkSetHTTPPipeliningMaximumPriority().
2011-04-04 Alexey Proskuryakov <ap@apple.com>
Reviewed by Dan Bernstein.
REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=51230
<rdar://problem/8780989>
* WebView/WebHTMLView.mm: (-[WebHTMLView flagsChanged:]): Moved Caps Lock handling from
WebKits to WebCore, because WebKit shouldn't be smart.
2011-04-01 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
REGRESSION: Assertion failure when executing a complex custom key binding
https://bugs.webkit.org/show_bug.cgi?id=57681
* WebView/WebHTMLView.mm: (-[WebHTMLView hasMarkedText]): There is no need to execute saved
commands when they can't possibly change the result.
2011-04-01 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Shockwave plug-in doesn't accept mouse events
https://bugs.webkit.org/show_bug.cgi?id=57653
<rdar://problem/8483273>
Fix an unrelated bug found by the added test.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
Make sure to always set destX and destY.
2011-04-01 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
Make WebKit2 text input handling more like WebKit1
https://bugs.webkit.org/show_bug.cgi?id=57649
* WebView/WebFrameInternal.h: Expose _convertToDOMRange for use in WebHTMLView.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _executeSavedKeypressCommands]): Renamed, since these are not editor commands.
(-[WebHTMLView _interpretKeyEvent:savingCommands:]): Updated for the renamed _executeSavedKeypressCommands.
(-[WebHTMLView characterIndexForPoint:]): Ditto.
(-[WebHTMLView firstRectForCharacterRange:]): Ditto.
(-[WebHTMLView selectedRange]): Ditto.
(-[WebHTMLView markedRange]): Ditto.
(-[WebHTMLView attributedSubstringFromRange:]): Ditto.
(-[WebHTMLView hasMarkedText]): Ditto.
(-[WebHTMLView unmarkText]): Ditto.
(-[WebHTMLView setMarkedText:selectedRange:]): Ditto. Changed the comment about the argument
type into an assertion. Removed resetting interpretKeyEventsParameters to 0, as we shouldn't
be able to call text input protocol methods from here (and we didn't even reset it back on
return). Changed to retrieve all data before starting to apply actions to better match WK2 code.
(-[WebHTMLView insertText:]): Ditto.
2011-04-01 Timothy Hatcher <timothy@apple.com>
Make momentum scroll event latching work in WebKit2 on Mac.
<rdar://problem/8751861>
Reviewed by Darin Adler.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Remove IsLatchingWheelEvent, add GetNSEventMomentumPhase.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView scrollWheel:]): Use WKGetNSEventMomentumPhase to set isLatchingEvent.
2011-03-31 Darin Adler <darin@apple.com>
Reviewed by Anders Carlsson.
Assertion failure in -[WebHTMLView _handleStyleKeyEquivalent:]
https://bugs.webkit.org/show_bug.cgi?id=26667
* WebView/WebHTMLView.mm:
(-[WebHTMLView _handleStyleKeyEquivalent:]): Handle the case where WebView is
nil rather than asserting that it is non-nil. One case where WebView will be nil
is when the frame is closed, but in any case where it is nil, the correct thing
to do is to not try to handle the style key.
2011-03-31 Alexey Proskuryakov <ap@apple.com>
Patch by John Harvey, reviewed and tweaked by me.
<rdar://problem/8644403> Should notify TSM that plug-ins would show a bottom input window for marked text.
* Plugins/Hosted/WebTextInputWindowController.m:
(-[WebTextInputPanel _interpretKeyEvent:string:]):
2011-03-31 Evan Martin <evan@chromium.org>
Reviewed by Eric Seidel.
<title> should support dir attribute
https://bugs.webkit.org/show_bug.cgi?id=50961
Update to new FrameLoaderClient interface.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidReceiveTitle):
(WebFrameLoaderClient::setTitle):
2011-03-30 Dominic Cooney <dominicc@google.com>
Reviewed by Dimitri Glazkov.
Adds layoutTestController.shadowRoot accessor to Mac DRT.
https://bugs.webkit.org/show_bug.cgi?id=57415
* DOM/WebDOMOperations.mm:
(-[DOMElement _shadowRoot:]):
* DOM/WebDOMOperationsPrivate.h:
2011-03-30 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
WebHTMLView shouldn't resend noop: commands
https://bugs.webkit.org/show_bug.cgi?id=57504
<rdar://problem/9209390>
* WebView/WebHTMLView.mm: (-[WebHTMLView _executeSavedEditingCommands]): Filter out NOOPs,
which we get e.g. when handling Cmd-key combos.
2011-03-30 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
REGRESSION (r82320): Spacebar no longer pages down
https://bugs.webkit.org/show_bug.cgi?id=57423
<rdar://problem/9207702>
Also includes some unrelated cleanup that I had in my tree.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _interpretKeyEvent:savingCommands:]): Added an assertion that the event is
being dispatched to the right frame.
(-[WebHTMLView setMarkedText:selectedRange:]): Use 0 for a pointer, not NULL.
(-[WebHTMLView doCommandBySelector:]): Update eventInterpretationHadSideEffects with "|=".
Even if this specific command hasn't been handled, that doesn't nullify side effects from
previous commands.
(-[WebHTMLView insertText:]): Besides looking at the return value of insertText() to fix the
bug, removed setting _private->interpretKeyEventsParameters to 0. I don't see any way for
another WebHTMLView NSTextInput method to be called from within insertText:, so no one is
going to look at it.
2011-03-30 Sam Weinig <sam@webkit.org>
Reviewed by Brady Eidson.
WebKit2: Attempting to view css file from url causes it to download
<rdar://problem/9102611>
https://bugs.webkit.org/show_bug.cgi?id=57501
* WebView/WebHTMLRepresentation.h:
* WebView/WebHTMLRepresentation.mm:
(+[WebHTMLRepresentation unsupportedTextMIMETypes]):
* WebView/WebHTMLView.mm:
(+[WebHTMLView unsupportedTextMIMETypes]):
Re-factor unsupportedTextMIMETypes to pull from WebCore's
MIMETypeRegistry, so that the list can be shared with WebKit2.
2011-03-29 Beth Dakin <bdakin@apple.com>
Reviewed by Maciej Stachowiak.
Fix for https://bugs.webkit.org/show_bug.cgi?id=57408
webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard
-and corresponding-
<rdar://problem/8665411>
* Misc/WebNSControlExtras.m:
(-[NSControl sizeToFitAndAdjustWindowHeight]):
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::scaleFactor):
* WebView/WebHTMLView.mm:
(-[WebHTMLView viewDidMoveToWindow]):
(-[WebHTMLView attachRootLayer:]):
2011-03-29 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Make validation message bubble testable
https://bugs.webkit.org/show_bug.cgi?id=57290
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Copy the private value of
the timer magnification to WebCore::Settings.
(-[WebView validationMessageTimerMagnification]): Added.
(-[WebView setValidationMessageTimerMagnification:]): Added.
* WebView/WebViewData.h: Declare a member for the timer magnification.
* WebView/WebViewData.mm:
(-[WebViewPrivate init]): Initialize the timer magnification.
* WebView/WebViewPrivate.h:
Declare a setter and a getter for the timer magnification.
2011-03-29 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
[Mac] Enable interactive-validation tests on Mac DRT
https://bugs.webkit.org/show_bug.cgi?id=57308
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
Convey a WebView flag for interactive validation to WebCore::Settings.
(-[WebView interactiveFormValidationEnabled]): Added.
(-[WebView setInteractiveFormValidationEnabled:]): Added.
* WebView/WebViewData.h: Add interactiveFormValidationEnabled.
* WebView/WebViewData.mm:
(-[WebViewPrivate init]): Initialize interactiveFormValidationEnabled.
* WebView/WebViewPrivate.h: Add setter and getter for interactiveFormValidationEnabled.
2011-03-29 Timothy Hatcher <timothy@apple.com>
Update the order of the context menu to better match AppKit on Mac.
<rdar://problem/9054893>
Reviewed by John Sullivan.
* DefaultDelegates/WebDefaultContextMenuDelegate.mm:
(-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): Update the order of items.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::contextMenuItemTagLookUpInDictionary): Added argument for selected string.
2011-03-29 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=57379
Clean up WK1 key event handling logic
No bugs knowingly fixed, but this makes the code more consistent.
* WebView/WebHTMLView.mm:
(struct WebHTMLViewInterpretKeyEventsParameters): Renamed eventWasHandled to
eventInterpretationHadSideEffects, because "handled" doesn't really mean much.
(-[WebHTMLView _executeSavedEditingCommands]): Factored out from _interpretKeyEvent for use
from other functions. We need to execute saved commands when an input method asks for current
state, because providing stale state could confuse it.
(-[WebHTMLView _interpretKeyEvent:savingCommands:]): Heavily commented, and updated for other
changes.
(-[WebHTMLView characterIndexForPoint:]): Call _executeSavedEditingCommands, because otherwise,
the answer would be stale.
(-[WebHTMLView firstRectForCharacterRange:]): Ditto.
(-[WebHTMLView selectedRange]): Ditto.
(-[WebHTMLView markedRange]): Ditto.
(-[WebHTMLView attributedSubstringFromRange:]): Ditto.
(-[WebHTMLView hasMarkedText]): Ditto.
(-[WebHTMLView unmarkText]): Call _executeSavedEditingCommands, because otherwise, we'd be
operating on stale data. Also, updated for eventWasHandled renaming.
(-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
(-[WebHTMLView doCommandBySelector:]): Removed special handling for noop:. I verified that
it's no longer needed for bug 14522, presumably due to WebCore level changes. It was also
fragile, because there is no guarantee about when noop: is sent (also, a custom key binding
could have a noop: as one of its commands, although that's hardly practical).
Added the same "from input method" logic that we have in insertText: - I don't know of any
IMs that call this method, but we clearly need to execute it as part of IM processing when
there is marked text.
(-[WebHTMLView insertText:]): Removed a confusing check for [text length]. Always set
eventInterpretationHadSideEffects to true, becasue there is no reason to try multiple times
if current selection isn't editable. This is different from doCommandBySelector:, where we
need to give super class a chance to handle the event if our processing fails.
Removed a nonsense "consumedByIM = true" assignment - we no longer need it now that the
return value of _interpretKeyEvent is computed differently.
2011-03-28 Adele Peterson <adele@apple.com>
Reviewed by Eric Seidel.
Fix for <rdar://problem/9112694> REGRESSION (r79411): "Check grammar with spelling" context menu doesn't check as you type
https://bugs.webkit.org/show_bug.cgi?id=57173
* WebView/WebFrame.mm:
(-[WebFrame hasSpellingMarker:length:]): Call new selectionStartHasMarkerFor method instead of selectionStartHasSpellingMarkerFor.
(-[WebFrame hasGrammarMarker:length:]): Call new selectionStartHasMarkerFor method.
* WebView/WebFramePrivate.h: Add hasGrammarMarker so grammar marking can be tested.
2011-03-28 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=57260
Clean up text input code a little
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::handleKeyboardEvent):
(WebEditorClient::handleInputMethodKeydown):
* WebView/WebHTMLViewInternal.h:
Renamed _interceptEditingKeyEvent:shouldSaveCommand:, becasue it doesn't really intercept
anything. It's just a version it interpretKeyEvents: that tells us whether it was handled,
and also possibly saves resulting commands for later execution.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _interpretKeyEvent:savingCommands:]): Changed to use early return. Changed
return value in case platformEvent is null to be less mysterious. Moved receivedNOOP from
WebHTMLViewPrivate to WebHTMLViewInterpretKeyEventsParameters, as this is just part of event
handling state, like the other booleans there. Don't call interpretKeyEvents: again simply
because the first call resulted in no saved commands, becasue it's confusing and apparently
useless (I couldn't find any broken behavior).
(-[WebHTMLView unmarkText]): Cleaned upo BOOL vs. bool constants.
(-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
(-[WebHTMLView doCommandBySelector:]): Ditto.
(-[WebHTMLView insertText:]): Ditto.
* WebView/WebViewInternal.h: There was no _interceptEditingKeyEvent:shouldSaveCommand:
method on WebView.
2011-03-27 Jer Noble <jer.noble@apple.com>
Reviewed by Maciej Stachowiak.
Full Screen: disable keyboard access by default
https://bugs.webkit.org/show_bug.cgi?id=56684
Take into account whether keyboard access was requested when deciding whether full
screen mode is supported.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::supportsFullScreenForElement):
* WebView/WebView.mm:
(-[WebView _supportsFullScreenForElement:WebCore::withKeyboard:]):
* WebView/WebViewInternal.h:
2011-03-26 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
Enable the Full Screen API by default in WebKit/mac and WebKit2
https://bugs.webkit.org/show_bug.cgi?id=56956
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Default the WebKitFullScreenEnabled preference to true.
2011-03-25 Andy Estes <aestes@apple.com>
Reviewed by Adele Peterson.
REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
https://bugs.webkit.org/show_bug.cgi?id=49016
Update objectContentType() implementation to handle the
shouldPreferPlugInsForImages flag.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::objectContentType):
2011-03-24 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r81939.
http://trac.webkit.org/changeset/81939
https://bugs.webkit.org/show_bug.cgi?id=57084
Rolling out 81939, as it's causing a number of app cache test
failures. (Requested by jernoble on #webkit).
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2011-03-23 Jer Noble <jer.noble@apple.com>
Reviewed by Maciej Stachowiak.
Application Cache should save audio/ and video/ mime types as flat files
https://bugs.webkit.org/show_bug.cgi?id=53784
<rdar://problem/8932473>
No new tests.
Initialize the AppCache Total size quotas with the values for WebKitPreferences
upon startup.
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2011-03-24 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r81916 and r81917.
http://trac.webkit.org/changeset/81916
http://trac.webkit.org/changeset/81917
https://bugs.webkit.org/show_bug.cgi?id=57071
broke a test on platforms that do not have QuickTime installed
(Requested by estes on #webkit).
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::objectContentType):
2011-03-24 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
https://bugs.webkit.org/show_bug.cgi?id=49016
Update objectContentType() implementation to handle the
shouldPreferPlugInsForImages flag.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::objectContentType):
2011-03-24 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Ensure that all compilation takes place within a dynamic global object scope
https://bugs.webkit.org/show_bug.cgi?id=57054
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame evaluateWebScript:]): Updated for signature change.
2011-03-24 Jia Pu <jpu@apple.com>
Reviewed by Darin Adler.
Dismissed reversion suggestion is incorrectly learned.
https://bugs.webkit.org/show_bug.cgi?id=57039
CorrectionPanel should always use [NSSpellChecker dismissCorrectionBubbleForView].
[NSSpellChecker cancelCorrectionBubbleForView] is reserved for situation where correction panel
is dismissed explicitly by ESC key or clicking the dimiss button. Misusing these causes
incorrect automatic learning.
* WebCoreSupport/CorrectionPanel.mm:
(CorrectionPanel::dismissInternal):
2011-03-24 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/56993> ENABLE_PLUGIN_PROXY_FOR_VIDEO should be defined to 0 on Mac OS X
Reviewed by Joseph Pecoraro.
* Plugins/WebPluginContainerPrivate.h: Changed value of
ENABLE_PLUGIN_PROXY_FOR_VIDEO from 1 to 0.
2011-03-23 Jia Pu <jpu@apple.com>
Reviewed by Darin Adler.
Hook up new AppKit autocorrection UI with WK2.
https://bugs.webkit.org/show_bug.cgi?id=56055
<rdar://problem/8947463>
Please see WebCore/ChangeLog for detail.
* WebCoreSupport/CorrectionPanel.h: Added.
(CorrectionPanel::isShowing):
* WebCoreSupport/CorrectionPanel.mm: Added.
(correctionBubbleType):
(CorrectionPanel::CorrectionPanel):
(CorrectionPanel::~CorrectionPanel):
(CorrectionPanel::show):
(CorrectionPanel::dismiss):
(CorrectionPanel::dismissSoon):
(CorrectionPanel::dismissInternal):
(CorrectionPanel::recordAutocorrectionResponse):
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::WebEditorClient):
(WebEditorClient::showCorrectionPanel):
(WebEditorClient::dismissCorrectionPanel):
(WebEditorClient::dismissCorrectionPanelSoon):
(WebEditorClient::recordAutocorrectionResponse):
* WebView/WebView.mm:
(-[WebView handleCorrectionPanelResult:]):
* WebView/WebViewPrivate.h:
2011-03-23 Enrica Casucci <enrica@apple.com>
Reviewed by Alexey Proskuryakov.
Services menu item to convert selected Simplified/Traditional Chinese Text is not working.
https://bugs.webkit.org/show_bug.cgi?id=56974
<rdar://problem/8284642>
This fixes a regression introduced by http://trac.webkit.org/changeset/61794
where readSelectionFromPasteboard was accidentally removed.
This method and writeSelectionToPasteboard are needed to support Mac OS X
services.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Added.
(-[WebHTMLView readSelectionFromPasteboard:]): Added.
2011-03-23 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
Change IconDatabase opening to allow for arbitrary filenames
https://bugs.webkit.org/show_bug.cgi?id=56977
* Misc/WebIconDatabase.mm:
(-[WebIconDatabase _startUpIconDatabase]):
2011-03-22 Anton D'Auria <adauria@apple.com>
Reviewed by Alexey Proskuryakov.
Add +[WebApplicationCache getOriginsWithCache]
https://bugs.webkit.org/show_bug.cgi?id=56722
Call existing WebCore::ApplicationCacheStorage::getOriginsWithCache API.
* WebCoreSupport/WebApplicationCache.h:
* WebCoreSupport/WebApplicationCache.mm:
(+[WebApplicationCache originsWithCache]):
2011-03-22 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
OBJECT element with DivX source is always downloaded
https://bugs.webkit.org/show_bug.cgi?id=56879
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage getPluginInfoFromPLists]):
Always try to split every element in the "WebPluginExtensions" array, since the DivX plug-in
specifies multiple file extensions in a single element.
2011-03-22 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56876
WK2 Icon DB: Expand IconDatabaseClient interface and move it to the main thread
Note that while the new client calls always come through on the main thread, our mechanisms to
route dispatches to the main thread are still valid and will still work.
Update to the new IconDatabaseClient interface:
* WebCoreSupport/WebIconDatabaseClient.h:
* WebCoreSupport/WebIconDatabaseClient.mm:
(WebIconDatabaseClient::didRemoveAllIcons):
(WebIconDatabaseClient::didImportIconURLForPageURL):
(WebIconDatabaseClient::didImportIconDataForPageURL):
(WebIconDatabaseClient::didChangeIconForPageURL):
(WebIconDatabaseClient::didFinishURLImport):
2011-03-22 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Have WebKit push acceleratedDrawing preferences to settings
https://bugs.webkit.org/show_bug.cgi?id=56792
* WebView/WebView.mm:
2011-03-21 Nate Chapin <japhet@chromium.org>
Reviewed by Brady Eidson.
Expose a preference to use caching quirks for QuickLook,
and use it if the QuickLook framework is loaded.
https://bugs.webkit.org/show_bug.cgi?id=38690
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(useQuickLookQuirks):
(+[WebPreferences initialize]):
(-[WebPreferences useQuickLookResourceCachingQuirks]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2011-03-21 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
AX: showContextMenu not working in WK2
https://bugs.webkit.org/show_bug.cgi?id=56734
Implement showContextMenu() so accessibility related code can call this
independent of whether WK1 or WK2 is running.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::showContextMenu):
2011-03-21 Chang Shu <cshu@webkit.org>
Reviewed by Alexey Proskuryakov.
REGRESSION (r79953): Can't type in MS Outlook 2011
https://bugs.webkit.org/show_bug.cgi?id=56665
r79953 removed the WebView level editablity which is persistent no matter whether
underlying document itself is changed and editability gets lost. The resolution is to
set this WebView editable value to WebCore. This avoids the callback from WebCore to
WebKit which was the main goal in r79953 to improve performance.
* WebView/WebView.mm:
(-[WebView setEditable:]):
(-[WebView isEditable]):
2011-03-19 Anton D'Auria <adauria@apple.com>
Reviewed by Alexey Proskuryakov.
ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin
https://bugs.webkit.org/show_bug.cgi?id=56415
Use new ApplicationCache API to delete all cache for an origin.
* WebCoreSupport/WebApplicationCache.h:
* WebCoreSupport/WebApplicationCache.mm:
(+[WebApplicationCache deleteOrigin:]):
2011-03-17 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=56425
More groundwork for WebKit2 IconDatabase
Update already-used function names:
* Misc/WebIconDatabase.mm:
(-[WebIconDatabase iconForURL:withSize:cache:]):
(-[WebIconDatabase iconURLForURL:]):
* WebView/WebView.mm:
(-[WebView _dispatchDidReceiveIconFromWebFrame:]):
2011-03-18 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: implement inspector session storage.
https://bugs.webkit.org/show_bug.cgi?id=56643
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::saveSessionSetting):
(WebInspectorClient::loadSessionSetting):
(WebInspectorFrontendClient::saveSessionSetting):
(WebInspectorFrontendClient::loadSessionSetting):
(-[WebInspectorWindowController inspectorClient]):
2011-03-17 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Fixed a leak seen on the buildbot.
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::openInspectorFrontend): Smart pointers are smart.
2011-03-16 Jeff Johnson <github@lapcatsoftware.com>
Reviewed by Alexey Proskuryakov.
Logic error in -[WebHTMLView close]
https://bugs.webkit.org/show_bug.cgi?id=56445
Page is always nil at this point, because [self _webView] is nil,
so the conditional code is never run.
* WebView/WebHTMLView.mm:
(-[WebHTMLView close]):
2011-03-16 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
WK2: Need to propagate enhanced accessibility flag from UI -> web process
https://bugs.webkit.org/show_bug.cgi?id=56379
* WebView/WebFrame.mm:
(-[WebFrame accessibilityRoot]):
2011-03-15 Oliver Hunt <oliver@apple.com>
Reviewed by Geoffrey Garen.
Make Structure creation require a JSGlobalData
https://bugs.webkit.org/show_bug.cgi?id=56438
Mechanical change to make all Structure creation use a JSGlobalData&
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyRuntimeMethod::createStructure):
* Plugins/Hosted/ProxyRuntimeObject.h:
(WebKit::ProxyRuntimeObject::createStructure):
2011-03-15 Alexey Proskuryakov <ap@apple.com>
Forgot to save a modification to this file when committing.
* WebCoreSupport/WebKeyGenerator.mm: Changed "Apple Computer" to "Apple" in copyright header.
2011-03-15 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
REGRESSION (WebKit2): keygen element doesn't work
https://bugs.webkit.org/show_bug.cgi?id=56402
<rdar://problem/9006545>
* WebCoreSupport/WebKeyGenerator.h:
* WebCoreSupport/WebKeyGenerator.m: Removed.
* WebCoreSupport/WebKeyGenerator.mm: Copied from Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.m.
(+[WebKeyGenerator sharedGenerator]):
(toWebCertificateParseResult):
WebCore no longer needs WebKeyGenerator. Safari still does need a part of it, so keeping
this misnamed and misplaced code for now.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::keygenMenuItem512):
(WebPlatformStrategies::keygenMenuItem1024):
(WebPlatformStrategies::keygenMenuItem2048):
(WebPlatformStrategies::keygenKeychainItemName):
Added strings used by keygen.
* WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize a WebCore
pointer to a function used by keygen.
* WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): WebKeyGenerator can be lazily
initialized now.
2011-03-15 Beth Dakin <bdakin@apple.com>
Reviewed by Simon Fraser.
WebKit part of <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6%
New WebKitystemInterface function to force the scrollbars to flash
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2011-03-15 Ilya Sherman <isherman@chromium.org>
Reviewed by Tony Chang.
Autofilled form elements are assigned fixed background color but not text color
https://bugs.webkit.org/show_bug.cgi?id=48382
* DOM/WebDOMOperations.mm:
(-[DOMHTMLInputElement _setAutofilled:]): Added (wrapper).
* DOM/WebDOMOperationsPrivate.h:
2011-03-15 Adam Roben <aroben@apple.com>
Fix a leak in WebStorageTrackerClient::dispatchDidModifyOrigin
Fixes <http://webkit.org/b/56385> SecurityOrigin leaks seen in
WebStorageTrackerClient::dispatchDidModifyOrigin
Reviewed by Antti Koivisto.
* Storage/WebStorageTrackerClient.mm:
(WebStorageTrackerClient::dispatchDidModifyOriginOnMainThread): Adopt the reference passed
to us by dispatchDidModifyOrigin.
(WebStorageTrackerClient::dispatchDidModifyOrigin): Added a comment and removed an
unnecessary cast.
2011-03-15 Kevin Ollivier <kevino@theolliviers.com>
Reviewed by Darin Adler.
Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
info into the headers rather than in export symbol definition files, but disable it on
all platforms initially so we can deal with port build issues one port at a time.
https://bugs.webkit.org/show_bug.cgi?id=27551
* WebKitPrefix.h:
2011-03-14 Brady Eidson <beidson@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=56320
Remove HistoryItem::icon() and the WebCore dependency on "IconDatabaseBase::defaultIcon()"
* History/WebHistoryItem.mm:
(-[WebHistoryItem icon]): This far-future FIXME is now irrelevant.
2011-03-13 Pratik Solanki <psolanki@apple.com>
Reviewed by Brady Eidson.
Make adjustMIMETypeIfNecessary use CFNetwork directly
https://bugs.webkit.org/show_bug.cgi?id=55912
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Support for new WKSI functions.
2011-03-12 Mark Rowe <mrowe@apple.com>
Fix the 32-bit build.
* Carbon/CarbonWindowAdapter.mm:
(-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): Use a more appropriate format specifier.
(-[CarbonWindowAdapter _carbonWindowClass]): Ditto.
2011-03-11 Brady Eidson <beidson@apple.com>
Reviewed by Anders Carlsson
<rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216
Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation.
* Misc/WebIconDatabase.mm:
(+[WebIconDatabase _checkIntegrityBeforeOpening]): Call these static methods on IconDatabase::, not iconDatabase().
(-[WebIconDatabase _startUpIconDatabase]): Ditto.
(importToWebCoreFormat):
2011-03-11 Anton D'Auria <adauria@apple.com>
Reviewed and landed by Brady Eidson.
https://bugs.webkit.org/show_bug.cgi?id=51878
Add WebKit1 API to view and delete local storage
* Storage/WebStorageManager.mm: Added.
(+[WebStorageManager sharedWebStorageManager]):
(-[WebStorageManager origins]):
(-[WebStorageManager deleteAllOrigins]):
(-[WebStorageManager deleteOrigin:]):
(-[WebStorageManager syncLocalStorage]):
(-[WebStorageManager syncFileSystemAndTrackerDatabase]):
(storageDirectoryPath):
(WebKitInitializeStorageIfNecessary):
* Storage/WebStorageManagerInternal.h: Added.
* Storage/WebStorageManagerPrivate.h: Added.
* Storage/WebStorageTrackerClient.h: Added.
* Storage/WebStorageTrackerClient.mm: Added.
(WebStorageTrackerClient::sharedWebStorageTrackerClient):
(WebStorageTrackerClient::WebStorageTrackerClient):
(WebStorageTrackerClient::~WebStorageTrackerClient):
(WebStorageTrackerClient::dispatchDidModifyOriginOnMainThread):
(WebStorageTrackerClient::dispatchDidModifyOrigin):
* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin protocol]):
(-[WebSecurityOrigin host]):
(-[WebSecurityOrigin databaseIdentifier]):
(-[WebSecurityOrigin domain]):
(-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
* WebCoreSupport/WebSecurityOriginPrivate.h:
* WebKit.exp:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2011-03-10 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/9117047>
Don't paint more than 60 times per second even when scrolling
* WebView/WebClipView.mm:
(-[WebClipView _immediateScrollToPoint:]):
2011-03-09 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Plumb through settings for accelerated drawing for canvas
https://bugs.webkit.org/show_bug.cgi?id=56039
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
* WebView/WebPreferencesPrivate.h:
2011-03-10 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
VisiblePosition's next and previous should take an enum instead of a boolean
https://bugs.webkit.org/show_bug.cgi?id=56135
SelectionController::isAll now takes EditingBoundaryCrossingRule instead of
StayInEditableContent.
* WebView/WebView.mm:
(-[WebView _selectionIsAll]):
2011-03-09 Jessie Berlin <jberlin@apple.com>
Reviewed by Adam Roben.
Use the Cookie Storage from the Private Browsing Storage Session directly
https://bugs.webkit.org/show_bug.cgi?id=55986
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2011-03-08 Darin Adler <darin@apple.com>
Reviewed by Timothy Hatcher.
Promote a method used outside WebKit from internal to private
https://bugs.webkit.org/show_bug.cgi?id=55949
* Misc/WebNSPasteboardExtras.mm: Removed an unused category declaration.
Minor tweak, not directly related to the rest of this patch.
* WebView/WebFrame.mm:
(-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]): Moved
this method from the internal category into the private category.
Streamlined the code a bit.
* WebView/WebFrameInternal.h: Removed _computePageRects method.
* WebView/WebFramePrivate.h: Added _computePageRects method.
2011-03-07 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Darin Adler.
selectionHasStyle and selectionStartHasStyle should use EditingStyle
https://bugs.webkit.org/show_bug.cgi?id=55902
selectionHasStyle now takes a property id and a value instead of a CSSMutableStyleDeclaration.
* WebView/WebHTMLView.mm: Removed unused selectionHasStyle.
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Calls Editor::selectionHasStyle.
2011-03-07 Dan Bernstein <mitz@apple.com>
LLVM Compiler build fix.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::checkGrammarOfString):
2011-03-07 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
AX: WK1 needs to use ScrollView attachment for AXScrollArea, WK2 does not
https://bugs.webkit.org/show_bug.cgi?id=55706
Make sure WebDynamicScrollBarsView appear in the AX tree in WK1 (since this object
returns the scroll bar objects).
Make the accessibilityRoot object be the web area in WK1 because WebDynamicScrollBarsView
will expect that as its child, instead of the WebCore ScrollView object.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView accessibilityIsIgnored]):
* WebView/WebFrame.mm:
(-[WebFrame accessibilityRoot]):
2011-03-07 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse
https://bugs.webkit.org/show_bug.cgi?id=55827
Renamed FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse
and pass the entire response, instead of just the MIMEType.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
2011-03-06 Dan Bernstein <mitz@apple.com>
LLVM Compiler build fix.
* DOM/WebDOMOperations.mm:
(-[DOMHTMLInputElement _setValueForUser:]):
2011-03-06 Jessie Berlin <jberlin@apple.com>
Reviewed by Sam Weinig.
WebKit2: Use CFNetwork Sessions API.
https://bugs.webkit.org/show_bug.cgi?id=55435.
When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
Private Browsing Storage Session.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
Add support for using the new WKSI functions in WebCore.
2011-03-05 Ilya Sherman <isherman@chromium.org>
Reviewed by Darin Adler.
HTMLInputElement::setValue() should schedule change event when the element is focused
In service of https://code.google.com/p/chromium/issues/detail?id=42716
https://bugs.webkit.org/show_bug.cgi?id=53160
* DOM/WebDOMOperations.mm:
(-[DOMHTMLInputElement _setValueForUser:]): Expose HTMLInputElement::setValueForUser() to tests
* DOM/WebDOMOperationsPrivate.h:
* WebView/WebViewInternal.h:
2011-03-04 Jia Pu <jpu@apple.com>
Reviewed by Darin Adler.
On Mac, the bounding box sent to EditorClient::showCorrectionPanel() is incorrect when the correction occurs in an iframe.
https://bugs.webkit.org/show_bug.cgi?id=55717
<rdar://problem/9018127>
With the change in WebCore, the bounding box passed into EditorClient::showCorrectionPanel()
is already in window coordinate. We don't need to do further conversion anymore.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::showCorrectionPanel):
2011-03-04 Jessie Berlin <jberlin@apple.com>
Reviewed by Maciej Stachowiak.
WebKit2: Use CFNetwork Sessions API.
https://bugs.webkit.org/show_bug.cgi?id=55435.
When Private Browsing is enabled, get the cached url response from the cache associated with
the Private Browsing Storage Session.
* WebView/WebView.mm:
(-[WebView _cachedResponseForURL:]):
2011-03-03 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Get rid of Page::globalHistoryItem
https://bugs.webkit.org/show_bug.cgi?id=55738
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistoryItemForPage):
Get the current history item and update it using -[WebView _setGlobalHistoryItem:].
* WebView/WebView.mm:
(-[WebView _globalHistoryItem]):
(-[WebView _setGlobalHistoryItem:]):
Set _globalHistoryItem ivar.
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
Add _globalHistoryItem ivar.
2011-03-03 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=55721
Global IconDatabase should be returned by reference, not as a pointer
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics iconPageURLMappingCount]):
(+[WebCoreStatistics iconRetainedPageURLCount]):
(+[WebCoreStatistics iconRecordCount]):
(+[WebCoreStatistics iconsWithDataCount]):
* Misc/WebIconDatabase.mm:
(-[WebIconDatabase init]):
(-[WebIconDatabase iconForURL:withSize:cache:]):
(-[WebIconDatabase iconURLForURL:]):
(-[WebIconDatabase defaultIconWithSize:]):
(-[WebIconDatabase retainIconForURL:]):
(-[WebIconDatabase releaseIconForURL:]):
(-[WebIconDatabase isEnabled]):
(-[WebIconDatabase setEnabled:]):
(-[WebIconDatabase removeAllIcons]):
(+[WebIconDatabase _checkIntegrityBeforeOpening]):
(-[WebIconDatabase _startUpIconDatabase]):
(-[WebIconDatabase _applicationWillTerminate:]):
(-[WebIconDatabase _resetCachedWebPreferences:]):
(importToWebCoreFormat):
* WebView/WebView.mm:
(-[WebView _dispatchDidReceiveIconFromWebFrame:]):
2011-03-03 Jessie Berlin <jberlin@apple.com>
Reviewed by Adam Roben.
WebKit2: Use CFNetwork Sessions API.
https://bugs.webkit.org/show_bug.cgi?id=55435.
Set the Private Browsing Storage Session on requests when Private Browsing is enabled.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
Support using WKCopyRequestWithStorageSession in WebCore.
2011-03-02 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access
https://bugs.webkit.org/show_bug.cgi?id=55633
<rdar://problem/8963023>
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
Removed tabsToLinks(). Mac WebKit already implements keyboardUIMode().
* WebView/WebView.mm: (-[WebView _retrieveKeyboardUIModeFromPreferences:]):
Removed an incorrect comment. We actually get a value of 2 on Snow Leopard, and we don't
require both bits to be set. The rest of the comment might be wrong too, but I'm not sure,
so I've preserved it.
2011-03-02 Jessie Berlin <jberlin@apple.com>
Rubber-stamped by Dan Bernstein.
Fix crashes in private browsing tests in WK1 on Snow Leopard.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
Put the INIT call for wkCreatePrivateStorageSession outside of the
#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
guards.
2011-03-02 Jessie Berlin <jberlin@apple.com>
Reviewed by Adam Roben.
WebKit2: Use CFNetwork Sessions API.
https://bugs.webkit.org/show_bug.cgi?id=55435.
Add the ability to create a Private Browsing Storage Session.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
Support calling wkCreatePrivateStorageSession from WebCore.
2011-03-02 Daniel Cheng <dcheng@chromium.org>
Reviewed by David Levin.
Add feature define for data transfer items
https://bugs.webkit.org/show_bug.cgi?id=55510
* Configurations/FeatureDefines.xcconfig:
2011-03-02 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Fix remaining localization issues by piping all localized strings through WebCore's
localization bottleneck.
<rdar://problem/8728860>
* DefaultDelegates/WebDefaultContextMenuDelegate.mm:
(-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
* Misc/WebKitErrors.m:
* Misc/WebLocalizableStringsInternal.h: Added.
* Misc/WebLocalizableStringsInternal.mm: Added.
(WebLocalizedStringInternal):
* Panels/WebAuthenticationPanel.m:
(-[WebAuthenticationPanel setUpForChallenge:]):
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
* WebCoreSupport/WebEditorClient.mm:
(undoNameForEditAction):
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::updateWindowTitle):
(-[WebInspectorWindowController validateUserInterfaceItem:]):
* WebCoreSupport/WebKeyGenerator.m:
(-[WebKeyGenerator strengthMenuItemTitles]):
(-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]):
* WebCoreSupport/WebPlatformStrategies.mm:
* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
* WebView/WebPDFView.mm:
(-[WebPDFView menuForEvent:]):
2011-03-01 Brian Weinstein <bweinstein@apple.com>
Reviewed by Adam Roben.
Part of WebKit2: Need a way to send notifications to client when cookies change
https://bugs.webkit.org/show_bug.cgi?id=55427
<rdar://problem/9056027>
Add stubs for CookiesStrategy on Mac WebKit1.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::createCookiesStrategy):
(WebPlatformStrategies::notifyCookiesChanged):
2011-03-01 Philippe Normand <pnormand@igalia.com>
Reviewed by Eric Carlson.
[GStreamer] support in mac video fullscreen controller
https://bugs.webkit.org/show_bug.cgi?id=52280
Factored the code to configure the video overlay in a new private
method of the controller and added GStreamer support to it.
* WebView/WebVideoFullscreenController.h:
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController setupVideoOverlay:]):
(-[WebVideoFullscreenController windowDidLoad]):
(-[WebVideoFullscreenController setMediaElement:WebCore::]):
(-[WebVideoFullscreenController windowDidExitFullscreen]):
2011-02-23 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Timothy Hatcher.
All Console Messages should be passed to ChromeClients.
https://bugs.webkit.org/show_bug.cgi?id=54926
Add a new private UIDelegate method, -webView:addMessageToConsole:withSource:,
which supersedes -webView:addMessageToConsole if it exists. The new delegate
does not filter to only JavaScript originated console messages. The old
delegate is left around for clients that expect filtered messages, like
DashCode and older versions of Safari.
The dictionary message passed to the delegate now includes more information
about the message source, type, and level.
* WebCoreSupport/WebChromeClient.mm:
(stringForMessageSource):
(stringForMessageType):
(stringForMessageLevel):
(WebChromeClient::addMessageToConsole):
* WebView/WebUIDelegatePrivate.h:
2011-03-01 Levi Weintraub <leviw@chromium.org>
Reviewed by Ryosuke Niwa.
Stop instantiating legacy editing Positions in VisiblePosition
https://bugs.webkit.org/show_bug.cgi?id=52919
Changing usage of legacy VisiblePosition constructor. Since we were dealing
with positions from DOM Ranges, we're guaranteed a parent-anchored position.
* WebView/WebFrame.mm:
(-[WebFrame _caretRectAtPosition:affinity:]):
* WebView/WebFrameInternal.h:
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController doCompletion]):
2011-03-01 Sam Weinig <sam@webkit.org>
Reviewed by Timothy Hatcher.
WebKit2 needs to be made localizable
https://bugs.webkit.org/show_bug.cgi?id=55483
* WebCoreSupport/WebPlatformStrategies.mm:
Use WebCore's localizedString function instead of WebLocalizableStrings
since WebCore is now responsible for localization.
2011-02-25 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Bridge.h should not include BridgeJSC.h
https://bugs.webkit.org/show_bug.cgi?id=55212
Include BridgeJSC.h directly instead.
* Plugins/Hosted/ProxyInstance.h:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
2011-02-28 Chang Shu <cshu@webkit.org>
Reviewed by Ryosuke Niwa.
Remove the support of Frame::isContentEditable and its dependencies.
https://bugs.webkit.org/show_bug.cgi?id=54292
Remove the WebKit side implementation. Make WebKit support depend on Document::inDesignMode.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
* WebView/WebView.mm:
(-[WebView setEditable:]):
(-[WebView isEditable]):
* WebView/WebViewData.h:
2011-02-28 Oliver Hunt <oliver@apple.com>
Reviewed by Gavin Barraclough.
Make ScopeChainNode GC allocated
https://bugs.webkit.org/show_bug.cgi?id=55283
More updates for the absence of the ScopeChain class
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]):
2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
DumpRenderTree should reset frame opener between tests.
https://bugs.webkit.org/show_bug.cgi?id=54874
Added clearOpener method to WebFramePrivate.
* WebView/WebFrame.mm:
(-[WebFrame _clearOpener]):
* WebView/WebFramePrivate.h:
2011-02-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r79764.
http://trac.webkit.org/changeset/79764
https://bugs.webkit.org/show_bug.cgi?id=55295
"broke Chromium builds" (Requested by rniwa on #webkit).
* WebView/WebFrame.mm:
* WebView/WebFramePrivate.h:
2011-02-26 Yongjun Zhang <yongjun_zhang@apple.com>
Reviewed by David Kilzer.
https://bugs.webkit.org/show_bug.cgi?id=48781
Add a resource load delegate method to query if WebCore should paint the default broken image for failed images.
Add a new resource load client method (shouldPaintBrokenImage). WebKit client can decide if WebCore
should paint the default broken image when an image fails to load or decode. The method also passes the
URL of the failed image.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::shouldPaintBrokenImage):
* WebView/WebDelegateImplementationCaching.h:
* WebView/WebDelegateImplementationCaching.mm: Added case for passing one object.
(CallResourceLoadDelegateReturningBoolean):
* WebView/WebResourceLoadDelegatePrivate.h:
* WebView/WebView.mm:
(-[WebView _cacheResourceLoadDelegateImplementations]):
2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
DumpRenderTree should reset frame opener between tests.
https://bugs.webkit.org/show_bug.cgi?id=54874
Added clearOpener method to WebFramePrivate.
* WebView/WebFrame.mm:
(-[WebFrame _clearOpener]):
* WebView/WebFramePrivate.h:
2011-02-25 Mark Rowe <mrowe@apple.com>
<rdar://problem/8902546> Build fix.
* Misc/QuickDrawCompatibility.h:
2011-02-24 Anders Carlsson <andersca@apple.com>
Fix clang build.
* WebCoreSupport/WebKeyGenerator.m:
(toWebCertificateParseResult):
(-[WebKeyGenerator addCertificatesToKeychainFromData:]):
* WebView/WebTextCompletionController.mm:
2011-02-24 Peter Kasting <pkasting@google.com>
Reviewed by Eric Seidel.
Drop the "U; " encryption level from the User Agent string.
https://bugs.webkit.org/show_bug.cgi?id=54566
* WebView/WebView.mm:
(+[WebView _standardUserAgentWithApplicationName:]):
2011-02-24 Andrew Wilson <atwilson@chromium.org>
Unreviewed, rolling out r79570.
http://trac.webkit.org/changeset/79570
https://bugs.webkit.org/show_bug.cgi?id=54874
Breaks chromium build because glue/mocks/mock_web_frame.h/cc
was not updated
* WebView/WebFrame.mm:
* WebView/WebFramePrivate.h:
2011-02-24 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Alexey Proskuryakov.
DumpRenderTree should reset frame opener between tests.
https://bugs.webkit.org/show_bug.cgi?id=54874
Added clearOpener method to WebFramePrivate.
* WebView/WebFrame.mm:
(-[WebFrame _clearOpener]):
* WebView/WebFramePrivate.h:
2011-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Alexey Proskuryakov.
Drop the language tag part from the User Agent string
https://bugs.webkit.org/show_bug.cgi?id=54560
* WebView/WebView.mm:
(+[WebView _standardUserAgentWithApplicationName:]): Drop the
language tag part.
2011-02-22 Brady Eidson <beidson@apple.com>
Reviewed by Anders Carlsson.
Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
API to view and delete Application Cache data by origin.
* WebCoreSupport/WebApplicationCache.mm:
(+[WebApplicationCache deleteAllApplicationCaches]): Move this implementation into WebCore itself.
2011-02-17 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Kent Tamura.
Rename Position::node() to Position::deprecatedNode()
https://bugs.webkit.org/show_bug.cgi?id=54622
* WebView/WebFrame.mm:
(-[WebFrame _smartDeleteRangeForProposedRange:]):
2011-02-17 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Kent Tamura.
Rename Position::node() to Position::deprecatedNode()
https://bugs.webkit.org/show_bug.cgi?id=54622
Done the rename.
* WebView/WebFrame.mm:
(-[WebFrame _smartDeleteRangeForProposedRange:]): Since newStart and newEnd are parent-anchored,
use containerNode() and offsetInContainerNode() instead of deprecated member functions.
2011-02-18 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
Bug 54786 - Devirtualize JSCell::classInfo()
Instead of making a virtual function call, add a pointer to the ClassInfo
onto Structure.
This removes a virtual function call, and paves the way towards removing all
the createStructure methods, and StructureFlags/AnonymousSlotCount properties
(these should be able to move onto ClassInfo).
Calls to Structure::create must now pass a pointer to the ClassInfo for the
structure. All objects now have a ClassInfo pointer, non-object cell types
still do not.
Changes are most mechanical, involving three steps:
* Remove virtual classInfo() methods.
* Add &s_info parameter to calls to Structure::create.
* Rename ClassInfo static members on classes from 'info' to 's_info',
for consistency.
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
(WebKit::ProxyRuntimeMethod::createStructure):
* Plugins/Hosted/ProxyRuntimeObject.h:
(WebKit::ProxyRuntimeObject::createStructure):
* Plugins/Hosted/ProxyRuntimeObject.mm:
(WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
* WebView/WebView.mm:
(aeDescFromJSValue):
2011-02-19 Brian Ryner <bryner@chromium.org>
Reviewed by Adam Barth.
Add missing #include of DocumentLoader.h, needed since the transitive
include through Document.h is removed.
https://bugs.webkit.org/show_bug.cgi?id=50489
* WebView/WebFrame.mm:
2011-02-19 Charlie Reis <creis@chromium.org>
Reviewed by Mihai Parparita.
Ensure loading has stopped in HistoryController::goToItem
https://bugs.webkit.org/show_bug.cgi?id=54517
Add a FrameLoaderClient callback for whether to stop loading before goToItem.
Test: http/tests/navigation/forward-to-fragment-fires-onload.html
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::shouldStopLoadingForHistoryItem): Added.
* WebCoreSupport/WebFrameLoaderClient.h:
2011-02-16 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=54244
Convert the line box tree to floating point and eliminate font rounding hacks. This patch removes all of the rounding
hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
been changed as well.
In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height).
Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
still have a precise floating point position.
Justification will now allow subpixel positioning to occur as well. Platforms that don't support subpixel positioning should already
be rounding justification spacing in their font code.
Many layout test results change on Mac, since rounding hacks were used there and are now gone.
* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
(-[NSString _web_widthWithFont:]):
2011-02-10 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Adam Roben.
HTML5 <details> and <summary>: localized text
https://bugs.webkit.org/show_bug.cgi?id=54260
The method defaultDetailsSummaryText was added to LocalizationStrategy class. It is used to
provide the default label to be used by a <details> tag that has no <summary> child.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::defaultDetailsSummaryText):
2011-02-16 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Allow acceleratesDrawing for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=54511
Plumb through preference for accelerated drawing.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences acceleratedDrawingEnabled]):
(-[WebPreferences setAcceleratedDrawingEnabled:]):
* WebView/WebPreferencesPrivate.h:
2011-02-15 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/54505> Move -[WebDynamicScrollBarsView inProgrammaticScroll] to WebDynamicScrollBarsViewInternal.h
Reviewed by Darin Adler.
* WebView/WebDynamicScrollBarsView.h:
(-[WebDynamicScrollBarsView inProgrammaticScroll]): Removed
declaration.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView inProgrammaticScroll]): Moved
implementation into correct category.
* WebView/WebDynamicScrollBarsViewInternal.h:
(-[WebDynamicScrollBarsView inProgrammaticScroll]): Added
declaration.
* WebView/WebHTMLView.mm: Included
WebDynamicScrollBarsViewInternal.h instead of
WebDynamicScrollBarsView.h.
2011-02-14 Oliver Hunt <oliver@apple.com>
Reviewed by Gavin Barraclough and Geoff Garen.
Refactor handles and weak pointers to become nicer and more automatic
https://bugs.webkit.org/show_bug.cgi?id=54415
Update to use Global<> instead of ProtectedPtr, and refactored slightly
to get global data to places it's needed for when we're assigning to
Global<>s
* ForwardingHeaders/collector/handles/Global.h: Added.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get):
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
(WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
(WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
* WebView/WebScriptDebugger.h:
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::WebScriptDebugger):
2011-02-15 Jia Pu <jpu@apple.com>
Reviewed by Darin Adler.
Autocorrection should respect undo.
https://bugs.webkit.org/show_bug.cgi?id=52221
<rdar://problem/8663399>
Please see WebCore/ChangeLog for detailed description.
* WebCoreSupport/WebEditorClient.h: Updated for the new function declared in EditorClient.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::recordAutocorrectionResponse): Ditto.
* WebView/WebFrame.mm:
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
Adopted new signature of ReplaceSelectionCommand::create().
2011-02-15 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/54485> Fix spelling of -inProgramaticScroll
Reviewed by Darin Adler.
* WebView/WebDynamicScrollBarsView.h:
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView inProgrammaticScroll]): Renamed from
-inProgramaticScroll.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _frameOrBoundsChanged]): Corrected method name.
2011-02-15 Kenneth Russell <kbr@google.com>
Reviewed by Darin Fisher.
Allow controlling minimum DOMTimer interval on a per-page basis
https://bugs.webkit.org/show_bug.cgi?id=54312
Added needed methods to implement LayoutTestController's new
setMinimumTimerInterval method.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(+[WebView _defaultMinimumTimerInterval]):
(-[WebView _setMinimumTimerInterval:]):
* WebView/WebViewPrivate.h:
2011-02-11 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
A little more encapsulation for the heap: Removed CollectorHeapIterator
https://bugs.webkit.org/show_bug.cgi?id=54298
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptObjectTypeCounts]): Updated for new typedef.
2011-02-10 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Update calls to DocumentWriter.
https://bugs.webkit.org/show_bug.cgi?id=50489
* WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]):
2011-02-10 Chris Fleizach <cfleizach@apple.com>
Reviewed by Anders Carlsson.
AX: AX needs to stop using WebCoreViewFactory
https://bugs.webkit.org/show_bug.cgi?id=54153
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2011-02-10 Peter Varga <pvarga@webkit.org>
Reviewed by Csaba Osztrogonác.
Remove PCRE source from trunk
https://bugs.webkit.org/show_bug.cgi?id=54188
* ForwardingHeaders/pcre/pcre.h: Removed.
2011-02-09 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: follow up on InspectorAgent split -
removing unnecessary methods from InspectorController.
https://bugs.webkit.org/show_bug.cgi?id=54093
* WebInspector/WebInspector.mm:
(-[WebInspector showConsole:]):
(-[WebInspector stopProfilingJavaScript:]):
2011-02-08 Dan Bernstein <mitz@apple.com>
Reviewed by Jon Honeycutt and Maciej Stachowiak.
<rdar://problem/8959420> Find in Mail no longer cycles around
* WebView/WebHTMLView.mm:
(-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Set
the wrap option according to the flag.
2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r77980.
http://trac.webkit.org/changeset/77980
https://bugs.webkit.org/show_bug.cgi?id=54043
"Crashes on Windows and Linux..." (Requested by leviw on
#webkit).
* WebView/WebFrame.mm:
(-[WebFrame _caretRectAtNode:offset:affinity:]):
* WebView/WebFrameInternal.h:
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController doCompletion]):
2011-02-08 Levi Weintraub <leviw@chromium.org>
Reviewed by Ryosuke Niwa.
Stop instantiating legacy editing Positions in VisiblePosition
https://bugs.webkit.org/show_bug.cgi?id=52919
Changing usage of legacy VisiblePosition constructor. Since we were dealing
with positions from DOM Ranges, we're guaranteed a parent-anchored position.
* WebView/WebFrame.mm:
(-[WebFrame _caretRectAtPosition:affinity:]):
* WebView/WebFrameInternal.h:
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController doCompletion]):
2011-02-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Remove orphan code from old parser
https://bugs.webkit.org/show_bug.cgi?id=53984
* WebCoreSupport/WebChromeClient.h:
2011-02-02 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController.
https://bugs.webkit.org/show_bug.cgi?id=53169
Minor change enforced by major changes in WebCore/inspector/InspectorController.
* WebInspector/WebInspector.mm:
(-[WebInspector isTimelineProfilingEnabled]):
2011-02-07 Enrica Casucci <enrica@apple.com>
Reviewed Adam Roben and Darin Adler.
WebKit2: drag and drop support on Windows.
https://bugs.webkit.org/show_bug.cgi?id=52775
Removed createDragImageForLink from DragClient.
* WebCoreSupport/WebDragClient.h:
* WebCoreSupport/WebDragClient.mm:
(WebDragClient::startDrag):
2011-02-03 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: remove settings related methods from InspectorClient
https://bugs.webkit.org/show_bug.cgi?id=53686
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::openInspectorFrontend):
(WebInspectorFrontendClient::WebInspectorFrontendClient):
2011-02-03 James Kozianski <koz@chromium.org>
Reviewed by Dimitri Glazkov.
Add navigator.registerProtocolHandler behind a flag.
https://bugs.webkit.org/show_bug.cgi?id=52609
* Configurations/FeatureDefines.xcconfig:
2011-02-03 Adam Langley <agl@chromium.org>
Reviewed by Adam Barth.
Plumb mixed script URL to FrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=52384
Regressions covered by http/tests/security/mixedContent/*
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::didRunInsecureContent):
2011-02-03 Beth Dakin <bdakin@apple.com>
Reviewed by Sam Weinig.
Fix for <rdar://problem/8944544> Ability to animate track
for WKPainter scrollers
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2011-02-02 Mark Rowe <mrowe@apple.com>
Reviewed by Beth Dakin.
<rdar://problem/8928367> Crash when loading canvas pages inside HTMLCanvasElement::createImageBuffer().
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Add some missing initializers.
2011-02-02 Steve Lacey <sjl@chromium.org>
Reviewed by Eric Carlson.
Implement basic media statistics on media elements.
https://bugs.webkit.org/show_bug.cgi?id=53322
* Configurations/FeatureDefines.xcconfig:
2011-02-01 Sam Weinig <sam@webkit.org>
Reviewed by Beth Dakin.
Part 2 for <rdar://problem/8492788>
Adopt WKScrollbarPainterController
Use header detection to define scrollbar painting controller #define.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2011-02-01 David Hyatt <hyatt@apple.com>
Reviewed by Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=53520
Remove the physical terminology from IntRect and FloatRect.
Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
we need to update our terminology to be more accurate.
I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
even for flipped rectangles.
* WebView/WebHTMLView.mm:
(setNeedsDisplayInRect):
2011-02-01 Beth Dakin <bdakin@apple.com>
Reviewed by Sam Weinig.
Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2011-02-01 Dave Hyatt <hyatt@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
with vertical text.
Change printing functions to check writing-mode and properly swap width and height
as needed.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView setScrollOrigin:updatePositionAtAll:immediately:]):
* WebView/WebFrame.mm:
(-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]):
* WebView/WebFrameInternal.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView _web_setPrintingModeRecursive]):
(-[WebHTMLView _web_clearPrintingModeRecursive]):
(-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
(-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]):
(-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]):
(-[WebHTMLView _endPrintMode]):
(-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]):
(-[WebHTMLView _endScreenPaginationMode]):
(-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]):
(-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:maximumPageLogicalWidth:adjustViewSize:paginateScreenContent:]):
(-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
(-[WebHTMLView _scaleFactorForPrintOperation:]):
(-[WebHTMLView setPageWidthForPrinting:]):
(-[WebHTMLView knowsPageRange:]):
2011-01-31 Oliver Hunt <oliver@apple.com>
Convert markstack to a slot visitor API
https://bugs.webkit.org/show_bug.cgi?id=53219
rolling r77098, r77099, r77100, r77109, and
r77111 back in, along with a few more Qt fix attempts.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]):
2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed, rolling out r77098, r77099, r77100, r77109, and
r77111.
http://trac.webkit.org/changeset/77098
http://trac.webkit.org/changeset/77099
http://trac.webkit.org/changeset/77100
http://trac.webkit.org/changeset/77109
http://trac.webkit.org/changeset/77111
https://bugs.webkit.org/show_bug.cgi?id=53219
Qt build is broken
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]):
2011-01-30 Oliver Hunt <oliver@apple.com>
Convert markstack to a slot visitor API
https://bugs.webkit.org/show_bug.cgi?id=53219
rolling r77006 and r77020 back in.
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]):
2011-01-28 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej Stachowiak.
Some more Heap cleanup.
https://bugs.webkit.org/show_bug.cgi?id=53357
Updated for JavaScriptCore changes.
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics memoryStatistics]):
2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r77006 and r77020.
http://trac.webkit.org/changeset/77006
http://trac.webkit.org/changeset/77020
https://bugs.webkit.org/show_bug.cgi?id=53360
"Broke Windows tests" (Requested by rniwa on #webkit).
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]):
2011-01-27 Oliver Hunt <oliver@apple.com>
Reviewed by Geoffrey Garen.
Convert markstack to a slot visitor API
https://bugs.webkit.org/show_bug.cgi?id=53219
Update to new marking api
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame scopeChain]):
2011-01-28 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
<select> can't display right-to-left (rtl) languages
https://bugs.webkit.org/show_bug.cgi?id=19785
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::selectItemWritingDirectionIsNatural): Changed to return false.
(WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added. Returns true.
2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r76891.
http://trac.webkit.org/changeset/76891
https://bugs.webkit.org/show_bug.cgi?id=53280
Makes every layout test crash (Requested by othermaciej on
#webkit).
* Misc/WebIconDatabase.mm:
(-[ThreadEnabler threadEnablingSelector:]):
(importToWebCoreFormat):
2011-01-27 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Use Document::url() instead of FrameLoader::url().
https://bugs.webkit.org/show_bug.cgi?id=41165
* WebView/WebView.mm:
(-[WebView _dispatchDidReceiveIconFromWebFrame:]):
2011-01-27 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Anders Carlsson.
Reverted an accidental change in r76561.
* WebView/WebHTMLView.mm:
2011-01-26 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
<rdar://problem/8821760>
Reviewed by Antti Koivisto.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Added initialization for
GetHTTPPipeliningPriority and SetHTTPPipeliningPriority.
2011-01-26 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics
when using WKScrollbars.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2011-01-25 Darin Adler <darin@apple.com>
Reviewed by Anders Carlsson.
WebKit is using CSBackupSetItemExcluded incorrectly
https://bugs.webkit.org/show_bug.cgi?id=53095
rdar://problem/8790540
* Misc/WebIconDatabase.mm:
(importToWebCoreFormat): Removed code that was calling CSBackupSetItemExcluded.
It was incorrect, and this responsibility has been moved to WebCore.
2011-01-24 Chris Marrin <cmarrin@apple.com>
Reviewed by Eric Seidel.
Change ENABLE_3D_CANVAS to ENABLE_WEBGL
https://bugs.webkit.org/show_bug.cgi?id=53041
* Configurations/FeatureDefines.xcconfig:
2011-01-25 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: remove "attached" state related methods from InspectorAgent
https://bugs.webkit.org/show_bug.cgi?id=53086
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController showWindow:]):
(-[WebInspectorWindowController attach]):
(-[WebInspectorWindowController detach]):
2011-01-23 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
<rdar://problem/6097826> Mail's cursor does not become a resize cursor when moving mouse from scrolled email to the horizontal splitter
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setCursor): If the current cursor comes from a cursor rect, do not override it.
2011-01-22 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=52473
Auto-scaling to avoid orphans is broken, remove dysfunctional code
* WebView/WebHTMLView.mm:
(-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
(-[WebHTMLView _scaleFactorForPrintOperation:]):
(-[WebHTMLView knowsPageRange:]):
2011-01-21 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Jon Honeycutt.
Fix the build when using Clang by removing some unused variables.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView updateAndSetWindow]):
* WebView/WebFullScreenController.mm:
(-[WebFullScreenController enterFullscreen:]):
(-[WebFullScreenController exitFullscreen]):
2011-01-21 Chris Rogers <crogers@google.com>
Reviewed by Darin Fisher.
Add run-time enable support for the web audio API
https://bugs.webkit.org/show_bug.cgi?id=52741
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences webAudioEnabled]):
(-[WebPreferences setWebAudioEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2011-01-20 John Sullivan <sullivan@apple.com>
Reviewed by Mark Rowe.
Shift-tab doesn't cycle through fields in http authentication panel
https://bugs.webkit.org/show_bug.cgi?id=52850
* Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
* Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
Re-wired the key loop so that there aren't two views with the same nextKeyView.
2011-01-20 Beth Dakin <bdakin@apple.com>
Reviewed by Geoffrey Garen.
Fix for <rdar://problem/8890255>
Allow WebKitSystemInterface to draw scrollbars
when appropriate.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2011-01-19 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
GraphicsLayers in subframes can get sync'd multiple times
https://bugs.webkit.org/show_bug.cgi?id=52489
* WebView/WebView.mm:
(-[WebView _syncCompositingChanges]): syncCompositingStateRecursive()
was renamed to syncCompositingStateIncludingSubframes().
2011-01-19 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Would like script debugging protocol method to differentiate between caught and uncaught exceptions
https://bugs.webkit.org/show_bug.cgi?id=52104
rdar://problem/8704226
* WebView/WebDelegateImplementationCaching.h:
Fix type of second integer in CallScriptDebugDelegate function overload
to be int to match the actual Objective-C method. Added a new overload
that includes a BOOL in the right place. Added a boolean named
exceptionWasRaisedExpectsHasHandlerFlag.
* WebView/WebDelegateImplementationCaching.mm:
(CallDelegate): Added overloads as above.
(CallScriptDebugDelegate): Ditto.
* WebView/WebScriptDebugDelegate.h: Added new method with the additional
boolean argument. Marked the old method informally deprecated.
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::exception): Added code to call with or without the
boolean depending on exceptionWasRaisedExpectsHasHandlerFlag.
* WebView/WebView.mm:
(-[WebView _cacheScriptDebugDelegateImplementations]): Set up the
exceptionWasRaisedExpectsHasHandlerFlag. Also fixed old code that was not
guaranteed to set didParseSourceExpectsBaseLineNumber to NO.
2011-01-19 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Mihai Parparita.
Perform some forward declaration
https://bugs.webkit.org/show_bug.cgi?id=52522
* Misc/WebKitNSStringExtras.mm:
2011-01-19 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: [JSC] scripts have incorrect starting line (always 1).
https://bugs.webkit.org/show_bug.cgi?id=52721
* WebView/WebScriptDebugger.h:
* WebView/WebScriptDebugger.mm:
(toNSString):
(WebScriptDebugger::sourceParsed):
2011-01-19 Levi Weintraub <leviw@google.com>
Reviewed by Ryosuke Niwa.
Updating to use Position::parentAnchoredEquivalent instead of
the old htmlediting rangeCompliantEquivalent.
remove rangeCompliantEquivalent and replace it with Position methods
https://bugs.webkit.org/show_bug.cgi?id=25057
* WebView/WebFrame.mm:
(-[WebFrame _smartDeleteRangeForProposedRange:]):
2011-01-18 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
REGRESSION: A problem with Voiceover and finding links
https://bugs.webkit.org/show_bug.cgi?id=52324
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView accessibilityIsIgnored]):
2011-01-17 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project
Reviewed by Dan Bernstein.
* MigrateHeaders.make: Copy DOMDocumentFragmentPrivate.h and
DOMDocumentPrivate.h to the PrivateHeaders directory.
2011-01-17 Enrica Casucci <enrica@apple.com>
Reviewed by Alexey Proskuryakov.
Drag and drop support: refactoring of image from link and image from selection
https://bugs.webkit.org/show_bug.cgi?id=52496
This work cleans up the Mac code and makes it more similar to the Windows implementation,
avoiding the use of an NSView when the FrameView can be used.
The refactoring is a necessary step towards the complete support of drag and drop
in WebKit2.
* WebCoreSupport/WebDragClient.mm:
(WebDragClient::createDragImageForLink): Added.
* WebView/WebHTMLView.mm: Removed dragImageFromLink and dragImageFromURL.
* WebView/WebHTMLViewPrivate.h: Removed dragImageFromLink and dragImageFromURL.
2011-01-17 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: simplify debugger enabling routine.
https://bugs.webkit.org/show_bug.cgi?id=52472
* WebInspector/WebInspector.mm:
(-[WebInspector startDebuggingJavaScript:]):
2011-01-16 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
Assertion failure (!inSetWindow) with in-process plug-in in plugins/destroy-on-setwindow.html
https://bugs.webkit.org/show_bug.cgi?id=52550
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView setWindowIfNecessary]): Removed the assertion, making sure
that inSetWindow remains YES until we exit the top-level setWindowIfNecessary.
2011-01-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Issues with iframes and plugins when the WebView is scaled.
<rdar://problem/6213380>
When _scaleWebView has been called on a WebView, iframes
in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up.
This is caused by AppKit NSViews not playing nicely with the scale
applied through style.
Work around most of these issues by adjusting the bounds size
of widgets to allow iframe contents to paint with the correct scale,
and fix various places in the code where we relied on coordinate
transforms via NSViews (which ignore CSS transforms).
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView updateAndSetWindow]):
* WebView/WebFrameView.mm:
(-[WebFrameView setBoundsSize:]):
2011-01-16 Beth Dakin <bdakin@apple.com>
Reviewed by Kevin Decker.
Fix for <rdar://problem/8871204>
Don't try to save elasticity state. Just rely on
NSScrollElasticityAutomatic to restore the correct state.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::WebFrameLoaderClient):
(WebFrameLoaderClient::dispatchDidFirstLayout):
(WebFrameLoaderClient::provisionalLoadStarted):
2011-01-14 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Plugins render incorrectly with transformed ancestors
https://bugs.webkit.org/show_bug.cgi?id=52507
-[NSView visibleRect] gives the wrong answer if there are CSS transforms
in the ancestor chain of a plugin.
So use of this method with calls to -actualVisibleRectInWindow, which
maps rects through the render tree to compute the correct rect,
clipping via windowClipRect() if necessary.
Not testable, because doing so relies on the behavior of some
plugins, which stop rendering if setWindow passes an empty rect.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView updateAndSetWindow]):
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView actualVisibleRectInWindow]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2011-01-14 Yuzo Fujishima <yuzo@google.com>
Reviewed by Antti Koivisto.
Rename cache() to memoryCache()
https://bugs.webkit.org/show_bug.cgi?id=52433
* Misc/WebCache.mm:
(+[WebCache statistics]):
(+[WebCache setDisabled:]):
(+[WebCache isDisabled]):
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):
2011-01-13 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Split out a MarkedSpace strategy object from Heap.
https://bugs.webkit.org/show_bug.cgi?id=52421
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics memoryStatistics]): Updated for class move.
2011-01-14 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
WebKit/mac part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]
* WebView/WebHTMLView.mm:
(-[WebHTMLView _invalidateGStatesForTree]): Override this NSView method, and bracket the call
to the superclass implementation with suspending WebCore Widget hierarchy updates. This ensures
that the NSView tree doesn’t change from under AppKit as it traverses it.
2011-01-14 Beth Dakin <bdakin@apple.com>
Reviewed by Mark Rowe.
Fix for <rdar://problem/7793902> Artifacts when scrolling
page in Safari while page is loading
Call setDrawsBackground:YES on the scrollView in
dispatchDidFirstLayout() rather than waiting until
frameLoadCompleted(). Also suspend scrolling elasticity
between provisionalLoadStarted() and dispatchDidFirstLayout()
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::WebFrameLoaderClient):
(WebFrameLoaderClient::dispatchDidFirstLayout):
(WebFrameLoaderClient::provisionalLoadStarted):
2011-01-12 Enrica Casucci <enrica@apple.com>
Reviewed by Darin Adler.
WebKit2: Add support for drag and drop
https://bugs.webkit.org/show_bug.cgi?id=52343
<rdar://problem/7660558>
The DragData class has been extended to provide
additional context from the application (keyboard state, modal windows, etc.)
as well as information of the drag pasteboard being used.
These are the changes to align the behavior for WebKit.
* WebView/WebView.mm:
(-[WebView applicationFlags:]): Added.
(-[WebView draggingEntered:]): Added parameter to the DragData constructor.
(-[WebView draggingUpdated:]): Added parameter to the DragData constructor.
(-[WebView draggingExited:]): Added parameter to the DragData constructor.
(-[WebView performDragOperation:]): Added parameter to the DragData constructor.
2011-01-12 Beth Dakin <bdakin@apple.com>
Reviewed by Anders Carlsson.
Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309
Expose fixed layout through WebKit SPI
-and corresponding-
<rdar://problem/8844464>
And now with getters!
* WebView/WebView.mm:
(-[WebView _useFixedLayout]):
(-[WebView _fixedLayoutSize]):
* WebView/WebViewPrivate.h:
2011-01-12 Beth Dakin <bdakin@apple.com>
Reviewed by Anders Carlsson.
Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
fixed layout through WebKit SPI
-and corresponding-
<rdar://problem/8844464>
* WebView/WebView.mm:
(-[WebView _setUseFixedLayout:]):
(-[WebView _setFixedLayoutSize:]):
* WebView/WebViewPrivate.h:
2011-01-07 Enrica Casucci <enrica@apple.com>
Reviewed by Alexey Proskuryakov.
Paste and drag and drop use different code paths to interact with the pasteboard.
https://bugs.webkit.org/show_bug.cgi?id=52093
The change consists in a refactoring of the code to have only one class that
deals with the pasteboard on Mac.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm: Added two methods to provide to WebCore functionality
exposed by NSURLExtras.
(WebEditorClient::canonicalizeURL):
(WebEditorClient::canonicalizeURLString):
* WebCoreSupport/WebPasteboardHelper.h: Removed.
* WebCoreSupport/WebPasteboardHelper.mm: Removed.
* WebView/WebHTMLView.mm: Removed comment.
* WebView/WebView.mm: The following methods have been changed to use the new DragData
constructor that doesn't use the WebPasteboardHelper reference.
(-[WebView draggingEntered:]):
(-[WebView draggingUpdated:]):
(-[WebView draggingExited:]):
(-[WebView performDragOperation:]):
2011-01-09 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Alexey Proskuryakov.
Forward declare some headers where possible
https://bugs.webkit.org/show_bug.cgi?id=52133
* WebView/WebFrame.mm:
2011-01-09 Xianzhu Wang <phnixwxz@gmail.com>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=41441
createWindow method should only do window-creating without URL navigation
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):
2011-01-08 Dan Bernstein <mitz@apple.com>
Try to fix the Leopard build.
* WebView/WebFullScreenController.mm:
2011-01-07 Jer Noble <jer.noble@apple.com>
Yet another Leopard build fix: NSRect and CGRect are not inter-
changable in 32-bit.
* WebView/WebFullScreenController.mm:
(-[WebFullScreenController exitFullscreen]):
2011-01-07 Jer Noble <jer.noble@apple.com>
Fix the Leopard build: Replace CoreAnimation SL-only functions
with Leopard equivalents.
* WebView/WebFullScreenController.mm:
(+[CATransaction setDisableActions:]):
(+[CATransaction setAnimationDuration:]):
(-[WebFullScreenController _animationDuration]):
(-[WebFullscreenWindow initWithContentRect:styleMask:backing:defer:]):
2010-12-21 Jer Noble <jer.noble@apple.com>
Reviewed by Simon Fraser.
Implement WebKit Full Screen support.
https://bugs.webkit.org/show_bug.cgi?id=49481
rdar://problem/8247444
Support the new fullscreen Chrome client requests. WebView will pass
through these requests to a WebFullscreenController.
* WebCoreSupport/WebChromeClient.h: Add fullScreenRendererChanged().
* WebView/WebView.mm:
(-[WebView _supportsFullScreenForElement:WebCore::]): Check to see if the fullscreen pref has been enabled.
(-[WebView _enterFullScreenForElement:WebCore::]): Create a WebFullScreenController.
(-[WebView _exitFullScreenForElement:WebCore::]): Request that the WebFullScreenController exit fullscreen.
(-[WebView _fullScreenRendererChanged:WebCore::]): Notify the WebFullScreenController that its renderer has changed.
* WebView/WebViewData.h: Add ivar newFullscreenController.
2010-12-17 Jer Noble <jer@kokode.apple.com>
Reviewed by Simon Fraser.
Implement WebKit Full Screen support.
https://bugs.webkit.org/show_bug.cgi?id=49481
rdar://problem/8247444
This patch implements the FullScreen APIs using the new RenderFullScreen renderer and the new
Document client APIs. The RenderFullScreen renderer's CALayer is hosted in a new, fullscreen
window, and a custom CAAnimation animates that layer between the initial screen rect of the
full screen element, to its final value. WebFullscreenController will swap the WebView out of
its original window, and into the fullscreen window. The controller will replace the WebView
with a placeholder view, so that if the placeholder moves or resized while the WebView is
absent, the WebView will move back to the correct location when exiting fullscreen.
* WebView/WebFullscreenController.h: Added.
* WebView/WebFullscreenController.mm: Added.
(-[WebFullscreenController windowDidExitFullscreen:]): Close the fullscreen window.
(-[WebFullscreenController windowDidEnterFullscreen:]): Swap the webView back into the fullscreen window.
(-[WebFullscreenController animationDidStop:finished:]): Call windowDid{Exit|Enter}FullScreen as appropriate.
(-[WebFullscreenController applicationDidResignActive:]):
(-[WebFullscreenController applicationDidChangeScreenParameters:]): Resize the fullscreen window to match
the new screen parameters.
(-[WebFullscreenController enterFullscreen:]): Set up the animation that will take the fullscreen element
from its original screen rect into fullscreen.
(-[WebFullscreenController exitFullscreen]): Swap the webView back into its original window.
Set up the animation that will take the fullscreen element back into its original screen
rect.
(-[WebFullscreenController _updatePowerAssertions]): Now checks _isAnyMoviePlaying to determine
whether to disable screensaver and sleep.
(-[WebFullscreenController _isAnyMoviePlaying]): Walks through the sub-tree starting at the fullscreen element
looking for HTMLVideoElements; returns whether any are found to be playing.
(-[WebFullscreenController _animationDuration]): Returns the current animation duration, affected by control
and shift keys.
(-[WebFullscreenWindow canBecomeKeyWindow]): Allow the window to become key.
(-[WebFullscreenWindow keyDown:]): Handle the 'Esc' key.
(-[WebFullscreenWindow cancelOperation:]): Request to exit fullscreen.
(-[WebFullscreenWindow rendererLayer]): Convenience accessor.
(-[WebFullscreenWindow setRendererLayer:]): Ditto.
(-[WebFullscreenWindow backgroundLayer]): Ditto.
(-[WebFullscreenWindow animationView]): Ditto.
(MediaEventListener::MediaEventListener): Implements the EventListener protocol.
(MediaEventListener::handleEvent): Tells its delegate to _updatePowerAssertions.
2011-01-07 James Robinson <jamesr@chromium.org>
Revert "Implement mozilla's animationTime property"
https://bugs.webkit.org/show_bug.cgi?id=51952
This approach isn't quite right.
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawRect:]):
* WebView/WebView.mm:
(layerSyncRunLoopObserverCallBack):
2011-01-06 Gavin Barraclough <barraclough@apple.com>
Reviewed by Geoff Garen.
Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
destructor early, in order to release wrappers once we know we no longer intend to use them.
Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
A sequence of events that triggers the bug would look like this:
(1) Create a DOMWrapperWorld.
(2) Register a timer in the world.
(3) Call unregisterWorld() on the world.
(4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
(5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
called forgetWorld() none exists.
(6) Attempt to add a wrapper to a NULL map.
Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
* WebView/WebScriptWorld.mm:
(-[WebScriptWorld unregisterWorld]):
2011-01-04 Chris Fleizach <cfleizach@apple.com>
Reviewed by Sam Weinig.
WK2: Support Accessibility
https://bugs.webkit.org/show_bug.cgi?id=51859
Use rootObject() method to get top of AX tree.
* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient::accessibilityRemoteObject):
* WebView/WebFrame.mm:
(-[WebFrame setAccessibleName:]):
(-[WebFrame accessibilityRoot]):
* WebView/WebFrameInternal.h:
* WebView/WebFramePrivate.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView accessibilityAttributeValue:]):
(-[WebHTMLView accessibilityFocusedUIElement]):
(-[WebHTMLView accessibilityHitTest:]):
(-[WebHTMLView _accessibilityParentForSubview:]):
2011-01-04 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/51889> WebFrameLoaderClient::createMediaPlayerProxyPlugin() should use WebCore::PluginInfo.name
Reviewed by Eric Carlson.
This originally broke in r61581. It is inside an
ENABLE(PLUGIN_PROXY_FOR_VIDEO) macro, so it didn't break the Mac
build then.
* WebCoreSupport/WebFrameLoaderClient.mm: Call
(WebFrameLoaderClient::createMediaPlayerProxyPlugin): Updated to
use WebCore::PluginInfo.name instead of
-[WebBasePluginPackage name].
2011-01-02 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Simon Fraser.
<rdar://problem/8812159> Update copyright strings
* Info.plist:
2010-12-29 Dan Bernstein <mitz@apple.com>
Reviewed by Ada Chan.
<rdar://problem/8758191> REGRESSION (r72887): Mail crashes when doing searches in a message due to method name conflict
https://bugs.webkit.org/show_bug.cgi?id=51717
Renamed -findString:options: to -_findString:options: in the WebDocumentOptionsSearching
protocol to avoid conflict with -[WebHTMLView(MailExtras) findString:options:] which Mail defines.
* WebView/WebDocumentInternal.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
(-[WebHTMLView _findString:options:]):
* WebView/WebView.mm:
(findString):
2010-12-28 Daniel Bates <dbates@rim.com>
Reviewed by Sam Weinig.
Substitute // MARK: for compiler-specific #pragma mark
https://bugs.webkit.org/show_bug.cgi?id=51657
For consistency, we should substitute "// MARK:" for compiler-
specific "#pragma mark" in the source files for the Mac port.
* History/WebHistory.mm:
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebNetscapePluginView.mm:
* WebCoreSupport/WebInspectorClient.mm:
* WebCoreSupport/WebSecurityOrigin.mm:
* WebView/WebPDFView.mm:
* WebView/WebVideoFullscreenController.mm:
* WebView/WebVideoFullscreenHUDWindowController.mm:
2010-12-23 Yongjun Zhang <yongjun_zhang@apple.com>
Reviewed by Darin Adler.
WebKit crashes at DebuggerCallFrame::functionName() if m_callFrame is the top global callframe.
https://bugs.webkit.org/show_bug.cgi?id=38535
WebScriptDebugger in WebKit has empty implementations for willExecuteProgram and didExecuteProgram. As a result,
if the top call frame is from a program, WebKitScriptDebugger doesn't record that callframe as the top frame, and
WebScriptDebugger's callframe stack is wrong from this point. That could cause crash if we trying to access the top
call frame from this stack when an exception throws because the saved top frame could be invalid.
To fix that, we need to maintain the call frame stack in willExecuteProgram and didExecuteProgram, as we did in
callEvent and returnEvent.
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::willExecuteProgram):
(WebScriptDebugger::didExecuteProgram):
2010-12-22 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
WebKit2 needs to mirror the frame tree in the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=51546
- Add client functions to notify that a frame has been added or
removed from the page cache.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::didSaveToPageCache):
(WebFrameLoaderClient::didRestoreFromPageCache):
2010-12-22 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
Editor.h doesn't need to include SelectionController.h
https://bugs.webkit.org/show_bug.cgi?id=51441
Renamed SelectionController::EDirection to SelectionDirection.
* WebView/WebFrame.mm:
(-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:granularity:]):
Takes SelectionDirection instead of SelectionController::EDirection.
* WebView/WebFrameInternal.h:
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController doCompletion]): Calls _rangeByAlteringCurrentSelection:SelectionController.
2010-12-22 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Cache snapshots of plug-ins before painting, to avoid script running during painting
https://bugs.webkit.org/show_bug.cgi?id=51493
When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
or when printing), plug-ins which otherwise use the CA rendering model
are sent a paint event. Some plug-ins may run script while handling this event,
or out of process plug-ins may process queued requests at this time. Running
script while inside layout or painting can have bad consequences, because it
can result in arbitrary changes to the render tree.
This patch avoids sending plug-ins paint events inside of painting. Instead,
we ask the plug-ins to cache a snapshot before we paint, and then the software
paint simply draws that snapshot.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView drawRect:]): If we have a cached snapshot,
draw it. Also only send the snapshot message to the plugin proxy if we
know we're snapshotting, since even if creating the snapshot image failed,
we still don't want to call to the plug-in.
* Plugins/WebBaseNetscapePluginView.h: Add a retained NSImage member for the snapshot.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView cacheSnapshot]): Create an image and draw the snapshot into it.
(-[WebBaseNetscapePluginView clearCachedSnapshot]): Clear the snapshot.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView drawRect:]): If we have a cached snapshot, use it.
* WebCoreSupport/WebFrameLoaderClient.mm:
(NetscapePluginWidget::notifyWidget): Implement notifyWidget() and use it
to cache and clear the snapshots.
2010-12-21 Cameron Zwarich <zwarich@apple.com>
Reviewed by Darin Adler.
-[WebBasePluginPackage isNativeLibraryData:] integer underflows on zero-sized data
https://bugs.webkit.org/show_bug.cgi?id=51431
<rdar://problem/8791757>
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage isNativeLibraryData:]): Change an arithmetic expression so
it doesn't underflow.
2010-12-16 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Cameron Zwarich.
REGRESSION(r74172): 125 java tests fail on Mac
https://bugs.webkit.org/show_bug.cgi?id=51214
The regression was caused by an incorrectly adding sizeof(struct fat_header)
to a pointer for uint32_t as supposed to uint8_t.
Fixed the bug by explicitly casting it to uint8_t* before the addition.
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage isNativeLibraryData:]):
2010-12-15 Cameron Zwarich <zwarich@apple.com>
Reviewed by Darin Adler.
Clang -Wcast-align gives an error in WebBasePluginPackage.mm
https://bugs.webkit.org/show_bug.cgi?id=51144
Fix an alignment issue. OSSwapInt32 takes data that is 32-bit aligned on ARM, but
we were calling it on a byte array 32 bits at a time. While this is okay in practice,
since TCMalloc won't give us a non-32-bit aligned block array of bytes and Vector's
inline storage is at the beginning of the Vector, it is still better to fix this
and silence the warning.
* Plugins/WebBasePluginPackage.mm:
(swapIntsInHeader):
(-[WebBasePluginPackage isNativeLibraryData:]):
2010-12-14 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
<http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>
* History/WebHistoryItem.mm:
(-[WebHistoryItem description]): Test whether the string is empty rather than incorrectly
always including the target in the output.
2010-12-13 Alexey Proskuryakov <ap@apple.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=50953
DNS Prefetch should be an opt-in feature
* WebView/WebPreferences.mm: (+[WebPreferences initialize]): Changed default to false.
2010-12-13 Mike Thole <mthole@apple.com>
Rubber-stamped by John Sullivan.
https://bugs.webkit.org/show_bug.cgi?id=50956
WebAuthenticationPanel.nib appears to have a cut-off sentence
Replace the sentence fragment in the sheet layout with "<-- do not localize -->" style text.
The contents of this text field are updated dynamically before the sheet is displayed.
* Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
* Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
2010-12-13 Antti Koivisto <antti@apple.com>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=50758
<rdar://problem/8722094>
Defer loading print stylesheets
Expose SPI for DRT for making resources load serially. This is useful for testing resource load order.
* WebView/WebView.mm:
(+[WebView _setLoadResourcesSerially:forHost:]):
* WebView/WebViewPrivate.h:
2010-12-09 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Adopt new CG API for canvas
https://bugs.webkit.org/show_bug.cgi?id=50591
* WebCoreSupport/WebSystemInterface.mm:
2010-10-28 MORITA Hajime <morrita@google.com>
Reviewed by Ojan Vafai.
spellcheck does not check pasted text
https://bugs.webkit.org/show_bug.cgi?id=40092
Added asynchronous spell checking API to WebEditorClient using
-[NSSpellChecker requestCheckingOfString].
Note that WebEditorSpellCheckResponder is a small class to receive
requested spell-checking result. Note that this feature is
disabled at default.
Also added [WebPreferences setAsynchronousSpellCheckingEnabled:] to
enable the feature from LayoutTestController.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]):
(-[WebEditorSpellCheckResponder perform]):
(toCoreSpellingResult):
(-[WebEditorSpellCheckResponder WTF::WebCore::]):
(WebEditorClient::requestCheckingOfString):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setAsynchronousSpellCheckingEnabled:]):
(-[WebPreferences asynchronousSpellCheckingEnabled]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-12-09 Anders Carlsson <andersca@apple.com>
Fix a bug uncovered by clang++.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
2010-12-09 Anders Carlsson <andersca@apple.com>
Clang++ build fixes.
Silence a couple of warnings.
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController filterKeyDown:]):
2010-12-09 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PgUp, PgDown should respect
writing-mode. This first part of the patch just patches Mac WebKit 1 views.
* WebView/WebFrameView.mm:
(-[WebFrameView _isVerticalDocument]):
(-[WebFrameView _isFlippedDocument]):
(-[WebFrameView _scrollToEndOfDocument]):
(-[WebFrameView _pageInBlockProgressionDirection:]):
(-[WebFrameView scrollPageUp:]):
(-[WebFrameView scrollPageDown:]):
2010-12-08 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
Enable pre-HTML5 parser quirks for Apple Mail.app
https://bugs.webkit.org/show_bug.cgi?id=50727
* WebView/WebView.mm:
(-[WebView _needsPreHTML5ParserQuirks]): Return true if the embedding
application is Mail.app.
2010-12-08 Brian Weinstein <bweinstein@apple.com>
Reviewed by John Sullivan.
REGRESSION: r73429-r73490: Some Contextual menu items non-functional, such as Open Link in New Tab
https://bugs.webkit.org/show_bug.cgi?id=50683
If our context menu item already has an action, don't overwrite the action with the context menu
forwarder.
* WebView/WebHTMLView.mm:
(setMenuItemTarget):
2010-12-08 Anders Carlsson <andersca@apple.com>
Remove an unused variable.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]):
2010-12-07 Brian Weinstein <bweinstein@apple.com>
Reviewed by John Sullivan.
Layering Violation in ContextMenu - member variable of type HitTestResult
https://bugs.webkit.org/show_bug.cgi?id=50586
Update users of ContextMenu and ContextMenuController to match where the new functions
are located.
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::getCustomMenuFromDefaultItems):
(WebContextMenuClient::contextMenuItemSelected):
* WebView/WebHTMLView.mm:
(-[WebMenuTarget validateMenuItem:]):
2010-12-07 Brian Weinstein <bweinstein@apple.com>
Reviewed by John Sullivan.
Part of Layering Violation in ContextMenu
https://bugs.webkit.org/show_bug.cgi?id=50586
Move WebMenuTarget from ContextMenuMac to here, because having it in ContextMenuMac
was a layering violation. Also, make sure we set the menu item targets for all menu
items before showing them, because the ContextMenu constructor doesn't do that anymore.
* WebView/WebHTMLView.mm:
(+[WebMenuTarget sharedMenuTarget]): Moved from ContextMenuMac.mm.
(-[WebMenuTarget WebCore::]): Ditto.
(-[WebMenuTarget setMenuController:WebCore::]): Ditto.
(-[WebMenuTarget forwardContextMenuAction:]): Ditto.
(-[WebMenuTarget validateMenuItem:]): Ditto.
(setMenuItemTarget): Sets the target of the NSMenuItem to the shared WebMenuTarget.
(setMenuTargets): Recursively iterates over all NSMenuItems in an NSMenu (including
submenus), and calls setMenuItemTarget on them.
(-[WebHTMLView menuForEvent:]): Call setMenuTarget on all the menu items before adding
them to the menu.
2010-12-06 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Pass security origin to make local file decision correctly
https://bugs.webkit.org/show_bug.cgi?id=48603
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]): Pass security origin.
2010-12-07 Martin Robinson <mrobinson@igalia.com>
Unreviewed, rolling out r73392.
http://trac.webkit.org/changeset/73392
https://bugs.webkit.org/show_bug.cgi?id=50489
This commit caused crashes on the GTK+ bots
* WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]):
2010-12-07 Kenichi Ishibashi <bashi@google.com>
Reviewed by Kent Tamura.
Let HTMLObjectElement be a form associated element
https://bugs.webkit.org/show_bug.cgi?id=48821
Modified to use FormAssociatedElement instead of HTMLFormControlElement.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation elementWithName:inForm:]): Modified to use
FormAssociatedElement instead of HTMLFormControlElement.
(-[WebHTMLRepresentation controlsInForm:]): Ditto.
2010-12-06 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Update calls to DocumentWriter.
https://bugs.webkit.org/show_bug.cgi?id=50489
* WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]):
2010-12-06 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
https://bugs.webkit.org/show_bug.cgi?id=49388
Got rid of GraphicsLayer::nativeLayer() call, replacing it with
GraphicsLayer::platformLayer().
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::attachRootGraphicsLayer):
2010-12-04 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
WebKit part of <rdar://problem/8145955> Add text search API for counting/marking/highlighting matches in a range
https://bugs.webkit.org/show_bug.cgi?id=50530
* WebView/WebDocumentInternal.h: Added a DOMRange parameter to -countMatchesForText:options:limit:markMatches:
* WebView/WebHTMLView.mm:
(-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter,
which is passed through to WebCore.
* WebView/WebPDFView.mm:
(isFrameInRange): Added this helper function.
(-[WebPDFView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter and
a check if the frame is in the range.
* WebView/WebView.mm:
(-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Now calls the inDOMRange: version.
(-[WebView countMatchesForText:inDOMRange:options:highlight:limit:markMatches:]): Added DOMRange
parameter, which is passed to document views' -countMatchesForText:inDOMRange:options:limit:markMatches:.
* WebView/WebViewPrivate.h:
2010-12-03 Sam Weinig <sam@webkit.org>
Reviewed by Maciej Stachowiak.
Enable <a ping> for Mac/Windows/WebKit2 builds
<rdar://problem/8504473>
https://bugs.webkit.org/show_bug.cgi?id=50488
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Enable "HyperlinkAuditing" by default.
2010-12-03 Jia Pu <jpu@apple.com>
Reviewed by Darin Adler.
Need to move all code that applies correction into correction panel callback.
https://bugs.webkit.org/show_bug.cgi?id=50426
<rdar://problem/8720832>
* WebCoreSupport/WebEditorClient.h: Adopted new signature of dismissCorrectionPanel.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::~WebEditorClient): Adopted new signature of dismissCorrectionPanel.
(WebEditorClient::showCorrectionPanel): Added more user dictionary learning code.
(WebEditorClient::dismissCorrectionPanel): Adopted new signature of dismissCorrectionPanel.
2010-12-02 Simon Fraser <simon.fraser@apple.com>
Revert r73217 and r73227 because of continued bustage.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::attachRootGraphicsLayer):
2010-12-02 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
https://bugs.webkit.org/show_bug.cgi?id=49388
Got rid of GraphicsLayer::nativeLayer() call, replacing it with
GraphicsLayer::platformLayer().
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::attachRootGraphicsLayer):
2010-12-02 Mark Rowe <mrowe@apple.com>
Reviewed by Beth Dakin.
<rdar://problem/8708730> Objects reported as being leaked due to lack of autorelease pool
* Misc/WebNSFileManagerExtras.m:
(setMetaData): Create an autorelease pool for the duration of the thread body.
2010-12-02 John Knottenbelt <jknotten@chromium.org>
Reviewed by Steve Block.
Move requestGeolocationPermissionForFrame to GeolocationClient
https://bugs.webkit.org/show_bug.cgi?id=50061
This change facilitates client-based geolocation implementation by
bringing together permission control into the geolocation client
interface.
Move method ChromeClient::requestGeolocationPermissionForFrame to
GeolocationClient::requestPermission, and supporting class
WebGeolocationPolicyListener. The moved code is unchanged except
that requestPermission now takes only one argument (Geolocation*)
and the Frame parameter is retrieved from the Geolocation object.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
* WebCoreSupport/WebGeolocationClient.h:
(WebGeolocationClient::cancelPermissionRequest):
* WebCoreSupport/WebGeolocationClient.mm:
(WebGeolocationClient::requestPermission):
(-[WebGeolocationPolicyListener initWithGeolocation:]):
(-[WebGeolocationPolicyListener allow]):
(-[WebGeolocationPolicyListener deny]):
2010-12-02 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Eric Carlson.
Style Fixes in WebPluginController
https://bugs.webkit.org/show_bug.cgi?id=50397
* Plugins/WebPluginController.mm:
(-[WebPluginController startAllPlugins]):
(-[WebPluginController stopAllPlugins]):
2010-12-02 John Sullivan <sullivan@apple.com>
Reviewed by Adam Roben.
Slightly speculative fix for:
<rdar://problem/8712674>
<https://bugs.webkit.org/show_bug.cgi?id=50393>
setStringValue: sometimes called with nil in [WebAuthenticationPanel setUpForChallenge]
* Panels/WebAuthenticationPanel.m:
(-[WebAuthenticationPanel setUpForChallenge:]):
If the realm is nil, use @"" instead.
2010-12-01 Jia Pu <jpu@apple.com>
Reviewed by Darin Adler.
Support multiple correction candidates panel for misspelled word on Mac OS X.
https://bugs.webkit.org/show_bug.cgi?id=50137
<rdar://problem/8568059>
This patch is for supporting multiple correction suggestion panel on Mac OS X.
The behavior and implementation is similar to that of reversion candiate panel.
* WebCoreSupport/WebEditorClient.h: Adopted new signatures defined in base class.
* WebCoreSupport/WebEditorClient.mm: Adopted new signatures defined in base class.
Added code to handle new multiple suggestion canidate panel type.
(WebEditorClient::showCorrectionPanel):
(WebEditorClient::getGuessesForWord):
2010-12-01 David Hyatt <hyatt@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=46645
Part 1 of making scrolling work with vertical text. This patch generalizes the scrollOriginX concept
recently added for horizontal RTL documents and applies it to writing modes as well. Now the
scrollOrigin is a point, since you can start off locked to the bottom or locked to the right.
This patch also fixes numerous bugs with the scrollOrigin code using native Mac NSScrollViews and
makes them behave the same as the cross-platform code (allowing for cross-platform results to be
landed).
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView adjustForScrollOriginChange]):
(-[WebDynamicScrollBarsView updateScrollers]):
(-[WebDynamicScrollBarsView reflectScrolledClipView:]):
(-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]):
(-[WebDynamicScrollBarsView scrollOrigin]):
* WebView/WebFrameView.mm:
(-[WebFrameView _scrollToBeginningOfDocument]):
(-[WebFrameView _scrollToEndOfDocument]):
2010-11-29 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
WebKit Mac part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
https://bugs.webkit.org/show_bug.cgi?id=50038
Based on a patch from Darin Adler.
* WebView/WebDocumentInternal.h: Removed -markAllMatchesForText:caseSensitive:limit: and
replaced -countMatchesForText:caseSensitive:limit:markMatches: with a WebFindOptions-based
method. Declared a WebDocumentOptionsSearching protocol with a new -findString:options:
method. Made WebHTMLView conform to the new protocol.
* WebView/WebHTMLView.mm:
(coreOptions): Added. Converts WebFindOptions to WebCore FindOptions.
(-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Changed to use
-findString:options:.
(-[WebHTMLView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions.
(-[WebHTMLView findString:options:]): Added. Calls through to WebCore::Editor::findString().
* WebView/WebPDFView.mm:
(-[WebPDFView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions.
* WebView/WebView.mm:
(-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]): Now calls through to
-countMatchesForText:options:highlight:limit:markMatches.
(-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]): Ditto.
(-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]): Now calls through to
-findString:options:.
(incrementFrame): Changed to use WebFindOptions.
(findString): Added this helper method that performs the search using the best supported
method for the document view.
(-[WebView findString:options:]): Changed -searchFor::::: into this.
(-[WebView canMarkAllTextMatches]):
(-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Updated to use
WebFindOptions.
(-[WebView unmarkAllTextMatches]): Updated for change to incrementFrame.
(-[WebView rectsForTextMatches]): Ditto.
* WebView/WebViewPrivate.h: Added WebFindOptions, -findString:options:, and WebFindOptions version
of countMatchesForText:.
2010-11-29 Jeremy Moskovich <jeremy@chromium.org>
Reviewed by David Hyatt.
Right-to-left pages should be scrollable to reveal left overflow.
https://bugs.webkit.org/show_bug.cgi?id=23556
Set and get the original x-axis scroll position and reset scroll position on HOME/END key press.
Modify WebFrameView to support setting the initial horizontal scroller's thumb position to the right for
pages with a left overflow.
* WebView/WebDynamicScrollBarsView.h:
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView inProgramaticScroll]):
(-[WebDynamicScrollBarsView refreshInitialScrollbarPosition]):
(-[WebDynamicScrollBarsView updateScrollers]):
(-[WebDynamicScrollBarsView reflectScrolledClipView:]):
(-[WebDynamicScrollBarsView setScrollOriginX:]):
(-[WebDynamicScrollBarsView scrollOriginX]):
* WebView/WebFrameView.mm:
(-[WebFrameView _scrollToBeginningOfDocument]):
(-[WebFrameView _scrollToEndOfDocument]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _frameOrBoundsChanged]):
2010-11-22 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Tony Chang.
SelectionController::typingStyle() should return EditingStyle*
https://bugs.webkit.org/show_bug.cgi?id=49813
Changed the return value of SelectionController::typingStyle() to EditingStyle*.
Also added SelectionController::copyTypingStyle() to copy the typing style
as an instance of CSSMutableStyleDeclaration.
No tests are added since this is no behavioral change.
* WebView/WebFrame.mm:
(-[WebFrame _typingStyle]): Calls SelectionController::copyTypingStyle()
2010-11-19 Michael Saboff <msaboff@apple.com>
Reviewed by Sam Weinig
Remove DOMSVGAnimatedPathData.h from all: target to fix build.
* MigrateHeaders.make:
2010-11-19 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=49580
* WebView/WebRenderLayer.mm: Add missing StyledElement.h include.
2010-11-18 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Adam Roben.
<rdar://problem/8602509&8602717&8602724> Enable compaction support.
* Configurations/WebKit.xcconfig:
2010-11-18 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r72288.
http://trac.webkit.org/changeset/72288
https://bugs.webkit.org/show_bug.cgi?id=49730
'krit attempted to do that, but revert got stuck' (Requested
by antonm on #webkit).
* WebView/WebRenderLayer.mm:
2010-11-17 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
https://bugs.webkit.org/show_bug.cgi?id=49580
* WebView/WebRenderLayer.mm: Add missing StyledElement.h include.
2010-11-16 Stephanie Lewis <slewis@apple.com>
Reviewed by Geoff Garen.
<rdar://problem/8624267> Leak creating offscreen webview running fast/dom tests
Make a static provider for WebDeviceOrientationProviderMock. The old code allocated a new WebDeviceOrientationProviderMock for
every WebView, and the WebKit API doesn't support that ownership model.
* WebView/WebDeviceOrientationProviderMock.h:
* WebView/WebDeviceOrientationProviderMock.mm:
(+[WebDeviceOrientationProviderMock shared]):
2010-11-16 Dave Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=11004
font-size:0 is ignored. Remove the minimum font size of 1 in CSSStyleSelector.
Change the pref value for minimum font size from 1 to 0. Make sure to never use the NSFont's size,
since it doesn't honor a size of 0. Instead pass the size in to the FontPlatformData(NSFont*) version
of the constructor rather than using [NSFont pointSize].
https://bugs.webkit.org/show_bug.cgi?id=49582
Negative leading is not handled correctly. There are two bugs here. The first is that
maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
set them before so that we can allow them to be < 0.
The second issue is that we should understand where fonts will end up relative to
our baseline (excluding line height), and only allow those boxes to impact ascent and
descent if the actual font box (without factoring in line height) is above or below the
root line box baseline.
Added fast/css/negative-leading.html
These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
(-[NSString _web_widthWithFont:]):
* Misc/WebStringTruncator.mm:
(fontFromNSFont):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2010-11-16 Anders Carlsson <andersca@apple.com>
Fix clang++ build.
* WebCoreSupport/WebFrameLoaderClient.mm:
2010-11-14 Kent Tamura <tkent@chromium.org>
Reviewed by Andreas Kling.
KeyboardEvent::keyIdentifier() should return "const String&"
https://bugs.webkit.org/show_bug.cgi?id=49426
* WebCoreSupport/WebEditorClient.mm:
(selectorForKeyEvent):
Change the type of a variable to have keyIdentifier(); String -> const String&
2010-11-12 John Knottenbelt <jknotten@chromium.org>
Reviewed by Steve Block.
Rename GeolocationControllerClient to GeolocationClient.
https://bugs.webkit.org/show_bug.cgi?id=49259
* WebCoreSupport/WebGeolocationClient.h: Renamed from WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.h.
(WebGeolocationClient::webView):
(WebGeolocationClient::setEnableHighAccuracy):
* WebCoreSupport/WebGeolocationClient.mm: Renamed from WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.mm.
(WebGeolocationClient::WebGeolocationClient):
(WebGeolocationClient::geolocationDestroyed):
(WebGeolocationClient::startUpdating):
(WebGeolocationClient::stopUpdating):
(WebGeolocationClient::lastPosition):
* WebKit.order:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2010-11-10 Beth Dakin <bdakin@apple.com>
Reviewed by Simon Fraser.
Fix for https://bugs.webkit.org/show_bug.cgi?id=49356
-[WebView _scaleWebView:] should take and origin and scroll the
document
-and corresponding-
<rdar://problem/8643921>
* WebView/WebView.mm:
(-[WebView _scaleWebView:atOrigin:]):
* WebView/WebViewPrivate.h:
2010-11-10 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by David Hyatt.
HTML5 Ruby support should be mandatory feature
https://bugs.webkit.org/show_bug.cgi?id=49272
Remove Ruby as optional feature.
* Configurations/FeatureDefines.xcconfig:
2010-11-08 Ned Holbrook <nholbrook@apple.com>
Reviewed by Adam Barth.
Avoid CFAttributedString creation in ComplexTextController by adopting UniChar provider SPI.
https://bugs.webkit.org/show_bug.cgi?id=48886
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2010-11-08 Nate Chapin <japhet@chromium.org>
Unreviewed, build fix.
Clumsy typo in r71562.
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::start):
2010-11-08 Nate Chapin <japhet@chromium.org>
Reviewed by Alexey Proskuryakov.
Interface changes in https://bugs.webkit.org/show_bug.cgi?id=27165
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::start): Move duplicate code into NetscapePluginStreamLoader
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::start): Move duplicate code into NetscapePluginStreamLoader
* WebView/WebView.mm:
(-[WebView _dispatchPendingLoadRequests]): Use resourceLoadScheduler() instead of cache()->loader().
2010-11-08 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Plug-in views should not assume that plugins are RenderEmbeddedObjects
https://bugs.webkit.org/show_bug.cgi?id=49196
<rdar://problem/8638467>
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView pluginHostDied]):
2010-11-08 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=48685
Notify UI process about focused frame
Added an empty implementation of the new ChromeClient method.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::focusedFrameChanged):
2010-11-08 Anders Carlsson <andersca@apple.com>
Build fix.
* MigrateHeaders.make:
2010-11-08 Anders Carlsson <andersca@apple.com>
Reviewed by Adam Roben.
Remove use of HIGetScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=49186
<rdar://problem/8618410>
Scale factors can vary on a display-by-display basis and it doesn't make sense
to compute scale factor event coordinates like this.
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
(getCarbonEvent):
2010-11-08 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
Allow applets to participate in accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=49117
<rdar://problem/8625819>
If Java is being loaded via the Netscape Plugin API, create a
NetscapePluginWidget so that it has an implementation of platformLayer().
Also clean up by using early returns.
* WebCoreSupport/WebFrameLoaderClient.mm:
2010-11-07 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Rename Cache to MemoryCache
https://bugs.webkit.org/show_bug.cgi?id=49159
* Misc/WebCache.mm:
(+[WebCache statistics]):
* WebCoreSupport/WebDeviceOrientationClient.mm:
(WebDeviceOrientationClient::setController):
* WebView/WebView.mm:
2010-11-05 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=49100
ASSERT([self window]) fails in -[WebBaseNetscapePluginView restartTimers]
* Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView restartTimers]):
Removed the assertion. Multiple callers provide no guarantee that the plug-in is still alive
(see bug comments), and there seems to be no harm in executing this function in that case.
2010-11-05 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Move resumeAnimations/suspendAnimations from Frame to AnimationController.
https://bugs.webkit.org/show_bug.cgi?id=49073
* WebView/WebFrame.mm:
(-[WebFrame _suspendAnimations]):
(-[WebFrame _resumeAnimations]):
2010-11-04 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=49008
<rdar://problem/7906226> Frequent crashes on mail.yahoo.co.jp
Callers of NetscapePluginInstanceProxy::waitForReply() are not prepared to be deleted during
the call, unless it returns 0. There are two reasons for NetscapePluginInstanceProxy to be
deleted during wait:
- plugin crashed;
- plugin was stopped (e.g. due to a DOM modification performed by another reply that came in
while waiting).
We didn't recognize the latter.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::PluginDestroyDeferrer::~PluginDestroyDeferrer):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::waitForReply):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::didCallPluginFunction):
2010-11-05 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state
https://bugs.webkit.org/show_bug.cgi?id=46945
* WebView/WebFrame.mm:
(-[WebFrame _suspendAnimations]):
(-[WebFrame _resumeAnimations]):
2010-11-04 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
reversion bubble in WebViews
https://bugs.webkit.org/show_bug.cgi?id=47630
<rdar://problem/8530960>
This patch is to add reversion to correction panel. Please see WebCore/ChangeLog for detail.
* WebCoreSupport/WebEditorClient.h: Adopted new signature of base class method.
* WebCoreSupport/WebEditorClient.mm: Adopted new signature of base class method. And code
change to use new reversion API in AppKit.
(WebEditorClient::WebEditorClient):
(WebEditorClient::~WebEditorClient):
(WebEditorClient::respondToChangedSelection):
(WebEditorClient::showCorrectionPanel):
(WebEditorClient::dismissCorrectionPanel):
(WebEditorClient::isShowingCorrectionPanel):
2010-11-04 Mike Thole <mthole@apple.com>
Reviewed by Dan Bernstein.
Title for images should use localized numerals
https://bugs.webkit.org/show_bug.cgi?id=49017
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::imageTitle): Use localized numerals on Snow Leopard or newer.
2010-11-02 Daniel Bates <dbates@rim.com>
Reviewed by Adam Barth.
For unnamed frames, window.name returns a generated name
https://bugs.webkit.org/show_bug.cgi?id=6751
Part 1 of 2.
Substitute FrameTree::uniqueName() for FrameTree::name() in the Mac port.
* WebView/WebFrame.mm:
(-[WebFrame name]):
2010-11-01 Brady Eidson <beidson@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
Context menu support for WebKit 2.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::showContextMenu):
2010-10-29 Daniel Bates <dbates@rim.com>
No review, rolling out 70971.
http://trac.webkit.org/changeset/70971
https://bugs.webkit.org/show_bug.cgi?id=6751
Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
it caused layout test failures on all bots. In particular, the
child count in a generated frame name differs after this patch. We need
to look into this further.
* WebView/WebFrame.mm:
(-[WebFrame name]):
2010-10-28 Antonio Gomes <agomes@rim.com>
Reviewed by Ojan Vafai.
Needs a "LinuxEditingBehavior", perhaps with a better name
https://bugs.webkit.org/show_bug.cgi?id=36627
Added the corresponding GTK+ setting to WebCore's EditingUnixBehavior: WebKitEditingUnixBehavior.
* WebView/WebFrame.mm:
(core):
* WebView/WebPreferencesPrivate.h:
2010-10-29 Daniel Bates <dbates@rim.com>
Reviewed by Adam Barth.
For unnamed frames, window.name returns a generated name
https://bugs.webkit.org/show_bug.cgi?id=6751
Modified Mac-port to use FrameTree::uniqueName().
* WebView/WebFrame.mm:
(-[WebFrame name]):
2010-10-29 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Change BackForwardList clients to use BackForwardListImpl to prepare for further refactoring
https://bugs.webkit.org/show_bug.cgi?id=48574
* History/WebBackForwardList.mm:
Use BackForwardListImpl.
2010-10-29 Alexey Proskuryakov <ap@apple.com>
Rubber-stamped by Sam Weinig.
Comment for usesDocumentViews explains it backwards. This flag is true in ToT, and we do
create views for subframes.
* WebView/WebViewData.h: Double negation is better than a lie.
2010-10-27 Jer Noble <jer.noble@apple.com>
Reviewed by Darin Adler.
Full screen video in Safari (still) exits full-screen if you switch to another
app on a multi-display system.
https://bugs.webkit.org/show_bug.cgi?id=47364
<rdar://problem/8382299>
The FullScreen window does not technically close when it deactivates, but the
two NSWindows that make up the FullScreen feature should not hide when deactivated.
* WebView/WebVideoFullscreenController.mm:
(createBackgroundFullscreenWindow): Do not set hidesOnDeactivate.
(-[WebVideoFullscreenWindow initWithContentRect:styleMask:backing:defer:]): Ditto.
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]): Ditto.
2010-10-29 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=48576
Let WebKit2 client know when a frame is a frameset
Added a blank implementation of the new FrameLoaderClient method.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidBecomeFrameset):
2010-10-29 Csaba Osztrogonác <ossy@webkit.org>
Reviewed by Adam Roben and David Kilzer.
Fix and cleanup of build systems
https://bugs.webkit.org/show_bug.cgi?id=48342
* Configurations/FeatureDefines.xcconfig: Remove unnecessary ENABLE_SANDBOX.
2010-10-28 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe.
LLVM compiler build fix
* Misc/WebDownload.mm:
(-[WebDownload initWithRequest:delegate:]): Changed the delegate type from id to
id<NSURLDownloadDelegate> to match the method signature in NSURLDownload.
2010-10-28 Ivan Krstić <ike@apple.com>
Reviewed by Mark Rowe.
Remove unused experimental proxied panel interface.
<rdar://problem/7237059>
* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::hostForPlugin):
(WebKit::NetscapePluginHostManager::spawnPluginHost):
(WebKit::NetscapePluginHostManager::instantiatePlugin):
* Plugins/Hosted/NetscapePluginHostProxy.mm:
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebPreferencesPrivate.h:
2010-10-27 Pratik Solanki <psolanki@apple.com>
Reviewed by Darin Adler.
Improve memSize calculation in [WebView _setCacheModel]
https://bugs.webkit.org/show_bug.cgi?id=48484
* WebView/WebView.mm:
(roundUpToPowerOf2): Added. Utility function to calculate the nearest power of 2.
(+[WebView _setCacheModel:]): Update memSize calculation to set it to the next
bigger power of 2. Also update WebCore cache settings.
2010-10-26 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=42322
rdar://problem/8193631
WebKitTestRunner needs to support layoutTestController.clearBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=42333
rdar://problem/8193643
* History/WebBackForwardList.mm:
(core): Return BackForwardListImpl.
(kit): Take BackForwardListImpl.
(-[WebBackForwardList initWithBackForwardList:]): Use BackForwardListImpl.
(-[WebBackForwardList dealloc]): Ditto.
(-[WebBackForwardList finalize]): Ditto.
(-[WebBackForwardList description]): Ditto.
(-[WebBackForwardList setPageCacheSize:]): Ditto.
(-[WebBackForwardList pageCacheSize]): Ditto.
* History/WebBackForwardListInternal.h: Ditto.
* WebView/WebFrameView.mm:
(-[WebFrameView keyDown:]): Ditto.
* WebView/WebView.mm:
(-[WebView initWithCoder:]): Ditto.
(-[WebView encodeWithCoder:]): Ditto.
(-[WebView backForwardList]): Ditto.
(-[WebView setMaintainsBackForwardList:]): Ditto.
2010-10-27 Chris Rogers <crogers@google.com>
Reviewed by Chris Marrin.
Add ENABLE_WEB_AUDIO feature enable flag (initially disabled) to build-webkit
https://bugs.webkit.org/show_bug.cgi?id=48279
* Configurations/FeatureDefines.xcconfig:
2010-10-27 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit
SPI to scale a WebView
-and corresponding-
<rdar://problem/8107667>
This patch adds SPI to Mac WebKit that scales the page by the given
scale factor.
* WebView/WebView.mm:
(-[WebView _scaleWebView:]):
(-[WebView _viewScaleFactor]):
* WebView/WebViewPrivate.h:
2010-10-27 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
REGRESSION (r70335): Incorrect article layout in Safari Reader
https://bugs.webkit.org/show_bug.cgi?id=48436
* Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_GET_MATCHED_CSS_RULES_RESTRICTIONS.
* WebView/WebView.mm:
(-[WebView _needsUnrestrictedGetMatchedCSSRules]): Added. Returns YES for Safari linked against
versions of WebKit that did not have the cross-origin restrictions in getMatchedCSSRules().
(-[WebView _preferencesChangedNotification:]): Call Settings::setCrossOriginCheckInGetMatchedCSSRulesDisabled()
based on the above.
2010-10-18 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
Safari fullscreen media element tickles when it should not.
https://bugs.webkit.org/show_bug.cgi?id=47861
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController updatePowerAssertions]):
2010-10-26 Jenn Braithwaite <jennb@chromium.org>
Reviewed by Dmitry Titov.
Resource tracking failure when trying to move a frame between documents
https://bugs.webkit.org/show_bug.cgi?id=44713
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::didTransferChildFrameToNewDocument):
Empty method.
(WebFrameLoaderClient::transferLoadingResourceFromPage):
Update resource tracking for a resource load that has been transferred
to a new page.
2010-10-25 Oliver Hunt <oliver@apple.com>
Reviewed by Gavin Barraclough.
Remove exec and globalData arguments from jsNumber
https://bugs.webkit.org/show_bug.cgi?id=48270
Mechanical removal of exec parameter to jsNumber
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::numberValue):
2010-10-24 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Expose HitTestResult::absoluteMediaURL() via WebKit API
https://bugs.webkit.org/show_bug.cgi?id=48219
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initializeLookupTable]): Map WebElementMediaURLKey to
_absoluteMediaURL.
(-[WebElementDictionary _absoluteMediaURL]): Added. Returns absoluteMediaURL().
* WebKit.exp: Export WebElementMediaURLKey.
* WebView/WebView.mm: Define WebElementMediaURLKey.
* WebView/WebViewPrivate.h: Declare WebElementMediaURLKey.
2010-10-24 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
Removed deprecated methods from the WebHTMLHighlighter private protocol.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::customHighlightRect): Call -highlightRectForLine:representedNode:
unconditionally.
(WebChromeClient::paintCustomHighlight): Call
-paintHighlightForBox:onLine:behindText:entireLine:representedNode: unconditionally.
* WebView/WebHTMLViewPrivate.h:
2010-10-23 Xan Lopez <xlopez@igalia.com>
Reviewed by Sam Weinig.
Unify globalData APIs
https://bugs.webkit.org/show_bug.cgi?id=47969
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame evaluateWebScript:]):
2010-10-23 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/48186> Remove unneeded WebHTMLRepresentationInternal.h header
Reviewed by Sam Weinig.
The only method defined in WebHTMLRepresentationInternal.h is
also defined in WebHTMLRepresentation.h, so use that instead.
* WebView/WebHTMLRepresentationInternal.h: Removed.
2010-10-23 Alexey Proskuryakov <ap@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=48083
<rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
* WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize the new method.
2010-10-22 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
WebKit2 needs to pass the current event modifier flags when requesting a new window
https://bugs.webkit.org/show_bug.cgi?id=48140
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchCreatePage):
Add NavigationAction parameter.
2010-10-21 Andy Estes <aestes@apple.com>
Reviewed by Eric Carlson.
WebKit shouldn't load a plug-in based on file extension if a MIME type
is specified.
https://bugs.webkit.org/show_bug.cgi?id=48046
If a MIME type is specified in an object or embed element, and that MIME
type isn't supported by an installed plug-in, WebKit shouldn't attempt
to find a plug-in based on the file extension of the url attribute.
Doing so can lead to cases where a plug-in is loaded that can't handle
resources of the MIME type specified by the author.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin): Only check for a pluginPackage by
extension if MIME type is the empty string.
2010-10-20 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Composited elements drawn twice when WebView is layer-backed
https://bugs.webkit.org/show_bug.cgi?id=48024
<rdar://problem/7916580>
When drawing content in a layer-backed WebView, WebFrame's test
for drawing to a bitmap succeeded, causing us to paint flattened
compositing layers into the view. They would also be rendered
by the normal compositing path, resulting in double rendering.
Fix this by detecting when the WebHTMLView is being drawn into
a layer, and avoiding flattening in that case.
* WebView/WebFrame.mm:
(-[WebFrame _showFlattenedCompositingLayers:]):
(-[WebFrame _drawRect:contentsOnly:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawLayer:inContext:]):
(-[WebHTMLView _web_isDrawingIntoLayer]):
* WebView/WebHTMLViewInternal.h:
2010-10-20 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by David Levin.
Repost the DatabaseTracker notifications to the main thread, if needed.
https://bugs.webkit.org/show_bug.cgi?id=40655
* Storage/WebDatabaseTrackerClient.mm:
(DidModifyOriginData::dispatchToMainThread):
(DidModifyOriginData::DidModifyOriginData):
(DidModifyOriginData::dispatchDidModifyOriginOnMainThread):
(WebDatabaseTrackerClient::dispatchDidModifyOrigin):
(WebDatabaseTrackerClient::dispatchDidModifyDatabase):
2010-10-20 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
REGRESSION(r67568-r67643): Some HTML/CSS renders upside down and backwards on Leopard
https://bugs.webkit.org/show_bug.cgi?id=47369
r46947 added code that limits the size of the layer-backed view on Leopard when
the page height exceeds 4096px (later adjusted to 2048px in r48401).
Later, r67576 altered the geometry flipping behavior to push the geometry flipping
down into WebKit. However, the code that adjusts the hosting layer's sublayer transform
to account for layer-backed view size-limiting was not fixed at the same time.
This change corrects that.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateLayerHostingViewPosition]):
2010-10-19 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/8508422> Compositing layers aren't always displayed correctly in layer-backed WebViews
AppKit has some special code to prevent it meddling with view's layers
under layer-backed WebViews. When a layer-backed WebView became composited,
this caused our layer to remain zero-sized. Fix this by manually
setting the geometry for our layer, if the WebHTMLView has a layer.
This does not seem to be a problem if the WebView becomes layer-backed, or
stops being layer-backed after the WebView starts using compositing.
* WebView/WebHTMLView.mm:
(-[WebHTMLView attachRootLayer:]):
2010-10-20 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
Merge ColorSpace and ImageColorSpace enums
https://bugs.webkit.org/show_bug.cgi?id=47922
Renamed ColorSpace enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
to follow webkit style rules.
* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
2010-10-19 Alexey Proskuryakov <ap@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=47933
<rdar://problem/8494337> navigator.language doesn't work in WebKit2
* Misc/WebNSUserDefaultsExtras.mm: Moved code for computing default language to WebCore.
We need to keep _webkit_preferredLanguageCode for Safari.
* WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface):
Initialize wkCopyCFLocalizationPreferredName.
* WebCoreSupport/WebViewFactory.mm: Removed defaultLanguage. WebCore was the only caller.
2010-10-18 Alexey Proskuryakov <ap@apple.com>
Reviewed by David Kilzer.
https://bugs.webkit.org/show_bug.cgi?id=47864
Convert WebNSUserDefaultsExtras.m to .mm
Also, fixed some issues in the process:
- removed locking, which was only necessary when this code was in Foundation;
- fixed notification center observer to actually work (previously, it picked up changes
when application preferences changed, not when system language did);
- removed unused NSString category;
- updated style.
* Misc/WebNSUserDefaultsExtras.m: Removed.
* Misc/WebNSUserDefaultsExtras.mm: Copied from WebKit/mac/Misc/WebNSUserDefaultsExtras.m.
(createHTTPStyleLanguageCode):
(+[NSUserDefaults _webkit_defaultsDidChange]):
(addLanguageChangeObserver):
(+[NSUserDefaults _webkit_preferredLanguageCode]):
2010-10-18 Stuart Morgan <stuartmorgan@chromium.org>
Reviewed by Eric Seidel.
Switch to using the new Carbon NPAPI event declarations, and remove
the old ones.
https://bugs.webkit.org/show_bug.cgi?id=40784
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
(WebNetscapePluginEventHandlerCarbon::mouseEntered):
(WebNetscapePluginEventHandlerCarbon::mouseExited):
(WebNetscapePluginEventHandlerCarbon::mouseMoved):
(WebNetscapePluginEventHandlerCarbon::focusChanged):
2010-10-18 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: disable private browsing for inspector
https://bugs.webkit.org/show_bug.cgi?id=47827
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]):
2010-10-14 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: inspector settings/properties/states management
should be extracted into separate class.
We have a lot of flags/values in InspectorController.
Some flags are persisting into profile.
Others are part of inspector state for frontend.
All these flags should keep their values after navigation.
It'd be better to extract these flags/values into separate
class which will care about theirs lifetime.
https://bugs.webkit.org/show_bug.cgi?id=47275
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController showWindow:]):
(-[WebInspectorWindowController attach]):
(-[WebInspectorWindowController detach]):
2010-10-13 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=43987
Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
to construct their internal result string. Remove ScriptString (this is now
redundant).
* WebCoreSupport/WebFrameLoaderClient.mm:
2010-10-12 Andy Estes <aestes@apple.com>
Rubber-stamped by Darin Adler.
Check in some cleanup from the previous commit.
* WebView/WebView.mm:
(leakMailQuirksUserScriptPath): Renamed to indicate that this function
leaks an NSString.
(-[WebView _injectMailQuirksScript]): Moved a static initialization from
a separate class method into the only method that used it and removed
the now-unnecessary class method.
2010-10-12 Eric Seidel <eric@webkit.org>
Reviewed by Darin Adler.
REGRESSION (new parser): Leopard/Tiger Mail <head>/<body> quirk is gone
https://bugs.webkit.org/show_bug.cgi?id=45693
Re-implement this former WebCore parser quirk as a
Mac-only userscript-based quirk. As far as I can tell
from Darin's description this should satisfy Mail's needs.
* Misc/MailQuirksUserScript.js: Added.
* WebView/WebView.mm:
(+[WebView _mailQuirksUserScript]):
(-[WebView _injectMailQuirksScript]):
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2010-10-12 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
Add 'didDraw' callback for framerate tracking
https://bugs.webkit.org/show_bug.cgi?id=47478
Add a callback at the end of -[WebHTMLView drawRect:] so
a delegate can get notified when a draw happens.
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawRect:]):
* WebView/WebUIDelegatePrivate.h:
2010-10-11 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Remove WebIconFetcher from WebKit and IconFetcher from WebCore
https://bugs.webkit.org/show_bug.cgi?id=47523
Remove all traces of the WebKit WebIconFetcher class. It's SPI that nobody uses.
* Misc/WebIconFetcher.h: Removed.
* Misc/WebIconFetcher.mm: Removed.
* Misc/WebIconFetcherInternal.h: Removed.
* WebView/WebFrame.mm:
* WebView/WebFramePrivate.h:
2010-10-11 Jessie Berlin <jberlin@apple.com>
Reviewed by Darin Adler.
Add Private API for creating a WebKit2 WebSerializedScriptValue from the internal
representation of a WebKit1 WebSerializedJSValue.
https://bugs.webkit.org/show_bug.cgi?id=47439
* WebView/WebSerializedJSValue.mm:
(-[WebSerializedJSValue internalRepresentation]):
* WebView/WebSerializedJSValuePrivate.h:
2010-10-07 Jessie Berlin <jberlin@apple.com>
Reviewed by Sam Weinig.
Add Private API for creating a WebKit1 WebSerializedJSValue from the internal
representation of a WebKit2 WebSerializedScriptValue.
https://bugs.webkit.org/show_bug.cgi?id=47390
* WebView/WebSerializedJSValue.mm:
(-[WebSerializedJSValue initWithInternalRepresentation:]):
Set the WebSerializedJSValuePrivate's WebCore::SerializedScriptValue to be the passed in
internal representation.
* WebView/WebSerializedJSValuePrivate.h: Added.
2010-10-07 Antonio Gomes <agomes@rim.com>
Reviewed by Simon Fraser.
[Mac] [DRT] implement setSpatialNavigationEnabled
https://bugs.webkit.org/show_bug.cgi?id=47291
Added the needed bits to make it possible to enabled spatial navigation
for the Mac port. For now it is being only used by DRT.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences isSpatialNavigationEnabled]):
(-[WebPreferences setSpatialNavigationEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-10-07 Jer Noble <jer.noble@apple.com>
Fix the Leopard 64-bit build.
* Configurations/WebKit.xcconfig: Add CoreServices.framework/Frameworks to the
framework search path.
* WebView/WebVideoFullscreenController.mm: Explicitly import <OSStatus/Power.h>.
2010-10-06 Jer Noble <jer.noble@apple.com>
Reviewed by Darin Adler.
Screensaver starts while watching fullscreen playback.
https://bugs.webkit.org/show_bug.cgi?id=47299
<rdar://problem/8478956>
To disable the Screen Saver, we need to periodically call UpdateSystemActivity().
* WebView/WebVideoFullscreenController.h: Added _tickleTimer.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController dealloc]): Invalidate _tickleTimer.
(-[WebVideoFullscreenController _enableTickleTimer]): Create _tickleTimer.
(-[WebVideoFullscreenController _disableTickleTimer]): Invalidate _tickleTimer.
(-[WebVideoFullscreenController _tickleTimerFired]): Call UpdateSystemActivity().
(-[WebVideoFullscreenController updatePowerAssertions]): Call _enableTickleTimer
or _disableTickleTimer.
2010-10-05 Philippe Normand <pnormand@igalia.com>
Reviewed by Martin Robinson.
check for ENABLE(GLIB_SUPPORT) in WebView
https://bugs.webkit.org/show_bug.cgi?id=46788
Use ENABLE(GLIB_SUPPORT) in WebView to guard the glib runloop observer.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView _close]):
* WebView/WebViewData.h:
* WebView/WebViewInternal.h:
2010-10-01 Anders Carlsson <andersca@apple.com>
Fix Snow Leopard build.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::getProxy):
2010-10-01 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it
https://bugs.webkit.org/show_bug.cgi?id=47022
<rdar://problem/8504712>
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::getProxy):
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView getVariable:forURL:value:length:]):
2010-09-30 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Remove remaining calls to deprecatedParseURL
https://bugs.webkit.org/show_bug.cgi?id=26599
* DOM/WebDOMOperations.mm:
(-[DOMDocument URLWithAttributeString:]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
Call stripLeadingAndTrailingHTMLSpaces instead of deprecatedParseURL.
2010-09-30 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
-[DOMDocument _documentRange] throws an exception if there is no document element
https://bugs.webkit.org/show_bug.cgi?id=46934
<rdar://problem/8169260>
If there is no document element, just return an empty range. Otherwise we'll try to call
Range::selectNode with a null Node which will throw a NOT_FOUND exception.
* DOM/WebDOMOperations.mm:
(-[DOMDocument _documentRange]):
2010-09-30 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Make 2D accelerated canvas rendering build on Mac
https://bugs.webkit.org/show_bug.cgi?id=46007
Added ACCELERATED_2D_CANVAS to FeatureDefines
* Configurations/FeatureDefines.xcconfig:
2010-09-30 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
Add printing SPI allowing full control over shrink-to-fit
https://bugs.webkit.org/show_bug.cgi?id=46877
* WebView/WebHTMLView.mm:
(-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]): Added.
* WebView/WebHTMLViewPrivate.h:
2010-09-28 Johnny Ding <jnd@chromium.org>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=41292
Some windowed plugins did not handle events through EventHandler, so we
never set right gesture state for those events.
This change is to set right allowPopupsFromPlugin flag to current
execution frame, so WeKit can always get right gesture state on Mac.
From Mac Snow Leopard, the plugin is run under "WebKitPluginHost,app"
process, that process passes the allowPopupsFromPlugin flag to
WKPCEvaluate(in NetscapePluginHostProxy.mm), then flag is set in
NetscapePluginInstanceProxy::evaluate.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
2010-09-28 Jenn Braithwaite <jennb@chromium.org>
Reviewed by Dmitry Titov.
Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
https://bugs.webkit.org/show_bug.cgi?id=46663
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::didTransferChildFrameToNewDocument):
2010-09-26 Antonio Gomes <agomes@rim.com>
Reviewed by Kenneth Rohde Christiansen.
DRT/Mac nodesFromRect support
[Mac][DRT] Implement LayoutTestController::nodesFromRect
https://bugs.webkit.org/show_bug.cgi?id=46580
Implement nodesFromRect as a private method to access non-exposed Document
methods, similarly to computedStyleIncludingVisitedInfo.
* WebView/WebView.mm: Added JSDocument.h and JSNodeList.h to the include list.
These headers makes it possible to:
1) Get a Document off of a JSDocument;
2) Call toJS function, defined in JSNodeList.cpp|h so we can convert RefPtr<NodeList>
gotten from Document::nodesFromRect to JS bindings.
(-[WebView _nodesFromRect:forDocument:x:y:hPadding:vPadding:ignoreClipping:]):
* WebView/WebViewPrivate.h: Added nodesFromRect method to access methods of the
Document class not exposed to JavaScript. It works similarly to computedStyleIncludingVisitedInfo.
2010-09-24 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
automaticSpellingCorrectionEnabled isn't updated.
https://bugs.webkit.org/show_bug.cgi?id=46486
<rdar://problem/8475212>
* WebView/WebView.mm:
(+[WebView initialize]): Should update "automaticSpellingCorrectionEnabled"
instead of "automaticTextReplacementEnabled".
2010-09-23 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=46380
REGRESSION: Crash when downloading a file
Downloading cannot be tested in DRT.
* Misc/WebNSFileManagerExtras.m: (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]):
Don't copy null strings.
2010-09-24 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: CRASH at node highlight on MAC Safari.
1) run-safari --debug
2) open inspector
3) open elements panel
4) hover mouse over elements panel items multiple times
5) CRASH
Looks like it is a race condition. WebNodeHighlightView doesn't check
the pointer to WebNodeHighligh object and it can be nil.
https://bugs.webkit.org/show_bug.cgi?id=46261
* WebInspector/WebNodeHighlightView.mm:
(-[WebNodeHighlightView drawRect:]):
2010-09-23 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
REGRESSION (r61285): some Dashboard widgets are always invisible due to
HTML parser changes.
https://bugs.webkit.org/show_bug.cgi?id=46435
Enable pre-HTML5 parser quirks if Dashboard is in backward compatibility
mode.
* WebView/WebView.mm:
(-[WebView _needsPreHTML5ParserQuirks]): Renamed from
shouldUsePreHTML5ParserQuirks(). Return true if
WebCore::Settings::usesDashboardCompatibilityMode() is true.
(-[WebView _preferencesChangedNotification:]):
(-[WebView _setDashboardBehavior:to:]): Enable pre-HTML5 parser quirks
if Dashboard behavior is set to backward compatibility mode.
2010-09-23 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Reduce minimum DOMTimer interval
https://bugs.webkit.org/show_bug.cgi?id=45362
* WebView/WebView.mm:
Updating set interval call to use Settings' static version inside
one time init block.
2010-09-22 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
REGRESSION (r61285): Microsoft Entourage 2008 does not invoke My Day window
https://bugs.webkit.org/show_bug.cgi?id=46334
Microsoft My Day loads scripts using self-closing script tags, markup
which is incompatible with the HTML5 parser. Enable parser quirks for
this application.
* WebView/WebView.mm:
(shouldUsePreHTML5ParserQuirks): Return true if the application is
Microsoft My Day and was linked against a version of WebKit prior to the
introduction of the HTML5 parser.
2010-09-23 Nate Chapin <japhet@chromium.org>
Reviewed by Darin Fisher.
Add hyperlink auditing settings (i.e., <a ping>).
https://bugs.webkit.org/show_bug.cgi?id=30458
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setMemoryInfoEnabled:]):
(-[WebPreferences hyperlinkAuditingEnabled]):
(-[WebPreferences setHyperlinkAuditingEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-09-22 Alexey Proskuryakov <ap@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=43667
ASSERT failure in NetscapePluginInstanceProxy::disconnectStream
Test: plugins/get-javascript-url.html
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluateJavaScript): Add the stream to m_streams, just
like any other one.
2010-09-21 Darin Adler <darin@apple.com>
Reviewed by Anders Carlsson.
Fix some Objective-C GC problems and use RetainPtr instead of HardRetain/Release
https://bugs.webkit.org/show_bug.cgi?id=46220
* Misc/WebNSFileManagerExtras.m:
(setMetaData): Use CFRelease instead of HardRelease.
(-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Use CFStringCreateCopy
instead of -[NSObject copy] combined with HardRetainWithNSRelease.
2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu>
Reviewed by Kenneth Rohde Christiansen.
PluginStrategy should satisfy the needs of Qt
https://bugs.webkit.org/show_bug.cgi?id=45857
No new functionality so no new tests.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::getPluginInfo):
2010-09-22 Paul Knight <pknight@apple.com>
Reviewed by Simon Fraser.
-[WebView _scheduleCompositingLayerSync] should wake the run loop
https://bugs.webkit.org/show_bug.cgi?id=46226
Call CFRunLoopWakeUp to make sure the run loop is not sleeping, which could delay layer painting.
* WebView/WebView.mm:
(-[WebView _scheduleCompositingLayerSync]):
2010-09-21 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
REGRESSION (r61285): AIM 2.1.296: Code rendered as text in Welcome screen
https://bugs.webkit.org/show_bug.cgi?id=46134
AIM clients linked against versions of WebKit prior to the introduction
of the HTML5 parser contain markup incompatible with the new parser.
Enable parser quirks in this case to remain compatible with these
clients.
* WebView/WebView.mm:
(shouldUsePreHTML5ParserQuirks): Returns true if the embedding
application is AIM and was linked against a version of WebKit prior to
the introduction of the HTML5 parser, or if the
WebKitPreHTML5ParserQuirks WebPreference is enabled.
(-[WebView _preferencesChangedNotification:]): Call
WebCore::Settings::setUsePreHTML5ParserQuirks().
2010-09-21 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
DeviceOrientationClient and DeviceMotionClient should have controllerDestroyed() methods
https://bugs.webkit.org/show_bug.cgi?id=45891
Implements WebDeviceOrientationClient::deviceOrientationControllerDestroyed to delete the client.
* WebCoreSupport/WebDeviceOrientationClient.h:
* WebCoreSupport/WebDeviceOrientationClient.mm:
(WebDeviceOrientationClient::deviceOrientationControllerDestroyed):
2010-09-20 Philippe Normand <pnormand@igalia.com>
Reviewed by Eric Carlson.
[GTK] enhanced context menu for media elements
https://bugs.webkit.org/show_bug.cgi?id=45021
New localized strings for the media element context-menu.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::contextMenuItemTagOpenVideoInNewWindow):
(WebPlatformStrategies::contextMenuItemTagOpenAudioInNewWindow):
(WebPlatformStrategies::contextMenuItemTagCopyVideoLinkToClipboard):
(WebPlatformStrategies::contextMenuItemTagCopyAudioLinkToClipboard):
(WebPlatformStrategies::contextMenuItemTagToggleMediaControls):
(WebPlatformStrategies::contextMenuItemTagToggleMediaLoop):
(WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen):
(WebPlatformStrategies::contextMenuItemTagMediaPlay):
(WebPlatformStrategies::contextMenuItemTagMediaPause):
(WebPlatformStrategies::contextMenuItemTagMediaMute):
2010-09-20 Andy Estes <aestes@apple.com>
Reviewed by Adam Barth.
REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
https://bugs.webkit.org/show_bug.cgi?id=40961
Implement WebKitUsePreHTML5ParserQuirks preference.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Default WebKitUsePreHTML5ParserQuirks to
false.
(-[WebPreferences usePreHTML5ParserQuirks]):
(-[WebPreferences setUsePreHTML5ParserQuirks:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Update WebCore::Settings
with the value of WebKitUsePreHTML5ParserQuirks when a preference
changes.
2010-09-20 Enrica Casucci <enrica@apple.com>
Reviewed by Sam Weinig.
Pasteboard doesn't work in WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=42317
<rdar://problem/7660537>
Some changes to fix style inconsistencies.
Added OBJC 2.0 style enumeration.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::userVisibleString):
(createExcludedElementsForAttributedStringConversion):
(WebEditorClient::documentFragmentFromAttributedString): Changed parameter to be
a Vector of RefPtr.
(WebEditorClient::setInsertionPasteboard):
(WebEditorClient::pasteboardTypesForSelection):
2010-09-17 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=45993, convert printing to the new pagination model.
Make printing store the page height in the RenderView and push that into the layout state to
use the new pagination model. The old pagination model is retained because it is still used
for embedded WebViews.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]):
2010-09-17 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
https://bugs.webkit.org/show_bug.cgi?id=42863
* WebView/WebView.mm:
(-[WebView _setZoomMultiplier:isTextOnly:]):
Call functions on Frame instead of FrameView.
2010-09-17 Matthew Delaney <mdelaney@apple.com>
Reviewed by Simon Fraser.
Reduce minimum DOMTimer interval
https://bugs.webkit.org/show_bug.cgi?id=45362
* WebView/WebView.mm: Added in a call to set the mimimum allowed DOMTimer to 4ms.
2010-09-17 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Add WebKitAccelerated2dCanvasEnabled flag to WebKit for Mac
https://bugs.webkit.org/show_bug.cgi?id=45911
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences accelerated2dCanvasEnabled]):
(-[WebPreferences setAccelerated2dCanvasEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-09-17 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
WebKit should use system wide spell checking preference when application specific one isn't set.
https://bugs.webkit.org/show_bug.cgi?id=45789
<rdar://problem/8416041>
* WebView/WebView.mm:
(+[WebView initialize]): Use system wide autocorrection and text substitution preferences
when the application level preferences are not set.
2010-09-16 John Sullivan <sullivan@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8395558>
https://bugs.webkit.org/show_bug.cgi?id=45938
_web_makePluginViewsPerformSelector:: mutates subviews array while iterating it
* WebView/WebHTMLView.mm:
(-[WebHTMLView _web_makePluginSubviewsPerformSelector:withObject:]):
Converted from -[NSArray _web_makePluginViewsPerformSelector:withObject:]. The old method
was only ever called on the result of -[WebHTMLView subviews]. By moving that knowledge into
this helper method, it can't be used incorrectly. Now it makes a copy of [WebHTMLView subviews]
before enumerating it, to ensure that the selector can't mutate the array being enumerated.
(-[WebHTMLView viewWillMoveToHostWindow:]):
Updated for _web_makePluginSubviewsPerformSelector:: signature change.
(-[WebHTMLView viewDidMoveToHostWindow]):
Ditto.
2010-09-16 Darin Adler <darin@apple.com>
Reviewed by Andreas Kling.
Reduce use of HTMLInputElement::inputType so we can remove it later
https://bugs.webkit.org/show_bug.cgi?id=45903
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation elementDoesAutoComplete:]): Use isPasswordField.
(-[WebHTMLRepresentation elementIsPassword:]): Use isPasswordField.
2010-09-16 Patrick Gansterer <paroga@paroga.com>
Reviewed by Darin Adler.
Always use a valid string when setting WebKitUserStyleSheetLocationPreferenceKey.
https://bugs.webkit.org/show_bug.cgi?id=41510
This prevents usage of nil value, which would cause an uncaught exception.
* WebView/WebPreferences.mm:
(-[WebPreferences setUserStyleSheetLocation:]):
2010-09-16 Dan Bernstein <mitz@apple.com>
Reverted the previous change because r67628 has been reverted.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
2010-09-16 Dan Bernstein <mitz@apple.com>
Build fix after r67628. Added context menu item localizable strings for the items
added in r67628, following equivalent menu items in Mac OS X when possible. However,
this set of menu items does not make much sense for Mac OS X, and this should be
addressed separately.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::contextMenuItemTagOpenMediaInNewWindow):
(WebPlatformStrategies::contextMenuItemTagCopyMediaLinkToClipboard):
(WebPlatformStrategies::contextMenuItemTagToggleMediaControls):
(WebPlatformStrategies::contextMenuItemTagToggleMediaLoop):
(WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen):
(WebPlatformStrategies::contextMenuItemTagMediaPlay):
(WebPlatformStrategies::contextMenuItemTagMediaPause):
(WebPlatformStrategies::contextMenuItemTagMediaMute):
(WebPlatformStrategies::contextMenuItemTagMediaUnMute):
2010-09-16 Eric Uhrhane <ericu@chromium.org>
Reviewed by Jian Li.
Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
https://bugs.webkit.org/show_bug.cgi?id=45798
* Configurations/FeatureDefines.xcconfig:
2010-09-15 Simon Fraser <simon.fraser@apple.com>
Reviewed by Adam Roben.
https://bugs.webkit.org/show_bug.cgi?id=44715
maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac
Move geometry flipping to platform-specific code.
* WebView/WebHTMLView.mm:
(-[WebHTMLView attachRootLayer:]):
2010-09-14 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
Only intercept ESC key press when autocorrection UI is visible.
https://bugs.webkit.org/show_bug.cgi?id=45071
* WebCoreSupport/WebEditorClient.h: Added declaration of isShowingCorrectionPanel(),
which provides an inteface to query whether autocorrection panel is shown.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::WebEditorClient): Defined a constant, InvalidCorrectionPanelTag,
for invalid correction panel tag. Replaced -1 with this constant.
(WebEditorClient::dismissCorrectionPanel): Ditto
(WebEditorClient::isShowingCorrectionPanel): Query whether autocorrection panel is shown.
2010-09-14 Mark Rowe <mrowe@apple.com>
Reviewed by John Sullivan.
Part of <rdar://problem/8420003>. Make it possible to override the version number used in linked-in-or-after checks.
* Misc/WebKitVersionChecks.h: Remove two unused functions from the header and add a method to set the overriden version.
* Misc/WebKitVersionChecks.m:
(WebKitLinkedOnOrAfter):
(setWebKitLinkTimeVersion): Set the overridden version.
(WebKitLinkTimeVersion): Return the overridden version if set, otherwise do the old thing.
* WebView/WebPreferences.mm:
(+[WebPreferences setWebKitLinkTimeVersion:]): Call through to set the overridden version.
* WebView/WebPreferencesPrivate.h:
2010-09-14 Eric Seidel <eric@webkit.org>
Unreviewed, reverting changes r67451 and r67451.
Broke lots of builders.
Only intercept ESC key press when autocorrection UI is visible.
https://bugs.webkit.org/show_bug.cgi?id=45071
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::WebEditorClient):
(WebEditorClient::dismissCorrectionPanel):
2010-09-14 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
Only intercept ESC key press when autocorrection UI is visible.
https://bugs.webkit.org/show_bug.cgi?id=45071
* WebCoreSupport/WebEditorClient.h: Added declaration of isShowingCorrectionPanel(),
which provides an inteface to query whether autocorrection panel is shown.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::WebEditorClient): Defined a constant, InvalidCorrectionPanelTag,
for invalid correction panel tag. Replaced -1 with this constant.
(WebEditorClient::dismissCorrectionPanel): Ditto
(WebEditorClient::isShowingCorrectionPanel): Query whether autocorrection panel is shown.
2010-09-13 Darin Adler <darin@apple.com>
Reviewed by Adam Barth.
Preparation for eliminating deprecatedParseURL
https://bugs.webkit.org/show_bug.cgi?id=45695
* DOM/WebDOMOperations.mm:
(-[DOMDocument webFrame]): Get rid of unneeded local variable.
(-[DOMDocument URLWithAttributeString:]): Remove unhelpful comment.
2010-09-13 Enrica Casucci <enrica@apple.com>
Reviewed by Sam Weinig.
Paste should be implemented in WebCore like Copy and Cut for Mac also.
https://bugs.webkit.org/show_bug.cgi?id=45494
<rdar://problem/7660537>
On the Mac platform, the implementation of the paste operation is all done
at the WebKit level. In order to support it on WebKit2 it is necessary to
refactor the code and move this functionality at the level of WebCore like
we already have on Windows.
The original code relies on some in AppKit functions that call back into
WebKit causing problems in WebKit2. All this functionality has been moved
at the level of the editor client where it can be dealt with appropriately.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(excludedElementsForAttributedStringConversion):
(WebEditorClient::documentFragmentFromAttributedString): Added.
(WebEditorClient::setInsertionPasteboard):
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::canShowMIMETypeAsHTML): Re-implemented at the level
of the editor client.
* WebView/WebHTMLView.mm: Removed paste method.
2010-09-13 John Sullivan <sullivan@apple.com>
Reviewed by Adam Roben.
https://bugs.webkit.org/show_bug.cgi?id=45677
[WebView canMarkAllTextMatches] can crash if called after [WebView close]
<rdar://problem/8404890>
* WebView/WebView.mm:
(-[WebView canMarkAllTextMatches]):
Return NO immediately if the webview has already been closed. This was an overlooked
case from the fix for 45175.
2010-09-10 MORITA Hajime <morrita@google.com>
Reviewed by Tony Chang.
[Chromium] Implement textInputController.hasSpellingMarker() for Chromium
https://bugs.webkit.org/show_bug.cgi?id=45441
Moved the actual logic of hasSpellingMarker into WebCore to share
it with other ports.
* WebView/WebFrame.mm:
(-[WebFrame hasSpellingMarker:length:]):
2010-09-11 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
Make SecurityOrigin::canDisplay an instance function
https://bugs.webkit.org/show_bug.cgi?id=45219
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::loadRequest):
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::WebNetscapePluginStream):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck _isForbiddenFileLoad]):
* WebView/WebFrame.mm:
(-[WebFrame _allowsFollowingLink:]):
2010-09-10 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
Precursor to <rdar://problem/7660657>
https://bugs.webkit.org/show_bug.cgi?id=45522
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
(-[WebView _setZoomMultiplier:isTextOnly:]):
(-[WebView _realZoomMultiplierIsTextOnly]):
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate init]):
Move tracking of text only zoom here from WebCore.
2010-09-10 Stephanie Lewis <slewis@apple.com>
Reviewed by Alexey Proskuryakov.
Refactor JavaScriptCore memory statistics so that WebKit doesn't need to know about the JIT and
other implementation details of JavaScriptCore. Necessary to fix PPC build.
https://bugs.webkit.org/show_bug.cgi?id=45528
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics memoryStatistics]):
2010-09-10 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Move some Dashboard stuff from WebCore to WebKit along with a bit more FrameMac cleanup
https://bugs.webkit.org/show_bug.cgi?id=45582
* MigrateHeaders.make: Removed WebDashboardRegion.h from the set of header to copy.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::dashboardRegionsChanged): Changed this to call
-[WebView _dashboardRegions] so we don't have two copies of that code.
* WebView/WebDashboardRegion.h: Copied from WebCore/page/mac/WebDashboardRegion.h.
* WebView/WebDashboardRegion.mm: Copied from WebCore/page/mac/WebDashboardRegion.m.
* WebView/WebView.mm:
(-[WebView _dashboardRegions]): Moved the code from Frame::dashboardRegions here.
2010-09-10 Adam Barth <abarth@webkit.org>
Reviewed by Darin Fisher.
Move code from WebKit-layer to DocumentLoader
https://bugs.webkit.org/show_bug.cgi?id=45569
This code is the most confused, but now should be a bit cleaner.
There's still a magical fake-setting for creating renderers that needs
to be cleaned up, but we can do that in a separate patch.
* WebView/WebFrame.mm:
(-[WebFrame _commitData:]):
* WebView/WebFrameInternal.h:
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation receivedData:withDataSource:]):
(-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
2010-09-09 Darin Adler <darin@apple.com>
Reviewed by Adam Barth.
Move functions from Frame to SelectionController as planned
https://bugs.webkit.org/show_bug.cgi?id=45508
* WebView/WebFrame.mm:
(-[WebFrame _selectionGranularity]):
(-[WebFrame _insertParagraphSeparatorInQuotedContent]):
(-[WebFrame _typingStyle]):
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation currentForm]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView jumpToSelection:]):
(-[WebHTMLView centerSelectionInVisibleArea:]):
(-[WebHTMLView _canSmartCopyOrDelete]):
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
(-[WebHTMLView selectionRect]):
(-[WebHTMLView selectionTextRects]):
(-[WebHTMLView selectionImageRect]):
* WebView/WebView.mm:
(-[WebView setEditable:]):
Call functions on selection().
2010-09-10 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Main resource bytes shouldn't bounce through FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=45496
Now return the bytes to the DocumentLoader.
Previously, we were checking the document for null. However, Frame can
never have a null document, so this check is no longer needed.
* WebView/WebFrame.mm:
(-[WebFrame _addData:]):
2010-09-09 John Therrell <jtherrell@apple.com>
Reviewed by Alexey Proskuryakov.
Added statistics sampling and reporting for JavaScriptCore's RegisterFile and ExecutableAllocator classes
https://bugs.webkit.org/show_bug.cgi?id=45134
Added ability to enable new JavaScriptCore statistics sampling and reporting for RegisterFile
and ExecutableAllocator classes. Added reporting of JavaScriptCore's stack committed memory
and JIT code committed memory statistics to WebCoreStatistics memoryStatistics.
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics memoryStatistics]):
Added statistics reporting for JSC RegisterFile and ExecutableAllocator.
2010-09-09 Jer Noble <jer.noble@apple.com>
Reviewed by Mark Rowe.
Use of ENABLE macro in WebUIDelegatePrivate.h breaks use from outside WebKit
<rdar://problem/8412657>
* WebView/WebUIDelegatePrivate.h: Use ENABLE_FULLSCREEN_API instead of ENABLE(FULLSCREEN_API)
2010-09-08 Darin Adler <darin@apple.com>
Reviewed by Adam Barth.
Move functions from Frame to Editor as planned
https://bugs.webkit.org/show_bug.cgi?id=45218
* WebView/WebFrame.mm:
(-[WebFrame _selectedString]):
(-[WebFrame _firstRectForDOMRange:]):
(-[WebFrame _markDOMRange]):
(-[WebFrame _setTypingStyle:withUndoAction:]):
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _selectionStartFontAttributesAsRTF]):
(-[WebHTMLView toggleBaseWritingDirection:]):
(-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
(-[WebHTMLView countMatchesForText:caseSensitive:limit:markMatches:]):
(-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
(-[WebHTMLView markedTextMatchesAreHighlighted]):
* WebView/WebView.mm:
(-[WebView setEditable:]):
Changed call sites to use editor().
2010-09-08 MORITA Hajime <morrita@google.com>
Reviewed by Ojan Vafai.
spellcheck does not check pasted text
https://bugs.webkit.org/show_bug.cgi?id=40092
Implemented async spell-check APIs on WebEditorClient.
The implementations are using [NSSpellChecker requestCheckingOfString]
which is available only on Mac OS 10.6 or later.
Note that [NSSpellChecker requestCheckingOfString] could invoke
the callback block on on of their worker thread, so we need to
return the result to the main thread where WebCore is running.
For that purpose, we made WebEditorSpellCheckResponder class.
Test: editing/spelling/spellcheck-pasted-text-001.html
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::isAsynchronousSpellCheckingEnabled): Added.
(-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]): Added.
(-[WebEditorSpellCheckResponder perform]): Added.
(WebEditorClient::requestCheckingOfString): Added.
* WebView/WebFramePrivate.h:
2010-09-08 MORITA Hajime <morrita@google.com>
Reviewed by Tony Chang.
spelling underline gets lost on backspace
https://bugs.webkit.org/show_bug.cgi?id=41423
Switched to use a anchorNode of the selection instead of a focused
node for finer control of node selection in spellingNode():
With the focused node, we cannot select other nodes but the first
child of that node. In some case, we need to inspect these.
The API is only for LayoutTests, and the change is compatible for
existing test cases.
* WebView/WebFrame.mm:
(spellingNode):
2010-09-08 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel.
Rename DocLoader to CachedResourceLoader because that's what it does.
* WebView/WebFrame.mm:
2010-09-07 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver Hunt.
Fix clang++ build.
* Misc/WebLocalizableStrings.h:
Fix a struct/tag mismatch.
* WebView/WebDeviceOrientationProviderMock.mm:
(-[WebDeviceOrientationProviderMock init]):
Remove stray semicolon.
* WebView/WebViewData.h:
Remove unused class forward declaration.
2010-09-07 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8381749> -Wcast-align warning emitted when building with clang
Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
* Configurations/Base.xcconfig:
2010-09-06 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Rename SecurityOrigin::canLoad to canDisplay
https://bugs.webkit.org/show_bug.cgi?id=45214
Propagate name change.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::loadRequest):
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::WebNetscapePluginStream):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck _isForbiddenFileLoad]):
* WebView/WebFrame.mm:
(-[WebFrame _allowsFollowingLink:]):
2010-09-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Reviewed by Darin Adler.
Add NetworkingContext to avoid layer violations
https://bugs.webkit.org/show_bug.cgi?id=42292
Add Mac's specific implementation of FrameNetworkingContext.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebCoreSupport/WebFrameNetworkingContext.mm:
(WebFrameNetworkingContext::needsSiteSpecificQuirks):
(WebFrameNetworkingContext::localFileContentSniffingEnabled):
(WebFrameNetworkingContext::scheduledRunLoopPairs):
(WebFrameNetworkingContext::blockedError):
2010-09-03 John Sullivan <sullivan@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=45175
[WebView unmarkAllTextMatches] will crash if the webview is already closed
Made this and related methods robust against being called when the WebView is closed.
* WebView/WebView.mm:
(-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
Bail out if the WebView is closed.
(-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]):
Ditto.
(-[WebView unmarkAllTextMatches]):
Ditto.
(-[WebView rectsForTextMatches]):
Ditto.
2010-09-03 Hironori Bono <hbono@chromium.org>
Reviewed by Kent Tamura.
Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests
and implements it for Mac.
https://bugs.webkit.org/show_bug.cgi?id=41832
* WebView/WebFrame.mm: Implemented [WebFrame hasSpellingMarker:length:].
(spellingNode):
(-[WebFrame hasSpellingMarker:length:]):
* WebView/WebFramePrivate.h: Added [WebFrame hasSpellingMarker:length:] so TextInputController can use it.
2010-09-02 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
https://bugs.webkit.org/show_bug.cgi?id=44230
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::closeWindow):
(WebInspectorFrontendClient::disconnectFromBackend):
(-[WebInspectorWindowController windowShouldClose:]):
(-[WebInspectorWindowController destroyInspectorView:]):
2010-09-02 Steve Block <steveblock@google.com>
Reviewed by Adam Barth.
Hook up LayoutTestController.setMockDeviceOrientation() on Mac.
https://bugs.webkit.org/show_bug.cgi?id=43181
This patch hooks up the mock device orientation client on Mac for use
in DumpRenderTree.
The patch adds a new WebDeviceOrientationClient for Mac. This client acts
as a proxy to either a real or mock device orientation provider, both of
which implement a new WebDeviceOrientationProvider interface.
The provider is created by the embedder and passed to the WebView, from
where WebDeviceOrientationClient can access it.
The mock provider, WebDeviceOrientationProviderMock, is a wrapper around
the existing WebCore mock.
* WebCoreSupport/WebDeviceOrientationClient.h: Added.
* WebCoreSupport/WebDeviceOrientationClient.mm: Added.
(WebDeviceOrientationClient::WebDeviceOrientationClient):
(WebDeviceOrientationClient::setController):
(WebDeviceOrientationClient::startUpdating):
(WebDeviceOrientationClient::stopUpdating):
(WebDeviceOrientationClient::lastOrientation):
* WebKit.exp:
* WebView/WebDeviceOrientation.h: Added.
* WebView/WebDeviceOrientation.mm: Added.
(-[WebDeviceOrientation initWithCoreDeviceOrientation:WebCore::]):
(core):
(-[WebDeviceOrientation initWithCanProvideAlpha:alpha:canProvideBeta:beta:canProvideGamma:gamma:]):
(-[WebDeviceOrientation dealloc]):
* WebView/WebDeviceOrientationInternal.h: Added.
* WebView/WebDeviceOrientationProvider.h: Added.
* WebView/WebDeviceOrientationProviderMock.h: Added.
* WebView/WebDeviceOrientationProviderMock.mm: Added.
(-[WebDeviceOrientationProviderMockInternal setOrientation:]):
(-[WebDeviceOrientationProviderMockInternal setController:]):
(-[WebDeviceOrientationProviderMockInternal startUpdating]):
(-[WebDeviceOrientationProviderMockInternal stopUpdating]):
(-[WebDeviceOrientationProviderMockInternal lastOrientation]):
(-[WebDeviceOrientationProviderMock init]):
(-[WebDeviceOrientationProviderMock dealloc]):
(-[WebDeviceOrientationProviderMock setOrientation:]):
(-[WebDeviceOrientationProviderMock setController:]):
(-[WebDeviceOrientationProviderMock startUpdating]):
(-[WebDeviceOrientationProviderMock stopUpdating]):
(-[WebDeviceOrientationProviderMock lastOrientation]):
* WebView/WebDeviceOrientationProviderMockInternal.h: Added.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView _setDeviceOrientationProvider:]):
(-[WebView _deviceOrientationProvider]):
* WebView/WebViewData.h:
* WebView/WebViewPrivate.h:
2010-09-01 Jia Pu <jpu@apple.com>
Reviewed by Dan Bernstein.
Add support for autocorrection UI on Mac OS X.
https://bugs.webkit.org/show_bug.cgi?id=44958
<rdar://problem/7326847>
See detailed high level description in WebCore/ChangeLog.
* WebCoreSupport/WebEditorClient.h: Added new member methods declared in
EditorClient. Added m_correctionPanelTag to store the ID of current autocorrection UI object.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::WebEditorClient): Initialize m_correctionPanelTag.
(WebEditorClient::~WebEditorClient): Make sure the autocorrection UI is
dismissed before destroying the object.
(WebEditorClient::respondToChangedSelection): Dismiss autocorrection UI whenever the selection changes.
(WebEditorClient::showCorrectionPanel): Show autocorrection UI.
(WebEditorClient::dismissCorrectionPanel): Dismiss autocorrection UI.
2010-09-01 Mark Rowe <mrowe@apple.com>
Reviewed by Adam Roben.
<rdar://problem/8374711> WebKit needs to compile without access to QuickDraw private headers.
* Carbon/HIViewAdapter.m:
* Carbon/HIWebView.mm:
* Misc/QuickDrawCompatibility.h: Added.
* Plugins/WebNetscapePluginView.mm:
2010-08-31 Dave Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that
the former can occur in more places without having to do the latter.
Eliminate Mac-specific code for style re-application and recursive layout/style updating in
favor of the cross-platform code that all the other ports use.
* Carbon/HIWebView.mm:
(Draw):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::forceLayout):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]):
(-[WebHTMLView viewWillDraw]):
(-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
(-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
(-[WebHTMLView reapplyStyles]):
(-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]):
(-[WebHTMLView setNeedsToApplyStyles:]):
(-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
(-[WebHTMLView _layoutIfNeeded]):
(-[WebHTMLView _web_updateLayoutAndStyleIfNeededRecursive]):
* WebView/WebHTMLViewInternal.h:
* WebView/WebView.mm:
(-[WebView _viewWillDrawInternal]):
2010-08-31 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Add ability to count text matches without marking
https://bugs.webkit.org/show_bug.cgi?id=43996
Safari needs to be able to count text matches without triggering lots of repainting.
Rename markAllMatchesForText: to countMatchesForText: and add a markMatches:
parameter. For backwards compatibility markAllMatchesForText: calls
countMatchesForText: and passes YES for markMatches:.
* WebView/WebDocumentInternal.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
(-[WebHTMLView countMatchesForText:caseSensitive:limit:markMatches:]):
* WebView/WebPDFView.mm:
(-[WebPDFView markAllMatchesForText:caseSensitive:limit:]):
(-[WebPDFView countMatchesForText:caseSensitive:limit:markMatches:]):
* WebView/WebView.mm:
(-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
(-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]):
* WebView/WebViewPrivate.h:
2010-08-31 Darin Adler <darin@apple.com>
Reviewed by Anders Carlsson.
* WebInspector/WebInspectorFrontend.mm:
(-[WebInspectorFrontend initWithFrontendClient:]): Remove a stray semicolon.
2010-08-30 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8369736> WebKit build fails.
Temporarily add some extra includes in order to get things building again until <rdar://problem/8374711> is addressed.
* Carbon/HIViewAdapter.m:
* Carbon/HIWebView.mm:
* Plugins/WebNetscapePluginView.mm:
2010-08-30 Andy Estes <aestes@apple.com>
Reviewed by Darin Adler.
REGRESSION (r66156): Sites using AppleConnect for authentication fail to log in.
https://bugs.webkit.org/show_bug.cgi?id=44865
After http://trac.webkit.org/changeset/66156, sites using the AppleConnect plug-in
for authentication fail to log in. This is due to a bug in AppleConnect that r66156
exposed, but since this will have a significant impact on users of WebKit nightly
builds, a plugin-specific hack should be added while the underlying issue is being
addressed.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin): Convert plug-in parameter names to lowercase
if the plugin is of type 'application/x-snkp'.
2010-08-27 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
text/plain non-video files cause <video> to hang (while reading them?)
https://bugs.webkit.org/show_bug.cgi?id=44212
Add the new WebKitSystemInterface function WKQTMovieDisableComponent to
the initialization routine.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Initialize WKQTMovieDisableComponent.
2010-08-30 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r66198.
http://trac.webkit.org/changeset/66198
https://bugs.webkit.org/show_bug.cgi?id=44856
It made tests crash on Qt bot (Requested by Ossy_ on #webkit).
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::closeWindow):
(-[WebInspectorWindowController windowShouldClose:]):
(-[WebInspectorWindowController destroyInspectorView]):
2010-08-28 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Make an internal method used by Apple Mail into SPI
https://bugs.webkit.org/show_bug.cgi?id=44832
rdar://problem/5748951
* WebView/WebFrame.mm:
(-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Moved this method
from the internal section to the private section.
* WebView/WebFrameInternal.h: Moved the method declaration out of here.
* WebView/WebFramePrivate.h: Moved the method declaration in here.
2010-08-27 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
Add JavaScript API to allow a page to go fullscreen.
rdar://problem/6867795
Added chrome client overrides which support entering and exiting full screen. A new preference has
been added (setFullScreenEnabled:) to control at runtime whether full screen support is enabled
(defaults to disabled). Added a new WebKitFullScreenListener callback object which notifies WebCore
when the chrome has started/finished its full screen animation.
* Configurations/FeatureDefines.xcconfig:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::supportsFullscreenForElement):
(WebChromeClient::enterFullscreenForElement):
(WebChromeClient::exitFullscreenForElement):
(-[WebKitFullScreenListener initWithElement:]):
(-[WebKitFullScreenListener webkitWillEnterFullScreen]):
(-[WebKitFullScreenListener webkitDidEnterFullScreen]):
(-[WebKitFullScreenListener webkitWillExitFullScreen]):
(-[WebKitFullScreenListener webkitDidExitFullScreen]):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setFullScreenEnabled:]):
(-[WebPreferences fullScreenEnabled]):
* WebView/WebUIDelegatePrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-08-27 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=44788, implement HTML5-compliant doctype switching.
Rename the various modes to match the HTML5 specification:
ParseMode -> CompatibilityMode
CompatMode -> QuirksMode
AlmostStrictMode -> LimitedQuirksMode
StrictMode -> NoQuirksMode
Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document
instead. This makes switching modes avoid forcing all RenderStyles to detect as changed.
Clean up user stylesheets to minimize style recalculation when the mode is switched.
Fix bugs with the propagation of correct modes in the HTML5 parser. Make sure the
dummy document created for fragment parsing properly inherits the real document's CompatibilityMode.
Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling
a doctype token.
determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm
precisely.
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-08-27 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
https://bugs.webkit.org/show_bug.cgi?id=44230
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::closeWindow):
(WebInspectorFrontendClient::disconnectFromBackend):
(-[WebInspectorWindowController windowShouldClose:]):
(-[WebInspectorWindowController destroyInspectorView:]):
2010-08-26 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Revert r66103 since Qt tests are failing.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::closeWindow):
(-[WebInspectorWindowController windowShouldClose:]):
(-[WebInspectorWindowController destroyInspectorView]):
2010-08-26 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
https://bugs.webkit.org/show_bug.cgi?id=44230
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::closeWindow):
(WebInspectorFrontendClient::disconnectFromBackend):
(-[WebInspectorWindowController windowShouldClose:]):
(-[WebInspectorWindowController destroyInspectorView:]):
2010-08-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Remove HTML5 parser testing infrastructure now that we don't need it
https://bugs.webkit.org/show_bug.cgi?id=44581
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-08-24 Sam Weinig <sam@webkit.org>
Reviewed by Oliver Hunt.
Paste event fires twice for mac WebKit
<rdar://problem/8094611>
https://bugs.webkit.org/show_bug.cgi?id=44535
The mac implementation of paste in WebKit was accidentally calling
Editor::tryDHTMLPaste twice, once in -[WebHTMLView paste:] and once
in Editor::pasteAsPlainText (which is called -[WebHTMLView paste:]).
Use the new pasteAsPlainTextBypassingDHTML function to bypass the
second call.
* WebView/WebHTMLView.mm:
(-[WebHTMLView paste:]):
2010-08-24 Daniel Cheng <dcheng@chromium.org>
Reviewed by Eric Seidel.
[chromium] Generate drag images for HTML elements and selections.
https://bugs.webkit.org/show_bug.cgi?id=43449
Fix up calls to Frame::nodeImage, which has a new signature.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView halt]):
2010-08-23 Mike Thole <mthole@apple.com>
Reviewed by Dan Bernstein.
WebPDFView should remove itself as the delegate of its PDFView before being dealloced
https://bugs.webkit.org/show_bug.cgi?id=44441
* WebView/WebPDFView.mm:
(-[WebPDFView dealloc]): Set the PDFView's delegate to nil.
2010-08-22 Daniel Bates <dbates@rim.com>
Reviewed by Eric Seidel.
Encapsulate document marker management into DocumentMarkerController
https://bugs.webkit.org/show_bug.cgi?id=44383
Modify call sites in the Apple Mac port to use DocumentMarkerController.
No functionality was changed, so no new tests.
* WebView/WebFrame.mm:
(-[WebFrame _unmarkAllBadGrammar]):
(-[WebFrame _unmarkAllMisspellings]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView unmarkAllTextMatches]):
(-[WebHTMLView rectsForTextMatches]):
2010-08-19 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
Reviewed by Joseph Pecoraro.
* Plugins/Hosted/HostedNetscapePluginStream.mm: Changed
USE(PLUGIN_HOST_PROCESS) to
USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API).
* Plugins/Hosted/NetscapePluginHostManager.mm: Ditto.
* Plugins/Hosted/NetscapePluginHostProxy.mm: Ditto.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm: Ditto.
* Plugins/Hosted/ProxyInstance.mm: Ditto.
* Plugins/Hosted/WebHostedNetscapePluginView.mm: Ditto.
* WebCoreSupport/WebChromeClient.mm: Ditto.
(WebChromeClient::createWindow):
* WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
(WebFrameLoaderClient::dispatchCreatePage):
* WebView/WebHTMLView.mm:
(needsCursorRectsSupportAtPoint): Added #if
ENABLE(NETSCAPE_PLUGIN_API) and #endif macros as needed.
* WebView/WebView.mm:
(+[WebView _isNodeHaltedPlugin:]): Ditto.
(+[WebView _hasPluginForNodeBeenHalted:]): Ditto.
(+[WebView _restartHaltedPluginForNode:]): Ditto.
2010-08-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Reviewed by Darin Adler.
Add NetworkingContext to avoid layer violations
https://bugs.webkit.org/show_bug.cgi?id=42292
Preparation: Just add the files to the build system.
* WebCoreSupport/WebFrameNetworkingContext.h: Added.
Placeholder with tentative code that might be changed when landing
the rest of it.
* WebCoreSupport/WebFrameNetworkingContext.mm: Added.
Empty placeholder for now.
2010-08-17 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
<rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
* WebView/WebView.mm:
(-[WebView canGoBack]): Return false if loads are deferred.
(-[WebView canGoForward]): Ditto.
2010-08-14 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Pavel Feldman.
Web Inspector: -[WebInspector attach] and detach should work
https://bugs.webkit.org/show_bug.cgi?id=43924
For actions that relate only to the Web Inspector's Frontend
window (actions on the InspectorFrontendClient) the new Obj-C
wrapper class WebInspectorFrontend can be used. For now, this
is just attach and detach.
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::openInspectorFrontend): setup and attach the WebInspectorFrontend to the WebInspector.
* WebInspector/WebInspector.h:
* WebInspector/WebInspector.mm:
(-[WebInspector dealloc]):
(-[WebInspector attach:]): delegate to the frontend.
(-[WebInspector detach:]): delegate to the frontend.
(-[WebInspector setFrontend:]):
* WebInspector/WebInspectorFrontend.h: Added.
* WebInspector/WebInspectorFrontend.mm: Added.
(-[WebInspectorFrontend initWithFrontendClient:]):
(-[WebInspectorFrontend attach]):
(-[WebInspectorFrontend detach]):
* WebInspector/WebInspectorPrivate.h:
2010-08-13 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig.
Switch String::/UString::ascii() to return a CString.
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::methodsNamed):
(WebKit::ProxyInstance::fieldNamed):
2010-08-13 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig
Unify UString::UTF8String() & String::utf8() methods,
remove UString::cost() & make atArrayIndex a free function.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::enumerate):
2010-08-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r65295.
http://trac.webkit.org/changeset/65295
https://bugs.webkit.org/show_bug.cgi?id=43950
It broke 4 sputnik tests (Requested by Ossy on #webkit).
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::enumerate):
2010-08-12 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig
Unify UString::UTF8String() & String::utf8() methods,
remove UString::cost() & make atArrayIndex a free function.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::enumerate):
2010-08-12 Jeremy Orlow <jorlow@chromium.org>
Revert for now
https://bugs.webkit.org/show_bug.cgi?id=43794
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView _preferencesChangedNotification:]):
2010-08-10 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Adam Barth.
Some settings are linked to the PageGroup not the Page. Create a new class for those.
https://bugs.webkit.org/show_bug.cgi?id=43794
Change WebView to use the new GroupSettings class rather than Settings for the
settings that moved. This is sub-optimal since the settings aren't really
per-view, but we can't really change the API at this point.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView _preferencesChangedNotification:]):
2010-08-11 Gavin Barraclough <barraclough@apple.com>
Rubber stamps by Darin Adler & Sam Weinig.
Bug 43867 - Some UString cleanup
Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
Move string concatenation methods to a new header to simplify down UString.h. Remove is8Bit().
* WebView/WebScriptDebugger.mm:
(toNSString):
2010-08-10 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=43806, add ability to paginate screen content.
Add SPI for entering and exiting screen pagination mode. This is similar to printing mode but it can be done for on-screen
content.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _web_setPrintingModeRecursive]):
(-[WebHTMLView _web_clearPrintingModeRecursive]):
(-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
(-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]):
(-[WebHTMLView _endPrintMode]):
(-[WebHTMLView _isInScreenPaginationMode]):
(-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]):
(-[WebHTMLView _endScreenPaginationMode]):
(-[WebHTMLView reapplyStyles]):
(-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
(-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
(-[WebHTMLView setPageWidthForPrinting:]):
* WebView/WebHTMLViewPrivate.h:
2010-08-10 Gavin Barraclough <barraclough@apple.com>
Build fix (update more includes)
* Plugins/Hosted/NetscapePluginHostManager.h:
2010-08-10 Chris Marrin <cmarrin@apple.com>
Reviewed by Oliver Hunt.
Add suspendAnimations/resumeAnimation API to DRT
https://bugs.webkit.org/show_bug.cgi?id=43733
Mac specific API. Plumbs suspendAnimations/resumeAnimations down to WebCore.
* WebView/WebFrame.mm:
(-[WebFrame _suspendAnimations]):
(-[WebFrame _resumeAnimations]):
* WebView/WebFramePrivate.h:
2010-08-10 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig
Bug 43817 - Remove UString::Rep
UString::Rep has for a long time been replaced by UStringImpl (Rep
remaining as a typedef). UStringImpl has since been removed too
(unified with StringImpl). Remove Rep, rename rep() to impl() and
m_rep to m_impl. Also add impl() method to Identifier, and rename
its UString member from _ustring to m_string.
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::methodsNamed):
(WebKit::ProxyInstance::fieldNamed):
2010-08-06 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig
Bug 43594 - Add string forwards to Forward.h
This allows us to remove forward declarations for these classes from
WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/WebBaseNetscapePluginView.h:
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebIconDatabaseClient.h:
* WebCoreSupport/WebPluginHalterClient.h:
* WebView/WebViewInternal.h:
2010-08-04 MORITA Hajime <morrita@google.com>
Reviewed by Tony Chang.
Pasting should fire textInput event.
https://bugs.webkit.org/show_bug.cgi?id=42958
On paste, invoke Editor instead of direct command invocation,
which allows dispatching events before actual paste.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
2010-08-06 Yongjun Zhang <yongjun_zhang@apple.com>
Reviewed by Eric Seidel.
add "const" to WebChromeClient::webView().
https://bugs.webkit.org/show_bug.cgi?id=43631
Change WebChromeClient::webView() to be const because ChromeClient::didReceiveViewportArguments
is const method now, and calling webView() inside port-specific didReceiveViewportArguments
implementation fails compiling if webView() is not const.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::webView):
2010-08-06 Jessie Berlin <jberlin@apple.com>
Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
Unreviewed.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/WebBaseNetscapePluginView.h:
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebIconDatabaseClient.h:
* WebCoreSupport/WebPluginHalterClient.h:
* WebView/WebViewInternal.h:
2010-08-05 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
Remove Invalid Asserts for Application Cache Quotas
https://bugs.webkit.org/show_bug.cgi?id=43585
Removed Invalid ASSERTs that would always happen for quotas
that were not noQuota().
* WebView/WebPreferences.mm:
(-[WebPreferences applicationCacheTotalQuota]):
(-[WebPreferences applicationCacheDefaultOriginQuota]):
2010-08-05 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig
Bug 43594 - Add string forwards to Forward.h
This allows us to remove forward declarations for these classes from
WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/WebBaseNetscapePluginView.h:
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebIconDatabaseClient.h:
* WebCoreSupport/WebPluginHalterClient.h:
* WebView/WebViewInternal.h:
2010-08-05 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Unify blob related feature defines to ENABLE(BLOB).
https://bugs.webkit.org/show_bug.cgi?id=43081
* Configurations/FeatureDefines.xcconfig:
2010-08-03 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
https://bugs.webkit.org/show_bug.cgi?id=40627
Part 6 - LayoutTest and Cleanup
* WebCoreSupport/WebApplicationCache.h:
* WebCoreSupport/WebApplicationCache.mm:
(+[WebApplicationCache setMaximumSize:]): refactor out deleting the application caches.
(+[WebApplicationCache deleteAllApplicationCaches]): delete application caches.
2010-08-03 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
https://bugs.webkit.org/show_bug.cgi?id=40627
Part 5 - Refactor Quota Management in WebSecurityOrigin into Managers
Per-Origin quotas exist for Databases and Application Caches. Clients
given a WebSecurityOrigin have the ability to set the quota for any
per-origin quota type. This puts quota management into an interface
and WebSecurityOrigin allows access to quota managers for the
different types of quotas.
This also deprecates the old methods on WebSecurityOrigin. They are
left in for now to prevent breaking older clients.
The WebQuotaManager interface allows querying and modifying a
per-origin quota. This is implemented for both Databases and
Application Caches.
* Misc/WebQuotaManager.h: Added. Interface for quota management (usage, quota, setQuota).
* Storage/WebDatabaseQuotaManager.h: Added.
* Storage/WebDatabaseQuotaManager.mm: Added.
(-[WebDatabaseQuotaManager origin]):
(-[WebDatabaseQuotaManager usage]):
(-[WebDatabaseQuotaManager quota]):
(-[WebDatabaseQuotaManager setQuota:]):
* Storage/WebDatabaseSecurityOrigin.h: Removed.
* Storage/WebDatabaseSecurityOrigin.mm: Removed.
* WebCoreSupport/WebApplicationCacheQuotaManager.h: Added.
* WebCoreSupport/WebApplicationCacheQuotaManager.mm: Added.
(-[WebApplicationCacheQuotaManager origin]):
(-[WebApplicationCacheQuotaManager usage]):
(-[WebApplicationCacheQuotaManager quota]):
(-[WebApplicationCacheQuotaManager setQuota:]):
* WebCoreSupport/WebSecurityOriginPrivate.h: Added a category to access managers. Deprecated old methods.
Remove the WebSecurityOrigin sub-classes. Managers are better.
* WebCoreSupport/WebApplicationCacheSecurityOrigin.h: Removed.
* WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: Removed.
Create the managers lazily. Change old style calls to make use
of the managers.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::exceededDatabaseQuota):
(WebChromeClient::reachedApplicationCacheOriginQuota):
* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin applicationCacheQuotaManager]):
(-[WebSecurityOrigin databaseQuotaManager]):
(-[WebSecurityOrigin dealloc]): release the managers if they exist.
2010-08-03 Alex Milowski <alex@milowski.com>
Reviewed by Beth Dakin.
Changed the ENABLE_MATHML value to enable MathML by default.
* Configurations/FeatureDefines.xcconfig:
2010-08-02 Brady Eidson <beidson@apple.com>
Reviewed by Anders Carlsson.
Add VisitedLinkStrategy for each platform to implement
https://bugs.webkit.org/show_bug.cgi?id=43393
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::createVisitedLinkStrategy):
(WebPlatformStrategies::isLinkVisited): Call back into PageGroup's visited links.
(WebPlatformStrategies::addVisitedLink): Ditto.
2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Darin Fisher.
PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592
As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
instances, concrete classes that inherit from ChromeClient needed to be changed to
implement the new methods.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::selectItemWritingDirectionIsNatural):
(WebChromeClient::createPopupMenu):
(WebChromeClient::createSearchPopupMenu):
2010-08-02 Jeremy Orlow <jorlow@chromium.org>
Speculative revert of 64425 due to Chromium instability
https://bugs.webkit.org/show_bug.cgi?id=43347
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Darin Fisher.
PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592
As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
instances, concrete classes that inherit from ChromeClient needed to be changed to
implement the new methods.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::selectItemWritingDirectionIsNatural):
(WebChromeClient::createPopupMenu):
(WebChromeClient::createSearchPopupMenu):
2010-07-31 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r64422.
http://trac.webkit.org/changeset/64422
https://bugs.webkit.org/show_bug.cgi?id=43304
Build fixes are needed for Snow Leopard and Windows.
(Requested by lca on #webkit).
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
Reviewed by Darin Fisher.
PopupMenu refactoring in preparation to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42592
As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
instances, concrete classes that inherit from ChromeClient needed to be changed to
implement the new methods.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::selectItemWritingDirectionIsNatural):
(WebChromeClient::createPopupMenu):
(WebChromeClient::createSearchPopupMenu):
2010-07-31 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/43300> Simplify variables in *.xcconfig files after adding iOS support
Reviewed by Darin Adler.
* Configurations/WebKit.xcconfig: Extracted
PRODUCTION_FRAMEWORKS_DIR and PRODUCTION_ROOT variables.
2010-07-30 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8257783> Short documents may print a second blank page
https://bugs.webkit.org/show_bug.cgi?id=43271
* WebView/WebHTMLView.mm:
(-[WebHTMLView _web_setPrintingModeRecursive]): Updated for additional height parameter
to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
(-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto.
(-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto.
(-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]): Added height parameter,
which is scaled and passed on to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
(-[WebHTMLView _endPrintMode]): Updated for additional height parameter to
_setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
(-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]): Added
height parameter, which is passed on to FrameView::forceLayoutForPagination().
(-[WebHTMLView layout]): Updated for additional height parameter.
(-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:]): Added height
parameter, which is passed on to -layoutToMinimumPageWidth:height:maximumPageWidth:adjustViewSize:.
(-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Updated for additional height
parameter.
(-[WebHTMLView setPageWidthForPrinting:]): Ditto.
(-[WebHTMLView knowsPageRange:]): Pass the available height on the page on to
_setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize.
* WebView/WebHTMLViewPrivate.h:
2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
Fix for tests that broke after r64400. Tracking a more
ideal solution in https://bugs.webkit.org/show_bug.cgi?id=40627
Switch the interface back to (unsigned long long), and move
the WebDatabaseSecurityOrigin implementation up into WebSecurityOrigin.
The subclasses' implementations were not getting called.
* Storage/WebDatabaseSecurityOrigin.mm:
* WebCoreSupport/WebApplicationCacheSecurityOrigin.mm:
(-[WebApplicationCacheSecurityOrigin quota]):
(-[WebApplicationCacheSecurityOrigin setQuota:]):
* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin usage]):
(-[WebSecurityOrigin quota]):
(-[WebSecurityOrigin setQuota:]):
* WebCoreSupport/WebSecurityOriginPrivate.h:
2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
https://bugs.webkit.org/show_bug.cgi?id=40627
Part 4 - Client Notification when the Quota is Reached
Notify the WebKit client when the per-origin quota is reached
via a delegate method reachedApplicationCacheOriginQuota.
Refactor the WebSecurityOrigin class to be generic enough to
allow quota management of both Databases or Application Caches
via subclasses.
* Storage/WebDatabaseSecurityOrigin.h: Added.
* Storage/WebDatabaseSecurityOrigin.mm: Added.
(-[WebDatabaseSecurityOrigin quota]):
(-[WebDatabaseSecurityOrigin setQuota:]):
* WebCoreSupport/WebApplicationCacheSecurityOrigin.h: Added.
* WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: Added.
(-[WebApplicationCacheSecurityOrigin quota]):
(-[WebApplicationCacheSecurityOrigin setQuota:]):
* Storage/WebSecurityOrigin.mm: Removed. (Moved to WebCoreSupport)
* Storage/WebSecurityOriginPrivate.h: Removed. (Moved to WebCoreSupport)
* WebCoreSupport/WebSecurityOrigin.mm: Added.
(-[WebSecurityOrigin usage]): to be implemented by subclasses.
(-[WebSecurityOrigin quota]): to be implemented by subclasses.
(-[WebSecurityOrigin setQuota:]): to be implemented by subclasses.
* WebCoreSupport/WebSecurityOriginInternal.h: Renamed from WebKit/mac/Storage/WebSecurityOriginInternal.h.
* WebCoreSupport/WebSecurityOriginPrivate.h: Added.
Turn the notification into a WebUI Delegate to call. Following
the example of Databases.
* DefaultDelegates/WebDefaultUIDelegate.m:
(-[WebDefaultUIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:]):
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::exceededDatabaseQuota): use the Databases Security Origin subclass.
(WebChromeClient::reachedApplicationCacheOriginQuota): use the Application Cache Security Origin subclass.
* WebView/WebUIDelegatePrivate.h:
2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by David Kilzer.
Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
https://bugs.webkit.org/show_bug.cgi?id=40627
Part 1 - Add Total and Per-Origin Quota Preferences.
Allow the application cache total size to be a preference, and
add a new preference for the default per-origin quota.
Storage quotas were int64_t (long long). Boilerplate for
these types added for consistency.
* Misc/WebNSDictionaryExtras.h:
* Misc/WebNSDictionaryExtras.m:
(-[NSMutableDictionary _webkit_setLongLong:forKey:]):
* WebCoreSupport/WebApplicationCache.h: setters and accessors for WebCore's cacheStorage.
* WebCoreSupport/WebApplicationCache.mm:
(+[WebApplicationCache maximumSize:]):
(+[WebApplicationCache setMaximumSize:]):
(+[WebApplicationCache defaultOriginQuota]):
(+[WebApplicationCache setDefaultOriginQuota:]):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): defaults to noQuota for both preferences.
(-[WebPreferences _longLongValueForKey:]):
(-[WebPreferences _setLongLongValue:forKey:]):
(-[WebPreferences applicationCacheTotalQuota]):
(-[WebPreferences setApplicationCacheTotalQuota:]):
(-[WebPreferences applicationCacheDefaultOriginQuota]):
(-[WebPreferences setApplicationCacheDefaultOriginQuota:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): respect updates to the preferences.
2010-07-30 Andy Estes <aestes@apple.com>
Reviewed by David Kilzer.
Add Xcode support for compiling WebKit against iOS SDKs.
https://bugs.webkit.org/show_bug.cgi?id=42796
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/FeatureDefines.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKit.xcconfig:
2010-07-26 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Page clients should be passed to Page constructor via structure of pointers
https://bugs.webkit.org/show_bug.cgi?id=42834
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2010-07-27 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Ojan Vafai.
Add FILE_SYSTEM build flag for FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=42915
* Configurations/FeatureDefines.xcconfig:
2010-07-27 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Client-based Geolocation does not pass enableHighAccuracy option to controller and client
https://bugs.webkit.org/show_bug.cgi?id=40374
Stub out setEnableHighAccuracy method for the Mac port.
* WebCoreSupport/WebGeolocationControllerClient.h:
(WebGeolocationControllerClient::setEnableHighAccuracy):
2010-07-22 Sam Weinig <sam@webkit.org>
Reviewed by Maciej Stachowiak.
Fix for <rdar://problem/8222626>
Send textDidChangeInTextField delegate callback only in response to typing or other forms of user text input.
The function name no longer perfectly matches the behavior, but I didn't want to break any existing clients. Maybe we
should migrate to a new function name eventually
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::textDidChangeInTextField):
2010-07-22 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
Add localized strings stubs for WebKit2.
- Convert WebKit (mac) to use a LocalizationStrategy rather than the WebCoreViewFactory
for localized strings.
Gets us below 200 tests failing in WebKitTestRunner.
* WebCoreSupport/WebContextMenuClient.mm:
(fixMenusReceivedFromOldClients): Use LocalizedStrings rather than the factory.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
* WebCoreSupport/WebViewFactory.mm:
2010-07-21 Brady Eidson <beidson@apple.com>
Reviewed by Geoffrey Garen.
Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
https://bugs.webkit.org/show_bug.cgi?id=42783
* WebView/WebView.mm:
(+[WebView _registerURLSchemeAsSecure:]):
(+[WebView registerURLSchemeAsLocal:]):
2010-07-21 Simon Fraser <simon.fraser@apple.com>
Reviewed by Anders Carlsson.
Composited layers don't scroll in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=42771
Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().
* WebView/WebHTMLView.mm:
(-[WebHTMLView _frameOrBoundsChanged]):
2010-07-21 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
Update plug-in proxy backed <video> and <audio> elements.
https://bugs.webkit.org/show_bug.cgi?id=42770
<rdar://problem/7963467>
* Plugins/WebPluginController.h:
* Plugins/WebPluginController.mm:
(-[WebPluginController dealloc]): Release _viewsNotInDocument.
(-[WebPluginController stopAllPlugins]): Stop plug-ins not in the document.
(-[WebPluginController pluginViewCreated:]): New, add a View (plug-in) to _viewsNotInDocument.
(+[WebPluginController pluginViewHidden:]): New, remove the view (plug-in) from pluginViews.
(-[WebPluginController addPlugin:]): Remove the new plug-in from _viewsNotInDocument.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin): Remove PLUGIN_PROXY_FOR_VIDEO code, the media
player proxy plug-in should never be allocated by this method.
(WebFrameLoaderClient::createMediaPlayerProxyPlugin): New, allocate a media player proxy.
* WebView/WebView.mm:
(-[WebView _videoProxyPluginForMIMEType:]): New. Identical to _pluginForMIMEType except it doesn't
consider the arePlugInsEnabled preference.
* WebView/WebViewInternal.h:
2010-07-19 Chris Marrin <cmarrin@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=42118
Disable WebGL on Leopard for now.
LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
software OpenGL driver on machines without this support.
* Configurations/FeatureDefines.xcconfig:
2010-07-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Move PluginWidget to WebKit
https://bugs.webkit.org/show_bug.cgi?id=42530
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView pluginLayer]):
Add default pluginLayer implementation.
* WebCoreSupport/WebFrameLoaderClient.mm:
(PluginWidget::PluginWidget):
(PluginWidget::invalidateRect):
Move the guts of PluginWidget here from WebCore.
(NetscapePluginWidget::platformLayer):
Get the layer from the plug-in view.
2010-07-18 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/42522> Add missing (id) return type to Obj-C methods
Reviewed by Dan Bernstein.
* Carbon/CarbonWindowAdapter.mm:
(-[NSWindow(HIWebFrameView) _initContent:styleMask:backing:defer:contentView:]):
(-[CarbonWindowAdapter _destroyRealWindow:]):
(-[CarbonWindowAdapter _clearModalWindowLevel]):
* Misc/WebIconDatabase.mm:
(-[WebIconDatabase init]):
* Misc/WebNSPasteboardExtras.mm:
(-[NSFilePromiseDragSource initWithSource:]):
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation init]):
* WebView/WebPreferences.mm:
(-[WebPreferences init]):
* WebView/WebView.mm:
(-[WebView UIDelegate]):
(-[WebView resourceLoadDelegate]):
(-[WebView downloadDelegate]):
(-[WebView policyDelegate]):
(-[WebView frameLoadDelegate]):
2010-07-16 Zhe Su <suzhe@chromium.org>
Reviewed by Darin Adler.
REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
https://bugs.webkit.org/show_bug.cgi?id=42253
Dummy implementation of EditorClient::willSetInputMethodState.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::willSetInputMethodState):
2010-07-16 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
https://bugs.webkit.org/show_bug.cgi?id=29355
* Misc/WebKitNSStringExtras.h:
* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:]): Now calls through to
-_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing YES for the last
parameter.
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Added
allowingFontSmoothing:. If font smoothing is not allowed, sets the font smoothing
mode to antialiased. Otherwise, sets it to auto.
(-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]): Instead of
changing the font smoothing setting in the graphics context, call
-_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing NO for the last
parameter.
2010-07-16 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Remove semicolons from Objective-C method declarations.
* WebView/WebRenderLayer.mm:
(+[WebRenderLayer nameForLayer:]):
(+[WebRenderLayer compositingInfoForLayer:]):
2010-07-16 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Pavel Feldman.
Make JS memory stats available via 'Performance' object (Web Timing).
This statistics is populated only if 'WebKitMemoryInfoEnabled'
preference is set.
'console.memory' is kept until Web Timing object becomes visible by
default (currently it is hidden under compile-time flag). These stats
are guarded with the same preference.
https://bugs.webkit.org/show_bug.cgi?id=41617
* WebKit.order:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences memoryInfoEnabled]):
(-[WebPreferences setMemoryInfoEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-07-15 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Darin Adler.
Printing test results differ between machines, we should use ImageDiff instead
https://bugs.webkit.org/show_bug.cgi?id=20011
* Misc/WebCoreStatistics.h:
* Misc/WebCoreStatistics.mm:
(-[WebFrame printToCGContext:cgContext:pageWidthInPixels:]):
2010-07-15 Daniel Bates <dbates@rim.com>
Reviewed by Darin Adler.
[Mac] Implement LayoutTestController::markerTextForListItem()
https://bugs.webkit.org/show_bug.cgi?id=37929
Implements support for markerTextForListItem in the Mac port.
* DOM/WebDOMOperations.mm:
(+[DOMElement _DOMElementFromJSContext]): Added.
(-[DOMElement _markerTextForListItem]): Added.
* DOM/WebDOMOperationsPrivate.h:
2010-07-14 Simon Fraser <simon.fraser@apple.com>
Fix non-ACCELERATED_COMPOSITING build.
* WebView/WebRenderLayer.mm:
(+[WebRenderLayer compositingInfoForLayer:]):
2010-07-14 Simon Fraser <simon.fraser@apple.com>
Reviewed by John Sullivan.
<rdar://problem/8186963> Expose information about compositing layers.
Use RenderLayerBacking::compositingLayerType() to add more information about compositing to
WebRenderLayer, via a compositingInfo property. Also show element classnames.
Also add separator items between the various z-order lists.
* WebView/WebRenderLayer.h:
* WebView/WebRenderLayer.mm:
(+[WebRenderLayer nameForLayer:]):
(+[WebRenderLayer compositingInfoForLayer:]):
(-[WebRenderLayer initWithRenderLayer:]):
(-[WebRenderLayer initWithName:]):
(-[WebRenderLayer initWithWebFrame:]):
(-[WebRenderLayer dealloc]):
(-[WebRenderLayer buildDescendantLayers:]):
(-[WebRenderLayer compositingInfo]):
(-[WebRenderLayer isComposited]):
(-[WebRenderLayer isSeparator]):
2010-07-14 Darin Adler <darin@apple.com>
Another try at fixing the Tiger build.
Avoid non-ASCII in source files to keep Tiger compiler happy.
* WebView/WebRenderLayer.mm:
(+[WebRenderLayer nameForLayer:]): Use %C for the non-ASCII characters.
2010-07-14 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
Make changing Cursors work in WebKit2.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setCursor):
* WebView/WebView.mm:
Implement cursor changing at the WebKit level for the sake of WebKit2.
This functionality is being moved from WidgetMac.mm.
(+[WebView _pointingHandCursor]):
Update to use platformCursor() instead of impl().
2010-07-13 Simon Fraser <simon.fraser@apple.com>
Fix Tiger build.
Avoid non-ASCII in souce files to keep Tiger compiler happy.
* WebView/WebRenderLayer.mm:
(+[WebRenderLayer nameForLayer:]):
2010-07-13 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/8186963> Expose RenderLayer hierarchy via Obj-C for debugging.
Add a WebRenderLayer class that reflects the RenderLayer tree into a hierarchy
of Objective-C objects suitable for display in an outline view.
* WebKit.exp: Export the WebRenderLayer Objective-C class.
* WebView/WebRenderLayer.h: Added.
* WebView/WebRenderLayer.mm: Added.
2010-07-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Darin Adler.
Prevent assertion/duplicate loads for non-deferred subtitute-data loads
https://bugs.webkit.org/show_bug.cgi?id=30879
MainResourceLoader uses the member m_initialRequest to store requests for future
deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
have to clear this request so that subsequent entries into the loader will not
start yet another load.
This can happen as a result of a PageGroupLoadDeferrer going out of scope when
returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
but only in the case of using both substitute-data and non-deferred main resource
load together. That's why two new DRT functions were added:
* queueLoadHTMLString()
* setDeferMainResourceLoad()
The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.
* WebView/WebDataSource.mm:
(-[WebDataSource _setDeferMainResourceDataLoad:]):
* WebView/WebDataSourcePrivate.h:
2010-07-13 Philippe Normand <pnormand@igalia.com>
Rubber-stamped by Xan Lopez.
Updated the copyright headers of the files modified in r62476.
* WebView/WebView.mm:
* WebView/WebViewData.h:
* WebView/WebViewInternal.h:
2010-07-09 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=13075
XMLHttpRequest with failed authentication should set status to 401
https://bugs.webkit.org/show_bug.cgi?id=6871
<rdar://problem/3363403> 401 error page is never shown
* Panels/WebPanelAuthenticationHandler.m:
(-[WebPanelAuthenticationHandler startAuthentication:window:]): Updated a comment - this
code cancels loading, not authentication (canceling authentication means telling to
continue without credentials).
(-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): If there were
no credentials provided, tell to continue without any. There may be alternative content
returned with 401.
2010-07-09 Leon Clarke <leonclarke@google.com>
Reviewed by Adam Barth.
add support for link prefetching
https://bugs.webkit.org/show_bug.cgi?id=3652
* Configurations/FeatureDefines.xcconfig:
2010-07-08 Aaron Boodman <aa@chromium.org>
Reviewed by Timothy Hatcher.
Add the ability for user scripts and user styles to affect just the top frame.
https://bugs.webkit.org/show_bug.cgi?id=41529
* WebView/WebView.mm:
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
* WebView/WebViewPrivate.h:
2010-07-08 Adele Peterson <adele@apple.com>
Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
<rdar://problem/8158561> Missing plug-in indicator should have a pressed state
Implement shouldMissingPluginMessageBeButton.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::shouldMissingPluginMessageBeButton):
2010-07-08 Brady Eidson <beidson@apple.com>
Reviewed by Tim Hatcher.
<rdar://problem/8136327> - Crash in Entourage calling WebCache method from background thread
* Misc/WebCache.mm:
(+[WebCache setDisabled:]): Forward the call to the main thread if called from a background thread.
* Misc/WebNSObjectExtras.h:
* Misc/WebNSObjectExtras.mm:
(+[NSObject _webkit_invokeOnMainThread]): Add a class version of the main thread invoker.
2010-07-08 Mike Thole <mthole@apple.com>
Reviewed by Darin Adler.
Patch for https://bugs.webkit.org/show_bug.cgi?id=41896
Crash under allScriptsInPDFDocument() in WebPDFDocumentExtras.mm for certain PDFs
* WebView/WebPDFDocumentExtras.mm:
(allScriptsInPDFDocument): Null-check 'data', as CGPDFStreamCopyData() may have returned 0.
2010-07-08 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
Convert BackForwardList to an abstract base class and add BackForwardListImpl
as the concrete implementation of it.
* History/WebBackForwardList.mm:
(-[WebBackForwardList init]):
(-[WebBackForwardList setPageCacheSize:]):
(-[WebBackForwardList pageCacheSize]):
2010-07-07 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
Add basic piping for BackForwardControllerClient.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2010-07-07 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Change requestURL to a KURL.
https://bugs.webkit.org/show_bug.cgi?id=41775
* Plugins/WebNetscapePluginStream.h:
(WebNetscapePluginStream::setRequestURL):
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::pluginCancelledConnectionError):
(WebNetscapePluginStream::errorForReason):
(WebNetscapePluginStream::startStream):
(WebNetscapePluginStream::didReceiveResponse):
(WebNetscapePluginStream::destroyStream):
2010-07-07 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Rename the WebBaseNetscapePluginStream.cpp and .h files to WebNetscapePluginStream.cpp and .h to match the class name.
* Plugins/WebNetscapePluginStream.h: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.h.
* Plugins/WebNetscapePluginStream.mm: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.mm.
2010-07-06 Steve Falkenburg <sfalken@apple.com>
Reviewed by Simon Fraser.
Expose URL matching from WebUserContentURLPattern
https://bugs.webkit.org/show_bug.cgi?id=41726
<rdar://problem/7910144>
We previously had a way to construct WebUserContentURLPattern
instances via WebKit, but no way for callers to perform matching.
This patch adds the matchesURL functionality to allow for this.
* Misc/WebUserContentURLPattern.h: Added matchesURL.
* Misc/WebUserContentURLPattern.mm:
(-[WebUserContentURLPattern matchesURL:]): Added. Calls through to WebCore::UserContentURLPattern::matches.
2010-06-23 Philippe Normand <pnormand@igalia.com>
Reviewed by Eric Carlson.
[GStreamer] on Mac OS use a runloop observer to process the glib context iterations
https://bugs.webkit.org/show_bug.cgi?id=35747
If VIDEO and GSTREAMER are enabled, make the WebView start a
runloop observer that will trigger the glib main context
iterations. Those are needed by the GStreamer player only at the
moment but could later be used for other GLib-dependant components
if required.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView _close]):
(-[WebView _clearGlibLoopObserver]):
(glibContextIterationCallback):
(-[WebView _scheduleGlibContextIterations]):
* WebView/WebViewData.h:
* WebView/WebViewInternal.h:
2010-07-03 Jon Honeycutt <jhoneycutt@apple.com>
The missing plug-in indicator should be clickable
https://bugs.webkit.org/show_bug.cgi?id=41550
<rdar://problem/8132162>
From an original patch by Kevin Decker.
Reviewed by Darin Adler.
* WebCoreSupport/WebChromeClient.h:
Declare an override of missingPluginButtonClicked().
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::missingPluginButtonClicked):
Call the UIDelegate's method.
* WebView/WebUIDelegatePrivate.h:
Declare didPressMissingPluginButton.
2010-07-01 Timothy Hatcher <timothy@apple.com>
Provide a WebView preference to disable DNS prefetching.
https://bugs.webkit.org/show_bug.cgi?id=28825
rdar://problem/7181249
Reviewed by Darin Adler.
* WebView/WebPreferenceKeysPrivate.h: Added WebKitDNSPrefetchingEnabledPreferenceKey.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Set WebKitDNSPrefetchingEnabledPreferenceKey to YES.
(-[WebPreferences isDNSPrefetchingEnabled]): Added. Return WebKitDNSPrefetchingEnabledPreferenceKey's value.
(-[WebPreferences setDNSPrefetchingEnabled:]): Added. Set WebKitDNSPrefetchingEnabledPreferenceKey's value.
* WebView/WebPreferencesPrivate.h: Added isDNSPrefetchingEnabled and setDNSPrefetchingEnabled:.
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Call WebCore::Settings::setDNSPrefetchingEnabled.
2010-07-01 Alexey Proskuryakov <ap@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction
Strengthen m_inDestroy "swipe under the carpet" fix.
* Plugins/Hosted/NetscapePluginInstanceProxy.h: Added a long comment about m_inDestroy, and
changed it to static.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): m_inDestroy is now
static, so we don't initialize it in constructor.
(WebKit::NetscapePluginInstanceProxy::destroy): Assert that we aren't already destroying
some plug-in.
(WebKit::NetscapePluginInstanceProxy::evaluate): This function accidentally lacked an
m_inDestroy check in r42789.
2010-06-29 Zoltan Herczeg <zherczeg@webkit.org>
Reviewed by Nikolas Zimmermann.
Add ConvolveMatrixElement to MigrateHeaders.make
https://bugs.webkit.org/show_bug.cgi?id=5861
* MigrateHeaders.make:
2010-06-23 John Gregg <johnnyg@google.com>
Reviewed by Kent Tamura.
add ENABLE_DIRECTORY_UPLOAD build support
https://bugs.webkit.org/show_bug.cgi?id=41100
* Configurations/FeatureDefines.xcconfig:
2010-06-28 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Make it possible to test the new HTML5 TreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=41276
Adam was concerned that someone might make their port
depend on this setting (I guess we had some trouble with that
with the HTML5Parser setting), so I littered the code with warnings.
test-html5-parser now tests this code path.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences html5TreeBuilderEnabled]):
(-[WebPreferences setHTML5TreeBuilderEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-06-25 Yuzo Fujishima <yuzo@google.com>
Reviewed by Shinichiro Hamaji.
Improve default value handling for page format properties.
https://bugs.webkit.org/show_bug.cgi?id=41150
* Misc/WebCoreStatistics.h:
* Misc/WebCoreStatistics.mm:
(-[WebFrame pageSizeAndMarginsInPixels:pageNumber:width:height:marginTop:marginRight:marginBottom:]):
2010-06-26 Tony Gentilcore <tonyg@chromium.org>
Reviewed by Dimitri Glazkov.
Add an ENABLE_WEB_TIMING option for enabling Web Timing support.
https://bugs.webkit.org/show_bug.cgi?id=38924
* Configurations/FeatureDefines.xcconfig:
2010-06-24 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
Full-screened content doesn't keep the display on: Safari not grabbing a power assertion?
https://bugs.webkit.org/show_bug.cgi?id=40939
rdar://problem/7996172
Take a IOKit power assertion when playing video in fullscreen mode. Release the
assertion when paused in fullscreen mode, and when exiting fullscreen mode.
* WebView/WebVideoFullscreenController.h:
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController windowDidExitFullscreen]): Call updatePowerAssertions.
(-[WebVideoFullscreenController windowDidEnterFullscreen]): Call updatePowerAssertions.
(-[WebVideoFullscreenController _disableIdleDisplaySleep]):
(-[WebVideoFullscreenController _enableIdleDisplaySleep]):
(-[WebVideoFullscreenController _disableIdleSystemSleep]):
(-[WebVideoFullscreenController _enableIdleSystemSleep]):
(-[WebVideoFullscreenController updatePowerAssertions]): Call _(enable|disable)Idle(System|Display)sleep depending on current playback rate and fullscreen status.
(-[WebVideoFullscreenController rateChanged:]): Call updatePowerAssertions.
2010-06-24 Jer Noble <jer.noble@apple.com>
Reviewed by Darin Adler.
Playing movie full screen on second monitor hides menu bar and title bar on main monitor
https://bugs.webkit.org/show_bug.cgi?id=40933
rdar://problem/7858452
Remove all references to GetSystemUIMode and SetSystemUIMode. Replace these calls with
[NSApplication setPresentationOptions:]. Do not auto-hide the menu bar if the fullscreen
screen is does not contain the menu-bar. Do not auto-hide the dock if the fullscreen screen
is both not the menu-bar screen and not the dock screen.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController windowDidLoad]): Register the applicationDidChangeScreenParameters: listener.
(-[WebVideoFullscreenController windowDidExitFullscreen]): Calls updateMenuAndDockForFullscreen.
(-[WebVideoFullscreenController windowDidEnterFullscreen]): Calls updateMenuAndDockForFullscreen.
(-[WebVideoFullscreenController applicationDidChangeScreenParameters:]): New notification handler; catches NSApplicationDidChangeScreenParameters.
(-[WebVideoFullscreenController updateMenuAndDockForFullscreen]): Hide/show the menu-bar and dock according to the fullscreen window's screen.
2010-06-24 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
Full screen video in Safari exits full-screen if you switch to another app
https://bugs.webkit.org/show_bug.cgi?id=40635
rdar://problem/7885101
Implement the following rules for exiting full screen when switching apps:
1. If the system has a single screen, switching apps will cause Safari to exit full-screen.
2. Otherwise, if the full-screen screen is the "main screen" (the one with the title bar),
switching apps will cause Safari to exit full-screen.
3. Overriding rules 1 & 2, if the full-screen screen is not on the "current space",
switching apps will NOT cause Safari to exit full-screen.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController windowDidLoad]):
(-[WebVideoFullscreenController applicationDidResignActive:]):
2010-06-24 Adele Peterson <adele@apple.com>
Reviewed by Sam Weinig.
Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
https://bugs.webkit.org/show_bug.cgi?id=41085
* WebView/WebHTMLView.mm: Use the WebCore command system for the pasteAsPlainText selector.
Also remove internal methods that no one is using.
2010-06-24 Damian Kaleta <dkaleta@apple.com>
Reviewed by Sam Weinig.
Added an ObjC wrapper to Node::renderRect(bool&).
* DOM/WebDOMOperations.mm:
(-[DOMNode _renderRect:]):
* DOM/WebDOMOperationsPrivate.h:
2010-06-24 Adele Peterson <adele@apple.com>
Reviewed by Eric Carlson.
Fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
https://bugs.webkit.org/show_bug.cgi?id=41085
* WebView/WebHTMLView.mm: (-[WebHTMLView pasteAsPlainText:]): Reuse code in WebCore
which does everything done here and also fires paste events.
2010-06-23 Yuzo Fujishima <yuzo@google.com>
Reviewed by Shinichiro Hamaji.
Implement page format data programming interface.
Add methods for testing.
https://bugs.webkit.org/show_bug.cgi?id=37538
* Misc/WebCoreStatistics.h:
* Misc/WebCoreStatistics.mm:
(-[WebFrame isPageBoxVisible:]):
(-[WebFrame pageAreaRectInPixels:]):
(-[WebFrame preferredPageSizeInPixels:]):
2010-06-22 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Get rid of more USE_LIBDISPATCH code.
* Plugins/Hosted/NetscapePluginHostProxy.h:
2010-06-22 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Get rid of the USE_LIBDISPATCH code.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
(WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
2010-06-22 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Wean NetscapePluginHostManager of any knowledge about WebNetscapePluginPackage
https://bugs.webkit.org/show_bug.cgi?id=41006
* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::hostForPlugin):
(WebKit::NetscapePluginHostManager::spawnPluginHost):
(WebKit::NetscapePluginHostManager::instantiatePlugin):
(WebKit::NetscapePluginHostManager::createPropertyListFile):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]):
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage createPropertyListFile]):
2010-06-21 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Fix an off-by-one bug I introduced.
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage getPluginInfoFromResources]):
2010-06-21 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
FrameLoader cleanup: Split high level subframe and plugin
loading functions into a separate class.
https://bugs.webkit.org/show_bug.cgi?id=40453
* WebView/WebFrame.mm:
(-[WebFrame _cacheabilityDictionary]):
2010-06-21 Anders Carlsson <andersca@apple.com>
Another Tiger build fix.
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _tryLoad]):
2010-06-21 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
More WebBasePluginPackage cleanup
https://bugs.webkit.org/show_bug.cgi?id=40944
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::pluginCancelledConnectionError):
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::pluginCancelledConnectionError):
* Plugins/WebBaseNetscapePluginView.mm:
(WebHaltablePlugin::pluginName):
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage initWithPath:]):
(-[WebBasePluginPackage _objectForInfoDictionaryKey:]):
(-[WebBasePluginPackage getPluginInfoFromPLists]):
(-[WebBasePluginPackage load]):
(-[WebBasePluginPackage dealloc]):
(-[WebBasePluginPackage finalize]):
(-[WebBasePluginPackage pluginInfo]):
(-[WebBasePluginPackage supportsExtension:]):
(-[WebBasePluginPackage supportsMIMEType:WebCore::]):
(-[WebBasePluginPackage MIMETypeForExtension:]):
(-[WebBasePluginPackage isJavaPlugIn]):
(-[WebBasePluginPackage versionNumber]):
(-[WebBasePluginPackage WebCore::]):
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage openResourceFile]):
(-[WebNetscapePluginPackage closeResourceFile:]):
(-[WebNetscapePluginPackage getPluginInfoFromResources]):
(-[WebNetscapePluginPackage _initWithPath:]):
(-[WebNetscapePluginPackage _applyDjVuWorkaround]):
(-[WebNetscapePluginPackage _tryLoad]):
(-[WebNetscapePluginPackage supportsSnapshotting]):
(-[WebNetscapePluginPackage _unloadWithShutdown:]):
* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase refresh]):
(-[WebPluginDatabase _removePlugin:]):
* Plugins/WebPluginPackage.mm:
(-[WebPluginPackage initWithPath:]):
(-[WebPluginPackage load]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::getPluginInfo):
2010-06-21 Anders Carlsson <andersca@apple.com>
Another PowerPC build fix.
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage openResourceFile]):
(-[WebNetscapePluginPackage _tryLoad]):
2010-06-21 Anders Carlsson <andersca@apple.com>
Try to fix the PowerPC build.
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _tryLoad]):
2010-06-21 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Update relevant calls into FrameLoader to make use of
FrameLoaderStateMachine.
https://bugs.webkit.org/show_bug.cgi?id=39695
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebView/WebFrame.mm:
(-[WebFrame _firstLayoutDone]):
2010-06-21 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Dan Bernstein.
Chromium/Mac build fix.
* WebCoreSupport/WebSystemInterface.mm: Change the order of wtf/Platform.h include to let other
headers smell it.
2010-06-21 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Make all of WebKit build with clang++
* DefaultDelegates/WebDefaultPolicyDelegate.m:
(-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
* Plugins/Hosted/NetscapePluginHostManager.mm:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]):
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView setSuppressLayout:]):
* WebView/WebHTMLRepresentation.mm:
* WebView/WebNavigationData.mm:
(-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
* WebView/WebPDFRepresentation.mm:
(-[WebPDFRepresentation setDataSource:]):
(-[WebPDFRepresentation receivedData:withDataSource:]):
(-[WebPDFRepresentation receivedError:withDataSource:]):
* WebView/WebResource.mm:
(-[WebResource description]):
* WebView/WebSerializedJSValue.mm:
(-[WebSerializedJSValue initWithValue:context:exception:]):
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController WebCore::]):
(-[WebVideoFullscreenController setMediaElement:WebCore::]):
(-[WebVideoFullscreenController setDelegate:]):
(-[WebVideoFullscreenController enterFullscreen:]):
* WebView/WebView.mm:
(-[WebView _openFrameInNewWindowFromMenu:]):
(-[WebView _geolocationDidChangePosition:]):
2010-06-21 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Remove unused dictionary ivars from WebBasePluginPackage
https://bugs.webkit.org/show_bug.cgi?id=40928
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage getPluginInfoFromPLists]):
(-[WebBasePluginPackage dealloc]):
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage getPluginInfoFromResources]):
2010-06-21 Dan Bernstein <mitz@apple.com>
Build fix
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
2010-06-21 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
WebKit part of implementing the 'hyphens' and 'hyphenate-character' properties
https://bugs.webkit.org/show_bug.cgi?id=10228
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Initialize wkGetHyphenationLocationBeforeIndex.
2010-06-21 Satish Sampath <satish@chromium.org>
Reviewed by Steve Block.
Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
https://bugs.webkit.org/show_bug.cgi?id=40878
* Configurations/FeatureDefines.xcconfig:
2010-06-20 Anders Carlsson <andersca@apple.com>
Fix Tiger build.
* Plugins/WebNetscapePluginPackage.mm:
2010-06-20 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Get rid of the old MIMETypes getter method
https://bugs.webkit.org/show_bug.cgi?id=40898
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage supportsExtension:]):
(-[WebBasePluginPackage supportsMIMEType:WebCore::]):
(-[WebBasePluginPackage MIMETypeForExtension:]):
* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase refresh]):
(-[WebPluginDatabase _removePlugin:]):
2010-06-20 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Remove bogus const qualifiers.
* WebCoreSupport/WebPasteboardHelper.h:
* WebCoreSupport/WebPasteboardHelper.mm:
(WebPasteboardHelper::urlFromPasteboard):
(WebPasteboardHelper::plainTextFromPasteboard):
(WebPasteboardHelper::fragmentFromPasteboard):
2010-06-20 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Get rid of the extensionToMIME mapping in WebBasePluginPackage
https://bugs.webkit.org/show_bug.cgi?id=40897
Instead of using the extensionToMIME mutable dictionary, use the MIME types vector.
While this makes lookup of MIME types based on extensions linear instead of constant,
the number of extensions per plug-in is too small for it to matter.
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage initWithPath:]):
(-[WebBasePluginPackage dealloc]):
(-[WebBasePluginPackage supportsExtension:]):
(-[WebBasePluginPackage MIMETypeForExtension:]):
(-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
2010-06-20 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Add a MimeClassInfo Vector to WebBasePluginPackage
https://bugs.webkit.org/show_bug.cgi?id=40896
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage getPluginInfoFromPLists]):
(-[WebBasePluginPackage WebCore::]):
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage getPluginInfoFromResources]):
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::getPluginInfo):
2010-06-20 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Move the NSBundle ivar to WebPluginPackage
https://bugs.webkit.org/show_bug.cgi?id=40894
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage initWithPath:]):
(-[WebBasePluginPackage _objectForInfoDictionaryKey:]):
(-[WebBasePluginPackage getPluginInfoFromPLists]):
(-[WebBasePluginPackage load]):
(-[WebBasePluginPackage dealloc]):
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage _initWithPath:]):
* Plugins/WebPluginPackage.h:
* Plugins/WebPluginPackage.mm:
(-[WebPluginPackage initWithPath:]):
(-[WebPluginPackage dealloc]):
(-[WebPluginPackage viewFactory]):
(-[WebPluginPackage load]):
2010-06-20 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Remove -[WebBasePluginPackage bundle]
https://bugs.webkit.org/show_bug.cgi?id=40892
Add -[WebBasePluginPackage bundleIdentifier] and switch clients over to it.
Move the supportsSnapshotting method over to the plug-in package.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::hostForPackage):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
(-[WebBaseNetscapePluginView supportsSnapshotting]):
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage isQuickTimePlugIn]):
(-[WebBasePluginPackage isJavaPlugIn]):
(-[WebBasePluginPackage WebCore::]):
Call bundleIdentifier directly instead of asking the bundle
* Plugins/WebNetscapePluginPackage.h:
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage supportsSnapshotting]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView setAttributeKeys:andValues:]):
(-[WebNetscapePluginView _createPlugin]):
* Plugins/WebPluginDatabase.mm:
(checkCandidate):
2010-06-20 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Change some WebPluginDabase ivars to use WebCore::String instead of NSString.
https://bugs.webkit.org/show_bug.cgi?id=40869
Re-land r61459, with extra null-checks in WebFrameLoaderClient.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage initWithPath:]):
(-[WebBasePluginPackage getPluginInfoFromPLists]):
(-[WebBasePluginPackage dealloc]):
(-[WebBasePluginPackage name]):
(-[WebBasePluginPackage path]):
(-[WebBasePluginPackage filename]):
(-[WebBasePluginPackage pluginDescription]):
(-[WebBasePluginPackage description]):
(-[WebBasePluginPackage isJavaPlugIn]):
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage getPluginInfoFromResources]):
(-[WebNetscapePluginPackage _tryLoad]):
(-[WebNetscapePluginPackage _unloadWithShutdown:]):
* Plugins/WebPluginPackage.mm:
(-[WebPluginPackage load]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
2010-06-18 Adam Barth <abarth@webkit.org>
Unreviewed, rolling out r61459.
http://trac.webkit.org/changeset/61459
https://bugs.webkit.org/show_bug.cgi?id=40869
Seems to have broken two tests on the Tiger buildbot:
dom/html/level2/html/AppletsCollection.html
plugins/qt-qwidget-plugin.html
Anders wasn't on #webkit...
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage initWithPath:]):
(-[WebBasePluginPackage getPluginInfoFromPLists]):
(-[WebBasePluginPackage dealloc]):
(-[WebBasePluginPackage name]):
(-[WebBasePluginPackage path]):
(-[WebBasePluginPackage filename]):
(-[WebBasePluginPackage pluginDescription]):
(-[WebBasePluginPackage setName:]):
(-[WebBasePluginPackage setPath:]):
(-[WebBasePluginPackage setPluginDescription:]):
(-[WebBasePluginPackage description]):
(-[WebBasePluginPackage isJavaPlugIn]):
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage getPluginInfoFromResources]):
(-[WebNetscapePluginPackage _tryLoad]):
(-[WebNetscapePluginPackage _unloadWithShutdown:]):
* Plugins/WebPluginPackage.mm:
(-[WebPluginPackage load]):
2010-06-18 Anders Carlsson <andersca@apple.com>
Fix Tiger build.
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage isJavaPlugIn]):
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Change some WebPluginDabase ivars to use WebCore::String instead of NSString.
https://bugs.webkit.org/show_bug.cgi?id=40869
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage initWithPath:]):
(-[WebBasePluginPackage getPluginInfoFromPLists]):
(-[WebBasePluginPackage dealloc]):
(-[WebBasePluginPackage name]):
(-[WebBasePluginPackage path]):
(-[WebBasePluginPackage filename]):
(-[WebBasePluginPackage pluginDescription]):
(-[WebBasePluginPackage description]):
(-[WebBasePluginPackage isJavaPlugIn]):
* Plugins/WebNetscapePluginPackage.mm:
(-[WebNetscapePluginPackage getPluginInfoFromResources]):
(-[WebNetscapePluginPackage _tryLoad]):
(-[WebNetscapePluginPackage _unloadWithShutdown:]):
* Plugins/WebPluginPackage.mm:
(-[WebPluginPackage load]):
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Rename WebPluginPackage.m to make it an Objective-C++ file.
* Plugins/WebPluginPackage.m: Removed.
* Plugins/WebPluginPackage.mm: Copied from Plugins/WebPluginPackage.m.
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Get rid of the NSEnumerators from WebBasePluginPackage
https://bugs.webkit.org/show_bug.cgi?id=40868
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage MIMETypes]):
(-[WebBasePluginPackage supportsExtension:]):
(-[WebBasePluginPackage supportsMIMEType:]):
* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase pluginForMIMEType:]):
(-[WebPluginDatabase pluginForExtension:]):
(-[WebPluginDatabase refresh]):
(-[WebPluginDatabase _removePlugin:]):
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::getPluginInfo):
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Make WebCoreSystemInterface.h a C++ only header
https://bugs.webkit.org/show_bug.cgi?id=40867
* WebCoreSupport/WebSystemInterface.h:
* WebCoreSupport/WebSystemInterface.m: Removed.
* WebCoreSupport/WebSystemInterface.mm: Copied from WebKit/mac/WebCoreSupport/WebSystemInterface.m.
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Clean up WebPluginDatabase.mm
https://bugs.webkit.org/show_bug.cgi?id=40866
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(pathByResolvingSymlinksAndAliases):
(-[WebBasePluginPackage initWithPath:]):
Change an instance method into a static function.
* Plugins/WebPluginDatabase.mm:
(PluginPackageCandidates::PluginPackageCandidates):
(PluginPackageCandidates::update):
(PluginPackageCandidates::bestCandidate):
Add a new PluginPackageCandidates class.
(-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
Use PluginPackageCandidates here.
2010-06-18 Anders Carlsson <andersca@apple.com>
Fix Tiger build.
* WebCoreSupport/WebPlatformStrategies.mm:
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Get rid of PluginDataMac.mm and use the plug-in strategy instead
https://bugs.webkit.org/show_bug.cgi?id=40860
* Plugins/WebBasePluginPackage.h:
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::createPluginStrategy):
(WebPlatformStrategies::refreshPlugins):
(WebPlatformStrategies::getPluginInfo):
* WebCoreSupport/WebViewFactory.mm:
2010-06-18 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Add stubbed out WebPlatformStrategies class to WebKit.
https://bugs.webkit.org/show_bug.cgi?id=40851
* WebCoreSupport/WebPlatformStrategies.h: Added.
* WebCoreSupport/WebPlatformStrategies.mm: Added.
(WebPlatformStrategies::initialize):
(WebPlatformStrategies::WebPlatformStrategies):
(WebPlatformStrategies::createPluginStrategy):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2010-06-15 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Adam Barth.
Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
https://bugs.webkit.org/show_bug.cgi?id=39041
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-06-17 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Use adoptRef and create functions in more code paths
https://bugs.webkit.org/show_bug.cgi?id=40760
* Plugins/Hosted/NetscapePluginInstanceProxy.h: Made create no longer
be an inline function.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
Moved the call to addPluginInstance out of here.
(WebKit::NetscapePluginInstanceProxy::create): Move it in here.
This makes sure we call adoptRef on the new proxy before any caller
calls ref on it.
2010-06-16 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Enable HTML5 Parser in Safari on Mac
https://bugs.webkit.org/show_bug.cgi?id=40739
The HTML5 parser is probably off on all webkit ports.
We should either flip the meaning of the default so that
"false" means HTML5 on all ports, or we'll have to write
more code like this for all the other ports.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2010-06-15 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Don't leak WebGeolocationPositionInternal and GeolocationPosition instances for every WebGeolocationPosition created.
* WebView/WebGeolocationPosition.mm:
(-[WebGeolocationPosition dealloc]): Implement -dealloc and release our WebGeolocationPositionInternal instance.
2010-06-10 Yuzo Fujishima <yuzo@google.com>
Reviewed by Shinichiro Hamaji.
Implement render style selection for pages to support CSS3 Paged Media.
https://bugs.webkit.org/show_bug.cgi?id=35961
* Misc/WebCoreStatistics.h:
* Misc/WebCoreStatistics.mm:
(-[WebFrame pageProperty:propertyName:]):
2010-06-15 Darin Adler <darin@apple.com>
Reviewed by Adam Barth.
Move functions out of Frame class that were marked "move to Chrome"
https://bugs.webkit.org/show_bug.cgi?id=39636
* WebView/WebView.mm:
(-[WebView shouldClose]): Call shouldClose on FrameLoader instead of
going through Frame.
2010-06-15 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Remove getPluginInfoFromBundleAndMIMEDictionary:
* Plugins/WebBasePluginPackage.mm:
2010-06-15 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Fold getPluginInfoFromBundleAndMIMEDictionary: into its sole caller.
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage getPluginInfoFromPLists]):
2010-06-11 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
<rdar://problem/8084721> Pages using accelerated compositing fail to update correctly in Carbon apps
The run loop observer used to commit compositing layer changes does not do
updates if [window viewsNeedDisplay] is true, because this indicates that a delayed window
update is pending (added in r58623).
However, Carbon apps don't use the NSWindow updating mechanism, so [window viewsNeedDisplay] always returns YES.
This caused us to never sync compositing layers.
So detect if the current window is wrapping a carbon window, and in that case consult the root
HIView to detect if display is pending.
* WebView/WebView.mm:
(layerSyncRunLoopObserverCallBack):
2010-06-15 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
<rdar://problem/8077032> REGRESSION (r50796): Black background on AppleScript generated email
Test: platform/mac/editing/input/NSBackgroundColor-transparent.html
r50796 changed the initial background color from invalid to transparent. As a result,
NSAttributedStrings returned from +_web_attributedStringFromRange started including the
NSBackgroundColor attribute, with a transparent color as the value. This caused problems for
components in the system that ignore the alpha component, turning the color into opaque black.
* Misc/WebNSAttributedStringExtras.mm:
(+[NSAttributedString _web_attributedStringFromRange:]): Change to not include the background
and foreground color attributes if the color are transparent.
2010-06-14 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
data from inspected page to WebInspector as JSON string via http. The native
serialization to JSON string is supported by InspectorValue's classes. This patch
has the implementation of sendMessageToFrontend function. WebKit version of it still
uses ScriptFunctionCall and will be switched to another transport a little bit later.
https://bugs.webkit.org/show_bug.cgi?id=40134
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::openInspectorFrontend):
2010-06-10 David Hyatt <hyatt@apple.com>
Reviewed by John Sullivan.
https://bugs.webkit.org/show_bug.cgi?id=40441, back out the original fix for 29601, since it has broken continuous
wheel delta values.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView scrollWheel:]):
2010-06-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r60889.
http://trac.webkit.org/changeset/60889
https://bugs.webkit.org/show_bug.cgi?id=40365
gtk bot has some kind of memory corruption (Requested by
loislo on #webkit).
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::openInspectorFrontend):
(-[WebInspectorWindowController destroyInspectorView]):
2010-06-07 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
data from inspected page to WebInspector as JSON string via http. The native
serialization to JSON string is supported by InspectorValue's classes. This patch
has the implementation of sendMessageToFrontend function. WebKit version of it still
uses ScriptFunctionCall and will be switched to another transport a little bit later.
https://bugs.webkit.org/show_bug.cgi?id=40134
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::openInspectorFrontend):
2010-06-08 Mark Rowe <mrowe@apple.com>
Reviewed by Adele Peterson.
<rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK
* WebCoreSupport/WebContextMenuClient.mm:
(fixMenusReceivedFromOldClients): Fix up the tag on the Inspect Element menu item. This ensures that even if the
context menu layout doesn't match our expectations that the menu item will continue to trigger the web inspector.
2010-06-08 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Ojan Vafai and Darin Adler.
Refactor platform dependent editing behavior code out of Settings
https://bugs.webkit.org/show_bug.cgi?id=39854
EditingBehavior enum was renamed to EditingBehaviorTypes and moved out from Settings.h to
EditingBehaviorTypes.h . Call sites in WebKit/ adjusted accordingly.
* WebView/WebFrame.mm:
(core):
* WebView/WebFrameInternal.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-06-06 MORITA Hajime <morrita@google.com>
Unreviewd, follow up to r60820
https://bugs.webkit.org/show_bug.cgi?id=40219
[Mac] ENABLE_METER_TAG should be enabled
Added ENABLE_METER_TAG.
* Configurations/FeatureDefines.xcconfig:
2010-06-06 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
Bug 40214 - Clean up error construction / throwing in JSC.
The one egregious insanity here is that creating an error requires
a VM-entry-esqe-host call (the string argument is wrapped as a JS
object & pushed on the RegisterFile, then unwrapped back to a
UString). Changing this also means you only require a global
object, not an ExecState, to create an error.
The methods to create error objects are also parameterized
requiring a switch on the type, which can be made cleaner and
faster by moving to a separate method per error type. Code to add
divot information to error had been duplicated, and is coalesced
back into a single function.
Convenience methods added to create & throw type & syntax error
with a default error message, since this is a common case.
Also, errors are currently thrown either using
"throwError(exec, error)" or "exec->setException(error)" - unify
on the former, since this is more commonly used. Add
"throwVMError(exec, error)" equivalents, as a convenience for
cases where the result was being wrapped in "JSValue::encode(...)".
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::invokeMethod):
2010-06-02 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Bug 40094 - The return type of NativeFunction should be EncodedJSValue
On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invoke):
2010-06-02 Sterling Swigart <sswigart@google.com>
Reviewed by David Levin.
Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
https://bugs.webkit.org/show_bug.cgi?id=39906
* Configurations/FeatureDefines.xcconfig:
2010-06-01 David Hyatt <hyatt@apple.com>
Reviewed by Anders Carlsson.
Add a preference for paginating during layout (the new model for computing page breaks).
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences paginateDuringLayoutEnabled]):
(-[WebPreferences setPaginateDuringLayoutEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-06-01 Kevin Decker <kdecker@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=40025
<rdar://problem/8046273> All Flash content crashes after installing CS5 Design Premium.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView supportsSnapshotting]): Do not support snapshotting Flash 10.1 if
the version is less than 10.1.53.60.
2010-06-01 Alexey Proskuryakov <ap@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=39434
REGRESSION (r59811): Geolocation callbacks cannot be created
Removing unused WebGeolocationMock.
* WebCoreSupport/WebGeolocationMock.mm: Removed.
* WebCoreSupport/WebGeolocationMockPrivate.h: Removed.
* WebKit.exp:
2010-05-30 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Make more HTML DOM members private, especially constructors, third and final batch
https://bugs.webkit.org/show_bug.cgi?id=39916
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation elementWithName:inForm:]): Use the new HTMLFormElement
function, associatedElements, rather than getting directly at a data member
named formElements.
(-[WebHTMLRepresentation controlsInForm:]): Ditto.
2010-05-28 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
Simplified the host calling convention.
PART ONE: Functional code changes.
[ None in WebKit ]
PART TWO: Global search and replace.
In the areas below, I used global search-and-replace to change
(ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
args.size() => exec->argumentCount()
args.at(i) => exec->argument(i)
* Plugins/Hosted/ProxyInstance.h:
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::invoke):
(WebKit::ProxyInstance::invokeMethod):
(WebKit::ProxyInstance::invokeDefaultMethod):
2010-05-27 Beth Dakin <bdakin@apple.com>
Reviewed by Simon Fraser.
Change z-component to 1.
* WebView/WebHTMLView.mm:
(-[WebHTMLView viewDidMoveToWindow]):
(-[WebHTMLView attachRootLayer:]):
2010-05-26 Simon Fraser <simon.fraser@apple.com>
Reviewed by Beth Dakin and Darin Adler.
Fix for <rdar://problem/7464703> HiDPI: [Layers] Compositing layers
do not scale properly when running with a resolution independent
scale
Apply the userSpaceScaleFactor as a scale on the layerHostingView.
* WebView/WebHTMLView.mm:
(-[WebHTMLView viewDidMoveToWindow]):
(-[WebHTMLView attachRootLayer:]):
2010-05-25 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=39621
<rdar://problem/8009738> Extreme memory growth on DOM Hanoi test
Removed formStateDidChange support, which is not needed by any client.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::formStateDidChange):
* WebCoreSupport/WebChromeClient.mm:
* WebView/WebUIDelegatePrivate.h:
2010-05-25 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
<rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
* Storage/WebDatabaseManager.mm:
(WebKitInitializeDatabasesIfNecessary): Call initializeTracker() instead of trying to set the path on
an already created tracker that already has its origins populated.
2010-05-24 Darin Adler <darin@apple.com>
Reviewed by Eric Seidel.
Move view-related functions from Frame to FrameView
https://bugs.webkit.org/show_bug.cgi?id=39366
* WebView/WebView.mm:
(-[WebView _setZoomMultiplier:isTextOnly:]): Call function on FrameView.
(-[WebView setEditable:]): Get rid of call to empty function,
removeEditingStyleFromBodyElement.
2010-05-21 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=39420
Make sure everyone who needs to is using visitedDependentColor rather than accessing styles
directly.
* Misc/WebNSAttributedStringExtras.mm:
(+[NSAttributedString _web_attributedStringFromRange:]):
* WebView/WebFrame.mm:
(-[WebFrame _bodyBackgroundColor]):
2010-05-21 Oliver Hunt <oliver@apple.com>
Reviewed by Geoffrey Garen.
All callable objects should have a global object reference
https://bugs.webkit.org/show_bug.cgi?id=39495
Update the plugin proxy to handle the need for global object.
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::newRuntimeObject):
(WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
(WebKit::ProxyInstance::getMethod):
* Plugins/Hosted/ProxyRuntimeObject.h:
* Plugins/Hosted/ProxyRuntimeObject.mm:
(WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
2010-05-21 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Add DeviceOrientation and DeviceOrientationClient
https://bugs.webkit.org/show_bug.cgi?id=39479
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2010-05-20 Mike Thole <mthole@apple.com>
Reviewed by Dave Hyatt.
When using a scale factor > 1, scrollbars sometimes appear when not necessary
https://bugs.webkit.org/show_bug.cgi?id=39458
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView updateScrollers]): Round up non-integral sizes from AppKit
so that they can be compared against the integral document size.
2010-05-20 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=39441
<rdar://problem/7985715> Flash context menu is both horizontally and vertically offset from point of click
<rdar://problem/7986109> Youtube video controller UI entirely missing
<rdar://problem/7986154> Flash content paints at horizontally and vertically shifted locations (within the plug-in region)
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView updateAndSetWindow]): The base coordinates of a window and
it's contentView happen to be the equal at a userSpaceScaleFactor of 1. For non-1.0 scale
factors this assumption is false. Accordingly we now convert to the window contentView
coordinate system when computing bounds in "window" and the visible rect.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): Ditto.
2010-05-20 Steve Block <steveblock@google.com>
Reviewed by Jeremy Orlow.
Provide bindings for DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=39210
Adds ENABLE_DEVICE_ORIENTATION to XCode project file, always disabled.
* Configurations/FeatureDefines.xcconfig:
2010-05-20 Martin Robinson <mrobinson@webkit.org>
Reviewed by Ojan Vafai.
Expose the editing behavior setting in DRT to test all editing code paths
https://bugs.webkit.org/show_bug.cgi?id=38603
* WebView/WebFrame.mm:
(core):
* WebView/WebFrameInternal.h: Added a conversion method from the API enum to the WebCore enum.
* WebView/WebPreferenceKeysPrivate.h: Added a preference key for the new setting.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Initialize the EditingBehavior to Mac style.
(-[WebPreferences editingBehavior]): Added.
(-[WebPreferences setEditingBehavior:]): Added.
* WebView/WebPreferencesPrivate.h: Added the new API points to the private API.
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]): Set the editing behavior via the WebPreferences setting.
2010-05-19 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker and Simon Fraser.
<rdar://problem/8004528>
REGRESSION: Coordinate system for Core Animation NPAPI plug-ins is flipped with accelerated compositing turned on
When needed, create a new CALayer and set it's geometry to be flipped. Add the plug-in layer as a sublayer and then return
the newly created layer.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView createPlugin]):
2010-05-18 Tony Chang <tony@chromium.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=24943
Command-B and Command-I do not generate keydown events in contentEditable regions.
Manual test because performKeyEquivalent is not called by DRT.
Test: manual-tests/style-keypress-events.html
* WebView/WebHTMLView.mm:
(-[WebHTMLView performKeyEquivalent:]): Move style key handling until after webcore gets a chance to handle the event
2010-05-18 Daniel Cheng <dcheng@chromium.org>
Reviewed by Darin Adler, Jian Li.
DragData::asURL() shouldn't do file validity checks
https://bugs.webkit.org/show_bug.cgi?id=38711
Change [NSPasteboard _web_bestURL] to still return a file URL for paths
that don't exist. Callers who care about the existence of the file or
whether or not it is a directory should check themselves when they
want to use the file. The directory check has been left in for now,
since the Mac implementation of ResourceHandle, which uses this function
indirectly via DragController::performDrag) handles directories somewhat
non-intuitively: it opens the parent directory in the Finder, rather
than opening the directory itself.
* Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_bestURL]):
2010-05-18 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth (and Maciej Stachowiak).
Make it possible to enable the new HTML5Tokenizer for testing
https://bugs.webkit.org/show_bug.cgi?id=39275
Expose the WebCore::Settings::html5ParserEnabled as a private WebKit setting.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences html5ParserEnabled]):
(-[WebPreferences setHTML5ParserEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-05-17 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r59652.
http://trac.webkit.org/changeset/59652
https://bugs.webkit.org/show_bug.cgi?id=39268
file-input-files-access test is broken on Mac (Requested by
dcheng on #webkit).
* Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_bestURL]):
2010-05-17 Daniel Cheng <dcheng@chromium.org>
Reviewed by Darin Adler.
DragData::asURL() shouldn't do file validity checks
https://bugs.webkit.org/show_bug.cgi?id=38711
Change [NSPasteboard _web_bestURL] to still return a file URL for paths
that don't exist. Callers who care about the existence of the file or
whether or not it is a directory should check themselves when they
want to use the file. The directory check has been left in for now,
since the Mac implementation of ResourceHandle, which uses this function
indirectly via DragController::performDrag) handles directories somewhat
non-intuitively: it opens the parent directory in the Finder, rather
than opening the directory itself.
* Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_bestURL]):
2010-05-14 Stephanie Lewis <slewis@apple.com>
Rubber-stamped by Mark Rowe.
Update order files.
* WebKit.order:
2010-05-13 Timothy Hatcher <timothy@apple.com>
Allow reporting exceptions that occur when using JavaScriptCore APIs
to the Web Inspector.
<rdar://problem/7975410>
Reviewed by Sam Weinig.
* WebView/WebView.mm:
(+[WebView _reportException:inContext:]): Call WebCore::reportException after checking
that the global object is a DOMWindow.
* WebView/WebViewPrivate.h: Added _reportException:inContext:.
2010-05-13 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=39089
<rdar://problem/7974044> Domain names in Russian '.рф' domain are displayed as punycode
Add a custom check for this domain. Currently, this is the only non-ASCII TLD, we'll
investigate a more extensible solution when there are more, and we know what the
typical restictions are.
* Misc/WebNSURLExtras.mm:
(allCharactersAllowedByTLDRules):
(-[NSString _web_mapHostNameWithRange:encode:makeString:]):
2010-05-12 Simon Fraser <simon.fraser@apple.com>
Reviewed by David Hyatt.
Composited plug-ins can cause missed painting
https://bugs.webkit.org/show_bug.cgi?id=39033
<rdar://problem/7972478>
Eagerly enable compositing mode via the enclosing FrameView when the plug-in tells us it wants
to do compositing.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView createPlugin]):
2010-05-12 Jer Noble <jer.noble@apple.com>
Reviewed by Darin Adler.
Bug 38689: #34005 will break fullscreen video playback
https://bugs.webkit.org/show_bug.cgi?id=38689
Use the new definition of PlatformMedia to check the actual type
returned by MediaPlayer.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController windowDidLoad]):
2010-05-11 Mark Rowe <mrowe@apple.com>
Fix the world.
In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable
and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
function in WebCore being called.
We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and
other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
has been reverted.
* Configurations/FeatureDefines.xcconfig:
2010-05-10 Simon Fraser <simon.fraser@apple.com>
Reviewed by Anders Carlsson.
Allow compositing layers to be connected across iframe boundaries on Mac
https://bugs.webkit.org/show_bug.cgi?id=38856
When painting an iframe into a compositing layer, the "PaintBehaviorFlattenCompositingLayers"
flag was mistakenly set, because we'd detect that we were drawing into a bitmap. This caused
content to show up in both compositing layers, and the painted background inside the iframe.
Fix by taking the flattening state from the parent frame, if there is one. For the root
frame, we continue to look to see if we're painting into a bitmap.
* WebView/WebFrame.mm:
(-[WebFrame _drawRect:contentsOnly:]):
2010-05-10 Timothy Hatcher <timothy@apple.com>
Fix a crash when closing a WebView while the Web Inspector is open.
<rdar://problem/7966830>
Reviewed by Mark Rowe.
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController destroyInspectorView]): Null check Page since it can be null.
* WebView/WebView.mm:
(-[WebView _close]): Null out _private->page before deleting the page, so code called
during destruction don't access a half deleted Page object.
2010-05-10 Anders Carlsson <andersca@apple.com>
Unbreak the world. (Fix Mac builds).
* Plugins/Hosted/WebKitPluginHostTypes.h:
2010-05-10 Anders Carlsson <andersca@apple.com>
Reviewed by Simon Fraser.
Change the order of the RendererType enum values, so that old versions of WebKitPluginHost will
use accelerated compositing and not layer backed views.
* Plugins/Hosted/WebKitPluginHostTypes.h:
2010-05-07 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig and Simon Fraser.
<rdar://problem/7947356>
QT Plug-in in hardware-accelerated WebKit is missing the controller
Replace the useSoftwareRenderer boolean with an enum that lets the plug-in host opt into using a layer
backed NSView instead of inserting the layer into the WebCore layer hierarchy.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCInstantiatePluginReply):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::rendererType):
(WebKit::NetscapePluginInstanceProxy::setRendererType):
(WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
Replace the useSoftwareRenderer boolean everywhere with the RendererType enum.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]):
Only go into full compositing mode when the renderer type returned is UseAcceleratedCompositing.
Otherwise, use a layer backed NSView.
* Plugins/Hosted/WebKitPluginHostTypes.h:
Add a RendererType enum.
2010-05-06 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler and Dan Bernstein..
REGRESSION (r51617): when plugins are disabled, plugins show up as garbage characters
https://bugs.webkit.org/show_bug.cgi?id=38698
<rdar://problem/7942075>
When the plug-in database is initialized, we will register all the MIME types it supports with the global
WebView dictionary. When plug-ins are disabled for a single web view, the MIME types still need to be
in the global mapping (because other web views might still have plug-ins enabled).
Prior to r51617 we would always look at the plug-in database to determine that the MIME type belongs to a
plug-in, but now we won't even touch the plug-in database when plug-ins are disabled.
In order to fix this, a new set of registered MIME types that are known to be plug-ins is added. When
+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:] is called and allowingPlugins is FALSE
we check if the MIME type is a known plug-in MIME type and return false in that case.
* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase refresh]):
(-[WebPluginDatabase _removePlugin:]):
* WebView/WebView.mm:
(knownPluginMIMETypes):
(+[WebView _registerPluginMIMEType:]):
(+[WebView _unregisterPluginMIMEType:]):
(+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
* WebView/WebViewInternal.h:
2010-05-06 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7951285> REGRESSION (r58847): Composited iframe content obscures Safari's application chrome
Fixed this other regression from r58847. The regression was caused by overriding -visibleRect to
return the WebClipView’s full bounds. AppKit uses -visibleRect to determine the geometry
of the surface for the child WebFrameView. The fix is to restrict the special behavior of
-[WebClipView visibleRect] to when AppKit is consulting it for the purpose of invalidating
areas while scrolling.
* WebView/WebClipView.h:
* WebView/WebClipView.mm:
(-[WebClipView visibleRect]): If the WebClipView is not scrolling, always return
[super visibleRect].
(-[WebClipView _immediateScrollToPoint:]): Override this internal NSClipView method
to set a flag telling -visibleRect that the view is scrolling.
* WebView/WebView.mm:
(layerSyncRunLoopObserverCallBack): Ensure that screen updates, disabled by AppKit
when it thinks an upcoming window flush will re-enable them, are enabled here in
case the -setNeedsDisplayInRect: override has prevented the window from needing to be
flushed.
2010-05-06 Steve Block <steveblock@google.com>
Reviewed by Eric Seidel.
MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
https://bugs.webkit.org/show_bug.cgi?id=38544
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
2010-05-05 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe.
Fixed a crash when closing Top Sites after r58847.
* WebView/WebFrameView.mm:
(-[WebFrameView webFrame]): Null-check _private.
2010-05-05 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Mark Rowe.
Fixed test crashes after r58847.
* WebView/WebHTMLView.mm:
(setNeedsDisplayInRect): Null-check the frame.
2010-05-05 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
https://bugs.webkit.org/show_bug.cgi?id=38427
* WebView/WebClipView.m: Renamed to WebClipView.mm.
* WebView/WebClipView.mm:
(-[WebClipView visibleRect]): Added this override, which for instances used for WebFrameViews in
composited layers, returns the clip view’s entire bounds. This prevents drawing from being clipped to
AppKit’s idea of what part of the view would be visible if it was drawn as part of the view hierarchy.
Since it is drawn into a compositing layer, that’s irrelevant, and we should not be clipping.
* WebView/WebHTMLView.mm:
(setCursor): Style tweak.
(setNeedsDisplayInRect): Added. Replaces the default implementation of -[NSView setNeedsDisplayInRect:],
so that if the receiver is a descendant of a WebFrameView that draws into a composited layer, the invalidation
is routed back through the WebCore FrameView, which propagates it to the layer.
(+[WebHTMLViewPrivate initialize]): Swizzle the setNeedsDisplayInRect: override in.
(-[WebHTMLView visibleRect]): Removed whitespace.
* WebView/WebView.mm:
(layerSyncRunLoopObserverCallBack): If we bailed out on syncing, due to pending layout, do an eager layout
in preparation for the displaying of compositing layers.
2010-05-05 John Sullivan <sullivan@apple.com>
<rdar://problem/7942606> Output appears in Console when exiting Safari with multiple windows opened
Reviewed by Mark Rowe.
* WebView/WebView.mm:
(+[WebView closeAllWebViews]):
Make copy of allWebViewsSet to avoid mutating it while iterating through it.
2010-05-04 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Improve check for drawing into the window that was added in r58623
https://bugs.webkit.org/show_bug.cgi?id=38562
Rather than assuming that any non-bitmap context is the window's context,
compare the current graphics context with -[NSWindow graphicsContext] to
determine that we're drawing into the window.
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawRect:]):
2010-05-04 Ada Chan <adachan@apple.com>
Reviewed by David Kilzer.
https://bugs.webkit.org/show_bug.cgi?id=38555
Small code refactoring: move the logic to figure out the path to the
databases directory to another method.
* Storage/WebDatabaseManager.mm:
(databasesDirectoryPath):
(WebKitInitializeDatabasesIfNecessary):
2010-05-04 Beth Dakin <bdakin@apple.com>
Reviewed by Mike Thole.
Fix for <rdar://problem/7818509> Crash occurs when exiting Safari
We can avoid this crash if we call [self _removeFromAllWebViewsSet]
even in the case when we are doing a fastDocumentTeardown. This is
a much safer approach.
* WebView/WebView.mm:
(-[WebView _close]):
2010-05-03 Abhishek Arya <inferno@chromium.org>
Reviewed by Adam Barth.
Add support for controlling clipboard access from javascript.
Clipboard access from javascript is disabled by default.
https://bugs.webkit.org/show_bug.cgi?id=27751
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences javaScriptCanAccessClipboard]):
(-[WebPreferences setJavaScriptCanAccessClipboard:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-05-03 Jens Alfke <snej@chromium.org>
Reviewed by Darin Fisher.
[chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=38397
No tests (functionality is exposed only through native WebKit API.)
* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient::dispatchWillSendSubmitEvent):
2010-04-30 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/7477071> REGRESSION: Bad flicker when wheel-scrolling Google Maps, iPad gallery and other sites
Sites that frequently toggle content in and out of compositing layers (like http://www.tumblr.com/boothed)
can cause flickering because of unsychronized compositing layer and view-based updates. There were two
underlying issues:
1. On SnowLeopard, AppKit can throttle window updates, thus breaking an assumption that
NSView drawing will happen on the runloop cycle after a repaint. This provided a window
for the layerSyncRunLoopObserver to fire and commit layer changes too early.
Fix this by having the layerSyncRunLoopObserver in WebView check to see if a display is pending,
and not commit layer changes in that case. We'll commit layer changes later when we
finally draw.
2. The change in r49269 was wrong; it was attempting to fix an issue that was actually caused
by -drawRects: coming in for page snapshots. The correct approach is to avoid hitting the
synchronization and update disabling code in WebHTMLView for draws that are not to the screen.
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawRect:]):
* WebView/WebView.mm:
(layerSyncRunLoopObserverCallBack):
(-[WebView _scheduleCompositingLayerSync]):
2010-04-30 Anders Carlsson <andersca@apple.com>
Part of the previous part (forgot to save).
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView stopTimers]):
(-[WebNetscapePluginView startTimers]):
(-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
(-[WebNetscapePluginView _containerCheckResult:contextInfo:]):
(-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]):
(-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
(-[WebNetscapePluginView unscheduleTimer:]):
(-[WebNetscapePluginView getVariable:forURL:value:length:]):
(-[WebNetscapePluginView setVariable:forURL:value:length:]):
2010-04-30 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
Use C99 integer types in more places.
* Plugins/WebNetscapePluginView.mm:
(getNPRect):
2010-04-30 Anders Carlsson <andersca@apple.com>
Fix Tiger build.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::startStream):
2010-04-30 Anders Carlsson <andersca@apple.com>
Another 32-bit build fix.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2010-04-30 Anders Carlsson <andersca@apple.com>
Fix 32-bit build (again).
* Plugins/WebNetscapeContainerCheckContextInfo.h:
* Plugins/WebNetscapeContainerCheckContextInfo.mm:
(-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
(-[WebNetscapeContainerCheckContextInfo checkRequestID]):
(-[WebNetscapeContainerCheckContextInfo callback]):
* Plugins/WebNetscapePluginPackage.h:
2010-04-30 Anders Carlsson <andersca@apple.com>
Fix 32-bit build.
* Plugins/WebNetscapeContainerCheckContextInfo.h:
* Plugins/WebNetscapeContainerCheckContextInfo.mm:
(-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
* Plugins/WebNetscapeContainerCheckPrivate.h:
* Plugins/WebNetscapePluginPackage.mm:
(functionPointerForTVector):
* Plugins/WebNetscapePluginView.mm:
(PluginTimer::PluginTimer):
(-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
(-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
2010-04-30 Anders Carlsson <andersca@apple.com>
Reviewed by Timothy Hatcher.
Next step towards fixing
https://bugs.webkit.org/show_bug.cgi?id=20784
move npapi.h to C99 integer types
Use the C99 types everywhere. The "old" types are still around but will be removed
in a subsequent commit.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::deliverData):
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
(-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
* Plugins/npapi.mm:
(NPN_MemAlloc):
(NPN_MemFlush):
(NPN_PostURLNotify):
(NPN_PostURL):
(NPN_Write):
(NPN_ScheduleTimer):
(NPN_UnscheduleTimer):
(NPN_GetValueForURL):
(NPN_SetValueForURL):
(NPN_GetAuthenticationInfo):
(WKN_CheckIfAllowedToLoadURL):
(WKN_CancelCheckIfAllowedToLoadURL):
2010-04-29 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
First part of
https://bugs.webkit.org/show_bug.cgi?id=20784
move npapi.h to C99 integer types.
* MigrateHeaders.make:
2010-04-28 Mike Thole <mthole@apple.com>
Reviewed by David Kilzer.
Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space
can be inspected before attempting to authenticate against it
https://bugs.webkit.org/show_bug.cgi?id=38271
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
Added. If the resource load delegate implements the callback, use its answer. If it does
not, then only send authentication challenges for pre-10.6 protection spaces, which matches
CFNetwork's default behavior.
* WebView/WebDelegateImplementationCaching.h:
* WebView/WebDelegateImplementationCaching.mm:
(CallResourceLoadDelegateReturningBoolean): Added case for passing three objects.
* WebView/WebResourceLoadDelegatePrivate.h:
Added private SPI definition: webView:resource:canAuthenticateAgainstProtectionSpace:forDataSource:
* WebView/WebView.mm:
(-[WebView _cacheResourceLoadDelegateImplementations]):
2010-04-28 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/7918719> ASSERT(isMainThread()) from Font::setShouldUseSmoothing()
Ensure that the WebView +initialize method initializes threading, so that things are correctly
initialized when the first call into the WebKit framework is via a WebView class method.
* WebView/WebView.mm:
(+[WebView initialize]):
2010-04-28 Darin Adler <darin@apple.com>
Reviewed by Adele Peterson.
REGRESSION: Autoscroll does not work in Mail messages
https://bugs.webkit.org/show_bug.cgi?id=38267
rdar://problem/7559799
The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
view had gotten broken in multiple ways. For some reason, a combination of bugs made it
partly work until around r48064. This brings it back.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::scrollRectIntoView): When converting coordinates, use the document view
rather than the WebView itself. This logic may not be correct for the case where
usesDocumentViews is NO, but that is currently an experimental mode and can be fixed later.
2010-04-27 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Darin Adler and Eric Seidel.
Add layoutTestController.setPrinting()
https://bugs.webkit.org/show_bug.cgi?id=37203
* Misc/WebCoreStatistics.h:
* Misc/WebCoreStatistics.mm:
(-[WebFrame renderTreeAsExternalRepresentationForPrinting:]):
2010-04-25 Sam Weinig <sam@webkit.org>
Reviewed by Maciej Stachowiak.
Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
Disentangle initializing the main thread from initializing threading
Calls initializeMainThreadToProcessMainThread since there is no way to ensure
that the initialize method will be called on the main thread.
* Carbon/CarbonWindowAdapter.mm:
(+[CarbonWindowAdapter initialize]): Add call to initializeMainThreadToProcessMainThread.
* History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]): Ditto.
* History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]): Ditto.
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]): Ditto.
* Misc/WebIconDatabase.mm:
(+[WebIconDatabase initialize]): Ditto.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]): Ditto.
* Plugins/WebBaseNetscapePluginView.mm:
(+[WebBaseNetscapePluginView initialize]): Ditto.
* Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage initialize]): Ditto.
* Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]): Ditto.
* WebCoreSupport/WebEditorClient.mm:
(+[WebEditCommand initialize]): Ditto.
* WebCoreSupport/WebFrameLoaderClient.mm:
(+[WebFramePolicyListener initialize]): Ditto.
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]): Ditto.
* WebView/WebDataSource.mm:
(+[WebDataSourcePrivate initialize]): Ditto.
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]): Ditto.
(+[WebHTMLView initialize]): Ditto.
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]): Ditto.
* WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]): Ditto.
* WebView/WebView.mm:
* WebView/WebViewData.mm: Ditto.
(+[WebViewPrivate initialize]): Ditto.
2010-04-24 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7903728> REGRESSION (r51617): WebView fails to load plug-in MIME types
https://bugs.webkit.org/show_bug.cgi?id=38085
WebView was calling -_webView in a few places where it should have just used itself. It never
makes sense for WebView to call -_webView on itself, and these calls look like they were copied
from similar code in WebHTMLView, WebFrameView and WebDataSource, where -_webView has a different,
useful meaning.
* WebView/WebView.mm:
(-[WebView drawSingleRect:]): Replaced [self _webView] with self.
(-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Replaced [[self _webView] preferences]
with _private->preferences.
(-[WebView _canShowMIMEType:]): Ditto.
2010-04-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/7894489> When printing Flash, send a drawRect event, rather than NPPrint
When printing Flash plug-ins in 32-bit, send a drawRect event with a CGContextRef, rather than calling
NPPrint with a GWorldPtr, since Flash prefers the CGContext path.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView drawRect:]):
2010-04-22 David Kilzer <ddkilzer@apple.com>
<http://webkit.org/b/38029> +[WebTextIteratorPrivate initialize] is missing call to JSC::initializeThreading()
Reviewed by Timothy Hatcher.
Every other Objective-C class that calls
WebCoreObjCFinalizeOnMainThread(self) in +initialize also calls
JSC::initializeThreading(). The WebTextIteratorPrivate class
was the only one missing this call.
* WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]): Added call to
JSC::initializeThreading().
2010-04-22 Alexey Proskuryakov <ap@apple.com>
Rubber-stamped by Mark Rowe.
<rdar://problem/7805969> REGRESSION: iTunes unable to play trailers
Undo the changes made for https://bugs.webkit.org/show_bug.cgi?id=35215 (<rdar://problem/7673157>)
for now. Clients rely on the old behavior, so a fix that changes it will need to account for
those.
* WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Pass pluginURL
instead of baseURL again.
2010-04-22 Dave Moore <davemoore@chromium.org>
Reviewed by Dimitri Glazkov.
Added notification when the favicons for a page are changed
from a script.
The Document object will notify the frame loader, which will
notify the client. Implementations of FrameLoaderClient will
have to add one method; dispatchDidChangeIcons().
https://bugs.webkit.org/show_bug.cgi?id=33812
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidChangeIcons):
2010-04-22 Adam Barth <abarth@webkit.org>
Unreviewed, rolling out r58069.
http://trac.webkit.org/changeset/58069
https://bugs.webkit.org/show_bug.cgi?id=27751
Broke compile on Windows.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-04-22 Abhishek Arya <inferno@chromium.org>
Reviewed by Adam Barth.
Add support for controlling clipboard access from javascript.
Clipboard access from javascript is disabled by default.
https://bugs.webkit.org/show_bug.cgi?id=27751
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences javaScriptCanAccessClipboard]):
(-[WebPreferences setJavaScriptCanAccessClipboard:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-04-21 Alexey Proskuryakov <ap@apple.com>
Reviewed by Shinichiro Hamaji.
https://bugs.webkit.org/show_bug.cgi?id=37964
Fix a typo in comments - Korean encoding name is windows-949, not windows-939
* WebView/WebPreferences.mm: (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):
2010-04-21 Mark Rowe <mrowe@apple.com>
Tiger build fix.
* Plugins/WebPluginController.mm: Add an #import that is necessary on Tiger.
2010-04-21 Mark Rowe <mrowe@apple.com>
Reviewed by Eric Carlson.
<rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
Existing versions of the Flip4Mac WebKit plug-in have an object lifetime bug related to an NSAlert that is
used to notify the user about updates to the plug-in. This bug can result in Safari crashing if the page
containing the plug-in navigates while the alert is displayed (<rdar://problem/7313430>).
The gist of the bug is thus: Flip4Mac sets an instance of the TSUpdateCheck class as the modal delegate of the
NSAlert instance. This TSUpdateCheck instance itself has a delegate. The delegate is set to the WmvPlugin
instance which is the NSView subclass that is exposed to WebKit as the plug-in view. Since this relationship
is that of delegates the TSUpdateCheck does not retain the WmvPlugin. This leads to a bug if the WmvPlugin
instance is destroyed before the TSUpdateCheck instance as the TSUpdateCheck instance will be left with a
pointer to a stale object. This will happen if a page containing the Flip4Mac plug-in triggers a navigation
while the update sheet is visible as the WmvPlugin instance is removed from the view hierarchy and there are
no other references to keep the object alive.
We work around this bug by patching the following two messages:
1) -[NSAlert beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:]
2) -[TSUpdateCheck alertDidEnd:returnCode:contextInfo:]
Our override of 1) detects whether it is Flip4Mac's update sheet triggering the alert by checking whether the
modal delegate is an instance of TSUpdateCheck. If it is, it retains the modal delegate's delegate.
Our override of 2) then autoreleases the delegate, balancing the retain we added in 1).
These two overrides have the effect of ensuring that the WmvPlugin instance will always outlive the TSUpdateCheck
instance, preventing the TSUpdateCheck instance from accessing a stale delegate pointer and crashing the application.
* Plugins/WebPluginController.mm:
(-[WebPluginController addPlugin:]): Check whether the plug-in being instantiated is the Flip4Mac plug-in and
install our workaround if it is.
(isKindOfClass): Helper function that checks whether the given object is an instance of the named class.
(WebKit_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_): Autorelease the delegate.
(WebKit_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_): Retain the modal delegate's
delegate if this NSAlert belongs to the Flip4Mac plug-in.
(installFlip4MacPlugInWorkaroundIfNecessary): Swizzle the necessary methods. We swizzle the TSUpdateCheck methods
first since it is possible that in some versions of Flip4Mac the TSUpdateCheck class may not exist or may not have
the method we're interested in. In that case we want to bail out before patching any methods.
2010-04-20 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej Stachowiak.
<rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
An interaction between the plug-in host and WebKit was resulting in WKPCSetModal being called while
NetscapePluginInstanceProxy was waiting on a reply to the GetScriptableNPObject message. This resulted
in calls to stop the plug-in being deferred due to the presence of plug-in code up the stack. This
could lead to crashes as it was possible for the plug-in view to be deallocated during the modal runloop.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCInvalidateRect):
(WKPCSetModal): Defer the handling of setModal until the next runloop iteration if the host proxy
is already processing requests. This ensures that there will be no plug-in code on the stack when
the modal runloop is entered, which allows the plug-in to be stopped when the page is navigated while
a modal dialog is displayed.
2010-04-20 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Factor DocumentWriter out of FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=37175
Update these callsites because the method moved to DocumentWriter.
* WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]):
(-[WebFrame _receivedData:textEncodingName:]):
2010-04-20 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Change a parameter type of chooseIconForFiles()
https://bugs.webkit.org/show_bug.cgi?id=37504
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::chooseIconForFiles):
2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r57892.
http://trac.webkit.org/changeset/57892
https://bugs.webkit.org/show_bug.cgi?id=37864
Caused an assertion in Mac builds (Requested by smfr on
#webkit).
* WebView/WebFrame.mm:
(-[WebFrame _getVisibleRect:]):
* WebView/WebFrameView.mm:
(-[WebFrameView _install]):
2010-04-20 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
https://bugs.webkit.org/show_bug.cgi?id=37741
Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
* WebView/WebFrame.mm:
(-[WebFrame _getVisibleRect:]):
* WebView/WebFrameView.mm:
(-[WebFrameView _install]):
2010-04-19 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
Finish exposing extremal shrink factors WebHTMLView uses when shrinking pages to fit in the
printing width as SPI.
* WebKit.exp: Export _WebHTMLViewPrintingMinimumShrinkFactor and _WebHTMLViewPrintingMaximumShrinkFactor.
2010-04-15 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig & Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=37675
Remove casts/constructors to/from JSC::UString type from WebCore::String
WebCore's strings should not know about JSC::UString, this should be abstracted
away in the bindings. Add explicit conversion methods rather than relying on
overloaded cast operators / constructors being implicitly called.
This patch only changes the class String, once this has landed StringImpl, and
hopefully AtomicString too, should follow suit.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(identifierFromIdentifierRep):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::getPropertyNames):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame evaluateWebScript:]):
* WebView/WebScriptDebugger.mm:
(toNSURL):
* WebView/WebView.mm:
(aeDescFromJSValue):
2010-04-16 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
Expose the extremal shrink factors WebHTMLView uses when shrinking pages to fit in the
printing width as SPI.
* WebView/WebHTMLView.mm:
Replaced two macros with constants.
(-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Changed to use the constants.
(-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto.
* WebView/WebHTMLViewPrivate.h: Declared _WebHTMLViewPrintingMinimumShrinkFactor and
_WebHTMLViewPrintingMaximumShrinkFactor.
2010-04-15 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/7870651> WebDynamicScrollBarsView.h generates compile errors when included in plain Objective-C files.
* WebView/WebDynamicScrollBarsView.h:
2010-04-15 Adam Roben <aroben@apple.com>
Export WebUserContentURLPattern from WebKit
Rubber-stamped by Mark Rowe.
* WebKit.exp:
2010-04-15 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
Made consecutive calls to -[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:] work
without intermediate calls -[WebHTMLView _endPrintMode].
* WebView/WebHTMLView.mm:
(-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
2010-04-15 Adam Roben <aroben@apple.com>
Expose UserContentURLPattern as WebKit SPI
Fixes <http://webkit.org/b/37354>.
Reviewed by Tim Hatcher.
* Misc/WebUserContentURLPattern.h: Added.
* Misc/WebUserContentURLPattern.mm: Added.
(-[WebUserContentURLPattern initWithPatternString:]): Initialize
_private and then parse the passed-in string into a
UserContentURLPattern.
(-[WebUserContentURLPattern dealloc]): Release _private.
(-[WebUserContentURLPattern isValid]):
(-[WebUserContentURLPattern scheme]):
(-[WebUserContentURLPattern host]):
(-[WebUserContentURLPattern matchesSubdomains]):
Call through to UserContentURLPattern.
2010-04-13 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Separated a DOMWrapperWorld's behavior of keeping wrappers alive from
its own lifetime, so a DOMWrapperWorld's controller can throw away
its wrappers even before its refcount reaches 0.
* WebView/WebScriptWorld.h:
* WebView/WebScriptWorld.mm:
(-[WebScriptWorld unregisterWorld]): Exported this function through WebKit.
2010-04-12 Timothy Hatcher <timothy@apple.com>
SecurityOrigin needs a way to remove individual OriginAccessEntries
https://bugs.webkit.org/show_bug.cgi?id=37449
Reviewed by Dave Hyatt.
* WebView/WebView.mm:
(+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
Call SecurityOrigin::removeOriginAccessWhitelistEntry.
* WebView/WebViewPrivate.h: Added _removeOriginAccessWhitelistEntryWithSourceOrigin.
2010-04-13 Timothy Hatcher <timothy@apple.com>
Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
SecurityOrigin needs a way to remove individual OriginAccessEntries
https://bugs.webkit.org/show_bug.cgi?id=37449
Reviewed by Dave Hyatt.
* WebView/WebView.mm:
(+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _resetOriginAccessWhitelists]):
* WebView/WebViewPrivate.h:
2010-04-11 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r57468.
http://trac.webkit.org/changeset/57468
https://bugs.webkit.org/show_bug.cgi?id=37433
Broke the world... Must have applied the patch wrong
(Requested by abarth on #webkit).
* WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]):
(-[WebFrame _receivedData:textEncodingName:]):
2010-04-11 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Factor DocumentWriter out of FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=37175
Update these callsites because the method moved to DocumentWriter.
* WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]):
(-[WebFrame _receivedData:textEncodingName:]):
2010-04-10 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/7845305> Further adoption of formal protocols for delegates.
Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places.
* Misc/EmptyProtocolDefinitions.h: Removed.
* Misc/WebDownload.mm:
* WebKitPrefix.h:
2010-04-09 Jer Noble <jer.noble@apple.com>
Reviewed by Darin Adler.
Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead.
https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993>
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController windowDidLoad]):
(-[WebVideoFullscreenController setMediaElement:WebCore::]):
2010-04-09 Alexey Proskuryakov <ap@apple.com>
Reviewed by Maciej Stachowiak.
https://bugs.webkit.org/show_bug.cgi?id=24572
XMLHttpRequest.statusText returns always "OK" on Mac
* WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
2010-04-09 Eric Seidel <eric@webkit.org>
Unreviewed, rolling out r57343.
http://trac.webkit.org/changeset/57343
https://bugs.webkit.org/show_bug.cgi?id=37311
Broke Tiger compile.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController windowDidLoad]):
(-[WebVideoFullscreenController setMediaElement:WebCore::]):
2010-04-09 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7846015> REGRESSION (r57332) - Crash in [WebDynamicScrollBarsView(WebInternal) reflectScrolledClipView:] when opening the Downloads window
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView initWithCoder:]): Added. Calls super and then initializes _private.
2010-04-09 Jer Noble <jer.noble@apple.com>
Reviewed by Darin Adler.
Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead.
https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993>
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController windowDidLoad]):
(-[WebVideoFullscreenController setMediaElement:WebCore::]):
2010-04-08 Mark Rowe <mrowe@apple.com>
Reviewed by John Sullivan.
<rdar://problem/7814899> REGRESSION(r56008): iTunes crashes on quit inside -[NSScrollView dealloc]
In r56008 new instance variables were added to WebDynamicScrollBarsView, increasing its size.
This causes problems for 32-bit applications that derive from WebDynamicScrollBarsView, as the
size and layout of their subclasses is baked in at compile time. This results in instances
being allocated that are smaller than the new code expects, and may result in the new instance
variables sharing the same memory space as any instance variables that the subclass defines.
We can avoid this problem by having the class contain only a single member that acts as a pointer
to a heap-allocated structure that acts as storage for the real instance variables. This makes
us free to add instance variables in the future without risk of changing the size of the class.
To ensure that 32-bit applications that are built against this new WebDynamicScrollBarsView header
are able to run against older versions of WebKit we pad the class out to its previous size. This
results in any subclasses of WebDynamicScrollBarsView being created with a layout that is compatible
with both versions of the code.
This change could potentially break a subclass of WebDynamicScrollBarsView that directly accesses
instance variables of its superclass. However, this is a private header and no known subclasses
of WebDynamicScrollBarsView access superclass instance variables in this fashion.
* WebView/WebDynamicScrollBarsView.h:
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView initWithFrame:]):
(-[WebDynamicScrollBarsView dealloc]):
(-[WebDynamicScrollBarsView finalize]):
(-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
(-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]):
(-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
(-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
(-[WebDynamicScrollBarsView horizontalScrollingAllowed]):
(-[WebDynamicScrollBarsView verticalScrollingAllowed]):
(-[WebDynamicScrollBarsView contentViewFrame]):
(-[WebDynamicScrollBarsView tile]):
(-[WebDynamicScrollBarsView setSuppressLayout:]):
(-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
(-[WebDynamicScrollBarsView updateScrollers]):
(-[WebDynamicScrollBarsView reflectScrolledClipView:]):
(-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
(-[WebDynamicScrollBarsView allowsVerticalScrolling]):
(-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]):
(-[WebDynamicScrollBarsView horizontalScrollingMode]):
(-[WebDynamicScrollBarsView verticalScrollingMode]):
(-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
(-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
(-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
(-[WebDynamicScrollBarsView setScrollingModesLocked:]):
(-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
(-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
(-[WebDynamicScrollBarsView scrollWheel:]):
2010-04-07 David Hyatt <hyatt@apple.com>
Reviewed by Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=24300, don't expose history info via CSS
Add SPI so that layout tests can access computed style including :visited information.
* WebView/WebRenderNode.mm:
(copyRenderNode):
* WebView/WebView.mm:
(-[WebView _computedStyleIncludingVisitedInfo:forElement:]):
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:
2010-04-07 Dan Bernstein <mitz@apple.com>
Reviewed by Adele Peterson.
Refactor WebHTMLView printing code and add private methods to enter and exit printing mode.
https://bugs.webkit.org/show_bug.cgi?id=37246
* Misc/WebNSPrintOperationExtras.h: Declared -_web_availablePaperWidth and -_web_availablePaperHeight.
* Misc/WebNSPrintOperationExtras.m:
(-[NSPrintOperation _web_availablePaperWidth]): Turned -[WebHTMLView _availablePaperWidthForPrintOperation:]
into this method.
(-[NSPrintOperation _web_availablePaperHeight]): Turned -[WebHTMLView _calculatePrintHeight] into this
method.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _isInPrintMode]): Added this accessor.
(-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Added. Moved the code from -knowsPageRange: that
computes the layout widths and enters printing mode into this private method.
(-[WebHTMLView _endPrintMode]): New private method (the old -_endPrintMode has been renamed).
(-[WebHTMLView _scaleFactorForPrintOperation:]): Use -[NSPrintOperation _web_availablePaperWidth].
(-[WebHTMLView _endPrintModeAndRestoreWindowAutodisplay]): Renamed -_endPrintMode to this, changed it to call
_endPrintMode.
(-[WebHTMLView _delayedEndPrintMode:]): Updated for rename.
(-[WebHTMLView knowsPageRange:]): Use -_beginPrintModeWithPageWidth:shrintToFit:,
-[NSPrintOperation _web_availablePaperWidth], and -[NSPrintOperation _web_availablePaperHeight]. Updated for
rename.
(-[WebHTMLView beginDocument]): Updated for rename.
(-[WebHTMLView endDocument]): Ditto.
* WebView/WebHTMLViewPrivate.h: Declared new private methods -_isInPrintMode,
-_beginPrintModeWithPageWidth:shrinkToFit: and -_endPrintMode.
2010-04-07 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Yury Semikhatsky.
Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
https://bugs.webkit.org/show_bug.cgi?id=36949
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
2010-04-06 Dan Bernstein <mitz@apple.com>
Tiger build fix after r57184.
* WebView/WebHTMLViewPrivate.h:
2010-04-06 Dan Bernstein <mitz@apple.com>
Tiger build fix after r57184.
* WebView/WebHTMLViewPrivate.h:
2010-04-06 Adam Barth <abarth@webkit.org>
Unreviewed.
Speculative build fix for Tiger.
* WebView/WebHTMLViewPrivate.h:
2010-04-06 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig and Anders Carlsson.
Expose WebHTMLView’s page breaking logic as SPI.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]): Factored out of -adjustPageHeightNew:top:bottom:limit:
(-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Call -_adjustedBottomOfPageWithTop:bottom:limit:
* WebView/WebHTMLViewPrivate.h: Declared -_adjustedBottomOfPageWithTop:bottom:limit:
2010-04-06 Mark Rowe <mrowe@apple.com>
Add an #if in order to make Tiger happy.
* WebView/WebViewData.mm:
(-[WebViewPrivate init]):
2010-04-06 Mark Rowe <mrowe@apple.com>
Build fix.
* WebView/WebViewData.mm:
(-[WebViewPrivate init]): Use objc_collectingEnabled like we do elsewhere in WebKit.
2010-04-05 Mark Rowe <mrowe@apple.com>
Reviewed by Adele Peterson.
Test case for <http://webkit.org/b/37115> / <rdar://problem/7829331>.
REGRESSION(r56989): Crash in Mail in WebCore::Position::isCandidate when deleting block using block deletion UI
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateFontPanel]): Ask the window whether it is the key window rather than doing the comparison
manually. This allows DumpRenderTree's override of isKeyWindow to force this code path to be taken during tests.
2010-04-05 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=37111
<rdar://problem/7790327> Draw replacement text when plug-in host crashes
* Plugins/Hosted/WebHostedNetscapePluginView.h: Removed _pluginDied - it was only used
for drawing replacement icon, and this information is now in WebCore.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView pluginHostDied]): Tell RenderEmbeddedObject that the plug-in
has crashed.
(-[WebHostedNetscapePluginView drawRect:]): Removed the case for crashed plug-in host. It is
handled by WebCore now.
* WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory crashedPluginText]): Added a string
for plug-in failure.
2010-04-03 yael aharon <yael.aharon@nokia.com>
Reviewed by Darin Adler.
Enable HTMLProgressElement for Safari on OSX
https://bugs.webkit.org/show_bug.cgi?id=36961
* Configurations/FeatureDefines.xcconfig:
2010-04-02 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
https://bugs.webkit.org/show_bug.cgi?id=36624
Add an INIT macro for the WebKitSystemInterface function wkQTMovieSelectPreferredAlternates.
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
2010-04-02 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=37043
Java regression tests spam stderr about being unable to set status message
With this change, there is still spam about "Attempt to access JavaScript from destroyed
applet, type 9." I haven't investigated if that indicates a problem or not.
* Plugins/WebPluginController.mm: (-[WebPluginController webPlugInContainerShowStatus:]):
Removed check for _documentView. We don't seem to care.
2010-04-01 Kinuko Yasuda <kinuko@chromium.org>
Reviewed by Dmitry Titov.
Add FileThread for async file operation support in FileReader and FileWriter
https://bugs.webkit.org/show_bug.cgi?id=36896
Add FILE_READER or FILE_WRITER feature defines.
* Configurations/FeatureDefines.xcconfig:
2010-04-01 Ada Chan <adachan@apple.com>
Reviewed by Darin Adler.
Change WebDatabaseManager::deleteOrigin() to return true if there are no errors in deleting the origin.
Ditto for WebDatabaseManager::deleteDatabase().
https://bugs.webkit.org/show_bug.cgi?id=36988
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager deleteOrigin:]):
(-[WebDatabaseManager deleteDatabase:withOrigin:]):
* Storage/WebDatabaseManagerPrivate.h:
2010-04-01 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=36976
<rdar://problem/7817498>
REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): The HashTable assertions aren't
there to catch potential future attempts to store empty/deleted values before these happen -
it's actually wrong to try to look up these values. Added an early return.
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Ditto.
2010-04-01 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Added layerTreeAsText function to DRT (for Mac)
https://bugs.webkit.org/show_bug.cgi?id=36782
This is the WebKit side for Mac. It plumbs the
call from WebCore to DRT.
* WebView/WebFrame.mm:WebKit (Mac) side of plumbing
(-[WebFrame _layerTreeAsText]):
* WebView/WebFramePrivate.h:
2010-04-01 Alexey Proskuryakov <ap@apple.com>
Reviewed by Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=36976
<rdar://problem/7817498>
REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): Use find() instead of get(),
because the latter fails with an assertion when looking up 0 or -1.
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Be prepared for unexpected
object IDs coming from plug-in host.
2010-03-31 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
https://bugs.webkit.org/show_bug.cgi?id=36845
Provide a way through WebKit to set an accessible label that describes the web area.
* WebView/WebFrame.mm:
(-[WebFrame setAccessibleName:]):
* WebView/WebFramePrivate.h:
2010-03-31 Marcus Bulach <bulach@chromium.org>
Reviewed by Jeremy Orlow.
Adds Geolocation param for cancelGeolocationPermissionRequestForFrame.
https://bugs.webkit.org/show_bug.cgi?id=35031
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::cancelGeolocationPermissionRequestForFrame):
2010-03-30 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=36866
Move CString to WTF
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::getCookies):
(WebKit::NetscapePluginInstanceProxy::getProxy):
(WebKit::NetscapePluginInstanceProxy::getAuthenticationInfo):
(WebKit::NetscapePluginInstanceProxy::resolveURL):
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView resolveURL:forTarget:]):
2010-03-30 John Sullivan <sullivan@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=36848
<rdar://problem/7362913>
Menu items appropriate only for rich-content editing can appear in plain-text contexts
* WebView/WebHTMLView.mm:
(-[WebHTMLView validRequestorForSendType:returnType:]):
Don't return self for non-string content if _canEditRichly is false.
2010-03-29 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=36791
Add assertions for instance proxy validity
Add some assertions that the instance proxy hasn't been deleted. We sometimes keep a raw
pointer to one across complicated function calls, relying on the caller to protect the
reference.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::renderContextID):
(WebKit::NetscapePluginInstanceProxy::pluginView):
(WebKit::NetscapePluginInstanceProxy::hostProxy):
2010-03-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by David Kilzer.
Explicit guards for ENABLE_GEOLOCATION
https://bugs.webkit.org/show_bug.cgi?id=25756
* WebCoreSupport/WebGeolocationMock.mm:
(-[WebGeolocationMock setError:code:]): Make the body conditional on
ENABLE(GEOLOCATION)
(-[WebGeolocationMock setPosition:]): Ditto.
2010-03-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Antti Koivisto.
Change method name due to it dealing with both flattening
of frame sets and inner frames.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences isFrameFlatteningEnabled]):
(-[WebPreferences setFrameFlatteningEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-03-27 Darin Adler <darin@apple.com>
* Misc/WebNSFileManagerExtras.m:
(-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]):
Removed stray "!". How did that get in there?
2010-03-27 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
WebKit NSFileManager methods don't handle broken symlinks correctly.
Part of <rdar://problem/7574046>.
* Misc/WebNSFileManagerExtras.h: Removed unused defines and methods.
* Misc/WebNSFileManagerExtras.m: Removed unused methods.
(fileExists): Added. For use instead of fileExistsAtPath: for cases where we'd like
to treat a broken symlink as a file that does indeed exist.
(-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]): Use fileExists.
2010-03-25 Alexey Proskuryakov <ap@apple.com>
Reviewed by Mark Rowe.
* Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): Re-fetch host proxy in
a way that works in a function that doesn't have a pluginID argument for some reason.
2010-03-25 Simon Fraser <simon.fraser@apple.com>
Build fix: no review.
Another c_str() -> data().
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::enumerate):
2010-03-25 Alexey Proskuryakov <ap@apple.com>
Reviewed by Mark Rowe.
Correctness fix after r56493.
* Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): We still need to update
our hostProxy reference, even though we didn't use to have instanceProxy. Nothing guarantees
that the host proxy won't go away while the open panel is up.
2010-03-24 Mark Rowe <mrowe@apple.com>
Build fix after r56474.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCRunSyncOpenPanel):
2010-03-24 Alexey Proskuryakov <ap@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=36563
A plug-in makes Safari crash on http://www.itscodingtime.com/
* Plugins/Hosted/NetscapePluginHostProxy.h:
(WebKit::NetscapePluginHostProxy::port): Assert that the object is still alive. This isn't
beautifully systemic, but helped catch a bug, and may help catch more.
(WebKit::NetscapePluginHostProxy::clientPort): Ditto.
(WebKit::NetscapePluginHostProxy::isProcessingRequests): Changed m_processingRequests to a
static. This doesn't change behavior much, but helps avoid writing into deallocated memory.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): Changed m_processingRequests
to a static.
(WebKit::NetscapePluginHostProxy::processRequests): Ditto. Changing m_processingRequests
after destroying the object in pluginHostDied() was wrong, but reasonably harmless, as there
wasn't much time for some other object to be allocated at this address.
(WKPCEvaluate): Refetch host proxy, as it may have been destroyed.
(WKPCInvoke): Ditto.
(WKPCInvokeDefault): Ditto.
(WKPCGetProperty): Ditto.
(WKPCSetProperty): Ditto.
(WKPCRemoveProperty): Ditto.
(WKPCHasProperty): Ditto.
(WKPCHasMethod): Ditto.
(WKPCEnumerate): Ditto.
(WKPCRunSyncOpenPanel): Ditto.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply): Bail out of the
"event loop" if host proxy went away while processing a request.
2010-03-24 Hayato Ito <hayato@chromium.org>
Reviewed by Shinichiro Hamaji.
Refactor computePageRects so that Mac can make use of it.
https://bugs.webkit.org/show_bug.cgi?id=36159
Refactoring only, so no new tests.
* WebView/WebFrame.mm:
(-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
2010-03-24 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Make Icon::createIconForFiles() optional.
https://bugs.webkit.org/show_bug.cgi?id=35072
- Rename iconForFiles() to chooseIconForFiles().
- Call Icon::createIconForFiles() from chooseIconForFiles().
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::chooseIconForFiles):
2010-03-23 Dan Bernstein <mitz@apple.com>
Reverted accidental change from r56429.
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::getCustomMenuFromDefaultItems):
2010-03-23 Dan Bernstein <mitz@apple.com>
Reviewed by John Sullivan.
WebKit part of
<rdar://problem/7197736> Plug-in clip rect does not update when overflow
clip changes
https://bugs.webkit.org/show_bug.cgi?id=36479.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView visibleRectDidChange]): Added. Calls
WKSyncSurfaceToView().
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView _windowClipRect]): Changed to use Widget::windowClipRect().
(-[WebBaseNetscapePluginView visibleRectDidChange]): Added. Invokes -renewGState.
2010-03-22 Kevin Decker <kdecker@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=36328
This patch entirely WebNullPluginView.
* Plugins/WebNetscapePluginView.mm:
* Plugins/WebNullPluginView.h: Removed.
* Plugins/WebNullPluginView.mm: Removed.
* Resources/nullplugin.tiff: Removed.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin): Invoke the resource load delegate if the plug-in failed to load.
2010-03-22 Alexey Proskuryakov <ap@apple.com>
Reviewed by John Sullivan.
https://bugs.webkit.org/show_bug.cgi?id=36455
Make WebKit more resistant against plug-in crashes
No tests, because crashing on build bots isn't good, even if it's only helper processes
that crash.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::waitForReply): Protect "this", because this function
needs it after waiting for reply. Some callers used to do this, but not all, and we really
shouldn't depend on callers here.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::wheelEvent): Don't protect the plug-in instance proxy,
because this function doesn't use it after waiting for reply.
(WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Ditto.
* Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invoke): Added an m_instanceProxy
null check for another code path.
2010-03-22 Kevin Decker <kdecker@apple.com>
Reviewed by John Sullivan.
https://bugs.webkit.org/show_bug.cgi?id=36328
* WebCoreSupport/WebViewFactory.mm:
(-[WebViewFactory missingPluginText]): Added.
2010-03-18 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=36337
Log an error when an OOP plug-in sends an unknown object id
Making these LOG_ERROR and not ASSERTs, because I don't want early returns to look
temporary or redundant.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
2010-03-16 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=36184
YouTube video resizing doesn't work with OOP plug-ins
Test: plugins/resize-from-plugin.html
We were calling _WKPHResizePluginInstance synchronously or asynchronously, depending on
whether the size has changed. But sync and async messages are not necessarily delivered in
order - plug-in host listens only to the former while waiting for a response to a message it
sent (a call to invoke() in this case).
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::resize):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView updateAndSetWindow]):
2010-03-16 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost.
Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
https://bugs.webkit.org/show_bug.cgi?id=35036
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::inspectorDestroyed):
(WebInspectorClient::openInspectorFrontend):
(WebInspectorClient::highlight):
(WebInspectorClient::hideHighlight):
(WebInspectorFrontendClient::WebInspectorFrontendClient):
(WebInspectorFrontendClient::frontendLoaded):
(WebInspectorFrontendClient::localizedStringsURL):
(WebInspectorFrontendClient::hiddenPanels):
(WebInspectorFrontendClient::bringToFront):
(WebInspectorFrontendClient::closeWindow):
(WebInspectorFrontendClient::attachWindow):
(WebInspectorFrontendClient::detachWindow):
(WebInspectorFrontendClient::setAttachedWindowHeight):
(WebInspectorFrontendClient::inspectedURLChanged):
(WebInspectorFrontendClient::updateWindowTitle):
(-[WebInspectorWindowController dealloc]):
(-[WebInspectorWindowController windowShouldClose:]):
(-[WebInspectorWindowController close]):
(-[WebInspectorWindowController showWindow:]):
(-[WebInspectorWindowController attach]):
(-[WebInspectorWindowController detach]):
(-[WebInspectorWindowController attached]):
(-[WebInspectorWindowController setFrontendClient:]):
(-[WebInspectorWindowController destroyInspectorView]):
(-[WebNodeHighlighter initWithInspectedWebView:]):
(-[WebNodeHighlighter dealloc]):
(-[WebNodeHighlighter highlightNode:]):
(-[WebNodeHighlighter hideHighlight]):
(-[WebNodeHighlighter didAttachWebNodeHighlight:]):
(-[WebNodeHighlighter willDetachWebNodeHighlight:]):
* WebInspector/WebInspector.mm:
(-[WebInspector attach:]):
(-[WebInspector detach:]):
2010-03-15 Andy Estes <aestes@apple.com>
Reviewed by John Sullivan.
Updated call to WKGetWheelEventDeltas() to match new method signature.
https://bugs.webkit.org/show_bug.cgi?id=29601
<rdar://problem/7453254>
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView scrollWheel:]):
2010-03-15 John Sullivan <sullivan@apple.com>
Reviewed by Adam Roben.
-[WebFrame setAlwaysHideHorizontal/VerticalScroller:] prevents keyboard scrolling
<https://bugs.webkit.org/show_bug.cgi?id=36125>
* WebView/WebDynamicScrollBarsView.h:
Added instance variables horizontalScrollingAllowedButScrollerHidden and
verticalScrollingAllowedButScrollerHidden. Renamed instance variables
hideHorizontal/VerticalScroller to alwaysHideHorizontal/VerticalScroller for clarity.
Declared methods -horizontalScrollingAllowed and -verticalScrollingAllowed.
Added comments.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
Updated for instance variable renaming.
(-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
Ditto.
(-[WebDynamicScrollBarsView horizontalScrollingAllowed]):
New method, returns YES if the scroller is showing or the only reason that the scroller
is not showing is that setAlwaysHideHorizontalScrolling has been called.
(-[WebDynamicScrollBarsView verticalScrollingAllowed]):
New method, returns YES if the scroller is showing or the only reason that the scroller
is not showing is that setAlwaysHideVerticalScrolling has been called.
(-[WebDynamicScrollBarsView updateScrollers]):
Updated for instance variable renamings. Now updates horizontalScrollingAllowedButScrollerHidden
and verticalScrollingAllowedButScrollerHidden. Now takes the always-hidden state into account
in the early-return code path, to avoid taking it into account twice in the regular code path.
* WebView/WebFrameView.mm:
(-[WebFrameView _scrollToBeginningOfDocument]):
Use _isScrollable instead of _hasScrollBars.
(-[WebFrameView _scrollToEndOfDocument]):
Ditto.
(-[WebFrameView scrollToBeginningOfDocument:]):
Use _largestScrollableChild instead of _largestChildWithScrollBars.
(-[WebFrameView scrollToEndOfDocument:]):
Ditto.
(-[WebFrameView _pageVertically:]):
Use _isScrollable and _largestScrollableChild instead of _hasScrollBars
and _largestChildWithScrollBars.
(-[WebFrameView _pageHorizontally:]):
Ditto.
(-[WebFrameView _scrollLineVertically:]):
Ditto.
(-[WebFrameView _scrollLineHorizontally:]):
Ditto.
(-[WebFrameView keyDown:]):
Use _largestScrollableChild instead of _largestChildWithScrollBars.
(-[WebFrameView _isScrollable]):
New method, calls -[WebDynamicScrollBarsView horizontalScrollingAllowed] and
-[WebDynamicScrollBarsView verticalScrollingAllowed]
(-[WebFrameView _largestScrollableChild]):
New method, like _largestChildWithScrollBars but uses _isScrollable.
(-[WebFrameView _hasScrollBars]):
Added a comment that this is no longer used by Safari, and can thus probably be
deleted once we no longer want to support it for nightly build compatibility with
old versions of Safari.
(-[WebFrameView _largestChildWithScrollBars]):
Ditto.
* WebView/WebFrameViewPrivate.h:
Declared -_isScrollable and -_largestScrollableChild. Added comments to
_hasScrollBars and _largestChildWithScrollBars saying that they are no longer
used by Safari, and can thus probably be deleted once we no longer want to
support them for nightly build compatibility with old versions of Safari.
2010-03-15 John Sullivan <sullivan@apple.com>
Method name and parameter name mistakes from recent SPI addition
<https://bugs.webkit.org/show_bug.cgi?id=36119>
Reviewed by Dan Bernstein.
* WebView/WebDynamicScrollBarsView.h:
Renamed instance variable and method name from "setAllowXXX" to "setAllowsXXX".
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]):
Updated for renamed instance variable and method.
(-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
Changed parameter name from shouldBeVisible to shouldBeHidden.
(-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
Ditto.
(-[WebDynamicScrollBarsView contentViewFrame]):
Updated for renamed instance variable.
(-[WebDynamicScrollBarsView tile]):
Ditto.
(-[WebDynamicScrollBarsView reflectScrolledClipView:]):
Ditto.
* WebView/WebFrame.mm:
(-[WebFrame setAllowsScrollersToOverlapContent:]):
Renamed method from setAllowXXX, and updated for same change in WebDynamicScrollBarsView.
* WebView/WebFramePrivate.h:
Renamed method name from "setAllowXXX" to "setAllowsXXX".
2010-03-14 Darin Adler <darin@apple.com>
Reviewed by Mark Rowe.
Remove unneeded dependency on non-string identifier for an NSTableColumn
https://bugs.webkit.org/show_bug.cgi?id=36106
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController _buildUI]): Use init instead of initWithIdentifier:
because the table has only one column and that column does not need an identifier.
2010-03-12 Beth Dakin <bdakin@apple.com>
Reviewed by Simon Fraser.
Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen
API naming is inconsistent
-and corresponding-
<rdar://problem/7729165>
This patch changes all occurrences of "fullScreen" to the more
popular "fullscreen."
* Plugins/Hosted/NetscapePluginHostProxy.h:
(WebKit::NetscapePluginHostProxy::isFullscreenWindowShowing):
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
(WebKit::NetscapePluginHostProxy::didEnterFullscreen):
(WebKit::NetscapePluginHostProxy::didExitFullscreen):
(WebKit::NetscapePluginHostProxy::setFullscreenWindowIsShowing):
(WKPCSetFullscreenWindowIsShowing):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView _workaroundSilverlightFullscreenBug:]):
(-[WebNetscapePluginView _createPlugin]):
(-[WebNetscapePluginView _destroyPlugin]):
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController windowDidLoad]):
2010-03-12 Andy Estes <aestes@apple.com>
Reviewed by Brady Eidson.
Expose WebPDFView's underlying PDFDocument.
https://bugs.webkit.org/show_bug.cgi?id=36045
* WebView/WebDocumentPrivate.h: Create a new protocol called
WebDocumentPDF.
* WebView/WebPDFView.h: Have WebPDFView implement said protocol.
* WebView/WebPDFView.mm:
(-[WebPDFView PDFDocument]): Expose WebPDFView's underlying
PDFDocument by implementing -(PDFDocument*)PDFDocument from
WebDocumentPDF.
2010-03-12 Andy Estes <aestes@apple.com>
Reviewed by Brady Eidson.
Remove an unused method.
https://bugs.webkit.org/show_bug.cgi?id=35940
* Plugins/WebPluginController.mm:
removed - (void)showURL:(NSURL *) inFrame:(NSString *)
2010-03-11 Mark Rowe <mrowe@apple.com>
Reviewed by David Kilzer.
<rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
* Configurations/Base.xcconfig:
2010-03-11 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
<rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the
current Mac OS X version unless otherwise specified.
Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
may not be usable when targetting a different Mac OS X version.
Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/FeatureDefines.xcconfig:
* Configurations/Version.xcconfig:
2010-03-11 Anders Carlsson <andersca@apple.com>
Reviewed by David Hyatt.
Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
2010-03-11 Alexey Proskuryakov <ap@apple.com>
Reviewed by Geoff Garen.
https://bugs.webkit.org/show_bug.cgi?id=35965
<rdar://problem/7742771> Crash when passing an object returned from plug-in back to the plug-in
Test: plugins/round-trip-npobject.html
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::retainLocalObject): Corrected the check - there is
now a separate ProxyRuntimeObject class for proxy pbjects.
(WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto.
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::invoke): Check if m_instanceProxy is still non-zero. The plug-in
could have crashed while we were waiting for response.
(WebKit::ProxyInstance::setFieldValue): Ditto.
2010-03-10 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=35975
<rdar://problem/7739922> Flash 10.1b crashes when generating snapshots
Do a version check before sending a drawRect event to a Flash plugin,
since 10.1.d51 has a bug that crashes when called this way.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView drawRect:]):
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView supportsSnapshotting]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView drawRect:]):
2010-03-10 John Sullivan <sullivan@apple.com>
Reviewed by Tim Hatcher.
<rdar://problem/7735387> input type other than text won't work with autofill
<https://bugs.webkit.org/show_bug.cgi?id=35963>
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation elementDoesAutoComplete:]):
Return true for any text field that's not a password, rather than only
for TEXT type.
2010-03-09 Brady Eidson <beidson@apple.com>
Reviewed by Tim Hatcher.
REGRESSION: WebInspector docking busted on Windows
<rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController showWindow:]): Use the InspectorController:: copy of the should attach settings key.
(-[WebInspectorWindowController attach]): Ditto.
(-[WebInspectorWindowController detach]): Ditto.
2010-03-09 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
Updated for FastMalloc reporting changes.
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics memoryStatistics]):
2010-03-08 Simon Fraser <simon.fraser@apple.com>
Reviewed by Mark Rowe.
Move the new method to the end of the MIG definitions file, to avoid breaking
compatibility between WebKit and older versions of WebKitPluginHost.
* Plugins/Hosted/WebKitPluginHost.defs:
2010-03-08 Simon Fraser <simon.fraser@apple.com>
Reviewed by Kevin Decker.
<rdar://problem/7714340> Need to grab image snapshot of Core Animation plugins
Allow plug-ins using the Core Animation drawing model to be captured when doing a flattening paint,
by sending them a drawRect event as if they were software-painting.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::snapshot):
New snapshot() method that calls over to the plugin host, and then draws the image that comes back.
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView drawRect:]): If we don't have a software renderer, but we're doing
a flattening paint, then call the snapshot method.
* Plugins/Hosted/WebKitPluginHost.defs: Added snapshot method.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView inFlatteningPaint]):
New utility method that asks the FrameView whether the current paint behavior is
flattening.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView drawRect:]): If the plug-in is using CA but this is a flattening
paint, go ahead and send a drawRect event to the plug-in.
2010-03-08 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Fix crash when you quit inside an unload handler.
rdar://problem/6958347
Test: manual-tests/quit-inside-unload.html
* WebView/WebView.mm:
(-[WebView _closeWithFastTeardown]): Removed code to set
_private->closed since _close now does this earlier, before
calling this method.
(-[WebView _close]): Moved code to set _private->closed to the
top of this method.
(-[WebView setHostWindow:]): Rewrote the code that forbade
setting the host window after closing so that it only forbids
non-nil host windows. That way, the code to clear away the host
window can run safely after setting _private->closed, yet client
code cannot set a new host window after closing.
2010-03-08 Darin Adler <darin@apple.com>
Roll out a file I checked in by accident.
* WebView/WebView.mm: Back to previous version.
2010-03-08 Chris Marrin <cmarrin@apple.com>
Reviewed by Darin Adler.
Turn on HW accel on Leopard even if coreVideoHas7228836Fix() is false, when WebGL is enabled
https://bugs.webkit.org/show_bug.cgi?id=35759
This allows WebGL to work on Leopard without the fix. It exposes these users to the crash
that happens because of the CoreVideo bug, but it limits the exposure to those who have
chosen to enable WebGL.
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-03-02 Adam Treat <atreat@rim.com>
Reviewed by Dave Hyatt.
Adapt the mac port to the refactoring of repaint methods.
https://bugs.webkit.org/show_bug.cgi?id=34214
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::invalidateContents):
(WebChromeClient::invalidateWindow):
(WebChromeClient::invalidateContentsAndWindow):
(WebChromeClient::invalidateContentsForSlowScroll):
2010-03-08 Jian Li <jianli@chromium.org>
Reviewed by Dmitry Titov.
Blob.slice support.
https://bugs.webkit.org/show_bug.cgi?id=32993
Add ENABLE_BLOB_SLICE feature define.
* Configurations/FeatureDefines.xcconfig:
2010-03-08 Eric Uhrhane <ericu@chromium.org>
Reviewed by David Levin.
Remove the now-redundant Settings fields for the Database
https://bugs.webkit.org/show_bug.cgi?id=35763
No new tests; this code isn't called.
* WebView/WebView.mm: Remove the call into Settings.
(-[WebView _preferencesChangedNotification:]):
2010-03-07 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Cameron Zwarich.
Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
* Misc/WebIconDatabase.mm:
2010-03-07 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Cameron Zwarich.
Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
* Misc/WebNSPasteboardExtras.mm:
2010-03-04 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h
* MigrateHeaders.make: Migrate DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h.
2010-03-04 Mark Rowe <mrowe@apple.com>
Reviewed by Sam Weinig.
Use a framework-style include to pull in WebInspector.h for consistency
with other parts of WebKit.
* WebInspector/WebInspectorPrivate.h:
2010-03-04 Brady Eidson <beidson@apple.com>
Reviewed by Geoff Garen.
REGRESSION (31281): -[WebArchive initWithCoder:] leaks
<rdar://problem/7702420> and https://bugs.webkit.org/show_bug.cgi?id=35534
* WebView/WebArchive.mm:
(-[WebArchive initWithCoder:]): Don't retain objects we don't own.
2010-03-03 Alexey Proskuryakov <ap@apple.com>
Reviewed by Timothy Hatcher.
https://bugs.webkit.org/show_bug.cgi?id=35692
<rdar://problem/7703622> Crash when calling abort() on an XHR while in a windowless WebView
* Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
Retain the challenge, just like it's done for sheet.
2010-03-02 Eric Uhrhane <ericu@chromium.org>
Reviewed by David Levin.
Move database enable bit fully out of settings
This is stage one of a three-stage commit [webkit, then chromium, then
webkit again]. In this change I'm adding calls to
Database::setIsAvailable inside Settings::setDatabaseEnabled and
anywhere else that called it, and switching webkit fully over to using
that flag [added in a previous checkin]. Phase two will remove
Chromium's use of Settings for the Database, and phase three will remove
the Setting for the Database enable entirely, leaving only
Database::isAvailable/setIsAvailable.
No new tests; tested by existing storage tests.
https://bugs.webkit.org/show_bug.cgi?id=35310
* WebView/WebView.mm: Added a call to Database::setIsAvailable.
(-[WebView _preferencesChangedNotification:]):
2010-03-02 Adam Roben <aroben@apple.com>
Add -[WebView _registerURLSchemeAsSecure:]
Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose
SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI
Reviewed by Tim Hatcher.
* WebView/WebView.mm:
(+[WebView _registerURLSchemeAsSecure:]):
* WebView/WebViewPrivate.h:
Added. Calls through to SecurityOrigin::registerURLSchemeAsSecure.
2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
Reviewed by Adam Barth.
Adapt to the new ZoomMode enum.
https://bugs.webkit.org/show_bug.cgi?id=35347
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
(-[WebView _setZoomMultiplier:isTextOnly:]):
(-[WebView _realZoomMultiplierIsTextOnly]):
2010-02-27 Jing Jin <jjin@apple.com>
Reviewed by Timothy Hatcher.
Move implementation of Bug 35449 into WebFramePrivate.
* WebView/WebFrame.h:
* WebView/WebFrame.mm:
(-[WebFrame setAllowScrollersToOverlapContent:]):
(-[WebFrame setAlwaysHideHorizontalScroller:]):
(-[WebFrame setAlwaysHideVerticalScroller:]):
* WebView/WebFramePrivate.h:
2010-02-26 Jing Jin <jjin@apple.com>
Reviewed by Timothy Hatcher.
https://bugs.webkit.org/show_bug.cgi?id=35449
Add ability to hide WebFrame scrollbars and to allow scrollbars to overlap with content.
* WebView/WebDynamicScrollBarsView.h:
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]): Allows scrollbars to
overlap with the document and re-layouts the document.
(-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]): Hides the horizontal scrollbar.
(-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]): Hides the vertical scrollbar.
(-[WebDynamicScrollBarsView contentViewFrame]): Calculates the appropriate frame based
on allowScrollersToOverlapContent.
(-[WebDynamicScrollBarsView tile]): If allowScrollersToOverlapContent is YES, set the
contentView's frame so it overlaps with the scrollbar.
(-[WebDynamicScrollBarsView updateScrollers]): Take into account hideHorizontalScroller
and hideVerticalScroller.
(-[WebDynamicScrollBarsView reflectScrolledClipView:]): set drawsBackground to NO when
scrollbars are overlapping with content, so we don't get trails during scrollbar draw updates.
* WebView/WebDynamicScrollBarsViewInternal.h:
* WebView/WebFrame.h:
* WebView/WebFrame.mm:
(-[WebFrame setAllowScrollersToOverlapContent:]): Hook for [WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]
(-[WebFrame setAlwaysHideHorizontalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]
(-[WebFrame setAlwaysHideVerticalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]
2010-02-26 Gavin Barraclough <barraclough@apple.com>
Reviewed by Alexey Proskuryakov.
Bug 35401 - Fix handling of errors in handling calls over bridge,
where base object bridge-type does not match method bridge-type.
The code assumes users will only attempt to invoke a Java method
on a Java base object, etc.
Add language specific subclasses of RuntimeMethod, and pass the
RuntimeMethod into invokeMethod, so we can typecheck before
casting. Throw an exception on type mismatch.
* Plugins/Hosted/ProxyInstance.h:
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::PluginRuntimeMethod::PluginRuntimeMethod): new class to distinguish this type of RuntimeMethod.
(WebKit::ProxyInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
(WebKit::ProxyInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
2010-02-25 Alexey Proskuryakov <ap@apple.com>
Reviewed by Geoffrey Garen.
https://bugs.webkit.org/show_bug.cgi?id=35394
<rdar://problem/7685262> Make passing objects between Java and plug-ins work
Added a ProxyInstance implementation of RuntimeObject.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
* Plugins/Hosted/ProxyInstance.h:
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::newRuntimeObject):
(WebKit::ProxyInstance::getClass):
* Plugins/Hosted/ProxyRuntimeObject.h: Added.
(WebKit::ProxyRuntimeObject::classInfo):
* Plugins/Hosted/ProxyRuntimeObject.mm: Added.
(WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
(WebKit::ProxyRuntimeObject::~ProxyRuntimeObject):
(WebKit::ProxyRuntimeObject::getInternalProxyInstance):
2010-02-24 Adam Barth <abarth@webkit.org>
Reviewed by Darin Fisher.
[Chromium API] Disambiguate allowJavaScript from didNotAllowScript
https://bugs.webkit.org/show_bug.cgi?id=35205
Make these two callsites explicit about not running script immediately.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
2010-02-23 Brady Eidson <beidson@apple.com>
Reviewed by Tim Hatcher and Pavel Feldman.
Regression (r55107) - WebInspector docking is busted.
https://bugs.webkit.org/show_bug.cgi?id=35274
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController showWindow:]): Swap the order of the "should attach?" check
to get the expected behavior.
2010-02-23 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7611158> Incomplete repaint of YouTube timeline thumb while scrolling
https://bugs.webkit.org/show_bug.cgi?id=34381
Test: fast/repaint/repaint-during-scroll.html
NSClipView offsets any rects marked as needing display during scrolling
by the scroll offset. Compensate for this when -setNeedsDisplay: is called
during scrolling.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _frameOrBoundsChanged]): Set inScrollPositionChanged to YES
around to call to FrameView::scrollPositionChanged().
(-[WebHTMLView setNeedsDisplayInRect:]): When called beneath
scrollPositionChanged(), adjust the rect by the inverse of the scroll offset.
2010-02-23 Steve Block <steveblock@google.com>
Reviewed by Darin Adler.
Adds ChromeClient::cancelGeolocationPermissionRequestForFrame
https://bugs.webkit.org/show_bug.cgi?id=34962
This method is required so that a Geolocation object can cancel an
asynchronous permission request. This allows the chrome client to cancel
any UI it is showing for the permission request.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::cancelGeolocationPermissionRequestForFrame):
2010-02-22 Alexey Proskuryakov <ap@apple.com>
Rubber-stamped by Geoff Garen.
Rename RuntimeObjectImp to RuntimeObject.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::retainLocalObject):
(WebKit::NetscapePluginInstanceProxy::releaseLocalObject):
2010-02-22 Brady Eidson <beidson@apple.com>
Reviewed by Tim Hatcher.
Disable WebView docking to views that are too small.
<rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController showWindow:]): No matter the preference, don't open the inspector
window attached if WebCore says it shouldn't be attached.
2010-02-22 Simon Fraser <simon.fraser@apple.com>
Reviewed by John Sullivan.
<rdar://problem/7285392>
On Leopard, we have to disable hardware acceleration if we detect that the
installed Core Video framework has bug <rdar://problem/7228836>.
* WebView/WebView.mm:
(coreVideoHas7228836Fix):
(-[WebView _preferencesChangedNotification:]):
2010-02-21 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
False warnings about needing layout in
-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
https://bugs.webkit.org/show_bug.cgi?id=35218
* WebView/WebHTMLView.mm:
(-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
Suppress the warning and the forced layout if the view is not being drawn
in this display operation.
2010-02-21 Kevin Decker <kdecker@apple.com>
Reviewed by Sam Weinig.
plugInViewWithArguments: API sends wrong parameter for WebPlugInBaseURLKey
https://bugs.webkit.org/show_bug.cgi?id=35215
<rdar://problem/7673157>
The plugInViewWithArguments: API passes a dictionary of plugin arguments. One of the parameters
is WebPlugInBaseURLKey, which is a key that represents the base URL of the document containing
the plug-in's view. Instead of sending the base URL, code in WebFrameLoaderClient::createPlugin
would incorrectly pass the source URL of the plug-in resource.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin): When building the plug-in arguments dictionary, pass the
real base URL for the WebPlugInBaseURLKey key.
2010-02-19 Maciej Stachowiak <mjs@apple.com>
Reviewed by David Levin.
Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
https://bugs.webkit.org/show_bug.cgi?id=35147
* Configurations/FeatureDefines.xcconfig:
2010-02-19 Alexey Proskuryakov <ap@apple.com>
Reviewed by Maciej Stachowiak.
https://bugs.webkit.org/show_bug.cgi?id=35132
<rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)
* Plugins/WebNetscapePluginEventHandlerCarbon.mm:
(WebNetscapePluginEventHandlerCarbon::mouseMoved): Send adjustCursor events on every mouse
move. This matches Firefox, and is actually required for plug-ins to manipulate cursor wihout
resorting to techniques such as fast firing timers.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView handleMouseEntered:]): Some plug-ins handle mouse cursor internally,
but those that don't just need to get an arrow cursor (matching Firefox). This means that
e.g. a plugin inside <A> won't get a finger mouse pointer.
* Plugins/WebHostedNetscapePluginView.mm:
(-[WebNetscapePluginView handleMouseEntered:]):
(-[WebNetscapePluginView handleMouseExited:]):
Implement this behavior here, too. Also, out of process code didn't reset mouse pointer on
mouse exit, which it needed to do.
* WebView/WebHTMLView.mm:
(needsCursorRectsSupportAtPoint):
(setCursor):
(resetCursorRects):
Make sure that the same workaround we have for Web content also applies to Netscape plug-ins,
as AppKit would reset the mouse pointer to arrow if given a chance.
(+[WebHTMLViewPrivate initialize]): Renamed setCursorIMP on Leopard and higher to prevent
confusion - the method we override is completely different.
(-[WebHTMLView hitTest:]): Added a FIXME about a likely bug.
2010-02-19 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
Followup to avoid capturing compositing layers twice in snapshots. Add private
methods to WebView to specify whether drawing the WebView into an image will
include flattened compositing layers (the default behavior) or not.
* WebView/WebFrame.mm:
(-[WebFrame _drawRect:contentsOnly:]): Consult the WebView flag to see if we
want flattening.
* WebView/WebViewPrivate.h: New methods.
* WebView/WebView.mm: Ditto.
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView _setIncludesFlattenedCompositingLayersWhenDrawingToBitmap:]):
(-[WebView _includesFlattenedCompositingLayersWhenDrawingToBitmap]):
* WebView/WebViewData.h: New member variable.
2010-02-19 Alexey Proskuryakov <ap@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=35165
plugins/set-status.html fails on Windows bot
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::status):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView status:]):
Match Windows port behavior (and also Firefox one, in a way) - pass null status messages as
empty ones to chrome.
2010-02-18 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
Add logic to determine when painting via the software rendering path will give an equivalent
result to the accelerated compositing presentation. This tests for the presence of 3D transforms.
Also have -[WebFrame _drawRect:contentsOnly:] set the PaintBehaviorFlattenCompositingLayers
paint behavior when painting into a bitmap context, so that snapshots contain composited layers.
* WebView/WebFrame.mm:
(-[WebFrame _drawRect:contentsOnly:]): Set the PaintBehaviorFlattenCompositingLayers flag
when painting into a bitmap context.
* WebView/WebView.mm:
(-[WebView _isSoftwareRenderable]): Returns YES if all frames can be software-rendered.
* WebView/WebViewPrivate.h: New _isSoftwareRenderable method.
2010-02-18 Alexey Proskuryakov <ap@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=35134
<rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)
Test: plugins/set-status.html
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::status):
(WebKit::NetscapePluginInstanceProxy::loadURL):
Added null checks for CFStringCreateWithCString arguments.
2010-02-17 Dmitry Titov <dimich@chromium.org>
Reviewed by David Levin, Darin Fisher, Simon Hausmann.
When a live iframe element is moved between pages, it still depends on the old page.
https://bugs.webkit.org/show_bug.cgi?id=34382
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
Added empty implementation of a new virtual method.
(WebFrameLoaderClient::didTransferChildFrameToNewDocument):
2010-02-17 Kent Tamura <tkent@chromium.org>
Reviewed by Eric Seidel.
Introduces new Icon loading interface in order to support
asynchronous loading.
https://bugs.webkit.org/show_bug.cgi?id=32054
Add an empty implementation of ChromeClient::iconForFiles().
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::iconForFiles):
2010-02-17 Timothy Hatcher <timothy@apple.com>
Add a way for WebView and its dependancies to be selectively included
in WebKitStatistics leak tracking. By default WebView is not included and
you need to subclass WebView and implement +isIncludedInWebKitStatistics
to be included.
rdar://problem/7567677&7572900
https://webkit.org/b/35045
Reviewed by Adam Roben.
* WebView/WebDataSource.mm:
(-[WebDataSource _initWithDocumentLoader:]): Increment WebDataSourceCount if the WebFrame is included in statistics.
(-[WebDataSource dealloc]): Only --WebDataSourceCount if _private->includedInWebKitStatistics is YES.
(-[WebDataSource finalize]): Ditto.
* WebView/WebFrame.mm:
(-[WebFrame _isIncludedInWebKitStatistics]): Return _private->includedInWebKitStatistics.
(-[WebFrame _initWithWebFrameView:webView:]): Increment WebFrameCount if the WebView's class is included in statistics.
(-[WebFrame dealloc]): Only --WebFrameCount if _private->includedInWebKitStatistics is YES.
(-[WebFrame finalize]): Ditto.
* WebView/WebFrameInternal.h:
* WebView/WebFrameView.mm:
(-[WebFrameView _setWebFrame:]): Increment WebFrameViewCount if the WebFrame is included in statistics.
(-[WebFrameView initWithFrame:]): Move ++WebFrameViewCount from here since we don't
know what WebFrame we belong to yet.
(-[WebFrameView dealloc]): Only --WebFrameViewCount if _private->includedInWebKitStatistics is YES.
(-[WebFrameView finalize]): Ditto.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation init]): Move ++WebHTMLRepresentationCount from here since we don't
know what WebFrame we belong to yet.
(-[WebHTMLRepresentation dealloc]): Only --WebHTMLRepresentationCount if _private->includedInWebKitStatistics is YES.
(-[WebHTMLRepresentation finalize]): Ditto.
(-[WebHTMLRepresentation setDataSource:]): Increment WebHTMLRepresentationCount if the WebFrame of the dataSource is
included in statistics.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView dealloc]):
(+[WebView shouldIncludeInWebKitStatistics]): Return NO, so any WebView wont be included.
Subclasses that care can return YES to be included.
* WebView/WebViewInternal.h:
2010-02-16 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Generalize delayed plug-in start for background tabs for use for other media
https://bugs.webkit.org/show_bug.cgi?id=34981
* WebView/WebHTMLView.mm:
(-[WebHTMLView viewWillMoveToWindow:]): Added comment.
(-[WebHTMLView viewDidMoveToWindow]): Ditto.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
Call setCanStartMedia right away so that if this view is not in a window, it
will not start any media.
(-[WebView viewWillMoveToWindow:]): Call setCanStartMedia(false) when moving
to a window of nil.
(-[WebView viewDidMoveToWindow]): Call setCanStartMedia(true) when moved to
a window that is non-nil.
2010-02-16 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=34988
WebHTMLView.mm has two -willRemoveSubview: methods
* WebView/WebHTMLView.mm:
(-[WebHTMLView willRemoveSubview:]): Consolidate the two copies of this method.
2010-02-16 Alexey Proskuryakov <ap@apple.com>
Reviewed by Geoffrey Garen and Kevin Decker.
https://bugs.webkit.org/show_bug.cgi?id=34989
<rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content
This fixes event dispatch for both Cocoa and Carbon event models (mouseEntered/mouseExited
in the former case, and adjustCursor in the latter).
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView handleMouseEntered:]):
(-[WebHostedNetscapePluginView handleMouseExited:]):
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView handleMouseEntered:]):
(-[WebBaseNetscapePluginView handleMouseExited:]):
* Plugins/WebNetscapePluginView.h:
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView handleMouseEntered:]):
(-[WebNetscapePluginView handleMouseExited:]):
AppKit cannot reliably dispatch events for overlapping views. We are now asking WebCore to
notify plug-in views of mouse entered/exited as part of DOM event dispatch.
* WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): Besides
mouse moved, dispatch plugin mouse entered/exit events in HTMLPlugInElement default event
handler. Other mouse events are passed down by EventHandler.
2010-02-15 Alexey Proskuryakov <ap@apple.com>
More build fixing (for what is actually a 64-bit failure, as 32-bit apparently includes
headers that aren't included in 64-bit).
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::contains):
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get):
Move inline functions to .cpp; also made the class Noncopyable.
2010-02-15 Alexey Proskuryakov <ap@apple.com>
Mac release build fix attempt.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::~LocalObjectMap):
Implement destructor in .cpp file, where necessary headers are already included.
2010-02-12 Alexey Proskuryakov <ap@apple.com>
Reviewed by Kevin Decker.
<rdar://problem/7130641> Browser objects identity is not preserved by Safari
Out of process part.
To avoid excessive IPC, plugin process doesn't send each NPObject release/retain call to
Safari. It only sends one when the last one is removed, and it can destroy the proxy
NPObject.
However, the browser may be sending the same object out to plug-in as a function call
argument at the same time - neither side can know what the other one is up to. The solution
is to make the "destroying object" call return a boolean result, making it possible for
the browser to make plugin host keep the proxy with zero refcount for a little longer.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCForgetBrowserObject): This function (that used to be named ReleaseObject) is only
called when plug-in releases all of its references, so renamed it. Its boolean result
is returned as call success or failure.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap): Made the numeric ID to JSObject map
two-way.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject): This method is tricky
in that it creates objects with refcount of 1, but doesn't increase refcount when returning
found objects. This extra count accounts for the "reference" kept by plugin process.
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain): Only retaining for the
duration of calls out to plug-in, which means that refcount is almost always equal to 1.
Note that we can't use "++" here, due to how std::pair works!
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release): Ditto.
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::clear): Clear all references when
stopping plug-in.
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Like release(), but only
functional when recount is 1 (meaning that the object is not being sent out to plug-in at
the moment).
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Updated for other changes.
(WebKit::NetscapePluginInstanceProxy::cleanup): Ditto.
(WebKit::NetscapePluginInstanceProxy::getWindowNPObject): Ditto.
(WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject): Ditto.
(WebKit::NetscapePluginInstanceProxy::forgetBrowserObjectID): Ditto.
(WebKit::NetscapePluginInstanceProxy::evaluate): Ditto.
(WebKit::NetscapePluginInstanceProxy::invoke): Ditto.
(WebKit::NetscapePluginInstanceProxy::invokeDefault): Ditto.
(WebKit::NetscapePluginInstanceProxy::construct): Ditto.
(WebKit::NetscapePluginInstanceProxy::getProperty): Ditto.
(WebKit::NetscapePluginInstanceProxy::setProperty): Ditto.
(WebKit::NetscapePluginInstanceProxy::removeProperty): Ditto.
(WebKit::NetscapePluginInstanceProxy::hasProperty): Ditto.
(WebKit::NetscapePluginInstanceProxy::hasMethod): Ditto.
(WebKit::NetscapePluginInstanceProxy::enumerate): Ditto.
(WebKit::NetscapePluginInstanceProxy::addValueToArray): Ditto.
(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): Ditto.
(WebKit::NetscapePluginInstanceProxy::retainLocalObject): Helper for calling retain when
making calls out to plug-in. No-op for objects that aren't wrapped to be sent (i.e. for
objects wrapping ProxyInstance wrappers for plug-in objects being sent bak).
(WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto.
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::invoke): Retain/release arguments during call.
(WebKit::ProxyInstance::setFieldValue): Ditto.
* Plugins/Hosted/WebKitPluginClient.defs: Renamed PCReleaseObject to PCForgetBrowserObject.
2010-02-12 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Removed unneeded custom implementation of isDescendantOf.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView shouldClipOutPlugin]): Use the
-[NSView isDescendantOf:] method instead of our own method
named superviewsHaveSuperviews.
2010-02-12 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7615234> REGRESSION (r48586): Loading an HTML page causes
PDFKit to be loaded
* WebView/WebPDFDocumentExtras.h: Removed the category declaration and
addWebPDFDocumentExtras(). Declare allScriptsInPDFDocument().
* WebView/WebPDFDocumentExtras.mm:
(allScriptsInPDFDocument): Changed the -_web_allScripts method into this function.
* WebView/WebPDFRepresentation.mm: Removed +initialize.
(-[WebPDFRepresentation finishedLoadingWithDataSource:]): Use
allScriptsInPDFDocument() instead of -_web_allScripts.
2010-02-10 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Exported some new JavaScript heap introspection.
* Misc/WebCoreStatistics.h:
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics javaScriptObjectTypeCounts]): Just like
javaScriptProtectedObjectTypeCounts, except this function enumerates all
live objects, not just protected objects.
2010-02-08 Maciej Stachowiak <mjs@apple.com>
Reviewed by Cameron Zwarich.
Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
https://bugs.webkit.org/show_bug.cgi?id=34698
* Configurations/FeatureDefines.xcconfig:
2010-02-09 Alexey Proskuryakov <ap@apple.com>
Reviewed by Geoffrey Garen.
https://bugs.webkit.org/show_bug.cgi?id=34490
WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
* ForwardingHeaders/wtf/ValueCheck.h: Added.
2010-02-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
Support frameset flattening
https://bugs.webkit.org/show_bug.cgi?id=32717
Add support for enabling/disabling FrameSet Flattening on the Mac port.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences isFrameSetFlatteningEnabled]):
(-[WebPreferences setFrameSetFlatteningEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
2010-02-09 Alexey Proskuryakov <ap@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=34771
A stray mouse moved event is sent to plug-ins after mouse exit
* WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): A mouseout
DOM event is dispatched while handling NSMouseMoved - but we shouldn't be sending a
mouse moved event to plug-ins at this point.
2010-02-09 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Darin Adler.
Provide a way to get total number of pages to be printed
https://bugs.webkit.org/show_bug.cgi?id=34699
* Misc/WebCoreStatistics.h:
* Misc/WebCoreStatistics.mm:
(-[WebFrame numberOfPages:pageWidthInPixels:]):
2010-02-08 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=34727
Assertion crashes and freezes when plug-in property access results in an exception
* Plugins/Hosted/WebKitPluginClient.defs: Made PCSetProperty and PCRemoveProperty async.
A plug-in can call back whil processing this call (e.g. for NPN_SetException), so we need
to listen for messages while waiting for reply.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCEvaluate): If there is no instance proxy, return KERN_FAILURE. This improves consistency
between method implementations, and leaves us with one less IPC call to make in failure case
(returning false with KERN_SUCCESS and returning KERN_FAILURE looks the same from plugin
host code).
(WKPCInvoke): Ditto.
(WKPCInvokeDefault): Ditto.
(WKPCGetProperty): Ditto.
(WKPCSetProperty): Send a reply once done.
(WKPCRemoveProperty): Ditto.
(WKPCHasProperty): If there is no instance proxy, return KERN_FAILURE.
(WKPCHasMethod): Ditto.
(WKPCEnumerate): Ditto.
2010-02-08 Alexey Proskuryakov <ap@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/6530010> OOP: Support NPN_SetException
Tested by plugins/netscape-throw-exception.html (removed it from skipped list).
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCSetException):
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::globalExceptionString):
(WebKit::NetscapePluginInstanceProxy::setGlobalException):
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::invoke):
(WebKit::ProxyInstance::getPropertyNames):
(WebKit::ProxyInstance::fieldValue):
(WebKit::ProxyInstance::setFieldValue):
* Plugins/Hosted/WebKitPluginClient.defs:
Route exception string to a global that's checked after calling into plug-in (just like in
in-process case).
2010-02-05 Kevin Decker <kdecker@apple.com>
Reviewed by Mark Rowe.
https://bugs.webkit.org/show_bug.cgi?id=34661
<rdar://problem/7614067> REGRESSION (Safari 4.0-> Safari 4.0.4): NPP_SetWindow no longer sets a clipRect of (0,0,0,0) when it becomes hidden
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView updateAndSetWindow]): When clipping out NPDrawingModelCoreAnimation plug-ins, provide a zero'd out clipRect.
* Plugins/WebBaseNetscapePluginView.h: Moved superviewsHaveSuperviews to the base class.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView superviewsHaveSuperviews]): Added to the base class; extracted from WebNetscapePluginView.
(-[WebBaseNetscapePluginView shouldClipOutPlugin]): Added new method with code extracted from WebNetscapePluginView.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): When clipping out NPDrawingModelCoreAnimation plug-ins, provide a zero'd out clipRect.
2010-02-04 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Dan Bernstein.
Fix the ability to #include <WebKit/DOMFile.h>.
* MigrateHeaders.make: Mark DOMBlob.h as a public header since the already-public DOMFile.h depends on it.
2010-02-04 John Sullivan <sullivan@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=34611
WebLocalizedString() could use an assertion that it is being called on the main thread
Reviewed by Tim Hatcher.
* Misc/WebLocalizableStrings.m: Removed.
* Misc/WebLocalizableStrings.mm: Copied from mac/Misc/WebLocalizableStrings.m.
Renamed to use .mm extension so it can include a C++ header.
(WebLocalizedString):
Added an assertion that this is being called on the main thread.
2010-02-04 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
https://bugs.webkit.org/show_bug.cgi?id=34371
* WebView/WebFrameView.mm:
(-[WebFrameView _verticalPageScrollDistance]): Use Scrollbar methods instead of
constants, and cap the scroll distance.
(-[WebFrameView initWithFrame:]): Use Scrollbar::pixelsPerLineStep() instead of
cScrollbarPixelsPerLineStep.
(-[WebFrameView _horizontalPageScrollDistance]):Use Scrollbar methods instead of
constants, and cap the scroll distance.
2010-02-01 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Eric Seidel.
Provide a way to get page number with layoutTestController
https://bugs.webkit.org/show_bug.cgi?id=33840
* Misc/WebCoreStatistics.h:
* Misc/WebCoreStatistics.mm:
(-[WebFrame pageNumberForElement:element:pageWidth:]):
2010-01-29 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig + Oliver Hunt.
Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds
Pass processeing user gensture flag to media play/pause methods.
* WebView/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController setPlaying:]):
2010-02-01 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/7044385> Crash at NetscapePlugInStreamLoader::didReceiveResponse()
The crash was caused by having two streams with a streamID of 1.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Fixed a typo. Now
correctly increments m_currentURLRequestID to account for the manual stream.
(WebKit::NetscapePluginInstanceProxy::disconnectStream): If the stream is the manual stream,
null it out instead of trying to remove it from the map. Added an assertion.
(WebKit::NetscapePluginInstanceProxy::loadRequest): Added an assertion.
== Rolled over to ChangeLog-2010-01-29 ==