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