• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
12011-04-19  Matthew Delaney  <mdelaney@apple.com>
2
3        Reviewed by Simon Fraser.
4
5        WebPreferences in WebKit1 should have CanvasUsesAcceleratedDrawing set to NO by default
6        https://bugs.webkit.org/show_bug.cgi?id=58936
7
8        * WebView/WebPreferences.mm:
9        (+[WebPreferences initialize]):
10
112011-04-19  Vsevolod Vlasov  <vsevik@chromium.org>
12
13        Reviewed by Pavel Feldman.
14
15        Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
16        https://bugs.webkit.org/show_bug.cgi?id=58883
17
18        * WebCoreSupport/WebFrameLoaderClient.h:
19        * WebCoreSupport/WebFrameLoaderClient.mm:
20        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
21
222011-04-18  Jia Pu  <jpu@apple.com>
23
24        Reviewed by Mark Rowe.
25
26        WebKit needs to stop importing <AppKit/NSTextChecker.h>
27        https://bugs.webkit.org/show_bug.cgi?id=58798
28        <rdar://problem/9294938>
29
30        Use public header <AppKit/NSSpellChecker.h> instead.
31
32        * WebCoreSupport/CorrectionPanel.h:
33        * WebCoreSupport/CorrectionPanel.mm:
34        (correctionIndicatorType):
35        (CorrectionPanel::show):
36        (CorrectionPanel::dismissInternal):
37        (CorrectionPanel::handleAcceptedReplacement):
38        * WebCoreSupport/WebEditorClient.mm:
39        * WebView/WebView.mm:
40
412011-04-17  Cameron Zwarich  <zwarich@apple.com>
42
43        Reviewed by Timothy Hatcher.
44
45        Stop using -[NSString initWithContentsOfFile:]
46        https://bugs.webkit.org/show_bug.cgi?id=58763
47
48        -[NSString initWithContentsOfFile:] was deprecated in 10.4, so we should stop using it.
49
50        * WebView/WebView.mm:
51        (leakMailQuirksUserScriptContents):
52        (leakOutlookQuirksUserScriptContents):
53
542011-04-17  David Kilzer  <ddkilzer@apple.com>
55
56        <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting
57        <rdar://problem/9268729>
58
59        Reviewed by Dan Bernstein.
60
61        This replaces support for the WebKitEnableHTTPPipelining user
62        default with methods on the WebCore::ResourceRequest class in
63        WebCore, the WebView class in WebKit1, and the WebContext class
64        in WebKit2.  It also removes support for the
65        WebKitForceHTTPPipeliningPriorityHigh user default which was not
66        needed.
67
68        * WebView/WebView.mm:
69        (+[WebView(WebPrivate) _HTTPPipeliningEnabled]): Added.
70        (+[WebView(WebPrivate) _setHTTPPipeliningEnabled:]): Added.
71        * WebView/WebViewPrivate.h:
72        (+[WebView(WebPrivate) _HTTPPipeliningEnabled]): Added declaration.
73        (+[WebView(WebPrivate) _setHTTPPipeliningEnabled:]): Added declaration.
74
752011-04-17  Joseph Pecoraro  <joepeck@webkit.org>
76
77        Reviewed by Dan Bernstein.
78
79        Assign to self in WebInspectorWindowController constructors
80        https://bugs.webkit.org/show_bug.cgi?id=58749
81
82        * WebCoreSupport/WebInspectorClient.mm:
83        (-[WebInspectorWindowController init]):
84        (-[WebInspectorWindowController initWithInspectedWebView:]):
85
862011-04-17  Joseph Pecoraro  <joepeck@webkit.org>
87
88        Reviewed by Timothy Hatcher.
89
90        Move WebNodeHighlighter into its own file
91        https://bugs.webkit.org/show_bug.cgi?id=58746
92
93        Extract this class into its own file alongside the
94        other WebNodeHighlight files. In doing so do some
95        cleanup on WebInspectorClient removing some methods
96        that were never called.
97
98        * WebCoreSupport/WebInspectorClient.mm:
99        (WebInspectorClient::WebInspectorClient): style fix.
100        * WebInspector/WebNodeHighlighter.h: Added.
101        * WebInspector/WebNodeHighlighter.mm: Added.
102        (-[WebNodeHighlighter initWithInspectedWebView:]): call super init.
103        (-[WebNodeHighlighter dealloc]):
104        (-[WebNodeHighlighter highlightNode:]):
105        (-[WebNodeHighlighter hideHighlight]):
106        (-[WebNodeHighlighter didAttachWebNodeHighlight:]):
107        (-[WebNodeHighlighter willDetachWebNodeHighlight:]):
108
1092011-04-15  Jia Pu  <jpu@apple.com>
110
111        Reviewed by Dan Bernstein.
112
113        [Mac] WebKit needs to convert the bounding box of autocorrected word to view coordinate.
114        https://bugs.webkit.org/show_bug.cgi?id=58717
115
116        Convert the bounding box from window coordinate to view coordinate, which is expected by NSCorrectionPanel.
117
118        * WebCoreSupport/CorrectionPanel.mm:
119        (CorrectionPanel::show):
120
1212011-04-15  Shishir Agrawal  <shishir@chromium.org>
122
123        Reviewed by James Robinson.
124
125        Add a flag to guard Page Visibility API changes.
126        https://bugs.webkit.org/show_bug.cgi?id=58464
127
128        * Configurations/FeatureDefines.xcconfig:
129
1302011-04-15  Oliver Hunt  <oliver@apple.com>
131
132        GC allocate Structure
133        https://bugs.webkit.org/show_bug.cgi?id=58483
134
135        Rolling r83894 r83827 r83810 r83809 r83808 back in with
136        a workaround for the gcc bug seen by the gtk bots
137
138        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
139        * Plugins/Hosted/ProxyInstance.mm:
140        (WebKit::ProxyRuntimeMethod::createStructure):
141        * Plugins/Hosted/ProxyRuntimeObject.h:
142        (WebKit::ProxyRuntimeObject::createStructure):
143
1442011-04-14  Alexey Proskuryakov  <ap@apple.com>
145
146        Reviewed by Dan Bernstein.
147
148        WebKit2: Password field input does not switch to ASCII-compatible source
149        https://bugs.webkit.org/show_bug.cgi?id=58583
150        <rdar://problem/9059651>
151
152        Now that WebCore doesn't set secure input mode, WebKit has to. Happily, it already has the
153        necessary logic, needed to return a nil text input context when in password fields.
154
155        * WebView/WebHTMLView.mm:
156        (-[WebHTMLView close]): If the view is still enforcing secure event mode, stop.
157        (-[WebHTMLView windowDidBecomeKey:]): Call _updateSecureInputState.
158        (-[WebHTMLView windowDidResignKey:]): Ditto.
159        (-[WebHTMLView becomeFirstResponder]): Call _updateSecureInputState. It's a bit tricky
160        because the first responder is still different an this point, so set a boolean variable to
161        let _updateSecureInputState know what's going on.
162        (-[WebHTMLView resignFirstResponder]): Disable secure event mode if it's on.
163        (-[WebHTMLView _updateSecureInputState]): Update HIToolbox secure event input state and
164        allowed input sources accorsing to current selection.
165        (-[WebHTMLView _updateSelectionForInputManager]): Call _updateSecureInputState.
166
1672011-04-15  Sam Weinig  <sam@webkit.org>
168
169        Reviewed by Maciej Stachowiak.
170
171        Make mac WebKit1 use the default localization strategy
172        https://bugs.webkit.org/show_bug.cgi?id=58628
173
174        * WebCoreSupport/WebPlatformStrategies.h:
175        * WebCoreSupport/WebPlatformStrategies.mm:
176        Remove the localization strategy code. The equivalent is now
177        in WebCore/platform/DefaultLocalizationStrategy.cpp.
178
1792011-04-15  Anna Cavender  <annacc@chromium.org>
180
181        Reviewed by Eric Carlson.
182
183        Renaming TRACK feature define to VIDEO_TRACK
184        https://bugs.webkit.org/show_bug.cgi?id=53556
185
186        * Configurations/FeatureDefines.xcconfig:
187
1882011-04-14  Pratik Solanki  <psolanki@apple.com>
189
190        Reviewed by David Kilzer.
191
192        Set minimum priority for fast lane connections
193        https://bugs.webkit.org/show_bug.cgi?id=58353
194
195        * WebCoreSupport/WebSystemInterface.mm:
196        (InitWebCoreSystemInterface): Support for new WKSI method WKSetHTTPPipeliningMinimumFastLanePriority.
197
1982011-04-13  Sam Weinig  <sam@webkit.org>
199
200        Reviewed by Gavin Barraclough.
201
202        WebKit2 doesn't keep overlay scrollers shown while scroll gesture held
203        <rdar://problem/9260518>
204
205        * WebCoreSupport/WebSystemInterface.mm:
206        (InitWebCoreSystemInterface):
207        Initialize new WKSI functions.
208
2092011-04-13  David Kilzer  <ddkilzer@apple.com>
210
211        <http://webkit.org/b/58172> Fix -Wcast-align warning in WebBasePluginPackage.mm
212
213        Reviewed by Anders Carlsson.
214
215        Fixes the following warning with -Wcast-align enabled:
216
217            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]
218                         archs = (struct fat_arch*)((uint8_t*)rawData.data() + sizeof(struct fat_header));
219                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
220
221        * Plugins/WebBasePluginPackage.mm:
222        (-[WebBasePluginPackage isNativeLibraryData:]): Added
223        COMPILE_ASSERT() to make sure our pointer math is valid.
224        Removed cast to (uint8_t*) and divide sizeof(struct fat_header)
225        by sizeof(uint32_t) to fix the pointer math.  Replaced C-style
226        casts with reinterpret_cast.
227
2282011-04-12  Enrica Casucci  <enrica@apple.com>
229
230        Reviewed by Alexey Proskuryakov.
231
232        Infinite recursion in WebHTMLView executeSavedKeypressCommands.
233        https://bugs.webkit.org/show_bug.cgi?id=58382
234        <rdar://problem/9239370>
235
236        Execution of some editing commands could trigger a call to selectedRange that
237        internally calls executeSavedKeypressCommands creating an infinite recursion.
238
239        * WebView/WebHTMLView.mm:
240        (-[WebHTMLView _executeSavedKeypressCommands]): Added a flag to avoid recursion.
241        (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Added flag initialization.
242
2432011-04-12  Alice Liu  <alice.liu@apple.com>
244
245        Reviewed by Sam Weinig.
246
247        https://bugs.webkit.org/show_bug.cgi?id=58292
248        Provide new setting to allow site icon loading despite disabling automatic image loading in general.
249
250        * WebView/WebPreferenceKeysPrivate.h: Add preference key.
251        * WebView/WebPreferences.mm:
252        (+[WebPreferences initialize]): Initialize to false.
253        (-[WebPreferences setLoadsSiteIconsIgnoringImageLoadingPreference:]): Added.
254        (-[WebPreferences loadsSiteIconsIgnoringImageLoadingPreference]): Added.
255        * WebView/WebPreferencesPrivate.h: Add setter/getter definitions.
256        * WebView/WebView.mm:
257        (-[WebView _preferencesChanged:]): Add to settings that get propagated upon changes.
258
2592011-04-11  Alexey Proskuryakov  <ap@apple.com>
260
261        Reviewed by Maciej Stachowiak.
262
263        WebKit2: Safari doesn't respect cmd-arrows (and variations) as custom keyboard shortcuts
264        https://bugs.webkit.org/show_bug.cgi?id=58175
265        <rdar://problem/9060555>
266
267        * WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Added a comment explaining how this
268        should be changed to match WebKit2.
269
2702011-04-06  Timothy Hatcher  <timothy@apple.com>
271
272        Fix a bug where the context menu does not show in PDF documents if there is no
273        UI delegate or the UI delegate does not respond to the context menu selector.
274
275        https://webkit.org/b/57958
276
277        Reviewed by Darin Adler.
278
279        * WebView/WebView.mm:
280        (-[WebView _menuForElement:defaultItems:]): CallUIDelegate returns nil
281        if UIDelegate is nil or doesn't respond to the selector. So check that
282        here to distinguish between using defaultMenuItems or the delegate
283        really returning nil to say "no context menu".
284
2852011-04-11  Jer Noble  <jer.noble@apple.com>
286
287        Unreviewed; roll out unintentional change to WebFullScreenController.mm.
288
289        * WebView/WebFullScreenController.mm:
290        (-[WebFullScreenController enterFullscreen:]):
291
2922011-04-08  Geoffrey Garen  <ggaren@apple.com>
293
294        Reviewed by Oliver Hunt.
295
296        A few heap-related renames and file moves.
297
298        WeakGCPtr<T> => Weak<T>
299        Global<T> => Strong<T>
300        collector/ => heap/
301        collector/* => heap/*
302        runtime/WeakGCPtr.h => heap/Weak.h
303
304        (Eventually, even more files should move into the heap directory. Like
305        Heap.h and Heap.cpp, for example.)
306
307        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
308        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
309        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
310        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
311        (WebKit::NetscapePluginInstanceProxy::evaluate):
312        * WebView/WebScriptDebugger.h:
313
3142011-04-08  Alexey Proskuryakov  <ap@apple.com>
315
316        Reviewed by Darin Adler.
317
318        WebKit2: Safari doesn't respect cmd-arrows (and variations) as custom keyboard shortcuts
319        https://bugs.webkit.org/show_bug.cgi?id=58175
320        <rdar://problem/9060555>
321
322        * WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Added a comment explaining how this
323        should be changed to match WebKit2.
324
3252011-04-08  Alpha Lam  <hclam@chromium.org>
326
327        Unreviewed, rolling out r83335.
328        http://trac.webkit.org/changeset/83335
329        https://bugs.webkit.org/show_bug.cgi?id=53556
330
331        GTK and QT bots are broken
332
333        * Configurations/FeatureDefines.xcconfig:
334
3352011-04-07  Anna Cavender  <annacc@chromium.org>
336
337        Reviewed by Eric Carlson.
338
339        Setup ENABLE(TRACK) feature define
340        https://bugs.webkit.org/show_bug.cgi?id=53556
341
342        * Configurations/FeatureDefines.xcconfig:
343
3442011-04-08  Maciej Stachowiak  <mjs@apple.com>
345
346        Reviewed by Darin Adler.
347
348        -[WebView setPreferences:] can take a lot of time if loading lots of webviews at once
349        https://bugs.webkit.org/show_bug.cgi?id=58128
350        <rdar://problem/9244553>
351
352        The root of the problem here was an O(N^2) issue - each WebView,
353        upon having its preferences initialized, would broadcast a
354        notification that was listened to by all other WebViews sharing
355        its preferences.
356
357        To maintain the API contract, I split the notification into two,
358        one that is for public API consumption, and the other which is for
359        internal use only. Changes that don't need to be picked up by
360        other WebViews broadcast the public notification only. And we
361        avoid WebView broadcasting a notification just to get itself to
362        update.
363
364        * Misc/WebIconDatabase.mm:
365        (-[WebIconDatabase _startUpIconDatabase]):
366        (-[WebIconDatabase _shutDownIconDatabase]):
367        * Plugins/WebBaseNetscapePluginView.mm:
368        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
369        (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
370        (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
371        (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
372        * WebView/WebPreferences.mm:
373        (-[WebPreferences initWithIdentifier:]):
374        (-[WebPreferences _setStringValue:forKey:]):
375        (-[WebPreferences _setIntegerValue:forKey:]):
376        (-[WebPreferences _setFloatValue:forKey:]):
377        (-[WebPreferences _setBoolValue:forKey:]):
378        (-[WebPreferences _setLongLongValue:forKey:]):
379        (-[WebPreferences _setUnsignedLongLongValue:forKey:]):
380        (-[WebPreferences _postPreferencesChangedNotification]):
381        (-[WebPreferences _postPreferencesChangedAPINotification]):
382        * WebView/WebPreferencesPrivate.h:
383        * WebView/WebView.mm:
384        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
385        (-[WebView _preferencesChangedNotification:]):
386        (-[WebView _preferencesChanged:]):
387        (-[WebView setUsesPageCache:]):
388        (+[WebView initialize]):
389        (-[WebView setPreferences:]):
390        (-[WebView _keyboardUIMode]):
391        * WebView/WebViewInternal.h:
392
3932011-04-07  Andrew Scherkus  <scherkus@chromium.org>
394
395        Revert ENABLE_TRACK patch due to compile failures.
396
397        * Configurations/FeatureDefines.xcconfig:
398
3992011-04-07  Alexey Proskuryakov  <ap@apple.com>
400
401        Reviewed by Anders Carlsson.
402
403        REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
404        https://bugs.webkit.org/show_bug.cgi?id=58066
405        <rdar://problem/8965302>
406
407        * WebView/WebHTMLRepresentation.mm:
408        (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
409        * WebView/WebHTMLView.mm:
410        (-[WebHTMLView attributedSubstringFromRange:]):
411        (-[WebHTMLView attributedString]):
412        (-[WebHTMLView selectedAttributedString]):
413        Updated for editingAttributedStringFromRange: now taking a WebCore::Range instead of DOMRange.
414
4152011-04-07  Andy Estes  <aestes@apple.com>
416
417        Reviewed by Darin Adler.
418
419        REGRESSION (r64712): Microsoft Outlook 2011: original message contents
420        not included when replying to an email.
421        https://bugs.webkit.org/show_bug.cgi?id=57794
422
423        Outlook populates a reply message by creating an empty WebView and
424        using DOM API to populate the WebView's empty document with content
425        from the original message. It expects the initial empty document to
426        simply be "<html></html>", and it proceeds to dynamically create and
427        append a BODY node and add the original message content as a child of
428        that node. Outlook then takes the innerHTML of the frame's first body
429        element and copies it into a *new* document that is displayed and
430        edited in the reply message window.
431
432        Due to implementing the HTML5 tree building algorithm in r64712,
433        initial empty documents went from being "<html></html>" to being
434        "<html><head></head><body></body></html>". Outlook still dynamically
435        creates a BODY node to parent the original message content, but this
436        BODY node duplicates the one created by the tree builder. When Outlook
437        then takes the innerHTML of the first body element to populate the
438        reply message window it gets the empty body element created by the
439        parser, not the one it created with the original message content.
440
441        Fix this by injecting a user script into the initial empty document
442        that removes the HEAD and BODY nodes created by the parser. This
443        ensures that the BODY created by Outlook is the only BODY in the
444        document.
445
446        * Misc/OutlookQuirksUserScript.js: Added.
447        * WebView/WebView.mm:
448        (leakMailQuirksUserScriptContents):
449        (-[WebView _injectMailQuirksScript]):
450        (needsOutlookQuirksScript):
451        (leakOutlookQuirksUserScriptContents):
452        (-[WebView _injectOutlookQuirksScript]):
453        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
454
4552011-04-06  Dai Mikurube  <dmikurube@chromium.org>
456
457        Reviewed by David Levin.
458
459        Add QUOTA build flag for unified quota API
460        https://bugs.webkit.org/show_bug.cgi?id=57918
461
462        * Configurations/FeatureDefines.xcconfig: Added QUOTA build flag
463
4642011-04-06  Robert Sesek  <rsesek@chromium.org>
465
466        Reviewed by Alexey Proskuryakov.
467
468        Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
469        https://bugs.webkit.org/show_bug.cgi?id=54969
470
471        * WebView/WebFrame.mm:
472        (-[WebFrame _convertToNSRange:]): Moved duplicated code to WebCore
473        (-[WebFrame _characterRangeAtPoint:]): Moved duplicated code to WebCore
474
4752011-04-05  Alexey Proskuryakov  <ap@apple.com>
476
477        Reviewed by Darin Adler.
478
479        Move attributedStringFromRange down to WebCore
480        https://bugs.webkit.org/show_bug.cgi?id=57905
481
482        * Misc/WebNSAttributedStringExtras.h: Removed.
483        * Misc/WebNSAttributedStringExtras.mm: Removed.
484        * WebView/WebHTMLRepresentation.mm:
485        (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
486        * WebView/WebHTMLView.mm:
487        (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
488        (-[WebHTMLView attributedSubstringFromRange:]):
489        (-[WebHTMLView attributedString]):
490        (-[WebHTMLView selectedAttributedString]):
491        * WebView/WebPDFView.mm:
492        (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
493
4942011-04-04  MORITA Hajime  <morrita@google.com>
495
496        Reviewed by Ryosuke Niwa.
497
498        [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult
499        https://bugs.webkit.org/show_bug.cgi?id=56085
500
501        Removed NSTextCheckingResult to SpellCheckingResult convertion, and extracted
502        NSTextCheckingResult to TextCheckingResult convertio from checkTextOfParagraph method.
503        for requestCheckingOfString method.
504
505        * WebCoreSupport/WebEditorClient.h:
506        * WebCoreSupport/WebEditorClient.mm:
507        (toCoreTextCheckingResults):
508        (WebEditorClient::checkTextOfParagraph):
509        (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:types:WebCore::results:]):
510        (-[WebEditorSpellCheckResponder perform]):
511        (WebEditorClient::requestCheckingOfString):
512        * WebView/WebFrame.mm:
513        (-[WebFrame markersForSelectionStartAsText]):
514        * WebView/WebFramePrivate.h:
515
5162011-04-05  Anders Carlsson  <andersca@apple.com>
517
518        Didn't mean to land this.
519
520        * Plugins/WebNetscapePluginView.mm:
521        (-[WebNetscapePluginView getVariable:value:]):
522
5232011-04-04  David Kilzer  <ddkilzer@apple.com>
524
525        <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match
526
527        Reviewed by Alexey Proskuryakov.
528
529        * WebCoreSupport/WebSystemInterface.mm:
530        (InitWebCoreSystemInterface): Added initialization for
531        wkSetHTTPPipeliningMaximumPriority().
532
5332011-04-04  Alexey Proskuryakov  <ap@apple.com>
534
535        Reviewed by Dan Bernstein.
536
537        REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
538        https://bugs.webkit.org/show_bug.cgi?id=51230
539        <rdar://problem/8780989>
540
541        * WebView/WebHTMLView.mm: (-[WebHTMLView flagsChanged:]): Moved Caps Lock handling from
542        WebKits to WebCore, because WebKit shouldn't be smart.
543
5442011-04-01  Alexey Proskuryakov  <ap@apple.com>
545
546        Reviewed by Darin Adler.
547
548        REGRESSION: Assertion failure when executing a complex custom key binding
549        https://bugs.webkit.org/show_bug.cgi?id=57681
550
551        * WebView/WebHTMLView.mm: (-[WebHTMLView hasMarkedText]): There is no need to execute saved
552        commands when they can't possibly change the result.
553
5542011-04-01  Anders Carlsson  <andersca@apple.com>
555
556        Reviewed by Sam Weinig.
557
558        Shockwave plug-in doesn't accept mouse events
559        https://bugs.webkit.org/show_bug.cgi?id=57653
560        <rdar://problem/8483273>
561
562        Fix an unrelated bug found by the added test.
563
564        * Plugins/WebBaseNetscapePluginView.mm:
565        (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
566        Make sure to always set destX and destY.
567
5682011-04-01  Alexey Proskuryakov  <ap@apple.com>
569
570        Reviewed by Darin Adler.
571
572        Make WebKit2 text input handling more like WebKit1
573        https://bugs.webkit.org/show_bug.cgi?id=57649
574
575        * WebView/WebFrameInternal.h: Expose _convertToDOMRange for use in WebHTMLView.
576        * WebView/WebHTMLView.mm:
577        (-[WebHTMLView _executeSavedKeypressCommands]): Renamed, since these are not editor commands.
578        (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Updated for the renamed _executeSavedKeypressCommands.
579        (-[WebHTMLView characterIndexForPoint:]): Ditto.
580        (-[WebHTMLView firstRectForCharacterRange:]): Ditto.
581        (-[WebHTMLView selectedRange]): Ditto.
582        (-[WebHTMLView markedRange]): Ditto.
583        (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
584        (-[WebHTMLView hasMarkedText]): Ditto.
585        (-[WebHTMLView unmarkText]): Ditto.
586        (-[WebHTMLView setMarkedText:selectedRange:]): Ditto. Changed the comment about the argument
587        type into an assertion. Removed resetting interpretKeyEventsParameters to 0, as we shouldn't
588        be able to call text input protocol methods from here (and we didn't even reset it back on
589        return). Changed to retrieve all data before starting to apply actions to better match WK2 code.
590        (-[WebHTMLView insertText:]): Ditto.
591
5922011-04-01  Timothy Hatcher  <timothy@apple.com>
593
594        Make momentum scroll event latching work in WebKit2 on Mac.
595
596        <rdar://problem/8751861>
597
598        Reviewed by Darin Adler.
599
600        * WebCoreSupport/WebSystemInterface.mm:
601        (InitWebCoreSystemInterface): Remove IsLatchingWheelEvent, add GetNSEventMomentumPhase.
602        * WebView/WebDynamicScrollBarsView.mm:
603        (-[WebDynamicScrollBarsView scrollWheel:]): Use WKGetNSEventMomentumPhase to set isLatchingEvent.
604
6052011-03-31  Darin Adler  <darin@apple.com>
606
607        Reviewed by Anders Carlsson.
608
609        Assertion failure in -[WebHTMLView _handleStyleKeyEquivalent:]
610        https://bugs.webkit.org/show_bug.cgi?id=26667
611
612        * WebView/WebHTMLView.mm:
613        (-[WebHTMLView _handleStyleKeyEquivalent:]): Handle the case where WebView is
614        nil rather than asserting that it is non-nil. One case where WebView will be nil
615        is when the frame is closed, but in any case where it is nil, the correct thing
616        to do is to not try to handle the style key.
617
6182011-03-31  Alexey Proskuryakov  <ap@apple.com>
619
620        Patch by John Harvey, reviewed and tweaked by me.
621
622        <rdar://problem/8644403> Should notify TSM that plug-ins would show a bottom input window for marked text.
623
624        * Plugins/Hosted/WebTextInputWindowController.m:
625        (-[WebTextInputPanel _interpretKeyEvent:string:]):
626
6272011-03-31  Evan Martin  <evan@chromium.org>
628
629        Reviewed by Eric Seidel.
630
631        <title> should support dir attribute
632        https://bugs.webkit.org/show_bug.cgi?id=50961
633
634        Update to new FrameLoaderClient interface.
635
636        * WebCoreSupport/WebFrameLoaderClient.h:
637        * WebCoreSupport/WebFrameLoaderClient.mm:
638        (WebFrameLoaderClient::dispatchDidReceiveTitle):
639        (WebFrameLoaderClient::setTitle):
640
6412011-03-30  Dominic Cooney  <dominicc@google.com>
642
643        Reviewed by Dimitri Glazkov.
644
645        Adds layoutTestController.shadowRoot accessor to Mac DRT.
646        https://bugs.webkit.org/show_bug.cgi?id=57415
647
648        * DOM/WebDOMOperations.mm:
649        (-[DOMElement _shadowRoot:]):
650        * DOM/WebDOMOperationsPrivate.h:
651
6522011-03-30  Alexey Proskuryakov  <ap@apple.com>
653
654        Reviewed by Darin Adler.
655
656        WebHTMLView shouldn't resend noop: commands
657        https://bugs.webkit.org/show_bug.cgi?id=57504
658        <rdar://problem/9209390>
659
660        * WebView/WebHTMLView.mm: (-[WebHTMLView _executeSavedEditingCommands]): Filter out NOOPs,
661        which we get e.g. when handling Cmd-key combos.
662
6632011-03-30  Alexey Proskuryakov  <ap@apple.com>
664
665        Reviewed by Darin Adler.
666
667        REGRESSION (r82320): Spacebar no longer pages down
668        https://bugs.webkit.org/show_bug.cgi?id=57423
669        <rdar://problem/9207702>
670
671        Also includes some unrelated cleanup that I had in my tree.
672
673        * WebView/WebHTMLView.mm:
674        (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Added an assertion that the event is
675        being dispatched to the right frame.
676        (-[WebHTMLView setMarkedText:selectedRange:]): Use 0 for a pointer, not NULL.
677        (-[WebHTMLView doCommandBySelector:]): Update eventInterpretationHadSideEffects with "|=".
678        Even if this specific command hasn't been handled, that doesn't nullify side effects from
679        previous commands.
680        (-[WebHTMLView insertText:]): Besides looking at the return value of insertText() to fix the
681        bug, removed setting _private->interpretKeyEventsParameters to 0. I don't see any way for
682        another WebHTMLView NSTextInput method to be called from within insertText:, so no one is
683        going to look at it.
684
6852011-03-30  Sam Weinig  <sam@webkit.org>
686
687        Reviewed by Brady Eidson.
688
689        WebKit2: Attempting to view css file from url causes it to download
690        <rdar://problem/9102611>
691        https://bugs.webkit.org/show_bug.cgi?id=57501
692
693        * WebView/WebHTMLRepresentation.h:
694        * WebView/WebHTMLRepresentation.mm:
695        (+[WebHTMLRepresentation unsupportedTextMIMETypes]):
696        * WebView/WebHTMLView.mm:
697        (+[WebHTMLView unsupportedTextMIMETypes]):
698        Re-factor unsupportedTextMIMETypes to pull from WebCore's
699        MIMETypeRegistry, so that the list can be shared with WebKit2.
700
7012011-03-29  Beth Dakin  <bdakin@apple.com>
702
703        Reviewed by Maciej Stachowiak.
704
705        Fix for https://bugs.webkit.org/show_bug.cgi?id=57408
706        webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard
707        -and corresponding-
708        <rdar://problem/8665411>
709
710        * Misc/WebNSControlExtras.m:
711        (-[NSControl sizeToFitAndAdjustWindowHeight]):
712        * WebCoreSupport/WebChromeClient.mm:
713        (WebChromeClient::scaleFactor):
714        * WebView/WebHTMLView.mm:
715        (-[WebHTMLView viewDidMoveToWindow]):
716        (-[WebHTMLView attachRootLayer:]):
717
7182011-03-29  Kent Tamura  <tkent@chromium.org>
719
720        Reviewed by Dimitri Glazkov.
721
722        Make validation message bubble testable
723        https://bugs.webkit.org/show_bug.cgi?id=57290
724
725        * WebView/WebView.mm:
726        (-[WebView _preferencesChangedNotification:]): Copy the private value of
727          the timer magnification to WebCore::Settings.
728        (-[WebView validationMessageTimerMagnification]): Added.
729        (-[WebView setValidationMessageTimerMagnification:]): Added.
730        * WebView/WebViewData.h: Declare a member for the timer magnification.
731        * WebView/WebViewData.mm:
732        (-[WebViewPrivate init]): Initialize the timer magnification.
733        * WebView/WebViewPrivate.h:
734          Declare a setter and a getter for the timer magnification.
735
7362011-03-29  Kent Tamura  <tkent@chromium.org>
737
738        Reviewed by Dimitri Glazkov.
739
740        [Mac] Enable interactive-validation tests on Mac DRT
741        https://bugs.webkit.org/show_bug.cgi?id=57308
742
743        * WebView/WebView.mm:
744        (-[WebView _preferencesChangedNotification:]):
745          Convey a WebView flag for interactive validation to WebCore::Settings.
746        (-[WebView interactiveFormValidationEnabled]): Added.
747        (-[WebView setInteractiveFormValidationEnabled:]): Added.
748        * WebView/WebViewData.h: Add interactiveFormValidationEnabled.
749        * WebView/WebViewData.mm:
750        (-[WebViewPrivate init]): Initialize interactiveFormValidationEnabled.
751        * WebView/WebViewPrivate.h: Add setter and getter for interactiveFormValidationEnabled.
752
7532011-03-29  Timothy Hatcher  <timothy@apple.com>
754
755        Update the order of the context menu to better match AppKit on Mac.
756
757        <rdar://problem/9054893>
758
759        Reviewed by John Sullivan.
760
761        * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
762        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): Update the order of items.
763        * WebCoreSupport/WebPlatformStrategies.h:
764        * WebCoreSupport/WebPlatformStrategies.mm:
765        (WebPlatformStrategies::contextMenuItemTagLookUpInDictionary): Added argument for selected string.
766
7672011-03-29  Alexey Proskuryakov  <ap@apple.com>
768
769        Reviewed by Darin Adler.
770
771        https://bugs.webkit.org/show_bug.cgi?id=57379
772        Clean up WK1 key event handling logic
773
774        No bugs knowingly fixed, but this makes the code more consistent.
775
776        * WebView/WebHTMLView.mm:
777        (struct WebHTMLViewInterpretKeyEventsParameters): Renamed eventWasHandled to
778        eventInterpretationHadSideEffects, because "handled" doesn't really mean much.
779        (-[WebHTMLView _executeSavedEditingCommands]): Factored out from _interpretKeyEvent for use
780        from other functions. We need to execute saved commands when an input method asks for current
781        state, because providing stale state could confuse it.
782        (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Heavily commented, and updated for other
783        changes.
784        (-[WebHTMLView characterIndexForPoint:]): Call _executeSavedEditingCommands, because otherwise,
785        the answer would be stale.
786        (-[WebHTMLView firstRectForCharacterRange:]): Ditto.
787        (-[WebHTMLView selectedRange]): Ditto.
788        (-[WebHTMLView markedRange]): Ditto.
789        (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
790        (-[WebHTMLView hasMarkedText]): Ditto.
791        (-[WebHTMLView unmarkText]): Call _executeSavedEditingCommands, because otherwise, we'd be
792        operating on stale data. Also, updated for eventWasHandled renaming.
793        (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
794        (-[WebHTMLView doCommandBySelector:]): Removed special handling for noop:. I verified that
795        it's no longer needed for bug 14522, presumably due to WebCore level changes. It was also
796        fragile, because there is no guarantee about when noop: is sent (also, a custom key binding
797        could have a noop: as one of its commands, although that's hardly practical).
798        Added the same "from input method" logic that we have in insertText: - I don't know of any
799        IMs that call this method, but we clearly need to execute it as part of IM processing when
800        there is marked text.
801        (-[WebHTMLView insertText:]): Removed a confusing check for [text length]. Always set
802        eventInterpretationHadSideEffects to true, becasue there is no reason to try multiple times
803        if current selection isn't editable. This is different from doCommandBySelector:, where we
804        need to give super class a chance to handle the event if our processing fails.
805        Removed a nonsense "consumedByIM = true" assignment - we no longer need it now that the
806        return value of _interpretKeyEvent is computed differently.
807
8082011-03-28  Adele Peterson  <adele@apple.com>
809
810        Reviewed by Eric Seidel.
811
812        Fix for <rdar://problem/9112694> REGRESSION (r79411): "Check grammar with spelling" context menu doesn't check as you type
813        https://bugs.webkit.org/show_bug.cgi?id=57173
814
815        * WebView/WebFrame.mm:
816        (-[WebFrame hasSpellingMarker:length:]): Call new selectionStartHasMarkerFor method instead of selectionStartHasSpellingMarkerFor.
817        (-[WebFrame hasGrammarMarker:length:]): Call new selectionStartHasMarkerFor method.
818        * WebView/WebFramePrivate.h: Add hasGrammarMarker so grammar marking can be tested.
819
8202011-03-28  Alexey Proskuryakov  <ap@apple.com>
821
822        Reviewed by Darin Adler.
823
824        https://bugs.webkit.org/show_bug.cgi?id=57260
825        Clean up text input code a little
826
827        * WebCoreSupport/WebEditorClient.mm:
828        (WebEditorClient::handleKeyboardEvent):
829        (WebEditorClient::handleInputMethodKeydown):
830        * WebView/WebHTMLViewInternal.h:
831        Renamed _interceptEditingKeyEvent:shouldSaveCommand:, becasue it doesn't really intercept
832        anything. It's just a version it interpretKeyEvents: that tells us whether it was handled,
833        and also possibly saves resulting commands for later execution.
834
835        * WebView/WebHTMLView.mm:
836        (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Changed to use early return. Changed
837        return value in case platformEvent is null to be less mysterious. Moved receivedNOOP from
838        WebHTMLViewPrivate to WebHTMLViewInterpretKeyEventsParameters, as this is just part of event
839        handling state, like the other booleans there. Don't call interpretKeyEvents: again simply
840        because the first call resulted in no saved commands, becasue it's confusing and apparently
841        useless (I couldn't find any broken behavior).
842        (-[WebHTMLView unmarkText]): Cleaned upo BOOL vs. bool constants.
843        (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
844        (-[WebHTMLView doCommandBySelector:]): Ditto.
845        (-[WebHTMLView insertText:]): Ditto.
846
847        * WebView/WebViewInternal.h: There was no _interceptEditingKeyEvent:shouldSaveCommand:
848        method on WebView.
849
8502011-03-27  Jer Noble  <jer.noble@apple.com>
851
852        Reviewed by Maciej Stachowiak.
853
854        Full Screen: disable keyboard access by default
855        https://bugs.webkit.org/show_bug.cgi?id=56684
856
857        Take into account whether keyboard access was requested when deciding whether full
858        screen mode is supported.
859
860        * WebCoreSupport/WebChromeClient.h:
861        * WebCoreSupport/WebChromeClient.mm:
862        (WebChromeClient::supportsFullScreenForElement):
863        * WebView/WebView.mm:
864        (-[WebView _supportsFullScreenForElement:WebCore::withKeyboard:]):
865        * WebView/WebViewInternal.h:
866
8672011-03-26  Jer Noble  <jer.noble@apple.com>
868
869        Reviewed by Eric Carlson.
870
871        Enable the Full Screen API by default in WebKit/mac and WebKit2
872        https://bugs.webkit.org/show_bug.cgi?id=56956
873
874        * WebView/WebPreferences.mm:
875        (+[WebPreferences initialize]): Default the WebKitFullScreenEnabled preference to true.
876
8772011-03-25  Andy Estes  <aestes@apple.com>
878
879        Reviewed by Adele Peterson.
880
881        REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
882        https://bugs.webkit.org/show_bug.cgi?id=49016
883
884        Update objectContentType() implementation to handle the
885        shouldPreferPlugInsForImages flag.
886
887        * WebCoreSupport/WebFrameLoaderClient.h:
888        * WebCoreSupport/WebFrameLoaderClient.mm:
889        (WebFrameLoaderClient::objectContentType):
890
8912011-03-24  Sheriff Bot  <webkit.review.bot@gmail.com>
892
893        Unreviewed, rolling out r81939.
894        http://trac.webkit.org/changeset/81939
895        https://bugs.webkit.org/show_bug.cgi?id=57084
896
897        Rolling out 81939, as it's causing a number of app cache test
898        failures. (Requested by jernoble on #webkit).
899
900        * WebView/WebView.mm:
901        (-[WebView _preferencesChangedNotification:]):
902
9032011-03-23  Jer Noble  <jer.noble@apple.com>
904
905        Reviewed by Maciej Stachowiak.
906
907        Application Cache should save audio/ and video/ mime types as flat files
908        https://bugs.webkit.org/show_bug.cgi?id=53784
909        <rdar://problem/8932473>
910
911        No new tests.
912
913        Initialize the AppCache Total size quotas with the values for WebKitPreferences
914        upon startup.
915
916        * WebView/WebView.mm:
917        (-[WebView _preferencesChangedNotification:]):
918
9192011-03-24  Sheriff Bot  <webkit.review.bot@gmail.com>
920
921        Unreviewed, rolling out r81916 and r81917.
922        http://trac.webkit.org/changeset/81916
923        http://trac.webkit.org/changeset/81917
924        https://bugs.webkit.org/show_bug.cgi?id=57071
925
926        broke a test on platforms that do not have QuickTime installed
927        (Requested by estes on #webkit).
928
929        * WebCoreSupport/WebFrameLoaderClient.h:
930        * WebCoreSupport/WebFrameLoaderClient.mm:
931        (WebFrameLoaderClient::objectContentType):
932
9332011-03-24  Andy Estes  <aestes@apple.com>
934
935        Reviewed by Darin Adler.
936
937        REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
938        https://bugs.webkit.org/show_bug.cgi?id=49016
939
940        Update objectContentType() implementation to handle the
941        shouldPreferPlugInsForImages flag.
942
943        * WebCoreSupport/WebFrameLoaderClient.h:
944        * WebCoreSupport/WebFrameLoaderClient.mm:
945        (WebFrameLoaderClient::objectContentType):
946
9472011-03-24  Geoffrey Garen  <ggaren@apple.com>
948
949        Reviewed by Oliver Hunt.
950
951        Ensure that all compilation takes place within a dynamic global object scope
952        https://bugs.webkit.org/show_bug.cgi?id=57054
953
954        * WebView/WebScriptDebugDelegate.mm:
955        (-[WebScriptCallFrame evaluateWebScript:]): Updated for signature change.
956
9572011-03-24  Jia Pu  <jpu@apple.com>
958
959        Reviewed by Darin Adler.
960
961        Dismissed reversion suggestion is incorrectly learned.
962        https://bugs.webkit.org/show_bug.cgi?id=57039
963
964        CorrectionPanel should always use [NSSpellChecker dismissCorrectionBubbleForView].
965        [NSSpellChecker cancelCorrectionBubbleForView] is reserved for situation where correction panel
966        is dismissed explicitly by ESC key or clicking the dimiss button. Misusing these causes
967        incorrect automatic learning.
968
969        * WebCoreSupport/CorrectionPanel.mm:
970        (CorrectionPanel::dismissInternal):
971
9722011-03-24  David Kilzer  <ddkilzer@apple.com>
973
974        <http://webkit.org/b/56993> ENABLE_PLUGIN_PROXY_FOR_VIDEO should be defined to 0 on Mac OS X
975
976        Reviewed by Joseph Pecoraro.
977
978        * Plugins/WebPluginContainerPrivate.h: Changed value of
979        ENABLE_PLUGIN_PROXY_FOR_VIDEO from 1 to 0.
980
9812011-03-23  Jia Pu  <jpu@apple.com>
982
983        Reviewed by Darin Adler.
984
985        Hook up new AppKit autocorrection UI with WK2.
986        https://bugs.webkit.org/show_bug.cgi?id=56055
987        <rdar://problem/8947463>
988
989        Please see WebCore/ChangeLog for detail.
990
991        * WebCoreSupport/CorrectionPanel.h: Added.
992        (CorrectionPanel::isShowing):
993        * WebCoreSupport/CorrectionPanel.mm: Added.
994        (correctionBubbleType):
995        (CorrectionPanel::CorrectionPanel):
996        (CorrectionPanel::~CorrectionPanel):
997        (CorrectionPanel::show):
998        (CorrectionPanel::dismiss):
999        (CorrectionPanel::dismissSoon):
1000        (CorrectionPanel::dismissInternal):
1001        (CorrectionPanel::recordAutocorrectionResponse):
1002        * WebCoreSupport/WebEditorClient.h:
1003        * WebCoreSupport/WebEditorClient.mm:
1004        (WebEditorClient::WebEditorClient):
1005        (WebEditorClient::showCorrectionPanel):
1006        (WebEditorClient::dismissCorrectionPanel):
1007        (WebEditorClient::dismissCorrectionPanelSoon):
1008        (WebEditorClient::recordAutocorrectionResponse):
1009        * WebView/WebView.mm:
1010        (-[WebView handleCorrectionPanelResult:]):
1011        * WebView/WebViewPrivate.h:
1012
10132011-03-23  Enrica Casucci  <enrica@apple.com>
1014
1015        Reviewed by Alexey Proskuryakov.
1016
1017        Services menu item to convert selected Simplified/Traditional Chinese Text is not working.
1018        https://bugs.webkit.org/show_bug.cgi?id=56974
1019        <rdar://problem/8284642>
1020
1021        This fixes a regression introduced by http://trac.webkit.org/changeset/61794
1022        where readSelectionFromPasteboard was accidentally removed.
1023        This method and writeSelectionToPasteboard are needed to support Mac OS X
1024        services.
1025
1026        * WebView/WebHTMLView.mm:
1027        (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Added.
1028        (-[WebHTMLView readSelectionFromPasteboard:]): Added.
1029
10302011-03-23  Brady Eidson  <beidson@apple.com>
1031
1032        Reviewed by Sam Weinig.
1033
1034        Change IconDatabase opening to allow for arbitrary filenames
1035        https://bugs.webkit.org/show_bug.cgi?id=56977
1036
1037        * Misc/WebIconDatabase.mm:
1038        (-[WebIconDatabase _startUpIconDatabase]):
1039
10402011-03-22  Anton D'Auria  <adauria@apple.com>
1041
1042        Reviewed by Alexey Proskuryakov.
1043
1044        Add +[WebApplicationCache getOriginsWithCache]
1045        https://bugs.webkit.org/show_bug.cgi?id=56722
1046
1047        Call existing WebCore::ApplicationCacheStorage::getOriginsWithCache API.
1048
1049        * WebCoreSupport/WebApplicationCache.h:
1050        * WebCoreSupport/WebApplicationCache.mm:
1051        (+[WebApplicationCache originsWithCache]):
1052
10532011-03-22  Anders Carlsson  <andersca@apple.com>
1054
1055        Reviewed by Sam Weinig.
1056
1057        OBJECT element with DivX source is always downloaded
1058        https://bugs.webkit.org/show_bug.cgi?id=56879
1059
1060        * Plugins/WebBasePluginPackage.mm:
1061        (-[WebBasePluginPackage getPluginInfoFromPLists]):
1062        Always try to split every element in the "WebPluginExtensions" array, since the DivX plug-in
1063        specifies multiple file extensions in a single element.
1064
10652011-03-22  Brady Eidson  <beidson@apple.com>
1066
1067        Reviewed by Sam Weinig.
1068
1069        <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56876
1070        WK2 Icon DB: Expand IconDatabaseClient interface and move it to the main thread
1071
1072        Note that while the new client calls always come through on the main thread, our mechanisms to
1073        route dispatches to the main thread are still valid and will still work.
1074
1075        Update to the new IconDatabaseClient interface:
1076        * WebCoreSupport/WebIconDatabaseClient.h:
1077        * WebCoreSupport/WebIconDatabaseClient.mm:
1078        (WebIconDatabaseClient::didRemoveAllIcons):
1079        (WebIconDatabaseClient::didImportIconURLForPageURL):
1080        (WebIconDatabaseClient::didImportIconDataForPageURL):
1081        (WebIconDatabaseClient::didChangeIconForPageURL):
1082        (WebIconDatabaseClient::didFinishURLImport):
1083
10842011-03-22  Matthew Delaney  <mdelaney@apple.com>
1085
1086        Reviewed by Simon Fraser.
1087
1088        Have WebKit push acceleratedDrawing preferences to settings
1089        https://bugs.webkit.org/show_bug.cgi?id=56792
1090
1091        * WebView/WebView.mm:
1092
10932011-03-21  Nate Chapin  <japhet@chromium.org>
1094
1095        Reviewed by Brady Eidson.
1096
1097        Expose a preference to use caching quirks for QuickLook,
1098        and use it if the QuickLook framework is loaded.
1099
1100        https://bugs.webkit.org/show_bug.cgi?id=38690
1101
1102        * WebView/WebPreferenceKeysPrivate.h:
1103        * WebView/WebPreferences.mm:
1104        (useQuickLookQuirks):
1105        (+[WebPreferences initialize]):
1106        (-[WebPreferences useQuickLookResourceCachingQuirks]):
1107        * WebView/WebPreferencesPrivate.h:
1108        * WebView/WebView.mm:
1109        (-[WebView _preferencesChangedNotification:]):
1110
11112011-03-21  Chris Fleizach  <cfleizach@apple.com>
1112
1113        Reviewed by Darin Adler.
1114
1115        AX: showContextMenu not working in WK2
1116        https://bugs.webkit.org/show_bug.cgi?id=56734
1117
1118        Implement showContextMenu() so accessibility related code can call this
1119        independent of whether WK1 or WK2 is running.
1120
1121        * WebCoreSupport/WebChromeClient.h:
1122        * WebCoreSupport/WebChromeClient.mm:
1123        (WebChromeClient::showContextMenu):
1124
11252011-03-21  Chang Shu  <cshu@webkit.org>
1126
1127        Reviewed by Alexey Proskuryakov.
1128
1129        REGRESSION (r79953): Can't type in MS Outlook 2011
1130        https://bugs.webkit.org/show_bug.cgi?id=56665
1131
1132        r79953 removed the WebView level editablity which is persistent no matter whether
1133        underlying document itself is changed and editability gets lost. The resolution is to
1134        set this WebView editable value to WebCore. This avoids the callback from WebCore to
1135        WebKit which was the main goal in r79953 to improve performance.
1136
1137        * WebView/WebView.mm:
1138        (-[WebView setEditable:]):
1139        (-[WebView isEditable]):
1140
11412011-03-19  Anton D'Auria  <adauria@apple.com>
1142
1143        Reviewed by Alexey Proskuryakov.
1144
1145        ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin
1146        https://bugs.webkit.org/show_bug.cgi?id=56415
1147
1148        Use new ApplicationCache API to delete all cache for an origin.
1149
1150        * WebCoreSupport/WebApplicationCache.h:
1151        * WebCoreSupport/WebApplicationCache.mm:
1152        (+[WebApplicationCache deleteOrigin:]):
1153
11542011-03-17  Brady Eidson  <beidson@apple.com>
1155
1156        Reviewed by Sam Weinig.
1157
1158        https://bugs.webkit.org/show_bug.cgi?id=56425
1159        More groundwork for WebKit2 IconDatabase
1160
1161        Update already-used function names:
1162        * Misc/WebIconDatabase.mm:
1163        (-[WebIconDatabase iconForURL:withSize:cache:]):
1164        (-[WebIconDatabase iconURLForURL:]):
1165        * WebView/WebView.mm:
1166        (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
1167
11682011-03-18  Pavel Podivilov  <podivilov@chromium.org>
1169
1170        Reviewed by Yury Semikhatsky.
1171
1172        Web Inspector: implement inspector session storage.
1173        https://bugs.webkit.org/show_bug.cgi?id=56643
1174
1175        * WebCoreSupport/WebInspectorClient.h:
1176        * WebCoreSupport/WebInspectorClient.mm:
1177        (WebInspectorClient::saveSessionSetting):
1178        (WebInspectorClient::loadSessionSetting):
1179        (WebInspectorFrontendClient::saveSessionSetting):
1180        (WebInspectorFrontendClient::loadSessionSetting):
1181        (-[WebInspectorWindowController inspectorClient]):
1182
11832011-03-17  Geoffrey Garen  <ggaren@apple.com>
1184
1185        Reviewed by Oliver Hunt.
1186
1187        Fixed a leak seen on the buildbot.
1188
1189        * WebCoreSupport/WebInspectorClient.mm:
1190        (WebInspectorClient::openInspectorFrontend): Smart pointers are smart.
1191
11922011-03-16  Jeff Johnson  <github@lapcatsoftware.com>
1193
1194        Reviewed by Alexey Proskuryakov.
1195
1196        Logic error in -[WebHTMLView close]
1197        https://bugs.webkit.org/show_bug.cgi?id=56445
1198
1199        Page is always nil at this point, because [self _webView] is nil,
1200        so the conditional code is never run.
1201
1202        * WebView/WebHTMLView.mm:
1203        (-[WebHTMLView close]):
1204
12052011-03-16  Chris Fleizach  <cfleizach@apple.com>
1206
1207        Reviewed by Darin Adler.
1208
1209        WK2: Need to propagate enhanced accessibility flag from UI -> web process
1210        https://bugs.webkit.org/show_bug.cgi?id=56379
1211
1212        * WebView/WebFrame.mm:
1213        (-[WebFrame accessibilityRoot]):
1214
12152011-03-15  Oliver Hunt  <oliver@apple.com>
1216
1217        Reviewed by Geoffrey Garen.
1218
1219        Make Structure creation require a JSGlobalData
1220        https://bugs.webkit.org/show_bug.cgi?id=56438
1221
1222        Mechanical change to make all Structure creation use a JSGlobalData&
1223
1224        * Plugins/Hosted/ProxyInstance.mm:
1225        (WebKit::ProxyRuntimeMethod::createStructure):
1226        * Plugins/Hosted/ProxyRuntimeObject.h:
1227        (WebKit::ProxyRuntimeObject::createStructure):
1228
12292011-03-15  Alexey Proskuryakov  <ap@apple.com>
1230
1231        Forgot to save a modification to this file when committing.
1232
1233        * WebCoreSupport/WebKeyGenerator.mm: Changed "Apple Computer" to "Apple" in copyright header.
1234
12352011-03-15  Alexey Proskuryakov  <ap@apple.com>
1236
1237        Reviewed by Darin Adler.
1238
1239        REGRESSION (WebKit2): keygen element doesn't work
1240        https://bugs.webkit.org/show_bug.cgi?id=56402
1241        <rdar://problem/9006545>
1242
1243        * WebCoreSupport/WebKeyGenerator.h:
1244        * WebCoreSupport/WebKeyGenerator.m: Removed.
1245        * WebCoreSupport/WebKeyGenerator.mm: Copied from Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.m.
1246        (+[WebKeyGenerator sharedGenerator]):
1247        (toWebCertificateParseResult):
1248        WebCore no longer needs WebKeyGenerator. Safari still does need a part of it, so keeping
1249        this misnamed and misplaced code for now.
1250
1251        * WebCoreSupport/WebPlatformStrategies.h:
1252        * WebCoreSupport/WebPlatformStrategies.mm:
1253        (WebPlatformStrategies::keygenMenuItem512):
1254        (WebPlatformStrategies::keygenMenuItem1024):
1255        (WebPlatformStrategies::keygenMenuItem2048):
1256        (WebPlatformStrategies::keygenKeychainItemName):
1257        Added strings used by keygen.
1258
1259        * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize a WebCore
1260        pointer to a function used by keygen.
1261
1262        * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): WebKeyGenerator can be lazily
1263        initialized now.
1264
12652011-03-15  Beth Dakin  <bdakin@apple.com>
1266
1267        Reviewed by Simon Fraser.
1268
1269        WebKit part of <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6%
1270
1271        New WebKitystemInterface function to force the scrollbars to flash
1272        * WebCoreSupport/WebSystemInterface.mm:
1273        (InitWebCoreSystemInterface):
1274
12752011-03-15  Ilya Sherman  <isherman@chromium.org>
1276
1277        Reviewed by Tony Chang.
1278
1279        Autofilled form elements are assigned fixed background color but not text color
1280        https://bugs.webkit.org/show_bug.cgi?id=48382
1281
1282        * DOM/WebDOMOperations.mm:
1283        (-[DOMHTMLInputElement _setAutofilled:]): Added (wrapper).
1284        * DOM/WebDOMOperationsPrivate.h:
1285
12862011-03-15  Adam Roben  <aroben@apple.com>
1287
1288        Fix a leak in WebStorageTrackerClient::dispatchDidModifyOrigin
1289
1290        Fixes <http://webkit.org/b/56385> SecurityOrigin leaks seen in
1291        WebStorageTrackerClient::dispatchDidModifyOrigin
1292
1293        Reviewed by Antti Koivisto.
1294
1295        * Storage/WebStorageTrackerClient.mm:
1296        (WebStorageTrackerClient::dispatchDidModifyOriginOnMainThread): Adopt the reference passed
1297        to us by dispatchDidModifyOrigin.
1298        (WebStorageTrackerClient::dispatchDidModifyOrigin): Added a comment and removed an
1299        unnecessary cast.
1300
13012011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
1302
1303        Reviewed by Darin Adler.
1304
1305        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
1306        info into the headers rather than in export symbol definition files, but disable it on
1307        all platforms initially so we can deal with port build issues one port at a time.
1308
1309        https://bugs.webkit.org/show_bug.cgi?id=27551
1310
1311        * WebKitPrefix.h:
1312
13132011-03-14  Brady Eidson  <beidson@apple.com>
1314
1315        Reviewed by Anders Carlsson.
1316
1317        https://bugs.webkit.org/show_bug.cgi?id=56320
1318        Remove HistoryItem::icon() and the WebCore dependency on "IconDatabaseBase::defaultIcon()"
1319
1320        * History/WebHistoryItem.mm:
1321        (-[WebHistoryItem icon]): This far-future FIXME is now irrelevant.
1322
13232011-03-13  Pratik Solanki  <psolanki@apple.com>
1324
1325        Reviewed by Brady Eidson.
1326
1327        Make adjustMIMETypeIfNecessary use CFNetwork directly
1328        https://bugs.webkit.org/show_bug.cgi?id=55912
1329
1330        * WebCoreSupport/WebSystemInterface.mm:
1331        (InitWebCoreSystemInterface): Support for new WKSI functions.
1332
13332011-03-12  Mark Rowe  <mrowe@apple.com>
1334
1335        Fix the 32-bit build.
1336
1337        * Carbon/CarbonWindowAdapter.mm:
1338        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): Use a more appropriate format specifier.
1339        (-[CarbonWindowAdapter _carbonWindowClass]): Ditto.
1340
13412011-03-11  Brady Eidson  <beidson@apple.com>
1342
1343        Reviewed by Anders Carlsson
1344
1345        <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216
1346        Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation.
1347
1348        * Misc/WebIconDatabase.mm:
1349        (+[WebIconDatabase _checkIntegrityBeforeOpening]): Call these static methods on IconDatabase::, not iconDatabase().
1350        (-[WebIconDatabase _startUpIconDatabase]): Ditto.
1351        (importToWebCoreFormat):
1352
13532011-03-11  Anton D'Auria  <adauria@apple.com>
1354
1355        Reviewed and landed by Brady Eidson.
1356
1357        https://bugs.webkit.org/show_bug.cgi?id=51878
1358        Add WebKit1 API to view and delete local storage
1359
1360        * Storage/WebStorageManager.mm: Added.
1361        (+[WebStorageManager sharedWebStorageManager]):
1362        (-[WebStorageManager origins]):
1363        (-[WebStorageManager deleteAllOrigins]):
1364        (-[WebStorageManager deleteOrigin:]):
1365        (-[WebStorageManager syncLocalStorage]):
1366        (-[WebStorageManager syncFileSystemAndTrackerDatabase]):
1367        (storageDirectoryPath):
1368        (WebKitInitializeStorageIfNecessary):
1369        * Storage/WebStorageManagerInternal.h: Added.
1370        * Storage/WebStorageManagerPrivate.h: Added.
1371        * Storage/WebStorageTrackerClient.h: Added.
1372        * Storage/WebStorageTrackerClient.mm: Added.
1373        (WebStorageTrackerClient::sharedWebStorageTrackerClient):
1374        (WebStorageTrackerClient::WebStorageTrackerClient):
1375        (WebStorageTrackerClient::~WebStorageTrackerClient):
1376        (WebStorageTrackerClient::dispatchDidModifyOriginOnMainThread):
1377        (WebStorageTrackerClient::dispatchDidModifyOrigin):
1378        * WebCoreSupport/WebSecurityOrigin.mm:
1379        (-[WebSecurityOrigin protocol]):
1380        (-[WebSecurityOrigin host]):
1381        (-[WebSecurityOrigin databaseIdentifier]):
1382        (-[WebSecurityOrigin domain]):
1383        (-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
1384        * WebCoreSupport/WebSecurityOriginPrivate.h:
1385        * WebKit.exp:
1386        * WebView/WebView.mm:
1387        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
1388
13892011-03-10  Anders Carlsson  <andersca@apple.com>
1390
1391        Reviewed by Sam Weinig.
1392
1393        <rdar://problem/9117047>
1394        Don't paint more than 60 times per second even when scrolling
1395
1396        * WebView/WebClipView.mm:
1397        (-[WebClipView _immediateScrollToPoint:]):
1398
13992011-03-09  Matthew Delaney  <mdelaney@apple.com>
1400
1401        Reviewed by Simon Fraser.
1402
1403        Plumb through settings for accelerated drawing for canvas
1404        https://bugs.webkit.org/show_bug.cgi?id=56039
1405
1406        * WebView/WebPreferenceKeysPrivate.h:
1407        * WebView/WebPreferences.mm:
1408        * WebView/WebPreferencesPrivate.h:
1409
14102011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
1411
1412        Reviewed by Tony Chang.
1413
1414        VisiblePosition's next and previous should take an enum instead of a boolean
1415        https://bugs.webkit.org/show_bug.cgi?id=56135
1416
1417        SelectionController::isAll now takes EditingBoundaryCrossingRule instead of
1418        StayInEditableContent.
1419
1420        * WebView/WebView.mm:
1421        (-[WebView _selectionIsAll]):
1422
14232011-03-09  Jessie Berlin  <jberlin@apple.com>
1424
1425        Reviewed by Adam Roben.
1426
1427        Use the Cookie Storage from the Private Browsing Storage Session directly
1428        https://bugs.webkit.org/show_bug.cgi?id=55986
1429
1430        * WebCoreSupport/WebSystemInterface.mm:
1431        (InitWebCoreSystemInterface):
1432
14332011-03-08  Darin Adler  <darin@apple.com>
1434
1435        Reviewed by Timothy Hatcher.
1436
1437        Promote a method used outside WebKit from internal to private
1438        https://bugs.webkit.org/show_bug.cgi?id=55949
1439
1440        * Misc/WebNSPasteboardExtras.mm: Removed an unused category declaration.
1441        Minor tweak, not directly related to the rest of this patch.
1442
1443        * WebView/WebFrame.mm:
1444        (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]): Moved
1445        this method from the internal category into the private category.
1446        Streamlined the code a bit.
1447
1448        * WebView/WebFrameInternal.h: Removed _computePageRects method.
1449        * WebView/WebFramePrivate.h: Added _computePageRects method.
1450
14512011-03-07  Ryosuke Niwa  <rniwa@webkit.org>
1452
1453        Reviewed by Darin Adler.
1454
1455        selectionHasStyle and selectionStartHasStyle should use EditingStyle
1456        https://bugs.webkit.org/show_bug.cgi?id=55902
1457
1458        selectionHasStyle now takes a property id and a value instead of a CSSMutableStyleDeclaration.
1459
1460        * WebView/WebHTMLView.mm: Removed unused selectionHasStyle.
1461        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Calls Editor::selectionHasStyle.
1462
14632011-03-07  Dan Bernstein  <mitz@apple.com>
1464
1465        LLVM Compiler build fix.
1466
1467        * WebCoreSupport/WebEditorClient.mm:
1468        (WebEditorClient::checkGrammarOfString):
1469
14702011-03-07  Chris Fleizach  <cfleizach@apple.com>
1471
1472        Reviewed by Beth Dakin.
1473
1474        AX: WK1 needs to use ScrollView attachment for AXScrollArea, WK2 does not
1475        https://bugs.webkit.org/show_bug.cgi?id=55706
1476
1477        Make sure WebDynamicScrollBarsView appear in the AX tree in WK1 (since this object
1478        returns the scroll bar objects).
1479        Make the accessibilityRoot object be the web area in WK1 because WebDynamicScrollBarsView
1480        will expect that as its child, instead of the WebCore ScrollView object.
1481
1482        * WebView/WebDynamicScrollBarsView.mm:
1483        (-[WebDynamicScrollBarsView accessibilityIsIgnored]):
1484        * WebView/WebFrame.mm:
1485        (-[WebFrame accessibilityRoot]):
1486
14872011-03-07  Sam Weinig  <sam@webkit.org>
1488
1489        Reviewed by Anders Carlsson.
1490
1491        Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse
1492        https://bugs.webkit.org/show_bug.cgi?id=55827
1493
1494        Renamed FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse
1495        and pass the entire response, instead of just the MIMEType.
1496
1497        * WebCoreSupport/WebFrameLoaderClient.h:
1498        * WebCoreSupport/WebFrameLoaderClient.mm:
1499        (WebFrameLoaderClient::dispatchDecidePolicyForResponse):
1500
15012011-03-06  Dan Bernstein  <mitz@apple.com>
1502
1503        LLVM Compiler build fix.
1504
1505        * DOM/WebDOMOperations.mm:
1506        (-[DOMHTMLInputElement _setValueForUser:]):
1507
15082011-03-06  Jessie Berlin  <jberlin@apple.com>
1509
1510        Reviewed by Sam Weinig.
1511
1512        WebKit2: Use CFNetwork Sessions API.
1513        https://bugs.webkit.org/show_bug.cgi?id=55435.
1514
1515        When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
1516        Private Browsing Storage Session.
1517
1518        * WebCoreSupport/WebSystemInterface.mm:
1519        (InitWebCoreSystemInterface):
1520        Add support for using the new WKSI functions in WebCore.
1521
15222011-03-05  Ilya Sherman  <isherman@chromium.org>
1523
1524        Reviewed by Darin Adler.
1525
1526        HTMLInputElement::setValue() should schedule change event when the element is focused
1527        In service of https://code.google.com/p/chromium/issues/detail?id=42716
1528        https://bugs.webkit.org/show_bug.cgi?id=53160
1529
1530        * DOM/WebDOMOperations.mm:
1531        (-[DOMHTMLInputElement _setValueForUser:]): Expose HTMLInputElement::setValueForUser() to tests
1532        * DOM/WebDOMOperationsPrivate.h:
1533        * WebView/WebViewInternal.h:
1534
15352011-03-04  Jia Pu  <jpu@apple.com>
1536
1537        Reviewed by Darin Adler.
1538
1539        On Mac, the bounding box sent to EditorClient::showCorrectionPanel() is incorrect when the correction occurs in an iframe.
1540        https://bugs.webkit.org/show_bug.cgi?id=55717
1541        <rdar://problem/9018127>
1542
1543        With the change in WebCore, the bounding box passed into EditorClient::showCorrectionPanel()
1544        is already in window coordinate. We don't need to do further conversion anymore.
1545
1546        * WebCoreSupport/WebEditorClient.mm:
1547        (WebEditorClient::showCorrectionPanel):
1548
15492011-03-04  Jessie Berlin  <jberlin@apple.com>
1550
1551        Reviewed by Maciej Stachowiak.
1552
1553        WebKit2: Use CFNetwork Sessions API.
1554        https://bugs.webkit.org/show_bug.cgi?id=55435.
1555
1556        When Private Browsing is enabled, get the cached url response from the cache associated with
1557        the Private Browsing Storage Session.
1558
1559        * WebView/WebView.mm:
1560        (-[WebView _cachedResponseForURL:]):
1561
15622011-03-03  Anders Carlsson  <andersca@apple.com>
1563
1564        Reviewed by Sam Weinig.
1565
1566        Get rid of Page::globalHistoryItem
1567        https://bugs.webkit.org/show_bug.cgi?id=55738
1568
1569        * WebCoreSupport/WebFrameLoaderClient.h:
1570        * WebCoreSupport/WebFrameLoaderClient.mm:
1571        (WebFrameLoaderClient::updateGlobalHistoryItemForPage):
1572        Get the current history item and update it using -[WebView _setGlobalHistoryItem:].
1573
1574        * WebView/WebView.mm:
1575        (-[WebView _globalHistoryItem]):
1576        (-[WebView _setGlobalHistoryItem:]):
1577        Set _globalHistoryItem ivar.
1578
1579        * WebView/WebViewData.h:
1580        * WebView/WebViewData.mm:
1581        Add _globalHistoryItem ivar.
1582
15832011-03-03  Brady Eidson  <beidson@apple.com>
1584
1585        Reviewed by Darin Adler.
1586
1587        https://bugs.webkit.org/show_bug.cgi?id=55721
1588        Global IconDatabase should be returned by reference, not as a pointer
1589
1590        * Misc/WebCoreStatistics.mm:
1591        (+[WebCoreStatistics iconPageURLMappingCount]):
1592        (+[WebCoreStatistics iconRetainedPageURLCount]):
1593        (+[WebCoreStatistics iconRecordCount]):
1594        (+[WebCoreStatistics iconsWithDataCount]):
1595        * Misc/WebIconDatabase.mm:
1596        (-[WebIconDatabase init]):
1597        (-[WebIconDatabase iconForURL:withSize:cache:]):
1598        (-[WebIconDatabase iconURLForURL:]):
1599        (-[WebIconDatabase defaultIconWithSize:]):
1600        (-[WebIconDatabase retainIconForURL:]):
1601        (-[WebIconDatabase releaseIconForURL:]):
1602        (-[WebIconDatabase isEnabled]):
1603        (-[WebIconDatabase setEnabled:]):
1604        (-[WebIconDatabase removeAllIcons]):
1605        (+[WebIconDatabase _checkIntegrityBeforeOpening]):
1606        (-[WebIconDatabase _startUpIconDatabase]):
1607        (-[WebIconDatabase _applicationWillTerminate:]):
1608        (-[WebIconDatabase _resetCachedWebPreferences:]):
1609        (importToWebCoreFormat):
1610        * WebView/WebView.mm:
1611        (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
1612
16132011-03-03  Jessie Berlin  <jberlin@apple.com>
1614
1615        Reviewed by Adam Roben.
1616
1617        WebKit2: Use CFNetwork Sessions API.
1618        https://bugs.webkit.org/show_bug.cgi?id=55435.
1619
1620        Set the Private Browsing Storage Session on requests when Private Browsing is enabled.
1621
1622        * WebCoreSupport/WebSystemInterface.mm:
1623        (InitWebCoreSystemInterface):
1624        Support using WKCopyRequestWithStorageSession in WebCore.
1625
16262011-03-02  Alexey Proskuryakov  <ap@apple.com>
1627
1628        Reviewed by Darin Adler.
1629
1630        REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access
1631        https://bugs.webkit.org/show_bug.cgi?id=55633
1632        <rdar://problem/8963023>
1633
1634        * WebCoreSupport/WebChromeClient.h:
1635        * WebCoreSupport/WebChromeClient.mm:
1636        Removed tabsToLinks(). Mac WebKit already implements keyboardUIMode().
1637
1638        * WebView/WebView.mm: (-[WebView _retrieveKeyboardUIModeFromPreferences:]):
1639        Removed an incorrect comment. We actually get a value of 2 on Snow Leopard, and we don't
1640        require both bits to be set. The rest of the comment might be wrong too, but I'm not sure,
1641        so I've preserved it.
1642
16432011-03-02  Jessie Berlin  <jberlin@apple.com>
1644
1645        Rubber-stamped by Dan Bernstein.
1646
1647        Fix crashes in private browsing tests in WK1 on Snow Leopard.
1648
1649        * WebCoreSupport/WebSystemInterface.mm:
1650        (InitWebCoreSystemInterface):
1651        Put the INIT call for wkCreatePrivateStorageSession outside of the
1652        #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
1653        guards.
1654
16552011-03-02  Jessie Berlin  <jberlin@apple.com>
1656
1657        Reviewed by Adam Roben.
1658
1659        WebKit2: Use CFNetwork Sessions API.
1660        https://bugs.webkit.org/show_bug.cgi?id=55435.
1661
1662        Add the ability to create a Private Browsing Storage Session.
1663
1664        * WebCoreSupport/WebSystemInterface.mm:
1665        (InitWebCoreSystemInterface):
1666        Support calling wkCreatePrivateStorageSession from WebCore.
1667
16682011-03-02  Daniel Cheng  <dcheng@chromium.org>
1669
1670        Reviewed by David Levin.
1671
1672        Add feature define for data transfer items
1673        https://bugs.webkit.org/show_bug.cgi?id=55510
1674
1675        * Configurations/FeatureDefines.xcconfig:
1676
16772011-03-02  Sam Weinig  <sam@webkit.org>
1678
1679        Reviewed by Anders Carlsson.
1680
1681        Fix remaining localization issues by piping all localized strings through WebCore's
1682        localization bottleneck.
1683        <rdar://problem/8728860>
1684
1685        * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
1686        (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
1687        * Misc/WebKitErrors.m:
1688        * Misc/WebLocalizableStringsInternal.h: Added.
1689        * Misc/WebLocalizableStringsInternal.mm: Added.
1690        (WebLocalizedStringInternal):
1691        * Panels/WebAuthenticationPanel.m:
1692        (-[WebAuthenticationPanel setUpForChallenge:]):
1693        * Plugins/Hosted/NetscapePluginHostManager.mm:
1694        (WebKit::NetscapePluginHostManager::spawnPluginHost):
1695        * WebCoreSupport/WebEditorClient.mm:
1696        (undoNameForEditAction):
1697        * WebCoreSupport/WebInspectorClient.mm:
1698        (WebInspectorFrontendClient::updateWindowTitle):
1699        (-[WebInspectorWindowController validateUserInterfaceItem:]):
1700        * WebCoreSupport/WebKeyGenerator.m:
1701        (-[WebKeyGenerator strengthMenuItemTitles]):
1702        (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]):
1703        * WebCoreSupport/WebPlatformStrategies.mm:
1704        * WebView/WebHTMLView.mm:
1705        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
1706        * WebView/WebPDFView.mm:
1707        (-[WebPDFView menuForEvent:]):
1708
17092011-03-01  Brian Weinstein  <bweinstein@apple.com>
1710
1711        Reviewed by Adam Roben.
1712
1713        Part of WebKit2: Need a way to send notifications to client when cookies change
1714        https://bugs.webkit.org/show_bug.cgi?id=55427
1715        <rdar://problem/9056027>
1716
1717        Add stubs for CookiesStrategy on Mac WebKit1.
1718
1719        * WebCoreSupport/WebPlatformStrategies.h:
1720        * WebCoreSupport/WebPlatformStrategies.mm:
1721        (WebPlatformStrategies::createCookiesStrategy):
1722        (WebPlatformStrategies::notifyCookiesChanged):
1723
17242011-03-01  Philippe Normand  <pnormand@igalia.com>
1725
1726        Reviewed by Eric Carlson.
1727
1728        [GStreamer] support in mac video fullscreen controller
1729        https://bugs.webkit.org/show_bug.cgi?id=52280
1730
1731        Factored the code to configure the video overlay in a new private
1732        method of the controller and added GStreamer support to it.
1733
1734        * WebView/WebVideoFullscreenController.h:
1735        * WebView/WebVideoFullscreenController.mm:
1736        (-[WebVideoFullscreenController setupVideoOverlay:]):
1737        (-[WebVideoFullscreenController windowDidLoad]):
1738        (-[WebVideoFullscreenController setMediaElement:WebCore::]):
1739        (-[WebVideoFullscreenController windowDidExitFullscreen]):
1740
17412011-02-23  Joseph Pecoraro  <joepeck@webkit.org>
1742
1743        Reviewed by Timothy Hatcher.
1744
1745        All Console Messages should be passed to ChromeClients.
1746        https://bugs.webkit.org/show_bug.cgi?id=54926
1747
1748        Add a new private UIDelegate method, -webView:addMessageToConsole:withSource:,
1749        which supersedes -webView:addMessageToConsole if it exists. The new delegate
1750        does not filter to only JavaScript originated console messages. The old
1751        delegate is left around for clients that expect filtered messages, like
1752        DashCode and older versions of Safari.
1753
1754        The dictionary message passed to the delegate now includes more information
1755        about the message source, type, and level.
1756
1757        * WebCoreSupport/WebChromeClient.mm:
1758        (stringForMessageSource):
1759        (stringForMessageType):
1760        (stringForMessageLevel):
1761        (WebChromeClient::addMessageToConsole):
1762        * WebView/WebUIDelegatePrivate.h:
1763
17642011-03-01  Levi Weintraub  <leviw@chromium.org>
1765
1766        Reviewed by Ryosuke Niwa.
1767
1768        Stop instantiating legacy editing Positions in VisiblePosition
1769        https://bugs.webkit.org/show_bug.cgi?id=52919
1770
1771        Changing usage of legacy VisiblePosition constructor. Since we were dealing
1772        with positions from DOM Ranges, we're guaranteed a parent-anchored position.
1773
1774        * WebView/WebFrame.mm:
1775        (-[WebFrame _caretRectAtPosition:affinity:]):
1776        * WebView/WebFrameInternal.h:
1777        * WebView/WebTextCompletionController.mm:
1778        (-[WebTextCompletionController doCompletion]):
1779
17802011-03-01  Sam Weinig  <sam@webkit.org>
1781
1782        Reviewed by Timothy Hatcher.
1783
1784        WebKit2 needs to be made localizable
1785        https://bugs.webkit.org/show_bug.cgi?id=55483
1786
1787        * WebCoreSupport/WebPlatformStrategies.mm:
1788        Use WebCore's localizedString function instead of WebLocalizableStrings
1789        since WebCore is now responsible for localization.
1790
17912011-02-25 Steve Block <steveblock@google.com>
1792
1793        Reviewed by Jeremy Orlow.
1794
1795        Bridge.h should not include BridgeJSC.h
1796        https://bugs.webkit.org/show_bug.cgi?id=55212
1797
1798        Include BridgeJSC.h directly instead.
1799
1800        * Plugins/Hosted/ProxyInstance.h:
1801        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1802
18032011-02-28  Chang Shu  <cshu@webkit.org>
1804
1805        Reviewed by Ryosuke Niwa.
1806
1807        Remove the support of Frame::isContentEditable and its dependencies.
1808        https://bugs.webkit.org/show_bug.cgi?id=54292
1809
1810        Remove the WebKit side implementation. Make WebKit support depend on Document::inDesignMode.
1811
1812        * WebCoreSupport/WebEditorClient.h:
1813        * WebCoreSupport/WebEditorClient.mm:
1814        * WebView/WebView.mm:
1815        (-[WebView setEditable:]):
1816        (-[WebView isEditable]):
1817        * WebView/WebViewData.h:
1818
18192011-02-28  Oliver Hunt  <oliver@apple.com>
1820
1821        Reviewed by Gavin Barraclough.
1822
1823        Make ScopeChainNode GC allocated
1824        https://bugs.webkit.org/show_bug.cgi?id=55283
1825
1826        More updates for the absence of the ScopeChain class
1827
1828        * WebView/WebScriptDebugDelegate.mm:
1829        (-[WebScriptCallFrame scopeChain]):
1830
18312011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
1832
1833        Reviewed by Pavel Feldman.
1834
1835        DumpRenderTree should reset frame opener between tests.
1836        https://bugs.webkit.org/show_bug.cgi?id=54874
1837
1838        Added clearOpener method to WebFramePrivate.
1839
1840        * WebView/WebFrame.mm:
1841        (-[WebFrame _clearOpener]):
1842        * WebView/WebFramePrivate.h:
1843
18442011-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1845
1846        Unreviewed, rolling out r79764.
1847        http://trac.webkit.org/changeset/79764
1848        https://bugs.webkit.org/show_bug.cgi?id=55295
1849
1850        "broke Chromium builds" (Requested by rniwa on #webkit).
1851
1852        * WebView/WebFrame.mm:
1853        * WebView/WebFramePrivate.h:
1854
18552011-02-26  Yongjun Zhang  <yongjun_zhang@apple.com>
1856
1857        Reviewed by David Kilzer.
1858
1859        https://bugs.webkit.org/show_bug.cgi?id=48781
1860
1861        Add a resource load delegate method to query if WebCore should paint the default broken image for failed images.
1862
1863        Add a new resource load client method (shouldPaintBrokenImage).  WebKit client can decide if WebCore
1864        should paint the default broken image when an image fails to load or decode.  The method also passes the
1865        URL of the failed image.
1866
1867        * WebCoreSupport/WebFrameLoaderClient.h:
1868        * WebCoreSupport/WebFrameLoaderClient.mm:
1869        (WebFrameLoaderClient::shouldPaintBrokenImage):
1870        * WebView/WebDelegateImplementationCaching.h:
1871        * WebView/WebDelegateImplementationCaching.mm: Added case for passing one object.
1872        (CallResourceLoadDelegateReturningBoolean):
1873        * WebView/WebResourceLoadDelegatePrivate.h:
1874        * WebView/WebView.mm:
1875        (-[WebView _cacheResourceLoadDelegateImplementations]):
1876
18772011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
1878
1879        Reviewed by Pavel Feldman.
1880
1881        DumpRenderTree should reset frame opener between tests.
1882        https://bugs.webkit.org/show_bug.cgi?id=54874
1883
1884        Added clearOpener method to WebFramePrivate.
1885
1886        * WebView/WebFrame.mm:
1887        (-[WebFrame _clearOpener]):
1888        * WebView/WebFramePrivate.h:
1889
18902011-02-25  Mark Rowe  <mrowe@apple.com>
1891
1892        <rdar://problem/8902546> Build fix.
1893
1894        * Misc/QuickDrawCompatibility.h:
1895
18962011-02-24  Anders Carlsson  <andersca@apple.com>
1897
1898        Fix clang build.
1899
1900        * WebCoreSupport/WebKeyGenerator.m:
1901        (toWebCertificateParseResult):
1902        (-[WebKeyGenerator addCertificatesToKeychainFromData:]):
1903        * WebView/WebTextCompletionController.mm:
1904
19052011-02-24  Peter Kasting  <pkasting@google.com>
1906
1907        Reviewed by Eric Seidel.
1908
1909        Drop the "U; " encryption level from the User Agent string.
1910        https://bugs.webkit.org/show_bug.cgi?id=54566
1911
1912        * WebView/WebView.mm:
1913        (+[WebView _standardUserAgentWithApplicationName:]):
1914
19152011-02-24  Andrew Wilson  <atwilson@chromium.org>
1916
1917        Unreviewed, rolling out r79570.
1918        http://trac.webkit.org/changeset/79570
1919        https://bugs.webkit.org/show_bug.cgi?id=54874
1920
1921        Breaks chromium build because glue/mocks/mock_web_frame.h/cc
1922        was not updated
1923
1924        * WebView/WebFrame.mm:
1925        * WebView/WebFramePrivate.h:
1926
19272011-02-24  Vsevolod Vlasov  <vsevik@chromium.org>
1928
1929        Reviewed by Alexey Proskuryakov.
1930
1931        DumpRenderTree should reset frame opener between tests.
1932        https://bugs.webkit.org/show_bug.cgi?id=54874
1933
1934        Added clearOpener method to WebFramePrivate.
1935
1936        * WebView/WebFrame.mm:
1937        (-[WebFrame _clearOpener]):
1938        * WebView/WebFramePrivate.h:
1939
19402011-02-22  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1941
1942        Reviewed by Alexey Proskuryakov.
1943
1944        Drop the language tag part from the User Agent string
1945        https://bugs.webkit.org/show_bug.cgi?id=54560
1946
1947        * WebView/WebView.mm:
1948        (+[WebView _standardUserAgentWithApplicationName:]): Drop the
1949        language tag part.
1950
19512011-02-22  Brady Eidson  <beidson@apple.com>
1952
1953        Reviewed by Anders Carlsson.
1954
1955        Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
1956        API to view and delete Application Cache data by origin.
1957
1958        * WebCoreSupport/WebApplicationCache.mm:
1959        (+[WebApplicationCache deleteAllApplicationCaches]): Move this implementation into WebCore itself.
1960
19612011-02-17  Ryosuke Niwa  <rniwa@webkit.org>
1962
1963        Reviewed by Kent Tamura.
1964
1965        Rename Position::node() to Position::deprecatedNode()
1966        https://bugs.webkit.org/show_bug.cgi?id=54622
1967
1968        * WebView/WebFrame.mm:
1969        (-[WebFrame _smartDeleteRangeForProposedRange:]):
1970
19712011-02-17  Ryosuke Niwa  <rniwa@webkit.org>
1972
1973        Reviewed by Kent Tamura.
1974
1975        Rename Position::node() to Position::deprecatedNode()
1976        https://bugs.webkit.org/show_bug.cgi?id=54622
1977
1978        Done the rename.
1979
1980        * WebView/WebFrame.mm:
1981        (-[WebFrame _smartDeleteRangeForProposedRange:]): Since newStart and newEnd are parent-anchored,
1982        use containerNode() and offsetInContainerNode() instead of deprecated member functions.
1983
19842011-02-18  Gavin Barraclough  <barraclough@apple.com>
1985
1986        Reviewed by Sam Weinig.
1987
1988        Bug 54786 - Devirtualize JSCell::classInfo()
1989
1990        Instead of making a virtual function call, add a pointer to the ClassInfo
1991        onto Structure.
1992
1993        This removes a virtual function call, and paves the way towards removing all
1994        the createStructure methods, and StructureFlags/AnonymousSlotCount properties
1995        (these should be able to move onto ClassInfo).
1996
1997        Calls to Structure::create must now pass a pointer to the ClassInfo for the
1998        structure. All objects now have a ClassInfo pointer, non-object cell types
1999        still do not.
2000
2001        Changes are most mechanical, involving three steps:
2002            * Remove virtual classInfo() methods.
2003            * Add &s_info parameter to calls to Structure::create.
2004            * Rename ClassInfo static members on classes from 'info' to 's_info',
2005              for consistency.
2006
2007        * Plugins/Hosted/ProxyInstance.mm:
2008        (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
2009        (WebKit::ProxyRuntimeMethod::createStructure):
2010        * Plugins/Hosted/ProxyRuntimeObject.h:
2011        (WebKit::ProxyRuntimeObject::createStructure):
2012        * Plugins/Hosted/ProxyRuntimeObject.mm:
2013        (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
2014        * WebView/WebView.mm:
2015        (aeDescFromJSValue):
2016
20172011-02-19  Brian Ryner  <bryner@chromium.org>
2018
2019        Reviewed by Adam Barth.
2020
2021        Add missing #include of DocumentLoader.h, needed since the transitive
2022        include through Document.h is removed.
2023        https://bugs.webkit.org/show_bug.cgi?id=50489
2024
2025        * WebView/WebFrame.mm:
2026
20272011-02-19  Charlie Reis  <creis@chromium.org>
2028
2029        Reviewed by Mihai Parparita.
2030
2031        Ensure loading has stopped in HistoryController::goToItem
2032        https://bugs.webkit.org/show_bug.cgi?id=54517
2033
2034        Add a FrameLoaderClient callback for whether to stop loading before goToItem.
2035
2036        Test: http/tests/navigation/forward-to-fragment-fires-onload.html
2037
2038        * WebCoreSupport/WebFrameLoaderClient.mm:
2039        (WebFrameLoaderClient::shouldStopLoadingForHistoryItem): Added.
2040        * WebCoreSupport/WebFrameLoaderClient.h:
2041
20422011-02-16  David Hyatt  <hyatt@apple.com>
2043
2044        Reviewed by Dan Bernstein.
2045
2046        https://bugs.webkit.org/show_bug.cgi?id=54244
2047
2048        Convert the line box tree to floating point and eliminate font rounding hacks.  This patch removes all of the rounding
2049        hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
2050
2051        The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
2052        been changed as well.
2053
2054        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).
2055
2056        Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
2057
2058        Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
2059        still have a precise floating point position.
2060
2061        Justification will now allow subpixel positioning to occur as well.  Platforms that don't support subpixel positioning should already
2062        be rounding justification spacing in their font code.
2063
2064        Many layout test results change on Mac, since rounding hacks were used there and are now gone.
2065
2066        * Misc/WebKitNSStringExtras.mm:
2067        (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
2068        (-[NSString _web_widthWithFont:]):
2069
20702011-02-10  Luiz Agostini  <luiz.agostini@openbossa.org>
2071
2072        Reviewed by Adam Roben.
2073
2074        HTML5 <details> and <summary>: localized text
2075        https://bugs.webkit.org/show_bug.cgi?id=54260
2076
2077        The method defaultDetailsSummaryText was added to LocalizationStrategy class. It is used to
2078        provide the default label to be used by a <details> tag that has no <summary> child.
2079
2080        * WebCoreSupport/WebPlatformStrategies.h:
2081        * WebCoreSupport/WebPlatformStrategies.mm:
2082        (WebPlatformStrategies::defaultDetailsSummaryText):
2083
20842011-02-16  Matthew Delaney  <mdelaney@apple.com>
2085
2086        Reviewed by Simon Fraser.
2087
2088        Allow acceleratesDrawing for WebKit2
2089        https://bugs.webkit.org/show_bug.cgi?id=54511
2090
2091        Plumb through preference for accelerated drawing.
2092
2093        * WebView/WebPreferenceKeysPrivate.h:
2094        * WebView/WebPreferences.mm:
2095        (+[WebPreferences initialize]):
2096        (-[WebPreferences acceleratedDrawingEnabled]):
2097        (-[WebPreferences setAcceleratedDrawingEnabled:]):
2098        * WebView/WebPreferencesPrivate.h:
2099
21002011-02-15  David Kilzer  <ddkilzer@apple.com>
2101
2102        <http://webkit.org/b/54505> Move -[WebDynamicScrollBarsView inProgrammaticScroll] to WebDynamicScrollBarsViewInternal.h
2103
2104        Reviewed by Darin Adler.
2105
2106        * WebView/WebDynamicScrollBarsView.h:
2107        (-[WebDynamicScrollBarsView inProgrammaticScroll]): Removed
2108        declaration.
2109        * WebView/WebDynamicScrollBarsView.mm:
2110        (-[WebDynamicScrollBarsView inProgrammaticScroll]): Moved
2111        implementation into correct category.
2112        * WebView/WebDynamicScrollBarsViewInternal.h:
2113        (-[WebDynamicScrollBarsView inProgrammaticScroll]): Added
2114        declaration.
2115        * WebView/WebHTMLView.mm: Included
2116        WebDynamicScrollBarsViewInternal.h instead of
2117        WebDynamicScrollBarsView.h.
2118
21192011-02-14  Oliver Hunt  <oliver@apple.com>
2120
2121        Reviewed by Gavin Barraclough and Geoff Garen.
2122
2123        Refactor handles and weak pointers to become nicer and more automatic
2124        https://bugs.webkit.org/show_bug.cgi?id=54415
2125
2126        Update to use Global<> instead of ProtectedPtr, and refactored slightly
2127        to get global data to places it's needed for when we're assigning to
2128        Global<>s
2129
2130        * ForwardingHeaders/collector/handles/Global.h: Added.
2131        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2132        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2133        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get):
2134        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
2135        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
2136        (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
2137        (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
2138        (WebKit::NetscapePluginInstanceProxy::evaluate):
2139        (WebKit::NetscapePluginInstanceProxy::invoke):
2140        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
2141        (WebKit::NetscapePluginInstanceProxy::construct):
2142        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
2143        * WebView/WebScriptDebugger.h:
2144        * WebView/WebScriptDebugger.mm:
2145        (WebScriptDebugger::WebScriptDebugger):
2146
21472011-02-15  Jia Pu  <jpu@apple.com>
2148
2149        Reviewed by Darin Adler.
2150
2151        Autocorrection should respect undo.
2152        https://bugs.webkit.org/show_bug.cgi?id=52221
2153        <rdar://problem/8663399>
2154
2155        Please see WebCore/ChangeLog for detailed description.
2156
2157        * WebCoreSupport/WebEditorClient.h: Updated for the new function declared in EditorClient.
2158
2159        * WebCoreSupport/WebEditorClient.mm:
2160        (WebEditorClient::recordAutocorrectionResponse): Ditto.
2161
2162        * WebView/WebFrame.mm:
2163        (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
2164             Adopted new signature of ReplaceSelectionCommand::create().
2165
21662011-02-15  David Kilzer  <ddkilzer@apple.com>
2167
2168        <http://webkit.org/b/54485> Fix spelling of -inProgramaticScroll
2169
2170        Reviewed by Darin Adler.
2171
2172        * WebView/WebDynamicScrollBarsView.h:
2173        * WebView/WebDynamicScrollBarsView.mm:
2174        (-[WebDynamicScrollBarsView inProgrammaticScroll]): Renamed from
2175        -inProgramaticScroll.
2176        * WebView/WebHTMLView.mm:
2177        (-[WebHTMLView _frameOrBoundsChanged]): Corrected method name.
2178
21792011-02-15  Kenneth Russell  <kbr@google.com>
2180
2181        Reviewed by Darin Fisher.
2182
2183        Allow controlling minimum DOMTimer interval on a per-page basis
2184        https://bugs.webkit.org/show_bug.cgi?id=54312
2185
2186        Added needed methods to implement LayoutTestController's new
2187        setMinimumTimerInterval method.
2188
2189        * WebView/WebView.mm:
2190        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2191        (+[WebView _defaultMinimumTimerInterval]):
2192        (-[WebView _setMinimumTimerInterval:]):
2193        * WebView/WebViewPrivate.h:
2194
21952011-02-11  Geoffrey Garen  <ggaren@apple.com>
2196
2197        Reviewed by Oliver Hunt.
2198
2199        A little more encapsulation for the heap: Removed CollectorHeapIterator
2200        https://bugs.webkit.org/show_bug.cgi?id=54298
2201
2202        * Misc/WebCoreStatistics.mm:
2203        (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
2204        (+[WebCoreStatistics javaScriptObjectTypeCounts]): Updated for new typedef.
2205
22062011-02-10  Nate Chapin  <japhet@chromium.org>
2207
2208        Reviewed by Adam Barth.
2209
2210        Update calls to DocumentWriter.
2211        https://bugs.webkit.org/show_bug.cgi?id=50489
2212
2213        * WebView/WebFrame.mm:
2214        (-[WebFrame _canProvideDocumentSource]):
2215
22162011-02-10  Chris Fleizach  <cfleizach@apple.com>
2217
2218        Reviewed by Anders Carlsson.
2219
2220        AX: AX needs to stop using WebCoreViewFactory
2221        https://bugs.webkit.org/show_bug.cgi?id=54153
2222
2223        * WebCoreSupport/WebSystemInterface.mm:
2224        (InitWebCoreSystemInterface):
2225
22262011-02-10  Peter Varga  <pvarga@webkit.org>
2227
2228        Reviewed by Csaba Osztrogonác.
2229
2230        Remove PCRE source from trunk
2231        https://bugs.webkit.org/show_bug.cgi?id=54188
2232
2233        * ForwardingHeaders/pcre/pcre.h: Removed.
2234
22352011-02-09  Pavel Feldman  <pfeldman@chromium.org>
2236
2237        Reviewed by Yury Semikhatsky.
2238
2239        Web Inspector: follow up on InspectorAgent split -
2240        removing unnecessary methods from InspectorController.
2241        https://bugs.webkit.org/show_bug.cgi?id=54093
2242
2243        * WebInspector/WebInspector.mm:
2244        (-[WebInspector showConsole:]):
2245        (-[WebInspector stopProfilingJavaScript:]):
2246
22472011-02-08  Dan Bernstein  <mitz@apple.com>
2248
2249        Reviewed by Jon Honeycutt and Maciej Stachowiak.
2250
2251        <rdar://problem/8959420> Find in Mail no longer cycles around
2252
2253        * WebView/WebHTMLView.mm:
2254        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Set
2255        the wrap option according to the flag.
2256
22572011-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2258
2259        Unreviewed, rolling out r77980.
2260        http://trac.webkit.org/changeset/77980
2261        https://bugs.webkit.org/show_bug.cgi?id=54043
2262
2263        "Crashes on Windows and Linux..." (Requested by leviw on
2264        #webkit).
2265
2266        * WebView/WebFrame.mm:
2267        (-[WebFrame _caretRectAtNode:offset:affinity:]):
2268        * WebView/WebFrameInternal.h:
2269        * WebView/WebTextCompletionController.mm:
2270        (-[WebTextCompletionController doCompletion]):
2271
22722011-02-08  Levi Weintraub  <leviw@chromium.org>
2273
2274        Reviewed by Ryosuke Niwa.
2275
2276        Stop instantiating legacy editing Positions in VisiblePosition
2277        https://bugs.webkit.org/show_bug.cgi?id=52919
2278
2279        Changing usage of legacy VisiblePosition constructor. Since we were dealing
2280        with positions from DOM Ranges, we're guaranteed a parent-anchored position.
2281
2282        * WebView/WebFrame.mm:
2283        (-[WebFrame _caretRectAtPosition:affinity:]):
2284        * WebView/WebFrameInternal.h:
2285        * WebView/WebTextCompletionController.mm:
2286        (-[WebTextCompletionController doCompletion]):
2287
22882011-02-08  Adam Barth  <abarth@webkit.org>
2289
2290        Reviewed by Eric Seidel.
2291
2292        Remove orphan code from old parser
2293        https://bugs.webkit.org/show_bug.cgi?id=53984
2294
2295        * WebCoreSupport/WebChromeClient.h:
2296
22972011-02-02  Ilya Tikhonovsky  <loislo@chromium.org>
2298
2299        Reviewed by Yury Semikhatsky.
2300
2301        Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController.
2302
2303        https://bugs.webkit.org/show_bug.cgi?id=53169
2304
2305        Minor change enforced by major changes in WebCore/inspector/InspectorController.
2306
2307        * WebInspector/WebInspector.mm:
2308        (-[WebInspector isTimelineProfilingEnabled]):
2309
23102011-02-07  Enrica Casucci  <enrica@apple.com>
2311
2312        Reviewed Adam Roben and Darin Adler.
2313
2314        WebKit2: drag and drop support on Windows.
2315        https://bugs.webkit.org/show_bug.cgi?id=52775
2316
2317        Removed createDragImageForLink from DragClient.
2318
2319        * WebCoreSupport/WebDragClient.h:
2320        * WebCoreSupport/WebDragClient.mm:
2321        (WebDragClient::startDrag):
2322
23232011-02-03  Yury Semikhatsky  <yurys@chromium.org>
2324
2325        Reviewed by Pavel Feldman.
2326
2327        Web Inspector: remove settings related methods from InspectorClient
2328        https://bugs.webkit.org/show_bug.cgi?id=53686
2329
2330        * WebCoreSupport/WebInspectorClient.h:
2331        * WebCoreSupport/WebInspectorClient.mm:
2332        (WebInspectorClient::openInspectorFrontend):
2333        (WebInspectorFrontendClient::WebInspectorFrontendClient):
2334
23352011-02-03  James Kozianski  <koz@chromium.org>
2336
2337        Reviewed by Dimitri Glazkov.
2338
2339        Add navigator.registerProtocolHandler behind a flag.
2340        https://bugs.webkit.org/show_bug.cgi?id=52609
2341
2342        * Configurations/FeatureDefines.xcconfig:
2343
23442011-02-03  Adam Langley  <agl@chromium.org>
2345
2346        Reviewed by Adam Barth.
2347
2348        Plumb mixed script URL to FrameLoaderClient
2349        https://bugs.webkit.org/show_bug.cgi?id=52384
2350
2351        Regressions covered by http/tests/security/mixedContent/*
2352
2353        * WebCoreSupport/WebFrameLoaderClient.h:
2354        * WebCoreSupport/WebFrameLoaderClient.mm:
2355        (WebFrameLoaderClient::didRunInsecureContent):
2356
23572011-02-03  Beth Dakin  <bdakin@apple.com>
2358
2359        Reviewed by Sam Weinig.
2360
2361        Fix for <rdar://problem/8944544> Ability to animate track
2362        for WKPainter scrollers
2363
2364        * WebCoreSupport/WebSystemInterface.mm:
2365        (InitWebCoreSystemInterface):
2366
23672011-02-02  Mark Rowe  <mrowe@apple.com>
2368
2369        Reviewed by Beth Dakin.
2370
2371        <rdar://problem/8928367> Crash when loading canvas pages inside HTMLCanvasElement::createImageBuffer().
2372
2373        * WebCoreSupport/WebSystemInterface.mm:
2374        (InitWebCoreSystemInterface): Add some missing initializers.
2375
23762011-02-02  Steve Lacey  <sjl@chromium.org>
2377
2378        Reviewed by Eric Carlson.
2379
2380        Implement basic media statistics on media elements.
2381        https://bugs.webkit.org/show_bug.cgi?id=53322
2382
2383        * Configurations/FeatureDefines.xcconfig:
2384
23852011-02-01  Sam Weinig  <sam@webkit.org>
2386
2387        Reviewed by Beth Dakin.
2388
2389        Part 2 for <rdar://problem/8492788>
2390        Adopt WKScrollbarPainterController
2391
2392        Use header detection to define scrollbar painting controller #define.
2393
2394        * WebCoreSupport/WebSystemInterface.mm:
2395        (InitWebCoreSystemInterface):
2396
23972011-02-01  David Hyatt  <hyatt@apple.com>
2398
2399        Reviewed by Oliver Hunt.
2400
2401        https://bugs.webkit.org/show_bug.cgi?id=53520
2402
2403        Remove the physical terminology from IntRect and FloatRect.
2404
2405        Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
2406        we need to update our terminology to be more accurate.
2407
2408        I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
2409        renaming right() and bottom() to maxX() and maxY().  These terms remain accurate
2410        even for flipped rectangles.
2411
2412        * WebView/WebHTMLView.mm:
2413        (setNeedsDisplayInRect):
2414
24152011-02-01  Beth Dakin  <bdakin@apple.com>
2416
2417        Reviewed by Sam Weinig.
2418
2419        Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
2420
2421        * WebCoreSupport/WebSystemInterface.mm:
2422        (InitWebCoreSystemInterface):
2423
24242011-02-01  Dave Hyatt  <hyatt@apple.com>
2425
2426        Reviewed by Darin Adler.
2427
2428        https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
2429        with vertical text.
2430
2431        Change printing functions to check writing-mode and properly swap width and height
2432        as needed.
2433
2434        * WebView/WebDynamicScrollBarsView.mm:
2435        (-[WebDynamicScrollBarsView setScrollOrigin:updatePositionAtAll:immediately:]):
2436        * WebView/WebFrame.mm:
2437        (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]):
2438        * WebView/WebFrameInternal.h:
2439        * WebView/WebHTMLView.mm:
2440        (-[WebHTMLView _web_setPrintingModeRecursive]):
2441        (-[WebHTMLView _web_clearPrintingModeRecursive]):
2442        (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
2443        (-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]):
2444        (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]):
2445        (-[WebHTMLView _endPrintMode]):
2446        (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]):
2447        (-[WebHTMLView _endScreenPaginationMode]):
2448        (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]):
2449        (-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:maximumPageLogicalWidth:adjustViewSize:paginateScreenContent:]):
2450        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
2451        (-[WebHTMLView _scaleFactorForPrintOperation:]):
2452        (-[WebHTMLView setPageWidthForPrinting:]):
2453        (-[WebHTMLView knowsPageRange:]):
2454
24552011-01-31  Oliver Hunt  <oliver@apple.com>
2456
2457        Convert markstack to a slot visitor API
2458        https://bugs.webkit.org/show_bug.cgi?id=53219
2459
2460        rolling r77098, r77099, r77100, r77109, and
2461        r77111 back in, along with a few more Qt fix attempts.
2462
2463        * WebView/WebScriptDebugDelegate.mm:
2464        (-[WebScriptCallFrame scopeChain]):
2465
24662011-01-30  Csaba Osztrogonác  <ossy@webkit.org>
2467
2468        Unreviewed, rolling out r77098, r77099, r77100, r77109, and
2469        r77111.
2470        http://trac.webkit.org/changeset/77098
2471        http://trac.webkit.org/changeset/77099
2472        http://trac.webkit.org/changeset/77100
2473        http://trac.webkit.org/changeset/77109
2474        http://trac.webkit.org/changeset/77111
2475        https://bugs.webkit.org/show_bug.cgi?id=53219
2476
2477        Qt build is broken
2478
2479        * WebView/WebScriptDebugDelegate.mm:
2480        (-[WebScriptCallFrame scopeChain]):
2481
24822011-01-30  Oliver Hunt  <oliver@apple.com>
2483
2484        Convert markstack to a slot visitor API
2485        https://bugs.webkit.org/show_bug.cgi?id=53219
2486
2487        rolling r77006 and r77020 back in.
2488
2489        * WebView/WebScriptDebugDelegate.mm:
2490        (-[WebScriptCallFrame scopeChain]):
2491
24922011-01-28  Geoffrey Garen  <ggaren@apple.com>
2493
2494        Reviewed by Maciej Stachowiak.
2495
2496        Some more Heap cleanup.
2497        https://bugs.webkit.org/show_bug.cgi?id=53357
2498
2499        Updated for JavaScriptCore changes.
2500
2501        * Misc/WebCoreStatistics.mm:
2502        (+[WebCoreStatistics memoryStatistics]):
2503
25042011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2505
2506        Unreviewed, rolling out r77006 and r77020.
2507        http://trac.webkit.org/changeset/77006
2508        http://trac.webkit.org/changeset/77020
2509        https://bugs.webkit.org/show_bug.cgi?id=53360
2510
2511        "Broke Windows tests" (Requested by rniwa on #webkit).
2512
2513        * WebView/WebScriptDebugDelegate.mm:
2514        (-[WebScriptCallFrame scopeChain]):
2515
25162011-01-27  Oliver Hunt  <oliver@apple.com>
2517
2518        Reviewed by Geoffrey Garen.
2519
2520        Convert markstack to a slot visitor API
2521        https://bugs.webkit.org/show_bug.cgi?id=53219
2522
2523        Update to new marking api
2524
2525        * WebView/WebScriptDebugDelegate.mm:
2526        (-[WebScriptCallFrame scopeChain]):
2527
25282011-01-28  Dan Bernstein  <mitz@apple.com>
2529
2530        Reviewed by Sam Weinig.
2531
2532        <select> can't display right-to-left (rtl) languages
2533        https://bugs.webkit.org/show_bug.cgi?id=19785
2534
2535        * WebCoreSupport/WebChromeClient.h:
2536        * WebCoreSupport/WebChromeClient.mm:
2537        (WebChromeClient::selectItemWritingDirectionIsNatural): Changed to return false.
2538        (WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added. Returns true.
2539
25402011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
2541
2542        Unreviewed, rolling out r76891.
2543        http://trac.webkit.org/changeset/76891
2544        https://bugs.webkit.org/show_bug.cgi?id=53280
2545
2546        Makes every layout test crash (Requested by othermaciej on
2547        #webkit).
2548
2549        * Misc/WebIconDatabase.mm:
2550        (-[ThreadEnabler threadEnablingSelector:]):
2551        (importToWebCoreFormat):
2552
25532011-01-27  Nate Chapin  <japhet@chromium.org>
2554
2555        Reviewed by Adam Barth.
2556
2557        Use Document::url() instead of FrameLoader::url().
2558        https://bugs.webkit.org/show_bug.cgi?id=41165
2559
2560        * WebView/WebView.mm:
2561        (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
2562
25632011-01-27  Dan Bernstein  <mitz@apple.com>
2564
2565        Rubber-stamped by Anders Carlsson.
2566
2567        Reverted an accidental change in r76561.
2568
2569        * WebView/WebHTMLView.mm:
2570
25712011-01-26  David Kilzer  <ddkilzer@apple.com>
2572
2573        <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
2574        <rdar://problem/8821760>
2575
2576        Reviewed by Antti Koivisto.
2577
2578        * WebCoreSupport/WebSystemInterface.mm:
2579        (InitWebCoreSystemInterface): Added initialization for
2580        GetHTTPPipeliningPriority and SetHTTPPipeliningPriority.
2581
25822011-01-26  Beth Dakin  <bdakin@apple.com>
2583
2584        Reviewed by Darin Adler.
2585
2586        Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics
2587        when using WKScrollbars.
2588
2589        * WebCoreSupport/WebSystemInterface.mm:
2590        (InitWebCoreSystemInterface):
2591
25922011-01-25  Darin Adler  <darin@apple.com>
2593
2594        Reviewed by Anders Carlsson.
2595
2596        WebKit is using CSBackupSetItemExcluded incorrectly
2597        https://bugs.webkit.org/show_bug.cgi?id=53095
2598        rdar://problem/8790540
2599
2600        * Misc/WebIconDatabase.mm:
2601        (importToWebCoreFormat): Removed code that was calling CSBackupSetItemExcluded.
2602        It was incorrect, and this responsibility has been moved to WebCore.
2603
26042011-01-24  Chris Marrin  <cmarrin@apple.com>
2605
2606        Reviewed by Eric Seidel.
2607
2608        Change ENABLE_3D_CANVAS to ENABLE_WEBGL
2609        https://bugs.webkit.org/show_bug.cgi?id=53041
2610
2611        * Configurations/FeatureDefines.xcconfig:
2612
26132011-01-25  Yury Semikhatsky  <yurys@chromium.org>
2614
2615        Reviewed by Pavel Feldman.
2616
2617        Web Inspector: remove "attached" state related methods from InspectorAgent
2618        https://bugs.webkit.org/show_bug.cgi?id=53086
2619
2620        * WebCoreSupport/WebInspectorClient.h:
2621        * WebCoreSupport/WebInspectorClient.mm:
2622        (-[WebInspectorWindowController showWindow:]):
2623        (-[WebInspectorWindowController attach]):
2624        (-[WebInspectorWindowController detach]):
2625
26262011-01-23  Dan Bernstein  <mitz@apple.com>
2627
2628        Reviewed by John Sullivan.
2629
2630        <rdar://problem/6097826> Mail's cursor does not become a resize cursor when moving mouse from scrolled email to the horizontal splitter
2631
2632        * WebCoreSupport/WebChromeClient.mm:
2633        (WebChromeClient::setCursor): If the current cursor comes from a cursor rect, do not override it.
2634
26352011-01-22  Alexey Proskuryakov  <ap@apple.com>
2636
2637        Reviewed by Darin Adler.
2638
2639        https://bugs.webkit.org/show_bug.cgi?id=52473
2640        Auto-scaling to avoid orphans is broken, remove dysfunctional code
2641
2642        * WebView/WebHTMLView.mm:
2643        (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
2644        (-[WebHTMLView _scaleFactorForPrintOperation:]):
2645        (-[WebHTMLView knowsPageRange:]):
2646
26472011-01-21  Mark Rowe  <mrowe@apple.com>
2648
2649        Rubber-stamped by Jon Honeycutt.
2650
2651        Fix the build when using Clang by removing some unused variables.
2652
2653        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2654        (-[WebHostedNetscapePluginView updateAndSetWindow]):
2655        * WebView/WebFullScreenController.mm:
2656        (-[WebFullScreenController enterFullscreen:]):
2657        (-[WebFullScreenController exitFullscreen]):
2658
26592011-01-21  Chris Rogers  <crogers@google.com>
2660
2661        Reviewed by Darin Fisher.
2662
2663        Add run-time enable support for the web audio API
2664        https://bugs.webkit.org/show_bug.cgi?id=52741
2665
2666        * WebView/WebPreferenceKeysPrivate.h:
2667        * WebView/WebPreferences.mm:
2668        (-[WebPreferences webAudioEnabled]):
2669        (-[WebPreferences setWebAudioEnabled:]):
2670        * WebView/WebPreferencesPrivate.h:
2671        * WebView/WebView.mm:
2672        (-[WebView _preferencesChangedNotification:]):
2673
26742011-01-20  John Sullivan  <sullivan@apple.com>
2675
2676        Reviewed by Mark Rowe.
2677
2678        Shift-tab doesn't cycle through fields in http authentication panel
2679        https://bugs.webkit.org/show_bug.cgi?id=52850
2680
2681        * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
2682        * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
2683        Re-wired the key loop so that there aren't two views with the same nextKeyView.
2684
26852011-01-20  Beth Dakin  <bdakin@apple.com>
2686
2687        Reviewed by Geoffrey Garen.
2688
2689        Fix for <rdar://problem/8890255>
2690
2691        Allow WebKitSystemInterface to draw scrollbars
2692        when appropriate.
2693        * WebCoreSupport/WebSystemInterface.mm:
2694        (InitWebCoreSystemInterface):
2695
26962011-01-19  Simon Fraser  <simon.fraser@apple.com>
2697
2698        Reviewed by Sam Weinig.
2699
2700        GraphicsLayers in subframes can get sync'd multiple times
2701        https://bugs.webkit.org/show_bug.cgi?id=52489
2702
2703        * WebView/WebView.mm:
2704        (-[WebView _syncCompositingChanges]): syncCompositingStateRecursive()
2705        was renamed to syncCompositingStateIncludingSubframes().
2706
27072011-01-19  Darin Adler  <darin@apple.com>
2708
2709        Reviewed by Sam Weinig.
2710
2711        Would like script debugging protocol method to differentiate between caught and uncaught exceptions
2712        https://bugs.webkit.org/show_bug.cgi?id=52104
2713        rdar://problem/8704226
2714
2715        * WebView/WebDelegateImplementationCaching.h:
2716        Fix type of second integer in CallScriptDebugDelegate function overload
2717        to be int to match the actual Objective-C method. Added a new overload
2718        that includes a BOOL in the right place. Added a boolean named
2719        exceptionWasRaisedExpectsHasHandlerFlag.
2720
2721        * WebView/WebDelegateImplementationCaching.mm:
2722        (CallDelegate): Added overloads as above.
2723        (CallScriptDebugDelegate): Ditto.
2724
2725        * WebView/WebScriptDebugDelegate.h: Added new method with the additional
2726        boolean argument. Marked the old method informally deprecated.
2727
2728        * WebView/WebScriptDebugger.mm:
2729        (WebScriptDebugger::exception): Added code to call with or without the
2730        boolean depending on exceptionWasRaisedExpectsHasHandlerFlag.
2731
2732        * WebView/WebView.mm:
2733        (-[WebView _cacheScriptDebugDelegateImplementations]): Set up the
2734        exceptionWasRaisedExpectsHasHandlerFlag. Also fixed old code that was not
2735        guaranteed to set didParseSourceExpectsBaseLineNumber to NO.
2736
27372011-01-19  Tony Gentilcore  <tonyg@chromium.org>
2738
2739        Reviewed by Mihai Parparita.
2740
2741        Perform some forward declaration
2742        https://bugs.webkit.org/show_bug.cgi?id=52522
2743
2744        * Misc/WebKitNSStringExtras.mm:
2745
27462011-01-19  Pavel Podivilov  <podivilov@chromium.org>
2747
2748        Reviewed by Yury Semikhatsky.
2749
2750        Web Inspector: [JSC] scripts have incorrect starting line (always 1).
2751        https://bugs.webkit.org/show_bug.cgi?id=52721
2752
2753        * WebView/WebScriptDebugger.h:
2754        * WebView/WebScriptDebugger.mm:
2755        (toNSString):
2756        (WebScriptDebugger::sourceParsed):
2757
27582011-01-19  Levi Weintraub  <leviw@google.com>
2759
2760        Reviewed by Ryosuke Niwa.
2761
2762        Updating to use Position::parentAnchoredEquivalent instead of
2763        the old htmlediting rangeCompliantEquivalent.
2764
2765        remove rangeCompliantEquivalent and replace it with Position methods
2766        https://bugs.webkit.org/show_bug.cgi?id=25057
2767
2768        * WebView/WebFrame.mm:
2769        (-[WebFrame _smartDeleteRangeForProposedRange:]):
2770
27712011-01-18  Chris Fleizach  <cfleizach@apple.com>
2772
2773        Reviewed by Darin Adler.
2774
2775        REGRESSION: A problem with Voiceover and finding links
2776        https://bugs.webkit.org/show_bug.cgi?id=52324
2777
2778        * WebView/WebDynamicScrollBarsView.mm:
2779        (-[WebDynamicScrollBarsView accessibilityIsIgnored]):
2780
27812011-01-17  David Kilzer  <ddkilzer@apple.com>
2782
2783        <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project
2784
2785        Reviewed by Dan Bernstein.
2786
2787        * MigrateHeaders.make: Copy DOMDocumentFragmentPrivate.h and
2788        DOMDocumentPrivate.h to the PrivateHeaders directory.
2789
27902011-01-17  Enrica Casucci  <enrica@apple.com>
2791
2792        Reviewed by Alexey Proskuryakov.
2793
2794        Drag and drop support: refactoring of image from link and image from selection
2795        https://bugs.webkit.org/show_bug.cgi?id=52496
2796
2797        This work cleans up the Mac code and makes it more similar to the Windows implementation,
2798        avoiding the use of an NSView when the FrameView can be used.
2799        The refactoring is a necessary step towards the complete support of drag and drop
2800        in WebKit2.
2801
2802        * WebCoreSupport/WebDragClient.mm:
2803        (WebDragClient::createDragImageForLink): Added.
2804        * WebView/WebHTMLView.mm: Removed dragImageFromLink and dragImageFromURL.
2805        * WebView/WebHTMLViewPrivate.h: Removed dragImageFromLink and dragImageFromURL.
2806
28072011-01-17  Pavel Feldman  <pfeldman@chromium.org>
2808
2809        Reviewed by Yury Semikhatsky.
2810
2811        Web Inspector: simplify debugger enabling routine.
2812        https://bugs.webkit.org/show_bug.cgi?id=52472
2813
2814        * WebInspector/WebInspector.mm:
2815        (-[WebInspector startDebuggingJavaScript:]):
2816
28172011-01-16  Dan Bernstein  <mitz@apple.com>
2818
2819        Reviewed by Simon Fraser.
2820
2821        Assertion failure (!inSetWindow) with in-process plug-in in plugins/destroy-on-setwindow.html
2822        https://bugs.webkit.org/show_bug.cgi?id=52550
2823
2824        * Plugins/WebNetscapePluginView.mm:
2825        (-[WebNetscapePluginView setWindowIfNecessary]): Removed the assertion, making sure
2826        that inSetWindow remains YES until we exit the top-level setWindowIfNecessary.
2827
28282011-01-16  Simon Fraser  <simon.fraser@apple.com>
2829
2830        Reviewed by Dan Bernstein.
2831
2832        Issues with iframes and plugins when the WebView is scaled.
2833        <rdar://problem/6213380>
2834
2835        When _scaleWebView has been called on a WebView, iframes
2836        in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up.
2837        This is caused by AppKit NSViews not playing nicely with the scale
2838        applied through style.
2839
2840        Work around most of these issues by adjusting the bounds size
2841        of widgets to allow iframe contents to paint with the correct scale,
2842        and fix various places in the code where we relied on coordinate
2843        transforms via NSViews (which ignore CSS transforms).
2844
2845        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2846        (-[WebHostedNetscapePluginView updateAndSetWindow]):
2847        * WebView/WebFrameView.mm:
2848        (-[WebFrameView setBoundsSize:]):
2849
28502011-01-16  Beth Dakin  <bdakin@apple.com>
2851
2852        Reviewed by Kevin Decker.
2853
2854        Fix for <rdar://problem/8871204>
2855
2856        Don't try to save elasticity state. Just rely on
2857        NSScrollElasticityAutomatic to restore the correct state.
2858        * WebCoreSupport/WebFrameLoaderClient.h:
2859        * WebCoreSupport/WebFrameLoaderClient.mm:
2860        (WebFrameLoaderClient::WebFrameLoaderClient):
2861        (WebFrameLoaderClient::dispatchDidFirstLayout):
2862        (WebFrameLoaderClient::provisionalLoadStarted):
2863
28642011-01-14  Simon Fraser  <simon.fraser@apple.com>
2865
2866        Reviewed by Dan Bernstein.
2867
2868        Plugins render incorrectly with transformed ancestors
2869        https://bugs.webkit.org/show_bug.cgi?id=52507
2870
2871        -[NSView visibleRect] gives the wrong answer if there are CSS transforms
2872        in the ancestor chain of a plugin.
2873
2874        So use of this method with calls to -actualVisibleRectInWindow, which
2875        maps rects through the render tree to compute the correct rect,
2876        clipping via windowClipRect() if necessary.
2877
2878        Not testable, because doing so relies on the behavior of some
2879        plugins, which stop rendering if setWindow passes an empty rect.
2880
2881        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2882        (-[WebHostedNetscapePluginView updateAndSetWindow]):
2883        * Plugins/WebBaseNetscapePluginView.h:
2884        * Plugins/WebBaseNetscapePluginView.mm:
2885        (-[WebBaseNetscapePluginView actualVisibleRectInWindow]):
2886        * Plugins/WebNetscapePluginView.mm:
2887        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2888
28892011-01-14  Yuzo Fujishima  <yuzo@google.com>
2890
2891        Reviewed by Antti Koivisto.
2892
2893        Rename cache() to memoryCache()
2894        https://bugs.webkit.org/show_bug.cgi?id=52433
2895
2896        * Misc/WebCache.mm:
2897        (+[WebCache statistics]):
2898        (+[WebCache setDisabled:]):
2899        (+[WebCache isDisabled]):
2900        * WebView/WebView.mm:
2901        (+[WebView _setCacheModel:]):
2902
29032011-01-13  Geoffrey Garen  <ggaren@apple.com>
2904
2905        Reviewed by Oliver Hunt.
2906
2907        Split out a MarkedSpace strategy object from Heap.
2908        https://bugs.webkit.org/show_bug.cgi?id=52421
2909
2910        * Misc/WebCoreStatistics.mm:
2911        (+[WebCoreStatistics memoryStatistics]): Updated for class move.
2912
29132011-01-14  Dan Bernstein  <mitz@apple.com>
2914
2915        Reviewed by Simon Fraser.
2916
2917        WebKit/mac part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]
2918
2919        * WebView/WebHTMLView.mm:
2920        (-[WebHTMLView _invalidateGStatesForTree]): Override this NSView method, and bracket the call
2921        to the superclass implementation with suspending WebCore Widget hierarchy updates. This ensures
2922        that the NSView tree doesn’t change from under AppKit as it traverses it.
2923
29242011-01-14  Beth Dakin  <bdakin@apple.com>
2925
2926        Reviewed by Mark Rowe.
2927
2928        Fix for <rdar://problem/7793902> Artifacts when scrolling
2929        page in Safari while page is loading
2930
2931        Call setDrawsBackground:YES on the scrollView in
2932        dispatchDidFirstLayout() rather than waiting until
2933        frameLoadCompleted(). Also suspend scrolling elasticity
2934        between provisionalLoadStarted() and dispatchDidFirstLayout()
2935        * WebCoreSupport/WebFrameLoaderClient.h:
2936        * WebCoreSupport/WebFrameLoaderClient.mm:
2937        (WebFrameLoaderClient::WebFrameLoaderClient):
2938        (WebFrameLoaderClient::dispatchDidFirstLayout):
2939        (WebFrameLoaderClient::provisionalLoadStarted):
2940
29412011-01-12  Enrica Casucci  <enrica@apple.com>
2942
2943        Reviewed by Darin Adler.
2944
2945        WebKit2: Add support for drag and drop
2946        https://bugs.webkit.org/show_bug.cgi?id=52343
2947        <rdar://problem/7660558>
2948
2949        The DragData class has been extended to provide
2950        additional context from the application (keyboard state, modal windows, etc.)
2951        as well as information of the drag pasteboard being used.
2952        These are the changes to align the behavior for WebKit.
2953
2954        * WebView/WebView.mm:
2955        (-[WebView applicationFlags:]): Added.
2956        (-[WebView draggingEntered:]): Added parameter to the DragData constructor.
2957        (-[WebView draggingUpdated:]): Added parameter to the DragData constructor.
2958        (-[WebView draggingExited:]): Added parameter to the DragData constructor.
2959        (-[WebView performDragOperation:]): Added parameter to the DragData constructor.
2960
29612011-01-12  Beth Dakin  <bdakin@apple.com>
2962
2963        Reviewed by Anders Carlsson.
2964
2965        Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309
2966        Expose fixed layout through WebKit SPI
2967        -and corresponding-
2968        <rdar://problem/8844464>
2969
2970        And now with getters!
2971        * WebView/WebView.mm:
2972        (-[WebView _useFixedLayout]):
2973        (-[WebView _fixedLayoutSize]):
2974        * WebView/WebViewPrivate.h:
2975
29762011-01-12  Beth Dakin  <bdakin@apple.com>
2977
2978        Reviewed by Anders Carlsson.
2979
2980        Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
2981        fixed layout through WebKit SPI
2982        -and corresponding-
2983        <rdar://problem/8844464>
2984
2985        * WebView/WebView.mm:
2986        (-[WebView _setUseFixedLayout:]):
2987        (-[WebView _setFixedLayoutSize:]):
2988        * WebView/WebViewPrivate.h:
2989
29902011-01-07  Enrica Casucci  <enrica@apple.com>
2991
2992        Reviewed by Alexey Proskuryakov.
2993
2994        Paste and drag and drop use different code paths to interact with the pasteboard.
2995        https://bugs.webkit.org/show_bug.cgi?id=52093
2996        The change consists in a refactoring of the code to have only one class that
2997        deals with the pasteboard on Mac.
2998
2999        * WebCoreSupport/WebEditorClient.h:
3000        * WebCoreSupport/WebEditorClient.mm: Added two methods to provide to WebCore functionality
3001        exposed by NSURLExtras.
3002        (WebEditorClient::canonicalizeURL):
3003        (WebEditorClient::canonicalizeURLString):
3004        * WebCoreSupport/WebPasteboardHelper.h: Removed.
3005        * WebCoreSupport/WebPasteboardHelper.mm: Removed.
3006        * WebView/WebHTMLView.mm: Removed comment.
3007        * WebView/WebView.mm: The following methods have been changed to use the new DragData
3008        constructor that doesn't use the WebPasteboardHelper reference.
3009        (-[WebView draggingEntered:]):
3010        (-[WebView draggingUpdated:]):
3011        (-[WebView draggingExited:]):
3012        (-[WebView performDragOperation:]):
3013
30142011-01-09  Tony Gentilcore  <tonyg@chromium.org>
3015
3016        Reviewed by Alexey Proskuryakov.
3017
3018        Forward declare some headers where possible
3019        https://bugs.webkit.org/show_bug.cgi?id=52133
3020
3021        * WebView/WebFrame.mm:
3022
30232011-01-09  Xianzhu Wang <phnixwxz@gmail.com>
3024
3025        Reviewed by Darin Fisher.
3026
3027        https://bugs.webkit.org/show_bug.cgi?id=41441
3028        createWindow method should only do window-creating without URL navigation
3029
3030        * WebCoreSupport/WebChromeClient.mm:
3031        (WebChromeClient::createWindow):
3032
30332011-01-08  Dan Bernstein  <mitz@apple.com>
3034
3035        Try to fix the Leopard build.
3036
3037        * WebView/WebFullScreenController.mm:
3038
30392011-01-07  Jer Noble  <jer.noble@apple.com>
3040
3041        Yet another Leopard build fix: NSRect and CGRect are not inter-
3042        changable in 32-bit.
3043
3044        * WebView/WebFullScreenController.mm:
3045        (-[WebFullScreenController exitFullscreen]):
3046
30472011-01-07  Jer Noble  <jer.noble@apple.com>
3048
3049        Fix the Leopard build: Replace CoreAnimation SL-only functions
3050        with Leopard equivalents.
3051
3052        * WebView/WebFullScreenController.mm:
3053        (+[CATransaction setDisableActions:]):
3054        (+[CATransaction setAnimationDuration:]):
3055        (-[WebFullScreenController _animationDuration]):
3056        (-[WebFullscreenWindow initWithContentRect:styleMask:backing:defer:]):
3057
30582010-12-21  Jer Noble  <jer.noble@apple.com>
3059
3060        Reviewed by Simon Fraser.
3061
3062        Implement WebKit Full Screen support.
3063        https://bugs.webkit.org/show_bug.cgi?id=49481
3064        rdar://problem/8247444
3065
3066        Support the new fullscreen Chrome client requests.  WebView will pass
3067        through these requests to a WebFullscreenController.
3068
3069        * WebCoreSupport/WebChromeClient.h: Add fullScreenRendererChanged().
3070        * WebView/WebView.mm:
3071        (-[WebView _supportsFullScreenForElement:WebCore::]): Check to see if the fullscreen pref has been enabled.
3072        (-[WebView _enterFullScreenForElement:WebCore::]): Create a WebFullScreenController.
3073        (-[WebView _exitFullScreenForElement:WebCore::]): Request that the WebFullScreenController exit fullscreen.
3074        (-[WebView _fullScreenRendererChanged:WebCore::]): Notify the WebFullScreenController that its renderer has changed.
3075        * WebView/WebViewData.h: Add ivar newFullscreenController.
3076
30772010-12-17  Jer Noble  <jer@kokode.apple.com>
3078
3079        Reviewed by Simon Fraser.
3080
3081        Implement WebKit Full Screen support.
3082        https://bugs.webkit.org/show_bug.cgi?id=49481
3083        rdar://problem/8247444
3084
3085        This patch implements the FullScreen APIs using the new RenderFullScreen renderer and the new
3086        Document client APIs. The RenderFullScreen renderer's CALayer is hosted in a new, fullscreen
3087        window, and a custom CAAnimation animates that layer between the initial screen rect of the
3088        full screen element, to its final value. WebFullscreenController will swap the WebView out of
3089        its original window, and into the fullscreen window. The controller will replace the WebView
3090        with a placeholder view, so that if the placeholder moves or resized while the WebView is
3091        absent, the WebView will move back to the correct location when exiting fullscreen.
3092
3093        * WebView/WebFullscreenController.h: Added.
3094        * WebView/WebFullscreenController.mm: Added.
3095        (-[WebFullscreenController windowDidExitFullscreen:]):  Close the fullscreen window.
3096        (-[WebFullscreenController windowDidEnterFullscreen:]): Swap the webView back into the fullscreen window.
3097        (-[WebFullscreenController animationDidStop:finished:]): Call windowDid{Exit|Enter}FullScreen as appropriate.
3098        (-[WebFullscreenController applicationDidResignActive:]):
3099        (-[WebFullscreenController applicationDidChangeScreenParameters:]): Resize the fullscreen window to match
3100            the new screen parameters.
3101        (-[WebFullscreenController enterFullscreen:]):  Set up the animation that will take the fullscreen element
3102            from its original screen rect into fullscreen.
3103        (-[WebFullscreenController exitFullscreen]): Swap the webView back into its original window.
3104            Set up the animation that will take the fullscreen element back into its original screen
3105            rect.
3106        (-[WebFullscreenController _updatePowerAssertions]): Now checks _isAnyMoviePlaying to determine
3107            whether to disable screensaver and sleep.
3108        (-[WebFullscreenController _isAnyMoviePlaying]): Walks through the sub-tree starting at the fullscreen element
3109            looking for HTMLVideoElements; returns whether any are found to be playing.
3110        (-[WebFullscreenController _animationDuration]): Returns the current animation duration, affected by control
3111            and shift keys.
3112        (-[WebFullscreenWindow canBecomeKeyWindow]): Allow the window to become key.
3113        (-[WebFullscreenWindow keyDown:]): Handle the 'Esc' key.
3114        (-[WebFullscreenWindow cancelOperation:]): Request to exit fullscreen.
3115        (-[WebFullscreenWindow rendererLayer]): Convenience accessor.
3116        (-[WebFullscreenWindow setRendererLayer:]): Ditto.
3117        (-[WebFullscreenWindow backgroundLayer]): Ditto.
3118        (-[WebFullscreenWindow animationView]): Ditto.
3119        (MediaEventListener::MediaEventListener): Implements the EventListener protocol.
3120        (MediaEventListener::handleEvent): Tells its delegate to _updatePowerAssertions.
3121
31222011-01-07  James Robinson  <jamesr@chromium.org>
3123
3124        Revert "Implement mozilla's animationTime property"
3125        https://bugs.webkit.org/show_bug.cgi?id=51952
3126
3127        This approach isn't quite right.
3128
3129        * WebView/WebHTMLView.mm:
3130        (-[WebHTMLView drawRect:]):
3131        * WebView/WebView.mm:
3132        (layerSyncRunLoopObserverCallBack):
3133
31342011-01-06  Gavin Barraclough  <barraclough@apple.com>
3135
3136        Reviewed by Geoff Garen.
3137
3138        Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
3139
3140        The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
3141        destructor early, in order to release wrappers once we know we no longer intend to use them.
3142        Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
3143        lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
3144        A sequence of events that triggers the bug would look like this:
3145
3146        (1) Create a DOMWrapperWorld.
3147        (2) Register a timer in the world.
3148        (3) Call unregisterWorld() on the world.
3149        (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
3150        (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
3151            called forgetWorld() none exists.
3152        (6) Attempt to add a wrapper to a NULL map.
3153
3154        Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
3155
3156        * WebView/WebScriptWorld.mm:
3157        (-[WebScriptWorld unregisterWorld]):
3158
31592011-01-04  Chris Fleizach  <cfleizach@apple.com>
3160
3161        Reviewed by Sam Weinig.
3162
3163        WK2: Support Accessibility
3164        https://bugs.webkit.org/show_bug.cgi?id=51859
3165
3166        Use rootObject() method to get top of AX tree.
3167
3168        * WebCoreSupport/WebFrameLoaderClient.h:
3169        (WebFrameLoaderClient::accessibilityRemoteObject):
3170        * WebView/WebFrame.mm:
3171        (-[WebFrame setAccessibleName:]):
3172        (-[WebFrame accessibilityRoot]):
3173        * WebView/WebFrameInternal.h:
3174        * WebView/WebFramePrivate.h:
3175        * WebView/WebHTMLView.mm:
3176        (-[WebHTMLView accessibilityAttributeValue:]):
3177        (-[WebHTMLView accessibilityFocusedUIElement]):
3178        (-[WebHTMLView accessibilityHitTest:]):
3179        (-[WebHTMLView _accessibilityParentForSubview:]):
3180
31812011-01-04  David Kilzer  <ddkilzer@apple.com>
3182
3183        <http://webkit.org/b/51889> WebFrameLoaderClient::createMediaPlayerProxyPlugin() should use WebCore::PluginInfo.name
3184
3185        Reviewed by Eric Carlson.
3186
3187        This originally broke in r61581.  It is inside an
3188        ENABLE(PLUGIN_PROXY_FOR_VIDEO) macro, so it didn't break the Mac
3189        build then.
3190
3191        * WebCoreSupport/WebFrameLoaderClient.mm: Call
3192        (WebFrameLoaderClient::createMediaPlayerProxyPlugin): Updated to
3193        use WebCore::PluginInfo.name instead of
3194        -[WebBasePluginPackage name].
3195
31962011-01-02  Dan Bernstein  <mitz@apple.com>
3197
3198        Rubber-stamped by Simon Fraser.
3199
3200        <rdar://problem/8812159> Update copyright strings
3201
3202        * Info.plist:
3203
32042010-12-29  Dan Bernstein  <mitz@apple.com>
3205
3206        Reviewed by Ada Chan.
3207
3208        <rdar://problem/8758191> REGRESSION (r72887): Mail crashes when doing searches in a message due to method name conflict
3209        https://bugs.webkit.org/show_bug.cgi?id=51717
3210
3211        Renamed -findString:options: to -_findString:options: in the WebDocumentOptionsSearching
3212        protocol to avoid conflict with -[WebHTMLView(MailExtras) findString:options:] which Mail defines.
3213
3214        * WebView/WebDocumentInternal.h:
3215        * WebView/WebHTMLView.mm:
3216        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
3217        (-[WebHTMLView _findString:options:]):
3218        * WebView/WebView.mm:
3219        (findString):
3220
32212010-12-28  Daniel Bates  <dbates@rim.com>
3222
3223        Reviewed by Sam Weinig.
3224
3225        Substitute // MARK: for compiler-specific #pragma mark
3226        https://bugs.webkit.org/show_bug.cgi?id=51657
3227
3228        For consistency, we should substitute "// MARK:" for compiler-
3229        specific "#pragma mark" in the source files for the Mac port.
3230
3231        * History/WebHistory.mm:
3232        * Plugins/WebBaseNetscapePluginView.mm:
3233        * Plugins/WebNetscapePluginView.mm:
3234        * WebCoreSupport/WebInspectorClient.mm:
3235        * WebCoreSupport/WebSecurityOrigin.mm:
3236        * WebView/WebPDFView.mm:
3237        * WebView/WebVideoFullscreenController.mm:
3238        * WebView/WebVideoFullscreenHUDWindowController.mm:
3239
32402010-12-23  Yongjun Zhang  <yongjun_zhang@apple.com>
3241
3242        Reviewed by Darin Adler.
3243
3244        WebKit crashes at DebuggerCallFrame::functionName() if m_callFrame is the top global callframe.
3245        https://bugs.webkit.org/show_bug.cgi?id=38535
3246
3247        WebScriptDebugger in WebKit has empty implementations for willExecuteProgram and didExecuteProgram.  As a result,
3248        if the top call frame is from a program, WebKitScriptDebugger doesn't record that callframe as the top frame, and
3249        WebScriptDebugger's callframe stack is wrong from this point.  That could cause crash if we trying to access the top
3250        call frame from this stack when an exception throws because the saved top frame could be invalid.
3251
3252        To fix that, we need to maintain the call frame stack in willExecuteProgram and didExecuteProgram, as we did in
3253        callEvent and returnEvent.
3254
3255        * WebView/WebScriptDebugger.mm:
3256        (WebScriptDebugger::willExecuteProgram):
3257        (WebScriptDebugger::didExecuteProgram):
3258
32592010-12-22  Sam Weinig  <sam@webkit.org>
3260
3261        Reviewed by Darin Adler.
3262
3263        WebKit2 needs to mirror the frame tree in the UIProcess
3264        https://bugs.webkit.org/show_bug.cgi?id=51546
3265
3266        - Add client functions to notify that a frame has been added or
3267          removed from the page cache.
3268
3269        * WebCoreSupport/WebFrameLoaderClient.h:
3270        * WebCoreSupport/WebFrameLoaderClient.mm:
3271        (WebFrameLoaderClient::didSaveToPageCache):
3272        (WebFrameLoaderClient::didRestoreFromPageCache):
3273
32742010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
3275
3276        Reviewed by Eric Seidel.
3277
3278        Editor.h doesn't need to include SelectionController.h
3279        https://bugs.webkit.org/show_bug.cgi?id=51441
3280
3281        Renamed SelectionController::EDirection to SelectionDirection.
3282
3283        * WebView/WebFrame.mm:
3284        (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:granularity:]):
3285        Takes SelectionDirection instead of SelectionController::EDirection.
3286        * WebView/WebFrameInternal.h:
3287        * WebView/WebTextCompletionController.mm:
3288        (-[WebTextCompletionController doCompletion]): Calls _rangeByAlteringCurrentSelection:SelectionController.
3289
32902010-12-22  Simon Fraser  <simon.fraser@apple.com>
3291
3292        Reviewed by Darin Adler.
3293
3294        Cache snapshots of plug-ins before painting, to avoid script running during painting
3295        https://bugs.webkit.org/show_bug.cgi?id=51493
3296
3297        When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
3298        or when printing), plug-ins which otherwise use the CA rendering model
3299        are sent a paint event. Some plug-ins may run script while handling this event,
3300        or out of process plug-ins may process queued requests at this time. Running
3301        script while inside layout or painting can have bad consequences, because it
3302        can result in arbitrary changes to the render tree.
3303
3304        This patch avoids sending plug-ins paint events inside of painting. Instead,
3305        we ask the plug-ins to cache a snapshot before we paint, and then the software
3306        paint simply draws that snapshot.
3307
3308        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3309        (-[WebHostedNetscapePluginView drawRect:]): If we have a cached snapshot,
3310        draw it. Also only send the snapshot message to the plugin proxy if we
3311        know we're snapshotting, since even if creating the snapshot image failed,
3312        we still don't want to call to the plug-in.
3313
3314        * Plugins/WebBaseNetscapePluginView.h: Add a retained NSImage member for the snapshot.
3315        * Plugins/WebBaseNetscapePluginView.mm:
3316        (-[WebBaseNetscapePluginView cacheSnapshot]): Create an image and draw the snapshot into it.
3317        (-[WebBaseNetscapePluginView clearCachedSnapshot]): Clear the snapshot.
3318
3319        * Plugins/WebNetscapePluginView.mm:
3320        (-[WebNetscapePluginView drawRect:]): If we have a cached snapshot, use it.
3321        * WebCoreSupport/WebFrameLoaderClient.mm:
3322        (NetscapePluginWidget::notifyWidget): Implement notifyWidget() and use it
3323        to cache and clear the snapshots.
3324
33252010-12-21  Cameron Zwarich  <zwarich@apple.com>
3326
3327        Reviewed by Darin Adler.
3328
3329        -[WebBasePluginPackage isNativeLibraryData:] integer underflows on zero-sized data
3330        https://bugs.webkit.org/show_bug.cgi?id=51431
3331        <rdar://problem/8791757>
3332
3333        * Plugins/WebBasePluginPackage.mm:
3334        (-[WebBasePluginPackage isNativeLibraryData:]): Change an arithmetic expression so
3335        it doesn't underflow.
3336
33372010-12-16  Ryosuke Niwa  <rniwa@webkit.org>
3338
3339        Reviewed by Cameron Zwarich.
3340
3341        REGRESSION(r74172): 125 java tests fail on Mac
3342        https://bugs.webkit.org/show_bug.cgi?id=51214
3343
3344        The regression was caused by an incorrectly adding sizeof(struct fat_header)
3345        to a pointer for uint32_t as supposed to uint8_t.
3346
3347        Fixed the bug by explicitly casting it to uint8_t* before the addition.
3348
3349        * Plugins/WebBasePluginPackage.mm:
3350        (-[WebBasePluginPackage isNativeLibraryData:]):
3351
33522010-12-15  Cameron Zwarich  <zwarich@apple.com>
3353
3354        Reviewed by Darin Adler.
3355
3356        Clang -Wcast-align gives an error in WebBasePluginPackage.mm
3357        https://bugs.webkit.org/show_bug.cgi?id=51144
3358
3359        Fix an alignment issue. OSSwapInt32 takes data that is 32-bit aligned on ARM, but
3360        we were calling it on a byte array 32 bits at a time. While this is okay in practice,
3361        since TCMalloc won't give us a non-32-bit aligned block array of bytes and Vector's
3362        inline storage is at the beginning of the Vector, it is still better to fix this
3363        and silence the warning.
3364
3365        * Plugins/WebBasePluginPackage.mm:
3366        (swapIntsInHeader):
3367        (-[WebBasePluginPackage isNativeLibraryData:]):
3368
33692010-12-14  Mark Rowe  <mrowe@apple.com>
3370
3371        Reviewed by Sam Weinig.
3372
3373        <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>
3374
3375        * History/WebHistoryItem.mm:
3376        (-[WebHistoryItem description]): Test whether the string is empty rather than incorrectly
3377        always including the target in the output.
3378
33792010-12-13  Alexey Proskuryakov  <ap@apple.com>
3380
3381        Reviewed by Adam Barth.
3382
3383        https://bugs.webkit.org/show_bug.cgi?id=50953
3384        DNS Prefetch should be an opt-in feature
3385
3386        * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Changed default to false.
3387
33882010-12-13  Mike Thole  <mthole@apple.com>
3389
3390        Rubber-stamped by John Sullivan.
3391
3392        https://bugs.webkit.org/show_bug.cgi?id=50956
3393        WebAuthenticationPanel.nib appears to have a cut-off sentence
3394
3395        Replace the sentence fragment in the sheet layout with "<-- do not localize -->" style text.
3396        The contents of this text field are updated dynamically before the sheet is displayed.
3397
3398        * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
3399        * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
3400
34012010-12-13  Antti Koivisto  <antti@apple.com>
3402
3403        Reviewed by Alexey Proskuryakov.
3404
3405        https://bugs.webkit.org/show_bug.cgi?id=50758
3406        <rdar://problem/8722094>
3407        Defer loading print stylesheets
3408
3409        Expose SPI for DRT for making resources load serially. This is useful for testing resource load order.
3410
3411        * WebView/WebView.mm:
3412        (+[WebView _setLoadResourcesSerially:forHost:]):
3413        * WebView/WebViewPrivate.h:
3414
34152010-12-09  Matthew Delaney  <mdelaney@apple.com>
3416
3417        Reviewed by Simon Fraser.
3418
3419        Adopt new CG API for canvas
3420        https://bugs.webkit.org/show_bug.cgi?id=50591
3421
3422        * WebCoreSupport/WebSystemInterface.mm:
3423
34242010-10-28  MORITA Hajime  <morrita@google.com>
3425
3426        Reviewed by Ojan Vafai.
3427
3428        spellcheck does not check pasted text
3429        https://bugs.webkit.org/show_bug.cgi?id=40092
3430
3431        Added asynchronous spell checking API to WebEditorClient using
3432        -[NSSpellChecker requestCheckingOfString].
3433        Note that WebEditorSpellCheckResponder is a small class to receive
3434        requested spell-checking result. Note that this feature is
3435        disabled at default.
3436
3437        Also added [WebPreferences setAsynchronousSpellCheckingEnabled:] to
3438        enable the feature from LayoutTestController.
3439
3440        * WebCoreSupport/WebEditorClient.h:
3441        * WebCoreSupport/WebEditorClient.mm:
3442        (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]):
3443        (-[WebEditorSpellCheckResponder perform]):
3444        (toCoreSpellingResult):
3445        (-[WebEditorSpellCheckResponder WTF::WebCore::]):
3446        (WebEditorClient::requestCheckingOfString):
3447        * WebView/WebPreferenceKeysPrivate.h:
3448        * WebView/WebPreferences.mm:
3449        (+[WebPreferences initialize]):
3450        (-[WebPreferences setAsynchronousSpellCheckingEnabled:]):
3451        (-[WebPreferences asynchronousSpellCheckingEnabled]):
3452        * WebView/WebPreferencesPrivate.h:
3453        * WebView/WebView.mm:
3454        (-[WebView _preferencesChangedNotification:]):
3455
34562010-12-09  Anders Carlsson  <andersca@apple.com>
3457
3458        Fix a bug uncovered by clang++.
3459
3460        * WebView/WebHTMLView.mm:
3461        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
3462
34632010-12-09  Anders Carlsson  <andersca@apple.com>
3464
3465        Clang++ build fixes.
3466
3467        Silence a couple of warnings.
3468
3469        * WebView/WebFrame.mm:
3470        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
3471        (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
3472        * WebView/WebTextCompletionController.mm:
3473        (-[WebTextCompletionController filterKeyDown:]):
3474
34752010-12-09  David Hyatt  <hyatt@apple.com>
3476
3477        Reviewed by Dan Bernstein.
3478
3479        https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PgUp, PgDown should respect
3480        writing-mode.  This first part of the patch just patches Mac WebKit 1 views.
3481
3482        * WebView/WebFrameView.mm:
3483        (-[WebFrameView _isVerticalDocument]):
3484        (-[WebFrameView _isFlippedDocument]):
3485        (-[WebFrameView _scrollToEndOfDocument]):
3486        (-[WebFrameView _pageInBlockProgressionDirection:]):
3487        (-[WebFrameView scrollPageUp:]):
3488        (-[WebFrameView scrollPageDown:]):
3489
34902010-12-08  Andy Estes  <aestes@apple.com>
3491
3492        Reviewed by Darin Adler.
3493
3494        Enable pre-HTML5 parser quirks for Apple Mail.app
3495        https://bugs.webkit.org/show_bug.cgi?id=50727
3496
3497        * WebView/WebView.mm:
3498        (-[WebView _needsPreHTML5ParserQuirks]): Return true if the embedding
3499        application is Mail.app.
3500
35012010-12-08  Brian Weinstein  <bweinstein@apple.com>
3502
3503        Reviewed by John Sullivan.
3504
3505        REGRESSION: r73429-r73490: Some Contextual menu items non-functional, such as Open Link in New Tab
3506        https://bugs.webkit.org/show_bug.cgi?id=50683
3507
3508        If our context menu item already has an action, don't overwrite the action with the context menu
3509        forwarder.
3510
3511        * WebView/WebHTMLView.mm:
3512        (setMenuItemTarget):
3513
35142010-12-08  Anders Carlsson  <andersca@apple.com>
3515
3516        Remove an unused variable.
3517
3518        * WebView/WebDynamicScrollBarsView.mm:
3519        (-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]):
3520
35212010-12-07  Brian Weinstein  <bweinstein@apple.com>
3522
3523        Reviewed by John Sullivan.
3524
3525        Layering Violation in ContextMenu - member variable of type HitTestResult
3526        https://bugs.webkit.org/show_bug.cgi?id=50586
3527
3528        Update users of ContextMenu and ContextMenuController to match where the new functions
3529        are located.
3530
3531        * WebCoreSupport/WebContextMenuClient.mm:
3532        (WebContextMenuClient::getCustomMenuFromDefaultItems):
3533        (WebContextMenuClient::contextMenuItemSelected):
3534        * WebView/WebHTMLView.mm:
3535        (-[WebMenuTarget validateMenuItem:]):
3536
35372010-12-07  Brian Weinstein  <bweinstein@apple.com>
3538
3539        Reviewed by John Sullivan.
3540
3541        Part of Layering Violation in ContextMenu
3542        https://bugs.webkit.org/show_bug.cgi?id=50586
3543
3544        Move WebMenuTarget from ContextMenuMac to here, because having it in ContextMenuMac
3545        was a layering violation. Also, make sure we set the menu item targets for all menu
3546        items before showing them, because the ContextMenu constructor doesn't do that anymore.
3547
3548        * WebView/WebHTMLView.mm:
3549        (+[WebMenuTarget sharedMenuTarget]): Moved from ContextMenuMac.mm.
3550        (-[WebMenuTarget WebCore::]): Ditto.
3551        (-[WebMenuTarget setMenuController:WebCore::]): Ditto.
3552        (-[WebMenuTarget forwardContextMenuAction:]): Ditto.
3553        (-[WebMenuTarget validateMenuItem:]): Ditto.
3554
3555        (setMenuItemTarget): Sets the target of the NSMenuItem to the shared WebMenuTarget.
3556        (setMenuTargets): Recursively iterates over all NSMenuItems in an NSMenu (including
3557            submenus), and calls setMenuItemTarget on them.
3558        (-[WebHTMLView menuForEvent:]): Call setMenuTarget on all the menu items before adding
3559            them to the menu.
3560
35612010-12-06  Darin Adler  <darin@apple.com>
3562
3563        Reviewed by Sam Weinig.
3564
3565        Pass security origin to make local file decision correctly
3566        https://bugs.webkit.org/show_bug.cgi?id=48603
3567
3568        * WebView/WebPDFView.mm:
3569        (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Pass security origin.
3570
35712010-12-07  Martin Robinson  <mrobinson@igalia.com>
3572
3573        Unreviewed, rolling out r73392.
3574        http://trac.webkit.org/changeset/73392
3575        https://bugs.webkit.org/show_bug.cgi?id=50489
3576
3577        This commit caused crashes on the GTK+ bots
3578
3579        * WebView/WebFrame.mm:
3580        (-[WebFrame _canProvideDocumentSource]):
3581
35822010-12-07  Kenichi Ishibashi  <bashi@google.com>
3583
3584        Reviewed by Kent Tamura.
3585
3586        Let HTMLObjectElement be a form associated element
3587        https://bugs.webkit.org/show_bug.cgi?id=48821
3588
3589        Modified to use FormAssociatedElement instead of HTMLFormControlElement.
3590
3591        * WebView/WebHTMLRepresentation.mm:
3592        (-[WebHTMLRepresentation elementWithName:inForm:]): Modified to use
3593        FormAssociatedElement instead of HTMLFormControlElement.
3594        (-[WebHTMLRepresentation controlsInForm:]): Ditto.
3595
35962010-12-06  Nate Chapin  <japhet@chromium.org>
3597
3598        Reviewed by Adam Barth.
3599
3600        Update calls to DocumentWriter.
3601        https://bugs.webkit.org/show_bug.cgi?id=50489
3602
3603        * WebView/WebFrame.mm:
3604        (-[WebFrame _canProvideDocumentSource]):
3605
36062010-12-06  Chris Marrin  <cmarrin@apple.com>
3607
3608        Reviewed by Simon Fraser.
3609
3610        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
3611        https://bugs.webkit.org/show_bug.cgi?id=49388
3612
3613        Got rid of GraphicsLayer::nativeLayer() call, replacing it with
3614        GraphicsLayer::platformLayer().
3615
3616        * WebCoreSupport/WebChromeClient.mm:
3617        (WebChromeClient::attachRootGraphicsLayer):
3618
36192010-12-04  Dan Bernstein  <mitz@apple.com>
3620
3621        Reviewed by Sam Weinig.
3622
3623        WebKit part of <rdar://problem/8145955> Add text search API for counting/marking/highlighting matches in a range
3624        https://bugs.webkit.org/show_bug.cgi?id=50530
3625
3626        * WebView/WebDocumentInternal.h: Added a DOMRange parameter to -countMatchesForText:options:limit:markMatches:
3627        * WebView/WebHTMLView.mm:
3628        (-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter,
3629        which is passed through to WebCore.
3630        * WebView/WebPDFView.mm:
3631        (isFrameInRange): Added this helper function.
3632        (-[WebPDFView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter and
3633        a check if the frame is in the range.
3634        * WebView/WebView.mm:
3635        (-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Now calls the inDOMRange: version.
3636        (-[WebView countMatchesForText:inDOMRange:options:highlight:limit:markMatches:]): Added DOMRange
3637        parameter, which is passed to document views' -countMatchesForText:inDOMRange:options:limit:markMatches:.
3638        * WebView/WebViewPrivate.h:
3639
36402010-12-03  Sam Weinig  <sam@webkit.org>
3641
3642        Reviewed by Maciej Stachowiak.
3643
3644        Enable <a ping> for Mac/Windows/WebKit2 builds
3645        <rdar://problem/8504473>
3646        https://bugs.webkit.org/show_bug.cgi?id=50488
3647
3648        * WebView/WebPreferences.mm:
3649        (+[WebPreferences initialize]): Enable "HyperlinkAuditing" by default.
3650
36512010-12-03  Jia Pu  <jpu@apple.com>
3652
3653        Reviewed by Darin Adler.
3654
3655        Need to move all code that applies correction into correction panel callback.
3656        https://bugs.webkit.org/show_bug.cgi?id=50426
3657        <rdar://problem/8720832>
3658
3659        * WebCoreSupport/WebEditorClient.h: Adopted new signature of dismissCorrectionPanel.
3660
3661        * WebCoreSupport/WebEditorClient.mm:
3662        (WebEditorClient::~WebEditorClient): Adopted new signature of dismissCorrectionPanel.
3663        (WebEditorClient::showCorrectionPanel): Added more user dictionary learning code.
3664        (WebEditorClient::dismissCorrectionPanel): Adopted new signature of dismissCorrectionPanel.
3665
36662010-12-02  Simon Fraser  <simon.fraser@apple.com>
3667
3668        Revert r73217 and r73227 because of continued bustage.
3669
3670        * WebCoreSupport/WebChromeClient.mm:
3671        (WebChromeClient::attachRootGraphicsLayer):
3672
36732010-12-02  Chris Marrin  <cmarrin@apple.com>
3674
3675        Reviewed by Simon Fraser.
3676
3677        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
3678        https://bugs.webkit.org/show_bug.cgi?id=49388
3679
3680        Got rid of GraphicsLayer::nativeLayer() call, replacing it with
3681        GraphicsLayer::platformLayer().
3682
3683        * WebCoreSupport/WebChromeClient.mm:
3684        (WebChromeClient::attachRootGraphicsLayer):
3685
36862010-12-02  Mark Rowe  <mrowe@apple.com>
3687
3688        Reviewed by Beth Dakin.
3689
3690        <rdar://problem/8708730> Objects reported as being leaked due to lack of autorelease pool
3691
3692        * Misc/WebNSFileManagerExtras.m:
3693        (setMetaData): Create an autorelease pool for the duration of the thread body.
3694
36952010-12-02  John Knottenbelt  <jknotten@chromium.org>
3696
3697        Reviewed by Steve Block.
3698
3699        Move requestGeolocationPermissionForFrame to GeolocationClient
3700        https://bugs.webkit.org/show_bug.cgi?id=50061
3701
3702        This change facilitates client-based geolocation implementation by
3703        bringing together permission control into the geolocation client
3704        interface.
3705
3706        Move method ChromeClient::requestGeolocationPermissionForFrame to
3707        GeolocationClient::requestPermission, and supporting class
3708        WebGeolocationPolicyListener. The moved code is unchanged except
3709        that requestPermission now takes only one argument (Geolocation*)
3710        and the Frame parameter is retrieved from the Geolocation object.
3711
3712        * WebCoreSupport/WebChromeClient.h:
3713        * WebCoreSupport/WebChromeClient.mm:
3714        * WebCoreSupport/WebGeolocationClient.h:
3715        (WebGeolocationClient::cancelPermissionRequest):
3716        * WebCoreSupport/WebGeolocationClient.mm:
3717        (WebGeolocationClient::requestPermission):
3718        (-[WebGeolocationPolicyListener initWithGeolocation:]):
3719        (-[WebGeolocationPolicyListener allow]):
3720        (-[WebGeolocationPolicyListener deny]):
3721
37222010-12-02  Joseph Pecoraro  <joepeck@webkit.org>
3723
3724        Reviewed by Eric Carlson.
3725
3726        Style Fixes in WebPluginController
3727        https://bugs.webkit.org/show_bug.cgi?id=50397
3728
3729        * Plugins/WebPluginController.mm:
3730        (-[WebPluginController startAllPlugins]):
3731        (-[WebPluginController stopAllPlugins]):
3732
37332010-12-02  John Sullivan  <sullivan@apple.com>
3734
3735        Reviewed by Adam Roben.
3736
3737        Slightly speculative fix for:
3738
3739        <rdar://problem/8712674>
3740        <https://bugs.webkit.org/show_bug.cgi?id=50393>
3741        setStringValue: sometimes called with nil in [WebAuthenticationPanel setUpForChallenge]
3742
3743        * Panels/WebAuthenticationPanel.m:
3744        (-[WebAuthenticationPanel setUpForChallenge:]):
3745        If the realm is nil, use @"" instead.
3746
37472010-12-01  Jia Pu  <jpu@apple.com>
3748
3749        Reviewed by Darin Adler.
3750
3751        Support multiple correction candidates panel for misspelled word on Mac OS X.
3752        https://bugs.webkit.org/show_bug.cgi?id=50137
3753        <rdar://problem/8568059>
3754
3755        This patch is for supporting multiple correction suggestion panel on Mac OS X.
3756        The behavior and implementation is similar to that of reversion candiate panel.
3757
3758        * WebCoreSupport/WebEditorClient.h: Adopted new signatures defined in base class.
3759
3760        * WebCoreSupport/WebEditorClient.mm:  Adopted new signatures defined in base class.
3761          Added code to handle new multiple suggestion canidate panel type.
3762        (WebEditorClient::showCorrectionPanel):
3763        (WebEditorClient::getGuessesForWord):
3764
37652010-12-01  David Hyatt  <hyatt@apple.com>
3766
3767        Reviewed by Darin Adler.
3768
3769        https://bugs.webkit.org/show_bug.cgi?id=46645
3770
3771        Part 1 of making scrolling work with vertical text. This patch generalizes the scrollOriginX concept
3772        recently added for horizontal RTL documents and applies it to writing modes as well.  Now the
3773        scrollOrigin is a point, since you can start off locked to the bottom or locked to the right.
3774
3775        This patch also fixes numerous bugs with the scrollOrigin code using native Mac NSScrollViews and
3776        makes them behave the same as the cross-platform code (allowing for cross-platform results to be
3777        landed).
3778
3779        * WebView/WebDynamicScrollBarsView.mm:
3780        (-[WebDynamicScrollBarsView adjustForScrollOriginChange]):
3781        (-[WebDynamicScrollBarsView updateScrollers]):
3782        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
3783        (-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]):
3784        (-[WebDynamicScrollBarsView scrollOrigin]):
3785        * WebView/WebFrameView.mm:
3786        (-[WebFrameView _scrollToBeginningOfDocument]):
3787        (-[WebFrameView _scrollToEndOfDocument]):
3788
37892010-11-29  Dan Bernstein  <mitz@apple.com>
3790
3791        Reviewed by Darin Adler.
3792
3793        WebKit Mac part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
3794        https://bugs.webkit.org/show_bug.cgi?id=50038
3795        Based on a patch from Darin Adler.
3796
3797        * WebView/WebDocumentInternal.h: Removed -markAllMatchesForText:caseSensitive:limit: and
3798        replaced -countMatchesForText:caseSensitive:limit:markMatches: with a WebFindOptions-based
3799        method. Declared a WebDocumentOptionsSearching protocol with a new -findString:options:
3800        method. Made WebHTMLView conform to the new protocol.
3801        * WebView/WebHTMLView.mm:
3802        (coreOptions): Added. Converts WebFindOptions to WebCore FindOptions.
3803        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Changed to use
3804        -findString:options:.
3805        (-[WebHTMLView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions.
3806        (-[WebHTMLView findString:options:]): Added. Calls through to WebCore::Editor::findString().
3807        * WebView/WebPDFView.mm:
3808        (-[WebPDFView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions.
3809        * WebView/WebView.mm:
3810        (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]): Now calls through to
3811        -countMatchesForText:options:highlight:limit:markMatches.
3812        (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]): Ditto.
3813        (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]): Now calls through to
3814        -findString:options:.
3815        (incrementFrame): Changed to use WebFindOptions.
3816        (findString): Added this helper method that performs the search using the best supported
3817        method for the document view.
3818        (-[WebView findString:options:]): Changed -searchFor::::: into this.
3819        (-[WebView canMarkAllTextMatches]):
3820        (-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Updated to use
3821        WebFindOptions.
3822        (-[WebView unmarkAllTextMatches]): Updated for change to incrementFrame.
3823        (-[WebView rectsForTextMatches]): Ditto.
3824        * WebView/WebViewPrivate.h: Added WebFindOptions, -findString:options:, and WebFindOptions version
3825        of countMatchesForText:.
3826
38272010-11-29  Jeremy Moskovich  <jeremy@chromium.org>
3828
3829        Reviewed by David Hyatt.
3830
3831        Right-to-left pages should be scrollable to reveal left overflow.
3832        https://bugs.webkit.org/show_bug.cgi?id=23556
3833
3834        Set and get the original x-axis scroll position and reset scroll position on HOME/END key press.
3835        Modify WebFrameView to support setting the initial horizontal scroller's thumb position to the right for
3836        pages with a left overflow.
3837
3838        * WebView/WebDynamicScrollBarsView.h:
3839        * WebView/WebDynamicScrollBarsView.mm:
3840        (-[WebDynamicScrollBarsView inProgramaticScroll]):
3841        (-[WebDynamicScrollBarsView refreshInitialScrollbarPosition]):
3842        (-[WebDynamicScrollBarsView updateScrollers]):
3843        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
3844        (-[WebDynamicScrollBarsView setScrollOriginX:]):
3845        (-[WebDynamicScrollBarsView scrollOriginX]):
3846        * WebView/WebFrameView.mm:
3847        (-[WebFrameView _scrollToBeginningOfDocument]):
3848        (-[WebFrameView _scrollToEndOfDocument]):
3849        * WebView/WebHTMLView.mm:
3850        (-[WebHTMLView _frameOrBoundsChanged]):
3851
38522010-11-22  Ryosuke Niwa  <rniwa@webkit.org>
3853
3854        Reviewed by Tony Chang.
3855
3856        SelectionController::typingStyle() should return EditingStyle*
3857        https://bugs.webkit.org/show_bug.cgi?id=49813
3858
3859        Changed the return value of SelectionController::typingStyle() to EditingStyle*.
3860        Also added SelectionController::copyTypingStyle() to copy the typing style
3861        as an instance of CSSMutableStyleDeclaration.
3862
3863        No tests are added since this is no behavioral change.
3864
3865        * WebView/WebFrame.mm:
3866        (-[WebFrame _typingStyle]): Calls SelectionController::copyTypingStyle()
3867
38682010-11-19  Michael Saboff  <msaboff@apple.com>
3869
3870        Reviewed by Sam Weinig
3871
3872        Remove DOMSVGAnimatedPathData.h from all: target to fix build.
3873
3874        * MigrateHeaders.make:
3875
38762010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
3877
3878        Reviewed by Dirk Schulze.
3879
3880        Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
3881        https://bugs.webkit.org/show_bug.cgi?id=49580
3882
3883        * WebView/WebRenderLayer.mm: Add missing StyledElement.h include.
3884
38852010-11-18  Mark Rowe  <mrowe@apple.com>
3886
3887        Rubber-stamped by Adam Roben.
3888
3889        <rdar://problem/8602509&8602717&8602724> Enable compaction support.
3890
3891        * Configurations/WebKit.xcconfig:
3892
38932010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3894
3895        Unreviewed, rolling out r72288.
3896        http://trac.webkit.org/changeset/72288
3897        https://bugs.webkit.org/show_bug.cgi?id=49730
3898
3899        'krit attempted to do that, but revert got stuck' (Requested
3900        by antonm on #webkit).
3901
3902        * WebView/WebRenderLayer.mm:
3903
39042010-11-17  Nikolas Zimmermann  <nzimmermann@rim.com>
3905
3906        Reviewed by Dirk Schulze.
3907
3908        Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
3909        https://bugs.webkit.org/show_bug.cgi?id=49580
3910
3911        * WebView/WebRenderLayer.mm: Add missing StyledElement.h include.
3912
39132010-11-16  Stephanie Lewis  <slewis@apple.com>
3914
3915        Reviewed by Geoff Garen.
3916
3917        <rdar://problem/8624267> Leak creating offscreen webview running fast/dom tests
3918
3919        Make a static provider for WebDeviceOrientationProviderMock.  The old code allocated a new WebDeviceOrientationProviderMock for
3920        every WebView, and the WebKit API doesn't support that ownership model.
3921
3922        * WebView/WebDeviceOrientationProviderMock.h:
3923        * WebView/WebDeviceOrientationProviderMock.mm:
3924        (+[WebDeviceOrientationProviderMock shared]):
3925
39262010-11-16  Dave Hyatt  <hyatt@apple.com>
3927
3928        Reviewed by Dan Bernstein.
3929
3930        https://bugs.webkit.org/show_bug.cgi?id=11004
3931
3932        font-size:0 is ignored.  Remove the minimum font size of 1 in CSSStyleSelector.
3933        Change the pref value for minimum font size from 1 to 0.  Make sure to never use the NSFont's size,
3934        since it doesn't honor a size of 0.  Instead pass the size in to the FontPlatformData(NSFont*) version
3935        of the constructor rather than using [NSFont pointSize].
3936
3937        https://bugs.webkit.org/show_bug.cgi?id=49582
3938
3939        Negative leading is not handled correctly.  There are two bugs here.  The first is that
3940        maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
3941        set them before so that we can allow them to be < 0.
3942
3943        The second issue is that we should understand where fonts will end up relative to
3944        our baseline (excluding line height), and only allow those boxes to impact ascent and
3945        descent if the actual font box (without factoring in line height) is above or below the
3946        root line box baseline.
3947
3948        Added fast/css/negative-leading.html
3949
3950        These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
3951
3952        * Misc/WebKitNSStringExtras.mm:
3953        (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
3954        (-[NSString _web_widthWithFont:]):
3955        * Misc/WebStringTruncator.mm:
3956        (fontFromNSFont):
3957        * WebView/WebPreferences.mm:
3958        (+[WebPreferences initialize]):
3959
39602010-11-16  Anders Carlsson  <andersca@apple.com>
3961
3962        Fix clang++ build.
3963
3964        * WebCoreSupport/WebFrameLoaderClient.mm:
3965
39662010-11-14  Kent Tamura  <tkent@chromium.org>
3967
3968        Reviewed by Andreas Kling.
3969
3970        KeyboardEvent::keyIdentifier() should return "const String&"
3971        https://bugs.webkit.org/show_bug.cgi?id=49426
3972
3973        * WebCoreSupport/WebEditorClient.mm:
3974        (selectorForKeyEvent):
3975          Change the type of a variable to have keyIdentifier(); String -> const String&
3976
39772010-11-12  John Knottenbelt  <jknotten@chromium.org>
3978
3979        Reviewed by Steve Block.
3980
3981        Rename GeolocationControllerClient to GeolocationClient.
3982        https://bugs.webkit.org/show_bug.cgi?id=49259
3983
3984        * WebCoreSupport/WebGeolocationClient.h: Renamed from WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.h.
3985        (WebGeolocationClient::webView):
3986        (WebGeolocationClient::setEnableHighAccuracy):
3987        * WebCoreSupport/WebGeolocationClient.mm: Renamed from WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.mm.
3988        (WebGeolocationClient::WebGeolocationClient):
3989        (WebGeolocationClient::geolocationDestroyed):
3990        (WebGeolocationClient::startUpdating):
3991        (WebGeolocationClient::stopUpdating):
3992        (WebGeolocationClient::lastPosition):
3993        * WebKit.order:
3994        * WebView/WebView.mm:
3995        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
3996
39972010-11-10  Beth Dakin  <bdakin@apple.com>
3998
3999        Reviewed by Simon Fraser.
4000
4001        Fix for https://bugs.webkit.org/show_bug.cgi?id=49356
4002        -[WebView _scaleWebView:] should take and origin and scroll the
4003        document
4004        -and corresponding-
4005        <rdar://problem/8643921>
4006
4007        * WebView/WebView.mm:
4008        (-[WebView _scaleWebView:atOrigin:]):
4009        * WebView/WebViewPrivate.h:
4010
40112010-11-10  Csaba Osztrogonác  <ossy@webkit.org>
4012
4013        Reviewed by David Hyatt.
4014
4015        HTML5 Ruby support should be mandatory feature
4016        https://bugs.webkit.org/show_bug.cgi?id=49272
4017
4018        Remove Ruby as optional feature.
4019
4020        * Configurations/FeatureDefines.xcconfig:
4021
40222010-11-08  Ned Holbrook  <nholbrook@apple.com>
4023
4024        Reviewed by Adam Barth.
4025
4026        Avoid CFAttributedString creation in ComplexTextController by adopting UniChar provider SPI.
4027        https://bugs.webkit.org/show_bug.cgi?id=48886
4028
4029        * WebCoreSupport/WebSystemInterface.mm:
4030        (InitWebCoreSystemInterface):
4031
40322010-11-08  Nate Chapin  <japhet@chromium.org>
4033
4034        Unreviewed, build fix.
4035
4036        Clumsy typo in r71562.
4037
4038        * Plugins/Hosted/HostedNetscapePluginStream.mm:
4039        (WebKit::HostedNetscapePluginStream::start):
4040
40412010-11-08  Nate Chapin  <japhet@chromium.org>
4042
4043        Reviewed by Alexey Proskuryakov.
4044
4045        Interface changes in https://bugs.webkit.org/show_bug.cgi?id=27165
4046
4047        * Plugins/Hosted/HostedNetscapePluginStream.mm:
4048        (WebKit::HostedNetscapePluginStream::start): Move duplicate code into NetscapePluginStreamLoader
4049        * Plugins/WebNetscapePluginStream.mm:
4050        (WebNetscapePluginStream::start): Move duplicate code into NetscapePluginStreamLoader
4051        * WebView/WebView.mm:
4052        (-[WebView _dispatchPendingLoadRequests]): Use resourceLoadScheduler() instead of cache()->loader().
4053
40542010-11-08  Anders Carlsson  <andersca@apple.com>
4055
4056        Reviewed by Dan Bernstein.
4057
4058        Plug-in views should not assume that plugins are RenderEmbeddedObjects
4059        https://bugs.webkit.org/show_bug.cgi?id=49196
4060        <rdar://problem/8638467>
4061
4062        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
4063        (-[WebHostedNetscapePluginView pluginHostDied]):
4064
40652010-11-08  Alexey Proskuryakov  <ap@apple.com>
4066
4067        Reviewed by Darin Adler.
4068
4069        https://bugs.webkit.org/show_bug.cgi?id=48685
4070        Notify UI process about focused frame
4071
4072        Added an empty implementation of the new ChromeClient method.
4073
4074        * WebCoreSupport/WebChromeClient.h:
4075        * WebCoreSupport/WebChromeClient.mm:
4076        (WebChromeClient::focusedFrameChanged):
4077
40782010-11-08  Anders Carlsson  <andersca@apple.com>
4079
4080        Build fix.
4081
4082        * MigrateHeaders.make:
4083
40842010-11-08  Anders Carlsson  <andersca@apple.com>
4085
4086        Reviewed by Adam Roben.
4087
4088        Remove use of HIGetScaleFactor
4089        https://bugs.webkit.org/show_bug.cgi?id=49186
4090        <rdar://problem/8618410>
4091
4092        Scale factors can vary on a display-by-display basis and it doesn't make sense
4093        to compute scale factor event coordinates like this.
4094
4095        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
4096        (getCarbonEvent):
4097
40982010-11-08  Simon Fraser  <simon.fraser@apple.com>
4099
4100        Reviewed by Sam Weinig.
4101
4102        Allow applets to participate in accelerated compositing
4103        https://bugs.webkit.org/show_bug.cgi?id=49117
4104        <rdar://problem/8625819>
4105
4106        If Java is being loaded via the Netscape Plugin API, create a
4107        NetscapePluginWidget so that it has an implementation of platformLayer().
4108
4109        Also clean up by using early returns.
4110
4111        * WebCoreSupport/WebFrameLoaderClient.mm:
4112
41132010-11-07  Adam Barth  <abarth@webkit.org>
4114
4115        Reviewed by Eric Seidel.
4116
4117        Rename Cache to MemoryCache
4118        https://bugs.webkit.org/show_bug.cgi?id=49159
4119
4120        * Misc/WebCache.mm:
4121        (+[WebCache statistics]):
4122        * WebCoreSupport/WebDeviceOrientationClient.mm:
4123        (WebDeviceOrientationClient::setController):
4124        * WebView/WebView.mm:
4125
41262010-11-05  Alexey Proskuryakov  <ap@apple.com>
4127
4128        Reviewed by Darin Adler.
4129
4130        https://bugs.webkit.org/show_bug.cgi?id=49100
4131        ASSERT([self window]) fails in -[WebBaseNetscapePluginView restartTimers]
4132
4133        * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView restartTimers]):
4134        Removed the assertion. Multiple callers provide no guarantee that the plug-in is still alive
4135        (see bug comments), and there seems to be no harm in executing this function in that case.
4136
41372010-11-05  Chris Marrin  <cmarrin@apple.com>
4138
4139        Reviewed by Simon Fraser.
4140
4141        Move resumeAnimations/suspendAnimations from Frame to AnimationController.
4142        https://bugs.webkit.org/show_bug.cgi?id=49073
4143
4144        * WebView/WebFrame.mm:
4145        (-[WebFrame _suspendAnimations]):
4146        (-[WebFrame _resumeAnimations]):
4147
41482010-11-04  Alexey Proskuryakov  <ap@apple.com>
4149
4150        Reviewed by Darin Adler.
4151
4152        https://bugs.webkit.org/show_bug.cgi?id=49008
4153        <rdar://problem/7906226> Frequent crashes on mail.yahoo.co.jp
4154
4155        Callers of NetscapePluginInstanceProxy::waitForReply() are not prepared to be deleted during
4156        the call, unless it returns 0. There are two reasons for NetscapePluginInstanceProxy to be
4157        deleted during wait:
4158        - plugin crashed;
4159        - plugin was stopped (e.g. due to a DOM modification performed by another reply that came in
4160        while waiting).
4161
4162        We didn't recognize the latter.
4163
4164        * Plugins/Hosted/NetscapePluginHostProxy.mm:
4165        (WebKit::PluginDestroyDeferrer::~PluginDestroyDeferrer):
4166        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
4167        (WebKit::NetscapePluginInstanceProxy::waitForReply):
4168        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4169        (WebKit::NetscapePluginInstanceProxy::didCallPluginFunction):
4170
41712010-11-05  Chris Marrin  <cmarrin@apple.com>
4172
4173        Reviewed by Simon Fraser.
4174
4175        Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state
4176        https://bugs.webkit.org/show_bug.cgi?id=46945
4177
4178        * WebView/WebFrame.mm:
4179        (-[WebFrame _suspendAnimations]):
4180        (-[WebFrame _resumeAnimations]):
4181
41822010-11-04  Jia Pu  <jpu@apple.com>
4183
4184        Reviewed by Dan Bernstein.
4185
4186        reversion bubble in WebViews
4187        https://bugs.webkit.org/show_bug.cgi?id=47630
4188        <rdar://problem/8530960>
4189
4190        This patch is to add reversion to correction panel. Please see WebCore/ChangeLog for detail.
4191
4192        * WebCoreSupport/WebEditorClient.h: Adopted new signature of base class method.
4193        * WebCoreSupport/WebEditorClient.mm: Adopted new signature of base class method. And code
4194          change to use new reversion API in AppKit.
4195        (WebEditorClient::WebEditorClient):
4196        (WebEditorClient::~WebEditorClient):
4197        (WebEditorClient::respondToChangedSelection):
4198        (WebEditorClient::showCorrectionPanel):
4199        (WebEditorClient::dismissCorrectionPanel):
4200        (WebEditorClient::isShowingCorrectionPanel):
4201
42022010-11-04  Mike Thole  <mthole@apple.com>
4203
4204        Reviewed by Dan Bernstein.
4205
4206        Title for images should use localized numerals
4207        https://bugs.webkit.org/show_bug.cgi?id=49017
4208
4209        * WebCoreSupport/WebPlatformStrategies.mm:
4210        (WebPlatformStrategies::imageTitle): Use localized numerals on Snow Leopard or newer.
4211
42122010-11-02  Daniel Bates  <dbates@rim.com>
4213
4214        Reviewed by Adam Barth.
4215
4216        For unnamed frames, window.name returns a generated name
4217        https://bugs.webkit.org/show_bug.cgi?id=6751
4218
4219        Part 1 of 2.
4220
4221        Substitute FrameTree::uniqueName() for FrameTree::name() in the Mac port.
4222
4223        * WebView/WebFrame.mm:
4224        (-[WebFrame name]):
4225
42262010-11-01  Brady Eidson  <beidson@apple.com>
4227
4228        Reviewed by Anders Carlsson.
4229
4230        <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
4231        Context menu support for WebKit 2.
4232
4233        * WebCoreSupport/WebChromeClient.h:
4234        (WebChromeClient::showContextMenu):
4235
42362010-10-29  Daniel Bates  <dbates@rim.com>
4237
4238        No review, rolling out 70971.
4239        http://trac.webkit.org/changeset/70971
4240        https://bugs.webkit.org/show_bug.cgi?id=6751
4241
4242        Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
4243        it caused layout test failures on all bots. In particular, the
4244        child count in a generated frame name differs after this patch. We need
4245        to look into this further.
4246
4247        * WebView/WebFrame.mm:
4248        (-[WebFrame name]):
4249
42502010-10-28  Antonio Gomes  <agomes@rim.com>
4251
4252        Reviewed by Ojan Vafai.
4253
4254        Needs a "LinuxEditingBehavior", perhaps with a better name
4255        https://bugs.webkit.org/show_bug.cgi?id=36627
4256
4257        Added the corresponding GTK+ setting to WebCore's EditingUnixBehavior: WebKitEditingUnixBehavior.
4258
4259        * WebView/WebFrame.mm:
4260        (core):
4261        * WebView/WebPreferencesPrivate.h:
4262
42632010-10-29  Daniel Bates  <dbates@rim.com>
4264
4265        Reviewed by Adam Barth.
4266
4267        For unnamed frames, window.name returns a generated name
4268        https://bugs.webkit.org/show_bug.cgi?id=6751
4269
4270        Modified Mac-port to use FrameTree::uniqueName().
4271
4272        * WebView/WebFrame.mm:
4273        (-[WebFrame name]):
4274
42752010-10-29  Darin Adler  <darin@apple.com>
4276
4277        Reviewed by Sam Weinig.
4278
4279        Change BackForwardList clients to use BackForwardListImpl to prepare for further refactoring
4280        https://bugs.webkit.org/show_bug.cgi?id=48574
4281
4282        * History/WebBackForwardList.mm:
4283        Use BackForwardListImpl.
4284
42852010-10-29  Alexey Proskuryakov  <ap@apple.com>
4286
4287        Rubber-stamped by Sam Weinig.
4288
4289        Comment for usesDocumentViews explains it backwards. This flag is true in ToT, and we do
4290        create views for subframes.
4291
4292        * WebView/WebViewData.h: Double negation is better than a lie.
4293
42942010-10-27  Jer Noble  <jer.noble@apple.com>
4295
4296        Reviewed by Darin Adler.
4297
4298        Full screen video in Safari (still) exits full-screen if you switch to another
4299        app on a multi-display system.
4300        https://bugs.webkit.org/show_bug.cgi?id=47364
4301        <rdar://problem/8382299>
4302
4303        The FullScreen window does not technically close when it deactivates, but the
4304        two NSWindows that make up the FullScreen feature should not hide when deactivated.
4305
4306        * WebView/WebVideoFullscreenController.mm:
4307        (createBackgroundFullscreenWindow): Do not set hidesOnDeactivate.
4308        (-[WebVideoFullscreenWindow initWithContentRect:styleMask:backing:defer:]): Ditto.
4309        * WebView/WebVideoFullscreenHUDWindowController.mm:
4310        (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]): Ditto.
4311
43122010-10-29  Alexey Proskuryakov  <ap@apple.com>
4313
4314        Reviewed by Darin Adler.
4315
4316        https://bugs.webkit.org/show_bug.cgi?id=48576
4317        Let WebKit2 client know when a frame is a frameset
4318
4319        Added a blank implementation of the new FrameLoaderClient method.
4320
4321        * WebCoreSupport/WebFrameLoaderClient.h:
4322        * WebCoreSupport/WebFrameLoaderClient.mm:
4323        (WebFrameLoaderClient::dispatchDidBecomeFrameset):
4324
43252010-10-29  Csaba Osztrogonác  <ossy@webkit.org>
4326
4327        Reviewed by Adam Roben and David Kilzer.
4328
4329        Fix and cleanup of build systems
4330        https://bugs.webkit.org/show_bug.cgi?id=48342
4331
4332        * Configurations/FeatureDefines.xcconfig: Remove unnecessary ENABLE_SANDBOX.
4333
43342010-10-28  Dan Bernstein  <mitz@apple.com>
4335
4336        Reviewed by Mark Rowe.
4337
4338        LLVM compiler build fix
4339
4340        * Misc/WebDownload.mm:
4341        (-[WebDownload initWithRequest:delegate:]): Changed the delegate type from id to
4342        id<NSURLDownloadDelegate> to match the method signature in NSURLDownload.
4343
43442010-10-28  Ivan Krstić  <ike@apple.com>
4345
4346        Reviewed by Mark Rowe.
4347
4348        Remove unused experimental proxied panel interface.
4349        <rdar://problem/7237059>
4350
4351        * Plugins/Hosted/NetscapePluginHostManager.h:
4352        * Plugins/Hosted/NetscapePluginHostManager.mm:
4353        (WebKit::NetscapePluginHostManager::hostForPlugin):
4354        (WebKit::NetscapePluginHostManager::spawnPluginHost):
4355        (WebKit::NetscapePluginHostManager::instantiatePlugin):
4356        * Plugins/Hosted/NetscapePluginHostProxy.mm:
4357        * Plugins/Hosted/WebKitPluginClient.defs:
4358        * Plugins/Hosted/WebKitPluginHost.defs:
4359        * WebCoreSupport/WebSystemInterface.mm:
4360        (InitWebCoreSystemInterface):
4361        * WebView/WebPreferenceKeysPrivate.h:
4362        * WebView/WebPreferences.mm:
4363        (+[WebPreferences initialize]):
4364        * WebView/WebPreferencesPrivate.h:
4365
43662010-10-27  Pratik Solanki  <psolanki@apple.com>
4367
4368        Reviewed by Darin Adler.
4369
4370        Improve memSize calculation in [WebView _setCacheModel]
4371        https://bugs.webkit.org/show_bug.cgi?id=48484
4372
4373        * WebView/WebView.mm:
4374        (roundUpToPowerOf2): Added. Utility function to calculate the nearest power of 2.
4375        (+[WebView _setCacheModel:]): Update memSize calculation to set it to the next
4376        bigger power of 2. Also update WebCore cache settings.
4377
43782010-10-26  Darin Adler  <darin@apple.com>
4379
4380        Reviewed by Sam Weinig.
4381
4382        WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
4383        https://bugs.webkit.org/show_bug.cgi?id=42322
4384        rdar://problem/8193631
4385
4386        WebKitTestRunner needs to support layoutTestController.clearBackForwardList
4387        https://bugs.webkit.org/show_bug.cgi?id=42333
4388        rdar://problem/8193643
4389
4390        * History/WebBackForwardList.mm:
4391        (core): Return BackForwardListImpl.
4392        (kit): Take BackForwardListImpl.
4393        (-[WebBackForwardList initWithBackForwardList:]): Use BackForwardListImpl.
4394        (-[WebBackForwardList dealloc]): Ditto.
4395        (-[WebBackForwardList finalize]): Ditto.
4396        (-[WebBackForwardList description]): Ditto.
4397        (-[WebBackForwardList setPageCacheSize:]): Ditto.
4398        (-[WebBackForwardList pageCacheSize]): Ditto.
4399        * History/WebBackForwardListInternal.h: Ditto.
4400        * WebView/WebFrameView.mm:
4401        (-[WebFrameView keyDown:]): Ditto.
4402        * WebView/WebView.mm:
4403        (-[WebView initWithCoder:]): Ditto.
4404        (-[WebView encodeWithCoder:]): Ditto.
4405        (-[WebView backForwardList]): Ditto.
4406        (-[WebView setMaintainsBackForwardList:]): Ditto.
4407
44082010-10-27  Chris Rogers  <crogers@google.com>
4409
4410        Reviewed by Chris Marrin.
4411
4412        Add ENABLE_WEB_AUDIO feature enable flag (initially disabled) to build-webkit
4413        https://bugs.webkit.org/show_bug.cgi?id=48279
4414
4415        * Configurations/FeatureDefines.xcconfig:
4416
44172010-10-27  Beth Dakin  <bdakin@apple.com>
4418
4419        Reviewed by Darin Adler.
4420
4421        Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit
4422        SPI to scale a WebView
4423        -and corresponding-
4424        <rdar://problem/8107667>
4425
4426        This patch adds SPI to Mac WebKit that scales the page by the given
4427        scale factor.
4428
4429        * WebView/WebView.mm:
4430        (-[WebView _scaleWebView:]):
4431        (-[WebView _viewScaleFactor]):
4432        * WebView/WebViewPrivate.h:
4433
44342010-10-27  Dan Bernstein  <mitz@apple.com>
4435
4436        Reviewed by Darin Adler.
4437
4438        REGRESSION (r70335): Incorrect article layout in Safari Reader
4439        https://bugs.webkit.org/show_bug.cgi?id=48436
4440
4441        * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_GET_MATCHED_CSS_RULES_RESTRICTIONS.
4442        * WebView/WebView.mm:
4443        (-[WebView _needsUnrestrictedGetMatchedCSSRules]): Added. Returns YES for Safari linked against
4444        versions of WebKit that did not have the cross-origin restrictions in getMatchedCSSRules().
4445        (-[WebView _preferencesChangedNotification:]): Call Settings::setCrossOriginCheckInGetMatchedCSSRulesDisabled()
4446        based on the above.
4447
44482010-10-18  Jer Noble  <jer.noble@apple.com>
4449
4450        Reviewed by Eric Carlson.
4451
4452        Safari fullscreen media element tickles when it should not.
4453
4454        https://bugs.webkit.org/show_bug.cgi?id=47861
4455
4456        * WebView/WebVideoFullscreenController.mm:
4457        (-[WebVideoFullscreenController updatePowerAssertions]):
4458
44592010-10-26  Jenn Braithwaite  <jennb@chromium.org>
4460
4461        Reviewed by Dmitry Titov.
4462
4463        Resource tracking failure when trying to move a frame between documents
4464        https://bugs.webkit.org/show_bug.cgi?id=44713
4465
4466        * WebCoreSupport/WebFrameLoaderClient.h:
4467        * WebCoreSupport/WebFrameLoaderClient.mm:
4468        (WebFrameLoaderClient::didTransferChildFrameToNewDocument):
4469        Empty method.
4470        (WebFrameLoaderClient::transferLoadingResourceFromPage):
4471        Update resource tracking for a resource load that has been transferred
4472        to a new page.
4473
44742010-10-25  Oliver Hunt  <oliver@apple.com>
4475
4476        Reviewed by Gavin Barraclough.
4477
4478        Remove exec and globalData arguments from jsNumber
4479        https://bugs.webkit.org/show_bug.cgi?id=48270
4480
4481        Mechanical removal of exec parameter to jsNumber
4482
4483        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4484        (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
4485        * Plugins/Hosted/ProxyInstance.mm:
4486        (WebKit::ProxyInstance::numberValue):
4487
44882010-10-24  Dan Bernstein  <mitz@apple.com>
4489
4490        Reviewed by Anders Carlsson.
4491
4492        Expose HitTestResult::absoluteMediaURL() via WebKit API
4493        https://bugs.webkit.org/show_bug.cgi?id=48219
4494
4495        * Misc/WebElementDictionary.mm:
4496        (+[WebElementDictionary initializeLookupTable]): Map WebElementMediaURLKey to
4497        _absoluteMediaURL.
4498        (-[WebElementDictionary _absoluteMediaURL]): Added. Returns absoluteMediaURL().
4499        * WebKit.exp: Export WebElementMediaURLKey.
4500        * WebView/WebView.mm: Define WebElementMediaURLKey.
4501        * WebView/WebViewPrivate.h: Declare WebElementMediaURLKey.
4502
45032010-10-24  Dan Bernstein  <mitz@apple.com>
4504
4505        Reviewed by Simon Fraser.
4506
4507        Removed deprecated methods from the WebHTMLHighlighter private protocol.
4508
4509        * WebCoreSupport/WebChromeClient.mm:
4510        (WebChromeClient::customHighlightRect): Call -highlightRectForLine:representedNode:
4511        unconditionally.
4512        (WebChromeClient::paintCustomHighlight): Call
4513        -paintHighlightForBox:onLine:behindText:entireLine:representedNode: unconditionally.
4514        * WebView/WebHTMLViewPrivate.h:
4515
45162010-10-23  Xan Lopez  <xlopez@igalia.com>
4517
4518        Reviewed by Sam Weinig.
4519
4520        Unify globalData APIs
4521        https://bugs.webkit.org/show_bug.cgi?id=47969
4522
4523        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4524        (WebKit::NetscapePluginInstanceProxy::evaluate):
4525        (WebKit::NetscapePluginInstanceProxy::invoke):
4526        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
4527        (WebKit::NetscapePluginInstanceProxy::construct):
4528        * WebView/WebScriptDebugDelegate.mm:
4529        (-[WebScriptCallFrame evaluateWebScript:]):
4530
45312010-10-23  David Kilzer  <ddkilzer@apple.com>
4532
4533        <http://webkit.org/b/48186> Remove unneeded WebHTMLRepresentationInternal.h header
4534
4535        Reviewed by Sam Weinig.
4536
4537        The only method defined in WebHTMLRepresentationInternal.h is
4538        also defined in WebHTMLRepresentation.h, so use that instead.
4539
4540        * WebView/WebHTMLRepresentationInternal.h: Removed.
4541
45422010-10-23  Alexey Proskuryakov  <ap@apple.com>
4543
4544        Reviewed by Anders Carlsson.
4545
4546        https://bugs.webkit.org/show_bug.cgi?id=48083
4547        <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
4548
4549        * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize the new method.
4550
45512010-10-22  Sam Weinig  <sam@webkit.org>
4552
4553        Reviewed by Anders Carlsson.
4554
4555        WebKit2 needs to pass the current event modifier flags when requesting a new window
4556        https://bugs.webkit.org/show_bug.cgi?id=48140
4557
4558        * WebCoreSupport/WebChromeClient.h:
4559        * WebCoreSupport/WebChromeClient.mm:
4560        (WebChromeClient::createWindow):
4561        * WebCoreSupport/WebFrameLoaderClient.h:
4562        * WebCoreSupport/WebFrameLoaderClient.mm:
4563        (WebFrameLoaderClient::dispatchCreatePage):
4564        Add NavigationAction parameter.
4565
45662010-10-21  Andy Estes  <aestes@apple.com>
4567
4568        Reviewed by Eric Carlson.
4569
4570        WebKit shouldn't load a plug-in based on file extension if a MIME type
4571        is specified.
4572        https://bugs.webkit.org/show_bug.cgi?id=48046
4573
4574        If a MIME type is specified in an object or embed element, and that MIME
4575        type isn't supported by an installed plug-in, WebKit shouldn't attempt
4576        to find a plug-in based on the file extension of the url attribute.
4577        Doing so can lead to cases where a plug-in is loaded that can't handle
4578        resources of the MIME type specified by the author.
4579
4580        * WebCoreSupport/WebFrameLoaderClient.mm:
4581        (WebFrameLoaderClient::createPlugin): Only check for a pluginPackage by
4582        extension if MIME type is the empty string.
4583
45842010-10-20  Simon Fraser  <simon.fraser@apple.com>
4585
4586        Reviewed by Dan Bernstein.
4587
4588        Composited elements drawn twice when WebView is layer-backed
4589        https://bugs.webkit.org/show_bug.cgi?id=48024
4590        <rdar://problem/7916580>
4591
4592        When drawing content in a layer-backed WebView, WebFrame's test
4593        for drawing to a bitmap succeeded, causing us to paint flattened
4594        compositing layers into the view. They would also be rendered
4595        by the normal compositing path, resulting in double rendering.
4596
4597        Fix this by detecting when the WebHTMLView is being drawn into
4598        a layer, and avoiding flattening in that case.
4599
4600        * WebView/WebFrame.mm:
4601        (-[WebFrame _showFlattenedCompositingLayers:]):
4602        (-[WebFrame _drawRect:contentsOnly:]):
4603        * WebView/WebHTMLView.mm:
4604        (-[WebHTMLView drawLayer:inContext:]):
4605        (-[WebHTMLView _web_isDrawingIntoLayer]):
4606        * WebView/WebHTMLViewInternal.h:
4607
46082010-10-20  Dumitru Daniliuc  <dumi@chromium.org>
4609
4610        Reviewed by David Levin.
4611
4612        Repost the DatabaseTracker notifications to the main thread, if needed.
4613        https://bugs.webkit.org/show_bug.cgi?id=40655
4614
4615        * Storage/WebDatabaseTrackerClient.mm:
4616        (DidModifyOriginData::dispatchToMainThread):
4617        (DidModifyOriginData::DidModifyOriginData):
4618        (DidModifyOriginData::dispatchDidModifyOriginOnMainThread):
4619        (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
4620        (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
4621
46222010-10-20  Simon Fraser  <simon.fraser@apple.com>
4623
4624        Reviewed by Darin Adler.
4625
4626        REGRESSION(r67568-r67643): Some HTML/CSS renders upside down and backwards on Leopard
4627        https://bugs.webkit.org/show_bug.cgi?id=47369
4628
4629        r46947 added code that limits the size of the layer-backed view on Leopard when
4630        the page height exceeds 4096px (later adjusted to 2048px in r48401).
4631
4632        Later, r67576 altered the geometry flipping behavior to push the geometry flipping
4633        down into WebKit. However, the code that adjusts the hosting layer's sublayer transform
4634        to account for layer-backed view size-limiting was not fixed at the same time.
4635        This change corrects that.
4636
4637        * WebView/WebHTMLView.mm:
4638        (-[WebHTMLView _updateLayerHostingViewPosition]):
4639
46402010-10-19  Simon Fraser  <simon.fraser@apple.com>
4641
4642        Reviewed by Dan Bernstein.
4643
4644        <rdar://problem/8508422> Compositing layers aren't always displayed correctly in layer-backed WebViews
4645
4646        AppKit has some special code to prevent it meddling with view's layers
4647        under layer-backed WebViews. When a layer-backed WebView became composited,
4648        this caused our layer to remain zero-sized. Fix this by manually
4649        setting the geometry for our layer, if the WebHTMLView has a layer.
4650
4651        This does not seem to be a problem if the WebView becomes layer-backed, or
4652        stops being layer-backed after the WebView starts using compositing.
4653
4654        * WebView/WebHTMLView.mm:
4655        (-[WebHTMLView attachRootLayer:]):
4656
46572010-10-20  Dirk Schulze  <krit@webkit.org>
4658
4659        Reviewed by Nikolas Zimmermann.
4660
4661        Merge ColorSpace and ImageColorSpace enums
4662        https://bugs.webkit.org/show_bug.cgi?id=47922
4663
4664        Renamed ColorSpace enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
4665        to follow webkit style rules.
4666
4667        * Misc/WebKitNSStringExtras.mm:
4668        (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
4669
46702010-10-19  Alexey Proskuryakov  <ap@apple.com>
4671
4672        Reviewed by Anders Carlsson.
4673
4674        https://bugs.webkit.org/show_bug.cgi?id=47933
4675        <rdar://problem/8494337> navigator.language doesn't work in WebKit2
4676
4677        * Misc/WebNSUserDefaultsExtras.mm: Moved code for computing default language to WebCore.
4678        We need to keep _webkit_preferredLanguageCode for Safari.
4679
4680        * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface):
4681        Initialize wkCopyCFLocalizationPreferredName.
4682
4683        * WebCoreSupport/WebViewFactory.mm: Removed defaultLanguage. WebCore was the only caller.
4684
46852010-10-18  Alexey Proskuryakov  <ap@apple.com>
4686
4687        Reviewed by David Kilzer.
4688
4689        https://bugs.webkit.org/show_bug.cgi?id=47864
4690        Convert WebNSUserDefaultsExtras.m to .mm
4691
4692        Also, fixed some issues in the process:
4693        - removed locking, which was only necessary when this code was in Foundation;
4694        - fixed notification center observer to actually work (previously, it picked up changes
4695        when application preferences changed, not when system language did);
4696        - removed unused NSString category;
4697        - updated style.
4698
4699        * Misc/WebNSUserDefaultsExtras.m: Removed.
4700        * Misc/WebNSUserDefaultsExtras.mm: Copied from WebKit/mac/Misc/WebNSUserDefaultsExtras.m.
4701        (createHTTPStyleLanguageCode):
4702        (+[NSUserDefaults _webkit_defaultsDidChange]):
4703        (addLanguageChangeObserver):
4704        (+[NSUserDefaults _webkit_preferredLanguageCode]):
4705
47062010-10-18  Stuart Morgan  <stuartmorgan@chromium.org>
4707
4708        Reviewed by Eric Seidel.
4709
4710        Switch to using the new Carbon NPAPI event declarations, and remove
4711        the old ones.
4712
4713        https://bugs.webkit.org/show_bug.cgi?id=40784
4714
4715        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
4716        (WebNetscapePluginEventHandlerCarbon::mouseEntered):
4717        (WebNetscapePluginEventHandlerCarbon::mouseExited):
4718        (WebNetscapePluginEventHandlerCarbon::mouseMoved):
4719        (WebNetscapePluginEventHandlerCarbon::focusChanged):
4720
47212010-10-18  Pavel Podivilov  <podivilov@chromium.org>
4722
4723        Reviewed by Timothy Hatcher.
4724
4725        Web Inspector: disable private browsing for inspector
4726        https://bugs.webkit.org/show_bug.cgi?id=47827
4727
4728        * WebCoreSupport/WebInspectorClient.mm:
4729        (-[WebInspectorWindowController init]):
4730
47312010-10-14  Ilya Tikhonovsky  <loislo@chromium.org>
4732
4733        Reviewed by Pavel Feldman.
4734
4735        Web Inspector: inspector settings/properties/states management
4736        should be extracted into separate class.
4737
4738        We have a lot of flags/values in InspectorController.
4739        Some flags are persisting into profile.
4740        Others are part of inspector state for frontend.
4741        All these flags should keep their values after navigation.
4742        It'd be better to extract these flags/values into separate
4743        class which will care about theirs lifetime.
4744
4745        https://bugs.webkit.org/show_bug.cgi?id=47275
4746
4747        * WebCoreSupport/WebInspectorClient.mm:
4748        (-[WebInspectorWindowController showWindow:]):
4749        (-[WebInspectorWindowController attach]):
4750        (-[WebInspectorWindowController detach]):
4751
47522010-10-13  Gavin Barraclough  <barraclough@apple.com>
4753
4754        Reviewed by Oliver Hunt.
4755
4756        https://bugs.webkit.org/show_bug.cgi?id=43987
4757        Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
4758        to construct their internal result string.  Remove ScriptString (this is now
4759        redundant).
4760
4761        * WebCoreSupport/WebFrameLoaderClient.mm:
4762
47632010-10-12  Andy Estes  <aestes@apple.com>
4764
4765        Rubber-stamped by Darin Adler.
4766
4767        Check in some cleanup from the previous commit.
4768
4769        * WebView/WebView.mm:
4770        (leakMailQuirksUserScriptPath): Renamed to indicate that this function
4771        leaks an NSString.
4772        (-[WebView _injectMailQuirksScript]): Moved a static initialization from
4773        a separate class method into the only method that used it and removed
4774        the now-unnecessary class method.
4775
47762010-10-12  Eric Seidel  <eric@webkit.org>
4777
4778        Reviewed by Darin Adler.
4779
4780        REGRESSION (new parser): Leopard/Tiger Mail <head>/<body> quirk is gone
4781        https://bugs.webkit.org/show_bug.cgi?id=45693
4782
4783        Re-implement this former WebCore parser quirk as a
4784        Mac-only userscript-based quirk.  As far as I can tell
4785        from Darin's description this should satisfy Mail's needs.
4786
4787        * Misc/MailQuirksUserScript.js: Added.
4788        * WebView/WebView.mm:
4789        (+[WebView _mailQuirksUserScript]):
4790        (-[WebView _injectMailQuirksScript]):
4791        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
4792
47932010-10-12  Simon Fraser  <simon.fraser@apple.com>
4794
4795        Reviewed by Sam Weinig.
4796
4797        Add 'didDraw' callback for framerate tracking
4798        https://bugs.webkit.org/show_bug.cgi?id=47478
4799
4800        Add a callback at the end of -[WebHTMLView drawRect:] so
4801        a delegate can get notified when a draw happens.
4802
4803        * WebView/WebHTMLView.mm:
4804        (-[WebHTMLView drawRect:]):
4805        * WebView/WebUIDelegatePrivate.h:
4806
48072010-10-11  Anders Carlsson  <andersca@apple.com>
4808
4809        Reviewed by Darin Adler.
4810
4811        Remove WebIconFetcher from WebKit and IconFetcher from WebCore
4812        https://bugs.webkit.org/show_bug.cgi?id=47523
4813
4814        Remove all traces of the WebKit WebIconFetcher class. It's SPI that nobody uses.
4815
4816        * Misc/WebIconFetcher.h: Removed.
4817        * Misc/WebIconFetcher.mm: Removed.
4818        * Misc/WebIconFetcherInternal.h: Removed.
4819        * WebView/WebFrame.mm:
4820        * WebView/WebFramePrivate.h:
4821
48222010-10-11  Jessie Berlin  <jberlin@apple.com>
4823
4824        Reviewed by Darin Adler.
4825
4826        Add Private API for creating a WebKit2 WebSerializedScriptValue from the internal
4827        representation of a WebKit1 WebSerializedJSValue.
4828        https://bugs.webkit.org/show_bug.cgi?id=47439
4829
4830        * WebView/WebSerializedJSValue.mm:
4831        (-[WebSerializedJSValue internalRepresentation]):
4832        * WebView/WebSerializedJSValuePrivate.h:
4833
48342010-10-07  Jessie Berlin  <jberlin@apple.com>
4835
4836        Reviewed by Sam Weinig.
4837
4838        Add Private API for creating a WebKit1 WebSerializedJSValue from the internal
4839        representation of a WebKit2 WebSerializedScriptValue.
4840        https://bugs.webkit.org/show_bug.cgi?id=47390
4841
4842        * WebView/WebSerializedJSValue.mm:
4843        (-[WebSerializedJSValue initWithInternalRepresentation:]):
4844        Set the WebSerializedJSValuePrivate's WebCore::SerializedScriptValue to be the passed in
4845        internal representation.
4846        * WebView/WebSerializedJSValuePrivate.h: Added.
4847
48482010-10-07  Antonio Gomes  <agomes@rim.com>
4849
4850        Reviewed by Simon Fraser.
4851
4852        [Mac] [DRT] implement setSpatialNavigationEnabled
4853        https://bugs.webkit.org/show_bug.cgi?id=47291
4854
4855        Added the needed bits to make it possible to enabled spatial navigation
4856        for the Mac port. For now it is being only used by DRT.
4857
4858        * WebView/WebPreferenceKeysPrivate.h:
4859        * WebView/WebPreferences.mm:
4860        (+[WebPreferences initialize]):
4861        (-[WebPreferences isSpatialNavigationEnabled]):
4862        (-[WebPreferences setSpatialNavigationEnabled:]):
4863        * WebView/WebPreferencesPrivate.h:
4864        * WebView/WebView.mm:
4865        (-[WebView _preferencesChangedNotification:]):
4866
48672010-10-07  Jer Noble  <jer.noble@apple.com>
4868
4869        Fix the Leopard 64-bit build.
4870
4871        * Configurations/WebKit.xcconfig: Add CoreServices.framework/Frameworks to the
4872            framework search path.
4873        * WebView/WebVideoFullscreenController.mm: Explicitly import <OSStatus/Power.h>.
4874
48752010-10-06  Jer Noble  <jer.noble@apple.com>
4876
4877        Reviewed by Darin Adler.
4878
4879        Screensaver starts while watching fullscreen playback.
4880        https://bugs.webkit.org/show_bug.cgi?id=47299
4881        <rdar://problem/8478956>
4882
4883        To disable the Screen Saver, we need to periodically call UpdateSystemActivity().
4884
4885        * WebView/WebVideoFullscreenController.h: Added _tickleTimer.
4886        * WebView/WebVideoFullscreenController.mm:
4887        (-[WebVideoFullscreenController dealloc]): Invalidate _tickleTimer.
4888        (-[WebVideoFullscreenController _enableTickleTimer]): Create _tickleTimer.
4889        (-[WebVideoFullscreenController _disableTickleTimer]): Invalidate _tickleTimer.
4890        (-[WebVideoFullscreenController _tickleTimerFired]): Call UpdateSystemActivity().
4891        (-[WebVideoFullscreenController updatePowerAssertions]): Call _enableTickleTimer
4892            or _disableTickleTimer.
4893
48942010-10-05  Philippe Normand  <pnormand@igalia.com>
4895
4896        Reviewed by Martin Robinson.
4897
4898        check for ENABLE(GLIB_SUPPORT) in WebView
4899        https://bugs.webkit.org/show_bug.cgi?id=46788
4900
4901        Use ENABLE(GLIB_SUPPORT) in WebView to guard the glib runloop observer.
4902
4903        * WebView/WebView.mm:
4904        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
4905        (-[WebView _close]):
4906        * WebView/WebViewData.h:
4907        * WebView/WebViewInternal.h:
4908
49092010-10-01  Anders Carlsson  <andersca@apple.com>
4910
4911        Fix Snow Leopard build.
4912
4913        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4914        (WebKit::NetscapePluginInstanceProxy::getProxy):
4915
49162010-10-01  Anders Carlsson  <andersca@apple.com>
4917
4918        Reviewed by Dan Bernstein.
4919
4920        Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it
4921        https://bugs.webkit.org/show_bug.cgi?id=47022
4922        <rdar://problem/8504712>
4923
4924        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4925        (WebKit::NetscapePluginInstanceProxy::getProxy):
4926        * Plugins/WebBaseNetscapePluginView.h:
4927        * Plugins/WebBaseNetscapePluginView.mm:
4928        * Plugins/WebNetscapePluginView.mm:
4929        (-[WebNetscapePluginView getVariable:forURL:value:length:]):
4930
49312010-09-30  Darin Adler  <darin@apple.com>
4932
4933        Reviewed by Sam Weinig.
4934
4935        Remove remaining calls to deprecatedParseURL
4936        https://bugs.webkit.org/show_bug.cgi?id=26599
4937
4938        * DOM/WebDOMOperations.mm:
4939        (-[DOMDocument URLWithAttributeString:]):
4940        * WebCoreSupport/WebFrameLoaderClient.mm:
4941        (WebFrameLoaderClient::createPlugin):
4942        Call stripLeadingAndTrailingHTMLSpaces instead of deprecatedParseURL.
4943
49442010-09-30  Anders Carlsson  <andersca@apple.com>
4945
4946        Reviewed by Darin Adler.
4947
4948        -[DOMDocument _documentRange] throws an exception if there is no document element
4949        https://bugs.webkit.org/show_bug.cgi?id=46934
4950        <rdar://problem/8169260>
4951
4952        If there is no document element, just return an empty range. Otherwise we'll try to call
4953        Range::selectNode with a null Node which will throw a NOT_FOUND exception.
4954
4955        * DOM/WebDOMOperations.mm:
4956        (-[DOMDocument _documentRange]):
4957
49582010-09-30  Chris Marrin  <cmarrin@apple.com>
4959
4960        Reviewed by Simon Fraser.
4961
4962        Make 2D accelerated canvas rendering build on Mac
4963        https://bugs.webkit.org/show_bug.cgi?id=46007
4964
4965        Added ACCELERATED_2D_CANVAS to FeatureDefines
4966
4967        * Configurations/FeatureDefines.xcconfig:
4968
49692010-09-30  Dan Bernstein  <mitz@apple.com>
4970
4971        Reviewed by John Sullivan.
4972
4973        Add printing SPI allowing full control over shrink-to-fit
4974        https://bugs.webkit.org/show_bug.cgi?id=46877
4975
4976        * WebView/WebHTMLView.mm:
4977        (-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]): Added.
4978        * WebView/WebHTMLViewPrivate.h:
4979
49802010-09-28  Johnny Ding  <jnd@chromium.org>
4981
4982        Reviewed by Adam Barth.
4983
4984        https://bugs.webkit.org/show_bug.cgi?id=41292
4985        Some windowed plugins did not handle events through EventHandler, so we
4986        never set right gesture state for those events.
4987        This change is to set right allowPopupsFromPlugin flag to current
4988        execution frame, so WeKit can always get right gesture state on Mac.
4989        From Mac Snow Leopard, the plugin is run under "WebKitPluginHost,app"
4990        process, that process passes the allowPopupsFromPlugin flag to
4991        WKPCEvaluate(in NetscapePluginHostProxy.mm), then flag is set in
4992        NetscapePluginInstanceProxy::evaluate.
4993
4994        * Plugins/WebNetscapePluginView.mm:
4995        (-[WebNetscapePluginView sendEvent:isDrawRect:]):
4996
49972010-09-28  Jenn Braithwaite  <jennb@chromium.org>
4998
4999        Reviewed by Dmitry Titov.
5000
5001        Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
5002        https://bugs.webkit.org/show_bug.cgi?id=46663
5003
5004        * WebCoreSupport/WebFrameLoaderClient.h:
5005        * WebCoreSupport/WebFrameLoaderClient.mm:
5006        (WebFrameLoaderClient::didTransferChildFrameToNewDocument):
5007
50082010-09-26  Antonio Gomes  <agomes@rim.com>
5009
5010        Reviewed by Kenneth Rohde Christiansen.
5011
5012        DRT/Mac nodesFromRect support
5013
5014        [Mac][DRT] Implement LayoutTestController::nodesFromRect
5015        https://bugs.webkit.org/show_bug.cgi?id=46580
5016
5017        Implement nodesFromRect as a private method to access non-exposed Document
5018        methods, similarly to computedStyleIncludingVisitedInfo.
5019
5020        * WebView/WebView.mm: Added JSDocument.h and JSNodeList.h to the include list.
5021        These headers makes it possible to:
5022        1) Get a Document off of a JSDocument;
5023        2) Call toJS function, defined in JSNodeList.cpp|h so we can convert RefPtr<NodeList>
5024        gotten from Document::nodesFromRect to JS bindings.
5025        (-[WebView _nodesFromRect:forDocument:x:y:hPadding:vPadding:ignoreClipping:]):
5026        * WebView/WebViewPrivate.h: Added nodesFromRect method to access methods of the
5027        Document class not exposed to JavaScript. It works similarly to computedStyleIncludingVisitedInfo.
5028
50292010-09-24  Jia Pu  <jpu@apple.com>
5030
5031        Reviewed by Dan Bernstein.
5032
5033        automaticSpellingCorrectionEnabled isn't updated.
5034        https://bugs.webkit.org/show_bug.cgi?id=46486
5035        <rdar://problem/8475212>
5036
5037        * WebView/WebView.mm:
5038        (+[WebView initialize]): Should update "automaticSpellingCorrectionEnabled"
5039          instead of "automaticTextReplacementEnabled".
5040
50412010-09-23  Alexey Proskuryakov  <ap@apple.com>
5042
5043        Reviewed by Darin Adler.
5044
5045        https://bugs.webkit.org/show_bug.cgi?id=46380
5046        REGRESSION: Crash when downloading a file
5047
5048        Downloading cannot be tested in DRT.
5049
5050        * Misc/WebNSFileManagerExtras.m: (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]):
5051        Don't copy null strings.
5052
50532010-09-24  Ilya Tikhonovsky  <loislo@chromium.org>
5054
5055        Reviewed by Yury Semikhatsky.
5056
5057        Web Inspector: CRASH at node highlight on MAC Safari.
5058        1) run-safari --debug
5059        2) open inspector
5060        3) open elements panel
5061        4) hover mouse over elements panel items multiple times
5062        5) CRASH
5063        Looks like it is a race condition. WebNodeHighlightView doesn't check
5064        the pointer to WebNodeHighligh object and it can be nil.
5065
5066        https://bugs.webkit.org/show_bug.cgi?id=46261
5067
5068        * WebInspector/WebNodeHighlightView.mm:
5069        (-[WebNodeHighlightView drawRect:]):
5070
50712010-09-23  Andy Estes  <aestes@apple.com>
5072
5073        Reviewed by Darin Adler.
5074
5075        REGRESSION (r61285): some Dashboard widgets are always invisible due to
5076        HTML parser changes.
5077        https://bugs.webkit.org/show_bug.cgi?id=46435
5078
5079        Enable pre-HTML5 parser quirks if Dashboard is in backward compatibility
5080        mode.
5081
5082        * WebView/WebView.mm:
5083        (-[WebView _needsPreHTML5ParserQuirks]): Renamed from
5084        shouldUsePreHTML5ParserQuirks(). Return true if
5085        WebCore::Settings::usesDashboardCompatibilityMode() is true.
5086        (-[WebView _preferencesChangedNotification:]):
5087        (-[WebView _setDashboardBehavior:to:]): Enable pre-HTML5 parser quirks
5088        if Dashboard behavior is set to backward compatibility mode.
5089
50902010-09-23  Matthew Delaney  <mdelaney@apple.com>
5091
5092        Reviewed by Simon Fraser.
5093
5094        Reduce minimum DOMTimer interval
5095        https://bugs.webkit.org/show_bug.cgi?id=45362
5096
5097        * WebView/WebView.mm:
5098        Updating set interval call to use Settings' static version inside
5099        one time init block.
5100
51012010-09-22  Andy Estes  <aestes@apple.com>
5102
5103        Reviewed by Darin Adler.
5104
5105        REGRESSION (r61285): Microsoft Entourage 2008 does not invoke My Day window
5106        https://bugs.webkit.org/show_bug.cgi?id=46334
5107
5108        Microsoft My Day loads scripts using self-closing script tags, markup
5109        which is incompatible with the HTML5 parser. Enable parser quirks for
5110        this application.
5111
5112        * WebView/WebView.mm:
5113        (shouldUsePreHTML5ParserQuirks): Return true if the application is
5114        Microsoft My Day and was linked against a version of WebKit prior to the
5115        introduction of the HTML5 parser.
5116
51172010-09-23  Nate Chapin  <japhet@chromium.org>
5118
5119        Reviewed by Darin Fisher.
5120
5121        Add hyperlink auditing settings (i.e., <a ping>).
5122        https://bugs.webkit.org/show_bug.cgi?id=30458
5123
5124        * WebView/WebPreferenceKeysPrivate.h:
5125        * WebView/WebPreferences.mm:
5126        (+[WebPreferences initialize]):
5127        (-[WebPreferences setMemoryInfoEnabled:]):
5128        (-[WebPreferences hyperlinkAuditingEnabled]):
5129        (-[WebPreferences setHyperlinkAuditingEnabled:]):
5130        * WebView/WebPreferencesPrivate.h:
5131        * WebView/WebView.mm:
5132        (-[WebView _preferencesChangedNotification:]):
5133
51342010-09-22  Alexey Proskuryakov  <ap@apple.com>
5135
5136        Reviewed by Anders Carlsson.
5137
5138        https://bugs.webkit.org/show_bug.cgi?id=43667
5139        ASSERT failure in NetscapePluginInstanceProxy::disconnectStream
5140
5141        Test: plugins/get-javascript-url.html
5142
5143        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5144        (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript): Add the stream to m_streams, just
5145        like any other one.
5146
51472010-09-21  Darin Adler  <darin@apple.com>
5148
5149        Reviewed by Anders Carlsson.
5150
5151        Fix some Objective-C GC problems and use RetainPtr instead of HardRetain/Release
5152        https://bugs.webkit.org/show_bug.cgi?id=46220
5153
5154        * Misc/WebNSFileManagerExtras.m:
5155        (setMetaData): Use CFRelease instead of HardRelease.
5156        (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Use CFStringCreateCopy
5157        instead of -[NSObject copy] combined with HardRetainWithNSRelease.
5158
51592010-09-22  Balazs Kelemen  <kb@inf.u-szeged.hu>
5160
5161        Reviewed by Kenneth Rohde Christiansen.
5162
5163        PluginStrategy should satisfy the needs of Qt
5164        https://bugs.webkit.org/show_bug.cgi?id=45857
5165        No new functionality so no new tests.
5166
5167        * WebCoreSupport/WebPlatformStrategies.h:
5168        * WebCoreSupport/WebPlatformStrategies.mm:
5169        (WebPlatformStrategies::getPluginInfo):
5170
51712010-09-22  Paul Knight  <pknight@apple.com>
5172
5173        Reviewed by Simon Fraser.
5174
5175        -[WebView _scheduleCompositingLayerSync] should wake the run loop
5176        https://bugs.webkit.org/show_bug.cgi?id=46226
5177
5178        Call CFRunLoopWakeUp to make sure the run loop is not sleeping, which could delay layer painting.
5179
5180        * WebView/WebView.mm:
5181        (-[WebView _scheduleCompositingLayerSync]):
5182
51832010-09-21  Andy Estes  <aestes@apple.com>
5184
5185        Reviewed by Darin Adler.
5186
5187        REGRESSION (r61285): AIM 2.1.296: Code rendered as text in Welcome screen
5188        https://bugs.webkit.org/show_bug.cgi?id=46134
5189
5190        AIM clients linked against versions of WebKit prior to the introduction
5191        of the HTML5 parser contain markup incompatible with the new parser.
5192        Enable parser quirks in this case to remain compatible with these
5193        clients.
5194
5195        * WebView/WebView.mm:
5196        (shouldUsePreHTML5ParserQuirks): Returns true if the embedding
5197        application is AIM and was linked against a version of WebKit prior to
5198        the introduction of the HTML5 parser, or if the
5199        WebKitPreHTML5ParserQuirks WebPreference is enabled.
5200        (-[WebView _preferencesChangedNotification:]): Call
5201        WebCore::Settings::setUsePreHTML5ParserQuirks().
5202
52032010-09-21  Steve Block  <steveblock@google.com>
5204
5205        Reviewed by Jeremy Orlow.
5206
5207        DeviceOrientationClient and DeviceMotionClient should have controllerDestroyed() methods
5208        https://bugs.webkit.org/show_bug.cgi?id=45891
5209
5210        Implements WebDeviceOrientationClient::deviceOrientationControllerDestroyed to delete the client.
5211
5212        * WebCoreSupport/WebDeviceOrientationClient.h:
5213        * WebCoreSupport/WebDeviceOrientationClient.mm:
5214        (WebDeviceOrientationClient::deviceOrientationControllerDestroyed):
5215
52162010-09-20  Philippe Normand  <pnormand@igalia.com>
5217
5218        Reviewed by Eric Carlson.
5219
5220        [GTK] enhanced context menu for media elements
5221        https://bugs.webkit.org/show_bug.cgi?id=45021
5222
5223        New localized strings for the media element context-menu.
5224
5225        * WebCoreSupport/WebPlatformStrategies.h:
5226        * WebCoreSupport/WebPlatformStrategies.mm:
5227        (WebPlatformStrategies::contextMenuItemTagOpenVideoInNewWindow):
5228        (WebPlatformStrategies::contextMenuItemTagOpenAudioInNewWindow):
5229        (WebPlatformStrategies::contextMenuItemTagCopyVideoLinkToClipboard):
5230        (WebPlatformStrategies::contextMenuItemTagCopyAudioLinkToClipboard):
5231        (WebPlatformStrategies::contextMenuItemTagToggleMediaControls):
5232        (WebPlatformStrategies::contextMenuItemTagToggleMediaLoop):
5233        (WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen):
5234        (WebPlatformStrategies::contextMenuItemTagMediaPlay):
5235        (WebPlatformStrategies::contextMenuItemTagMediaPause):
5236        (WebPlatformStrategies::contextMenuItemTagMediaMute):
5237
52382010-09-20  Andy Estes  <aestes@apple.com>
5239
5240        Reviewed by Adam Barth.
5241
5242        REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
5243        https://bugs.webkit.org/show_bug.cgi?id=40961
5244
5245        Implement WebKitUsePreHTML5ParserQuirks preference.
5246
5247        * WebView/WebPreferenceKeysPrivate.h:
5248        * WebView/WebPreferences.mm:
5249        (+[WebPreferences initialize]): Default WebKitUsePreHTML5ParserQuirks to
5250        false.
5251        (-[WebPreferences usePreHTML5ParserQuirks]):
5252        (-[WebPreferences setUsePreHTML5ParserQuirks:]):
5253        * WebView/WebPreferencesPrivate.h:
5254        * WebView/WebView.mm:
5255        (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings
5256        with the value of WebKitUsePreHTML5ParserQuirks when a preference
5257        changes.
5258
52592010-09-20  Enrica Casucci  <enrica@apple.com>
5260
5261        Reviewed by Sam Weinig.
5262
5263        Pasteboard doesn't work in WebKit2.
5264        https://bugs.webkit.org/show_bug.cgi?id=42317
5265        <rdar://problem/7660537>
5266
5267        Some changes to fix style inconsistencies.
5268        Added OBJC 2.0 style enumeration.
5269
5270        * WebCoreSupport/WebEditorClient.h:
5271        * WebCoreSupport/WebEditorClient.mm:
5272        (WebEditorClient::userVisibleString):
5273        (createExcludedElementsForAttributedStringConversion):
5274        (WebEditorClient::documentFragmentFromAttributedString): Changed parameter to be
5275        a Vector of RefPtr.
5276        (WebEditorClient::setInsertionPasteboard):
5277        (WebEditorClient::pasteboardTypesForSelection):
5278
52792010-09-17  David Hyatt  <hyatt@apple.com>
5280
5281        Reviewed by Simon Fraser.
5282
5283        https://bugs.webkit.org/show_bug.cgi?id=45993, convert printing to the new pagination model.
5284
5285        Make printing store the page height in the RenderView and push that into the layout state to
5286        use the new pagination model.  The old pagination model is retained because it is still used
5287        for embedded WebViews.
5288
5289        * WebView/WebHTMLView.mm:
5290        (-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]):
5291
52922010-09-17  Darin Adler  <darin@apple.com>
5293
5294        Reviewed by Sam Weinig.
5295
5296        REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
5297        https://bugs.webkit.org/show_bug.cgi?id=42863
5298
5299        * WebView/WebView.mm:
5300        (-[WebView _setZoomMultiplier:isTextOnly:]):
5301        Call functions on Frame instead of FrameView.
5302
53032010-09-17  Matthew Delaney  <mdelaney@apple.com>
5304
5305        Reviewed by Simon Fraser.
5306
5307        Reduce minimum DOMTimer interval
5308        https://bugs.webkit.org/show_bug.cgi?id=45362
5309
5310        * WebView/WebView.mm: Added in a call to set the mimimum allowed DOMTimer to 4ms.
5311
53122010-09-17  Chris Marrin  <cmarrin@apple.com>
5313
5314        Reviewed by Simon Fraser.
5315
5316        Add WebKitAccelerated2dCanvasEnabled flag to WebKit for Mac
5317        https://bugs.webkit.org/show_bug.cgi?id=45911
5318
5319        * WebView/WebPreferenceKeysPrivate.h:
5320        * WebView/WebPreferences.mm:
5321        (+[WebPreferences initialize]):
5322        (-[WebPreferences accelerated2dCanvasEnabled]):
5323        (-[WebPreferences setAccelerated2dCanvasEnabled:]):
5324        * WebView/WebPreferencesPrivate.h:
5325        * WebView/WebView.mm:
5326        (-[WebView _preferencesChangedNotification:]):
5327
53282010-09-17  Jia Pu  <jpu@apple.com>
5329
5330        Reviewed by Dan Bernstein.
5331
5332        WebKit should use system wide spell checking preference when application specific one isn't set.
5333        https://bugs.webkit.org/show_bug.cgi?id=45789
5334        <rdar://problem/8416041>
5335
5336        * WebView/WebView.mm:
5337        (+[WebView initialize]): Use system wide autocorrection and text substitution preferences
5338          when the application level preferences are not set.
5339
53402010-09-16  John Sullivan  <sullivan@apple.com>
5341
5342        Reviewed by Darin Adler.
5343
5344        <rdar://problem/8395558>
5345        https://bugs.webkit.org/show_bug.cgi?id=45938
5346        _web_makePluginViewsPerformSelector:: mutates subviews array while iterating it
5347
5348        * WebView/WebHTMLView.mm:
5349        (-[WebHTMLView _web_makePluginSubviewsPerformSelector:withObject:]):
5350        Converted from -[NSArray _web_makePluginViewsPerformSelector:withObject:]. The old method
5351        was only ever called on the result of -[WebHTMLView subviews]. By moving that knowledge into
5352        this helper method, it can't be used incorrectly. Now it makes a copy of [WebHTMLView subviews]
5353        before enumerating it, to ensure that the selector can't mutate the array being enumerated.
5354        (-[WebHTMLView viewWillMoveToHostWindow:]):
5355        Updated for _web_makePluginSubviewsPerformSelector:: signature change.
5356        (-[WebHTMLView viewDidMoveToHostWindow]):
5357        Ditto.
5358
53592010-09-16  Darin Adler  <darin@apple.com>
5360
5361        Reviewed by Andreas Kling.
5362
5363        Reduce use of HTMLInputElement::inputType so we can remove it later
5364        https://bugs.webkit.org/show_bug.cgi?id=45903
5365
5366        * WebView/WebHTMLRepresentation.mm:
5367        (-[WebHTMLRepresentation elementDoesAutoComplete:]): Use isPasswordField.
5368        (-[WebHTMLRepresentation elementIsPassword:]): Use isPasswordField.
5369
53702010-09-16  Patrick Gansterer  <paroga@paroga.com>
5371
5372        Reviewed by Darin Adler.
5373
5374        Always use a valid string when setting WebKitUserStyleSheetLocationPreferenceKey.
5375        https://bugs.webkit.org/show_bug.cgi?id=41510
5376
5377        This prevents usage of nil value, which would cause an uncaught exception.
5378
5379        * WebView/WebPreferences.mm:
5380        (-[WebPreferences setUserStyleSheetLocation:]):
5381
53822010-09-16  Dan Bernstein  <mitz@apple.com>
5383
5384        Reverted the previous change because r67628 has been reverted.
5385
5386        * WebCoreSupport/WebPlatformStrategies.h:
5387        * WebCoreSupport/WebPlatformStrategies.mm:
5388
53892010-09-16  Dan Bernstein  <mitz@apple.com>
5390
5391        Build fix after r67628. Added context menu item localizable strings for the items
5392        added in r67628, following equivalent menu items in Mac OS X when possible. However,
5393        this set of menu items does not make much sense for Mac OS X, and this should be
5394        addressed separately.
5395
5396        * WebCoreSupport/WebPlatformStrategies.h:
5397        * WebCoreSupport/WebPlatformStrategies.mm:
5398        (WebPlatformStrategies::contextMenuItemTagOpenMediaInNewWindow):
5399        (WebPlatformStrategies::contextMenuItemTagCopyMediaLinkToClipboard):
5400        (WebPlatformStrategies::contextMenuItemTagToggleMediaControls):
5401        (WebPlatformStrategies::contextMenuItemTagToggleMediaLoop):
5402        (WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen):
5403        (WebPlatformStrategies::contextMenuItemTagMediaPlay):
5404        (WebPlatformStrategies::contextMenuItemTagMediaPause):
5405        (WebPlatformStrategies::contextMenuItemTagMediaMute):
5406        (WebPlatformStrategies::contextMenuItemTagMediaUnMute):
5407
54082010-09-16  Eric Uhrhane  <ericu@chromium.org>
5409
5410        Reviewed by Jian Li.
5411
5412        Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
5413        https://bugs.webkit.org/show_bug.cgi?id=45798
5414
5415        * Configurations/FeatureDefines.xcconfig:
5416
54172010-09-15  Simon Fraser  <simon.fraser@apple.com>
5418
5419        Reviewed by Adam Roben.
5420
5421        https://bugs.webkit.org/show_bug.cgi?id=44715
5422        maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac
5423
5424        Move geometry flipping to platform-specific code.
5425
5426        * WebView/WebHTMLView.mm:
5427        (-[WebHTMLView attachRootLayer:]):
5428
54292010-09-14  Jia Pu  <jpu@apple.com>
5430
5431        Reviewed by Dan Bernstein.
5432
5433        Only intercept ESC key press when autocorrection UI is visible.
5434        https://bugs.webkit.org/show_bug.cgi?id=45071
5435
5436        * WebCoreSupport/WebEditorClient.h: Added declaration of isShowingCorrectionPanel(),
5437          which provides an inteface to query whether autocorrection panel is shown.
5438
5439        * WebCoreSupport/WebEditorClient.mm:
5440        (WebEditorClient::WebEditorClient): Defined a constant, InvalidCorrectionPanelTag,
5441          for invalid correction panel tag. Replaced -1 with this constant.
5442        (WebEditorClient::dismissCorrectionPanel): Ditto
5443        (WebEditorClient::isShowingCorrectionPanel): Query whether autocorrection panel is shown.
5444
54452010-09-14  Mark Rowe  <mrowe@apple.com>
5446
5447        Reviewed by John Sullivan.
5448
5449        Part of <rdar://problem/8420003>.  Make it possible to override the version number used in linked-in-or-after checks.
5450
5451        * Misc/WebKitVersionChecks.h: Remove two unused functions from the header and add a method to set the overriden version.
5452        * Misc/WebKitVersionChecks.m:
5453        (WebKitLinkedOnOrAfter):
5454        (setWebKitLinkTimeVersion): Set the overridden version.
5455        (WebKitLinkTimeVersion): Return the overridden version if set, otherwise do the old thing.
5456        * WebView/WebPreferences.mm:
5457        (+[WebPreferences setWebKitLinkTimeVersion:]): Call through to set the overridden version.
5458        * WebView/WebPreferencesPrivate.h:
5459
54602010-09-14  Eric Seidel  <eric@webkit.org>
5461
5462        Unreviewed, reverting changes r67451 and r67451.
5463        Broke lots of builders.
5464
5465        Only intercept ESC key press when autocorrection UI is visible.
5466        https://bugs.webkit.org/show_bug.cgi?id=45071
5467
5468        * WebCoreSupport/WebEditorClient.h:
5469        * WebCoreSupport/WebEditorClient.mm:
5470        (WebEditorClient::WebEditorClient):
5471        (WebEditorClient::dismissCorrectionPanel):
5472
54732010-09-14  Jia Pu  <jpu@apple.com>
5474
5475        Reviewed by Dan Bernstein.
5476
5477        Only intercept ESC key press when autocorrection UI is visible.
5478        https://bugs.webkit.org/show_bug.cgi?id=45071
5479
5480        * WebCoreSupport/WebEditorClient.h: Added declaration of isShowingCorrectionPanel(),
5481          which provides an inteface to query whether autocorrection panel is shown.
5482
5483        * WebCoreSupport/WebEditorClient.mm:
5484        (WebEditorClient::WebEditorClient): Defined a constant, InvalidCorrectionPanelTag,
5485          for invalid correction panel tag. Replaced -1 with this constant.
5486        (WebEditorClient::dismissCorrectionPanel): Ditto
5487        (WebEditorClient::isShowingCorrectionPanel): Query whether autocorrection panel is shown.
5488
54892010-09-13  Darin Adler  <darin@apple.com>
5490
5491        Reviewed by Adam Barth.
5492
5493        Preparation for eliminating deprecatedParseURL
5494        https://bugs.webkit.org/show_bug.cgi?id=45695
5495
5496        * DOM/WebDOMOperations.mm:
5497        (-[DOMDocument webFrame]): Get rid of unneeded local variable.
5498        (-[DOMDocument URLWithAttributeString:]): Remove unhelpful comment.
5499
55002010-09-13  Enrica Casucci  <enrica@apple.com>
5501
5502        Reviewed by Sam Weinig.
5503
5504        Paste should be implemented in WebCore like Copy and Cut for Mac also.
5505        https://bugs.webkit.org/show_bug.cgi?id=45494
5506        <rdar://problem/7660537>
5507
5508        On the Mac platform, the implementation of the paste operation is all done
5509        at the WebKit level. In order to support it on WebKit2 it is necessary to
5510        refactor the code and move this functionality at the level of WebCore like
5511        we already have on Windows.
5512        The original code relies on some in AppKit functions that call back into
5513        WebKit causing problems in WebKit2. All this functionality has been moved
5514        at the level of the editor client where it can be dealt with appropriately.
5515
5516        * WebCoreSupport/WebEditorClient.h:
5517        * WebCoreSupport/WebEditorClient.mm:
5518        (excludedElementsForAttributedStringConversion):
5519        (WebEditorClient::documentFragmentFromAttributedString): Added.
5520        (WebEditorClient::setInsertionPasteboard):
5521        * WebCoreSupport/WebFrameLoaderClient.h:
5522        * WebCoreSupport/WebFrameLoaderClient.mm:
5523        (WebFrameLoaderClient::canShowMIMETypeAsHTML): Re-implemented at the level
5524        of the editor client.
5525        * WebView/WebHTMLView.mm: Removed paste method.
5526
55272010-09-13  John Sullivan  <sullivan@apple.com>
5528
5529        Reviewed by Adam Roben.
5530
5531        https://bugs.webkit.org/show_bug.cgi?id=45677
5532        [WebView canMarkAllTextMatches] can crash if called after [WebView close]
5533
5534        <rdar://problem/8404890>
5535
5536        * WebView/WebView.mm:
5537        (-[WebView canMarkAllTextMatches]):
5538        Return NO immediately if the webview has already been closed. This was an overlooked
5539        case from the fix for 45175.
5540
55412010-09-10  MORITA Hajime  <morrita@google.com>
5542
5543        Reviewed by Tony Chang.
5544
5545        [Chromium] Implement textInputController.hasSpellingMarker() for Chromium
5546        https://bugs.webkit.org/show_bug.cgi?id=45441
5547
5548        Moved the actual logic of hasSpellingMarker into WebCore to share
5549        it with other ports.
5550
5551        * WebView/WebFrame.mm:
5552        (-[WebFrame hasSpellingMarker:length:]):
5553
55542010-09-11  Adam Barth  <abarth@webkit.org>
5555
5556        Reviewed by Sam Weinig.
5557
5558        Make SecurityOrigin::canDisplay an instance function
5559        https://bugs.webkit.org/show_bug.cgi?id=45219
5560
5561        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5562        (WebKit::NetscapePluginInstanceProxy::loadRequest):
5563        * Plugins/WebNetscapePluginStream.mm:
5564        (WebNetscapePluginStream::WebNetscapePluginStream):
5565        * Plugins/WebNetscapePluginView.mm:
5566        (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
5567        * Plugins/WebPluginContainerCheck.mm:
5568        (-[WebPluginContainerCheck _isForbiddenFileLoad]):
5569        * WebView/WebFrame.mm:
5570        (-[WebFrame _allowsFollowingLink:]):
5571
55722010-09-10  Sam Weinig  <sam@webkit.org>
5573
5574        Reviewed by Darin Adler.
5575
5576        Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
5577        Precursor to <rdar://problem/7660657>
5578        https://bugs.webkit.org/show_bug.cgi?id=45522
5579
5580        * WebView/WebView.mm:
5581        (-[WebView _preferencesChangedNotification:]):
5582        (-[WebView _setZoomMultiplier:isTextOnly:]):
5583        (-[WebView _realZoomMultiplierIsTextOnly]):
5584        * WebView/WebViewData.h:
5585        * WebView/WebViewData.mm:
5586        (-[WebViewPrivate init]):
5587        Move tracking of text only zoom here from WebCore.
5588
55892010-09-10  Stephanie Lewis  <slewis@apple.com>
5590
5591        Reviewed by Alexey Proskuryakov.
5592
5593        Refactor JavaScriptCore memory statistics so that WebKit doesn't need to know about the JIT and
5594        other implementation details of JavaScriptCore.  Necessary to fix PPC build.
5595
5596        https://bugs.webkit.org/show_bug.cgi?id=45528
5597
5598        * Misc/WebCoreStatistics.mm:
5599        (+[WebCoreStatistics memoryStatistics]):
5600
56012010-09-10  Darin Adler  <darin@apple.com>
5602
5603        Reviewed by Sam Weinig.
5604
5605        Move some Dashboard stuff from WebCore to WebKit along with a bit more FrameMac cleanup
5606        https://bugs.webkit.org/show_bug.cgi?id=45582
5607
5608        * MigrateHeaders.make: Removed WebDashboardRegion.h from the set of header to copy.
5609
5610        * WebCoreSupport/WebChromeClient.mm:
5611        (WebChromeClient::dashboardRegionsChanged): Changed this to call
5612        -[WebView _dashboardRegions] so we don't have two copies of that code.
5613
5614        * WebView/WebDashboardRegion.h: Copied from WebCore/page/mac/WebDashboardRegion.h.
5615        * WebView/WebDashboardRegion.mm: Copied from WebCore/page/mac/WebDashboardRegion.m.
5616
5617        * WebView/WebView.mm:
5618        (-[WebView _dashboardRegions]): Moved the code from Frame::dashboardRegions here.
5619
56202010-09-10  Adam Barth  <abarth@webkit.org>
5621
5622        Reviewed by Darin Fisher.
5623
5624        Move code from WebKit-layer to DocumentLoader
5625        https://bugs.webkit.org/show_bug.cgi?id=45569
5626
5627        This code is the most confused, but now should be a bit cleaner.
5628        There's still a magical fake-setting for creating renderers that needs
5629        to be cleaned up, but we can do that in a separate patch.
5630
5631        * WebView/WebFrame.mm:
5632        (-[WebFrame _commitData:]):
5633        * WebView/WebFrameInternal.h:
5634        * WebView/WebHTMLRepresentation.mm:
5635        (-[WebHTMLRepresentation receivedData:withDataSource:]):
5636        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
5637
56382010-09-09  Darin Adler  <darin@apple.com>
5639
5640        Reviewed by Adam Barth.
5641
5642        Move functions from Frame to SelectionController as planned
5643        https://bugs.webkit.org/show_bug.cgi?id=45508
5644
5645        * WebView/WebFrame.mm:
5646        (-[WebFrame _selectionGranularity]):
5647        (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
5648        (-[WebFrame _typingStyle]):
5649        (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
5650        * WebView/WebHTMLRepresentation.mm:
5651        (-[WebHTMLRepresentation currentForm]):
5652        * WebView/WebHTMLView.mm:
5653        (-[WebHTMLView jumpToSelection:]):
5654        (-[WebHTMLView centerSelectionInVisibleArea:]):
5655        (-[WebHTMLView _canSmartCopyOrDelete]):
5656        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
5657        (-[WebHTMLView selectionRect]):
5658        (-[WebHTMLView selectionTextRects]):
5659        (-[WebHTMLView selectionImageRect]):
5660        * WebView/WebView.mm:
5661        (-[WebView setEditable:]):
5662        Call functions on selection().
5663
56642010-09-10  Adam Barth  <abarth@webkit.org>
5665
5666        Reviewed by Eric Seidel.
5667
5668        Main resource bytes shouldn't bounce through FrameLoader
5669        https://bugs.webkit.org/show_bug.cgi?id=45496
5670
5671        Now return the bytes to the DocumentLoader.
5672
5673        Previously, we were checking the document for null.  However, Frame can
5674        never have a null document, so this check is no longer needed.
5675
5676        * WebView/WebFrame.mm:
5677        (-[WebFrame _addData:]):
5678
56792010-09-09  John Therrell  <jtherrell@apple.com>
5680
5681        Reviewed by Alexey Proskuryakov.
5682
5683        Added statistics sampling and reporting for JavaScriptCore's RegisterFile and ExecutableAllocator classes
5684        https://bugs.webkit.org/show_bug.cgi?id=45134
5685
5686        Added ability to enable new JavaScriptCore statistics sampling and reporting for RegisterFile
5687        and ExecutableAllocator classes. Added reporting of JavaScriptCore's stack committed memory
5688        and JIT code committed memory statistics to WebCoreStatistics memoryStatistics.
5689
5690        * Misc/WebCoreStatistics.mm:
5691        (+[WebCoreStatistics memoryStatistics]):
5692        Added statistics reporting for JSC RegisterFile and ExecutableAllocator.
5693
56942010-09-09  Jer Noble  <jer.noble@apple.com>
5695
5696        Reviewed by Mark Rowe.
5697
5698        Use of ENABLE macro in WebUIDelegatePrivate.h breaks use from outside WebKit
5699        <rdar://problem/8412657>
5700
5701        * WebView/WebUIDelegatePrivate.h: Use ENABLE_FULLSCREEN_API instead of ENABLE(FULLSCREEN_API)
5702
57032010-09-08  Darin Adler  <darin@apple.com>
5704
5705        Reviewed by Adam Barth.
5706
5707        Move functions from Frame to Editor as planned
5708        https://bugs.webkit.org/show_bug.cgi?id=45218
5709
5710        * WebView/WebFrame.mm:
5711        (-[WebFrame _selectedString]):
5712        (-[WebFrame _firstRectForDOMRange:]):
5713        (-[WebFrame _markDOMRange]):
5714        (-[WebFrame _setTypingStyle:withUndoAction:]):
5715        * WebView/WebHTMLRepresentation.mm:
5716        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
5717        * WebView/WebHTMLView.mm:
5718        (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
5719        (-[WebHTMLView toggleBaseWritingDirection:]):
5720        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
5721        (-[WebHTMLView countMatchesForText:caseSensitive:limit:markMatches:]):
5722        (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
5723        (-[WebHTMLView markedTextMatchesAreHighlighted]):
5724        * WebView/WebView.mm:
5725        (-[WebView setEditable:]):
5726        Changed call sites to use editor().
5727
57282010-09-08  MORITA Hajime  <morrita@google.com>
5729
5730        Reviewed by Ojan Vafai.
5731
5732        spellcheck does not check pasted text
5733        https://bugs.webkit.org/show_bug.cgi?id=40092
5734
5735        Implemented async spell-check APIs on WebEditorClient.
5736        The implementations are using [NSSpellChecker requestCheckingOfString]
5737        which is available only on Mac OS 10.6 or later.
5738
5739        Note that [NSSpellChecker requestCheckingOfString] could invoke
5740        the callback block on on of their worker thread, so we need to
5741        return the result to the main thread where WebCore is running.
5742        For that purpose, we made WebEditorSpellCheckResponder class.
5743
5744        Test: editing/spelling/spellcheck-pasted-text-001.html
5745
5746        * WebCoreSupport/WebEditorClient.h:
5747        * WebCoreSupport/WebEditorClient.mm:
5748        (WebEditorClient::isAsynchronousSpellCheckingEnabled): Added.
5749        (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]): Added.
5750        (-[WebEditorSpellCheckResponder perform]): Added.
5751        (WebEditorClient::requestCheckingOfString): Added.
5752        * WebView/WebFramePrivate.h:
5753
57542010-09-08  MORITA Hajime  <morrita@google.com>
5755
5756        Reviewed by Tony Chang.
5757
5758        spelling underline gets lost on backspace
5759        https://bugs.webkit.org/show_bug.cgi?id=41423
5760
5761        Switched to use a anchorNode of the selection instead of a focused
5762        node for finer control of node selection in spellingNode():
5763        With the focused node, we cannot select other nodes but the first
5764        child of that node. In some case, we need to inspect these.
5765
5766        The API is only for LayoutTests, and the change is compatible for
5767        existing test cases.
5768
5769        * WebView/WebFrame.mm:
5770        (spellingNode):
5771
57722010-09-08  Adam Barth  <abarth@webkit.org>
5773
5774        Rubber-stamped by Eric Seidel.
5775
5776        Rename DocLoader to CachedResourceLoader because that's what it does.
5777
5778        * WebView/WebFrame.mm:
5779
57802010-09-07  Anders Carlsson  <andersca@apple.com>
5781
5782        Reviewed by Oliver Hunt.
5783
5784        Fix clang++ build.
5785
5786        * Misc/WebLocalizableStrings.h:
5787        Fix a struct/tag mismatch.
5788
5789        * WebView/WebDeviceOrientationProviderMock.mm:
5790        (-[WebDeviceOrientationProviderMock init]):
5791        Remove stray semicolon.
5792
5793        * WebView/WebViewData.h:
5794        Remove unused class forward declaration.
5795
57962010-09-07  Anders Carlsson  <andersca@apple.com>
5797
5798        Reviewed by Darin Adler.
5799
5800        <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
5801
5802        Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
5803
5804        * Configurations/Base.xcconfig:
5805
58062010-09-06  Adam Barth  <abarth@webkit.org>
5807
5808        Reviewed by Darin Adler.
5809
5810        Rename SecurityOrigin::canLoad to canDisplay
5811        https://bugs.webkit.org/show_bug.cgi?id=45214
5812
5813        Propagate name change.
5814
5815        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5816        (WebKit::NetscapePluginInstanceProxy::loadRequest):
5817        * Plugins/WebNetscapePluginStream.mm:
5818        (WebNetscapePluginStream::WebNetscapePluginStream):
5819        * Plugins/WebNetscapePluginView.mm:
5820        (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
5821        * Plugins/WebPluginContainerCheck.mm:
5822        (-[WebPluginContainerCheck _isForbiddenFileLoad]):
5823        * WebView/WebFrame.mm:
5824        (-[WebFrame _allowsFollowingLink:]):
5825
58262010-09-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
5827
5828        Reviewed by Darin Adler.
5829
5830        Add NetworkingContext to avoid layer violations
5831        https://bugs.webkit.org/show_bug.cgi?id=42292
5832
5833        Add Mac's specific implementation of FrameNetworkingContext.
5834
5835        * WebCoreSupport/WebFrameLoaderClient.h:
5836        * WebCoreSupport/WebFrameLoaderClient.mm:
5837        * WebCoreSupport/WebFrameNetworkingContext.mm:
5838        (WebFrameNetworkingContext::needsSiteSpecificQuirks):
5839        (WebFrameNetworkingContext::localFileContentSniffingEnabled):
5840        (WebFrameNetworkingContext::scheduledRunLoopPairs):
5841        (WebFrameNetworkingContext::blockedError):
5842
58432010-09-03  John Sullivan  <sullivan@apple.com>
5844
5845        Reviewed by Dan Bernstein.
5846
5847        https://bugs.webkit.org/show_bug.cgi?id=45175
5848        [WebView unmarkAllTextMatches] will crash if the webview is already closed
5849
5850        Made this and related methods robust against being called when the WebView is closed.
5851
5852        * WebView/WebView.mm:
5853        (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
5854        Bail out if the WebView is closed.
5855        (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]):
5856        Ditto.
5857        (-[WebView unmarkAllTextMatches]):
5858        Ditto.
5859        (-[WebView rectsForTextMatches]):
5860        Ditto.
5861
58622010-09-03  Hironori Bono  <hbono@chromium.org>
5863
5864        Reviewed by Kent Tamura.
5865
5866        Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests
5867        and implements it for Mac.
5868        https://bugs.webkit.org/show_bug.cgi?id=41832
5869
5870        * WebView/WebFrame.mm: Implemented [WebFrame hasSpellingMarker:length:].
5871        (spellingNode):
5872        (-[WebFrame hasSpellingMarker:length:]):
5873        * WebView/WebFramePrivate.h: Added [WebFrame hasSpellingMarker:length:] so TextInputController can use it.
5874
58752010-09-02  Yury Semikhatsky  <yurys@chromium.org>
5876
5877        Reviewed by Pavel Feldman.
5878
5879        REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
5880        https://bugs.webkit.org/show_bug.cgi?id=44230
5881
5882        * WebCoreSupport/WebInspectorClient.h:
5883        * WebCoreSupport/WebInspectorClient.mm:
5884        (WebInspectorFrontendClient::closeWindow):
5885        (WebInspectorFrontendClient::disconnectFromBackend):
5886        (-[WebInspectorWindowController windowShouldClose:]):
5887        (-[WebInspectorWindowController destroyInspectorView:]):
5888
58892010-09-02  Steve Block  <steveblock@google.com>
5890
5891        Reviewed by Adam Barth.
5892
5893        Hook up LayoutTestController.setMockDeviceOrientation() on Mac.
5894        https://bugs.webkit.org/show_bug.cgi?id=43181
5895
5896        This patch hooks up the mock device orientation client on Mac for use
5897        in DumpRenderTree.
5898
5899        The patch adds a new WebDeviceOrientationClient for Mac. This client acts
5900        as a proxy to either a real or mock device orientation provider, both of
5901        which implement a new WebDeviceOrientationProvider interface.
5902
5903        The provider is created by the embedder and passed to the WebView, from
5904        where WebDeviceOrientationClient can access it.
5905
5906        The mock provider, WebDeviceOrientationProviderMock, is a wrapper around
5907        the existing WebCore mock.
5908
5909        * WebCoreSupport/WebDeviceOrientationClient.h: Added.
5910        * WebCoreSupport/WebDeviceOrientationClient.mm: Added.
5911        (WebDeviceOrientationClient::WebDeviceOrientationClient):
5912        (WebDeviceOrientationClient::setController):
5913        (WebDeviceOrientationClient::startUpdating):
5914        (WebDeviceOrientationClient::stopUpdating):
5915        (WebDeviceOrientationClient::lastOrientation):
5916        * WebKit.exp:
5917        * WebView/WebDeviceOrientation.h: Added.
5918        * WebView/WebDeviceOrientation.mm: Added.
5919        (-[WebDeviceOrientation initWithCoreDeviceOrientation:WebCore::]):
5920        (core):
5921        (-[WebDeviceOrientation initWithCanProvideAlpha:alpha:canProvideBeta:beta:canProvideGamma:gamma:]):
5922        (-[WebDeviceOrientation dealloc]):
5923        * WebView/WebDeviceOrientationInternal.h: Added.
5924        * WebView/WebDeviceOrientationProvider.h: Added.
5925        * WebView/WebDeviceOrientationProviderMock.h: Added.
5926        * WebView/WebDeviceOrientationProviderMock.mm: Added.
5927        (-[WebDeviceOrientationProviderMockInternal setOrientation:]):
5928        (-[WebDeviceOrientationProviderMockInternal setController:]):
5929        (-[WebDeviceOrientationProviderMockInternal startUpdating]):
5930        (-[WebDeviceOrientationProviderMockInternal stopUpdating]):
5931        (-[WebDeviceOrientationProviderMockInternal lastOrientation]):
5932        (-[WebDeviceOrientationProviderMock init]):
5933        (-[WebDeviceOrientationProviderMock dealloc]):
5934        (-[WebDeviceOrientationProviderMock setOrientation:]):
5935        (-[WebDeviceOrientationProviderMock setController:]):
5936        (-[WebDeviceOrientationProviderMock startUpdating]):
5937        (-[WebDeviceOrientationProviderMock stopUpdating]):
5938        (-[WebDeviceOrientationProviderMock lastOrientation]):
5939        * WebView/WebDeviceOrientationProviderMockInternal.h: Added.
5940        * WebView/WebView.mm:
5941        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
5942        (-[WebView _setDeviceOrientationProvider:]):
5943        (-[WebView _deviceOrientationProvider]):
5944        * WebView/WebViewData.h:
5945        * WebView/WebViewPrivate.h:
5946
59472010-09-01  Jia Pu  <jpu@apple.com>
5948
5949        Reviewed by Dan Bernstein.
5950
5951        Add support for autocorrection UI on Mac OS X.
5952        https://bugs.webkit.org/show_bug.cgi?id=44958
5953        <rdar://problem/7326847>
5954
5955        See detailed high level description in WebCore/ChangeLog.
5956
5957        * WebCoreSupport/WebEditorClient.h: Added new member methods declared in
5958          EditorClient. Added m_correctionPanelTag to store the ID of current autocorrection UI object.
5959
5960        * WebCoreSupport/WebEditorClient.mm:
5961        (WebEditorClient::WebEditorClient): Initialize m_correctionPanelTag.
5962        (WebEditorClient::~WebEditorClient): Make sure the autocorrection UI is
5963          dismissed before destroying the object.
5964        (WebEditorClient::respondToChangedSelection): Dismiss autocorrection UI whenever the selection changes.
5965        (WebEditorClient::showCorrectionPanel): Show autocorrection UI.
5966        (WebEditorClient::dismissCorrectionPanel): Dismiss autocorrection UI.
5967
59682010-09-01  Mark Rowe  <mrowe@apple.com>
5969
5970        Reviewed by Adam Roben.
5971
5972        <rdar://problem/8374711> WebKit needs to compile without access to QuickDraw private headers.
5973
5974        * Carbon/HIViewAdapter.m:
5975        * Carbon/HIWebView.mm:
5976        * Misc/QuickDrawCompatibility.h: Added.
5977        * Plugins/WebNetscapePluginView.mm:
5978
59792010-08-31  Dave Hyatt  <hyatt@apple.com>
5980
5981        Reviewed by Sam Weinig.
5982
5983        https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that
5984        the former can occur in more places without having to do the latter.
5985
5986        Eliminate Mac-specific code for style re-application and recursive layout/style updating in
5987        favor of the cross-platform code that all the other ports use.
5988
5989        * Carbon/HIWebView.mm:
5990        (Draw):
5991        * WebCoreSupport/WebFrameLoaderClient.mm:
5992        (WebFrameLoaderClient::forceLayout):
5993        * WebView/WebHTMLView.mm:
5994        (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]):
5995        (-[WebHTMLView viewWillDraw]):
5996        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
5997        (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
5998        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
5999        (-[WebHTMLView reapplyStyles]):
6000        (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]):
6001        (-[WebHTMLView setNeedsToApplyStyles:]):
6002        (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
6003        (-[WebHTMLView _layoutIfNeeded]):
6004        (-[WebHTMLView _web_updateLayoutAndStyleIfNeededRecursive]):
6005        * WebView/WebHTMLViewInternal.h:
6006        * WebView/WebView.mm:
6007        (-[WebView _viewWillDrawInternal]):
6008
60092010-08-31  Sam Weinig  <sam@webkit.org>
6010
6011        Reviewed by Darin Adler.
6012
6013        Add ability to count text matches without marking
6014        https://bugs.webkit.org/show_bug.cgi?id=43996
6015
6016        Safari needs to be able to count text matches without triggering lots of repainting.
6017        Rename markAllMatchesForText: to countMatchesForText: and add a markMatches:
6018        parameter.  For backwards compatibility markAllMatchesForText: calls
6019        countMatchesForText: and passes YES for markMatches:.
6020
6021        * WebView/WebDocumentInternal.h:
6022        * WebView/WebHTMLView.mm:
6023        (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
6024        (-[WebHTMLView countMatchesForText:caseSensitive:limit:markMatches:]):
6025        * WebView/WebPDFView.mm:
6026        (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]):
6027        (-[WebPDFView countMatchesForText:caseSensitive:limit:markMatches:]):
6028        * WebView/WebView.mm:
6029        (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
6030        (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]):
6031        * WebView/WebViewPrivate.h:
6032
60332010-08-31  Darin Adler  <darin@apple.com>
6034
6035        Reviewed by Anders Carlsson.
6036
6037        * WebInspector/WebInspectorFrontend.mm:
6038        (-[WebInspectorFrontend initWithFrontendClient:]): Remove a stray semicolon.
6039
60402010-08-30  Mark Rowe  <mrowe@apple.com>
6041
6042        Reviewed by Darin Adler.
6043
6044        <rdar://problem/8369736> WebKit build fails.
6045
6046        Temporarily add some extra includes in order to get things building again until <rdar://problem/8374711> is addressed.
6047
6048        * Carbon/HIViewAdapter.m:
6049        * Carbon/HIWebView.mm:
6050        * Plugins/WebNetscapePluginView.mm:
6051
60522010-08-30  Andy Estes  <aestes@apple.com>
6053
6054        Reviewed by Darin Adler.
6055
6056        REGRESSION (r66156): Sites using AppleConnect for authentication fail to log in.
6057        https://bugs.webkit.org/show_bug.cgi?id=44865
6058
6059        After http://trac.webkit.org/changeset/66156, sites using the AppleConnect plug-in
6060        for authentication fail to log in. This is due to a bug in AppleConnect that r66156
6061        exposed, but since this will have a significant impact on users of WebKit nightly
6062        builds, a plugin-specific hack should be added while the underlying issue is being
6063        addressed.
6064
6065        * WebCoreSupport/WebFrameLoaderClient.mm:
6066        (WebFrameLoaderClient::createPlugin): Convert plug-in parameter names to lowercase
6067        if the plugin is of type 'application/x-snkp'.
6068
60692010-08-27  Jer Noble  <jer.noble@apple.com>
6070
6071        Reviewed by Eric Carlson.
6072
6073        text/plain non-video files cause <video> to hang (while reading them?)
6074        https://bugs.webkit.org/show_bug.cgi?id=44212
6075
6076        Add the new WebKitSystemInterface function WKQTMovieDisableComponent to
6077        the initialization routine.
6078
6079        * WebCoreSupport/WebSystemInterface.mm:
6080        (InitWebCoreSystemInterface): Initialize WKQTMovieDisableComponent.
6081
60822010-08-30  Sheriff Bot  <webkit.review.bot@gmail.com>
6083
6084        Unreviewed, rolling out r66198.
6085        http://trac.webkit.org/changeset/66198
6086        https://bugs.webkit.org/show_bug.cgi?id=44856
6087
6088        It made tests crash on Qt bot (Requested by Ossy_ on #webkit).
6089
6090        * WebCoreSupport/WebInspectorClient.h:
6091        * WebCoreSupport/WebInspectorClient.mm:
6092        (WebInspectorFrontendClient::closeWindow):
6093        (-[WebInspectorWindowController windowShouldClose:]):
6094        (-[WebInspectorWindowController destroyInspectorView]):
6095
60962010-08-28  Darin Adler  <darin@apple.com>
6097
6098        Reviewed by Sam Weinig.
6099
6100        Make an internal method used by Apple Mail into SPI
6101        https://bugs.webkit.org/show_bug.cgi?id=44832
6102        rdar://problem/5748951
6103
6104        * WebView/WebFrame.mm:
6105        (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Moved this method
6106        from the internal section to the private section.
6107        * WebView/WebFrameInternal.h: Moved the method declaration out of here.
6108        * WebView/WebFramePrivate.h: Moved the method declaration in here.
6109
61102010-08-27  Jer Noble  <jer.noble@apple.com>
6111
6112        Reviewed by Eric Carlson.
6113
6114        Add JavaScript API to allow a page to go fullscreen.
6115        rdar://problem/6867795
6116
6117        Added chrome client overrides which support entering and exiting full screen.  A new preference has
6118        been added (setFullScreenEnabled:) to control at runtime whether full screen support is enabled
6119        (defaults to disabled).  Added a new WebKitFullScreenListener callback object which notifies WebCore
6120        when the chrome has started/finished its full screen animation.
6121
6122        * Configurations/FeatureDefines.xcconfig:
6123        * WebCoreSupport/WebChromeClient.h:
6124        * WebCoreSupport/WebChromeClient.mm:
6125        (WebChromeClient::supportsFullscreenForElement):
6126        (WebChromeClient::enterFullscreenForElement):
6127        (WebChromeClient::exitFullscreenForElement):
6128        (-[WebKitFullScreenListener initWithElement:]):
6129        (-[WebKitFullScreenListener webkitWillEnterFullScreen]):
6130        (-[WebKitFullScreenListener webkitDidEnterFullScreen]):
6131        (-[WebKitFullScreenListener webkitWillExitFullScreen]):
6132        (-[WebKitFullScreenListener webkitDidExitFullScreen]):
6133        * WebView/WebPreferenceKeysPrivate.h:
6134        * WebView/WebPreferences.h:
6135        * WebView/WebPreferences.mm:
6136        (+[WebPreferences initialize]):
6137        (-[WebPreferences setFullScreenEnabled:]):
6138        (-[WebPreferences fullScreenEnabled]):
6139        * WebView/WebUIDelegatePrivate.h:
6140        * WebView/WebView.mm:
6141        (-[WebView _preferencesChangedNotification:]):
6142
61432010-08-27  David Hyatt  <hyatt@apple.com>
6144
6145        Reviewed by Simon Fraser.
6146
6147        https://bugs.webkit.org/show_bug.cgi?id=44788, implement HTML5-compliant doctype switching.
6148
6149        Rename the various modes to match the HTML5 specification:
6150            ParseMode -> CompatibilityMode
6151            CompatMode -> QuirksMode
6152            AlmostStrictMode -> LimitedQuirksMode
6153            StrictMode -> NoQuirksMode
6154
6155        Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document
6156        instead.  This makes switching modes avoid forcing all RenderStyles to detect as changed.
6157
6158        Clean up user stylesheets to minimize style recalculation when the mode is switched.
6159
6160        Fix bugs with the propagation of correct modes in the HTML5 parser.  Make sure the
6161        dummy document created for fragment parsing properly inherits the real document's CompatibilityMode.
6162        Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling
6163        a doctype token.
6164
6165        determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm
6166        precisely.
6167
6168        * WebView/WebView.mm:
6169        (-[WebView _preferencesChangedNotification:]):
6170
61712010-08-27  Yury Semikhatsky  <yurys@chromium.org>
6172
6173        Reviewed by Pavel Feldman.
6174
6175        REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
6176        https://bugs.webkit.org/show_bug.cgi?id=44230
6177
6178        * WebCoreSupport/WebInspectorClient.h:
6179        * WebCoreSupport/WebInspectorClient.mm:
6180        (WebInspectorFrontendClient::closeWindow):
6181        (WebInspectorFrontendClient::disconnectFromBackend):
6182        (-[WebInspectorWindowController windowShouldClose:]):
6183        (-[WebInspectorWindowController destroyInspectorView:]):
6184
61852010-08-26  Yury Semikhatsky  <yurys@chromium.org>
6186
6187        Unreviewed. Revert r66103 since Qt tests are failing.
6188
6189        * WebCoreSupport/WebInspectorClient.h:
6190        * WebCoreSupport/WebInspectorClient.mm:
6191        (WebInspectorFrontendClient::closeWindow):
6192        (-[WebInspectorWindowController windowShouldClose:]):
6193        (-[WebInspectorWindowController destroyInspectorView]):
6194
61952010-08-26  Yury Semikhatsky  <yurys@chromium.org>
6196
6197        Reviewed by Pavel Feldman.
6198
6199        REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
6200        https://bugs.webkit.org/show_bug.cgi?id=44230
6201
6202        * WebCoreSupport/WebInspectorClient.h:
6203        * WebCoreSupport/WebInspectorClient.mm:
6204        (WebInspectorFrontendClient::closeWindow):
6205        (WebInspectorFrontendClient::disconnectFromBackend):
6206        (-[WebInspectorWindowController windowShouldClose:]):
6207        (-[WebInspectorWindowController destroyInspectorView:]):
6208
62092010-08-24  Eric Seidel  <eric@webkit.org>
6210
6211        Reviewed by Adam Barth.
6212
6213        Remove HTML5 parser testing infrastructure now that we don't need it
6214        https://bugs.webkit.org/show_bug.cgi?id=44581
6215
6216        * WebView/WebPreferenceKeysPrivate.h:
6217        * WebView/WebPreferences.mm:
6218        (+[WebPreferences initialize]):
6219        * WebView/WebPreferencesPrivate.h:
6220        * WebView/WebView.mm:
6221        (-[WebView _preferencesChangedNotification:]):
6222
62232010-08-24  Sam Weinig  <sam@webkit.org>
6224
6225        Reviewed by Oliver Hunt.
6226
6227        Paste event fires twice for mac WebKit
6228        <rdar://problem/8094611>
6229        https://bugs.webkit.org/show_bug.cgi?id=44535
6230
6231        The mac implementation of paste in WebKit was accidentally calling
6232        Editor::tryDHTMLPaste twice, once in -[WebHTMLView paste:] and once
6233        in Editor::pasteAsPlainText (which is called -[WebHTMLView paste:]).
6234        Use the new pasteAsPlainTextBypassingDHTML function to bypass the
6235        second call.
6236
6237        * WebView/WebHTMLView.mm:
6238        (-[WebHTMLView paste:]):
6239
62402010-08-24  Daniel Cheng  <dcheng@chromium.org>
6241
6242        Reviewed by Eric Seidel.
6243
6244        [chromium] Generate drag images for HTML elements and selections.
6245        https://bugs.webkit.org/show_bug.cgi?id=43449
6246
6247        Fix up calls to Frame::nodeImage, which has a new signature.
6248
6249        * Plugins/WebBaseNetscapePluginView.mm:
6250        (-[WebBaseNetscapePluginView halt]):
6251
62522010-08-23  Mike Thole  <mthole@apple.com>
6253
6254        Reviewed by Dan Bernstein.
6255
6256        WebPDFView should remove itself as the delegate of its PDFView before being dealloced
6257        https://bugs.webkit.org/show_bug.cgi?id=44441
6258
6259        * WebView/WebPDFView.mm:
6260        (-[WebPDFView dealloc]): Set the PDFView's delegate to nil.
6261
62622010-08-22  Daniel Bates  <dbates@rim.com>
6263
6264        Reviewed by Eric Seidel.
6265
6266        Encapsulate document marker management into DocumentMarkerController
6267        https://bugs.webkit.org/show_bug.cgi?id=44383
6268
6269        Modify call sites in the Apple Mac port to use DocumentMarkerController.
6270
6271        No functionality was changed, so no new tests.
6272
6273        * WebView/WebFrame.mm:
6274        (-[WebFrame _unmarkAllBadGrammar]):
6275        (-[WebFrame _unmarkAllMisspellings]):
6276        * WebView/WebHTMLView.mm:
6277        (-[WebHTMLView unmarkAllTextMatches]):
6278        (-[WebHTMLView rectsForTextMatches]):
6279
62802010-08-19  David Kilzer  <ddkilzer@apple.com>
6281
6282        <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
6283
6284        Reviewed by Joseph Pecoraro.
6285
6286        * Plugins/Hosted/HostedNetscapePluginStream.mm: Changed
6287        USE(PLUGIN_HOST_PROCESS) to
6288        USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API).
6289        * Plugins/Hosted/NetscapePluginHostManager.mm: Ditto.
6290        * Plugins/Hosted/NetscapePluginHostProxy.mm: Ditto.
6291        * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Ditto.
6292        * Plugins/Hosted/ProxyInstance.mm: Ditto.
6293        * Plugins/Hosted/WebHostedNetscapePluginView.mm: Ditto.
6294        * WebCoreSupport/WebChromeClient.mm: Ditto.
6295        (WebChromeClient::createWindow):
6296        * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
6297        (WebFrameLoaderClient::dispatchCreatePage):
6298        * WebView/WebHTMLView.mm:
6299        (needsCursorRectsSupportAtPoint): Added #if
6300        ENABLE(NETSCAPE_PLUGIN_API) and #endif macros as needed.
6301        * WebView/WebView.mm:
6302        (+[WebView _isNodeHaltedPlugin:]): Ditto.
6303        (+[WebView _hasPluginForNodeBeenHalted:]): Ditto.
6304        (+[WebView _restartHaltedPluginForNode:]): Ditto.
6305
63062010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
6307
6308        Reviewed by Darin Adler.
6309
6310        Add NetworkingContext to avoid layer violations
6311        https://bugs.webkit.org/show_bug.cgi?id=42292
6312
6313        Preparation: Just add the files to the build system.
6314
6315        * WebCoreSupport/WebFrameNetworkingContext.h: Added.
6316        Placeholder with tentative code that might be changed when landing
6317        the rest of it.
6318        * WebCoreSupport/WebFrameNetworkingContext.mm: Added.
6319        Empty placeholder for now.
6320
63212010-08-17  Brady Eidson  <beidson@apple.com>
6322
6323        Reviewed by Sam Weinig.
6324
6325        Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
6326        <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
6327
6328        * WebView/WebView.mm:
6329        (-[WebView canGoBack]): Return false if loads are deferred.
6330        (-[WebView canGoForward]): Ditto.
6331
63322010-08-14  Joseph Pecoraro  <joepeck@webkit.org>
6333
6334        Reviewed by Pavel Feldman.
6335
6336        Web Inspector: -[WebInspector attach] and detach should work
6337        https://bugs.webkit.org/show_bug.cgi?id=43924
6338
6339        For actions that relate only to the Web Inspector's Frontend
6340        window (actions on the InspectorFrontendClient) the new Obj-C
6341        wrapper class WebInspectorFrontend can be used. For now, this
6342        is just attach and detach.
6343
6344        * WebCoreSupport/WebInspectorClient.mm:
6345        (WebInspectorClient::openInspectorFrontend): setup and attach the WebInspectorFrontend to the WebInspector.
6346        * WebInspector/WebInspector.h:
6347        * WebInspector/WebInspector.mm:
6348        (-[WebInspector dealloc]):
6349        (-[WebInspector attach:]): delegate to the frontend.
6350        (-[WebInspector detach:]): delegate to the frontend.
6351        (-[WebInspector setFrontend:]):
6352        * WebInspector/WebInspectorFrontend.h: Added.
6353        * WebInspector/WebInspectorFrontend.mm: Added.
6354        (-[WebInspectorFrontend initWithFrontendClient:]):
6355        (-[WebInspectorFrontend attach]):
6356        (-[WebInspectorFrontend detach]):
6357        * WebInspector/WebInspectorPrivate.h:
6358
63592010-08-13  Gavin Barraclough  <barraclough@apple.com>
6360
6361        Rubber stamped by Sam Weinig.
6362        Switch String::/UString::ascii() to return a CString.
6363
6364        * Plugins/Hosted/ProxyInstance.mm:
6365        (WebKit::ProxyInstance::methodsNamed):
6366        (WebKit::ProxyInstance::fieldNamed):
6367
63682010-08-13  Gavin Barraclough  <barraclough@apple.com>
6369
6370        Reviewed by Sam Weinig
6371
6372        Unify UString::UTF8String() & String::utf8() methods,
6373        remove UString::cost() & make atArrayIndex a free function.
6374
6375        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6376        (WebKit::NetscapePluginInstanceProxy::enumerate):
6377
63782010-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
6379
6380        Unreviewed, rolling out r65295.
6381        http://trac.webkit.org/changeset/65295
6382        https://bugs.webkit.org/show_bug.cgi?id=43950
6383
6384        It broke 4 sputnik tests (Requested by Ossy on #webkit).
6385
6386        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6387        (WebKit::NetscapePluginInstanceProxy::enumerate):
6388
63892010-08-12  Gavin Barraclough  <barraclough@apple.com>
6390
6391        Reviewed by Sam Weinig
6392
6393        Unify UString::UTF8String() & String::utf8() methods,
6394        remove UString::cost() & make atArrayIndex a free function.
6395
6396        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6397        (WebKit::NetscapePluginInstanceProxy::enumerate):
6398
63992010-08-12  Jeremy Orlow  <jorlow@chromium.org>
6400
6401        Revert for now
6402        https://bugs.webkit.org/show_bug.cgi?id=43794
6403
6404        * WebView/WebView.mm:
6405        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
6406        (-[WebView _preferencesChangedNotification:]):
6407
64082010-08-10  Jeremy Orlow  <jorlow@chromium.org>
6409
6410        Reviewed by Adam Barth.
6411
6412        Some settings are linked to the PageGroup not the Page.  Create a new class for those.
6413        https://bugs.webkit.org/show_bug.cgi?id=43794
6414
6415        Change WebView to use the new GroupSettings class rather than Settings for the
6416        settings that moved.  This is sub-optimal since the settings aren't really
6417        per-view, but we can't really change the API at this point.
6418
6419        * WebView/WebView.mm:
6420        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
6421        (-[WebView _preferencesChangedNotification:]):
6422
64232010-08-11  Gavin Barraclough  <barraclough@apple.com>
6424
6425        Rubber stamps by Darin Adler & Sam Weinig.
6426
6427        Bug 43867 - Some UString cleanup
6428
6429        Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
6430        Move string concatenation methods to a new header to simplify down UString.h.  Remove is8Bit().
6431
6432        * WebView/WebScriptDebugger.mm:
6433        (toNSString):
6434
64352010-08-10  David Hyatt  <hyatt@apple.com>
6436
6437        Reviewed by Dan Bernstein.
6438
6439        https://bugs.webkit.org/show_bug.cgi?id=43806, add ability to paginate screen content.
6440
6441        Add SPI for entering and exiting screen pagination mode.  This is similar to printing mode but it can be done for on-screen
6442        content.
6443
6444        * WebView/WebHTMLView.mm:
6445        (-[WebHTMLView _web_setPrintingModeRecursive]):
6446        (-[WebHTMLView _web_clearPrintingModeRecursive]):
6447        (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
6448        (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]):
6449        (-[WebHTMLView _endPrintMode]):
6450        (-[WebHTMLView _isInScreenPaginationMode]):
6451        (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]):
6452        (-[WebHTMLView _endScreenPaginationMode]):
6453        (-[WebHTMLView reapplyStyles]):
6454        (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
6455        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
6456        (-[WebHTMLView setPageWidthForPrinting:]):
6457        * WebView/WebHTMLViewPrivate.h:
6458
64592010-08-10  Gavin Barraclough  <barraclough@apple.com>
6460
6461        Build fix (update more includes)
6462
6463        * Plugins/Hosted/NetscapePluginHostManager.h:
6464
64652010-08-10  Chris Marrin  <cmarrin@apple.com>
6466
6467        Reviewed by Oliver Hunt.
6468
6469        Add suspendAnimations/resumeAnimation API to DRT
6470        https://bugs.webkit.org/show_bug.cgi?id=43733
6471
6472        Mac specific API. Plumbs suspendAnimations/resumeAnimations down to WebCore.
6473
6474        * WebView/WebFrame.mm:
6475        (-[WebFrame _suspendAnimations]):
6476        (-[WebFrame _resumeAnimations]):
6477        * WebView/WebFramePrivate.h:
6478
64792010-08-10  Gavin Barraclough  <barraclough@apple.com>
6480
6481        Rubber stamped by Sam Weinig
6482
6483        Bug 43817 - Remove UString::Rep
6484        UString::Rep has for a long time been replaced by UStringImpl (Rep
6485        remaining as a typedef).  UStringImpl has since been removed too
6486        (unified with StringImpl). Remove Rep, rename rep() to impl() and
6487        m_rep to m_impl.  Also add impl() method to Identifier, and rename
6488        its UString member from _ustring to m_string.
6489
6490        * Plugins/Hosted/ProxyInstance.mm:
6491        (WebKit::ProxyInstance::methodsNamed):
6492        (WebKit::ProxyInstance::fieldNamed):
6493
64942010-08-06  Gavin Barraclough  <barraclough@apple.com>
6495
6496        Rubber stamped by Sam Weinig
6497
6498        Bug 43594 - Add string forwards to Forward.h
6499        This allows us to remove forward declarations for these classes from
6500        WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
6501
6502        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6503        * Plugins/WebBaseNetscapePluginView.h:
6504        * WebCoreSupport/WebFrameLoaderClient.h:
6505        * WebCoreSupport/WebIconDatabaseClient.h:
6506        * WebCoreSupport/WebPluginHalterClient.h:
6507        * WebView/WebViewInternal.h:
6508
65092010-08-04  MORITA Hajime  <morrita@google.com>
6510
6511        Reviewed by Tony Chang.
6512
6513        Pasting should fire textInput event.
6514        https://bugs.webkit.org/show_bug.cgi?id=42958
6515
6516        On paste, invoke Editor instead of direct command invocation,
6517        which allows dispatching events before actual paste.
6518
6519        * WebView/WebHTMLView.mm:
6520        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
6521
65222010-08-06  Yongjun Zhang  <yongjun_zhang@apple.com>
6523
6524        Reviewed by Eric Seidel.
6525
6526        add "const" to WebChromeClient::webView().
6527        https://bugs.webkit.org/show_bug.cgi?id=43631
6528
6529        Change WebChromeClient::webView() to be const because ChromeClient::didReceiveViewportArguments
6530        is const method now, and calling webView() inside port-specific didReceiveViewportArguments
6531        implementation fails compiling if webView() is not const.
6532
6533        * WebCoreSupport/WebChromeClient.h:
6534        (WebChromeClient::webView):
6535
65362010-08-06  Jessie Berlin  <jberlin@apple.com>
6537
6538        Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
6539        Unreviewed.
6540
6541        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6542        * Plugins/WebBaseNetscapePluginView.h:
6543        * WebCoreSupport/WebFrameLoaderClient.h:
6544        * WebCoreSupport/WebIconDatabaseClient.h:
6545        * WebCoreSupport/WebPluginHalterClient.h:
6546        * WebView/WebViewInternal.h:
6547
65482010-08-05  Joseph Pecoraro  <joepeck@webkit.org>
6549
6550        Reviewed by David Kilzer.
6551
6552        Remove Invalid Asserts for Application Cache Quotas
6553        https://bugs.webkit.org/show_bug.cgi?id=43585
6554
6555        Removed Invalid ASSERTs that would always happen for quotas
6556        that were not noQuota().
6557
6558        * WebView/WebPreferences.mm:
6559        (-[WebPreferences applicationCacheTotalQuota]):
6560        (-[WebPreferences applicationCacheDefaultOriginQuota]):
6561
65622010-08-05  Gavin Barraclough  <barraclough@apple.com>
6563
6564        Rubber stamped by Sam Weinig
6565
6566        Bug 43594 - Add string forwards to Forward.h
6567        This allows us to remove forward declarations for these classes from
6568        WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
6569
6570        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6571        * Plugins/WebBaseNetscapePluginView.h:
6572        * WebCoreSupport/WebFrameLoaderClient.h:
6573        * WebCoreSupport/WebIconDatabaseClient.h:
6574        * WebCoreSupport/WebPluginHalterClient.h:
6575        * WebView/WebViewInternal.h:
6576
65772010-08-05  Jian Li  <jianli@chromium.org>
6578
6579        Reviewed by David Levin.
6580
6581        Unify blob related feature defines to ENABLE(BLOB).
6582        https://bugs.webkit.org/show_bug.cgi?id=43081
6583
6584        * Configurations/FeatureDefines.xcconfig:
6585
65862010-08-03  Joseph Pecoraro  <joepeck@webkit.org>
6587
6588        Reviewed by David Kilzer.
6589
6590        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
6591        https://bugs.webkit.org/show_bug.cgi?id=40627
6592
6593        Part 6 - LayoutTest and Cleanup
6594
6595        * WebCoreSupport/WebApplicationCache.h:
6596        * WebCoreSupport/WebApplicationCache.mm:
6597        (+[WebApplicationCache setMaximumSize:]): refactor out deleting the application caches.
6598        (+[WebApplicationCache deleteAllApplicationCaches]): delete application caches.
6599
66002010-08-03  Joseph Pecoraro  <joepeck@webkit.org>
6601
6602        Reviewed by David Kilzer.
6603
6604        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
6605        https://bugs.webkit.org/show_bug.cgi?id=40627
6606
6607        Part 5 - Refactor Quota Management in WebSecurityOrigin into Managers
6608
6609        Per-Origin quotas exist for Databases and Application Caches. Clients
6610        given a WebSecurityOrigin have the ability to set the quota for any
6611        per-origin quota type. This puts quota management into an interface
6612        and WebSecurityOrigin allows access to quota managers for the
6613        different types of quotas.
6614
6615        This also deprecates the old methods on WebSecurityOrigin. They are
6616        left in for now to prevent breaking older clients.
6617
6618          The WebQuotaManager interface allows querying and modifying a
6619          per-origin quota. This is implemented for both Databases and
6620          Application Caches.
6621
6622        * Misc/WebQuotaManager.h: Added. Interface for quota management (usage, quota, setQuota).
6623        * Storage/WebDatabaseQuotaManager.h: Added.
6624        * Storage/WebDatabaseQuotaManager.mm: Added.
6625        (-[WebDatabaseQuotaManager origin]):
6626        (-[WebDatabaseQuotaManager usage]):
6627        (-[WebDatabaseQuotaManager quota]):
6628        (-[WebDatabaseQuotaManager setQuota:]):
6629        * Storage/WebDatabaseSecurityOrigin.h: Removed.
6630        * Storage/WebDatabaseSecurityOrigin.mm: Removed.
6631        * WebCoreSupport/WebApplicationCacheQuotaManager.h: Added.
6632        * WebCoreSupport/WebApplicationCacheQuotaManager.mm: Added.
6633        (-[WebApplicationCacheQuotaManager origin]):
6634        (-[WebApplicationCacheQuotaManager usage]):
6635        (-[WebApplicationCacheQuotaManager quota]):
6636        (-[WebApplicationCacheQuotaManager setQuota:]):
6637        * WebCoreSupport/WebSecurityOriginPrivate.h: Added a category to access managers. Deprecated old methods.
6638
6639          Remove the WebSecurityOrigin sub-classes. Managers are better.
6640
6641        * WebCoreSupport/WebApplicationCacheSecurityOrigin.h: Removed.
6642        * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: Removed.
6643
6644          Create the managers lazily. Change old style calls to make use
6645          of the managers.
6646
6647        * WebCoreSupport/WebChromeClient.mm:
6648        (WebChromeClient::exceededDatabaseQuota):
6649        (WebChromeClient::reachedApplicationCacheOriginQuota):
6650        * WebCoreSupport/WebSecurityOrigin.mm:
6651        (-[WebSecurityOrigin applicationCacheQuotaManager]):
6652        (-[WebSecurityOrigin databaseQuotaManager]):
6653        (-[WebSecurityOrigin dealloc]): release the managers if they exist.
6654
66552010-08-03  Alex Milowski  <alex@milowski.com>
6656
6657        Reviewed by Beth Dakin.
6658
6659        Changed the ENABLE_MATHML value to enable MathML by default.
6660
6661        * Configurations/FeatureDefines.xcconfig:
6662
66632010-08-02  Brady Eidson  <beidson@apple.com>
6664
6665        Reviewed by Anders Carlsson.
6666
6667        Add VisitedLinkStrategy for each platform to implement
6668        https://bugs.webkit.org/show_bug.cgi?id=43393
6669
6670        * WebCoreSupport/WebPlatformStrategies.h:
6671        * WebCoreSupport/WebPlatformStrategies.mm:
6672        (WebPlatformStrategies::createVisitedLinkStrategy):
6673        (WebPlatformStrategies::isLinkVisited): Call back into PageGroup's visited links.
6674        (WebPlatformStrategies::addVisitedLink): Ditto.
6675
66762010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
6677
6678        Reviewed by Darin Fisher.
6679
6680        PopupMenu refactoring in preparation to WebKit2
6681        https://bugs.webkit.org/show_bug.cgi?id=42592
6682
6683        As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
6684        instances, concrete classes that inherit from ChromeClient needed to be changed to
6685        implement the new methods.
6686
6687        * WebCoreSupport/WebChromeClient.h:
6688        * WebCoreSupport/WebChromeClient.mm:
6689        (WebChromeClient::selectItemWritingDirectionIsNatural):
6690        (WebChromeClient::createPopupMenu):
6691        (WebChromeClient::createSearchPopupMenu):
6692
66932010-08-02  Jeremy Orlow  <jorlow@chromium.org>
6694
6695        Speculative revert of 64425 due to Chromium instability
6696        https://bugs.webkit.org/show_bug.cgi?id=43347
6697
6698        * WebCoreSupport/WebChromeClient.h:
6699        * WebCoreSupport/WebChromeClient.mm:
6700
67012010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
6702
6703        Reviewed by Darin Fisher.
6704
6705        PopupMenu refactoring in preparation to WebKit2
6706        https://bugs.webkit.org/show_bug.cgi?id=42592
6707
6708        As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
6709        instances, concrete classes that inherit from ChromeClient needed to be changed to
6710        implement the new methods.
6711
6712        * WebCoreSupport/WebChromeClient.h:
6713        * WebCoreSupport/WebChromeClient.mm:
6714        (WebChromeClient::selectItemWritingDirectionIsNatural):
6715        (WebChromeClient::createPopupMenu):
6716        (WebChromeClient::createSearchPopupMenu):
6717
67182010-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
6719
6720        Unreviewed, rolling out r64422.
6721        http://trac.webkit.org/changeset/64422
6722        https://bugs.webkit.org/show_bug.cgi?id=43304
6723
6724        Build fixes are needed for Snow Leopard and Windows.
6725        (Requested by lca on #webkit).
6726
6727        * WebCoreSupport/WebChromeClient.h:
6728        * WebCoreSupport/WebChromeClient.mm:
6729
67302010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
6731
6732        Reviewed by Darin Fisher.
6733
6734        PopupMenu refactoring in preparation to WebKit2
6735        https://bugs.webkit.org/show_bug.cgi?id=42592
6736
6737        As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
6738        instances, concrete classes that inherit from ChromeClient needed to be changed to
6739        implement the new methods.
6740
6741        * WebCoreSupport/WebChromeClient.h:
6742        * WebCoreSupport/WebChromeClient.mm:
6743        (WebChromeClient::selectItemWritingDirectionIsNatural):
6744        (WebChromeClient::createPopupMenu):
6745        (WebChromeClient::createSearchPopupMenu):
6746
67472010-07-31  David Kilzer  <ddkilzer@apple.com>
6748
6749        <http://webkit.org/b/43300> Simplify variables in *.xcconfig files after adding iOS support
6750
6751        Reviewed by Darin Adler.
6752
6753        * Configurations/WebKit.xcconfig: Extracted
6754        PRODUCTION_FRAMEWORKS_DIR and PRODUCTION_ROOT variables.
6755
67562010-07-30  Dan Bernstein  <mitz@apple.com>
6757
6758        Reviewed by Darin Adler.
6759
6760        <rdar://problem/8257783> Short documents may print a second blank page
6761        https://bugs.webkit.org/show_bug.cgi?id=43271
6762
6763        * WebView/WebHTMLView.mm:
6764        (-[WebHTMLView _web_setPrintingModeRecursive]): Updated for additional height parameter
6765        to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
6766        (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto.
6767        (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto.
6768        (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]): Added height parameter,
6769        which is scaled and passed on to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
6770        (-[WebHTMLView _endPrintMode]): Updated for additional height parameter to
6771        _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
6772        (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]): Added
6773        height parameter, which is passed on to FrameView::forceLayoutForPagination().
6774        (-[WebHTMLView layout]): Updated for additional height parameter.
6775        (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:]): Added height
6776        parameter, which is passed on to -layoutToMinimumPageWidth:height:maximumPageWidth:adjustViewSize:.
6777        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Updated for additional height
6778        parameter.
6779        (-[WebHTMLView setPageWidthForPrinting:]): Ditto.
6780        (-[WebHTMLView knowsPageRange:]): Pass the available height on the page on to
6781        _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize.
6782        * WebView/WebHTMLViewPrivate.h:
6783
67842010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
6785
6786        Fix for tests that broke after r64400. Tracking a more
6787        ideal solution in https://bugs.webkit.org/show_bug.cgi?id=40627
6788
6789        Switch the interface back to (unsigned long long), and move
6790        the WebDatabaseSecurityOrigin implementation up into WebSecurityOrigin.
6791        The subclasses' implementations were not getting called.
6792
6793        * Storage/WebDatabaseSecurityOrigin.mm:
6794        * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm:
6795        (-[WebApplicationCacheSecurityOrigin quota]):
6796        (-[WebApplicationCacheSecurityOrigin setQuota:]):
6797        * WebCoreSupport/WebSecurityOrigin.mm:
6798        (-[WebSecurityOrigin usage]):
6799        (-[WebSecurityOrigin quota]):
6800        (-[WebSecurityOrigin setQuota:]):
6801        * WebCoreSupport/WebSecurityOriginPrivate.h:
6802
68032010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
6804
6805        Reviewed by David Kilzer.
6806
6807        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
6808        https://bugs.webkit.org/show_bug.cgi?id=40627
6809
6810        Part 4 - Client Notification when the Quota is Reached
6811
6812        Notify the WebKit client when the per-origin quota is reached
6813        via a delegate method reachedApplicationCacheOriginQuota.
6814
6815          Refactor the WebSecurityOrigin class to be generic enough to
6816          allow quota management of both Databases or Application Caches
6817          via subclasses.
6818
6819        * Storage/WebDatabaseSecurityOrigin.h: Added.
6820        * Storage/WebDatabaseSecurityOrigin.mm: Added.
6821        (-[WebDatabaseSecurityOrigin quota]):
6822        (-[WebDatabaseSecurityOrigin setQuota:]):
6823        * WebCoreSupport/WebApplicationCacheSecurityOrigin.h: Added.
6824        * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: Added.
6825        (-[WebApplicationCacheSecurityOrigin quota]):
6826        (-[WebApplicationCacheSecurityOrigin setQuota:]):
6827        * Storage/WebSecurityOrigin.mm: Removed. (Moved to WebCoreSupport)
6828        * Storage/WebSecurityOriginPrivate.h: Removed. (Moved to WebCoreSupport)
6829        * WebCoreSupport/WebSecurityOrigin.mm: Added.
6830        (-[WebSecurityOrigin usage]): to be implemented by subclasses.
6831        (-[WebSecurityOrigin quota]): to be implemented by subclasses.
6832        (-[WebSecurityOrigin setQuota:]): to be implemented by subclasses.
6833        * WebCoreSupport/WebSecurityOriginInternal.h: Renamed from WebKit/mac/Storage/WebSecurityOriginInternal.h.
6834        * WebCoreSupport/WebSecurityOriginPrivate.h: Added.
6835
6836          Turn the notification into a WebUI Delegate to call. Following
6837          the example of Databases.
6838
6839        * DefaultDelegates/WebDefaultUIDelegate.m:
6840        (-[WebDefaultUIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:]):
6841        * WebCoreSupport/WebChromeClient.h:
6842        * WebCoreSupport/WebChromeClient.mm:
6843        (WebChromeClient::exceededDatabaseQuota): use the Databases Security Origin subclass.
6844        (WebChromeClient::reachedApplicationCacheOriginQuota): use the Application Cache Security Origin subclass.
6845        * WebView/WebUIDelegatePrivate.h:
6846
68472010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
6848
6849        Reviewed by David Kilzer.
6850
6851        Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
6852        https://bugs.webkit.org/show_bug.cgi?id=40627
6853
6854        Part 1 - Add Total and Per-Origin Quota Preferences.
6855
6856        Allow the application cache total size to be a preference, and
6857        add a new preference for the default per-origin quota.
6858
6859          Storage quotas were int64_t (long long). Boilerplate for
6860          these types added for consistency.
6861
6862        * Misc/WebNSDictionaryExtras.h:
6863        * Misc/WebNSDictionaryExtras.m:
6864        (-[NSMutableDictionary _webkit_setLongLong:forKey:]):
6865        * WebCoreSupport/WebApplicationCache.h: setters and accessors for WebCore's cacheStorage.
6866        * WebCoreSupport/WebApplicationCache.mm:
6867        (+[WebApplicationCache maximumSize:]):
6868        (+[WebApplicationCache setMaximumSize:]):
6869        (+[WebApplicationCache defaultOriginQuota]):
6870        (+[WebApplicationCache setDefaultOriginQuota:]):
6871        * WebView/WebPreferenceKeysPrivate.h:
6872        * WebView/WebPreferences.mm:
6873        (+[WebPreferences initialize]): defaults to noQuota for both preferences.
6874        (-[WebPreferences _longLongValueForKey:]):
6875        (-[WebPreferences _setLongLongValue:forKey:]):
6876        (-[WebPreferences applicationCacheTotalQuota]):
6877        (-[WebPreferences setApplicationCacheTotalQuota:]):
6878        (-[WebPreferences applicationCacheDefaultOriginQuota]):
6879        (-[WebPreferences setApplicationCacheDefaultOriginQuota:]):
6880        * WebView/WebPreferencesPrivate.h:
6881        * WebView/WebView.mm:
6882        (-[WebView _preferencesChangedNotification:]): respect updates to the preferences.
6883
68842010-07-30  Andy Estes  <aestes@apple.com>
6885
6886        Reviewed by David Kilzer.
6887
6888        Add Xcode support for compiling WebKit against iOS SDKs.
6889        https://bugs.webkit.org/show_bug.cgi?id=42796
6890
6891        * Configurations/Base.xcconfig:
6892        * Configurations/DebugRelease.xcconfig:
6893        * Configurations/FeatureDefines.xcconfig:
6894        * Configurations/Version.xcconfig:
6895        * Configurations/WebKit.xcconfig:
6896
68972010-07-26  Steve Block  <steveblock@google.com>
6898
6899        Reviewed by Jeremy Orlow.
6900
6901        Page clients should be passed to Page constructor via structure of pointers
6902        https://bugs.webkit.org/show_bug.cgi?id=42834
6903
6904        * WebView/WebView.mm:
6905        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
6906
69072010-07-27  Kinuko Yasuda  <kinuko@chromium.org>
6908
6909        Reviewed by Ojan Vafai.
6910
6911        Add FILE_SYSTEM build flag for FileSystem API
6912        https://bugs.webkit.org/show_bug.cgi?id=42915
6913
6914        * Configurations/FeatureDefines.xcconfig:
6915
69162010-07-27  Steve Block  <steveblock@google.com>
6917
6918        Reviewed by Jeremy Orlow.
6919
6920        Client-based Geolocation does not pass enableHighAccuracy option to controller and client
6921        https://bugs.webkit.org/show_bug.cgi?id=40374
6922
6923        Stub out setEnableHighAccuracy method for the Mac port.
6924
6925        * WebCoreSupport/WebGeolocationControllerClient.h:
6926        (WebGeolocationControllerClient::setEnableHighAccuracy):
6927
69282010-07-22  Sam Weinig  <sam@webkit.org>
6929
6930        Reviewed by Maciej Stachowiak.
6931
6932        Fix for <rdar://problem/8222626>
6933        Send textDidChangeInTextField delegate callback only in response to typing or other forms of user text input.
6934
6935        The function name no longer perfectly matches the behavior, but I didn't want to break any existing clients. Maybe we
6936        should migrate to a new function name eventually
6937
6938        * WebCoreSupport/WebEditorClient.mm:
6939        (WebEditorClient::textDidChangeInTextField):
6940
69412010-07-22  Sam Weinig  <sam@webkit.org>
6942
6943        Reviewed by Anders Carlsson.
6944
6945        Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
6946        Add localized strings stubs for WebKit2.
6947
6948        - Convert WebKit (mac) to use a LocalizationStrategy rather than the WebCoreViewFactory
6949          for localized strings.
6950
6951        Gets us below 200 tests failing in WebKitTestRunner.
6952
6953        * WebCoreSupport/WebContextMenuClient.mm:
6954        (fixMenusReceivedFromOldClients): Use LocalizedStrings rather than the factory.
6955        * WebCoreSupport/WebPlatformStrategies.h:
6956        * WebCoreSupport/WebPlatformStrategies.mm:
6957        * WebCoreSupport/WebViewFactory.mm:
6958
69592010-07-21  Brady Eidson  <beidson@apple.com>
6960
6961        Reviewed by Geoffrey Garen.
6962
6963        Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
6964        https://bugs.webkit.org/show_bug.cgi?id=42783
6965
6966        * WebView/WebView.mm:
6967        (+[WebView _registerURLSchemeAsSecure:]):
6968        (+[WebView registerURLSchemeAsLocal:]):
6969
69702010-07-21  Simon Fraser  <simon.fraser@apple.com>
6971
6972        Reviewed by Anders Carlsson.
6973
6974        Composited layers don't scroll in WebKit2
6975        https://bugs.webkit.org/show_bug.cgi?id=42771
6976
6977        Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
6978        but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
6979        scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().
6980
6981        * WebView/WebHTMLView.mm:
6982        (-[WebHTMLView _frameOrBoundsChanged]):
6983
69842010-07-21  Eric Carlson  <eric.carlson@apple.com>
6985
6986        Reviewed by Simon Fraser.
6987
6988        Update plug-in proxy backed <video> and <audio> elements.
6989        https://bugs.webkit.org/show_bug.cgi?id=42770
6990        <rdar://problem/7963467>
6991
6992        * Plugins/WebPluginController.h:
6993        * Plugins/WebPluginController.mm:
6994        (-[WebPluginController dealloc]): Release _viewsNotInDocument.
6995        (-[WebPluginController stopAllPlugins]): Stop plug-ins not in the document.
6996        (-[WebPluginController pluginViewCreated:]): New, add a View (plug-in) to _viewsNotInDocument.
6997        (+[WebPluginController pluginViewHidden:]): New, remove the view (plug-in) from pluginViews.
6998        (-[WebPluginController addPlugin:]): Remove the new plug-in from _viewsNotInDocument.
6999
7000        * WebCoreSupport/WebFrameLoaderClient.h:
7001        * WebCoreSupport/WebFrameLoaderClient.mm:
7002        (WebFrameLoaderClient::createPlugin): Remove PLUGIN_PROXY_FOR_VIDEO code, the media
7003        player proxy plug-in should never be allocated by this method.
7004        (WebFrameLoaderClient::createMediaPlayerProxyPlugin): New, allocate a media player proxy.
7005
7006        * WebView/WebView.mm:
7007        (-[WebView _videoProxyPluginForMIMEType:]): New. Identical to _pluginForMIMEType except it doesn't
7008        consider the arePlugInsEnabled preference.
7009        * WebView/WebViewInternal.h:
7010
7011
70122010-07-19  Chris Marrin  <cmarrin@apple.com>
7013
7014        Reviewed by Darin Adler.
7015
7016        https://bugs.webkit.org/show_bug.cgi?id=42118
7017        Disable WebGL on Leopard for now.
7018
7019        LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
7020        GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
7021        SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
7022        software OpenGL driver on machines without this support.
7023
7024        * Configurations/FeatureDefines.xcconfig:
7025
70262010-07-18  Anders Carlsson  <andersca@apple.com>
7027
7028        Reviewed by Sam Weinig.
7029
7030        Move PluginWidget to WebKit
7031        https://bugs.webkit.org/show_bug.cgi?id=42530
7032
7033        * Plugins/WebBaseNetscapePluginView.h:
7034        * Plugins/WebBaseNetscapePluginView.mm:
7035        (-[WebBaseNetscapePluginView pluginLayer]):
7036        Add default pluginLayer implementation.
7037
7038        * WebCoreSupport/WebFrameLoaderClient.mm:
7039        (PluginWidget::PluginWidget):
7040        (PluginWidget::invalidateRect):
7041        Move the guts of PluginWidget here from WebCore.
7042
7043        (NetscapePluginWidget::platformLayer):
7044        Get the layer from the plug-in view.
7045
70462010-07-18  David Kilzer  <ddkilzer@apple.com>
7047
7048        <http://webkit.org/b/42522> Add missing (id) return type to Obj-C methods
7049
7050        Reviewed by Dan Bernstein.
7051
7052        * Carbon/CarbonWindowAdapter.mm:
7053        (-[NSWindow(HIWebFrameView) _initContent:styleMask:backing:defer:contentView:]):
7054        (-[CarbonWindowAdapter _destroyRealWindow:]):
7055        (-[CarbonWindowAdapter _clearModalWindowLevel]):
7056        * Misc/WebIconDatabase.mm:
7057        (-[WebIconDatabase init]):
7058        * Misc/WebNSPasteboardExtras.mm:
7059        (-[NSFilePromiseDragSource initWithSource:]):
7060        * WebView/WebHTMLRepresentation.mm:
7061        (-[WebHTMLRepresentation init]):
7062        * WebView/WebPreferences.mm:
7063        (-[WebPreferences init]):
7064        * WebView/WebView.mm:
7065        (-[WebView UIDelegate]):
7066        (-[WebView resourceLoadDelegate]):
7067        (-[WebView downloadDelegate]):
7068        (-[WebView policyDelegate]):
7069        (-[WebView frameLoadDelegate]):
7070
70712010-07-16  Zhe Su  <suzhe@chromium.org>
7072
7073        Reviewed by Darin Adler.
7074
7075        REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
7076        https://bugs.webkit.org/show_bug.cgi?id=42253
7077
7078        Dummy implementation of EditorClient::willSetInputMethodState.
7079
7080        * WebCoreSupport/WebEditorClient.h:
7081        * WebCoreSupport/WebEditorClient.mm:
7082        (WebEditorClient::willSetInputMethodState):
7083
70842010-07-16  Dan Bernstein  <mitz@apple.com>
7085
7086        Reviewed by Sam Weinig.
7087
7088        Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
7089        https://bugs.webkit.org/show_bug.cgi?id=29355
7090
7091        * Misc/WebKitNSStringExtras.h:
7092        * Misc/WebKitNSStringExtras.mm:
7093        (-[NSString _web_drawAtPoint:font:textColor:]): Now calls through to
7094        -_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing YES for the last
7095        parameter.
7096        (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Added
7097        allowingFontSmoothing:. If font smoothing is not allowed, sets the font smoothing
7098        mode to antialiased. Otherwise, sets it to auto.
7099        (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]): Instead of
7100        changing the font smoothing setting in the graphics context, call
7101        -_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing NO for the last
7102        parameter.
7103
71042010-07-16  Anders Carlsson  <andersca@apple.com>
7105
7106        Reviewed by Sam Weinig.
7107
7108        Remove semicolons from Objective-C method declarations.
7109
7110        * WebView/WebRenderLayer.mm:
7111        (+[WebRenderLayer nameForLayer:]):
7112        (+[WebRenderLayer compositingInfoForLayer:]):
7113
71142010-07-16  Mikhail Naganov  <mnaganov@chromium.org>
7115
7116        Reviewed by Pavel Feldman.
7117
7118        Make JS memory stats available via 'Performance' object (Web Timing).
7119        This statistics is populated only if 'WebKitMemoryInfoEnabled'
7120        preference is set.
7121
7122        'console.memory' is kept until Web Timing object becomes visible by
7123        default (currently it is hidden under compile-time flag).  These stats
7124        are guarded with the same preference.
7125
7126        https://bugs.webkit.org/show_bug.cgi?id=41617
7127
7128        * WebKit.order:
7129        * WebView/WebPreferenceKeysPrivate.h:
7130        * WebView/WebPreferences.mm:
7131        (+[WebPreferences initialize]):
7132        (-[WebPreferences memoryInfoEnabled]):
7133        (-[WebPreferences setMemoryInfoEnabled:]):
7134        * WebView/WebPreferencesPrivate.h:
7135        * WebView/WebView.mm:
7136        (-[WebView _preferencesChangedNotification:]):
7137
71382010-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
7139
7140        Reviewed by Darin Adler.
7141
7142        Printing test results differ between machines, we should use ImageDiff instead
7143        https://bugs.webkit.org/show_bug.cgi?id=20011
7144
7145        * Misc/WebCoreStatistics.h:
7146        * Misc/WebCoreStatistics.mm:
7147        (-[WebFrame printToCGContext:cgContext:pageWidthInPixels:]):
7148
71492010-07-15  Daniel Bates  <dbates@rim.com>
7150
7151        Reviewed by Darin Adler.
7152
7153        [Mac] Implement LayoutTestController::markerTextForListItem()
7154        https://bugs.webkit.org/show_bug.cgi?id=37929
7155
7156        Implements support for markerTextForListItem in the Mac port.
7157
7158        * DOM/WebDOMOperations.mm:
7159        (+[DOMElement _DOMElementFromJSContext]): Added.
7160        (-[DOMElement _markerTextForListItem]): Added.
7161        * DOM/WebDOMOperationsPrivate.h:
7162
71632010-07-14  Simon Fraser  <simon.fraser@apple.com>
7164
7165        Fix non-ACCELERATED_COMPOSITING build.
7166
7167        * WebView/WebRenderLayer.mm:
7168        (+[WebRenderLayer compositingInfoForLayer:]):
7169
71702010-07-14  Simon Fraser  <simon.fraser@apple.com>
7171
7172        Reviewed by John Sullivan.
7173
7174        <rdar://problem/8186963> Expose information about compositing layers.
7175
7176        Use RenderLayerBacking::compositingLayerType() to add more information about compositing to
7177        WebRenderLayer, via a compositingInfo property. Also show element classnames.
7178
7179        Also add separator items between the various z-order lists.
7180
7181        * WebView/WebRenderLayer.h:
7182        * WebView/WebRenderLayer.mm:
7183        (+[WebRenderLayer nameForLayer:]):
7184        (+[WebRenderLayer compositingInfoForLayer:]):
7185        (-[WebRenderLayer initWithRenderLayer:]):
7186        (-[WebRenderLayer initWithName:]):
7187        (-[WebRenderLayer initWithWebFrame:]):
7188        (-[WebRenderLayer dealloc]):
7189        (-[WebRenderLayer buildDescendantLayers:]):
7190        (-[WebRenderLayer compositingInfo]):
7191        (-[WebRenderLayer isComposited]):
7192        (-[WebRenderLayer isSeparator]):
7193
71942010-07-14  Darin Adler  <darin@apple.com>
7195
7196        Another try at fixing the Tiger build.
7197
7198        Avoid non-ASCII in source files to keep Tiger compiler happy.
7199
7200        * WebView/WebRenderLayer.mm:
7201        (+[WebRenderLayer nameForLayer:]): Use %C for the non-ASCII characters.
7202
72032010-07-14  Sam Weinig  <sam@webkit.org>
7204
7205        Reviewed by Darin Adler.
7206
7207        Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
7208        Make changing Cursors work in WebKit2.
7209
7210        * WebCoreSupport/WebChromeClient.h:
7211        * WebCoreSupport/WebChromeClient.mm:
7212        (WebChromeClient::setCursor):
7213        * WebView/WebView.mm:
7214        Implement cursor changing at the WebKit level for the sake of WebKit2.
7215        This functionality is being moved from WidgetMac.mm.
7216        (+[WebView _pointingHandCursor]):
7217        Update to use platformCursor() instead of impl().
7218
72192010-07-13  Simon Fraser  <simon.fraser@apple.com>
7220
7221        Fix Tiger build.
7222
7223        Avoid non-ASCII in souce files to keep Tiger compiler happy.
7224
7225        * WebView/WebRenderLayer.mm:
7226        (+[WebRenderLayer nameForLayer:]):
7227
72282010-07-13  Simon Fraser  <simon.fraser@apple.com>
7229
7230        Reviewed by Dan Bernstein.
7231
7232        <rdar://problem/8186963> Expose RenderLayer hierarchy via Obj-C for debugging.
7233
7234        Add a WebRenderLayer class that reflects the RenderLayer tree into a hierarchy
7235        of Objective-C objects suitable for display in an outline view.
7236
7237        * WebKit.exp: Export the WebRenderLayer Objective-C class.
7238        * WebView/WebRenderLayer.h: Added.
7239        * WebView/WebRenderLayer.mm: Added.
7240
72412010-07-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
7242
7243        Reviewed by Darin Adler.
7244
7245        Prevent assertion/duplicate loads for non-deferred subtitute-data loads
7246
7247        https://bugs.webkit.org/show_bug.cgi?id=30879
7248
7249        MainResourceLoader uses the member m_initialRequest to store requests for future
7250        deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
7251        have to clear this request so that subsequent entries into the loader will not
7252        start yet another load.
7253
7254        This can happen as a result of a PageGroupLoadDeferrer going out of scope when
7255        returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
7256        but only in the case of using both substitute-data and non-deferred main resource
7257        load together. That's why two new DRT functions were added:
7258
7259         * queueLoadHTMLString()
7260         * setDeferMainResourceLoad()
7261
7262        The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
7263        and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
7264        added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.
7265
7266        * WebView/WebDataSource.mm:
7267        (-[WebDataSource _setDeferMainResourceDataLoad:]):
7268        * WebView/WebDataSourcePrivate.h:
7269
72702010-07-13  Philippe Normand  <pnormand@igalia.com>
7271
7272        Rubber-stamped by Xan Lopez.
7273
7274        Updated the copyright headers of the files modified in r62476.
7275
7276        * WebView/WebView.mm:
7277        * WebView/WebViewData.h:
7278        * WebView/WebViewInternal.h:
7279
72802010-07-09  Alexey Proskuryakov  <ap@apple.com>
7281
7282        Reviewed by Darin Adler.
7283
7284        https://bugs.webkit.org/show_bug.cgi?id=13075
7285        XMLHttpRequest with failed authentication should set status to 401
7286
7287        https://bugs.webkit.org/show_bug.cgi?id=6871
7288        <rdar://problem/3363403> 401 error page is never shown
7289
7290        * Panels/WebPanelAuthenticationHandler.m:
7291        (-[WebPanelAuthenticationHandler startAuthentication:window:]): Updated a comment - this
7292        code cancels loading, not authentication (canceling authentication means telling to
7293        continue without credentials).
7294        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): If there were
7295        no credentials provided, tell to continue without any. There may be alternative content
7296        returned with 401.
7297
72982010-07-09  Leon Clarke  <leonclarke@google.com>
7299
7300        Reviewed by Adam Barth.
7301
7302        add support for link prefetching
7303        https://bugs.webkit.org/show_bug.cgi?id=3652
7304
7305        * Configurations/FeatureDefines.xcconfig:
7306
73072010-07-08  Aaron Boodman  <aa@chromium.org>
7308
7309        Reviewed by Timothy Hatcher.
7310
7311        Add the ability for user scripts and user styles to affect just the top frame.
7312
7313        https://bugs.webkit.org/show_bug.cgi?id=41529
7314
7315        * WebView/WebView.mm:
7316        (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
7317        (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
7318        (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
7319        (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
7320        * WebView/WebViewPrivate.h:
7321
73222010-07-08  Adele Peterson  <adele@apple.com>
7323
7324        Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.
7325
7326        Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
7327        <rdar://problem/8158561> Missing plug-in indicator should have a pressed state
7328
7329        Implement shouldMissingPluginMessageBeButton.
7330
7331        * WebCoreSupport/WebChromeClient.h:
7332        * WebCoreSupport/WebChromeClient.mm:
7333        (WebChromeClient::shouldMissingPluginMessageBeButton):
7334
73352010-07-08  Brady Eidson  <beidson@apple.com>
7336
7337        Reviewed by Tim Hatcher.
7338
7339        <rdar://problem/8136327> - Crash in Entourage calling WebCache method from background thread
7340
7341        * Misc/WebCache.mm:
7342        (+[WebCache setDisabled:]): Forward the call to the main thread if called from a background thread.
7343
7344        * Misc/WebNSObjectExtras.h:
7345        * Misc/WebNSObjectExtras.mm:
7346        (+[NSObject _webkit_invokeOnMainThread]): Add a class version of the main thread invoker.
7347
73482010-07-08  Mike Thole  <mthole@apple.com>
7349
7350        Reviewed by Darin Adler.
7351
7352        Patch for https://bugs.webkit.org/show_bug.cgi?id=41896
7353        Crash under allScriptsInPDFDocument() in WebPDFDocumentExtras.mm for certain PDFs
7354
7355        * WebView/WebPDFDocumentExtras.mm:
7356        (allScriptsInPDFDocument): Null-check 'data', as CGPDFStreamCopyData() may have returned 0.
7357
73582010-07-08  Sam Weinig  <sam@webkit.org>
7359
7360        Reviewed by Anders Carlsson.
7361
7362        Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
7363        Convert BackForwardList to an abstract base class and add BackForwardListImpl
7364        as the concrete implementation of it.
7365
7366        * History/WebBackForwardList.mm:
7367        (-[WebBackForwardList init]):
7368        (-[WebBackForwardList setPageCacheSize:]):
7369        (-[WebBackForwardList pageCacheSize]):
7370
73712010-07-07  Sam Weinig  <sam@webkit.org>
7372
7373        Reviewed by Anders Carlsson.
7374
7375        Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
7376        Add basic piping for BackForwardControllerClient.
7377
7378        * WebView/WebView.mm:
7379        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
7380
73812010-07-07  Anders Carlsson  <andersca@apple.com>
7382
7383        Reviewed by Sam Weinig.
7384
7385        Change requestURL to a KURL.
7386        https://bugs.webkit.org/show_bug.cgi?id=41775
7387
7388        * Plugins/WebNetscapePluginStream.h:
7389        (WebNetscapePluginStream::setRequestURL):
7390        * Plugins/WebNetscapePluginStream.mm:
7391        (WebNetscapePluginStream::pluginCancelledConnectionError):
7392        (WebNetscapePluginStream::errorForReason):
7393        (WebNetscapePluginStream::startStream):
7394        (WebNetscapePluginStream::didReceiveResponse):
7395        (WebNetscapePluginStream::destroyStream):
7396
73972010-07-07  Anders Carlsson  <andersca@apple.com>
7398
7399        Reviewed by Sam Weinig.
7400
7401        Rename the WebBaseNetscapePluginStream.cpp and .h files to WebNetscapePluginStream.cpp and .h to match the class name.
7402
7403        * Plugins/WebNetscapePluginStream.h: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.h.
7404        * Plugins/WebNetscapePluginStream.mm: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.mm.
7405
74062010-07-06  Steve Falkenburg  <sfalken@apple.com>
7407
7408        Reviewed by Simon Fraser.
7409
7410        Expose URL matching from WebUserContentURLPattern
7411        https://bugs.webkit.org/show_bug.cgi?id=41726
7412        <rdar://problem/7910144>
7413
7414        We previously had a way to construct WebUserContentURLPattern
7415        instances via WebKit, but no way for callers to perform matching.
7416        This patch adds the matchesURL functionality to allow for this.
7417
7418        * Misc/WebUserContentURLPattern.h: Added matchesURL.
7419        * Misc/WebUserContentURLPattern.mm:
7420        (-[WebUserContentURLPattern matchesURL:]): Added. Calls through to WebCore::UserContentURLPattern::matches.
7421
74222010-06-23  Philippe Normand  <pnormand@igalia.com>
7423
7424        Reviewed by Eric Carlson.
7425
7426        [GStreamer] on Mac OS use a runloop observer to process the glib context iterations
7427        https://bugs.webkit.org/show_bug.cgi?id=35747
7428
7429        If VIDEO and GSTREAMER are enabled, make the WebView start a
7430        runloop observer that will trigger the glib main context
7431        iterations. Those are needed by the GStreamer player only at the
7432        moment but could later be used for other GLib-dependant components
7433        if required.
7434
7435        * WebView/WebView.mm:
7436        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
7437        (-[WebView _close]):
7438        (-[WebView _clearGlibLoopObserver]):
7439        (glibContextIterationCallback):
7440        (-[WebView _scheduleGlibContextIterations]):
7441        * WebView/WebViewData.h:
7442        * WebView/WebViewInternal.h:
7443
74442010-07-03  Jon Honeycutt  <jhoneycutt@apple.com>
7445
7446        The missing plug-in indicator should be clickable
7447
7448        https://bugs.webkit.org/show_bug.cgi?id=41550
7449        <rdar://problem/8132162>
7450
7451        From an original patch by Kevin Decker.
7452
7453        Reviewed by Darin Adler.
7454
7455        * WebCoreSupport/WebChromeClient.h:
7456        Declare an override of missingPluginButtonClicked().
7457
7458        * WebCoreSupport/WebChromeClient.mm:
7459        (WebChromeClient::missingPluginButtonClicked):
7460        Call the UIDelegate's method.
7461
7462        * WebView/WebUIDelegatePrivate.h:
7463        Declare didPressMissingPluginButton.
7464
74652010-07-01  Timothy Hatcher  <timothy@apple.com>
7466
7467        Provide a WebView preference to disable DNS prefetching.
7468
7469        https://bugs.webkit.org/show_bug.cgi?id=28825
7470        rdar://problem/7181249
7471
7472        Reviewed by Darin Adler.
7473
7474        * WebView/WebPreferenceKeysPrivate.h: Added WebKitDNSPrefetchingEnabledPreferenceKey.
7475        * WebView/WebPreferences.mm:
7476        (+[WebPreferences initialize]): Set WebKitDNSPrefetchingEnabledPreferenceKey to YES.
7477        (-[WebPreferences isDNSPrefetchingEnabled]): Added. Return WebKitDNSPrefetchingEnabledPreferenceKey's value.
7478        (-[WebPreferences setDNSPrefetchingEnabled:]): Added. Set WebKitDNSPrefetchingEnabledPreferenceKey's value.
7479        * WebView/WebPreferencesPrivate.h: Added isDNSPrefetchingEnabled and setDNSPrefetchingEnabled:.
7480        * WebView/WebView.mm:
7481        (-[WebView _preferencesChangedNotification:]): Call WebCore::Settings::setDNSPrefetchingEnabled.
7482
74832010-07-01  Alexey Proskuryakov  <ap@apple.com>
7484
7485        Reviewed by Anders Carlsson.
7486
7487        <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
7488        REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction
7489
7490        Strengthen m_inDestroy "swipe under the carpet" fix.
7491
7492        * Plugins/Hosted/NetscapePluginInstanceProxy.h: Added a long comment about m_inDestroy, and
7493        changed it to static.
7494
7495        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7496        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): m_inDestroy is now
7497        static, so we don't initialize it in constructor.
7498        (WebKit::NetscapePluginInstanceProxy::destroy): Assert that we aren't already destroying
7499        some plug-in.
7500        (WebKit::NetscapePluginInstanceProxy::evaluate): This function accidentally lacked an
7501        m_inDestroy check in r42789.
7502
75032010-06-29  Zoltan Herczeg  <zherczeg@webkit.org>
7504
7505        Reviewed by Nikolas Zimmermann.
7506
7507        Add ConvolveMatrixElement to MigrateHeaders.make
7508        https://bugs.webkit.org/show_bug.cgi?id=5861
7509
7510        * MigrateHeaders.make:
7511
75122010-06-23  John Gregg  <johnnyg@google.com>
7513
7514        Reviewed by Kent Tamura.
7515
7516        add ENABLE_DIRECTORY_UPLOAD build support
7517        https://bugs.webkit.org/show_bug.cgi?id=41100
7518
7519        * Configurations/FeatureDefines.xcconfig:
7520
75212010-06-28  Eric Seidel  <eric@webkit.org>
7522
7523        Reviewed by Adam Barth.
7524
7525        Make it possible to test the new HTML5 TreeBuilder
7526        https://bugs.webkit.org/show_bug.cgi?id=41276
7527
7528        Adam was concerned that someone might make their port
7529        depend on this setting (I guess we had some trouble with that
7530        with the HTML5Parser setting), so I littered the code with warnings.
7531
7532        test-html5-parser now tests this code path.
7533
7534        * WebView/WebPreferenceKeysPrivate.h:
7535        * WebView/WebPreferences.mm:
7536        (+[WebPreferences initialize]):
7537        (-[WebPreferences html5TreeBuilderEnabled]):
7538        (-[WebPreferences setHTML5TreeBuilderEnabled:]):
7539        * WebView/WebPreferencesPrivate.h:
7540        * WebView/WebView.mm:
7541        (-[WebView _preferencesChangedNotification:]):
7542
75432010-06-25  Yuzo Fujishima  <yuzo@google.com>
7544
7545        Reviewed by Shinichiro Hamaji.
7546
7547        Improve default value handling for page format properties.
7548        https://bugs.webkit.org/show_bug.cgi?id=41150
7549
7550        * Misc/WebCoreStatistics.h:
7551        * Misc/WebCoreStatistics.mm:
7552        (-[WebFrame pageSizeAndMarginsInPixels:pageNumber:width:height:marginTop:marginRight:marginBottom:]):
7553
75542010-06-26  Tony Gentilcore  <tonyg@chromium.org>
7555
7556        Reviewed by Dimitri Glazkov.
7557
7558        Add an ENABLE_WEB_TIMING option for enabling Web Timing support.
7559        https://bugs.webkit.org/show_bug.cgi?id=38924
7560
7561        * Configurations/FeatureDefines.xcconfig:
7562
75632010-06-24  Jer Noble  <jer.noble@apple.com>
7564
7565        Reviewed by Eric Carlson.
7566
7567        Full-screened content doesn't keep the display on: Safari not grabbing a power assertion?
7568        https://bugs.webkit.org/show_bug.cgi?id=40939
7569        rdar://problem/7996172
7570
7571        Take a IOKit power assertion when playing video in fullscreen mode.  Release the
7572        assertion when paused in fullscreen mode, and when exiting fullscreen mode.
7573
7574        * WebView/WebVideoFullscreenController.h:
7575        * WebView/WebVideoFullscreenController.mm:
7576        (-[WebVideoFullscreenController windowDidExitFullscreen]): Call updatePowerAssertions.
7577        (-[WebVideoFullscreenController windowDidEnterFullscreen]): Call updatePowerAssertions.
7578        (-[WebVideoFullscreenController _disableIdleDisplaySleep]):
7579        (-[WebVideoFullscreenController _enableIdleDisplaySleep]):
7580        (-[WebVideoFullscreenController _disableIdleSystemSleep]):
7581        (-[WebVideoFullscreenController _enableIdleSystemSleep]):
7582        (-[WebVideoFullscreenController updatePowerAssertions]): Call _(enable|disable)Idle(System|Display)sleep depending on current playback rate and fullscreen status.
7583        (-[WebVideoFullscreenController rateChanged:]): Call updatePowerAssertions.
7584
75852010-06-24  Jer Noble  <jer.noble@apple.com>
7586
7587        Reviewed by Darin Adler.
7588
7589        Playing movie full screen on second monitor hides menu bar and title bar on main monitor
7590        https://bugs.webkit.org/show_bug.cgi?id=40933
7591        rdar://problem/7858452
7592
7593        Remove all references to GetSystemUIMode and SetSystemUIMode.  Replace these calls with
7594        [NSApplication setPresentationOptions:].  Do not auto-hide the menu bar if the fullscreen
7595        screen is does not contain the menu-bar.  Do not auto-hide the dock if the fullscreen screen
7596        is both not the menu-bar screen and not the dock screen.
7597
7598        * WebView/WebVideoFullscreenController.mm:
7599        (-[WebVideoFullscreenController windowDidLoad]): Register the applicationDidChangeScreenParameters: listener.
7600        (-[WebVideoFullscreenController windowDidExitFullscreen]): Calls updateMenuAndDockForFullscreen.
7601        (-[WebVideoFullscreenController windowDidEnterFullscreen]): Calls updateMenuAndDockForFullscreen.
7602        (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]):  New notification handler; catches NSApplicationDidChangeScreenParameters.
7603        (-[WebVideoFullscreenController updateMenuAndDockForFullscreen]): Hide/show the menu-bar and dock according to the fullscreen window's screen.
7604
76052010-06-24  Jer Noble  <jer.noble@apple.com>
7606
7607        Reviewed by Eric Carlson.
7608
7609        Full screen video in Safari exits full-screen if you switch to another app
7610        https://bugs.webkit.org/show_bug.cgi?id=40635
7611        rdar://problem/7885101
7612
7613        Implement the following rules for exiting full screen when switching apps:
7614        1. If the system has a single screen, switching apps will cause Safari to exit full-screen.
7615        2. Otherwise, if the full-screen screen is the "main screen" (the one with the title bar),
7616           switching apps will cause Safari to exit full-screen.
7617        3. Overriding rules 1 & 2, if the full-screen screen is not on the "current space",
7618           switching apps will NOT cause Safari to exit full-screen.
7619
7620        * WebView/WebVideoFullscreenController.mm:
7621        (-[WebVideoFullscreenController windowDidLoad]):
7622        (-[WebVideoFullscreenController applicationDidResignActive:]):
7623
76242010-06-24  Adele Peterson  <adele@apple.com>
7625
7626        Reviewed by Sam Weinig.
7627
7628        Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
7629        https://bugs.webkit.org/show_bug.cgi?id=41085
7630
7631        * WebView/WebHTMLView.mm: Use the WebCore command system for the pasteAsPlainText selector.
7632        Also remove internal methods that no one is using.
7633
76342010-06-24  Damian Kaleta  <dkaleta@apple.com>
7635
7636        Reviewed by Sam Weinig.
7637
7638        Added an ObjC wrapper to Node::renderRect(bool&).
7639
7640        * DOM/WebDOMOperations.mm:
7641        (-[DOMNode _renderRect:]):
7642        * DOM/WebDOMOperationsPrivate.h:
7643
76442010-06-24  Adele Peterson  <adele@apple.com>
7645
7646        Reviewed by Eric Carlson.
7647
7648        Fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
7649        https://bugs.webkit.org/show_bug.cgi?id=41085
7650
7651        * WebView/WebHTMLView.mm: (-[WebHTMLView pasteAsPlainText:]): Reuse code in WebCore
7652        which does everything done here and also fires paste events.
7653
76542010-06-23  Yuzo Fujishima  <yuzo@google.com>
7655
7656        Reviewed by Shinichiro Hamaji.
7657
7658        Implement page format data programming interface.
7659        Add methods for testing.
7660        https://bugs.webkit.org/show_bug.cgi?id=37538
7661
7662        * Misc/WebCoreStatistics.h:
7663        * Misc/WebCoreStatistics.mm:
7664        (-[WebFrame isPageBoxVisible:]):
7665        (-[WebFrame pageAreaRectInPixels:]):
7666        (-[WebFrame preferredPageSizeInPixels:]):
7667
76682010-06-22  Anders Carlsson  <andersca@apple.com>
7669
7670        Reviewed by Sam Weinig.
7671
7672        Get rid of more USE_LIBDISPATCH code.
7673
7674        * Plugins/Hosted/NetscapePluginHostProxy.h:
7675
76762010-06-22  Anders Carlsson  <andersca@apple.com>
7677
7678        Reviewed by Sam Weinig.
7679
7680        Get rid of the USE_LIBDISPATCH code.
7681
7682        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7683        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
7684        (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
7685
76862010-06-22  Anders Carlsson  <andersca@apple.com>
7687
7688        Reviewed by Sam Weinig.
7689
7690        Wean NetscapePluginHostManager of any knowledge about WebNetscapePluginPackage
7691        https://bugs.webkit.org/show_bug.cgi?id=41006
7692
7693        * Plugins/Hosted/NetscapePluginHostManager.h:
7694        * Plugins/Hosted/NetscapePluginHostManager.mm:
7695        (WebKit::NetscapePluginHostManager::hostForPlugin):
7696        (WebKit::NetscapePluginHostManager::spawnPluginHost):
7697        (WebKit::NetscapePluginHostManager::instantiatePlugin):
7698        (WebKit::NetscapePluginHostManager::createPropertyListFile):
7699        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
7700        (-[WebHostedNetscapePluginView createPlugin]):
7701        * Plugins/WebNetscapePluginPackage.mm:
7702        (-[WebNetscapePluginPackage createPropertyListFile]):
7703
77042010-06-21  Anders Carlsson  <andersca@apple.com>
7705
7706        Reviewed by Sam Weinig.
7707
7708        Fix an off-by-one bug I introduced.
7709
7710        * Plugins/WebNetscapePluginPackage.mm:
7711        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
7712
77132010-06-21  Nate Chapin  <japhet@chromium.org>
7714
7715        Reviewed by Adam Barth.
7716
7717        FrameLoader cleanup: Split high level subframe and plugin
7718        loading functions into a separate class.
7719        https://bugs.webkit.org/show_bug.cgi?id=40453
7720
7721        * WebView/WebFrame.mm:
7722        (-[WebFrame _cacheabilityDictionary]):
7723
77242010-06-21  Anders Carlsson  <andersca@apple.com>
7725
7726        Another Tiger build fix.
7727
7728        * Plugins/WebNetscapePluginPackage.mm:
7729        (-[WebNetscapePluginPackage _tryLoad]):
7730
77312010-06-21  Anders Carlsson  <andersca@apple.com>
7732
7733        Reviewed by Sam Weinig.
7734
7735        More WebBasePluginPackage cleanup
7736        https://bugs.webkit.org/show_bug.cgi?id=40944
7737
7738        * Plugins/Hosted/HostedNetscapePluginStream.mm:
7739        (WebKit::HostedNetscapePluginStream::pluginCancelledConnectionError):
7740        * Plugins/Hosted/NetscapePluginHostManager.mm:
7741        (WebKit::NetscapePluginHostManager::spawnPluginHost):
7742        * Plugins/WebBaseNetscapePluginStream.mm:
7743        (WebNetscapePluginStream::pluginCancelledConnectionError):
7744        * Plugins/WebBaseNetscapePluginView.mm:
7745        (WebHaltablePlugin::pluginName):
7746        * Plugins/WebBasePluginPackage.h:
7747        * Plugins/WebBasePluginPackage.mm:
7748        (-[WebBasePluginPackage initWithPath:]):
7749        (-[WebBasePluginPackage _objectForInfoDictionaryKey:]):
7750        (-[WebBasePluginPackage getPluginInfoFromPLists]):
7751        (-[WebBasePluginPackage load]):
7752        (-[WebBasePluginPackage dealloc]):
7753        (-[WebBasePluginPackage finalize]):
7754        (-[WebBasePluginPackage pluginInfo]):
7755        (-[WebBasePluginPackage supportsExtension:]):
7756        (-[WebBasePluginPackage supportsMIMEType:WebCore::]):
7757        (-[WebBasePluginPackage MIMETypeForExtension:]):
7758        (-[WebBasePluginPackage isJavaPlugIn]):
7759        (-[WebBasePluginPackage versionNumber]):
7760        (-[WebBasePluginPackage WebCore::]):
7761        * Plugins/WebNetscapePluginPackage.mm:
7762        (-[WebNetscapePluginPackage openResourceFile]):
7763        (-[WebNetscapePluginPackage closeResourceFile:]):
7764        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
7765        (-[WebNetscapePluginPackage _initWithPath:]):
7766        (-[WebNetscapePluginPackage _applyDjVuWorkaround]):
7767        (-[WebNetscapePluginPackage _tryLoad]):
7768        (-[WebNetscapePluginPackage supportsSnapshotting]):
7769        (-[WebNetscapePluginPackage _unloadWithShutdown:]):
7770        * Plugins/WebPluginDatabase.mm:
7771        (-[WebPluginDatabase refresh]):
7772        (-[WebPluginDatabase _removePlugin:]):
7773        * Plugins/WebPluginPackage.mm:
7774        (-[WebPluginPackage initWithPath:]):
7775        (-[WebPluginPackage load]):
7776        * WebCoreSupport/WebFrameLoaderClient.mm:
7777        (WebFrameLoaderClient::createPlugin):
7778        * WebCoreSupport/WebPlatformStrategies.mm:
7779        (WebPlatformStrategies::getPluginInfo):
7780
77812010-06-21  Anders Carlsson  <andersca@apple.com>
7782
7783        Another PowerPC build fix.
7784
7785        * Plugins/WebNetscapePluginPackage.mm:
7786        (-[WebNetscapePluginPackage openResourceFile]):
7787        (-[WebNetscapePluginPackage _tryLoad]):
7788
77892010-06-21  Anders Carlsson  <andersca@apple.com>
7790
7791        Try to fix the PowerPC build.
7792
7793        * Plugins/WebNetscapePluginPackage.mm:
7794        (-[WebNetscapePluginPackage _tryLoad]):
7795
77962010-06-21  Nate Chapin  <japhet@chromium.org>
7797
7798        Reviewed by Adam Barth.
7799
7800        Update relevant calls into FrameLoader to make use of
7801        FrameLoaderStateMachine.
7802        https://bugs.webkit.org/show_bug.cgi?id=39695
7803
7804        * WebCoreSupport/WebFrameLoaderClient.mm:
7805        (WebFrameLoaderClient::transitionToCommittedForNewPage):
7806        * WebView/WebFrame.mm:
7807        (-[WebFrame _firstLayoutDone]):
7808
78092010-06-21  Dimitri Glazkov  <dglazkov@chromium.org>
7810
7811        Reviewed by Dan Bernstein.
7812
7813        Chromium/Mac build fix.
7814
7815        * WebCoreSupport/WebSystemInterface.mm: Change the order of wtf/Platform.h include to let other
7816            headers smell it.
7817
78182010-06-21  Anders Carlsson  <andersca@apple.com>
7819
7820        Reviewed by Dan Bernstein.
7821
7822        Make all of WebKit build with clang++
7823
7824        * DefaultDelegates/WebDefaultPolicyDelegate.m:
7825        (-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
7826        * Plugins/Hosted/NetscapePluginHostManager.mm:
7827        * Plugins/WebBaseNetscapePluginView.mm:
7828        (-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]):
7829        * WebView/WebDynamicScrollBarsView.mm:
7830        (-[WebDynamicScrollBarsView setSuppressLayout:]):
7831        * WebView/WebHTMLRepresentation.mm:
7832        * WebView/WebNavigationData.mm:
7833        (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
7834        * WebView/WebPDFRepresentation.mm:
7835        (-[WebPDFRepresentation setDataSource:]):
7836        (-[WebPDFRepresentation receivedData:withDataSource:]):
7837        (-[WebPDFRepresentation receivedError:withDataSource:]):
7838        * WebView/WebResource.mm:
7839        (-[WebResource description]):
7840        * WebView/WebSerializedJSValue.mm:
7841        (-[WebSerializedJSValue initWithValue:context:exception:]):
7842        * WebView/WebVideoFullscreenController.mm:
7843        (-[WebVideoFullscreenController WebCore::]):
7844        (-[WebVideoFullscreenController setMediaElement:WebCore::]):
7845        (-[WebVideoFullscreenController setDelegate:]):
7846        (-[WebVideoFullscreenController enterFullscreen:]):
7847        * WebView/WebView.mm:
7848        (-[WebView _openFrameInNewWindowFromMenu:]):
7849        (-[WebView _geolocationDidChangePosition:]):
7850
78512010-06-21  Anders Carlsson  <andersca@apple.com>
7852
7853        Reviewed by Sam Weinig.
7854
7855        Remove unused dictionary ivars from WebBasePluginPackage
7856        https://bugs.webkit.org/show_bug.cgi?id=40928
7857
7858        * Plugins/WebBasePluginPackage.h:
7859        * Plugins/WebBasePluginPackage.mm:
7860        (-[WebBasePluginPackage getPluginInfoFromPLists]):
7861        (-[WebBasePluginPackage dealloc]):
7862        * Plugins/WebNetscapePluginPackage.mm:
7863        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
7864
78652010-06-21  Dan Bernstein  <mitz@apple.com>
7866
7867        Build fix
7868
7869        * WebCoreSupport/WebSystemInterface.mm:
7870        (InitWebCoreSystemInterface):
7871
78722010-06-21  Dan Bernstein  <mitz@apple.com>
7873
7874        Reviewed by Darin Adler.
7875
7876        WebKit part of implementing the 'hyphens' and 'hyphenate-character' properties
7877        https://bugs.webkit.org/show_bug.cgi?id=10228
7878
7879        * WebCoreSupport/WebSystemInterface.mm:
7880        (InitWebCoreSystemInterface): Initialize wkGetHyphenationLocationBeforeIndex.
7881
78822010-06-21  Satish Sampath  <satish@chromium.org>
7883
7884        Reviewed by Steve Block.
7885
7886        Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
7887        https://bugs.webkit.org/show_bug.cgi?id=40878
7888
7889        * Configurations/FeatureDefines.xcconfig:
7890
78912010-06-20  Anders Carlsson  <andersca@apple.com>
7892
7893        Fix Tiger build.
7894
7895        * Plugins/WebNetscapePluginPackage.mm:
7896
78972010-06-20  Anders Carlsson  <andersca@apple.com>
7898
7899        Reviewed by Dan Bernstein.
7900
7901        Get rid of the old MIMETypes getter method
7902        https://bugs.webkit.org/show_bug.cgi?id=40898
7903
7904        * Plugins/WebBasePluginPackage.h:
7905        * Plugins/WebBasePluginPackage.mm:
7906        (-[WebBasePluginPackage supportsExtension:]):
7907        (-[WebBasePluginPackage supportsMIMEType:WebCore::]):
7908        (-[WebBasePluginPackage MIMETypeForExtension:]):
7909        * Plugins/WebPluginDatabase.mm:
7910        (-[WebPluginDatabase refresh]):
7911        (-[WebPluginDatabase _removePlugin:]):
7912
79132010-06-20  Anders Carlsson  <andersca@apple.com>
7914
7915        Reviewed by Dan Bernstein.
7916
7917        Remove bogus const qualifiers.
7918
7919        * WebCoreSupport/WebPasteboardHelper.h:
7920        * WebCoreSupport/WebPasteboardHelper.mm:
7921        (WebPasteboardHelper::urlFromPasteboard):
7922        (WebPasteboardHelper::plainTextFromPasteboard):
7923        (WebPasteboardHelper::fragmentFromPasteboard):
7924
79252010-06-20  Anders Carlsson  <andersca@apple.com>
7926
7927        Reviewed by Dan Bernstein.
7928
7929        Get rid of the extensionToMIME mapping in WebBasePluginPackage
7930        https://bugs.webkit.org/show_bug.cgi?id=40897
7931
7932        Instead of using the extensionToMIME mutable dictionary, use the MIME types vector.
7933        While this makes lookup of MIME types based on extensions linear instead of constant,
7934        the number of extensions per plug-in is too small for it to matter.
7935
7936        * Plugins/WebBasePluginPackage.h:
7937        * Plugins/WebBasePluginPackage.mm:
7938        (-[WebBasePluginPackage initWithPath:]):
7939        (-[WebBasePluginPackage dealloc]):
7940        (-[WebBasePluginPackage supportsExtension:]):
7941        (-[WebBasePluginPackage MIMETypeForExtension:]):
7942        (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
7943
79442010-06-20  Anders Carlsson  <andersca@apple.com>
7945
7946        Reviewed by Dan Bernstein.
7947
7948        Add a MimeClassInfo Vector to WebBasePluginPackage
7949        https://bugs.webkit.org/show_bug.cgi?id=40896
7950
7951        * Plugins/WebBasePluginPackage.h:
7952        * Plugins/WebBasePluginPackage.mm:
7953        (-[WebBasePluginPackage getPluginInfoFromPLists]):
7954        (-[WebBasePluginPackage WebCore::]):
7955        * Plugins/WebNetscapePluginPackage.mm:
7956        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
7957        * WebCoreSupport/WebPlatformStrategies.mm:
7958        (WebPlatformStrategies::getPluginInfo):
7959
79602010-06-20  Anders Carlsson  <andersca@apple.com>
7961
7962        Reviewed by Dan Bernstein.
7963
7964        Move the NSBundle ivar to WebPluginPackage
7965        https://bugs.webkit.org/show_bug.cgi?id=40894
7966
7967        * Plugins/WebBasePluginPackage.h:
7968        * Plugins/WebBasePluginPackage.mm:
7969        (-[WebBasePluginPackage initWithPath:]):
7970        (-[WebBasePluginPackage _objectForInfoDictionaryKey:]):
7971        (-[WebBasePluginPackage getPluginInfoFromPLists]):
7972        (-[WebBasePluginPackage load]):
7973        (-[WebBasePluginPackage dealloc]):
7974        * Plugins/WebNetscapePluginPackage.mm:
7975        (-[WebNetscapePluginPackage _initWithPath:]):
7976        * Plugins/WebPluginPackage.h:
7977        * Plugins/WebPluginPackage.mm:
7978        (-[WebPluginPackage initWithPath:]):
7979        (-[WebPluginPackage dealloc]):
7980        (-[WebPluginPackage viewFactory]):
7981        (-[WebPluginPackage load]):
7982
79832010-06-20  Anders Carlsson  <andersca@apple.com>
7984
7985        Reviewed by Sam Weinig.
7986
7987        Remove -[WebBasePluginPackage bundle]
7988        https://bugs.webkit.org/show_bug.cgi?id=40892
7989
7990        Add -[WebBasePluginPackage bundleIdentifier] and switch clients over to it.
7991
7992        Move the supportsSnapshotting method over to the plug-in package.
7993
7994        * Plugins/Hosted/NetscapePluginHostManager.mm:
7995        (WebKit::NetscapePluginHostManager::hostForPackage):
7996        * Plugins/WebBaseNetscapePluginView.mm:
7997        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
7998        (-[WebBaseNetscapePluginView supportsSnapshotting]):
7999        * Plugins/WebBasePluginPackage.h:
8000        * Plugins/WebBasePluginPackage.mm:
8001        (-[WebBasePluginPackage isQuickTimePlugIn]):
8002        (-[WebBasePluginPackage isJavaPlugIn]):
8003        (-[WebBasePluginPackage WebCore::]):
8004        Call bundleIdentifier directly instead of asking the bundle
8005        * Plugins/WebNetscapePluginPackage.h:
8006        * Plugins/WebNetscapePluginPackage.mm:
8007        (-[WebNetscapePluginPackage supportsSnapshotting]):
8008        * Plugins/WebNetscapePluginView.mm:
8009        (-[WebNetscapePluginView setAttributeKeys:andValues:]):
8010        (-[WebNetscapePluginView _createPlugin]):
8011        * Plugins/WebPluginDatabase.mm:
8012        (checkCandidate):
8013
80142010-06-20  Anders Carlsson  <andersca@apple.com>
8015
8016        Reviewed by Dan Bernstein.
8017
8018        Change some WebPluginDabase ivars to use WebCore::String instead of NSString.
8019        https://bugs.webkit.org/show_bug.cgi?id=40869
8020
8021        Re-land r61459, with extra null-checks in WebFrameLoaderClient.
8022
8023        * Plugins/Hosted/NetscapePluginHostManager.mm:
8024        (WebKit::NetscapePluginHostManager::spawnPluginHost):
8025        * Plugins/WebBasePluginPackage.h:
8026        * Plugins/WebBasePluginPackage.mm:
8027        (-[WebBasePluginPackage initWithPath:]):
8028        (-[WebBasePluginPackage getPluginInfoFromPLists]):
8029        (-[WebBasePluginPackage dealloc]):
8030        (-[WebBasePluginPackage name]):
8031        (-[WebBasePluginPackage path]):
8032        (-[WebBasePluginPackage filename]):
8033        (-[WebBasePluginPackage pluginDescription]):
8034        (-[WebBasePluginPackage description]):
8035        (-[WebBasePluginPackage isJavaPlugIn]):
8036        * Plugins/WebNetscapePluginPackage.mm:
8037        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
8038        (-[WebNetscapePluginPackage _tryLoad]):
8039        (-[WebNetscapePluginPackage _unloadWithShutdown:]):
8040        * Plugins/WebPluginPackage.mm:
8041        (-[WebPluginPackage load]):
8042        * WebCoreSupport/WebFrameLoaderClient.mm:
8043        (WebFrameLoaderClient::createPlugin):
8044
80452010-06-18  Adam Barth  <abarth@webkit.org>
8046
8047        Unreviewed, rolling out r61459.
8048        http://trac.webkit.org/changeset/61459
8049        https://bugs.webkit.org/show_bug.cgi?id=40869
8050
8051        Seems to have broken two tests on the Tiger buildbot:
8052
8053        dom/html/level2/html/AppletsCollection.html
8054        plugins/qt-qwidget-plugin.html
8055
8056        Anders wasn't on #webkit...
8057
8058        * Plugins/Hosted/NetscapePluginHostManager.mm:
8059        (WebKit::NetscapePluginHostManager::spawnPluginHost):
8060        * Plugins/WebBasePluginPackage.h:
8061        * Plugins/WebBasePluginPackage.mm:
8062        (-[WebBasePluginPackage initWithPath:]):
8063        (-[WebBasePluginPackage getPluginInfoFromPLists]):
8064        (-[WebBasePluginPackage dealloc]):
8065        (-[WebBasePluginPackage name]):
8066        (-[WebBasePluginPackage path]):
8067        (-[WebBasePluginPackage filename]):
8068        (-[WebBasePluginPackage pluginDescription]):
8069        (-[WebBasePluginPackage setName:]):
8070        (-[WebBasePluginPackage setPath:]):
8071        (-[WebBasePluginPackage setPluginDescription:]):
8072        (-[WebBasePluginPackage description]):
8073        (-[WebBasePluginPackage isJavaPlugIn]):
8074        * Plugins/WebNetscapePluginPackage.mm:
8075        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
8076        (-[WebNetscapePluginPackage _tryLoad]):
8077        (-[WebNetscapePluginPackage _unloadWithShutdown:]):
8078        * Plugins/WebPluginPackage.mm:
8079        (-[WebPluginPackage load]):
8080
80812010-06-18  Anders Carlsson  <andersca@apple.com>
8082
8083        Fix Tiger build.
8084
8085        * Plugins/WebBasePluginPackage.mm:
8086        (-[WebBasePluginPackage isJavaPlugIn]):
8087
80882010-06-18  Anders Carlsson  <andersca@apple.com>
8089
8090        Reviewed by Sam Weinig.
8091
8092        Change some WebPluginDabase ivars to use WebCore::String instead of NSString.
8093        https://bugs.webkit.org/show_bug.cgi?id=40869
8094
8095        * Plugins/Hosted/NetscapePluginHostManager.mm:
8096        (WebKit::NetscapePluginHostManager::spawnPluginHost):
8097        * Plugins/WebBasePluginPackage.h:
8098        * Plugins/WebBasePluginPackage.mm:
8099        (-[WebBasePluginPackage initWithPath:]):
8100        (-[WebBasePluginPackage getPluginInfoFromPLists]):
8101        (-[WebBasePluginPackage dealloc]):
8102        (-[WebBasePluginPackage name]):
8103        (-[WebBasePluginPackage path]):
8104        (-[WebBasePluginPackage filename]):
8105        (-[WebBasePluginPackage pluginDescription]):
8106        (-[WebBasePluginPackage description]):
8107        (-[WebBasePluginPackage isJavaPlugIn]):
8108        * Plugins/WebNetscapePluginPackage.mm:
8109        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
8110        (-[WebNetscapePluginPackage _tryLoad]):
8111        (-[WebNetscapePluginPackage _unloadWithShutdown:]):
8112        * Plugins/WebPluginPackage.mm:
8113        (-[WebPluginPackage load]):
8114
81152010-06-18  Anders Carlsson  <andersca@apple.com>
8116
8117        Reviewed by Sam Weinig.
8118
8119        Rename WebPluginPackage.m to make it an Objective-C++ file.
8120
8121        * Plugins/WebPluginPackage.m: Removed.
8122        * Plugins/WebPluginPackage.mm: Copied from Plugins/WebPluginPackage.m.
8123
81242010-06-18  Anders Carlsson  <andersca@apple.com>
8125
8126        Reviewed by Sam Weinig.
8127
8128        Get rid of the NSEnumerators from WebBasePluginPackage
8129        https://bugs.webkit.org/show_bug.cgi?id=40868
8130
8131        * Plugins/WebBasePluginPackage.h:
8132        * Plugins/WebBasePluginPackage.mm:
8133        (-[WebBasePluginPackage MIMETypes]):
8134        (-[WebBasePluginPackage supportsExtension:]):
8135        (-[WebBasePluginPackage supportsMIMEType:]):
8136        * Plugins/WebPluginDatabase.mm:
8137        (-[WebPluginDatabase pluginForMIMEType:]):
8138        (-[WebPluginDatabase pluginForExtension:]):
8139        (-[WebPluginDatabase refresh]):
8140        (-[WebPluginDatabase _removePlugin:]):
8141        * WebCoreSupport/WebPlatformStrategies.mm:
8142        (WebPlatformStrategies::getPluginInfo):
8143
81442010-06-18  Anders Carlsson  <andersca@apple.com>
8145
8146        Reviewed by Sam Weinig.
8147
8148        Make WebCoreSystemInterface.h a C++ only header
8149        https://bugs.webkit.org/show_bug.cgi?id=40867
8150
8151        * WebCoreSupport/WebSystemInterface.h:
8152        * WebCoreSupport/WebSystemInterface.m: Removed.
8153        * WebCoreSupport/WebSystemInterface.mm: Copied from WebKit/mac/WebCoreSupport/WebSystemInterface.m.
8154
81552010-06-18  Anders Carlsson  <andersca@apple.com>
8156
8157        Reviewed by Sam Weinig.
8158
8159        Clean up WebPluginDatabase.mm
8160        https://bugs.webkit.org/show_bug.cgi?id=40866
8161
8162        * Plugins/WebBasePluginPackage.h:
8163        * Plugins/WebBasePluginPackage.mm:
8164        (pathByResolvingSymlinksAndAliases):
8165        (-[WebBasePluginPackage initWithPath:]):
8166        Change an instance method into a static function.
8167
8168        * Plugins/WebPluginDatabase.mm:
8169        (PluginPackageCandidates::PluginPackageCandidates):
8170        (PluginPackageCandidates::update):
8171        (PluginPackageCandidates::bestCandidate):
8172        Add a new PluginPackageCandidates class.
8173
8174        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
8175        Use PluginPackageCandidates here.
8176
81772010-06-18  Anders Carlsson  <andersca@apple.com>
8178
8179        Fix Tiger build.
8180
8181        * WebCoreSupport/WebPlatformStrategies.mm:
8182
81832010-06-18  Anders Carlsson  <andersca@apple.com>
8184
8185        Reviewed by Darin Adler.
8186
8187        Get rid of PluginDataMac.mm and use the plug-in strategy instead
8188        https://bugs.webkit.org/show_bug.cgi?id=40860
8189
8190        * Plugins/WebBasePluginPackage.h:
8191        * WebCoreSupport/WebPlatformStrategies.h:
8192        * WebCoreSupport/WebPlatformStrategies.mm:
8193        (WebPlatformStrategies::createPluginStrategy):
8194        (WebPlatformStrategies::refreshPlugins):
8195        (WebPlatformStrategies::getPluginInfo):
8196        * WebCoreSupport/WebViewFactory.mm:
8197
81982010-06-18  Anders Carlsson  <andersca@apple.com>
8199
8200        Reviewed by Dan Bernstein.
8201
8202        Add stubbed out WebPlatformStrategies class to WebKit.
8203        https://bugs.webkit.org/show_bug.cgi?id=40851
8204
8205        * WebCoreSupport/WebPlatformStrategies.h: Added.
8206        * WebCoreSupport/WebPlatformStrategies.mm: Added.
8207        (WebPlatformStrategies::initialize):
8208        (WebPlatformStrategies::WebPlatformStrategies):
8209        (WebPlatformStrategies::createPluginStrategy):
8210        * WebView/WebView.mm:
8211        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
8212
82132010-06-15  Dumitru Daniliuc  <dumi@chromium.org>
8214
8215        Reviewed by Adam Barth.
8216
8217        Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
8218        https://bugs.webkit.org/show_bug.cgi?id=39041
8219
8220        * WebView/WebView.mm:
8221        (-[WebView _preferencesChangedNotification:]):
8222
82232010-06-17  Darin Adler  <darin@apple.com>
8224
8225        Reviewed by Sam Weinig.
8226
8227        Use adoptRef and create functions in more code paths
8228        https://bugs.webkit.org/show_bug.cgi?id=40760
8229
8230        * Plugins/Hosted/NetscapePluginInstanceProxy.h: Made create no longer
8231        be an inline function.
8232
8233        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8234        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
8235        Moved the call to addPluginInstance out of here.
8236        (WebKit::NetscapePluginInstanceProxy::create): Move it in here.
8237        This makes sure we call adoptRef on the new proxy before any caller
8238        calls ref on it.
8239
82402010-06-16  Eric Seidel  <eric@webkit.org>
8241
8242        Reviewed by Adam Barth.
8243
8244        Enable HTML5 Parser in Safari on Mac
8245        https://bugs.webkit.org/show_bug.cgi?id=40739
8246
8247        The HTML5 parser is probably off on all webkit ports.
8248        We should either flip the meaning of the default so that
8249        "false" means HTML5 on all ports, or we'll have to write
8250        more code like this for all the other ports.
8251
8252        * WebView/WebPreferences.mm:
8253        (+[WebPreferences initialize]):
8254
82552010-06-15  Mark Rowe  <mrowe@apple.com>
8256
8257        Reviewed by Sam Weinig.
8258
8259        Don't leak WebGeolocationPositionInternal and GeolocationPosition instances for every WebGeolocationPosition created.
8260
8261        * WebView/WebGeolocationPosition.mm:
8262        (-[WebGeolocationPosition dealloc]): Implement -dealloc and release our WebGeolocationPositionInternal instance.
8263
82642010-06-10  Yuzo Fujishima  <yuzo@google.com>
8265
8266        Reviewed by Shinichiro Hamaji.
8267
8268        Implement render style selection for pages to support CSS3 Paged Media.
8269        https://bugs.webkit.org/show_bug.cgi?id=35961
8270
8271        * Misc/WebCoreStatistics.h:
8272        * Misc/WebCoreStatistics.mm:
8273        (-[WebFrame pageProperty:propertyName:]):
8274
82752010-06-15  Darin Adler  <darin@apple.com>
8276
8277        Reviewed by Adam Barth.
8278
8279        Move functions out of Frame class that were marked "move to Chrome"
8280        https://bugs.webkit.org/show_bug.cgi?id=39636
8281
8282        * WebView/WebView.mm:
8283        (-[WebView shouldClose]): Call shouldClose on FrameLoader instead of
8284        going through Frame.
8285
82862010-06-15  Anders Carlsson  <andersca@apple.com>
8287
8288        Reviewed by Dan Bernstein.
8289
8290        Remove getPluginInfoFromBundleAndMIMEDictionary:
8291
8292        * Plugins/WebBasePluginPackage.mm:
8293
82942010-06-15  Anders Carlsson  <andersca@apple.com>
8295
8296        Reviewed by Dan Bernstein.
8297
8298        Fold getPluginInfoFromBundleAndMIMEDictionary: into its sole caller.
8299
8300        * Plugins/WebBasePluginPackage.mm:
8301        (-[WebBasePluginPackage getPluginInfoFromPLists]):
8302
83032010-06-11  Simon Fraser  <simon.fraser@apple.com>
8304
8305        Reviewed by Darin Adler.
8306
8307        <rdar://problem/8084721> Pages using accelerated compositing fail to update correctly in Carbon apps
8308
8309        The run loop observer used to commit compositing layer changes does not do
8310        updates if [window viewsNeedDisplay] is true, because this indicates that a delayed window
8311        update is pending (added in r58623).
8312
8313        However, Carbon apps don't use the NSWindow updating mechanism, so [window viewsNeedDisplay] always returns YES.
8314        This caused us to never sync compositing layers.
8315
8316        So detect if the current window is wrapping a carbon window, and in that case consult the root
8317        HIView to detect if display is pending.
8318
8319        * WebView/WebView.mm:
8320        (layerSyncRunLoopObserverCallBack):
8321
83222010-06-15  Dan Bernstein  <mitz@apple.com>
8323
8324        Reviewed by John Sullivan.
8325
8326        <rdar://problem/8077032> REGRESSION (r50796): Black background on AppleScript generated email
8327
8328        Test: platform/mac/editing/input/NSBackgroundColor-transparent.html
8329
8330        r50796 changed the initial background color from invalid to transparent. As a result,
8331        NSAttributedStrings returned from +_web_attributedStringFromRange started including the
8332        NSBackgroundColor attribute, with a transparent color as the value. This caused problems for
8333        components in the system that ignore the alpha component, turning the color into opaque black.
8334
8335        * Misc/WebNSAttributedStringExtras.mm:
8336        (+[NSAttributedString _web_attributedStringFromRange:]): Change to not include the background
8337        and foreground color attributes if the color are transparent.
8338
83392010-06-14  Ilya Tikhonovsky  <loislo@chromium.org>
8340
8341        Reviewed by Pavel Feldman.
8342
8343        WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
8344        data from inspected page to WebInspector as JSON string via http. The native
8345        serialization to JSON string is supported by InspectorValue's classes. This patch
8346        has the implementation of sendMessageToFrontend function. WebKit version of it still
8347        uses ScriptFunctionCall and will be switched to another transport a little bit later.
8348        https://bugs.webkit.org/show_bug.cgi?id=40134
8349
8350        * WebCoreSupport/WebInspectorClient.h:
8351        * WebCoreSupport/WebInspectorClient.mm:
8352        (WebInspectorClient::WebInspectorClient):
8353        (WebInspectorClient::openInspectorFrontend):
8354
83552010-06-10  David Hyatt  <hyatt@apple.com>
8356
8357        Reviewed by John Sullivan.
8358
8359        https://bugs.webkit.org/show_bug.cgi?id=40441, back out the original fix for 29601, since it has broken continuous
8360        wheel delta values.
8361
8362        * WebView/WebDynamicScrollBarsView.mm:
8363        (-[WebDynamicScrollBarsView scrollWheel:]):
8364
83652010-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
8366
8367        Unreviewed, rolling out r60889.
8368        http://trac.webkit.org/changeset/60889
8369        https://bugs.webkit.org/show_bug.cgi?id=40365
8370
8371        gtk bot has some kind of memory corruption (Requested by
8372        loislo on #webkit).
8373
8374        * WebCoreSupport/WebInspectorClient.h:
8375        * WebCoreSupport/WebInspectorClient.mm:
8376        (WebInspectorClient::WebInspectorClient):
8377        (WebInspectorClient::openInspectorFrontend):
8378        (-[WebInspectorWindowController destroyInspectorView]):
8379
83802010-06-07  Ilya Tikhonovsky  <loislo@chromium.org>
8381
8382        Reviewed by Pavel Feldman.
8383
8384        WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
8385        data from inspected page to WebInspector as JSON string via http. The native
8386        serialization to JSON string is supported by InspectorValue's classes. This patch
8387        has the implementation of sendMessageToFrontend function. WebKit version of it still
8388        uses ScriptFunctionCall and will be switched to another transport a little bit later.
8389        https://bugs.webkit.org/show_bug.cgi?id=40134
8390
8391        * WebCoreSupport/WebInspectorClient.h:
8392        * WebCoreSupport/WebInspectorClient.mm:
8393        (WebInspectorClient::WebInspectorClient):
8394        (WebInspectorClient::openInspectorFrontend):
8395
83962010-06-08  Mark Rowe  <mrowe@apple.com>
8397
8398        Reviewed by Adele Peterson.
8399
8400        <rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK
8401
8402        * WebCoreSupport/WebContextMenuClient.mm:
8403        (fixMenusReceivedFromOldClients): Fix up the tag on the Inspect Element menu item. This ensures that even if the
8404        context menu layout doesn't match our expectations that the menu item will continue to trigger the web inspector.
8405
84062010-06-08  Antonio Gomes  <tonikitoo@webkit.org>
8407
8408        Reviewed by Ojan Vafai and Darin Adler.
8409
8410        Refactor platform dependent editing behavior code out of Settings
8411        https://bugs.webkit.org/show_bug.cgi?id=39854
8412
8413        EditingBehavior enum was renamed to EditingBehaviorTypes and moved out from Settings.h to
8414        EditingBehaviorTypes.h . Call sites in WebKit/ adjusted accordingly.
8415
8416        * WebView/WebFrame.mm:
8417        (core):
8418        * WebView/WebFrameInternal.h:
8419        * WebView/WebView.mm:
8420        (-[WebView _preferencesChangedNotification:]):
8421
84222010-06-06  MORITA Hajime  <morrita@google.com>
8423
8424        Unreviewd, follow up to r60820
8425
8426        https://bugs.webkit.org/show_bug.cgi?id=40219
8427        [Mac] ENABLE_METER_TAG should be enabled
8428
8429        Added ENABLE_METER_TAG.
8430
8431        * Configurations/FeatureDefines.xcconfig:
8432
84332010-06-06  Gavin Barraclough  <barraclough@apple.com>
8434
8435        Reviewed by Sam Weinig.
8436
8437        Bug 40214 - Clean up error construction / throwing in JSC.
8438
8439        The one egregious insanity here is that creating an error requires
8440        a VM-entry-esqe-host call (the string argument is wrapped as a JS
8441        object & pushed on the RegisterFile, then unwrapped back to a
8442        UString).  Changing this also means you only require a global
8443        object, not an ExecState, to create an error.
8444
8445        The methods to create error objects are also parameterized
8446        requiring a switch on the type, which can be made cleaner and
8447        faster by moving to a separate method per error type.  Code to add
8448        divot information to error had been duplicated, and is coalesced
8449        back into a single function.
8450
8451        Convenience methods added to create & throw type & syntax error
8452        with a default error message, since this is a common case.
8453
8454        Also, errors are currently thrown either using
8455        "throwError(exec, error)" or "exec->setException(error)" - unify
8456        on the former, since this is more commonly used.  Add
8457        "throwVMError(exec, error)" equivalents, as a convenience for
8458        cases where the result was being wrapped in "JSValue::encode(...)".
8459
8460        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8461        (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
8462        * Plugins/Hosted/ProxyInstance.mm:
8463        (WebKit::ProxyInstance::invokeMethod):
8464
84652010-06-02  Gavin Barraclough  <barraclough@apple.com>
8466
8467        Reviewed by Oliver Hunt.
8468
8469        Bug 40094 - The return type of NativeFunction should be EncodedJSValue
8470        On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
8471
8472        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8473        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8474        (WebKit::NetscapePluginInstanceProxy::invoke):
8475
84762010-06-02  Sterling Swigart  <sswigart@google.com>
8477
8478        Reviewed by David Levin.
8479
8480        Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
8481        https://bugs.webkit.org/show_bug.cgi?id=39906
8482
8483        * Configurations/FeatureDefines.xcconfig:
8484
84852010-06-01  David Hyatt  <hyatt@apple.com>
8486
8487        Reviewed by Anders Carlsson.
8488
8489        Add a preference for paginating during layout (the new model for computing page breaks).
8490
8491        * WebView/WebPreferenceKeysPrivate.h:
8492        * WebView/WebPreferences.mm:
8493        (-[WebPreferences paginateDuringLayoutEnabled]):
8494        (-[WebPreferences setPaginateDuringLayoutEnabled:]):
8495        * WebView/WebPreferencesPrivate.h:
8496        * WebView/WebView.mm:
8497        (-[WebView _preferencesChangedNotification:]):
8498
84992010-06-01  Kevin Decker  <kdecker@apple.com>
8500
8501        Reviewed by Simon Fraser.
8502
8503        https://bugs.webkit.org/show_bug.cgi?id=40025
8504        <rdar://problem/8046273> All Flash content crashes after installing CS5 Design Premium.
8505
8506        * Plugins/WebBaseNetscapePluginView.mm:
8507        (-[WebBaseNetscapePluginView supportsSnapshotting]): Do not support snapshotting Flash 10.1 if
8508        the version is less than 10.1.53.60.
8509
85102010-06-01  Alexey Proskuryakov  <ap@apple.com>
8511
8512        Reviewed by Sam Weinig.
8513
8514        https://bugs.webkit.org/show_bug.cgi?id=39434
8515        REGRESSION (r59811): Geolocation callbacks cannot be created
8516
8517        Removing unused WebGeolocationMock.
8518
8519        * WebCoreSupport/WebGeolocationMock.mm: Removed.
8520        * WebCoreSupport/WebGeolocationMockPrivate.h: Removed.
8521        * WebKit.exp:
8522
85232010-05-30  Darin Adler  <darin@apple.com>
8524
8525        Reviewed by Sam Weinig.
8526
8527        Make more HTML DOM members private, especially constructors, third and final batch
8528        https://bugs.webkit.org/show_bug.cgi?id=39916
8529
8530        * WebView/WebHTMLRepresentation.mm:
8531        (-[WebHTMLRepresentation elementWithName:inForm:]): Use the new HTMLFormElement
8532        function, associatedElements, rather than getting directly at a data member
8533        named formElements.
8534        (-[WebHTMLRepresentation controlsInForm:]): Ditto.
8535
85362010-05-28  Geoffrey Garen  <ggaren@apple.com>
8537
8538        Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
8539
8540        Simplified the host calling convention.
8541
8542        PART ONE: Functional code changes.
8543
8544        [ None in WebKit ]
8545
8546        PART TWO: Global search and replace.
8547
8548        In the areas below, I used global search-and-replace to change
8549            (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
8550            args.size() => exec->argumentCount()
8551            args.at(i) => exec->argument(i)
8552
8553        * Plugins/Hosted/ProxyInstance.h:
8554        * Plugins/Hosted/ProxyInstance.mm:
8555        (WebKit::ProxyInstance::invoke):
8556        (WebKit::ProxyInstance::invokeMethod):
8557        (WebKit::ProxyInstance::invokeDefaultMethod):
8558
85592010-05-27  Beth Dakin  <bdakin@apple.com>
8560
8561        Reviewed by Simon Fraser.
8562
8563        Change z-component to 1.
8564
8565        * WebView/WebHTMLView.mm:
8566        (-[WebHTMLView viewDidMoveToWindow]):
8567        (-[WebHTMLView attachRootLayer:]):
8568
85692010-05-26  Simon Fraser  <simon.fraser@apple.com>
8570
8571        Reviewed by Beth Dakin and Darin Adler.
8572
8573        Fix for <rdar://problem/7464703> HiDPI: [Layers] Compositing layers
8574        do not scale properly when running with a resolution independent
8575        scale
8576
8577        Apply the userSpaceScaleFactor as a scale on the layerHostingView.
8578
8579        * WebView/WebHTMLView.mm:
8580        (-[WebHTMLView viewDidMoveToWindow]):
8581        (-[WebHTMLView attachRootLayer:]):
8582
85832010-05-25  Alexey Proskuryakov  <ap@apple.com>
8584
8585        Reviewed by Darin Adler.
8586
8587        https://bugs.webkit.org/show_bug.cgi?id=39621
8588        <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test
8589
8590        Removed formStateDidChange support, which is not needed by any client.
8591
8592        * WebCoreSupport/WebChromeClient.h:
8593        (WebChromeClient::formStateDidChange):
8594        * WebCoreSupport/WebChromeClient.mm:
8595        * WebView/WebUIDelegatePrivate.h:
8596
85972010-05-25  Brady Eidson  <beidson@apple.com>
8598
8599        Reviewed by Darin Adler.
8600
8601        Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
8602        <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
8603
8604        * Storage/WebDatabaseManager.mm:
8605        (WebKitInitializeDatabasesIfNecessary): Call initializeTracker() instead of trying to set the path on
8606          an already created tracker that already has its origins populated.
8607
86082010-05-24  Darin Adler  <darin@apple.com>
8609
8610        Reviewed by Eric Seidel.
8611
8612        Move view-related functions from Frame to FrameView
8613        https://bugs.webkit.org/show_bug.cgi?id=39366
8614
8615        * WebView/WebView.mm:
8616        (-[WebView _setZoomMultiplier:isTextOnly:]): Call function on FrameView.
8617        (-[WebView setEditable:]): Get rid of call to empty function,
8618        removeEditingStyleFromBodyElement.
8619
86202010-05-21  David Hyatt  <hyatt@apple.com>
8621
8622        Reviewed by Dan Bernstein.
8623
8624        https://bugs.webkit.org/show_bug.cgi?id=39420
8625
8626        Make sure everyone who needs to is using visitedDependentColor rather than accessing styles
8627        directly.
8628
8629        * Misc/WebNSAttributedStringExtras.mm:
8630        (+[NSAttributedString _web_attributedStringFromRange:]):
8631        * WebView/WebFrame.mm:
8632        (-[WebFrame _bodyBackgroundColor]):
8633
86342010-05-21  Oliver Hunt  <oliver@apple.com>
8635
8636        Reviewed by Geoffrey Garen.
8637
8638        All callable objects should have a global object reference
8639        https://bugs.webkit.org/show_bug.cgi?id=39495
8640
8641        Update the plugin proxy to handle the need for global object.
8642
8643        * Plugins/Hosted/ProxyInstance.mm:
8644        (WebKit::ProxyInstance::newRuntimeObject):
8645        (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
8646        (WebKit::ProxyInstance::getMethod):
8647        * Plugins/Hosted/ProxyRuntimeObject.h:
8648        * Plugins/Hosted/ProxyRuntimeObject.mm:
8649        (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
8650
86512010-05-21  Steve Block  <steveblock@google.com>
8652
8653        Reviewed by Jeremy Orlow.
8654
8655        Add DeviceOrientation and DeviceOrientationClient
8656        https://bugs.webkit.org/show_bug.cgi?id=39479
8657
8658        * WebView/WebView.mm:
8659        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
8660
86612010-05-20  Mike Thole  <mthole@apple.com>
8662
8663        Reviewed by Dave Hyatt.
8664
8665        When using a scale factor > 1, scrollbars sometimes appear when not necessary
8666        https://bugs.webkit.org/show_bug.cgi?id=39458
8667
8668        * WebView/WebDynamicScrollBarsView.mm:
8669        (-[WebDynamicScrollBarsView updateScrollers]): Round up non-integral sizes from AppKit
8670        so that they can be compared against the integral document size.
8671
86722010-05-20  Kevin Decker  <kdecker@apple.com>
8673
8674        Reviewed by Anders Carlsson.
8675
8676        https://bugs.webkit.org/show_bug.cgi?id=39441
8677        <rdar://problem/7985715> Flash context menu is both horizontally and vertically offset from point of click
8678        <rdar://problem/7986109> Youtube video controller UI entirely missing
8679        <rdar://problem/7986154> Flash content paints at horizontally and vertically shifted locations (within the plug-in region)
8680
8681        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8682        (-[WebHostedNetscapePluginView updateAndSetWindow]): The base coordinates of a window and
8683         it's contentView happen to be the equal at a userSpaceScaleFactor of 1. For non-1.0 scale
8684         factors this assumption is false. Accordingly we now convert to the window contentView
8685        coordinate system when computing bounds in "window" and the visible rect.
8686        * Plugins/WebNetscapePluginView.mm:
8687        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): Ditto.
8688
86892010-05-20  Steve Block  <steveblock@google.com>
8690
8691        Reviewed by Jeremy Orlow.
8692
8693        Provide bindings for DeviceOrientation
8694        https://bugs.webkit.org/show_bug.cgi?id=39210
8695
8696        Adds ENABLE_DEVICE_ORIENTATION to XCode project file, always disabled.
8697
8698        * Configurations/FeatureDefines.xcconfig:
8699
87002010-05-20  Martin Robinson  <mrobinson@webkit.org>
8701
8702        Reviewed by Ojan Vafai.
8703
8704        Expose the editing behavior setting in DRT to test all editing code paths
8705        https://bugs.webkit.org/show_bug.cgi?id=38603
8706
8707        * WebView/WebFrame.mm:
8708        (core):
8709        * WebView/WebFrameInternal.h: Added a conversion method from the API enum to the WebCore enum.
8710        * WebView/WebPreferenceKeysPrivate.h: Added a preference key for the new setting.
8711        * WebView/WebPreferences.mm:
8712        (+[WebPreferences initialize]): Initialize the EditingBehavior to Mac style.
8713        (-[WebPreferences editingBehavior]): Added.
8714        (-[WebPreferences setEditingBehavior:]): Added.
8715        * WebView/WebPreferencesPrivate.h: Added the new API points to the private API.
8716        * WebView/WebView.mm:
8717        (-[WebView _preferencesChangedNotification:]): Set the editing behavior via the WebPreferences setting.
8718
87192010-05-19  Anders Carlsson  <andersca@apple.com>
8720
8721        Reviewed by Kevin Decker and Simon Fraser.
8722
8723        <rdar://problem/8004528>
8724        REGRESSION: Coordinate system for Core Animation NPAPI plug-ins is flipped with accelerated compositing turned on
8725
8726        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
8727        the newly created layer.
8728
8729        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8730        (-[WebHostedNetscapePluginView createPlugin]):
8731        * Plugins/WebNetscapePluginView.mm:
8732        (-[WebNetscapePluginView createPlugin]):
8733
87342010-05-18  Tony Chang  <tony@chromium.org>
8735
8736        Reviewed by Darin Adler.
8737
8738        https://bugs.webkit.org/show_bug.cgi?id=24943
8739        Command-B and Command-I do not generate keydown events in contentEditable regions.
8740
8741        Manual test because performKeyEquivalent is not called by DRT.
8742
8743        Test: manual-tests/style-keypress-events.html
8744
8745        * WebView/WebHTMLView.mm:
8746        (-[WebHTMLView performKeyEquivalent:]): Move style key handling until after webcore gets a chance to handle the event
8747
87482010-05-18  Daniel Cheng  <dcheng@chromium.org>
8749
8750        Reviewed by Darin Adler, Jian Li.
8751
8752        DragData::asURL() shouldn't do file validity checks
8753        https://bugs.webkit.org/show_bug.cgi?id=38711
8754
8755        Change [NSPasteboard _web_bestURL] to still return a file URL for paths
8756        that don't exist. Callers who care about the existence of the file or
8757        whether or not it is a directory should check themselves when they
8758        want to use the file. The directory check has been left in for now,
8759        since the Mac implementation of ResourceHandle, which uses this function
8760        indirectly via DragController::performDrag) handles directories somewhat
8761        non-intuitively: it opens the parent directory in the Finder, rather
8762        than opening the directory itself.
8763
8764        * Misc/WebNSPasteboardExtras.mm:
8765        (-[NSPasteboard _web_bestURL]):
8766
87672010-05-18  Eric Seidel  <eric@webkit.org>
8768
8769        Reviewed by Adam Barth (and Maciej Stachowiak).
8770
8771        Make it possible to enable the new HTML5Tokenizer for testing
8772        https://bugs.webkit.org/show_bug.cgi?id=39275
8773
8774        Expose the WebCore::Settings::html5ParserEnabled as a private WebKit setting.
8775
8776        * WebView/WebPreferenceKeysPrivate.h:
8777        * WebView/WebPreferences.mm:
8778        (-[WebPreferences html5ParserEnabled]):
8779        (-[WebPreferences setHTML5ParserEnabled:]):
8780        * WebView/WebPreferencesPrivate.h:
8781        * WebView/WebView.mm:
8782        (-[WebView _preferencesChangedNotification:]):
8783
87842010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
8785
8786        Unreviewed, rolling out r59652.
8787        http://trac.webkit.org/changeset/59652
8788        https://bugs.webkit.org/show_bug.cgi?id=39268
8789
8790        file-input-files-access test is broken on Mac (Requested by
8791        dcheng on #webkit).
8792
8793        * Misc/WebNSPasteboardExtras.mm:
8794        (-[NSPasteboard _web_bestURL]):
8795
87962010-05-17  Daniel Cheng  <dcheng@chromium.org>
8797
8798        Reviewed by Darin Adler.
8799
8800        DragData::asURL() shouldn't do file validity checks
8801        https://bugs.webkit.org/show_bug.cgi?id=38711
8802
8803        Change [NSPasteboard _web_bestURL] to still return a file URL for paths
8804        that don't exist. Callers who care about the existence of the file or
8805        whether or not it is a directory should check themselves when they
8806        want to use the file. The directory check has been left in for now,
8807        since the Mac implementation of ResourceHandle, which uses this function
8808        indirectly via DragController::performDrag) handles directories somewhat
8809        non-intuitively: it opens the parent directory in the Finder, rather
8810        than opening the directory itself.
8811
8812        * Misc/WebNSPasteboardExtras.mm:
8813        (-[NSPasteboard _web_bestURL]):
8814
88152010-05-14  Stephanie Lewis  <slewis@apple.com>
8816
8817        Rubber-stamped by Mark Rowe.
8818
8819        Update order files.
8820
8821        * WebKit.order:
8822
88232010-05-13  Timothy Hatcher  <timothy@apple.com>
8824
8825        Allow reporting exceptions that occur when using JavaScriptCore APIs
8826        to the Web Inspector.
8827
8828        <rdar://problem/7975410>
8829
8830        Reviewed by Sam Weinig.
8831
8832        * WebView/WebView.mm:
8833        (+[WebView _reportException:inContext:]): Call WebCore::reportException after checking
8834        that the global object is a DOMWindow.
8835        * WebView/WebViewPrivate.h: Added _reportException:inContext:.
8836
88372010-05-13  Alexey Proskuryakov  <ap@apple.com>
8838
8839        Reviewed by Darin Adler.
8840
8841        https://bugs.webkit.org/show_bug.cgi?id=39089
8842        <rdar://problem/7974044> Domain names in Russian '.рф' domain are displayed as punycode
8843
8844        Add a custom check for this domain. Currently, this is the only non-ASCII TLD, we'll
8845        investigate a more extensible solution when there are more, and we know what the
8846        typical restictions are.
8847
8848        * Misc/WebNSURLExtras.mm:
8849        (allCharactersAllowedByTLDRules):
8850        (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
8851
88522010-05-12  Simon Fraser  <simon.fraser@apple.com>
8853
8854        Reviewed by David Hyatt.
8855
8856        Composited plug-ins can cause missed painting
8857        https://bugs.webkit.org/show_bug.cgi?id=39033
8858        <rdar://problem/7972478>
8859
8860        Eagerly enable compositing mode via the enclosing FrameView when the plug-in tells us it wants
8861        to do compositing.
8862
8863        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8864        (-[WebHostedNetscapePluginView createPlugin]):
8865        * Plugins/WebNetscapePluginView.mm:
8866        (-[WebNetscapePluginView createPlugin]):
8867
88682010-05-12  Jer Noble  <jer.noble@apple.com>
8869
8870        Reviewed by Darin Adler.
8871
8872        Bug 38689: #34005 will break fullscreen video playback
8873        https://bugs.webkit.org/show_bug.cgi?id=38689
8874
8875        Use the new definition of PlatformMedia to check the actual type
8876        returned by MediaPlayer.
8877
8878        * WebView/WebVideoFullscreenController.mm:
8879        (-[WebVideoFullscreenController windowDidLoad]):
8880
88812010-05-11  Mark Rowe  <mrowe@apple.com>
8882
8883        Fix the world.
8884
8885        In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
8886        The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
8887        that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
8888        in sync with build-webkit.  This led to WebCore and WebKit having different views of Document's vtable
8889        and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
8890        function in WebCore being called.
8891
8892        We fix this by bringing the FeatureDefines.xcconfig files in to sync.  Based on the ChangeLog message and
8893        other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
8894        has been reverted.
8895
8896        * Configurations/FeatureDefines.xcconfig:
8897
88982010-05-10  Simon Fraser  <simon.fraser@apple.com>
8899
8900        Reviewed by Anders Carlsson.
8901
8902        Allow compositing layers to be connected across iframe boundaries on Mac
8903        https://bugs.webkit.org/show_bug.cgi?id=38856
8904
8905        When painting an iframe into a compositing layer, the "PaintBehaviorFlattenCompositingLayers"
8906        flag was mistakenly set, because we'd detect that we were drawing into a bitmap. This caused
8907        content to show up in both compositing layers, and the painted background inside the iframe.
8908
8909        Fix by taking the flattening state from the parent frame, if there is one. For the root
8910        frame, we continue to look to see if we're painting into a bitmap.
8911
8912        * WebView/WebFrame.mm:
8913        (-[WebFrame _drawRect:contentsOnly:]):
8914
89152010-05-10  Timothy Hatcher  <timothy@apple.com>
8916
8917        Fix a crash when closing a WebView while the Web Inspector is open.
8918
8919        <rdar://problem/7966830>
8920
8921        Reviewed by Mark Rowe.
8922
8923        * WebCoreSupport/WebInspectorClient.mm:
8924        (-[WebInspectorWindowController destroyInspectorView]): Null check Page since it can be null.
8925        * WebView/WebView.mm:
8926        (-[WebView _close]): Null out _private->page before deleting the page, so code called
8927        during destruction don't access a half deleted Page object.
8928
89292010-05-10  Anders Carlsson  <andersca@apple.com>
8930
8931        Unbreak the world. (Fix Mac builds).
8932
8933        * Plugins/Hosted/WebKitPluginHostTypes.h:
8934
89352010-05-10  Anders Carlsson  <andersca@apple.com>
8936
8937        Reviewed by Simon Fraser.
8938
8939        Change the order of the RendererType enum values, so that old versions of WebKitPluginHost will
8940        use accelerated compositing and not layer backed views.
8941
8942        * Plugins/Hosted/WebKitPluginHostTypes.h:
8943
89442010-05-07  Anders Carlsson  <andersca@apple.com>
8945
8946        Reviewed by Sam Weinig and Simon Fraser.
8947
8948        <rdar://problem/7947356>
8949        QT Plug-in in hardware-accelerated WebKit is missing the controller
8950
8951        Replace the useSoftwareRenderer boolean with an enum that lets the plug-in host opt into using a layer
8952        backed NSView instead of inserting the layer into the WebCore layer hierarchy.
8953
8954        * Plugins/Hosted/NetscapePluginHostManager.mm:
8955        (WebKit::NetscapePluginHostManager::instantiatePlugin):
8956        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8957        (WKPCInstantiatePluginReply):
8958        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8959        (WebKit::NetscapePluginInstanceProxy::rendererType):
8960        (WebKit::NetscapePluginInstanceProxy::setRendererType):
8961        (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply):
8962        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8963        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
8964        Replace the useSoftwareRenderer boolean everywhere with the RendererType enum.
8965
8966        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8967        (-[WebHostedNetscapePluginView createPlugin]):
8968        Only go into full compositing mode when the renderer type returned is UseAcceleratedCompositing.
8969        Otherwise, use a layer backed NSView.
8970
8971        * Plugins/Hosted/WebKitPluginHostTypes.h:
8972        Add a RendererType enum.
8973
89742010-05-06  Anders Carlsson  <andersca@apple.com>
8975
8976        Reviewed by Darin Adler and Dan Bernstein..
8977
8978        REGRESSION (r51617): when plugins are disabled, plugins show up as garbage characters
8979        https://bugs.webkit.org/show_bug.cgi?id=38698
8980        <rdar://problem/7942075>
8981
8982        When the plug-in database is initialized, we will register all the MIME types it supports with the global
8983        WebView dictionary. When plug-ins are disabled for a single web view, the MIME types still need to be
8984        in the global mapping (because other web views might still have plug-ins enabled).
8985
8986        Prior to r51617 we would always look at the plug-in database to determine that the MIME type belongs to a
8987        plug-in, but now we won't even touch the plug-in database when plug-ins are disabled.
8988
8989        In order to fix this, a new set of registered MIME types that are known to be plug-ins is added. When
8990        +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:] is called and allowingPlugins is FALSE
8991        we check if the MIME type is a known plug-in MIME type and return false in that case.
8992
8993        * Plugins/WebPluginDatabase.mm:
8994        (-[WebPluginDatabase refresh]):
8995        (-[WebPluginDatabase _removePlugin:]):
8996        * WebView/WebView.mm:
8997        (knownPluginMIMETypes):
8998        (+[WebView _registerPluginMIMEType:]):
8999        (+[WebView _unregisterPluginMIMEType:]):
9000        (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
9001        * WebView/WebViewInternal.h:
9002
90032010-05-06  Dan Bernstein  <mitz@apple.com>
9004
9005        Reviewed by Simon Fraser.
9006
9007        <rdar://problem/7951285> REGRESSION (r58847): Composited iframe content obscures Safari's application chrome
9008
9009        Fixed this other regression from r58847. The regression was caused by overriding -visibleRect to
9010        return the WebClipView’s full bounds. AppKit uses -visibleRect to determine the geometry
9011        of the surface for the child WebFrameView. The fix is to restrict the special behavior of
9012        -[WebClipView visibleRect] to when AppKit is consulting it for the purpose of invalidating
9013        areas while scrolling.
9014
9015        * WebView/WebClipView.h:
9016        * WebView/WebClipView.mm:
9017        (-[WebClipView visibleRect]): If the WebClipView is not scrolling, always return
9018        [super visibleRect].
9019        (-[WebClipView _immediateScrollToPoint:]): Override this internal NSClipView method
9020        to set a flag telling -visibleRect that the view is scrolling.
9021        * WebView/WebView.mm:
9022        (layerSyncRunLoopObserverCallBack): Ensure that screen updates, disabled by AppKit
9023        when it thinks an upcoming window flush will re-enable them, are enabled here in
9024        case the -setNeedsDisplayInRect: override has prevented the window from needing to be
9025        flushed.
9026
90272010-05-06  Steve Block  <steveblock@google.com>
9028
9029        Reviewed by Eric Seidel.
9030
9031        MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
9032        https://bugs.webkit.org/show_bug.cgi?id=38544
9033
9034        * WebCoreSupport/WebFrameLoaderClient.h:
9035        * WebCoreSupport/WebFrameLoaderClient.mm:
9036
90372010-05-05  Dan Bernstein  <mitz@apple.com>
9038
9039        Reviewed by Mark Rowe.
9040
9041        Fixed a crash when closing Top Sites after r58847.
9042
9043        * WebView/WebFrameView.mm:
9044        (-[WebFrameView webFrame]): Null-check _private.
9045
90462010-05-05  Dan Bernstein  <mitz@apple.com>
9047
9048        Rubber-stamped by Mark Rowe.
9049
9050        Fixed test crashes after r58847.
9051
9052        * WebView/WebHTMLView.mm:
9053        (setNeedsDisplayInRect): Null-check the frame.
9054
90552010-05-05  Dan Bernstein  <mitz@apple.com>
9056
9057        Reviewed by Simon Fraser.
9058
9059        <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
9060        https://bugs.webkit.org/show_bug.cgi?id=38427
9061
9062        * WebView/WebClipView.m: Renamed to WebClipView.mm.
9063        * WebView/WebClipView.mm:
9064        (-[WebClipView visibleRect]): Added this override, which for instances used for WebFrameViews in
9065        composited layers, returns the clip view’s entire bounds. This prevents drawing from being clipped to
9066        AppKit’s idea of what part of the view would be visible if it was drawn as part of the view hierarchy.
9067        Since it is drawn into a compositing layer, that’s irrelevant, and we should not be clipping.
9068        * WebView/WebHTMLView.mm:
9069        (setCursor): Style tweak.
9070        (setNeedsDisplayInRect): Added. Replaces the default implementation of -[NSView setNeedsDisplayInRect:],
9071        so that if the receiver is a descendant of a WebFrameView that draws into a composited layer, the invalidation
9072        is routed back through the WebCore FrameView, which propagates it to the layer.
9073        (+[WebHTMLViewPrivate initialize]): Swizzle the setNeedsDisplayInRect: override in.
9074        (-[WebHTMLView visibleRect]): Removed whitespace.
9075        * WebView/WebView.mm:
9076        (layerSyncRunLoopObserverCallBack): If we bailed out on syncing, due to pending layout, do an eager layout
9077        in preparation for the displaying of compositing layers.
9078
90792010-05-05  John Sullivan  <sullivan@apple.com>
9080
9081        <rdar://problem/7942606> Output appears in Console when exiting Safari with multiple windows opened
9082
9083        Reviewed by Mark Rowe.
9084
9085        * WebView/WebView.mm:
9086        (+[WebView closeAllWebViews]):
9087        Make copy of allWebViewsSet to avoid mutating it while iterating through it.
9088
90892010-05-04  Simon Fraser  <simon.fraser@apple.com>
9090
9091        Reviewed by Dan Bernstein.
9092
9093        Improve check for drawing into the window that was added in r58623
9094        https://bugs.webkit.org/show_bug.cgi?id=38562
9095
9096        Rather than assuming that any non-bitmap context is the window's context,
9097        compare the current graphics context with -[NSWindow graphicsContext] to
9098        determine that we're drawing into the window.
9099
9100        * WebView/WebHTMLView.mm:
9101        (-[WebHTMLView drawRect:]):
9102
91032010-05-04  Ada Chan  <adachan@apple.com>
9104
9105        Reviewed by David Kilzer.
9106
9107        https://bugs.webkit.org/show_bug.cgi?id=38555
9108
9109        Small code refactoring: move the logic to figure out the path to the
9110        databases directory to another method.
9111
9112        * Storage/WebDatabaseManager.mm:
9113        (databasesDirectoryPath):
9114        (WebKitInitializeDatabasesIfNecessary):
9115
91162010-05-04  Beth Dakin  <bdakin@apple.com>
9117
9118        Reviewed by Mike Thole.
9119
9120        Fix for <rdar://problem/7818509> Crash occurs when exiting Safari
9121
9122        We can avoid this crash if we call [self _removeFromAllWebViewsSet]
9123        even in the case when we are doing a fastDocumentTeardown. This is
9124        a much safer approach.
9125        * WebView/WebView.mm:
9126        (-[WebView _close]):
9127
91282010-05-03  Abhishek Arya  <inferno@chromium.org>
9129
9130        Reviewed by Adam Barth.
9131
9132        Add support for controlling clipboard access from javascript.
9133        Clipboard access from javascript is disabled by default.
9134        https://bugs.webkit.org/show_bug.cgi?id=27751
9135
9136        * WebView/WebPreferenceKeysPrivate.h:
9137        * WebView/WebPreferences.mm:
9138        (+[WebPreferences initialize]):
9139        (-[WebPreferences javaScriptCanAccessClipboard]):
9140        (-[WebPreferences setJavaScriptCanAccessClipboard:]):
9141        * WebView/WebPreferencesPrivate.h:
9142        * WebView/WebView.mm:
9143        (-[WebView _preferencesChangedNotification:]):
9144
91452010-05-03  Jens Alfke  <snej@chromium.org>
9146
9147        Reviewed by Darin Fisher.
9148
9149        [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
9150        https://bugs.webkit.org/show_bug.cgi?id=38397
9151
9152        No tests (functionality is exposed only through native WebKit API.)
9153
9154        * WebCoreSupport/WebFrameLoaderClient.h:
9155        (WebFrameLoaderClient::dispatchWillSendSubmitEvent):
9156
91572010-04-30  Simon Fraser  <simon.fraser@apple.com>
9158
9159        Reviewed by Dan Bernstein.
9160
9161        <rdar://problem/7477071> REGRESSION: Bad flicker when wheel-scrolling Google Maps, iPad gallery and other sites
9162
9163        Sites that frequently toggle content in and out of compositing layers (like http://www.tumblr.com/boothed)
9164        can cause flickering because of unsychronized compositing layer and view-based updates. There were two
9165        underlying issues:
9166
9167        1. On SnowLeopard, AppKit can throttle window updates, thus breaking an assumption that
9168           NSView drawing will happen on the runloop cycle after a repaint. This provided a window
9169           for the layerSyncRunLoopObserver to fire and commit layer changes too early.
9170
9171           Fix this by having the layerSyncRunLoopObserver in WebView check to see if a display is pending,
9172           and not commit layer changes in that case. We'll commit layer changes later when we
9173           finally draw.
9174
9175        2. The change in r49269 was wrong; it was attempting to fix an issue that was actually caused
9176           by -drawRects: coming in for page snapshots. The correct approach is to avoid hitting the
9177           synchronization and update disabling code in WebHTMLView for draws that are not to the screen.
9178
9179        * WebView/WebHTMLView.mm:
9180        (-[WebHTMLView drawRect:]):
9181        * WebView/WebView.mm:
9182        (layerSyncRunLoopObserverCallBack):
9183        (-[WebView _scheduleCompositingLayerSync]):
9184
91852010-04-30  Anders Carlsson  <andersca@apple.com>
9186
9187        Part of the previous part (forgot to save).
9188
9189        * Plugins/WebNetscapePluginView.mm:
9190        (-[WebNetscapePluginView stopTimers]):
9191        (-[WebNetscapePluginView startTimers]):
9192        (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
9193        (-[WebNetscapePluginView _containerCheckResult:contextInfo:]):
9194        (-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]):
9195        (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
9196        (-[WebNetscapePluginView unscheduleTimer:]):
9197        (-[WebNetscapePluginView getVariable:forURL:value:length:]):
9198        (-[WebNetscapePluginView setVariable:forURL:value:length:]):
9199
92002010-04-30  Anders Carlsson  <andersca@apple.com>
9201
9202        Reviewed by Darin Adler.
9203
9204        Use C99 integer types in more places.
9205
9206        * Plugins/WebNetscapePluginView.mm:
9207        (getNPRect):
9208
92092010-04-30  Anders Carlsson  <andersca@apple.com>
9210
9211        Fix Tiger build.
9212
9213        * Plugins/WebBaseNetscapePluginStream.h:
9214        * Plugins/WebBaseNetscapePluginStream.mm:
9215        (WebNetscapePluginStream::startStream):
9216
92172010-04-30  Anders Carlsson  <andersca@apple.com>
9218
9219        Another 32-bit build fix.
9220
9221        * Plugins/WebNetscapePluginView.mm:
9222        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
9223
92242010-04-30  Anders Carlsson  <andersca@apple.com>
9225
9226        Fix 32-bit build (again).
9227
9228        * Plugins/WebNetscapeContainerCheckContextInfo.h:
9229        * Plugins/WebNetscapeContainerCheckContextInfo.mm:
9230        (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
9231        (-[WebNetscapeContainerCheckContextInfo checkRequestID]):
9232        (-[WebNetscapeContainerCheckContextInfo callback]):
9233        * Plugins/WebNetscapePluginPackage.h:
9234
92352010-04-30  Anders Carlsson  <andersca@apple.com>
9236
9237        Fix 32-bit build.
9238
9239        * Plugins/WebNetscapeContainerCheckContextInfo.h:
9240        * Plugins/WebNetscapeContainerCheckContextInfo.mm:
9241        (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
9242        * Plugins/WebNetscapeContainerCheckPrivate.h:
9243        * Plugins/WebNetscapePluginPackage.mm:
9244        (functionPointerForTVector):
9245        * Plugins/WebNetscapePluginView.mm:
9246        (PluginTimer::PluginTimer):
9247        (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
9248        (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
9249
92502010-04-30  Anders Carlsson  <andersca@apple.com>
9251
9252        Reviewed by Timothy Hatcher.
9253
9254        Next step towards fixing
9255
9256        https://bugs.webkit.org/show_bug.cgi?id=20784
9257        move npapi.h to C99 integer types
9258
9259        Use the C99 types everywhere. The "old" types are still around but will be removed
9260        in a subsequent commit.
9261
9262        * Plugins/WebBaseNetscapePluginStream.h:
9263        * Plugins/WebBaseNetscapePluginStream.mm:
9264        (WebNetscapePluginStream::deliverData):
9265        * Plugins/WebNetscapePluginView.h:
9266        * Plugins/WebNetscapePluginView.mm:
9267        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
9268        (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
9269        * Plugins/npapi.mm:
9270        (NPN_MemAlloc):
9271        (NPN_MemFlush):
9272        (NPN_PostURLNotify):
9273        (NPN_PostURL):
9274        (NPN_Write):
9275        (NPN_ScheduleTimer):
9276        (NPN_UnscheduleTimer):
9277        (NPN_GetValueForURL):
9278        (NPN_SetValueForURL):
9279        (NPN_GetAuthenticationInfo):
9280        (WKN_CheckIfAllowedToLoadURL):
9281        (WKN_CancelCheckIfAllowedToLoadURL):
9282
92832010-04-29  Anders Carlsson  <andersca@apple.com>
9284
9285        Reviewed by Dan Bernstein.
9286
9287        First part of
9288        https://bugs.webkit.org/show_bug.cgi?id=20784
9289        move npapi.h to C99 integer types.
9290
9291        * MigrateHeaders.make:
9292
92932010-04-28  Mike Thole  <mthole@apple.com>
9294
9295        Reviewed by David Kilzer.
9296
9297        Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space
9298        can be inspected before attempting to authenticate against it
9299        https://bugs.webkit.org/show_bug.cgi?id=38271
9300
9301        * WebCoreSupport/WebFrameLoaderClient.h:
9302        * WebCoreSupport/WebFrameLoaderClient.mm:
9303        (WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
9304        Added.  If the resource load delegate implements the callback, use its answer.  If it does
9305        not, then only send authentication challenges for pre-10.6 protection spaces, which matches
9306        CFNetwork's default behavior.
9307        * WebView/WebDelegateImplementationCaching.h:
9308        * WebView/WebDelegateImplementationCaching.mm:
9309        (CallResourceLoadDelegateReturningBoolean): Added case for passing three objects.
9310        * WebView/WebResourceLoadDelegatePrivate.h:
9311        Added private SPI definition: webView:resource:canAuthenticateAgainstProtectionSpace:forDataSource:
9312        * WebView/WebView.mm:
9313        (-[WebView _cacheResourceLoadDelegateImplementations]):
9314
93152010-04-28  Simon Fraser  <simon.fraser@apple.com>
9316
9317        Reviewed by Sam Weinig.
9318
9319        <rdar://problem/7918719> ASSERT(isMainThread()) from Font::setShouldUseSmoothing()
9320
9321        Ensure that the WebView +initialize method initializes threading, so that things are correctly
9322        initialized when the first call into the WebKit framework is via a WebView class method.
9323
9324        * WebView/WebView.mm:
9325        (+[WebView initialize]):
9326
93272010-04-28  Darin Adler  <darin@apple.com>
9328
9329        Reviewed by Adele Peterson.
9330
9331        REGRESSION: Autoscroll does not work in Mail messages
9332        https://bugs.webkit.org/show_bug.cgi?id=38267
9333        rdar://problem/7559799
9334
9335        The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
9336        view had gotten broken in multiple ways. For some reason, a combination of bugs made it
9337        partly work until around r48064. This brings it back.
9338
9339        * WebCoreSupport/WebChromeClient.mm:
9340        (WebChromeClient::scrollRectIntoView): When converting coordinates, use the document view
9341        rather than the WebView itself. This logic may not be correct for the case where
9342        usesDocumentViews is NO, but that is currently an experimental mode and can be fixed later.
9343
93442010-04-27  Shinichiro Hamaji  <hamaji@chromium.org>
9345
9346        Reviewed by Darin Adler and Eric Seidel.
9347
9348        Add layoutTestController.setPrinting()
9349        https://bugs.webkit.org/show_bug.cgi?id=37203
9350
9351        * Misc/WebCoreStatistics.h:
9352        * Misc/WebCoreStatistics.mm:
9353        (-[WebFrame renderTreeAsExternalRepresentationForPrinting:]):
9354
93552010-04-25  Sam Weinig  <sam@webkit.org>
9356
9357        Reviewed by Maciej Stachowiak.
9358
9359        Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
9360        Disentangle initializing the main thread from initializing threading
9361
9362        Calls initializeMainThreadToProcessMainThread since there is no way to ensure
9363        that the initialize method will be called on the main thread.
9364
9365        * Carbon/CarbonWindowAdapter.mm:
9366        (+[CarbonWindowAdapter initialize]): Add call to initializeMainThreadToProcessMainThread.
9367        * History/WebBackForwardList.mm:
9368        (+[WebBackForwardList initialize]): Ditto.
9369        * History/WebHistoryItem.mm:
9370        (+[WebHistoryItem initialize]): Ditto.
9371        * Misc/WebElementDictionary.mm:
9372        (+[WebElementDictionary initialize]): Ditto.
9373        * Misc/WebIconDatabase.mm:
9374        (+[WebIconDatabase initialize]): Ditto.
9375        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
9376        (+[WebHostedNetscapePluginView initialize]): Ditto.
9377        * Plugins/WebBaseNetscapePluginView.mm:
9378        (+[WebBaseNetscapePluginView initialize]): Ditto.
9379        * Plugins/WebBasePluginPackage.mm:
9380        (+[WebBasePluginPackage initialize]): Ditto.
9381        * Plugins/WebNetscapePluginView.mm:
9382        (+[WebNetscapePluginView initialize]): Ditto.
9383        * WebCoreSupport/WebEditorClient.mm:
9384        (+[WebEditCommand initialize]): Ditto.
9385        * WebCoreSupport/WebFrameLoaderClient.mm:
9386        (+[WebFramePolicyListener initialize]): Ditto.
9387        * WebView/WebArchive.mm:
9388        (+[WebArchivePrivate initialize]): Ditto.
9389        * WebView/WebDataSource.mm:
9390        (+[WebDataSourcePrivate initialize]): Ditto.
9391        * WebView/WebHTMLView.mm:
9392        (+[WebHTMLViewPrivate initialize]): Ditto.
9393        (+[WebHTMLView initialize]): Ditto.
9394        * WebView/WebResource.mm:
9395        (+[WebResourcePrivate initialize]): Ditto.
9396        * WebView/WebTextIterator.mm:
9397        (+[WebTextIteratorPrivate initialize]): Ditto.
9398        * WebView/WebView.mm:
9399        * WebView/WebViewData.mm: Ditto.
9400        (+[WebViewPrivate initialize]): Ditto.
9401
94022010-04-24  Dan Bernstein  <mitz@apple.com>
9403
9404        Reviewed by Darin Adler.
9405
9406        <rdar://problem/7903728> REGRESSION (r51617): WebView fails to load plug-in MIME types
9407        https://bugs.webkit.org/show_bug.cgi?id=38085
9408
9409        WebView was calling -_webView in a few places where it should have just used itself. It never
9410        makes sense for WebView to call -_webView on itself, and these calls look like they were copied
9411        from similar code in WebHTMLView, WebFrameView and WebDataSource, where -_webView has a different,
9412        useful meaning.
9413
9414        * WebView/WebView.mm:
9415        (-[WebView drawSingleRect:]): Replaced [self _webView] with self.
9416        (-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Replaced [[self _webView] preferences]
9417        with _private->preferences.
9418        (-[WebView _canShowMIMEType:]): Ditto.
9419
94202010-04-23  Simon Fraser  <simon.fraser@apple.com>
9421
9422        Reviewed by Anders Carlsson.
9423
9424        <rdar://problem/7894489> When printing Flash, send a drawRect event, rather than NPPrint
9425
9426        When printing Flash plug-ins in 32-bit, send a drawRect event with a CGContextRef, rather than calling
9427        NPPrint with a GWorldPtr, since Flash prefers the CGContext path.
9428
9429        * Plugins/WebNetscapePluginView.mm:
9430        (-[WebNetscapePluginView drawRect:]):
9431
94322010-04-22  David Kilzer  <ddkilzer@apple.com>
9433
9434        <http://webkit.org/b/38029> +[WebTextIteratorPrivate initialize] is missing call to JSC::initializeThreading()
9435
9436        Reviewed by Timothy Hatcher.
9437
9438        Every other Objective-C class that calls
9439        WebCoreObjCFinalizeOnMainThread(self) in +initialize also calls
9440        JSC::initializeThreading().  The WebTextIteratorPrivate class
9441        was the only one missing this call.
9442
9443        * WebView/WebTextIterator.mm:
9444        (+[WebTextIteratorPrivate initialize]): Added call to
9445        JSC::initializeThreading().
9446
94472010-04-22  Alexey Proskuryakov  <ap@apple.com>
9448
9449        Rubber-stamped by Mark Rowe.
9450
9451        <rdar://problem/7805969> REGRESSION: iTunes unable to play trailers
9452
9453        Undo the changes made for https://bugs.webkit.org/show_bug.cgi?id=35215 (<rdar://problem/7673157>)
9454        for now. Clients rely on the old behavior, so a fix that changes it will need to account for
9455        those.
9456
9457        * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Pass pluginURL
9458        instead of baseURL again.
9459
94602010-04-22  Dave Moore  <davemoore@chromium.org>
9461
9462        Reviewed by Dimitri Glazkov.
9463
9464        Added notification when the favicons for a page are changed
9465        from a script.
9466        The Document object will notify the frame loader, which will
9467        notify the client. Implementations of FrameLoaderClient will
9468        have to add one method; dispatchDidChangeIcons().
9469
9470        https://bugs.webkit.org/show_bug.cgi?id=33812
9471
9472        * WebCoreSupport/WebFrameLoaderClient.h:
9473        * WebCoreSupport/WebFrameLoaderClient.mm:
9474        (WebFrameLoaderClient::dispatchDidChangeIcons):
9475
94762010-04-22  Adam Barth  <abarth@webkit.org>
9477
9478        Unreviewed, rolling out r58069.
9479        http://trac.webkit.org/changeset/58069
9480        https://bugs.webkit.org/show_bug.cgi?id=27751
9481
9482        Broke compile on Windows.
9483
9484        * WebView/WebPreferenceKeysPrivate.h:
9485        * WebView/WebPreferences.mm:
9486        (+[WebPreferences initialize]):
9487        * WebView/WebPreferencesPrivate.h:
9488        * WebView/WebView.mm:
9489        (-[WebView _preferencesChangedNotification:]):
9490
94912010-04-22  Abhishek Arya  <inferno@chromium.org>
9492
9493        Reviewed by Adam Barth.
9494
9495        Add support for controlling clipboard access from javascript.
9496        Clipboard access from javascript is disabled by default.
9497        https://bugs.webkit.org/show_bug.cgi?id=27751
9498
9499        * WebView/WebPreferenceKeysPrivate.h:
9500        * WebView/WebPreferences.mm:
9501        (+[WebPreferences initialize]):
9502        (-[WebPreferences javaScriptCanAccessClipboard]):
9503        (-[WebPreferences setJavaScriptCanAccessClipboard:]):
9504        * WebView/WebPreferencesPrivate.h:
9505        * WebView/WebView.mm:
9506        (-[WebView _preferencesChangedNotification:]):
9507
95082010-04-21  Alexey Proskuryakov  <ap@apple.com>
9509
9510        Reviewed by Shinichiro Hamaji.
9511
9512        https://bugs.webkit.org/show_bug.cgi?id=37964
9513        Fix a typo in comments - Korean encoding name is windows-949, not windows-939
9514
9515        * WebView/WebPreferences.mm: (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):
9516
95172010-04-21  Mark Rowe  <mrowe@apple.com>
9518
9519        Tiger build fix.
9520
9521        * Plugins/WebPluginController.mm: Add an #import that is necessary on Tiger.
9522
95232010-04-21  Mark Rowe  <mrowe@apple.com>
9524
9525        Reviewed by Eric Carlson.
9526
9527        <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
9528
9529        Existing versions of the Flip4Mac WebKit plug-in have an object lifetime bug related to an NSAlert that is
9530        used to notify the user about updates to the plug-in. This bug can result in Safari crashing if the page
9531        containing the plug-in navigates while the alert is displayed (<rdar://problem/7313430>).
9532
9533        The gist of the bug is thus: Flip4Mac sets an instance of the TSUpdateCheck class as the modal delegate of the
9534        NSAlert instance. This TSUpdateCheck instance itself has a delegate. The delegate is set to the WmvPlugin
9535        instance which is the NSView subclass that is exposed to WebKit as the plug-in view. Since this relationship
9536        is that of delegates the TSUpdateCheck does not retain the WmvPlugin. This leads to a bug if the WmvPlugin
9537        instance is destroyed before the TSUpdateCheck instance as the TSUpdateCheck instance will be left with a
9538        pointer to a stale object. This will happen if a page containing the Flip4Mac plug-in triggers a navigation
9539        while the update sheet is visible as the WmvPlugin instance is removed from the view hierarchy and there are
9540        no other references to keep the object alive.
9541
9542        We work around this bug by patching the following two messages:
9543
9544        1) -[NSAlert beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:]
9545        2) -[TSUpdateCheck alertDidEnd:returnCode:contextInfo:]
9546
9547        Our override of 1) detects whether it is Flip4Mac's update sheet triggering the alert by checking whether the
9548        modal delegate is an instance of TSUpdateCheck. If it is, it retains the modal delegate's delegate.
9549
9550        Our override of 2) then autoreleases the delegate, balancing the retain we added in 1).
9551
9552        These two overrides have the effect of ensuring that the WmvPlugin instance will always outlive the TSUpdateCheck
9553        instance, preventing the TSUpdateCheck instance from accessing a stale delegate pointer and crashing the application.
9554
9555        * Plugins/WebPluginController.mm:
9556        (-[WebPluginController addPlugin:]): Check whether the plug-in being instantiated is the Flip4Mac plug-in and
9557        install our workaround if it is.
9558        (isKindOfClass): Helper function that checks whether the given object is an instance of the named class.
9559        (WebKit_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_): Autorelease the delegate.
9560        (WebKit_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_): Retain the modal delegate's
9561        delegate if this NSAlert belongs to the Flip4Mac plug-in.
9562        (installFlip4MacPlugInWorkaroundIfNecessary): Swizzle the necessary methods.  We swizzle the TSUpdateCheck methods
9563        first since it is possible that in some versions of Flip4Mac the TSUpdateCheck class may not exist or may not have
9564        the method we're interested in.  In that case we want to bail out before patching any methods.
9565
95662010-04-20  Mark Rowe  <mrowe@apple.com>
9567
9568        Reviewed by Maciej Stachowiak.
9569
9570        <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
9571
9572        An interaction between the plug-in host and WebKit was resulting in WKPCSetModal being called while
9573        NetscapePluginInstanceProxy was waiting on a reply to the GetScriptableNPObject message. This resulted
9574        in calls to stop the plug-in being deferred due to the presence of plug-in code up the stack.  This
9575        could lead to crashes as it was possible for the plug-in view to be deallocated during the modal runloop.
9576
9577        * Plugins/Hosted/NetscapePluginHostProxy.mm:
9578        (WKPCInvalidateRect):
9579        (WKPCSetModal): Defer the handling of setModal until the next runloop iteration if the host proxy
9580        is already processing requests.  This ensures that there will be no plug-in code on the stack when
9581        the modal runloop is entered, which allows the plug-in to be stopped when the page is navigated while
9582        a modal dialog is displayed.
9583
95842010-04-20  Adam Barth  <abarth@webkit.org>
9585
9586        Reviewed by Eric Seidel.
9587
9588        Factor DocumentWriter out of FrameLoader
9589        https://bugs.webkit.org/show_bug.cgi?id=37175
9590
9591        Update these callsites because the method moved to DocumentWriter.
9592
9593        * WebView/WebFrame.mm:
9594        (-[WebFrame _canProvideDocumentSource]):
9595        (-[WebFrame _receivedData:textEncodingName:]):
9596
95972010-04-20  Kent Tamura  <tkent@chromium.org>
9598
9599        Reviewed by Darin Adler.
9600
9601        Change a parameter type of chooseIconForFiles()
9602        https://bugs.webkit.org/show_bug.cgi?id=37504
9603
9604        * WebCoreSupport/WebChromeClient.h:
9605        * WebCoreSupport/WebChromeClient.mm:
9606        (WebChromeClient::chooseIconForFiles):
9607
96082010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
9609
9610        Unreviewed, rolling out r57892.
9611        http://trac.webkit.org/changeset/57892
9612        https://bugs.webkit.org/show_bug.cgi?id=37864
9613
9614        Caused an assertion in Mac builds (Requested by smfr on
9615        #webkit).
9616
9617        * WebView/WebFrame.mm:
9618        (-[WebFrame _getVisibleRect:]):
9619        * WebView/WebFrameView.mm:
9620        (-[WebFrameView _install]):
9621
96222010-04-20  Simon Fraser  <simon.fraser@apple.com>
9623
9624        Reviewed by Dan Bernstein.
9625
9626        Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
9627        https://bugs.webkit.org/show_bug.cgi?id=37741
9628
9629        Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
9630        RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
9631
9632        * WebView/WebFrame.mm:
9633        (-[WebFrame _getVisibleRect:]):
9634        * WebView/WebFrameView.mm:
9635        (-[WebFrameView _install]):
9636
96372010-04-19  Dan Bernstein  <mitz@apple.com>
9638
9639        Reviewed by Sam Weinig.
9640
9641        Finish exposing extremal shrink factors WebHTMLView uses when shrinking pages to fit in the
9642        printing width as SPI.
9643
9644        * WebKit.exp: Export _WebHTMLViewPrintingMinimumShrinkFactor and _WebHTMLViewPrintingMaximumShrinkFactor.
9645
96462010-04-15  Gavin Barraclough  <barraclough@apple.com>
9647
9648        Reviewed by Sam Weinig & Oliver Hunt.
9649
9650        https://bugs.webkit.org/show_bug.cgi?id=37675
9651        Remove casts/constructors to/from JSC::UString type from WebCore::String
9652
9653        WebCore's strings should not know about JSC::UString, this should be abstracted
9654        away in the bindings.  Add explicit conversion methods rather than relying on
9655        overloaded cast operators / constructors being implicitly called.
9656
9657        This patch only changes the class String, once this has landed StringImpl, and
9658        hopefully AtomicString too, should follow suit.
9659
9660        * Plugins/Hosted/NetscapePluginHostProxy.mm:
9661        (identifierFromIdentifierRep):
9662        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
9663        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
9664        (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
9665        * Plugins/Hosted/ProxyInstance.mm:
9666        (WebKit::ProxyInstance::getPropertyNames):
9667        * WebView/WebFrame.mm:
9668        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
9669        (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
9670        * WebView/WebScriptDebugDelegate.mm:
9671        (-[WebScriptCallFrame evaluateWebScript:]):
9672        * WebView/WebScriptDebugger.mm:
9673        (toNSURL):
9674        * WebView/WebView.mm:
9675        (aeDescFromJSValue):
9676
96772010-04-16  Dan Bernstein  <mitz@apple.com>
9678
9679        Reviewed by John Sullivan.
9680
9681        Expose the extremal shrink factors WebHTMLView uses when shrinking pages to fit in the
9682        printing width as SPI.
9683
9684        * WebView/WebHTMLView.mm:
9685        Replaced two macros with constants.
9686        (-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Changed to use the constants.
9687        (-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto.
9688        * WebView/WebHTMLViewPrivate.h: Declared _WebHTMLViewPrintingMinimumShrinkFactor and
9689        _WebHTMLViewPrintingMaximumShrinkFactor.
9690
96912010-04-15  Mark Rowe  <mrowe@apple.com>
9692
9693        Reviewed by Sam Weinig.
9694
9695        <rdar://problem/7870651> WebDynamicScrollBarsView.h generates compile errors when included in plain Objective-C files.
9696
9697        * WebView/WebDynamicScrollBarsView.h:
9698
96992010-04-15  Adam Roben  <aroben@apple.com>
9700
9701        Export WebUserContentURLPattern from WebKit
9702
9703        Rubber-stamped by Mark Rowe.
9704
9705        * WebKit.exp:
9706
97072010-04-15  Dan Bernstein  <mitz@apple.com>
9708
9709        Reviewed by Simon Fraser.
9710
9711        Made consecutive calls to -[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:] work
9712        without intermediate calls -[WebHTMLView _endPrintMode].
9713
9714        * WebView/WebHTMLView.mm:
9715        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
9716
97172010-04-15  Adam Roben  <aroben@apple.com>
9718
9719        Expose UserContentURLPattern as WebKit SPI
9720
9721        Fixes <http://webkit.org/b/37354>.
9722
9723        Reviewed by Tim Hatcher.
9724
9725        * Misc/WebUserContentURLPattern.h: Added.
9726
9727        * Misc/WebUserContentURLPattern.mm: Added.
9728        (-[WebUserContentURLPattern initWithPatternString:]): Initialize
9729        _private and then parse the passed-in string into a
9730        UserContentURLPattern.
9731        (-[WebUserContentURLPattern dealloc]): Release _private.
9732
9733        (-[WebUserContentURLPattern isValid]):
9734        (-[WebUserContentURLPattern scheme]):
9735        (-[WebUserContentURLPattern host]):
9736        (-[WebUserContentURLPattern matchesSubdomains]):
9737        Call through to UserContentURLPattern.
9738
97392010-04-13  Geoffrey Garen  <ggaren@apple.com>
9740
9741        Reviewed by Oliver Hunt.
9742
9743        Separated a DOMWrapperWorld's behavior of keeping wrappers alive from
9744        its own lifetime, so a DOMWrapperWorld's controller can throw away
9745        its wrappers even before its refcount reaches 0.
9746
9747        * WebView/WebScriptWorld.h:
9748        * WebView/WebScriptWorld.mm:
9749        (-[WebScriptWorld unregisterWorld]): Exported this function through WebKit.
9750
97512010-04-12  Timothy Hatcher  <timothy@apple.com>
9752
9753        SecurityOrigin needs a way to remove individual OriginAccessEntries
9754        https://bugs.webkit.org/show_bug.cgi?id=37449
9755
9756        Reviewed by Dave Hyatt.
9757
9758        * WebView/WebView.mm:
9759        (+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
9760        Call SecurityOrigin::removeOriginAccessWhitelistEntry.
9761        * WebView/WebViewPrivate.h: Added _removeOriginAccessWhitelistEntryWithSourceOrigin.
9762
97632010-04-13  Timothy Hatcher  <timothy@apple.com>
9764
9765        Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
9766        And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
9767
9768        SecurityOrigin needs a way to remove individual OriginAccessEntries
9769        https://bugs.webkit.org/show_bug.cgi?id=37449
9770
9771        Reviewed by Dave Hyatt.
9772
9773        * WebView/WebView.mm:
9774        (+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
9775        (+[WebView _resetOriginAccessWhitelists]):
9776        * WebView/WebViewPrivate.h:
9777
97782010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>
9779
9780        Unreviewed, rolling out r57468.
9781        http://trac.webkit.org/changeset/57468
9782        https://bugs.webkit.org/show_bug.cgi?id=37433
9783
9784        Broke the world...  Must have applied the patch wrong
9785        (Requested by abarth on #webkit).
9786
9787        * WebView/WebFrame.mm:
9788        (-[WebFrame _canProvideDocumentSource]):
9789        (-[WebFrame _receivedData:textEncodingName:]):
9790
97912010-04-11  Adam Barth  <abarth@webkit.org>
9792
9793        Reviewed by Eric Seidel.
9794
9795        Factor DocumentWriter out of FrameLoader
9796        https://bugs.webkit.org/show_bug.cgi?id=37175
9797
9798        Update these callsites because the method moved to DocumentWriter.
9799
9800        * WebView/WebFrame.mm:
9801        (-[WebFrame _canProvideDocumentSource]):
9802        (-[WebFrame _receivedData:textEncodingName:]):
9803
98042010-04-10  Mark Rowe  <mrowe@apple.com>
9805
9806        Reviewed by Dan Bernstein.
9807
9808        <rdar://problem/7845305> Further adoption of formal protocols for delegates.
9809
9810        Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places.
9811
9812        * Misc/EmptyProtocolDefinitions.h: Removed.
9813        * Misc/WebDownload.mm:
9814        * WebKitPrefix.h:
9815
98162010-04-09  Jer Noble  <jer.noble@apple.com>
9817
9818        Reviewed by Darin Adler.
9819
9820        Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead.
9821        https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993>
9822
9823        * WebView/WebVideoFullscreenController.mm:
9824        (-[WebVideoFullscreenController windowDidLoad]):
9825        (-[WebVideoFullscreenController setMediaElement:WebCore::]):
9826
98272010-04-09  Alexey Proskuryakov  <ap@apple.com>
9828
9829        Reviewed by Maciej Stachowiak.
9830
9831        https://bugs.webkit.org/show_bug.cgi?id=24572
9832        XMLHttpRequest.statusText returns always "OK" on Mac
9833
9834        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
9835
98362010-04-09  Eric Seidel  <eric@webkit.org>
9837
9838        Unreviewed, rolling out r57343.
9839        http://trac.webkit.org/changeset/57343
9840        https://bugs.webkit.org/show_bug.cgi?id=37311
9841
9842        Broke Tiger compile.
9843
9844        * WebView/WebVideoFullscreenController.mm:
9845        (-[WebVideoFullscreenController windowDidLoad]):
9846        (-[WebVideoFullscreenController setMediaElement:WebCore::]):
9847
98482010-04-09  Dan Bernstein  <mitz@apple.com>
9849
9850        Reviewed by Darin Adler.
9851
9852        <rdar://problem/7846015> REGRESSION (r57332) - Crash in [WebDynamicScrollBarsView(WebInternal) reflectScrolledClipView:] when opening the Downloads window
9853
9854        * WebView/WebDynamicScrollBarsView.mm:
9855        (-[WebDynamicScrollBarsView initWithCoder:]): Added. Calls super and then initializes _private.
9856
98572010-04-09  Jer Noble  <jer.noble@apple.com>
9858
9859        Reviewed by Darin Adler.
9860
9861        Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead.
9862        https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993>
9863
9864        * WebView/WebVideoFullscreenController.mm:
9865        (-[WebVideoFullscreenController windowDidLoad]):
9866        (-[WebVideoFullscreenController setMediaElement:WebCore::]):
9867
98682010-04-08  Mark Rowe  <mrowe@apple.com>
9869
9870        Reviewed by John Sullivan.
9871
9872        <rdar://problem/7814899> REGRESSION(r56008): iTunes crashes on quit inside -[NSScrollView dealloc]
9873
9874        In r56008 new instance variables were added to WebDynamicScrollBarsView, increasing its size.
9875        This causes problems for 32-bit applications that derive from WebDynamicScrollBarsView, as the
9876        size and layout of their subclasses is baked in at compile time.  This results in instances
9877        being allocated that are smaller than the new code expects, and may result in the new instance
9878        variables sharing the same memory space as any instance variables that the subclass defines.
9879
9880        We can avoid this problem by having the class contain only a single member that acts as a pointer
9881        to a heap-allocated structure that acts as storage for the real instance variables.  This makes
9882        us free to add instance variables in the future without risk of changing the size of the class.
9883        To ensure that 32-bit applications that are built against this new WebDynamicScrollBarsView header
9884        are able to run against older versions of WebKit we pad the class out to its previous size.  This
9885        results in any subclasses of WebDynamicScrollBarsView being created with a layout that is compatible
9886        with both versions of the code.
9887
9888        This change could potentially break a subclass of WebDynamicScrollBarsView that directly accesses
9889        instance variables of its superclass.  However, this is a private header and no known subclasses
9890        of WebDynamicScrollBarsView access superclass instance variables in this fashion.
9891
9892        * WebView/WebDynamicScrollBarsView.h:
9893        * WebView/WebDynamicScrollBarsView.mm:
9894        (-[WebDynamicScrollBarsView initWithFrame:]):
9895        (-[WebDynamicScrollBarsView dealloc]):
9896        (-[WebDynamicScrollBarsView finalize]):
9897        (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
9898        (-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]):
9899        (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
9900        (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
9901        (-[WebDynamicScrollBarsView horizontalScrollingAllowed]):
9902        (-[WebDynamicScrollBarsView verticalScrollingAllowed]):
9903        (-[WebDynamicScrollBarsView contentViewFrame]):
9904        (-[WebDynamicScrollBarsView tile]):
9905        (-[WebDynamicScrollBarsView setSuppressLayout:]):
9906        (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
9907        (-[WebDynamicScrollBarsView updateScrollers]):
9908        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
9909        (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
9910        (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
9911        (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]):
9912        (-[WebDynamicScrollBarsView horizontalScrollingMode]):
9913        (-[WebDynamicScrollBarsView verticalScrollingMode]):
9914        (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
9915        (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
9916        (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
9917        (-[WebDynamicScrollBarsView setScrollingModesLocked:]):
9918        (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
9919        (-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
9920        (-[WebDynamicScrollBarsView scrollWheel:]):
9921
99222010-04-07  David Hyatt  <hyatt@apple.com>
9923
9924        Reviewed by Oliver Hunt.
9925
9926        https://bugs.webkit.org/show_bug.cgi?id=24300, don't expose history info via CSS
9927
9928        Add SPI so that layout tests can access computed style including :visited information.
9929
9930        * WebView/WebRenderNode.mm:
9931        (copyRenderNode):
9932        * WebView/WebView.mm:
9933        (-[WebView _computedStyleIncludingVisitedInfo:forElement:]):
9934        * WebView/WebViewInternal.h:
9935        * WebView/WebViewPrivate.h:
9936
99372010-04-07  Dan Bernstein  <mitz@apple.com>
9938
9939        Reviewed by Adele Peterson.
9940
9941        Refactor WebHTMLView printing code and add private methods to enter and exit printing mode.
9942        https://bugs.webkit.org/show_bug.cgi?id=37246
9943
9944        * Misc/WebNSPrintOperationExtras.h: Declared -_web_availablePaperWidth and -_web_availablePaperHeight.
9945        * Misc/WebNSPrintOperationExtras.m:
9946        (-[NSPrintOperation _web_availablePaperWidth]): Turned -[WebHTMLView _availablePaperWidthForPrintOperation:]
9947        into this method.
9948        (-[NSPrintOperation _web_availablePaperHeight]): Turned -[WebHTMLView _calculatePrintHeight] into this
9949        method.
9950        * WebView/WebHTMLView.mm:
9951        (-[WebHTMLView _isInPrintMode]): Added this accessor.
9952        (-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Added. Moved the code from -knowsPageRange: that
9953        computes the layout widths and enters printing mode into this private method.
9954        (-[WebHTMLView _endPrintMode]): New private method (the old -_endPrintMode has been renamed).
9955        (-[WebHTMLView _scaleFactorForPrintOperation:]): Use -[NSPrintOperation _web_availablePaperWidth].
9956        (-[WebHTMLView _endPrintModeAndRestoreWindowAutodisplay]): Renamed -_endPrintMode to this, changed it to call
9957        _endPrintMode.
9958        (-[WebHTMLView _delayedEndPrintMode:]): Updated for rename.
9959        (-[WebHTMLView knowsPageRange:]): Use -_beginPrintModeWithPageWidth:shrintToFit:,
9960        -[NSPrintOperation _web_availablePaperWidth], and -[NSPrintOperation _web_availablePaperHeight]. Updated for
9961        rename.
9962        (-[WebHTMLView beginDocument]): Updated for rename.
9963        (-[WebHTMLView endDocument]): Ditto.
9964        * WebView/WebHTMLViewPrivate.h: Declared new private methods -_isInPrintMode,
9965        -_beginPrintModeWithPageWidth:shrinkToFit: and -_endPrintMode.
9966
99672010-04-07  Andrey Kosyakov  <caseq@chromium.org>
9968
9969        Reviewed by Yury Semikhatsky.
9970
9971        Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
9972        https://bugs.webkit.org/show_bug.cgi?id=36949
9973
9974        * WebCoreSupport/WebFrameLoaderClient.h:
9975        * WebCoreSupport/WebFrameLoaderClient.mm:
9976
99772010-04-06  Dan Bernstein  <mitz@apple.com>
9978
9979        Tiger build fix after r57184.
9980
9981        * WebView/WebHTMLViewPrivate.h:
9982
99832010-04-06  Dan Bernstein  <mitz@apple.com>
9984
9985        Tiger build fix after r57184.
9986
9987        * WebView/WebHTMLViewPrivate.h:
9988
99892010-04-06  Adam Barth  <abarth@webkit.org>
9990
9991        Unreviewed.
9992
9993        Speculative build fix for Tiger.
9994
9995        * WebView/WebHTMLViewPrivate.h:
9996
99972010-04-06  Dan Bernstein  <mitz@apple.com>
9998
9999        Reviewed by Sam Weinig and Anders Carlsson.
10000
10001        Expose WebHTMLView’s page breaking logic as SPI.
10002
10003        * WebView/WebHTMLView.mm:
10004        (-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]): Factored out of -adjustPageHeightNew:top:bottom:limit:
10005        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Call -_adjustedBottomOfPageWithTop:bottom:limit:
10006        * WebView/WebHTMLViewPrivate.h: Declared -_adjustedBottomOfPageWithTop:bottom:limit:
10007
100082010-04-06  Mark Rowe  <mrowe@apple.com>
10009
10010        Add an #if in order to make Tiger happy.
10011
10012        * WebView/WebViewData.mm:
10013        (-[WebViewPrivate init]):
10014
100152010-04-06  Mark Rowe  <mrowe@apple.com>
10016
10017        Build fix.
10018
10019        * WebView/WebViewData.mm:
10020        (-[WebViewPrivate init]): Use objc_collectingEnabled like we do elsewhere in WebKit.
10021
100222010-04-05  Mark Rowe  <mrowe@apple.com>
10023
10024        Reviewed by Adele Peterson.
10025
10026        Test case for <http://webkit.org/b/37115> / <rdar://problem/7829331>.
10027        REGRESSION(r56989): Crash in Mail in WebCore::Position::isCandidate when deleting block using block deletion UI
10028
10029        * WebView/WebHTMLView.mm:
10030        (-[WebHTMLView _updateFontPanel]): Ask the window whether it is the key window rather than doing the comparison
10031        manually.  This allows DumpRenderTree's override of isKeyWindow to force this code path to be taken during tests.
10032
100332010-04-05  Alexey Proskuryakov  <ap@apple.com>
10034
10035        Reviewed by Darin Adler.
10036
10037        https://bugs.webkit.org/show_bug.cgi?id=37111
10038        <rdar://problem/7790327> Draw replacement text when plug-in host crashes
10039
10040        * Plugins/Hosted/WebHostedNetscapePluginView.h: Removed _pluginDied - it was only used
10041        for drawing replacement icon, and this information is now in WebCore.
10042        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
10043        (-[WebHostedNetscapePluginView pluginHostDied]): Tell RenderEmbeddedObject that the plug-in
10044        has crashed.
10045        (-[WebHostedNetscapePluginView drawRect:]): Removed the case for crashed plug-in host. It is
10046        handled by WebCore now.
10047
10048        * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory crashedPluginText]): Added a string
10049        for plug-in failure.
10050
100512010-04-03  yael aharon  <yael.aharon@nokia.com>
10052
10053        Reviewed by Darin Adler.
10054
10055        Enable HTMLProgressElement for Safari on OSX
10056        https://bugs.webkit.org/show_bug.cgi?id=36961
10057
10058        * Configurations/FeatureDefines.xcconfig:
10059
100602010-04-02  Jer Noble  <jer.noble@apple.com>
10061
10062        Reviewed by Eric Carlson.
10063
10064        https://bugs.webkit.org/show_bug.cgi?id=36624
10065        Add an INIT macro for the WebKitSystemInterface function wkQTMovieSelectPreferredAlternates.
10066
10067        * WebCoreSupport/WebSystemInterface.m:
10068        (InitWebCoreSystemInterface):
10069
100702010-04-02  Alexey Proskuryakov  <ap@apple.com>
10071
10072        Reviewed by Darin Adler.
10073
10074        https://bugs.webkit.org/show_bug.cgi?id=37043
10075        Java regression tests spam stderr about being unable to set status message
10076
10077        With this change, there is still spam about "Attempt to access JavaScript from destroyed
10078        applet, type 9." I haven't investigated if that indicates a problem or not.
10079
10080        * Plugins/WebPluginController.mm: (-[WebPluginController webPlugInContainerShowStatus:]):
10081        Removed check for _documentView. We don't seem to care.
10082
100832010-04-01  Kinuko Yasuda  <kinuko@chromium.org>
10084
10085        Reviewed by Dmitry Titov.
10086
10087        Add FileThread for async file operation support in FileReader and FileWriter
10088        https://bugs.webkit.org/show_bug.cgi?id=36896
10089
10090        Add FILE_READER or FILE_WRITER feature defines.
10091
10092        * Configurations/FeatureDefines.xcconfig:
10093
100942010-04-01  Ada Chan  <adachan@apple.com>
10095
10096        Reviewed by Darin Adler.
10097
10098        Change WebDatabaseManager::deleteOrigin() to return true if there are no errors in deleting the origin.
10099        Ditto for WebDatabaseManager::deleteDatabase().
10100
10101        https://bugs.webkit.org/show_bug.cgi?id=36988
10102
10103        * Storage/WebDatabaseManager.mm:
10104        (-[WebDatabaseManager deleteOrigin:]):
10105        (-[WebDatabaseManager deleteDatabase:withOrigin:]):
10106        * Storage/WebDatabaseManagerPrivate.h:
10107
101082010-04-01  Alexey Proskuryakov  <ap@apple.com>
10109
10110        Reviewed by Darin Adler.
10111
10112        https://bugs.webkit.org/show_bug.cgi?id=36976
10113        <rdar://problem/7817498>
10114        REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled
10115
10116        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10117        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): The HashTable assertions aren't
10118        there to catch potential future attempts to store empty/deleted values before these happen -
10119        it's actually wrong to try to look up these values. Added an early return.
10120        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Ditto.
10121
101222010-04-01  Chris Marrin  <cmarrin@apple.com>
10123
10124        Reviewed by Simon Fraser.
10125
10126        Added layerTreeAsText function to DRT (for Mac)
10127        https://bugs.webkit.org/show_bug.cgi?id=36782
10128
10129        This is the WebKit side for Mac. It plumbs the
10130        call from WebCore to DRT.
10131
10132        * WebView/WebFrame.mm:WebKit (Mac) side of plumbing
10133        (-[WebFrame _layerTreeAsText]):
10134        * WebView/WebFramePrivate.h:
10135
101362010-04-01  Alexey Proskuryakov  <ap@apple.com>
10137
10138        Reviewed by Oliver Hunt.
10139
10140        https://bugs.webkit.org/show_bug.cgi?id=36976
10141        <rdar://problem/7817498>
10142        REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled
10143
10144        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10145        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): Use find() instead of get(),
10146        because the latter fails with an assertion when looking up 0 or -1.
10147        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Be prepared for unexpected
10148        object IDs coming from plug-in host.
10149
101502010-03-31  Chris Fleizach  <cfleizach@apple.com>
10151
10152        Reviewed by Darin Adler.
10153
10154        Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
10155        https://bugs.webkit.org/show_bug.cgi?id=36845
10156
10157        Provide a way through WebKit to set an accessible label that describes the web area.
10158
10159        * WebView/WebFrame.mm:
10160        (-[WebFrame setAccessibleName:]):
10161        * WebView/WebFramePrivate.h:
10162
101632010-03-31  Marcus Bulach  <bulach@chromium.org>
10164
10165        Reviewed by Jeremy Orlow.
10166
10167        Adds Geolocation param for cancelGeolocationPermissionRequestForFrame.
10168        https://bugs.webkit.org/show_bug.cgi?id=35031
10169
10170        * WebCoreSupport/WebChromeClient.h:
10171        (WebChromeClient::cancelGeolocationPermissionRequestForFrame):
10172
101732010-03-30  Gavin Barraclough  <barraclough@apple.com>
10174
10175        Rubber stamped by Sam Weinig.
10176
10177        https://bugs.webkit.org/show_bug.cgi?id=36866
10178        Move CString to WTF
10179
10180        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10181        (WebKit::NetscapePluginInstanceProxy::getCookies):
10182        (WebKit::NetscapePluginInstanceProxy::getProxy):
10183        (WebKit::NetscapePluginInstanceProxy::getAuthenticationInfo):
10184        (WebKit::NetscapePluginInstanceProxy::resolveURL):
10185        * Plugins/WebBaseNetscapePluginView.h:
10186        * Plugins/WebBaseNetscapePluginView.mm:
10187        * Plugins/WebNetscapePluginView.mm:
10188        (-[WebNetscapePluginView resolveURL:forTarget:]):
10189
101902010-03-30  John Sullivan  <sullivan@apple.com>
10191
10192        Reviewed by Dan Bernstein.
10193
10194        https://bugs.webkit.org/show_bug.cgi?id=36848
10195        <rdar://problem/7362913>
10196        Menu items appropriate only for rich-content editing can appear in plain-text contexts
10197
10198        * WebView/WebHTMLView.mm:
10199        (-[WebHTMLView validRequestorForSendType:returnType:]):
10200        Don't return self for non-string content if _canEditRichly is false.
10201
102022010-03-29  Alexey Proskuryakov  <ap@apple.com>
10203
10204        Reviewed by Darin Adler.
10205
10206        https://bugs.webkit.org/show_bug.cgi?id=36791
10207        Add assertions for instance proxy validity
10208
10209        Add some assertions that the instance proxy hasn't been deleted. We sometimes keep a raw
10210        pointer to one across complicated function calls, relying on the caller to protect the
10211        reference.
10212
10213        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10214        (WebKit::NetscapePluginInstanceProxy::renderContextID):
10215        (WebKit::NetscapePluginInstanceProxy::pluginView):
10216        (WebKit::NetscapePluginInstanceProxy::hostProxy):
10217
102182010-03-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
10219
10220        Reviewed by David Kilzer.
10221
10222        Explicit guards for ENABLE_GEOLOCATION
10223        https://bugs.webkit.org/show_bug.cgi?id=25756
10224
10225        * WebCoreSupport/WebGeolocationMock.mm:
10226        (-[WebGeolocationMock setError:code:]): Make the body conditional on
10227        ENABLE(GEOLOCATION)
10228        (-[WebGeolocationMock setPosition:]): Ditto.
10229
102302010-03-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
10231
10232        Reviewed by Antti Koivisto.
10233
10234        Change method name due to it dealing with both flattening
10235        of frame sets and inner frames.
10236
10237        * WebView/WebPreferenceKeysPrivate.h:
10238        * WebView/WebPreferences.mm:
10239        (+[WebPreferences initialize]):
10240        (-[WebPreferences isFrameFlatteningEnabled]):
10241        (-[WebPreferences setFrameFlatteningEnabled:]):
10242        * WebView/WebPreferencesPrivate.h:
10243        * WebView/WebView.mm:
10244        (-[WebView _preferencesChangedNotification:]):
10245
102462010-03-27  Darin Adler  <darin@apple.com>
10247
10248        * Misc/WebNSFileManagerExtras.m:
10249        (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]):
10250        Removed stray "!". How did that get in there?
10251
102522010-03-27  Darin Adler  <darin@apple.com>
10253
10254        Reviewed by Mark Rowe.
10255
10256        WebKit NSFileManager methods don't handle broken symlinks correctly.
10257        Part of <rdar://problem/7574046>.
10258
10259        * Misc/WebNSFileManagerExtras.h: Removed unused defines and methods.
10260        * Misc/WebNSFileManagerExtras.m: Removed unused methods.
10261        (fileExists): Added. For use instead of fileExistsAtPath: for cases where we'd like
10262        to treat a broken symlink as a file that does indeed exist.
10263        (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]): Use fileExists.
10264
102652010-03-25  Alexey Proskuryakov  <ap@apple.com>
10266
10267        Reviewed by Mark Rowe.
10268
10269        * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): Re-fetch host proxy in
10270        a way that works in a function that doesn't have a pluginID argument for some reason.
10271
102722010-03-25  Simon Fraser  <simon.fraser@apple.com>
10273
10274        Build fix: no review.
10275
10276        Another c_str() -> data().
10277
10278        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10279        (WebKit::NetscapePluginInstanceProxy::enumerate):
10280
102812010-03-25  Alexey Proskuryakov  <ap@apple.com>
10282
10283        Reviewed by Mark Rowe.
10284
10285        Correctness fix after r56493.
10286
10287        * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): We still need to update
10288        our hostProxy reference, even though we didn't use to have instanceProxy. Nothing guarantees
10289        that the host proxy won't go away while the open panel is up.
10290
102912010-03-24  Mark Rowe  <mrowe@apple.com>
10292
10293        Build fix after r56474.
10294
10295        * Plugins/Hosted/NetscapePluginHostProxy.mm:
10296        (WKPCRunSyncOpenPanel):
10297
102982010-03-24  Alexey Proskuryakov  <ap@apple.com>
10299
10300        Reviewed by Anders Carlsson.
10301
10302        https://bugs.webkit.org/show_bug.cgi?id=36563
10303        A plug-in makes Safari crash on http://www.itscodingtime.com/
10304
10305        * Plugins/Hosted/NetscapePluginHostProxy.h:
10306        (WebKit::NetscapePluginHostProxy::port): Assert that the object is still alive. This isn't
10307        beautifully systemic, but helped catch a bug, and may help catch more.
10308        (WebKit::NetscapePluginHostProxy::clientPort): Ditto.
10309        (WebKit::NetscapePluginHostProxy::isProcessingRequests): Changed m_processingRequests to a
10310        static. This doesn't change behavior much, but helps avoid writing into deallocated memory.
10311
10312        * Plugins/Hosted/NetscapePluginHostProxy.mm:
10313        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): Changed m_processingRequests
10314        to a static.
10315        (WebKit::NetscapePluginHostProxy::processRequests): Ditto. Changing m_processingRequests
10316        after destroying the object in pluginHostDied() was wrong, but reasonably harmless, as there
10317        wasn't much time for some other object to be allocated at this address.
10318        (WKPCEvaluate): Refetch host proxy, as it may have been destroyed.
10319        (WKPCInvoke): Ditto.
10320        (WKPCInvokeDefault): Ditto.
10321        (WKPCGetProperty): Ditto.
10322        (WKPCSetProperty): Ditto.
10323        (WKPCRemoveProperty): Ditto.
10324        (WKPCHasProperty): Ditto.
10325        (WKPCHasMethod): Ditto.
10326        (WKPCEnumerate): Ditto.
10327        (WKPCRunSyncOpenPanel): Ditto.
10328
10329        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10330        (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply): Bail out of the
10331        "event loop" if host proxy went away while processing a request.
10332
103332010-03-24  Hayato Ito  <hayato@chromium.org>
10334
10335        Reviewed by Shinichiro Hamaji.
10336
10337        Refactor computePageRects so that Mac can make use of it.
10338        https://bugs.webkit.org/show_bug.cgi?id=36159
10339
10340        Refactoring only, so no new tests.
10341
10342        * WebView/WebFrame.mm:
10343        (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
10344
103452010-03-24  Kent Tamura  <tkent@chromium.org>
10346
10347        Reviewed by Darin Adler.
10348
10349        Make Icon::createIconForFiles() optional.
10350        https://bugs.webkit.org/show_bug.cgi?id=35072
10351
10352        - Rename iconForFiles() to chooseIconForFiles().
10353        - Call Icon::createIconForFiles() from chooseIconForFiles().
10354
10355        * WebCoreSupport/WebChromeClient.h:
10356        * WebCoreSupport/WebChromeClient.mm:
10357        (WebChromeClient::chooseIconForFiles):
10358
103592010-03-23  Dan Bernstein  <mitz@apple.com>
10360
10361        Reverted accidental change from r56429.
10362
10363        * WebCoreSupport/WebContextMenuClient.mm:
10364        (WebContextMenuClient::getCustomMenuFromDefaultItems):
10365
103662010-03-23  Dan Bernstein  <mitz@apple.com>
10367
10368        Reviewed by John Sullivan.
10369
10370        WebKit part of
10371        <rdar://problem/7197736> Plug-in clip rect does not update when overflow
10372        clip changes
10373        https://bugs.webkit.org/show_bug.cgi?id=36479.
10374
10375        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
10376        (-[WebHostedNetscapePluginView visibleRectDidChange]): Added. Calls
10377        WKSyncSurfaceToView().
10378        * Plugins/WebBaseNetscapePluginView.h:
10379        * Plugins/WebBaseNetscapePluginView.mm:
10380        (-[WebBaseNetscapePluginView _windowClipRect]): Changed to use Widget::windowClipRect().
10381        (-[WebBaseNetscapePluginView visibleRectDidChange]): Added. Invokes -renewGState.
10382
103832010-03-22  Kevin Decker  <kdecker@apple.com>
10384
10385        Reviewed by Simon Fraser.
10386
10387        https://bugs.webkit.org/show_bug.cgi?id=36328
10388
10389        This patch entirely WebNullPluginView.
10390
10391        * Plugins/WebNetscapePluginView.mm:
10392        * Plugins/WebNullPluginView.h: Removed.
10393        * Plugins/WebNullPluginView.mm: Removed.
10394        * Resources/nullplugin.tiff: Removed.
10395        * WebCoreSupport/WebFrameLoaderClient.mm:
10396        (WebFrameLoaderClient::createPlugin): Invoke the resource load delegate if the plug-in failed to load.
10397
103982010-03-22  Alexey Proskuryakov  <ap@apple.com>
10399
10400        Reviewed by John Sullivan.
10401
10402        https://bugs.webkit.org/show_bug.cgi?id=36455
10403        Make WebKit more resistant against plug-in crashes
10404
10405        No tests, because crashing on build bots isn't good, even if it's only helper processes
10406        that crash.
10407
10408        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10409        (WebKit::NetscapePluginInstanceProxy::waitForReply): Protect "this", because this function
10410        needs it after waiting for reply. Some callers used to do this, but not all, and we really
10411        shouldn't depend on callers here.
10412
10413        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10414        (WebKit::NetscapePluginInstanceProxy::wheelEvent): Don't protect the plug-in instance proxy,
10415        because this function doesn't use it after waiting for reply.
10416        (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Ditto.
10417
10418        * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invoke): Added an m_instanceProxy
10419        null check for another code path.
10420
104212010-03-22  Kevin Decker  <kdecker@apple.com>
10422
10423        Reviewed by John Sullivan.
10424
10425        https://bugs.webkit.org/show_bug.cgi?id=36328
10426
10427        * WebCoreSupport/WebViewFactory.mm:
10428        (-[WebViewFactory missingPluginText]): Added.
10429
104302010-03-18  Alexey Proskuryakov  <ap@apple.com>
10431
10432        Reviewed by Darin Adler.
10433
10434        https://bugs.webkit.org/show_bug.cgi?id=36337
10435        Log an error when an OOP plug-in sends an unknown object id
10436
10437        Making these LOG_ERROR and not ASSERTs, because I don't want early returns to look
10438        temporary or redundant.
10439
10440        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10441        (WebKit::NetscapePluginInstanceProxy::evaluate):
10442        (WebKit::NetscapePluginInstanceProxy::invoke):
10443        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
10444        (WebKit::NetscapePluginInstanceProxy::construct):
10445        (WebKit::NetscapePluginInstanceProxy::getProperty):
10446        (WebKit::NetscapePluginInstanceProxy::setProperty):
10447        (WebKit::NetscapePluginInstanceProxy::removeProperty):
10448        (WebKit::NetscapePluginInstanceProxy::hasProperty):
10449        (WebKit::NetscapePluginInstanceProxy::hasMethod):
10450        (WebKit::NetscapePluginInstanceProxy::enumerate):
10451
104522010-03-16  Alexey Proskuryakov  <ap@apple.com>
10453
10454        Reviewed by Darin Adler.
10455
10456        https://bugs.webkit.org/show_bug.cgi?id=36184
10457        YouTube video resizing doesn't work with OOP plug-ins
10458
10459        Test: plugins/resize-from-plugin.html
10460
10461        We were calling _WKPHResizePluginInstance synchronously or asynchronously, depending on
10462        whether the size has changed. But sync and async messages are not necessarily delivered in
10463        order - plug-in host listens only to the former while waiting for a response to a message it
10464        sent (a call to invoke() in this case).
10465
10466        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10467        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10468        (WebKit::NetscapePluginInstanceProxy::resize):
10469        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
10470        (-[WebHostedNetscapePluginView updateAndSetWindow]):
10471
104722010-03-16  Yury Semikhatsky <yurys@chromium.org>
10473
10474        Reviewed by Pavel Feldman.
10475
10476        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.
10477
10478        Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
10479        https://bugs.webkit.org/show_bug.cgi?id=35036
10480
10481        * WebCoreSupport/WebInspectorClient.h:
10482        * WebCoreSupport/WebInspectorClient.mm:
10483        (WebInspectorClient::WebInspectorClient):
10484        (WebInspectorClient::inspectorDestroyed):
10485        (WebInspectorClient::openInspectorFrontend):
10486        (WebInspectorClient::highlight):
10487        (WebInspectorClient::hideHighlight):
10488        (WebInspectorFrontendClient::WebInspectorFrontendClient):
10489        (WebInspectorFrontendClient::frontendLoaded):
10490        (WebInspectorFrontendClient::localizedStringsURL):
10491        (WebInspectorFrontendClient::hiddenPanels):
10492        (WebInspectorFrontendClient::bringToFront):
10493        (WebInspectorFrontendClient::closeWindow):
10494        (WebInspectorFrontendClient::attachWindow):
10495        (WebInspectorFrontendClient::detachWindow):
10496        (WebInspectorFrontendClient::setAttachedWindowHeight):
10497        (WebInspectorFrontendClient::inspectedURLChanged):
10498        (WebInspectorFrontendClient::updateWindowTitle):
10499        (-[WebInspectorWindowController dealloc]):
10500        (-[WebInspectorWindowController windowShouldClose:]):
10501        (-[WebInspectorWindowController close]):
10502        (-[WebInspectorWindowController showWindow:]):
10503        (-[WebInspectorWindowController attach]):
10504        (-[WebInspectorWindowController detach]):
10505        (-[WebInspectorWindowController attached]):
10506        (-[WebInspectorWindowController setFrontendClient:]):
10507        (-[WebInspectorWindowController destroyInspectorView]):
10508        (-[WebNodeHighlighter initWithInspectedWebView:]):
10509        (-[WebNodeHighlighter dealloc]):
10510        (-[WebNodeHighlighter highlightNode:]):
10511        (-[WebNodeHighlighter hideHighlight]):
10512        (-[WebNodeHighlighter didAttachWebNodeHighlight:]):
10513        (-[WebNodeHighlighter willDetachWebNodeHighlight:]):
10514        * WebInspector/WebInspector.mm:
10515        (-[WebInspector attach:]):
10516        (-[WebInspector detach:]):
10517
105182010-03-15  Andy Estes  <aestes@apple.com>
10519
10520        Reviewed by John Sullivan.
10521
10522        Updated call to WKGetWheelEventDeltas() to match new method signature.
10523
10524        https://bugs.webkit.org/show_bug.cgi?id=29601
10525        <rdar://problem/7453254>
10526
10527        * WebView/WebDynamicScrollBarsView.mm:
10528        (-[WebDynamicScrollBarsView scrollWheel:]):
10529
105302010-03-15  John Sullivan  <sullivan@apple.com>
10531
10532        Reviewed by Adam Roben.
10533
10534        -[WebFrame setAlwaysHideHorizontal/VerticalScroller:] prevents keyboard scrolling
10535        <https://bugs.webkit.org/show_bug.cgi?id=36125>
10536
10537        * WebView/WebDynamicScrollBarsView.h:
10538        Added instance variables horizontalScrollingAllowedButScrollerHidden and
10539        verticalScrollingAllowedButScrollerHidden. Renamed instance variables
10540        hideHorizontal/VerticalScroller to alwaysHideHorizontal/VerticalScroller for clarity.
10541        Declared methods -horizontalScrollingAllowed and -verticalScrollingAllowed.
10542        Added comments.
10543
10544        * WebView/WebDynamicScrollBarsView.mm:
10545        (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
10546        Updated for instance variable renaming.
10547        (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
10548        Ditto.
10549        (-[WebDynamicScrollBarsView horizontalScrollingAllowed]):
10550        New method, returns YES if the scroller is showing or the only reason that the scroller
10551        is not showing is that setAlwaysHideHorizontalScrolling has been called.
10552        (-[WebDynamicScrollBarsView verticalScrollingAllowed]):
10553        New method, returns YES if the scroller is showing or the only reason that the scroller
10554        is not showing is that setAlwaysHideVerticalScrolling has been called.
10555        (-[WebDynamicScrollBarsView updateScrollers]):
10556        Updated for instance variable renamings. Now updates horizontalScrollingAllowedButScrollerHidden
10557        and verticalScrollingAllowedButScrollerHidden. Now takes the always-hidden state into account
10558        in the early-return code path, to avoid taking it into account twice in the regular code path.
10559
10560        * WebView/WebFrameView.mm:
10561        (-[WebFrameView _scrollToBeginningOfDocument]):
10562        Use _isScrollable instead of _hasScrollBars.
10563        (-[WebFrameView _scrollToEndOfDocument]):
10564        Ditto.
10565        (-[WebFrameView scrollToBeginningOfDocument:]):
10566        Use _largestScrollableChild instead of _largestChildWithScrollBars.
10567        (-[WebFrameView scrollToEndOfDocument:]):
10568        Ditto.
10569        (-[WebFrameView _pageVertically:]):
10570        Use _isScrollable and _largestScrollableChild instead of _hasScrollBars
10571        and _largestChildWithScrollBars.
10572        (-[WebFrameView _pageHorizontally:]):
10573        Ditto.
10574        (-[WebFrameView _scrollLineVertically:]):
10575        Ditto.
10576        (-[WebFrameView _scrollLineHorizontally:]):
10577        Ditto.
10578        (-[WebFrameView keyDown:]):
10579        Use _largestScrollableChild instead of _largestChildWithScrollBars.
10580        (-[WebFrameView _isScrollable]):
10581        New method, calls -[WebDynamicScrollBarsView horizontalScrollingAllowed] and
10582        -[WebDynamicScrollBarsView verticalScrollingAllowed]
10583        (-[WebFrameView _largestScrollableChild]):
10584        New method, like _largestChildWithScrollBars but uses _isScrollable.
10585        (-[WebFrameView _hasScrollBars]):
10586        Added a comment that this is no longer used by Safari, and can thus probably be
10587        deleted once we no longer want to support it for nightly build compatibility with
10588        old versions of Safari.
10589        (-[WebFrameView _largestChildWithScrollBars]):
10590        Ditto.
10591
10592        * WebView/WebFrameViewPrivate.h:
10593        Declared -_isScrollable and -_largestScrollableChild. Added comments to
10594        _hasScrollBars and _largestChildWithScrollBars saying that they are no longer
10595        used by Safari, and can thus probably be deleted once we no longer want to
10596        support them for nightly build compatibility with old versions of Safari.
10597
105982010-03-15  John Sullivan  <sullivan@apple.com>
10599
10600        Method name and parameter name mistakes from recent SPI addition
10601        <https://bugs.webkit.org/show_bug.cgi?id=36119>
10602
10603        Reviewed by Dan Bernstein.
10604
10605        * WebView/WebDynamicScrollBarsView.h:
10606        Renamed instance variable and method name from "setAllowXXX" to "setAllowsXXX".
10607
10608        * WebView/WebDynamicScrollBarsView.mm:
10609        (-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]):
10610        Updated for renamed instance variable and method.
10611        (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
10612        Changed parameter name from shouldBeVisible to shouldBeHidden.
10613        (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
10614        Ditto.
10615        (-[WebDynamicScrollBarsView contentViewFrame]):
10616        Updated for renamed instance variable.
10617        (-[WebDynamicScrollBarsView tile]):
10618        Ditto.
10619        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
10620        Ditto.
10621
10622        * WebView/WebFrame.mm:
10623        (-[WebFrame setAllowsScrollersToOverlapContent:]):
10624        Renamed method from setAllowXXX, and updated for same change in WebDynamicScrollBarsView.
10625
10626        * WebView/WebFramePrivate.h:
10627        Renamed method name from "setAllowXXX" to "setAllowsXXX".
10628
106292010-03-14  Darin Adler  <darin@apple.com>
10630
10631        Reviewed by Mark Rowe.
10632
10633        Remove unneeded dependency on non-string identifier for an NSTableColumn
10634        https://bugs.webkit.org/show_bug.cgi?id=36106
10635
10636        * WebView/WebTextCompletionController.mm:
10637        (-[WebTextCompletionController _buildUI]): Use init instead of initWithIdentifier:
10638        because the table has only one column and that column does not need an identifier.
10639
106402010-03-12  Beth Dakin  <bdakin@apple.com>
10641
10642        Reviewed by Simon Fraser.
10643
10644        Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen
10645        API naming is inconsistent
10646        -and corresponding-
10647        <rdar://problem/7729165>
10648
10649        This patch changes all occurrences of "fullScreen" to the more
10650        popular "fullscreen."
10651
10652        * Plugins/Hosted/NetscapePluginHostProxy.h:
10653        (WebKit::NetscapePluginHostProxy::isFullscreenWindowShowing):
10654        * Plugins/Hosted/NetscapePluginHostProxy.mm:
10655        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
10656        (WebKit::NetscapePluginHostProxy::didEnterFullscreen):
10657        (WebKit::NetscapePluginHostProxy::didExitFullscreen):
10658        (WebKit::NetscapePluginHostProxy::setFullscreenWindowIsShowing):
10659        (WKPCSetFullscreenWindowIsShowing):
10660        * Plugins/Hosted/WebKitPluginClient.defs:
10661        * Plugins/WebNetscapePluginView.mm:
10662        (-[WebNetscapePluginView _workaroundSilverlightFullscreenBug:]):
10663        (-[WebNetscapePluginView _createPlugin]):
10664        (-[WebNetscapePluginView _destroyPlugin]):
10665        * WebView/WebVideoFullscreenHUDWindowController.mm:
10666        (-[WebVideoFullscreenHUDWindowController windowDidLoad]):
10667
106682010-03-12  Andy Estes  <aestes@apple.com>
10669
10670        Reviewed by Brady Eidson.
10671
10672        Expose WebPDFView's underlying PDFDocument.
10673
10674        https://bugs.webkit.org/show_bug.cgi?id=36045
10675
10676        * WebView/WebDocumentPrivate.h: Create a new protocol called
10677        WebDocumentPDF.
10678        * WebView/WebPDFView.h: Have WebPDFView implement said protocol.
10679        * WebView/WebPDFView.mm:
10680        (-[WebPDFView PDFDocument]): Expose WebPDFView's underlying
10681        PDFDocument by implementing -(PDFDocument*)PDFDocument from
10682        WebDocumentPDF.
10683
106842010-03-12  Andy Estes  <aestes@apple.com>
10685
10686        Reviewed by Brady Eidson.
10687
10688        Remove an unused method.
10689
10690        https://bugs.webkit.org/show_bug.cgi?id=35940
10691
10692        * Plugins/WebPluginController.mm:
10693        removed - (void)showURL:(NSURL *) inFrame:(NSString *)
10694
106952010-03-11  Mark Rowe  <mrowe@apple.com>
10696
10697        Reviewed by David Kilzer.
10698
10699        <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
10700
10701        Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
10702
10703        * Configurations/Base.xcconfig:
10704
107052010-03-11  Mark Rowe  <mrowe@apple.com>
10706
10707        Reviewed by Tim Hatcher.
10708
10709        <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
10710
10711        Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted.  It defaults to the
10712        current Mac OS X version unless otherwise specified.
10713
10714        Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
10715
10716        Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
10717        may not be usable when targetting a different Mac OS X version.
10718
10719        Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
10720        MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
10721
10722        * Configurations/Base.xcconfig:
10723        * Configurations/DebugRelease.xcconfig:
10724        * Configurations/FeatureDefines.xcconfig:
10725        * Configurations/Version.xcconfig:
10726
107272010-03-11  Anders Carlsson  <andersca@apple.com>
10728
10729        Reviewed by David Hyatt.
10730
10731        Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
10732
10733        * WebCoreSupport/WebChromeClient.h:
10734        * WebCoreSupport/WebChromeClient.mm:
10735
107362010-03-11  Alexey Proskuryakov  <ap@apple.com>
10737
10738        Reviewed by Geoff Garen.
10739
10740        https://bugs.webkit.org/show_bug.cgi?id=35965
10741        <rdar://problem/7742771> Crash when passing an object returned from plug-in back to the plug-in
10742
10743        Test: plugins/round-trip-npobject.html
10744
10745        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10746        (WebKit::NetscapePluginInstanceProxy::retainLocalObject): Corrected the check - there is
10747        now a separate ProxyRuntimeObject class for proxy pbjects.
10748        (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto.
10749
10750        * Plugins/Hosted/ProxyInstance.mm:
10751        (WebKit::ProxyInstance::invoke): Check if m_instanceProxy is still non-zero. The plug-in
10752        could have crashed while we were waiting for response.
10753        (WebKit::ProxyInstance::setFieldValue): Ditto.
10754
107552010-03-10  Simon Fraser  <simon.fraser@apple.com>
10756
10757        Reviewed by Darin Adler.
10758
10759        https://bugs.webkit.org/show_bug.cgi?id=35975
10760        <rdar://problem/7739922> Flash 10.1b crashes when generating snapshots
10761
10762        Do a version check before sending a drawRect event to a Flash plugin,
10763        since 10.1.d51 has a bug that crashes when called this way.
10764
10765        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
10766        (-[WebHostedNetscapePluginView drawRect:]):
10767        * Plugins/WebBaseNetscapePluginView.h:
10768        * Plugins/WebBaseNetscapePluginView.mm:
10769        (-[WebBaseNetscapePluginView supportsSnapshotting]):
10770        * Plugins/WebNetscapePluginView.mm:
10771        (-[WebNetscapePluginView drawRect:]):
10772
107732010-03-10  John Sullivan  <sullivan@apple.com>
10774
10775        Reviewed by Tim Hatcher.
10776
10777        <rdar://problem/7735387> input type other than text won't work with autofill
10778        <https://bugs.webkit.org/show_bug.cgi?id=35963>
10779
10780        * WebView/WebHTMLRepresentation.mm:
10781        (-[WebHTMLRepresentation elementDoesAutoComplete:]):
10782        Return true for any text field that's not a password, rather than only
10783        for TEXT type.
10784
107852010-03-09  Brady Eidson  <beidson@apple.com>
10786
10787        Reviewed by Tim Hatcher.
10788
10789        REGRESSION: WebInspector docking busted on Windows
10790        <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953
10791
10792        * WebCoreSupport/WebInspectorClient.mm:
10793        (-[WebInspectorWindowController showWindow:]): Use the InspectorController:: copy of the should attach settings key.
10794        (-[WebInspectorWindowController attach]): Ditto.
10795        (-[WebInspectorWindowController detach]): Ditto.
10796
107972010-03-09  Geoffrey Garen  <ggaren@apple.com>
10798
10799        Reviewed by Darin Adler.
10800
10801        Updated for FastMalloc reporting changes.
10802
10803        * Misc/WebCoreStatistics.mm:
10804        (+[WebCoreStatistics memoryStatistics]):
10805
108062010-03-08  Simon Fraser  <simon.fraser@apple.com>
10807
10808        Reviewed by Mark Rowe.
10809
10810        Move the new method to the end of the MIG definitions file, to avoid breaking
10811        compatibility between WebKit and older versions of WebKitPluginHost.
10812
10813        * Plugins/Hosted/WebKitPluginHost.defs:
10814
108152010-03-08  Simon Fraser  <simon.fraser@apple.com>
10816
10817        Reviewed by Kevin Decker.
10818
10819        <rdar://problem/7714340> Need to grab image snapshot of Core Animation plugins
10820
10821        Allow plug-ins using the Core Animation drawing model to be captured when doing a flattening paint,
10822        by sending them a drawRect event as if they were software-painting.
10823
10824        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10825        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10826        (WebKit::NetscapePluginInstanceProxy::snapshot):
10827        New snapshot() method that calls over to the plugin host, and then draws the image that comes back.
10828
10829        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
10830        (-[WebHostedNetscapePluginView drawRect:]): If we don't have a software renderer, but we're doing
10831        a flattening paint, then call the snapshot method.
10832
10833        * Plugins/Hosted/WebKitPluginHost.defs: Added snapshot method.
10834
10835        * Plugins/WebBaseNetscapePluginView.h:
10836        * Plugins/WebBaseNetscapePluginView.mm:
10837        (-[WebBaseNetscapePluginView inFlatteningPaint]):
10838        New utility method that asks the FrameView whether the current paint behavior is
10839        flattening.
10840
10841        * Plugins/WebNetscapePluginView.mm:
10842        (-[WebNetscapePluginView drawRect:]): If the plug-in is using CA but this is a flattening
10843        paint, go ahead and send a drawRect event to the plug-in.
10844
108452010-03-08  Darin Adler  <darin@apple.com>
10846
10847        Reviewed by Dan Bernstein.
10848
10849        Fix crash when you quit inside an unload handler.
10850        rdar://problem/6958347
10851
10852        Test: manual-tests/quit-inside-unload.html
10853
10854        * WebView/WebView.mm:
10855        (-[WebView _closeWithFastTeardown]): Removed code to set
10856        _private->closed since _close now does this earlier, before
10857        calling this method.
10858        (-[WebView _close]): Moved code to set _private->closed to the
10859        top of this method.
10860        (-[WebView setHostWindow:]): Rewrote the code that forbade
10861        setting the host window after closing so that it only forbids
10862        non-nil host windows. That way, the code to clear away the host
10863        window can run safely after setting _private->closed, yet client
10864        code cannot set a new host window after closing.
10865
108662010-03-08  Darin Adler  <darin@apple.com>
10867
10868        Roll out a file I checked in by accident.
10869
10870        * WebView/WebView.mm: Back to previous version.
10871
108722010-03-08  Chris Marrin  <cmarrin@apple.com>
10873
10874        Reviewed by Darin Adler.
10875
10876        Turn on HW accel on Leopard even if coreVideoHas7228836Fix() is false, when WebGL is enabled
10877        https://bugs.webkit.org/show_bug.cgi?id=35759
10878
10879        This allows WebGL to work on Leopard without the fix. It exposes these users to the crash
10880        that happens because of the CoreVideo bug, but it limits the exposure to those who have
10881        chosen to enable WebGL.
10882
10883        * WebView/WebView.mm:
10884        (-[WebView _preferencesChangedNotification:]):
10885
108862010-03-02  Adam Treat  <atreat@rim.com>
10887
10888        Reviewed by Dave Hyatt.
10889
10890        Adapt the mac port to the refactoring of repaint methods.
10891
10892        https://bugs.webkit.org/show_bug.cgi?id=34214
10893
10894        * WebCoreSupport/WebChromeClient.h:
10895        * WebCoreSupport/WebChromeClient.mm:
10896        (WebChromeClient::invalidateContents):
10897        (WebChromeClient::invalidateWindow):
10898        (WebChromeClient::invalidateContentsAndWindow):
10899        (WebChromeClient::invalidateContentsForSlowScroll):
10900
109012010-03-08  Jian Li  <jianli@chromium.org>
10902
10903        Reviewed by Dmitry Titov.
10904
10905        Blob.slice support.
10906        https://bugs.webkit.org/show_bug.cgi?id=32993
10907
10908        Add ENABLE_BLOB_SLICE feature define.
10909
10910        * Configurations/FeatureDefines.xcconfig:
10911
109122010-03-08  Eric Uhrhane  <ericu@chromium.org>
10913
10914        Reviewed by David Levin.
10915
10916        Remove the now-redundant Settings fields for the Database
10917        https://bugs.webkit.org/show_bug.cgi?id=35763
10918
10919        No new tests; this code isn't called.
10920
10921        * WebView/WebView.mm: Remove the call into Settings.
10922        (-[WebView _preferencesChangedNotification:]):
10923
109242010-03-07  Mark Rowe  <mrowe@apple.com>
10925
10926        Rubber-stamped by Cameron Zwarich.
10927
10928        Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
10929
10930        * Misc/WebIconDatabase.mm:
10931
109322010-03-07  Mark Rowe  <mrowe@apple.com>
10933
10934        Rubber-stamped by Cameron Zwarich.
10935
10936        Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
10937
10938        * Misc/WebNSPasteboardExtras.mm:
10939
109402010-03-04  Mark Rowe  <mrowe@apple.com>
10941
10942        Reviewed by Sam Weinig.
10943
10944        <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h
10945
10946        * MigrateHeaders.make: Migrate DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h.
10947
109482010-03-04  Mark Rowe  <mrowe@apple.com>
10949
10950        Reviewed by Sam Weinig.
10951
10952        Use a framework-style include to pull in WebInspector.h for consistency
10953        with other parts of WebKit.
10954
10955        * WebInspector/WebInspectorPrivate.h:
10956
109572010-03-04  Brady Eidson  <beidson@apple.com>
10958
10959        Reviewed by Geoff Garen.
10960
10961        REGRESSION (31281): -[WebArchive initWithCoder:] leaks
10962        <rdar://problem/7702420> and https://bugs.webkit.org/show_bug.cgi?id=35534
10963
10964        * WebView/WebArchive.mm:
10965        (-[WebArchive initWithCoder:]): Don't retain objects we don't own.
10966
109672010-03-03  Alexey Proskuryakov  <ap@apple.com>
10968
10969        Reviewed by Timothy Hatcher.
10970
10971        https://bugs.webkit.org/show_bug.cgi?id=35692
10972        <rdar://problem/7703622> Crash when calling abort() on an XHR while in a windowless WebView
10973
10974        * Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
10975        Retain the challenge, just like it's done for sheet.
10976
109772010-03-02  Eric Uhrhane  <ericu@chromium.org>
10978
10979        Reviewed by David Levin.
10980
10981        Move database enable bit fully out of settings
10982        This is stage one of a three-stage commit [webkit, then chromium, then
10983        webkit again].  In this change I'm adding calls to
10984        Database::setIsAvailable inside Settings::setDatabaseEnabled and
10985        anywhere else that called it, and switching webkit fully over to using
10986        that flag [added in a previous checkin].  Phase two will remove
10987        Chromium's use of Settings for the Database, and phase three will remove
10988        the Setting for the Database enable entirely, leaving only
10989        Database::isAvailable/setIsAvailable.
10990
10991        No new tests; tested by existing storage tests.
10992
10993        https://bugs.webkit.org/show_bug.cgi?id=35310
10994
10995        * WebView/WebView.mm:  Added a call to Database::setIsAvailable.
10996        (-[WebView _preferencesChangedNotification:]):
10997
109982010-03-02  Adam Roben  <aroben@apple.com>
10999
11000        Add -[WebView _registerURLSchemeAsSecure:]
11001
11002        Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose
11003        SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI
11004
11005        Reviewed by Tim Hatcher.
11006
11007        * WebView/WebView.mm:
11008        (+[WebView _registerURLSchemeAsSecure:]):
11009        * WebView/WebViewPrivate.h:
11010        Added. Calls through to SecurityOrigin::registerURLSchemeAsSecure.
11011
110122010-03-01  Jakob Petsovits  <jpetsovits@rim.com>
11013
11014        Reviewed by Adam Barth.
11015
11016        Adapt to the new ZoomMode enum.
11017        https://bugs.webkit.org/show_bug.cgi?id=35347
11018
11019        * WebView/WebView.mm:
11020        (-[WebView _preferencesChangedNotification:]):
11021        (-[WebView _setZoomMultiplier:isTextOnly:]):
11022        (-[WebView _realZoomMultiplierIsTextOnly]):
11023
110242010-02-27  Jing Jin  <jjin@apple.com>
11025
11026        Reviewed by Timothy Hatcher.
11027
11028        Move implementation of Bug 35449 into WebFramePrivate.
11029
11030        * WebView/WebFrame.h:
11031        * WebView/WebFrame.mm:
11032        (-[WebFrame setAllowScrollersToOverlapContent:]):
11033        (-[WebFrame setAlwaysHideHorizontalScroller:]):
11034        (-[WebFrame setAlwaysHideVerticalScroller:]):
11035        * WebView/WebFramePrivate.h:
11036
110372010-02-26  Jing Jin  <jjin@apple.com>
11038
11039        Reviewed by Timothy Hatcher.
11040
11041        https://bugs.webkit.org/show_bug.cgi?id=35449
11042        Add ability to hide WebFrame scrollbars and to allow scrollbars to overlap with content.
11043
11044        * WebView/WebDynamicScrollBarsView.h:
11045        * WebView/WebDynamicScrollBarsView.mm:
11046        (-[WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]): Allows scrollbars to
11047        overlap with the document and re-layouts the document.
11048        (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]): Hides the horizontal scrollbar.
11049        (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]): Hides the vertical scrollbar.
11050        (-[WebDynamicScrollBarsView contentViewFrame]): Calculates the appropriate frame based
11051        on allowScrollersToOverlapContent.
11052        (-[WebDynamicScrollBarsView tile]): If allowScrollersToOverlapContent is YES, set the
11053        contentView's frame so it overlaps with the scrollbar.
11054        (-[WebDynamicScrollBarsView updateScrollers]): Take into account hideHorizontalScroller
11055        and hideVerticalScroller.
11056        (-[WebDynamicScrollBarsView reflectScrolledClipView:]): set drawsBackground to NO when
11057        scrollbars are overlapping with content, so we don't get trails during scrollbar draw updates.
11058        * WebView/WebDynamicScrollBarsViewInternal.h:
11059        * WebView/WebFrame.h:
11060        * WebView/WebFrame.mm:
11061        (-[WebFrame setAllowScrollersToOverlapContent:]): Hook for [WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]
11062        (-[WebFrame setAlwaysHideHorizontalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]
11063        (-[WebFrame setAlwaysHideVerticalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]
11064
110652010-02-26  Gavin Barraclough  <barraclough@apple.com>
11066
11067        Reviewed by Alexey Proskuryakov.
11068
11069        Bug 35401 - Fix handling of errors in handling calls over bridge,
11070        where base object bridge-type does not match method bridge-type.
11071
11072        The code assumes users will only attempt to invoke a Java method
11073        on a Java base object, etc.
11074        Add language specific subclasses of RuntimeMethod, and pass the
11075        RuntimeMethod into invokeMethod, so we can typecheck before
11076        casting.  Throw an exception on type mismatch.
11077
11078        * Plugins/Hosted/ProxyInstance.h:
11079        * Plugins/Hosted/ProxyInstance.mm:
11080        (WebKit::PluginRuntimeMethod::PluginRuntimeMethod): new class to distinguish this type of RuntimeMethod.
11081        (WebKit::ProxyInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
11082        (WebKit::ProxyInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
11083
110842010-02-25  Alexey Proskuryakov  <ap@apple.com>
11085
11086        Reviewed by Geoffrey Garen.
11087
11088        https://bugs.webkit.org/show_bug.cgi?id=35394
11089        <rdar://problem/7685262> Make passing objects between Java and plug-ins work
11090
11091        Added a ProxyInstance implementation of RuntimeObject.
11092
11093        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11094        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
11095        * Plugins/Hosted/ProxyInstance.h:
11096        * Plugins/Hosted/ProxyInstance.mm:
11097        (WebKit::ProxyInstance::newRuntimeObject):
11098        (WebKit::ProxyInstance::getClass):
11099        * Plugins/Hosted/ProxyRuntimeObject.h: Added.
11100        (WebKit::ProxyRuntimeObject::classInfo):
11101        * Plugins/Hosted/ProxyRuntimeObject.mm: Added.
11102        (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
11103        (WebKit::ProxyRuntimeObject::~ProxyRuntimeObject):
11104        (WebKit::ProxyRuntimeObject::getInternalProxyInstance):
11105
111062010-02-24  Adam Barth  <abarth@webkit.org>
11107
11108        Reviewed by Darin Fisher.
11109
11110        [Chromium API] Disambiguate allowJavaScript from didNotAllowScript
11111        https://bugs.webkit.org/show_bug.cgi?id=35205
11112
11113        Make these two callsites explicit about not running script immediately.
11114
11115        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11116        (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
11117        (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
11118
111192010-02-23  Brady Eidson  <beidson@apple.com>
11120
11121        Reviewed by Tim Hatcher and Pavel Feldman.
11122
11123        Regression (r55107) - WebInspector docking is busted.
11124        https://bugs.webkit.org/show_bug.cgi?id=35274
11125
11126        * WebCoreSupport/WebInspectorClient.mm:
11127        (-[WebInspectorWindowController showWindow:]): Swap the order of the "should attach?" check
11128          to get the expected behavior.
11129
111302010-02-23  Dan Bernstein  <mitz@apple.com>
11131
11132        Reviewed by Simon Fraser.
11133
11134        <rdar://problem/7611158> Incomplete repaint of YouTube timeline thumb while scrolling
11135        https://bugs.webkit.org/show_bug.cgi?id=34381
11136
11137        Test: fast/repaint/repaint-during-scroll.html
11138
11139        NSClipView offsets any rects marked as needing display during scrolling
11140        by the scroll offset. Compensate for this when -setNeedsDisplay: is called
11141        during scrolling.
11142
11143        * WebView/WebHTMLView.mm:
11144        (-[WebHTMLView _frameOrBoundsChanged]): Set inScrollPositionChanged to YES
11145        around to call to FrameView::scrollPositionChanged().
11146        (-[WebHTMLView setNeedsDisplayInRect:]): When called beneath
11147        scrollPositionChanged(), adjust the rect by the inverse of the scroll offset.
11148
111492010-02-23  Steve Block  <steveblock@google.com>
11150
11151        Reviewed by Darin Adler.
11152
11153        Adds ChromeClient::cancelGeolocationPermissionRequestForFrame
11154        https://bugs.webkit.org/show_bug.cgi?id=34962
11155
11156        This method is required so that a Geolocation object can cancel an
11157        asynchronous permission request. This allows the chrome client to cancel
11158        any UI it is showing for the permission request.
11159
11160        * WebCoreSupport/WebChromeClient.h:
11161        (WebChromeClient::cancelGeolocationPermissionRequestForFrame):
11162
111632010-02-22  Alexey Proskuryakov  <ap@apple.com>
11164
11165        Rubber-stamped by Geoff Garen.
11166
11167        Rename RuntimeObjectImp to RuntimeObject.
11168
11169        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11170        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
11171        (WebKit::NetscapePluginInstanceProxy::retainLocalObject):
11172        (WebKit::NetscapePluginInstanceProxy::releaseLocalObject):
11173
111742010-02-22  Brady Eidson  <beidson@apple.com>
11175
11176        Reviewed by Tim Hatcher.
11177
11178        Disable WebView docking to views that are too small.
11179        <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254
11180
11181        * WebCoreSupport/WebInspectorClient.mm:
11182        (-[WebInspectorWindowController showWindow:]): No matter the preference, don't open the inspector
11183          window attached if WebCore says it shouldn't be attached.
11184
111852010-02-22  Simon Fraser  <simon.fraser@apple.com>
11186
11187        Reviewed by John Sullivan.
11188
11189        <rdar://problem/7285392>
11190        On Leopard, we have to disable hardware acceleration if we detect that the
11191        installed Core Video framework has bug <rdar://problem/7228836>.
11192
11193        * WebView/WebView.mm:
11194        (coreVideoHas7228836Fix):
11195        (-[WebView _preferencesChangedNotification:]):
11196
111972010-02-21  Dan Bernstein  <mitz@apple.com>
11198
11199        Reviewed by Darin Adler.
11200
11201        False warnings about needing layout in
11202        -[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
11203        https://bugs.webkit.org/show_bug.cgi?id=35218
11204
11205        * WebView/WebHTMLView.mm:
11206        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
11207        Suppress the warning and the forced layout if the view is not being drawn
11208        in this display operation.
11209
112102010-02-21  Kevin Decker  <kdecker@apple.com>
11211
11212        Reviewed by Sam Weinig.
11213
11214        plugInViewWithArguments: API sends wrong parameter for WebPlugInBaseURLKey
11215        https://bugs.webkit.org/show_bug.cgi?id=35215
11216        <rdar://problem/7673157>
11217
11218        The plugInViewWithArguments: API passes a dictionary of plugin arguments. One of the parameters
11219        is WebPlugInBaseURLKey, which is a key that represents the base URL of the document containing
11220        the plug-in's view. Instead of sending the base URL, code in  WebFrameLoaderClient::createPlugin
11221        would incorrectly pass the source URL of the plug-in resource.
11222
11223        * WebCoreSupport/WebFrameLoaderClient.mm:
11224        (WebFrameLoaderClient::createPlugin): When building the plug-in arguments dictionary, pass the
11225        real base URL for the WebPlugInBaseURLKey key.
11226
112272010-02-19  Maciej Stachowiak  <mjs@apple.com>
11228
11229        Reviewed by David Levin.
11230
11231        Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
11232        https://bugs.webkit.org/show_bug.cgi?id=35147
11233
11234        * Configurations/FeatureDefines.xcconfig:
11235
112362010-02-19  Alexey Proskuryakov  <ap@apple.com>
11237
11238        Reviewed by Maciej Stachowiak.
11239
11240        https://bugs.webkit.org/show_bug.cgi?id=35132
11241        <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)
11242
11243        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
11244        (WebNetscapePluginEventHandlerCarbon::mouseMoved): Send adjustCursor events on every mouse
11245        move. This matches Firefox, and is actually required for plug-ins to manipulate cursor wihout
11246        resorting to techniques such as fast firing timers.
11247
11248        * Plugins/WebNetscapePluginView.mm:
11249        (-[WebNetscapePluginView handleMouseEntered:]): Some plug-ins handle mouse cursor internally,
11250        but those that don't just need to get an arrow cursor (matching Firefox). This means that
11251        e.g. a plugin inside <A> won't get a finger mouse pointer.
11252
11253        * Plugins/WebHostedNetscapePluginView.mm:
11254        (-[WebNetscapePluginView handleMouseEntered:]):
11255        (-[WebNetscapePluginView handleMouseExited:]):
11256        Implement this behavior here, too. Also, out of process code didn't reset mouse pointer on
11257        mouse exit, which it needed to do.
11258
11259        * WebView/WebHTMLView.mm:
11260        (needsCursorRectsSupportAtPoint):
11261        (setCursor):
11262        (resetCursorRects):
11263        Make sure that the same workaround we have for Web content also applies to Netscape plug-ins,
11264        as AppKit would reset the mouse pointer to arrow if given a chance.
11265        (+[WebHTMLViewPrivate initialize]): Renamed setCursorIMP on Leopard and higher to prevent
11266        confusion - the method we override is completely different.
11267        (-[WebHTMLView hitTest:]): Added a FIXME about a likely bug.
11268
112692010-02-19  Simon Fraser  <simon.fraser@apple.com>
11270
11271        Reviewed by Dan Bernstein.
11272
11273        <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
11274
11275        Followup to avoid capturing compositing layers twice in snapshots. Add private
11276        methods to WebView to specify whether drawing the WebView into an image will
11277        include flattened compositing layers (the default behavior) or not.
11278
11279        * WebView/WebFrame.mm:
11280        (-[WebFrame _drawRect:contentsOnly:]): Consult the WebView flag to see if we
11281        want flattening.
11282
11283        * WebView/WebViewPrivate.h: New methods.
11284        * WebView/WebView.mm: Ditto.
11285        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
11286        (-[WebView _setIncludesFlattenedCompositingLayersWhenDrawingToBitmap:]):
11287        (-[WebView _includesFlattenedCompositingLayersWhenDrawingToBitmap]):
11288
11289        * WebView/WebViewData.h: New member variable.
11290
112912010-02-19  Alexey Proskuryakov  <ap@apple.com>
11292
11293        Reviewed by Dan Bernstein.
11294
11295        https://bugs.webkit.org/show_bug.cgi?id=35165
11296        plugins/set-status.html fails on Windows bot
11297
11298        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11299        (WebKit::NetscapePluginInstanceProxy::status):
11300        * Plugins/WebNetscapePluginView.mm:
11301        (-[WebNetscapePluginView status:]):
11302        Match Windows port behavior (and also Firefox one, in a way) - pass null status messages as
11303        empty ones to chrome.
11304
113052010-02-18  Simon Fraser  <simon.fraser@apple.com>
11306
11307        Reviewed by Dan Bernstein.
11308
11309        <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
11310
11311        Add logic to determine when painting via the software rendering path will give an equivalent
11312        result to the accelerated compositing presentation. This tests for the presence of 3D transforms.
11313
11314        Also have -[WebFrame _drawRect:contentsOnly:] set the PaintBehaviorFlattenCompositingLayers
11315        paint behavior when painting into a bitmap context, so that snapshots contain composited layers.
11316
11317        * WebView/WebFrame.mm:
11318        (-[WebFrame _drawRect:contentsOnly:]): Set the PaintBehaviorFlattenCompositingLayers flag
11319        when painting into a bitmap context.
11320        * WebView/WebView.mm:
11321        (-[WebView _isSoftwareRenderable]): Returns YES if all frames can be software-rendered.
11322        * WebView/WebViewPrivate.h: New _isSoftwareRenderable method.
11323
113242010-02-18  Alexey Proskuryakov  <ap@apple.com>
11325
11326        Reviewed by Dan Bernstein.
11327
11328        https://bugs.webkit.org/show_bug.cgi?id=35134
11329        <rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)
11330
11331        Test: plugins/set-status.html
11332
11333        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11334        (WebKit::NetscapePluginInstanceProxy::status):
11335        (WebKit::NetscapePluginInstanceProxy::loadURL):
11336        Added null checks for CFStringCreateWithCString arguments.
11337
113382010-02-17  Dmitry Titov  <dimich@chromium.org>
11339
11340        Reviewed by David Levin, Darin Fisher, Simon Hausmann.
11341
11342        When a live iframe element is moved between pages, it still depends on the old page.
11343        https://bugs.webkit.org/show_bug.cgi?id=34382
11344
11345        * WebCoreSupport/WebFrameLoaderClient.h:
11346        * WebCoreSupport/WebFrameLoaderClient.mm:
11347        Added empty implementation of a new virtual method.
11348
11349        (WebFrameLoaderClient::didTransferChildFrameToNewDocument):
11350
113512010-02-17  Kent Tamura  <tkent@chromium.org>
11352
11353        Reviewed by Eric Seidel.
11354
11355        Introduces new Icon loading interface in order to support
11356        asynchronous loading.
11357        https://bugs.webkit.org/show_bug.cgi?id=32054
11358
11359        Add an empty implementation of ChromeClient::iconForFiles().
11360
11361        * WebCoreSupport/WebChromeClient.h:
11362        * WebCoreSupport/WebChromeClient.mm:
11363        (WebChromeClient::iconForFiles):
11364
113652010-02-17  Timothy Hatcher  <timothy@apple.com>
11366
11367        Add a way for WebView and its dependancies to be selectively included
11368        in WebKitStatistics leak tracking. By default WebView is not included and
11369        you need to subclass WebView and implement +isIncludedInWebKitStatistics
11370        to be included.
11371
11372        rdar://problem/7567677&7572900
11373        https://webkit.org/b/35045
11374
11375        Reviewed by Adam Roben.
11376
11377        * WebView/WebDataSource.mm:
11378        (-[WebDataSource _initWithDocumentLoader:]): Increment WebDataSourceCount if the WebFrame is included in statistics.
11379        (-[WebDataSource dealloc]): Only --WebDataSourceCount if _private->includedInWebKitStatistics is YES.
11380        (-[WebDataSource finalize]): Ditto.
11381        * WebView/WebFrame.mm:
11382        (-[WebFrame _isIncludedInWebKitStatistics]): Return _private->includedInWebKitStatistics.
11383        (-[WebFrame _initWithWebFrameView:webView:]): Increment WebFrameCount if the WebView's class is included in statistics.
11384        (-[WebFrame dealloc]): Only --WebFrameCount if _private->includedInWebKitStatistics is YES.
11385        (-[WebFrame finalize]): Ditto.
11386        * WebView/WebFrameInternal.h:
11387        * WebView/WebFrameView.mm:
11388        (-[WebFrameView _setWebFrame:]): Increment WebFrameViewCount if the WebFrame is included in statistics.
11389        (-[WebFrameView initWithFrame:]): Move ++WebFrameViewCount from here since we don't
11390        know what WebFrame we belong to yet.
11391        (-[WebFrameView dealloc]): Only --WebFrameViewCount if _private->includedInWebKitStatistics is YES.
11392        (-[WebFrameView finalize]): Ditto.
11393        * WebView/WebHTMLRepresentation.mm:
11394        (-[WebHTMLRepresentation init]): Move ++WebHTMLRepresentationCount from here since we don't
11395        know what WebFrame we belong to yet.
11396        (-[WebHTMLRepresentation dealloc]): Only --WebHTMLRepresentationCount if _private->includedInWebKitStatistics is YES.
11397        (-[WebHTMLRepresentation finalize]): Ditto.
11398        (-[WebHTMLRepresentation setDataSource:]): Increment WebHTMLRepresentationCount if the WebFrame of the dataSource is
11399        included in statistics.
11400        * WebView/WebView.mm:
11401        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
11402        (-[WebView dealloc]):
11403        (+[WebView shouldIncludeInWebKitStatistics]): Return NO, so any WebView wont be included.
11404        Subclasses that care can return YES to be included.
11405        * WebView/WebViewInternal.h:
11406
114072010-02-16  Darin Adler  <darin@apple.com>
11408
11409        Reviewed by Sam Weinig.
11410
11411        Generalize delayed plug-in start for background tabs for use for other media
11412        https://bugs.webkit.org/show_bug.cgi?id=34981
11413
11414        * WebView/WebHTMLView.mm:
11415        (-[WebHTMLView viewWillMoveToWindow:]): Added comment.
11416        (-[WebHTMLView viewDidMoveToWindow]): Ditto.
11417
11418        * WebView/WebView.mm:
11419        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
11420        Call setCanStartMedia right away so that if this view is not in a window, it
11421        will not start any media.
11422        (-[WebView viewWillMoveToWindow:]): Call setCanStartMedia(false) when moving
11423        to a window of nil.
11424        (-[WebView viewDidMoveToWindow]): Call setCanStartMedia(true) when moved to
11425        a window that is non-nil.
11426
114272010-02-16  Eric Carlson  <eric.carlson@apple.com>
11428
11429        Reviewed by Simon Fraser.
11430
11431        https://bugs.webkit.org/show_bug.cgi?id=34988
11432        WebHTMLView.mm has two -willRemoveSubview: methods
11433
11434        * WebView/WebHTMLView.mm:
11435        (-[WebHTMLView willRemoveSubview:]): Consolidate the two copies of this method.
11436
114372010-02-16  Alexey Proskuryakov  <ap@apple.com>
11438
11439        Reviewed by Geoffrey Garen and Kevin Decker.
11440
11441        https://bugs.webkit.org/show_bug.cgi?id=34989
11442        <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content
11443
11444        This fixes event dispatch for both Cocoa and Carbon event models (mouseEntered/mouseExited
11445        in the former case, and adjustCursor in the latter).
11446
11447        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
11448        (-[WebHostedNetscapePluginView handleMouseEntered:]):
11449        (-[WebHostedNetscapePluginView handleMouseExited:]):
11450        * Plugins/WebBaseNetscapePluginView.h:
11451        * Plugins/WebBaseNetscapePluginView.mm:
11452        (-[WebBaseNetscapePluginView handleMouseEntered:]):
11453        (-[WebBaseNetscapePluginView handleMouseExited:]):
11454        * Plugins/WebNetscapePluginView.h:
11455        * Plugins/WebNetscapePluginView.mm:
11456        (-[WebNetscapePluginView handleMouseEntered:]):
11457        (-[WebNetscapePluginView handleMouseExited:]):
11458        AppKit cannot reliably dispatch events for overlapping views. We are now asking WebCore to
11459        notify plug-in views of mouse entered/exited as part of DOM event dispatch.
11460
11461        * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): Besides
11462        mouse moved, dispatch plugin mouse entered/exit events in HTMLPlugInElement default event
11463        handler. Other mouse events are passed down by EventHandler.
11464
114652010-02-15  Alexey Proskuryakov  <ap@apple.com>
11466
11467        More build fixing (for what is actually a 64-bit failure, as 32-bit apparently includes
11468        headers that aren't included in 64-bit).
11469
11470        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11471        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11472        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::contains):
11473        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get):
11474        Move inline functions to .cpp; also made the class Noncopyable.
11475
114762010-02-15  Alexey Proskuryakov  <ap@apple.com>
11477
11478        Mac release build fix attempt.
11479
11480        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11481        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11482        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::~LocalObjectMap):
11483        Implement destructor in .cpp file, where necessary headers are already included.
11484
114852010-02-12  Alexey Proskuryakov  <ap@apple.com>
11486
11487        Reviewed by Kevin Decker.
11488
11489        <rdar://problem/7130641> Browser objects identity is not preserved by Safari
11490
11491        Out of process part.
11492
11493        To avoid excessive IPC, plugin process doesn't send each NPObject release/retain call to
11494        Safari. It only sends one when the last one is removed, and it can destroy the proxy
11495        NPObject.
11496
11497        However, the browser may be sending the same object out to plug-in as a function call
11498        argument at the same time - neither side can know what the other one is up to. The solution
11499        is to make the "destroying object" call return a boolean result, making it possible for
11500        the browser to make plugin host keep the proxy with zero refcount for a little longer.
11501
11502        * Plugins/Hosted/NetscapePluginHostProxy.mm:
11503        (WKPCForgetBrowserObject): This function (that used to be named ReleaseObject) is only
11504        called when plug-in releases all of its references, so renamed it. Its boolean result
11505        is returned as call success or failure.
11506
11507        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11508        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap): Made the numeric ID to JSObject map
11509        two-way.
11510
11511        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11512        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject): This method is tricky
11513        in that it creates objects with refcount of 1, but doesn't increase refcount when returning
11514        found objects. This extra count accounts for the "reference" kept by plugin process.
11515        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain): Only retaining for the
11516        duration of calls out to plug-in, which means that refcount is almost always equal to 1.
11517        Note that we can't use "++" here, due to how std::pair works!
11518        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release): Ditto.
11519        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::clear): Clear all references when
11520        stopping plug-in.
11521        (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Like release(), but only
11522        functional when recount is 1 (meaning that the object is not being sent out to plug-in at
11523        the moment).
11524        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Updated for other changes.
11525        (WebKit::NetscapePluginInstanceProxy::cleanup): Ditto.
11526        (WebKit::NetscapePluginInstanceProxy::getWindowNPObject): Ditto.
11527        (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject): Ditto.
11528        (WebKit::NetscapePluginInstanceProxy::forgetBrowserObjectID): Ditto.
11529        (WebKit::NetscapePluginInstanceProxy::evaluate): Ditto.
11530        (WebKit::NetscapePluginInstanceProxy::invoke): Ditto.
11531        (WebKit::NetscapePluginInstanceProxy::invokeDefault): Ditto.
11532        (WebKit::NetscapePluginInstanceProxy::construct): Ditto.
11533        (WebKit::NetscapePluginInstanceProxy::getProperty): Ditto.
11534        (WebKit::NetscapePluginInstanceProxy::setProperty): Ditto.
11535        (WebKit::NetscapePluginInstanceProxy::removeProperty): Ditto.
11536        (WebKit::NetscapePluginInstanceProxy::hasProperty): Ditto.
11537        (WebKit::NetscapePluginInstanceProxy::hasMethod): Ditto.
11538        (WebKit::NetscapePluginInstanceProxy::enumerate): Ditto.
11539        (WebKit::NetscapePluginInstanceProxy::addValueToArray): Ditto.
11540        (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): Ditto.
11541        (WebKit::NetscapePluginInstanceProxy::retainLocalObject): Helper for calling retain when
11542        making calls out to plug-in. No-op for objects that aren't wrapped to be sent (i.e. for
11543        objects wrapping ProxyInstance wrappers for plug-in objects being sent bak).
11544        (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto.
11545
11546        * Plugins/Hosted/ProxyInstance.mm:
11547        (WebKit::ProxyInstance::invoke): Retain/release arguments during call.
11548        (WebKit::ProxyInstance::setFieldValue): Ditto.
11549
11550        * Plugins/Hosted/WebKitPluginClient.defs: Renamed PCReleaseObject to PCForgetBrowserObject.
11551
115522010-02-12  Darin Adler  <darin@apple.com>
11553
11554        Reviewed by Sam Weinig.
11555
11556        Removed unneeded custom implementation of isDescendantOf.
11557
11558        * Plugins/WebBaseNetscapePluginView.mm:
11559        (-[WebBaseNetscapePluginView shouldClipOutPlugin]): Use the
11560        -[NSView isDescendantOf:] method instead of our own method
11561        named superviewsHaveSuperviews.
11562
115632010-02-12  Dan Bernstein  <mitz@apple.com>
11564
11565        Reviewed by Darin Adler.
11566
11567        <rdar://problem/7615234> REGRESSION (r48586): Loading an HTML page causes
11568        PDFKit to be loaded
11569
11570        * WebView/WebPDFDocumentExtras.h: Removed the category declaration and
11571        addWebPDFDocumentExtras(). Declare allScriptsInPDFDocument().
11572        * WebView/WebPDFDocumentExtras.mm:
11573        (allScriptsInPDFDocument): Changed the -_web_allScripts method into this function.
11574        * WebView/WebPDFRepresentation.mm: Removed +initialize.
11575        (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Use
11576        allScriptsInPDFDocument() instead of -_web_allScripts.
11577
115782010-02-10  Geoffrey Garen  <ggaren@apple.com>
11579
11580        Reviewed by Oliver Hunt.
11581
11582        Exported some new JavaScript heap introspection.
11583
11584        * Misc/WebCoreStatistics.h:
11585        * Misc/WebCoreStatistics.mm:
11586        (+[WebCoreStatistics javaScriptObjectTypeCounts]): Just like
11587        javaScriptProtectedObjectTypeCounts, except this function enumerates all
11588        live objects, not just protected objects.
11589
115902010-02-08  Maciej Stachowiak  <mjs@apple.com>
11591
11592        Reviewed by Cameron Zwarich.
11593
11594        Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
11595        https://bugs.webkit.org/show_bug.cgi?id=34698
11596
11597        * Configurations/FeatureDefines.xcconfig:
11598
115992010-02-09  Alexey Proskuryakov  <ap@apple.com>
11600
11601        Reviewed by Geoffrey Garen.
11602
11603        https://bugs.webkit.org/show_bug.cgi?id=34490
11604        WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
11605
11606        * ForwardingHeaders/wtf/ValueCheck.h: Added.
11607
116082010-02-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
11609
11610        Reviewed by Kenneth Rohde Christiansen.
11611
11612        Support frameset flattening
11613        https://bugs.webkit.org/show_bug.cgi?id=32717
11614
11615        Add support for enabling/disabling FrameSet Flattening on the Mac port.
11616
11617        * WebView/WebPreferenceKeysPrivate.h:
11618        * WebView/WebPreferences.mm:
11619        (+[WebPreferences initialize]):
11620        (-[WebPreferences isFrameSetFlatteningEnabled]):
11621        (-[WebPreferences setFrameSetFlatteningEnabled:]):
11622        * WebView/WebPreferencesPrivate.h:
11623        * WebView/WebView.mm:
11624        (-[WebView _preferencesChangedNotification:]):
11625
116262010-02-09  Alexey Proskuryakov  <ap@apple.com>
11627
11628        Reviewed by Anders Carlsson.
11629
11630        https://bugs.webkit.org/show_bug.cgi?id=34771
11631        A stray mouse moved event is sent to plug-ins after mouse exit
11632
11633        * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): A mouseout
11634        DOM event is dispatched while handling NSMouseMoved - but we shouldn't be sending a
11635        mouse moved event to plug-ins at this point.
11636
116372010-02-09  Shinichiro Hamaji  <hamaji@chromium.org>
11638
11639        Reviewed by Darin Adler.
11640
11641        Provide a way to get total number of pages to be printed
11642        https://bugs.webkit.org/show_bug.cgi?id=34699
11643
11644        * Misc/WebCoreStatistics.h:
11645        * Misc/WebCoreStatistics.mm:
11646        (-[WebFrame numberOfPages:pageWidthInPixels:]):
11647
116482010-02-08  Alexey Proskuryakov  <ap@apple.com>
11649
11650        Reviewed by Darin Adler.
11651
11652        https://bugs.webkit.org/show_bug.cgi?id=34727
11653        Assertion crashes and freezes when plug-in property access results in an exception
11654
11655        * Plugins/Hosted/WebKitPluginClient.defs: Made PCSetProperty and PCRemoveProperty async.
11656        A plug-in can call back whil processing this call (e.g. for NPN_SetException), so we need
11657        to listen for messages while waiting for reply.
11658
11659        * Plugins/Hosted/NetscapePluginHostProxy.mm:
11660        (WKPCEvaluate): If there is no instance proxy, return KERN_FAILURE. This improves consistency
11661        between method implementations, and leaves us with one less IPC call to make in failure case
11662        (returning false with KERN_SUCCESS and returning KERN_FAILURE looks the same from plugin
11663        host code).
11664        (WKPCInvoke): Ditto.
11665        (WKPCInvokeDefault): Ditto.
11666        (WKPCGetProperty): Ditto.
11667        (WKPCSetProperty): Send a reply once done.
11668        (WKPCRemoveProperty): Ditto.
11669        (WKPCHasProperty): If there is no instance proxy, return KERN_FAILURE.
11670        (WKPCHasMethod): Ditto.
11671        (WKPCEnumerate): Ditto.
11672
116732010-02-08  Alexey Proskuryakov  <ap@apple.com>
11674
11675        Reviewed by Anders Carlsson.
11676
11677        <rdar://problem/6530010> OOP: Support NPN_SetException
11678
11679        Tested by plugins/netscape-throw-exception.html (removed it from skipped list).
11680
11681        * Plugins/Hosted/NetscapePluginHostProxy.mm:
11682        (WKPCSetException):
11683        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11684        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11685        (WebKit::globalExceptionString):
11686        (WebKit::NetscapePluginInstanceProxy::setGlobalException):
11687        (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
11688        * Plugins/Hosted/ProxyInstance.mm:
11689        (WebKit::ProxyInstance::invoke):
11690        (WebKit::ProxyInstance::getPropertyNames):
11691        (WebKit::ProxyInstance::fieldValue):
11692        (WebKit::ProxyInstance::setFieldValue):
11693        * Plugins/Hosted/WebKitPluginClient.defs:
11694        Route exception string to a global that's checked after calling into plug-in (just like in
11695        in-process case).
11696
116972010-02-05  Kevin Decker  <kdecker@apple.com>
11698
11699        Reviewed by Mark Rowe.
11700
11701        https://bugs.webkit.org/show_bug.cgi?id=34661
11702        <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
11703
11704        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
11705        (-[WebHostedNetscapePluginView updateAndSetWindow]): When clipping out NPDrawingModelCoreAnimation plug-ins, provide a zero'd out clipRect.
11706        * Plugins/WebBaseNetscapePluginView.h: Moved superviewsHaveSuperviews to the base class.
11707        * Plugins/WebBaseNetscapePluginView.mm:
11708        (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): Added to the base class; extracted from WebNetscapePluginView.
11709        (-[WebBaseNetscapePluginView shouldClipOutPlugin]): Added new method with code extracted from WebNetscapePluginView.
11710        * Plugins/WebNetscapePluginView.mm:
11711        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): When clipping out NPDrawingModelCoreAnimation plug-ins, provide a zero'd out clipRect.
11712
117132010-02-04  Mark Rowe  <mrowe@apple.com>
11714
11715        Rubber-stamped by Dan Bernstein.
11716
11717        Fix the ability to #include <WebKit/DOMFile.h>.
11718
11719        * MigrateHeaders.make: Mark DOMBlob.h as a public header since the already-public DOMFile.h depends on it.
11720
117212010-02-04  John Sullivan  <sullivan@apple.com>
11722
11723        https://bugs.webkit.org/show_bug.cgi?id=34611
11724        WebLocalizedString() could use an assertion that it is being called on the main thread
11725
11726        Reviewed by Tim Hatcher.
11727
11728        * Misc/WebLocalizableStrings.m: Removed.
11729        * Misc/WebLocalizableStrings.mm: Copied from mac/Misc/WebLocalizableStrings.m.
11730        Renamed to use .mm extension so it can include a C++ header.
11731        (WebLocalizedString):
11732        Added an assertion that this is being called on the main thread.
11733
117342010-02-04  Dan Bernstein  <mitz@apple.com>
11735
11736        Reviewed by Simon Fraser.
11737
11738        REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
11739        https://bugs.webkit.org/show_bug.cgi?id=34371
11740
11741        * WebView/WebFrameView.mm:
11742        (-[WebFrameView _verticalPageScrollDistance]): Use Scrollbar methods instead of
11743        constants, and cap the scroll distance.
11744        (-[WebFrameView initWithFrame:]): Use Scrollbar::pixelsPerLineStep() instead of
11745        cScrollbarPixelsPerLineStep.
11746        (-[WebFrameView _horizontalPageScrollDistance]):Use Scrollbar methods instead of
11747        constants, and cap the scroll distance.
11748
117492010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>
11750
11751        Reviewed by Eric Seidel.
11752
11753        Provide a way to get page number with layoutTestController
11754        https://bugs.webkit.org/show_bug.cgi?id=33840
11755
11756        * Misc/WebCoreStatistics.h:
11757        * Misc/WebCoreStatistics.mm:
11758        (-[WebFrame pageNumberForElement:element:pageWidth:]):
11759
117602010-01-29  Gavin Barraclough  <barraclough@apple.com>
11761
11762        Reviewed by Sam Weinig + Oliver Hunt.
11763
11764        Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds
11765
11766        Pass processeing user gensture flag to media play/pause methods.
11767
11768        * WebView/WebVideoFullscreenHUDWindowController.mm:
11769        (-[WebVideoFullscreenHUDWindowController setPlaying:]):
11770
117712010-02-01  Dan Bernstein  <mitz@apple.com>
11772
11773        Reviewed by Anders Carlsson.
11774
11775        <rdar://problem/7044385> Crash at NetscapePlugInStreamLoader::didReceiveResponse()
11776
11777        The crash was caused by having two streams with a streamID of 1.
11778
11779        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11780        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Fixed a typo. Now
11781        correctly increments m_currentURLRequestID to account for the manual stream.
11782        (WebKit::NetscapePluginInstanceProxy::disconnectStream): If the stream is the manual stream,
11783        null it out instead of trying to remove it from the map. Added an assertion.
11784        (WebKit::NetscapePluginInstanceProxy::loadRequest): Added an assertion.
11785
11786== Rolled over to ChangeLog-2010-01-29 ==
11787