WebKit/mac: Add an API to obtain the WebScriptWorld for a given JSGlobalContextRef.
[WebKit-https.git] / WebKit / mac / ChangeLog
1 2010-01-19  Dave Hyatt  <hyatt@apple.com>
2
3         Reviewed by Adam Roben.
4
5         Add an API to obtain the WebScriptWorld for a given JSGlobalContextRef.
6
7         * WebView/WebScriptWorld.h:
8         * WebView/WebScriptWorld.mm:
9         (+[WebScriptWorld scriptWorldForGlobalContext:]):
10
11 2010-01-19  Steve Block  <steveblock@google.com>
12
13         Unreviewed build fix.
14
15         Fixes Snow Leopard build due to http://trac.webkit.org/changeset/53464
16
17         * Plugins/Hosted/WebHostedNetscapePluginView.mm: Modified. Import <WebCore/Bridge.h>
18
19 2010-01-19  Steve Block  <steveblock@google.com>
20
21         Reviewed by Adam Barth.
22
23         Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
24         https://bugs.webkit.org/show_bug.cgi?id=33801
25
26         * Plugins/Hosted/ProxyInstance.h:
27
28 2010-01-18  Enrica Casucci  <enrica@apple.com>
29
30         Reviewed by Darin Adler.
31
32         Script attributes are copied and pasted, making cross-domain attacks possible (30019)
33         <rdar://problem/6008809>
34         https://bugs.webkit.org/show_bug.cgi?id=30019
35
36         * WebView/WebFrame.mm:
37         (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Modified the call to createMarkupString.
38
39 2010-01-18  Steve Falkenburg  <sfalken@apple.com>
40
41         Rubber-stamped by Sam Weinig.
42
43         Add missing export for Geolocation.
44
45         * WebKit.exp:
46
47 2010-01-18  Adam Roben  <aroben@apple.com>
48
49         Add +[WebView _setDomainRelaxationForbidden:forURLScheme:]
50
51         WebKit/mac part of fixing <http://webkit.org/b/33806>
52         <rdar://problem/7552837> Would like API to disallow setting of
53         document.domain for pages with certain URL schemes
54
55         Reviewed by Sam Weinig.
56
57         * WebView/WebView.mm:
58         (+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
59         * WebView/WebViewPrivate.h:
60         Added. Calls through to SecurityOrigin.
61
62 2010-01-16  Maciej Stachowiak  <mjs@apple.com>
63
64         Reviewed by Oliver Hunt.
65
66         Cache JS string values made from DOM strings (Dromaeo speedup)
67         https://bugs.webkit.org/show_bug.cgi?id=33768
68         <rdar://problem/7353576>
69         
70         * Plugins/Hosted/ProxyInstance.mm:
71         (WebKit::ProxyInstance::stringValue): Explicitly make a String, since char*
72         is now ambiguous.
73
74 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
75
76         Reviewed by Darin Adler.
77
78         <rdar://problem/7532544>
79         
80         Expose new method on WebKitSystemInterface, WKGetUserToBaseCTM(), which will
81         be used for a shadow drawing fix.
82
83         * WebCoreSupport/WebSystemInterface.m:
84         (InitWebCoreSystemInterface):
85
86 2010-01-13  Kevin Decker  <kdecker@apple.com>
87
88         Reviewed by Mark Rowe.
89
90         https://bugs.webkit.org/show_bug.cgi?id=33610
91         <rdar://problem/7288546> Silverlight full screen performance problem seen on Snow Leopard.
92         
93         * Plugins/WebNetscapePluginView.mm:
94         (-[WebNetscapePluginView _workaroundSilverlightFullScreenBug:]): Added. Work around Silverlight full screen
95          performance issue by maintaining an accelerated GL pixel format. We can safely remove this at some point in
96          the future when both Microsoft releases a genuine fix for 7288546 and enough Silverlight users update to the
97          new Silverlight. For now, we'll distinguish older broken versions of Silverlight by asking the plug-in if it
98          resolved its full screen badness.
99         (-[WebNetscapePluginView _createPlugin]): Call _workaroundSilverlightFullScreenBug:YES if this is Silverlight.
100         (-[WebNetscapePluginView _destroyPlugin]): Call _workaroundSilverlightFullScreenBug:NO if this is Silverlight.
101
102 2010-01-11  Mark Rowe  <mrowe@apple.com>
103
104         Reviewed by Darin Adler.
105
106         <rdar://problem/7512726> Flash full-screen does not work correctly with Flash 10.1 beta
107
108         Explicitly track when the plug-in shows and hides a full-screen window to determine
109         whether a plug-in is currently full-screen, rather than relying on menu bar visibility.
110         This ensures that we activate the plug-in host process and client application as
111         appropriate when the plug-in enters or exits full-screen.
112
113         * Plugins/Hosted/NetscapePluginHostProxy.h:
114         (WebKit::NetscapePluginHostProxy::isFullScreenWindowShowing):
115         * Plugins/Hosted/NetscapePluginHostProxy.mm:
116         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
117         (WebKit::NetscapePluginHostProxy::setMenuBarVisible):
118         (WebKit::NetscapePluginHostProxy::didEnterFullScreen):
119         (WebKit::NetscapePluginHostProxy::didExitFullScreen):
120         (WebKit::NetscapePluginHostProxy::setFullScreenWindowIsShowing):
121         (WKPCSetMenuBarVisible):
122         (WKPCSetFullScreenWindowIsShowing):
123         * Plugins/Hosted/WebKitPluginClient.defs:
124
125 2010-01-11  Simon Fraser  <simon.fraser@apple.com>
126
127         Reviewed by Kevin Decker.
128
129         https://bugs.webkit.org/show_bug.cgi?id=33455
130         Allows plugins to participate in accelerated compositing
131
132         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
133         (-[WebHostedNetscapePluginView createPlugin]):
134         * Plugins/WebNetscapePluginView.mm:
135         (-[WebNetscapePluginView createPlugin]): If accelerated compositing is
136         available, don't use a layer-backed NSView for plugins. Instead, tickle the
137         accelerated compositing code via setNeedsStyleRecalc(SyntheticStyleChange),
138         which will parent the plugin's layer in the accelerated compositing layer
139         tree.
140
141 2010-01-09  Adam Barth  <abarth@webkit.org>
142
143         Reviewed by Darin Adler.
144
145         ScriptController::isEnabled needs to be renamed
146         https://bugs.webkit.org/show_bug.cgi?id=32063
147
148         Rename ScriptController::isEnabled to
149         ScriptController::canExecuteScripts.
150
151         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
152         (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
153         (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
154
155 2010-01-07  Daniel Bates  <dbates@rim.com>
156
157         Reviewed by Eric Seidel.
158
159         https://bugs.webkit.org/show_bug.cgi?id=32987
160
161         Added ENABLE_XHTMLMP flag. Disabled by default.
162
163         * Configurations/FeatureDefines.xcconfig:
164
165 2010-01-07  Alexey Proskuryakov  <ap@apple.com>
166
167         More build fix.
168
169         * WebKitPrefix.h: Define JS_EXPORTCLASS here, as well (as empty).
170
171 2010-01-07  Maciej Stachowiak  <mjs@apple.com>
172
173         Reviewed by Simon Fraser.
174
175         REGRESSION (r48075): Clicking and dragging in a widget's text field doesn't create a selection; drags widget instead ( Translation, Weather, Ski Report )
176         https://bugs.webkit.org/show_bug.cgi?id=33348
177         <rdar://problem/7310616>
178         
179         * WebView/WebView.mm:
180         (-[WebView _preferencesChangedNotification:]): We only want to
181         handle file: URLs for the user stylesheet now, so special-case the
182         DashboardClient's funky user stylesheet URL by mapping it to the
183         equivalent file URL.
184
185 2010-01-07  Kevin Decker  <kdecker@apple.com>
186
187         Reviewed by Simon Fraser.
188
189         https://bugs.webkit.org/show_bug.cgi?id=33331   
190         (WebHostedNetscapePluginView should pass acceleratedCompositingEnabled bool to NetscapePluginHostManager when instantiating plug-ins)
191         
192         * Plugins/Hosted/NetscapePluginHostManager.h: Modify method signature for instantiatePlugin to include acceleratedCompositingEnabled bool.
193         * Plugins/Hosted/NetscapePluginHostManager.mm:
194         (WebKit::NetscapePluginHostManager::instantiatePlugin):
195         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
196         (-[WebHostedNetscapePluginView createPlugin]): Pass accelerated compositing status to NetscapePluginHostManage
197
198 2010-01-06  Kevin Decker  <kdecker@apple.com>
199
200         Reviewed by Simon Fraser.
201
202         Third step of:
203         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
204
205         * Plugins/WebNetscapePluginView.mm:
206         (-[WebNetscapePluginView getVariable:value:]): Add case for WKNVSupportsCompositingCoreAnimationPluginsBool.
207
208 2010-01-06  Kevin Decker  <kdecker@apple.com>
209
210         Reviewed by Simon Fraser.
211
212         Second step of:
213         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
214
215         * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
216         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
217         (-[WebHostedNetscapePluginView pluginLayer]): Added.
218         * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
219         * Plugins/WebNetscapePluginView.mm:
220         (-[WebNetscapePluginView pluginLayer]): Added.
221
222 2010-01-06  Kevin Decker  <kdecker@apple.com>
223
224         Reviewed by Eric Carlson.
225
226         First step toward:
227         <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
228         
229         Small refactoring moving the PluginWidget class from WebKit to WebCore.
230
231         * WebCoreSupport/WebFrameLoaderClient.mm: Use the WebCore version of PluginWidget.
232
233 2010-01-05  Dan Bernstein  <mitz@apple.com>
234
235         Reviewed by Mark Rowe.
236
237         Re-enable plug-in halting on Mac after r51953
238
239         * WebCoreSupport/WebPluginHalterClient.mm:
240         (WebPluginHalterClient::enabled): Test for the correct selector.
241
242 2010-01-04  Dan Bernstein  <mitz@apple.com>
243
244         Reviewed by Ada Chan and Mark Rowe.
245
246         Updated copyright string
247
248         * Info.plist:
249
250 2009-12-27  Maciej Stachowiak  <mjs@apple.com>
251
252         Reviewed by Alexey Proskuryakov.
253
254         plugins/get-url-with-iframe-target.html fails on SnowLeopard (64-bit)
255         https://bugs.webkit.org/show_bug.cgi?id=32982
256         
257         This test has been failing on SnowLeopard since it was landed.
258         
259         The problem is that we never delivered the notification for
260         NPN_GetURLNotify, in the frame-targeting case, for out-of-process
261         plugins on Mac.
262         
263         I implemented support for this based on how in-process Mac plugins
264         do it.
265
266         * Plugins/Hosted/HostedNetscapePluginStream.h:
267         * Plugins/Hosted/HostedNetscapePluginStream.mm:
268         (WebKit::HostedNetscapePluginStream::reasonForError):
269         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
270         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
271         (WebKit::NetscapePluginInstanceProxy::PluginRequest::create):
272         (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
273         (WebKit::NetscapePluginInstanceProxy::destroy):
274         (WebKit::NetscapePluginInstanceProxy::performRequest):
275         (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
276         (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
277         (WebKit::NetscapePluginInstanceProxy::loadRequest):
278         * Plugins/Hosted/WebHostedNetscapePluginView.h:
279         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
280         (-[WebHostedNetscapePluginView webFrame:didFinishLoadWithReason:]):
281         (-[WebHostedNetscapePluginView webFrame:didFinishLoadWithError:]):
282
283 2009-12-22  Darin Adler  <darin@apple.com>
284
285         Reviewed by Mark Rowe.
286
287         Turn off datagrid by default, at least for all platforms Apple ships.
288         The datagrid implementation isn't ready for general web use yet.
289
290         * Configurations/FeatureDefines.xcconfig: Turn off datagrid by default.
291
292 2009-12-21  Mark Rowe  <mrowe@apple.com>
293
294         Reviewed by Sam Weinig.
295
296         Don't allocate a WebGeolocationControllerClient unless that compile-time setting is enabled.
297
298         * WebView/WebView.mm:
299         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
300
301 2009-12-18  Sam Weinig  <sam@webkit.org>
302
303         Reviewed by Dan Bernstein.
304
305         Add Mac WebKit side of the client based geolocation provider.
306
307         * Misc/WebKitErrors.m:
308         (registerErrors): Add Geolocation errors.
309         * Misc/WebKitErrorsPrivate.h:
310         * WebCoreSupport/WebGeolocationControllerClient.h: Added.
311         (WebGeolocationControllerClient::webView):
312         * WebCoreSupport/WebGeolocationControllerClient.mm: Added.
313         (WebGeolocationControllerClient::WebGeolocationControllerClient):
314         (WebGeolocationControllerClient::startUpdating):
315         (WebGeolocationControllerClient::stopUpdating):
316         (WebGeolocationControllerClient::lastPosition):
317         Add implementation of the WebGeolocationControllerClient.
318
319         * WebView/WebGeolocationPosition.h: Added.
320         * WebView/WebGeolocationPosition.mm: Added.
321         (-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]):
322         (core):
323         (-[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]):
324         * WebView/WebGeolocationPositionInternal.h: Added.
325         Add an Objective-C wrapper for GeolocationPosition.
326  
327         * WebView/WebView.mm:
328         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Set the GeolocationControllerClient.
329         (-[WebView _setGeolocationProvider:]): Set the GeolocationProvider
330         (-[WebView _geolocationProvider]): Return the GeolocationProvider.
331         (-[WebView _geolocationDidChangePosition:]): Notify WebCore that the position changed.
332         (-[WebView _geolocationDidFailWithError:]): Notify WebCore that an error occured.
333         * WebView/WebViewData.h:
334         * WebView/WebViewPrivate.h:
335
336 2009-12-18  Eric Seidel  <eric@webkit.org>
337
338         Reviewed by Adam Barth.
339
340         REGRESSION(52325) Chromium build broken due to link failure
341         https://bugs.webkit.org/show_bug.cgi?id=32753
342
343         * WebCoreSupport/WebSystemInterface.m:
344          - Chromium Mac builds use this file, but do not
345            enable Pre-compiled Header (PCH) files so that
346            Chromium build bots can take advantage of the faster
347            distcc 3.  Eventually all mac builds will likely use
348            distcc, but for now we'll add Platform.h here and document
349            its usage so it's not removed by accident.
350
351 2009-12-18  Sam Weinig  <sam@webkit.org>
352
353         Reviewed by Anders Carlsson.
354
355         Fix preference key name.
356
357         * WebView/WebPreferenceKeysPrivate.h:
358
359 2009-12-18  Anders Carlsson  <andersca@apple.com>
360
361         Reviewed by Sam Weinig.
362
363         Pass preference to plug-in host.
364
365         * Plugins/Hosted/NetscapePluginHostManager.mm:
366         (WebKit::NetscapePluginHostManager::spawnPluginHost):
367
368 2009-12-18  Anders Carlsson  <andersca@apple.com>
369
370         Reviewed by Sam Weinig.
371
372         Add WKPCRunSyncOpenPanel implementation.
373
374         * Plugins/Hosted/NetscapePluginHostProxy.mm:
375         (WKPCRunSyncOpenPanel):
376         * Plugins/Hosted/WebKitPluginClient.defs:
377         * Plugins/Hosted/WebKitPluginHost.defs:
378
379 2009-12-18  Anders Carlsson  <andersca@apple.com>
380
381         Reviewed by Sam Weinig.
382
383         Add a useProxiedOpenPanel WebPreference and tunnel it through to the plug-in host.
384
385         * Plugins/Hosted/NetscapePluginHostManager.h:
386         * Plugins/Hosted/NetscapePluginHostManager.mm:
387         (WebKit::NetscapePluginHostManager::hostForPackage):
388         (WebKit::NetscapePluginHostManager::spawnPluginHost):
389         (WebKit::NetscapePluginHostManager::instantiatePlugin):
390         * WebView/WebPreferenceKeysPrivate.h:
391         * WebView/WebPreferences.mm:
392         (+[WebPreferences initialize]):
393         (-[WebPreferences usesProxiedOpenPanel]):
394         (-[WebPreferences setUsesProxiedOpenPanel:]):
395         * WebView/WebPreferencesPrivate.h:
396
397 2009-12-18  Sam Weinig  <sam@webkit.org>
398
399         Reviewed by Anders Carlsson.
400
401         Update WebKitSystemInterface for <rdar://problem/7237059>.        
402
403         * WebCoreSupport/WebSystemInterface.m:
404         (InitWebCoreSystemInterface):
405
406 2009-12-18  Adam Roben  <aroben@apple.com>
407
408         Add #includes needed after WebCore clean-up
409
410         Rubber-stamped by Anders Carlsson.
411
412         Fixes <http://webkit.org/b/32718>.
413
414         * WebView/WebFrame.mm:
415         * WebView/WebFrameView.mm:
416         * WebView/WebView.mm:
417
418 2009-12-17  Adam Roben  <aroben@apple.com>
419
420         Mac build fix
421
422         * WebView/WebVideoFullscreenController.mm: Added now-needed #import.
423
424 2009-12-13  Sam Weinig  <sam@webkit.org>
425
426         Reviewed by Dan Bernstein.
427
428         Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
429         Add client based Geolocation provider
430
431         Add first cut of a client based Geolocation provider. This is guarded by
432         ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
433         GeolocationControllerClient interface that no-one currently implements,
434         but will in a subsequent patch.
435
436         * WebView/WebView.mm:
437         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
438
439 2009-12-10  Jon Honeycutt  <jhoneycutt@apple.com>
440
441         Mac build fix. Unreviewed.
442
443         Re-adds code that was mistakenly removed from my last patch.
444
445         * WebCoreSupport/WebPluginHalterClient.mm:
446         Add necessary #import.
447
448         * WebView/WebDelegateImplementationCaching.h:
449         Declare a new overload of CallUIDelegateReturningBoolean.
450
451         * WebView/WebDelegateImplementationCaching.mm:
452         (CallDelegateReturningBoolean):
453         Add a new overload with different arguments.
454         (CallUIDelegateReturningBoolean):
455         Ditto.
456
457 2009-12-10  Jon Honeycutt  <jhoneycutt@apple.com>
458
459         Pass more information about a plug-in to the PluginHalterDelegate
460
461         Reviewed by Adam Roben.
462
463         * Plugins/WebBaseNetscapePluginView.mm:
464         (WebHaltablePlugin::isWindowed):
465         Return false - the Mac doesn't really have windowed plug-ins.
466         (WebHaltablePlugin::pluginName):
467         Return the name from the plug-in package.
468
469         * WebCoreSupport/WebPluginHalterClient.h:
470         Update for new parameters.
471
472         * WebCoreSupport/WebPluginHalterClient.mm:
473         (WebPluginHalterClient::shouldHaltPlugin):
474         Ditto; pass them when making the delegate call.
475
476         * WebView/WebUIDelegatePrivate.h:
477         Update for new parameters.
478
479 2009-12-08  Simon Fraser  <simon.fraser@apple.com>
480
481         Reviewed by Dan Bernstein.
482
483         <rdar://problem/7295070> WebKit video fullscreen keeps playing after closing the window
484         
485         Fix a leak of the QTMovieView when exiting fullscreen video, and remove the
486         old workaround.
487
488         * WebView/WebVideoFullscreenController.mm:
489         (-[WebVideoFullscreenController windowDidLoad]): Set the movie view as the contentView directly.
490         (-[WebVideoFullscreenController setMediaElement:WebCore::]): Cast the contentView to a movie view.
491         (-[WebVideoFullscreenController windowDidExitFullscreen]): Remove the old workaround.
492
493 2009-12-08  Dmitry Titov  <dimich@chromium.org>
494
495         Rubber-stamped by David Levin.
496
497         Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
498         It may have caused massive increase of reported leaks on the bots.
499         https://bugs.webkit.org/show_bug.cgi?id=31639
500
501         * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
502
503 2009-12-08  Dmitry Titov  <dimich@chromium.org>
504
505         Reviewed by Darin Adler.
506
507         Add asserts to RefCounted to make sure ref/deref happens on the right thread.
508         https://bugs.webkit.org/show_bug.cgi?id=31639
509
510         * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
511
512 2009-12-07  Dmitry Titov  <dimich@chromium.org>
513
514         Rubber-stamped by Darin Adler.
515
516         Remove ENABLE_SHARED_SCRIPT flags
517         https://bugs.webkit.org/show_bug.cgi?id=32245
518         This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
519
520         * Configurations/FeatureDefines.xcconfig:
521
522 2009-12-07  Simon Fraser  <simon.fraser@apple.com>
523
524         Reviewed by Darin Adler.
525
526         <rdar://problem/7450481> One compositing test keeps DRT in "compositing mode", breaks repaint tests
527
528         The counter that WebView used to keep track of the number of enclosed WebHTMLViews using
529         accelerated compositing was hard to manage, and maintained incorrectly in a number of cases.
530         This caused one compositing test make DumpRenderTree think that all subsequent tests
531         were compositing too.
532         
533         Replace this counter with notifications, which are only fired if a client (DRT) requests them. The
534         notification informs the client that a WebHTMLView entered compositing mode (or an already-
535         compositing WebHTML was added); it does not say when a view becomes uncomposited, or all
536         compositing subviews were removed, since this is tricky to get right.
537         
538         Change -[WebView _isUsingAcceleratedCompositing] to manually walk the frames, and
539         return YES if any document view is composited.
540
541         * WebKit.exp:
542         * WebView/WebHTMLView.mm:
543         (-[WebHTMLView close]):
544         (-[WebHTMLView viewDidMoveToSuperview]):
545         (-[WebHTMLView attachRootLayer:]):
546         (-[WebHTMLView detachRootLayer]):
547         * WebView/WebView.mm:
548         (+[WebView automaticallyNotifiesObserversForKey:]):
549         (-[WebView _postsAcceleratedCompositingNotifications]):
550         (-[WebView _setPostsAcceleratedCompositingNotifications:]):
551         (-[WebView _isUsingAcceleratedCompositing]):
552         * WebView/WebViewData.h:
553         * WebView/WebViewInternal.h:
554         * WebView/WebViewPrivate.h:
555
556 2009-12-07  Gavin Barraclough  <barraclough@apple.com>
557
558         Reviewed by Oliver Hunt.
559
560         https://bugs.webkit.org/show_bug.cgi?id=32184
561         Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
562         Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
563
564         * WebView/WebView.mm:
565         (aeDescFromJSValue):
566
567 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
568
569         Reviewed by Holger Hans Peter Freyther.
570
571         Turn on (SVG) Filters support, by default.
572         https://bugs.webkit.org/show_bug.cgi?id=32224
573
574         * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
575
576 2009-12-03  Brady Eidson  <beidson@apple.com>
577
578         Reviewed by Sam Weinig.
579
580         <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
581
582         * WebCoreSupport/WebFrameLoaderClient.h:
583         * WebCoreSupport/WebFrameLoaderClient.mm:
584         (WebFrameLoaderClient::dispatchDidPushStateWithinPage):
585         (WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
586         (WebFrameLoaderClient::dispatchDidPopStateWithinPage):
587         * WebView/WebDelegateImplementationCaching.h:
588         * WebView/WebFrameLoadDelegatePrivate.h:
589         * WebView/WebView.mm:
590         (-[WebView _cacheFrameLoadDelegateImplementations]):
591
592 2009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
593
594         Reviewed by Timothy Hatcher.
595
596         Web Inspector: Simplify the settings support in inspector controller.
597
598         https://bugs.webkit.org/show_bug.cgi?id=32076
599
600         * WebCoreSupport/WebInspectorClient.h:
601         * WebCoreSupport/WebInspectorClient.mm:
602         (-[WebInspectorWindowController showWindow:]):
603         (-[WebInspectorWindowController attach]):
604         (-[WebInspectorWindowController detach]):
605
606 2009-12-03  Ben Murdoch  <benm@google.com>
607
608         Reviewed by Brady Eidson.
609
610         [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed.
611         https://bugs.webkit.org/show_bug.cgi?id=31915
612
613         * History/WebHistoryItem.mm:
614         (WKNotifyHistoryItemChanged): Update WKNotifyHistoryItemChanged() to add the new HistoryItem parameter added in the WebCore portion of this patch.
615         * History/WebHistoryItemInternal.h: ditto.
616
617 2009-12-03  Ben Murdoch  <benm@google.com>
618
619         Reviewed by Brady Eidson.
620
621         [Android] The FrameLoaderClient is unaware of BackForwardList changes.
622         https://bugs.webkit.org/show_bug.cgi?id=31914
623
624         * WebCoreSupport/WebFrameLoaderClient.h:
625         * WebCoreSupport/WebFrameLoaderClient.mm:
626         (WebFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
627         (WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
628         (WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
629
630 2009-12-02  Dan Bernstein  <mitz@apple.com>
631
632         Reviewed by Mark Rowe.
633
634         Fix a mistake in the previous change
635
636         * WebView/WebView.mm:
637         (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
638         Make sure to include the image types’ view and representation classes
639         even when plug-ins are not allowed.
640
641 2009-12-02  Dan Bernstein  <mitz@apple.com>
642
643         Reviewed by Anders Carlsson.
644
645         Fixed <rdar://problem/7254127> WebKit can load plug-ins even when
646         plug-ins are disabled
647
648         Ensure that the shared WebPluginDatabase is not instantiated if no
649         WebViews are used that have plug-ins enabled.
650
651         * DefaultDelegates/WebDefaultPolicyDelegate.m:
652         (-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
653         Call -[WebView _canShowMIMEType:] on the WebView instead of calling the
654         class method.
655
656         * WebCoreSupport/WebFrameLoaderClient.mm:
657         (WebFrameLoaderClient::canShowMIMEType): Ditto.
658         (WebFrameLoaderClient::transitionToCommittedForNewPage): Call
659         -[WebFrameView _viewClassForMIMEType:] on the WebView instead of calling
660         the class method.
661         (WebFrameLoaderClient::objectContentType): Ditto.
662
663         * WebView/WebDataSource.mm:
664         (+[WebDataSource _representationClassForMIMEType:allowingPlugins:]):
665         Added the allowPlugins parameter, which is passed through to
666         +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:].
667         (-[WebDataSource _makeRepresentation]): Pass an allowPlugins value
668         based on the WebView’s preferences.
669
670         * WebView/WebFrameView.mm:
671         (-[WebFrameView _makeDocumentViewForDataSource:]): Call
672         -[WebFrameView _viewClassForMIMEType:] instead of calling the class
673         method.
674         (+[WebFrameView _viewClassForMIMEType:allowingPlugins:]): Added the
675         allowPlugins parameter, which is passed through to
676         +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:].
677         (-[WebFrameView _viewClassForMIMEType:]): Added. Passes an allowPlugins
678         value based on the WebView’s preferences.
679
680         * WebView/WebFrameViewInternal.h:
681         * WebView/WebView.mm:
682         (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
683         Added the allowPlugins parameter. If false, skip the instantiation of
684         the shared WebPluginDatabase.
685         (-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Pass an
686         allowPlugins value based on the WebView’s preferences.
687         (+[WebView _canShowMIMEType:allowingPlugins:]): Passes allowPlugins to
688         +_viewClass:andRepresentationClass:forMIMEType:allowingPlugins:.
689         (+[WebView canShowMIMEType:]): Changed to pass YES to
690         +_canShowMIMEType:allowingPlugins:.
691         (-[WebView _canShowMIMEType:]): Added. Passes an allowPlugins value
692         based on the WebView’s preferences.
693         (-[WebView _pluginForMIMEType:]): Return nil if plug-ins are disabled.
694         (-[WebView _pluginForExtension:]): Ditto.
695         (-[WebView _isMIMETypeRegisteredAsPlugin:]): Return NO if plug-ins are
696         disabled.
697         * WebView/WebViewInternal.h:
698
699 2009-12-02  Timothy Hatcher  <timothy@apple.com>
700
701         Fixes a crash when scrolling a frame that goes away mid-scroll.
702
703         <rdar://problem/7400263>
704
705         Reviewed by John Sullivan.
706
707         * WebView/WebDynamicScrollBarsView.mm:
708         (-[WebDynamicScrollBarsView scrollWheel:]): Retain self incase the last
709         reference is released when calling super.
710
711 2009-11-13  Timothy Hatcher  <timothy@apple.com>
712
713         Migrate DOMHTMLInputElementPrivate.h as a private header.
714
715         Reviewed by Darin Adler.
716
717         * MigrateHeaders.make:
718
719 2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
720
721         Reviewed by Simon Fraser.
722
723         Add SVG animation test framework with 'snapshot' functionality
724         https://bugs.webkit.org/show_bug.cgi?id=31897
725
726         Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method,
727         forwarding the call to SVGDocumentExtensions, if SVG is enabled.
728
729         Implemented just like the existing pauseAnimation* methods for CSS animations.
730
731         * WebView/WebFrame.mm:
732         (-[WebFrame _pauseSVGAnimation:onSMILNode:atTime:]):
733         * WebView/WebFramePrivate.h:
734
735 2009-12-01  Sam Weinig  <sam@webkit.org>
736
737         Reviewed by Mark Rowe.
738
739         Simplify [WebView userAgentForURL:].  No need to call into helper function.
740
741         * WebCoreSupport/WebFrameLoaderClient.mm:
742         (WebFrameLoaderClient::userAgent):
743         * WebView/WebView.mm:
744         (-[WebView userAgentForURL:]):
745         * WebView/WebViewInternal.h:
746
747 2009-11-24  Gavin Barraclough  <barraclough@apple.com>
748
749         Reviewed by Geoff Garen.
750
751         Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
752
753         WebCore presently has to explicitly specify the world before entering into JSC,
754         which is a little fragile (particularly since property access via a
755         getter/setter might invoke execution). Instead derive the current world from
756         the lexical global object.
757
758         Since WebCore no longer needs to explicitly specify the world on entry to JSC DebuggerCallFrame::evaluate can be called directly.
759
760         * WebView/WebScriptDebugDelegate.mm:
761         (-[WebScriptCallFrame evaluateWebScript:]):
762
763 2009-11-24  Dmitry Titov  <dimich@chromium.org>
764
765         Reviewed by Eric Seidel.
766
767         Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
768         https://bugs.webkit.org/show_bug.cgi?id=31444
769
770         * Configurations/FeatureDefines.xcconfig:
771
772 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
773
774         Reviewed by Brady Eidson.
775
776         https://bugs.webkit.org/show_bug.cgi?id=31844
777         SocketStreamHandleCFNet should support CONNECT proxy credentials
778
779         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add WKSI methods.
780
781 2009-11-23  Simon Fraser  <simon.fraser@apple.com>
782
783         Reviewed by Dan Bernstein.
784
785         DocumentMarkers need to be educated about transforms
786         https://bugs.webkit.org/show_bug.cgi?id=31751
787         
788         Find highlight is incorrect with transforms
789         <rdar://problem/6358394>
790         
791         Allow callers to specify that Frame::selectionTextRects() takes transforms into account
792         when computing the set of rects that encompass a selection. For transformed elemenets, the
793         selection rect will be the bounding box of the selected content.
794         
795         Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
796         
797         * WebView/WebHTMLView.mm:
798         (-[WebHTMLView selectionTextRects]):
799         Pass RespectTransforms to get a list of rects with transforms taken into account.
800
801 2009-11-23  Kevin Decker  <kdecker@apple.com>
802
803         Reviewed by Adam Roben.
804         
805         <rdar://problem/7401503>
806         
807         Added a workaround for plug-ins not drawing immediately.
808         
809         * Plugins/WebBaseNetscapePluginView.mm: Added new constant.
810         (-[WebBaseNetscapePluginView _clearSubstituteImage]): Added.
811         (-[WebBaseNetscapePluginView resumeFromHalt]): Call above new method.
812
813 2009-11-20  Dave Hyatt  <hyatt@apple.com>
814
815         Reviewed by Darin Adler.
816
817         Make sure to export WebSerializedJSValue.
818
819         * WebKit.exp:
820
821 2009-11-20  Dave Hyatt  <hyatt@apple.com>
822
823         Reviewed by Oliver Hunt and Jon Honeycutt.
824
825         Add support for WebSerializedJSValue to WebKit.  This object wraps the SerializedScriptValue functionality in WebCore
826         and exposes the ability to do JS value serialization/deserialization to WebKit clients.
827
828         * WebView/WebSerializedJSValue.h: Added.
829         * WebView/WebSerializedJSValue.mm: Added.
830         (-[WebSerializedJSValue initWithValue:context:]):
831         (-[WebSerializedJSValue deserialize:]):
832         (-[WebSerializedJSValue dealloc]):
833
834 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
835
836         Reviewed by Beth Dakin.
837
838         WAI-ARIA: add support for 'math' role
839         https://bugs.webkit.org/show_bug.cgi?id=31706
840
841         * WebCoreSupport/WebViewFactory.mm:
842         (-[WebViewFactory AXARIAContentGroupText:]):
843
844 2009-11-19  Eric Carlson  <eric.carlson@apple.com>
845
846         Reviewed by Dan Bernstein.
847
848         <rdar://problem/7035231>
849         Support closed caption in <video> element
850
851         * WebCoreSupport/WebSystemInterface.m:
852         (InitWebCoreSystemInterface):
853             Add QTMovieHasClosedCaptions and QTMovieSetShowClosedCaptions.
854
855         * WebCoreSupport/WebViewFactory.mm:
856         (-[WebViewFactory localizedMediaControlElementString:]):
857         (-[WebViewFactory localizedMediaControlElementHelpText:]):
858             Add accessibility help strings for media controller closed caption button.
859
860 2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
861
862         Reviewed by Darin Adler.
863
864         Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
865         Support for validationMessage attribute, as per HTML5 specs.
866
867         * WebCoreSupport/WebViewFactory.mm:
868         (-[WebViewFactory validationMessageValueMissingText]):
869         (-[WebViewFactory validationMessageTypeMismatchText]):
870         (-[WebViewFactory validationMessagePatternMismatchText]):
871         (-[WebViewFactory validationMessageTooLongText]):
872         (-[WebViewFactory validationMessageRangeUnderflowText]):
873         (-[WebViewFactory validationMessageRangeOverflowText]):
874         (-[WebViewFactory validationMessageStepMismatchText]):
875
876 2009-11-18  Sam Weinig  <sam@webkit.org>
877
878         Reviewed by Anders Carlsson.
879
880         Make the Mac Geolocation API async.
881
882         * WebCoreSupport/WebChromeClient.mm:
883         (WebChromeClient::requestGeolocationPermissionForFrame):
884         (-[WebGeolocationPolicyListener initWithGeolocation:]):
885         (-[WebGeolocationPolicyListener allow]):
886         (-[WebGeolocationPolicyListener deny]):
887         Add WebGeolocationPolicyListener implementation of the new WebGeolocationPolicyListener
888         protocol and use if to implement requestGeolocationPermissionForFrame using the new async
889         API.
890         
891         * WebCoreSupport/WebGeolocation.mm: Removed.
892         * WebCoreSupport/WebGeolocationInternal.h: Removed.
893         * WebCoreSupport/WebGeolocationMock.mm: Remove bogus include.
894         * WebCoreSupport/WebGeolocationPrivate.h: Removed.
895         * WebView/WebUIDelegatePrivate.h: Remove requestGeolocationPermission and add
896         WebGeolocationPolicyListener protocol and decidePolicyForGeolocationRequestFromOrigin delegate
897         method.
898
899 2009-11-18  Chris Marrin  <cmarrin@apple.com>
900
901         Reviewed by Simon Fraser.
902
903         Add Preferences for WebKitShowDebugBorders and WebKitShowRepaintCounter
904         https://bugs.webkit.org/show_bug.cgi?id=31601
905
906         These are used to debug accelerated compositing layers
907
908         * WebView/WebPreferenceKeysPrivate.h:
909         * WebView/WebPreferences.mm:
910         (+[WebPreferences initialize]):
911         (-[WebPreferences showDebugBorders]):
912         (-[WebPreferences setShowDebugBorders:]):
913         (-[WebPreferences showRepaintCounter]):
914         (-[WebPreferences setShowRepaintCounter:]):
915         * WebView/WebPreferencesPrivate.h:
916         * WebView/WebView.mm:
917         (-[WebView _preferencesChangedNotification:]):
918
919 2009-11-17  Pavel Feldman  <pfeldman@chromium.org>
920
921         Reviewed by Timothy Hatcher.
922
923         Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
924         - Updated DRT to show/close inspector for all tests under /inspector
925         - Introduced LayoutTestController::setTimelineProfilingEnabled and
926           WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
927         - Removed reload on each inspector test
928         - Renamed fast/inspector to fast/inspector-support in order not to trigger
929         inspector for those.
930         - Reimplemented timeline tests in order to get rid of reload there.
931         - Moved tests that don't require harness into the fast group.
932
933         https://bugs.webkit.org/show_bug.cgi?id=31472
934
935         * WebInspector/WebInspector.h:
936         * WebInspector/WebInspector.mm:
937         (-[WebInspector isTimelineProfilingEnabled]):
938         (-[WebInspector setTimelineProfilingEnabled:]):
939
940 2009-11-14  Chris Fleizach  <cfleizach@apple.com>
941
942         Reviewed by Darin Adler.
943
944         Need to implement ARIA role="directory"
945         https://bugs.webkit.org/show_bug.cgi?id=31516
946
947         Fix a spelling error in the comment of a localized (accessibility) string.
948
949         * WebCoreSupport/WebViewFactory.mm:
950         (-[WebViewFactory AXARIAContentGroupText:]):
951
952 2009-11-14  Eric Carlson  <eric.carlson@apple.com>
953
954         Reviewed by Oliver Hunt.
955
956         <rdar://problem/7287487> 
957         Do not use QuickTime version to detect media controller theme
958
959         * WebCoreSupport/WebSystemInterface.m:
960         (InitWebCoreSystemInterface): Initialize wkMediaControllerThemeAvailable.
961
962 2009-11-13  Adam Roben  <aroben@apple.com>
963
964         Tell the WebFrameLoadDelegate when window objects in isolated worlds
965         are cleared
966
967         Fixes <http://webkit.org/b/31124>.
968
969         Reviewed by Dave Hyatt.
970
971         * WebCoreSupport/WebFrameLoaderClient.h:
972         * WebCoreSupport/WebFrameLoaderClient.mm:
973         (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
974         Replaced windowObjectCleared with this function. If the delegate
975         implements it, call
976         -webView:didClearWindowObjectForFrame:inScriptWorld:. Otherwise, if
977         the passed-in world is the mainThreadNormalWorld(), call
978         -webView:didClearWindowObject:forFrame:.
979
980         * WebView/WebDelegateImplementationCaching.h: Added a new entry in the
981         frame load delegate implementation cache for the new delegate method.
982
983         * WebView/WebFrameLoadDelegatePrivate.h:
984         * WebView/WebScriptWorld.mm:
985         (allWorlds): Added. Returns a HashMap of all the WebScriptWorlds in
986         existence.
987         (-[WebScriptWorld initWithWorld:]): Add ourselves to allWorlds().
988         (-[WebScriptWorld dealloc]): Remove ourselves from allWorlds().
989         (+[WebScriptWorld findOrCreateWorld:]): Returns the existing
990         WebScriptWorld for this DOMWrapperWorld, or a new one if one doesn't
991         already exist.
992
993         * WebView/WebScriptWorldInternal.h: Declared +findOrCreateWorld:.
994
995         * WebView/WebView.mm:
996         (-[WebView _cacheFrameLoadDelegateImplementations]): Cache the
997         implementation of the new frame load delegate method.
998
999 2009-11-13  Adam Roben  <aroben@apple.com>
1000
1001         Finish replacing worldIDs with world objects
1002
1003         The only remaining use of worldIDs was in a method only used by DRT
1004         for the isolated worlds tests.
1005
1006         Fixes <http://webkit.org/b/31414> Replace worldIDs with world objects
1007
1008         Reviewed by Mark Rowe.
1009
1010         * WebView/WebFrame.mm:
1011         (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
1012         * WebView/WebFramePrivate.h:
1013         Renamed from
1014         _stringByEvaluatingJavaScriptInIsolatedWorld:WithGobalObject:FromString:.
1015         Now takes a WebScriptWorld instead of a worldID, so we don't need to
1016         maintain a map of worldID -> world anymore.
1017
1018 2009-11-12  Dan Bernstein  <mitz@apple.com>
1019
1020         Reviewed by Adele Peterson.
1021
1022         When exiting full-screen video, rather than resetting the system UI
1023         mode, restore it to what it was when full-screen mode was entered.
1024
1025         * WebView/WebVideoFullscreenController.h: Cleaned up style, removed
1026         unnecessary imports, and added _savedUIMode and _savedUIOptions ivars.
1027         * WebView/WebVideoFullscreenController.mm:
1028         (-[WebVideoFullscreenController delegate]): Cleaned up style.
1029         (-[WebVideoFullscreenController setDelegate:]): Ditto.
1030         (-[WebVideoFullscreenController windowDidExitFullscreen]): Restore the
1031         system UI mode.
1032         (-[WebVideoFullscreenController windowDidEnterFullscreen]): Save the
1033         system UI mode.
1034         * WebView/WebView.mm: Added now-necessary import.
1035
1036 2009-11-12  Shinichiro Hamaji  <hamaji@chromium.org>
1037
1038         Reviewed by Darin Adler.
1039
1040         externalRepresentation should take Frame as the argument
1041         https://bugs.webkit.org/show_bug.cgi?id=31393
1042
1043         No new tests as this is just a refactoring.
1044
1045         * Misc/WebCoreStatistics.mm:
1046         (-[WebFrame renderTreeAsExternalRepresentation]):
1047
1048 2009-11-12  Adam Roben  <aroben@apple.com>
1049
1050         Replace worldIDs with world objects
1051
1052         WebScriptWorld is the new object that represents a world.  The only
1053         place worldID is still used is in -[WebFrame
1054         _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:],
1055         but that will change soon.
1056
1057         Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
1058         user scripts/stylesheets and isolated worlds
1059
1060         Reviewed by Sam Weinig.
1061
1062         * WebKit.exp: Export WebScriptWorld.
1063
1064         * WebView/WebFrame.mm:
1065         (-[WebFrame _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:]):
1066         Moved the bizarre world caching/creation logic that DRT depends on
1067         here from the findWorld function in ScriptController.cpp. Updated to
1068         use ScriptController::executeScriptInWorld instead of
1069         ScriptController::executeScriptInIsolatedWorld.
1070         (-[WebFrame _contextForWorld:]): Renamed from contextForWorldID:. Now
1071         takes a WebScriptWorld.
1072
1073         * WebView/WebFramePrivate.h: Replaced contextForWorldID: with
1074         _contextForWorld:.
1075
1076         * WebView/WebScriptWorld.h: Added.
1077         * WebView/WebScriptWorld.mm: Added.
1078         (-[WebScriptWorld initWithWorld:]): Store the passed-in world in our
1079         _private member.
1080         (-[WebScriptWorld init]): Create a new DOMWrapperWorld and pass it to
1081         -initWithWorld:.
1082         (-[WebScriptWorld dealloc]): Release _private.
1083         (+[WebScriptWorld standardWorld]): Returns a shared instance that
1084         represents WebCore's mainThreadNormalWorld().
1085         (+[WebScriptWorld world]): Returns a new instance.
1086         (core): Returns the DOMWrapperWorld for this WebScriptWorld.
1087
1088         * WebView/WebScriptWorldInternal.h: Added.
1089
1090         * WebView/WebView.mm:
1091         (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
1092         (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
1093         (+[WebView _removeUserScriptFromGroup:world:url:]):
1094         (+[WebView _removeUserStyleSheetFromGroup:world:url:]):
1095         (+[WebView _removeUserScriptsFromGroup:world:]):
1096         (+[WebView _removeUserStyleSheetsFromGroup:world:]):
1097         * WebView/WebViewPrivate.h:
1098         Changed these functions to take a WebScriptWorld instead of a worldID.
1099
1100 2009-11-12  Chris Fleizach  <cfleizach@apple.com>
1101
1102         Reviewed by Darin Adler.
1103
1104         ARIA: add alert type roles
1105         https://bugs.webkit.org/show_bug.cgi?id=31392
1106
1107         * WebCoreSupport/WebViewFactory.mm:
1108         (-[WebViewFactory AXARIAContentGroupText:]):
1109
1110 2009-11-10  Daniel Bates  <dbates@webkit.org>
1111
1112         Reviewed by Oliver Hunt.
1113
1114         https://bugs.webkit.org/show_bug.cgi?id=30754
1115
1116         Removed method draggedImage:movedTo:
1117
1118         * WebView/WebFrame.mm:
1119         * WebView/WebFrameInternal.h:
1120         * WebView/WebHTMLView.mm:
1121
1122 2009-11-10  Beth Dakin  <bdakin@apple.com>
1123
1124         Reviewed by Darin Adler.
1125
1126         Small WebKit part of:
1127         Fix for <rdar://problem/7059710> 
1128         -and corresponding-
1129         https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit-
1130         color-correction for CSS colors
1131
1132         * Misc/WebKitNSStringExtras.mm:
1133         (-[NSString _web_drawAtPoint:font:textColor:]): setFillColor now 
1134         requires callers to pass a ColorSpace.
1135
1136 2009-11-10  Dan Bernstein  <mitz@apple.com>
1137
1138         Reviewed by Eric Carlson and Darin Adler.
1139
1140         WebKit part of making full-screen video pause during scrubbing.
1141
1142         * WebView/WebVideoFullscreenHUDWindowController.h: Added _isScrubbing
1143         ivar.
1144         * WebView/WebVideoFullscreenHUDWindowController.mm:
1145         (-[WebVideoFullscreenHUDWindowController dealloc]): Assert that
1146         _isScrubbing is NO.
1147         (-[WebVideoFullscreenHUDWindowController endScrubbing]): Call
1148         HTMLMediaElement::endScrubbing().
1149         (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
1150         If scrubbing has just begun, call HTMLMediaElement::beginScrubbing()
1151         and schedule -endScrubbing to be called when mouse tracking ends.
1152
1153 2009-11-09  Mark Mentovai  <mark@chromium.org>
1154
1155         Reviewed by Dan Bernstein.
1156
1157         Track "can have scrollbar" state within FrameView independently of the
1158         individual scrollbar states in ScrollView.
1159
1160         rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
1161         REGRESSION (r48064): mint.com loses scrollbars after coming out of
1162         edit mode.
1163
1164         rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
1165         REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
1166
1167         Test: fast/overflow/scrollbar-restored.html
1168
1169         * WebView/WebFrameView.mm:
1170         (-[WebFrameView _install]):
1171
1172 2009-11-08  Dan Bernstein  <mitz@apple.com>
1173
1174         Reviewed by Eric Carlson.
1175
1176         Made the full-screen video HUD appear when playback stops, such as when
1177         the end of the video is reached.
1178
1179         * WebView/WebVideoFullscreenHUDWindowController.h: Cleaned up.
1180         * WebView/WebVideoFullscreenHUDWindowController.mm:
1181         (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Updated
1182         for the renaming of -updateRate to -updatePlayButton.
1183         (-[WebVideoFullscreenHUDWindowController updatePlayButton]): Renamed
1184         -updateRate to this.
1185         (-[WebVideoFullscreenHUDWindowController updateRate]): This method now
1186         responds to changes to the playback rate by updating the play button
1187         and showing or hiding the HUD as necessary.
1188         (-[WebVideoFullscreenHUDWindowController togglePlaying:]): Now only
1189         toggles playing. UI updates are driven by -updateRate being called.
1190         (-[WebVideoFullscreenHUDWindowController playing]): Cleaned up.
1191
1192 2009-11-02  Eric Carlson  <eric.carlson@apple.com>
1193
1194         Reviewed by John Sullivan and Mark Rowe.
1195
1196         <rdar://problem/7356733> Voiceover does not read correct media controller time values
1197
1198         * WebCoreSupport/WebViewFactory.mm:
1199         (-[WebViewFactory localizedMediaTimeDescription:]):
1200
1201 2009-11-02  Dan Bernstein  <mitz@apple.com>
1202
1203         Reviewed by Anders Carlsson.
1204
1205         Made the remaining time display show negative zero at the end of the
1206         video.
1207
1208         Made other cleanup.
1209
1210         * WebView/WebVideoFullscreenHUDWindowController.h: Reverted the types of
1211         _timeline and _volumeSlider to the more generic NSControl.
1212         * WebView/WebVideoFullscreenHUDWindowController.mm:
1213         (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Cleaned
1214         up style.
1215         (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Added an
1216         assertion that the cast to NSButton * is legal. Removed casts.
1217         (-[WebVideoFullscreenHUDWindowController updateTime]): Use
1218         -setValue:forKey: instead of an NSSlider method.
1219         (timeToString): Changed to support only non-negative values and
1220         simplified.
1221         (-[WebVideoFullscreenHUDWindowController remainingTimeText]): Always
1222         prepend a “-” to the time.
1223
1224 2009-11-02  Dan Bernstein  <mitz@apple.com>
1225
1226         Reviewed by John Sullivan.
1227
1228         WebKit part of making the appearance of the full-screen video HUD match
1229         QuickTime Player X’s HUD.
1230
1231         * WebView/WebVideoFullscreenHUDWindowController.h: Removed unnecessary
1232         #import statements, cleaned up style, and changed _timeline,
1233         _volumeSlider and _playButton to have more specific types.
1234         * WebView/WebVideoFullscreenHUDWindowController.mm: Updated #import
1235         statements.
1236         (webkit_CGFloor): Added this helper function.
1237         (-[WebVideoFullscreenHUDWindowController init]): Cleaned up style.
1238         (createTimeTextField): Changed to use the bold system font.
1239         (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the
1240         subviews’ metrics and the text fields’ text alignment.
1241         (-[WebVideoFullscreenHUDWindowController updateTime]): Avoid conversion
1242         from double to float.
1243         (stringToTimeTextAttributed): Removed this useless function that
1244         returned an NSAttributedString masquerading as an NSString.
1245         (-[WebVideoFullscreenHUDWindowController remainingTimeText]): Removed
1246         call to stringToTimeTextAttributed().
1247         (-[WebVideoFullscreenHUDWindowController elapsedTimeText]): Ditto.
1248
1249 2009-11-02  Chris Fleizach  <cfleizach@apple.com>
1250
1251         Reviewed by Beth Dakin.
1252
1253         Support ARIA "tab" roles
1254         https://bugs.webkit.org/show_bug.cgi?id=30842
1255
1256         * WebCoreSupport/WebViewFactory.mm:
1257         (-[WebViewFactory AXARIAContentGroupText:]):
1258
1259 2009-11-01  Dan Bernstein  <mitz@apple.com>
1260
1261         Reviewed by Mark Rowe.
1262
1263         Made the space bar toggle playing state in full-screen video when
1264         modifier keys are down. Made it do so without highlighting the
1265         Play/Pause button.
1266
1267         * WebView/WebVideoFullscreenHUDWindowController.mm:
1268         (-[WebVideoFullscreenHUDWindowController keyDown:]):
1269
1270 2009-11-01  Dan Bernstein  <mitz@apple.com>
1271
1272         Reviewed by Mark Rowe.
1273
1274         Made the full-screen video HUD respond to the up and down arrow keys by
1275         increasing and decreasing the volume by 1/10 of the range or, when
1276         combined with the Option key, all the way up or down.
1277
1278         Made the volume buttons in the full-screen video HUD match the behavior
1279         of their equivalents in the QuickTime Player HUD by turning the volume
1280         all the way up or down.
1281
1282         Made the volume slider update immediately when the keyboard or volume
1283         buttons are used to change the volume, rather than at the nearest 1/4
1284         second interval.
1285
1286         Made the elapsed and remaining time displays update immediately when the
1287         play head is dragged across the timeline, rather than at 1/4 second
1288         intervals.
1289
1290         * WebView/WebVideoFullscreenHUDWindowController.mm:
1291         (-[WebVideoFullscreenHUDWindowController keyDown:]): Handle the up and
1292         down arrow keys.
1293         (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the
1294         actions of the volume up and volume down buttons.
1295         (-[WebVideoFullscreenHUDWindowController setCurrentTime:]): Call
1296         -updateTime.
1297         (-[WebVideoFullscreenHUDWindowController setVolumeToZero:]): Added this
1298         action for the volume down button.
1299         (-[WebVideoFullscreenHUDWindowController setVolumeToMaximum:]): Added
1300         this action for the volume up button.
1301         (-[WebVideoFullscreenHUDWindowController decrementVolume]): No longer
1302         and action method.
1303         (-[WebVideoFullscreenHUDWindowController incrementVolume]): Ditto.
1304         (-[WebVideoFullscreenHUDWindowController setVolume:]): Call
1305         -updateVolume.
1306
1307 2009-10-30  Evan Stade  <estade@chromium.org>
1308
1309         Reviewed by David Levin.
1310
1311         Notify the chrome when the focused node has changed.
1312         https://bugs.webkit.org/show_bug.cgi?id=30832
1313
1314         Added stub implementation for new ChromeClient function.
1315
1316         * WebCoreSupport/WebChromeClient.h:
1317         * WebCoreSupport/WebChromeClient.mm:
1318         (WebChromeClient::focusedNodeChanged):
1319
1320 2009-10-30  Roland Steiner  <rolandsteiner@chromium.org>
1321
1322         Reviewed by Eric Seidel.
1323
1324         Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.
1325
1326         Bug 28420 -  Implement HTML5 <ruby> rendering
1327         (https://bugs.webkit.org/show_bug.cgi?id=28420)
1328
1329         No new tests (no functional change).
1330
1331         * Configurations/FeatureDefines.xcconfig:
1332
1333 2009-10-29  Mark Rowe  <mrowe@apple.com>
1334
1335         Reviewed by Oliver Hunt.
1336
1337         Validate the stopSpeaking: selector so that is not always enabled when a WebView is first responder.
1338
1339         * WebView/WebHTMLView.mm:
1340         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
1341
1342 2009-10-29  Anders Carlsson  <andersca@apple.com>
1343
1344         Reviewed by Sam Weinig.
1345
1346         https://bugs.webkit.org/show_bug.cgi?id=30932
1347         <rdar://problem/7350269>
1348         
1349         REGRESSION: Crash when turning on Private Browsing on site with flash.
1350         
1351         Null check setValue.
1352         
1353         * Plugins/WebNetscapePluginView.mm:
1354         (-[WebNetscapePluginView privateBrowsingModeDidChange]):
1355
1356 2009-10-29  Eric Carlson  <eric.carlson@apple.com>
1357
1358         Reviewed by Kevin Decker.
1359
1360         Refactor some duplicate plug-in clean up code into shared functions.
1361
1362         * Plugins/WebPluginController.mm:
1363         (-[WebPluginController stopOnePlugin:]): New, stop a plug-in.
1364         (-[WebPluginController destroyOnePlugin:]): New, destroy plug-in.
1365         (-[WebPluginController stopAllPlugins]): Call stopOnePlugin.
1366         (-[WebPluginController destroyPlugin:]): Call stopOnePlugin and destroyOnePlugin.
1367         (-[WebPluginController destroyAllPlugins]): Call destroyOnePlugin.
1368
1369 2009-10-28  Eric Carlson  <eric.carlson@apple.com>
1370
1371         Reviewed by Simon Fraser.
1372
1373         <rdar://problem/7303145> 
1374         Can't exit full screen mode or restart movie after pressing command -R.
1375
1376         * WebView/WebVideoFullscreenController.mm:
1377         (-[WebVideoFullscreenController _requestExit]): 
1378             New, call media element's exitFullscreen method.
1379         (-[WebVideoFullscreenController requestExitFullscreenWithAnimation:]): 
1380             Call mediaElement->exitFullscreen() after a delay as it turns around and calls
1381             WebVideoFullscreenController:exitFullscreen.
1382
1383         * WebView/WebVideoFullscreenHUDWindowController.h:
1384         * WebView/WebVideoFullscreenHUDWindowController.mm:
1385         (-[WebVideoFullscreenHUDWindow resignFirstResponder]):
1386             New, don't give up responder status.
1387         (-[WebVideoFullscreenHUDWindow performKeyEquivalent:]):
1388             New, block all command key events.
1389         (-[WebVideoFullscreenHUDWindowController exitFullscreen:]):
1390             Remember when we are in the process of exiting fullscreen, don't allow recursion.
1391
1392         * WebView/WebView.mm:
1393         (-[WebView _exitFullscreen]):
1394             Early return if fullscreen controller is nil.
1395
1396         * WebView/WebWindowAnimation.h: 
1397             Correct comment about _window retain status.
1398         * WebView/WebWindowAnimation.m:
1399         (-[WebWindowScaleAnimation dealloc]):
1400             Don't release _window, we never reatained it.
1401
1402 2009-10-27  Shinichiro Hamaji  <hamaji@chromium.org>
1403
1404         Reviewed by Darin Adler.
1405
1406         Provide a way to get counter values with layoutTestContoller
1407         https://bugs.webkit.org/show_bug.cgi?id=30555
1408
1409         Add counterValueForElement in WebFrame to call WebCore::counterValueForElement.
1410
1411         * Misc/WebCoreStatistics.h:
1412         * Misc/WebCoreStatistics.mm:
1413         (-[WebFrame counterValueForElement:]):
1414
1415 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
1416
1417         Reviewed by Sam Weinig.
1418
1419         Updated for refactoring in the date code.
1420
1421         * WebView/WebView.mm:
1422         (aeDescFromJSValue): Since we just want a number of milliseconds, do that
1423         instead of something more complicated.
1424
1425 2009-10-26  Sam Weinig  <sam@webkit.org>
1426
1427         Reviewed by Anders Carlsson.
1428
1429         Move some WebView event handling code into its own file, WebViewEventHandling.mm
1430
1431         * WebView/WebView.mm:
1432         (-[WebView _close]):
1433         (-[WebView _selectedOrMainFrame]):
1434         * WebView/WebViewEventHandling.mm: Added.
1435         (-[WebView _closingEventHandling]):
1436         (-[WebView _setMouseDownEvent:]):
1437         (-[WebView mouseDown:]):
1438         (-[WebView mouseUp:]):
1439         (+[WebView _updateMouseoverWithEvent:]):
1440         (-[WebView _updateMouseoverWithFakeEvent]):
1441         (_updateMouseoverWithEvent:fakeEvent::if):
1442         (-[WebView _stopAutoscrollTimer]):
1443         (-[WebView _setToolTip:]):
1444         * WebView/WebViewInternal.h:
1445
1446 2009-10-26  Simon Fraser  <simon.fraser@apple.com>
1447
1448         Reviewed by Sam Weinig.
1449
1450         <rdar://problem/6988966> Hardware layers do not show up in page snapshots
1451
1452         * WebView/WebHTMLViewPrivate.h:
1453         * WebView/WebHTMLView.mm:
1454         (-[WebHTMLView _compositingLayersHostingView]):
1455         Add a private method that returns the NSView used to host compositing layers.
1456         
1457 2009-10-23  Mark Rowe  <mrowe@apple.com>
1458
1459         Fix engineering builds in the mysterious future.
1460
1461         * Configurations/DebugRelease.xcconfig:
1462
1463 2009-10-23  Gavin Barraclough  <barraclough@apple.com>
1464
1465         Reviewed by Geoff Garen.
1466
1467         https://bugs.webkit.org/show_bug.cgi?id=30729
1468         Provide private API to request the global context for a specific world.
1469         Used to initialize parameters on the global object.
1470
1471         * WebView/WebFramePrivate.h:
1472         * WebView/WebFrame.mm:
1473         (-[WebFrame contextForWorldID:]):
1474
1475 2009-10-22  Eric Carlson  <eric.carlson@apple.com>
1476
1477         Reviewed by John Sullivan.
1478
1479         <rdar://problem/7322847>
1480         Pressing space bar key in full screen mode should pause movie but doesn't
1481
1482         * WebView/WebVideoFullscreenHUDWindowController.mm:
1483         (-[WebVideoFullscreenHUDWindowController keyDown:]):  New, toggle playback on space key.
1484         (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Play button action is now called togglePlaying.
1485         (-[WebVideoFullscreenHUDWindowController togglePlaying:]): Rename from playingChanged.
1486
1487 2009-10-22  Gavin Barraclough  <barraclough@apple.com>
1488
1489         Reviewed by NOBODY (build fix).
1490         Build fix following bug #30696.
1491
1492         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1493         (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
1494         (WebKit::NetscapePluginInstanceProxy::evaluate):
1495         (WebKit::NetscapePluginInstanceProxy::invoke):
1496         (WebKit::NetscapePluginInstanceProxy::invokeDefault):
1497         (WebKit::NetscapePluginInstanceProxy::construct):
1498         (WebKit::NetscapePluginInstanceProxy::getProperty):
1499         (WebKit::NetscapePluginInstanceProxy::setProperty):
1500         (WebKit::NetscapePluginInstanceProxy::removeProperty):
1501         (WebKit::NetscapePluginInstanceProxy::hasProperty):
1502         (WebKit::NetscapePluginInstanceProxy::hasMethod):
1503         (WebKit::NetscapePluginInstanceProxy::enumerate):
1504
1505 2009-10-16  Gavin Barraclough  <barraclough@apple.com>
1506
1507         Reviewed by Sam Weinig & Geoff Garen.
1508
1509         https://bugs.webkit.org/show_bug.cgi?id=30696
1510         Update to incorporate support for IsolatedWorlds in JSC bindings.
1511
1512         * WebView/WebFrame.mm:
1513         (-[WebFrame _attachScriptDebugger]):
1514         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1515         (-[WebFrame globalContext]):
1516         * WebView/WebScriptDebugDelegate.mm:
1517         (-[WebScriptCallFrame evaluateWebScript:]):
1518         * WebView/WebView.mm:
1519         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
1520
1521 2009-10-22  Eric Carlson  <eric.carlson@apple.com>
1522
1523         Reviewed by Dan Bernstein & Simon Fraser.
1524
1525         <rdar://problem/7297717>
1526         https://bugs.webkit.org/show_bug.cgi?id=30323
1527         Play/pause button in full-screen video controller does not reflect current state
1528
1529         * WebView/WebVideoFullscreenController.mm:
1530         (-[WebVideoFullscreenController setMediaElement:WebCore::]): Register for QTMovieRateDidChangeNotification
1531         (-[WebVideoFullscreenController rateChanged:]): Call HUD controller when rate changes.
1532
1533         * WebView/WebVideoFullscreenHUDWindowController.h:
1534         * WebView/WebVideoFullscreenHUDWindowController.mm:
1535         (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Call updateRate so play button
1536         reflects playback state.
1537         (-[WebVideoFullscreenHUDWindowController updateRate]): New, set play button state according to
1538         movie state.
1539         (-[WebVideoFullscreenHUDWindowController playingChanged:]): Only call [self playing] once.
1540
1541 2009-10-21  John Sullivan  <sullivan@apple.com>
1542
1543         Rubber-stamped by Dan Bernstein.
1544
1545         * WebView/WebDynamicScrollBarsView.h:
1546         Corrected a couple of long-obsolete comments regarding Safari's use of this class.
1547
1548 2009-10-20  Dan Bernstein  <mitz@apple.com>
1549
1550         Rubber-stamped by Mark Rowe.
1551
1552         <rdar://problem/7319749> REGRESSION(r49806): Contextual Menu items missing
1553         https://bugs.webkit.org/show_bug.cgi?id=30568
1554
1555         Revert accidental change from r49806.
1556
1557         * WebCoreSupport/WebContextMenuClient.mm:
1558         (WebContextMenuClient::getCustomMenuFromDefaultItems):
1559
1560 2009-10-20  Fumitoshi Ukai  <ukai@chromium.org>
1561
1562         Reviewed by David Levin.
1563
1564         Removed WebSocket runtime settings.
1565         https://bugs.webkit.org/show_bug.cgi?id=29896
1566
1567         WebSocket runtime configuration is supported by chromium/v8 only.
1568
1569         * WebView/WebPreferenceKeysPrivate.h:
1570         * WebView/WebPreferences.mm:
1571         (+[WebPreferences initialize]):
1572         * WebView/WebPreferencesPrivate.h:
1573         * WebView/WebView.mm:
1574         (-[WebView _preferencesChangedNotification:]):
1575
1576 2009-10-19  Nate Chapin  <japhet@chromium.org>
1577
1578         Reviewed by Alexey Proskuryakov.
1579
1580         Update call to loadFrameRequest to match new parameters.
1581
1582         * WebView/WebPDFView.mm:
1583         (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Update call to loadFrameRequest.
1584
1585 2009-10-19  David Kilzer  <ddkilzer@apple.com>
1586
1587         Documentation fix for -[NSObject(WebResourceLoadDelegate) webView:resource:willSendRequest:redirectResponse:fromDataSource:]
1588
1589         Reviewed by Dan Bernstein.
1590
1591         * WebView/WebResourceLoadDelegate.h: Prepended "webView:" to the
1592         @method declaration of
1593         -webView:resource:willSendRequest:redirectResponse:fromDataSource:
1594         which was absent before r3953 and was missed during the great
1595         documentation clean up of r4269.
1596
1597 2009-10-19  Anders Carlsson  <andersca@apple.com>
1598
1599         Fix build.
1600
1601         * Plugins/WebNetscapePluginView.mm:
1602         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1603
1604 2009-10-19  Dan Bernstein  <mitz@apple.com>
1605
1606         Reviewed by Anders Carlsson.
1607
1608         Split assertions of conjunctions into separate statements or remove
1609         redundant assertions.
1610
1611         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1612         (WebKit::NetscapePluginHostProxy::deadNameNotificationCallback):
1613         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1614         (-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
1615         (-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
1616         * Plugins/WebBaseNetscapePluginView.mm:
1617         (-[WebBaseNetscapePluginView halt]):
1618         (-[WebBaseNetscapePluginView resumeFromHalt]):
1619         * Plugins/WebNetscapePluginView.mm:
1620         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1621         (-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
1622         * WebCoreSupport/WebContextMenuClient.mm:
1623         (WebContextMenuClient::getCustomMenuFromDefaultItems):
1624         * WebCoreSupport/WebEditorClient.mm:
1625         (WebEditorClient::checkGrammarOfString):
1626         (WebEditorClient::checkTextOfParagraph):
1627         * WebView/WebTextCompletionController.mm:
1628         (-[WebTextCompletionController _reflectSelection]):
1629
1630 2009-10-18  Mark Rowe  <mrowe@apple.com>
1631
1632         Reviewed by Dan Bernstein.
1633
1634         <rdar://problem/7309062> Crashes in WebCore::DocumentLoader::isStopping below WebKit::NetscapePluginInstanceProxy::loadRequest.
1635
1636         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1637         (WebKit::NetscapePluginInstanceProxy::loadRequest): Null-check the DocumentLoader before deferencing it.
1638
1639 2009-10-16  Kevin Decker  <kdecker@apple.com>
1640
1641         Reviewed by Jon Honeycutt.
1642
1643         <rdar://problem/7304575>
1644         
1645         * Plugins/WebBaseNetscapePluginView.h: Added new boolean ivar and -hasBeenHalted instance method.
1646         * Plugins/WebBaseNetscapePluginView.mm:
1647         (-[WebBaseNetscapePluginView halt]):Update _hasBeenHalted.
1648         (-[WebBaseNetscapePluginView hasBeenHalted]): Added.
1649         * WebView/WebView.mm:
1650         (+[WebView _hasPluginForNodeBeenHalted:]): Checks to see if a plug-in node's been halted.
1651         * WebView/WebViewPrivate.h: Added -_hasPluginForNodeBeenHalted method.
1652
1653 2009-10-16  Kevin Decker  <kdecker@apple.com>
1654
1655         Reviewed by Anders Carlson.
1656
1657         Small code cleanup
1658         
1659         * Plugins/WebBaseNetscapePluginView.mm:
1660         (WebHaltablePlugin::halt): Just call -[WebBaseNetscapePluginView halt].
1661         (WebHaltablePlugin::restart): Just call -[WebBaseNetscapePluginView resumeFromHalt]
1662         (-[WebBaseNetscapePluginView halt]): 
1663         (-[WebBaseNetscapePluginView resumeFromHalt]):
1664         * WebView/WebView.mm:
1665         (_pluginViewForNode): Added a check if a render is a widget. This prevents a later assertion.
1666
1667 2009-10-16  Kevin Decker  <kdecker@apple.com>
1668
1669         Reviewed by Anders Carlson.
1670
1671         Last part of:
1672         <rdar://problem/7273354>
1673
1674         * WebView/WebView.mm: 
1675         (_pluginViewForNode): Added with code extracted from _isNodeHaltedPlugin
1676         (+[WebView _isNodeHaltedPlugin:]): Made this a class method.
1677         (+[WebView _restartHaltedPluginForNode:]): Added. Restarts a plug-in
1678         * WebView/WebViewPrivate.h: Added +_restartHaltedPluginForNode to header.
1679
1680 2009-10-16  Kevin Decker  <kdecker@apple.com>
1681
1682         Reviewed by Anders.
1683
1684         <rdar://problem/7273354> 
1685
1686         * Plugins/WebBaseNetscapePluginView.h: Added _isHalted ivar and three new methods: -halt, -resumeFromHalt, and -isHalted
1687         * Plugins/WebBaseNetscapePluginView.mm:
1688         (WebHaltablePlugin::halt): Call -halt instead of -stop.  
1689         (WebHaltablePlugin::restart):Call -resumeFromHalt instead of -start. 
1690         (-[WebBaseNetscapePluginView halt]): Added. Stop the plug-in, update _isHalted.
1691         (-[WebBaseNetscapePluginView resumeFromHalt]): Added. Start the plug-in, update _isHalted.
1692         (-[WebBaseNetscapePluginView isHalted]): Added.
1693         * WebView/WebView.mm:
1694         (-[WebView _isNodeHaltedPlugin:]): Added. Queries a DOMNode to determine if it's a halted plug-in.
1695         * WebView/WebViewPrivate.h: Added _isNodeHaltedPlugin.
1696
1697 2009-10-15  Eric Carlson  <eric.carlson@apple.com>
1698
1699         Reviewed by Adele Peterson.
1700
1701         <rdar://problem/7306052> Fullscreen max/min volume buttons non-functional
1702
1703         * WebView/WebVideoFullscreenHUDWindowController.mm:
1704         (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Set volume buttons target and action.
1705         (-[WebVideoFullscreenHUDWindowController decrementVolume:]): New, decrement the volume by 10%.
1706         (-[WebVideoFullscreenHUDWindowController incrementVolume:]): New, increment the volume by 10%.
1707
1708 2009-10-15  Eric Carlson  <eric.carlson@apple.com>
1709
1710         Reviewed by Simon Fraser.
1711
1712         <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode
1713
1714         * WebView/WebVideoFullscreenHUDWindowController.mm:
1715         (-[WebVideoFullscreenHUDWindowController setVolume:]): Unmute movie before changing volume.
1716
1717 2009-10-14  Kevin Decker  <kdecker@apple.com>
1718
1719         Unbreak the world.
1720         
1721         * Plugins/WebBaseNetscapePluginView.mm:
1722         (WebHaltablePlugin::restart):
1723
1724 2009-10-14  Kevin Decker  <kdecker@apple.com>
1725
1726         Reviewed by Anders Carlsson and Jon Honeycutt
1727
1728         <rdar://problem/7304295> snapshots of halted plug-ins are missing
1729         
1730         * Plugins/WebBaseNetscapePluginView.mm: Move bodies of WebHaltablePlugin virtual functions from WebHaltablePlugin class definition.
1731         (WebHaltablePlugin::halt): Provide a substitute image to the RenderWidget for the plug-in view.
1732         (WebHaltablePlugin::restart): Clear the substitute image.
1733
1734 2009-10-13  Dave Hyatt  <hyatt@apple.com>
1735
1736         Reviewed by Adam Roben.
1737
1738         Change the order of arguments on some methods.  Split removal for user stylesheets and script into
1739         separate functions based off the type of object being removed.
1740
1741         * WebView/WebView.mm:
1742         (+[WebView _addUserScriptToGroup:worldID:source:url:whitelist:blacklist:injectionTime:]):
1743         (+[WebView _addUserStyleSheetToGroup:worldID:source:url:whitelist:blacklist:]):
1744         (+[WebView _removeUserScriptFromGroup:worldID:url:]):
1745         (+[WebView _removeUserStyleSheetFromGroup:worldID:url:]):
1746         (+[WebView _removeUserScriptsFromGroup:worldID:]):
1747         (+[WebView _removeUserStyleSheetsFromGroup:worldID:]):
1748         * WebView/WebViewPrivate.h:
1749
1750 2009-10-13  Anders Carlsson  <andersca@apple.com>
1751
1752         Reviewed by Sam Weinig.
1753
1754         <rdar://problem/6660507> Add "privacy mode" to Netscape Plug-in API
1755
1756         Listen for WebPreferences notifications and update the _isPrivateBrowsingEnabled ivar 
1757         when the value changes. Also call -[WebBaseNetscapePluginView privateBrowsingModeDidChange] when the
1758         value changes. In process this just calls NPP_SetValue, and OOP it sends a MIG message to the plug-in host.
1759         
1760         * Plugins/Hosted/NetscapePluginHostManager.h:
1761         * Plugins/Hosted/NetscapePluginHostManager.mm:
1762         (WebKit::NetscapePluginHostManager::instantiatePlugin):
1763         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1764         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1765         (WebKit::NetscapePluginInstanceProxy::privateBrowsingModeDidChange):
1766         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1767         (-[WebHostedNetscapePluginView createPlugin]):
1768         (-[WebHostedNetscapePluginView privateBrowsingModeDidChange]):
1769         * Plugins/Hosted/WebKitPluginHost.defs:
1770         * Plugins/WebBaseNetscapePluginView.h:
1771         * Plugins/WebBaseNetscapePluginView.mm:
1772         (-[WebBaseNetscapePluginView privateBrowsingModeDidChange]):
1773         (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
1774         (-[WebBaseNetscapePluginView preferencesHaveChanged:]):
1775         * Plugins/WebNetscapePluginView.mm:
1776         (-[WebNetscapePluginView privateBrowsingModeDidChange]):
1777         (-[WebNetscapePluginView getVariable:value:]):
1778
1779 2009-10-12  Simon Fraser  <simon.fraser@apple.com>
1780
1781         Reviewed by Darin Adler.
1782
1783         Video keeps playing after going fullscreen, then closing window
1784         https://bugs.webkit.org/show_bug.cgi?id=30164
1785         
1786         Clear the QTMovie on the QTMovieView when coming out of fullscreen,
1787         to fix issue where the underlying movie keeps playing.
1788
1789         * WebView/WebVideoFullscreenController.mm:
1790         (-[WebVideoFullscreenController windowDidExitFullscreen]):
1791
1792 2009-10-11  Dan Bernstein  <mitz@apple.com>
1793
1794         Reviewed by Darin Adler.
1795
1796         <rdar://problem/7294267> REGRESSION (r48492): Gmail voice and video chat
1797         doesn’t work
1798         https://bugs.webkit.org/show_bug.cgi?id=30295
1799
1800         Test: plugins/setProperty.html
1801
1802         * Plugins/Hosted/ProxyInstance.mm:
1803         (WebKit::ProxyInstance::setFieldValue): Fixed a typo. The function
1804         should return early if m_instanceProxy is null.
1805
1806 2009-10-09  Adam Barth  <abarth@webkit.org>
1807
1808         Reviewed by Darin Adler.
1809
1810         Factor HistoryController out of FrameLoader
1811         https://bugs.webkit.org/show_bug.cgi?id=30246
1812
1813         Update API call.
1814
1815         * WebCoreSupport/WebFrameLoaderClient.mm:
1816         (WebFrameLoaderClient::restoreViewState):
1817         * WebView/WebView.mm:
1818         (-[WebView _loadBackForwardListFromOtherView:]):
1819
1820 2009-10-09  Mark Rowe  <mrowe@apple.com>
1821
1822         Reviewed by Brady Eidson.
1823
1824         <rdar://problem/7290671> Crash after navigating away from a page with subframe containing plug-in
1825
1826         At the time that -stop is called on a WebBaseNetscapePluginView that is contained within a subframe
1827         the WebFrame's data source has been zeroed out.  This was causing -[WebBaseNetscapePluginView webFrame]
1828         to return nil during -stop, preventing the plug-in view from unregistering itself from the PluginHalter.
1829         We fix this by having -webFrame retrieve the frame directly rather than retrieving it from the data source.
1830
1831         * Plugins/WebBaseNetscapePluginView.mm:
1832         (-[WebBaseNetscapePluginView dataSource]): Get the data source from the WebFrame.
1833         (-[WebBaseNetscapePluginView webFrame]): Get the Frame directly from the element's document rather
1834         than taking a windy route through the WebDataSource.
1835
1836 2009-10-09  Brady Eidson  <beidson@apple.com>
1837
1838         Reviewed by Dan Bernstein.
1839
1840         Add SPI to specifically enable visited link tracking.
1841
1842         * History/WebHistory.mm:
1843         (+[WebHistory _setVisitedLinkTrackingEnabled:]):
1844         * History/WebHistoryPrivate.h:
1845
1846 2009-10-08  Jon Honeycutt  <jhoneycutt@apple.com>
1847
1848         Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking
1849         for the existence of a PluginHalterDelegate.
1850
1851         Reviewed by Dan Bernstein.
1852
1853         * WebCoreSupport/WebPluginHalterClient.h:
1854         Add declaration for new function.
1855
1856         * WebCoreSupport/WebPluginHalterClient.mm:
1857         (WebPluginHalterClient::enabled):
1858         Check whether the UIDelegate responds to shouldHaltPlugin.
1859
1860         * WebView/WebPreferenceKeysPrivate.h:
1861         Remove the "enabled" preference key.
1862
1863         * WebView/WebPreferences.mm:
1864         (+[WebPreferences initialize]):
1865         Remove the initialization of the pref.
1866
1867         * WebView/WebPreferencesPrivate.h:
1868         Remove the getter/setter for this pref.
1869
1870         * WebView/WebView.mm:
1871         (-[WebView _preferencesChangedNotification:]):
1872         Remove propagation of the pref. 
1873
1874 2009-10-08  Adam Barth  <abarth@webkit.org>
1875
1876         Reviewed by Eric Seidel.
1877
1878         Move executeScript from FrameLoader to ScriptController
1879         https://bugs.webkit.org/show_bug.cgi?id=30200
1880
1881         Update API call.
1882
1883         * WebView/WebFrame.mm:
1884         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1885         * WebView/WebView.mm:
1886         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
1887
1888 2009-10-08  Brady Eidson  <beidson@apple.com>
1889
1890         Reviewed by Dan Bernstein.
1891
1892         Ask the History Delegate to populate the visited links hash.
1893         <rdar://problem/7285293> and https://webkit.org/b/29904
1894
1895         * History/WebHistory.mm:
1896         (+[WebHistory _removeAllVisitedLinks]):
1897         * History/WebHistoryPrivate.h:
1898         * WebCoreSupport/WebChromeClient.mm:
1899         (WebChromeClient::populateVisitedLinks):
1900         * WebView/WebDelegateImplementationCaching.h:
1901         * WebView/WebDelegateImplementationCaching.mm:
1902         (CallHistoryDelegate):
1903         * WebView/WebHistoryDelegate.h:
1904         * WebView/WebView.mm:
1905         (-[WebView _cacheHistoryDelegateImplementations]):
1906         (-[WebView addVisitedLinks:]):
1907         * WebView/WebViewPrivate.h:
1908
1909 2009-10-08  Anders Carlsson  <andersca@apple.com>
1910
1911         Reviewed by Sam Weinig.
1912
1913         Remove the shouldLoadMediaElementURL implementation.
1914
1915         * WebCoreSupport/WebFrameLoaderClient.h:
1916         * WebCoreSupport/WebFrameLoaderClient.mm:
1917         * WebView/WebPolicyDelegatePrivate.h:
1918
1919 2009-10-07  Simon Fraser  <simon.fraser@apple.com>
1920
1921         Re-land 49269-49271 since reverting them did not fix the tests.
1922
1923         * WebView/WebHTMLView.mm:
1924         (-[WebHTMLView drawRect:]):
1925
1926 2009-10-07  Simon Fraser  <simon.fraser@apple.com>
1927
1928         Revert 49269-49271 to see if it fixes test failures on SnowLeopard that do not
1929         reproduce locally.
1930
1931         * WebView/WebHTMLView.mm:
1932         (-[WebHTMLView drawRect:]):
1933
1934 2009-10-07  Adam Barth  <abarth@webkit.org>
1935
1936         Reviewed by Darin Adler.
1937
1938         Factor PolicyChecker out of FrameLoader
1939         https://bugs.webkit.org/show_bug.cgi?id=30155
1940
1941         Move the policy callback to the policy object.
1942
1943         * WebCoreSupport/WebFrameLoaderClient.mm:
1944         (WebFrameLoaderClient::dispatchWillSubmitForm):
1945         (WebFrameLoaderClient::receivedPolicyDecison):
1946
1947 2009-10-07  Brady Eidson  <beidson@apple.com>
1948
1949         Reviewed by Darin Adler.
1950
1951         Send title changes to the global history delegate.
1952         <rdar://problem/7285293> and https://webkit.org/b/29904
1953
1954         * WebCoreSupport/WebFrameLoaderClient.mm:
1955         (WebFrameLoaderClient::setTitle):
1956         * WebView/WebDelegateImplementationCaching.h:
1957         * WebView/WebHistoryDelegate.h:
1958         * WebView/WebView.mm:
1959         (-[WebView _cacheHistoryDelegateImplementations]):
1960
1961 2009-10-07  Darin Adler  <darin@apple.com>
1962
1963         Reviewed by John Sullivan.
1964
1965         Make the setMetadataURL function foolproof by having it remove user info
1966         https://bugs.webkit.org/show_bug.cgi?id=30178
1967         rdar://problem/6544670
1968
1969         * Misc/WebNSFileManagerExtras.m:
1970         (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]):
1971         Call _web_URLByRemovingUserInfo on the passed in URL string after converting
1972         it to a URL, and then convert it back to a string.
1973
1974         * Misc/WebNSURLExtras.h: Added _web_URLByRemovingUserInfo.
1975         * Misc/WebNSURLExtras.mm: Removed unused WebKitURLComponents struct.
1976         (-[NSURL _web_URLByTruncatingOneCharacterBeforeComponent:]): Renamed to be
1977         clearer on what this does.
1978         (-[NSURL _webkit_URLByRemovingFragment]): Changed to call new name.
1979         (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Ditto.
1980         (-[NSURL _web_URLByRemovingComponentAndSubsequentCharacter:]): Added.
1981         (-[NSURL _web_URLByRemovingUserInfo]): Added.
1982
1983 2009-10-07  Simon Fraser  <simon.fraser@apple.com>
1984
1985         Make Dan Bernstein happy.
1986
1987         * WebView/WebHTMLView.mm:
1988         (-[WebHTMLView drawRect:]):
1989
1990 2009-10-07  Simon Fraser  <simon.fraser@apple.com>
1991
1992         Reviewed by Dan Bernstein.
1993
1994         Avoid Obj-C message dispatch when possible by storing accessed objects
1995         in local variables.
1996
1997         * WebView/WebHTMLView.mm:
1998         (-[WebHTMLView drawRect:]):
1999
2000 2009-10-07  Simon Fraser  <simon.fraser@apple.com>
2001
2002         Reviewed by Dan Bernstein.
2003
2004         Animation stalls for a few seconds partway through
2005         https://bugs.webkit.org/show_bug.cgi?id=30182
2006         
2007         Make sure that we only call -disableScreenUpdatesUntilFlush when a window
2008         update is actually going to happen, otherwise screen updates are disabled
2009         for too long.
2010
2011         * WebView/WebHTMLView.mm:
2012         (-[WebHTMLView drawRect:]):
2013
2014 2009-10-06  Pavel Feldman  <pfeldman@chromium.org>
2015
2016         Reviewed by Timothy Hatcher.
2017
2018         Web Inspector: default to an attached inspector window on Windows (as on Mac).
2019
2020         https://bugs.webkit.org/show_bug.cgi?id=30134
2021
2022         * WebCoreSupport/WebInspectorClient.mm:
2023         (-[WebInspectorWindowController showWindow:]):
2024
2025 2009-10-06  Adam Barth  <abarth@webkit.org>
2026
2027         Reviewed by Eric Seidel.
2028
2029         Move FrameLoader::canLoad to SecurityOrigin
2030         https://bugs.webkit.org/show_bug.cgi?id=30111
2031
2032         * Plugins/Hosted/HostedNetscapePluginStream.mm:
2033         (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
2034         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2035         (WebKit::NetscapePluginInstanceProxy::loadRequest):
2036         * Plugins/WebBaseNetscapePluginStream.mm:
2037         (WebNetscapePluginStream::WebNetscapePluginStream):
2038         * Plugins/WebNetscapePluginView.mm:
2039         (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2040         * Plugins/WebPluginContainerCheck.mm:
2041         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
2042         * WebView/WebFrame.mm:
2043         (-[WebFrame _allowsFollowingLink:]):
2044
2045 2009-10-06  Adam Barth  <abarth@webkit.org>
2046
2047         Reviewed by Eric Seidel.
2048
2049         Move setLocalLoadPolicy and friends to SecurityOrigin
2050         https://bugs.webkit.org/show_bug.cgi?id=30110
2051
2052         Call the new API.
2053
2054         * WebView/WebView.mm:
2055         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2056
2057 2009-10-06  Simon Fraser  <simon.fraser@apple.com>
2058
2059         Reviewed by Mark Rowe.
2060
2061         accessibility/media-element.html crashes (and has incorrect result)
2062         https://bugs.webkit.org/show_bug.cgi?id=30108
2063
2064         Fix up the accessibilty label for the newly added fullscreen button,
2065         and update the test result accordingly.
2066
2067         * WebCoreSupport/WebViewFactory.mm:
2068         (-[WebViewFactory localizedMediaControlElementString:]):
2069         Handle "ControlsPanel" which is just an empty container, to avoid
2070         asserting in debug builds.
2071
2072 2009-10-06  Daniel Bates  <dbates@webkit.org>
2073
2074         Reviewed by Eric Seidel.
2075
2076         https://bugs.webkit.org/show_bug.cgi?id=30107
2077         
2078         Fixes an issue where the Mac build does return the correct drop effect
2079         with respect to the HTML 5 specification when effectAllowed == "none".
2080         
2081         Currently, when effectAllowed == "none" and dropEffect == "copy" or 
2082         dropEffect == "move" the resulting drop effect is "copy" and "move",
2083         respectively. However, the HTML 5 specification states that regardless
2084         of the specified dropEffect, when effectAllowed == "none" the resulting
2085         drop effect should be "none".
2086
2087         * WebView/WebHTMLView.mm:
2088         (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
2089
2090 2009-10-06  Pavel Feldman  <pfeldman@chromium.org>
2091
2092         Reviewed by Timothy Hatcher.
2093
2094         Web Inspector: close inspector client view on
2095         InspectorController::close API call.
2096
2097         In order to run batch web inspector layout tests (and not affect 
2098         subsequent tests) we should close inspector client's view upon
2099         InspectorController::close API call.
2100
2101         https://bugs.webkit.org/show_bug.cgi?id=30009
2102
2103         * WebCoreSupport/WebInspectorClient.mm:
2104         (WebInspectorClient::createPage):
2105
2106 2009-10-05  Dan Bernstein  <mitz@apple.com>
2107
2108         Rubber-stamped by Mark Rowe.
2109
2110         Moved a WebPluginHalterClient out of the WebCore namesapce.
2111
2112         * WebCoreSupport/WebPluginHalterClient.h:
2113
2114 2009-10-05  Kevin Decker  <kdecker@apple.com>
2115
2116         Reviewed by Dan Bernstein.
2117
2118         Added new PluginHalter client, delegate and few more WebPreferences keys.
2119
2120         * WebView/WebPreferenceKeysPrivate.h: Added two new keys.
2121         * WebView/WebPreferences.mm:
2122         (+[WebPreferences initialize]): Initialize newly added key.
2123         (-[WebPreferences pluginAllowedRunTime]): Added.
2124         (-[WebPreferences setPluginAllowedRunTime:]): Added.
2125         * WebView/WebPreferencesPrivate.h: Added above two methods.
2126         * WebView/WebUIDelegatePrivate.h: Added shouldHaltPlugin delegate.
2127         * WebView/WebView.mm:
2128         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2129         Setup a new WebPluginHalterClient.
2130         (-[WebView _preferencesChangedNotification:]): Update WebCore settings accordingly.
2131         * WebCoreSupport/WebPluginHalterClient.h: Added.
2132         * WebCoreSupport/WebPluginHalterClient.mm: Added.
2133         (WebPluginHalterClient::WebPluginHalterClient):
2134         (WebPluginHalterClient::shouldHaltPlugin): Added, invoke the delegate.
2135
2136 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
2137
2138         More build fixes for Tiger.
2139
2140         * WebView/WebVideoFullscreenController.mm:
2141
2142 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
2143
2144         More build fixes for Tiger.
2145
2146         * WebView/WebVideoFullscreenController.mm:
2147         (-[WebVideoFullscreenWindow animationDidEnd:]):
2148         * WebView/WebWindowAnimation.m:
2149
2150 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
2151
2152         More build fixes for Tiger.
2153
2154         * WebView/WebVideoFullscreenController.mm:
2155         * WebView/WebVideoFullscreenHUDWindowController.mm:
2156         (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]):
2157         (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]):
2158         (-[WebVideoFullscreenHUDWindowController fadeWindowIn]):
2159         (-[WebVideoFullscreenHUDWindowController fadeWindowOut]):
2160         (-[WebVideoFullscreenHUDWindowController closeWindow]):
2161
2162 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
2163
2164         Build fixes for Tiger.
2165
2166         * WebView/WebVideoFullscreenHUDWindowController.h:
2167         * WebView/WebVideoFullscreenHUDWindowController.mm:
2168         (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]):
2169         (-[WebVideoFullscreenHUDWindowController dealloc]):
2170         (-[WebVideoFullscreenHUDWindowController closeWindow]):
2171         (-[WebVideoFullscreenHUDWindowController windowDidLoad]):
2172
2173 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
2174
2175         Build fix. If you call Node::hasTagName(), you also have to include Element.h.
2176
2177         * WebCoreSupport/WebChromeClient.mm:
2178
2179 2009-10-05  Pierre d'Herbemont  <pdherbemont@webkit.org>
2180
2181         Reviewed by Simon Fraser
2182         
2183         Support fullscreen in MediaPlayer (Mac)
2184         https://bugs.webkit.org/show_bug.cgi?id=26742
2185
2186         Add a fullscreen button to the <video> controller if the media engine,
2187         and the theme have support for fullscreen, and can show appropriate controls.
2188         Clicking the button calls through the ChromeClient to the WebVideoFullscreenController
2189         in WebKit to do a nice animation to fullscreen, with a custom controller.
2190
2191         * WebCoreSupport/WebChromeClient.h:
2192         * WebCoreSupport/WebChromeClient.mm:
2193         (WebChromeClient::supportsFullscreenForNode):
2194         (WebChromeClient::enterFullscreenForNode):
2195         (WebChromeClient::exitFullscreenForNode):
2196         New methods to ask whether fullscreen is possible for a given node, and
2197         notifications on enterying and exiting fullscreen.
2198         
2199         * WebView/WebVideoFullscreenController.h: Added.
2200         * WebView/WebVideoFullscreenController.mm: Added.
2201         WebVideoFullscreenController is responsible for creating the fullscreen window,
2202         and coordinating the various animations when going fullscreen.
2203
2204         * WebView/WebVideoFullscreenHUDWindowController.h: Added.
2205         * WebView/WebVideoFullscreenHUDWindowController.mm: Added.
2206         This class manages the heads-up display (HUD) control bar.
2207
2208         * WebView/WebView.mm:
2209         (-[WebView _close]):
2210         Make sure we come out of fullscreen if the WebView is torn down (e.g. if
2211         you close a background window).
2212
2213         (-[WebView _enterFullscreenForNode:WebCore::]):
2214         Make a WebVideoFullscreenController and tell is to start to go fullscreen.
2215         
2216         (-[WebView _exitFullscreen]):
2217         Tell the WebVideoFullscreenController to come out of fullscreen, and clean up.
2218         
2219         * WebView/WebViewData.h:
2220         * WebView/WebViewData.mm:
2221         (-[WebViewPrivate dealloc]):
2222         (-[WebViewPrivate finalize]):
2223         * WebView/WebViewInternal.h:
2224         Keep a pointer to the WebVideoFullscreenController.
2225         
2226         * WebView/WebWindowAnimation.h: Added.
2227         * WebView/WebWindowAnimation.m: Added.
2228         (WebWindowAnimationDurationFromDuration):
2229         (scaledRect):
2230         (squaredDistance):
2231         Handle the animations used during the transitition to fullscreen.
2232
2233 2009-10-05  Anders Carlsson  <andersca@apple.com>
2234
2235         Reviewed by Kevin Decker.
2236        
2237         WebKit side of <rdar://problem/7179166>
2238        
2239         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2240         Add an m_pluginIsWaitingForDraw member variable.
2241         
2242         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2243         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
2244         Initialize m_pluginIsWaitingForDraw.
2245         
2246         (WebKit::NetscapePluginInstanceProxy::invalidateRect):
2247         Set m_pluginIsWaitingForDraw to true.
2248         
2249         (WebKit::NetscapePluginInstanceProxy::didDraw):
2250         If m_pluginIsWaitingForDraw is true, call _WKPHPluginInstanceDidDraw.
2251         
2252         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2253         (-[WebHostedNetscapePluginView drawRect:]):
2254         Call didDraw.
2255         
2256         * Plugins/Hosted/WebKitPluginHost.defs:
2257         Add PHPluginInstanceDidDraw.
2258
2259 2009-10-02  Chris Marrin  <cmarrin@apple.com>
2260
2261         Reviewed by Adele Peterson.
2262
2263         Add functionality to pause/throttle CSS transitions/animations in a WebView
2264         https://bugs.webkit.org/show_bug.cgi?id=29942
2265
2266         Added both a setter and getter function
2267
2268         * WebView/WebView.mm:
2269         (-[WebView cssAnimationsSuspended]):
2270         (-[WebView setCSSAnimationsSuspended:]):
2271         * WebView/WebViewData.h:
2272         * WebView/WebViewData.mm:
2273         (-[WebViewPrivate init]):
2274         * WebView/WebViewPrivate.h:
2275
2276 2009-10-04  Kevin Decker  <kdecker@apple.com>
2277
2278         Reviewed by Sam Weinig.
2279
2280         <rdar://problem/7273363> Plug-ins should use PluginHalter
2281         
2282         * Plugins/WebBaseNetscapePluginView.h: Add WebHaltablePlugin forward declare and _haltable ivar.
2283         * Plugins/WebBaseNetscapePluginView.mm:
2284         (WebHaltablePlugin::WebHaltablePlugin): Added.
2285         (WebHaltablePlugin::halt): New method that stops a plug-in.
2286         (WebHaltablePlugin::restart): New method that starts a plug-in.
2287         (WebHaltablePlugin::node): Added. Provides the DOMNode corresponding to the plug-in in WebBaseNetscapePluginView.
2288         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
2289         Initialize new _haltable ivar.
2290         (-[WebBaseNetscapePluginView start]): Call the page's didStartPlugin() upon starting a plug-in.
2291         (-[WebBaseNetscapePluginView stop]): Call the page's didStopPlugin() upon stopping a plug-in.
2292
2293 2009-10-05  Pavel Feldman  <pfeldman@chromium.org>
2294
2295         Reviewed by Timothy Hatcher.
2296
2297         Web Inspector: add testing harness for Web Inspector.
2298
2299         https://bugs.webkit.org/show_bug.cgi?id=30010
2300
2301         * WebInspector/WebInspector.mm:
2302         (-[WebInspector evaluateInFrontend:callId:script:]):
2303         * WebInspector/WebInspectorPrivate.h: Added.
2304
2305 2009-10-04  Kevin Decker  <kdecker@apple.com>
2306
2307         Reviewed by Cameron Zwarich.
2308
2309         * WebView/WebPreferenceKeysPrivate.h: Added new key.
2310         * WebView/WebPreferences.mm:
2311         (+[WebPreferences initialize]): Leave plug-in halting disabled by default.
2312         (-[WebPreferences pluginHalterEnabled]): Added.
2313         (-[WebPreferences setPluginHalterEnabled:]): Ditto.
2314         * WebView/WebPreferencesPrivate.h: Added above new methods. 
2315
2316 2009-10-02  Dave Hyatt  <hyatt@apple.com>
2317
2318         Reviewed by Adam Roben.
2319
2320         Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.
2321
2322         * WebView/WebView.mm:
2323         (toStringVector):
2324         (+[WebView _addUserScriptToGroup:source:url:worldID:whitelist:blacklist:injectionTime:]):
2325         (+[WebView _addUserStyleSheetToGroup:source:url:worldID:whitelist:blacklist:]):
2326         * WebView/WebViewPrivate.h:
2327
2328 2009-10-01  Mark Rowe  <mrowe@apple.com>
2329
2330         Fix the Tiger build.  Don't unconditionally enable 3D canvas as it is not supported on Tiger.
2331
2332         * Configurations/FeatureDefines.xcconfig:
2333
2334 2009-10-01  Chris Marrin  <cmarrin@apple.com>
2335
2336         Reviewed by Oliver Hunt.
2337
2338         Turn on ENABLE_3D_CANVAS in TOT
2339         https://bugs.webkit.org/show_bug.cgi?id=29906
2340
2341         * Configurations/FeatureDefines.xcconfig:
2342         * WebView/WebPreferenceKeysPrivate.h:
2343         * WebView/WebPreferences.mm:
2344         (+[WebPreferences initialize]):
2345         (-[WebPreferences webGLEnabled]):
2346         (-[WebPreferences setWebGLEnabled:]):
2347         * WebView/WebPreferencesPrivate.h:
2348         * WebView/WebView.mm:
2349         (-[WebView _preferencesChangedNotification:]):
2350
2351 2009-09-30  Sam Weinig  <sam@webkit.org>
2352
2353         Reviewed by Dan Bernstein.
2354
2355         Fix for <rdar://problem/7259706>
2356         Need WebKit API or SPI on Mac and Windows to test whether it's safe to load a page in a new tab/window
2357
2358         * WebView/WebFrame.mm:
2359         (-[WebFrame _allowsFollowingLink:]):
2360         * WebView/WebFramePrivate.h:
2361
2362 2009-09-30  Dave Hyatt  <hyatt@apple.com>
2363
2364         Reviewed by Adam Roben.
2365
2366         Add the ability to remove user stylesheets and scripts by URL.
2367
2368         * WebView/WebView.mm:
2369         (+[WebView _removeUserContentFromGroup:url:worldID:]):
2370         * WebView/WebViewPrivate.h:
2371
2372 2009-09-29  Brady Eidson  <beidson@apple.com>
2373
2374         Rubberstamped by Dan Bernstein.
2375
2376         Fix license and some sorting in new files.
2377
2378         * WebView/WebHistoryDelegate.h:
2379         * WebView/WebNavigationData.h:
2380         * WebView/WebNavigationData.mm:
2381
2382 2009-09-29  Brady Eidson  <beidson@apple.com>
2383
2384         Reviewed by John Sullivan.
2385
2386         WebKit Mac API should provide a delegate interface for global history.
2387         <rdar://problem/7042773> and https://webkit.org/b/29904
2388
2389         * WebView/WebHistoryDelegate.h: Added. New interface for WebKit clients to implement to manage 
2390           their own global history store.
2391
2392         Object to store all of the bits of data relevant to a page visit:
2393         * WebView/WebNavigationData.h: Added.
2394         * WebView/WebNavigationData.mm: Added.
2395         (-[WebNavigationDataPrivate dealloc]):
2396         (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
2397         (-[WebNavigationData url]):
2398         (-[WebNavigationData title]):
2399         (-[WebNavigationData originalRequest]):
2400         (-[WebNavigationData response]):
2401         (-[WebNavigationData hasSubstituteData]):
2402         (-[WebNavigationData clientRedirectSource]):
2403         (-[WebNavigationData dealloc]):
2404
2405         * WebCoreSupport/WebFrameLoaderClient.mm:
2406         (WebFrameLoaderClient::updateGlobalHistory): If the delegate exists, don't use the built-in WebHistory.
2407           If the implementation for this method exists, call it.
2408         (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Ditto
2409
2410         * WebView/WebDelegateImplementationCaching.h:
2411         * WebView/WebDelegateImplementationCaching.mm:
2412         (WebViewGetHistoryDelegateImplementations):
2413         (CallHistoryDelegate):
2414
2415         * WebView/WebView.mm:
2416         (-[WebView _cacheHistoryDelegateImplementations]):
2417         (-[WebView setHistoryDelegate:]):
2418         (-[WebView historyDelegate]):
2419         * WebView/WebViewData.h:
2420         * WebView/WebViewPrivate.h:
2421
2422 2009-09-29  Kenneth Russell  <kbr@google.com>
2423
2424         Reviewed by Dimitri Glazkov.
2425
2426         Add support for run-time flag for 3D canvas
2427         https://bugs.webkit.org/show_bug.cgi?id=29826
2428
2429         * WebView/WebView.mm:
2430         (-[WebView _preferencesChangedNotification:]): Enable experimental
2431         WebGL flag when 3D_CANVAS is enabled in the build.
2432
2433 2009-09-28  Fumitoshi Ukai  <ukai@chromium.org>
2434
2435         Reviewed by Eric Seidel.
2436
2437         Add experimentalWebSocketsEnabled in WebPreferences.
2438         https://bugs.webkit.org/show_bug.cgi?id=28941
2439
2440         * WebView/WebPreferenceKeysPrivate.h:
2441         * WebView/WebPreferences.mm:
2442         (+[WebPreferences initialize]):
2443         (-[WebPreferences experimentalWebSocketsEnabled]):
2444         (-[WebPreferences setExperimentalWebSocketsEnabled:]):
2445         * WebView/WebPreferencesPrivate.h:
2446         * WebView/WebView.mm:
2447         (-[WebView _preferencesChangedNotification:]):
2448
2449 2009-09-28  Dan Bernstein  <mitz@apple.com>
2450
2451         Reviewed by Anders Carlsson.
2452
2453         <rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading
2454         a PDF
2455
2456         CGPDFObjectRef is not a CFTypeRef, and cannot be retained or released.
2457         Its lifetime is managed by its container. Just use a Vector to store
2458         CGPDFObjectRefs, relying on the CGPDFDocument to keep them alive.
2459
2460         * WebView/WebPDFDocumentExtras.mm:
2461         (appendValuesInPDFNameSubtreeToVector):
2462         (getAllValuesInPDFNameTree):
2463         (web_PDFDocumentAllScripts):
2464
2465 2009-09-24  Jon Honeycutt  <jhoneycutt@apple.com>
2466
2467         Reviewed by Alice Liu.
2468
2469         * WebView/WebView.mm:
2470         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2471         Pass 0 for new Page constructor argument.
2472
2473 2009-09-14  John Gregg  <johnnyg@google.com>
2474
2475         Reviewed by Eric Seidel.
2476
2477         isEnabled switch for notifications (experimental) in Page Settings
2478         https://bugs.webkit.org/show_bug.cgi?id=28930
2479
2480         Adds support for the experimentalNotificationsEnabled flag in Settings
2481         through WebPreferencesPrivate.
2482
2483         * WebView/WebPreferenceKeysPrivate.h:
2484         * WebView/WebPreferences.mm:
2485         (+[WebPreferences initialize]):
2486         (-[WebPreferences experimentalNotificationsEnabled]):
2487         (-[WebPreferences setExperimentalNotificationsEnabled:]):
2488         * WebView/WebPreferencesPrivate.h:
2489         * WebView/WebView.mm:
2490         (-[WebView _preferencesChangedNotification:]):
2491
2492 2009-09-23  Geoffrey Garen  <ggaren@apple.com>
2493
2494         Reviewed by Sam Weinig.
2495
2496         Updated for a WebCore rename.
2497
2498         * WebView/WebFrame.mm:
2499         (-[WebFrame _cacheabilityDictionary]):
2500
2501 2009-09-23  Darin Adler  <darin@apple.com>
2502
2503         Reviewed by Dan Bernstein.
2504
2505         Speed up access to history items by caching date computation.
2506
2507         * History/WebHistory.mm:
2508         (getDayBoundaries): Refactored from timeIntervalForBeginningOfDay.
2509         Returns the beginning of the day that the passed time is within and
2510         the beginning of the next day.
2511         (beginningOfDay): Added. Uses getDayBoundaries so it can be fast for
2512         multiple dates within the same day, which is the common case.
2513         (dateKey): Added. Calls beginningOfDay and converts to an integer.
2514         (-[WebHistoryPrivate findKey:forDay:]): Changed to call dateKey
2515         insetad of timeIntervalForBeginningOfDay.
2516
2517 2009-09-23  David Kilzer  <ddkilzer@apple.com>
2518
2519         Move definition of USE(PLUGIN_HOST_PROCESS) from WebKitPrefix.h to Platform.h
2520
2521         Reviewed by Mark Rowe.
2522
2523         * WebKitPrefix.h: Removed definition of
2524         WTF_USE_PLUGIN_HOST_PROCESS.
2525
2526 2009-09-22  Timothy Hatcher  <timothy@apple.com>
2527
2528         Prevent scrolling multiple frames during latched wheel events.
2529
2530         Reviewed by Anders Carlsson.
2531
2532         * WebView/WebDynamicScrollBarsView.h:
2533         * WebView/WebDynamicScrollBarsView.mm:
2534         (-[WebDynamicScrollBarsView scrollWheel:]):
2535
2536 2009-09-22  Dan Bernstein  <mitz@apple.com>
2537
2538         Reviewed by John Sullivan.
2539
2540         <rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading
2541         a PDF
2542
2543         * WebView/WebPDFDocumentExtras.mm:
2544         (addWebPDFDocumentExtras): Made methodList static, because
2545         class_addMethods() doesn't copy it.
2546
2547 2009-09-21  Dan Bernstein  <mitz@apple.com>
2548
2549         Attempt to fix the Tiger build
2550
2551         * WebView/WebPDFDocumentExtras.mm:
2552         (addWebPDFDocumentExtras):
2553
2554 2009-09-21  Dan Bernstein  <mitz@apple.com>
2555
2556         Attempt to fix the Tiger build
2557
2558         * WebView/WebPDFDocumentExtras.mm:
2559         (web_PDFDocumentAllScripts):
2560         (addWebPDFDocumentExtras):
2561
2562 2009-09-21  Dan Bernstein  <mitz@apple.com>
2563
2564         Attempt to fix the Tiger build
2565
2566         * WebView/WebPDFDocumentExtras.mm:
2567         * WebView/WebPDFRepresentation.mm:
2568
2569 2009-09-21  Dan Bernstein  <mitz@apple.com>
2570
2571         Attempt to fix the Leopard and Tiger builds
2572
2573         * WebView/WebPDFDocumentExtras.mm:
2574
2575 2009-09-21  Dan Bernstein  <mitz@apple.com>
2576
2577         Reviewed by Anders Carlsson.
2578
2579         <rdar://problem/4137135> iFrame with PDF not being handled correctly on
2580         usps.com
2581         https://bugs.webkit.org/show_bug.cgi?id=4151
2582
2583         * WebView/WebJSPDFDoc.h: Added.
2584         * WebView/WebJSPDFDoc.mm: Added.
2585         (jsPDFDocInitialize): Retains the WebDataSource.
2586         (jsPDFDocFinalize): Releases the WebDataSource.
2587         (jsPDFDocPrint): Call the WebUIDelegate method -webView:printFrameView:
2588         with the PDF document's view.
2589         (makeJSPDFDoc): Makes and returns a JavaScript Doc instance that wraps
2590         the WebDataSource.
2591         * WebView/WebPDFDocumentExtras.h: Added.
2592         * WebView/WebPDFDocumentExtras.mm: Added.
2593         (appendValuesInPDFNameSubtreeToArray): Traverses a subtree of a PDF name
2594         tree and adds all values in the subtree to an array.
2595         (allValuesInPDFNameTree): Returns an array with all of the values in a
2596         PDF name tree.
2597         (web_PDFDocumentAllScripts): This is the implementation of -[PDFDocument
2598         _web_allScripts]. It gets all values in the document-level "JavaScript"
2599         name tree, which are action dictionaries, and returns an array of the
2600         actions' scripts.
2601         (addWebPDFDocumentExtras): Adds the -_web_allScripts method to
2602         PDFDocument.
2603         * WebView/WebPDFRepresentation.h:
2604         * WebView/WebPDFRepresentation.m: Removed.
2605         * WebView/WebPDFRepresentation.mm: Copied from WebKit/mac/WebView/WebPDFRepresentation.m.
2606         (+[WebPDFRepresentation initialize]): Added. Calls
2607         addWebPDFDocumentExtras().
2608         (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Get the
2609         scripts from the PDF document, create a JavaScript Doc object for the
2610         document, and a JavaScript execution context, then execute every script
2611         in the context, with the Doc object as "this".
2612
2613 2009-09-17  Simon Fraser  <simon.fraser@apple.com>
2614
2615         Reviewed by Dave Hyatt.
2616
2617         Compositing layers are incorrectly positioned after scrolling with position:fixed
2618         https://bugs.webkit.org/show_bug.cgi?id=29262
2619         
2620         When scrolling a page with compositing layers inside a position:fixed element,
2621         we need to update the compositing layer positions when the scroll position changes.
2622
2623         * WebView/WebHTMLView.mm:
2624         (-[WebHTMLView _frameOrBoundsChanged]):
2625         Call the new FrameView::scrollPositionChanged() method rather than sending the
2626         scroll event directly.
2627
2628 2009-09-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2629
2630         Reviewed by Simon Hausmann.
2631
2632         Make PlatformWindow return something else than PlatformWidget
2633         https://bugs.webkit.org/show_bug.cgi?id=29085
2634
2635         Reflect the rename of platformWindow and it's return type.
2636
2637         * WebCoreSupport/WebChromeClient.h:
2638         * WebCoreSupport/WebChromeClient.mm:
2639         (WebChromeClient::platformPageClient):
2640
2641 2009-09-17  Anders Carlsson  <andersca@apple.com>
2642
2643         Reviewed by Oliver Hunt.
2644
2645         <rdar://problem/7007541> 
2646         CrashTracer: 4800+ crashes in Safari at com.apple.WebKit • WTF::HashTableIterator...
2647
2648         Add null checks for m_instanceProxy (It will be null when a plug-in has crashed).
2649         
2650         * Plugins/Hosted/ProxyInstance.mm:
2651         (WebKit::ProxyInstance::invoke):
2652         (WebKit::ProxyInstance::supportsInvokeDefaultMethod):
2653         (WebKit::ProxyInstance::supportsConstruct):
2654         (WebKit::ProxyInstance::getPropertyNames):
2655         (WebKit::ProxyInstance::methodsNamed):
2656         (WebKit::ProxyInstance::fieldNamed):
2657         (WebKit::ProxyInstance::fieldValue):
2658         (WebKit::ProxyInstance::setFieldValue):
2659         (WebKit::ProxyInstance::invalidate):
2660
2661 2009-09-16  Simon Fraser  <simon.fraser@apple.com>
2662
2663         Reviewed by Dan Bernstein.
2664
2665         Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and
2666         become misplaced when the WebHTMLView is resized or scrolled sometimes.
2667         <rdar://problem/7071636>
2668         
2669         The previous fix didn't fix the case where the layers jiggle when resizing the docked
2670         inspector when the view size is over 2048px tall, on Leopard.
2671
2672         * WebView/WebHTMLView.mm:
2673         (-[WebHTMLView _updateLayerHostingViewPosition]):
2674
2675 2009-09-16  Simon Fraser  <simon.fraser@apple.com>
2676
2677         Reviewed by Oliver Hunt.
2678
2679         Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and
2680         become misplaced when the WebHTMLView is resized or scrolled sometimes.
2681         <rdar://problem/7071636>
2682         
2683         We call an internal AppKit method to make sure the layer geometry is updated correctly.
2684
2685         * WebView/WebHTMLView.mm:
2686         (-[WebHTMLView _updateLayerHostingViewPosition]):
2687
2688 2009-09-15  Simon Fraser  <simon.fraser@apple.com>
2689
2690         Reviewed by Dan Bernstein.
2691
2692         Fixed position elements flash when CSS transforms are applied on page > 2048px tall
2693         https://bugs.webkit.org/show_bug.cgi?id=27272
2694         
2695         Update the previous workaround for misplaced compositing layers, which used a 4096px
2696         threshold, to 2048px since that's the GPU max texture size on some older hardware.
2697
2698         * WebView/WebHTMLView.mm:
2699         (-[WebHTMLView _updateLayerHostingViewPosition]):
2700
2701 2009-09-15  Alex Milowski  <alex@milowski.com>
2702
2703         Reviewed by Tor Arne Vestbø.
2704
2705         Added the ENABLE_MATHML to the feaure defines
2706
2707         * Configurations/FeatureDefines.xcconfig:
2708
2709 2009-09-15  Mark Rowe  <mrowe@apple.com>
2710
2711         Reviewed by Anders Carlsson.
2712
2713         <rdar://problem/7224378> REGRESSION(r48360): Dragging a tab with a plug-in out of a window, the plug-in gets slow and confused
2714
2715         In r48360, the fix for <rdar://problem/7090444>, I neglected to consider the case where the plug-in had already been started and
2716         -start would do an early-return rather than calling -restartTimers and -addWindowObservers itself.
2717
2718         * Plugins/WebBaseNetscapePluginView.mm:
2719         (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Reinstate the call to -restartTimers and -addWindowObservers, but guard them
2720         with a check that the view is still in the window.
2721
2722 2009-09-14  Brady Eidson  <beidson@apple.com>
2723
2724         Reviewed by Alexey Proskuryakov.
2725
2726         Safari 4 cannot be used to update firmware on Linksys routers.
2727         <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
2728
2729         Adopt the new WebCore::CredentialStorage in WebKit/Mac.
2730
2731         * Misc/WebDownload.mm:
2732         (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
2733         * Plugins/WebBaseNetscapePluginView.mm:
2734         (WebKit::getAuthenticationInfo):
2735
2736 2009-09-12  Mark Rowe  <mrowe@apple.com>
2737
2738         Reviewed by Anders Carlsson.
2739
2740         Fix <rdar://problem/7090444> Crashes in-[WebBaseNetscapePluginView stop] handling NSWindowWillCloseNotification.
2741
2742         It's not valid to call -addWindowObservers when the view is not in a window, but this can happen when -start
2743         initializes a plug-in and the plug-in removes itself from the document during initialization.  -viewDidMoveToWindow
2744         calls -start and then calls -addWindowObservers without ensuring that the view is still in a window.
2745
2746         If -[WebBaseNetscapePluginView addWindowObservers] is incorrectly called when the view is not in a window, it will
2747         observe NSWindowWillCloseNotification on all windows.  This unexpected observer registration is not balanced by an
2748         unregistration so the notification can be delivered after the view is deallocated, causing the crash seen in
2749         <rdar://problem/7090444>.
2750
2751         * Plugins/WebBaseNetscapePluginView.mm:
2752         (-[WebBaseNetscapePluginView start]): Only call -updateAndSetWindow if we still have a current window.
2753         (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Remove unnecessary calls to -restartTimers and -addWindowObservers
2754         from -[WebBaseNetscapePluginView viewDidMoveToWindow].  They are already called from within -start with the extra benefit
2755         of ensuring that the view is still in a window when they are called.
2756
2757 2009-09-11  Mark Rowe  <mrowe@apple.com>
2758
2759         Reviewed by Jon Honeycutt.
2760
2761         Fix <rdar://problem/7145242> Crashes inside WTF::HashTable below NetscapePluginInstanceProxy::disconnectStream
2762
2763         * Plugins/Hosted/HostedNetscapePluginStream.mm:
2764         (WebKit::HostedNetscapePluginStream::cancelLoad): Canceling the load can result in calling through to disconnectStream.
2765         If the plug-in instance holds the last reference to the plug-in stream this will result in the stream being deallocated.
2766         This leads to HostedNetscapePluginStream::cancelLoad's call to disconnectStream being passed a deallocated stream object.
2767         Since the stream was already disconnected by the call to cancel there's no need to call disconnectStream a second time.
2768
2769 2009-09-11  Eric Seidel  <eric@webkit.org>
2770
2771         No review, rolling out r48229.
2772         http://trac.webkit.org/changeset/48229
2773
2774         * WebView/WebFrame.mm:
2775         (-[WebFrame _dragSourceMovedTo:]):
2776
2777 2009-09-10  Mark Rowe  <mrowe@apple.com>
2778
2779         Rubber-stamped by Sam Weinig.
2780
2781         Update JavaScriptCore and WebKit's FeatureDefines.xcconfig so that they are in sync with WebCore as they need to be.
2782
2783         * Configurations/FeatureDefines.xcconfig:
2784
2785 2009-09-09  Jens Alfke  <snej@chromium.org>
2786
2787         Reviewed by Eric Seidel.
2788
2789         Initialize DataTransfer's effectAllowed and dropEffect properties correctly
2790         according to HTML5 spec (sec. 7.9.2-7.9.3).
2791         https://bugs.webkit.org/show_bug.cgi?id=26700
2792
2793         * WebView/WebFrame.mm:
2794         (-[WebFrame _dragSourceMovedTo:]):
2795             Pass current drag operation (if known) to EventHandler::dragSourceMovedTo().
2796
2797 2009-09-09  Dave Hyatt  <hyatt@apple.com>
2798
2799         Reviewed by Adam Roben.
2800
2801         https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection.  This is similar
2802         to user script injection but allows for user stylesheets to be added.  The stylesheets are applied immediately
2803         to all Frames in the PageGroup.
2804
2805         Added userscripts/simple-stylesheet.html test case.
2806
2807         * WebView/WebView.mm:
2808         (+[WebView _addUserStyleSheetToGroup:source:url:worldID:patterns:]):
2809         * WebView/WebViewPrivate.h:
2810
2811 2009-09-07  Steve Block  <steveblock@google.com>
2812
2813         Reviewed by Adam Barth.
2814
2815         Adds a mock Geolocation service. This will be used to provide predictable behavior of the
2816         Geolocation API for use in LayoutTests. Later changes will integrate the the mock
2817         Geolocation service with DumpRenderTree.
2818         https://bugs.webkit.org/show_bug.cgi?id=28264
2819
2820         * WebCoreSupport/WebGeolocationMockPrivate.h: Added.
2821         * WebCoreSupport/WebGeolocationMock.mm: Added.
2822         (+[WebGeolocationMock setError:code:]): Added. Used by DumpRender tree to configure the mock Geolocation service.
2823         (+[WebGeolocationMock setPosition:latitude:longitude:accuracy:]): Added. Used by DumpRender tree to configure the mock Geolocation service.
2824         * WebKit.exp: Modified. Exports WebGeolocationMock.
2825
2826 2009-09-07  Drew Wilson  <atwilson@google.com>
2827
2828         Reviewed by David Levin.
2829
2830         Enable SHARED_WORKERS by default.
2831         https://bugs.webkit.org/show_bug.cgi?id=28959
2832
2833         * Configurations/FeatureDefines.xcconfig:
2834
2835 2009-09-06  Cameron McCormack  <cam@mcc.id.au>
2836
2837         Reviewed by Eric Seidel.
2838
2839         Drop <definition-src> support
2840         https://bugs.webkit.org/show_bug.cgi?id=28991
2841
2842         * MigrateHeaders.make: Remove reference to ObjC definition-src
2843         binding class.
2844
2845 2009-09-04  Mark Mentovai  <mark@chromium.org>
2846
2847         Reviewed by Dave Hyatt.
2848
2849         https://bugs.webkit.org/show_bug.cgi?id=28614
2850
2851         Account for scrollbar state changes that occur during layout.
2852
2853         * WebView/WebDynamicScrollBarsView.mm:
2854         (-[WebDynamicScrollBarsView updateScrollers]):
2855
2856         Perform a layout prior to checking whether the scrollbar modes are
2857         off, on, or automatic.  The modes may change during layout.
2858
2859         * WebView/WebFrameView.mm:
2860         (-[WebFrameView _install]):
2861
2862         Eliminate duplicated (and incorrect) scrollbar mode tracking between
2863         FrameView and ScrollView.
2864
2865 2009-09-03  Dave Hyatt  <hyatt@apple.com>
2866
2867         Reviewed by Adam Roben.
2868
2869         https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
2870         
2871         This patch adds new API for adding and removing user scripts from page groups.  User scripts
2872         are bundled together in isolated worlds (you can have multiple scripts together in the same
2873         world).
2874
2875         Added userscripts/ directory for holding new tests (along with a simple test of script injection).
2876
2877         * WebView/WebView.mm:
2878         (+[WebView _addUserScriptToGroup:source:url:worldID:patterns:injectionTime:]):
2879         (+[WebView _removeUserContentFromGroup:worldID:]):
2880         (+[WebView _removeAllUserContentFromGroup:]):
2881         * WebView/WebViewPrivate.h:
2882
2883 2009-09-04  Adam Barth  <abarth@webkit.org>
2884
2885         Reviewed by Eric Seidel.
2886
2887         https://bugs.webkit.org/show_bug.cgi?id=24696
2888
2889         Plumb mixed content notifications to WebFrameLoadDelegatePrivate.
2890
2891         * WebCoreSupport/WebFrameLoaderClient.mm:
2892         (WebFrameLoaderClient::didDisplayInsecureContent):
2893         (WebFrameLoaderClient::didRunInsecureContent):
2894         * WebView/WebDelegateImplementationCaching.h:
2895         * WebView/WebFrameLoadDelegatePrivate.h: Added.
2896
2897 2009-09-03  Adam Barth  <abarth@webkit.org>
2898
2899         Unreviewed build fix.
2900
2901         Change notImplemented() to a FIXME.
2902
2903         * WebCoreSupport/WebFrameLoaderClient.mm:
2904         (WebFrameLoaderClient::didDisplayInsecureContent):
2905         (WebFrameLoaderClient::didRunInsecureContent):
2906
2907 2009-09-03  Adam Barth  <abarth@webkit.org>
2908
2909         Reviewed by eric@webkit.org.
2910
2911         https://bugs.webkit.org/show_bug.cgi?id=24696
2912
2913         Plumb mixed content notifications to WebFrameLoadDelegatePrivate.
2914
2915         * WebCoreSupport/WebFrameLoaderClient.mm:
2916         (WebFrameLoaderClient::didDisplayInsecureContent):
2917         (WebFrameLoaderClient::didRunInsecureContent):
2918         * WebView/WebDelegateImplementationCaching.h:
2919         * WebView/WebFrameLoadDelegatePrivate.h: Added.
2920
2921 2009-09-03  Adam Barth  <abarth@webkit.org>
2922
2923         Reviewed by Eric Seidel.
2924
2925         https://bugs.webkit.org/show_bug.cgi?id=24696
2926
2927         Stub implementations of mixed content methods of FrameLoaderClient. 
2928
2929         * WebCoreSupport/WebFrameLoaderClient.h:
2930         * WebCoreSupport/WebFrameLoaderClient.mm:
2931         (WebFrameLoaderClient::didDisplayInsecureContent):
2932         (WebFrameLoaderClient::didRunInsecureContent):
2933
2934 2009-09-02  Brady Eidson  <beidson@apple.com>
2935
2936         Reviewed by Darin Adler.
2937
2938         More partial work towards "Page Cache should support pages with Frames"
2939         https://bugs.webkit.org/show_bug.cgi?id=13631
2940
2941         * WebView/WebHTMLView.mm:
2942         (-[WebHTMLView _topHTMLView]): Rework the ASSERT in this method to reflect the
2943           reality of calling this method for pages currently in the PageCache.
2944
2945 2009-08-31  Dimitri Glazkov  <dglazkov@chromium.org>
2946
2947     Reverting http://trac.webkit.org/changeset/47904, because it caused
2948     layout test failure.
2949
2950 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
2951
2952         Reviewed by Darin Adler.
2953
2954         https://bugs.webkit.org/show_bug.cgi?id=28852
2955         Rename KURL single argument constructor to avoid confusion
2956
2957         * WebView/WebScriptDebugger.mm: (toNSURL): Adapt to the change.
2958
2959 2009-08-31  Mark Mentovai  <mark@chromium.org>
2960
2961         Reviewed by Dave Hyatt.
2962
2963         https://bugs.webkit.org/show_bug.cgi?id=28614
2964
2965         Perform a layout prior to checking whether the scrollbar modes are
2966         off, on, or automatic.  The modes may change during layout.
2967
2968         * WebView/WebDynamicScrollBarsView.mm:
2969         (-[WebDynamicScrollBarsView updateScrollers]):
2970
2971 2009-08-28  Chris Fleizach  <cfleizach@apple.com>
2972
2973         Reviewed by John Sullivan.
2974
2975         update-webkit-localizable-strings script can no longer complete
2976         https://bugs.webkit.org/show_bug.cgi?id=28792
2977
2978         * WebCoreSupport/WebViewFactory.mm:
2979         (-[WebViewFactory AXARIAContentGroupText:]):
2980
2981 2009-08-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2982
2983         Reviewed by Holger Freyther.
2984
2985         https://bugs.webkit.org/show_bug.cgi?id=25889
2986         [GTK] scrollbar policy for main frame is not implementable
2987
2988         Add empty implementation for new ChromeClient method.
2989
2990         * WebCoreSupport/WebChromeClient.h:
2991         (WebChromeClient::scrollbarsModeDidChange):
2992
2993 2009-08-25  Eric Carlson  <eric.carlson@apple.com>
2994
2995         Reviewed by Oliver Hunt.
2996
2997         <video> and <audio> controller should be accessible
2998         https://bugs.webkit.org/show_bug.cgi?id=28081
2999
3000         * WebCoreSupport/WebViewFactory.mm:
3001         (-[WebViewFactory localizedMediaControlElementString:]):
3002         (-[WebViewFactory localizedMediaControlElementHelpText:]):
3003         (-[WebViewFactory localizedMediaTimeDescription:]):
3004             New.
3005
3006 2009-08-24  Simon Fraser  <simon.fraser@apple.com>
3007
3008         Reviewed by NOBODY (build fix)
3009
3010         Turn off ENABLE_3D_CANVAS in the xconfig files.
3011
3012         * Configurations/FeatureDefines.xcconfig:
3013
3014 2009-08-22  Adam Barth  <abarth@webkit.org>
3015
3016         Revert 47684.  We're going to do this later once clients have had a
3017         chance to opt into the setting they like.
3018
3019         * Misc/WebKitVersionChecks.h:
3020         * WebView/WebPreferences.mm:
3021         (+[WebPreferences initialize]):
3022
3023 2009-08-22  Adam Barth  <abarth@webkit.org>
3024
3025         Reviewed by Eric Seidel.
3026
3027         Don't let local files access web URLs
3028         https://bugs.webkit.org/show_bug.cgi?id=28480
3029
3030         * Misc/WebKitVersionChecks.m:
3031         * WebView/WebPreferences.mm:
3032         (+[WebPreferences initialize]):
3033
3034 2009-08-21  Anders Carlsson  <andersca@apple.com>
3035
3036         Reviewed by Darin Adler.
3037
3038         <rdar://problem/7162480>
3039         Sometimes WebKit does not layout correctly when a WebView is embedded in an HICocoaView
3040         
3041         Add a null check for the current context when reflectScrolledClipView: is called from outside a 
3042         draw operation.
3043         
3044         * WebView/WebDynamicScrollBarsView.mm:
3045         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
3046
3047 2009-08-20  Chris Fleizach  <cfleizach@apple.com>
3048
3049         Reviewed by Darin Adler.
3050
3051         Enable various "grouping" ARIA roles
3052         https://bugs.webkit.org/show_bug.cgi?id=28486
3053
3054         * WebCoreSupport/WebViewFactory.mm:
3055         (-[WebViewFactory AXARIAContentGroupText:]):
3056
3057 2009-08-19  Mark Rowe  <mrowe@apple.com>
3058
3059         Reviewed by Dan Bernstein.
3060
3061         Fix <http://webkit.org/b/28484> Plug-in-related leaks seen on the build bot
3062
3063         When the plug-in data is being loaded manually there is a reference cycle between the
3064         NetscapePluginInstanceProxy and the HostedNetscapePluginStream.  We need to explicitly
3065         break the reference cycle in NetscapePluginInstanceProxy::cleanup so that both objects
3066         will be destroyed.
3067
3068         Take the opportunity to add RefCountedLeakCounter support to HostedNetscapePluginStream
3069         and NetscapePluginInstanceProxy to simplify tracking down leaks of these objects in the future.
3070
3071         * Plugins/Hosted/HostedNetscapePluginStream.h:
3072         * Plugins/Hosted/HostedNetscapePluginStream.mm:
3073         (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
3074         (WebKit::HostedNetscapePluginStream::~HostedNetscapePluginStream):
3075         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3076         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
3077         (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
3078         (WebKit::NetscapePluginInstanceProxy::cleanup): Clear m_manualStream to break the reference
3079         cycle.
3080
3081 2009-08-19  Aaron Boodman  <aa@chromium.org>
3082
3083         Reviewed by David Levin.
3084
3085         https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
3086         specify a more granular policy for cross-origin XHR access.
3087
3088         * WebView/WebView.mm: Add SPI to manipulate origin access whitelists.
3089         (+[WebView _whiteListAccessFromOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Ditto.
3090         (+[WebView _resetOriginAccessWhiteLists]): Ditto.
3091         * WebView/WebViewPrivate.h: Ditto.
3092
3093 2009-08-18  Anders Carlsson  <andersca@apple.com>
3094
3095         Reviewed by Adele Peterson.
3096
3097         Mac specific part of
3098         
3099         <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource
3100
3101         * WebCoreSupport/WebFrameLoaderClient.h:
3102         * WebCoreSupport/WebFrameLoaderClient.mm:
3103         Implement shouldLoadMediaElementURL by asking the policy delegate.
3104         
3105         * WebView/WebPolicyDelegatePrivate.h:
3106         Add new delegate method, remove some unused cruft.
3107
3108 2009-08-18  Drew Wilson  <atwilson@google.com>
3109
3110         Reviewed by Eric Seidel.
3111
3112         Need to extend DumpRenderTree to expose number of worker threads.
3113         https://bugs.webkit.org/show_bug.cgi?id=28292
3114
3115         * WebKit.exp:
3116         Exported WebWorkersPrivate so DumpRenderTree can access it.
3117         * Workers/WebWorkersPrivate.h: Added.
3118         * Workers/WebWorkersPrivate.mm: Added.
3119         (+[WebWorkersPrivate workerThreadCount]):
3120         Added WebWorkersPrivate::workerThreadCount() API for DumpRenderTree.
3121
3122 2009-08-17  Darin Adler  <darin@apple.com>
3123
3124         Reviewed by Sam Weinig.
3125
3126         Use a HashMap instead of a list of if statements for the command
3127         name exception map.
3128
3129         * WebView/WebHTMLView.mm:
3130         (createSelectorExceptionMap): Added.
3131         (commandNameForSelector): Use createSelectorExceptionMap.
3132
3133 2009-08-16  David Kilzer  <ddkilzer@apple.com>
3134
3135         <http://webkit.org/b/28366> WebHTMLViewInternal.h: add @class CALayer declaration
3136
3137         Reviewed by Simon Fraser.
3138
3139         Without WebKitPrefix.h, the missing @class CALayer declaration
3140         causes a compile-time error.
3141
3142         * WebView/WebHTMLViewInternal.h: Added @class CALayer
3143         declaration with USE(ACCELERATED_COMPOSITING).
3144
3145 2009-08-16  David Kilzer  <ddkilzer@apple.com>
3146
3147         <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates
3148
3149         Reviewed by Dan Bernstein.
3150
3151         * Plugins/WebBaseNetscapePluginStream.mm: Added using std::min
3152         statement.
3153         (WebNetscapePluginStream::deliverData): Changed MIN() to min().
3154         Changed C-style cast to a static_cast.
3155         * Plugins/WebNetscapePluginView.mm: Added using std::min
3156         statement.
3157         (-[WebNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
3158         Changed MIN() to min().  Changed C-style cast to a static_cast.
3159         * WebView/WebHTMLView.mm: Added using std::max statement.
3160         (-[WebHTMLView _dragImageForURL:withLabel:]): Changed MAX() to
3161         max().
3162         (-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto.
3163         * WebView/WebTextCompletionController.mm: Added using std::max
3164         and using std::min statements.
3165         (-[WebTextCompletionController _placePopupWindow:]): Changed
3166         type of maxWidth variable from float to CGFloat to prevent a
3167         type mismatch on x86_64.  Changed MAX() to max() and MIN() to
3168         min().  Added static_cast for a constant value since CGFloat is
3169         defined as a float on i386 and as a double on x86_64.
3170
3171 2009-08-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>
3172
3173         Reviewed by Sam Weinig.
3174
3175         Added ENABLE_EVENTSOURCE flag.
3176         https://bugs.webkit.org/show_bug.cgi?id=14997
3177
3178         * Configurations/FeatureDefines.xcconfig:
3179
3180 2009-08-14  Mark Rowe  <mrowe@apple.com>
3181
3182         Build fix.
3183
3184         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3185         (WebKit::NetscapePluginInstanceProxy::enumerate):  Add the necessary .get() calls.
3186
3187 2009-08-14  Brady Eidson  <beidson@apple.com>
3188
3189         Reviewed by Anders Carlsson.
3190
3191         <rdar://problem/7091546> - Assertion failure in plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html 
3192         on 64-bit SnowLeopard
3193
3194         * Plugins/Hosted/HostedNetscapePluginStream.mm:
3195         (WebKit::HostedNetscapePluginStream::cancelLoad): Since this might be called while the FrameLoader is switching DocumentLoaders
3196           during the brief moment where there is no activeDocumentLoader(), accept and handle a validly null DocumentLoader.
3197
3198 2009-08-14  Mark Rowe  <mrowe@apple.com>
3199
3200         Reviewed by Brady Eidson.
3201
3202         Fix leaks of NSNumber and NSMutableArray objects seen during layout tests.
3203
3204         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3205         (WebKit::NetscapePluginInstanceProxy::enumerate): Don't leak an NSMutableArray that we allocate.
3206
3207 2009-08-14  Mark Rowe  <mrowe@apple.com>
3208
3209         Reviewed by Anders Carlsson.
3210
3211         Fix leaks of HostedNetscapePluginStream and NetscapePlugInStreamLoader objects seen during layout tests.
3212
3213         * Plugins/Hosted/HostedNetscapePluginStream.mm:
3214         (WebKit::HostedNetscapePluginStream::didFail): Disconnect the stream from the plug-in instance proxy
3215         when the load fails.
3216
3217 2009-08-13  Darin Adler  <darin@apple.com>
3218
3219         * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Updated includes.
3220         * WebView/WebScriptDebugger.mm: Ditto.
3221
3222 2009-08-12  Mark Rowe  <mrowe@apple.com>
3223
3224         Reviewed by Kevin Decker.
3225
3226         <rdar://problem/6017913> Replace use of HISearchWindowShow in -[WebView _searchWithSpotlightFromMenu].
3227
3228         * WebView/WebView.mm:
3229         (-[WebView _searchWithSpotlightFromMenu:]): Use -[NSWorkspace showSearchResultsForQueryString:] post-Leopard.
3230
3231 2009-08-12  Greg Bolsinga  <bolsinga@apple.com>
3232
3233         Reviewed by Eric Seidel.
3234
3235         Add delegate methods about focus and blur and state change
3236         https://bugs.webkit.org/show_bug.cgi?id=27153
3237         
3238         Have ObjC delegate methods match C++ method names in the ChromeClient.
3239
3240         * WebCoreSupport/WebChromeClient.mm:
3241         (WebChromeClient::formDidFocus):
3242         (WebChromeClient::formDidBlur):
3243         * WebView/WebUIDelegatePrivate.h:
3244
3245 2009-08-11  John Gregg  <johnnyg@google.com>
3246
3247         Reviewed by Maciej Stachowiak.
3248
3249         Desktop Notifications API
3250         https://bugs.webkit.org/show_bug.cgi?id=25643
3251
3252         Adds ENABLE_NOTIFICATION flag.
3253
3254         * Configurations/FeatureDefines.xcconfig:
3255
3256 2009-08-11  Anders Carlsson  <andersca@apple.com>
3257
3258         Reviewed by Sam Weinig.
3259
3260         Remove dead declarations.
3261         
3262         * WebView/WebViewInternal.h:
3263
3264 2009-08-11  Dmitry Titov  <dimich@chromium.org>
3265
3266         Reviewed by Adam Roben.
3267
3268         Originally implemented by Glenn Wilson <gwilson@chromium.org>.
3269
3270         Added new methods for overriding default WebPreference values
3271         and for resetting preferences to their defaults.
3272         See https://bugs.webkit.org/show_bug.cgi?id=20534
3273
3274         * WebView/WebPreferences.mm:
3275         (-[WebPreferences _setPreferenceForTestWithValue:withKey:]): added.
3276         * WebView/WebPreferencesPrivate.h: same.
3277
3278 2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3279
3280         Reviewed by George Staikos.
3281
3282         [WML] Deck access control is completly broken
3283         https://bugs.webkit.org/show_bug.cgi?id=27721
3284
3285         Synchronize WebFrameLoadType with FrameLoadType enum. Append 'WebFrameLoadTypeBackWMLDeckNotAccessible'.
3286
3287         * WebView/WebFramePrivate.h:
3288
3289 2009-08-07  Simon Fraser  <simon.fraser@apple.com>
3290
3291         Fix the build on 10.6.
3292
3293         * WebView/WebHTMLView.mm:
3294         (-[WebHTMLView attachRootLayer:]):
3295
3296 2009-08-07  Simon Fraser  <simon.fraser@apple.com>
3297
3298         Fix a stylistic nit related to the location of the *, which, for some
3299         ridiculous reason, WebKit style dictates to be different between Objective-C and C++.
3300         
3301         * WebView/WebDynamicScrollBarsView.mm:
3302         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
3303
3304 2009-08-07  Simon Fraser  <simon.fraser@apple.com>
3305
3306         Reviewed by Dan Bernstein.
3307
3308         Work around an issue on Leopard where composited layers are misplaced and squished when the page
3309         gets over 4096px tall.
3310         https://bugs.webkit.org/show_bug.cgi?id=27272
3311         <rdar://problem/7067892> [Leopard] Composisted layers are misplaced and squished on on long pages
3312         <rdar://problem/7068252> [Leopard] When switching to a tab with HW layers, they fade in
3313
3314         * WebView/WebDynamicScrollBarsView.mm:
3315         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
3316         Call -_updateLayerHostingViewPosition after scrolling.
3317         
3318         * WebView/WebHTMLView.mm:
3319         (-[WebHTMLView _frameOrBoundsChanged]):
3320         Call -_updateLayerHostingViewPosition after the view changes size.
3321
3322         (-[WebHTMLView attachRootLayer:]):
3323         Turn off default animations, to avoid animations of sublayer transform, and fading-in
3324         when tab switching.
3325         
3326         * WebView/WebHTMLViewInternal.h:
3327         (-[WebHTMLView _updateLayerHostingViewPosition]):
3328         New method that constrains the height of the layer-hosting view to a max height
3329         of 4096px, and compensates for the height restriction by placing the layer-hosting
3330         view at the top of the visible part of the WebHTMLView, and adjusting the position
3331         of the hosted layers via sublayer transform.
3332
3333 2009-08-07  Anders Carlsson  <andersca@apple.com>
3334
3335         Fix Tiger build.
3336         
3337         * WebView/WebRenderNode.mm:
3338         (-[WebRenderNode _initWithCoreFrame:]):
3339
3340 2009-08-07  Anders Carlsson  <andersca@apple.com>
3341
3342         Reviewed by Timothy Hatcher and Sam Weinig.
3343
3344         Change WebRenderNode to take a WebFrame instead of a WebFrameView.
3345         
3346         * WebView/WebRenderNode.h:
3347         * WebView/WebRenderNode.mm:
3348         (-[WebRenderNode _initWithName:position:rect:coreFrame:children:]):
3349         (copyRenderNode):
3350         (-[WebRenderNode _initWithCoreFrame:]):
3351         (-[WebRenderNode initWithWebFrame:]):
3352
3353 2009-08-06  Anders Carlsson  <andersca@apple.com>
3354
3355         Reviewed by Darin Adler and Dan Bernstein.
3356
3357         * WebCoreSupport/WebFrameLoaderClient.mm:
3358         (WebFrameLoaderClient::hasHTMLView):
3359         Always return true when we're in viewless mode.
3360
3361 2009-08-06  Anders Carlsson  <andersca@apple.com>
3362
3363         Remove WebGraphicsExtras.h include.
3364         
3365         * Plugins/WebNetscapePluginView.mm:
3366
3367 2009-08-06  Anders Carlsson  <andersca@apple.com>
3368
3369         Reviewed by Sam Weinig.
3370
3371         Remove WebGraphicsExtras, it is no longer used.
3372
3373         * Misc/WebGraphicsExtras.c: Removed.
3374         * Misc/WebGraphicsExtras.h: Removed.
3375
3376 2009-08-06  Chris Marrin  <cmarrin@apple.com>
3377
3378         Reviewed by David Hyatt.
3379
3380         Added ENABLE_3D_CANVAS flag to build, default to off
3381
3382         * Configurations/FeatureDefines.xcconfig:
3383
3384 2009-08-04  Michael Nordman  <michaeln@google.com>
3385
3386         Reviewed by Alexey Proskuryakov.
3387
3388         https://bugs.webkit.org/show_bug.cgi?id=27821
3389
3390         Mods to keep up with ApplicationCacheHost refactoring.
3391
3392         * WebView/WebDataSource.mm:
3393         (-[WebDataSource _transferApplicationCache:]):
3394
3395 2009-07-30  Darin Adler  <darin@apple.com>
3396
3397         Reviewed by David Levin.
3398
3399         Use checked casts for render tree
3400         https://bugs.webkit.org/show_bug.cgi?id=23522
3401
3402         * Misc/WebNSAttributedStringExtras.mm:
3403         (fileWrapperForElement):
3404         * Misc/WebNSPasteboardExtras.mm:
3405         (imageFromElement):
3406         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
3407         * WebView/WebFrame.mm:
3408         (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
3409         (-[WebFrame _accessibilityTree]):
3410         * WebView/WebRenderNode.mm:
3411         (copyRenderNode):
3412         Use checked casts.
3413
3414 2009-07-31  Simon Fraser  <simon.fraser@apple.com>
3415
3416         Reviewed by Anders Carlsson.
3417         
3418         Accelerated animations stutter on pages with lots of animations and 3d transforms
3419         https://bugs.webkit.org/show_bug.cgi?id=27884
3420         
3421         This patch changes the strategy for synchronizing painting view the view,
3422         and compositing layer updates. Previously the strategy was to disable screen
3423         updates between the time we updated the layer tree, and painted the view. That
3424         left screen updates disabled for too long (hundreds of milliseconds) in some
3425         cases, causing animation stutter.
3426         
3427         The new strategy is to batch up changes to the CA layer tree, and commit them
3428         all at once just before painting happens (referred to as a "sync" in the code).
3429         GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
3430         the values stored in GraphicsLayer into the CA layer tree at commit time.
3431         
3432         Compositing layers are then synced in FrameView::paintContents(). However, not
3433         all style/layout changes will result in painting; to deal with style changes that
3434         touch only compositing properties, we set up a runloop observer that takes care
3435         of comitting layer changes when no painting happens.
3436
3437         * WebCoreSupport/WebChromeClient.h:
3438         * WebCoreSupport/WebChromeClient.mm:
3439         (WebChromeClient::scheduleCompositingLayerSync):
3440         scheduleViewUpdate() renamed to syncCompositingStateRecursive()
3441         
3442         * WebView/WebView.mm:
3443         (-[WebView _close]):
3444         (-[WebView _clearLayerSyncLoopObserver]):
3445         "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".
3446
3447         (-[WebView _syncCompositingChanges]):
3448         Helper method that calls syncCompositingStateRecursive() on the FrameView.
3449         
3450         (layerSyncRunLoopObserverCallBack):
3451         (-[WebView _scheduleCompositingLayerSync]):
3452         This is all about layer sycning now. Also, the run loop observer is repeating,
3453         because it has to keep firing until syncCompositingStateRecursive() says that it
3454         has completed.
3455         
3456         * WebView/WebViewData.h:
3457         "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".
3458
3459         * WebView/WebViewInternal.h:
3460         _scheduleViewUpdate is now _scheduleCompositingLayerSync
3461
3462 2009-07-30  Michael Nordman  <michaeln@google.com>
3463
3464         Reviewed by Darin Fisher.
3465
3466         https://bugs.webkit.org/show_bug.cgi?id=27821
3467
3468         Mods to keep up with ApplicationCacheHost refactoring.
3469
3470         * WebView/WebDataSource.mm:
3471         (-[WebDataSource _transferApplicationCache:]):
3472
3473 2009-07-29  David Kilzer  <ddkilzer@apple.com>
3474
3475         <http://webkit.org/b/27788> Don't export WebPluginController.h as a private header
3476
3477         Reviewed by Mark Rowe.
3478
3479         * Plugins/WebPluginController.h: Changed #import of
3480         WebPluginContainerCheck.h to use a framework-style include in
3481         case other platforms wish to export WebPluginController.h as a
3482         private header.
3483
3484 2009-07-29  Kevin McCullough  <kmccullough@apple.com>
3485
3486         Reviewed by Darin Adler.
3487
3488         Added foundation work to allow a testing infrastructure for the Web
3489         Inspector.
3490
3491         * WebCoreSupport/WebInspectorClient.h:
3492         * WebCoreSupport/WebInspectorClient.mm:
3493         (WebInspectorClient::inspectorWindowObjectCleared): Send the delegate
3494         callback.
3495         * WebView/WebDelegateImplementationCaching.h:
3496         * WebView/WebView.mm:
3497         (-[WebView _cacheFrameLoadDelegateImplementations]):
3498         * WebView/WebViewPrivate.h: The delegate SPI.
3499
3500 2009-07-27  Mark Rowe  <mrowe@apple.com>
3501
3502         Reviewed by Darin Adler.
3503
3504         <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
3505
3506         In some situations Microsoft Messenger can attempt to manipulate the DOM from a secondary thread while
3507         updating its file transfer progress bar.  This results in corruption of WebCore data structures that is
3508         quickly followed by a crash.  We can work around this by having -[WebFrame DOMDocument] return nil when
3509         called from a secondary thread by Microsoft Messenger, which has the effect of turning its attempts at
3510         DOM manipulation in to no-ops.
3511
3512         * WebView/WebFrame.mm:
3513         (needsMicrosoftMessengerDOMDocumentWorkaround):
3514         (-[WebFrame DOMDocument]):
3515
3516 2009-07-27  Alexey Proskuryakov  <ap@webkit.org>
3517
3518         Reviewed by Darin Adler.
3519
3520         https://bugs.webkit.org/show_bug.cgi?id=27735
3521         Give a helpful name to JSLock constructor argument
3522
3523         * Misc/WebCoreStatistics.mm:
3524         (+[WebCoreStatistics javaScriptObjectsCount]):
3525         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
3526         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
3527         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
3528         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
3529         (+[WebCoreStatistics shouldPrintExceptions]):
3530         (+[WebCoreStatistics setShouldPrintExceptions:]):
3531         (+[WebCoreStatistics memoryStatistics]):
3532         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
3533         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3534         (WebKit::NetscapePluginInstanceProxy::evaluate):
3535         (WebKit::NetscapePluginInstanceProxy::invoke):
3536         (WebKit::NetscapePluginInstanceProxy::invokeDefault):
3537         (WebKit::NetscapePluginInstanceProxy::construct):
3538         (WebKit::NetscapePluginInstanceProxy::getProperty):
3539         (WebKit::NetscapePluginInstanceProxy::setProperty):
3540         (WebKit::NetscapePluginInstanceProxy::removeProperty):
3541         (WebKit::NetscapePluginInstanceProxy::hasMethod):
3542         (WebKit::NetscapePluginInstanceProxy::enumerate):
3543         (WebKit::NetscapePluginInstanceProxy::addValueToArray):
3544         * Plugins/WebBaseNetscapePluginStream.mm:
3545         (WebNetscapePluginStream::wantsAllStreams):
3546         * Plugins/WebNetscapePluginView.mm:
3547         (-[WebNetscapePluginView sendEvent:isDrawRect:]):
3548         (-[WebNetscapePluginView setWindowIfNecessary]):
3549         (-[WebNetscapePluginView createPluginScriptableObject]):
3550         (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
3551         (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
3552         (-[WebNetscapePluginView loadPluginRequest:]):
3553         (-[WebNetscapePluginView _printedPluginBitmap]):
3554         * Plugins/WebPluginController.mm:
3555         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
3556         (-[WebPluginController startAllPlugins]):
3557         (-[WebPluginController stopAllPlugins]):
3558         (-[WebPluginController addPlugin:]):
3559         (-[WebPluginController destroyPlugin:]):
3560         (-[WebPluginController destroyAllPlugins]):
3561         * WebView/WebFrame.mm:
3562         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
3563         * WebView/WebScriptDebugDelegate.mm:
3564         (-[WebScriptCallFrame scopeChain]):
3565         (-[WebScriptCallFrame evaluateWebScript:]):
3566         * WebView/WebView.mm:
3567         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
3568
3569 2009-07-24  Darin Adler  <darin@apple.com>
3570
3571         Reviewed by Mark Rowe.
3572
3573         REGRESSION (r46298): Exception after clicking on Bookmarks button in the Bookmarks Bar
3574         https://bugs.webkit.org/show_bug.cgi?id=27667
3575
3576         * WebCoreSupport/WebFrameLoaderClient.mm:
3577         (WebFrameLoaderClient::transitionToCommittedForNewPage): Moved the code to set the
3578         title here. This is late enough that both the view and representation exist.
3579
3580         * WebView/WebDataSource.mm:
3581         (-[WebDataSource _makeRepresentation]): Removed the code to set the title from here.
3582         It's a bit too early.
3583
3584 2009-07-24  Andrei Popescu  <andreip@google.com>
3585
3586         Reviewed by Anders Carlsson.
3587
3588         ApplicationCache should have size limit
3589         https://bugs.webkit.org/show_bug.cgi?id=22700
3590
3591         Adds the WebApplicationCache class that is
3592         used by the DumpRenderTree test application to
3593         configure the Application Cache maximum size.
3594
3595         * WebCoreSupport/WebApplicationCache.h: Added.
3596         * WebCoreSupport/WebApplicationCache.mm: Added.
3597         * WebCoreSupport/WebChromeClient.h:
3598         * WebCoreSupport/WebChromeClient.mm:
3599         (WebChromeClient::reachedMaxAppCacheSize):
3600         Adds empty implementation of the reachedMaxAppCacheSize callback.
3601         * WebKit.exp:
3602
3603 2009-07-23  Darin Adler  <darin@apple.com>
3604
3605         * WebView/WebDataSource.mm:
3606         (-[WebDataSource _makeRepresentation]): Landed a comment I forgot last time.
3607
3608 2009-07-23  Darin Adler  <darin@apple.com>
3609
3610         Reviewed by Brady Eidson.
3611