2009-10-15 Eric Carlson <eric.carlson@apple.com>
[WebKit-https.git] / WebKit / mac / ChangeLog
1 2009-10-15  Eric Carlson  <eric.carlson@apple.com>
2
3         Reviewed by Adele Peterson.
4
5         <rdar://problem/7306052> Fullscreen max/min volume buttons non-functional
6
7         * WebView/WebVideoFullscreenHUDWindowController.mm:
8         (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Set volume buttons target and action.
9         (-[WebVideoFullscreenHUDWindowController decrementVolume:]): New, decrement the volume by 10%.
10         (-[WebVideoFullscreenHUDWindowController incrementVolume:]): New, increment the volume by 10%.
11
12 2009-10-15  Eric Carlson  <eric.carlson@apple.com>
13
14         Reviewed by Simon Fraser.
15
16         <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode
17
18         * WebView/WebVideoFullscreenHUDWindowController.mm:
19         (-[WebVideoFullscreenHUDWindowController setVolume:]): Unmute movie before changing volume.
20
21 2009-10-14  Kevin Decker  <kdecker@apple.com>
22
23         Unbreak the world.
24         
25         * Plugins/WebBaseNetscapePluginView.mm:
26         (WebHaltablePlugin::restart):
27
28 2009-10-14  Kevin Decker  <kdecker@apple.com>
29
30         Reviewed by Anders Carlsson and Jon Honeycutt
31
32         <rdar://problem/7304295> snapshots of halted plug-ins are missing
33         
34         * Plugins/WebBaseNetscapePluginView.mm: Move bodies of WebHaltablePlugin virtual functions from WebHaltablePlugin class definition.
35         (WebHaltablePlugin::halt): Provide a substitute image to the RenderWidget for the plug-in view.
36         (WebHaltablePlugin::restart): Clear the substitute image.
37
38 2009-10-13  Dave Hyatt  <hyatt@apple.com>
39
40         Reviewed by Adam Roben.
41
42         Change the order of arguments on some methods.  Split removal for user stylesheets and script into
43         separate functions based off the type of object being removed.
44
45         * WebView/WebView.mm:
46         (+[WebView _addUserScriptToGroup:worldID:source:url:whitelist:blacklist:injectionTime:]):
47         (+[WebView _addUserStyleSheetToGroup:worldID:source:url:whitelist:blacklist:]):
48         (+[WebView _removeUserScriptFromGroup:worldID:url:]):
49         (+[WebView _removeUserStyleSheetFromGroup:worldID:url:]):
50         (+[WebView _removeUserScriptsFromGroup:worldID:]):
51         (+[WebView _removeUserStyleSheetsFromGroup:worldID:]):
52         * WebView/WebViewPrivate.h:
53
54 2009-10-13  Anders Carlsson  <andersca@apple.com>
55
56         Reviewed by Sam Weinig.
57
58         <rdar://problem/6660507> Add "privacy mode" to Netscape Plug-in API
59
60         Listen for WebPreferences notifications and update the _isPrivateBrowsingEnabled ivar 
61         when the value changes. Also call -[WebBaseNetscapePluginView privateBrowsingModeDidChange] when the
62         value changes. In process this just calls NPP_SetValue, and OOP it sends a MIG message to the plug-in host.
63         
64         * Plugins/Hosted/NetscapePluginHostManager.h:
65         * Plugins/Hosted/NetscapePluginHostManager.mm:
66         (WebKit::NetscapePluginHostManager::instantiatePlugin):
67         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
68         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
69         (WebKit::NetscapePluginInstanceProxy::privateBrowsingModeDidChange):
70         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
71         (-[WebHostedNetscapePluginView createPlugin]):
72         (-[WebHostedNetscapePluginView privateBrowsingModeDidChange]):
73         * Plugins/Hosted/WebKitPluginHost.defs:
74         * Plugins/WebBaseNetscapePluginView.h:
75         * Plugins/WebBaseNetscapePluginView.mm:
76         (-[WebBaseNetscapePluginView privateBrowsingModeDidChange]):
77         (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
78         (-[WebBaseNetscapePluginView preferencesHaveChanged:]):
79         * Plugins/WebNetscapePluginView.mm:
80         (-[WebNetscapePluginView privateBrowsingModeDidChange]):
81         (-[WebNetscapePluginView getVariable:value:]):
82
83 2009-10-12  Simon Fraser  <simon.fraser@apple.com>
84
85         Reviewed by Darin Adler.
86
87         Video keeps playing after going fullscreen, then closing window
88         https://bugs.webkit.org/show_bug.cgi?id=30164
89         
90         Clear the QTMovie on the QTMovieView when coming out of fullscreen,
91         to fix issue where the underlying movie keeps playing.
92
93         * WebView/WebVideoFullscreenController.mm:
94         (-[WebVideoFullscreenController windowDidExitFullscreen]):
95
96 2009-10-11  Dan Bernstein  <mitz@apple.com>
97
98         Reviewed by Darin Adler.
99
100         <rdar://problem/7294267> REGRESSION (r48492): Gmail voice and video chat
101         doesn’t work
102         https://bugs.webkit.org/show_bug.cgi?id=30295
103
104         Test: plugins/setProperty.html
105
106         * Plugins/Hosted/ProxyInstance.mm:
107         (WebKit::ProxyInstance::setFieldValue): Fixed a typo. The function
108         should return early if m_instanceProxy is null.
109
110 2009-10-09  Adam Barth  <abarth@webkit.org>
111
112         Reviewed by Darin Adler.
113
114         Factor HistoryController out of FrameLoader
115         https://bugs.webkit.org/show_bug.cgi?id=30246
116
117         Update API call.
118
119         * WebCoreSupport/WebFrameLoaderClient.mm:
120         (WebFrameLoaderClient::restoreViewState):
121         * WebView/WebView.mm:
122         (-[WebView _loadBackForwardListFromOtherView:]):
123
124 2009-10-09  Mark Rowe  <mrowe@apple.com>
125
126         Reviewed by Brady Eidson.
127
128         <rdar://problem/7290671> Crash after navigating away from a page with subframe containing plug-in
129
130         At the time that -stop is called on a WebBaseNetscapePluginView that is contained within a subframe
131         the WebFrame's data source has been zeroed out.  This was causing -[WebBaseNetscapePluginView webFrame]
132         to return nil during -stop, preventing the plug-in view from unregistering itself from the PluginHalter.
133         We fix this by having -webFrame retrieve the frame directly rather than retrieving it from the data source.
134
135         * Plugins/WebBaseNetscapePluginView.mm:
136         (-[WebBaseNetscapePluginView dataSource]): Get the data source from the WebFrame.
137         (-[WebBaseNetscapePluginView webFrame]): Get the Frame directly from the element's document rather
138         than taking a windy route through the WebDataSource.
139
140 2009-10-09  Brady Eidson  <beidson@apple.com>
141
142         Reviewed by Dan Bernstein.
143
144         Add SPI to specifically enable visited link tracking.
145
146         * History/WebHistory.mm:
147         (+[WebHistory _setVisitedLinkTrackingEnabled:]):
148         * History/WebHistoryPrivate.h:
149
150 2009-10-08  Jon Honeycutt  <jhoneycutt@apple.com>
151
152         Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking
153         for the existence of a PluginHalterDelegate.
154
155         Reviewed by Dan Bernstein.
156
157         * WebCoreSupport/WebPluginHalterClient.h:
158         Add declaration for new function.
159
160         * WebCoreSupport/WebPluginHalterClient.mm:
161         (WebPluginHalterClient::enabled):
162         Check whether the UIDelegate responds to shouldHaltPlugin.
163
164         * WebView/WebPreferenceKeysPrivate.h:
165         Remove the "enabled" preference key.
166
167         * WebView/WebPreferences.mm:
168         (+[WebPreferences initialize]):
169         Remove the initialization of the pref.
170
171         * WebView/WebPreferencesPrivate.h:
172         Remove the getter/setter for this pref.
173
174         * WebView/WebView.mm:
175         (-[WebView _preferencesChangedNotification:]):
176         Remove propagation of the pref. 
177
178 2009-10-08  Adam Barth  <abarth@webkit.org>
179
180         Reviewed by Eric Seidel.
181
182         Move executeScript from FrameLoader to ScriptController
183         https://bugs.webkit.org/show_bug.cgi?id=30200
184
185         Update API call.
186
187         * WebView/WebFrame.mm:
188         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
189         * WebView/WebView.mm:
190         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
191
192 2009-10-08  Brady Eidson  <beidson@apple.com>
193
194         Reviewed by Dan Bernstein.
195
196         Ask the History Delegate to populate the visited links hash.
197         <rdar://problem/7285293> and https://webkit.org/b/29904
198
199         * History/WebHistory.mm:
200         (+[WebHistory _removeAllVisitedLinks]):
201         * History/WebHistoryPrivate.h:
202         * WebCoreSupport/WebChromeClient.mm:
203         (WebChromeClient::populateVisitedLinks):
204         * WebView/WebDelegateImplementationCaching.h:
205         * WebView/WebDelegateImplementationCaching.mm:
206         (CallHistoryDelegate):
207         * WebView/WebHistoryDelegate.h:
208         * WebView/WebView.mm:
209         (-[WebView _cacheHistoryDelegateImplementations]):
210         (-[WebView addVisitedLinks:]):
211         * WebView/WebViewPrivate.h:
212
213 2009-10-08  Anders Carlsson  <andersca@apple.com>
214
215         Reviewed by Sam Weinig.
216
217         Remove the shouldLoadMediaElementURL implementation.
218
219         * WebCoreSupport/WebFrameLoaderClient.h:
220         * WebCoreSupport/WebFrameLoaderClient.mm:
221         * WebView/WebPolicyDelegatePrivate.h:
222
223 2009-10-07  Simon Fraser  <simon.fraser@apple.com>
224
225         Re-land 49269-49271 since reverting them did not fix the tests.
226
227         * WebView/WebHTMLView.mm:
228         (-[WebHTMLView drawRect:]):
229
230 2009-10-07  Simon Fraser  <simon.fraser@apple.com>
231
232         Revert 49269-49271 to see if it fixes test failures on SnowLeopard that do not
233         reproduce locally.
234
235         * WebView/WebHTMLView.mm:
236         (-[WebHTMLView drawRect:]):
237
238 2009-10-07  Adam Barth  <abarth@webkit.org>
239
240         Reviewed by Darin Adler.
241
242         Factor PolicyChecker out of FrameLoader
243         https://bugs.webkit.org/show_bug.cgi?id=30155
244
245         Move the policy callback to the policy object.
246
247         * WebCoreSupport/WebFrameLoaderClient.mm:
248         (WebFrameLoaderClient::dispatchWillSubmitForm):
249         (WebFrameLoaderClient::receivedPolicyDecison):
250
251 2009-10-07  Brady Eidson  <beidson@apple.com>
252
253         Reviewed by Darin Adler.
254
255         Send title changes to the global history delegate.
256         <rdar://problem/7285293> and https://webkit.org/b/29904
257
258         * WebCoreSupport/WebFrameLoaderClient.mm:
259         (WebFrameLoaderClient::setTitle):
260         * WebView/WebDelegateImplementationCaching.h:
261         * WebView/WebHistoryDelegate.h:
262         * WebView/WebView.mm:
263         (-[WebView _cacheHistoryDelegateImplementations]):
264
265 2009-10-07  Darin Adler  <darin@apple.com>
266
267         Reviewed by John Sullivan.
268
269         Make the setMetadataURL function foolproof by having it remove user info
270         https://bugs.webkit.org/show_bug.cgi?id=30178
271         rdar://problem/6544670
272
273         * Misc/WebNSFileManagerExtras.m:
274         (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]):
275         Call _web_URLByRemovingUserInfo on the passed in URL string after converting
276         it to a URL, and then convert it back to a string.
277
278         * Misc/WebNSURLExtras.h: Added _web_URLByRemovingUserInfo.
279         * Misc/WebNSURLExtras.mm: Removed unused WebKitURLComponents struct.
280         (-[NSURL _web_URLByTruncatingOneCharacterBeforeComponent:]): Renamed to be
281         clearer on what this does.
282         (-[NSURL _webkit_URLByRemovingFragment]): Changed to call new name.
283         (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Ditto.
284         (-[NSURL _web_URLByRemovingComponentAndSubsequentCharacter:]): Added.
285         (-[NSURL _web_URLByRemovingUserInfo]): Added.
286
287 2009-10-07  Simon Fraser  <simon.fraser@apple.com>
288
289         Make Dan Bernstein happy.
290
291         * WebView/WebHTMLView.mm:
292         (-[WebHTMLView drawRect:]):
293
294 2009-10-07  Simon Fraser  <simon.fraser@apple.com>
295
296         Reviewed by Dan Bernstein.
297
298         Avoid Obj-C message dispatch when possible by storing accessed objects
299         in local variables.
300
301         * WebView/WebHTMLView.mm:
302         (-[WebHTMLView drawRect:]):
303
304 2009-10-07  Simon Fraser  <simon.fraser@apple.com>
305
306         Reviewed by Dan Bernstein.
307
308         Animation stalls for a few seconds partway through
309         https://bugs.webkit.org/show_bug.cgi?id=30182
310         
311         Make sure that we only call -disableScreenUpdatesUntilFlush when a window
312         update is actually going to happen, otherwise screen updates are disabled
313         for too long.
314
315         * WebView/WebHTMLView.mm:
316         (-[WebHTMLView drawRect:]):
317
318 2009-10-06  Pavel Feldman  <pfeldman@chromium.org>
319
320         Reviewed by Timothy Hatcher.
321
322         Web Inspector: default to an attached inspector window on Windows (as on Mac).
323
324         https://bugs.webkit.org/show_bug.cgi?id=30134
325
326         * WebCoreSupport/WebInspectorClient.mm:
327         (-[WebInspectorWindowController showWindow:]):
328
329 2009-10-06  Adam Barth  <abarth@webkit.org>
330
331         Reviewed by Eric Seidel.
332
333         Move FrameLoader::canLoad to SecurityOrigin
334         https://bugs.webkit.org/show_bug.cgi?id=30111
335
336         * Plugins/Hosted/HostedNetscapePluginStream.mm:
337         (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
338         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
339         (WebKit::NetscapePluginInstanceProxy::loadRequest):
340         * Plugins/WebBaseNetscapePluginStream.mm:
341         (WebNetscapePluginStream::WebNetscapePluginStream):
342         * Plugins/WebNetscapePluginView.mm:
343         (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
344         * Plugins/WebPluginContainerCheck.mm:
345         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
346         * WebView/WebFrame.mm:
347         (-[WebFrame _allowsFollowingLink:]):
348
349 2009-10-06  Adam Barth  <abarth@webkit.org>
350
351         Reviewed by Eric Seidel.
352
353         Move setLocalLoadPolicy and friends to SecurityOrigin
354         https://bugs.webkit.org/show_bug.cgi?id=30110
355
356         Call the new API.
357
358         * WebView/WebView.mm:
359         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
360
361 2009-10-06  Simon Fraser  <simon.fraser@apple.com>
362
363         Reviewed by Mark Rowe.
364
365         accessibility/media-element.html crashes (and has incorrect result)
366         https://bugs.webkit.org/show_bug.cgi?id=30108
367
368         Fix up the accessibilty label for the newly added fullscreen button,
369         and update the test result accordingly.
370
371         * WebCoreSupport/WebViewFactory.mm:
372         (-[WebViewFactory localizedMediaControlElementString:]):
373         Handle "ControlsPanel" which is just an empty container, to avoid
374         asserting in debug builds.
375
376 2009-10-06  Daniel Bates  <dbates@webkit.org>
377
378         Reviewed by Eric Seidel.
379
380         https://bugs.webkit.org/show_bug.cgi?id=30107
381         
382         Fixes an issue where the Mac build does return the correct drop effect
383         with respect to the HTML 5 specification when effectAllowed == "none".
384         
385         Currently, when effectAllowed == "none" and dropEffect == "copy" or 
386         dropEffect == "move" the resulting drop effect is "copy" and "move",
387         respectively. However, the HTML 5 specification states that regardless
388         of the specified dropEffect, when effectAllowed == "none" the resulting
389         drop effect should be "none".
390
391         * WebView/WebHTMLView.mm:
392         (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
393
394 2009-10-06  Pavel Feldman  <pfeldman@chromium.org>
395
396         Reviewed by Timothy Hatcher.
397
398         Web Inspector: close inspector client view on
399         InspectorController::close API call.
400
401         In order to run batch web inspector layout tests (and not affect 
402         subsequent tests) we should close inspector client's view upon
403         InspectorController::close API call.
404
405         https://bugs.webkit.org/show_bug.cgi?id=30009
406
407         * WebCoreSupport/WebInspectorClient.mm:
408         (WebInspectorClient::createPage):
409
410 2009-10-05  Dan Bernstein  <mitz@apple.com>
411
412         Rubber-stamped by Mark Rowe.
413
414         Moved a WebPluginHalterClient out of the WebCore namesapce.
415
416         * WebCoreSupport/WebPluginHalterClient.h:
417
418 2009-10-05  Kevin Decker  <kdecker@apple.com>
419
420         Reviewed by Dan Bernstein.
421
422         Added new PluginHalter client, delegate and few more WebPreferences keys.
423
424         * WebView/WebPreferenceKeysPrivate.h: Added two new keys.
425         * WebView/WebPreferences.mm:
426         (+[WebPreferences initialize]): Initialize newly added key.
427         (-[WebPreferences pluginAllowedRunTime]): Added.
428         (-[WebPreferences setPluginAllowedRunTime:]): Added.
429         * WebView/WebPreferencesPrivate.h: Added above two methods.
430         * WebView/WebUIDelegatePrivate.h: Added shouldHaltPlugin delegate.
431         * WebView/WebView.mm:
432         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
433         Setup a new WebPluginHalterClient.
434         (-[WebView _preferencesChangedNotification:]): Update WebCore settings accordingly.
435         * WebCoreSupport/WebPluginHalterClient.h: Added.
436         * WebCoreSupport/WebPluginHalterClient.mm: Added.
437         (WebPluginHalterClient::WebPluginHalterClient):
438         (WebPluginHalterClient::shouldHaltPlugin): Added, invoke the delegate.
439
440 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
441
442         More build fixes for Tiger.
443
444         * WebView/WebVideoFullscreenController.mm:
445
446 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
447
448         More build fixes for Tiger.
449
450         * WebView/WebVideoFullscreenController.mm:
451         (-[WebVideoFullscreenWindow animationDidEnd:]):
452         * WebView/WebWindowAnimation.m:
453
454 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
455
456         More build fixes for Tiger.
457
458         * WebView/WebVideoFullscreenController.mm:
459         * WebView/WebVideoFullscreenHUDWindowController.mm:
460         (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]):
461         (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]):
462         (-[WebVideoFullscreenHUDWindowController fadeWindowIn]):
463         (-[WebVideoFullscreenHUDWindowController fadeWindowOut]):
464         (-[WebVideoFullscreenHUDWindowController closeWindow]):
465
466 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
467
468         Build fixes for Tiger.
469
470         * WebView/WebVideoFullscreenHUDWindowController.h:
471         * WebView/WebVideoFullscreenHUDWindowController.mm:
472         (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]):
473         (-[WebVideoFullscreenHUDWindowController dealloc]):
474         (-[WebVideoFullscreenHUDWindowController closeWindow]):
475         (-[WebVideoFullscreenHUDWindowController windowDidLoad]):
476
477 2009-10-05  Simon Fraser  <simon.fraser@apple.com>
478
479         Build fix. If you call Node::hasTagName(), you also have to include Element.h.
480
481         * WebCoreSupport/WebChromeClient.mm:
482
483 2009-10-05  Pierre d'Herbemont  <pdherbemont@webkit.org>
484
485         Reviewed by Simon Fraser
486         
487         Support fullscreen in MediaPlayer (Mac)
488         https://bugs.webkit.org/show_bug.cgi?id=26742
489
490         Add a fullscreen button to the <video> controller if the media engine,
491         and the theme have support for fullscreen, and can show appropriate controls.
492         Clicking the button calls through the ChromeClient to the WebVideoFullscreenController
493         in WebKit to do a nice animation to fullscreen, with a custom controller.
494
495         * WebCoreSupport/WebChromeClient.h:
496         * WebCoreSupport/WebChromeClient.mm:
497         (WebChromeClient::supportsFullscreenForNode):
498         (WebChromeClient::enterFullscreenForNode):
499         (WebChromeClient::exitFullscreenForNode):
500         New methods to ask whether fullscreen is possible for a given node, and
501         notifications on enterying and exiting fullscreen.
502         
503         * WebView/WebVideoFullscreenController.h: Added.
504         * WebView/WebVideoFullscreenController.mm: Added.
505         WebVideoFullscreenController is responsible for creating the fullscreen window,
506         and coordinating the various animations when going fullscreen.
507
508         * WebView/WebVideoFullscreenHUDWindowController.h: Added.
509         * WebView/WebVideoFullscreenHUDWindowController.mm: Added.
510         This class manages the heads-up display (HUD) control bar.
511
512         * WebView/WebView.mm:
513         (-[WebView _close]):
514         Make sure we come out of fullscreen if the WebView is torn down (e.g. if
515         you close a background window).
516
517         (-[WebView _enterFullscreenForNode:WebCore::]):
518         Make a WebVideoFullscreenController and tell is to start to go fullscreen.
519         
520         (-[WebView _exitFullscreen]):
521         Tell the WebVideoFullscreenController to come out of fullscreen, and clean up.
522         
523         * WebView/WebViewData.h:
524         * WebView/WebViewData.mm:
525         (-[WebViewPrivate dealloc]):
526         (-[WebViewPrivate finalize]):
527         * WebView/WebViewInternal.h:
528         Keep a pointer to the WebVideoFullscreenController.
529         
530         * WebView/WebWindowAnimation.h: Added.
531         * WebView/WebWindowAnimation.m: Added.
532         (WebWindowAnimationDurationFromDuration):
533         (scaledRect):
534         (squaredDistance):
535         Handle the animations used during the transitition to fullscreen.
536
537 2009-10-05  Anders Carlsson  <andersca@apple.com>
538
539         Reviewed by Kevin Decker.
540        
541         WebKit side of <rdar://problem/7179166>
542        
543         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
544         Add an m_pluginIsWaitingForDraw member variable.
545         
546         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
547         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
548         Initialize m_pluginIsWaitingForDraw.
549         
550         (WebKit::NetscapePluginInstanceProxy::invalidateRect):
551         Set m_pluginIsWaitingForDraw to true.
552         
553         (WebKit::NetscapePluginInstanceProxy::didDraw):
554         If m_pluginIsWaitingForDraw is true, call _WKPHPluginInstanceDidDraw.
555         
556         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
557         (-[WebHostedNetscapePluginView drawRect:]):
558         Call didDraw.
559         
560         * Plugins/Hosted/WebKitPluginHost.defs:
561         Add PHPluginInstanceDidDraw.
562
563 2009-10-02  Chris Marrin  <cmarrin@apple.com>
564
565         Reviewed by Adele Peterson.
566
567         Add functionality to pause/throttle CSS transitions/animations in a WebView
568         https://bugs.webkit.org/show_bug.cgi?id=29942
569
570         Added both a setter and getter function
571
572         * WebView/WebView.mm:
573         (-[WebView cssAnimationsSuspended]):
574         (-[WebView setCSSAnimationsSuspended:]):
575         * WebView/WebViewData.h:
576         * WebView/WebViewData.mm:
577         (-[WebViewPrivate init]):
578         * WebView/WebViewPrivate.h:
579
580 2009-10-04  Kevin Decker  <kdecker@apple.com>
581
582         Reviewed by Sam Weinig.
583
584         <rdar://problem/7273363> Plug-ins should use PluginHalter
585         
586         * Plugins/WebBaseNetscapePluginView.h: Add WebHaltablePlugin forward declare and _haltable ivar.
587         * Plugins/WebBaseNetscapePluginView.mm:
588         (WebHaltablePlugin::WebHaltablePlugin): Added.
589         (WebHaltablePlugin::halt): New method that stops a plug-in.
590         (WebHaltablePlugin::restart): New method that starts a plug-in.
591         (WebHaltablePlugin::node): Added. Provides the DOMNode corresponding to the plug-in in WebBaseNetscapePluginView.
592         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
593         Initialize new _haltable ivar.
594         (-[WebBaseNetscapePluginView start]): Call the page's didStartPlugin() upon starting a plug-in.
595         (-[WebBaseNetscapePluginView stop]): Call the page's didStopPlugin() upon stopping a plug-in.
596
597 2009-10-05  Pavel Feldman  <pfeldman@chromium.org>
598
599         Reviewed by Timothy Hatcher.
600
601         Web Inspector: add testing harness for Web Inspector.
602
603         https://bugs.webkit.org/show_bug.cgi?id=30010
604
605         * WebInspector/WebInspector.mm:
606         (-[WebInspector evaluateInFrontend:callId:script:]):
607         * WebInspector/WebInspectorPrivate.h: Added.
608
609 2009-10-04  Kevin Decker  <kdecker@apple.com>
610
611         Reviewed by Cameron Zwarich.
612
613         * WebView/WebPreferenceKeysPrivate.h: Added new key.
614         * WebView/WebPreferences.mm:
615         (+[WebPreferences initialize]): Leave plug-in halting disabled by default.
616         (-[WebPreferences pluginHalterEnabled]): Added.
617         (-[WebPreferences setPluginHalterEnabled:]): Ditto.
618         * WebView/WebPreferencesPrivate.h: Added above new methods. 
619
620 2009-10-02  Dave Hyatt  <hyatt@apple.com>
621
622         Reviewed by Adam Roben.
623
624         Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.
625
626         * WebView/WebView.mm:
627         (toStringVector):
628         (+[WebView _addUserScriptToGroup:source:url:worldID:whitelist:blacklist:injectionTime:]):
629         (+[WebView _addUserStyleSheetToGroup:source:url:worldID:whitelist:blacklist:]):
630         * WebView/WebViewPrivate.h:
631
632 2009-10-01  Mark Rowe  <mrowe@apple.com>
633
634         Fix the Tiger build.  Don't unconditionally enable 3D canvas as it is not supported on Tiger.
635
636         * Configurations/FeatureDefines.xcconfig:
637
638 2009-10-01  Chris Marrin  <cmarrin@apple.com>
639
640         Reviewed by Oliver Hunt.
641
642         Turn on ENABLE_3D_CANVAS in TOT
643         https://bugs.webkit.org/show_bug.cgi?id=29906
644
645         * Configurations/FeatureDefines.xcconfig:
646         * WebView/WebPreferenceKeysPrivate.h:
647         * WebView/WebPreferences.mm:
648         (+[WebPreferences initialize]):
649         (-[WebPreferences webGLEnabled]):
650         (-[WebPreferences setWebGLEnabled:]):
651         * WebView/WebPreferencesPrivate.h:
652         * WebView/WebView.mm:
653         (-[WebView _preferencesChangedNotification:]):
654
655 2009-09-30  Sam Weinig  <sam@webkit.org>
656
657         Reviewed by Dan Bernstein.
658
659         Fix for <rdar://problem/7259706>
660         Need WebKit API or SPI on Mac and Windows to test whether it's safe to load a page in a new tab/window
661
662         * WebView/WebFrame.mm:
663         (-[WebFrame _allowsFollowingLink:]):
664         * WebView/WebFramePrivate.h:
665
666 2009-09-30  Dave Hyatt  <hyatt@apple.com>
667
668         Reviewed by Adam Roben.
669
670         Add the ability to remove user stylesheets and scripts by URL.
671
672         * WebView/WebView.mm:
673         (+[WebView _removeUserContentFromGroup:url:worldID:]):
674         * WebView/WebViewPrivate.h:
675
676 2009-09-29  Brady Eidson  <beidson@apple.com>
677
678         Rubberstamped by Dan Bernstein.
679
680         Fix license and some sorting in new files.
681
682         * WebView/WebHistoryDelegate.h:
683         * WebView/WebNavigationData.h:
684         * WebView/WebNavigationData.mm:
685
686 2009-09-29  Brady Eidson  <beidson@apple.com>
687
688         Reviewed by John Sullivan.
689
690         WebKit Mac API should provide a delegate interface for global history.
691         <rdar://problem/7042773> and https://webkit.org/b/29904
692
693         * WebView/WebHistoryDelegate.h: Added. New interface for WebKit clients to implement to manage 
694           their own global history store.
695
696         Object to store all of the bits of data relevant to a page visit:
697         * WebView/WebNavigationData.h: Added.
698         * WebView/WebNavigationData.mm: Added.
699         (-[WebNavigationDataPrivate dealloc]):
700         (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
701         (-[WebNavigationData url]):
702         (-[WebNavigationData title]):
703         (-[WebNavigationData originalRequest]):
704         (-[WebNavigationData response]):
705         (-[WebNavigationData hasSubstituteData]):
706         (-[WebNavigationData clientRedirectSource]):
707         (-[WebNavigationData dealloc]):
708
709         * WebCoreSupport/WebFrameLoaderClient.mm:
710         (WebFrameLoaderClient::updateGlobalHistory): If the delegate exists, don't use the built-in WebHistory.
711           If the implementation for this method exists, call it.
712         (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Ditto
713
714         * WebView/WebDelegateImplementationCaching.h:
715         * WebView/WebDelegateImplementationCaching.mm:
716         (WebViewGetHistoryDelegateImplementations):
717         (CallHistoryDelegate):
718
719         * WebView/WebView.mm:
720         (-[WebView _cacheHistoryDelegateImplementations]):
721         (-[WebView setHistoryDelegate:]):
722         (-[WebView historyDelegate]):
723         * WebView/WebViewData.h:
724         * WebView/WebViewPrivate.h:
725
726 2009-09-29  Kenneth Russell  <kbr@google.com>
727
728         Reviewed by Dimitri Glazkov.
729
730         Add support for run-time flag for 3D canvas
731         https://bugs.webkit.org/show_bug.cgi?id=29826
732
733         * WebView/WebView.mm:
734         (-[WebView _preferencesChangedNotification:]): Enable experimental
735         WebGL flag when 3D_CANVAS is enabled in the build.
736
737 2009-09-28  Fumitoshi Ukai  <ukai@chromium.org>
738
739         Reviewed by Eric Seidel.
740
741         Add experimentalWebSocketsEnabled in WebPreferences.
742         https://bugs.webkit.org/show_bug.cgi?id=28941
743
744         * WebView/WebPreferenceKeysPrivate.h:
745         * WebView/WebPreferences.mm:
746         (+[WebPreferences initialize]):
747         (-[WebPreferences experimentalWebSocketsEnabled]):
748         (-[WebPreferences setExperimentalWebSocketsEnabled:]):
749         * WebView/WebPreferencesPrivate.h:
750         * WebView/WebView.mm:
751         (-[WebView _preferencesChangedNotification:]):
752
753 2009-09-28  Dan Bernstein  <mitz@apple.com>
754
755         Reviewed by Anders Carlsson.
756
757         <rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading
758         a PDF
759
760         CGPDFObjectRef is not a CFTypeRef, and cannot be retained or released.
761         Its lifetime is managed by its container. Just use a Vector to store
762         CGPDFObjectRefs, relying on the CGPDFDocument to keep them alive.
763
764         * WebView/WebPDFDocumentExtras.mm:
765         (appendValuesInPDFNameSubtreeToVector):
766         (getAllValuesInPDFNameTree):
767         (web_PDFDocumentAllScripts):
768
769 2009-09-24  Jon Honeycutt  <jhoneycutt@apple.com>
770
771         Reviewed by Alice Liu.
772
773         * WebView/WebView.mm:
774         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
775         Pass 0 for new Page constructor argument.
776
777 2009-09-14  John Gregg  <johnnyg@google.com>
778
779         Reviewed by Eric Seidel.
780
781         isEnabled switch for notifications (experimental) in Page Settings
782         https://bugs.webkit.org/show_bug.cgi?id=28930
783
784         Adds support for the experimentalNotificationsEnabled flag in Settings
785         through WebPreferencesPrivate.
786
787         * WebView/WebPreferenceKeysPrivate.h:
788         * WebView/WebPreferences.mm:
789         (+[WebPreferences initialize]):
790         (-[WebPreferences experimentalNotificationsEnabled]):
791         (-[WebPreferences setExperimentalNotificationsEnabled:]):
792         * WebView/WebPreferencesPrivate.h:
793         * WebView/WebView.mm:
794         (-[WebView _preferencesChangedNotification:]):
795
796 2009-09-23  Geoffrey Garen  <ggaren@apple.com>
797
798         Reviewed by Sam Weinig.
799
800         Updated for a WebCore rename.
801
802         * WebView/WebFrame.mm:
803         (-[WebFrame _cacheabilityDictionary]):
804
805 2009-09-23  Darin Adler  <darin@apple.com>
806
807         Reviewed by Dan Bernstein.
808
809         Speed up access to history items by caching date computation.
810
811         * History/WebHistory.mm:
812         (getDayBoundaries): Refactored from timeIntervalForBeginningOfDay.
813         Returns the beginning of the day that the passed time is within and
814         the beginning of the next day.
815         (beginningOfDay): Added. Uses getDayBoundaries so it can be fast for
816         multiple dates within the same day, which is the common case.
817         (dateKey): Added. Calls beginningOfDay and converts to an integer.
818         (-[WebHistoryPrivate findKey:forDay:]): Changed to call dateKey
819         insetad of timeIntervalForBeginningOfDay.
820
821 2009-09-23  David Kilzer  <ddkilzer@apple.com>
822
823         Move definition of USE(PLUGIN_HOST_PROCESS) from WebKitPrefix.h to Platform.h
824
825         Reviewed by Mark Rowe.
826
827         * WebKitPrefix.h: Removed definition of
828         WTF_USE_PLUGIN_HOST_PROCESS.
829
830 2009-09-22  Timothy Hatcher  <timothy@apple.com>
831
832         Prevent scrolling multiple frames during latched wheel events.
833
834         Reviewed by Anders Carlsson.
835
836         * WebView/WebDynamicScrollBarsView.h:
837         * WebView/WebDynamicScrollBarsView.mm:
838         (-[WebDynamicScrollBarsView scrollWheel:]):
839
840 2009-09-22  Dan Bernstein  <mitz@apple.com>
841
842         Reviewed by John Sullivan.
843
844         <rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading
845         a PDF
846
847         * WebView/WebPDFDocumentExtras.mm:
848         (addWebPDFDocumentExtras): Made methodList static, because
849         class_addMethods() doesn't copy it.
850
851 2009-09-21  Dan Bernstein  <mitz@apple.com>
852
853         Attempt to fix the Tiger build
854
855         * WebView/WebPDFDocumentExtras.mm:
856         (addWebPDFDocumentExtras):
857
858 2009-09-21  Dan Bernstein  <mitz@apple.com>
859
860         Attempt to fix the Tiger build
861
862         * WebView/WebPDFDocumentExtras.mm:
863         (web_PDFDocumentAllScripts):
864         (addWebPDFDocumentExtras):
865
866 2009-09-21  Dan Bernstein  <mitz@apple.com>
867
868         Attempt to fix the Tiger build
869
870         * WebView/WebPDFDocumentExtras.mm:
871         * WebView/WebPDFRepresentation.mm:
872
873 2009-09-21  Dan Bernstein  <mitz@apple.com>
874
875         Attempt to fix the Leopard and Tiger builds
876
877         * WebView/WebPDFDocumentExtras.mm:
878
879 2009-09-21  Dan Bernstein  <mitz@apple.com>
880
881         Reviewed by Anders Carlsson.
882
883         <rdar://problem/4137135> iFrame with PDF not being handled correctly on
884         usps.com
885         https://bugs.webkit.org/show_bug.cgi?id=4151
886
887         * WebView/WebJSPDFDoc.h: Added.
888         * WebView/WebJSPDFDoc.mm: Added.
889         (jsPDFDocInitialize): Retains the WebDataSource.
890         (jsPDFDocFinalize): Releases the WebDataSource.
891         (jsPDFDocPrint): Call the WebUIDelegate method -webView:printFrameView:
892         with the PDF document's view.
893         (makeJSPDFDoc): Makes and returns a JavaScript Doc instance that wraps
894         the WebDataSource.
895         * WebView/WebPDFDocumentExtras.h: Added.
896         * WebView/WebPDFDocumentExtras.mm: Added.
897         (appendValuesInPDFNameSubtreeToArray): Traverses a subtree of a PDF name
898         tree and adds all values in the subtree to an array.
899         (allValuesInPDFNameTree): Returns an array with all of the values in a
900         PDF name tree.
901         (web_PDFDocumentAllScripts): This is the implementation of -[PDFDocument
902         _web_allScripts]. It gets all values in the document-level "JavaScript"
903         name tree, which are action dictionaries, and returns an array of the
904         actions' scripts.
905         (addWebPDFDocumentExtras): Adds the -_web_allScripts method to
906         PDFDocument.
907         * WebView/WebPDFRepresentation.h:
908         * WebView/WebPDFRepresentation.m: Removed.
909         * WebView/WebPDFRepresentation.mm: Copied from WebKit/mac/WebView/WebPDFRepresentation.m.
910         (+[WebPDFRepresentation initialize]): Added. Calls
911         addWebPDFDocumentExtras().
912         (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Get the
913         scripts from the PDF document, create a JavaScript Doc object for the
914         document, and a JavaScript execution context, then execute every script
915         in the context, with the Doc object as "this".
916
917 2009-09-17  Simon Fraser  <simon.fraser@apple.com>
918
919         Reviewed by Dave Hyatt.
920
921         Compositing layers are incorrectly positioned after scrolling with position:fixed
922         https://bugs.webkit.org/show_bug.cgi?id=29262
923         
924         When scrolling a page with compositing layers inside a position:fixed element,
925         we need to update the compositing layer positions when the scroll position changes.
926
927         * WebView/WebHTMLView.mm:
928         (-[WebHTMLView _frameOrBoundsChanged]):
929         Call the new FrameView::scrollPositionChanged() method rather than sending the
930         scroll event directly.
931
932 2009-09-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
933
934         Reviewed by Simon Hausmann.
935
936         Make PlatformWindow return something else than PlatformWidget
937         https://bugs.webkit.org/show_bug.cgi?id=29085
938
939         Reflect the rename of platformWindow and it's return type.
940
941         * WebCoreSupport/WebChromeClient.h:
942         * WebCoreSupport/WebChromeClient.mm:
943         (WebChromeClient::platformPageClient):
944
945 2009-09-17  Anders Carlsson  <andersca@apple.com>
946
947         Reviewed by Oliver Hunt.
948
949         <rdar://problem/7007541> 
950         CrashTracer: 4800+ crashes in Safari at com.apple.WebKit • WTF::HashTableIterator...
951
952         Add null checks for m_instanceProxy (It will be null when a plug-in has crashed).
953         
954         * Plugins/Hosted/ProxyInstance.mm:
955         (WebKit::ProxyInstance::invoke):
956         (WebKit::ProxyInstance::supportsInvokeDefaultMethod):
957         (WebKit::ProxyInstance::supportsConstruct):
958         (WebKit::ProxyInstance::getPropertyNames):
959         (WebKit::ProxyInstance::methodsNamed):
960         (WebKit::ProxyInstance::fieldNamed):
961         (WebKit::ProxyInstance::fieldValue):
962         (WebKit::ProxyInstance::setFieldValue):
963         (WebKit::ProxyInstance::invalidate):
964
965 2009-09-16  Simon Fraser  <simon.fraser@apple.com>
966
967         Reviewed by Dan Bernstein.
968
969         Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and
970         become misplaced when the WebHTMLView is resized or scrolled sometimes.
971         <rdar://problem/7071636>
972         
973         The previous fix didn't fix the case where the layers jiggle when resizing the docked
974         inspector when the view size is over 2048px tall, on Leopard.
975
976         * WebView/WebHTMLView.mm:
977         (-[WebHTMLView _updateLayerHostingViewPosition]):
978
979 2009-09-16  Simon Fraser  <simon.fraser@apple.com>
980
981         Reviewed by Oliver Hunt.
982
983         Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and
984         become misplaced when the WebHTMLView is resized or scrolled sometimes.
985         <rdar://problem/7071636>
986         
987         We call an internal AppKit method to make sure the layer geometry is updated correctly.
988
989         * WebView/WebHTMLView.mm:
990         (-[WebHTMLView _updateLayerHostingViewPosition]):
991
992 2009-09-15  Simon Fraser  <simon.fraser@apple.com>
993
994         Reviewed by Dan Bernstein.
995
996         Fixed position elements flash when CSS transforms are applied on page > 2048px tall
997         https://bugs.webkit.org/show_bug.cgi?id=27272
998         
999         Update the previous workaround for misplaced compositing layers, which used a 4096px
1000         threshold, to 2048px since that's the GPU max texture size on some older hardware.
1001
1002         * WebView/WebHTMLView.mm:
1003         (-[WebHTMLView _updateLayerHostingViewPosition]):
1004
1005 2009-09-15  Alex Milowski  <alex@milowski.com>
1006
1007         Reviewed by Tor Arne Vestbø.
1008
1009         Added the ENABLE_MATHML to the feaure defines
1010
1011         * Configurations/FeatureDefines.xcconfig:
1012
1013 2009-09-15  Mark Rowe  <mrowe@apple.com>
1014
1015         Reviewed by Anders Carlsson.
1016
1017         <rdar://problem/7224378> REGRESSION(r48360): Dragging a tab with a plug-in out of a window, the plug-in gets slow and confused
1018
1019         In r48360, the fix for <rdar://problem/7090444>, I neglected to consider the case where the plug-in had already been started and
1020         -start would do an early-return rather than calling -restartTimers and -addWindowObservers itself.
1021
1022         * Plugins/WebBaseNetscapePluginView.mm:
1023         (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Reinstate the call to -restartTimers and -addWindowObservers, but guard them
1024         with a check that the view is still in the window.
1025
1026 2009-09-14  Brady Eidson  <beidson@apple.com>
1027
1028         Reviewed by Alexey Proskuryakov.
1029
1030         Safari 4 cannot be used to update firmware on Linksys routers.
1031         <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
1032
1033         Adopt the new WebCore::CredentialStorage in WebKit/Mac.
1034
1035         * Misc/WebDownload.mm:
1036         (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
1037         * Plugins/WebBaseNetscapePluginView.mm:
1038         (WebKit::getAuthenticationInfo):
1039
1040 2009-09-12  Mark Rowe  <mrowe@apple.com>
1041
1042         Reviewed by Anders Carlsson.
1043
1044         Fix <rdar://problem/7090444> Crashes in-[WebBaseNetscapePluginView stop] handling NSWindowWillCloseNotification.
1045
1046         It's not valid to call -addWindowObservers when the view is not in a window, but this can happen when -start
1047         initializes a plug-in and the plug-in removes itself from the document during initialization.  -viewDidMoveToWindow
1048         calls -start and then calls -addWindowObservers without ensuring that the view is still in a window.
1049
1050         If -[WebBaseNetscapePluginView addWindowObservers] is incorrectly called when the view is not in a window, it will
1051         observe NSWindowWillCloseNotification on all windows.  This unexpected observer registration is not balanced by an
1052         unregistration so the notification can be delivered after the view is deallocated, causing the crash seen in
1053         <rdar://problem/7090444>.
1054
1055         * Plugins/WebBaseNetscapePluginView.mm:
1056         (-[WebBaseNetscapePluginView start]): Only call -updateAndSetWindow if we still have a current window.
1057         (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Remove unnecessary calls to -restartTimers and -addWindowObservers
1058         from -[WebBaseNetscapePluginView viewDidMoveToWindow].  They are already called from within -start with the extra benefit
1059         of ensuring that the view is still in a window when they are called.
1060
1061 2009-09-11  Mark Rowe  <mrowe@apple.com>
1062
1063         Reviewed by Jon Honeycutt.
1064
1065         Fix <rdar://problem/7145242> Crashes inside WTF::HashTable below NetscapePluginInstanceProxy::disconnectStream
1066
1067         * Plugins/Hosted/HostedNetscapePluginStream.mm:
1068         (WebKit::HostedNetscapePluginStream::cancelLoad): Canceling the load can result in calling through to disconnectStream.
1069         If the plug-in instance holds the last reference to the plug-in stream this will result in the stream being deallocated.
1070         This leads to HostedNetscapePluginStream::cancelLoad's call to disconnectStream being passed a deallocated stream object.
1071         Since the stream was already disconnected by the call to cancel there's no need to call disconnectStream a second time.
1072
1073 2009-09-11  Eric Seidel  <eric@webkit.org>
1074
1075         No review, rolling out r48229.
1076         http://trac.webkit.org/changeset/48229
1077
1078         * WebView/WebFrame.mm:
1079         (-[WebFrame _dragSourceMovedTo:]):
1080
1081 2009-09-10  Mark Rowe  <mrowe@apple.com>
1082
1083         Rubber-stamped by Sam Weinig.
1084
1085         Update JavaScriptCore and WebKit's FeatureDefines.xcconfig so that they are in sync with WebCore as they need to be.
1086
1087         * Configurations/FeatureDefines.xcconfig:
1088
1089 2009-09-09  Jens Alfke  <snej@chromium.org>
1090
1091         Reviewed by Eric Seidel.
1092
1093         Initialize DataTransfer's effectAllowed and dropEffect properties correctly
1094         according to HTML5 spec (sec. 7.9.2-7.9.3).
1095         https://bugs.webkit.org/show_bug.cgi?id=26700
1096
1097         * WebView/WebFrame.mm:
1098         (-[WebFrame _dragSourceMovedTo:]):
1099             Pass current drag operation (if known) to EventHandler::dragSourceMovedTo().
1100
1101 2009-09-09  Dave Hyatt  <hyatt@apple.com>
1102
1103         Reviewed by Adam Roben.
1104
1105         https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection.  This is similar
1106         to user script injection but allows for user stylesheets to be added.  The stylesheets are applied immediately
1107         to all Frames in the PageGroup.
1108
1109         Added userscripts/simple-stylesheet.html test case.
1110
1111         * WebView/WebView.mm:
1112         (+[WebView _addUserStyleSheetToGroup:source:url:worldID:patterns:]):
1113         * WebView/WebViewPrivate.h:
1114
1115 2009-09-07  Steve Block  <steveblock@google.com>
1116
1117         Reviewed by Adam Barth.
1118
1119         Adds a mock Geolocation service. This will be used to provide predictable behavior of the
1120         Geolocation API for use in LayoutTests. Later changes will integrate the the mock
1121         Geolocation service with DumpRenderTree.
1122         https://bugs.webkit.org/show_bug.cgi?id=28264
1123
1124         * WebCoreSupport/WebGeolocationMockPrivate.h: Added.
1125         * WebCoreSupport/WebGeolocationMock.mm: Added.
1126         (+[WebGeolocationMock setError:code:]): Added. Used by DumpRender tree to configure the mock Geolocation service.
1127         (+[WebGeolocationMock setPosition:latitude:longitude:accuracy:]): Added. Used by DumpRender tree to configure the mock Geolocation service.
1128         * WebKit.exp: Modified. Exports WebGeolocationMock.
1129
1130 2009-09-07  Drew Wilson  <atwilson@google.com>
1131
1132         Reviewed by David Levin.
1133
1134         Enable SHARED_WORKERS by default.
1135         https://bugs.webkit.org/show_bug.cgi?id=28959
1136
1137         * Configurations/FeatureDefines.xcconfig:
1138
1139 2009-09-06  Cameron McCormack  <cam@mcc.id.au>
1140
1141         Reviewed by Eric Seidel.
1142
1143         Drop <definition-src> support
1144         https://bugs.webkit.org/show_bug.cgi?id=28991
1145
1146         * MigrateHeaders.make: Remove reference to ObjC definition-src
1147         binding class.
1148
1149 2009-09-04  Mark Mentovai  <mark@chromium.org>
1150
1151         Reviewed by Dave Hyatt.
1152
1153         https://bugs.webkit.org/show_bug.cgi?id=28614
1154
1155         Account for scrollbar state changes that occur during layout.
1156
1157         * WebView/WebDynamicScrollBarsView.mm:
1158         (-[WebDynamicScrollBarsView updateScrollers]):
1159
1160         Perform a layout prior to checking whether the scrollbar modes are
1161         off, on, or automatic.  The modes may change during layout.
1162
1163         * WebView/WebFrameView.mm:
1164         (-[WebFrameView _install]):
1165
1166         Eliminate duplicated (and incorrect) scrollbar mode tracking between
1167         FrameView and ScrollView.
1168
1169 2009-09-03  Dave Hyatt  <hyatt@apple.com>
1170
1171         Reviewed by Adam Roben.
1172
1173         https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
1174         
1175         This patch adds new API for adding and removing user scripts from page groups.  User scripts
1176         are bundled together in isolated worlds (you can have multiple scripts together in the same
1177         world).
1178
1179         Added userscripts/ directory for holding new tests (along with a simple test of script injection).
1180
1181         * WebView/WebView.mm:
1182         (+[WebView _addUserScriptToGroup:source:url:worldID:patterns:injectionTime:]):
1183         (+[WebView _removeUserContentFromGroup:worldID:]):
1184         (+[WebView _removeAllUserContentFromGroup:]):
1185         * WebView/WebViewPrivate.h:
1186
1187 2009-09-04  Adam Barth  <abarth@webkit.org>
1188
1189         Reviewed by Eric Seidel.
1190
1191         https://bugs.webkit.org/show_bug.cgi?id=24696
1192
1193         Plumb mixed content notifications to WebFrameLoadDelegatePrivate.
1194
1195         * WebCoreSupport/WebFrameLoaderClient.mm:
1196         (WebFrameLoaderClient::didDisplayInsecureContent):
1197         (WebFrameLoaderClient::didRunInsecureContent):
1198         * WebView/WebDelegateImplementationCaching.h:
1199         * WebView/WebFrameLoadDelegatePrivate.h: Added.
1200
1201 2009-09-03  Adam Barth  <abarth@webkit.org>
1202
1203         Unreviewed build fix.
1204
1205         Change notImplemented() to a FIXME.
1206
1207         * WebCoreSupport/WebFrameLoaderClient.mm:
1208         (WebFrameLoaderClient::didDisplayInsecureContent):
1209         (WebFrameLoaderClient::didRunInsecureContent):
1210
1211 2009-09-03  Adam Barth  <abarth@webkit.org>
1212
1213         Reviewed by eric@webkit.org.
1214
1215         https://bugs.webkit.org/show_bug.cgi?id=24696
1216
1217         Plumb mixed content notifications to WebFrameLoadDelegatePrivate.
1218
1219         * WebCoreSupport/WebFrameLoaderClient.mm:
1220         (WebFrameLoaderClient::didDisplayInsecureContent):
1221         (WebFrameLoaderClient::didRunInsecureContent):
1222         * WebView/WebDelegateImplementationCaching.h:
1223         * WebView/WebFrameLoadDelegatePrivate.h: Added.
1224
1225 2009-09-03  Adam Barth  <abarth@webkit.org>
1226
1227         Reviewed by Eric Seidel.
1228
1229         https://bugs.webkit.org/show_bug.cgi?id=24696
1230
1231         Stub implementations of mixed content methods of FrameLoaderClient. 
1232
1233         * WebCoreSupport/WebFrameLoaderClient.h:
1234         * WebCoreSupport/WebFrameLoaderClient.mm:
1235         (WebFrameLoaderClient::didDisplayInsecureContent):
1236         (WebFrameLoaderClient::didRunInsecureContent):
1237
1238 2009-09-02  Brady Eidson  <beidson@apple.com>
1239
1240         Reviewed by Darin Adler.
1241
1242         More partial work towards "Page Cache should support pages with Frames"
1243         https://bugs.webkit.org/show_bug.cgi?id=13631
1244
1245         * WebView/WebHTMLView.mm:
1246         (-[WebHTMLView _topHTMLView]): Rework the ASSERT in this method to reflect the
1247           reality of calling this method for pages currently in the PageCache.
1248
1249 2009-08-31  Dimitri Glazkov  <dglazkov@chromium.org>
1250
1251     Reverting http://trac.webkit.org/changeset/47904, because it caused
1252     layout test failure.
1253
1254 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
1255
1256         Reviewed by Darin Adler.
1257
1258         https://bugs.webkit.org/show_bug.cgi?id=28852
1259         Rename KURL single argument constructor to avoid confusion
1260
1261         * WebView/WebScriptDebugger.mm: (toNSURL): Adapt to the change.
1262
1263 2009-08-31  Mark Mentovai  <mark@chromium.org>
1264
1265         Reviewed by Dave Hyatt.
1266
1267         https://bugs.webkit.org/show_bug.cgi?id=28614
1268
1269         Perform a layout prior to checking whether the scrollbar modes are
1270         off, on, or automatic.  The modes may change during layout.
1271
1272         * WebView/WebDynamicScrollBarsView.mm:
1273         (-[WebDynamicScrollBarsView updateScrollers]):
1274
1275 2009-08-28  Chris Fleizach  <cfleizach@apple.com>
1276
1277         Reviewed by John Sullivan.
1278
1279         update-webkit-localizable-strings script can no longer complete
1280         https://bugs.webkit.org/show_bug.cgi?id=28792
1281
1282         * WebCoreSupport/WebViewFactory.mm:
1283         (-[WebViewFactory AXARIAContentGroupText:]):
1284
1285 2009-08-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1286
1287         Reviewed by Holger Freyther.
1288
1289         https://bugs.webkit.org/show_bug.cgi?id=25889
1290         [GTK] scrollbar policy for main frame is not implementable
1291
1292         Add empty implementation for new ChromeClient method.
1293
1294         * WebCoreSupport/WebChromeClient.h:
1295         (WebChromeClient::scrollbarsModeDidChange):
1296
1297 2009-08-25  Eric Carlson  <eric.carlson@apple.com>
1298
1299         Reviewed by Oliver Hunt.
1300
1301         <video> and <audio> controller should be accessible
1302         https://bugs.webkit.org/show_bug.cgi?id=28081
1303
1304         * WebCoreSupport/WebViewFactory.mm:
1305         (-[WebViewFactory localizedMediaControlElementString:]):
1306         (-[WebViewFactory localizedMediaControlElementHelpText:]):
1307         (-[WebViewFactory localizedMediaTimeDescription:]):
1308             New.
1309
1310 2009-08-24  Simon Fraser  <simon.fraser@apple.com>
1311
1312         Reviewed by NOBODY (build fix)
1313
1314         Turn off ENABLE_3D_CANVAS in the xconfig files.
1315
1316         * Configurations/FeatureDefines.xcconfig:
1317
1318 2009-08-22  Adam Barth  <abarth@webkit.org>
1319
1320         Revert 47684.  We're going to do this later once clients have had a
1321         chance to opt into the setting they like.
1322
1323         * Misc/WebKitVersionChecks.h:
1324         * WebView/WebPreferences.mm:
1325         (+[WebPreferences initialize]):
1326
1327 2009-08-22  Adam Barth  <abarth@webkit.org>
1328
1329         Reviewed by Eric Seidel.
1330
1331         Don't let local files access web URLs
1332         https://bugs.webkit.org/show_bug.cgi?id=28480
1333
1334         * Misc/WebKitVersionChecks.m:
1335         * WebView/WebPreferences.mm:
1336         (+[WebPreferences initialize]):
1337
1338 2009-08-21  Anders Carlsson  <andersca@apple.com>
1339
1340         Reviewed by Darin Adler.
1341
1342         <rdar://problem/7162480>
1343         Sometimes WebKit does not layout correctly when a WebView is embedded in an HICocoaView
1344         
1345         Add a null check for the current context when reflectScrolledClipView: is called from outside a 
1346         draw operation.
1347         
1348         * WebView/WebDynamicScrollBarsView.mm:
1349         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
1350
1351 2009-08-20  Chris Fleizach  <cfleizach@apple.com>
1352
1353         Reviewed by Darin Adler.
1354
1355         Enable various "grouping" ARIA roles
1356         https://bugs.webkit.org/show_bug.cgi?id=28486
1357
1358         * WebCoreSupport/WebViewFactory.mm:
1359         (-[WebViewFactory AXARIAContentGroupText:]):
1360
1361 2009-08-19  Mark Rowe  <mrowe@apple.com>
1362
1363         Reviewed by Dan Bernstein.
1364
1365         Fix <http://webkit.org/b/28484> Plug-in-related leaks seen on the build bot
1366
1367         When the plug-in data is being loaded manually there is a reference cycle between the
1368         NetscapePluginInstanceProxy and the HostedNetscapePluginStream.  We need to explicitly
1369         break the reference cycle in NetscapePluginInstanceProxy::cleanup so that both objects
1370         will be destroyed.
1371
1372         Take the opportunity to add RefCountedLeakCounter support to HostedNetscapePluginStream
1373         and NetscapePluginInstanceProxy to simplify tracking down leaks of these objects in the future.
1374
1375         * Plugins/Hosted/HostedNetscapePluginStream.h:
1376         * Plugins/Hosted/HostedNetscapePluginStream.mm:
1377         (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
1378         (WebKit::HostedNetscapePluginStream::~HostedNetscapePluginStream):
1379         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1380         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
1381         (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
1382         (WebKit::NetscapePluginInstanceProxy::cleanup): Clear m_manualStream to break the reference
1383         cycle.
1384
1385 2009-08-19  Aaron Boodman  <aa@chromium.org>
1386
1387         Reviewed by David Levin.
1388
1389         https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
1390         specify a more granular policy for cross-origin XHR access.
1391
1392         * WebView/WebView.mm: Add SPI to manipulate origin access whitelists.
1393         (+[WebView _whiteListAccessFromOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Ditto.
1394         (+[WebView _resetOriginAccessWhiteLists]): Ditto.
1395         * WebView/WebViewPrivate.h: Ditto.
1396
1397 2009-08-18  Anders Carlsson  <andersca@apple.com>
1398
1399         Reviewed by Adele Peterson.
1400
1401         Mac specific part of
1402         
1403         <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource
1404
1405         * WebCoreSupport/WebFrameLoaderClient.h:
1406         * WebCoreSupport/WebFrameLoaderClient.mm:
1407         Implement shouldLoadMediaElementURL by asking the policy delegate.
1408         
1409         * WebView/WebPolicyDelegatePrivate.h:
1410         Add new delegate method, remove some unused cruft.
1411
1412 2009-08-18  Drew Wilson  <atwilson@google.com>
1413
1414         Reviewed by Eric Seidel.
1415
1416         Need to extend DumpRenderTree to expose number of worker threads.
1417         https://bugs.webkit.org/show_bug.cgi?id=28292
1418
1419         * WebKit.exp:
1420         Exported WebWorkersPrivate so DumpRenderTree can access it.
1421         * Workers/WebWorkersPrivate.h: Added.
1422         * Workers/WebWorkersPrivate.mm: Added.
1423         (+[WebWorkersPrivate workerThreadCount]):
1424         Added WebWorkersPrivate::workerThreadCount() API for DumpRenderTree.
1425
1426 2009-08-17  Darin Adler  <darin@apple.com>
1427
1428         Reviewed by Sam Weinig.
1429
1430         Use a HashMap instead of a list of if statements for the command
1431         name exception map.
1432
1433         * WebView/WebHTMLView.mm:
1434         (createSelectorExceptionMap): Added.
1435         (commandNameForSelector): Use createSelectorExceptionMap.
1436
1437 2009-08-16  David Kilzer  <ddkilzer@apple.com>
1438
1439         <http://webkit.org/b/28366> WebHTMLViewInternal.h: add @class CALayer declaration
1440
1441         Reviewed by Simon Fraser.
1442
1443         Without WebKitPrefix.h, the missing @class CALayer declaration
1444         causes a compile-time error.
1445
1446         * WebView/WebHTMLViewInternal.h: Added @class CALayer
1447         declaration with USE(ACCELERATED_COMPOSITING).
1448
1449 2009-08-16  David Kilzer  <ddkilzer@apple.com>
1450
1451         <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates
1452
1453         Reviewed by Dan Bernstein.
1454
1455         * Plugins/WebBaseNetscapePluginStream.mm: Added using std::min
1456         statement.
1457         (WebNetscapePluginStream::deliverData): Changed MIN() to min().
1458         Changed C-style cast to a static_cast.
1459         * Plugins/WebNetscapePluginView.mm: Added using std::min
1460         statement.
1461         (-[WebNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
1462         Changed MIN() to min().  Changed C-style cast to a static_cast.
1463         * WebView/WebHTMLView.mm: Added using std::max statement.
1464         (-[WebHTMLView _dragImageForURL:withLabel:]): Changed MAX() to
1465         max().
1466         (-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto.
1467         * WebView/WebTextCompletionController.mm: Added using std::max
1468         and using std::min statements.
1469         (-[WebTextCompletionController _placePopupWindow:]): Changed
1470         type of maxWidth variable from float to CGFloat to prevent a
1471         type mismatch on x86_64.  Changed MAX() to max() and MIN() to
1472         min().  Added static_cast for a constant value since CGFloat is
1473         defined as a float on i386 and as a double on x86_64.
1474
1475 2009-08-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>
1476
1477         Reviewed by Sam Weinig.
1478
1479         Added ENABLE_EVENTSOURCE flag.
1480         https://bugs.webkit.org/show_bug.cgi?id=14997
1481
1482         * Configurations/FeatureDefines.xcconfig:
1483
1484 2009-08-14  Mark Rowe  <mrowe@apple.com>
1485
1486         Build fix.
1487
1488         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1489         (WebKit::NetscapePluginInstanceProxy::enumerate):  Add the necessary .get() calls.
1490
1491 2009-08-14  Brady Eidson  <beidson@apple.com>
1492
1493         Reviewed by Anders Carlsson.
1494
1495         <rdar://problem/7091546> - Assertion failure in plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html 
1496         on 64-bit SnowLeopard
1497
1498         * Plugins/Hosted/HostedNetscapePluginStream.mm:
1499         (WebKit::HostedNetscapePluginStream::cancelLoad): Since this might be called while the FrameLoader is switching DocumentLoaders
1500           during the brief moment where there is no activeDocumentLoader(), accept and handle a validly null DocumentLoader.
1501
1502 2009-08-14  Mark Rowe  <mrowe@apple.com>
1503
1504         Reviewed by Brady Eidson.
1505
1506         Fix leaks of NSNumber and NSMutableArray objects seen during layout tests.
1507
1508         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1509         (WebKit::NetscapePluginInstanceProxy::enumerate): Don't leak an NSMutableArray that we allocate.
1510
1511 2009-08-14  Mark Rowe  <mrowe@apple.com>
1512
1513         Reviewed by Anders Carlsson.
1514
1515         Fix leaks of HostedNetscapePluginStream and NetscapePlugInStreamLoader objects seen during layout tests.
1516
1517         * Plugins/Hosted/HostedNetscapePluginStream.mm:
1518         (WebKit::HostedNetscapePluginStream::didFail): Disconnect the stream from the plug-in instance proxy
1519         when the load fails.
1520
1521 2009-08-13  Darin Adler  <darin@apple.com>
1522
1523         * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Updated includes.
1524         * WebView/WebScriptDebugger.mm: Ditto.
1525
1526 2009-08-12  Mark Rowe  <mrowe@apple.com>
1527
1528         Reviewed by Kevin Decker.
1529
1530         <rdar://problem/6017913> Replace use of HISearchWindowShow in -[WebView _searchWithSpotlightFromMenu].
1531
1532         * WebView/WebView.mm:
1533         (-[WebView _searchWithSpotlightFromMenu:]): Use -[NSWorkspace showSearchResultsForQueryString:] post-Leopard.
1534
1535 2009-08-12  Greg Bolsinga  <bolsinga@apple.com>
1536
1537         Reviewed by Eric Seidel.
1538
1539         Add delegate methods about focus and blur and state change
1540         https://bugs.webkit.org/show_bug.cgi?id=27153
1541         
1542         Have ObjC delegate methods match C++ method names in the ChromeClient.
1543
1544         * WebCoreSupport/WebChromeClient.mm:
1545         (WebChromeClient::formDidFocus):
1546         (WebChromeClient::formDidBlur):
1547         * WebView/WebUIDelegatePrivate.h:
1548
1549 2009-08-11  John Gregg  <johnnyg@google.com>
1550
1551         Reviewed by Maciej Stachowiak.
1552
1553         Desktop Notifications API
1554         https://bugs.webkit.org/show_bug.cgi?id=25643
1555
1556         Adds ENABLE_NOTIFICATION flag.
1557
1558         * Configurations/FeatureDefines.xcconfig:
1559
1560 2009-08-11  Anders Carlsson  <andersca@apple.com>
1561
1562         Reviewed by Sam Weinig.
1563
1564         Remove dead declarations.
1565         
1566         * WebView/WebViewInternal.h:
1567
1568 2009-08-11  Dmitry Titov  <dimich@chromium.org>
1569
1570         Reviewed by Adam Roben.
1571
1572         Originally implemented by Glenn Wilson <gwilson@chromium.org>.
1573
1574         Added new methods for overriding default WebPreference values
1575         and for resetting preferences to their defaults.
1576         See https://bugs.webkit.org/show_bug.cgi?id=20534
1577
1578         * WebView/WebPreferences.mm:
1579         (-[WebPreferences _setPreferenceForTestWithValue:withKey:]): added.
1580         * WebView/WebPreferencesPrivate.h: same.
1581
1582 2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1583
1584         Reviewed by George Staikos.
1585
1586         [WML] Deck access control is completly broken
1587         https://bugs.webkit.org/show_bug.cgi?id=27721
1588
1589         Synchronize WebFrameLoadType with FrameLoadType enum. Append 'WebFrameLoadTypeBackWMLDeckNotAccessible'.
1590
1591         * WebView/WebFramePrivate.h:
1592
1593 2009-08-07  Simon Fraser  <simon.fraser@apple.com>
1594
1595         Fix the build on 10.6.
1596
1597         * WebView/WebHTMLView.mm:
1598         (-[WebHTMLView attachRootLayer:]):
1599
1600 2009-08-07  Simon Fraser  <simon.fraser@apple.com>
1601
1602         Fix a stylistic nit related to the location of the *, which, for some
1603         ridiculous reason, WebKit style dictates to be different between Objective-C and C++.
1604         
1605         * WebView/WebDynamicScrollBarsView.mm:
1606         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
1607
1608 2009-08-07  Simon Fraser  <simon.fraser@apple.com>
1609
1610         Reviewed by Dan Bernstein.
1611
1612         Work around an issue on Leopard where composited layers are misplaced and squished when the page
1613         gets over 4096px tall.
1614         https://bugs.webkit.org/show_bug.cgi?id=27272
1615         <rdar://problem/7067892> [Leopard] Composisted layers are misplaced and squished on on long pages
1616         <rdar://problem/7068252> [Leopard] When switching to a tab with HW layers, they fade in
1617
1618         * WebView/WebDynamicScrollBarsView.mm:
1619         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
1620         Call -_updateLayerHostingViewPosition after scrolling.
1621         
1622         * WebView/WebHTMLView.mm:
1623         (-[WebHTMLView _frameOrBoundsChanged]):
1624         Call -_updateLayerHostingViewPosition after the view changes size.
1625
1626         (-[WebHTMLView attachRootLayer:]):
1627         Turn off default animations, to avoid animations of sublayer transform, and fading-in
1628         when tab switching.
1629         
1630         * WebView/WebHTMLViewInternal.h:
1631         (-[WebHTMLView _updateLayerHostingViewPosition]):
1632         New method that constrains the height of the layer-hosting view to a max height
1633         of 4096px, and compensates for the height restriction by placing the layer-hosting
1634         view at the top of the visible part of the WebHTMLView, and adjusting the position
1635         of the hosted layers via sublayer transform.
1636
1637 2009-08-07  Anders Carlsson  <andersca@apple.com>
1638
1639         Fix Tiger build.
1640         
1641         * WebView/WebRenderNode.mm:
1642         (-[WebRenderNode _initWithCoreFrame:]):
1643
1644 2009-08-07  Anders Carlsson  <andersca@apple.com>
1645
1646         Reviewed by Timothy Hatcher and Sam Weinig.
1647
1648         Change WebRenderNode to take a WebFrame instead of a WebFrameView.
1649         
1650         * WebView/WebRenderNode.h:
1651         * WebView/WebRenderNode.mm:
1652         (-[WebRenderNode _initWithName:position:rect:coreFrame:children:]):
1653         (copyRenderNode):
1654         (-[WebRenderNode _initWithCoreFrame:]):
1655         (-[WebRenderNode initWithWebFrame:]):
1656
1657 2009-08-06  Anders Carlsson  <andersca@apple.com>
1658
1659         Reviewed by Darin Adler and Dan Bernstein.
1660
1661         * WebCoreSupport/WebFrameLoaderClient.mm:
1662         (WebFrameLoaderClient::hasHTMLView):
1663         Always return true when we're in viewless mode.
1664
1665 2009-08-06  Anders Carlsson  <andersca@apple.com>
1666
1667         Remove WebGraphicsExtras.h include.
1668         
1669         * Plugins/WebNetscapePluginView.mm:
1670
1671 2009-08-06  Anders Carlsson  <andersca@apple.com>
1672
1673         Reviewed by Sam Weinig.
1674
1675         Remove WebGraphicsExtras, it is no longer used.
1676
1677         * Misc/WebGraphicsExtras.c: Removed.
1678         * Misc/WebGraphicsExtras.h: Removed.
1679
1680 2009-08-06  Chris Marrin  <cmarrin@apple.com>
1681
1682         Reviewed by David Hyatt.
1683
1684         Added ENABLE_3D_CANVAS flag to build, default to off
1685
1686         * Configurations/FeatureDefines.xcconfig:
1687
1688 2009-08-04  Michael Nordman  <michaeln@google.com>
1689
1690         Reviewed by Alexey Proskuryakov.
1691
1692         https://bugs.webkit.org/show_bug.cgi?id=27821
1693
1694         Mods to keep up with ApplicationCacheHost refactoring.
1695
1696         * WebView/WebDataSource.mm:
1697         (-[WebDataSource _transferApplicationCache:]):
1698
1699 2009-07-30  Darin Adler  <darin@apple.com>
1700
1701         Reviewed by David Levin.
1702
1703         Use checked casts for render tree
1704         https://bugs.webkit.org/show_bug.cgi?id=23522
1705
1706         * Misc/WebNSAttributedStringExtras.mm:
1707         (fileWrapperForElement):
1708         * Misc/WebNSPasteboardExtras.mm:
1709         (imageFromElement):
1710         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
1711         * WebView/WebFrame.mm:
1712         (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
1713         (-[WebFrame _accessibilityTree]):
1714         * WebView/WebRenderNode.mm:
1715         (copyRenderNode):
1716         Use checked casts.
1717
1718 2009-07-31  Simon Fraser  <simon.fraser@apple.com>
1719
1720         Reviewed by Anders Carlsson.
1721         
1722         Accelerated animations stutter on pages with lots of animations and 3d transforms
1723         https://bugs.webkit.org/show_bug.cgi?id=27884
1724         
1725         This patch changes the strategy for synchronizing painting view the view,
1726         and compositing layer updates. Previously the strategy was to disable screen
1727         updates between the time we updated the layer tree, and painted the view. That
1728         left screen updates disabled for too long (hundreds of milliseconds) in some
1729         cases, causing animation stutter.
1730         
1731         The new strategy is to batch up changes to the CA layer tree, and commit them
1732         all at once just before painting happens (referred to as a "sync" in the code).
1733         GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
1734         the values stored in GraphicsLayer into the CA layer tree at commit time.
1735         
1736         Compositing layers are then synced in FrameView::paintContents(). However, not
1737         all style/layout changes will result in painting; to deal with style changes that
1738         touch only compositing properties, we set up a runloop observer that takes care
1739         of comitting layer changes when no painting happens.
1740
1741         * WebCoreSupport/WebChromeClient.h:
1742         * WebCoreSupport/WebChromeClient.mm:
1743         (WebChromeClient::scheduleCompositingLayerSync):
1744         scheduleViewUpdate() renamed to syncCompositingStateRecursive()
1745         
1746         * WebView/WebView.mm:
1747         (-[WebView _close]):
1748         (-[WebView _clearLayerSyncLoopObserver]):
1749         "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".
1750
1751         (-[WebView _syncCompositingChanges]):
1752         Helper method that calls syncCompositingStateRecursive() on the FrameView.
1753         
1754         (layerSyncRunLoopObserverCallBack):
1755         (-[WebView _scheduleCompositingLayerSync]):
1756         This is all about layer sycning now. Also, the run loop observer is repeating,
1757         because it has to keep firing until syncCompositingStateRecursive() says that it
1758         has completed.
1759         
1760         * WebView/WebViewData.h:
1761         "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".
1762
1763         * WebView/WebViewInternal.h:
1764         _scheduleViewUpdate is now _scheduleCompositingLayerSync
1765
1766 2009-07-30  Michael Nordman  <michaeln@google.com>
1767
1768         Reviewed by Darin Fisher.
1769
1770         https://bugs.webkit.org/show_bug.cgi?id=27821
1771
1772         Mods to keep up with ApplicationCacheHost refactoring.
1773
1774         * WebView/WebDataSource.mm:
1775         (-[WebDataSource _transferApplicationCache:]):
1776
1777 2009-07-29  David Kilzer  <ddkilzer@apple.com>
1778
1779         <http://webkit.org/b/27788> Don't export WebPluginController.h as a private header
1780
1781         Reviewed by Mark Rowe.
1782
1783         * Plugins/WebPluginController.h: Changed #import of
1784         WebPluginContainerCheck.h to use a framework-style include in
1785         case other platforms wish to export WebPluginController.h as a
1786         private header.
1787
1788 2009-07-29  Kevin McCullough  <kmccullough@apple.com>
1789
1790         Reviewed by Darin Adler.
1791
1792         Added foundation work to allow a testing infrastructure for the Web
1793         Inspector.
1794
1795         * WebCoreSupport/WebInspectorClient.h:
1796         * WebCoreSupport/WebInspectorClient.mm:
1797         (WebInspectorClient::inspectorWindowObjectCleared): Send the delegate
1798         callback.
1799         * WebView/WebDelegateImplementationCaching.h:
1800         * WebView/WebView.mm:
1801         (-[WebView _cacheFrameLoadDelegateImplementations]):
1802         * WebView/WebViewPrivate.h: The delegate SPI.
1803
1804 2009-07-27  Mark Rowe  <mrowe@apple.com>
1805
1806         Reviewed by Darin Adler.
1807
1808         <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
1809
1810         In some situations Microsoft Messenger can attempt to manipulate the DOM from a secondary thread while
1811         updating its file transfer progress bar.  This results in corruption of WebCore data structures that is
1812         quickly followed by a crash.  We can work around this by having -[WebFrame DOMDocument] return nil when
1813         called from a secondary thread by Microsoft Messenger, which has the effect of turning its attempts at
1814         DOM manipulation in to no-ops.
1815
1816         * WebView/WebFrame.mm:
1817         (needsMicrosoftMessengerDOMDocumentWorkaround):
1818         (-[WebFrame DOMDocument]):
1819
1820 2009-07-27  Alexey Proskuryakov  <ap@webkit.org>
1821
1822         Reviewed by Darin Adler.
1823
1824         https://bugs.webkit.org/show_bug.cgi?id=27735
1825         Give a helpful name to JSLock constructor argument
1826
1827         * Misc/WebCoreStatistics.mm:
1828         (+[WebCoreStatistics javaScriptObjectsCount]):
1829         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
1830         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
1831         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
1832         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
1833         (+[WebCoreStatistics shouldPrintExceptions]):
1834         (+[WebCoreStatistics setShouldPrintExceptions:]):
1835         (+[WebCoreStatistics memoryStatistics]):
1836         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
1837         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1838         (WebKit::NetscapePluginInstanceProxy::evaluate):
1839         (WebKit::NetscapePluginInstanceProxy::invoke):
1840         (WebKit::NetscapePluginInstanceProxy::invokeDefault):
1841         (WebKit::NetscapePluginInstanceProxy::construct):
1842         (WebKit::NetscapePluginInstanceProxy::getProperty):
1843         (WebKit::NetscapePluginInstanceProxy::setProperty):
1844         (WebKit::NetscapePluginInstanceProxy::removeProperty):
1845         (WebKit::NetscapePluginInstanceProxy::hasMethod):
1846         (WebKit::NetscapePluginInstanceProxy::enumerate):
1847         (WebKit::NetscapePluginInstanceProxy::addValueToArray):
1848         * Plugins/WebBaseNetscapePluginStream.mm:
1849         (WebNetscapePluginStream::wantsAllStreams):
1850         * Plugins/WebNetscapePluginView.mm:
1851         (-[WebNetscapePluginView sendEvent:isDrawRect:]):
1852         (-[WebNetscapePluginView setWindowIfNecessary]):
1853         (-[WebNetscapePluginView createPluginScriptableObject]):
1854         (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
1855         (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
1856         (-[WebNetscapePluginView loadPluginRequest:]):
1857         (-[WebNetscapePluginView _printedPluginBitmap]):
1858         * Plugins/WebPluginController.mm:
1859         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
1860         (-[WebPluginController startAllPlugins]):
1861         (-[WebPluginController stopAllPlugins]):
1862         (-[WebPluginController addPlugin:]):
1863         (-[WebPluginController destroyPlugin:]):
1864         (-[WebPluginController destroyAllPlugins]):
1865         * WebView/WebFrame.mm:
1866         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1867         * WebView/WebScriptDebugDelegate.mm:
1868         (-[WebScriptCallFrame scopeChain]):
1869         (-[WebScriptCallFrame evaluateWebScript:]):
1870         * WebView/WebView.mm:
1871         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
1872
1873 2009-07-24  Darin Adler  <darin@apple.com>
1874
1875         Reviewed by Mark Rowe.
1876
1877         REGRESSION (r46298): Exception after clicking on Bookmarks button in the Bookmarks Bar
1878         https://bugs.webkit.org/show_bug.cgi?id=27667
1879
1880         * WebCoreSupport/WebFrameLoaderClient.mm:
1881         (WebFrameLoaderClient::transitionToCommittedForNewPage): Moved the code to set the
1882         title here. This is late enough that both the view and representation exist.
1883
1884         * WebView/WebDataSource.mm:
1885         (-[WebDataSource _makeRepresentation]): Removed the code to set the title from here.
1886         It's a bit too early.
1887
1888 2009-07-24  Andrei Popescu  <andreip@google.com>
1889
1890         Reviewed by Anders Carlsson.
1891
1892         ApplicationCache should have size limit
1893         https://bugs.webkit.org/show_bug.cgi?id=22700
1894
1895         Adds the WebApplicationCache class that is
1896         used by the DumpRenderTree test application to
1897         configure the Application Cache maximum size.
1898
1899         * WebCoreSupport/WebApplicationCache.h: Added.
1900         * WebCoreSupport/WebApplicationCache.mm: Added.
1901         * WebCoreSupport/WebChromeClient.h:
1902         * WebCoreSupport/WebChromeClient.mm:
1903         (WebChromeClient::reachedMaxAppCacheSize):
1904         Adds empty implementation of the reachedMaxAppCacheSize callback.
1905         * WebKit.exp:
1906
1907 2009-07-23  Darin Adler  <darin@apple.com>
1908
1909         * WebView/WebDataSource.mm:
1910         (-[WebDataSource _makeRepresentation]): Landed a comment I forgot last time.
1911
1912 2009-07-23  Darin Adler  <darin@apple.com>
1913
1914         Reviewed by Brady Eidson.
1915
1916         URL appears in back/forward button menu instead of title for items with custom representation
1917         https://bugs.webkit.org/show_bug.cgi?id=27586
1918         rdar://problem/5060337
1919
1920         The problem is that DocumentLoader expects to store a title, but for custom representations
1921         it is never passed to the document loader.
1922
1923         * WebView/WebDataSource.mm:
1924         (-[WebDataSource _makeRepresentation]): Added a call to DocumentLoader::setTitle.
1925         Works as long as the title does not change during the document's lifetime, which
1926         is good enough for the simple cases in Safari.
1927
1928 2009-07-20  Darin Adler  <darin@apple.com>
1929
1930         Reviewed by Dan Bernstein.
1931
1932         REGRESSION (r39185): Safari adds ".jpeg" extension to images that already have ".JPG" extension
1933         https://bugs.webkit.org/show_bug.cgi?id=27472
1934
1935         * WebView/WebHTMLView.mm:
1936         (matchesExtensionOrEquivalent): Changed category method into a C function.
1937         Made it require the leading dot when checking for the extension and do it
1938         in a non-case-sensitive way.
1939         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Changed to call
1940         the function.
1941
1942 2009-07-21  Roland Steiner  <rolandsteiner@google.com>
1943
1944         Reviewed by David Levin.
1945
1946         Add ENABLE_RUBY to list of build options
1947         https://bugs.webkit.org/show_bug.cgi?id=27324
1948
1949         * Configurations/FeatureDefines.xcconfig: Added flag ENABLE_RUBY.
1950
1951 2009-07-17  Brian Weinstein  <bweinstein@apple.com>
1952
1953         Reviewed by Adam Roben.
1954
1955         Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
1956         https://bugs.webkit.org/show_bug.cgi?id=14272
1957         
1958         Removed size calculation code from [WebInspectorWindowController setInitialAttachedHeight] into
1959         InspectorController.cpp to make it cross platform, and use InspectorController to store the 
1960         user's preferred size for an attached window, instead of NSUserDefaults.
1961
1962         * WebCoreSupport/WebInspectorClient.mm:
1963         (-[WebInspectorWindowController showWindow:]):
1964         (-[WebInspectorWindowController setAttachedWindowHeight:]):
1965
1966 2009-07-16  Fumitoshi Ukai  <ukai@chromium.org>
1967
1968         Reviewed by David Levin.
1969
1970         Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
1971         https://bugs.webkit.org/show_bug.cgi?id=27206
1972         
1973         Add ENABLE_WEB_SOCKETS
1974
1975         * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
1976
1977 2009-07-16  Xiaomei Ji  <xji@chromium.org>
1978
1979         Reviewed by Darin Adler.
1980
1981         Fix tooltip does not get its directionality from its element's directionality.
1982         https://bugs.webkit.org/show_bug.cgi?id=24187
1983
1984         Per mitz's suggestion in comment #6, while getting the plain-text 
1985         title, we also get the directionality of the title. How to handle 
1986         the directionality is up to clients. Clients could ignore it, 
1987         or use attribute or unicode control characters to display the title
1988         as what they want.
1989
1990         * Misc/WebElementDictionary.mm:
1991         (-[WebElementDictionary _spellingToolTip]): Change spellingToolTip caller due to signature change.
1992         (-[WebElementDictionary _title]): Change title caller due to signature change.
1993         * WebCoreSupport/WebChromeClient.h: Add directionality as 2nd parameter to setToolTip().
1994         * WebCoreSupport/WebChromeClient.mm:
1995         (WebChromeClient::setToolTip): Add directionality as 2nd parameter to setToopTip() (without handling it yet).
1996
1997 2009-07-15  Darin Adler  <darin@apple.com>
1998
1999         Reviewed by Sam Weinig.
2000
2001         Renamed parseURL to deprecatedParseURL.
2002
2003         * DOM/WebDOMOperations.mm:
2004         (-[DOMDocument URLWithAttributeString:]): Renamed.
2005         * WebCoreSupport/WebFrameLoaderClient.mm:
2006         (WebFrameLoaderClient::createPlugin): Renamed.
2007
2008 2009-07-15  Brady Eidson  <beidson@apple.com>
2009
2010         Reviewed by Dan Bernstein.
2011
2012         https://bugs.webkit.org/show_bug.cgi?id=27304
2013         WebKit should provide usage and eligibility information about the page cache.
2014
2015         * Misc/WebCoreStatistics.h:
2016         * Misc/WebCoreStatistics.mm:
2017         (+[WebCoreStatistics numberCachedPages]):
2018         (+[WebCoreStatistics numberCachedFrames]):
2019         (+[WebCoreStatistics numberAutoreleasedPages]):
2020         * WebKit.exp:
2021
2022         * WebView/WebFrame.mm:
2023         (-[WebFrame _cacheabilityDictionary]): Returns a dictionary with all the data about
2024           why the frame is not cacheable. If the frame *is* cacheable, the dictionary is
2025           empty.
2026         * WebView/WebFramePrivate.h:
2027
2028 2009-07-13  Simon Fraser  <simon.fraser@apple.com>
2029
2030         Reviewed by Dan Bernstein, Adam Roben.
2031
2032         "Unrecognized selector" console log when the Safari 4 Welcome page navigates to Top Sites.
2033         <rdar://problem/6994893
2034
2035         attachRootGraphicsLayer() should not assume that the frameView's documentView
2036         is a WebHTMLView.
2037         
2038         * WebCoreSupport/WebChromeClient.mm:
2039         (WebChromeClient::attachRootGraphicsLayer):
2040
2041 2009-07-13  Anders Carlsson  <andersca@apple.com>
2042
2043         Reviewed by Darin Adler and Kevin Decker.
2044
2045         <rdar://problem/7053687> Core Animation plug-ins continue to grow larger and larger when opening new tabs (32 bit-only)
2046
2047         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2048         (-[WebHostedNetscapePluginView setLayer:]):
2049         Add a FIXME.
2050         
2051         * Plugins/WebNetscapePluginView.mm:
2052         (-[WebNetscapePluginView setLayer:]):
2053         Make sure to set the size of the layer before changing the autoresizing mask so it won't grow everytime it's inserted
2054         into the layer tree.
2055
2056 2009-07-13  Greg Bolsinga  <bolsinga@apple.com>
2057
2058         Reviewed by Simon Fraser.
2059
2060         Correct these delegate methods' declarations by adding parameter names.
2061
2062         * WebView/WebUIDelegatePrivate.h:
2063
2064 2009-07-13  Drew Wilson  <atwilson@google.com>
2065
2066         Reviewed by David Levin.
2067
2068         Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
2069         https://bugs.webkit.org/show_bug.cgi?id=26932
2070
2071         Added ENABLE(SHARED_WORKERS) flag (disabled by default).
2072
2073         * Configurations/FeatureDefines.xcconfig:
2074
2075 2009-07-12  Keishi Hattori  <casey.hattori@gmail.com>
2076
2077         Reviewed by Timothy Hatcher.
2078
2079         Refactor ConsoleMessage to add MessageType attribute.
2080         https://bugs.webkit.org/show_bug.cgi?id=20625
2081
2082         * WebCoreSupport/WebChromeClient.h:
2083         * WebCoreSupport/WebChromeClient.mm:
2084         (WebChromeClient::addMessageToConsole):
2085
2086 2009-07-11  Simon Fraser  <simon.fraser@apple.com>
2087
2088         Enable support for accelerated compositing and 3d transforms on Leopard.
2089         <https://bugs.webkit.org/show_bug.cgi?id=20166>
2090         <rdar://problem/6120614>
2091
2092         Reviewed by Oliver Hunt.
2093
2094         * Configurations/FeatureDefines.xcconfig:
2095
2096 2009-07-10  David Kilzer  <ddkilzer@apple.com>
2097
2098         Bug 27007: Build fixes when ICONDATABASE is disabled
2099
2100         <https://bugs.webkit.org/show_bug.cgi?id=27007>
2101
2102         Reviewed by Sam Weinig.
2103
2104         * Misc/WebIconDatabase.mm:
2105         (defaultClient): Return 0 if ICONDATABASE is disabled.
2106         * WebCoreSupport/WebFrameLoaderClient.mm:
2107         (WebFrameLoaderClient::dispatchDidReceiveIcon): Commented out
2108         the body of the method if ICONDATABASE is disabled.
2109         (WebFrameLoaderClient::registerForIconNotification): Ditto.
2110         * WebCoreSupport/WebIconDatabaseClient.mm: Added #if
2111         ENABLE(ICONDATABASE)/#endif guard to source.
2112         * WebView/WebView.mm:
2113         (-[WebView setFrameLoadDelegate:]): Wrapped code that starts the
2114         icon database machinery in #if ENABLE(ICONDATABASE)/#endif.
2115         (-[WebView _registerForIconNotification:]): Wrapped method in
2116         #if ENABLE(ICONDATABASE)/#endif guard.
2117         (-[WebView _dispatchDidReceiveIconFromWebFrame:]): Ditto.
2118         * WebView/WebViewInternal.h: Wrapped methods in #if
2119         ENABLE(ICONDATABASE)/#endif guard.
2120         (-[WebView _registerForIconNotification:]):
2121         (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
2122
2123 2009-07-10  Simon Fraser  <simon.fraser@apple.com>
2124
2125         Reviewed by John Sullivan.
2126
2127         Flashing as hardware layers are created and destroyed in some content
2128         <rdar://problem/7032246>
2129         
2130         There's a window of time between the end of one runloop cycle, after CA layers changes
2131         have been committed, and the window display at the start of the next cycle when 
2132         CA may push updates to the screen before AppKit has drawn the view contents. If
2133         we know that we need to do drawing synchronization (which we do when content moves
2134         between a layer and the view), then we need to call -disableScreenUpdatesUntilFlush
2135         from the existing runloop observer that is set up when layers need repainting to
2136         ensure that layer updates don't reach the screen before view-based painting does.
2137
2138         * WebView/WebHTMLView.mm:
2139         (-[WebHTMLView drawRect:]):
2140         Tweak the comments
2141         
2142         * WebView/WebView.mm:
2143         (viewUpdateRunLoopObserverCallBack):
2144         (-[WebView _scheduleViewUpdate]):
2145         Add a big comment to explain the timing of things.
2146         Call -disableScreenUpdatesUntilFlush when the view _needsOneShotDrawingSynchronization.
2147
2148  2009-07-09  Brian Weinstein  <bweinstein@apple.com>
2149  
2150          Reviewed by Tim Hatcher.
2151 2009-07-10  Adam Barth  <abarth@webkit.org>
2152
2153         Reviewed by Sam Weinig with the power of Grayskull.
2154
2155         Enable XSSAuditor by default.
2156
2157         * WebView/WebPreferences.mm:
2158         (+[WebPreferences initialize]):
2159
2160 2009-07-10  Greg Bolsinga  <bolsinga@apple.com>
2161
2162         Reviewed by Antti Koivisto.
2163
2164         Add delegate methods about focus and blur and state change
2165         https://bugs.webkit.org/show_bug.cgi?id=27153
2166
2167         Call the appropriate private delegate methods from the ChromeClient.
2168         
2169         * WebCoreSupport/WebChromeClient.h:
2170         * WebCoreSupport/WebChromeClient.mm:
2171         (WebChromeClient::formStateDidChange):
2172         (WebChromeClient::formDidFocus):
2173         (WebChromeClient::formDidBlur):
2174         * WebView/WebUIDelegatePrivate.h:
2175
2176 2009-07-09  Brian Weinstein  <bweinstein@apple.com>
2177
2178         Reviewed by Tim Hatcher.
2179
2180         https://bugs.webkit.org/show_bug.cgi?id=27141
2181         
2182         Updated WebInspectorClient to use Web Inspector Preferences to remember whether or not it should be 
2183         docked or a free window instead of NSUserDefaults it used to have.
2184
2185         * WebCoreSupport/WebInspectorClient.mm:
2186         (-[WebInspectorWindowController init]):
2187         (-[WebInspectorWindowController showWindow:]):
2188         (-[WebInspectorWindowController attach]):
2189         (-[WebInspectorWindowController detach]):
2190
2191 2009-07-09  Drew Wilson  <atwilson@google.com>
2192
2193         Reviewed by Alexey Proskuryakov.
2194
2195         https://bugs.webkit.org/show_bug.cgi?id=26903
2196
2197         Turned on CHANNEL_MESSAGING by default because the MessageChannel API
2198         can now be implemented for Web Workers and is reasonably stable.
2199
2200         * Configurations/FeatureDefines.xcconfig:
2201
2202 2009-07-09  Darin Adler  <darin@apple.com>
2203
2204         Reviewed by Adele Peterson and Dan Bernstein.
2205
2206         <rdar://problem/7024972> Cannot set font to Helvetica Neue Light in Mail compose window
2207
2208         No regression test because this only affects the font panel.
2209
2210         * WebView/WebHTMLView.mm:
2211         (-[WebHTMLView _addToStyle:fontA:fontB:]): Fix code that detects whether the font would
2212         survive a round trip by using the weight corresponding to "bold" or "normal" rather than
2213         the actual weight number.
2214
2215 2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
2216
2217         Reviewed by Dave Hyatt.
2218
2219         Make Widget RefCounted to fix:
2220
2221         <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
2222         at WebCore::Widget::afterMouseDown() after clicking To Do's close 
2223         box
2224         <rdar://problem/6978804> WER #16: Repro Access Violation in 
2225         WebCore::PluginView::bindingInstance (1310178023)
2226         -and-
2227         <rdar://problem/6991251> WER #13: Crash in WebKit!
2228         WebCore::PluginView::performRequest+203 (1311461169) 
2229
2230         * WebCoreSupport/WebFrameLoaderClient.h:
2231         * WebCoreSupport/WebFrameLoaderClient.mm:
2232         (WebFrameLoaderClient::createPlugin):
2233
2234 2009-07-09  Sam Weinig  <sam@webkit.org>
2235
2236         Reviewed by Steve Falkenburg.
2237
2238         Roll out r43848. The quirk is no longer necessary.
2239
2240         * WebView/WebView.mm:
2241         (-[WebView WebCore::_userAgentForURL:WebCore::]):
2242
2243 2009-07-09  Alexey Proskuryakov  <ap@webkit.org>
2244
2245         Reviewed by Geoff Garen.
2246
2247         <rdar://problem/6921671> Visit count shouldn't be incremented by redirects.
2248
2249         * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory):
2250         Do not increase visit count if there is a redirect source. As a result, only pages that were
2251         explicitly visited by the user (by typing a URL, choosing one from bookmarks, or clicking
2252         a link) will be counted.
2253
2254         * History/WebHistory.mm:
2255         (-[WebHistoryPrivate visitedURL:withTitle:increaseVisitCount:]):
2256         (-[WebHistory _visitedURL:withTitle:method:wasFailure:increaseVisitCount:]):
2257         * History/WebHistoryInternal.h:
2258         * History/WebHistoryItem.mm:
2259         (-[WebHistoryItem _visitedWithTitle:increaseVisitCount:]):
2260         * History/WebHistoryItemInternal.h:
2261         Marshal this new argument all the way down to WebCore.
2262
2263 2009-07-08  Greg Bolsinga  <bolsinga@apple.com>
2264
2265         Reviewed by Darin Adler.
2266
2267         Add -[WebView _isProcessingUserGesture]
2268         https://bugs.webkit.org/show_bug.cgi?id=27084
2269
2270         Add -_isProcessingUserGesture that calls into WebCore::FrameLoader::isProcessingUserGesture()
2271         so that WebView code can determine if a user gesture is in progress.
2272
2273         * WebView/WebView.mm:
2274         (-[WebView _isProcessingUserGesture]):
2275         * WebView/WebViewPrivate.h:
2276
2277 2009-07-07  Anders Carlsson  <andersca@apple.com>
2278
2279         Reviewed by Sam Weinig.
2280
2281         - Fix <rdar://problem/6544693>.
2282         
2283         For Flash, don't cache which methods or fields in an object are missing, since they can
2284         be added at any time.
2285         
2286         * Plugins/Hosted/NetscapePluginHostManager.mm:
2287         (WebKit::NetscapePluginHostManager::hostForPackage):
2288         * Plugins/Hosted/NetscapePluginHostProxy.h:
2289         (WebKit::NetscapePluginHostProxy::shouldCacheMissingPropertiesAndMethods):
2290         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2291         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
2292         * Plugins/Hosted/ProxyInstance.mm:
2293         (WebKit::ProxyInstance::methodsNamed):
2294         (WebKit::ProxyInstance::fieldNamed):
2295
2296 2009-07-06  David Kilzer  <ddkilzer@apple.com>
2297
2298         Bug 27006: Build fix when MAC_JAVA_BRIDGE is disabled
2299
2300         <https://bugs.webkit.org/show_bug.cgi?id=27006>
2301
2302         Reviewed by Darin Adler.
2303
2304         * WebCoreSupport/WebFrameLoaderClient.mm:
2305         (WebFrameLoaderClient::createJavaAppletWidget): Wrap contents of
2306         the method in #if ENABLE(MAC_JAVA_BRIDGE)/#endif and return 0
2307         when this feature is disabled.
2308
2309 2009-07-06  David Kilzer  <ddkilzer@apple.com>
2310
2311         Bug 27005: Build fixes when NETSCAPE_PLUGIN_API is disabled
2312
2313         <https://bugs.webkit.org/show_bug.cgi?id=27005>
2314
2315         Reviewed by Geoff Garen.
2316
2317         * Plugins/WebPluginController.mm:
2318         (-[WebPluginController destroyPlugin:]): Wrap call to
2319         ScriptController::cleanupScriptObjectsForPlugin() in
2320         #if ENABLE(NETSCAPE_PLUGIN_API)/#endif macro.
2321         (-[WebPluginController destroyAllPlugins]): Ditto.
2322         * Plugins/WebPluginDatabase.mm:
2323         (-[WebPluginDatabase removePluginInstanceViewsFor:]): Wrap
2324         WebBaseNetscapePluginView class checks in
2325         #if ENABLE(NETSCAPE_PLUGIN_API)/#endif macro.
2326         (-[WebPluginDatabase destroyAllPluginInstanceViews]): Ditto.
2327
2328 2009-07-06  David Kilzer  <ddkilzer@apple.com>
2329
2330         BUILD FIX: Use ENABLE(NETSCAPE_PLUGIN_API) instead of USE(PLUGIN_HOST_PROCESS)
2331
2332         In r45579, #if/#endif macros for USE(PLUGIN_HOST_PROCESS) were
2333         used, but ENABLE(NETSCAPE_PLUGIN_API) should have been used
2334         instead.
2335
2336         * Plugins/WebNetscapeContainerCheckContextInfo.h:
2337         * Plugins/WebNetscapeContainerCheckContextInfo.mm:
2338         * Plugins/WebNetscapeContainerCheckPrivate.mm:
2339
2340 2009-07-06  David Kilzer  <ddkilzer@apple.com>
2341
2342         Bug 27004: Build fix for ENABLE(PLUGIN_PROXY_FOR_VIDEO) after r42618
2343
2344         <https://bugs.webkit.org/show_bug.cgi?id=27004>
2345
2346         Reviewed by Geoff Garen.
2347
2348         * Plugins/WebPluginController.mm:
2349         (mediaProxyClient): Use core() method to convert from
2350         DOMElement to WebCore::Element.
2351
2352 2009-07-06  David Kilzer  <ddkilzer@apple.com>
2353
2354         Bug 27003: Build fix when USE(PLUGIN_HOST_PROCESS) is disabled
2355
2356         <https://bugs.webkit.org/show_bug.cgi?id=27003>
2357
2358         Reviewed by Geoff Garen.
2359
2360         * Plugins/WebNetscapeContainerCheckContextInfo.h: Added #if
2361         USE(PLUGIN_HOST_PROCESS)/#endif guards.
2362         * Plugins/WebNetscapeContainerCheckContextInfo.mm: Ditto.
2363         * Plugins/WebNetscapeContainerCheckPrivate.mm: Ditto.
2364
2365 2009-07-06  Anders Carlsson  <andersca@apple.com>
2366
2367         Reviewed by Adele Peterson.
2368
2369         Initialize wkIsLatchingWheelEvent.
2370         
2371         * WebCoreSupport/WebSystemInterface.m:
2372         (InitWebCoreSystemInterface):
2373
2374 2009-07-03  Dan Bernstein  <mitz@apple.com>
2375
2376         Reviewed by Simon Fraser.
2377
2378         - fix <rdar://problem/6964278> REGRESSION (r42118): Scrolling redraw
2379           problem in FileMaker Pro
2380
2381         * WebView/WebHTMLView.mm:
2382         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
2383         Perform layout if needed, even on Mac OS X versions that have
2384         -viewWillDraw. This prevents attempts to draw without layout in case
2385         -viewWillDraw was not called due to NSView issues or the client
2386         did something during the display operation that re-invalidated the
2387         layout.
2388
2389 2009-07-02  Anders Carlsson  <andersca@apple.com>
2390
2391         Reviewed by Dan Bernstein.
2392
2393         <rdar://problem/6978783> 
2394         Software-rendered plug-in does not update correctly when inside a hardware layer
2395         
2396         Replace calls to setNeedsDisplay: and setNeedsDisplayInRect: with a call to the new method
2397         invalidatePluginContentRect:. This new method will ask WebCore to do the repainting, taking
2398         transforms into account.
2399         
2400         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2401         (WebKit::NetscapePluginInstanceProxy::invalidateRect):
2402         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2403         (-[WebHostedNetscapePluginView pluginHostDied]):
2404         * Plugins/WebBaseNetscapePluginView.h:
2405         * Plugins/WebBaseNetscapePluginView.mm:
2406         (-[WebBaseNetscapePluginView windowBecameKey:]):
2407         (-[WebBaseNetscapePluginView windowResignedKey:]):
2408         (-[WebBaseNetscapePluginView preferencesHaveChanged:]):
2409         (-[WebBaseNetscapePluginView invalidatePluginContentRect:]):
2410         * Plugins/WebNetscapePluginView.mm:
2411         (-[WebNetscapePluginView invalidateRect:]):
2412         (-[WebNetscapePluginView invalidateRegion:]):
2413         (-[WebNetscapePluginView forceRedraw]):
2414
2415 2009-07-02  Adam Roben  <aroben@apple.com>
2416
2417         Fix warnings from update-webkit-localizable-strings
2418
2419         Rubber-stamped by Eric Carlson.
2420
2421         * WebCoreSupport/WebViewFactory.mm:
2422         (-[WebViewFactory mediaElementLoadingStateText]):
2423         (-[WebViewFactory mediaElementLiveBroadcastStateText]):
2424         Changed the localization comments to match the comments in the Windows
2425         version of this file, to avoid warnings about different comments for
2426         the same localized string.
2427
2428 2009-07-02  Simon Fraser  <simon.fraser@apple.com>
2429
2430         Reviewed by Dan Bernstein.
2431         
2432         Compositing-related preference methods are not public API; should move to WebPreferencesPrivate.h
2433         <rdar://problem/7027363>
2434
2435         Move accelerated-compositing pref to WebPreferencesPrivate.h
2436
2437         * WebView/WebPreferences.h:
2438         * WebView/WebPreferences.mm:
2439         (-[WebPreferences acceleratedCompositingEnabled]):
2440         (-[WebPreferences setAcceleratedCompositingEnabled:]):
2441         * WebView/WebPreferencesPrivate.h:
2442
2443 2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
2444
2445         Reviewed by Simon Fraser.
2446
2447         <rdar://problem/6518119>
2448
2449         Add localized strings for media controller status messages.
2450
2451         * WebCoreSupport/WebViewFactory.mm: Add new localized text.
2452         (-[WebViewFactory mediaElementLoadingStateText]):
2453         (-[WebViewFactory mediaElementLiveBroadcastStateText]):
2454
2455 2009-07-01  Brady Eidson  <beidson@apple.com>
2456
2457         Reviewed by Sam Weinig.
2458
2459         Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
2460
2461         * WebView/WebPreferenceKeysPrivate.h:
2462
2463         * WebView/WebPreferences.mm:
2464         (+[WebPreferences initialize]):
2465         (-[WebPreferences localFileContentSniffingEnabled]):
2466         (-[WebPreferences setLocalFileContentSniffingEnabled:]):
2467         * WebView/WebPreferencesPrivate.h:
2468
2469         * WebView/WebView.mm:
2470         (-[WebView _preferencesChangedNotification:]):
2471
2472 2009-07-01  David Hyatt  <hyatt@apple.com>
2473
2474         Reviewed by Tim Hatcher.
2475
2476         <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
2477         even though the field is not actually focused for keyboard input
2478         
2479         Add the concept of whether or not the Page is focused by adding a boolean to the focusController.  This allows the
2480         focused frame and focused node to both be cached and changed programmatically without causing errors when the Page doesn't
2481         have focus.
2482
2483         * WebView/WebHTMLView.mm:
2484         (-[WebHTMLView becomeFirstResponder]):
2485         (-[WebHTMLView resignFirstResponder]):
2486
2487 2009-06-30  Adele Peterson  <adele@apple.com>
2488
2489         Reviewed by Dan Bernstein.
2490
2491         Fix for <rdar://problem/7014389> REGRESSION(4-TOT): Hyperlinks have no tooltips in Mail unless you first click in the message body
2492
2493         Updated these new methods (added as part of the viewless WebKit effort) that call through to WebHTMLView to use _selectedOrMainFrame, 
2494         instead of just selectedFrame.  When the selection changes, I don't think there is a situation where there's no selected frame, but
2495         it seems better to keep these two uses the same, since if there is a case, this will be more like the old behavior, before there was
2496         a version of _selectionChanged in WebView. 
2497
2498         * WebView/WebView.mm:
2499         (-[WebView _setToolTip:]):
2500         (-[WebView _selectionChanged]):
2501
2502 2009-06-30  Mark Rowe  <mrowe@apple.com>
2503
2504         Reviewed by Timothy Hatcher.
2505
2506         <rdar://problem/7006959> 'Save as…’ does not work in Mail
2507
2508         * WebView/WebFrameView.mm:
2509         (-[WebFrameView initWithFrame:]): Call _needMailThreadWorkaroundIfCalledOffMainThread rather than
2510         needMailThreadWorkaround, as the latter is intended to be used at the point which a workaround would
2511         be applied and thus contains a main thread check.  Since -initWithFrame: is called on the main thread,
2512         this was causing us to not switch from exception-throwing to logging for the thread violation behavior.
2513
2514 2009-06-30  Dan Bernstein  <mitz@apple.com>
2515
2516         Reviewed by Dave Hyatt.
2517
2518         - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
2519           to Grid" window is clipping
2520
2521         * Misc/WebKitVersionChecks.h: Added
2522             WEBKIT_FIRST_VERSION_WITHOUT_SHADE10_QUIRK
2523         * WebView/WebView.mm:
2524         (-[WebView _needsLinkElementTextCSSQuirk]): Added. Returns YES if the
2525             client app is a version of Shade 10 earlier than 10.6 and it was
2526             linked against a version of WebKit earlier than 531.2.
2527         (-[WebView _preferencesChangedNotification:]): Added a call to
2528             Settings::setTreatsAnyTextCSSLinkAsStylesheet().
2529
2530 2009-06-29  Eric Carlson  <eric.carlson@apple.com>
2531
2532         Reviewed by Simon Fraser.
2533
2534         <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
2535
2536         * WebCoreSupport/WebSystemInterface.m:
2537         (InitWebCoreSystemInterface):
2538             Add QTMovieGetType.
2539
2540 2009-06-29  David Hyatt  <hyatt@apple.com>
2541
2542         Reviewed by Adam Roben.
2543
2544         Put datagrid behind an #ifdef.
2545
2546         * Configurations/FeatureDefines.xcconfig:
2547
2548 2009-06-26  John Sullivan  <sullivan@apple.com>
2549
2550         Added support for disabling Stop Speaking when there is no speaking to stop.
2551         Also fixed Stop Speaking so that it works (formerly it would throw an exception, and
2552         selecting it from the menu would perform a web search instead (!)).
2553
2554         Reviewed by Tim Hatcher.
2555
2556         * WebCoreSupport/WebContextMenuClient.h:
2557         declare isSpeaking()
2558         
2559         * WebCoreSupport/WebContextMenuClient.mm:
2560         (WebContextMenuClient::isSpeaking):
2561         implement by calling through to NSApplication
2562         (WebContextMenuClient::stopSpeaking):
2563         fixed implementation by correcting the signature of the NSApplication method
2564
2565 2009-06-26  Chris Marrin  <cmarrin@apple.com>
2566
2567         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
2568
2569         Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
2570
2571         The flag should always default to true to avoid it getting set
2572         to false in a build with accelerated compositing turned off
2573         and then disabling accelerated compositing when subsequently
2574         running a build with it turned on.
2575
2576         * WebView/WebPreferences.mm:
2577         (+[WebPreferences initialize]):
2578
2579 2009-06-26  Brady Eidson  <beidson@apple.com>
2580
2581         Fix SnowLeopard build.
2582
2583         * Plugins/Hosted/HostedNetscapePluginStream.mm:
2584         (WebKit::HostedNetscapePluginStream::didReceiveResponse):
2585
2586 2009-06-26  Brady Eidson  <beidson@apple.com>
2587
2588         Reviewed by Sam Weinig
2589
2590         <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
2591
2592         Replace all usage of the now obsolete [NSURLResponse _webcore_MIMEType].
2593
2594         * Plugins/WebBaseNetscapePluginStream.mm:
2595         (WebNetscapePluginStream::didReceiveResponse):
2596         * Plugins/WebNetscapePluginView.mm:
2597         (-[WebNetscapePluginView pluginView:receivedData:]):
2598         * Plugins/WebPluginController.mm:
2599         (-[WebPluginController pluginView:receivedResponse:]):
2600         * WebView/WebDataSource.mm:
2601         (-[WebDataSource _responseMIMEType]):
2602         * WebView/WebResource.mm:
2603         (-[WebResource _initWithData:URL:response:]):
2604
2605 2009-06-26  Alexey Proskuryakov  <ap@webkit.org>
2606
2607         Reviewed by Sam Weinig.
2608
2609         <rdar://problem/6651201> Update lookalike character list.
2610
2611         * Misc/WebNSURLExtras.mm: (isLookalikeCharacter): Added more characters to the list.
2612
2613 2009-06-25  Anders Carlsson  <andersca@apple.com>
2614
2615         Reviewed by Oliver Hunt.
2616
2617         <rdar://problem/6989017> 
2618         REGRESSION (SnowLeopard): RealPlayer content replays when opening a new tab or switching back to the RealPlayer tab
2619         
2620         If a plug-in fails in NPP_New, we would try to recreate it whenever the preferences for a web view would change. 
2621         
2622         Fix this by setting a flag when we fail to instantiate the plug-in, so we only try once.
2623         
2624         * Plugins/WebBaseNetscapePluginView.h:
2625         * Plugins/WebBaseNetscapePluginView.mm:
2626         (-[WebBaseNetscapePluginView start]):
2627
2628 2009-06-25  Chris Marrin  <cmarrin@apple.com>
2629
2630         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
2631
2632         https://bugs.webkit.org/show_bug.cgi?id=26651
2633         
2634         Preference is named "WebKitAcceleratedCompositingEnabled"
2635         and is a boolean value. When false, prevents compositing layers from
2636         being created, which prevents hardware animation from running.
2637         Also forces video to do software rendering. Added a cache for
2638         the flag in RenderLayerCompositing and made it all work
2639         on-the-fly when the flag is changed while a page is loaded.
2640
2641         * WebView/WebPreferenceKeysPrivate.h:
2642         * WebView/WebPreferences.h:
2643         * WebView/WebPreferences.mm:
2644         (+[WebPreferences initialize]):
2645         (-[WebPreferences acceleratedCompositingEnabled]):
2646         (-[WebPreferences setAcceleratedCompositingEnabled:]):
2647         * WebView/WebView.mm:
2648         (-[WebView _preferencesChangedNotification:]):
2649
2650 2009-06-24  Dan Bernstein  <mitz@apple.com>
2651
2652         Reviewed by Anders Carlsson.
2653
2654         Fix the most recently seen kind of crash in <rdar://problem/5983224>
2655
2656         * WebView/WebHTMLView.mm:
2657         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Null-check the
2658         Frame.
2659
2660 2009-06-24  Jeff Johnson  <opendarwin@lapcatsoftware.com>
2661
2662         Reviewed by Darin Adler.
2663
2664         https://bugs.webkit.org/show_bug.cgi?id=26638 WebKitErrors.m: _initWithPluginErrorCode: does not set localizedDescription
2665
2666         Add localized descriptions for plugin errors.
2667         The localized strings already existed but were unused; now NSLocalizedDescriptionKey is added to the NSError userInfo.
2668
2669         * Misc/WebKitErrors.m:
2670         (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
2671
2672 2009-06-23  Brady Eidson  <beidson@apple.com>
2673
2674         Reviewed by Darin Adler.
2675
2676         <rdar://problem/6950660> REGRESSION: iSale 5.5.3 crashes after I click a template to load
2677
2678         Due to some subtle WebKit changes - presumably some delegate callback behavior - a latent bug in 
2679         iSale was uncovered where they aren't properly retaining their FrameLoadDelegate, and we ended up
2680         calling back to a dealloc'ed object.
2681
2682         * WebView/WebView.mm:
2683         (-[WebView _needsAdobeFrameReloadingQuirk]): Use more intelligent C++-style initialization.
2684         (-[WebView _needsKeyboardEventDisambiguationQuirks]): Ditto.
2685         (-[WebView _needsFrameLoadDelegateRetainQuirk]): YES for iSale versions under 5.6
2686         (-[WebView dealloc]): Release the delegate if the quirk is in effect.
2687         (-[WebView setFrameLoadDelegate:]): Retain the new delegate if the quirk is in effect.
2688
2689 2009-06-23  Anders Carlsson  <andersca@apple.com>
2690
2691         Reviewed by Darin Adler.
2692
2693         - Fix <rdar://problem/6965672>
2694         
2695         Defer calls to WKPCInvalidateRect, so we don't try to invalidate while waiting for a reply, since
2696         that is too early.
2697         
2698         * Plugins/Hosted/NetscapePluginHostProxy.h:
2699         (WebKit::NetscapePluginHostProxy::isProcessingRequests):
2700         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2701         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
2702         (WebKit::NetscapePluginHostProxy::processRequests):
2703         (WKPCInvalidateRect):
2704
2705 2009-06-22  Timothy Hatcher  <timothy@apple.com>
2706
2707         Add Mail on Tiger and Leopard to the list of applications that need the WebView init thread workaround.
2708
2709         <rdar://problem/6929524> Console shows WebKit Threading Violations from Mail
2710
2711         Reviewed by Anders Carlsson.
2712
2713         * WebView/WebView.mm:
2714         (clientNeedsWebViewInitThreadWorkaround): Return true for com.apple.Mail.
2715
2716 2009-06-22  Dan Bernstein  <mitz@apple.com>
2717
2718         Reviewed by Anders Carlsson.
2719
2720         - speculative fix for <rdar://problem/6889082>
2721           Crash at -[WebHTMLView(WebPrivate) _updateMouseoverWithEvent:]
2722
2723         The crash seems to happen because lastHitView points to a deleted
2724         object. Since -close calls -_clearLastHitViewIfSelf, I speculate that
2725         lastHitView has been set to an already-closed view.
2726
2727         * WebView/WebHTMLView.mm:
2728         (-[WebHTMLView hitTest:]): Return nil if the view is closed.
2729
2730 2009-06-22  Alexey Proskuryakov  <ap@webkit.org>
2731
2732         Reviewed by John Sullivan.
2733
2734         <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
2735         Japanese can't be input.
2736
2737         * WebView/WebHTMLView.mm: (-[WebHTMLView _updateSelectionForInputManager]): Removed an
2738         unnecessary check - the function has an early return for null frame.
2739
2740 2009-06-22  Dan Bernstein  <mitz@apple.com>
2741
2742         Reviewed by Dave Hyatt.
2743
2744         - fix <rdar://problem/6990938> REGRESSION (r42787): After showing and
2745           hiding the Find banner, the WebHTMLView's height is not restored
2746
2747         * WebView/WebFrameView.mm:
2748         (-[WebFrameView setFrameSize:]): Mark the FrameView for layout when the
2749         WebFrameView's size changes.
2750         * WebView/WebView.mm:
2751         (-[WebView setFrameSize:]): Left the resize logic here, but only for
2752         the single view model.
2753
2754 2009-06-20  Darin Adler  <darin@apple.com>
2755
2756         Reviewed by Sam Weinig.
2757
2758         <rdar://problem/6964221> Need more processing of pluginspage.
2759
2760         * WebCoreSupport/WebFrameLoaderClient.mm:
2761         (WebFrameLoaderClient::createPlugin): Check protocolInHTTPFamily.
2762
2763 2009-06-18  Adam Barth  <abarth@webkit.org>
2764
2765         Reviewed by Sam Weinig.
2766
2767         https://bugs.webkit.org/show_bug.cgi?id=26199
2768
2769         Added preference to enable the XSSAuditor.
2770
2771         * WebView/WebPreferenceKeysPrivate.h:
2772         * WebView/WebPreferences.mm:
2773         (+[WebPreferences initialize]):
2774         (-[WebPreferences isXSSAuditorEnabled]):
2775         (-[WebPreferences setXSSAuditorEnabled:]):
2776         * WebView/WebPreferencesPrivate.h:
2777         * WebView/WebView.mm:
2778         (-[WebView _preferencesChangedNotification:]):
2779
2780 2009-06-18  Anders Carlsson  <andersca@apple.com>
2781
2782         Reviewed by Sam Weinig.
2783
2784         <rdar://problem/6926859>
2785         NPN_ConvertPoint doesn't give the right value when converting to/from NPCoordinateSpaceFlippedScreen
2786         
2787         When inverting Y, use the height of the first screen instead of the screen the window is on.
2788         
2789         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2790         (WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
2791         (WebKit::NetscapePluginInstanceProxy::mouseEvent):
2792         * Plugins/WebBaseNetscapePluginView.mm:
2793         (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
2794
2795 2009-06-16  Simon Fraser  <simon.fraser@apple.com>
2796
2797         Reviewed by Dan Bernstein
2798
2799         <rdar://problem/6976766> Control-click on pages with accelerated compositing
2800         content does not work.
2801         
2802         Part deux. #ifdef the use of _private->layerHostingView with 
2803         USE(ACCELERATED_COMPOSITING)
2804
2805         * WebView/WebHTMLView.mm:
2806         (-[WebHTMLView hitTest:]):
2807
2808 2009-06-16  Simon Fraser  <simon.fraser@apple.com>
2809
2810         Reviewed by Dan Bernstein
2811
2812         <rdar://problem/6976766> Control-click on pages with accelerated compositing
2813         content does not work.
2814         
2815         Remove the WebLayerHostingView subclass of NSView, with its attempts to
2816         forward events to the WebHTMLView, and just fix -[WebHTMLView hitTest:]
2817         to ignore the layerHostingView.
2818         
2819         * WebView/WebHTMLView.mm:
2820         (-[WebHTMLView hitTest:]):
2821         (-[WebHTMLView attachRootLayer:]):
2822
2823 2009-06-15  Simon Fraser  <simon.fraser@apple.com>
2824
2825         Reviewed by Mark Rowe.
2826
2827         <rdar://problem/6974857>
2828         
2829         Define ENABLE_3D_RENDERING when building on 10.6, and move ENABLE_3D_RENDERING
2830         switch from config.h to wtf/Platform.h.
2831
2832         * Configurations/FeatureDefines.xcconfig:
2833         * WebKitPrefix.h:
2834
2835 2009-06-15  Anders Carlsson  <andersca@apple.com>
2836
2837         Reviewed by Dan Bernstein.
2838
2839         <rdar://problem/6967569>
2840         CrashTracer: 15 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostManager::didCreateWindow + 85
2841         
2842         Make sure to remove the entry from the plug-in host map so we won't end up with an entry that has a null value.
2843         
2844         * Plugins/Hosted/NetscapePluginHostManager.mm:
2845         (WebKit::NetscapePluginHostManager::hostForPackage):
2846
2847 2009-06-15  Dan Bernstein  <mitz@apple.com>
2848
2849         Reviewed by Tim Hatcher.
2850
2851         - make the source code font in the Web Inspector match Mac defaults
2852
2853         * WebCoreSupport/WebInspectorClient.mm:
2854         (-[WebInspectorWindowController init]): Set the default monospace font
2855         to 11px Menlo, except on Leopard and Tiger where it is 10px Monaco.
2856
2857 2009-06-09  Justin Garcia  <justin.garcia@apple.com>
2858
2859         Reviewed by Eric Seidel.  Landed by Adam Barth.
2860
2861         https://bugs.webkit.org/show_bug.cgi?id=26281
2862
2863         REGRESSION: Copying from TextEdit/OmniGraffle and pasting into editable
2864         region loses images
2865         
2866         Prefer RTFD (RTF with inline images) over RTF.  In
2867         http://trac.webkit.org/changeset/19745 I accidently reversed their
2868         order.
2869
2870         * WebView/WebHTMLView.mm:
2871         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): 
2872
2873 2009-06-13  Adam Barth  <abarth@webkit.org>
2874
2875         Reviewed by Darin Fisher.
2876
2877         https://bugs.webkit.org/show_bug.cgi?id=24492
2878
2879         Move registerURLSchemeAsLocal from FrameLoader to SecurityOrigin
2880
2881         * WebView/WebView.mm:
2882         (+[WebView registerURLSchemeAsLocal:]):
2883
2884 2009-06-12  Peter Kasting  <pkasting@google.com>
2885
2886         Reviewed by Eric Seidel.
2887
2888         * ChangeLog-2007-10-14: Change pseudonym "Don Gibson" to me (was used while Google Chrome was not public); update my email address.
2889
2890 2009-06-08  Dan Bernstein  <mitz@apple.com>
2891
2892         Rubber-stamped by Mark Rowe.
2893
2894         - gave Objective-C++ files the .mm extension
2895
2896         * Carbon/HIWebView.m: Removed.
2897         * Carbon/HIWebView.mm: Copied from WebKit/mac/Carbon/HIWebView.m.
2898         * Misc/WebKitNSStringExtras.m: Removed.
2899         * Misc/WebKitNSStringExtras.mm: Copied from WebKit/mac/Misc/WebKitNSStringExtras.m.
2900         * Misc/WebStringTruncator.m: Removed.
2901         * Misc/WebStringTruncator.mm: Copied from WebKit/mac/Misc/WebStringTruncator.m.
2902         * WebInspector/WebNodeHighlight.m: Removed.
2903         * WebInspector/WebNodeHighlight.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlight.m.
2904         * WebInspector/WebNodeHighlightView.m: Removed.
2905         * WebInspector/WebNodeHighlightView.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlightView.m.
2906         * WebView/WebDynamicScrollBarsView.m: Removed.
2907         * WebView/WebDynamicScrollBarsView.mm: Copied from WebKit/mac/WebView/WebDynamicScrollBarsView.m.
2908
2909 2009-06-05  David Hyatt  <hyatt@apple.com>
2910
2911         Reviewed by Mark Rowe.
2912
2913         https://bugs.webkit.org/show_bug.cgi?id=26220
2914
2915         Update a WebView's active state when it moves to a different window.
2916
2917         * WebView/WebView.mm:
2918         (-[WebView viewDidMoveToWindow]):
2919
2920 2009-06-04  Sam Weinig  <sam@webkit.org>
2921
2922         Reviewed by Alice Liu.
2923
2924         Move WebView internal data into WebViewData.h/mm.
2925
2926         * WebView/WebDelegateImplementationCaching.mm:
2927         * WebView/WebView.mm:
2928         * WebView/WebViewData.h: Copied from mac/WebView/WebViewInternal.h.
2929         * WebView/WebViewData.mm: Copied from mac/WebView/WebViewInternal.mm.
2930         * WebView/WebViewInternal.h:
2931         * WebView/WebViewInternal.mm: Removed.
2932
2933 2009-06-04  David Hyatt  <hyatt@apple.com>
2934
2935         Reviewed by Sam Weinig.
2936
2937         Remove _updateFocusedStateForFrame, since it's actually not even necessary now that I made
2938         setFocusedFrame get called explicitly from become/ResignFirstResponder.  setFocusedFrame does
2939         the work of focusing the selection already.
2940
2941         * WebCoreSupport/WebFrameLoaderClient.mm:
2942         (WebFrameLoaderClient::transitionToCommittedForNewPage):
2943         * WebView/WebHTMLView.mm:
2944         (-[WebHTMLView becomeFirstResponder]):
2945         (-[WebHTMLView resignFirstResponder]):
2946         * WebView/WebView.mm:
2947         * WebView/WebViewInternal.h:
2948
2949 2009-06-04  Dan Bernstein  <mitz@apple.com>
2950
2951         - build fix
2952
2953         * WebView/WebViewInternal.mm:
2954
2955 2009-06-03  David Hyatt  <hyatt@apple.com>
2956
2957         Reviewed by Sam Weinig.
2958
2959         Reworking of focus and active state updating for WebHTMLViews so that it actually works instead of reporting wrong answers.
2960
2961         * WebCoreSupport/WebFrameLoaderClient.mm:
2962         (WebFrameLoaderClient::transitionToCommittedForNewPage):
2963         WebHTMLViews become first responders before they are able to reach their Frames/Pages.  This happens because the NSClipView
2964         becomes first responder when the WebHTMLView gets destroyed, and then we transfer the responder state back to the new WebHTMLView
2965         when it is first connected.  Once we have transitioned to a new page and have the Frame/Page available, go ahead and explicitly
2966         focus the frame in WebCore and update our focused state.  This change allows us to remove the updateFocusedActive timer and the
2967         code from viewDidMoveToWindow.
2968         
2969         * WebView/WebHTMLView.mm:
2970         (-[WebHTMLView close]):
2971         (-[WebHTMLView addWindowObservers]):
2972         (-[WebHTMLView viewWillMoveToWindow:]):
2973         (-[WebHTMLView viewDidMoveToWindow]):
2974         (-[WebHTMLView _removeWindowObservers]):
2975         Remove all the updateFocusedActiveState timer code, since it no longer exists.
2976
2977         (-[WebHTMLView windowDidBecomeKey:]):
2978         (-[WebHTMLView windowDidResignKey:]):
2979         Active state updating is no longer done by WebHTMLViews.   It is handled by the WebView instead.
2980     
2981         (-[WebHTMLView becomeFirstResponder]):
2982         (-[WebHTMLView resignFirstResponder]):
2983         Reworking of WebHTMLView's code for gaining/losing responder status.  No longer update active state here, since the active state
2984         can never change just because of responder changes.  Make sure that the focused frame gets updated properly (and most importantly
2985         actually cleared when a WebHTMLView resigns responder status).
2986
2987         * WebView/WebHTMLViewInternal.h:
2988         * WebView/WebHTMLViewPrivate.h:
2989         State updating for focused and active states has been made independent.
2990
2991         * WebView/WebView.mm:
2992         (-[WebView _updateActiveState]):
2993         WebView now handles updating of active state in _updateActiveState.  It is now purely based off whether the window is key and nothing
2994         else.
2995
2996         (-[WebView addWindowObserversForWindow:]):
2997         (-[WebView removeWindowObservers]):
2998         Start listening for the window becoming/losing key even in the usesDocumentViews case.
2999
3000         (-[WebView _updateFocusedStateForFrame:]):
3001         Focused state updating is split into its own method now and called when WebHTMLViews gain and lose responder status.
3002
3003         (-[WebView _windowDidBecomeKey:]):
3004         (-[WebView _windowDidResignKey:]):
3005         Make sure to call _updateActiveState as the window gains/loses key.
3006
3007         (-[WebView _windowWillOrderOnScreen:]):
3008         Run this code now that WebHTMLView no longer does it.
3009
3010         * WebView/WebViewInternal.h:
3011         * WebView/WebViewPrivate.h:
3012         Updating for the split of focused and active state updating into separate methods.
3013
3014 2009-06-04  Mark Rowe  <mrowe@apple.com>
3015
3016         Speculative Tiger build fix.
3017
3018         * WebView/WebDelegateImplementationCaching.h:
3019
3020 2009-06-03  Sam Weinig  <sam@webkit.org>
3021
3022         Reviewed by Mark Rowe.
3023
3024         Move delegate implementation caching logic into its own files.
3025
3026         * WebView/WebDelegateImplementationCaching.h: Copied from mac/WebView/WebViewInternal.h.
3027         * WebView/WebDelegateImplementationCaching.mm: Copied from mac/WebView/WebView.mm.
3028         (WebViewGetResourceLoadDelegateImplementations):
3029         (WebViewGetFrameLoadDelegateImplementations):
3030         (WebViewGetScriptDebugDelegateImplementations):
3031         * WebView/WebView.mm:
3032         * WebView/WebViewInternal.h:
3033
3034 2009-06-03  Sam Weinig  <sam@webkit.org>
3035
3036         Reviewed by Mark Rowe.
3037
3038         Move WebViewPrivate structure to WebViewInternal.h/mm.
3039
3040         * WebView/WebView.mm:
3041         * WebView/WebViewInternal.h:
3042         * WebView/WebViewInternal.mm: Added.
3043         (+[WebViewPrivate initialize]):
3044         (-[WebViewPrivate init]):
3045         (-[WebViewPrivate dealloc]):
3046         (-[WebViewPrivate finalize]):
3047
3048 2009-06-03  Sam Weinig  <sam@webkit.org>
3049
3050         Reviewed by Darin Adler.
3051
3052         Small cleanup in WebView.
3053         - Move global data initialization to WebView's initialization method.
3054         - Move _clearViewUpdateRunLoopObserver from WebViewPrivate to WebView (FileInternal)
3055
3056         * WebView/WebView.mm:
3057         (-[WebViewPrivate init]): Remove global initializers.
3058         (-[WebViewPrivate dealloc]): Cleanup whitespace.
3059         (-[WebViewPrivate finalize]): Ditto.
3060         (-[WebView _close]): Call [self _clearViewUpdateRunLoopObserver] instead of
3061         [_private _clearViewUpdateRunLoopObserver]
3062         (+[WebView initialize]): Move global initializers here.
3063         (-[WebView _clearViewUpdateRunLoopObserver]): Moved from WebViewPrivate.
3064         (viewUpdateRunLoopObserverCallBack): Call [self _clearViewUpdateRunLoopObserver]
3065         instead of [_private _clearViewUpdateRunLoopObserver]
3066
3067 2009-06-03  Dan Bernstein  <mitz@apple.com>
3068
3069         Reviewed by Anders Carlsson.
3070
3071         - WebKit part of eliminating WebCoreTextRenderer
3072
3073         * Misc/WebKitNSStringExtras.m:
3074         (webkit_CGCeiling): Added.
3075         (-[NSString _web_drawAtPoint:font:textColor:]): Replaced the malloc()ed
3076             string buffer with a Vector. Moved code from
3077             WebCoreDrawTextAtPoint() to here.
3078         (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]):
3079         (-[NSString _web_widthWithFont:]): Replaced the malloc()ed string buffer
3080             with a Vector. Moved code from WebCoreTextFloatWidth() to here.
3081         * WebView/WebHTMLView.mm:
3082         (-[WebHTMLView _addToStyle:fontA:fontB:]): Replaced call to
3083             WebCoreFindFont() with use of
3084             +[WebFontCache fontWithFamily:traits:weight:size:].
3085         * WebView/WebView.mm:
3086         (+[WebView _setAlwaysUsesComplexTextCodePath:]): Changed to call
3087             Font::setCodePath() directly.
3088         (+[WebView _setShouldUseFontSmoothing:]): Changed to call
3089             Font::setShouldUseSmoothing().
3090         (+[WebView _shouldUseFontSmoothing]): Changed to call 
3091             Font::shouldUseSmoothing().
3092
3093 2009-06-03  Dan Bernstein  <mitz@apple.com>
3094
3095         Rubber-stamped by Mark Rowe.
3096
3097         - remove a private method that was used only by Safari 3.0.
3098
3099         * WebView/WebView.mm: Removed +_minimumRequiredSafariBuildNumber.
3100         * WebView/WebViewPrivate.h: Ditto.
3101
3102 2009-06-03  Dan Bernstein  <mitz@apple.com>
3103
3104         - build fix
3105
3106         * WebView/WebHTMLView.mm:
3107
3108 2009-06-03  Dan Bernstein  <mitz@apple.com>
3109
3110         Reviewed by Anders Carlsson.
3111
3112         - build fix
3113
3114         * WebView/WebHTMLView.mm:
3115         * WebView/WebView.mm:
3116
3117 2009-06-02  Darin Adler  <darin@apple.com>
3118
3119         Reviewed by David Hyatt.
3120
3121         Bug 26112: viewless WebKit -- make events work
3122         https://bugs.webkit.org/show_bug.cgi?id=26112
3123
3124         One change here is to make the -[WebFrame frameView] function assert if ever called
3125         in viewless mode, and fix many callers that would trip that assertion.
3126
3127         A major change is to put some methods and data in WebView that are currently in
3128         WebHTMLView, used only in viewless mode. A next step will be to use the WebView
3129         methods whenever possible, even when not in the viewless mode.
3130
3131         Also fix FrameView to do normal reference counting instead of a strange model with
3132         an explicit deref near creation time.
3133
3134         * WebCoreSupport/WebChromeClient.mm:
3135         (WebChromeClient::scrollRectIntoView): Add code to start in the appropriate place
3136         when dealing with viewless mode. This gets triggered when visiting the Google home page.
3137         (WebChromeClient::setToolTip): Changed to call WebView instead of WebHTMLView.
3138         (WebChromeClient::print): Changed to use a new selector that doesn't require a
3139         WebFrameView if present. Also don't even try to use the old selector in viewless mode.
3140
3141         * WebCoreSupport/WebEditorClient.mm:
3142         (WebEditorClient::respondToChangedSelection): Changed to call WebView instead of WebHTMLView.
3143
3144         * WebCoreSupport/WebFrameLoaderClient.mm:
3145         (WebFrameLoaderClient::transitionToCommittedForNewPage): Added more code paths for
3146         viewless mode to skip things we can't do in that mode, with appropriate FIXME.
3147         Use Frame::create and RefPtr and eliminate the strange reference counting of FrameView.
3148
3149         * WebView/WebDataSource.mm:
3150         (-[WebDataSource _receivedData:]): Added a _usesDocumentViews guard around code that's
3151         specific to document views.
3152
3153         * WebView/WebFrame.mm:
3154         (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Added a _usesDocumentViews
3155         guard around code that's specific to document views.
3156         (-[WebFrame _hasSelection]): Added an implementation for viewless mode.
3157         (-[WebFrame _clearSelection]): Assert we're not in viewless mode; it doesn't really
3158         make sense to clear the selection in only one frame in viewless mode. Later we can
3159         decide what to do.
3160         (-[WebFrame _dragSourceMovedTo:]): Assert we're not in viewless mode; the dragging
3161         code for viewless mode shouldn't have to involve the WebFrame object at all.
3162         (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
3163         (-[WebFrame frameView]): Assert we're not in viewless mode. This assertion fires
3164         often, but it's a great pointer to code that needs to be changed.
3165
3166         * WebView/WebHTMLView.mm:
3167         (-[WebHTMLView hitTest:]): Tweaked a comment.
3168         (-[WebHTMLView _updateMouseoverWithEvent:]): Fixed a bug where the fake event for
3169         moving the mouse out of the old view ended up overwriting the event for moving
3170         the mouse within the new view.
3171         (-[WebHTMLView mouseDown:]): Got rid of explicit conversion of event to
3172         PlatformMouseEvent in call to sendContextMenuEvent; that's no longer possible
3173         without passing another argument, and it's now handled in EventHandler.
3174
3175         * WebView/WebTextCompletionController.h: Copied from WebKit/mac/WebView/WebHTMLView.mm.
3176         Removed everything except for the WebTextCompletionController class.
3177         * WebView/WebTextCompletionController.mm: Copied from WebKit/mac/WebView/WebHTMLView.mm.
3178         Ditto.
3179
3180         * WebView/WebUIDelegatePrivate.h: Added webView:printFrame: method.
3181
3182         * WebView/WebView.mm: Moved includes and fields in from WebHTMLView.
3183         (-[WebView _usesDocumentViews]): Updated for name change from useDocumentViews
3184         to usesDocumentViews.
3185         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Ditto.
3186         (-[WebView drawSingleRect:]): Ditto.
3187         (-[WebView isFlipped]): Ditto.
3188         (-[WebView setFrameSize:]): Ditto. Also changed to use _mainCoreFrame method.
3189         (-[WebView _viewWillDrawInternal]): Ditto.
3190         (-[WebView viewWillDraw]): Ditto.
3191         (-[WebView drawRect:]): Ditto.
3192         (-[WebView _close]): Added code to nil out the lastMouseoverView global.
3193         (-[WebView _dashboardRegions]): Use _mainCoreFrame.
3194         (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
3195         (-[WebView _setInViewSourceMode:]): Ditto.
3196         (-[WebView _inViewSourceMode]): Ditto.
3197         (-[WebView _attachScriptDebuggerToAllFrames]): Ditto.
3198         (-[WebView _detachScriptDebuggerFromAllFrames]): Ditto.
3199         (-[WebView textIteratorForRect:]): Ditto.
3200         (-[WebView _executeCoreCommandByName:value:]): Ditto.
3201         (-[WebView addWindowObserversForWindow:]): Ditto.
3202         (-[WebView removeWindowObservers]): Ditto.
3203         (-[WebView _updateFocusedAndActiveState]): Ditto.
3204         (-[WebView _updateFocusedAndActiveStateForFrame:]): Turned into a class method.
3205         Added code to handle the viewless case without calling frameView.
3206         (-[WebView _windowDidBecomeKey:]): Updated for name change from useDocumentViews
3207         to usesDocumentViews.
3208         (-[WebView _windowDidResignKey:]): Ditto.
3209         (-[WebView _windowWillOrderOnScreen:]): Ditto.
3210         (-[WebView mainFrame]): Tweaked.
3211         (-[WebView selectedFrame]): Added a conditional to avoid trying to get at the
3212         frame view in viewless case.
3213         (-[WebView _setZoomMultiplier:isTextOnly:]): Use _mainCoreFrame.
3214         (-[WebView setCustomTextEncodingName:]): Ditto.
3215         (-[WebView windowScriptObject]): Ditto.
3216         (-[WebView setHostWindow:]): Ditto. Also put some code that's needed only for
3217         document views inside _private->usesDocumentViews.
3218         (-[WebView _hitTest:dragTypes:]): Tweaked.
3219         (-[WebView acceptsFirstResponder]): Added case for viewless mode along with a
3220         FIXME, since it's not complete.
3221         (-[WebView becomeFirstResponder]): Ditto.
3222         (-[WebView _webcore_effectiveFirstResponder]): Put the body of this inside
3223         a usesDocumentView check, because we don't need the first responder forwarding
3224         in viewless mode.
3225         (-[WebView setNextKeyView:]): Ditto.
3226         (-[WebView mouseDown:]): Added. Copied from WebHTMLView. FIXME in here suggests
3227         that we make WebHTMLView share this one soon, which I think is practical.
3228         (-[WebView mouseUp:]): Ditto.
3229         (-[WebView setHoverFeedbackSuspended:]): Added a code path for viewless mode.
3230         (-[WebView shouldClose]): Use _mainCoreFrame.
3231         (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
3232         (-[WebView setEditable:]): Ditto.
3233         (-[WebView _frameViewAtWindowPoint:]): Added an assertion that we're not in
3234         viewless mode since this method makes no sense in that mode.
3235         (-[WebView _setMouseDownEvent:]): Added. Copied from WebHTMLView. I plan to
3236         eliminate the one in WebHTMLView soon.
3237         (-[WebView _cancelUpdateMouseoverTimer]): Ditto.
3238         (-[WebView _stopAutoscrollTimer]): Ditto.
3239         (+[WebView _updateMouseoverWithEvent:]): Ditto.
3240         (-[WebView _updateMouseoverWithFakeEvent]): Ditto.
3241         (-[WebView _setToolTip:]): Added. Calls through to the WebHTMLView version.
3242         (-[WebView _selectionChanged]): Ditto.
3243         (-[WebView _mainCoreFrame]): Added.
3244         (-[WebView _needsOneShotDrawingSynchronization]): Moved into the WebInternal
3245         category.
3246         (-[WebView _setNeedsOneShotDrawingSynchronization:]): Ditto.
3247         (-[WebView _startedAcceleratedCompositingForFrame:]): Ditto.
3248         (-[WebView _stoppedAcceleratedCompositingForFrame:]): Ditto.
3249         (viewUpdateRunLoopObserverCallBack): Ditto.
3250         (-[WebView _scheduleViewUpdate]): Ditto.
3251
3252         * WebView/WebViewInternal.h: Made most of the file not compile at all when
3253         included from non-C++ source files, elminating some excess declarations and
3254         typedefs. Moved more methods into the real internal category. Added new
3255         methods _setMouseDownEvent, _cancelUpdateMouseoverTimer, _stopAutoscrollTimer,
3256         _updateMouseoverWithFakeEvent, _selectionChanged, and _setToolTip:.
3257
3258 2009-06-02  Mark Rowe  <mrowe@apple.com>
3259
3260         Reviewed by Anders Carlsson.
3261
3262         Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
3263
3264         * Configurations/Base.xcconfig:
3265
3266 2009-06-01  Darin Adler  <darin@apple.com>
3267
3268         * WebView/WebTextCompletionController.mm: Fix Tiger build by adding import
3269         of WebTypesInternal.h.
3270
3271 2009-06-01  Darin Adler  <darin@apple.com>
3272
3273         Reviewed by Maciej Stachowiak.
3274
3275         Bug 26113: break WebTextCompletionController out into its own source file
3276         https://bugs.webkit.org/show_bug.cgi?id=26113
3277
3278         * WebView/WebHTMLView.mm:
3279         (-[WebHTMLViewPrivate dealloc]): Updated for new name.
3280         (-[WebHTMLViewPrivate clear]): Ditto.
3281         (-[WebHTMLView _frameOrBoundsChanged]): Ditto.
3282         (-[WebHTMLView menuForEvent:]): Ditto.
3283         (-[WebHTMLView windowDidResignKey:]): Ditto.
3284         (-[WebHTMLView windowWillClose:]): Ditto.
3285         (-[WebHTMLView mouseDown:]): Ditto.
3286         (-[WebHTMLView resignFirstResponder]): Ditto.
3287         (-[WebHTMLView keyDown:]): Ditto.
3288         (-[WebHTMLView complete:]): Ditto. Also pass WebView to init method.
3289         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Ditto.
3290
3291         * WebView/WebTextCompletionController.h: Copied from mac/WebView/WebHTMLView.mm.
3292         * WebView/WebTextCompletionController.mm: Copied from mac/WebView/WebHTMLView.mm.
3293         Changed initializer to pass in a spearate WebView and WebHTMLView, to smooth the
3294         way for handling viewless mode properly in the future.
3295
3296 2009-05-30  David Kilzer  <ddkilzer@apple.com>
3297
3298         Add JSLock to -[WebScriptCallFrame scopeChain]
3299
3300         Reviewed by Darin Adler.
3301
3302         In Debug builds of WebKit, Dashcode launching MobileSafari could
3303         cause the ASSERT(JSLock::lockCount() > 0) assertion to fire in
3304         JSC::Heap::heapAllocate() because the JSLock wasn't taken.
3305
3306         * WebView/WebScriptDebugDelegate.mm:
3307         (-[WebScriptCallFrame scopeChain]): Take JSLock before calling
3308         into JavaScriptCore.
3309
3310 2009-05-28  Mark Rowe  <mrowe@apple.com>
3311
3312         Rubber-stamped by Dan Bernstein.
3313
3314         Build fix.  Move off a deprecated NSFileManager method.
3315
3316         * Misc/WebNSFileManagerExtras.h:
3317         * Misc/WebNSFileManagerExtras.m:
3318         (-[NSFileManager destinationOfSymbolicLinkAtPath:error:]): Implement a new-in-Leopard method for Tiger to use.
3319         (-[NSFileManager attributesOfItemAtPath:error:]): Ditto.
3320         * Plugins/WebNetscapePluginPackage.mm:
3321         (-[WebNetscapePluginPackage _initWithPath:]): Use the new non-deprecated methods.
3322
3323 2009-05-28  Dirk Schulze  <krit@webkit.org>
3324
3325         Reviewed by Nikolas Zimmermann.
3326
3327         Added new build flag --filters. More details in WebCore/ChangeLog.
3328
3329         * Configurations/FeatureDefines.xcconfig:
3330
3331 2009-05-27  Alexey Proskuryakov  <ap@webkit.org>
3332
3333         Reviewed by Darin Adler.
3334
3335         https://bugs.webkit.org/show_bug.cgi?id=26009
3336         <rdar://problem/6925656> REGRESSION (r43973): Problems While Working With OpenVanilla
3337
3338         * WebView/WebHTMLView.mm:
3339         (-[WebHTMLView _updateSelectionForInputManager]): Don't call updateWindows if the selection
3340         is None. This routinely happens during editing, and it doesn't mean that we left an editable
3341         area (in which case the selection changes to a non-editable one).
3342
3343 2009-05-26  Sam Weinig  <sam@webkit.org>
3344
3345         Reviewed by Brady Eidson.
3346
3347         Fix for <rdar://problem/6916371>
3348         iWeb 'Announce' button does nothing after publishing to MobileMe
3349
3350         Add linked-on-or-after check to allow older WebKit apps to use the
3351         old behavior of sniffing everything (including file: urls)
3352
3353         * Misc/WebKitVersionChecks.h:
3354         * WebView/WebView.mm:
3355         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
3356
3357 2009-05-26  Stephanie Lewis  <slewis@apple.com>
3358
3359         Reviewed by Ada Chan and Oliver Hunt.
3360
3361         Remove WebView observers in during fast teardown.
3362         <rdar://problem/6922619> REGRESSION (Tiger-only?): After restoring windows from the previous session, a crash occurs while attempting to quit Safari
3363
3364         * WebView/WebView.mm:
3365         (-[WebView _closeWithFastTeardown]):
3366
3367 2009-05-26  Anders Carlsson  <andersca@apple.com>
3368
3369         Reviewed by Dan Bernstein.
3370
3371         <rdar://problem/6901751> 
3372         REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com
3373
3374         Remove WKCGContextIsSafeToClip.
3375
3376         * WebCoreSupport/WebSystemInterface.m:
3377         (InitWebCoreSystemInterface):
3378
3379 2009-05-26  Dan Bernstein  <mitz@apple.com>
3380
3381         Reviewed by Darin Adler.
3382
3383         - fix <rdar://problem/6922371> REGRESSION (r43973): Can't type first
3384           character with an umlaut, circumflex, or accent in Mail or in a wiki
3385
3386         * WebView/WebHTMLView.mm:
3387         (isTextInput): Moved here.
3388         (isInPasswordField): Moved here.
3389         (-[WebHTMLView becomeFirstResponder]): Update the exposeInputContext
3390         flag and let NSApplication update the input manager with the new input
3391         context if necessary.
3392         (-[WebHTMLView _updateSelectionForInputManager]): Changed to use the
3393         NSApp global instead of +[NSApplication sharedApplication].
3394
3395 2009-05-26  Mark Rowe  <mrowe@apple.com>
3396
3397         Fix the Tiger build.
3398
3399         * Misc/WebNSObjectExtras.mm:
3400         (-[NSInvocation _webkit_invokeAndHandleException:]): Rename the local variable so that
3401         it doesn't conflict with a member variable on Tiger.
3402
3403 2009-05-26  Darin Adler  <darin@apple.com>
3404
3405         Reviewed by Mark Rowe.
3406
3407         <rdar://problem/6921835> REGRESSION (r44115): Crash in Leopard Mail viewing message
3408
3409         Fix case where we autorelease an object on the main thread that we are returning
3410         to another thread when using our _webkit_invokeOnMainThread method.
3411
3412         * Misc/WebNSObjectExtras.mm:
3413         (returnTypeIsObject): Added.
3414         (-[WebMainThreadInvoker forwardInvocation:]): Autorelease the object on the calling
3415         thread, balancing a retain done on the main thread.
3416         (-[NSInvocation _webkit_invokeAndHandleException:]): Retain the object on the main
3417         thread.
3418
3419 2009-05-26  David Hyatt  <hyatt@apple.com>
3420
3421         Back out the workaround for Mail crashing.  Darin is working on the real fix.
3422
3423         * Misc/WebNSObjectExtras.mm:
3424         (-[WebMainThreadInvoker forwardInvocation:]):
3425
3426 2009-05-26  David Hyatt  <hyatt@apple.com>
3427
3428         Reviewed by Darin Adler.
3429
3430         Fix for https://bugs.webkit.org/show_bug.cgi?id=25969.
3431
3432         Stop using notifications for boundsChanged, since the notifications are being sent too late.
3433         Since subviews get resized before parents do, the notification comes in telling the WebHTMLView
3434         that its size has changed *before* we've done setNeedsLayout in the WebView size change callback.
3435
3436         Become more like the Windows platform and just do the bounds changed immediately as our size is
3437         being altered by subclassing setFrameSize in WebView.
3438
3439         Also patch WebDynamicScrollbarsView to detect the case where neither axis is really spilling out
3440         past the viewport, so that in shrinking situations we figure out that we don't need scrollbars
3441         any more.
3442
3443         * WebView/WebDynamicScrollBarsView.m:
3444         (-[WebDynamicScrollBarsView updateScrollers]):
3445         * WebView/WebView.mm:
3446         (-[WebView _boundsChangedToNewSize:]):
3447         (-[WebView setFrameSize:]):
3448         (-[WebView viewWillMoveToWindow:]):
3449         (-[WebView viewDidMoveToWindow]):
3450
3451 2009-05-25  Anders Carlsson  <andersca@apple.com>
3452
3453         Reviewed by Sam Weinig.
3454
3455         - WebKit side of <rdar://problem/6914001>.
3456
3457         * Plugins/Hosted/NetscapePluginHostManager.h:
3458         * Plugins/Hosted/NetscapePluginHostManager.mm:
3459         (WebKit::NetscapePluginHostManager::didCreateWindow):
3460         Iterate over all plug-in hosts. If one is in full-screen mode, make sure to activate the
3461         WebKit app instead.
3462         
3463         * Plugins/Hosted/NetscapePluginHostProxy.h:
3464         (WebKit::NetscapePluginHostProxy::isMenuBarVisible):
3465         Add getter.
3466         
3467         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3468         (WKPCEvaluate):
3469         Add allowPopups flag.
3470         
3471         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3472         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3473         (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
3474         (WebKit::NetscapePluginInstanceProxy::PluginRequest::allowPopups):
3475         (WebKit::NetscapePluginInstanceProxy::loadURL):
3476         (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
3477         (WebKit::NetscapePluginInstanceProxy::loadRequest):
3478         (WebKit::NetscapePluginInstanceProxy::evaluate):
3479         Use "allowPopups" instead of "userGesture".
3480         
3481         * Plugins/Hosted/WebKitPluginClient.defs:
3482         Add allowPopups argument to Evaluate.
3483         
3484         * Plugins/Hosted/WebKitPluginHostTypes.h:
3485         Use "allowPopups" instead of "userGesture".
3486
3487         * WebCoreSupport/WebChromeClient.mm:
3488         (WebChromeClient::createWindow):
3489         Call didCreateWindow here.
3490         
3491         * WebCoreSupport/WebFrameLoaderClient.mm:
3492         (WebFrameLoaderClient::dispatchCreatePage):
3493         Ditto.
3494
3495 2009-05-25  Anders Carlsson  <andersca@apple.com>
3496
3497         Reviewed by Sam Weinig.
3498
3499         - Fix <rdar://problem/6915849>.
3500         
3501         Release the placeholder window after -[NSApplication runModalForWindow] returns.
3502         
3503         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3504         (WebKit::NetscapePluginHostProxy::beginModal):
3505         (WebKit::NetscapePluginHostProxy::endModal):
3506
3507 2009-05-24  Dan Bernstein  <mitz@apple.com>
3508
3509         - revert an accidental change from r43964.
3510
3511         * WebView/WebView.mm:
3512         (+[WebView _setShouldUseFontSmoothing:]):
3513
3514 2009-05-24  Darin Adler  <darin@apple.com>
3515
3516         Reviewed by Dan Bernstein and Tim Hatcher.
3517
3518         <rdar://problem/6913045> New console message spewed by automator CLI after installing JetstreamLeo40B21a
3519
3520         * Misc/WebNSObjectExtras.mm:
3521         (-[WebMainThreadInvoker initWithTarget:]): Tweaked argument name.
3522         (-[WebMainThreadInvoker forwardInvocation:]): Removed call to retainArguments.
3523         This was unneeded and in the case of a newly created but not yet fully initialized
3524         NSView object it caused the abovementioned bug.
3525         (-[WebMainThreadInvoker handleException:]): Tweaked argument name. Added assertion.
3526         (-[NSInvocation _webkit_invokeAndHandleException:]): Tweaked name of local variable
3527         that holds the exception.
3528
3529 2009-05-23  David Kilzer  <ddkilzer@apple.com>
3530
3531         Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
3532
3533         <https://bugs.webkit.org/show_bug.cgi?id=25495>
3534
3535         Reviewed by Oliver Hunt.
3536
3537         * History/WebHistory.mm:
3538         (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Return
3539         0 instead of an empty auto_ptr<>.
3540         * History/WebHistoryItem.mm:
3541         (-[WebHistoryItem initFromDictionaryRepresentation:]): Use
3542         OwnPtr<> instead of auto_ptr<> for stack variable.
3543         * WebCoreSupport/WebChromeClient.h:
3544         (WebChromeClient::createHTMLParserQuirks): Return a PassOwnPtr<>
3545         instead of a raw HTMLParserQuirks pointer.
3546
3547 2009-05-23  David Kilzer  <ddkilzer@apple.com>
3548
3549         Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
3550
3551         <https://bugs.webkit.org/show_bug.cgi?id=25495>
3552
3553         Reviewed by Oliver Hunt.
3554
3555         * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
3556         * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
3557
3558 2009-05-22  Darin Adler  <darin@apple.com>
3559
3560         Reviewed by Dan Bernstein.
3561
3562         - Fix <rdar://problem/6913765> REGRESSION (r42331-r42334): Extra scroll
3563           bars appearing on Welcome panels of iLife '09 apps
3564
3565         * WebView/WebView.mm:
3566         (needsUnwantedScrollBarWorkaround): Added. Checks if this is a panel
3567         where scroll bars are unwanted. For safety, limited to only Apple applications. 
3568         (-[WebView viewDidMoveToWindow]): If the workaround is needed, disallow
3569         scrolling the main frame. This prevents scroll bars from appearing.
3570
3571 2009-05-22  Adam Barth  <abarth@webkit.org>
3572
3573         Reviewed by Maciej Stachowiak.
3574
3575         https://bugs.webkit.org/show_bug.cgi?id=25955
3576
3577         Remove the policyBaseURL parameter from setCookie.  This parameter is
3578         redudant with the document parameter.
3579
3580         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3581         (WebKit::NetscapePluginInstanceProxy::setCookies):
3582         * Plugins/WebNetscapePluginView.mm:
3583         (-[WebNetscapePluginView setVariable:forURL:value:length:]):
3584
3585 2009-05-21  Darin Fisher  <darin@chromium.org>
3586
3587         Fix-up coding style.
3588
3589