315938af01e1f46e2a303ba08a6e766171f7baff
[WebKit-https.git] / WebKit / mac / ChangeLog
1 2010-07-09  Leon Clarke  <leonclarke@google.com>
2
3         Reviewed by Adam Barth.
4
5         add support for link prefetching
6         https://bugs.webkit.org/show_bug.cgi?id=3652
7
8         * Configurations/FeatureDefines.xcconfig:
9
10 2010-07-08  Aaron Boodman  <aa@chromium.org>
11
12         Reviewed by Timothy Hatcher.
13
14         Add the ability for user scripts and user styles to affect just the top frame.
15
16         https://bugs.webkit.org/show_bug.cgi?id=41529
17
18         * WebView/WebView.mm:
19         (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
20         (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
21         (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
22         (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
23         * WebView/WebViewPrivate.h:
24
25 2010-07-08  Adele Peterson  <adele@apple.com>
26
27         Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.
28
29         Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
30         <rdar://problem/8158561> Missing plug-in indicator should have a pressed state
31
32         Implement shouldMissingPluginMessageBeButton.
33
34         * WebCoreSupport/WebChromeClient.h:
35         * WebCoreSupport/WebChromeClient.mm:
36         (WebChromeClient::shouldMissingPluginMessageBeButton):
37
38 2010-07-08  Brady Eidson  <beidson@apple.com>
39
40         Reviewed by Tim Hatcher.
41
42         <rdar://problem/8136327> - Crash in Entourage calling WebCache method from background thread
43
44         * Misc/WebCache.mm:
45         (+[WebCache setDisabled:]): Forward the call to the main thread if called from a background thread.
46
47         * Misc/WebNSObjectExtras.h:
48         * Misc/WebNSObjectExtras.mm:
49         (+[NSObject _webkit_invokeOnMainThread]): Add a class version of the main thread invoker.
50
51 2010-07-08  Mike Thole  <mthole@apple.com>
52
53         Reviewed by Darin Adler.
54
55         Patch for https://bugs.webkit.org/show_bug.cgi?id=41896
56         Crash under allScriptsInPDFDocument() in WebPDFDocumentExtras.mm for certain PDFs
57
58         * WebView/WebPDFDocumentExtras.mm:
59         (allScriptsInPDFDocument): Null-check 'data', as CGPDFStreamCopyData() may have returned 0.
60
61 2010-07-08  Sam Weinig  <sam@webkit.org>
62
63         Reviewed by Anders Carlsson.
64
65         Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
66         Convert BackForwardList to an abstract base class and add BackForwardListImpl
67         as the concrete implementation of it.
68
69         * History/WebBackForwardList.mm:
70         (-[WebBackForwardList init]):
71         (-[WebBackForwardList setPageCacheSize:]):
72         (-[WebBackForwardList pageCacheSize]):
73
74 2010-07-07  Sam Weinig  <sam@webkit.org>
75
76         Reviewed by Anders Carlsson.
77
78         Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
79         Add basic piping for BackForwardControllerClient.
80
81         * WebView/WebView.mm:
82         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
83
84 2010-07-07  Anders Carlsson  <andersca@apple.com>
85
86         Reviewed by Sam Weinig.
87
88         Change requestURL to a KURL.
89         https://bugs.webkit.org/show_bug.cgi?id=41775
90
91         * Plugins/WebNetscapePluginStream.h:
92         (WebNetscapePluginStream::setRequestURL):
93         * Plugins/WebNetscapePluginStream.mm:
94         (WebNetscapePluginStream::pluginCancelledConnectionError):
95         (WebNetscapePluginStream::errorForReason):
96         (WebNetscapePluginStream::startStream):
97         (WebNetscapePluginStream::didReceiveResponse):
98         (WebNetscapePluginStream::destroyStream):
99
100 2010-07-07  Anders Carlsson  <andersca@apple.com>
101
102         Reviewed by Sam Weinig.
103
104         Rename the WebBaseNetscapePluginStream.cpp and .h files to WebNetscapePluginStream.cpp and .h to match the class name.
105
106         * Plugins/WebNetscapePluginStream.h: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.h.
107         * Plugins/WebNetscapePluginStream.mm: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.mm.
108
109 2010-07-06  Steve Falkenburg  <sfalken@apple.com>
110
111         Reviewed by Simon Fraser.
112
113         Expose URL matching from WebUserContentURLPattern
114         https://bugs.webkit.org/show_bug.cgi?id=41726
115         <rdar://problem/7910144>
116
117         We previously had a way to construct WebUserContentURLPattern
118         instances via WebKit, but no way for callers to perform matching.
119         This patch adds the matchesURL functionality to allow for this.
120
121         * Misc/WebUserContentURLPattern.h: Added matchesURL.
122         * Misc/WebUserContentURLPattern.mm:
123         (-[WebUserContentURLPattern matchesURL:]): Added. Calls through to WebCore::UserContentURLPattern::matches.
124
125 2010-06-23  Philippe Normand  <pnormand@igalia.com>
126
127         Reviewed by Eric Carlson.
128
129         [GStreamer] on Mac OS use a runloop observer to process the glib context iterations
130         https://bugs.webkit.org/show_bug.cgi?id=35747
131
132         If VIDEO and GSTREAMER are enabled, make the WebView start a
133         runloop observer that will trigger the glib main context
134         iterations. Those are needed by the GStreamer player only at the
135         moment but could later be used for other GLib-dependant components
136         if required.
137
138         * WebView/WebView.mm:
139         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
140         (-[WebView _close]):
141         (-[WebView _clearGlibLoopObserver]):
142         (glibContextIterationCallback):
143         (-[WebView _scheduleGlibContextIterations]):
144         * WebView/WebViewData.h:
145         * WebView/WebViewInternal.h:
146
147 2010-07-03  Jon Honeycutt  <jhoneycutt@apple.com>
148
149         The missing plug-in indicator should be clickable
150
151         https://bugs.webkit.org/show_bug.cgi?id=41550
152         <rdar://problem/8132162>
153
154         From an original patch by Kevin Decker.
155
156         Reviewed by Darin Adler.
157
158         * WebCoreSupport/WebChromeClient.h:
159         Declare an override of missingPluginButtonClicked().
160
161         * WebCoreSupport/WebChromeClient.mm:
162         (WebChromeClient::missingPluginButtonClicked):
163         Call the UIDelegate's method.
164
165         * WebView/WebUIDelegatePrivate.h:
166         Declare didPressMissingPluginButton.
167
168 2010-07-01  Timothy Hatcher  <timothy@apple.com>
169
170         Provide a WebView preference to disable DNS prefetching.
171
172         https://bugs.webkit.org/show_bug.cgi?id=28825
173         rdar://problem/7181249
174
175         Reviewed by Darin Adler.
176
177         * WebView/WebPreferenceKeysPrivate.h: Added WebKitDNSPrefetchingEnabledPreferenceKey.
178         * WebView/WebPreferences.mm:
179         (+[WebPreferences initialize]): Set WebKitDNSPrefetchingEnabledPreferenceKey to YES.
180         (-[WebPreferences isDNSPrefetchingEnabled]): Added. Return WebKitDNSPrefetchingEnabledPreferenceKey's value.
181         (-[WebPreferences setDNSPrefetchingEnabled:]): Added. Set WebKitDNSPrefetchingEnabledPreferenceKey's value.
182         * WebView/WebPreferencesPrivate.h: Added isDNSPrefetchingEnabled and setDNSPrefetchingEnabled:.
183         * WebView/WebView.mm:
184         (-[WebView _preferencesChangedNotification:]): Call WebCore::Settings::setDNSPrefetchingEnabled.
185
186 2010-07-01  Alexey Proskuryakov  <ap@apple.com>
187
188         Reviewed by Anders Carlsson.
189
190         <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
191         REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction
192
193         Strengthen m_inDestroy "swipe under the carpet" fix.
194
195         * Plugins/Hosted/NetscapePluginInstanceProxy.h: Added a long comment about m_inDestroy, and
196         changed it to static.
197
198         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
199         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): m_inDestroy is now
200         static, so we don't initialize it in constructor.
201         (WebKit::NetscapePluginInstanceProxy::destroy): Assert that we aren't already destroying
202         some plug-in.
203         (WebKit::NetscapePluginInstanceProxy::evaluate): This function accidentally lacked an
204         m_inDestroy check in r42789.
205
206 2010-06-29  Zoltan Herczeg  <zherczeg@webkit.org>
207
208         Reviewed by Nikolas Zimmermann.
209
210         Add ConvolveMatrixElement to MigrateHeaders.make
211         https://bugs.webkit.org/show_bug.cgi?id=5861
212
213         * MigrateHeaders.make:
214
215 2010-06-23  John Gregg  <johnnyg@google.com>
216
217         Reviewed by Kent Tamura.
218
219         add ENABLE_DIRECTORY_UPLOAD build support
220         https://bugs.webkit.org/show_bug.cgi?id=41100
221
222         * Configurations/FeatureDefines.xcconfig:
223
224 2010-06-28  Eric Seidel  <eric@webkit.org>
225
226         Reviewed by Adam Barth.
227
228         Make it possible to test the new HTML5 TreeBuilder
229         https://bugs.webkit.org/show_bug.cgi?id=41276
230
231         Adam was concerned that someone might make their port
232         depend on this setting (I guess we had some trouble with that
233         with the HTML5Parser setting), so I littered the code with warnings.
234
235         test-html5-parser now tests this code path.
236
237         * WebView/WebPreferenceKeysPrivate.h:
238         * WebView/WebPreferences.mm:
239         (+[WebPreferences initialize]):
240         (-[WebPreferences html5TreeBuilderEnabled]):
241         (-[WebPreferences setHTML5TreeBuilderEnabled:]):
242         * WebView/WebPreferencesPrivate.h:
243         * WebView/WebView.mm:
244         (-[WebView _preferencesChangedNotification:]):
245
246 2010-06-25  Yuzo Fujishima  <yuzo@google.com>
247
248         Reviewed by Shinichiro Hamaji.
249
250         Improve default value handling for page format properties.
251         https://bugs.webkit.org/show_bug.cgi?id=41150
252
253         * Misc/WebCoreStatistics.h:
254         * Misc/WebCoreStatistics.mm:
255         (-[WebFrame pageSizeAndMarginsInPixels:pageNumber:width:height:marginTop:marginRight:marginBottom:]):
256
257 2010-06-26  Tony Gentilcore  <tonyg@chromium.org>
258
259         Reviewed by Dimitri Glazkov.
260
261         Add an ENABLE_WEB_TIMING option for enabling Web Timing support.
262         https://bugs.webkit.org/show_bug.cgi?id=38924
263
264         * Configurations/FeatureDefines.xcconfig:
265
266 2010-06-24  Jer Noble  <jer.noble@apple.com>
267
268         Reviewed by Eric Carlson.
269
270         Full-screened content doesn't keep the display on: Safari not grabbing a power assertion?
271         https://bugs.webkit.org/show_bug.cgi?id=40939
272         rdar://problem/7996172
273         
274         Take a IOKit power assertion when playing video in fullscreen mode.  Release the
275         assertion when paused in fullscreen mode, and when exiting fullscreen mode.
276
277         * WebView/WebVideoFullscreenController.h:
278         * WebView/WebVideoFullscreenController.mm:
279         (-[WebVideoFullscreenController windowDidExitFullscreen]): Call updatePowerAssertions.
280         (-[WebVideoFullscreenController windowDidEnterFullscreen]): Call updatePowerAssertions.
281         (-[WebVideoFullscreenController _disableIdleDisplaySleep]):
282         (-[WebVideoFullscreenController _enableIdleDisplaySleep]):
283         (-[WebVideoFullscreenController _disableIdleSystemSleep]):
284         (-[WebVideoFullscreenController _enableIdleSystemSleep]):
285         (-[WebVideoFullscreenController updatePowerAssertions]): Call _(enable|disable)Idle(System|Display)sleep depending on current playback rate and fullscreen status.
286         (-[WebVideoFullscreenController rateChanged:]): Call updatePowerAssertions.
287
288 2010-06-24  Jer Noble  <jer.noble@apple.com>
289
290         Reviewed by Darin Adler.
291
292         Playing movie full screen on second monitor hides menu bar and title bar on main monitor
293         https://bugs.webkit.org/show_bug.cgi?id=40933
294         rdar://problem/7858452
295         
296         Remove all references to GetSystemUIMode and SetSystemUIMode.  Replace these calls with 
297         [NSApplication setPresentationOptions:].  Do not auto-hide the menu bar if the fullscreen
298         screen is does not contain the menu-bar.  Do not auto-hide the dock if the fullscreen screen
299         is both not the menu-bar screen and not the dock screen.
300
301         * WebView/WebVideoFullscreenController.mm:
302         (-[WebVideoFullscreenController windowDidLoad]): Register the applicationDidChangeScreenParameters: listener.
303         (-[WebVideoFullscreenController windowDidExitFullscreen]): Calls updateMenuAndDockForFullscreen.
304         (-[WebVideoFullscreenController windowDidEnterFullscreen]): Calls updateMenuAndDockForFullscreen.
305         (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]):  New notification handler; catches NSApplicationDidChangeScreenParameters.
306         (-[WebVideoFullscreenController updateMenuAndDockForFullscreen]): Hide/show the menu-bar and dock according to the fullscreen window's screen.
307
308 2010-06-24  Jer Noble  <jer.noble@apple.com>
309
310         Reviewed by Eric Carlson.
311
312         Full screen video in Safari exits full-screen if you switch to another app
313         https://bugs.webkit.org/show_bug.cgi?id=40635
314         rdar://problem/7885101
315
316         Implement the following rules for exiting full screen when switching apps:
317         1. If the system has a single screen, switching apps will cause Safari to exit full-screen.
318         2. Otherwise, if the full-screen screen is the "main screen" (the one with the title bar), 
319            switching apps will cause Safari to exit full-screen.
320         3. Overriding rules 1 & 2, if the full-screen screen is not on the "current space", 
321            switching apps will NOT cause Safari to exit full-screen.
322
323         * WebView/WebVideoFullscreenController.mm:
324         (-[WebVideoFullscreenController windowDidLoad]):
325         (-[WebVideoFullscreenController applicationDidResignActive:]):
326
327 2010-06-24  Adele Peterson  <adele@apple.com>
328
329         Reviewed by Sam Weinig.
330
331         Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
332         https://bugs.webkit.org/show_bug.cgi?id=41085
333
334         * WebView/WebHTMLView.mm: Use the WebCore command system for the pasteAsPlainText selector.
335         Also remove internal methods that no one is using.
336
337 2010-06-24  Damian Kaleta  <dkaleta@apple.com>
338
339         Reviewed by Sam Weinig.
340
341         Added an ObjC wrapper to Node::renderRect(bool&).
342
343         * DOM/WebDOMOperations.mm:
344         (-[DOMNode _renderRect:]):
345         * DOM/WebDOMOperationsPrivate.h:
346
347 2010-06-24  Adele Peterson  <adele@apple.com>
348
349         Reviewed by Eric Carlson.
350
351         Fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
352         https://bugs.webkit.org/show_bug.cgi?id=41085
353
354         * WebView/WebHTMLView.mm: (-[WebHTMLView pasteAsPlainText:]): Reuse code in WebCore
355         which does everything done here and also fires paste events.
356
357 2010-06-23  Yuzo Fujishima  <yuzo@google.com>
358
359         Reviewed by Shinichiro Hamaji.
360
361         Implement page format data programming interface.
362         Add methods for testing.
363         https://bugs.webkit.org/show_bug.cgi?id=37538
364
365         * Misc/WebCoreStatistics.h:
366         * Misc/WebCoreStatistics.mm:
367         (-[WebFrame isPageBoxVisible:]):
368         (-[WebFrame pageAreaRectInPixels:]):
369         (-[WebFrame preferredPageSizeInPixels:]):
370
371 2010-06-22  Anders Carlsson  <andersca@apple.com>
372
373         Reviewed by Sam Weinig.
374
375         Get rid of more USE_LIBDISPATCH code.
376
377         * Plugins/Hosted/NetscapePluginHostProxy.h:
378
379 2010-06-22  Anders Carlsson  <andersca@apple.com>
380
381         Reviewed by Sam Weinig.
382
383         Get rid of the USE_LIBDISPATCH code.
384
385         * Plugins/Hosted/NetscapePluginHostProxy.mm:
386         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
387         (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
388
389 2010-06-22  Anders Carlsson  <andersca@apple.com>
390
391         Reviewed by Sam Weinig.
392
393         Wean NetscapePluginHostManager of any knowledge about WebNetscapePluginPackage
394         https://bugs.webkit.org/show_bug.cgi?id=41006
395
396         * Plugins/Hosted/NetscapePluginHostManager.h:
397         * Plugins/Hosted/NetscapePluginHostManager.mm:
398         (WebKit::NetscapePluginHostManager::hostForPlugin):
399         (WebKit::NetscapePluginHostManager::spawnPluginHost):
400         (WebKit::NetscapePluginHostManager::instantiatePlugin):
401         (WebKit::NetscapePluginHostManager::createPropertyListFile):
402         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
403         (-[WebHostedNetscapePluginView createPlugin]):
404         * Plugins/WebNetscapePluginPackage.mm:
405         (-[WebNetscapePluginPackage createPropertyListFile]):
406
407 2010-06-21  Anders Carlsson  <andersca@apple.com>
408
409         Reviewed by Sam Weinig.
410
411         Fix an off-by-one bug I introduced.
412
413         * Plugins/WebNetscapePluginPackage.mm:
414         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
415
416 2010-06-21  Nate Chapin  <japhet@chromium.org>
417
418         Reviewed by Adam Barth.
419
420         FrameLoader cleanup: Split high level subframe and plugin
421         loading functions into a separate class.
422         https://bugs.webkit.org/show_bug.cgi?id=40453
423
424         * WebView/WebFrame.mm:
425         (-[WebFrame _cacheabilityDictionary]):
426
427 2010-06-21  Anders Carlsson  <andersca@apple.com>
428
429         Another Tiger build fix.
430
431         * Plugins/WebNetscapePluginPackage.mm:
432         (-[WebNetscapePluginPackage _tryLoad]):
433
434 2010-06-21  Anders Carlsson  <andersca@apple.com>
435
436         Reviewed by Sam Weinig.
437
438         More WebBasePluginPackage cleanup
439         https://bugs.webkit.org/show_bug.cgi?id=40944
440
441         * Plugins/Hosted/HostedNetscapePluginStream.mm:
442         (WebKit::HostedNetscapePluginStream::pluginCancelledConnectionError):
443         * Plugins/Hosted/NetscapePluginHostManager.mm:
444         (WebKit::NetscapePluginHostManager::spawnPluginHost):
445         * Plugins/WebBaseNetscapePluginStream.mm:
446         (WebNetscapePluginStream::pluginCancelledConnectionError):
447         * Plugins/WebBaseNetscapePluginView.mm:
448         (WebHaltablePlugin::pluginName):
449         * Plugins/WebBasePluginPackage.h:
450         * Plugins/WebBasePluginPackage.mm:
451         (-[WebBasePluginPackage initWithPath:]):
452         (-[WebBasePluginPackage _objectForInfoDictionaryKey:]):
453         (-[WebBasePluginPackage getPluginInfoFromPLists]):
454         (-[WebBasePluginPackage load]):
455         (-[WebBasePluginPackage dealloc]):
456         (-[WebBasePluginPackage finalize]):
457         (-[WebBasePluginPackage pluginInfo]):
458         (-[WebBasePluginPackage supportsExtension:]):
459         (-[WebBasePluginPackage supportsMIMEType:WebCore::]):
460         (-[WebBasePluginPackage MIMETypeForExtension:]):
461         (-[WebBasePluginPackage isJavaPlugIn]):
462         (-[WebBasePluginPackage versionNumber]):
463         (-[WebBasePluginPackage WebCore::]):
464         * Plugins/WebNetscapePluginPackage.mm:
465         (-[WebNetscapePluginPackage openResourceFile]):
466         (-[WebNetscapePluginPackage closeResourceFile:]):
467         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
468         (-[WebNetscapePluginPackage _initWithPath:]):
469         (-[WebNetscapePluginPackage _applyDjVuWorkaround]):
470         (-[WebNetscapePluginPackage _tryLoad]):
471         (-[WebNetscapePluginPackage supportsSnapshotting]):
472         (-[WebNetscapePluginPackage _unloadWithShutdown:]):
473         * Plugins/WebPluginDatabase.mm:
474         (-[WebPluginDatabase refresh]):
475         (-[WebPluginDatabase _removePlugin:]):
476         * Plugins/WebPluginPackage.mm:
477         (-[WebPluginPackage initWithPath:]):
478         (-[WebPluginPackage load]):
479         * WebCoreSupport/WebFrameLoaderClient.mm:
480         (WebFrameLoaderClient::createPlugin):
481         * WebCoreSupport/WebPlatformStrategies.mm:
482         (WebPlatformStrategies::getPluginInfo):
483
484 2010-06-21  Anders Carlsson  <andersca@apple.com>
485
486         Another PowerPC build fix.
487
488         * Plugins/WebNetscapePluginPackage.mm:
489         (-[WebNetscapePluginPackage openResourceFile]):
490         (-[WebNetscapePluginPackage _tryLoad]):
491
492 2010-06-21  Anders Carlsson  <andersca@apple.com>
493
494         Try to fix the PowerPC build.
495
496         * Plugins/WebNetscapePluginPackage.mm:
497         (-[WebNetscapePluginPackage _tryLoad]):
498
499 2010-06-21  Nate Chapin  <japhet@chromium.org>
500
501         Reviewed by Adam Barth.
502
503         Update relevant calls into FrameLoader to make use of 
504         FrameLoaderStateMachine.
505         https://bugs.webkit.org/show_bug.cgi?id=39695
506
507         * WebCoreSupport/WebFrameLoaderClient.mm:
508         (WebFrameLoaderClient::transitionToCommittedForNewPage):
509         * WebView/WebFrame.mm:
510         (-[WebFrame _firstLayoutDone]):
511
512 2010-06-21  Dimitri Glazkov  <dglazkov@chromium.org>
513
514         Reviewed by Dan Bernstein.
515
516         Chromium/Mac build fix.
517
518         * WebCoreSupport/WebSystemInterface.mm: Change the order of wtf/Platform.h include to let other 
519             headers smell it.
520
521 2010-06-21  Anders Carlsson  <andersca@apple.com>
522
523         Reviewed by Dan Bernstein.
524
525         Make all of WebKit build with clang++
526
527         * DefaultDelegates/WebDefaultPolicyDelegate.m:
528         (-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
529         * Plugins/Hosted/NetscapePluginHostManager.mm:
530         * Plugins/WebBaseNetscapePluginView.mm:
531         (-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]):
532         * WebView/WebDynamicScrollBarsView.mm:
533         (-[WebDynamicScrollBarsView setSuppressLayout:]):
534         * WebView/WebHTMLRepresentation.mm:
535         * WebView/WebNavigationData.mm:
536         (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
537         * WebView/WebPDFRepresentation.mm:
538         (-[WebPDFRepresentation setDataSource:]):
539         (-[WebPDFRepresentation receivedData:withDataSource:]):
540         (-[WebPDFRepresentation receivedError:withDataSource:]):
541         * WebView/WebResource.mm:
542         (-[WebResource description]):
543         * WebView/WebSerializedJSValue.mm:
544         (-[WebSerializedJSValue initWithValue:context:exception:]):
545         * WebView/WebVideoFullscreenController.mm:
546         (-[WebVideoFullscreenController WebCore::]):
547         (-[WebVideoFullscreenController setMediaElement:WebCore::]):
548         (-[WebVideoFullscreenController setDelegate:]):
549         (-[WebVideoFullscreenController enterFullscreen:]):
550         * WebView/WebView.mm:
551         (-[WebView _openFrameInNewWindowFromMenu:]):
552         (-[WebView _geolocationDidChangePosition:]):
553
554 2010-06-21  Anders Carlsson  <andersca@apple.com>
555
556         Reviewed by Sam Weinig.
557
558         Remove unused dictionary ivars from WebBasePluginPackage
559         https://bugs.webkit.org/show_bug.cgi?id=40928
560
561         * Plugins/WebBasePluginPackage.h:
562         * Plugins/WebBasePluginPackage.mm:
563         (-[WebBasePluginPackage getPluginInfoFromPLists]):
564         (-[WebBasePluginPackage dealloc]):
565         * Plugins/WebNetscapePluginPackage.mm:
566         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
567
568 2010-06-21  Dan Bernstein  <mitz@apple.com>
569
570         Build fix
571
572         * WebCoreSupport/WebSystemInterface.mm:
573         (InitWebCoreSystemInterface):
574
575 2010-06-21  Dan Bernstein  <mitz@apple.com>
576
577         Reviewed by Darin Adler.
578
579         WebKit part of implementing the 'hyphens' and 'hyphenate-character' properties
580         https://bugs.webkit.org/show_bug.cgi?id=10228
581
582         * WebCoreSupport/WebSystemInterface.mm:
583         (InitWebCoreSystemInterface): Initialize wkGetHyphenationLocationBeforeIndex.
584
585 2010-06-21  Satish Sampath  <satish@chromium.org>
586
587         Reviewed by Steve Block.
588
589         Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
590         https://bugs.webkit.org/show_bug.cgi?id=40878
591
592         * Configurations/FeatureDefines.xcconfig:
593
594 2010-06-20  Anders Carlsson  <andersca@apple.com>
595
596         Fix Tiger build.
597
598         * Plugins/WebNetscapePluginPackage.mm:
599
600 2010-06-20  Anders Carlsson  <andersca@apple.com>
601
602         Reviewed by Dan Bernstein.
603
604         Get rid of the old MIMETypes getter method
605         https://bugs.webkit.org/show_bug.cgi?id=40898
606
607         * Plugins/WebBasePluginPackage.h:
608         * Plugins/WebBasePluginPackage.mm:
609         (-[WebBasePluginPackage supportsExtension:]):
610         (-[WebBasePluginPackage supportsMIMEType:WebCore::]):
611         (-[WebBasePluginPackage MIMETypeForExtension:]):
612         * Plugins/WebPluginDatabase.mm:
613         (-[WebPluginDatabase refresh]):
614         (-[WebPluginDatabase _removePlugin:]):
615
616 2010-06-20  Anders Carlsson  <andersca@apple.com>
617
618         Reviewed by Dan Bernstein.
619
620         Remove bogus const qualifiers.
621
622         * WebCoreSupport/WebPasteboardHelper.h:
623         * WebCoreSupport/WebPasteboardHelper.mm:
624         (WebPasteboardHelper::urlFromPasteboard):
625         (WebPasteboardHelper::plainTextFromPasteboard):
626         (WebPasteboardHelper::fragmentFromPasteboard):
627
628 2010-06-20  Anders Carlsson  <andersca@apple.com>
629
630         Reviewed by Dan Bernstein.
631
632         Get rid of the extensionToMIME mapping in WebBasePluginPackage
633         https://bugs.webkit.org/show_bug.cgi?id=40897
634
635         Instead of using the extensionToMIME mutable dictionary, use the MIME types vector.
636         While this makes lookup of MIME types based on extensions linear instead of constant,
637         the number of extensions per plug-in is too small for it to matter.
638
639         * Plugins/WebBasePluginPackage.h:
640         * Plugins/WebBasePluginPackage.mm:
641         (-[WebBasePluginPackage initWithPath:]):
642         (-[WebBasePluginPackage dealloc]):
643         (-[WebBasePluginPackage supportsExtension:]):
644         (-[WebBasePluginPackage MIMETypeForExtension:]):
645         (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
646
647 2010-06-20  Anders Carlsson  <andersca@apple.com>
648
649         Reviewed by Dan Bernstein.
650
651         Add a MimeClassInfo Vector to WebBasePluginPackage
652         https://bugs.webkit.org/show_bug.cgi?id=40896
653
654         * Plugins/WebBasePluginPackage.h:
655         * Plugins/WebBasePluginPackage.mm:
656         (-[WebBasePluginPackage getPluginInfoFromPLists]):
657         (-[WebBasePluginPackage WebCore::]):
658         * Plugins/WebNetscapePluginPackage.mm:
659         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
660         * WebCoreSupport/WebPlatformStrategies.mm:
661         (WebPlatformStrategies::getPluginInfo):
662
663 2010-06-20  Anders Carlsson  <andersca@apple.com>
664
665         Reviewed by Dan Bernstein.
666
667         Move the NSBundle ivar to WebPluginPackage
668         https://bugs.webkit.org/show_bug.cgi?id=40894
669
670         * Plugins/WebBasePluginPackage.h:
671         * Plugins/WebBasePluginPackage.mm:
672         (-[WebBasePluginPackage initWithPath:]):
673         (-[WebBasePluginPackage _objectForInfoDictionaryKey:]):
674         (-[WebBasePluginPackage getPluginInfoFromPLists]):
675         (-[WebBasePluginPackage load]):
676         (-[WebBasePluginPackage dealloc]):
677         * Plugins/WebNetscapePluginPackage.mm:
678         (-[WebNetscapePluginPackage _initWithPath:]):
679         * Plugins/WebPluginPackage.h:
680         * Plugins/WebPluginPackage.mm:
681         (-[WebPluginPackage initWithPath:]):
682         (-[WebPluginPackage dealloc]):
683         (-[WebPluginPackage viewFactory]):
684         (-[WebPluginPackage load]):
685
686 2010-06-20  Anders Carlsson  <andersca@apple.com>
687
688         Reviewed by Sam Weinig.
689
690         Remove -[WebBasePluginPackage bundle]
691         https://bugs.webkit.org/show_bug.cgi?id=40892
692
693         Add -[WebBasePluginPackage bundleIdentifier] and switch clients over to it.
694         
695         Move the supportsSnapshotting method over to the plug-in package.
696         
697         * Plugins/Hosted/NetscapePluginHostManager.mm:
698         (WebKit::NetscapePluginHostManager::hostForPackage):
699         * Plugins/WebBaseNetscapePluginView.mm:
700         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
701         (-[WebBaseNetscapePluginView supportsSnapshotting]):
702         * Plugins/WebBasePluginPackage.h:
703         * Plugins/WebBasePluginPackage.mm:
704         (-[WebBasePluginPackage isQuickTimePlugIn]):
705         (-[WebBasePluginPackage isJavaPlugIn]):
706         (-[WebBasePluginPackage WebCore::]):
707         Call bundleIdentifier directly instead of asking the bundle 
708         * Plugins/WebNetscapePluginPackage.h:
709         * Plugins/WebNetscapePluginPackage.mm:
710         (-[WebNetscapePluginPackage supportsSnapshotting]):
711         * Plugins/WebNetscapePluginView.mm:
712         (-[WebNetscapePluginView setAttributeKeys:andValues:]):
713         (-[WebNetscapePluginView _createPlugin]):
714         * Plugins/WebPluginDatabase.mm:
715         (checkCandidate):
716
717 2010-06-20  Anders Carlsson  <andersca@apple.com>
718
719         Reviewed by Dan Bernstein.
720
721         Change some WebPluginDabase ivars to use WebCore::String instead of NSString.
722         https://bugs.webkit.org/show_bug.cgi?id=40869
723         
724         Re-land r61459, with extra null-checks in WebFrameLoaderClient.
725
726         * Plugins/Hosted/NetscapePluginHostManager.mm:
727         (WebKit::NetscapePluginHostManager::spawnPluginHost):
728         * Plugins/WebBasePluginPackage.h:
729         * Plugins/WebBasePluginPackage.mm:
730         (-[WebBasePluginPackage initWithPath:]):
731         (-[WebBasePluginPackage getPluginInfoFromPLists]):
732         (-[WebBasePluginPackage dealloc]):
733         (-[WebBasePluginPackage name]):
734         (-[WebBasePluginPackage path]):
735         (-[WebBasePluginPackage filename]):
736         (-[WebBasePluginPackage pluginDescription]):
737         (-[WebBasePluginPackage description]):
738         (-[WebBasePluginPackage isJavaPlugIn]):
739         * Plugins/WebNetscapePluginPackage.mm:
740         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
741         (-[WebNetscapePluginPackage _tryLoad]):
742         (-[WebNetscapePluginPackage _unloadWithShutdown:]):
743         * Plugins/WebPluginPackage.mm:
744         (-[WebPluginPackage load]):
745         * WebCoreSupport/WebFrameLoaderClient.mm:
746         (WebFrameLoaderClient::createPlugin):
747
748 2010-06-18  Adam Barth  <abarth@webkit.org>
749
750         Unreviewed, rolling out r61459.
751         http://trac.webkit.org/changeset/61459
752         https://bugs.webkit.org/show_bug.cgi?id=40869
753
754         Seems to have broken two tests on the Tiger buildbot:
755
756         dom/html/level2/html/AppletsCollection.html
757         plugins/qt-qwidget-plugin.html
758
759         Anders wasn't on #webkit...
760
761         * Plugins/Hosted/NetscapePluginHostManager.mm:
762         (WebKit::NetscapePluginHostManager::spawnPluginHost):
763         * Plugins/WebBasePluginPackage.h:
764         * Plugins/WebBasePluginPackage.mm:
765         (-[WebBasePluginPackage initWithPath:]):
766         (-[WebBasePluginPackage getPluginInfoFromPLists]):
767         (-[WebBasePluginPackage dealloc]):
768         (-[WebBasePluginPackage name]):
769         (-[WebBasePluginPackage path]):
770         (-[WebBasePluginPackage filename]):
771         (-[WebBasePluginPackage pluginDescription]):
772         (-[WebBasePluginPackage setName:]):
773         (-[WebBasePluginPackage setPath:]):
774         (-[WebBasePluginPackage setPluginDescription:]):
775         (-[WebBasePluginPackage description]):
776         (-[WebBasePluginPackage isJavaPlugIn]):
777         * Plugins/WebNetscapePluginPackage.mm:
778         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
779         (-[WebNetscapePluginPackage _tryLoad]):
780         (-[WebNetscapePluginPackage _unloadWithShutdown:]):
781         * Plugins/WebPluginPackage.mm:
782         (-[WebPluginPackage load]):
783
784 2010-06-18  Anders Carlsson  <andersca@apple.com>
785
786         Fix Tiger build.
787
788         * Plugins/WebBasePluginPackage.mm:
789         (-[WebBasePluginPackage isJavaPlugIn]):
790
791 2010-06-18  Anders Carlsson  <andersca@apple.com>
792
793         Reviewed by Sam Weinig.
794
795         Change some WebPluginDabase ivars to use WebCore::String instead of NSString.
796         https://bugs.webkit.org/show_bug.cgi?id=40869
797
798         * Plugins/Hosted/NetscapePluginHostManager.mm:
799         (WebKit::NetscapePluginHostManager::spawnPluginHost):
800         * Plugins/WebBasePluginPackage.h:
801         * Plugins/WebBasePluginPackage.mm:
802         (-[WebBasePluginPackage initWithPath:]):
803         (-[WebBasePluginPackage getPluginInfoFromPLists]):
804         (-[WebBasePluginPackage dealloc]):
805         (-[WebBasePluginPackage name]):
806         (-[WebBasePluginPackage path]):
807         (-[WebBasePluginPackage filename]):
808         (-[WebBasePluginPackage pluginDescription]):
809         (-[WebBasePluginPackage description]):
810         (-[WebBasePluginPackage isJavaPlugIn]):
811         * Plugins/WebNetscapePluginPackage.mm:
812         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
813         (-[WebNetscapePluginPackage _tryLoad]):
814         (-[WebNetscapePluginPackage _unloadWithShutdown:]):
815         * Plugins/WebPluginPackage.mm:
816         (-[WebPluginPackage load]):
817
818 2010-06-18  Anders Carlsson  <andersca@apple.com>
819
820         Reviewed by Sam Weinig.
821
822         Rename WebPluginPackage.m to make it an Objective-C++ file.
823         
824         * Plugins/WebPluginPackage.m: Removed.
825         * Plugins/WebPluginPackage.mm: Copied from Plugins/WebPluginPackage.m.
826
827 2010-06-18  Anders Carlsson  <andersca@apple.com>
828
829         Reviewed by Sam Weinig.
830
831         Get rid of the NSEnumerators from WebBasePluginPackage
832         https://bugs.webkit.org/show_bug.cgi?id=40868
833
834         * Plugins/WebBasePluginPackage.h:
835         * Plugins/WebBasePluginPackage.mm:
836         (-[WebBasePluginPackage MIMETypes]):
837         (-[WebBasePluginPackage supportsExtension:]):
838         (-[WebBasePluginPackage supportsMIMEType:]):
839         * Plugins/WebPluginDatabase.mm:
840         (-[WebPluginDatabase pluginForMIMEType:]):
841         (-[WebPluginDatabase pluginForExtension:]):
842         (-[WebPluginDatabase refresh]):
843         (-[WebPluginDatabase _removePlugin:]):
844         * WebCoreSupport/WebPlatformStrategies.mm:
845         (WebPlatformStrategies::getPluginInfo):
846
847 2010-06-18  Anders Carlsson  <andersca@apple.com>
848
849         Reviewed by Sam Weinig.
850
851         Make WebCoreSystemInterface.h a C++ only header
852         https://bugs.webkit.org/show_bug.cgi?id=40867
853
854         * WebCoreSupport/WebSystemInterface.h:
855         * WebCoreSupport/WebSystemInterface.m: Removed.
856         * WebCoreSupport/WebSystemInterface.mm: Copied from WebKit/mac/WebCoreSupport/WebSystemInterface.m.
857
858 2010-06-18  Anders Carlsson  <andersca@apple.com>
859
860         Reviewed by Sam Weinig.
861
862         Clean up WebPluginDatabase.mm
863         https://bugs.webkit.org/show_bug.cgi?id=40866
864
865         * Plugins/WebBasePluginPackage.h:
866         * Plugins/WebBasePluginPackage.mm:
867         (pathByResolvingSymlinksAndAliases):
868         (-[WebBasePluginPackage initWithPath:]):
869         Change an instance method into a static function.
870         
871         * Plugins/WebPluginDatabase.mm:
872         (PluginPackageCandidates::PluginPackageCandidates):
873         (PluginPackageCandidates::update):
874         (PluginPackageCandidates::bestCandidate):
875         Add a new PluginPackageCandidates class.
876         
877         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
878         Use PluginPackageCandidates here.
879
880 2010-06-18  Anders Carlsson  <andersca@apple.com>
881
882         Fix Tiger build.
883         
884         * WebCoreSupport/WebPlatformStrategies.mm:
885
886 2010-06-18  Anders Carlsson  <andersca@apple.com>
887
888         Reviewed by Darin Adler.
889
890         Get rid of PluginDataMac.mm and use the plug-in strategy instead
891         https://bugs.webkit.org/show_bug.cgi?id=40860
892
893         * Plugins/WebBasePluginPackage.h:
894         * WebCoreSupport/WebPlatformStrategies.h:
895         * WebCoreSupport/WebPlatformStrategies.mm:
896         (WebPlatformStrategies::createPluginStrategy):
897         (WebPlatformStrategies::refreshPlugins):
898         (WebPlatformStrategies::getPluginInfo):
899         * WebCoreSupport/WebViewFactory.mm:
900
901 2010-06-18  Anders Carlsson  <andersca@apple.com>
902
903         Reviewed by Dan Bernstein.
904
905         Add stubbed out WebPlatformStrategies class to WebKit.
906         https://bugs.webkit.org/show_bug.cgi?id=40851
907
908         * WebCoreSupport/WebPlatformStrategies.h: Added.
909         * WebCoreSupport/WebPlatformStrategies.mm: Added.
910         (WebPlatformStrategies::initialize):
911         (WebPlatformStrategies::WebPlatformStrategies):
912         (WebPlatformStrategies::createPluginStrategy):
913         * WebView/WebView.mm:
914         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
915
916 2010-06-15  Dumitru Daniliuc  <dumi@chromium.org>
917
918         Reviewed by Adam Barth.
919
920         Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
921         https://bugs.webkit.org/show_bug.cgi?id=39041
922
923         * WebView/WebView.mm:
924         (-[WebView _preferencesChangedNotification:]):
925
926 2010-06-17  Darin Adler  <darin@apple.com>
927
928         Reviewed by Sam Weinig.
929
930         Use adoptRef and create functions in more code paths
931         https://bugs.webkit.org/show_bug.cgi?id=40760
932
933         * Plugins/Hosted/NetscapePluginInstanceProxy.h: Made create no longer
934         be an inline function.
935
936         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
937         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
938         Moved the call to addPluginInstance out of here.
939         (WebKit::NetscapePluginInstanceProxy::create): Move it in here.
940         This makes sure we call adoptRef on the new proxy before any caller
941         calls ref on it.
942
943 2010-06-16  Eric Seidel  <eric@webkit.org>
944
945         Reviewed by Adam Barth.
946
947         Enable HTML5 Parser in Safari on Mac
948         https://bugs.webkit.org/show_bug.cgi?id=40739
949
950         The HTML5 parser is probably off on all webkit ports.
951         We should either flip the meaning of the default so that
952         "false" means HTML5 on all ports, or we'll have to write
953         more code like this for all the other ports.
954
955         * WebView/WebPreferences.mm:
956         (+[WebPreferences initialize]):
957
958 2010-06-15  Mark Rowe  <mrowe@apple.com>
959
960         Reviewed by Sam Weinig.
961
962         Don't leak WebGeolocationPositionInternal and GeolocationPosition instances for every WebGeolocationPosition created.
963
964         * WebView/WebGeolocationPosition.mm:
965         (-[WebGeolocationPosition dealloc]): Implement -dealloc and release our WebGeolocationPositionInternal instance.
966
967 2010-06-10  Yuzo Fujishima  <yuzo@google.com>
968
969         Reviewed by Shinichiro Hamaji.
970
971         Implement render style selection for pages to support CSS3 Paged Media.
972         https://bugs.webkit.org/show_bug.cgi?id=35961
973
974         * Misc/WebCoreStatistics.h:
975         * Misc/WebCoreStatistics.mm:
976         (-[WebFrame pageProperty:propertyName:]):
977
978 2010-06-15  Darin Adler  <darin@apple.com>
979
980         Reviewed by Adam Barth.
981
982         Move functions out of Frame class that were marked "move to Chrome"
983         https://bugs.webkit.org/show_bug.cgi?id=39636
984
985         * WebView/WebView.mm:
986         (-[WebView shouldClose]): Call shouldClose on FrameLoader instead of
987         going through Frame.
988
989 2010-06-15  Anders Carlsson  <andersca@apple.com>
990
991         Reviewed by Dan Bernstein.
992
993         Remove getPluginInfoFromBundleAndMIMEDictionary:
994
995         * Plugins/WebBasePluginPackage.mm:
996
997 2010-06-15  Anders Carlsson  <andersca@apple.com>
998
999         Reviewed by Dan Bernstein.
1000
1001         Fold getPluginInfoFromBundleAndMIMEDictionary: into its sole caller.
1002
1003         * Plugins/WebBasePluginPackage.mm:
1004         (-[WebBasePluginPackage getPluginInfoFromPLists]):
1005
1006 2010-06-11  Simon Fraser  <simon.fraser@apple.com>
1007
1008         Reviewed by Darin Adler.
1009
1010         <rdar://problem/8084721> Pages using accelerated compositing fail to update correctly in Carbon apps
1011         
1012         The run loop observer used to commit compositing layer changes does not do
1013         updates if [window viewsNeedDisplay] is true, because this indicates that a delayed window
1014         update is pending (added in r58623).
1015         
1016         However, Carbon apps don't use the NSWindow updating mechanism, so [window viewsNeedDisplay] always returns YES.
1017         This caused us to never sync compositing layers.
1018         
1019         So detect if the current window is wrapping a carbon window, and in that case consult the root
1020         HIView to detect if display is pending.
1021
1022         * WebView/WebView.mm:
1023         (layerSyncRunLoopObserverCallBack):
1024
1025 2010-06-15  Dan Bernstein  <mitz@apple.com>
1026
1027         Reviewed by John Sullivan.
1028
1029         <rdar://problem/8077032> REGRESSION (r50796): Black background on AppleScript generated email
1030
1031         Test: platform/mac/editing/input/NSBackgroundColor-transparent.html
1032
1033         r50796 changed the initial background color from invalid to transparent. As a result,
1034         NSAttributedStrings returned from +_web_attributedStringFromRange started including the
1035         NSBackgroundColor attribute, with a transparent color as the value. This caused problems for
1036         components in the system that ignore the alpha component, turning the color into opaque black.
1037
1038         * Misc/WebNSAttributedStringExtras.mm:
1039         (+[NSAttributedString _web_attributedStringFromRange:]): Change to not include the background
1040         and foreground color attributes if the color are transparent.
1041
1042 2010-06-14  Ilya Tikhonovsky  <loislo@chromium.org>
1043
1044         Reviewed by Pavel Feldman.
1045
1046         WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
1047         data from inspected page to WebInspector as JSON string via http. The native
1048         serialization to JSON string is supported by InspectorValue's classes. This patch
1049         has the implementation of sendMessageToFrontend function. WebKit version of it still
1050         uses ScriptFunctionCall and will be switched to another transport a little bit later.
1051         https://bugs.webkit.org/show_bug.cgi?id=40134
1052
1053         * WebCoreSupport/WebInspectorClient.h:
1054         * WebCoreSupport/WebInspectorClient.mm:
1055         (WebInspectorClient::WebInspectorClient):
1056         (WebInspectorClient::openInspectorFrontend):
1057
1058 2010-06-10  David Hyatt  <hyatt@apple.com>
1059
1060         Reviewed by John Sullivan.
1061
1062         https://bugs.webkit.org/show_bug.cgi?id=40441, back out the original fix for 29601, since it has broken continuous
1063         wheel delta values.
1064
1065         * WebView/WebDynamicScrollBarsView.mm:
1066         (-[WebDynamicScrollBarsView scrollWheel:]):
1067
1068 2010-06-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1069
1070         Unreviewed, rolling out r60889.
1071         http://trac.webkit.org/changeset/60889
1072         https://bugs.webkit.org/show_bug.cgi?id=40365
1073
1074         gtk bot has some kind of memory corruption (Requested by
1075         loislo on #webkit).
1076
1077         * WebCoreSupport/WebInspectorClient.h:
1078         * WebCoreSupport/WebInspectorClient.mm:
1079         (WebInspectorClient::WebInspectorClient):
1080         (WebInspectorClient::openInspectorFrontend):
1081         (-[WebInspectorWindowController destroyInspectorView]):
1082
1083 2010-06-07  Ilya Tikhonovsky  <loislo@chromium.org>
1084
1085         Reviewed by Pavel Feldman.
1086
1087         WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
1088         data from inspected page to WebInspector as JSON string via http. The native
1089         serialization to JSON string is supported by InspectorValue's classes. This patch
1090         has the implementation of sendMessageToFrontend function. WebKit version of it still
1091         uses ScriptFunctionCall and will be switched to another transport a little bit later.
1092         https://bugs.webkit.org/show_bug.cgi?id=40134
1093
1094         * WebCoreSupport/WebInspectorClient.h:
1095         * WebCoreSupport/WebInspectorClient.mm:
1096         (WebInspectorClient::WebInspectorClient):
1097         (WebInspectorClient::openInspectorFrontend):
1098
1099 2010-06-08  Mark Rowe  <mrowe@apple.com>
1100
1101         Reviewed by Adele Peterson.
1102
1103         <rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK
1104
1105         * WebCoreSupport/WebContextMenuClient.mm:
1106         (fixMenusReceivedFromOldClients): Fix up the tag on the Inspect Element menu item. This ensures that even if the
1107         context menu layout doesn't match our expectations that the menu item will continue to trigger the web inspector.
1108
1109 2010-06-08  Antonio Gomes  <tonikitoo@webkit.org>
1110
1111         Reviewed by Ojan Vafai and Darin Adler.
1112
1113         Refactor platform dependent editing behavior code out of Settings
1114         https://bugs.webkit.org/show_bug.cgi?id=39854
1115
1116         EditingBehavior enum was renamed to EditingBehaviorTypes and moved out from Settings.h to
1117         EditingBehaviorTypes.h . Call sites in WebKit/ adjusted accordingly.
1118
1119         * WebView/WebFrame.mm:
1120         (core):
1121         * WebView/WebFrameInternal.h:
1122         * WebView/WebView.mm:
1123         (-[WebView _preferencesChangedNotification:]):
1124
1125 2010-06-06  MORITA Hajime  <morrita@google.com>
1126
1127         Unreviewd, follow up to r60820
1128
1129         https://bugs.webkit.org/show_bug.cgi?id=40219
1130         [Mac] ENABLE_METER_TAG should be enabled
1131         
1132         Added ENABLE_METER_TAG.
1133
1134         * Configurations/FeatureDefines.xcconfig:
1135
1136 2010-06-06  Gavin Barraclough  <barraclough@apple.com>
1137
1138         Reviewed by Sam Weinig.
1139
1140         Bug 40214 - Clean up error construction / throwing in JSC.
1141         
1142         The one egregious insanity here is that creating an error requires
1143         a VM-entry-esqe-host call (the string argument is wrapped as a JS
1144         object & pushed on the RegisterFile, then unwrapped back to a
1145         UString).  Changing this also means you only require a global
1146         object, not an ExecState, to create an error.
1147
1148         The methods to create error objects are also parameterized
1149         requiring a switch on the type, which can be made cleaner and
1150         faster by moving to a separate method per error type.  Code to add
1151         divot information to error had been duplicated, and is coalesced
1152         back into a single function.
1153
1154         Convenience methods added to create & throw type & syntax error
1155         with a default error message, since this is a common case.
1156
1157         Also, errors are currently thrown either using
1158         "throwError(exec, error)" or "exec->setException(error)" - unify
1159         on the former, since this is more commonly used.  Add
1160         "throwVMError(exec, error)" equivalents, as a convenience for
1161         cases where the result was being wrapped in "JSValue::encode(...)".
1162
1163         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1164         (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
1165         * Plugins/Hosted/ProxyInstance.mm:
1166         (WebKit::ProxyInstance::invokeMethod):
1167
1168 2010-06-02  Gavin Barraclough  <barraclough@apple.com>
1169
1170         Reviewed by Oliver Hunt.
1171
1172         Bug 40094 - The return type of NativeFunction should be EncodedJSValue
1173         On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
1174
1175         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1176         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1177         (WebKit::NetscapePluginInstanceProxy::invoke):
1178
1179 2010-06-02  Sterling Swigart  <sswigart@google.com>
1180
1181         Reviewed by David Levin.
1182
1183         Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
1184         https://bugs.webkit.org/show_bug.cgi?id=39906
1185
1186         * Configurations/FeatureDefines.xcconfig:
1187
1188 2010-06-01  David Hyatt  <hyatt@apple.com>
1189
1190         Reviewed by Anders Carlsson.
1191
1192         Add a preference for paginating during layout (the new model for computing page breaks).
1193
1194         * WebView/WebPreferenceKeysPrivate.h:
1195         * WebView/WebPreferences.mm:
1196         (-[WebPreferences paginateDuringLayoutEnabled]):
1197         (-[WebPreferences setPaginateDuringLayoutEnabled:]):
1198         * WebView/WebPreferencesPrivate.h:
1199         * WebView/WebView.mm:
1200         (-[WebView _preferencesChangedNotification:]):
1201
1202 2010-06-01  Kevin Decker  <kdecker@apple.com>
1203
1204         Reviewed by Simon Fraser.
1205
1206         https://bugs.webkit.org/show_bug.cgi?id=40025
1207         <rdar://problem/8046273> All Flash content crashes after installing CS5 Design Premium.
1208         
1209         * Plugins/WebBaseNetscapePluginView.mm:
1210         (-[WebBaseNetscapePluginView supportsSnapshotting]): Do not support snapshotting Flash 10.1 if
1211         the version is less than 10.1.53.60.
1212
1213 2010-06-01  Alexey Proskuryakov  <ap@apple.com>
1214
1215         Reviewed by Sam Weinig.
1216
1217         https://bugs.webkit.org/show_bug.cgi?id=39434
1218         REGRESSION (r59811): Geolocation callbacks cannot be created
1219
1220         Removing unused WebGeolocationMock.
1221
1222         * WebCoreSupport/WebGeolocationMock.mm: Removed.
1223         * WebCoreSupport/WebGeolocationMockPrivate.h: Removed.
1224         * WebKit.exp:
1225
1226 2010-05-30  Darin Adler  <darin@apple.com>
1227
1228         Reviewed by Sam Weinig.
1229
1230         Make more HTML DOM members private, especially constructors, third and final batch
1231         https://bugs.webkit.org/show_bug.cgi?id=39916
1232
1233         * WebView/WebHTMLRepresentation.mm:
1234         (-[WebHTMLRepresentation elementWithName:inForm:]): Use the new HTMLFormElement
1235         function, associatedElements, rather than getting directly at a data member
1236         named formElements.
1237         (-[WebHTMLRepresentation controlsInForm:]): Ditto.
1238
1239 2010-05-28  Geoffrey Garen  <ggaren@apple.com>
1240
1241         Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
1242
1243         Simplified the host calling convention.
1244
1245         PART ONE: Functional code changes.
1246         
1247         [ None in WebKit ]
1248         
1249         PART TWO: Global search and replace.
1250         
1251         In the areas below, I used global search-and-replace to change
1252             (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
1253             args.size() => exec->argumentCount()
1254             args.at(i) => exec->argument(i)
1255
1256         * Plugins/Hosted/ProxyInstance.h:
1257         * Plugins/Hosted/ProxyInstance.mm:
1258         (WebKit::ProxyInstance::invoke):
1259         (WebKit::ProxyInstance::invokeMethod):
1260         (WebKit::ProxyInstance::invokeDefaultMethod):
1261
1262 2010-05-27  Beth Dakin  <bdakin@apple.com>
1263
1264         Reviewed by Simon Fraser.
1265
1266         Change z-component to 1.
1267
1268         * WebView/WebHTMLView.mm:
1269         (-[WebHTMLView viewDidMoveToWindow]):
1270         (-[WebHTMLView attachRootLayer:]):
1271
1272 2010-05-26  Simon Fraser  <simon.fraser@apple.com>
1273
1274         Reviewed by Beth Dakin and Darin Adler.
1275
1276         Fix for <rdar://problem/7464703> HiDPI: [Layers] Compositing layers 
1277         do not scale properly when running with a resolution independent 
1278         scale
1279
1280         Apply the userSpaceScaleFactor as a scale on the layerHostingView.
1281
1282         * WebView/WebHTMLView.mm:
1283         (-[WebHTMLView viewDidMoveToWindow]):
1284         (-[WebHTMLView attachRootLayer:]):
1285
1286 2010-05-25  Alexey Proskuryakov  <ap@apple.com>
1287
1288         Reviewed by Darin Adler.
1289
1290         https://bugs.webkit.org/show_bug.cgi?id=39621
1291         <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test
1292
1293         Removed formStateDidChange support, which is not needed by any client.
1294
1295         * WebCoreSupport/WebChromeClient.h:
1296         (WebChromeClient::formStateDidChange):
1297         * WebCoreSupport/WebChromeClient.mm:
1298         * WebView/WebUIDelegatePrivate.h:
1299
1300 2010-05-25  Brady Eidson  <beidson@apple.com>
1301
1302         Reviewed by Darin Adler.
1303
1304         Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
1305         <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
1306
1307         * Storage/WebDatabaseManager.mm:
1308         (WebKitInitializeDatabasesIfNecessary): Call initializeTracker() instead of trying to set the path on
1309           an already created tracker that already has its origins populated.
1310
1311 2010-05-24  Darin Adler  <darin@apple.com>
1312
1313         Reviewed by Eric Seidel.
1314
1315         Move view-related functions from Frame to FrameView
1316         https://bugs.webkit.org/show_bug.cgi?id=39366
1317
1318         * WebView/WebView.mm:
1319         (-[WebView _setZoomMultiplier:isTextOnly:]): Call function on FrameView.
1320         (-[WebView setEditable:]): Get rid of call to empty function,
1321         removeEditingStyleFromBodyElement.
1322
1323 2010-05-21  David Hyatt  <hyatt@apple.com>
1324
1325         Reviewed by Dan Bernstein.
1326
1327         https://bugs.webkit.org/show_bug.cgi?id=39420
1328
1329         Make sure everyone who needs to is using visitedDependentColor rather than accessing styles
1330         directly.
1331
1332         * Misc/WebNSAttributedStringExtras.mm:
1333         (+[NSAttributedString _web_attributedStringFromRange:]):
1334         * WebView/WebFrame.mm:
1335         (-[WebFrame _bodyBackgroundColor]):
1336
1337 2010-05-21  Oliver Hunt  <oliver@apple.com>
1338
1339         Reviewed by Geoffrey Garen.
1340
1341         All callable objects should have a global object reference
1342         https://bugs.webkit.org/show_bug.cgi?id=39495
1343
1344         Update the plugin proxy to handle the need for global object.
1345
1346         * Plugins/Hosted/ProxyInstance.mm:
1347         (WebKit::ProxyInstance::newRuntimeObject):
1348         (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
1349         (WebKit::ProxyInstance::getMethod):
1350         * Plugins/Hosted/ProxyRuntimeObject.h:
1351         * Plugins/Hosted/ProxyRuntimeObject.mm:
1352         (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
1353
1354 2010-05-21  Steve Block  <steveblock@google.com>
1355
1356         Reviewed by Jeremy Orlow.
1357
1358         Add DeviceOrientation and DeviceOrientationClient
1359         https://bugs.webkit.org/show_bug.cgi?id=39479
1360
1361         * WebView/WebView.mm:
1362         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
1363
1364 2010-05-20  Mike Thole  <mthole@apple.com>
1365
1366         Reviewed by Dave Hyatt.
1367
1368         When using a scale factor > 1, scrollbars sometimes appear when not necessary
1369         https://bugs.webkit.org/show_bug.cgi?id=39458
1370
1371         * WebView/WebDynamicScrollBarsView.mm:
1372         (-[WebDynamicScrollBarsView updateScrollers]): Round up non-integral sizes from AppKit
1373         so that they can be compared against the integral document size.
1374
1375 2010-05-20  Kevin Decker  <kdecker@apple.com>
1376
1377         Reviewed by Anders Carlsson.
1378
1379         https://bugs.webkit.org/show_bug.cgi?id=39441
1380         <rdar://problem/7985715> Flash context menu is both horizontally and vertically offset from point of click
1381         <rdar://problem/7986109> Youtube video controller UI entirely missing
1382         <rdar://problem/7986154> Flash content paints at horizontally and vertically shifted locations (within the plug-in region)
1383
1384         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1385         (-[WebHostedNetscapePluginView updateAndSetWindow]): The base coordinates of a window and
1386          it's contentView happen to be the equal at a userSpaceScaleFactor of 1. For non-1.0 scale
1387          factors this assumption is false. Accordingly we now convert to the window contentView
1388         coordinate system when computing bounds in "window" and the visible rect.
1389         * Plugins/WebNetscapePluginView.mm:
1390         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): Ditto.
1391
1392 2010-05-20  Steve Block  <steveblock@google.com>
1393
1394         Reviewed by Jeremy Orlow.
1395
1396         Provide bindings for DeviceOrientation
1397         https://bugs.webkit.org/show_bug.cgi?id=39210
1398
1399         Adds ENABLE_DEVICE_ORIENTATION to XCode project file, always disabled.
1400
1401         * Configurations/FeatureDefines.xcconfig:
1402
1403 2010-05-20  Martin Robinson  <mrobinson@webkit.org>
1404
1405         Reviewed by Ojan Vafai.
1406
1407         Expose the editing behavior setting in DRT to test all editing code paths
1408         https://bugs.webkit.org/show_bug.cgi?id=38603
1409
1410         * WebView/WebFrame.mm:
1411         (core):
1412         * WebView/WebFrameInternal.h: Added a conversion method from the API enum to the WebCore enum.
1413         * WebView/WebPreferenceKeysPrivate.h: Added a preference key for the new setting.
1414         * WebView/WebPreferences.mm:
1415         (+[WebPreferences initialize]): Initialize the EditingBehavior to Mac style.
1416         (-[WebPreferences editingBehavior]): Added.
1417         (-[WebPreferences setEditingBehavior:]): Added.
1418         * WebView/WebPreferencesPrivate.h: Added the new API points to the private API.
1419         * WebView/WebView.mm:
1420         (-[WebView _preferencesChangedNotification:]): Set the editing behavior via the WebPreferences setting.
1421
1422 2010-05-19  Anders Carlsson  <andersca@apple.com>
1423
1424         Reviewed by Kevin Decker and Simon Fraser.
1425
1426         <rdar://problem/8004528> 
1427         REGRESSION: Coordinate system for Core Animation NPAPI plug-ins is flipped with accelerated compositing turned on
1428         
1429         When needed, create a new CALayer and set it's geometry to be flipped. Add the plug-in layer as a sublayer and then return
1430         the newly created layer.
1431
1432         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1433         (-[WebHostedNetscapePluginView createPlugin]):
1434         * Plugins/WebNetscapePluginView.mm:
1435         (-[WebNetscapePluginView createPlugin]):
1436
1437 2010-05-18  Tony Chang  <tony@chromium.org>
1438
1439         Reviewed by Darin Adler.
1440
1441         https://bugs.webkit.org/show_bug.cgi?id=24943
1442         Command-B and Command-I do not generate keydown events in contentEditable regions.
1443
1444         Manual test because performKeyEquivalent is not called by DRT.
1445
1446         Test: manual-tests/style-keypress-events.html
1447
1448         * WebView/WebHTMLView.mm:
1449         (-[WebHTMLView performKeyEquivalent:]): Move style key handling until after webcore gets a chance to handle the event
1450
1451 2010-05-18  Daniel Cheng  <dcheng@chromium.org>
1452
1453         Reviewed by Darin Adler, Jian Li.
1454
1455         DragData::asURL() shouldn't do file validity checks
1456         https://bugs.webkit.org/show_bug.cgi?id=38711
1457
1458         Change [NSPasteboard _web_bestURL] to still return a file URL for paths
1459         that don't exist. Callers who care about the existence of the file or
1460         whether or not it is a directory should check themselves when they
1461         want to use the file. The directory check has been left in for now,
1462         since the Mac implementation of ResourceHandle, which uses this function
1463         indirectly via DragController::performDrag) handles directories somewhat
1464         non-intuitively: it opens the parent directory in the Finder, rather
1465         than opening the directory itself.
1466
1467         * Misc/WebNSPasteboardExtras.mm:
1468         (-[NSPasteboard _web_bestURL]):
1469
1470 2010-05-18  Eric Seidel  <eric@webkit.org>
1471
1472         Reviewed by Adam Barth (and Maciej Stachowiak).
1473
1474         Make it possible to enable the new HTML5Tokenizer for testing
1475         https://bugs.webkit.org/show_bug.cgi?id=39275
1476
1477         Expose the WebCore::Settings::html5ParserEnabled as a private WebKit setting.
1478
1479         * WebView/WebPreferenceKeysPrivate.h:
1480         * WebView/WebPreferences.mm:
1481         (-[WebPreferences html5ParserEnabled]):
1482         (-[WebPreferences setHTML5ParserEnabled:]):
1483         * WebView/WebPreferencesPrivate.h:
1484         * WebView/WebView.mm:
1485         (-[WebView _preferencesChangedNotification:]):
1486
1487 2010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1488
1489         Unreviewed, rolling out r59652.
1490         http://trac.webkit.org/changeset/59652
1491         https://bugs.webkit.org/show_bug.cgi?id=39268
1492
1493         file-input-files-access test is broken on Mac (Requested by
1494         dcheng on #webkit).
1495
1496         * Misc/WebNSPasteboardExtras.mm:
1497         (-[NSPasteboard _web_bestURL]):
1498
1499 2010-05-17  Daniel Cheng  <dcheng@chromium.org>
1500
1501         Reviewed by Darin Adler.
1502
1503         DragData::asURL() shouldn't do file validity checks
1504         https://bugs.webkit.org/show_bug.cgi?id=38711
1505
1506         Change [NSPasteboard _web_bestURL] to still return a file URL for paths
1507         that don't exist. Callers who care about the existence of the file or
1508         whether or not it is a directory should check themselves when they
1509         want to use the file. The directory check has been left in for now,
1510         since the Mac implementation of ResourceHandle, which uses this function
1511         indirectly via DragController::performDrag) handles directories somewhat
1512         non-intuitively: it opens the parent directory in the Finder, rather
1513         than opening the directory itself.
1514
1515         * Misc/WebNSPasteboardExtras.mm:
1516         (-[NSPasteboard _web_bestURL]):
1517
1518 2010-05-14  Stephanie Lewis  <slewis@apple.com>
1519
1520         Rubber-stamped by Mark Rowe.
1521
1522         Update order files.
1523
1524         * WebKit.order:
1525
1526 2010-05-13  Timothy Hatcher  <timothy@apple.com>
1527
1528         Allow reporting exceptions that occur when using JavaScriptCore APIs
1529         to the Web Inspector.
1530
1531         <rdar://problem/7975410>
1532
1533         Reviewed by Sam Weinig.
1534
1535         * WebView/WebView.mm:
1536         (+[WebView _reportException:inContext:]): Call WebCore::reportException after checking
1537         that the global object is a DOMWindow.
1538         * WebView/WebViewPrivate.h: Added _reportException:inContext:.
1539
1540 2010-05-13  Alexey Proskuryakov  <ap@apple.com>
1541
1542         Reviewed by Darin Adler.
1543
1544         https://bugs.webkit.org/show_bug.cgi?id=39089
1545         <rdar://problem/7974044> Domain names in Russian '.рф' domain are displayed as punycode
1546
1547         Add a custom check for this domain. Currently, this is the only non-ASCII TLD, we'll
1548         investigate a more extensible solution when there are more, and we know what the
1549         typical restictions are.
1550
1551         * Misc/WebNSURLExtras.mm:
1552         (allCharactersAllowedByTLDRules):
1553         (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
1554
1555 2010-05-12  Simon Fraser  <simon.fraser@apple.com>
1556
1557         Reviewed by David Hyatt.
1558
1559         Composited plug-ins can cause missed painting
1560         https://bugs.webkit.org/show_bug.cgi?id=39033
1561         <rdar://problem/7972478>
1562         
1563         Eagerly enable compositing mode via the enclosing FrameView when the plug-in tells us it wants
1564         to do compositing.
1565
1566         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1567         (-[WebHostedNetscapePluginView createPlugin]):
1568         * Plugins/WebNetscapePluginView.mm:
1569         (-[WebNetscapePluginView createPlugin]):
1570
1571 2010-05-12  Jer Noble  <jer.noble@apple.com>
1572
1573         Reviewed by Darin Adler.
1574
1575         Bug 38689: #34005 will break fullscreen video playback
1576         https://bugs.webkit.org/show_bug.cgi?id=38689
1577
1578         Use the new definition of PlatformMedia to check the actual type 
1579         returned by MediaPlayer.
1580         
1581         * WebView/WebVideoFullscreenController.mm:
1582         (-[WebVideoFullscreenController windowDidLoad]):
1583
1584 2010-05-11  Mark Rowe  <mrowe@apple.com>
1585
1586         Fix the world.
1587
1588         In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
1589         The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
1590         that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
1591         in sync with build-webkit.  This led to WebCore and WebKit having different views of Document's vtable
1592         and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
1593         function in WebCore being called.
1594
1595         We fix this by bringing the FeatureDefines.xcconfig files in to sync.  Based on the ChangeLog message and
1596         other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
1597         has been reverted.
1598
1599         * Configurations/FeatureDefines.xcconfig:
1600
1601 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
1602
1603         Reviewed by Anders Carlsson.
1604
1605         Allow compositing layers to be connected across iframe boundaries on Mac
1606         https://bugs.webkit.org/show_bug.cgi?id=38856
1607         
1608         When painting an iframe into a compositing layer, the "PaintBehaviorFlattenCompositingLayers"
1609         flag was mistakenly set, because we'd detect that we were drawing into a bitmap. This caused
1610         content to show up in both compositing layers, and the painted background inside the iframe.
1611         
1612         Fix by taking the flattening state from the parent frame, if there is one. For the root
1613         frame, we continue to look to see if we're painting into a bitmap.
1614
1615         * WebView/WebFrame.mm:
1616         (-[WebFrame _drawRect:contentsOnly:]):
1617
1618 2010-05-10  Timothy Hatcher  <timothy@apple.com>
1619
1620         Fix a crash when closing a WebView while the Web Inspector is open.
1621
1622         <rdar://problem/7966830>
1623
1624         Reviewed by Mark Rowe.
1625
1626         * WebCoreSupport/WebInspectorClient.mm:
1627         (-[WebInspectorWindowController destroyInspectorView]): Null check Page since it can be null.
1628         * WebView/WebView.mm:
1629         (-[WebView _close]): Null out _private->page before deleting the page, so code called
1630         during destruction don't access a half deleted Page object.
1631
1632 2010-05-10  Anders Carlsson  <andersca@apple.com>
1633
1634         Unbreak the world. (Fix Mac builds).
1635
1636         * Plugins/Hosted/WebKitPluginHostTypes.h:
1637
1638 2010-05-10  Anders Carlsson  <andersca@apple.com>
1639
1640         Reviewed by Simon Fraser.
1641
1642         Change the order of the RendererType enum values, so that old versions of WebKitPluginHost will
1643         use accelerated compositing and not layer backed views.
1644
1645         * Plugins/Hosted/WebKitPluginHostTypes.h:
1646
1647 2010-05-07  Anders Carlsson  <andersca@apple.com>
1648
1649         Reviewed by Sam Weinig and Simon Fraser.
1650
1651         <rdar://problem/7947356>
1652         QT Plug-in in hardware-accelerated WebKit is missing the controller
1653
1654         Replace the useSoftwareRenderer boolean with an enum that lets the plug-in host opt into using a layer
1655         backed NSView instead of inserting the layer into the WebCore layer hierarchy.
1656
1657         * Plugins/Hosted/NetscapePluginHostManager.mm:
1658         (WebKit::NetscapePluginHostManager::instantiatePlugin):
1659         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1660         (WKPCInstantiatePluginReply):
1661         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1662         (WebKit::NetscapePluginInstanceProxy::rendererType):
1663         (WebKit::NetscapePluginInstanceProxy::setRendererType):
1664         (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply):
1665         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1666         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
1667         Replace the useSoftwareRenderer boolean everywhere with the RendererType enum.
1668         
1669         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1670         (-[WebHostedNetscapePluginView createPlugin]):
1671         Only go into full compositing mode when the renderer type returned is UseAcceleratedCompositing.
1672         Otherwise, use a layer backed NSView.
1673
1674         * Plugins/Hosted/WebKitPluginHostTypes.h:
1675         Add a RendererType enum.
1676
1677 2010-05-06  Anders Carlsson  <andersca@apple.com>
1678
1679         Reviewed by Darin Adler and Dan Bernstein..
1680
1681         REGRESSION (r51617): when plugins are disabled, plugins show up as garbage characters
1682         https://bugs.webkit.org/show_bug.cgi?id=38698
1683         <rdar://problem/7942075>
1684
1685         When the plug-in database is initialized, we will register all the MIME types it supports with the global
1686         WebView dictionary. When plug-ins are disabled for a single web view, the MIME types still need to be 
1687         in the global mapping (because other web views might still have plug-ins enabled).
1688         
1689         Prior to r51617 we would always look at the plug-in database to determine that the MIME type belongs to a 
1690         plug-in, but now we won't even touch the plug-in database when plug-ins are disabled.
1691         
1692         In order to fix this, a new set of registered MIME types that are known to be plug-ins is added. When
1693         +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:] is called and allowingPlugins is FALSE
1694         we check if the MIME type is a known plug-in MIME type and return false in that case.
1695         
1696         * Plugins/WebPluginDatabase.mm:
1697         (-[WebPluginDatabase refresh]):
1698         (-[WebPluginDatabase _removePlugin:]):
1699         * WebView/WebView.mm:
1700         (knownPluginMIMETypes):
1701         (+[WebView _registerPluginMIMEType:]):
1702         (+[WebView _unregisterPluginMIMEType:]):
1703         (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
1704         * WebView/WebViewInternal.h:
1705
1706 2010-05-06  Dan Bernstein  <mitz@apple.com>
1707
1708         Reviewed by Simon Fraser.
1709
1710         <rdar://problem/7951285> REGRESSION (r58847): Composited iframe content obscures Safari's application chrome
1711
1712         Fixed this other regression from r58847. The regression was caused by overriding -visibleRect to
1713         return the WebClipView’s full bounds. AppKit uses -visibleRect to determine the geometry
1714         of the surface for the child WebFrameView. The fix is to restrict the special behavior of
1715         -[WebClipView visibleRect] to when AppKit is consulting it for the purpose of invalidating
1716         areas while scrolling.
1717
1718         * WebView/WebClipView.h:
1719         * WebView/WebClipView.mm:
1720         (-[WebClipView visibleRect]): If the WebClipView is not scrolling, always return
1721         [super visibleRect]. 
1722         (-[WebClipView _immediateScrollToPoint:]): Override this internal NSClipView method
1723         to set a flag telling -visibleRect that the view is scrolling.
1724         * WebView/WebView.mm:
1725         (layerSyncRunLoopObserverCallBack): Ensure that screen updates, disabled by AppKit
1726         when it thinks an upcoming window flush will re-enable them, are enabled here in
1727         case the -setNeedsDisplayInRect: override has prevented the window from needing to be
1728         flushed.
1729
1730 2010-05-06  Steve Block  <steveblock@google.com>
1731
1732         Reviewed by Eric Seidel.
1733
1734         MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
1735         https://bugs.webkit.org/show_bug.cgi?id=38544
1736
1737         * WebCoreSupport/WebFrameLoaderClient.h:
1738         * WebCoreSupport/WebFrameLoaderClient.mm:
1739
1740 2010-05-05  Dan Bernstein  <mitz@apple.com>
1741
1742         Reviewed by Mark Rowe.
1743
1744         Fixed a crash when closing Top Sites after r58847.
1745
1746         * WebView/WebFrameView.mm:
1747         (-[WebFrameView webFrame]): Null-check _private.
1748
1749 2010-05-05  Dan Bernstein  <mitz@apple.com>
1750
1751         Rubber-stamped by Mark Rowe.
1752
1753         Fixed test crashes after r58847.
1754
1755         * WebView/WebHTMLView.mm:
1756         (setNeedsDisplayInRect): Null-check the frame.
1757
1758 2010-05-05  Dan Bernstein  <mitz@apple.com>
1759
1760         Reviewed by Simon Fraser.
1761
1762         <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
1763         https://bugs.webkit.org/show_bug.cgi?id=38427
1764
1765         * WebView/WebClipView.m: Renamed to WebClipView.mm.
1766         * WebView/WebClipView.mm:
1767         (-[WebClipView visibleRect]): Added this override, which for instances used for WebFrameViews in
1768         composited layers, returns the clip view’s entire bounds. This prevents drawing from being clipped to
1769         AppKit’s idea of what part of the view would be visible if it was drawn as part of the view hierarchy.
1770         Since it is drawn into a compositing layer, that’s irrelevant, and we should not be clipping.
1771         * WebView/WebHTMLView.mm:
1772         (setCursor): Style tweak.
1773         (setNeedsDisplayInRect): Added. Replaces the default implementation of -[NSView setNeedsDisplayInRect:],
1774         so that if the receiver is a descendant of a WebFrameView that draws into a composited layer, the invalidation
1775         is routed back through the WebCore FrameView, which propagates it to the layer.
1776         (+[WebHTMLViewPrivate initialize]): Swizzle the setNeedsDisplayInRect: override in.
1777         (-[WebHTMLView visibleRect]): Removed whitespace.
1778         * WebView/WebView.mm:
1779         (layerSyncRunLoopObserverCallBack): If we bailed out on syncing, due to pending layout, do an eager layout
1780         in preparation for the displaying of compositing layers.
1781
1782 2010-05-05  John Sullivan  <sullivan@apple.com>
1783
1784         <rdar://problem/7942606> Output appears in Console when exiting Safari with multiple windows opened
1785
1786         Reviewed by Mark Rowe.
1787
1788         * WebView/WebView.mm:
1789         (+[WebView closeAllWebViews]):
1790         Make copy of allWebViewsSet to avoid mutating it while iterating through it.
1791
1792 2010-05-04  Simon Fraser  <simon.fraser@apple.com>
1793
1794         Reviewed by Dan Bernstein.
1795
1796         Improve check for drawing into the window that was added in r58623
1797         https://bugs.webkit.org/show_bug.cgi?id=38562
1798         
1799         Rather than assuming that any non-bitmap context is the window's context,
1800         compare the current graphics context with -[NSWindow graphicsContext] to
1801         determine that we're drawing into the window.
1802
1803         * WebView/WebHTMLView.mm:
1804         (-[WebHTMLView drawRect:]):
1805
1806 2010-05-04  Ada Chan  <adachan@apple.com>
1807
1808         Reviewed by David Kilzer.
1809
1810         https://bugs.webkit.org/show_bug.cgi?id=38555
1811         
1812         Small code refactoring: move the logic to figure out the path to the 
1813         databases directory to another method.
1814
1815         * Storage/WebDatabaseManager.mm:
1816         (databasesDirectoryPath):
1817         (WebKitInitializeDatabasesIfNecessary):
1818
1819 2010-05-04  Beth Dakin  <bdakin@apple.com>
1820
1821         Reviewed by Mike Thole.
1822
1823         Fix for <rdar://problem/7818509> Crash occurs when exiting Safari
1824
1825         We can avoid this crash if we call [self _removeFromAllWebViewsSet] 
1826         even in the case when we are doing a fastDocumentTeardown. This is 
1827         a much safer approach.
1828         * WebView/WebView.mm:
1829         (-[WebView _close]):
1830
1831 2010-05-03  Abhishek Arya  <inferno@chromium.org>
1832
1833         Reviewed by Adam Barth.
1834
1835         Add support for controlling clipboard access from javascript.
1836         Clipboard access from javascript is disabled by default.
1837         https://bugs.webkit.org/show_bug.cgi?id=27751
1838
1839         * WebView/WebPreferenceKeysPrivate.h:
1840         * WebView/WebPreferences.mm:
1841         (+[WebPreferences initialize]):
1842         (-[WebPreferences javaScriptCanAccessClipboard]):
1843         (-[WebPreferences setJavaScriptCanAccessClipboard:]):
1844         * WebView/WebPreferencesPrivate.h:
1845         * WebView/WebView.mm:
1846         (-[WebView _preferencesChangedNotification:]):
1847
1848 2010-05-03  Jens Alfke  <snej@chromium.org>
1849
1850         Reviewed by Darin Fisher.
1851
1852         [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
1853         https://bugs.webkit.org/show_bug.cgi?id=38397
1854
1855         No tests (functionality is exposed only through native WebKit API.)
1856
1857         * WebCoreSupport/WebFrameLoaderClient.h:
1858         (WebFrameLoaderClient::dispatchWillSendSubmitEvent):
1859
1860 2010-04-30  Simon Fraser  <simon.fraser@apple.com>
1861
1862         Reviewed by Dan Bernstein.
1863
1864         <rdar://problem/7477071> REGRESSION: Bad flicker when wheel-scrolling Google Maps, iPad gallery and other sites
1865
1866         Sites that frequently toggle content in and out of compositing layers (like http://www.tumblr.com/boothed)
1867         can cause flickering because of unsychronized compositing layer and view-based updates. There were two
1868         underlying issues:
1869         
1870         1. On SnowLeopard, AppKit can throttle window updates, thus breaking an assumption that
1871            NSView drawing will happen on the runloop cycle after a repaint. This provided a window
1872            for the layerSyncRunLoopObserver to fire and commit layer changes too early.
1873            
1874            Fix this by having the layerSyncRunLoopObserver in WebView check to see if a display is pending,
1875            and not commit layer changes in that case. We'll commit layer changes later when we
1876            finally draw.
1877            
1878         2. The change in r49269 was wrong; it was attempting to fix an issue that was actually caused
1879            by -drawRects: coming in for page snapshots. The correct approach is to avoid hitting the
1880            synchronization and update disabling code in WebHTMLView for draws that are not to the screen.
1881         
1882         * WebView/WebHTMLView.mm:
1883         (-[WebHTMLView drawRect:]):
1884         * WebView/WebView.mm:
1885         (layerSyncRunLoopObserverCallBack):
1886         (-[WebView _scheduleCompositingLayerSync]):
1887
1888 2010-04-30  Anders Carlsson  <andersca@apple.com>
1889
1890         Part of the previous part (forgot to save).
1891
1892         * Plugins/WebNetscapePluginView.mm:
1893         (-[WebNetscapePluginView stopTimers]):
1894         (-[WebNetscapePluginView startTimers]):
1895         (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
1896         (-[WebNetscapePluginView _containerCheckResult:contextInfo:]):
1897         (-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]):
1898         (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
1899         (-[WebNetscapePluginView unscheduleTimer:]):
1900         (-[WebNetscapePluginView getVariable:forURL:value:length:]):
1901         (-[WebNetscapePluginView setVariable:forURL:value:length:]):
1902
1903 2010-04-30  Anders Carlsson  <andersca@apple.com>
1904
1905         Reviewed by Darin Adler.
1906
1907         Use C99 integer types in more places.
1908
1909         * Plugins/WebNetscapePluginView.mm:
1910         (getNPRect):
1911
1912 2010-04-30  Anders Carlsson  <andersca@apple.com>
1913
1914         Fix Tiger build.
1915
1916         * Plugins/WebBaseNetscapePluginStream.h:
1917         * Plugins/WebBaseNetscapePluginStream.mm:
1918         (WebNetscapePluginStream::startStream):
1919
1920 2010-04-30  Anders Carlsson  <andersca@apple.com>
1921
1922         Another 32-bit build fix.
1923
1924         * Plugins/WebNetscapePluginView.mm:
1925         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1926
1927 2010-04-30  Anders Carlsson  <andersca@apple.com>
1928
1929         Fix 32-bit build (again).
1930
1931         * Plugins/WebNetscapeContainerCheckContextInfo.h:
1932         * Plugins/WebNetscapeContainerCheckContextInfo.mm:
1933         (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
1934         (-[WebNetscapeContainerCheckContextInfo checkRequestID]):
1935         (-[WebNetscapeContainerCheckContextInfo callback]):
1936         * Plugins/WebNetscapePluginPackage.h:
1937
1938 2010-04-30  Anders Carlsson  <andersca@apple.com>
1939
1940         Fix 32-bit build.
1941
1942         * Plugins/WebNetscapeContainerCheckContextInfo.h:
1943         * Plugins/WebNetscapeContainerCheckContextInfo.mm:
1944         (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
1945         * Plugins/WebNetscapeContainerCheckPrivate.h:
1946         * Plugins/WebNetscapePluginPackage.mm:
1947         (functionPointerForTVector):
1948         * Plugins/WebNetscapePluginView.mm:
1949         (PluginTimer::PluginTimer):
1950         (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
1951         (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
1952
1953 2010-04-30  Anders Carlsson  <andersca@apple.com>
1954
1955         Reviewed by Timothy Hatcher.
1956
1957         Next step towards fixing
1958         
1959         https://bugs.webkit.org/show_bug.cgi?id=20784
1960         move npapi.h to C99 integer types
1961
1962         Use the C99 types everywhere. The "old" types are still around but will be removed
1963         in a subsequent commit.
1964
1965         * Plugins/WebBaseNetscapePluginStream.h:
1966         * Plugins/WebBaseNetscapePluginStream.mm:
1967         (WebNetscapePluginStream::deliverData):
1968         * Plugins/WebNetscapePluginView.h:
1969         * Plugins/WebNetscapePluginView.mm:
1970         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1971         (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
1972         * Plugins/npapi.mm:
1973         (NPN_MemAlloc):
1974         (NPN_MemFlush):
1975         (NPN_PostURLNotify):
1976         (NPN_PostURL):
1977         (NPN_Write):
1978         (NPN_ScheduleTimer):
1979         (NPN_UnscheduleTimer):
1980         (NPN_GetValueForURL):
1981         (NPN_SetValueForURL):
1982         (NPN_GetAuthenticationInfo):
1983         (WKN_CheckIfAllowedToLoadURL):
1984         (WKN_CancelCheckIfAllowedToLoadURL):
1985
1986 2010-04-29  Anders Carlsson  <andersca@apple.com>
1987
1988         Reviewed by Dan Bernstein.
1989
1990         First part of
1991         https://bugs.webkit.org/show_bug.cgi?id=20784
1992         move npapi.h to C99 integer types.
1993
1994         * MigrateHeaders.make:
1995
1996 2010-04-28  Mike Thole  <mthole@apple.com>
1997
1998         Reviewed by David Kilzer.
1999
2000         Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space 
2001         can be inspected before attempting to authenticate against it
2002         https://bugs.webkit.org/show_bug.cgi?id=38271
2003
2004         * WebCoreSupport/WebFrameLoaderClient.h:
2005         * WebCoreSupport/WebFrameLoaderClient.mm:
2006         (WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
2007         Added.  If the resource load delegate implements the callback, use its answer.  If it does
2008         not, then only send authentication challenges for pre-10.6 protection spaces, which matches
2009         CFNetwork's default behavior.
2010         * WebView/WebDelegateImplementationCaching.h:
2011         * WebView/WebDelegateImplementationCaching.mm:
2012         (CallResourceLoadDelegateReturningBoolean): Added case for passing three objects.
2013         * WebView/WebResourceLoadDelegatePrivate.h:
2014         Added private SPI definition: webView:resource:canAuthenticateAgainstProtectionSpace:forDataSource:
2015         * WebView/WebView.mm:
2016         (-[WebView _cacheResourceLoadDelegateImplementations]):
2017
2018 2010-04-28  Simon Fraser  <simon.fraser@apple.com>
2019
2020         Reviewed by Sam Weinig.
2021
2022         <rdar://problem/7918719> ASSERT(isMainThread()) from Font::setShouldUseSmoothing()
2023         
2024         Ensure that the WebView +initialize method initializes threading, so that things are correctly
2025         initialized when the first call into the WebKit framework is via a WebView class method.
2026
2027         * WebView/WebView.mm:
2028         (+[WebView initialize]):
2029
2030 2010-04-28  Darin Adler  <darin@apple.com>
2031
2032         Reviewed by Adele Peterson.
2033
2034         REGRESSION: Autoscroll does not work in Mail messages
2035         https://bugs.webkit.org/show_bug.cgi?id=38267
2036         rdar://problem/7559799
2037
2038         The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
2039         view had gotten broken in multiple ways. For some reason, a combination of bugs made it
2040         partly work until around r48064. This brings it back.
2041
2042         * WebCoreSupport/WebChromeClient.mm:
2043         (WebChromeClient::scrollRectIntoView): When converting coordinates, use the document view
2044         rather than the WebView itself. This logic may not be correct for the case where
2045         usesDocumentViews is NO, but that is currently an experimental mode and can be fixed later.
2046
2047 2010-04-27  Shinichiro Hamaji  <hamaji@chromium.org>
2048
2049         Reviewed by Darin Adler and Eric Seidel.
2050
2051         Add layoutTestController.setPrinting()
2052         https://bugs.webkit.org/show_bug.cgi?id=37203
2053
2054         * Misc/WebCoreStatistics.h:
2055         * Misc/WebCoreStatistics.mm:
2056         (-[WebFrame renderTreeAsExternalRepresentationForPrinting:]):
2057
2058 2010-04-25  Sam Weinig  <sam@webkit.org>
2059
2060         Reviewed by Maciej Stachowiak.
2061
2062         Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
2063         Disentangle initializing the main thread from initializing threading
2064
2065         Calls initializeMainThreadToProcessMainThread since there is no way to ensure
2066         that the initialize method will be called on the main thread.
2067
2068         * Carbon/CarbonWindowAdapter.mm:
2069         (+[CarbonWindowAdapter initialize]): Add call to initializeMainThreadToProcessMainThread.
2070         * History/WebBackForwardList.mm:
2071         (+[WebBackForwardList initialize]): Ditto.
2072         * History/WebHistoryItem.mm:
2073         (+[WebHistoryItem initialize]): Ditto.
2074         * Misc/WebElementDictionary.mm:
2075         (+[WebElementDictionary initialize]): Ditto.
2076         * Misc/WebIconDatabase.mm:
2077         (+[WebIconDatabase initialize]): Ditto.
2078         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2079         (+[WebHostedNetscapePluginView initialize]): Ditto.
2080         * Plugins/WebBaseNetscapePluginView.mm:
2081         (+[WebBaseNetscapePluginView initialize]): Ditto.
2082         * Plugins/WebBasePluginPackage.mm:
2083         (+[WebBasePluginPackage initialize]): Ditto.
2084         * Plugins/WebNetscapePluginView.mm:
2085         (+[WebNetscapePluginView initialize]): Ditto.
2086         * WebCoreSupport/WebEditorClient.mm:
2087         (+[WebEditCommand initialize]): Ditto.
2088         * WebCoreSupport/WebFrameLoaderClient.mm: 
2089         (+[WebFramePolicyListener initialize]): Ditto.
2090         * WebView/WebArchive.mm:
2091         (+[WebArchivePrivate initialize]): Ditto.
2092         * WebView/WebDataSource.mm:
2093         (+[WebDataSourcePrivate initialize]): Ditto.
2094         * WebView/WebHTMLView.mm:
2095         (+[WebHTMLViewPrivate initialize]): Ditto.
2096         (+[WebHTMLView initialize]): Ditto.
2097         * WebView/WebResource.mm:
2098         (+[WebResourcePrivate initialize]): Ditto.
2099         * WebView/WebTextIterator.mm:
2100         (+[WebTextIteratorPrivate initialize]): Ditto.
2101         * WebView/WebView.mm:
2102         * WebView/WebViewData.mm: Ditto.
2103         (+[WebViewPrivate initialize]): Ditto.
2104
2105 2010-04-24  Dan Bernstein  <mitz@apple.com>
2106
2107         Reviewed by Darin Adler.
2108
2109         <rdar://problem/7903728> REGRESSION (r51617): WebView fails to load plug-in MIME types
2110         https://bugs.webkit.org/show_bug.cgi?id=38085
2111
2112         WebView was calling -_webView in a few places where it should have just used itself. It never
2113         makes sense for WebView to call -_webView on itself, and these calls look like they were copied
2114         from similar code in WebHTMLView, WebFrameView and WebDataSource, where -_webView has a different,
2115         useful meaning.
2116
2117         * WebView/WebView.mm:
2118         (-[WebView drawSingleRect:]): Replaced [self _webView] with self.
2119         (-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Replaced [[self _webView] preferences]
2120         with _private->preferences.
2121         (-[WebView _canShowMIMEType:]): Ditto.
2122
2123 2010-04-23  Simon Fraser  <simon.fraser@apple.com>
2124
2125         Reviewed by Anders Carlsson.
2126
2127         <rdar://problem/7894489> When printing Flash, send a drawRect event, rather than NPPrint
2128         
2129         When printing Flash plug-ins in 32-bit, send a drawRect event with a CGContextRef, rather than calling
2130         NPPrint with a GWorldPtr, since Flash prefers the CGContext path.
2131
2132         * Plugins/WebNetscapePluginView.mm:
2133         (-[WebNetscapePluginView drawRect:]):
2134
2135 2010-04-22  David Kilzer  <ddkilzer@apple.com>
2136
2137         <http://webkit.org/b/38029> +[WebTextIteratorPrivate initialize] is missing call to JSC::initializeThreading()
2138
2139         Reviewed by Timothy Hatcher.
2140
2141         Every other Objective-C class that calls
2142         WebCoreObjCFinalizeOnMainThread(self) in +initialize also calls
2143         JSC::initializeThreading().  The WebTextIteratorPrivate class
2144         was the only one missing this call.
2145
2146         * WebView/WebTextIterator.mm:
2147         (+[WebTextIteratorPrivate initialize]): Added call to
2148         JSC::initializeThreading().
2149
2150 2010-04-22  Alexey Proskuryakov  <ap@apple.com>
2151
2152         Rubber-stamped by Mark Rowe.
2153
2154         <rdar://problem/7805969> REGRESSION: iTunes unable to play trailers
2155
2156         Undo the changes made for https://bugs.webkit.org/show_bug.cgi?id=35215 (<rdar://problem/7673157>)
2157         for now. Clients rely on the old behavior, so a fix that changes it will need to account for
2158         those.
2159
2160         * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Pass pluginURL
2161         instead of baseURL again.
2162
2163 2010-04-22  Dave Moore  <davemoore@chromium.org>
2164
2165         Reviewed by Dimitri Glazkov.
2166
2167         Added notification when the favicons for a page are changed
2168         from a script.
2169         The Document object will notify the frame loader, which will
2170         notify the client. Implementations of FrameLoaderClient will
2171         have to add one method; dispatchDidChangeIcons().
2172
2173         https://bugs.webkit.org/show_bug.cgi?id=33812
2174
2175         * WebCoreSupport/WebFrameLoaderClient.h:
2176         * WebCoreSupport/WebFrameLoaderClient.mm:
2177         (WebFrameLoaderClient::dispatchDidChangeIcons):
2178
2179 2010-04-22  Adam Barth  <abarth@webkit.org>
2180
2181         Unreviewed, rolling out r58069.
2182         http://trac.webkit.org/changeset/58069
2183         https://bugs.webkit.org/show_bug.cgi?id=27751
2184
2185         Broke compile on Windows.
2186
2187         * WebView/WebPreferenceKeysPrivate.h:
2188         * WebView/WebPreferences.mm:
2189         (+[WebPreferences initialize]):
2190         * WebView/WebPreferencesPrivate.h:
2191         * WebView/WebView.mm:
2192         (-[WebView _preferencesChangedNotification:]):
2193
2194 2010-04-22  Abhishek Arya  <inferno@chromium.org>
2195
2196         Reviewed by Adam Barth.
2197
2198         Add support for controlling clipboard access from javascript.
2199         Clipboard access from javascript is disabled by default.
2200         https://bugs.webkit.org/show_bug.cgi?id=27751
2201
2202         * WebView/WebPreferenceKeysPrivate.h:
2203         * WebView/WebPreferences.mm:
2204         (+[WebPreferences initialize]):
2205         (-[WebPreferences javaScriptCanAccessClipboard]):
2206         (-[WebPreferences setJavaScriptCanAccessClipboard:]):
2207         * WebView/WebPreferencesPrivate.h:
2208         * WebView/WebView.mm:
2209         (-[WebView _preferencesChangedNotification:]):
2210
2211 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
2212
2213         Reviewed by Shinichiro Hamaji.
2214
2215         https://bugs.webkit.org/show_bug.cgi?id=37964
2216         Fix a typo in comments - Korean encoding name is windows-949, not windows-939
2217
2218         * WebView/WebPreferences.mm: (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):
2219
2220 2010-04-21  Mark Rowe  <mrowe@apple.com>
2221
2222         Tiger build fix.
2223
2224         * Plugins/WebPluginController.mm: Add an #import that is necessary on Tiger.
2225
2226 2010-04-21  Mark Rowe  <mrowe@apple.com>
2227
2228         Reviewed by Eric Carlson.
2229
2230         <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
2231
2232         Existing versions of the Flip4Mac WebKit plug-in have an object lifetime bug related to an NSAlert that is
2233         used to notify the user about updates to the plug-in. This bug can result in Safari crashing if the page
2234         containing the plug-in navigates while the alert is displayed (<rdar://problem/7313430>).
2235
2236         The gist of the bug is thus: Flip4Mac sets an instance of the TSUpdateCheck class as the modal delegate of the
2237         NSAlert instance. This TSUpdateCheck instance itself has a delegate. The delegate is set to the WmvPlugin
2238         instance which is the NSView subclass that is exposed to WebKit as the plug-in view. Since this relationship
2239         is that of delegates the TSUpdateCheck does not retain the WmvPlugin. This leads to a bug if the WmvPlugin
2240         instance is destroyed before the TSUpdateCheck instance as the TSUpdateCheck instance will be left with a
2241         pointer to a stale object. This will happen if a page containing the Flip4Mac plug-in triggers a navigation
2242         while the update sheet is visible as the WmvPlugin instance is removed from the view hierarchy and there are
2243         no other references to keep the object alive.
2244
2245         We work around this bug by patching the following two messages:
2246
2247         1) -[NSAlert beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:]
2248         2) -[TSUpdateCheck alertDidEnd:returnCode:contextInfo:]
2249
2250         Our override of 1) detects whether it is Flip4Mac's update sheet triggering the alert by checking whether the
2251         modal delegate is an instance of TSUpdateCheck. If it is, it retains the modal delegate's delegate.
2252
2253         Our override of 2) then autoreleases the delegate, balancing the retain we added in 1).
2254
2255         These two overrides have the effect of ensuring that the WmvPlugin instance will always outlive the TSUpdateCheck
2256         instance, preventing the TSUpdateCheck instance from accessing a stale delegate pointer and crashing the application.
2257
2258         * Plugins/WebPluginController.mm:
2259         (-[WebPluginController addPlugin:]): Check whether the plug-in being instantiated is the Flip4Mac plug-in and
2260         install our workaround if it is.
2261         (isKindOfClass): Helper function that checks whether the given object is an instance of the named class.
2262         (WebKit_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_): Autorelease the delegate.
2263         (WebKit_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_): Retain the modal delegate's
2264         delegate if this NSAlert belongs to the Flip4Mac plug-in.
2265         (installFlip4MacPlugInWorkaroundIfNecessary): Swizzle the necessary methods.  We swizzle the TSUpdateCheck methods
2266         first since it is possible that in some versions of Flip4Mac the TSUpdateCheck class may not exist or may not have
2267         the method we're interested in.  In that case we want to bail out before patching any methods.
2268
2269 2010-04-20  Mark Rowe  <mrowe@apple.com>
2270
2271         Reviewed by Maciej Stachowiak.
2272
2273         <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
2274
2275         An interaction between the plug-in host and WebKit was resulting in WKPCSetModal being called while
2276         NetscapePluginInstanceProxy was waiting on a reply to the GetScriptableNPObject message. This resulted
2277         in calls to stop the plug-in being deferred due to the presence of plug-in code up the stack.  This
2278         could lead to crashes as it was possible for the plug-in view to be deallocated during the modal runloop.
2279
2280         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2281         (WKPCInvalidateRect):
2282         (WKPCSetModal): Defer the handling of setModal until the next runloop iteration if the host proxy
2283         is already processing requests.  This ensures that there will be no plug-in code on the stack when
2284         the modal runloop is entered, which allows the plug-in to be stopped when the page is navigated while
2285         a modal dialog is displayed.
2286
2287 2010-04-20  Adam Barth  <abarth@webkit.org>
2288
2289         Reviewed by Eric Seidel.
2290
2291         Factor DocumentWriter out of FrameLoader
2292         https://bugs.webkit.org/show_bug.cgi?id=37175
2293
2294         Update these callsites because the method moved to DocumentWriter.
2295
2296         * WebView/WebFrame.mm:
2297         (-[WebFrame _canProvideDocumentSource]):
2298         (-[WebFrame _receivedData:textEncodingName:]):
2299
2300 2010-04-20  Kent Tamura  <tkent@chromium.org>
2301
2302         Reviewed by Darin Adler.
2303
2304         Change a parameter type of chooseIconForFiles()
2305         https://bugs.webkit.org/show_bug.cgi?id=37504
2306
2307         * WebCoreSupport/WebChromeClient.h:
2308         * WebCoreSupport/WebChromeClient.mm:
2309         (WebChromeClient::chooseIconForFiles):
2310
2311 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2312
2313         Unreviewed, rolling out r57892.
2314         http://trac.webkit.org/changeset/57892
2315         https://bugs.webkit.org/show_bug.cgi?id=37864
2316
2317         Caused an assertion in Mac builds (Requested by smfr on
2318         #webkit).
2319
2320         * WebView/WebFrame.mm:
2321         (-[WebFrame _getVisibleRect:]):
2322         * WebView/WebFrameView.mm:
2323         (-[WebFrameView _install]):
2324
2325 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
2326
2327         Reviewed by Dan Bernstein.
2328
2329         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
2330         https://bugs.webkit.org/show_bug.cgi?id=37741
2331         
2332         Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
2333         RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
2334
2335         * WebView/WebFrame.mm:
2336         (-[WebFrame _getVisibleRect:]):
2337         * WebView/WebFrameView.mm:
2338         (-[WebFrameView _install]):
2339
2340 2010-04-19  Dan Bernstein  <mitz@apple.com>
2341
2342         Reviewed by Sam Weinig.
2343
2344         Finish exposing extremal shrink factors WebHTMLView uses when shrinking pages to fit in the
2345         printing width as SPI.
2346
2347         * WebKit.exp: Export _WebHTMLViewPrintingMinimumShrinkFactor and _WebHTMLViewPrintingMaximumShrinkFactor.
2348
2349 2010-04-15  Gavin Barraclough  <barraclough@apple.com>
2350
2351         Reviewed by Sam Weinig & Oliver Hunt.
2352
2353         https://bugs.webkit.org/show_bug.cgi?id=37675
2354         Remove casts/constructors to/from JSC::UString type from WebCore::String
2355         
2356         WebCore's strings should not know about JSC::UString, this should be abstracted
2357         away in the bindings.  Add explicit conversion methods rather than relying on
2358         overloaded cast operators / constructors being implicitly called.
2359
2360         This patch only changes the class String, once this has landed StringImpl, and
2361         hopefully AtomicString too, should follow suit.
2362
2363         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2364         (identifierFromIdentifierRep):
2365         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2366         (WebKit::NetscapePluginInstanceProxy::addValueToArray):
2367         (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
2368         * Plugins/Hosted/ProxyInstance.mm:
2369         (WebKit::ProxyInstance::getPropertyNames):
2370         * WebView/WebFrame.mm:
2371         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2372         (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
2373         * WebView/WebScriptDebugDelegate.mm:
2374         (-[WebScriptCallFrame evaluateWebScript:]):
2375         * WebView/WebScriptDebugger.mm:
2376         (toNSURL):
2377         * WebView/WebView.mm:
2378         (aeDescFromJSValue):
2379
2380 2010-04-16  Dan Bernstein  <mitz@apple.com>
2381
2382         Reviewed by John Sullivan.
2383
2384         Expose the extremal shrink factors WebHTMLView uses when shrinking pages to fit in the
2385         printing width as SPI.
2386
2387         * WebView/WebHTMLView.mm:
2388         Replaced two macros with constants.
2389         (-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Changed to use the constants.
2390         (-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto.
2391         * WebView/WebHTMLViewPrivate.h: Declared _WebHTMLViewPrintingMinimumShrinkFactor and
2392         _WebHTMLViewPrintingMaximumShrinkFactor.
2393
2394 2010-04-15  Mark Rowe  <mrowe@apple.com>
2395
2396         Reviewed by Sam Weinig.
2397
2398         <rdar://problem/7870651> WebDynamicScrollBarsView.h generates compile errors when included in plain Objective-C files.
2399
2400         * WebView/WebDynamicScrollBarsView.h:
2401
2402 2010-04-15  Adam Roben  <aroben@apple.com>
2403
2404         Export WebUserContentURLPattern from WebKit
2405
2406         Rubber-stamped by Mark Rowe.
2407
2408         * WebKit.exp:
2409
2410 2010-04-15  Dan Bernstein  <mitz@apple.com>
2411
2412         Reviewed by Simon Fraser.
2413
2414         Made consecutive calls to -[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:] work
2415         without intermediate calls -[WebHTMLView _endPrintMode].
2416
2417         * WebView/WebHTMLView.mm:
2418         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
2419
2420 2010-04-15  Adam Roben  <aroben@apple.com>
2421
2422         Expose UserContentURLPattern as WebKit SPI
2423
2424         Fixes <http://webkit.org/b/37354>.
2425
2426         Reviewed by Tim Hatcher.
2427
2428         * Misc/WebUserContentURLPattern.h: Added.
2429
2430         * Misc/WebUserContentURLPattern.mm: Added.
2431         (-[WebUserContentURLPattern initWithPatternString:]): Initialize
2432         _private and then parse the passed-in string into a
2433         UserContentURLPattern.
2434         (-[WebUserContentURLPattern dealloc]): Release _private.
2435
2436         (-[WebUserContentURLPattern isValid]):
2437         (-[WebUserContentURLPattern scheme]):
2438         (-[WebUserContentURLPattern host]):
2439         (-[WebUserContentURLPattern matchesSubdomains]):
2440         Call through to UserContentURLPattern.
2441
2442 2010-04-13  Geoffrey Garen  <ggaren@apple.com>
2443
2444         Reviewed by Oliver Hunt.
2445
2446         Separated a DOMWrapperWorld's behavior of keeping wrappers alive from
2447         its own lifetime, so a DOMWrapperWorld's controller can throw away
2448         its wrappers even before its refcount reaches 0.
2449
2450         * WebView/WebScriptWorld.h:
2451         * WebView/WebScriptWorld.mm:
2452         (-[WebScriptWorld unregisterWorld]): Exported this function through WebKit.
2453
2454 2010-04-12  Timothy Hatcher  <timothy@apple.com>
2455
2456         SecurityOrigin needs a way to remove individual OriginAccessEntries
2457         https://bugs.webkit.org/show_bug.cgi?id=37449
2458
2459         Reviewed by Dave Hyatt.
2460
2461         * WebView/WebView.mm:
2462         (+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
2463         Call SecurityOrigin::removeOriginAccessWhitelistEntry.
2464         * WebView/WebViewPrivate.h: Added _removeOriginAccessWhitelistEntryWithSourceOrigin.
2465
2466 2010-04-13  Timothy Hatcher  <timothy@apple.com>
2467
2468         Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
2469         And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
2470
2471         SecurityOrigin needs a way to remove individual OriginAccessEntries
2472         https://bugs.webkit.org/show_bug.cgi?id=37449
2473
2474         Reviewed by Dave Hyatt.
2475
2476         * WebView/WebView.mm:
2477         (+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
2478         (+[WebView _resetOriginAccessWhitelists]):
2479         * WebView/WebViewPrivate.h:
2480
2481 2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2482
2483         Unreviewed, rolling out r57468.
2484         http://trac.webkit.org/changeset/57468
2485         https://bugs.webkit.org/show_bug.cgi?id=37433
2486
2487         Broke the world...  Must have applied the patch wrong
2488         (Requested by abarth on #webkit).
2489
2490         * WebView/WebFrame.mm:
2491         (-[WebFrame _canProvideDocumentSource]):
2492         (-[WebFrame _receivedData:textEncodingName:]):
2493
2494 2010-04-11  Adam Barth  <abarth@webkit.org>
2495
2496         Reviewed by Eric Seidel.
2497
2498         Factor DocumentWriter out of FrameLoader
2499         https://bugs.webkit.org/show_bug.cgi?id=37175
2500
2501         Update these callsites because the method moved to DocumentWriter.
2502
2503         * WebView/WebFrame.mm:
2504         (-[WebFrame _canProvideDocumentSource]):
2505         (-[WebFrame _receivedData:textEncodingName:]):
2506
2507 2010-04-10  Mark Rowe  <mrowe@apple.com>
2508
2509         Reviewed by Dan Bernstein.
2510
2511         <rdar://problem/7845305> Further adoption of formal protocols for delegates.
2512
2513         Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places.
2514
2515         * Misc/EmptyProtocolDefinitions.h: Removed.
2516         * Misc/WebDownload.mm:
2517         * WebKitPrefix.h:
2518
2519 2010-04-09  Jer Noble  <jer.noble@apple.com>
2520
2521         Reviewed by Darin Adler.
2522
2523         Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead.
2524         https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993>
2525
2526         * WebView/WebVideoFullscreenController.mm:
2527         (-[WebVideoFullscreenController windowDidLoad]):
2528         (-[WebVideoFullscreenController setMediaElement:WebCore::]):
2529
2530 2010-04-09  Alexey Proskuryakov  <ap@apple.com>
2531
2532         Reviewed by Maciej Stachowiak.
2533
2534         https://bugs.webkit.org/show_bug.cgi?id=24572
2535         XMLHttpRequest.statusText returns always "OK" on Mac
2536
2537         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
2538
2539 2010-04-09  Eric Seidel  <eric@webkit.org>
2540
2541         Unreviewed, rolling out r57343.
2542         http://trac.webkit.org/changeset/57343
2543         https://bugs.webkit.org/show_bug.cgi?id=37311
2544
2545         Broke Tiger compile.
2546
2547         * WebView/WebVideoFullscreenController.mm:
2548         (-[WebVideoFullscreenController windowDidLoad]):
2549         (-[WebVideoFullscreenController setMediaElement:WebCore::]):
2550
2551 2010-04-09  Dan Bernstein  <mitz@apple.com>
2552
2553         Reviewed by Darin Adler.
2554
2555         <rdar://problem/7846015> REGRESSION (r57332) - Crash in [WebDynamicScrollBarsView(WebInternal) reflectScrolledClipView:] when opening the Downloads window
2556
2557         * WebView/WebDynamicScrollBarsView.mm:
2558         (-[WebDynamicScrollBarsView initWithCoder:]): Added. Calls super and then initializes _private.
2559
2560 2010-04-09  Jer Noble  <jer.noble@apple.com>
2561
2562         Reviewed by Darin Adler.
2563
2564         Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead.
2565         https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993>
2566
2567         * WebView/WebVideoFullscreenController.mm:
2568         (-[WebVideoFullscreenController windowDidLoad]):
2569         (-[WebVideoFullscreenController setMediaElement:WebCore::]):
2570
2571 2010-04-08  Mark Rowe  <mrowe@apple.com>
2572
2573         Reviewed by John Sullivan.
2574
2575         <rdar://problem/7814899> REGRESSION(r56008): iTunes crashes on quit inside -[NSScrollView dealloc]
2576
2577         In r56008 new instance variables were added to WebDynamicScrollBarsView, increasing its size.
2578         This causes problems for 32-bit applications that derive from WebDynamicScrollBarsView, as the
2579         size and layout of their subclasses is baked in at compile time.  This results in instances
2580         being allocated that are smaller than the new code expects, and may result in the new instance
2581         variables sharing the same memory space as any instance variables that the subclass defines.
2582
2583         We can avoid this problem by having the class contain only a single member that acts as a pointer
2584         to a heap-allocated structure that acts as storage for the real instance variables.  This makes
2585         us free to add instance variables in the future without risk of changing the size of the class.
2586         To ensure that 32-bit applications that are built against this new WebDynamicScrollBarsView header
2587         are able to run against older versions of WebKit we pad the class out to its previous size.  This
2588         results in any subclasses of WebDynamicScrollBarsView being created with a layout that is compatible
2589         with both versions of the code.
2590
2591         This change could potentially break a subclass of WebDynamicScrollBarsView that directly accesses
2592         instance variables of its superclass.  However, this is a private header and no known subclasses
2593         of WebDynamicScrollBarsView access superclass instance variables in this fashion.
2594
2595         * WebView/WebDynamicScrollBarsView.h:
2596         * WebView/WebDynamicScrollBarsView.mm:
2597         (-[WebDynamicScrollBarsView initWithFrame:]):
2598         (-[WebDynamicScrollBarsView dealloc]):
2599         (-[WebDynamicScrollBarsView finalize]):
2600         (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
2601         (-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]):
2602         (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
2603         (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
2604         (-[WebDynamicScrollBarsView horizontalScrollingAllowed]):
2605         (-[WebDynamicScrollBarsView verticalScrollingAllowed]):
2606         (-[WebDynamicScrollBarsView contentViewFrame]):
2607         (-[WebDynamicScrollBarsView tile]):
2608         (-[WebDynamicScrollBarsView setSuppressLayout:]):
2609         (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
2610         (-[WebDynamicScrollBarsView updateScrollers]):
2611         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
2612         (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
2613         (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
2614         (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]):
2615         (-[WebDynamicScrollBarsView horizontalScrollingMode]):
2616         (-[WebDynamicScrollBarsView verticalScrollingMode]):
2617         (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
2618         (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
2619         (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
2620         (-[WebDynamicScrollBarsView setScrollingModesLocked:]):
2621         (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
2622         (-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
2623         (-[WebDynamicScrollBarsView scrollWheel:]):
2624
2625 2010-04-07  David Hyatt  <hyatt@apple.com>
2626
2627         Reviewed by Oliver Hunt.
2628
2629         https://bugs.webkit.org/show_bug.cgi?id=24300, don't expose history info via CSS
2630
2631         Add SPI so that layout tests can access computed style including :visited information.
2632
2633         * WebView/WebRenderNode.mm:
2634         (copyRenderNode):
2635         * WebView/WebView.mm:
2636         (-[WebView _computedStyleIncludingVisitedInfo:forElement:]):
2637         * WebView/WebViewInternal.h:
2638         * WebView/WebViewPrivate.h:
2639
2640 2010-04-07  Dan Bernstein  <mitz@apple.com>
2641
2642         Reviewed by Adele Peterson.
2643
2644         Refactor WebHTMLView printing code and add private methods to enter and exit printing mode.
2645         https://bugs.webkit.org/show_bug.cgi?id=37246
2646
2647         * Misc/WebNSPrintOperationExtras.h: Declared -_web_availablePaperWidth and -_web_availablePaperHeight.
2648         * Misc/WebNSPrintOperationExtras.m:
2649         (-[NSPrintOperation _web_availablePaperWidth]): Turned -[WebHTMLView _availablePaperWidthForPrintOperation:]
2650         into this method.
2651         (-[NSPrintOperation _web_availablePaperHeight]): Turned -[WebHTMLView _calculatePrintHeight] into this
2652         method.
2653         * WebView/WebHTMLView.mm:
2654         (-[WebHTMLView _isInPrintMode]): Added this accessor.
2655         (-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Added. Moved the code from -knowsPageRange: that
2656         computes the layout widths and enters printing mode into this private method.
2657         (-[WebHTMLView _endPrintMode]): New private method (the old -_endPrintMode has been renamed).
2658         (-[WebHTMLView _scaleFactorForPrintOperation:]): Use -[NSPrintOperation _web_availablePaperWidth].
2659         (-[WebHTMLView _endPrintModeAndRestoreWindowAutodisplay]): Renamed -_endPrintMode to this, changed it to call
2660         _endPrintMode.
2661         (-[WebHTMLView _delayedEndPrintMode:]): Updated for rename.
2662         (-[WebHTMLView knowsPageRange:]): Use -_beginPrintModeWithPageWidth:shrintToFit:,
2663         -[NSPrintOperation _web_availablePaperWidth], and -[NSPrintOperation _web_availablePaperHeight]. Updated for
2664         rename.
2665         (-[WebHTMLView beginDocument]): Updated for rename.
2666         (-[WebHTMLView endDocument]): Ditto.
2667         * WebView/WebHTMLViewPrivate.h: Declared new private methods -_isInPrintMode,
2668         -_beginPrintModeWithPageWidth:shrinkToFit: and -_endPrintMode.
2669
2670 2010-04-07  Andrey Kosyakov  <caseq@chromium.org>
2671
2672         Reviewed by Yury Semikhatsky.
2673
2674         Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
2675         https://bugs.webkit.org/show_bug.cgi?id=36949
2676
2677         * WebCoreSupport/WebFrameLoaderClient.h:
2678         * WebCoreSupport/WebFrameLoaderClient.mm:
2679
2680 2010-04-06  Dan Bernstein  <mitz@apple.com>
2681
2682         Tiger build fix after r57184.
2683
2684         * WebView/WebHTMLViewPrivate.h:
2685
2686 2010-04-06  Dan Bernstein  <mitz@apple.com>
2687
2688         Tiger build fix after r57184.
2689
2690         * WebView/WebHTMLViewPrivate.h:
2691
2692 2010-04-06  Adam Barth  <abarth@webkit.org>
2693
2694         Unreviewed.
2695
2696         Speculative build fix for Tiger.
2697
2698         * WebView/WebHTMLViewPrivate.h:
2699
2700 2010-04-06  Dan Bernstein  <mitz@apple.com>
2701
2702         Reviewed by Sam Weinig and Anders Carlsson.
2703
2704         Expose WebHTMLView’s page breaking logic as SPI.
2705
2706         * WebView/WebHTMLView.mm:
2707         (-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]): Factored out of -adjustPageHeightNew:top:bottom:limit:
2708         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Call -_adjustedBottomOfPageWithTop:bottom:limit:
2709         * WebView/WebHTMLViewPrivate.h: Declared -_adjustedBottomOfPageWithTop:bottom:limit:
2710
2711 2010-04-06  Mark Rowe  <mrowe@apple.com>
2712
2713         Add an #if in order to make Tiger happy.
2714
2715         * WebView/WebViewData.mm:
2716         (-[WebViewPrivate init]):
2717
2718 2010-04-06  Mark Rowe  <mrowe@apple.com>
2719
2720         Build fix.
2721
2722         * WebView/WebViewData.mm:
2723         (-[WebViewPrivate init]): Use objc_collectingEnabled like we do elsewhere in WebKit.
2724
2725 2010-04-05  Mark Rowe  <mrowe@apple.com>
2726
2727         Reviewed by Adele Peterson.
2728
2729         Test case for <http://webkit.org/b/37115> / <rdar://problem/7829331>.
2730         REGRESSION(r56989): Crash in Mail in WebCore::Position::isCandidate when deleting block using block deletion UI
2731
2732         * WebView/WebHTMLView.mm:
2733         (-[WebHTMLView _updateFontPanel]): Ask the window whether it is the key window rather than doing the comparison
2734         manually.  This allows DumpRenderTree's override of isKeyWindow to force this code path to be taken during tests.
2735
2736 2010-04-05  Alexey Proskuryakov  <ap@apple.com>
2737
2738         Reviewed by Darin Adler.
2739
2740         https://bugs.webkit.org/show_bug.cgi?id=37111
2741         <rdar://problem/7790327> Draw replacement text when plug-in host crashes
2742
2743         * Plugins/Hosted/WebHostedNetscapePluginView.h: Removed _pluginDied - it was only used
2744         for drawing replacement icon, and this information is now in WebCore.
2745         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2746         (-[WebHostedNetscapePluginView pluginHostDied]): Tell RenderEmbeddedObject that the plug-in
2747         has crashed.
2748         (-[WebHostedNetscapePluginView drawRect:]): Removed the case for crashed plug-in host. It is
2749         handled by WebCore now.
2750
2751         * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory crashedPluginText]): Added a string
2752         for plug-in failure.        
2753
2754 2010-04-03  yael aharon  <yael.aharon@nokia.com>
2755
2756         Reviewed by Darin Adler.
2757
2758         Enable HTMLProgressElement for Safari on OSX
2759         https://bugs.webkit.org/show_bug.cgi?id=36961
2760
2761         * Configurations/FeatureDefines.xcconfig:
2762
2763 2010-04-02  Jer Noble  <jer.noble@apple.com>
2764
2765         Reviewed by Eric Carlson.
2766
2767         https://bugs.webkit.org/show_bug.cgi?id=36624
2768         Add an INIT macro for the WebKitSystemInterface function wkQTMovieSelectPreferredAlternates.
2769
2770         * WebCoreSupport/WebSystemInterface.m:
2771         (InitWebCoreSystemInterface):
2772
2773 2010-04-02  Alexey Proskuryakov  <ap@apple.com>
2774
2775         Reviewed by Darin Adler.
2776
2777         https://bugs.webkit.org/show_bug.cgi?id=37043
2778         Java regression tests spam stderr about being unable to set status message
2779
2780         With this change, there is still spam about "Attempt to access JavaScript from destroyed
2781         applet, type 9." I haven't investigated if that indicates a problem or not.
2782
2783         * Plugins/WebPluginController.mm: (-[WebPluginController webPlugInContainerShowStatus:]):
2784         Removed check for _documentView. We don't seem to care.
2785
2786 2010-04-01  Kinuko Yasuda  <kinuko@chromium.org>
2787
2788         Reviewed by Dmitry Titov.
2789
2790         Add FileThread for async file operation support in FileReader and FileWriter
2791         https://bugs.webkit.org/show_bug.cgi?id=36896
2792
2793         Add FILE_READER or FILE_WRITER feature defines.
2794
2795         * Configurations/FeatureDefines.xcconfig:
2796
2797 2010-04-01  Ada Chan  <adachan@apple.com>
2798
2799         Reviewed by Darin Adler.
2800
2801         Change WebDatabaseManager::deleteOrigin() to return true if there are no errors in deleting the origin.
2802         Ditto for WebDatabaseManager::deleteDatabase().
2803         
2804         https://bugs.webkit.org/show_bug.cgi?id=36988
2805
2806         * Storage/WebDatabaseManager.mm:
2807         (-[WebDatabaseManager deleteOrigin:]):
2808         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
2809         * Storage/WebDatabaseManagerPrivate.h:
2810
2811 2010-04-01  Alexey Proskuryakov  <ap@apple.com>
2812
2813         Reviewed by Darin Adler.
2814
2815         https://bugs.webkit.org/show_bug.cgi?id=36976
2816         <rdar://problem/7817498>
2817         REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled
2818
2819         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2820         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): The HashTable assertions aren't
2821         there to catch potential future attempts to store empty/deleted values before these happen -
2822         it's actually wrong to try to look up these values. Added an early return.
2823         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Ditto.
2824
2825 2010-04-01  Chris Marrin  <cmarrin@apple.com>
2826
2827         Reviewed by Simon Fraser.
2828
2829         Added layerTreeAsText function to DRT (for Mac)
2830         https://bugs.webkit.org/show_bug.cgi?id=36782
2831
2832         This is the WebKit side for Mac. It plumbs the
2833         call from WebCore to DRT.
2834
2835         * WebView/WebFrame.mm:WebKit (Mac) side of plumbing
2836         (-[WebFrame _layerTreeAsText]):
2837         * WebView/WebFramePrivate.h:
2838
2839 2010-04-01  Alexey Proskuryakov  <ap@apple.com>
2840
2841         Reviewed by Oliver Hunt.
2842
2843         https://bugs.webkit.org/show_bug.cgi?id=36976
2844         <rdar://problem/7817498>
2845         REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled
2846
2847         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2848         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): Use find() instead of get(),
2849         because the latter fails with an assertion when looking up 0 or -1.
2850         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Be prepared for unexpected
2851         object IDs coming from plug-in host.
2852
2853 2010-03-31  Chris Fleizach  <cfleizach@apple.com>
2854
2855         Reviewed by Darin Adler.
2856
2857         Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
2858         https://bugs.webkit.org/show_bug.cgi?id=36845
2859
2860         Provide a way through WebKit to set an accessible label that describes the web area.    
2861
2862         * WebView/WebFrame.mm:
2863         (-[WebFrame setAccessibleName:]):
2864         * WebView/WebFramePrivate.h:
2865
2866 2010-03-31  Marcus Bulach  <bulach@chromium.org>
2867
2868         Reviewed by Jeremy Orlow.
2869
2870         Adds Geolocation param for cancelGeolocationPermissionRequestForFrame.
2871         https://bugs.webkit.org/show_bug.cgi?id=35031
2872
2873         * WebCoreSupport/WebChromeClient.h:
2874         (WebChromeClient::cancelGeolocationPermissionRequestForFrame):
2875
2876 2010-03-30  Gavin Barraclough  <barraclough@apple.com>
2877
2878         Rubber stamped by Sam Weinig.
2879
2880         https://bugs.webkit.org/show_bug.cgi?id=36866
2881         Move CString to WTF
2882
2883         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2884         (WebKit::NetscapePluginInstanceProxy::getCookies):
2885         (WebKit::NetscapePluginInstanceProxy::getProxy):
2886         (WebKit::NetscapePluginInstanceProxy::getAuthenticationInfo):
2887         (WebKit::NetscapePluginInstanceProxy::resolveURL):
2888         * Plugins/WebBaseNetscapePluginView.h:
2889         * Plugins/WebBaseNetscapePluginView.mm:
2890         * Plugins/WebNetscapePluginView.mm:
2891         (-[WebNetscapePluginView resolveURL:forTarget:]):
2892
2893 2010-03-30  John Sullivan  <sullivan@apple.com>
2894
2895         Reviewed by Dan Bernstein.
2896
2897         https://bugs.webkit.org/show_bug.cgi?id=36848
2898         <rdar://problem/7362913>
2899         Menu items appropriate only for rich-content editing can appear in plain-text contexts
2900
2901         * WebView/WebHTMLView.mm:
2902         (-[WebHTMLView validRequestorForSendType:returnType:]):
2903         Don't return self for non-string content if _canEditRichly is false.
2904
2905 2010-03-29  Alexey Proskuryakov  <ap@apple.com>
2906
2907         Reviewed by Darin Adler.
2908
2909         https://bugs.webkit.org/show_bug.cgi?id=36791
2910         Add assertions for instance proxy validity
2911
2912         Add some assertions that the instance proxy hasn't been deleted. We sometimes keep a raw
2913         pointer to one across complicated function calls, relying on the caller to protect the
2914         reference.
2915
2916         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2917         (WebKit::NetscapePluginInstanceProxy::renderContextID):
2918         (WebKit::NetscapePluginInstanceProxy::pluginView):
2919         (WebKit::NetscapePluginInstanceProxy::hostProxy):
2920
2921 2010-03-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2922
2923         Reviewed by David Kilzer.
2924
2925         Explicit guards for ENABLE_GEOLOCATION
2926         https://bugs.webkit.org/show_bug.cgi?id=25756
2927
2928         * WebCoreSupport/WebGeolocationMock.mm:
2929         (-[WebGeolocationMock setError:code:]): Make the body conditional on 
2930         ENABLE(GEOLOCATION)
2931         (-[WebGeolocationMock setPosition:]): Ditto.
2932
2933 2010-03-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2934
2935         Reviewed by Antti Koivisto.
2936
2937         Change method name due to it dealing with both flattening
2938         of frame sets and inner frames.
2939
2940         * WebView/WebPreferenceKeysPrivate.h:
2941         * WebView/WebPreferences.mm:
2942         (+[WebPreferences initialize]):
2943         (-[WebPreferences isFrameFlatteningEnabled]):
2944         (-[WebPreferences setFrameFlatteningEnabled:]):
2945         * WebView/WebPreferencesPrivate.h:
2946         * WebView/WebView.mm:
2947         (-[WebView _preferencesChangedNotification:]):
2948
2949 2010-03-27  Darin Adler  <darin@apple.com>
2950
2951         * Misc/WebNSFileManagerExtras.m:
2952         (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]):
2953         Removed stray "!". How did that get in there?
2954
2955 2010-03-27  Darin Adler  <darin@apple.com>
2956
2957         Reviewed by Mark Rowe.
2958
2959         WebKit NSFileManager methods don't handle broken symlinks correctly.
2960         Part of <rdar://problem/7574046>.
2961
2962         * Misc/WebNSFileManagerExtras.h: Removed unused defines and methods.
2963         * Misc/WebNSFileManagerExtras.m: Removed unused methods.
2964         (fileExists): Added. For use instead of fileExistsAtPath: for cases where we'd like
2965         to treat a broken symlink as a file that does indeed exist.
2966         (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]): Use fileExists.
2967
2968 2010-03-25  Alexey Proskuryakov  <ap@apple.com>
2969
2970         Reviewed by Mark Rowe.
2971
2972         * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): Re-fetch host proxy in
2973         a way that works in a function that doesn't have a pluginID argument for some reason.
2974
2975 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
2976
2977         Build fix: no review.
2978         
2979         Another c_str() -> data().
2980         
2981         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2982         (WebKit::NetscapePluginInstanceProxy::enumerate):
2983
2984 2010-03-25  Alexey Proskuryakov  <ap@apple.com>
2985
2986         Reviewed by Mark Rowe.
2987
2988         Correctness fix after r56493.
2989
2990         * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): We still need to update
2991         our hostProxy reference, even though we didn't use to have instanceProxy. Nothing guarantees
2992         that the host proxy won't go away while the open panel is up.
2993
2994 2010-03-24  Mark Rowe  <mrowe@apple.com>
2995
2996         Build fix after r56474.
2997
2998         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2999         (WKPCRunSyncOpenPanel):
3000
3001 2010-03-24  Alexey Proskuryakov  <ap@apple.com>
3002
3003         Reviewed by Anders Carlsson.
3004
3005         https://bugs.webkit.org/show_bug.cgi?id=36563
3006         A plug-in makes Safari crash on http://www.itscodingtime.com/
3007
3008         * Plugins/Hosted/NetscapePluginHostProxy.h:
3009         (WebKit::NetscapePluginHostProxy::port): Assert that the object is still alive. This isn't
3010         beautifully systemic, but helped catch a bug, and may help catch more.
3011         (WebKit::NetscapePluginHostProxy::clientPort): Ditto.
3012         (WebKit::NetscapePluginHostProxy::isProcessingRequests): Changed m_processingRequests to a
3013         static. This doesn't change behavior much, but helps avoid writing into deallocated memory.
3014
3015         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3016         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): Changed m_processingRequests
3017         to a static.
3018         (WebKit::NetscapePluginHostProxy::processRequests): Ditto. Changing m_processingRequests
3019         after destroying the object in pluginHostDied() was wrong, but reasonably harmless, as there
3020         wasn't much time for some other object to be allocated at this address.
3021         (WKPCEvaluate): Refetch host proxy, as it may have been destroyed.
3022         (WKPCInvoke): Ditto.
3023         (WKPCInvokeDefault): Ditto.
3024         (WKPCGetProperty): Ditto.
3025         (WKPCSetProperty): Ditto.
3026         (WKPCRemoveProperty): Ditto.
3027         (WKPCHasProperty): Ditto.
3028         (WKPCHasMethod): Ditto.
3029         (WKPCEnumerate): Ditto.
3030         (WKPCRunSyncOpenPanel): Ditto.
3031
3032         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3033         (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply): Bail out of the 
3034         "event loop" if host proxy went away while processing a request.
3035
3036 2010-03-24  Hayato Ito  <hayato@chromium.org>
3037
3038         Reviewed by Shinichiro Hamaji.
3039
3040         Refactor computePageRects so that Mac can make use of it.
3041         https://bugs.webkit.org/show_bug.cgi?id=36159
3042
3043         Refactoring only, so no new tests.
3044
3045         * WebView/WebFrame.mm:
3046         (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
3047
3048 2010-03-24  Kent Tamura  <tkent@chromium.org>
3049
3050         Reviewed by Darin Adler.
3051
3052         Make Icon::createIconForFiles() optional.
3053         https://bugs.webkit.org/show_bug.cgi?id=35072
3054
3055         - Rename iconForFiles() to chooseIconForFiles().
3056         - Call Icon::createIconForFiles() from chooseIconForFiles().
3057
3058         * WebCoreSupport/WebChromeClient.h:
3059         * WebCoreSupport/WebChromeClient.mm:
3060         (WebChromeClient::chooseIconForFiles):
3061
3062 2010-03-23  Dan Bernstein  <mitz@apple.com>
3063
3064         Reverted accidental change from r56429.
3065
3066         * WebCoreSupport/WebContextMenuClient.mm:
3067         (WebContextMenuClient::getCustomMenuFromDefaultItems):
3068
3069 2010-03-23  Dan Bernstein  <mitz@apple.com>
3070
3071         Reviewed by John Sullivan.
3072
3073         WebKit part of
3074         <rdar://problem/7197736> Plug-in clip rect does not update when overflow
3075         clip changes
3076         https://bugs.webkit.org/show_bug.cgi?id=36479.
3077
3078         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3079         (-[WebHostedNetscapePluginView visibleRectDidChange]): Added. Calls
3080         WKSyncSurfaceToView().
3081         * Plugins/WebBaseNetscapePluginView.h:
3082         * Plugins/WebBaseNetscapePluginView.mm:
3083         (-[WebBaseNetscapePluginView _windowClipRect]): Changed to use Widget::windowClipRect().
3084         (-[WebBaseNetscapePluginView visibleRectDidChange]): Added. Invokes -renewGState.
3085
3086 2010-03-22  Kevin Decker  <kdecker@apple.com>
3087
3088         Reviewed by Simon Fraser.
3089
3090         https://bugs.webkit.org/show_bug.cgi?id=36328
3091
3092         This patch entirely WebNullPluginView.
3093         
3094         * Plugins/WebNetscapePluginView.mm:
3095         * Plugins/WebNullPluginView.h: Removed.
3096         * Plugins/WebNullPluginView.mm: Removed.
3097         * Resources/nullplugin.tiff: Removed.
3098         * WebCoreSupport/WebFrameLoaderClient.mm:
3099         (WebFrameLoaderClient::createPlugin): Invoke the resource load delegate if the plug-in failed to load.
3100
3101 2010-03-22  Alexey Proskuryakov  <ap@apple.com>
3102
3103         Reviewed by John Sullivan.
3104
3105         https://bugs.webkit.org/show_bug.cgi?id=36455
3106         Make WebKit more resistant against plug-in crashes
3107
3108         No tests, because crashing on build bots isn't good, even if it's only helper processes
3109         that crash.
3110
3111         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3112         (WebKit::NetscapePluginInstanceProxy::waitForReply): Protect "this", because this function
3113         needs it after waiting for reply. Some callers used to do this, but not all, and we really
3114         shouldn't depend on callers here.
3115
3116         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3117         (WebKit::NetscapePluginInstanceProxy::wheelEvent): Don't protect the plug-in instance proxy,
3118         because this function doesn't use it after waiting for reply.
3119         (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Ditto.
3120
3121         * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invoke): Added an m_instanceProxy
3122         null check for another code path.
3123
3124 2010-03-22  Kevin Decker  <kdecker@apple.com>
3125
3126         Reviewed by John Sullivan.
3127
3128         https://bugs.webkit.org/show_bug.cgi?id=36328
3129
3130         * WebCoreSupport/WebViewFactory.mm:
3131         (-[WebViewFactory missingPluginText]): Added.
3132
3133 2010-03-18  Alexey Proskuryakov  <ap@apple.com>
3134
3135         Reviewed by Darin Adler.
3136
3137         https://bugs.webkit.org/show_bug.cgi?id=36337
3138         Log an error when an OOP plug-in sends an unknown object id
3139
3140         Making these LOG_ERROR and not ASSERTs, because I don't want early returns to look
3141         temporary or redundant.
3142
3143         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3144         (WebKit::NetscapePluginInstanceProxy::evaluate):
3145         (WebKit::NetscapePluginInstanceProxy::invoke):
3146         (WebKit::NetscapePluginInstanceProxy::invokeDefault):
3147         (WebKit::NetscapePluginInstanceProxy::construct):
3148         (WebKit::NetscapePluginInstanceProxy::getProperty):
3149         (WebKit::NetscapePluginInstanceProxy::setProperty):
3150         (WebKit::NetscapePluginInstanceProxy::removeProperty):
3151         (WebKit::NetscapePluginInstanceProxy::hasProperty):
3152         (WebKit::NetscapePluginInstanceProxy::hasMethod):
3153         (WebKit::NetscapePluginInstanceProxy::enumerate):
3154
3155 2010-03-16  Alexey Proskuryakov  <ap@apple.com>
3156
3157         Reviewed by Darin Adler.
3158
3159         https://bugs.webkit.org/show_bug.cgi?id=36184
3160         YouTube video resizing doesn't work with OOP plug-ins
3161
3162         Test: plugins/resize-from-plugin.html
3163
3164         We were calling _WKPHResizePluginInstance synchronously or asynchronously, depending on
3165         whether the size has changed. But sync and async messages are not necessarily delivered in
3166         order - plug-in host listens only to the former while waiting for a response to a message it
3167         sent (a call to invoke() in this case).
3168
3169         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3170         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3171         (WebKit::NetscapePluginInstanceProxy::resize):
3172         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3173         (-[WebHostedNetscapePluginView updateAndSetWindow]):
3174
3175 2010-03-16  Yury Semikhatsky <yurys@chromium.org>
3176
3177         Reviewed by Pavel Feldman.
3178
3179         Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost.
3180
3181         Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
3182         https://bugs.webkit.org/show_bug.cgi?id=35036
3183
3184         * WebCoreSupport/WebInspectorClient.h:
3185         * WebCoreSupport/WebInspectorClient.mm:
3186         (WebInspectorClient::WebInspectorClient):
3187         (WebInspectorClient::inspectorDestroyed):
3188         (WebInspectorClient::openInspectorFrontend):
3189         (WebInspectorClient::highlight):
3190         (WebInspectorClient::hideHighlight):
3191         (WebInspectorFrontendClient::WebInspectorFrontendClient):
3192         (WebInspectorFrontendClient::frontendLoaded):
3193         (WebInspectorFrontendClient::localizedStringsURL):
3194         (WebInspectorFrontendClient::hiddenPanels):
3195         (WebInspectorFrontendClient::bringToFront):
3196         (WebInspectorFrontendClient::closeWindow):
3197         (WebInspectorFrontendClient::attachWindow):
3198         (WebInspectorFrontendClient::detachWindow):
3199         (WebInspectorFrontendClient::setAttachedWindowHeight):
3200         (WebInspectorFrontendClient::inspectedURLChanged):
3201         (WebInspectorFrontendClient::updateWindowTitle):
3202         (-[WebInspectorWindowController dealloc]):
3203         (-[WebInspectorWindowController windowShouldClose:]):
3204         (-[WebInspectorWindowController close]):
3205         (-[WebInspectorWindowController showWindow:]):
3206         (-[WebInspectorWindowController attach]):
3207         (-[WebInspectorWindowController detach]):
3208         (-[WebInspectorWindowController attached]):
3209         (-[WebInspectorWindowController setFrontendClient:]):
3210         (-[WebInspectorWindowController destroyInspectorView]):
3211         (-[WebNodeHighlighter initWithInspectedWebView:]):
3212         (-[WebNodeHighlighter dealloc]):
3213         (-[WebNodeHighlighter highlightNode:]):
3214         (-[WebNodeHighlighter hideHighlight]):
3215         (-[WebNodeHighlighter didAttachWebNodeHighlight:]):
3216         (-[WebNodeHighlighter willDetachWebNodeHighlight:]):
3217         * WebInspector/WebInspector.mm:
3218         (-[WebInspector attach:]):
3219         (-[WebInspector detach:]):
3220
3221 2010-03-15  Andy Estes  <aestes@apple.com>
3222
3223         Reviewed by John Sullivan.
3224
3225         Updated call to WKGetWheelEventDeltas() to match new method signature.
3226
3227         https://bugs.webkit.org/show_bug.cgi?id=29601
3228         <rdar://problem/7453254>
3229
3230         * WebView/WebDynamicScrollBarsView.mm:
3231         (-[WebDynamicScrollBarsView scrollWheel:]):
3232
3233 2010-03-15  John Sullivan  <sullivan@apple.com>
3234
3235         Reviewed by Adam Roben.
3236         
3237         -[WebFrame setAlwaysHideHorizontal/VerticalScroller:] prevents keyboard scrolling
3238         <https://bugs.webkit.org/show_bug.cgi?id=36125>
3239
3240         * WebView/WebDynamicScrollBarsView.h:
3241         Added instance variables horizontalScrollingAllowedButScrollerHidden and
3242         verticalScrollingAllowedButScrollerHidden. Renamed instance variables 
3243         hideHorizontal/VerticalScroller to alwaysHideHorizontal/VerticalScroller for clarity.
3244         Declared methods -horizontalScrollingAllowed and -verticalScrollingAllowed.
3245         Added comments.
3246         
3247         * WebView/WebDynamicScrollBarsView.mm:
3248         (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
3249         Updated for instance variable renaming.
3250         (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
3251         Ditto.
3252         (-[WebDynamicScrollBarsView horizontalScrollingAllowed]):
3253         New method, returns YES if the scroller is showing or the only reason that the scroller
3254         is not showing is that setAlwaysHideHorizontalScrolling has been called.
3255         (-[WebDynamicScrollBarsView verticalScrollingAllowed]):
3256         New method, returns YES if the scroller is showing or the only reason that the scroller
3257         is not showing is that setAlwaysHideVerticalScrolling has been called.
3258         (-[WebDynamicScrollBarsView updateScrollers]):
3259         Updated for instance variable renamings. Now updates horizontalScrollingAllowedButScrollerHidden
3260         and verticalScrollingAllowedButScrollerHidden. Now takes the always-hidden state into account
3261         in the early-return code path, to avoid taking it into account twice in the regular code path.
3262         
3263         * WebView/WebFrameView.mm:
3264         (-[WebFrameView _scrollToBeginningOfDocument]):
3265         Use _isScrollable instead of _hasScrollBars.
3266         (-[WebFrameView _scrollToEndOfDocument]):
3267         Ditto.
3268         (-[WebFrameView scrollToBeginningOfDocument:]):
3269         Use _largestScrollableChild instead of _largestChildWithScrollBars.
3270         (-[WebFrameView scrollToEndOfDocument:]):
3271         Ditto.
3272         (-[WebFrameView _pageVertically:]):
3273         Use _isScrollable and _largestScrollableChild instead of _hasScrollBars
3274         and _largestChildWithScrollBars.
3275         (-[WebFrameView _pageHorizontally:]):
3276         Ditto.
3277         (-[WebFrameView _scrollLineVertically:]):
3278         Ditto.
3279         (-[WebFrameView _scrollLineHorizontally:]):
3280         Ditto.
3281         (-[WebFrameView keyDown:]):
3282         Use _largestScrollableChild instead of _largestChildWithScrollBars.
3283         (-[WebFrameView _isScrollable]):
3284         New method, calls -[WebDynamicScrollBarsView horizontalScrollingAllowed] and
3285         -[WebDynamicScrollBarsView verticalScrollingAllowed]
3286         (-[WebFrameView _largestScrollableChild]):
3287         New method, like _largestChildWithScrollBars but uses _isScrollable.
3288         (-[WebFrameView _hasScrollBars]):
3289         Added a comment that this is no longer used by Safari, and can thus probably be
3290         deleted once we no longer want to support it for nightly build compatibility with
3291         old versions of Safari.
3292         (-[WebFrameView _largestChildWithScrollBars]):
3293         Ditto.
3294         
3295         * WebView/WebFrameViewPrivate.h:
3296         Declared -_isScrollable and -_largestScrollableChild. Added comments to
3297         _hasScrollBars and _largestChildWithScrollBars saying that they are no longer
3298         used by Safari, and can thus probably be deleted once we no longer want to 
3299         support them for nightly build compatibility with old versions of Safari.
3300
3301 2010-03-15  John Sullivan  <sullivan@apple.com>
3302
3303         Method name and parameter name mistakes from recent SPI addition
3304         <https://bugs.webkit.org/show_bug.cgi?id=36119>
3305
3306         Reviewed by Dan Bernstein.
3307
3308         * WebView/WebDynamicScrollBarsView.h:
3309         Renamed instance variable and method name from "setAllowXXX" to "setAllowsXXX".
3310         
3311         * WebView/WebDynamicScrollBarsView.mm:
3312         (-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]):
3313         Updated for renamed instance variable and method.
3314         (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
3315         Changed parameter name from shouldBeVisible to shouldBeHidden.
3316         (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
3317         Ditto.
3318         (-[WebDynamicScrollBarsView contentViewFrame]):
3319         Updated for renamed instance variable.
3320         (-[WebDynamicScrollBarsView tile]):
3321         Ditto.
3322         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
3323         Ditto.
3324
3325         * WebView/WebFrame.mm:
3326         (-[WebFrame setAllowsScrollersToOverlapContent:]):
3327         Renamed method from setAllowXXX, and updated for same change in WebDynamicScrollBarsView.
3328
3329         * WebView/WebFramePrivate.h:
3330         Renamed method name from "setAllowXXX" to "setAllowsXXX".
3331
3332 2010-03-14  Darin Adler  <darin@apple.com>
3333
3334         Reviewed by Mark Rowe.
3335
3336         Remove unneeded dependency on non-string identifier for an NSTableColumn
3337         https://bugs.webkit.org/show_bug.cgi?id=36106
3338
3339         * WebView/WebTextCompletionController.mm:
3340         (-[WebTextCompletionController _buildUI]): Use init instead of initWithIdentifier:
3341         because the table has only one column and that column does not need an identifier.
3342
3343 2010-03-12  Beth Dakin  <bdakin@apple.com>
3344
3345         Reviewed by Simon Fraser.
3346
3347         Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen 
3348         API naming is inconsistent
3349         -and corresponding-
3350         <rdar://problem/7729165>
3351
3352         This patch changes all occurrences of "fullScreen" to the more 
3353         popular "fullscreen."
3354
3355         * Plugins/Hosted/NetscapePluginHostProxy.h:
3356         (WebKit::NetscapePluginHostProxy::isFullscreenWindowShowing):
3357         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3358         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
3359         (WebKit::NetscapePluginHostProxy::didEnterFullscreen):
3360         (WebKit::NetscapePluginHostProxy::didExitFullscreen):
3361         (WebKit::NetscapePluginHostProxy::setFullscreenWindowIsShowing):
3362         (WKPCSetFullscreenWindowIsShowing):
3363         * Plugins/Hosted/WebKitPluginClient.defs:
3364         * Plugins/WebNetscapePluginView.mm:
3365         (-[WebNetscapePluginView _workaroundSilverlightFullscreenBug:]):
3366         (-[WebNetscapePluginView _createPlugin]):
3367         (-[WebNetscapePluginView _destroyPlugin]):
3368         * WebView/WebVideoFullscreenHUDWindowController.mm:
3369         (-[WebVideoFullscreenHUDWindowController windowDidLoad]):
3370
3371 2010-03-12  Andy Estes  <aestes@apple.com>
3372
3373         Reviewed by Brady Eidson.
3374
3375         Expose WebPDFView's underlying PDFDocument.
3376
3377         https://bugs.webkit.org/show_bug.cgi?id=36045
3378
3379         * WebView/WebDocumentPrivate.h: Create a new protocol called
3380         WebDocumentPDF.
3381         * WebView/WebPDFView.h: Have WebPDFView implement said protocol.
3382         * WebView/WebPDFView.mm:
3383         (-[WebPDFView PDFDocument]): Expose WebPDFView's underlying
3384         PDFDocument by implementing -(PDFDocument*)PDFDocument from
3385         WebDocumentPDF.
3386
3387 2010-03-12  Andy Estes  <aestes@apple.com>
3388
3389         Reviewed by Brady Eidson.
3390
3391         Remove an unused method.
3392
3393         https://bugs.webkit.org/show_bug.cgi?id=35940
3394
3395         * Plugins/WebPluginController.mm:
3396         removed - (void)showURL:(NSURL *) inFrame:(NSString *)
3397
3398 2010-03-11  Mark Rowe  <mrowe@apple.com>
3399
3400         Reviewed by David Kilzer.
3401
3402         <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
3403
3404         Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
3405
3406         * Configurations/Base.xcconfig:
3407
3408 2010-03-11  Mark Rowe  <mrowe@apple.com>
3409
3410         Reviewed by Tim Hatcher.
3411
3412         <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
3413
3414         Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted.  It defaults to the
3415         current Mac OS X version unless otherwise specified.
3416
3417         Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
3418
3419         Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
3420         may not be usable when targetting a different Mac OS X version.
3421
3422         Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
3423         MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
3424
3425         * Configurations/Base.xcconfig:
3426         * Configurations/DebugRelease.xcconfig:
3427         * Configurations/FeatureDefines.xcconfig:
3428         * Configurations/Version.xcconfig:
3429
3430 2010-03-11  Anders Carlsson  <andersca@apple.com>
3431
3432         Reviewed by David Hyatt.
3433
3434         Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
3435
3436         * WebCoreSupport/WebChromeClient.h:
3437         * WebCoreSupport/WebChromeClient.mm:
3438
3439 2010-03-11  Alexey Proskuryakov  <ap@apple.com>
3440
3441         Reviewed by Geoff Garen.
3442
3443         https://bugs.webkit.org/show_bug.cgi?id=35965
3444         <rdar://problem/7742771> Crash when passing an object returned from plug-in back to the plug-in
3445
3446         Test: plugins/round-trip-npobject.html
3447
3448         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3449         (WebKit::NetscapePluginInstanceProxy::retainLocalObject): Corrected the check - there is
3450         now a separate ProxyRuntimeObject class for proxy pbjects.
3451         (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto.
3452
3453         * Plugins/Hosted/ProxyInstance.mm:
3454         (WebKit::ProxyInstance::invoke): Check if m_instanceProxy is still non-zero. The plug-in
3455         could have crashed while we were waiting for response.
3456         (WebKit::ProxyInstance::setFieldValue): Ditto.
3457
3458 2010-03-10  Simon Fraser  <simon.fraser@apple.com>
3459
3460         Reviewed by Darin Adler.
3461
3462         https://bugs.webkit.org/show_bug.cgi?id=35975
3463         <rdar://problem/7739922> Flash 10.1b crashes when generating snapshots
3464
3465         Do a version check before sending a drawRect event to a Flash plugin,
3466         since 10.1.d51 has a bug that crashes when called this way.
3467         
3468         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3469         (-[WebHostedNetscapePluginView drawRect:]):
3470         * Plugins/WebBaseNetscapePluginView.h:
3471         * Plugins/WebBaseNetscapePluginView.mm:
3472         (-[WebBaseNetscapePluginView supportsSnapshotting]):
3473         * Plugins/WebNetscapePluginView.mm:
3474         (-[WebNetscapePluginView drawRect:]):
3475
3476 2010-03-10  John Sullivan  <sullivan@apple.com>
3477
3478         Reviewed by Tim Hatcher.
3479
3480         <rdar://problem/7735387> input type other than text won't work with autofill
3481         <https://bugs.webkit.org/show_bug.cgi?id=35963>
3482
3483         * WebView/WebHTMLRepresentation.mm:
3484         (-[WebHTMLRepresentation elementDoesAutoComplete:]):
3485         Return true for any text field that's not a password, rather than only
3486         for TEXT type.
3487
3488 2010-03-09  Brady Eidson  <beidson@apple.com>
3489
3490         Reviewed by Tim Hatcher.
3491
3492         REGRESSION: WebInspector docking busted on Windows
3493         <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953
3494
3495         * WebCoreSupport/WebInspectorClient.mm:
3496         (-[WebInspectorWindowController showWindow:]): Use the InspectorController:: copy of the should attach settings key.
3497         (-[WebInspectorWindowController attach]): Ditto.
3498         (-[WebInspectorWindowController detach]): Ditto.
3499
3500 2010-03-09  Geoffrey Garen  <ggaren@apple.com>
3501
3502         Reviewed by Darin Adler.
3503
3504         Updated for FastMalloc reporting changes.
3505         
3506         * Misc/WebCoreStatistics.mm:
3507         (+[WebCoreStatistics memoryStatistics]):
3508
3509 2010-03-08  Simon Fraser  <simon.fraser@apple.com>
3510
3511         Reviewed by Mark Rowe.
3512
3513         Move the new method to the end of the MIG definitions file, to avoid breaking
3514         compatibility between WebKit and older versions of WebKitPluginHost.
3515
3516         * Plugins/Hosted/WebKitPluginHost.defs:
3517
3518 2010-03-08  Simon Fraser  <simon.fraser@apple.com>
3519
3520         Reviewed by Kevin Decker.
3521
3522         <rdar://problem/7714340> Need to grab image snapshot of Core Animation plugins
3523         
3524         Allow plug-ins using the Core Animation drawing model to be captured when doing a flattening paint,
3525         by sending them a drawRect event as if they were software-painting.
3526
3527         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3528         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3529         (WebKit::NetscapePluginInstanceProxy::snapshot):
3530         New snapshot() method that calls over to the plugin host, and then draws the image that comes back.
3531         
3532         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3533         (-[WebHostedNetscapePluginView drawRect:]): If we don't have a software renderer, but we're doing
3534         a flattening paint, then call the snapshot method.
3535         
3536         * Plugins/Hosted/WebKitPluginHost.defs: Added snapshot method.
3537         
3538         * Plugins/WebBaseNetscapePluginView.h:
3539         * Plugins/WebBaseNetscapePluginView.mm:
3540         (-[WebBaseNetscapePluginView inFlatteningPaint]):
3541         New utility method that asks the FrameView whether the current paint behavior is
3542         flattening.
3543         
3544         * Plugins/WebNetscapePluginView.mm:
3545         (-[WebNetscapePluginView drawRect:]): If the plug-in is using CA but this is a flattening
3546         paint, go ahead and send a drawRect event to the plug-in.
3547
3548 2010-03-08  Darin Adler  <darin@apple.com>
3549
3550         Reviewed by Dan Bernstein.
3551
3552         Fix crash when you quit inside an unload handler.
3553         rdar://problem/6958347
3554
3555         Test: manual-tests/quit-inside-unload.html
3556
3557         * WebView/WebView.mm:
3558         (-[WebView _closeWithFastTeardown]): Removed code to set
3559         _private->closed since _close now does this earlier, before
3560         calling this method.
3561         (-[WebView _close]): Moved code to set _private->closed to the
3562         top of this method.
3563         (-[WebView setHostWindow:]): Rewrote the code that forbade
3564         setting the host window after closing so that it only forbids
3565         non-nil host windows. That way, the code to clear away the host
3566         window can run safely after setting _private->closed, yet client
3567         code cannot set a new host window after closing.
3568
3569 2010-03-08  Darin Adler  <darin@apple.com>
3570
3571         Roll out a file I checked in by accident.
3572
3573         * WebView/WebView.mm: Back to previous version.
3574
3575 2010-03-08  Chris Marrin  <cmarrin@apple.com>
3576
3577         Reviewed by Darin Adler.
3578
3579         Turn on HW accel on Leopard even if coreVideoHas7228836Fix() is false, when WebGL is enabled
3580         https://bugs.webkit.org/show_bug.cgi?id=35759
3581
3582         This allows WebGL to work on Leopard without the fix. It exposes these users to the crash
3583         that happens because of the CoreVideo bug, but it limits the exposure to those who have 
3584         chosen to enable WebGL.
3585
3586         * WebView/WebView.mm:
3587         (-[WebView _preferencesChangedNotification:]):
3588
3589 2010-03-02  Adam Treat  <atreat@rim.com>
3590
3591         Reviewed by Dave Hyatt.
3592
3593         Adapt the mac port to the refactoring of repaint methods.
3594
3595         https://bugs.webkit.org/show_bug.cgi?id=34214
3596
3597         * WebCoreSupport/WebChromeClient.h:
3598         * WebCoreSupport/WebChromeClient.mm:
3599         (WebChromeClient::invalidateContents):
3600         (WebChromeClient::invalidateWindow):
3601         (WebChromeClient::invalidateContentsAndWindow):
3602         (WebChromeClient::invalidateContentsForSlowScroll):
3603
3604 2010-03-08  Jian Li  <jianli@chromium.org>
3605
3606         Reviewed by Dmitry Titov.
3607
3608         Blob.slice support.
3609         https://bugs.webkit.org/show_bug.cgi?id=32993
3610
3611         Add ENABLE_BLOB_SLICE feature define.
3612
3613         * Configurations/FeatureDefines.xcconfig:
3614
3615 2010-03-08  Eric Uhrhane  <ericu@chromium.org>
3616
3617         Reviewed by David Levin.
3618
3619         Remove the now-redundant Settings fields for the Database
3620         https://bugs.webkit.org/show_bug.cgi?id=35763
3621
3622         No new tests; this code isn't called.
3623
3624         * WebView/WebView.mm: Remove the call into Settings.
3625         (-[WebView _preferencesChangedNotification:]):
3626
3627 2010-03-07  Mark Rowe  <mrowe@apple.com>
3628
3629         Rubber-stamped by Cameron Zwarich.
3630
3631         Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
3632
3633         * Misc/WebIconDatabase.mm:
3634
3635 2010-03-07  Mark Rowe  <mrowe@apple.com>
3636
3637         Rubber-stamped by Cameron Zwarich.
3638
3639         Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
3640
3641         * Misc/WebNSPasteboardExtras.mm:
3642
3643 2010-03-04  Mark Rowe  <mrowe@apple.com>
3644
3645         Reviewed by Sam Weinig.
3646
3647         <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h
3648
3649         * MigrateHeaders.make: Migrate DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h.
3650
3651 2010-03-04  Mark Rowe  <mrowe@apple.com>
3652
3653         Reviewed by Sam Weinig.
3654
3655         Use a framework-style include to pull in WebInspector.h for consistency
3656         with other parts of WebKit.
3657
3658         * WebInspector/WebInspectorPrivate.h:
3659
3660 2010-03-04  Brady Eidson  <beidson@apple.com>
3661
3662         Reviewed by Geoff Garen.
3663
3664         REGRESSION (31281): -[WebArchive initWithCoder:] leaks
3665         <rdar://problem/7702420> and https://bugs.webkit.org/show_bug.cgi?id=35534
3666
3667         * WebView/WebArchive.mm:
3668         (-[WebArchive initWithCoder:]): Don't retain objects we don't own.
3669
3670 2010-03-03  Alexey Proskuryakov  <ap@apple.com>
3671
3672         Reviewed by Timothy Hatcher.
3673
3674         https://bugs.webkit.org/show_bug.cgi?id=35692
3675         <rdar://problem/7703622> Crash when calling abort() on an XHR while in a windowless WebView
3676
3677         * Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
3678         Retain the challenge, just like it's done for sheet.
3679
3680 2010-03-02  Eric Uhrhane  <ericu@chromium.org>
3681
3682         Reviewed by David Levin.
3683
3684         Move database enable bit fully out of settings
3685         This is stage one of a three-stage commit [webkit, then chromium, then
3686         webkit again].  In this change I'm adding calls to
3687         Database::setIsAvailable inside Settings::setDatabaseEnabled and
3688         anywhere else that called it, and switching webkit fully over to using
3689         that flag [added in a previous checkin].  Phase two will remove
3690         Chromium's use of Settings for the Database, and phase three will remove
3691         the Setting for the Database enable entirely, leaving only
3692         Database::isAvailable/setIsAvailable.
3693
3694         No new tests; tested by existing storage tests.
3695
3696         https://bugs.webkit.org/show_bug.cgi?id=35310
3697
3698         * WebView/WebView.mm:  Added a call to Database::setIsAvailable.
3699         (-[WebView _preferencesChangedNotification:]):
3700
3701 2010-03-02  Adam Roben  <aroben@apple.com>
3702
3703         Add -[WebView _registerURLSchemeAsSecure:]
3704
3705         Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose
3706         SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI
3707
3708         Reviewed by Tim Hatcher.
3709
3710         * WebView/WebView.mm:
3711         (+[WebView _registerURLSchemeAsSecure:]):
3712         * WebView/WebViewPrivate.h:
3713         Added. Calls through to SecurityOrigin::registerURLSchemeAsSecure.
3714
3715 2010-03-01  Jakob Petsovits  <jpetsovits@rim.com>
3716
3717         Reviewed by Adam Barth.
3718
3719         Adapt to the new ZoomMode enum.
3720         https://bugs.webkit.org/show_bug.cgi?id=35347
3721
3722         * WebView/WebView.mm:
3723         (-[WebView _preferencesChangedNotification:]):
3724         (-[WebView _setZoomMultiplier:isTextOnly:]):
3725         (-[WebView _realZoomMultiplierIsTextOnly]):
3726
3727 2010-02-27  Jing Jin  <jjin@apple.com>
3728
3729         Reviewed by Timothy Hatcher.
3730
3731         Move implementation of Bug 35449 into WebFramePrivate.
3732
3733         * WebView/WebFrame.h:
3734         * WebView/WebFrame.mm:
3735         (-[WebFrame setAllowScrollersToOverlapContent:]):
3736         (-[WebFrame setAlwaysHideHorizontalScroller:]):
3737         (-[WebFrame setAlwaysHideVerticalScroller:]):
3738         * WebView/WebFramePrivate.h:
3739
3740 2010-02-26  Jing Jin  <jjin@apple.com>
3741
3742         Reviewed by Timothy Hatcher.
3743
3744         https://bugs.webkit.org/show_bug.cgi?id=35449
3745         Add ability to hide WebFrame scrollbars and to allow scrollbars to overlap with content.
3746
3747         * WebView/WebDynamicScrollBarsView.h:
3748         * WebView/WebDynamicScrollBarsView.mm:
3749         (-[WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]): Allows scrollbars to 
3750         overlap with the document and re-layouts the document.
3751         (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]): Hides the horizontal scrollbar.
3752         (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]): Hides the vertical scrollbar.
3753         (-[WebDynamicScrollBarsView contentViewFrame]): Calculates the appropriate frame based
3754         on allowScrollersToOverlapContent.
3755         (-[WebDynamicScrollBarsView tile]): If allowScrollersToOverlapContent is YES, set the
3756         contentView's frame so it overlaps with the scrollbar.
3757         (-[WebDynamicScrollBarsView updateScrollers]): Take into account hideHorizontalScroller
3758         and hideVerticalScroller.
3759         (-[WebDynamicScrollBarsView reflectScrolledClipView:]): set drawsBackground to NO when
3760         scrollbars are overlapping with content, so we don't get trails during scrollbar draw updates.
3761         * WebView/WebDynamicScrollBarsViewInternal.h:
3762         * WebView/WebFrame.h:
3763         * WebView/WebFrame.mm:
3764         (-[WebFrame setAllowScrollersToOverlapContent:]): Hook for [WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]
3765         (-[WebFrame setAlwaysHideHorizontalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]
3766         (-[WebFrame setAlwaysHideVerticalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]
3767
3768 2010-02-26  Gavin Barraclough  <barraclough@apple.com>
3769
3770         Reviewed by Alexey Proskuryakov.
3771
3772         Bug 35401 - Fix handling of errors in handling calls over bridge,
3773         where base object bridge-type does not match method bridge-type.
3774
3775         The code assumes users will only attempt to invoke a Java method
3776         on a Java base object, etc.
3777         Add language specific subclasses of RuntimeMethod, and pass the
3778         RuntimeMethod into invokeMethod, so we can typecheck before
3779         casting.  Throw an exception on type mismatch.
3780
3781         * Plugins/Hosted/ProxyInstance.h:
3782         * Plugins/Hosted/ProxyInstance.mm:
3783         (WebKit::PluginRuntimeMethod::PluginRuntimeMethod): new class to distinguish this type of RuntimeMethod.
3784         (WebKit::ProxyInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
3785         (WebKit::ProxyInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
3786
3787 2010-02-25  Alexey Proskuryakov  <ap@apple.com>
3788
3789         Reviewed by Geoffrey Garen.
3790
3791         https://bugs.webkit.org/show_bug.cgi?id=35394
3792         <rdar://problem/7685262> Make passing objects between Java and plug-ins work
3793
3794         Added a ProxyInstance implementation of RuntimeObject.
3795
3796         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3797         (WebKit::NetscapePluginInstanceProxy::addValueToArray):
3798         * Plugins/Hosted/ProxyInstance.h:
3799         * Plugins/Hosted/ProxyInstance.mm:
3800         (WebKit::ProxyInstance::newRuntimeObject):
3801         (WebKit::ProxyInstance::getClass):
3802         * Plugins/Hosted/ProxyRuntimeObject.h: Added.
3803         (WebKit::ProxyRuntimeObject::classInfo):
3804         * Plugins/Hosted/ProxyRuntimeObject.mm: Added.
3805         (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
3806         (WebKit::ProxyRuntimeObject::~ProxyRuntimeObject):
3807         (WebKit::ProxyRuntimeObject::getInternalProxyInstance):
3808
3809 2010-02-24  Adam Barth  <abarth@webkit.org>
3810
3811         Reviewed by Darin Fisher.
3812
3813         [Chromium API] Disambiguate allowJavaScript from didNotAllowScript
3814         https://bugs.webkit.org/show_bug.cgi?id=35205
3815
3816         Make these two callsites explicit about not running script immediately.
3817
3818         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3819         (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
3820         (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
3821
3822 2010-02-23  Brady Eidson  <beidson@apple.com>
3823
3824         Reviewed by Tim Hatcher and Pavel Feldman.
3825
3826         Regression (r55107) - WebInspector docking is busted.
3827         https://bugs.webkit.org/show_bug.cgi?id=35274
3828
3829         * WebCoreSupport/WebInspectorClient.mm:
3830         (-[WebInspectorWindowController showWindow:]): Swap the order of the "should attach?" check
3831           to get the expected behavior.
3832
3833 2010-02-23  Dan Bernstein  <mitz@apple.com>
3834
3835         Reviewed by Simon Fraser.
3836
3837         <rdar://problem/7611158> Incomplete repaint of YouTube timeline thumb while scrolling
3838         https://bugs.webkit.org/show_bug.cgi?id=34381
3839
3840         Test: fast/repaint/repaint-during-scroll.html
3841
3842         NSClipView offsets any rects marked as needing display during scrolling
3843         by the scroll offset. Compensate for this when -setNeedsDisplay: is called
3844         during scrolling.
3845
3846         * WebView/WebHTMLView.mm:
3847         (-[WebHTMLView _frameOrBoundsChanged]): Set inScrollPositionChanged to YES
3848         around to call to FrameView::scrollPositionChanged().
3849         (-[WebHTMLView setNeedsDisplayInRect:]): When called beneath
3850         scrollPositionChanged(), adjust the rect by the inverse of the scroll offset.
3851
3852 2010-02-23  Steve Block  <steveblock@google.com>
3853
3854         Reviewed by Darin Adler.
3855
3856         Adds ChromeClient::cancelGeolocationPermissionRequestForFrame
3857         https://bugs.webkit.org/show_bug.cgi?id=34962
3858
3859         This method is required so that a Geolocation object can cancel an
3860         asynchronous permission request. This allows the chrome client to cancel
3861         any UI it is showing for the permission request.
3862
3863         * WebCoreSupport/WebChromeClient.h:
3864         (WebChromeClient::cancelGeolocationPermissionRequestForFrame):
3865
3866 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
3867
3868         Rubber-stamped by Geoff Garen.
3869
3870         Rename RuntimeObjectImp to RuntimeObject.
3871
3872         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3873         (WebKit::NetscapePluginInstanceProxy::addValueToArray):
3874         (WebKit::NetscapePluginInstanceProxy::retainLocalObject):
3875         (WebKit::NetscapePluginInstanceProxy::releaseLocalObject):
3876
3877 2010-02-22  Brady Eidson  <beidson@apple.com>
3878
3879         Reviewed by Tim Hatcher.
3880
3881         Disable WebView docking to views that are too small.
3882         <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254
3883
3884         * WebCoreSupport/WebInspectorClient.mm:
3885         (-[WebInspectorWindowController showWindow:]): No matter the preference, don't open the inspector 
3886           window attached if WebCore says it shouldn't be attached.
3887
3888 2010-02-22  Simon Fraser  <simon.fraser@apple.com>
3889
3890         Reviewed by John Sullivan.
3891
3892         <rdar://problem/7285392> 
3893         On Leopard, we have to disable hardware acceleration if we detect that the
3894         installed Core Video framework has bug <rdar://problem/7228836>.
3895         
3896         * WebView/WebView.mm:
3897         (coreVideoHas7228836Fix):
3898         (-[WebView _preferencesChangedNotification:]):
3899
3900 2010-02-21  Dan Bernstein  <mitz@apple.com>
3901
3902         Reviewed by Darin Adler.
3903
3904         False warnings about needing layout in
3905         -[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
3906         https://bugs.webkit.org/show_bug.cgi?id=35218
3907
3908         * WebView/WebHTMLView.mm:
3909         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
3910         Suppress the warning and the forced layout if the view is not being drawn
3911         in this display operation.
3912
3913 2010-02-21  Kevin Decker  <kdecker@apple.com>
3914
3915         Reviewed by Sam Weinig.
3916
3917         plugInViewWithArguments: API sends wrong parameter for WebPlugInBaseURLKey
3918         https://bugs.webkit.org/show_bug.cgi?id=35215
3919         <rdar://problem/7673157>
3920         
3921         The plugInViewWithArguments: API passes a dictionary of plugin arguments. One of the parameters
3922         is WebPlugInBaseURLKey, which is a key that represents the base URL of the document containing
3923         the plug-in's view. Instead of sending the base URL, code in  WebFrameLoaderClient::createPlugin
3924         would incorrectly pass the source URL of the plug-in resource.
3925
3926         * WebCoreSupport/WebFrameLoaderClient.mm:
3927         (WebFrameLoaderClient::createPlugin): When building the plug-in arguments dictionary, pass the
3928         real base URL for the WebPlugInBaseURLKey key.
3929
3930 2010-02-19  Maciej Stachowiak  <mjs@apple.com>
3931
3932         Reviewed by David Levin.
3933
3934         Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
3935         https://bugs.webkit.org/show_bug.cgi?id=35147
3936
3937         * Configurations/FeatureDefines.xcconfig:
3938
3939 2010-02-19  Alexey Proskuryakov  <ap@apple.com>
3940
3941         Reviewed by Maciej Stachowiak.
3942
3943         https://bugs.webkit.org/show_bug.cgi?id=35132
3944         <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)
3945
3946         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
3947         (WebNetscapePluginEventHandlerCarbon::mouseMoved): Send adjustCursor events on every mouse
3948         move. This matches Firefox, and is actually required for plug-ins to manipulate cursor wihout
3949         resorting to techniques such as fast firing timers.
3950
3951         * Plugins/WebNetscapePluginView.mm:
3952         (-[WebNetscapePluginView handleMouseEntered:]): Some plug-ins handle mouse cursor internally,
3953         but those that don't just need to get an arrow cursor (matching Firefox). This means that
3954         e.g. a plugin inside <A> won't get a finger mouse pointer.
3955
3956         * Plugins/WebHostedNetscapePluginView.mm:
3957         (-[WebNetscapePluginView handleMouseEntered:]):
3958         (-[WebNetscapePluginView handleMouseExited:]):
3959         Implement this behavior here, too. Also, out of process code didn't reset mouse pointer on
3960         mouse exit, which it needed to do.
3961
3962         * WebView/WebHTMLView.mm:
3963         (needsCursorRectsSupportAtPoint):
3964         (setCursor):
3965         (resetCursorRects):
3966         Make sure that the same workaround we have for Web content also applies to Netscape plug-ins,
3967         as AppKit would reset the mouse pointer to arrow if given a chance.
3968         (+[WebHTMLViewPrivate initialize]): Renamed setCursorIMP on Leopard and higher to prevent
3969         confusion - the method we override is completely different.
3970         (-[WebHTMLView hitTest:]): Added a FIXME about a likely bug.
3971
3972 2010-02-19  Simon Fraser  <simon.fraser@apple.com>
3973
3974         Reviewed by Dan Bernstein.
3975
3976         <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
3977         
3978         Followup to avoid capturing compositing layers twice in snapshots. Add private
3979         methods to WebView to specify whether drawing the WebView into an image will
3980         include flattened compositing layers (the default behavior) or not.
3981
3982         * WebView/WebFrame.mm:
3983         (-[WebFrame _drawRect:contentsOnly:]): Consult the WebView flag to see if we
3984         want flattening.
3985         
3986         * WebView/WebViewPrivate.h: New methods.
3987         * WebView/WebView.mm: Ditto.
3988         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
3989         (-[WebView _setIncludesFlattenedCompositingLayersWhenDrawingToBitmap:]):
3990         (-[WebView _includesFlattenedCompositingLayersWhenDrawingToBitmap]):
3991
3992         * WebView/WebViewData.h: New member variable.
3993
3994 2010-02-19  Alexey Proskuryakov  <ap@apple.com>
3995
3996         Reviewed by Dan Bernstein.
3997
3998         https://bugs.webkit.org/show_bug.cgi?id=35165
3999         plugins/set-status.html fails on Windows bot
4000
4001         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4002         (WebKit::NetscapePluginInstanceProxy::status):
4003         * Plugins/WebNetscapePluginView.mm:
4004         (-[WebNetscapePluginView status:]):
4005         Match Windows port behavior (and also Firefox one, in a way) - pass null status messages as
4006         empty ones to chrome.
4007
4008 2010-02-18  Simon Fraser  <simon.fraser@apple.com>
4009
4010         Reviewed by Dan Bernstein.
4011
4012         <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
4013
4014         Add logic to determine when painting via the software rendering path will give an equivalent
4015         result to the accelerated compositing presentation. This tests for the presence of 3D transforms.
4016
4017         Also have -[WebFrame _drawRect:contentsOnly:] set the PaintBehaviorFlattenCompositingLayers
4018         paint behavior when painting into a bitmap context, so that snapshots contain composited layers.
4019
4020         * WebView/WebFrame.mm:
4021         (-[WebFrame _drawRect:contentsOnly:]): Set the PaintBehaviorFlattenCompositingLayers flag
4022         when painting into a bitmap context.
4023         * WebView/WebView.mm:
4024         (-[WebView _isSoftwareRenderable]): Returns YES if all frames can be software-rendered.
4025         * WebView/WebViewPrivate.h: New _isSoftwareRenderable method.
4026
4027 2010-02-18  Alexey Proskuryakov  <ap@apple.com>
4028
4029         Reviewed by Dan Bernstein.
4030
4031         https://bugs.webkit.org/show_bug.cgi?id=35134
4032         <rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)
4033
4034         Test: plugins/set-status.html
4035
4036         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4037         (WebKit::NetscapePluginInstanceProxy::status):
4038         (WebKit::NetscapePluginInstanceProxy::loadURL):
4039         Added null checks for CFStringCreateWithCString arguments.
4040
4041 2010-02-17  Dmitry Titov  <dimich@chromium.org>
4042
4043         Reviewed by David Levin, Darin Fisher, Simon Hausmann.
4044
4045         When a live iframe element is moved between pages, it still depends on the old page.
4046         https://bugs.webkit.org/show_bug.cgi?id=34382
4047
4048         * WebCoreSupport/WebFrameLoaderClient.h:
4049         * WebCoreSupport/WebFrameLoaderClient.mm:
4050         Added empty implementation of a new virtual method.
4051
4052         (WebFrameLoaderClient::didTransferChildFrameToNewDocument):
4053
4054 2010-02-17  Kent Tamura  <tkent@chromium.org>
4055
4056         Reviewed by Eric Seidel.
4057
4058         Introduces new Icon loading interface in order to support
4059         asynchronous loading.
4060         https://bugs.webkit.org/show_bug.cgi?id=32054
4061
4062         Add an empty implementation of ChromeClient::iconForFiles().
4063
4064         * WebCoreSupport/WebChromeClient.h:
4065         * WebCoreSupport/WebChromeClient.mm:
4066         (WebChromeClient::iconForFiles):
4067
4068 2010-02-17  Timothy Hatcher  <timothy@apple.com>
4069
4070         Add a way for WebView and its dependancies to be selectively included
4071         in WebKitStatistics leak tracking. By default WebView is not included and
4072         you need to subclass WebView and implement +isIncludedInWebKitStatistics
4073         to be included.
4074
4075         rdar://problem/7567677&7572900
4076         https://webkit.org/b/35045
4077
4078         Reviewed by Adam Roben.
4079
4080         * WebView/WebDataSource.mm:
4081         (-[WebDataSource _initWithDocumentLoader:]): Increment WebDataSourceCount if the WebFrame is included in statistics.
4082         (-[WebDataSource dealloc]): Only --WebDataSourceCount if _private->includedInWebKitStatistics is YES.
4083         (-[WebDataSource finalize]): Ditto.
4084         * WebView/WebFrame.mm:
4085         (-[WebFrame _isIncludedInWebKitStatistics]): Return _private->includedInWebKitStatistics.
4086         (-[WebFrame _initWithWebFrameView:webView:]): Increment WebFrameCount if the WebView's class is included in statistics.
4087         (-[WebFrame dealloc]): Only --WebFrameCount if _private->includedInWebKitStatistics is YES.
4088         (-[WebFrame finalize]): Ditto.
4089         * WebView/WebFrameInternal.h:
4090         * WebView/WebFrameView.mm:
4091         (-[WebFrameView _setWebFrame:]): Increment WebFrameViewCount if the WebFrame is included in statistics.
4092         (-[WebFrameView initWithFrame:]): Move ++WebFrameViewCount from here since we don't
4093         know what WebFrame we belong to yet.
4094         (-[WebFrameView dealloc]): Only --WebFrameViewCount if _private->includedInWebKitStatistics is YES.
4095         (-[WebFrameView finalize]): Ditto.
4096         * WebView/WebHTMLRepresentation.mm:
4097         (-[WebHTMLRepresentation init]): Move ++WebHTMLRepresentationCount from here since we don't
4098         know what WebFrame we belong to yet.
4099         (-[WebHTMLRepresentation dealloc]): Only --WebHTMLRepresentationCount if _private->includedInWebKitStatistics is YES.
4100         (-[WebHTMLRepresentation finalize]): Ditto.
4101         (-[WebHTMLRepresentation setDataSource:]): Increment WebHTMLRepresentationCount if the WebFrame of the dataSource is
4102         included in statistics.
4103         * WebView/WebView.mm:
4104         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
4105         (-[WebView dealloc]):
4106         (+[WebView shouldIncludeInWebKitStatistics]): Return NO, so any WebView wont be included.
4107         Subclasses that care can return YES to be included.
4108         * WebView/WebViewInternal.h:
4109
4110 2010-02-16  Darin Adler  <darin@apple.com>
4111
4112         Reviewed by Sam Weinig.
4113
4114         Generalize delayed plug-in start for background tabs for use for other media
4115         https://bugs.webkit.org/show_bug.cgi?id=34981
4116
4117         * WebView/WebHTMLView.mm:
4118         (-[WebHTMLView viewWillMoveToWindow:]): Added comment.
4119         (-[WebHTMLView viewDidMoveToWindow]): Ditto.
4120
4121         * WebView/WebView.mm:
4122         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
4123         Call setCanStartMedia right away so that if this view is not in a window, it
4124         will not start any media.
4125         (-[WebView viewWillMoveToWindow:]): Call setCanStartMedia(false) when moving
4126         to a window of nil.
4127         (-[WebView viewDidMoveToWindow]): Call setCanStartMedia(true) when moved to
4128         a window that is non-nil.
4129
4130 2010-02-16  Eric Carlson  <eric.carlson@apple.com>
4131
4132         Reviewed by Simon Fraser.
4133
4134         https://bugs.webkit.org/show_bug.cgi?id=34988
4135         WebHTMLView.mm has two -willRemoveSubview: methods
4136
4137         * WebView/WebHTMLView.mm:
4138         (-[WebHTMLView willRemoveSubview:]): Consolidate the two copies of this method.
4139
4140 2010-02-16  Alexey Proskuryakov  <ap@apple.com>
4141
4142         Reviewed by Geoffrey Garen and Kevin Decker.
4143
4144         https://bugs.webkit.org/show_bug.cgi?id=34989
4145         <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content
4146
4147         This fixes event dispatch for both Cocoa and Carbon event models (mouseEntered/mouseExited
4148         in the former case, and adjustCursor in the latter).
4149
4150         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
4151         (-[WebHostedNetscapePluginView handleMouseEntered:]):
4152         (-[WebHostedNetscapePluginView handleMouseExited:]):
4153         * Plugins/WebBaseNetscapePluginView.h:
4154         * Plugins/WebBaseNetscapePluginView.mm:
4155         (-[WebBaseNetscapePluginView handleMouseEntered:]):
4156         (-[WebBaseNetscapePluginView handleMouseExited:]):
4157         * Plugins/WebNetscapePluginView.h:
4158         * Plugins/WebNetscapePluginView.mm:
4159         (-[WebNetscapePluginView handleMouseEntered:]):
4160         (-[WebNetscapePluginView handleMouseExited:]):
4161         AppKit cannot reliably dispatch events for overlapping views. We are now asking WebCore to
4162         notify plug-in views of mouse entered/exited as part of DOM event dispatch.
4163
4164         * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): Besides
4165         mouse moved, dispatch plugin mouse entered/exit events in HTMLPlugInElement default event
4166         handler. Other mouse events are passed down by EventHandler.
4167
4168 2010-02-15  Alexey Proskuryakov  <ap@apple.com>
4169
4170         More build fixing (for what is actually a 64-bit failure, as 32-bit apparently includes
4171         headers that aren't included in 64-bit).
4172
4173         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
4174         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4175         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::contains):
4176         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get):
4177         Move inline functions to .cpp; also made the class Noncopyable.
4178
4179 2010-02-15  Alexey Proskuryakov  <ap@apple.com>
4180
4181         Mac release build fix attempt.
4182
4183         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
4184         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4185         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::~LocalObjectMap):
4186         Implement destructor in .cpp file, where necessary headers are already included.
4187
4188 2010-02-12  Alexey Proskuryakov  <ap@apple.com>
4189
4190         Reviewed by Kevin Decker.
4191
4192         <rdar://problem/7130641> Browser objects identity is not preserved by Safari
4193
4194         Out of process part.
4195
4196         To avoid excessive IPC, plugin process doesn't send each NPObject release/retain call to
4197         Safari. It only sends one when the last one is removed, and it can destroy the proxy
4198         NPObject.
4199
4200         However, the browser may be sending the same object out to plug-in as a function call
4201