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