2010-09-08 MORITA Hajime <morrita@google.com>
[WebKit.git] / WebKit / mac / ChangeLog
1 2010-09-08  MORITA Hajime  <morrita@google.com>
2
3         Reviewed by Tony Chang.
4
5         spelling underline gets lost on backspace
6         https://bugs.webkit.org/show_bug.cgi?id=41423
7
8         Switched to use a anchorNode of the selection instead of a focused
9         node for finer control of node selection in spellingNode():
10         With the focused node, we cannot select other nodes but the first
11         child of that node. In some case, we need to inspect these.
12
13         The API is only for LayoutTests, and the change is compatible for
14         existing test cases.
15         
16         * WebView/WebFrame.mm:
17         (spellingNode):
18
19 2010-09-08  Adam Barth  <abarth@webkit.org>
20
21         Rubber-stamped by Eric Seidel.
22
23         Rename DocLoader to CachedResourceLoader because that's what it does.
24
25         * WebView/WebFrame.mm:
26
27 2010-09-07  Anders Carlsson  <andersca@apple.com>
28
29         Reviewed by Oliver Hunt.
30
31         Fix clang++ build.
32
33         * Misc/WebLocalizableStrings.h:
34         Fix a struct/tag mismatch.
35
36         * WebView/WebDeviceOrientationProviderMock.mm:
37         (-[WebDeviceOrientationProviderMock init]):
38         Remove stray semicolon.
39
40         * WebView/WebViewData.h:
41         Remove unused class forward declaration.
42
43 2010-09-07  Anders Carlsson  <andersca@apple.com>
44
45         Reviewed by Darin Adler.
46
47         <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
48
49         Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
50         
51         * Configurations/Base.xcconfig:
52
53 2010-09-06  Adam Barth  <abarth@webkit.org>
54
55         Reviewed by Darin Adler.
56
57         Rename SecurityOrigin::canLoad to canDisplay
58         https://bugs.webkit.org/show_bug.cgi?id=45214
59
60         Propagate name change.
61
62         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
63         (WebKit::NetscapePluginInstanceProxy::loadRequest):
64         * Plugins/WebNetscapePluginStream.mm:
65         (WebNetscapePluginStream::WebNetscapePluginStream):
66         * Plugins/WebNetscapePluginView.mm:
67         (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
68         * Plugins/WebPluginContainerCheck.mm:
69         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
70         * WebView/WebFrame.mm:
71         (-[WebFrame _allowsFollowingLink:]):
72
73 2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
74
75         Reviewed by Darin Adler.
76
77         Add NetworkingContext to avoid layer violations
78         https://bugs.webkit.org/show_bug.cgi?id=42292
79
80         Add Mac's specific implementation of FrameNetworkingContext.
81
82         * WebCoreSupport/WebFrameLoaderClient.h:
83         * WebCoreSupport/WebFrameLoaderClient.mm:
84         * WebCoreSupport/WebFrameNetworkingContext.mm:
85         (WebFrameNetworkingContext::needsSiteSpecificQuirks):
86         (WebFrameNetworkingContext::localFileContentSniffingEnabled):
87         (WebFrameNetworkingContext::scheduledRunLoopPairs):
88         (WebFrameNetworkingContext::blockedError):
89
90 2010-09-03  John Sullivan  <sullivan@apple.com>
91
92         Reviewed by Dan Bernstein.
93         
94         https://bugs.webkit.org/show_bug.cgi?id=45175
95         [WebView unmarkAllTextMatches] will crash if the webview is already closed
96
97         Made this and related methods robust against being called when the WebView is closed.
98
99         * WebView/WebView.mm:
100         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
101         Bail out if the WebView is closed.
102         (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]):
103         Ditto.
104         (-[WebView unmarkAllTextMatches]):
105         Ditto.
106         (-[WebView rectsForTextMatches]):
107         Ditto.
108
109 2010-09-03  Hironori Bono  <hbono@chromium.org>
110
111         Reviewed by Kent Tamura.
112
113         Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests
114         and implements it for Mac.
115         https://bugs.webkit.org/show_bug.cgi?id=41832
116
117         * WebView/WebFrame.mm: Implemented [WebFrame hasSpellingMarker:length:].
118         (spellingNode):
119         (-[WebFrame hasSpellingMarker:length:]):
120         * WebView/WebFramePrivate.h: Added [WebFrame hasSpellingMarker:length:] so TextInputController can use it.
121
122 2010-09-02  Yury Semikhatsky  <yurys@chromium.org>
123
124         Reviewed by Pavel Feldman.
125
126         REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
127         https://bugs.webkit.org/show_bug.cgi?id=44230
128
129         * WebCoreSupport/WebInspectorClient.h:
130         * WebCoreSupport/WebInspectorClient.mm:
131         (WebInspectorFrontendClient::closeWindow):
132         (WebInspectorFrontendClient::disconnectFromBackend):
133         (-[WebInspectorWindowController windowShouldClose:]):
134         (-[WebInspectorWindowController destroyInspectorView:]):
135
136 2010-09-02  Steve Block  <steveblock@google.com>
137
138         Reviewed by Adam Barth.
139
140         Hook up LayoutTestController.setMockDeviceOrientation() on Mac.
141         https://bugs.webkit.org/show_bug.cgi?id=43181
142
143         This patch hooks up the mock device orientation client on Mac for use
144         in DumpRenderTree.
145
146         The patch adds a new WebDeviceOrientationClient for Mac. This client acts
147         as a proxy to either a real or mock device orientation provider, both of
148         which implement a new WebDeviceOrientationProvider interface.
149
150         The provider is created by the embedder and passed to the WebView, from
151         where WebDeviceOrientationClient can access it.
152
153         The mock provider, WebDeviceOrientationProviderMock, is a wrapper around
154         the existing WebCore mock.
155
156         * WebCoreSupport/WebDeviceOrientationClient.h: Added.
157         * WebCoreSupport/WebDeviceOrientationClient.mm: Added.
158         (WebDeviceOrientationClient::WebDeviceOrientationClient):
159         (WebDeviceOrientationClient::setController):
160         (WebDeviceOrientationClient::startUpdating):
161         (WebDeviceOrientationClient::stopUpdating):
162         (WebDeviceOrientationClient::lastOrientation):
163         * WebKit.exp:
164         * WebView/WebDeviceOrientation.h: Added.
165         * WebView/WebDeviceOrientation.mm: Added.
166         (-[WebDeviceOrientation initWithCoreDeviceOrientation:WebCore::]):
167         (core):
168         (-[WebDeviceOrientation initWithCanProvideAlpha:alpha:canProvideBeta:beta:canProvideGamma:gamma:]):
169         (-[WebDeviceOrientation dealloc]):
170         * WebView/WebDeviceOrientationInternal.h: Added.
171         * WebView/WebDeviceOrientationProvider.h: Added.
172         * WebView/WebDeviceOrientationProviderMock.h: Added.
173         * WebView/WebDeviceOrientationProviderMock.mm: Added.
174         (-[WebDeviceOrientationProviderMockInternal setOrientation:]):
175         (-[WebDeviceOrientationProviderMockInternal setController:]):
176         (-[WebDeviceOrientationProviderMockInternal startUpdating]):
177         (-[WebDeviceOrientationProviderMockInternal stopUpdating]):
178         (-[WebDeviceOrientationProviderMockInternal lastOrientation]):
179         (-[WebDeviceOrientationProviderMock init]):
180         (-[WebDeviceOrientationProviderMock dealloc]):
181         (-[WebDeviceOrientationProviderMock setOrientation:]):
182         (-[WebDeviceOrientationProviderMock setController:]):
183         (-[WebDeviceOrientationProviderMock startUpdating]):
184         (-[WebDeviceOrientationProviderMock stopUpdating]):
185         (-[WebDeviceOrientationProviderMock lastOrientation]):
186         * WebView/WebDeviceOrientationProviderMockInternal.h: Added.
187         * WebView/WebView.mm:
188         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
189         (-[WebView _setDeviceOrientationProvider:]):
190         (-[WebView _deviceOrientationProvider]):
191         * WebView/WebViewData.h:
192         * WebView/WebViewPrivate.h:
193
194 2010-09-01  Jia Pu  <jpu@apple.com>
195
196         Reviewed by Dan Bernstein.
197
198         Add support for autocorrection UI on Mac OS X.
199         https://bugs.webkit.org/show_bug.cgi?id=44958
200         <rdar://problem/7326847>
201
202         See detailed high level description in WebCore/ChangeLog.
203
204         * WebCoreSupport/WebEditorClient.h: Added new member methods declared in
205           EditorClient. Added m_correctionPanelTag to store the ID of current autocorrection UI object.
206
207         * WebCoreSupport/WebEditorClient.mm:
208         (WebEditorClient::WebEditorClient): Initialize m_correctionPanelTag.
209         (WebEditorClient::~WebEditorClient): Make sure the autocorrection UI is
210           dismissed before destroying the object.
211         (WebEditorClient::respondToChangedSelection): Dismiss autocorrection UI whenever the selection changes.
212         (WebEditorClient::showCorrectionPanel): Show autocorrection UI.
213         (WebEditorClient::dismissCorrectionPanel): Dismiss autocorrection UI.
214
215 2010-09-01  Mark Rowe  <mrowe@apple.com>
216
217         Reviewed by Adam Roben.
218
219         <rdar://problem/8374711> WebKit needs to compile without access to QuickDraw private headers.
220
221         * Carbon/HIViewAdapter.m:
222         * Carbon/HIWebView.mm:
223         * Misc/QuickDrawCompatibility.h: Added.
224         * Plugins/WebNetscapePluginView.mm:
225
226 2010-08-31  Dave Hyatt  <hyatt@apple.com>
227
228         Reviewed by Sam Weinig.
229
230         https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that
231         the former can occur in more places without having to do the latter.
232
233         Eliminate Mac-specific code for style re-application and recursive layout/style updating in 
234         favor of the cross-platform code that all the other ports use.
235
236         * Carbon/HIWebView.mm:
237         (Draw):
238         * WebCoreSupport/WebFrameLoaderClient.mm:
239         (WebFrameLoaderClient::forceLayout):
240         * WebView/WebHTMLView.mm:
241         (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]):
242         (-[WebHTMLView viewWillDraw]):
243         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
244         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
245         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
246         (-[WebHTMLView reapplyStyles]):
247         (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]):
248         (-[WebHTMLView setNeedsToApplyStyles:]):
249         (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
250         (-[WebHTMLView _layoutIfNeeded]):
251         (-[WebHTMLView _web_updateLayoutAndStyleIfNeededRecursive]):
252         * WebView/WebHTMLViewInternal.h:
253         * WebView/WebView.mm:
254         (-[WebView _viewWillDrawInternal]):
255
256 2010-08-31  Sam Weinig  <sam@webkit.org>
257
258         Reviewed by Darin Adler.
259
260         Add ability to count text matches without marking
261         https://bugs.webkit.org/show_bug.cgi?id=43996
262
263         Safari needs to be able to count text matches without triggering lots of repainting.
264         Rename markAllMatchesForText: to countMatchesForText: and add a markMatches:
265         parameter.  For backwards compatibility markAllMatchesForText: calls
266         countMatchesForText: and passes YES for markMatches:.
267
268         * WebView/WebDocumentInternal.h:
269         * WebView/WebHTMLView.mm:
270         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
271         (-[WebHTMLView countMatchesForText:caseSensitive:limit:markMatches:]):
272         * WebView/WebPDFView.mm:
273         (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]):
274         (-[WebPDFView countMatchesForText:caseSensitive:limit:markMatches:]):
275         * WebView/WebView.mm:
276         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
277         (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]):
278         * WebView/WebViewPrivate.h:
279
280 2010-08-31  Darin Adler  <darin@apple.com>
281
282         Reviewed by Anders Carlsson.
283
284         * WebInspector/WebInspectorFrontend.mm:
285         (-[WebInspectorFrontend initWithFrontendClient:]): Remove a stray semicolon.
286
287 2010-08-30  Mark Rowe  <mrowe@apple.com>
288
289         Reviewed by Darin Adler.
290
291         <rdar://problem/8369736> WebKit build fails.
292
293         Temporarily add some extra includes in order to get things building again until <rdar://problem/8374711> is addressed.
294
295         * Carbon/HIViewAdapter.m:
296         * Carbon/HIWebView.mm:
297         * Plugins/WebNetscapePluginView.mm:
298
299 2010-08-30  Andy Estes  <aestes@apple.com>
300
301         Reviewed by Darin Adler.
302
303         REGRESSION (r66156): Sites using AppleConnect for authentication fail to log in.
304         https://bugs.webkit.org/show_bug.cgi?id=44865
305
306         After http://trac.webkit.org/changeset/66156, sites using the AppleConnect plug-in
307         for authentication fail to log in. This is due to a bug in AppleConnect that r66156
308         exposed, but since this will have a significant impact on users of WebKit nightly
309         builds, a plugin-specific hack should be added while the underlying issue is being
310         addressed.
311
312         * WebCoreSupport/WebFrameLoaderClient.mm:
313         (WebFrameLoaderClient::createPlugin): Convert plug-in parameter names to lowercase
314         if the plugin is of type 'application/x-snkp'.
315
316 2010-08-27  Jer Noble  <jer.noble@apple.com>
317
318         Reviewed by Eric Carlson.
319
320         text/plain non-video files cause <video> to hang (while reading them?)
321         https://bugs.webkit.org/show_bug.cgi?id=44212
322         
323         Add the new WebKitSystemInterface function WKQTMovieDisableComponent to
324         the initialization routine.
325
326         * WebCoreSupport/WebSystemInterface.mm:
327         (InitWebCoreSystemInterface): Initialize WKQTMovieDisableComponent.
328
329 2010-08-30  Sheriff Bot  <webkit.review.bot@gmail.com>
330
331         Unreviewed, rolling out r66198.
332         http://trac.webkit.org/changeset/66198
333         https://bugs.webkit.org/show_bug.cgi?id=44856
334
335         It made tests crash on Qt bot (Requested by Ossy_ on #webkit).
336
337         * WebCoreSupport/WebInspectorClient.h:
338         * WebCoreSupport/WebInspectorClient.mm:
339         (WebInspectorFrontendClient::closeWindow):
340         (-[WebInspectorWindowController windowShouldClose:]):
341         (-[WebInspectorWindowController destroyInspectorView]):
342
343 2010-08-28  Darin Adler  <darin@apple.com>
344
345         Reviewed by Sam Weinig.
346
347         Make an internal method used by Apple Mail into SPI
348         https://bugs.webkit.org/show_bug.cgi?id=44832
349         rdar://problem/5748951
350
351         * WebView/WebFrame.mm:
352         (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Moved this method
353         from the internal section to the private section.
354         * WebView/WebFrameInternal.h: Moved the method declaration out of here.
355         * WebView/WebFramePrivate.h: Moved the method declaration in here.
356
357 2010-08-27  Jer Noble  <jer.noble@apple.com>
358
359         Reviewed by Eric Carlson.
360
361         Add JavaScript API to allow a page to go fullscreen.
362         rdar://problem/6867795
363
364         Added chrome client overrides which support entering and exiting full screen.  A new preference has
365         been added (setFullScreenEnabled:) to control at runtime whether full screen support is enabled 
366         (defaults to disabled).  Added a new WebKitFullScreenListener callback object which notifies WebCore
367         when the chrome has started/finished its full screen animation.
368
369         * Configurations/FeatureDefines.xcconfig:
370         * WebCoreSupport/WebChromeClient.h:
371         * WebCoreSupport/WebChromeClient.mm:
372         (WebChromeClient::supportsFullscreenForElement):
373         (WebChromeClient::enterFullscreenForElement):
374         (WebChromeClient::exitFullscreenForElement):
375         (-[WebKitFullScreenListener initWithElement:]):
376         (-[WebKitFullScreenListener webkitWillEnterFullScreen]):
377         (-[WebKitFullScreenListener webkitDidEnterFullScreen]):
378         (-[WebKitFullScreenListener webkitWillExitFullScreen]):
379         (-[WebKitFullScreenListener webkitDidExitFullScreen]):
380         * WebView/WebPreferenceKeysPrivate.h:
381         * WebView/WebPreferences.h:
382         * WebView/WebPreferences.mm:
383         (+[WebPreferences initialize]):
384         (-[WebPreferences setFullScreenEnabled:]):
385         (-[WebPreferences fullScreenEnabled]):
386         * WebView/WebUIDelegatePrivate.h:
387         * WebView/WebView.mm:
388         (-[WebView _preferencesChangedNotification:]):
389
390 2010-08-27  David Hyatt  <hyatt@apple.com>
391
392         Reviewed by Simon Fraser.
393
394         https://bugs.webkit.org/show_bug.cgi?id=44788, implement HTML5-compliant doctype switching.
395
396         Rename the various modes to match the HTML5 specification:
397             ParseMode -> CompatibilityMode
398             CompatMode -> QuirksMode
399             AlmostStrictMode -> LimitedQuirksMode
400             StrictMode -> NoQuirksMode
401             
402         Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document
403         instead.  This makes switching modes avoid forcing all RenderStyles to detect as changed.
404         
405         Clean up user stylesheets to minimize style recalculation when the mode is switched.
406         
407         Fix bugs with the propagation of correct modes in the HTML5 parser.  Make sure the
408         dummy document created for fragment parsing properly inherits the real document's CompatibilityMode.
409         Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling
410         a doctype token.
411         
412         determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm
413         precisely.
414
415         * WebView/WebView.mm:
416         (-[WebView _preferencesChangedNotification:]):
417
418 2010-08-27  Yury Semikhatsky  <yurys@chromium.org>
419
420         Reviewed by Pavel Feldman.
421
422         REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
423         https://bugs.webkit.org/show_bug.cgi?id=44230
424
425         * WebCoreSupport/WebInspectorClient.h:
426         * WebCoreSupport/WebInspectorClient.mm:
427         (WebInspectorFrontendClient::closeWindow):
428         (WebInspectorFrontendClient::disconnectFromBackend):
429         (-[WebInspectorWindowController windowShouldClose:]):
430         (-[WebInspectorWindowController destroyInspectorView:]):
431
432 2010-08-26  Yury Semikhatsky  <yurys@chromium.org>
433
434         Unreviewed. Revert r66103 since Qt tests are failing.
435
436         * WebCoreSupport/WebInspectorClient.h:
437         * WebCoreSupport/WebInspectorClient.mm:
438         (WebInspectorFrontendClient::closeWindow):
439         (-[WebInspectorWindowController windowShouldClose:]):
440         (-[WebInspectorWindowController destroyInspectorView]):
441
442 2010-08-26  Yury Semikhatsky  <yurys@chromium.org>
443
444         Reviewed by Pavel Feldman.
445
446         REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
447         https://bugs.webkit.org/show_bug.cgi?id=44230
448
449         * WebCoreSupport/WebInspectorClient.h:
450         * WebCoreSupport/WebInspectorClient.mm:
451         (WebInspectorFrontendClient::closeWindow):
452         (WebInspectorFrontendClient::disconnectFromBackend):
453         (-[WebInspectorWindowController windowShouldClose:]):
454         (-[WebInspectorWindowController destroyInspectorView:]):
455
456 2010-08-24  Eric Seidel  <eric@webkit.org>
457
458         Reviewed by Adam Barth.
459
460         Remove HTML5 parser testing infrastructure now that we don't need it
461         https://bugs.webkit.org/show_bug.cgi?id=44581
462
463         * WebView/WebPreferenceKeysPrivate.h:
464         * WebView/WebPreferences.mm:
465         (+[WebPreferences initialize]):
466         * WebView/WebPreferencesPrivate.h:
467         * WebView/WebView.mm:
468         (-[WebView _preferencesChangedNotification:]):
469
470 2010-08-24  Sam Weinig  <sam@webkit.org>
471
472         Reviewed by Oliver Hunt.
473
474         Paste event fires twice for mac WebKit
475         <rdar://problem/8094611>
476         https://bugs.webkit.org/show_bug.cgi?id=44535
477
478         The mac implementation of paste in WebKit was accidentally calling 
479         Editor::tryDHTMLPaste twice, once in -[WebHTMLView paste:] and once
480         in Editor::pasteAsPlainText (which is called -[WebHTMLView paste:]).
481         Use the new pasteAsPlainTextBypassingDHTML function to bypass the
482         second call.
483
484         * WebView/WebHTMLView.mm:
485         (-[WebHTMLView paste:]):
486
487 2010-08-24  Daniel Cheng  <dcheng@chromium.org>
488
489         Reviewed by Eric Seidel.
490
491         [chromium] Generate drag images for HTML elements and selections.
492         https://bugs.webkit.org/show_bug.cgi?id=43449
493
494         Fix up calls to Frame::nodeImage, which has a new signature.
495
496         * Plugins/WebBaseNetscapePluginView.mm:
497         (-[WebBaseNetscapePluginView halt]):
498
499 2010-08-23  Mike Thole  <mthole@apple.com>
500
501         Reviewed by Dan Bernstein.
502
503         WebPDFView should remove itself as the delegate of its PDFView before being dealloced
504         https://bugs.webkit.org/show_bug.cgi?id=44441
505
506         * WebView/WebPDFView.mm:
507         (-[WebPDFView dealloc]): Set the PDFView's delegate to nil.
508
509 2010-08-22  Daniel Bates  <dbates@rim.com>
510
511         Reviewed by Eric Seidel.
512
513         Encapsulate document marker management into DocumentMarkerController
514         https://bugs.webkit.org/show_bug.cgi?id=44383
515
516         Modify call sites in the Apple Mac port to use DocumentMarkerController.
517
518         No functionality was changed, so no new tests.
519
520         * WebView/WebFrame.mm:
521         (-[WebFrame _unmarkAllBadGrammar]):
522         (-[WebFrame _unmarkAllMisspellings]):
523         * WebView/WebHTMLView.mm:
524         (-[WebHTMLView unmarkAllTextMatches]):
525         (-[WebHTMLView rectsForTextMatches]):
526
527 2010-08-19  David Kilzer  <ddkilzer@apple.com>
528
529         <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
530
531         Reviewed by Joseph Pecoraro.
532
533         * Plugins/Hosted/HostedNetscapePluginStream.mm: Changed
534         USE(PLUGIN_HOST_PROCESS) to
535         USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API).
536         * Plugins/Hosted/NetscapePluginHostManager.mm: Ditto.
537         * Plugins/Hosted/NetscapePluginHostProxy.mm: Ditto.
538         * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Ditto.
539         * Plugins/Hosted/ProxyInstance.mm: Ditto.
540         * Plugins/Hosted/WebHostedNetscapePluginView.mm: Ditto.
541         * WebCoreSupport/WebChromeClient.mm: Ditto.
542         (WebChromeClient::createWindow):
543         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
544         (WebFrameLoaderClient::dispatchCreatePage):
545         * WebView/WebHTMLView.mm:
546         (needsCursorRectsSupportAtPoint): Added #if
547         ENABLE(NETSCAPE_PLUGIN_API) and #endif macros as needed.
548         * WebView/WebView.mm:
549         (+[WebView _isNodeHaltedPlugin:]): Ditto.
550         (+[WebView _hasPluginForNodeBeenHalted:]): Ditto.
551         (+[WebView _restartHaltedPluginForNode:]): Ditto.
552
553 2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
554
555         Reviewed by Darin Adler.
556
557         Add NetworkingContext to avoid layer violations
558         https://bugs.webkit.org/show_bug.cgi?id=42292
559
560         Preparation: Just add the files to the build system.
561
562         * WebCoreSupport/WebFrameNetworkingContext.h: Added.
563         Placeholder with tentative code that might be changed when landing
564         the rest of it.
565         * WebCoreSupport/WebFrameNetworkingContext.mm: Added.
566         Empty placeholder for now.
567
568 2010-08-17  Brady Eidson  <beidson@apple.com>
569
570         Reviewed by Sam Weinig.
571
572         Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
573         <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
574
575         * WebView/WebView.mm:
576         (-[WebView canGoBack]): Return false if loads are deferred.
577         (-[WebView canGoForward]): Ditto.
578
579 2010-08-14  Joseph Pecoraro  <joepeck@webkit.org>
580
581         Reviewed by Pavel Feldman.
582
583         Web Inspector: -[WebInspector attach] and detach should work
584         https://bugs.webkit.org/show_bug.cgi?id=43924
585
586         For actions that relate only to the Web Inspector's Frontend
587         window (actions on the InspectorFrontendClient) the new Obj-C
588         wrapper class WebInspectorFrontend can be used. For now, this
589         is just attach and detach.
590
591         * WebCoreSupport/WebInspectorClient.mm:
592         (WebInspectorClient::openInspectorFrontend): setup and attach the WebInspectorFrontend to the WebInspector.
593         * WebInspector/WebInspector.h:
594         * WebInspector/WebInspector.mm:
595         (-[WebInspector dealloc]):
596         (-[WebInspector attach:]): delegate to the frontend.
597         (-[WebInspector detach:]): delegate to the frontend.
598         (-[WebInspector setFrontend:]):
599         * WebInspector/WebInspectorFrontend.h: Added.
600         * WebInspector/WebInspectorFrontend.mm: Added.
601         (-[WebInspectorFrontend initWithFrontendClient:]):
602         (-[WebInspectorFrontend attach]):
603         (-[WebInspectorFrontend detach]):
604         * WebInspector/WebInspectorPrivate.h:
605
606 2010-08-13  Gavin Barraclough  <barraclough@apple.com>
607
608         Rubber stamped by Sam Weinig.
609         Switch String::/UString::ascii() to return a CString.
610
611         * Plugins/Hosted/ProxyInstance.mm:
612         (WebKit::ProxyInstance::methodsNamed):
613         (WebKit::ProxyInstance::fieldNamed):
614
615 2010-08-13  Gavin Barraclough  <barraclough@apple.com>
616
617         Reviewed by Sam Weinig
618
619         Unify UString::UTF8String() & String::utf8() methods,
620         remove UString::cost() & make atArrayIndex a free function.
621
622         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
623         (WebKit::NetscapePluginInstanceProxy::enumerate):
624
625 2010-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
626
627         Unreviewed, rolling out r65295.
628         http://trac.webkit.org/changeset/65295
629         https://bugs.webkit.org/show_bug.cgi?id=43950
630
631         It broke 4 sputnik tests (Requested by Ossy on #webkit).
632
633         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
634         (WebKit::NetscapePluginInstanceProxy::enumerate):
635
636 2010-08-12  Gavin Barraclough  <barraclough@apple.com>
637
638         Reviewed by Sam Weinig
639
640         Unify UString::UTF8String() & String::utf8() methods,
641         remove UString::cost() & make atArrayIndex a free function.
642
643         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
644         (WebKit::NetscapePluginInstanceProxy::enumerate):
645
646 2010-08-12  Jeremy Orlow  <jorlow@chromium.org>
647
648         Revert for now
649         https://bugs.webkit.org/show_bug.cgi?id=43794 
650
651         * WebView/WebView.mm:
652         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
653         (-[WebView _preferencesChangedNotification:]):
654
655 2010-08-10  Jeremy Orlow  <jorlow@chromium.org>
656
657         Reviewed by Adam Barth.
658
659         Some settings are linked to the PageGroup not the Page.  Create a new class for those.
660         https://bugs.webkit.org/show_bug.cgi?id=43794
661
662         Change WebView to use the new GroupSettings class rather than Settings for the
663         settings that moved.  This is sub-optimal since the settings aren't really
664         per-view, but we can't really change the API at this point.
665
666         * WebView/WebView.mm:
667         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
668         (-[WebView _preferencesChangedNotification:]):
669
670 2010-08-11  Gavin Barraclough  <barraclough@apple.com>
671
672         Rubber stamps by Darin Adler & Sam Weinig.
673
674         Bug 43867 - Some UString cleanup
675
676         Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
677         Move string concatenation methods to a new header to simplify down UString.h.  Remove is8Bit().
678
679         * WebView/WebScriptDebugger.mm:
680         (toNSString):
681
682 2010-08-10  David Hyatt  <hyatt@apple.com>
683
684         Reviewed by Dan Bernstein.
685
686         https://bugs.webkit.org/show_bug.cgi?id=43806, add ability to paginate screen content.
687         
688         Add SPI for entering and exiting screen pagination mode.  This is similar to printing mode but it can be done for on-screen
689         content.
690
691         * WebView/WebHTMLView.mm:
692         (-[WebHTMLView _web_setPrintingModeRecursive]):
693         (-[WebHTMLView _web_clearPrintingModeRecursive]):
694         (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
695         (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]):
696         (-[WebHTMLView _endPrintMode]):
697         (-[WebHTMLView _isInScreenPaginationMode]):
698         (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]):
699         (-[WebHTMLView _endScreenPaginationMode]):
700         (-[WebHTMLView reapplyStyles]):
701         (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
702         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
703         (-[WebHTMLView setPageWidthForPrinting:]):
704         * WebView/WebHTMLViewPrivate.h:
705
706 2010-08-10  Gavin Barraclough  <barraclough@apple.com>
707
708         Build fix (update more includes)
709
710         * Plugins/Hosted/NetscapePluginHostManager.h:
711
712 2010-08-10  Chris Marrin  <cmarrin@apple.com>
713
714         Reviewed by Oliver Hunt.
715
716         Add suspendAnimations/resumeAnimation API to DRT
717         https://bugs.webkit.org/show_bug.cgi?id=43733
718         
719         Mac specific API. Plumbs suspendAnimations/resumeAnimations down to WebCore.
720
721         * WebView/WebFrame.mm:
722         (-[WebFrame _suspendAnimations]):
723         (-[WebFrame _resumeAnimations]):
724         * WebView/WebFramePrivate.h:
725
726 2010-08-10  Gavin Barraclough  <barraclough@apple.com>
727
728         Rubber stamped by Sam Weinig
729
730         Bug 43817 - Remove UString::Rep
731         UString::Rep has for a long time been replaced by UStringImpl (Rep
732         remaining as a typedef).  UStringImpl has since been removed too
733         (unified with StringImpl). Remove Rep, rename rep() to impl() and
734         m_rep to m_impl.  Also add impl() method to Identifier, and rename
735         its UString member from _ustring to m_string.
736
737         * Plugins/Hosted/ProxyInstance.mm:
738         (WebKit::ProxyInstance::methodsNamed):
739         (WebKit::ProxyInstance::fieldNamed):
740
741 2010-08-06  Gavin Barraclough  <barraclough@apple.com>
742
743         Rubber stamped by Sam Weinig
744
745         Bug 43594 - Add string forwards to Forward.h
746         This allows us to remove forward declarations for these classes from
747         WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
748
749         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
750         * Plugins/WebBaseNetscapePluginView.h:
751         * WebCoreSupport/WebFrameLoaderClient.h:
752         * WebCoreSupport/WebIconDatabaseClient.h:
753         * WebCoreSupport/WebPluginHalterClient.h:
754         * WebView/WebViewInternal.h:
755
756 2010-08-04  MORITA Hajime  <morrita@google.com>
757
758         Reviewed by Tony Chang.
759
760         Pasting should fire textInput event.
761         https://bugs.webkit.org/show_bug.cgi?id=42958
762
763         On paste, invoke Editor instead of direct command invocation,
764         which allows dispatching events before actual paste.
765
766         * WebView/WebHTMLView.mm:
767         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
768
769 2010-08-06  Yongjun Zhang  <yongjun_zhang@apple.com>
770
771         Reviewed by Eric Seidel.
772
773         add "const" to WebChromeClient::webView().
774         https://bugs.webkit.org/show_bug.cgi?id=43631
775
776         Change WebChromeClient::webView() to be const because ChromeClient::didReceiveViewportArguments
777         is const method now, and calling webView() inside port-specific didReceiveViewportArguments
778         implementation fails compiling if webView() is not const.
779
780         * WebCoreSupport/WebChromeClient.h:
781         (WebChromeClient::webView):
782
783 2010-08-06  Jessie Berlin  <jberlin@apple.com>
784
785         Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
786         Unreviewed.
787
788         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
789         * Plugins/WebBaseNetscapePluginView.h:
790         * WebCoreSupport/WebFrameLoaderClient.h:
791         * WebCoreSupport/WebIconDatabaseClient.h:
792         * WebCoreSupport/WebPluginHalterClient.h:
793         * WebView/WebViewInternal.h:
794
795 2010-08-05  Joseph Pecoraro  <joepeck@webkit.org>
796
797         Reviewed by David Kilzer.
798
799         Remove Invalid Asserts for Application Cache Quotas
800         https://bugs.webkit.org/show_bug.cgi?id=43585
801
802         Removed Invalid ASSERTs that would always happen for quotas
803         that were not noQuota().
804
805         * WebView/WebPreferences.mm:
806         (-[WebPreferences applicationCacheTotalQuota]):
807         (-[WebPreferences applicationCacheDefaultOriginQuota]):
808
809 2010-08-05  Gavin Barraclough  <barraclough@apple.com>
810
811         Rubber stamped by Sam Weinig
812
813         Bug 43594 - Add string forwards to Forward.h
814         This allows us to remove forward declarations for these classes from
815         WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
816
817         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
818         * Plugins/WebBaseNetscapePluginView.h:
819         * WebCoreSupport/WebFrameLoaderClient.h:
820         * WebCoreSupport/WebIconDatabaseClient.h:
821         * WebCoreSupport/WebPluginHalterClient.h:
822         * WebView/WebViewInternal.h:
823
824 2010-08-05  Jian Li  <jianli@chromium.org>
825
826         Reviewed by David Levin.
827
828         Unify blob related feature defines to ENABLE(BLOB).
829         https://bugs.webkit.org/show_bug.cgi?id=43081
830
831         * Configurations/FeatureDefines.xcconfig:
832
833 2010-08-03  Joseph Pecoraro  <joepeck@webkit.org>
834
835         Reviewed by David Kilzer.
836
837         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
838         https://bugs.webkit.org/show_bug.cgi?id=40627
839
840         Part 6 - LayoutTest and Cleanup
841
842         * WebCoreSupport/WebApplicationCache.h:
843         * WebCoreSupport/WebApplicationCache.mm:
844         (+[WebApplicationCache setMaximumSize:]): refactor out deleting the application caches.
845         (+[WebApplicationCache deleteAllApplicationCaches]): delete application caches.
846
847 2010-08-03  Joseph Pecoraro  <joepeck@webkit.org>
848
849         Reviewed by David Kilzer.
850
851         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
852         https://bugs.webkit.org/show_bug.cgi?id=40627
853
854         Part 5 - Refactor Quota Management in WebSecurityOrigin into Managers
855
856         Per-Origin quotas exist for Databases and Application Caches. Clients
857         given a WebSecurityOrigin have the ability to set the quota for any
858         per-origin quota type. This puts quota management into an interface
859         and WebSecurityOrigin allows access to quota managers for the
860         different types of quotas.
861
862         This also deprecates the old methods on WebSecurityOrigin. They are
863         left in for now to prevent breaking older clients.
864
865           The WebQuotaManager interface allows querying and modifying a
866           per-origin quota. This is implemented for both Databases and
867           Application Caches.
868
869         * Misc/WebQuotaManager.h: Added. Interface for quota management (usage, quota, setQuota).
870         * Storage/WebDatabaseQuotaManager.h: Added.
871         * Storage/WebDatabaseQuotaManager.mm: Added.
872         (-[WebDatabaseQuotaManager origin]):
873         (-[WebDatabaseQuotaManager usage]):
874         (-[WebDatabaseQuotaManager quota]):
875         (-[WebDatabaseQuotaManager setQuota:]):
876         * Storage/WebDatabaseSecurityOrigin.h: Removed.
877         * Storage/WebDatabaseSecurityOrigin.mm: Removed.
878         * WebCoreSupport/WebApplicationCacheQuotaManager.h: Added.
879         * WebCoreSupport/WebApplicationCacheQuotaManager.mm: Added.
880         (-[WebApplicationCacheQuotaManager origin]):
881         (-[WebApplicationCacheQuotaManager usage]):
882         (-[WebApplicationCacheQuotaManager quota]):
883         (-[WebApplicationCacheQuotaManager setQuota:]):
884         * WebCoreSupport/WebSecurityOriginPrivate.h: Added a category to access managers. Deprecated old methods.
885
886           Remove the WebSecurityOrigin sub-classes. Managers are better.
887
888         * WebCoreSupport/WebApplicationCacheSecurityOrigin.h: Removed.
889         * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: Removed.
890
891           Create the managers lazily. Change old style calls to make use
892           of the managers.
893
894         * WebCoreSupport/WebChromeClient.mm:
895         (WebChromeClient::exceededDatabaseQuota):
896         (WebChromeClient::reachedApplicationCacheOriginQuota):
897         * WebCoreSupport/WebSecurityOrigin.mm:
898         (-[WebSecurityOrigin applicationCacheQuotaManager]):
899         (-[WebSecurityOrigin databaseQuotaManager]):
900         (-[WebSecurityOrigin dealloc]): release the managers if they exist.
901
902 2010-08-03  Alex Milowski  <alex@milowski.com>
903
904         Reviewed by Beth Dakin.
905
906         Changed the ENABLE_MATHML value to enable MathML by default.
907
908         * Configurations/FeatureDefines.xcconfig:
909
910 2010-08-02  Brady Eidson  <beidson@apple.com>
911
912         Reviewed by Anders Carlsson.
913
914         Add VisitedLinkStrategy for each platform to implement
915         https://bugs.webkit.org/show_bug.cgi?id=43393
916
917         * WebCoreSupport/WebPlatformStrategies.h:
918         * WebCoreSupport/WebPlatformStrategies.mm:
919         (WebPlatformStrategies::createVisitedLinkStrategy):
920         (WebPlatformStrategies::isLinkVisited): Call back into PageGroup's visited links.
921         (WebPlatformStrategies::addVisitedLink): Ditto.
922
923 2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
924
925         Reviewed by Darin Fisher.
926
927         PopupMenu refactoring in preparation to WebKit2
928         https://bugs.webkit.org/show_bug.cgi?id=42592
929
930         As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
931         instances, concrete classes that inherit from ChromeClient needed to be changed to
932         implement the new methods.
933
934         * WebCoreSupport/WebChromeClient.h:
935         * WebCoreSupport/WebChromeClient.mm:
936         (WebChromeClient::selectItemWritingDirectionIsNatural):
937         (WebChromeClient::createPopupMenu):
938         (WebChromeClient::createSearchPopupMenu):
939
940 2010-08-02  Jeremy Orlow  <jorlow@chromium.org>
941
942         Speculative revert of 64425 due to Chromium instability
943         https://bugs.webkit.org/show_bug.cgi?id=43347
944
945         * WebCoreSupport/WebChromeClient.h:
946         * WebCoreSupport/WebChromeClient.mm:
947
948 2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
949
950         Reviewed by Darin Fisher.
951
952         PopupMenu refactoring in preparation to WebKit2
953         https://bugs.webkit.org/show_bug.cgi?id=42592
954
955         As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
956         instances, concrete classes that inherit from ChromeClient needed to be changed to
957         implement the new methods.
958
959         * WebCoreSupport/WebChromeClient.h:
960         * WebCoreSupport/WebChromeClient.mm:
961         (WebChromeClient::selectItemWritingDirectionIsNatural):
962         (WebChromeClient::createPopupMenu):
963         (WebChromeClient::createSearchPopupMenu):
964
965 2010-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
966
967         Unreviewed, rolling out r64422.
968         http://trac.webkit.org/changeset/64422
969         https://bugs.webkit.org/show_bug.cgi?id=43304
970
971         Build fixes are needed for Snow Leopard and Windows.
972         (Requested by lca on #webkit).
973
974         * WebCoreSupport/WebChromeClient.h:
975         * WebCoreSupport/WebChromeClient.mm:
976
977 2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
978
979         Reviewed by Darin Fisher.
980
981         PopupMenu refactoring in preparation to WebKit2
982         https://bugs.webkit.org/show_bug.cgi?id=42592
983
984         As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
985         instances, concrete classes that inherit from ChromeClient needed to be changed to
986         implement the new methods.
987
988         * WebCoreSupport/WebChromeClient.h:
989         * WebCoreSupport/WebChromeClient.mm:
990         (WebChromeClient::selectItemWritingDirectionIsNatural):
991         (WebChromeClient::createPopupMenu):
992         (WebChromeClient::createSearchPopupMenu):
993
994 2010-07-31  David Kilzer  <ddkilzer@apple.com>
995
996         <http://webkit.org/b/43300> Simplify variables in *.xcconfig files after adding iOS support
997
998         Reviewed by Darin Adler.
999
1000         * Configurations/WebKit.xcconfig: Extracted
1001         PRODUCTION_FRAMEWORKS_DIR and PRODUCTION_ROOT variables.
1002
1003 2010-07-30  Dan Bernstein  <mitz@apple.com>
1004
1005         Reviewed by Darin Adler.
1006
1007         <rdar://problem/8257783> Short documents may print a second blank page
1008         https://bugs.webkit.org/show_bug.cgi?id=43271
1009
1010         * WebView/WebHTMLView.mm:
1011         (-[WebHTMLView _web_setPrintingModeRecursive]): Updated for additional height parameter
1012         to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
1013         (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto.
1014         (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto.
1015         (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]): Added height parameter,
1016         which is scaled and passed on to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
1017         (-[WebHTMLView _endPrintMode]): Updated for additional height parameter to
1018         _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
1019         (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]): Added
1020         height parameter, which is passed on to FrameView::forceLayoutForPagination().
1021         (-[WebHTMLView layout]): Updated for additional height parameter.
1022         (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:]): Added height
1023         parameter, which is passed on to -layoutToMinimumPageWidth:height:maximumPageWidth:adjustViewSize:.
1024         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Updated for additional height
1025         parameter.
1026         (-[WebHTMLView setPageWidthForPrinting:]): Ditto.
1027         (-[WebHTMLView knowsPageRange:]): Pass the available height on the page on to
1028         _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize.
1029         * WebView/WebHTMLViewPrivate.h: 
1030
1031 2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
1032
1033         Fix for tests that broke after r64400. Tracking a more
1034         ideal solution in https://bugs.webkit.org/show_bug.cgi?id=40627
1035
1036         Switch the interface back to (unsigned long long), and move
1037         the WebDatabaseSecurityOrigin implementation up into WebSecurityOrigin.
1038         The subclasses' implementations were not getting called.
1039
1040         * Storage/WebDatabaseSecurityOrigin.mm:
1041         * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm:
1042         (-[WebApplicationCacheSecurityOrigin quota]):
1043         (-[WebApplicationCacheSecurityOrigin setQuota:]):
1044         * WebCoreSupport/WebSecurityOrigin.mm:
1045         (-[WebSecurityOrigin usage]):
1046         (-[WebSecurityOrigin quota]):
1047         (-[WebSecurityOrigin setQuota:]):
1048         * WebCoreSupport/WebSecurityOriginPrivate.h:
1049
1050 2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
1051
1052         Reviewed by David Kilzer.
1053
1054         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
1055         https://bugs.webkit.org/show_bug.cgi?id=40627
1056
1057         Part 4 - Client Notification when the Quota is Reached
1058
1059         Notify the WebKit client when the per-origin quota is reached
1060         via a delegate method reachedApplicationCacheOriginQuota.
1061
1062           Refactor the WebSecurityOrigin class to be generic enough to
1063           allow quota management of both Databases or Application Caches
1064           via subclasses.
1065
1066         * Storage/WebDatabaseSecurityOrigin.h: Added.
1067         * Storage/WebDatabaseSecurityOrigin.mm: Added.
1068         (-[WebDatabaseSecurityOrigin quota]):
1069         (-[WebDatabaseSecurityOrigin setQuota:]):
1070         * WebCoreSupport/WebApplicationCacheSecurityOrigin.h: Added.
1071         * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: Added.
1072         (-[WebApplicationCacheSecurityOrigin quota]):
1073         (-[WebApplicationCacheSecurityOrigin setQuota:]):
1074         * Storage/WebSecurityOrigin.mm: Removed. (Moved to WebCoreSupport)
1075         * Storage/WebSecurityOriginPrivate.h: Removed. (Moved to WebCoreSupport)
1076         * WebCoreSupport/WebSecurityOrigin.mm: Added.
1077         (-[WebSecurityOrigin usage]): to be implemented by subclasses.
1078         (-[WebSecurityOrigin quota]): to be implemented by subclasses.
1079         (-[WebSecurityOrigin setQuota:]): to be implemented by subclasses.
1080         * WebCoreSupport/WebSecurityOriginInternal.h: Renamed from WebKit/mac/Storage/WebSecurityOriginInternal.h.
1081         * WebCoreSupport/WebSecurityOriginPrivate.h: Added.
1082
1083           Turn the notification into a WebUI Delegate to call. Following
1084           the example of Databases.
1085
1086         * DefaultDelegates/WebDefaultUIDelegate.m:
1087         (-[WebDefaultUIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:]):
1088         * WebCoreSupport/WebChromeClient.h:
1089         * WebCoreSupport/WebChromeClient.mm:
1090         (WebChromeClient::exceededDatabaseQuota): use the Databases Security Origin subclass.
1091         (WebChromeClient::reachedApplicationCacheOriginQuota): use the Application Cache Security Origin subclass.
1092         * WebView/WebUIDelegatePrivate.h:
1093
1094 2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
1095
1096         Reviewed by David Kilzer.
1097
1098         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
1099         https://bugs.webkit.org/show_bug.cgi?id=40627
1100
1101         Part 1 - Add Total and Per-Origin Quota Preferences.
1102
1103         Allow the application cache total size to be a preference, and
1104         add a new preference for the default per-origin quota.
1105
1106           Storage quotas were int64_t (long long). Boilerplate for
1107           these types added for consistency.
1108
1109         * Misc/WebNSDictionaryExtras.h:
1110         * Misc/WebNSDictionaryExtras.m:
1111         (-[NSMutableDictionary _webkit_setLongLong:forKey:]):
1112         * WebCoreSupport/WebApplicationCache.h: setters and accessors for WebCore's cacheStorage.
1113         * WebCoreSupport/WebApplicationCache.mm:
1114         (+[WebApplicationCache maximumSize:]):
1115         (+[WebApplicationCache setMaximumSize:]):
1116         (+[WebApplicationCache defaultOriginQuota]):
1117         (+[WebApplicationCache setDefaultOriginQuota:]):
1118         * WebView/WebPreferenceKeysPrivate.h:
1119         * WebView/WebPreferences.mm:
1120         (+[WebPreferences initialize]): defaults to noQuota for both preferences.
1121         (-[WebPreferences _longLongValueForKey:]):
1122         (-[WebPreferences _setLongLongValue:forKey:]):
1123         (-[WebPreferences applicationCacheTotalQuota]):
1124         (-[WebPreferences setApplicationCacheTotalQuota:]):
1125         (-[WebPreferences applicationCacheDefaultOriginQuota]):
1126         (-[WebPreferences setApplicationCacheDefaultOriginQuota:]):
1127         * WebView/WebPreferencesPrivate.h:
1128         * WebView/WebView.mm:
1129         (-[WebView _preferencesChangedNotification:]): respect updates to the preferences.
1130
1131 2010-07-30  Andy Estes  <aestes@apple.com>
1132
1133         Reviewed by David Kilzer.
1134
1135         Add Xcode support for compiling WebKit against iOS SDKs.
1136         https://bugs.webkit.org/show_bug.cgi?id=42796
1137
1138         * Configurations/Base.xcconfig:
1139         * Configurations/DebugRelease.xcconfig:
1140         * Configurations/FeatureDefines.xcconfig:
1141         * Configurations/Version.xcconfig:
1142         * Configurations/WebKit.xcconfig:
1143
1144 2010-07-26  Steve Block  <steveblock@google.com>
1145
1146         Reviewed by Jeremy Orlow.
1147
1148         Page clients should be passed to Page constructor via structure of pointers
1149         https://bugs.webkit.org/show_bug.cgi?id=42834
1150
1151         * WebView/WebView.mm:
1152         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
1153
1154 2010-07-27  Kinuko Yasuda  <kinuko@chromium.org>
1155
1156         Reviewed by Ojan Vafai.
1157
1158         Add FILE_SYSTEM build flag for FileSystem API
1159         https://bugs.webkit.org/show_bug.cgi?id=42915
1160
1161         * Configurations/FeatureDefines.xcconfig:
1162
1163 2010-07-27  Steve Block  <steveblock@google.com>
1164
1165         Reviewed by Jeremy Orlow.
1166
1167         Client-based Geolocation does not pass enableHighAccuracy option to controller and client
1168         https://bugs.webkit.org/show_bug.cgi?id=40374
1169
1170         Stub out setEnableHighAccuracy method for the Mac port.
1171
1172         * WebCoreSupport/WebGeolocationControllerClient.h:
1173         (WebGeolocationControllerClient::setEnableHighAccuracy):
1174
1175 2010-07-22  Sam Weinig  <sam@webkit.org>
1176
1177         Reviewed by Maciej Stachowiak.
1178
1179         Fix for <rdar://problem/8222626>
1180         Send textDidChangeInTextField delegate callback only in response to typing or other forms of user text input.
1181
1182         The function name no longer perfectly matches the behavior, but I didn't want to break any existing clients. Maybe we
1183         should migrate to a new function name eventually
1184
1185         * WebCoreSupport/WebEditorClient.mm:
1186         (WebEditorClient::textDidChangeInTextField):
1187
1188 2010-07-22  Sam Weinig  <sam@webkit.org>
1189
1190         Reviewed by Anders Carlsson.
1191
1192         Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
1193         Add localized strings stubs for WebKit2.
1194
1195         - Convert WebKit (mac) to use a LocalizationStrategy rather than the WebCoreViewFactory
1196           for localized strings.
1197
1198         Gets us below 200 tests failing in WebKitTestRunner.
1199
1200         * WebCoreSupport/WebContextMenuClient.mm:
1201         (fixMenusReceivedFromOldClients): Use LocalizedStrings rather than the factory.
1202         * WebCoreSupport/WebPlatformStrategies.h:
1203         * WebCoreSupport/WebPlatformStrategies.mm:
1204         * WebCoreSupport/WebViewFactory.mm:
1205
1206 2010-07-21  Brady Eidson  <beidson@apple.com>
1207
1208         Reviewed by Geoffrey Garen.
1209
1210         Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
1211         https://bugs.webkit.org/show_bug.cgi?id=42783
1212
1213         * WebView/WebView.mm:
1214         (+[WebView _registerURLSchemeAsSecure:]):
1215         (+[WebView registerURLSchemeAsLocal:]):
1216
1217 2010-07-21  Simon Fraser  <simon.fraser@apple.com>
1218
1219         Reviewed by Anders Carlsson.
1220
1221         Composited layers don't scroll in WebKit2
1222         https://bugs.webkit.org/show_bug.cgi?id=42771
1223
1224         Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
1225         but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
1226         scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().
1227
1228         * WebView/WebHTMLView.mm:
1229         (-[WebHTMLView _frameOrBoundsChanged]):
1230
1231 2010-07-21  Eric Carlson  <eric.carlson@apple.com>
1232
1233         Reviewed by Simon Fraser.
1234
1235         Update plug-in proxy backed <video> and <audio> elements.
1236         https://bugs.webkit.org/show_bug.cgi?id=42770
1237         <rdar://problem/7963467>
1238
1239         * Plugins/WebPluginController.h:
1240         * Plugins/WebPluginController.mm:
1241         (-[WebPluginController dealloc]): Release _viewsNotInDocument.
1242         (-[WebPluginController stopAllPlugins]): Stop plug-ins not in the document.
1243         (-[WebPluginController pluginViewCreated:]): New, add a View (plug-in) to _viewsNotInDocument.
1244         (+[WebPluginController pluginViewHidden:]): New, remove the view (plug-in) from pluginViews.
1245         (-[WebPluginController addPlugin:]): Remove the new plug-in from _viewsNotInDocument.
1246
1247         * WebCoreSupport/WebFrameLoaderClient.h:
1248         * WebCoreSupport/WebFrameLoaderClient.mm:
1249         (WebFrameLoaderClient::createPlugin): Remove PLUGIN_PROXY_FOR_VIDEO code, the media
1250         player proxy plug-in should never be allocated by this method.
1251         (WebFrameLoaderClient::createMediaPlayerProxyPlugin): New, allocate a media player proxy.
1252
1253         * WebView/WebView.mm:
1254         (-[WebView _videoProxyPluginForMIMEType:]): New. Identical to _pluginForMIMEType except it doesn't
1255         consider the arePlugInsEnabled preference.
1256         * WebView/WebViewInternal.h:
1257
1258
1259 2010-07-19  Chris Marrin  <cmarrin@apple.com>
1260
1261         Reviewed by Darin Adler.
1262
1263         https://bugs.webkit.org/show_bug.cgi?id=42118
1264         Disable WebGL on Leopard for now. 
1265
1266         LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
1267         GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
1268         SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
1269         software OpenGL driver on machines without this support.
1270
1271         * Configurations/FeatureDefines.xcconfig:
1272
1273 2010-07-18  Anders Carlsson  <andersca@apple.com>
1274
1275         Reviewed by Sam Weinig.
1276
1277         Move PluginWidget to WebKit
1278         https://bugs.webkit.org/show_bug.cgi?id=42530
1279
1280         * Plugins/WebBaseNetscapePluginView.h:
1281         * Plugins/WebBaseNetscapePluginView.mm:
1282         (-[WebBaseNetscapePluginView pluginLayer]):
1283         Add default pluginLayer implementation.
1284
1285         * WebCoreSupport/WebFrameLoaderClient.mm:
1286         (PluginWidget::PluginWidget):
1287         (PluginWidget::invalidateRect):
1288         Move the guts of PluginWidget here from WebCore.
1289         
1290         (NetscapePluginWidget::platformLayer):
1291         Get the layer from the plug-in view.
1292
1293 2010-07-18  David Kilzer  <ddkilzer@apple.com>
1294
1295         <http://webkit.org/b/42522> Add missing (id) return type to Obj-C methods
1296
1297         Reviewed by Dan Bernstein.
1298
1299         * Carbon/CarbonWindowAdapter.mm:
1300         (-[NSWindow(HIWebFrameView) _initContent:styleMask:backing:defer:contentView:]):
1301         (-[CarbonWindowAdapter _destroyRealWindow:]):
1302         (-[CarbonWindowAdapter _clearModalWindowLevel]):
1303         * Misc/WebIconDatabase.mm:
1304         (-[WebIconDatabase init]):
1305         * Misc/WebNSPasteboardExtras.mm:
1306         (-[NSFilePromiseDragSource initWithSource:]):
1307         * WebView/WebHTMLRepresentation.mm:
1308         (-[WebHTMLRepresentation init]):
1309         * WebView/WebPreferences.mm:
1310         (-[WebPreferences init]):
1311         * WebView/WebView.mm:
1312         (-[WebView UIDelegate]):
1313         (-[WebView resourceLoadDelegate]):
1314         (-[WebView downloadDelegate]):
1315         (-[WebView policyDelegate]):
1316         (-[WebView frameLoadDelegate]):
1317
1318 2010-07-16  Zhe Su  <suzhe@chromium.org>
1319
1320         Reviewed by Darin Adler.
1321
1322         REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
1323         https://bugs.webkit.org/show_bug.cgi?id=42253
1324
1325         Dummy implementation of EditorClient::willSetInputMethodState.
1326
1327         * WebCoreSupport/WebEditorClient.h:
1328         * WebCoreSupport/WebEditorClient.mm:
1329         (WebEditorClient::willSetInputMethodState):
1330
1331 2010-07-16  Dan Bernstein  <mitz@apple.com>
1332
1333         Reviewed by Sam Weinig.
1334
1335         Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
1336         https://bugs.webkit.org/show_bug.cgi?id=29355
1337
1338         * Misc/WebKitNSStringExtras.h:
1339         * Misc/WebKitNSStringExtras.mm:
1340         (-[NSString _web_drawAtPoint:font:textColor:]): Now calls through to
1341         -_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing YES for the last
1342         parameter.
1343         (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Added
1344         allowingFontSmoothing:. If font smoothing is not allowed, sets the font smoothing
1345         mode to antialiased. Otherwise, sets it to auto.
1346         (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]): Instead of
1347         changing the font smoothing setting in the graphics context, call
1348         -_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing NO for the last
1349         parameter.
1350
1351 2010-07-16  Anders Carlsson  <andersca@apple.com>
1352
1353         Reviewed by Sam Weinig.
1354
1355         Remove semicolons from Objective-C method declarations.
1356
1357         * WebView/WebRenderLayer.mm:
1358         (+[WebRenderLayer nameForLayer:]):
1359         (+[WebRenderLayer compositingInfoForLayer:]):
1360
1361 2010-07-16  Mikhail Naganov  <mnaganov@chromium.org>
1362
1363         Reviewed by Pavel Feldman.
1364
1365         Make JS memory stats available via 'Performance' object (Web Timing).
1366         This statistics is populated only if 'WebKitMemoryInfoEnabled'
1367         preference is set.
1368
1369         'console.memory' is kept until Web Timing object becomes visible by
1370         default (currently it is hidden under compile-time flag).  These stats
1371         are guarded with the same preference.
1372
1373         https://bugs.webkit.org/show_bug.cgi?id=41617
1374
1375         * WebKit.order:
1376         * WebView/WebPreferenceKeysPrivate.h:
1377         * WebView/WebPreferences.mm:
1378         (+[WebPreferences initialize]):
1379         (-[WebPreferences memoryInfoEnabled]):
1380         (-[WebPreferences setMemoryInfoEnabled:]):
1381         * WebView/WebPreferencesPrivate.h:
1382         * WebView/WebView.mm:
1383         (-[WebView _preferencesChangedNotification:]):
1384
1385 2010-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
1386
1387         Reviewed by Darin Adler.
1388
1389         Printing test results differ between machines, we should use ImageDiff instead
1390         https://bugs.webkit.org/show_bug.cgi?id=20011
1391
1392         * Misc/WebCoreStatistics.h:
1393         * Misc/WebCoreStatistics.mm:
1394         (-[WebFrame printToCGContext:cgContext:pageWidthInPixels:]):
1395
1396 2010-07-15  Daniel Bates  <dbates@rim.com>
1397
1398         Reviewed by Darin Adler.
1399
1400         [Mac] Implement LayoutTestController::markerTextForListItem()
1401         https://bugs.webkit.org/show_bug.cgi?id=37929
1402
1403         Implements support for markerTextForListItem in the Mac port.
1404
1405         * DOM/WebDOMOperations.mm:
1406         (+[DOMElement _DOMElementFromJSContext]): Added.
1407         (-[DOMElement _markerTextForListItem]): Added.
1408         * DOM/WebDOMOperationsPrivate.h:
1409
1410 2010-07-14  Simon Fraser  <simon.fraser@apple.com>
1411
1412         Fix non-ACCELERATED_COMPOSITING build.
1413
1414         * WebView/WebRenderLayer.mm:
1415         (+[WebRenderLayer compositingInfoForLayer:]):
1416
1417 2010-07-14  Simon Fraser  <simon.fraser@apple.com>
1418
1419         Reviewed by John Sullivan.
1420
1421         <rdar://problem/8186963> Expose information about compositing layers.
1422
1423         Use RenderLayerBacking::compositingLayerType() to add more information about compositing to
1424         WebRenderLayer, via a compositingInfo property. Also show element classnames.
1425         
1426         Also add separator items between the various z-order lists.
1427         
1428         * WebView/WebRenderLayer.h:
1429         * WebView/WebRenderLayer.mm:
1430         (+[WebRenderLayer nameForLayer:]):
1431         (+[WebRenderLayer compositingInfoForLayer:]):
1432         (-[WebRenderLayer initWithRenderLayer:]):
1433         (-[WebRenderLayer initWithName:]):
1434         (-[WebRenderLayer initWithWebFrame:]):
1435         (-[WebRenderLayer dealloc]):
1436         (-[WebRenderLayer buildDescendantLayers:]):
1437         (-[WebRenderLayer compositingInfo]):
1438         (-[WebRenderLayer isComposited]):
1439         (-[WebRenderLayer isSeparator]):
1440
1441 2010-07-14  Darin Adler  <darin@apple.com>
1442
1443         Another try at fixing the Tiger build.
1444
1445         Avoid non-ASCII in source files to keep Tiger compiler happy.
1446
1447         * WebView/WebRenderLayer.mm:
1448         (+[WebRenderLayer nameForLayer:]): Use %C for the non-ASCII characters.
1449
1450 2010-07-14  Sam Weinig  <sam@webkit.org>
1451
1452         Reviewed by Darin Adler.
1453
1454         Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
1455         Make changing Cursors work in WebKit2.
1456
1457         * WebCoreSupport/WebChromeClient.h:
1458         * WebCoreSupport/WebChromeClient.mm:
1459         (WebChromeClient::setCursor):
1460         * WebView/WebView.mm:
1461         Implement cursor changing at the WebKit level for the sake of WebKit2.
1462         This functionality is being moved from WidgetMac.mm.
1463         (+[WebView _pointingHandCursor]):
1464         Update to use platformCursor() instead of impl().
1465
1466 2010-07-13  Simon Fraser  <simon.fraser@apple.com>
1467
1468         Fix Tiger build.
1469
1470         Avoid non-ASCII in souce files to keep Tiger compiler happy.
1471
1472         * WebView/WebRenderLayer.mm:
1473         (+[WebRenderLayer nameForLayer:]):
1474
1475 2010-07-13  Simon Fraser  <simon.fraser@apple.com>
1476
1477         Reviewed by Dan Bernstein.
1478
1479         <rdar://problem/8186963> Expose RenderLayer hierarchy via Obj-C for debugging.
1480
1481         Add a WebRenderLayer class that reflects the RenderLayer tree into a hierarchy
1482         of Objective-C objects suitable for display in an outline view.
1483         
1484         * WebKit.exp: Export the WebRenderLayer Objective-C class.
1485         * WebView/WebRenderLayer.h: Added.
1486         * WebView/WebRenderLayer.mm: Added.
1487
1488 2010-07-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1489
1490         Reviewed by Darin Adler.
1491
1492         Prevent assertion/duplicate loads for non-deferred subtitute-data loads
1493
1494         https://bugs.webkit.org/show_bug.cgi?id=30879
1495
1496         MainResourceLoader uses the member m_initialRequest to store requests for future
1497         deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
1498         have to clear this request so that subsequent entries into the loader will not
1499         start yet another load.
1500
1501         This can happen as a result of a PageGroupLoadDeferrer going out of scope when
1502         returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
1503         but only in the case of using both substitute-data and non-deferred main resource
1504         load together. That's why two new DRT functions were added:
1505
1506          * queueLoadHTMLString()
1507          * setDeferMainResourceLoad()
1508
1509         The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
1510         and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
1511         added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.
1512
1513         * WebView/WebDataSource.mm:
1514         (-[WebDataSource _setDeferMainResourceDataLoad:]):
1515         * WebView/WebDataSourcePrivate.h:
1516
1517 2010-07-13  Philippe Normand  <pnormand@igalia.com>
1518
1519         Rubber-stamped by Xan Lopez.
1520
1521         Updated the copyright headers of the files modified in r62476.
1522
1523         * WebView/WebView.mm:
1524         * WebView/WebViewData.h:
1525         * WebView/WebViewInternal.h:
1526
1527 2010-07-09  Alexey Proskuryakov  <ap@apple.com>
1528
1529         Reviewed by Darin Adler.
1530
1531         https://bugs.webkit.org/show_bug.cgi?id=13075
1532         XMLHttpRequest with failed authentication should set status to 401
1533
1534         https://bugs.webkit.org/show_bug.cgi?id=6871
1535         <rdar://problem/3363403> 401 error page is never shown
1536
1537         * Panels/WebPanelAuthenticationHandler.m:
1538         (-[WebPanelAuthenticationHandler startAuthentication:window:]): Updated a comment - this
1539         code cancels loading, not authentication (canceling authentication means telling to
1540         continue without credentials).
1541         (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): If there were
1542         no credentials provided, tell to continue without any. There may be alternative content
1543         returned with 401.
1544
1545 2010-07-09  Leon Clarke  <leonclarke@google.com>
1546
1547         Reviewed by Adam Barth.
1548
1549         add support for link prefetching
1550         https://bugs.webkit.org/show_bug.cgi?id=3652
1551
1552         * Configurations/FeatureDefines.xcconfig:
1553
1554 2010-07-08  Aaron Boodman  <aa@chromium.org>
1555
1556         Reviewed by Timothy Hatcher.
1557
1558         Add the ability for user scripts and user styles to affect just the top frame.
1559
1560         https://bugs.webkit.org/show_bug.cgi?id=41529
1561
1562         * WebView/WebView.mm:
1563         (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
1564         (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
1565         (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
1566         (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
1567         * WebView/WebViewPrivate.h:
1568
1569 2010-07-08  Adele Peterson  <adele@apple.com>
1570
1571         Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.
1572
1573         Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
1574         <rdar://problem/8158561> Missing plug-in indicator should have a pressed state
1575
1576         Implement shouldMissingPluginMessageBeButton.
1577
1578         * WebCoreSupport/WebChromeClient.h:
1579         * WebCoreSupport/WebChromeClient.mm:
1580         (WebChromeClient::shouldMissingPluginMessageBeButton):
1581
1582 2010-07-08  Brady Eidson  <beidson@apple.com>
1583
1584         Reviewed by Tim Hatcher.
1585
1586         <rdar://problem/8136327> - Crash in Entourage calling WebCache method from background thread
1587
1588         * Misc/WebCache.mm:
1589         (+[WebCache setDisabled:]): Forward the call to the main thread if called from a background thread.
1590
1591         * Misc/WebNSObjectExtras.h:
1592         * Misc/WebNSObjectExtras.mm:
1593         (+[NSObject _webkit_invokeOnMainThread]): Add a class version of the main thread invoker.
1594
1595 2010-07-08  Mike Thole  <mthole@apple.com>
1596
1597         Reviewed by Darin Adler.
1598
1599         Patch for https://bugs.webkit.org/show_bug.cgi?id=41896
1600         Crash under allScriptsInPDFDocument() in WebPDFDocumentExtras.mm for certain PDFs
1601
1602         * WebView/WebPDFDocumentExtras.mm:
1603         (allScriptsInPDFDocument): Null-check 'data', as CGPDFStreamCopyData() may have returned 0.
1604
1605 2010-07-08  Sam Weinig  <sam@webkit.org>
1606
1607         Reviewed by Anders Carlsson.
1608
1609         Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
1610         Convert BackForwardList to an abstract base class and add BackForwardListImpl
1611         as the concrete implementation of it.
1612
1613         * History/WebBackForwardList.mm:
1614         (-[WebBackForwardList init]):
1615         (-[WebBackForwardList setPageCacheSize:]):
1616         (-[WebBackForwardList pageCacheSize]):
1617
1618 2010-07-07  Sam Weinig  <sam@webkit.org>
1619
1620         Reviewed by Anders Carlsson.
1621
1622         Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
1623         Add basic piping for BackForwardControllerClient.
1624
1625         * WebView/WebView.mm:
1626         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
1627
1628 2010-07-07  Anders Carlsson  <andersca@apple.com>
1629
1630         Reviewed by Sam Weinig.
1631
1632         Change requestURL to a KURL.
1633         https://bugs.webkit.org/show_bug.cgi?id=41775
1634
1635         * Plugins/WebNetscapePluginStream.h:
1636         (WebNetscapePluginStream::setRequestURL):
1637         * Plugins/WebNetscapePluginStream.mm:
1638         (WebNetscapePluginStream::pluginCancelledConnectionError):
1639         (WebNetscapePluginStream::errorForReason):
1640         (WebNetscapePluginStream::startStream):
1641         (WebNetscapePluginStream::didReceiveResponse):
1642         (WebNetscapePluginStream::destroyStream):
1643
1644 2010-07-07  Anders Carlsson  <andersca@apple.com>
1645
1646         Reviewed by Sam Weinig.
1647
1648         Rename the WebBaseNetscapePluginStream.cpp and .h files to WebNetscapePluginStream.cpp and .h to match the class name.
1649
1650         * Plugins/WebNetscapePluginStream.h: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.h.
1651         * Plugins/WebNetscapePluginStream.mm: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.mm.
1652
1653 2010-07-06  Steve Falkenburg  <sfalken@apple.com>
1654
1655         Reviewed by Simon Fraser.
1656
1657         Expose URL matching from WebUserContentURLPattern
1658         https://bugs.webkit.org/show_bug.cgi?id=41726
1659         <rdar://problem/7910144>
1660
1661         We previously had a way to construct WebUserContentURLPattern
1662         instances via WebKit, but no way for callers to perform matching.
1663         This patch adds the matchesURL functionality to allow for this.
1664
1665         * Misc/WebUserContentURLPattern.h: Added matchesURL.
1666         * Misc/WebUserContentURLPattern.mm:
1667         (-[WebUserContentURLPattern matchesURL:]): Added. Calls through to WebCore::UserContentURLPattern::matches.
1668
1669 2010-06-23  Philippe Normand  <pnormand@igalia.com>
1670
1671         Reviewed by Eric Carlson.
1672
1673         [GStreamer] on Mac OS use a runloop observer to process the glib context iterations
1674         https://bugs.webkit.org/show_bug.cgi?id=35747
1675
1676         If VIDEO and GSTREAMER are enabled, make the WebView start a
1677         runloop observer that will trigger the glib main context
1678         iterations. Those are needed by the GStreamer player only at the
1679         moment but could later be used for other GLib-dependant components
1680         if required.
1681
1682         * WebView/WebView.mm:
1683         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
1684         (-[WebView _close]):
1685         (-[WebView _clearGlibLoopObserver]):
1686         (glibContextIterationCallback):
1687         (-[WebView _scheduleGlibContextIterations]):
1688         * WebView/WebViewData.h:
1689         * WebView/WebViewInternal.h:
1690
1691 2010-07-03  Jon Honeycutt  <jhoneycutt@apple.com>
1692
1693         The missing plug-in indicator should be clickable
1694
1695         https://bugs.webkit.org/show_bug.cgi?id=41550
1696         <rdar://problem/8132162>
1697
1698         From an original patch by Kevin Decker.
1699
1700         Reviewed by Darin Adler.
1701
1702         * WebCoreSupport/WebChromeClient.h:
1703         Declare an override of missingPluginButtonClicked().
1704
1705         * WebCoreSupport/WebChromeClient.mm:
1706         (WebChromeClient::missingPluginButtonClicked):
1707         Call the UIDelegate's method.
1708
1709         * WebView/WebUIDelegatePrivate.h:
1710         Declare didPressMissingPluginButton.
1711
1712 2010-07-01  Timothy Hatcher  <timothy@apple.com>
1713
1714         Provide a WebView preference to disable DNS prefetching.
1715
1716         https://bugs.webkit.org/show_bug.cgi?id=28825
1717         rdar://problem/7181249
1718
1719         Reviewed by Darin Adler.
1720
1721         * WebView/WebPreferenceKeysPrivate.h: Added WebKitDNSPrefetchingEnabledPreferenceKey.
1722         * WebView/WebPreferences.mm:
1723         (+[WebPreferences initialize]): Set WebKitDNSPrefetchingEnabledPreferenceKey to YES.
1724         (-[WebPreferences isDNSPrefetchingEnabled]): Added. Return WebKitDNSPrefetchingEnabledPreferenceKey's value.
1725         (-[WebPreferences setDNSPrefetchingEnabled:]): Added. Set WebKitDNSPrefetchingEnabledPreferenceKey's value.
1726         * WebView/WebPreferencesPrivate.h: Added isDNSPrefetchingEnabled and setDNSPrefetchingEnabled:.
1727         * WebView/WebView.mm:
1728         (-[WebView _preferencesChangedNotification:]): Call WebCore::Settings::setDNSPrefetchingEnabled.
1729
1730 2010-07-01  Alexey Proskuryakov  <ap@apple.com>
1731
1732         Reviewed by Anders Carlsson.
1733
1734         <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
1735         REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction
1736
1737         Strengthen m_inDestroy "swipe under the carpet" fix.
1738
1739         * Plugins/Hosted/NetscapePluginInstanceProxy.h: Added a long comment about m_inDestroy, and
1740         changed it to static.
1741
1742         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1743         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): m_inDestroy is now
1744         static, so we don't initialize it in constructor.
1745         (WebKit::NetscapePluginInstanceProxy::destroy): Assert that we aren't already destroying
1746         some plug-in.
1747         (WebKit::NetscapePluginInstanceProxy::evaluate): This function accidentally lacked an
1748         m_inDestroy check in r42789.
1749
1750 2010-06-29  Zoltan Herczeg  <zherczeg@webkit.org>
1751
1752         Reviewed by Nikolas Zimmermann.
1753
1754         Add ConvolveMatrixElement to MigrateHeaders.make
1755         https://bugs.webkit.org/show_bug.cgi?id=5861
1756
1757         * MigrateHeaders.make:
1758
1759 2010-06-23  John Gregg  <johnnyg@google.com>
1760
1761         Reviewed by Kent Tamura.
1762
1763         add ENABLE_DIRECTORY_UPLOAD build support
1764         https://bugs.webkit.org/show_bug.cgi?id=41100
1765
1766         * Configurations/FeatureDefines.xcconfig:
1767
1768 2010-06-28  Eric Seidel  <eric@webkit.org>
1769
1770         Reviewed by Adam Barth.
1771
1772         Make it possible to test the new HTML5 TreeBuilder
1773         https://bugs.webkit.org/show_bug.cgi?id=41276
1774
1775         Adam was concerned that someone might make their port
1776         depend on this setting (I guess we had some trouble with that
1777         with the HTML5Parser setting), so I littered the code with warnings.
1778
1779         test-html5-parser now tests this code path.
1780
1781         * WebView/WebPreferenceKeysPrivate.h:
1782         * WebView/WebPreferences.mm:
1783         (+[WebPreferences initialize]):
1784         (-[WebPreferences html5TreeBuilderEnabled]):
1785         (-[WebPreferences setHTML5TreeBuilderEnabled:]):
1786         * WebView/WebPreferencesPrivate.h:
1787         * WebView/WebView.mm:
1788         (-[WebView _preferencesChangedNotification:]):
1789
1790 2010-06-25  Yuzo Fujishima  <yuzo@google.com>
1791
1792         Reviewed by Shinichiro Hamaji.
1793
1794         Improve default value handling for page format properties.
1795         https://bugs.webkit.org/show_bug.cgi?id=41150
1796
1797         * Misc/WebCoreStatistics.h:
1798         * Misc/WebCoreStatistics.mm:
1799         (-[WebFrame pageSizeAndMarginsInPixels:pageNumber:width:height:marginTop:marginRight:marginBottom:]):
1800
1801 2010-06-26  Tony Gentilcore  <tonyg@chromium.org>
1802
1803         Reviewed by Dimitri Glazkov.
1804
1805         Add an ENABLE_WEB_TIMING option for enabling Web Timing support.
1806         https://bugs.webkit.org/show_bug.cgi?id=38924
1807
1808         * Configurations/FeatureDefines.xcconfig:
1809
1810 2010-06-24  Jer Noble  <jer.noble@apple.com>
1811
1812         Reviewed by Eric Carlson.
1813
1814         Full-screened content doesn't keep the display on: Safari not grabbing a power assertion?
1815         https://bugs.webkit.org/show_bug.cgi?id=40939
1816         rdar://problem/7996172
1817         
1818         Take a IOKit power assertion when playing video in fullscreen mode.  Release the
1819         assertion when paused in fullscreen mode, and when exiting fullscreen mode.
1820
1821         * WebView/WebVideoFullscreenController.h:
1822         * WebView/WebVideoFullscreenController.mm:
1823         (-[WebVideoFullscreenController windowDidExitFullscreen]): Call updatePowerAssertions.
1824         (-[WebVideoFullscreenController windowDidEnterFullscreen]): Call updatePowerAssertions.
1825         (-[WebVideoFullscreenController _disableIdleDisplaySleep]):
1826         (-[WebVideoFullscreenController _enableIdleDisplaySleep]):
1827         (-[WebVideoFullscreenController _disableIdleSystemSleep]):
1828         (-[WebVideoFullscreenController _enableIdleSystemSleep]):
1829         (-[WebVideoFullscreenController updatePowerAssertions]): Call _(enable|disable)Idle(System|Display)sleep depending on current playback rate and fullscreen status.
1830         (-[WebVideoFullscreenController rateChanged:]): Call updatePowerAssertions.
1831
1832 2010-06-24  Jer Noble  <jer.noble@apple.com>
1833
1834         Reviewed by Darin Adler.
1835
1836         Playing movie full screen on second monitor hides menu bar and title bar on main monitor
1837         https://bugs.webkit.org/show_bug.cgi?id=40933
1838         rdar://problem/7858452
1839         
1840         Remove all references to GetSystemUIMode and SetSystemUIMode.  Replace these calls with 
1841         [NSApplication setPresentationOptions:].  Do not auto-hide the menu bar if the fullscreen
1842         screen is does not contain the menu-bar.  Do not auto-hide the dock if the fullscreen screen
1843         is both not the menu-bar screen and not the dock screen.
1844
1845         * WebView/WebVideoFullscreenController.mm:
1846         (-[WebVideoFullscreenController windowDidLoad]): Register the applicationDidChangeScreenParameters: listener.
1847         (-[WebVideoFullscreenController windowDidExitFullscreen]): Calls updateMenuAndDockForFullscreen.
1848         (-[WebVideoFullscreenController windowDidEnterFullscreen]): Calls updateMenuAndDockForFullscreen.
1849         (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]):  New notification handler; catches NSApplicationDidChangeScreenParameters.
1850         (-[WebVideoFullscreenController updateMenuAndDockForFullscreen]): Hide/show the menu-bar and dock according to the fullscreen window's screen.
1851
1852 2010-06-24  Jer Noble  <jer.noble@apple.com>
1853
1854         Reviewed by Eric Carlson.
1855
1856         Full screen video in Safari exits full-screen if you switch to another app
1857         https://bugs.webkit.org/show_bug.cgi?id=40635
1858         rdar://problem/7885101
1859
1860         Implement the following rules for exiting full screen when switching apps:
1861         1. If the system has a single screen, switching apps will cause Safari to exit full-screen.
1862         2. Otherwise, if the full-screen screen is the "main screen" (the one with the title bar), 
1863            switching apps will cause Safari to exit full-screen.
1864         3. Overriding rules 1 & 2, if the full-screen screen is not on the "current space", 
1865            switching apps will NOT cause Safari to exit full-screen.
1866
1867         * WebView/WebVideoFullscreenController.mm:
1868         (-[WebVideoFullscreenController windowDidLoad]):
1869         (-[WebVideoFullscreenController applicationDidResignActive:]):
1870
1871 2010-06-24  Adele Peterson  <adele@apple.com>
1872
1873         Reviewed by Sam Weinig.
1874
1875         Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
1876         https://bugs.webkit.org/show_bug.cgi?id=41085
1877
1878         * WebView/WebHTMLView.mm: Use the WebCore command system for the pasteAsPlainText selector.
1879         Also remove internal methods that no one is using.
1880
1881 2010-06-24  Damian Kaleta  <dkaleta@apple.com>
1882
1883         Reviewed by Sam Weinig.
1884
1885         Added an ObjC wrapper to Node::renderRect(bool&).
1886
1887         * DOM/WebDOMOperations.mm:
1888         (-[DOMNode _renderRect:]):
1889         * DOM/WebDOMOperationsPrivate.h:
1890
1891 2010-06-24  Adele Peterson  <adele@apple.com>
1892
1893         Reviewed by Eric Carlson.
1894
1895         Fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
1896         https://bugs.webkit.org/show_bug.cgi?id=41085
1897
1898         * WebView/WebHTMLView.mm: (-[WebHTMLView pasteAsPlainText:]): Reuse code in WebCore
1899         which does everything done here and also fires paste events.
1900
1901 2010-06-23  Yuzo Fujishima  <yuzo@google.com>
1902
1903         Reviewed by Shinichiro Hamaji.
1904
1905         Implement page format data programming interface.
1906         Add methods for testing.
1907         https://bugs.webkit.org/show_bug.cgi?id=37538
1908
1909         * Misc/WebCoreStatistics.h:
1910         * Misc/WebCoreStatistics.mm:
1911         (-[WebFrame isPageBoxVisible:]):
1912         (-[WebFrame pageAreaRectInPixels:]):
1913         (-[WebFrame preferredPageSizeInPixels:]):
1914
1915 2010-06-22  Anders Carlsson  <andersca@apple.com>
1916
1917         Reviewed by Sam Weinig.
1918
1919         Get rid of more USE_LIBDISPATCH code.
1920
1921         * Plugins/Hosted/NetscapePluginHostProxy.h:
1922
1923 2010-06-22  Anders Carlsson  <andersca@apple.com>
1924
1925         Reviewed by Sam Weinig.
1926
1927         Get rid of the USE_LIBDISPATCH code.
1928
1929         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1930         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
1931         (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
1932
1933 2010-06-22  Anders Carlsson  <andersca@apple.com>
1934
1935         Reviewed by Sam Weinig.
1936
1937         Wean NetscapePluginHostManager of any knowledge about WebNetscapePluginPackage
1938         https://bugs.webkit.org/show_bug.cgi?id=41006
1939
1940         * Plugins/Hosted/NetscapePluginHostManager.h:
1941         * Plugins/Hosted/NetscapePluginHostManager.mm:
1942         (WebKit::NetscapePluginHostManager::hostForPlugin):
1943         (WebKit::NetscapePluginHostManager::spawnPluginHost):
1944         (WebKit::NetscapePluginHostManager::instantiatePlugin):
1945         (WebKit::NetscapePluginHostManager::createPropertyListFile):
1946         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1947         (-[WebHostedNetscapePluginView createPlugin]):
1948         * Plugins/WebNetscapePluginPackage.mm:
1949         (-[WebNetscapePluginPackage createPropertyListFile]):
1950
1951 2010-06-21  Anders Carlsson  <andersca@apple.com>
1952
1953         Reviewed by Sam Weinig.
1954
1955         Fix an off-by-one bug I introduced.
1956
1957         * Plugins/WebNetscapePluginPackage.mm:
1958         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
1959
1960 2010-06-21  Nate Chapin  <japhet@chromium.org>
1961
1962         Reviewed by Adam Barth.
1963
1964         FrameLoader cleanup: Split high level subframe and plugin
1965         loading functions into a separate class.
1966         https://bugs.webkit.org/show_bug.cgi?id=40453
1967
1968         * WebView/WebFrame.mm:
1969         (-[WebFrame _cacheabilityDictionary]):
1970
1971 2010-06-21  Anders Carlsson  <andersca@apple.com>
1972
1973         Another Tiger build fix.
1974
1975         * Plugins/WebNetscapePluginPackage.mm:
1976         (-[WebNetscapePluginPackage _tryLoad]):
1977
1978 2010-06-21  Anders Carlsson  <andersca@apple.com>
1979
1980         Reviewed by Sam Weinig.
1981
1982         More WebBasePluginPackage cleanup
1983         https://bugs.webkit.org/show_bug.cgi?id=40944
1984
1985         * Plugins/Hosted/HostedNetscapePluginStream.mm:
1986         (WebKit::HostedNetscapePluginStream::pluginCancelledConnectionError):
1987         * Plugins/Hosted/NetscapePluginHostManager.mm:
1988         (WebKit::NetscapePluginHostManager::spawnPluginHost):
1989         * Plugins/WebBaseNetscapePluginStream.mm:
1990         (WebNetscapePluginStream::pluginCancelledConnectionError):
1991         * Plugins/WebBaseNetscapePluginView.mm:
1992         (WebHaltablePlugin::pluginName):
1993         * Plugins/WebBasePluginPackage.h:
1994         * Plugins/WebBasePluginPackage.mm:
1995         (-[WebBasePluginPackage initWithPath:]):
1996         (-[WebBasePluginPackage _objectForInfoDictionaryKey:]):
1997         (-[WebBasePluginPackage getPluginInfoFromPLists]):
1998         (-[WebBasePluginPackage load]):
1999         (-[WebBasePluginPackage dealloc]):
2000         (-[WebBasePluginPackage finalize]):
2001         (-[WebBasePluginPackage pluginInfo]):
2002         (-[WebBasePluginPackage supportsExtension:]):
2003         (-[WebBasePluginPackage supportsMIMEType:WebCore::]):
2004         (-[WebBasePluginPackage MIMETypeForExtension:]):
2005         (-[WebBasePluginPackage isJavaPlugIn]):
2006         (-[WebBasePluginPackage versionNumber]):
2007         (-[WebBasePluginPackage WebCore::]):
2008         * Plugins/WebNetscapePluginPackage.mm:
2009         (-[WebNetscapePluginPackage openResourceFile]):
2010         (-[WebNetscapePluginPackage closeResourceFile:]):
2011         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
2012         (-[WebNetscapePluginPackage _initWithPath:]):
2013         (-[WebNetscapePluginPackage _applyDjVuWorkaround]):
2014         (-[WebNetscapePluginPackage _tryLoad]):
2015         (-[WebNetscapePluginPackage supportsSnapshotting]):
2016         (-[WebNetscapePluginPackage _unloadWithShutdown:]):
2017         * Plugins/WebPluginDatabase.mm:
2018         (-[WebPluginDatabase refresh]):
2019         (-[WebPluginDatabase _removePlugin:]):
2020         * Plugins/WebPluginPackage.mm:
2021         (-[WebPluginPackage initWithPath:]):
2022         (-[WebPluginPackage load]):
2023         * WebCoreSupport/WebFrameLoaderClient.mm:
2024         (WebFrameLoaderClient::createPlugin):
2025         * WebCoreSupport/WebPlatformStrategies.mm:
2026         (WebPlatformStrategies::getPluginInfo):
2027
2028 2010-06-21  Anders Carlsson  <andersca@apple.com>
2029
2030         Another PowerPC build fix.
2031
2032         * Plugins/WebNetscapePluginPackage.mm:
2033         (-[WebNetscapePluginPackage openResourceFile]):
2034         (-[WebNetscapePluginPackage _tryLoad]):
2035
2036 2010-06-21  Anders Carlsson  <andersca@apple.com>
2037
2038         Try to fix the PowerPC build.
2039
2040         * Plugins/WebNetscapePluginPackage.mm:
2041         (-[WebNetscapePluginPackage _tryLoad]):
2042
2043 2010-06-21  Nate Chapin  <japhet@chromium.org>
2044
2045         Reviewed by Adam Barth.
2046
2047         Update relevant calls into FrameLoader to make use of 
2048         FrameLoaderStateMachine.
2049         https://bugs.webkit.org/show_bug.cgi?id=39695
2050
2051         * WebCoreSupport/WebFrameLoaderClient.mm:
2052         (WebFrameLoaderClient::transitionToCommittedForNewPage):
2053         * WebView/WebFrame.mm:
2054         (-[WebFrame _firstLayoutDone]):
2055
2056 2010-06-21  Dimitri Glazkov  <dglazkov@chromium.org>
2057
2058         Reviewed by Dan Bernstein.
2059
2060         Chromium/Mac build fix.
2061
2062         * WebCoreSupport/WebSystemInterface.mm: Change the order of wtf/Platform.h include to let other 
2063             headers smell it.
2064
2065 2010-06-21  Anders Carlsson  <andersca@apple.com>
2066
2067         Reviewed by Dan Bernstein.
2068
2069         Make all of WebKit build with clang++
2070
2071         * DefaultDelegates/WebDefaultPolicyDelegate.m:
2072         (-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
2073         * Plugins/Hosted/NetscapePluginHostManager.mm:
2074         * Plugins/WebBaseNetscapePluginView.mm:
2075         (-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]):
2076         * WebView/WebDynamicScrollBarsView.mm:
2077         (-[WebDynamicScrollBarsView setSuppressLayout:]):
2078         * WebView/WebHTMLRepresentation.mm:
2079         * WebView/WebNavigationData.mm:
2080         (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
2081         * WebView/WebPDFRepresentation.mm:
2082         (-[WebPDFRepresentation setDataSource:]):
2083         (-[WebPDFRepresentation receivedData:withDataSource:]):
2084         (-[WebPDFRepresentation receivedError:withDataSource:]):
2085         * WebView/WebResource.mm:
2086         (-[WebResource description]):
2087         * WebView/WebSerializedJSValue.mm:
2088         (-[WebSerializedJSValue initWithValue:context:exception:]):
2089         * WebView/WebVideoFullscreenController.mm:
2090         (-[WebVideoFullscreenController WebCore::]):
2091         (-[WebVideoFullscreenController setMediaElement:WebCore::]):
2092         (-[WebVideoFullscreenController setDelegate:]):
2093         (-[WebVideoFullscreenController enterFullscreen:]):
2094         * WebView/WebView.mm:
2095         (-[WebView _openFrameInNewWindowFromMenu:]):
2096         (-[WebView _geolocationDidChangePosition:]):
2097
2098 2010-06-21  Anders Carlsson  <andersca@apple.com>
2099
2100         Reviewed by Sam Weinig.
2101
2102         Remove unused dictionary ivars from WebBasePluginPackage
2103         https://bugs.webkit.org/show_bug.cgi?id=40928
2104
2105         * Plugins/WebBasePluginPackage.h:
2106         * Plugins/WebBasePluginPackage.mm:
2107         (-[WebBasePluginPackage getPluginInfoFromPLists]):
2108         (-[WebBasePluginPackage dealloc]):
2109         * Plugins/WebNetscapePluginPackage.mm:
2110         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
2111
2112 2010-06-21  Dan Bernstein  <mitz@apple.com>
2113
2114         Build fix
2115
2116         * WebCoreSupport/WebSystemInterface.mm:
2117         (InitWebCoreSystemInterface):
2118
2119 2010-06-21  Dan Bernstein  <mitz@apple.com>
2120
2121         Reviewed by Darin Adler.
2122
2123         WebKit part of implementing the 'hyphens' and 'hyphenate-character' properties
2124         https://bugs.webkit.org/show_bug.cgi?id=10228
2125
2126         * WebCoreSupport/WebSystemInterface.mm:
2127         (InitWebCoreSystemInterface): Initialize wkGetHyphenationLocationBeforeIndex.
2128
2129 2010-06-21  Satish Sampath  <satish@chromium.org>
2130
2131         Reviewed by Steve Block.
2132
2133         Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
2134         https://bugs.webkit.org/show_bug.cgi?id=40878
2135
2136         * Configurations/FeatureDefines.xcconfig:
2137
2138 2010-06-20  Anders Carlsson  <andersca@apple.com>
2139
2140         Fix Tiger build.
2141
2142         * Plugins/WebNetscapePluginPackage.mm:
2143
2144 2010-06-20  Anders Carlsson  <andersca@apple.com>
2145
2146         Reviewed by Dan Bernstein.
2147
2148         Get rid of the old MIMETypes getter method
2149         https://bugs.webkit.org/show_bug.cgi?id=40898
2150
2151         * Plugins/WebBasePluginPackage.h:
2152         * Plugins/WebBasePluginPackage.mm:
2153         (-[WebBasePluginPackage supportsExtension:]):
2154         (-[WebBasePluginPackage supportsMIMEType:WebCore::]):
2155         (-[WebBasePluginPackage MIMETypeForExtension:]):
2156         * Plugins/WebPluginDatabase.mm:
2157         (-[WebPluginDatabase refresh]):
2158         (-[WebPluginDatabase _removePlugin:]):
2159
2160 2010-06-20  Anders Carlsson  <andersca@apple.com>
2161
2162         Reviewed by Dan Bernstein.
2163
2164         Remove bogus const qualifiers.
2165
2166         * WebCoreSupport/WebPasteboardHelper.h:
2167         * WebCoreSupport/WebPasteboardHelper.mm:
2168         (WebPasteboardHelper::urlFromPasteboard):
2169         (WebPasteboardHelper::plainTextFromPasteboard):
2170         (WebPasteboardHelper::fragmentFromPasteboard):
2171
2172 2010-06-20  Anders Carlsson  <andersca@apple.com>
2173
2174         Reviewed by Dan Bernstein.
2175
2176         Get rid of the extensionToMIME mapping in WebBasePluginPackage
2177         https://bugs.webkit.org/show_bug.cgi?id=40897
2178
2179         Instead of using the extensionToMIME mutable dictionary, use the MIME types vector.
2180         While this makes lookup of MIME types based on extensions linear instead of constant,
2181         the number of extensions per plug-in is too small for it to matter.
2182
2183         * Plugins/WebBasePluginPackage.h:
2184         * Plugins/WebBasePluginPackage.mm:
2185         (-[WebBasePluginPackage initWithPath:]):
2186         (-[WebBasePluginPackage dealloc]):
2187         (-[WebBasePluginPackage supportsExtension:]):
2188         (-[WebBasePluginPackage MIMETypeForExtension:]):
2189         (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
2190
2191 2010-06-20  Anders Carlsson  <andersca@apple.com>
2192
2193         Reviewed by Dan Bernstein.
2194
2195         Add a MimeClassInfo Vector to WebBasePluginPackage
2196         https://bugs.webkit.org/show_bug.cgi?id=40896
2197
2198         * Plugins/WebBasePluginPackage.h:
2199         * Plugins/WebBasePluginPackage.mm:
2200         (-[WebBasePluginPackage getPluginInfoFromPLists]):
2201         (-[WebBasePluginPackage WebCore::]):
2202         * Plugins/WebNetscapePluginPackage.mm:
2203         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
2204         * WebCoreSupport/WebPlatformStrategies.mm:
2205         (WebPlatformStrategies::getPluginInfo):
2206
2207 2010-06-20  Anders Carlsson  <andersca@apple.com>
2208
2209         Reviewed by Dan Bernstein.
2210
2211         Move the NSBundle ivar to WebPluginPackage
2212         https://bugs.webkit.org/show_bug.cgi?id=40894
2213
2214         * Plugins/WebBasePluginPackage.h:
2215         * Plugins/WebBasePluginPackage.mm:
2216         (-[WebBasePluginPackage initWithPath:]):
2217         (-[WebBasePluginPackage _objectForInfoDictionaryKey:]):
2218         (-[WebBasePluginPackage getPluginInfoFromPLists]):
2219         (-[WebBasePluginPackage load]):
2220         (-[WebBasePluginPackage dealloc]):
2221         * Plugins/WebNetscapePluginPackage.mm:
2222         (-[WebNetscapePluginPackage _initWithPath:]):
2223         * Plugins/WebPluginPackage.h:
2224         * Plugins/WebPluginPackage.mm:
2225         (-[WebPluginPackage initWithPath:]):
2226         (-[WebPluginPackage dealloc]):
2227         (-[WebPluginPackage viewFactory]):
2228         (-[WebPluginPackage load]):
2229
2230 2010-06-20  Anders Carlsson  <andersca@apple.com>
2231
2232         Reviewed by Sam Weinig.
2233
2234         Remove -[WebBasePluginPackage bundle]
2235         https://bugs.webkit.org/show_bug.cgi?id=40892
2236
2237         Add -[WebBasePluginPackage bundleIdentifier] and switch clients over to it.
2238         
2239         Move the supportsSnapshotting method over to the plug-in package.
2240         
2241         * Plugins/Hosted/NetscapePluginHostManager.mm:
2242         (WebKit::NetscapePluginHostManager::hostForPackage):
2243         * Plugins/WebBaseNetscapePluginView.mm:
2244         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
2245         (-[WebBaseNetscapePluginView supportsSnapshotting]):
2246         * Plugins/WebBasePluginPackage.h:
2247         * Plugins/WebBasePluginPackage.mm:
2248         (-[WebBasePluginPackage isQuickTimePlugIn]):
2249         (-[WebBasePluginPackage isJavaPlugIn]):
2250         (-[WebBasePluginPackage WebCore::]):
2251         Call bundleIdentifier directly instead of asking the bundle 
2252         * Plugins/WebNetscapePluginPackage.h:
2253         * Plugins/WebNetscapePluginPackage.mm:
2254         (-[WebNetscapePluginPackage supportsSnapshotting]):
2255         * Plugins/WebNetscapePluginView.mm:
2256         (-[WebNetscapePluginView setAttributeKeys:andValues:]):
2257         (-[WebNetscapePluginView _createPlugin]):
2258         * Plugins/WebPluginDatabase.mm:
2259         (checkCandidate):
2260
2261 2010-06-20  Anders Carlsson  <andersca@apple.com>
2262
2263         Reviewed by Dan Bernstein.
2264
2265         Change some WebPluginDabase ivars to use WebCore::String instead of NSString.
2266         https://bugs.webkit.org/show_bug.cgi?id=40869
2267         
2268         Re-land r61459, with extra null-checks in WebFrameLoaderClient.
2269
2270         * Plugins/Hosted/NetscapePluginHostManager.mm:
2271         (WebKit::NetscapePluginHostManager::spawnPluginHost):
2272         * Plugins/WebBasePluginPackage.h:
2273         * Plugins/WebBasePluginPackage.mm:
2274         (-[WebBasePluginPackage initWithPath:]):
2275         (-[WebBasePluginPackage getPluginInfoFromPLists]):
2276         (-[WebBasePluginPackage dealloc]):
2277         (-[WebBasePluginPackage name]):
2278         (-[WebBasePluginPackage path]):
2279         (-[WebBasePluginPackage filename]):
2280         (-[WebBasePluginPackage pluginDescription]):
2281         (-[WebBasePluginPackage description]):
2282         (-[WebBasePluginPackage isJavaPlugIn]):
2283         * Plugins/WebNetscapePluginPackage.mm:
2284         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
2285         (-[WebNetscapePluginPackage _tryLoad]):
2286         (-[WebNetscapePluginPackage _unloadWithShutdown:]):
2287         * Plugins/WebPluginPackage.mm:
2288         (-[WebPluginPackage load]):
2289         * WebCoreSupport/WebFrameLoaderClient.mm:
2290         (WebFrameLoaderClient::createPlugin):
2291
2292 2010-06-18  Adam Barth  <abarth@webkit.org>
2293
2294         Unreviewed, rolling out r61459.
2295         http://trac.webkit.org/changeset/61459
2296         https://bugs.webkit.org/show_bug.cgi?id=40869
2297
2298         Seems to have broken two tests on the Tiger buildbot:
2299
2300         dom/html/level2/html/AppletsCollection.html
2301         plugins/qt-qwidget-plugin.html
2302
2303         Anders wasn't on #webkit...
2304
2305         * Plugins/Hosted/NetscapePluginHostManager.mm:
2306         (WebKit::NetscapePluginHostManager::spawnPluginHost):
2307         * Plugins/WebBasePluginPackage.h:
2308         * Plugins/WebBasePluginPackage.mm:
2309         (-[WebBasePluginPackage initWithPath:]):
2310         (-[WebBasePluginPackage getPluginInfoFromPLists]):
2311         (-[WebBasePluginPackage dealloc]):
2312         (-[WebBasePluginPackage name]):
2313         (-[WebBasePluginPackage path]):
2314         (-[WebBasePluginPackage filename]):
2315         (-[WebBasePluginPackage pluginDescription]):
2316         (-[WebBasePluginPackage setName:]):
2317         (-[WebBasePluginPackage setPath:]):
2318         (-[WebBasePluginPackage setPluginDescription:]):
2319         (-[WebBasePluginPackage description]):
2320         (-[WebBasePluginPackage isJavaPlugIn]):
2321         * Plugins/WebNetscapePluginPackage.mm:
2322         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
2323         (-[WebNetscapePluginPackage _tryLoad]):
2324         (-[WebNetscapePluginPackage _unloadWithShutdown:]):
2325         * Plugins/WebPluginPackage.mm:
2326         (-[WebPluginPackage load]):
2327
2328 2010-06-18  Anders Carlsson  <andersca@apple.com>
2329
2330         Fix Tiger build.
2331
2332         * Plugins/WebBasePluginPackage.mm:
2333         (-[WebBasePluginPackage isJavaPlugIn]):
2334
2335 2010-06-18  Anders Carlsson  <andersca@apple.com>
2336
2337         Reviewed by Sam Weinig.
2338
2339         Change some WebPluginDabase ivars to use WebCore::String instead of NSString.
2340         https://bugs.webkit.org/show_bug.cgi?id=40869
2341
2342         * Plugins/Hosted/NetscapePluginHostManager.mm:
2343         (WebKit::NetscapePluginHostManager::spawnPluginHost):
2344         * Plugins/WebBasePluginPackage.h:
2345         * Plugins/WebBasePluginPackage.mm:
2346         (-[WebBasePluginPackage initWithPath:]):
2347         (-[WebBasePluginPackage getPluginInfoFromPLists]):
2348         (-[WebBasePluginPackage dealloc]):
2349         (-[WebBasePluginPackage name]):
2350         (-[WebBasePluginPackage path]):
2351         (-[WebBasePluginPackage filename]):
2352         (-[WebBasePluginPackage pluginDescription]):
2353         (-[WebBasePluginPackage description]):
2354         (-[WebBasePluginPackage isJavaPlugIn]):
2355         * Plugins/WebNetscapePluginPackage.mm:
2356         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
2357         (-[WebNetscapePluginPackage _tryLoad]):
2358         (-[WebNetscapePluginPackage _unloadWithShutdown:]):
2359         * Plugins/WebPluginPackage.mm:
2360         (-[WebPluginPackage load]):
2361
2362 2010-06-18  Anders Carlsson  <andersca@apple.com>
2363
2364         Reviewed by Sam Weinig.
2365
2366         Rename WebPluginPackage.m to make it an Objective-C++ file.
2367         
2368         * Plugins/WebPluginPackage.m: Removed.
2369         * Plugins/WebPluginPackage.mm: Copied from Plugins/WebPluginPackage.m.
2370
2371 2010-06-18  Anders Carlsson  <andersca@apple.com>
2372
2373         Reviewed by Sam Weinig.
2374
2375         Get rid of the NSEnumerators from WebBasePluginPackage
2376         https://bugs.webkit.org/show_bug.cgi?id=40868
2377
2378         * Plugins/WebBasePluginPackage.h:
2379         * Plugins/WebBasePluginPackage.mm:
2380         (-[WebBasePluginPackage MIMETypes]):
2381         (-[WebBasePluginPackage supportsExtension:]):
2382         (-[WebBasePluginPackage supportsMIMEType:]):
2383         * Plugins/WebPluginDatabase.mm:
2384         (-[WebPluginDatabase pluginForMIMEType:]):
2385         (-[WebPluginDatabase pluginForExtension:]):
2386         (-[WebPluginDatabase refresh]):
2387         (-[WebPluginDatabase _removePlugin:]):
2388         * WebCoreSupport/WebPlatformStrategies.mm:
2389         (WebPlatformStrategies::getPluginInfo):
2390
2391 2010-06-18  Anders Carlsson  <andersca@apple.com>
2392
2393         Reviewed by Sam Weinig.
2394
2395         Make WebCoreSystemInterface.h a C++ only header
2396         https://bugs.webkit.org/show_bug.cgi?id=40867
2397
2398         * WebCoreSupport/WebSystemInterface.h:
2399         * WebCoreSupport/WebSystemInterface.m: Removed.
2400         * WebCoreSupport/WebSystemInterface.mm: Copied from WebKit/mac/WebCoreSupport/WebSystemInterface.m.
2401
2402 2010-06-18  Anders Carlsson  <andersca@apple.com>
2403
2404         Reviewed by Sam Weinig.
2405
2406         Clean up WebPluginDatabase.mm
2407         https://bugs.webkit.org/show_bug.cgi?id=40866
2408
2409         * Plugins/WebBasePluginPackage.h:
2410         * Plugins/WebBasePluginPackage.mm:
2411         (pathByResolvingSymlinksAndAliases):
2412         (-[WebBasePluginPackage initWithPath:]):
2413         Change an instance method into a static function.
2414         
2415         * Plugins/WebPluginDatabase.mm:
2416         (PluginPackageCandidates::PluginPackageCandidates):
2417         (PluginPackageCandidates::update):
2418         (PluginPackageCandidates::bestCandidate):
2419         Add a new PluginPackageCandidates class.
2420         
2421         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
2422         Use PluginPackageCandidates here.
2423
2424 2010-06-18  Anders Carlsson  <andersca@apple.com>
2425
2426         Fix Tiger build.
2427         
2428         * WebCoreSupport/WebPlatformStrategies.mm:
2429
2430 2010-06-18  Anders Carlsson  <andersca@apple.com>
2431
2432         Reviewed by Darin Adler.
2433
2434         Get rid of PluginDataMac.mm and use the plug-in strategy instead
2435         https://bugs.webkit.org/show_bug.cgi?id=40860
2436
2437         * Plugins/WebBasePluginPackage.h:
2438         * WebCoreSupport/WebPlatformStrategies.h:
2439         * WebCoreSupport/WebPlatformStrategies.mm:
2440         (WebPlatformStrategies::createPluginStrategy):
2441         (WebPlatformStrategies::refreshPlugins):
2442         (WebPlatformStrategies::getPluginInfo):
2443         * WebCoreSupport/WebViewFactory.mm:
2444
2445 2010-06-18  Anders Carlsson  <andersca@apple.com>
2446
2447         Reviewed by Dan Bernstein.
2448
2449         Add stubbed out WebPlatformStrategies class to WebKit.
2450         https://bugs.webkit.org/show_bug.cgi?id=40851
2451
2452         * WebCoreSupport/WebPlatformStrategies.h: Added.
2453         * WebCoreSupport/WebPlatformStrategies.mm: Added.
2454         (WebPlatformStrategies::initialize):
2455         (WebPlatformStrategies::WebPlatformStrategies):
2456         (WebPlatformStrategies::createPluginStrategy):
2457         * WebView/WebView.mm:
2458         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2459
2460 2010-06-15  Dumitru Daniliuc  <dumi@chromium.org>
2461
2462         Reviewed by Adam Barth.
2463
2464         Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
2465         https://bugs.webkit.org/show_bug.cgi?id=39041
2466
2467         * WebView/WebView.mm:
2468         (-[WebView _preferencesChangedNotification:]):
2469
2470 2010-06-17  Darin Adler  <darin@apple.com>
2471
2472         Reviewed by Sam Weinig.
2473
2474         Use adoptRef and create functions in more code paths
2475         https://bugs.webkit.org/show_bug.cgi?id=40760
2476
2477         * Plugins/Hosted/NetscapePluginInstanceProxy.h: Made create no longer
2478         be an inline function.
2479
2480         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2481         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
2482         Moved the call to addPluginInstance out of here.
2483         (WebKit::NetscapePluginInstanceProxy::create): Move it in here.
2484         This makes sure we call adoptRef on the new proxy before any caller
2485         calls ref on it.
2486
2487 2010-06-16  Eric Seidel  <eric@webkit.org>
2488
2489         Reviewed by Adam Barth.
2490
2491         Enable HTML5 Parser in Safari on Mac
2492         https://bugs.webkit.org/show_bug.cgi?id=40739
2493
2494         The HTML5 parser is probably off on all webkit ports.
2495         We should either flip the meaning of the default so that
2496         "false" means HTML5 on all ports, or we'll have to write
2497         more code like this for all the other ports.
2498
2499         * WebView/WebPreferences.mm:
2500         (+[WebPreferences initialize]):
2501
2502 2010-06-15  Mark Rowe  <mrowe@apple.com>
2503
2504         Reviewed by Sam Weinig.
2505
2506         Don't leak WebGeolocationPositionInternal and GeolocationPosition instances for every WebGeolocationPosition created.
2507
2508         * WebView/WebGeolocationPosition.mm:
2509         (-[WebGeolocationPosition dealloc]): Implement -dealloc and release our WebGeolocationPositionInternal instance.
2510
2511 2010-06-10  Yuzo Fujishima  <yuzo@google.com>
2512
2513         Reviewed by Shinichiro Hamaji.
2514
2515         Implement render style selection for pages to support CSS3 Paged Media.
2516         https://bugs.webkit.org/show_bug.cgi?id=35961
2517
2518         * Misc/WebCoreStatistics.h:
2519         * Misc/WebCoreStatistics.mm:
2520         (-[WebFrame pageProperty:propertyName:]):
2521
2522 2010-06-15  Darin Adler  <darin@apple.com>
2523
2524         Reviewed by Adam Barth.
2525
2526         Move functions out of Frame class that were marked "move to Chrome"
2527         https://bugs.webkit.org/show_bug.cgi?id=39636
2528
2529         * WebView/WebView.mm:
2530         (-[WebView shouldClose]): Call shouldClose on FrameLoader instead of
2531         going through Frame.
2532
2533 2010-06-15  Anders Carlsson  <andersca@apple.com>
2534
2535         Reviewed by Dan Bernstein.
2536
2537         Remove getPluginInfoFromBundleAndMIMEDictionary:
2538
2539         * Plugins/WebBasePluginPackage.mm:
2540
2541 2010-06-15  Anders Carlsson  <andersca@apple.com>
2542
2543         Reviewed by Dan Bernstein.
2544
2545         Fold getPluginInfoFromBundleAndMIMEDictionary: into its sole caller.
2546
2547         * Plugins/WebBasePluginPackage.mm:
2548         (-[WebBasePluginPackage getPluginInfoFromPLists]):
2549
2550 2010-06-11  Simon Fraser  <simon.fraser@apple.com>
2551
2552         Reviewed by Darin Adler.
2553
2554         <rdar://problem/8084721> Pages using accelerated compositing fail to update correctly in Carbon apps
2555         
2556         The run loop observer used to commit compositing layer changes does not do
2557         updates if [window viewsNeedDisplay] is true, because this indicates that a delayed window
2558         update is pending (added in r58623).
2559         
2560         However, Carbon apps don't use the NSWindow updating mechanism, so [window viewsNeedDisplay] always returns YES.
2561         This caused us to never sync compositing layers.
2562         
2563         So detect if the current window is wrapping a carbon window, and in that case consult the root
2564         HIView to detect if display is pending.
2565
2566         * WebView/WebView.mm:
2567         (layerSyncRunLoopObserverCallBack):
2568
2569 2010-06-15  Dan Bernstein  <mitz@apple.com>
2570
2571         Reviewed by John Sullivan.
2572
2573         <rdar://problem/8077032> REGRESSION (r50796): Black background on AppleScript generated email
2574
2575         Test: platform/mac/editing/input/NSBackgroundColor-transparent.html
2576
2577         r50796 changed the initial background color from invalid to transparent. As a result,
2578         NSAttributedStrings returned from +_web_attributedStringFromRange started including the
2579         NSBackgroundColor attribute, with a transparent color as the value. This caused problems for
2580         components in the system that ignore the alpha component, turning the color into opaque black.
2581
2582         * Misc/WebNSAttributedStringExtras.mm:
2583         (+[NSAttributedString _web_attributedStringFromRange:]): Change to not include the background
2584         and foreground color attributes if the color are transparent.
2585
2586 2010-06-14  Ilya Tikhonovsky  <loislo@chromium.org>
2587
2588         Reviewed by Pavel Feldman.
2589
2590         WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
2591         data from inspected page to WebInspector as JSON string via http. The native
2592         serialization to JSON string is supported by InspectorValue's classes. This patch
2593         has the implementation of sendMessageToFrontend function. WebKit version of it still
2594         uses ScriptFunctionCall and will be switched to another transport a little bit later.
2595         https://bugs.webkit.org/show_bug.cgi?id=40134
2596
2597         * WebCoreSupport/WebInspectorClient.h:
2598         * WebCoreSupport/WebInspectorClient.mm:
2599         (WebInspectorClient::WebInspectorClient):
2600         (WebInspectorClient::openInspectorFrontend):
2601
2602 2010-06-10  David Hyatt  <hyatt@apple.com>
2603
2604         Reviewed by John Sullivan.
2605
2606         https://bugs.webkit.org/show_bug.cgi?id=40441, back out the original fix for 29601, since it has broken continuous
2607         wheel delta values.
2608
2609         * WebView/WebDynamicScrollBarsView.mm:
2610         (-[WebDynamicScrollBarsView scrollWheel:]):
2611
2612 2010-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2613
2614         Unreviewed, rolling out r60889.
2615         http://trac.webkit.org/changeset/60889
2616         https://bugs.webkit.org/show_bug.cgi?id=40365
2617
2618         gtk bot has some kind of memory corruption (Requested by
2619         loislo on #webkit).
2620
2621         * WebCoreSupport/WebInspectorClient.h:
2622         * WebCoreSupport/WebInspectorClient.mm:
2623         (WebInspectorClient::WebInspectorClient):
2624         (WebInspectorClient::openInspectorFrontend):
2625         (-[WebInspectorWindowController destroyInspectorView]):
2626
2627 2010-06-07  Ilya Tikhonovsky  <loislo@chromium.org>
2628
2629         Reviewed by Pavel Feldman.
2630
2631         WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
2632         data from inspected page to WebInspector as JSON string via http. The native
2633         serialization to JSON string is supported by InspectorValue's classes. This patch
2634         has the implementation of sendMessageToFrontend function. WebKit version of it still
2635         uses ScriptFunctionCall and will be switched to another transport a little bit later.
2636         https://bugs.webkit.org/show_bug.cgi?id=40134
2637
2638         * WebCoreSupport/WebInspectorClient.h:
2639         * WebCoreSupport/WebInspectorClient.mm:
2640         (WebInspectorClient::WebInspectorClient):
2641         (WebInspectorClient::openInspectorFrontend):
2642
2643 2010-06-08  Mark Rowe  <mrowe@apple.com>
2644
2645         Reviewed by Adele Peterson.
2646
2647         <rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK
2648
2649         * WebCoreSupport/WebContextMenuClient.mm:
2650         (fixMenusReceivedFromOldClients): Fix up the tag on the Inspect Element menu item. This ensures that even if the
2651         context menu layout doesn't match our expectations that the menu item will continue to trigger the web inspector.
2652
2653 2010-06-08  Antonio Gomes  <tonikitoo@webkit.org>
2654
2655         Reviewed by Ojan Vafai and Darin Adler.
2656
2657         Refactor platform dependent editing behavior code out of Settings
2658         https://bugs.webkit.org/show_bug.cgi?id=39854
2659
2660         EditingBehavior enum was renamed to EditingBehaviorTypes and moved out from Settings.h to
2661         EditingBehaviorTypes.h . Call sites in WebKit/ adjusted accordingly.
2662
2663         * WebView/WebFrame.mm:
2664         (core):
2665         * WebView/WebFrameInternal.h:
2666         * WebView/WebView.mm:
2667         (-[WebView _preferencesChangedNotification:]):
2668
2669 2010-06-06  MORITA Hajime  <morrita@google.com>
2670
2671         Unreviewd, follow up to r60820
2672
2673         https://bugs.webkit.org/show_bug.cgi?id=40219
2674         [Mac] ENABLE_METER_TAG should be enabled
2675         
2676         Added ENABLE_METER_TAG.
2677
2678         * Configurations/FeatureDefines.xcconfig:
2679
2680 2010-06-06  Gavin Barraclough  <barraclough@apple.com>
2681
2682         Reviewed by Sam Weinig.
2683
2684         Bug 40214 - Clean up error construction / throwing in JSC.
2685         
2686         The one egregious insanity here is that creating an error requires
2687         a VM-entry-esqe-host call (the string argument is wrapped as a JS
2688         object & pushed on the RegisterFile, then unwrapped back to a
2689         UString).  Changing this also means you only require a global
2690         object, not an ExecState, to create an error.
2691
2692         The methods to create error objects are also parameterized
2693         requiring a switch on the type, which can be made cleaner and
2694         faster by moving to a separate method per error type.  Code to add
2695         divot information to error had been duplicated, and is coalesced
2696         back into a single function.
2697
2698         Convenience methods added to create & throw type & syntax error
2699         with a default error message, since this is a common case.
2700
2701         Also, errors are currently thrown either using
2702         "throwError(exec, error)" or "exec->setException(error)" - unify
2703         on the former, since this is more commonly used.  Add
2704         "throwVMError(exec, error)" equivalents, as a convenience for
2705         cases where the result was being wrapped in "JSValue::encode(...)".
2706
2707         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2708         (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
2709         * Plugins/Hosted/ProxyInstance.mm:
2710         (WebKit::ProxyInstance::invokeMethod):
2711
2712 2010-06-02  Gavin Barraclough  <barraclough@apple.com>
2713
2714         Reviewed by Oliver Hunt.
2715
2716         Bug 40094 - The return type of NativeFunction should be EncodedJSValue
2717         On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
2718
2719         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2720         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2721         (WebKit::NetscapePluginInstanceProxy::invoke):
2722
2723 2010-06-02  Sterling Swigart  <sswigart@google.com>
2724
2725         Reviewed by David Levin.
2726
2727         Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
2728         https://bugs.webkit.org/show_bug.cgi?id=39906
2729
2730         * Configurations/FeatureDefines.xcconfig:
2731
2732 2010-06-01  David Hyatt  <hyatt@apple.com>
2733
2734         Reviewed by Anders Carlsson.
2735
2736         Add a preference for paginating during layout (the new model for computing page breaks).
2737
2738         * WebView/WebPreferenceKeysPrivate.h:
2739         * WebView/WebPreferences.mm:
2740         (-[WebPreferences paginateDuringLayoutEnabled]):
2741         (-[WebPreferences setPaginateDuringLayoutEnabled:]):
2742         * WebView/WebPreferencesPrivate.h:
2743         * WebView/WebView.mm:
2744         (-[WebView _preferencesChangedNotification:]):
2745
2746 2010-06-01  Kevin Decker  <kdecker@apple.com>
2747
2748         Reviewed by Simon Fraser.
2749
2750         https://bugs.webkit.org/show_bug.cgi?id=40025
2751         <rdar://problem/8046273> All Flash content crashes after installing CS5 Design Premium.
2752         
2753         * Plugins/WebBaseNetscapePluginView.mm:
2754         (-[WebBaseNetscapePluginView supportsSnapshotting]): Do not support snapshotting Flash 10.1 if
2755         the version is less than 10.1.53.60.
2756
2757 2010-06-01  Alexey Proskuryakov  <ap@apple.com>
2758
2759         Reviewed by Sam Weinig.
2760
2761         https://bugs.webkit.org/show_bug.cgi?id=39434
2762         REGRESSION (r59811): Geolocation callbacks cannot be created
2763
2764         Removing unused WebGeolocationMock.
2765
2766         * WebCoreSupport/WebGeolocationMock.mm: Removed.
2767         * WebCoreSupport/WebGeolocationMockPrivate.h: Removed.
2768         * WebKit.exp:
2769
2770 2010-05-30  Darin Adler  <darin@apple.com>
2771
2772         Reviewed by Sam Weinig.
2773
2774         Make more HTML DOM members private, especially constructors, third and final batch
2775         https://bugs.webkit.org/show_bug.cgi?id=39916
2776
2777         * WebView/WebHTMLRepresentation.mm:
2778         (-[WebHTMLRepresentation elementWithName:inForm:]): Use the new HTMLFormElement
2779         function, associatedElements, rather than getting directly at a data member
2780         named formElements.
2781         (-[WebHTMLRepresentation controlsInForm:]): Ditto.
2782
2783 2010-05-28  Geoffrey Garen  <ggaren@apple.com>
2784
2785         Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
2786
2787         Simplified the host calling convention.
2788
2789         PART ONE: Functional code changes.
2790         
2791         [ None in WebKit ]
2792         
2793         PART TWO: Global search and replace.
2794         
2795         In the areas below, I used global search-and-replace to change
2796             (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
2797             args.size() => exec->argumentCount()
2798             args.at(i) => exec->argument(i)
2799
2800         * Plugins/Hosted/ProxyInstance.h:
2801         * Plugins/Hosted/ProxyInstance.mm:
2802         (WebKit::ProxyInstance::invoke):
2803         (WebKit::ProxyInstance::invokeMethod):
2804         (WebKit::ProxyInstance::invokeDefaultMethod):
2805
2806 2010-05-27  Beth Dakin  <bdakin@apple.com>
2807
2808         Reviewed by Simon Fraser.
2809
2810         Change z-component to 1.
2811
2812         * WebView/WebHTMLView.mm:
2813         (-[WebHTMLView viewDidMoveToWindow]):
2814         (-[WebHTMLView attachRootLayer:]):
2815
2816 2010-05-26  Simon Fraser  <simon.fraser@apple.com>
2817
2818         Reviewed by Beth Dakin and Darin Adler.
2819
2820         Fix for <rdar://problem/7464703> HiDPI: [Layers] Compositing layers 
2821         do not scale properly when running with a resolution independent 
2822         scale
2823
2824         Apply the userSpaceScaleFactor as a scale on the layerHostingView.
2825
2826         * WebView/WebHTMLView.mm:
2827         (-[WebHTMLView viewDidMoveToWindow]):
2828         (-[WebHTMLView attachRootLayer:]):
2829
2830 2010-05-25  Alexey Proskuryakov  <ap@apple.com>
2831
2832         Reviewed by Darin Adler.
2833
2834         https://bugs.webkit.org/show_bug.cgi?id=39621
2835         <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test
2836
2837         Removed formStateDidChange support, which is not needed by any client.
2838
2839         * WebCoreSupport/WebChromeClient.h:
2840         (WebChromeClient::formStateDidChange):
2841         * WebCoreSupport/WebChromeClient.mm:
2842         * WebView/WebUIDelegatePrivate.h:
2843
2844 2010-05-25  Brady Eidson  <beidson@apple.com>
2845
2846         Reviewed by Darin Adler.
2847
2848         Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
2849         <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
2850
2851         * Storage/WebDatabaseManager.mm:
2852         (WebKitInitializeDatabasesIfNecessary): Call initializeTracker() instead of trying to set the path on
2853           an already created tracker that already has its origins populated.
2854
2855 2010-05-24  Darin Adler  <darin@apple.com>
2856
2857         Reviewed by Eric Seidel.
2858
2859         Move view-related functions from Frame to FrameView
2860         https://bugs.webkit.org/show_bug.cgi?id=39366
2861
2862         * WebView/WebView.mm:
2863         (-[WebView _setZoomMultiplier:isTextOnly:]): Call function on FrameView.
2864         (-[WebView setEditable:]): Get rid of call to empty function,
2865         removeEditingStyleFromBodyElement.
2866
2867 2010-05-21  David Hyatt  <hyatt@apple.com>
2868
2869         Reviewed by Dan Bernstein.
2870
2871         https://bugs.webkit.org/show_bug.cgi?id=39420
2872
2873         Make sure everyone who needs to is using visitedDependentColor rather than accessing styles
2874         directly.
2875
2876         * Misc/WebNSAttributedStringExtras.mm:
2877         (+[NSAttributedString _web_attributedStringFromRange:]):
2878         * WebView/WebFrame.mm:
2879         (-[WebFrame _bodyBackgroundColor]):
2880
2881 2010-05-21  Oliver Hunt  <oliver@apple.com>
2882
2883         Reviewed by Geoffrey Garen.
2884
2885         All callable objects should have a global object reference
2886         https://bugs.webkit.org/show_bug.cgi?id=39495
2887
2888         Update the plugin proxy to handle the need for global object.
2889
2890         * Plugins/Hosted/ProxyInstance.mm:
2891         (WebKit::ProxyInstance::newRuntimeObject):
2892         (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
2893         (WebKit::ProxyInstance::getMethod):
2894         * Plugins/Hosted/ProxyRuntimeObject.h:
2895         * Plugins/Hosted/ProxyRuntimeObject.mm:
2896         (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
2897
2898 2010-05-21  Steve Block  <steveblock@google.com>
2899
2900         Reviewed by Jeremy Orlow.
2901
2902         Add DeviceOrientation and DeviceOrientationClient
2903         https://bugs.webkit.org/show_bug.cgi?id=39479
2904
2905         * WebView/WebView.mm:
2906         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2907
2908 2010-05-20  Mike Thole  <mthole@apple.com>
2909
2910         Reviewed by Dave Hyatt.
2911
2912         When using a scale factor > 1, scrollbars sometimes appear when not necessary
2913         https://bugs.webkit.org/show_bug.cgi?id=39458
2914
2915         * WebView/WebDynamicScrollBarsView.mm:
2916         (-[WebDynamicScrollBarsView updateScrollers]): Round up non-integral sizes from AppKit
2917         so that they can be compared against the integral document size.
2918
2919 2010-05-20  Kevin Decker  <kdecker@apple.com>
2920
2921         Reviewed by Anders Carlsson.
2922
2923         https://bugs.webkit.org/show_bug.cgi?id=39441
2924         <rdar://problem/7985715> Flash context menu is both horizontally and vertically offset from point of click
2925         <rdar://problem/7986109> Youtube video controller UI entirely missing
2926         <rdar://problem/7986154> Flash content paints at horizontally and vertically shifted locations (within the plug-in region)
2927
2928         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2929         (-[WebHostedNetscapePluginView updateAndSetWindow]): The base coordinates of a window and
2930          it's contentView happen to be the equal at a userSpaceScaleFactor of 1. For non-1.0 scale
2931          factors this assumption is false. Accordingly we now convert to the window contentView
2932         coordinate system when computing bounds in "window" and the visible rect.
2933         * Plugins/WebNetscapePluginView.mm:
2934         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): Ditto.
2935
2936 2010-05-20  Steve Block  <steveblock@google.com>
2937
2938         Reviewed by Jeremy Orlow.
2939
2940         Provide bindings for DeviceOrientation
2941         https://bugs.webkit.org/show_bug.cgi?id=39210
2942
2943         Adds ENABLE_DEVICE_ORIENTATION to XCode project file, always disabled.
2944
2945         * Configurations/FeatureDefines.xcconfig:
2946
2947 2010-05-20  Martin Robinson  <mrobinson@webkit.org>
2948
2949         Reviewed by Ojan Vafai.
2950
2951         Expose the editing behavior setting in DRT to test all editing code paths
2952         https://bugs.webkit.org/show_bug.cgi?id=38603
2953
2954         * WebView/WebFrame.mm:
2955         (core):
2956         * WebView/WebFrameInternal.h: Added a conversion method from the API enum to the WebCore enum.
2957         * WebView/WebPreferenceKeysPrivate.h: Added a preference key for the new setting.
2958         * WebView/WebPreferences.mm:
2959         (+[WebPreferences initialize]): Initialize the EditingBehavior to Mac style.
2960         (-[WebPreferences editingBehavior]): Added.
2961         (-[WebPreferences setEditingBehavior:]): Added.
2962         * WebView/WebPreferencesPrivate.h: Added the new API points to the private API.
2963         * WebView/WebView.mm:
2964         (-[WebView _preferencesChangedNotification:]): Set the editing behavior via the WebPreferences setting.
2965
2966 2010-05-19  Anders Carlsson  <andersca@apple.com>
2967
2968         Reviewed by Kevin Decker and Simon Fraser.
2969
2970         <rdar://problem/8004528> 
2971         REGRESSION: Coordinate system for Core Animation NPAPI plug-ins is flipped with accelerated compositing turned on
2972         
2973         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
2974         the newly created layer.
2975
2976         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2977         (-[WebHostedNetscapePluginView createPlugin]):
2978         * Plugins/WebNetscapePluginView.mm:
2979         (-[WebNetscapePluginView createPlugin]):
2980
2981 2010-05-18  Tony Chang  <tony@chromium.org>
2982
2983         Reviewed by Darin Adler.
2984
2985         https://bugs.webkit.org/show_bug.cgi?id=24943
2986         Command-B and Command-I do not generate keydown events in contentEditable regions.
2987
2988         Manual test because performKeyEquivalent is not called by DRT.
2989
2990         Test: manual-tests/style-keypress-events.html
2991
2992         * WebView/WebHTMLView.mm:
2993         (-[WebHTMLView performKeyEquivalent:]): Move style key handling until after webcore gets a chance to handle the event
2994
2995 2010-05-18  Daniel Cheng  <dcheng@chromium.org>
2996
2997         Reviewed by Darin Adler, Jian Li.
2998
2999         DragData::asURL() shouldn't do file validity checks
3000         https://bugs.webkit.org/show_bug.cgi?id=38711
3001
3002         Change [NSPasteboard _web_bestURL] to still return a file URL for paths
3003         that don't exist. Callers who care about the existence of the file or
3004         whether or not it is a directory should check themselves when they
3005         want to use the file. The directory check has been left in for now,
3006         since the Mac implementation of ResourceHandle, which uses this function
3007         indirectly via DragController::performDrag) handles directories somewhat
3008         non-intuitively: it opens the parent directory in the Finder, rather
3009         than opening the directory itself.
3010
3011         * Misc/WebNSPasteboardExtras.mm:
3012         (-[NSPasteboard _web_bestURL]):
3013
3014 2010-05-18  Eric Seidel  <eric@webkit.org>
3015
3016         Reviewed by Adam Barth (and Maciej Stachowiak).
3017
3018         Make it possible to enable the new HTML5Tokenizer for testing
3019         https://bugs.webkit.org/show_bug.cgi?id=39275
3020
3021         Expose the WebCore::Settings::html5ParserEnabled as a private WebKit setting.
3022
3023         * WebView/WebPreferenceKeysPrivate.h:
3024         * WebView/WebPreferences.mm:
3025         (-[WebPreferences html5ParserEnabled]):
3026         (-[WebPreferences setHTML5ParserEnabled:]):
3027         * WebView/WebPreferencesPrivate.h:
3028         * WebView/WebView.mm:
3029         (-[WebView _preferencesChangedNotification:]):
3030
3031 2010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
3032
3033         Unreviewed, rolling out r59652.
3034         http://trac.webkit.org/changeset/59652
3035         https://bugs.webkit.org/show_bug.cgi?id=39268
3036
3037         file-input-files-access test is broken on Mac (Requested by
3038         dcheng on #webkit).
3039
3040         * Misc/WebNSPasteboardExtras.mm:
3041         (-[NSPasteboard _web_bestURL]):
3042
3043 2010-05-17  Daniel Cheng  <dcheng@chromium.org>
3044
3045         Reviewed by Darin Adler.
3046
3047         DragData::asURL() shouldn't do file validity checks
3048         https://bugs.webkit.org/show_bug.cgi?id=38711
3049
3050         Change [NSPasteboard _web_bestURL] to still return a file URL for paths
3051         that don't exist. Callers who care about the existence of the file or
3052         whether or not it is a directory should check themselves when they
3053         want to use the file. The directory check has been left in for now,
3054         since the Mac implementation of ResourceHandle, which uses this function
3055         indirectly via DragController::performDrag) handles directories somewhat
3056         non-intuitively: it opens the parent directory in the Finder, rather
3057         than opening the directory itself.
3058
3059         * Misc/WebNSPasteboardExtras.mm:
3060         (-[NSPasteboard _web_bestURL]):
3061
3062 2010-05-14  Stephanie Lewis  <slewis@apple.com>
3063
3064         Rubber-stamped by Mark Rowe.
3065
3066         Update order files.
3067
3068         * WebKit.order:
3069
3070 2010-05-13  Timothy Hatcher  <timothy@apple.com>
3071
3072         Allow reporting exceptions that occur when using JavaScriptCore APIs
3073         to the Web Inspector.
3074
3075         <rdar://problem/7975410>
3076
3077         Reviewed by Sam Weinig.
3078
3079         * WebView/WebView.mm:
3080         (+[WebView _reportException:inContext:]): Call WebCore::reportException after checking
3081         that the global object is a DOMWindow.
3082         * WebView/WebViewPrivate.h: Added _reportException:inContext:.
3083
3084 2010-05-13  Alexey Proskuryakov  <ap@apple.com>
3085
3086         Reviewed by Darin Adler.
3087
3088         https://bugs.webkit.org/show_bug.cgi?id=39089
3089         <rdar://problem/7974044> Domain names in Russian '.рф' domain are displayed as punycode
3090
3091         Add a custom check for this domain. Currently, this is the only non-ASCII TLD, we'll
3092         investigate a more extensible solution when there are more, and we know what the
3093         typical restictions are.
3094
3095         * Misc/WebNSURLExtras.mm:
3096         (allCharactersAllowedByTLDRules):
3097         (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
3098
3099 2010-05-12  Simon Fraser  <simon.fraser@apple.com>
3100
3101         Reviewed by David Hyatt.
3102
3103         Composited plug-ins can cause missed painting
3104         https://bugs.webkit.org/show_bug.cgi?id=39033
3105         <rdar://problem/7972478>
3106         
3107         Eagerly enable compositing mode via the enclosing FrameView when the plug-in tells us it wants
3108         to do compositing.
3109
3110         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3111         (-[WebHostedNetscapePluginView createPlugin]):
3112         * Plugins/WebNetscapePluginView.mm:
3113         (-[WebNetscapePluginView createPlugin]):
3114
3115 2010-05-12  Jer Noble  <jer.noble@apple.com>
3116
3117         Reviewed by Darin Adler.
3118
3119         Bug 38689: #34005 will break fullscreen video playback
3120         https://bugs.webkit.org/show_bug.cgi?id=38689
3121
3122         Use the new definition of PlatformMedia to check the actual type 
3123         returned by MediaPlayer.
3124         
3125         * WebView/WebVideoFullscreenController.mm:
3126         (-[WebVideoFullscreenController windowDidLoad]):
3127
3128 2010-05-11  Mark Rowe  <mrowe@apple.com>
3129
3130         Fix the world.
3131
3132         In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
3133         The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
3134         that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
3135         in sync with build-webkit.  This led to WebCore and WebKit having different views of Document's vtable
3136         and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
3137         function in WebCore being called.
3138
3139         We fix this by bringing the FeatureDefines.xcconfig files in to sync.  Based on the ChangeLog message and
3140         other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
3141         has been reverted.
3142
3143         * Configurations/FeatureDefines.xcconfig:
3144
3145 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
3146
3147         Reviewed by Anders Carlsson.
3148
3149         Allow compositing layers to be connected across iframe boundaries on Mac
3150         https://bugs.webkit.org/show_bug.cgi?id=38856
3151         
3152         When painting an iframe into a compositing layer, the "PaintBehaviorFlattenCompositingLayers"
3153         flag was mistakenly set, because we'd detect that we were drawing into a bitmap. This caused
3154         content to show up in both compositing layers, and the painted background inside the iframe.
3155         
3156         Fix by taking the flattening state from the parent frame, if there is one. For the root
3157         frame, we continue to look to see if we're painting into a bitmap.
3158
3159         * WebView/WebFrame.mm:
3160         (-[WebFrame _drawRect:contentsOnly:]):
3161
3162 2010-05-10  Timothy Hatcher  <timothy@apple.com>
3163
3164         Fix a crash when closing a WebView while the Web Inspector is open.
3165
3166         <rdar://problem/7966830>
3167
3168         Reviewed by Mark Rowe.
3169
3170         * WebCoreSupport/WebInspectorClient.mm:
3171         (-[WebInspectorWindowController destroyInspectorView]): Null check Page since it can be null.
3172         * WebView/WebView.mm:
3173         (-[WebView _close]): Null out _private->page before deleting the page, so code called
3174         during destruction don't access a half deleted Page object.
3175
3176 2010-05-10  Anders Carlsson  <andersca@apple.com>
3177
3178         Unbreak the world. (Fix Mac builds).
3179
3180         * Plugins/Hosted/WebKitPluginHostTypes.h:
3181
3182 2010-05-10  Anders Carlsson  <andersca@apple.com>
3183
3184         Reviewed by Simon Fraser.
3185
3186         Change the order of the RendererType enum values, so that old versions of WebKitPluginHost will
3187         use accelerated compositing and not layer backed views.
3188
3189         * Plugins/Hosted/WebKitPluginHostTypes.h:
3190
3191 2010-05-07  Anders Carlsson  <andersca@apple.com>
3192
3193         Reviewed by Sam Weinig and Simon Fraser.
3194
3195         <rdar://problem/7947356>
3196         QT Plug-in in hardware-accelerated WebKit is missing the controller
3197
3198         Replace the useSoftwareRenderer boolean with an enum that lets the plug-in host opt into using a layer
3199         backed NSView instead of inserting the layer into the WebCore layer hierarchy.
3200
3201         * Plugins/Hosted/NetscapePluginHostManager.mm:
3202         (WebKit::NetscapePluginHostManager::instantiatePlugin):
3203         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3204         (WKPCInstantiatePluginReply):
3205         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3206         (WebKit::NetscapePluginInstanceProxy::rendererType):
3207         (WebKit::NetscapePluginInstanceProxy::setRendererType):
3208         (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply):
3209         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3210         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
3211         Replace the useSoftwareRenderer boolean everywhere with the RendererType enum.
3212         
3213         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3214         (-[WebHostedNetscapePluginView createPlugin]):
3215         Only go into full compositing mode when the renderer type returned is UseAcceleratedCompositing.
3216         Otherwise, use a layer backed NSView.
3217
3218         * Plugins/Hosted/WebKitPluginHostTypes.h:
3219         Add a RendererType enum.
3220
3221 2010-05-06  Anders Carlsson  <andersca@apple.com>
3222
3223         Reviewed by Darin Adler and Dan Bernstein..
3224
3225         REGRESSION (r51617): when plugins are disabled, plugins show up as garbage characters
3226         https://bugs.webkit.org/show_bug.cgi?id=38698
3227         <rdar://problem/7942075>
3228
3229         When the plug-in database is initialized, we will register all the MIME types it supports with the global
3230         WebView dictionary. When plug-ins are disabled for a single web view, the MIME types still need to be 
3231         in the global mapping (because other web views might still have plug-ins enabled).
3232         
3233         Prior to r51617 we would always look at the plug-in database to determine that the MIME type belongs to a 
3234         plug-in, but now we won't even touch the plug-in database when plug-ins are disabled.
3235         
3236         In order to fix this, a new set of registered MIME types that are known to be plug-ins is added. When
3237         +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:] is called and allowingPlugins is FALSE
3238         we check if the MIME type is a known plug-in MIME type and return false in that case.
3239         
3240         * Plugins/WebPluginDatabase.mm:
3241         (-[WebPluginDatabase refresh]):
3242         (-[WebPluginDatabase _removePlugin:]):
3243         * WebView/WebView.mm:
3244         (knownPluginMIMETypes):
3245         (+[WebView _registerPluginMIMEType:]):
3246         (+[WebView _unregisterPluginMIMEType:]):
3247         (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
3248         * WebView/WebViewInternal.h:
3249
3250 2010-05-06  Dan Bernstein  <mitz@apple.com>
3251
3252         Reviewed by Simon Fraser.
3253
3254         <rdar://problem/7951285> REGRESSION (r58847): Composited iframe content obscures Safari's application chrome
3255
3256         Fixed this other regression from r58847. The regression was caused by overriding -visibleRect to
3257         return the WebClipView’s full bounds. AppKit uses -visibleRect to determine the geometry
3258         of the surface for the child WebFrameView. The fix is to restrict the special behavior of
3259         -[WebClipView visibleRect] to when AppKit is consulting it for the purpose of invalidating
3260         areas while scrolling.
3261
3262         * WebView/WebClipView.h:
3263         * WebView/WebClipView.mm:
3264         (-[WebClipView visibleRect]): If the WebClipView is not scrolling, always return
3265         [super visibleRect]. 
3266         (-[WebClipView _immediateScrollToPoint:]): Override this internal NSClipView method
3267         to set a flag telling -visibleRect that the view is scrolling.
3268         * WebView/WebView.mm:
3269         (layerSyncRunLoopObserverCallBack): Ensure that screen updates, disabled by AppKit
3270         when it thinks an upcoming window flush will re-enable them, are enabled here in
3271         case the -setNeedsDisplayInRect: override has prevented the window from needing to be
3272         flushed.
3273
3274 2010-05-06  Steve Block  <steveblock@google.com>
3275
3276         Reviewed by Eric Seidel.
3277
3278         MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
3279         https://bugs.webkit.org/show_bug.cgi?id=38544
3280
3281         * WebCoreSupport/WebFrameLoaderClient.h:
3282         * WebCoreSupport/WebFrameLoaderClient.mm:
3283
3284 2010-05-05  Dan Bernstein  <mitz@apple.com>
3285
3286         Reviewed by Mark Rowe.
3287
3288         Fixed a crash when closing Top Sites after r58847.
3289
3290         * WebView/WebFrameView.mm:
3291         (-[WebFrameView webFrame]): Null-check _private.
3292
3293 2010-05-05  Dan Bernstein  <mitz@apple.com>
3294
3295         Rubber-stamped by Mark Rowe.
3296
3297         Fixed test crashes after r58847.
3298
3299         * WebView/WebHTMLView.mm:
3300         (setNeedsDisplayInRect): Null-check the frame.
3301
3302 2010-05-05  Dan Bernstein  <mitz@apple.com>
3303
3304         Reviewed by Simon Fraser.
3305
3306         <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
3307         https://bugs.webkit.org/show_bug.cgi?id=38427
3308
3309         * WebView/WebClipView.m: Renamed to WebClipView.mm.
3310         * WebView/WebClipView.mm:
3311         (-[WebClipView visibleRect]): Added this override, which for instances used for WebFrameViews in
3312         composited layers, returns the clip view’s entire bounds. This prevents drawing from being clipped to
3313         AppKit’s idea of what part of the view would be visible if it was drawn as part of the view hierarchy.
3314         Since it is drawn into a compositing layer, that’s irrelevant, and we should not be clipping.
3315         * WebView/WebHTMLView.mm:
3316         (setCursor): Style tweak.
3317         (setNeedsDisplayInRect): Added. Replaces the default implementation of -[NSView setNeedsDisplayInRect:],
3318         so that if the receiver is a descendant of a WebFrameView that draws into a composited layer, the invalidation
3319         is routed back through the WebCore FrameView, which propagates it to the layer.
3320         (+[WebHTMLViewPrivate initialize]): Swizzle the setNeedsDisplayInRect: override in.
3321         (-[WebHTMLView visibleRect]): Removed whitespace.
3322         * WebView/WebView.mm:
3323         (layerSyncRunLoopObserverCallBack): If we bailed out on syncing, due to pending layout, do an eager layout
3324         in preparation for the displaying of compositing layers.
3325
3326 2010-05-05  John Sullivan  <sullivan@apple.com>
3327
3328         <rdar://problem/7942606> Output appears in Console when exiting Safari with multiple windows opened
3329
3330         Reviewed by Mark Rowe.
3331
3332         * WebView/WebView.mm:
3333         (+[WebView closeAllWebViews]):
3334         Make copy of allWebViewsSet to avoid mutating it while iterating through it.
3335
3336 2010-05-04  Simon Fraser  <simon.fraser@apple.com>
3337
3338         Reviewed by Dan Bernstein.
3339
3340         Improve check for drawing into the window that was added in r58623
3341         https://bugs.webkit.org/show_bug.cgi?id=38562
3342         
3343         Rather than assuming that any non-bitmap context is the window's context,
3344         compare the current graphics context with -[NSWindow graphicsContext] to
3345         determine that we're drawing into the window.
3346
3347         * WebView/WebHTMLView.mm:
3348         (-[WebHTMLView drawRect:]):
3349
3350 2010-05-04  Ada Chan  <adachan@apple.com>
3351
3352         Reviewed by David Kilzer.
3353
3354         https://bugs.webkit.org/show_bug.cgi?id=38555
3355         
3356         Small code refactoring: move the logic to figure out the path to the 
3357         databases directory to another method.
3358
3359         * Storage/WebDatabaseManager.mm:
3360         (databasesDirectoryPath):
3361         (WebKitInitializeDatabasesIfNecessary):
3362
3363 2010-05-04  Beth Dakin  <bdakin@apple.com>
3364
3365         Reviewed by Mike Thole.
3366
3367         Fix for <rdar://problem/7818509> Crash occurs when exiting Safari
3368
3369         We can avoid this crash if we call [self _removeFromAllWebViewsSet] 
3370         even in the case when we are doing a fastDocumentTeardown. This is 
3371         a much safer approach.
3372         * WebView/WebView.mm:
3373         (-[WebView _close]):
3374
3375 2010-05-03  Abhishek Arya  <inferno@chromium.org>
3376
3377         Reviewed by Adam Barth.
3378
3379         Add support for controlling clipboard access from javascript.
3380         Clipboard access from javascript is disabled by default.
3381         https://bugs.webkit.org/show_bug.cgi?id=27751
3382
3383         * WebView/WebPreferenceKeysPrivate.h:
3384         * WebView/WebPreferences.mm:
3385         (+[WebPreferences initialize]):
3386         (-[WebPreferences javaScriptCanAccessClipboard]):
3387         (-[WebPreferences setJavaScriptCanAccessClipboard:]):
3388         * WebView/WebPreferencesPrivate.h:
3389         * WebView/WebView.mm:
3390         (-[WebView _preferencesChangedNotification:]):
3391
3392 2010-05-03  Jens Alfke  <snej@chromium.org>
3393
3394         Reviewed by Darin Fisher.
3395
3396         [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
3397         https://bugs.webkit.org/show_bug.cgi?id=38397
3398
3399         No tests (functionality is exposed only through native WebKit API.)
3400
3401         * WebCoreSupport/WebFrameLoaderClient.h:
3402         (WebFrameLoaderClient::dispatchWillSendSubmitEvent):
3403
3404 2010-04-30  Simon Fraser  <simon.fraser@apple.com>
3405
3406         Reviewed by Dan Bernstein.
3407
3408         <rdar://problem/7477071> REGRESSION: Bad flicker when wheel-scrolling Google Maps, iPad gallery and other sites
3409
3410         Sites that frequently toggle content in and out of compositing layers (like http://www.tumblr.com/boothed)
3411         can cause flickering because of unsychronized compositing layer and view-based updates. There were two
3412         underlying issues:
3413         
3414         1. On SnowLeopard, AppKit can throttle window updates, thus breaking an assumption that
3415            NSView drawing will happen on the runloop cycle after a repaint. This provided a window
3416            for the layerSyncRunLoopObserver to fire and commit layer changes too early.
3417            
3418            Fix this by having the layerSyncRunLoopObserver in WebView check to see if a display is pending,
3419            and not commit layer changes in that case. We'll commit layer changes later when we
3420            finally draw.
3421            
3422         2. The change in r49269 was wrong; it was attempting to fix an issue that was actually caused
3423            by -drawRects: coming in for page snapshots. The correct approach is to avoid hitting the
3424            synchronization and update disabling code in WebHTMLView for draws that are not to the screen.
3425         
3426         * WebView/WebHTMLView.mm:
3427         (-[WebHTMLView drawRect:]):
3428         * WebView/WebView.mm:
3429         (layerSyncRunLoopObserverCallBack):
3430         (-[WebView _scheduleCompositingLayerSync]):
3431
3432 2010-04-30  Anders Carlsson  <andersca@apple.com>
3433
3434         Part of the previous part (forgot to save).
3435
3436         * Plugins/WebNetscapePluginView.mm:
3437         (-[WebNetscapePluginView stopTimers]):
3438         (-[WebNetscapePluginView startTimers]):
3439         (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
3440         (-[WebNetscapePluginView _containerCheckResult:contextInfo:]):
3441         (-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]):
3442         (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
3443         (-[WebNetscapePluginView unscheduleTimer:]):
3444         (-[WebNetscapePluginView getVariable:forURL:value:length:]):
3445         (-[WebNetscapePluginView setVariable:forURL:value:length:]):
3446
3447 2010-04-30  Anders Carlsson  <andersca@apple.com>
3448
3449         Reviewed by Darin Adler.
3450
3451         Use C99 integer types in more places.
3452
3453         * Plugins/WebNetscapePluginView.mm:
3454         (getNPRect):
3455
3456 2010-04-30  Anders Carlsson  <andersca@apple.com>
3457
3458         Fix Tiger build.
3459
3460         * Plugins/WebBaseNetscapePluginStream.h:
3461         * Plugins/WebBaseNetscapePluginStream.mm:
3462         (WebNetscapePluginStream::startStream):
3463
3464 2010-04-30  Anders Carlsson  <andersca@apple.com>
3465
3466         Another 32-bit build fix.
3467
3468         * Plugins/WebNetscapePluginView.mm:
3469         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3470
3471 2010-04-30  Anders Carlsson  <andersca@apple.com>
3472
3473         Fix 32-bit build (again).
3474
3475         * Plugins/WebNetscapeContainerCheckContextInfo.h:
3476         * Plugins/WebNetscapeContainerCheckContextInfo.mm:
3477         (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
3478         (-[WebNetscapeContainerCheckContextInfo checkRequestID]):
3479         (-[WebNetscapeContainerCheckContextInfo callback]):
3480         * Plugins/WebNetscapePluginPackage.h:
3481
3482 2010-04-30  Anders Carlsson  <andersca@apple.com>
3483
3484         Fix 32-bit build.
3485
3486         * Plugins/WebNetscapeContainerCheckContextInfo.h:
3487         * Plugins/WebNetscapeContainerCheckContextInfo.mm:
3488         (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
3489         * Plugins/WebNetscapeContainerCheckPrivate.h:
3490         * Plugins/WebNetscapePluginPackage.mm:
3491         (functionPointerForTVector):
3492         * Plugins/WebNetscapePluginView.mm:
3493         (PluginTimer::PluginTimer):
3494         (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
3495         (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
3496
3497 2010-04-30  Anders Carlsson  <andersca@apple.com>
3498
3499         Reviewed by Timothy Hatcher.
3500
3501         Next step towards fixing
3502         
3503         https://bugs.webkit.org/show_bug.cgi?id=20784
3504         move npapi.h to C99 integer types
3505
3506         Use the C99 types everywhere. The "old" types are still around but will be removed
3507         in a subsequent commit.
3508
3509         * Plugins/WebBaseNetscapePluginStream.h:
3510         * Plugins/WebBaseNetscapePluginStream.mm:
3511         (WebNetscapePluginStream::deliverData):
3512         * Plugins/WebNetscapePluginView.h:
3513         * Plugins/WebNetscapePluginView.mm:
3514         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3515         (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
3516         * Plugins/npapi.mm:
3517         (NPN_MemAlloc):
3518         (NPN_MemFlush):
3519         (NPN_PostURLNotify):
3520         (NPN_PostURL):
3521         (NPN_Write):
3522         (NPN_ScheduleTimer):
3523         (NPN_UnscheduleTimer):
3524         (NPN_GetValueForURL):
3525         (NPN_SetValueForURL):
3526         (NPN_GetAuthenticationInfo):
3527         (WKN_CheckIfAllowedToLoadURL):
3528         (WKN_CancelCheckIfAllowedToLoadURL):
3529
3530 2010-04-29  Anders Carlsson  <andersca@apple.com>
3531
3532         Reviewed by Dan Bernstein.
3533
3534         First part of
3535         https://bugs.webkit.org/show_bug.cgi?id=20784
3536         move npapi.h to C99 integer types.
3537
3538         * MigrateHeaders.make:
3539
3540 2010-04-28  Mike Thole  <mthole@apple.com>
3541
3542         Reviewed by David Kilzer.
3543
3544         Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space 
3545         can be inspected before attempting to authenticate against it
3546         https://bugs.webkit.org/show_bug.cgi?id=38271
3547
3548         * WebCoreSupport/WebFrameLoaderClient.h:
3549         * WebCoreSupport/WebFrameLoaderClient.mm:
3550         (WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
3551         Added.  If the resource load delegate implements the callback, use its answer.  If it does
3552         not, then only send authentication challenges for pre-10.6 protection spaces, which matches
3553         CFNetwork's default behavior.
3554         * WebView/WebDelegateImplementationCaching.h:
3555         * WebView/WebDelegateImplementationCaching.mm:
3556         (CallResourceLoadDelegateReturningBoolean): Added case for passing three objects.
3557         * WebView/WebResourceLoadDelegatePrivate.h:
3558         Added private SPI definition: webView:resource:canAuthenticateAgainstProtectionSpace:forDataSource:
3559         * WebView/WebView.mm:
3560         (-[WebView _cacheResourceLoadDelegateImplementations]):
3561
3562 2010-04-28  Simon Fraser  <simon.fraser@apple.com>
3563
3564         Reviewed by Sam Weinig.
3565
3566         <rdar://problem/7918719> ASSERT(isMainThread()) from Font::setShouldUseSmoothing()
3567         
3568         Ensure that the WebView +initialize method initializes threading, so that things are correctly
3569         initialized when the first call into the WebKit framework is via a WebView class method.
3570
3571         * WebView/WebView.mm:
3572         (+[WebView initialize]):
3573
3574 2010-04-28  Darin Adler  <darin@apple.com>
3575
3576         Reviewed by Adele Peterson.
3577
3578         REGRESSION: Autoscroll does not work in Mail messages
3579         https://bugs.webkit.org/show_bug.cgi?id=38267
3580         rdar://problem/7559799
3581
3582         The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
3583         view had gotten broken in multiple ways. For some reason, a combination of bugs made it
3584         partly work until around r48064. This brings it back.
3585
3586         * WebCoreSupport/WebChromeClient.mm:
3587         (WebChromeClient::scrollRectIntoView): When converting coordinates, use the document view
3588         rather than the WebView itself. This logic may not be correct for the case where
3589         usesDocumentViews is NO, but that is currently an experimental mode and can be fixed later.
3590
3591 2010-04-27  Shinichiro Hamaji  <hamaji@chromium.org>
3592
3593         Reviewed by Darin Adler and Eric Seidel.
3594
3595         Add layoutTestController.setPrinting()
3596         https://bugs.webkit.org/show_bug.cgi?id=37203
3597
3598         * Misc/WebCoreStatistics.h:
3599         * Misc/WebCoreStatistics.mm:
3600         (-[WebFrame renderTreeAsExternalRepresentationForPrinting:]):
3601
3602 2010-04-25  Sam Weinig  <sam@webkit.org>
3603
3604         Reviewed by Maciej Stachowiak.
3605
3606         Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
3607         Disentangle initializing the main thread from initializing threading
3608
3609         Calls initializeMainThreadToProcessMainThread since there is no way to ensure
3610         that the initialize method will be called on the main thread.
3611
3612         * Carbon/CarbonWindowAdapter.mm:
3613         (+[CarbonWindowAdapter initialize]): Add call to initializeMainThreadToProcessMainThread.
3614         * History/WebBackForwardList.mm:
3615         (+[WebBackForwardList initialize]): Ditto.
3616         * History/WebHistoryItem.mm:
3617         (+[WebHistoryItem initialize]): Ditto.
3618         * Misc/WebElementDictionary.mm:
3619         (+[WebElementDictionary initialize]): Ditto.
3620         * Misc/WebIconDatabase.mm:
3621         (+[WebIconDatabase initialize]): Ditto.
3622         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3623         (+[WebHostedNetscapePluginView initialize]): Ditto.
3624         * Plugins/WebBaseNetscapePluginView.mm:
3625         (+[WebBaseNetscapePluginView initialize]): Ditto.
3626         * Plugins/WebBasePluginPackage.mm:
3627         (+[WebBasePluginPackage initialize]): Ditto.
3628         * Plugins/WebNetscapePluginView.mm:
3629         (+[WebNetscapePluginView initialize]): Ditto.
3630         * WebCoreSupport/WebEditorClient.mm:
3631         (+[WebEditCommand initialize]): Ditto.
3632         * WebCoreSupport/WebFrameLoaderClient.mm: 
3633         (+[WebFramePolicyListener initialize]): Ditto.
3634         * WebView/WebArchive.mm:
3635         (+[WebArchivePrivate initialize]): Ditto.
3636         * WebView/WebDataSource.mm:
3637         (+[WebDataSourcePrivate initialize]): Ditto.
3638         * WebView/WebHTMLView.mm:
3639         (+[WebHTMLViewPrivate initialize]): Ditto.
3640         (+[WebHTMLView initialize]): Ditto.
3641         * WebView/WebResource.mm:
3642         (+[WebResourcePrivate initialize]): Ditto.
3643         * WebView/WebTextIterator.mm:
3644         (+[WebTextIteratorPrivate initialize]): Ditto.
3645         * WebView/WebView.mm:
3646         * WebView/WebViewData.mm: Ditto.
3647         (+[WebViewPrivate initialize]): Ditto.
3648
3649 2010-04-24  Dan Bernstein  <mitz@apple.com>
3650
3651         Reviewed by Darin Adler.
3652
3653         <rdar://problem/7903728> REGRESSION (r51617): WebView fails to load plug-in MIME types
3654         https://bugs.webkit.org/show_bug.cgi?id=38085
3655
3656         WebView was calling -_webView in a few places where it should have just used itself. It never
3657         makes sense for WebView to call -_webView on itself, and these calls look like they were copied
3658         from similar code in WebHTMLView, WebFrameView and WebDataSource, where -_webView has a different,
3659         useful meaning.
3660
3661         * WebView/WebView.mm:
3662         (-[WebView drawSingleRect:]): Replaced [self _webView] with self.