368cce6db98b4d7b5f7ff7e451d054decb96a840
[WebKit-https.git] / WebKit / mac / ChangeLog
1 2010-04-30  Anders Carlsson  <andersca@apple.com>
2
3         Part of the previous part (forgot to save).
4
5         * Plugins/WebNetscapePluginView.mm:
6         (-[WebNetscapePluginView stopTimers]):
7         (-[WebNetscapePluginView startTimers]):
8         (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
9         (-[WebNetscapePluginView _containerCheckResult:contextInfo:]):
10         (-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]):
11         (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
12         (-[WebNetscapePluginView unscheduleTimer:]):
13         (-[WebNetscapePluginView getVariable:forURL:value:length:]):
14         (-[WebNetscapePluginView setVariable:forURL:value:length:]):
15
16 2010-04-30  Anders Carlsson  <andersca@apple.com>
17
18         Reviewed by Darin Adler.
19
20         Use C99 integer types in more places.
21
22         * Plugins/WebNetscapePluginView.mm:
23         (getNPRect):
24
25 2010-04-30  Anders Carlsson  <andersca@apple.com>
26
27         Fix Tiger build.
28
29         * Plugins/WebBaseNetscapePluginStream.h:
30         * Plugins/WebBaseNetscapePluginStream.mm:
31         (WebNetscapePluginStream::startStream):
32
33 2010-04-30  Anders Carlsson  <andersca@apple.com>
34
35         Another 32-bit build fix.
36
37         * Plugins/WebNetscapePluginView.mm:
38         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
39
40 2010-04-30  Anders Carlsson  <andersca@apple.com>
41
42         Fix 32-bit build (again).
43
44         * Plugins/WebNetscapeContainerCheckContextInfo.h:
45         * Plugins/WebNetscapeContainerCheckContextInfo.mm:
46         (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
47         (-[WebNetscapeContainerCheckContextInfo checkRequestID]):
48         (-[WebNetscapeContainerCheckContextInfo callback]):
49         * Plugins/WebNetscapePluginPackage.h:
50
51 2010-04-30  Anders Carlsson  <andersca@apple.com>
52
53         Fix 32-bit build.
54
55         * Plugins/WebNetscapeContainerCheckContextInfo.h:
56         * Plugins/WebNetscapeContainerCheckContextInfo.mm:
57         (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
58         * Plugins/WebNetscapeContainerCheckPrivate.h:
59         * Plugins/WebNetscapePluginPackage.mm:
60         (functionPointerForTVector):
61         * Plugins/WebNetscapePluginView.mm:
62         (PluginTimer::PluginTimer):
63         (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
64         (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
65
66 2010-04-30  Anders Carlsson  <andersca@apple.com>
67
68         Reviewed by Timothy Hatcher.
69
70         Next step towards fixing
71         
72         https://bugs.webkit.org/show_bug.cgi?id=20784
73         move npapi.h to C99 integer types
74
75         Use the C99 types everywhere. The "old" types are still around but will be removed
76         in a subsequent commit.
77
78         * Plugins/WebBaseNetscapePluginStream.h:
79         * Plugins/WebBaseNetscapePluginStream.mm:
80         (WebNetscapePluginStream::deliverData):
81         * Plugins/WebNetscapePluginView.h:
82         * Plugins/WebNetscapePluginView.mm:
83         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
84         (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
85         * Plugins/npapi.mm:
86         (NPN_MemAlloc):
87         (NPN_MemFlush):
88         (NPN_PostURLNotify):
89         (NPN_PostURL):
90         (NPN_Write):
91         (NPN_ScheduleTimer):
92         (NPN_UnscheduleTimer):
93         (NPN_GetValueForURL):
94         (NPN_SetValueForURL):
95         (NPN_GetAuthenticationInfo):
96         (WKN_CheckIfAllowedToLoadURL):
97         (WKN_CancelCheckIfAllowedToLoadURL):
98
99 2010-04-29  Anders Carlsson  <andersca@apple.com>
100
101         Reviewed by Dan Bernstein.
102
103         First part of
104         https://bugs.webkit.org/show_bug.cgi?id=20784
105         move npapi.h to C99 integer types.
106
107         * MigrateHeaders.make:
108
109 2010-04-28  Mike Thole  <mthole@apple.com>
110
111         Reviewed by David Kilzer.
112
113         Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space 
114         can be inspected before attempting to authenticate against it
115         https://bugs.webkit.org/show_bug.cgi?id=38271
116
117         * WebCoreSupport/WebFrameLoaderClient.h:
118         * WebCoreSupport/WebFrameLoaderClient.mm:
119         (WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
120         Added.  If the resource load delegate implements the callback, use its answer.  If it does
121         not, then only send authentication challenges for pre-10.6 protection spaces, which matches
122         CFNetwork's default behavior.
123         * WebView/WebDelegateImplementationCaching.h:
124         * WebView/WebDelegateImplementationCaching.mm:
125         (CallResourceLoadDelegateReturningBoolean): Added case for passing three objects.
126         * WebView/WebResourceLoadDelegatePrivate.h:
127         Added private SPI definition: webView:resource:canAuthenticateAgainstProtectionSpace:forDataSource:
128         * WebView/WebView.mm:
129         (-[WebView _cacheResourceLoadDelegateImplementations]):
130
131 2010-04-28  Simon Fraser  <simon.fraser@apple.com>
132
133         Reviewed by Sam Weinig.
134
135         <rdar://problem/7918719> ASSERT(isMainThread()) from Font::setShouldUseSmoothing()
136         
137         Ensure that the WebView +initialize method initializes threading, so that things are correctly
138         initialized when the first call into the WebKit framework is via a WebView class method.
139
140         * WebView/WebView.mm:
141         (+[WebView initialize]):
142
143 2010-04-28  Darin Adler  <darin@apple.com>
144
145         Reviewed by Adele Peterson.
146
147         REGRESSION: Autoscroll does not work in Mail messages
148         https://bugs.webkit.org/show_bug.cgi?id=38267
149         rdar://problem/7559799
150
151         The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
152         view had gotten broken in multiple ways. For some reason, a combination of bugs made it
153         partly work until around r48064. This brings it back.
154
155         * WebCoreSupport/WebChromeClient.mm:
156         (WebChromeClient::scrollRectIntoView): When converting coordinates, use the document view
157         rather than the WebView itself. This logic may not be correct for the case where
158         usesDocumentViews is NO, but that is currently an experimental mode and can be fixed later.
159
160 2010-04-27  Shinichiro Hamaji  <hamaji@chromium.org>
161
162         Reviewed by Darin Adler and Eric Seidel.
163
164         Add layoutTestController.setPrinting()
165         https://bugs.webkit.org/show_bug.cgi?id=37203
166
167         * Misc/WebCoreStatistics.h:
168         * Misc/WebCoreStatistics.mm:
169         (-[WebFrame renderTreeAsExternalRepresentationForPrinting:]):
170
171 2010-04-25  Sam Weinig  <sam@webkit.org>
172
173         Reviewed by Maciej Stachowiak.
174
175         Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
176         Disentangle initializing the main thread from initializing threading
177
178         Calls initializeMainThreadToProcessMainThread since there is no way to ensure
179         that the initialize method will be called on the main thread.
180
181         * Carbon/CarbonWindowAdapter.mm:
182         (+[CarbonWindowAdapter initialize]): Add call to initializeMainThreadToProcessMainThread.
183         * History/WebBackForwardList.mm:
184         (+[WebBackForwardList initialize]): Ditto.
185         * History/WebHistoryItem.mm:
186         (+[WebHistoryItem initialize]): Ditto.
187         * Misc/WebElementDictionary.mm:
188         (+[WebElementDictionary initialize]): Ditto.
189         * Misc/WebIconDatabase.mm:
190         (+[WebIconDatabase initialize]): Ditto.
191         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
192         (+[WebHostedNetscapePluginView initialize]): Ditto.
193         * Plugins/WebBaseNetscapePluginView.mm:
194         (+[WebBaseNetscapePluginView initialize]): Ditto.
195         * Plugins/WebBasePluginPackage.mm:
196         (+[WebBasePluginPackage initialize]): Ditto.
197         * Plugins/WebNetscapePluginView.mm:
198         (+[WebNetscapePluginView initialize]): Ditto.
199         * WebCoreSupport/WebEditorClient.mm:
200         (+[WebEditCommand initialize]): Ditto.
201         * WebCoreSupport/WebFrameLoaderClient.mm: 
202         (+[WebFramePolicyListener initialize]): Ditto.
203         * WebView/WebArchive.mm:
204         (+[WebArchivePrivate initialize]): Ditto.
205         * WebView/WebDataSource.mm:
206         (+[WebDataSourcePrivate initialize]): Ditto.
207         * WebView/WebHTMLView.mm:
208         (+[WebHTMLViewPrivate initialize]): Ditto.
209         (+[WebHTMLView initialize]): Ditto.
210         * WebView/WebResource.mm:
211         (+[WebResourcePrivate initialize]): Ditto.
212         * WebView/WebTextIterator.mm:
213         (+[WebTextIteratorPrivate initialize]): Ditto.
214         * WebView/WebView.mm:
215         * WebView/WebViewData.mm: Ditto.
216         (+[WebViewPrivate initialize]): Ditto.
217
218 2010-04-24  Dan Bernstein  <mitz@apple.com>
219
220         Reviewed by Darin Adler.
221
222         <rdar://problem/7903728> REGRESSION (r51617): WebView fails to load plug-in MIME types
223         https://bugs.webkit.org/show_bug.cgi?id=38085
224
225         WebView was calling -_webView in a few places where it should have just used itself. It never
226         makes sense for WebView to call -_webView on itself, and these calls look like they were copied
227         from similar code in WebHTMLView, WebFrameView and WebDataSource, where -_webView has a different,
228         useful meaning.
229
230         * WebView/WebView.mm:
231         (-[WebView drawSingleRect:]): Replaced [self _webView] with self.
232         (-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Replaced [[self _webView] preferences]
233         with _private->preferences.
234         (-[WebView _canShowMIMEType:]): Ditto.
235
236 2010-04-23  Simon Fraser  <simon.fraser@apple.com>
237
238         Reviewed by Anders Carlsson.
239
240         <rdar://problem/7894489> When printing Flash, send a drawRect event, rather than NPPrint
241         
242         When printing Flash plug-ins in 32-bit, send a drawRect event with a CGContextRef, rather than calling
243         NPPrint with a GWorldPtr, since Flash prefers the CGContext path.
244
245         * Plugins/WebNetscapePluginView.mm:
246         (-[WebNetscapePluginView drawRect:]):
247
248 2010-04-22  David Kilzer  <ddkilzer@apple.com>
249
250         <http://webkit.org/b/38029> +[WebTextIteratorPrivate initialize] is missing call to JSC::initializeThreading()
251
252         Reviewed by Timothy Hatcher.
253
254         Every other Objective-C class that calls
255         WebCoreObjCFinalizeOnMainThread(self) in +initialize also calls
256         JSC::initializeThreading().  The WebTextIteratorPrivate class
257         was the only one missing this call.
258
259         * WebView/WebTextIterator.mm:
260         (+[WebTextIteratorPrivate initialize]): Added call to
261         JSC::initializeThreading().
262
263 2010-04-22  Alexey Proskuryakov  <ap@apple.com>
264
265         Rubber-stamped by Mark Rowe.
266
267         <rdar://problem/7805969> REGRESSION: iTunes unable to play trailers
268
269         Undo the changes made for https://bugs.webkit.org/show_bug.cgi?id=35215 (<rdar://problem/7673157>)
270         for now. Clients rely on the old behavior, so a fix that changes it will need to account for
271         those.
272
273         * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Pass pluginURL
274         instead of baseURL again.
275
276 2010-04-22  Dave Moore  <davemoore@chromium.org>
277
278         Reviewed by Dimitri Glazkov.
279
280         Added notification when the favicons for a page are changed
281         from a script.
282         The Document object will notify the frame loader, which will
283         notify the client. Implementations of FrameLoaderClient will
284         have to add one method; dispatchDidChangeIcons().
285
286         https://bugs.webkit.org/show_bug.cgi?id=33812
287
288         * WebCoreSupport/WebFrameLoaderClient.h:
289         * WebCoreSupport/WebFrameLoaderClient.mm:
290         (WebFrameLoaderClient::dispatchDidChangeIcons):
291
292 2010-04-22  Adam Barth  <abarth@webkit.org>
293
294         Unreviewed, rolling out r58069.
295         http://trac.webkit.org/changeset/58069
296         https://bugs.webkit.org/show_bug.cgi?id=27751
297
298         Broke compile on Windows.
299
300         * WebView/WebPreferenceKeysPrivate.h:
301         * WebView/WebPreferences.mm:
302         (+[WebPreferences initialize]):
303         * WebView/WebPreferencesPrivate.h:
304         * WebView/WebView.mm:
305         (-[WebView _preferencesChangedNotification:]):
306
307 2010-04-22  Abhishek Arya  <inferno@chromium.org>
308
309         Reviewed by Adam Barth.
310
311         Add support for controlling clipboard access from javascript.
312         Clipboard access from javascript is disabled by default.
313         https://bugs.webkit.org/show_bug.cgi?id=27751
314
315         * WebView/WebPreferenceKeysPrivate.h:
316         * WebView/WebPreferences.mm:
317         (+[WebPreferences initialize]):
318         (-[WebPreferences javaScriptCanAccessClipboard]):
319         (-[WebPreferences setJavaScriptCanAccessClipboard:]):
320         * WebView/WebPreferencesPrivate.h:
321         * WebView/WebView.mm:
322         (-[WebView _preferencesChangedNotification:]):
323
324 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
325
326         Reviewed by Shinichiro Hamaji.
327
328         https://bugs.webkit.org/show_bug.cgi?id=37964
329         Fix a typo in comments - Korean encoding name is windows-949, not windows-939
330
331         * WebView/WebPreferences.mm: (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):
332
333 2010-04-21  Mark Rowe  <mrowe@apple.com>
334
335         Tiger build fix.
336
337         * Plugins/WebPluginController.mm: Add an #import that is necessary on Tiger.
338
339 2010-04-21  Mark Rowe  <mrowe@apple.com>
340
341         Reviewed by Eric Carlson.
342
343         <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
344
345         Existing versions of the Flip4Mac WebKit plug-in have an object lifetime bug related to an NSAlert that is
346         used to notify the user about updates to the plug-in. This bug can result in Safari crashing if the page
347         containing the plug-in navigates while the alert is displayed (<rdar://problem/7313430>).
348
349         The gist of the bug is thus: Flip4Mac sets an instance of the TSUpdateCheck class as the modal delegate of the
350         NSAlert instance. This TSUpdateCheck instance itself has a delegate. The delegate is set to the WmvPlugin
351         instance which is the NSView subclass that is exposed to WebKit as the plug-in view. Since this relationship
352         is that of delegates the TSUpdateCheck does not retain the WmvPlugin. This leads to a bug if the WmvPlugin
353         instance is destroyed before the TSUpdateCheck instance as the TSUpdateCheck instance will be left with a
354         pointer to a stale object. This will happen if a page containing the Flip4Mac plug-in triggers a navigation
355         while the update sheet is visible as the WmvPlugin instance is removed from the view hierarchy and there are
356         no other references to keep the object alive.
357
358         We work around this bug by patching the following two messages:
359
360         1) -[NSAlert beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:]
361         2) -[TSUpdateCheck alertDidEnd:returnCode:contextInfo:]
362
363         Our override of 1) detects whether it is Flip4Mac's update sheet triggering the alert by checking whether the
364         modal delegate is an instance of TSUpdateCheck. If it is, it retains the modal delegate's delegate.
365
366         Our override of 2) then autoreleases the delegate, balancing the retain we added in 1).
367
368         These two overrides have the effect of ensuring that the WmvPlugin instance will always outlive the TSUpdateCheck
369         instance, preventing the TSUpdateCheck instance from accessing a stale delegate pointer and crashing the application.
370
371         * Plugins/WebPluginController.mm:
372         (-[WebPluginController addPlugin:]): Check whether the plug-in being instantiated is the Flip4Mac plug-in and
373         install our workaround if it is.
374         (isKindOfClass): Helper function that checks whether the given object is an instance of the named class.
375         (WebKit_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_): Autorelease the delegate.
376         (WebKit_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_): Retain the modal delegate's
377         delegate if this NSAlert belongs to the Flip4Mac plug-in.
378         (installFlip4MacPlugInWorkaroundIfNecessary): Swizzle the necessary methods.  We swizzle the TSUpdateCheck methods
379         first since it is possible that in some versions of Flip4Mac the TSUpdateCheck class may not exist or may not have
380         the method we're interested in.  In that case we want to bail out before patching any methods.
381
382 2010-04-20  Mark Rowe  <mrowe@apple.com>
383
384         Reviewed by Maciej Stachowiak.
385
386         <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
387
388         An interaction between the plug-in host and WebKit was resulting in WKPCSetModal being called while
389         NetscapePluginInstanceProxy was waiting on a reply to the GetScriptableNPObject message. This resulted
390         in calls to stop the plug-in being deferred due to the presence of plug-in code up the stack.  This
391         could lead to crashes as it was possible for the plug-in view to be deallocated during the modal runloop.
392
393         * Plugins/Hosted/NetscapePluginHostProxy.mm:
394         (WKPCInvalidateRect):
395         (WKPCSetModal): Defer the handling of setModal until the next runloop iteration if the host proxy
396         is already processing requests.  This ensures that there will be no plug-in code on the stack when
397         the modal runloop is entered, which allows the plug-in to be stopped when the page is navigated while
398         a modal dialog is displayed.
399
400 2010-04-20  Adam Barth  <abarth@webkit.org>
401
402         Reviewed by Eric Seidel.
403
404         Factor DocumentWriter out of FrameLoader
405         https://bugs.webkit.org/show_bug.cgi?id=37175
406
407         Update these callsites because the method moved to DocumentWriter.
408
409         * WebView/WebFrame.mm:
410         (-[WebFrame _canProvideDocumentSource]):
411         (-[WebFrame _receivedData:textEncodingName:]):
412
413 2010-04-20  Kent Tamura  <tkent@chromium.org>
414
415         Reviewed by Darin Adler.
416
417         Change a parameter type of chooseIconForFiles()
418         https://bugs.webkit.org/show_bug.cgi?id=37504
419
420         * WebCoreSupport/WebChromeClient.h:
421         * WebCoreSupport/WebChromeClient.mm:
422         (WebChromeClient::chooseIconForFiles):
423
424 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
425
426         Unreviewed, rolling out r57892.
427         http://trac.webkit.org/changeset/57892
428         https://bugs.webkit.org/show_bug.cgi?id=37864
429
430         Caused an assertion in Mac builds (Requested by smfr on
431         #webkit).
432
433         * WebView/WebFrame.mm:
434         (-[WebFrame _getVisibleRect:]):
435         * WebView/WebFrameView.mm:
436         (-[WebFrameView _install]):
437
438 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
439
440         Reviewed by Dan Bernstein.
441
442         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
443         https://bugs.webkit.org/show_bug.cgi?id=37741
444         
445         Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
446         RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
447
448         * WebView/WebFrame.mm:
449         (-[WebFrame _getVisibleRect:]):
450         * WebView/WebFrameView.mm:
451         (-[WebFrameView _install]):
452
453 2010-04-19  Dan Bernstein  <mitz@apple.com>
454
455         Reviewed by Sam Weinig.
456
457         Finish exposing extremal shrink factors WebHTMLView uses when shrinking pages to fit in the
458         printing width as SPI.
459
460         * WebKit.exp: Export _WebHTMLViewPrintingMinimumShrinkFactor and _WebHTMLViewPrintingMaximumShrinkFactor.
461
462 2010-04-15  Gavin Barraclough  <barraclough@apple.com>
463
464         Reviewed by Sam Weinig & Oliver Hunt.
465
466         https://bugs.webkit.org/show_bug.cgi?id=37675
467         Remove casts/constructors to/from JSC::UString type from WebCore::String
468         
469         WebCore's strings should not know about JSC::UString, this should be abstracted
470         away in the bindings.  Add explicit conversion methods rather than relying on
471         overloaded cast operators / constructors being implicitly called.
472
473         This patch only changes the class String, once this has landed StringImpl, and
474         hopefully AtomicString too, should follow suit.
475
476         * Plugins/Hosted/NetscapePluginHostProxy.mm:
477         (identifierFromIdentifierRep):
478         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
479         (WebKit::NetscapePluginInstanceProxy::addValueToArray):
480         (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
481         * Plugins/Hosted/ProxyInstance.mm:
482         (WebKit::ProxyInstance::getPropertyNames):
483         * WebView/WebFrame.mm:
484         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
485         (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
486         * WebView/WebScriptDebugDelegate.mm:
487         (-[WebScriptCallFrame evaluateWebScript:]):
488         * WebView/WebScriptDebugger.mm:
489         (toNSURL):
490         * WebView/WebView.mm:
491         (aeDescFromJSValue):
492
493 2010-04-16  Dan Bernstein  <mitz@apple.com>
494
495         Reviewed by John Sullivan.
496
497         Expose the extremal shrink factors WebHTMLView uses when shrinking pages to fit in the
498         printing width as SPI.
499
500         * WebView/WebHTMLView.mm:
501         Replaced two macros with constants.
502         (-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Changed to use the constants.
503         (-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto.
504         * WebView/WebHTMLViewPrivate.h: Declared _WebHTMLViewPrintingMinimumShrinkFactor and
505         _WebHTMLViewPrintingMaximumShrinkFactor.
506
507 2010-04-15  Mark Rowe  <mrowe@apple.com>
508
509         Reviewed by Sam Weinig.
510
511         <rdar://problem/7870651> WebDynamicScrollBarsView.h generates compile errors when included in plain Objective-C files.
512
513         * WebView/WebDynamicScrollBarsView.h:
514
515 2010-04-15  Adam Roben  <aroben@apple.com>
516
517         Export WebUserContentURLPattern from WebKit
518
519         Rubber-stamped by Mark Rowe.
520
521         * WebKit.exp:
522
523 2010-04-15  Dan Bernstein  <mitz@apple.com>
524
525         Reviewed by Simon Fraser.
526
527         Made consecutive calls to -[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:] work
528         without intermediate calls -[WebHTMLView _endPrintMode].
529
530         * WebView/WebHTMLView.mm:
531         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
532
533 2010-04-15  Adam Roben  <aroben@apple.com>
534
535         Expose UserContentURLPattern as WebKit SPI
536
537         Fixes <http://webkit.org/b/37354>.
538
539         Reviewed by Tim Hatcher.
540
541         * Misc/WebUserContentURLPattern.h: Added.
542
543         * Misc/WebUserContentURLPattern.mm: Added.
544         (-[WebUserContentURLPattern initWithPatternString:]): Initialize
545         _private and then parse the passed-in string into a
546         UserContentURLPattern.
547         (-[WebUserContentURLPattern dealloc]): Release _private.
548
549         (-[WebUserContentURLPattern isValid]):
550         (-[WebUserContentURLPattern scheme]):
551         (-[WebUserContentURLPattern host]):
552         (-[WebUserContentURLPattern matchesSubdomains]):
553         Call through to UserContentURLPattern.
554
555 2010-04-13  Geoffrey Garen  <ggaren@apple.com>
556
557         Reviewed by Oliver Hunt.
558
559         Separated a DOMWrapperWorld's behavior of keeping wrappers alive from
560         its own lifetime, so a DOMWrapperWorld's controller can throw away
561         its wrappers even before its refcount reaches 0.
562
563         * WebView/WebScriptWorld.h:
564         * WebView/WebScriptWorld.mm:
565         (-[WebScriptWorld unregisterWorld]): Exported this function through WebKit.
566
567 2010-04-12  Timothy Hatcher  <timothy@apple.com>
568
569         SecurityOrigin needs a way to remove individual OriginAccessEntries
570         https://bugs.webkit.org/show_bug.cgi?id=37449
571
572         Reviewed by Dave Hyatt.
573
574         * WebView/WebView.mm:
575         (+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
576         Call SecurityOrigin::removeOriginAccessWhitelistEntry.
577         * WebView/WebViewPrivate.h: Added _removeOriginAccessWhitelistEntryWithSourceOrigin.
578
579 2010-04-13  Timothy Hatcher  <timothy@apple.com>
580
581         Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
582         And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
583
584         SecurityOrigin needs a way to remove individual OriginAccessEntries
585         https://bugs.webkit.org/show_bug.cgi?id=37449
586
587         Reviewed by Dave Hyatt.
588
589         * WebView/WebView.mm:
590         (+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
591         (+[WebView _resetOriginAccessWhitelists]):
592         * WebView/WebViewPrivate.h:
593
594 2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>
595
596         Unreviewed, rolling out r57468.
597         http://trac.webkit.org/changeset/57468
598         https://bugs.webkit.org/show_bug.cgi?id=37433
599
600         Broke the world...  Must have applied the patch wrong
601         (Requested by abarth on #webkit).
602
603         * WebView/WebFrame.mm:
604         (-[WebFrame _canProvideDocumentSource]):
605         (-[WebFrame _receivedData:textEncodingName:]):
606
607 2010-04-11  Adam Barth  <abarth@webkit.org>
608
609         Reviewed by Eric Seidel.
610
611         Factor DocumentWriter out of FrameLoader
612         https://bugs.webkit.org/show_bug.cgi?id=37175
613
614         Update these callsites because the method moved to DocumentWriter.
615
616         * WebView/WebFrame.mm:
617         (-[WebFrame _canProvideDocumentSource]):
618         (-[WebFrame _receivedData:textEncodingName:]):
619
620 2010-04-10  Mark Rowe  <mrowe@apple.com>
621
622         Reviewed by Dan Bernstein.
623
624         <rdar://problem/7845305> Further adoption of formal protocols for delegates.
625
626         Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places.
627
628         * Misc/EmptyProtocolDefinitions.h: Removed.
629         * Misc/WebDownload.mm:
630         * WebKitPrefix.h:
631
632 2010-04-09  Jer Noble  <jer.noble@apple.com>
633
634         Reviewed by Darin Adler.
635
636         Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead.
637         https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993>
638
639         * WebView/WebVideoFullscreenController.mm:
640         (-[WebVideoFullscreenController windowDidLoad]):
641         (-[WebVideoFullscreenController setMediaElement:WebCore::]):
642
643 2010-04-09  Alexey Proskuryakov  <ap@apple.com>
644
645         Reviewed by Maciej Stachowiak.
646
647         https://bugs.webkit.org/show_bug.cgi?id=24572
648         XMLHttpRequest.statusText returns always "OK" on Mac
649
650         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
651
652 2010-04-09  Eric Seidel  <eric@webkit.org>
653
654         Unreviewed, rolling out r57343.
655         http://trac.webkit.org/changeset/57343
656         https://bugs.webkit.org/show_bug.cgi?id=37311
657
658         Broke Tiger compile.
659
660         * WebView/WebVideoFullscreenController.mm:
661         (-[WebVideoFullscreenController windowDidLoad]):
662         (-[WebVideoFullscreenController setMediaElement:WebCore::]):
663
664 2010-04-09  Dan Bernstein  <mitz@apple.com>
665
666         Reviewed by Darin Adler.
667
668         <rdar://problem/7846015> REGRESSION (r57332) - Crash in [WebDynamicScrollBarsView(WebInternal) reflectScrolledClipView:] when opening the Downloads window
669
670         * WebView/WebDynamicScrollBarsView.mm:
671         (-[WebDynamicScrollBarsView initWithCoder:]): Added. Calls super and then initializes _private.
672
673 2010-04-09  Jer Noble  <jer.noble@apple.com>
674
675         Reviewed by Darin Adler.
676
677         Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead.
678         https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993>
679
680         * WebView/WebVideoFullscreenController.mm:
681         (-[WebVideoFullscreenController windowDidLoad]):
682         (-[WebVideoFullscreenController setMediaElement:WebCore::]):
683
684 2010-04-08  Mark Rowe  <mrowe@apple.com>
685
686         Reviewed by John Sullivan.
687
688         <rdar://problem/7814899> REGRESSION(r56008): iTunes crashes on quit inside -[NSScrollView dealloc]
689
690         In r56008 new instance variables were added to WebDynamicScrollBarsView, increasing its size.
691         This causes problems for 32-bit applications that derive from WebDynamicScrollBarsView, as the
692         size and layout of their subclasses is baked in at compile time.  This results in instances
693         being allocated that are smaller than the new code expects, and may result in the new instance
694         variables sharing the same memory space as any instance variables that the subclass defines.
695
696         We can avoid this problem by having the class contain only a single member that acts as a pointer
697         to a heap-allocated structure that acts as storage for the real instance variables.  This makes
698         us free to add instance variables in the future without risk of changing the size of the class.
699         To ensure that 32-bit applications that are built against this new WebDynamicScrollBarsView header
700         are able to run against older versions of WebKit we pad the class out to its previous size.  This
701         results in any subclasses of WebDynamicScrollBarsView being created with a layout that is compatible
702         with both versions of the code.
703
704         This change could potentially break a subclass of WebDynamicScrollBarsView that directly accesses
705         instance variables of its superclass.  However, this is a private header and no known subclasses
706         of WebDynamicScrollBarsView access superclass instance variables in this fashion.
707
708         * WebView/WebDynamicScrollBarsView.h:
709         * WebView/WebDynamicScrollBarsView.mm:
710         (-[WebDynamicScrollBarsView initWithFrame:]):
711         (-[WebDynamicScrollBarsView dealloc]):
712         (-[WebDynamicScrollBarsView finalize]):
713         (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
714         (-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]):
715         (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
716         (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
717         (-[WebDynamicScrollBarsView horizontalScrollingAllowed]):
718         (-[WebDynamicScrollBarsView verticalScrollingAllowed]):
719         (-[WebDynamicScrollBarsView contentViewFrame]):
720         (-[WebDynamicScrollBarsView tile]):
721         (-[WebDynamicScrollBarsView setSuppressLayout:]):
722         (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
723         (-[WebDynamicScrollBarsView updateScrollers]):
724         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
725         (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
726         (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
727         (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]):
728         (-[WebDynamicScrollBarsView horizontalScrollingMode]):
729         (-[WebDynamicScrollBarsView verticalScrollingMode]):
730         (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
731         (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
732         (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
733         (-[WebDynamicScrollBarsView setScrollingModesLocked:]):
734         (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
735         (-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
736         (-[WebDynamicScrollBarsView scrollWheel:]):
737
738 2010-04-07  David Hyatt  <hyatt@apple.com>
739
740         Reviewed by Oliver Hunt.
741
742         https://bugs.webkit.org/show_bug.cgi?id=24300, don't expose history info via CSS
743
744         Add SPI so that layout tests can access computed style including :visited information.
745
746         * WebView/WebRenderNode.mm:
747         (copyRenderNode):
748         * WebView/WebView.mm:
749         (-[WebView _computedStyleIncludingVisitedInfo:forElement:]):
750         * WebView/WebViewInternal.h:
751         * WebView/WebViewPrivate.h:
752
753 2010-04-07  Dan Bernstein  <mitz@apple.com>
754
755         Reviewed by Adele Peterson.
756
757         Refactor WebHTMLView printing code and add private methods to enter and exit printing mode.
758         https://bugs.webkit.org/show_bug.cgi?id=37246
759
760         * Misc/WebNSPrintOperationExtras.h: Declared -_web_availablePaperWidth and -_web_availablePaperHeight.
761         * Misc/WebNSPrintOperationExtras.m:
762         (-[NSPrintOperation _web_availablePaperWidth]): Turned -[WebHTMLView _availablePaperWidthForPrintOperation:]
763         into this method.
764         (-[NSPrintOperation _web_availablePaperHeight]): Turned -[WebHTMLView _calculatePrintHeight] into this
765         method.
766         * WebView/WebHTMLView.mm:
767         (-[WebHTMLView _isInPrintMode]): Added this accessor.
768         (-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Added. Moved the code from -knowsPageRange: that
769         computes the layout widths and enters printing mode into this private method.
770         (-[WebHTMLView _endPrintMode]): New private method (the old -_endPrintMode has been renamed).
771         (-[WebHTMLView _scaleFactorForPrintOperation:]): Use -[NSPrintOperation _web_availablePaperWidth].
772         (-[WebHTMLView _endPrintModeAndRestoreWindowAutodisplay]): Renamed -_endPrintMode to this, changed it to call
773         _endPrintMode.
774         (-[WebHTMLView _delayedEndPrintMode:]): Updated for rename.
775         (-[WebHTMLView knowsPageRange:]): Use -_beginPrintModeWithPageWidth:shrintToFit:,
776         -[NSPrintOperation _web_availablePaperWidth], and -[NSPrintOperation _web_availablePaperHeight]. Updated for
777         rename.
778         (-[WebHTMLView beginDocument]): Updated for rename.
779         (-[WebHTMLView endDocument]): Ditto.
780         * WebView/WebHTMLViewPrivate.h: Declared new private methods -_isInPrintMode,
781         -_beginPrintModeWithPageWidth:shrinkToFit: and -_endPrintMode.
782
783 2010-04-07  Andrey Kosyakov  <caseq@chromium.org>
784
785         Reviewed by Yury Semikhatsky.
786
787         Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
788         https://bugs.webkit.org/show_bug.cgi?id=36949
789
790         * WebCoreSupport/WebFrameLoaderClient.h:
791         * WebCoreSupport/WebFrameLoaderClient.mm:
792
793 2010-04-06  Dan Bernstein  <mitz@apple.com>
794
795         Tiger build fix after r57184.
796
797         * WebView/WebHTMLViewPrivate.h:
798
799 2010-04-06  Dan Bernstein  <mitz@apple.com>
800
801         Tiger build fix after r57184.
802
803         * WebView/WebHTMLViewPrivate.h:
804
805 2010-04-06  Adam Barth  <abarth@webkit.org>
806
807         Unreviewed.
808
809         Speculative build fix for Tiger.
810
811         * WebView/WebHTMLViewPrivate.h:
812
813 2010-04-06  Dan Bernstein  <mitz@apple.com>
814
815         Reviewed by Sam Weinig and Anders Carlsson.
816
817         Expose WebHTMLView’s page breaking logic as SPI.
818
819         * WebView/WebHTMLView.mm:
820         (-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]): Factored out of -adjustPageHeightNew:top:bottom:limit:
821         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Call -_adjustedBottomOfPageWithTop:bottom:limit:
822         * WebView/WebHTMLViewPrivate.h: Declared -_adjustedBottomOfPageWithTop:bottom:limit:
823
824 2010-04-06  Mark Rowe  <mrowe@apple.com>
825
826         Add an #if in order to make Tiger happy.
827
828         * WebView/WebViewData.mm:
829         (-[WebViewPrivate init]):
830
831 2010-04-06  Mark Rowe  <mrowe@apple.com>
832
833         Build fix.
834
835         * WebView/WebViewData.mm:
836         (-[WebViewPrivate init]): Use objc_collectingEnabled like we do elsewhere in WebKit.
837
838 2010-04-05  Mark Rowe  <mrowe@apple.com>
839
840         Reviewed by Adele Peterson.
841
842         Test case for <http://webkit.org/b/37115> / <rdar://problem/7829331>.
843         REGRESSION(r56989): Crash in Mail in WebCore::Position::isCandidate when deleting block using block deletion UI
844
845         * WebView/WebHTMLView.mm:
846         (-[WebHTMLView _updateFontPanel]): Ask the window whether it is the key window rather than doing the comparison
847         manually.  This allows DumpRenderTree's override of isKeyWindow to force this code path to be taken during tests.
848
849 2010-04-05  Alexey Proskuryakov  <ap@apple.com>
850
851         Reviewed by Darin Adler.
852
853         https://bugs.webkit.org/show_bug.cgi?id=37111
854         <rdar://problem/7790327> Draw replacement text when plug-in host crashes
855
856         * Plugins/Hosted/WebHostedNetscapePluginView.h: Removed _pluginDied - it was only used
857         for drawing replacement icon, and this information is now in WebCore.
858         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
859         (-[WebHostedNetscapePluginView pluginHostDied]): Tell RenderEmbeddedObject that the plug-in
860         has crashed.
861         (-[WebHostedNetscapePluginView drawRect:]): Removed the case for crashed plug-in host. It is
862         handled by WebCore now.
863
864         * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory crashedPluginText]): Added a string
865         for plug-in failure.        
866
867 2010-04-03  yael aharon  <yael.aharon@nokia.com>
868
869         Reviewed by Darin Adler.
870
871         Enable HTMLProgressElement for Safari on OSX
872         https://bugs.webkit.org/show_bug.cgi?id=36961
873
874         * Configurations/FeatureDefines.xcconfig:
875
876 2010-04-02  Jer Noble  <jer.noble@apple.com>
877
878         Reviewed by Eric Carlson.
879
880         https://bugs.webkit.org/show_bug.cgi?id=36624
881         Add an INIT macro for the WebKitSystemInterface function wkQTMovieSelectPreferredAlternates.
882
883         * WebCoreSupport/WebSystemInterface.m:
884         (InitWebCoreSystemInterface):
885
886 2010-04-02  Alexey Proskuryakov  <ap@apple.com>
887
888         Reviewed by Darin Adler.
889
890         https://bugs.webkit.org/show_bug.cgi?id=37043
891         Java regression tests spam stderr about being unable to set status message
892
893         With this change, there is still spam about "Attempt to access JavaScript from destroyed
894         applet, type 9." I haven't investigated if that indicates a problem or not.
895
896         * Plugins/WebPluginController.mm: (-[WebPluginController webPlugInContainerShowStatus:]):
897         Removed check for _documentView. We don't seem to care.
898
899 2010-04-01  Kinuko Yasuda  <kinuko@chromium.org>
900
901         Reviewed by Dmitry Titov.
902
903         Add FileThread for async file operation support in FileReader and FileWriter
904         https://bugs.webkit.org/show_bug.cgi?id=36896
905
906         Add FILE_READER or FILE_WRITER feature defines.
907
908         * Configurations/FeatureDefines.xcconfig:
909
910 2010-04-01  Ada Chan  <adachan@apple.com>
911
912         Reviewed by Darin Adler.
913
914         Change WebDatabaseManager::deleteOrigin() to return true if there are no errors in deleting the origin.
915         Ditto for WebDatabaseManager::deleteDatabase().
916         
917         https://bugs.webkit.org/show_bug.cgi?id=36988
918
919         * Storage/WebDatabaseManager.mm:
920         (-[WebDatabaseManager deleteOrigin:]):
921         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
922         * Storage/WebDatabaseManagerPrivate.h:
923
924 2010-04-01  Alexey Proskuryakov  <ap@apple.com>
925
926         Reviewed by Darin Adler.
927
928         https://bugs.webkit.org/show_bug.cgi?id=36976
929         <rdar://problem/7817498>
930         REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled
931
932         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
933         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): The HashTable assertions aren't
934         there to catch potential future attempts to store empty/deleted values before these happen -
935         it's actually wrong to try to look up these values. Added an early return.
936         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Ditto.
937
938 2010-04-01  Chris Marrin  <cmarrin@apple.com>
939
940         Reviewed by Simon Fraser.
941
942         Added layerTreeAsText function to DRT (for Mac)
943         https://bugs.webkit.org/show_bug.cgi?id=36782
944
945         This is the WebKit side for Mac. It plumbs the
946         call from WebCore to DRT.
947
948         * WebView/WebFrame.mm:WebKit (Mac) side of plumbing
949         (-[WebFrame _layerTreeAsText]):
950         * WebView/WebFramePrivate.h:
951
952 2010-04-01  Alexey Proskuryakov  <ap@apple.com>
953
954         Reviewed by Oliver Hunt.
955
956         https://bugs.webkit.org/show_bug.cgi?id=36976
957         <rdar://problem/7817498>
958         REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled
959
960         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
961         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): Use find() instead of get(),
962         because the latter fails with an assertion when looking up 0 or -1.
963         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Be prepared for unexpected
964         object IDs coming from plug-in host.
965
966 2010-03-31  Chris Fleizach  <cfleizach@apple.com>
967
968         Reviewed by Darin Adler.
969
970         Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
971         https://bugs.webkit.org/show_bug.cgi?id=36845
972
973         Provide a way through WebKit to set an accessible label that describes the web area.    
974
975         * WebView/WebFrame.mm:
976         (-[WebFrame setAccessibleName:]):
977         * WebView/WebFramePrivate.h:
978
979 2010-03-31  Marcus Bulach  <bulach@chromium.org>
980
981         Reviewed by Jeremy Orlow.
982
983         Adds Geolocation param for cancelGeolocationPermissionRequestForFrame.
984         https://bugs.webkit.org/show_bug.cgi?id=35031
985
986         * WebCoreSupport/WebChromeClient.h:
987         (WebChromeClient::cancelGeolocationPermissionRequestForFrame):
988
989 2010-03-30  Gavin Barraclough  <barraclough@apple.com>
990
991         Rubber stamped by Sam Weinig.
992
993         https://bugs.webkit.org/show_bug.cgi?id=36866
994         Move CString to WTF
995
996         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
997         (WebKit::NetscapePluginInstanceProxy::getCookies):
998         (WebKit::NetscapePluginInstanceProxy::getProxy):
999         (WebKit::NetscapePluginInstanceProxy::getAuthenticationInfo):
1000         (WebKit::NetscapePluginInstanceProxy::resolveURL):
1001         * Plugins/WebBaseNetscapePluginView.h:
1002         * Plugins/WebBaseNetscapePluginView.mm:
1003         * Plugins/WebNetscapePluginView.mm:
1004         (-[WebNetscapePluginView resolveURL:forTarget:]):
1005
1006 2010-03-30  John Sullivan  <sullivan@apple.com>
1007
1008         Reviewed by Dan Bernstein.
1009
1010         https://bugs.webkit.org/show_bug.cgi?id=36848
1011         <rdar://problem/7362913>
1012         Menu items appropriate only for rich-content editing can appear in plain-text contexts
1013
1014         * WebView/WebHTMLView.mm:
1015         (-[WebHTMLView validRequestorForSendType:returnType:]):
1016         Don't return self for non-string content if _canEditRichly is false.
1017
1018 2010-03-29  Alexey Proskuryakov  <ap@apple.com>
1019
1020         Reviewed by Darin Adler.
1021
1022         https://bugs.webkit.org/show_bug.cgi?id=36791
1023         Add assertions for instance proxy validity
1024
1025         Add some assertions that the instance proxy hasn't been deleted. We sometimes keep a raw
1026         pointer to one across complicated function calls, relying on the caller to protect the
1027         reference.
1028
1029         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1030         (WebKit::NetscapePluginInstanceProxy::renderContextID):
1031         (WebKit::NetscapePluginInstanceProxy::pluginView):
1032         (WebKit::NetscapePluginInstanceProxy::hostProxy):
1033
1034 2010-03-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1035
1036         Reviewed by David Kilzer.
1037
1038         Explicit guards for ENABLE_GEOLOCATION
1039         https://bugs.webkit.org/show_bug.cgi?id=25756
1040
1041         * WebCoreSupport/WebGeolocationMock.mm:
1042         (-[WebGeolocationMock setError:code:]): Make the body conditional on 
1043         ENABLE(GEOLOCATION)
1044         (-[WebGeolocationMock setPosition:]): Ditto.
1045
1046 2010-03-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1047
1048         Reviewed by Antti Koivisto.
1049
1050         Change method name due to it dealing with both flattening
1051         of frame sets and inner frames.
1052
1053         * WebView/WebPreferenceKeysPrivate.h:
1054         * WebView/WebPreferences.mm:
1055         (+[WebPreferences initialize]):
1056         (-[WebPreferences isFrameFlatteningEnabled]):
1057         (-[WebPreferences setFrameFlatteningEnabled:]):
1058         * WebView/WebPreferencesPrivate.h:
1059         * WebView/WebView.mm:
1060         (-[WebView _preferencesChangedNotification:]):
1061
1062 2010-03-27  Darin Adler  <darin@apple.com>
1063
1064         * Misc/WebNSFileManagerExtras.m:
1065         (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]):
1066         Removed stray "!". How did that get in there?
1067
1068 2010-03-27  Darin Adler  <darin@apple.com>
1069
1070         Reviewed by Mark Rowe.
1071
1072         WebKit NSFileManager methods don't handle broken symlinks correctly.
1073         Part of <rdar://problem/7574046>.
1074
1075         * Misc/WebNSFileManagerExtras.h: Removed unused defines and methods.
1076         * Misc/WebNSFileManagerExtras.m: Removed unused methods.
1077         (fileExists): Added. For use instead of fileExistsAtPath: for cases where we'd like
1078         to treat a broken symlink as a file that does indeed exist.
1079         (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]): Use fileExists.
1080
1081 2010-03-25  Alexey Proskuryakov  <ap@apple.com>
1082
1083         Reviewed by Mark Rowe.
1084
1085         * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): Re-fetch host proxy in
1086         a way that works in a function that doesn't have a pluginID argument for some reason.
1087
1088 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
1089
1090         Build fix: no review.
1091         
1092         Another c_str() -> data().
1093         
1094         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1095         (WebKit::NetscapePluginInstanceProxy::enumerate):
1096
1097 2010-03-25  Alexey Proskuryakov  <ap@apple.com>
1098
1099         Reviewed by Mark Rowe.
1100
1101         Correctness fix after r56493.
1102
1103         * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): We still need to update
1104         our hostProxy reference, even though we didn't use to have instanceProxy. Nothing guarantees
1105         that the host proxy won't go away while the open panel is up.
1106
1107 2010-03-24  Mark Rowe  <mrowe@apple.com>
1108
1109         Build fix after r56474.
1110
1111         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1112         (WKPCRunSyncOpenPanel):
1113
1114 2010-03-24  Alexey Proskuryakov  <ap@apple.com>
1115
1116         Reviewed by Anders Carlsson.
1117
1118         https://bugs.webkit.org/show_bug.cgi?id=36563
1119         A plug-in makes Safari crash on http://www.itscodingtime.com/
1120
1121         * Plugins/Hosted/NetscapePluginHostProxy.h:
1122         (WebKit::NetscapePluginHostProxy::port): Assert that the object is still alive. This isn't
1123         beautifully systemic, but helped catch a bug, and may help catch more.
1124         (WebKit::NetscapePluginHostProxy::clientPort): Ditto.
1125         (WebKit::NetscapePluginHostProxy::isProcessingRequests): Changed m_processingRequests to a
1126         static. This doesn't change behavior much, but helps avoid writing into deallocated memory.
1127
1128         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1129         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): Changed m_processingRequests
1130         to a static.
1131         (WebKit::NetscapePluginHostProxy::processRequests): Ditto. Changing m_processingRequests
1132         after destroying the object in pluginHostDied() was wrong, but reasonably harmless, as there
1133         wasn't much time for some other object to be allocated at this address.
1134         (WKPCEvaluate): Refetch host proxy, as it may have been destroyed.
1135         (WKPCInvoke): Ditto.
1136         (WKPCInvokeDefault): Ditto.
1137         (WKPCGetProperty): Ditto.
1138         (WKPCSetProperty): Ditto.
1139         (WKPCRemoveProperty): Ditto.
1140         (WKPCHasProperty): Ditto.
1141         (WKPCHasMethod): Ditto.
1142         (WKPCEnumerate): Ditto.
1143         (WKPCRunSyncOpenPanel): Ditto.
1144
1145         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1146         (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply): Bail out of the 
1147         "event loop" if host proxy went away while processing a request.
1148
1149 2010-03-24  Hayato Ito  <hayato@chromium.org>
1150
1151         Reviewed by Shinichiro Hamaji.
1152
1153         Refactor computePageRects so that Mac can make use of it.
1154         https://bugs.webkit.org/show_bug.cgi?id=36159
1155
1156         Refactoring only, so no new tests.
1157
1158         * WebView/WebFrame.mm:
1159         (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
1160
1161 2010-03-24  Kent Tamura  <tkent@chromium.org>
1162
1163         Reviewed by Darin Adler.
1164
1165         Make Icon::createIconForFiles() optional.
1166         https://bugs.webkit.org/show_bug.cgi?id=35072
1167
1168         - Rename iconForFiles() to chooseIconForFiles().
1169         - Call Icon::createIconForFiles() from chooseIconForFiles().
1170
1171         * WebCoreSupport/WebChromeClient.h:
1172         * WebCoreSupport/WebChromeClient.mm:
1173         (WebChromeClient::chooseIconForFiles):
1174
1175 2010-03-23  Dan Bernstein  <mitz@apple.com>
1176
1177         Reverted accidental change from r56429.
1178
1179         * WebCoreSupport/WebContextMenuClient.mm:
1180         (WebContextMenuClient::getCustomMenuFromDefaultItems):
1181
1182 2010-03-23  Dan Bernstein  <mitz@apple.com>
1183
1184         Reviewed by John Sullivan.
1185
1186         WebKit part of
1187         <rdar://problem/7197736> Plug-in clip rect does not update when overflow
1188         clip changes
1189         https://bugs.webkit.org/show_bug.cgi?id=36479.
1190
1191         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1192         (-[WebHostedNetscapePluginView visibleRectDidChange]): Added. Calls
1193         WKSyncSurfaceToView().
1194         * Plugins/WebBaseNetscapePluginView.h:
1195         * Plugins/WebBaseNetscapePluginView.mm:
1196         (-[WebBaseNetscapePluginView _windowClipRect]): Changed to use Widget::windowClipRect().
1197         (-[WebBaseNetscapePluginView visibleRectDidChange]): Added. Invokes -renewGState.
1198
1199 2010-03-22  Kevin Decker  <kdecker@apple.com>
1200
1201         Reviewed by Simon Fraser.
1202
1203         https://bugs.webkit.org/show_bug.cgi?id=36328
1204
1205         This patch entirely WebNullPluginView.
1206         
1207         * Plugins/WebNetscapePluginView.mm:
1208         * Plugins/WebNullPluginView.h: Removed.
1209         * Plugins/WebNullPluginView.mm: Removed.
1210         * Resources/nullplugin.tiff: Removed.
1211         * WebCoreSupport/WebFrameLoaderClient.mm:
1212         (WebFrameLoaderClient::createPlugin): Invoke the resource load delegate if the plug-in failed to load.
1213
1214 2010-03-22  Alexey Proskuryakov  <ap@apple.com>
1215
1216         Reviewed by John Sullivan.
1217
1218         https://bugs.webkit.org/show_bug.cgi?id=36455
1219         Make WebKit more resistant against plug-in crashes
1220
1221         No tests, because crashing on build bots isn't good, even if it's only helper processes
1222         that crash.
1223
1224         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1225         (WebKit::NetscapePluginInstanceProxy::waitForReply): Protect "this", because this function
1226         needs it after waiting for reply. Some callers used to do this, but not all, and we really
1227         shouldn't depend on callers here.
1228
1229         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1230         (WebKit::NetscapePluginInstanceProxy::wheelEvent): Don't protect the plug-in instance proxy,
1231         because this function doesn't use it after waiting for reply.
1232         (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Ditto.
1233
1234         * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invoke): Added an m_instanceProxy
1235         null check for another code path.
1236
1237 2010-03-22  Kevin Decker  <kdecker@apple.com>
1238
1239         Reviewed by John Sullivan.
1240
1241         https://bugs.webkit.org/show_bug.cgi?id=36328
1242
1243         * WebCoreSupport/WebViewFactory.mm:
1244         (-[WebViewFactory missingPluginText]): Added.
1245
1246 2010-03-18  Alexey Proskuryakov  <ap@apple.com>
1247
1248         Reviewed by Darin Adler.
1249
1250         https://bugs.webkit.org/show_bug.cgi?id=36337
1251         Log an error when an OOP plug-in sends an unknown object id
1252
1253         Making these LOG_ERROR and not ASSERTs, because I don't want early returns to look
1254         temporary or redundant.
1255
1256         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1257         (WebKit::NetscapePluginInstanceProxy::evaluate):
1258         (WebKit::NetscapePluginInstanceProxy::invoke):
1259         (WebKit::NetscapePluginInstanceProxy::invokeDefault):
1260         (WebKit::NetscapePluginInstanceProxy::construct):
1261         (WebKit::NetscapePluginInstanceProxy::getProperty):
1262         (WebKit::NetscapePluginInstanceProxy::setProperty):
1263         (WebKit::NetscapePluginInstanceProxy::removeProperty):
1264         (WebKit::NetscapePluginInstanceProxy::hasProperty):
1265         (WebKit::NetscapePluginInstanceProxy::hasMethod):
1266         (WebKit::NetscapePluginInstanceProxy::enumerate):
1267
1268 2010-03-16  Alexey Proskuryakov  <ap@apple.com>
1269
1270         Reviewed by Darin Adler.
1271
1272         https://bugs.webkit.org/show_bug.cgi?id=36184
1273         YouTube video resizing doesn't work with OOP plug-ins
1274
1275         Test: plugins/resize-from-plugin.html
1276
1277         We were calling _WKPHResizePluginInstance synchronously or asynchronously, depending on
1278         whether the size has changed. But sync and async messages are not necessarily delivered in
1279         order - plug-in host listens only to the former while waiting for a response to a message it
1280         sent (a call to invoke() in this case).
1281
1282         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1283         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1284         (WebKit::NetscapePluginInstanceProxy::resize):
1285         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1286         (-[WebHostedNetscapePluginView updateAndSetWindow]):
1287
1288 2010-03-16  Yury Semikhatsky <yurys@chromium.org>
1289
1290         Reviewed by Pavel Feldman.
1291
1292         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.
1293
1294         Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
1295         https://bugs.webkit.org/show_bug.cgi?id=35036
1296
1297         * WebCoreSupport/WebInspectorClient.h:
1298         * WebCoreSupport/WebInspectorClient.mm:
1299         (WebInspectorClient::WebInspectorClient):
1300         (WebInspectorClient::inspectorDestroyed):
1301         (WebInspectorClient::openInspectorFrontend):
1302         (WebInspectorClient::highlight):
1303         (WebInspectorClient::hideHighlight):
1304         (WebInspectorFrontendClient::WebInspectorFrontendClient):
1305         (WebInspectorFrontendClient::frontendLoaded):
1306         (WebInspectorFrontendClient::localizedStringsURL):
1307         (WebInspectorFrontendClient::hiddenPanels):
1308         (WebInspectorFrontendClient::bringToFront):
1309         (WebInspectorFrontendClient::closeWindow):
1310         (WebInspectorFrontendClient::attachWindow):
1311         (WebInspectorFrontendClient::detachWindow):
1312         (WebInspectorFrontendClient::setAttachedWindowHeight):
1313         (WebInspectorFrontendClient::inspectedURLChanged):
1314         (WebInspectorFrontendClient::updateWindowTitle):
1315         (-[WebInspectorWindowController dealloc]):
1316         (-[WebInspectorWindowController windowShouldClose:]):
1317         (-[WebInspectorWindowController close]):
1318         (-[WebInspectorWindowController showWindow:]):
1319         (-[WebInspectorWindowController attach]):
1320         (-[WebInspectorWindowController detach]):
1321         (-[WebInspectorWindowController attached]):
1322         (-[WebInspectorWindowController setFrontendClient:]):
1323         (-[WebInspectorWindowController destroyInspectorView]):
1324         (-[WebNodeHighlighter initWithInspectedWebView:]):
1325         (-[WebNodeHighlighter dealloc]):
1326         (-[WebNodeHighlighter highlightNode:]):
1327         (-[WebNodeHighlighter hideHighlight]):
1328         (-[WebNodeHighlighter didAttachWebNodeHighlight:]):
1329         (-[WebNodeHighlighter willDetachWebNodeHighlight:]):
1330         * WebInspector/WebInspector.mm:
1331         (-[WebInspector attach:]):
1332         (-[WebInspector detach:]):
1333
1334 2010-03-15  Andy Estes  <aestes@apple.com>
1335
1336         Reviewed by John Sullivan.
1337
1338         Updated call to WKGetWheelEventDeltas() to match new method signature.
1339
1340         https://bugs.webkit.org/show_bug.cgi?id=29601
1341         <rdar://problem/7453254>
1342
1343         * WebView/WebDynamicScrollBarsView.mm:
1344         (-[WebDynamicScrollBarsView scrollWheel:]):
1345
1346 2010-03-15  John Sullivan  <sullivan@apple.com>
1347
1348         Reviewed by Adam Roben.
1349         
1350         -[WebFrame setAlwaysHideHorizontal/VerticalScroller:] prevents keyboard scrolling
1351         <https://bugs.webkit.org/show_bug.cgi?id=36125>
1352
1353         * WebView/WebDynamicScrollBarsView.h:
1354         Added instance variables horizontalScrollingAllowedButScrollerHidden and
1355         verticalScrollingAllowedButScrollerHidden. Renamed instance variables 
1356         hideHorizontal/VerticalScroller to alwaysHideHorizontal/VerticalScroller for clarity.
1357         Declared methods -horizontalScrollingAllowed and -verticalScrollingAllowed.
1358         Added comments.
1359         
1360         * WebView/WebDynamicScrollBarsView.mm:
1361         (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
1362         Updated for instance variable renaming.
1363         (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
1364         Ditto.
1365         (-[WebDynamicScrollBarsView horizontalScrollingAllowed]):
1366         New method, returns YES if the scroller is showing or the only reason that the scroller
1367         is not showing is that setAlwaysHideHorizontalScrolling has been called.
1368         (-[WebDynamicScrollBarsView verticalScrollingAllowed]):
1369         New method, returns YES if the scroller is showing or the only reason that the scroller
1370         is not showing is that setAlwaysHideVerticalScrolling has been called.
1371         (-[WebDynamicScrollBarsView updateScrollers]):
1372         Updated for instance variable renamings. Now updates horizontalScrollingAllowedButScrollerHidden
1373         and verticalScrollingAllowedButScrollerHidden. Now takes the always-hidden state into account
1374         in the early-return code path, to avoid taking it into account twice in the regular code path.
1375         
1376         * WebView/WebFrameView.mm:
1377         (-[WebFrameView _scrollToBeginningOfDocument]):
1378         Use _isScrollable instead of _hasScrollBars.
1379         (-[WebFrameView _scrollToEndOfDocument]):
1380         Ditto.
1381         (-[WebFrameView scrollToBeginningOfDocument:]):
1382         Use _largestScrollableChild instead of _largestChildWithScrollBars.
1383         (-[WebFrameView scrollToEndOfDocument:]):
1384         Ditto.
1385         (-[WebFrameView _pageVertically:]):
1386         Use _isScrollable and _largestScrollableChild instead of _hasScrollBars
1387         and _largestChildWithScrollBars.
1388         (-[WebFrameView _pageHorizontally:]):
1389         Ditto.
1390         (-[WebFrameView _scrollLineVertically:]):
1391         Ditto.
1392         (-[WebFrameView _scrollLineHorizontally:]):
1393         Ditto.
1394         (-[WebFrameView keyDown:]):
1395         Use _largestScrollableChild instead of _largestChildWithScrollBars.
1396         (-[WebFrameView _isScrollable]):
1397         New method, calls -[WebDynamicScrollBarsView horizontalScrollingAllowed] and
1398         -[WebDynamicScrollBarsView verticalScrollingAllowed]
1399         (-[WebFrameView _largestScrollableChild]):
1400         New method, like _largestChildWithScrollBars but uses _isScrollable.
1401         (-[WebFrameView _hasScrollBars]):
1402         Added a comment that this is no longer used by Safari, and can thus probably be
1403         deleted once we no longer want to support it for nightly build compatibility with
1404         old versions of Safari.
1405         (-[WebFrameView _largestChildWithScrollBars]):
1406         Ditto.
1407         
1408         * WebView/WebFrameViewPrivate.h:
1409         Declared -_isScrollable and -_largestScrollableChild. Added comments to
1410         _hasScrollBars and _largestChildWithScrollBars saying that they are no longer
1411         used by Safari, and can thus probably be deleted once we no longer want to 
1412         support them for nightly build compatibility with old versions of Safari.
1413
1414 2010-03-15  John Sullivan  <sullivan@apple.com>
1415
1416         Method name and parameter name mistakes from recent SPI addition
1417         <https://bugs.webkit.org/show_bug.cgi?id=36119>
1418
1419         Reviewed by Dan Bernstein.
1420
1421         * WebView/WebDynamicScrollBarsView.h:
1422         Renamed instance variable and method name from "setAllowXXX" to "setAllowsXXX".
1423         
1424         * WebView/WebDynamicScrollBarsView.mm:
1425         (-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]):
1426         Updated for renamed instance variable and method.
1427         (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
1428         Changed parameter name from shouldBeVisible to shouldBeHidden.
1429         (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
1430         Ditto.
1431         (-[WebDynamicScrollBarsView contentViewFrame]):
1432         Updated for renamed instance variable.
1433         (-[WebDynamicScrollBarsView tile]):
1434         Ditto.
1435         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
1436         Ditto.
1437
1438         * WebView/WebFrame.mm:
1439         (-[WebFrame setAllowsScrollersToOverlapContent:]):
1440         Renamed method from setAllowXXX, and updated for same change in WebDynamicScrollBarsView.
1441
1442         * WebView/WebFramePrivate.h:
1443         Renamed method name from "setAllowXXX" to "setAllowsXXX".
1444
1445 2010-03-14  Darin Adler  <darin@apple.com>
1446
1447         Reviewed by Mark Rowe.
1448
1449         Remove unneeded dependency on non-string identifier for an NSTableColumn
1450         https://bugs.webkit.org/show_bug.cgi?id=36106
1451
1452         * WebView/WebTextCompletionController.mm:
1453         (-[WebTextCompletionController _buildUI]): Use init instead of initWithIdentifier:
1454         because the table has only one column and that column does not need an identifier.
1455
1456 2010-03-12  Beth Dakin  <bdakin@apple.com>
1457
1458         Reviewed by Simon Fraser.
1459
1460         Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen 
1461         API naming is inconsistent
1462         -and corresponding-
1463         <rdar://problem/7729165>
1464
1465         This patch changes all occurrences of "fullScreen" to the more 
1466         popular "fullscreen."
1467
1468         * Plugins/Hosted/NetscapePluginHostProxy.h:
1469         (WebKit::NetscapePluginHostProxy::isFullscreenWindowShowing):
1470         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1471         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
1472         (WebKit::NetscapePluginHostProxy::didEnterFullscreen):
1473         (WebKit::NetscapePluginHostProxy::didExitFullscreen):
1474         (WebKit::NetscapePluginHostProxy::setFullscreenWindowIsShowing):
1475         (WKPCSetFullscreenWindowIsShowing):
1476         * Plugins/Hosted/WebKitPluginClient.defs:
1477         * Plugins/WebNetscapePluginView.mm:
1478         (-[WebNetscapePluginView _workaroundSilverlightFullscreenBug:]):
1479         (-[WebNetscapePluginView _createPlugin]):
1480         (-[WebNetscapePluginView _destroyPlugin]):
1481         * WebView/WebVideoFullscreenHUDWindowController.mm:
1482         (-[WebVideoFullscreenHUDWindowController windowDidLoad]):
1483
1484 2010-03-12  Andy Estes  <aestes@apple.com>
1485
1486         Reviewed by Brady Eidson.
1487
1488         Expose WebPDFView's underlying PDFDocument.
1489
1490         https://bugs.webkit.org/show_bug.cgi?id=36045
1491
1492         * WebView/WebDocumentPrivate.h: Create a new protocol called
1493         WebDocumentPDF.
1494         * WebView/WebPDFView.h: Have WebPDFView implement said protocol.
1495         * WebView/WebPDFView.mm:
1496         (-[WebPDFView PDFDocument]): Expose WebPDFView's underlying
1497         PDFDocument by implementing -(PDFDocument*)PDFDocument from
1498         WebDocumentPDF.
1499
1500 2010-03-12  Andy Estes  <aestes@apple.com>
1501
1502         Reviewed by Brady Eidson.
1503
1504         Remove an unused method.
1505
1506         https://bugs.webkit.org/show_bug.cgi?id=35940
1507
1508         * Plugins/WebPluginController.mm:
1509         removed - (void)showURL:(NSURL *) inFrame:(NSString *)
1510
1511 2010-03-11  Mark Rowe  <mrowe@apple.com>
1512
1513         Reviewed by David Kilzer.
1514
1515         <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
1516
1517         Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
1518
1519         * Configurations/Base.xcconfig:
1520
1521 2010-03-11  Mark Rowe  <mrowe@apple.com>
1522
1523         Reviewed by Tim Hatcher.
1524
1525         <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
1526
1527         Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted.  It defaults to the
1528         current Mac OS X version unless otherwise specified.
1529
1530         Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
1531
1532         Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
1533         may not be usable when targetting a different Mac OS X version.
1534
1535         Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
1536         MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
1537
1538         * Configurations/Base.xcconfig:
1539         * Configurations/DebugRelease.xcconfig:
1540         * Configurations/FeatureDefines.xcconfig:
1541         * Configurations/Version.xcconfig:
1542
1543 2010-03-11  Anders Carlsson  <andersca@apple.com>
1544
1545         Reviewed by David Hyatt.
1546
1547         Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
1548
1549         * WebCoreSupport/WebChromeClient.h:
1550         * WebCoreSupport/WebChromeClient.mm:
1551
1552 2010-03-11  Alexey Proskuryakov  <ap@apple.com>
1553
1554         Reviewed by Geoff Garen.
1555
1556         https://bugs.webkit.org/show_bug.cgi?id=35965
1557         <rdar://problem/7742771> Crash when passing an object returned from plug-in back to the plug-in
1558
1559         Test: plugins/round-trip-npobject.html
1560
1561         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1562         (WebKit::NetscapePluginInstanceProxy::retainLocalObject): Corrected the check - there is
1563         now a separate ProxyRuntimeObject class for proxy pbjects.
1564         (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto.
1565
1566         * Plugins/Hosted/ProxyInstance.mm:
1567         (WebKit::ProxyInstance::invoke): Check if m_instanceProxy is still non-zero. The plug-in
1568         could have crashed while we were waiting for response.
1569         (WebKit::ProxyInstance::setFieldValue): Ditto.
1570
1571 2010-03-10  Simon Fraser  <simon.fraser@apple.com>
1572
1573         Reviewed by Darin Adler.
1574
1575         https://bugs.webkit.org/show_bug.cgi?id=35975
1576         <rdar://problem/7739922> Flash 10.1b crashes when generating snapshots
1577
1578         Do a version check before sending a drawRect event to a Flash plugin,
1579         since 10.1.d51 has a bug that crashes when called this way.
1580         
1581         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1582         (-[WebHostedNetscapePluginView drawRect:]):
1583         * Plugins/WebBaseNetscapePluginView.h:
1584         * Plugins/WebBaseNetscapePluginView.mm:
1585         (-[WebBaseNetscapePluginView supportsSnapshotting]):
1586         * Plugins/WebNetscapePluginView.mm:
1587         (-[WebNetscapePluginView drawRect:]):
1588
1589 2010-03-10  John Sullivan  <sullivan@apple.com>
1590
1591         Reviewed by Tim Hatcher.
1592
1593         <rdar://problem/7735387> input type other than text won't work with autofill
1594         <https://bugs.webkit.org/show_bug.cgi?id=35963>
1595
1596         * WebView/WebHTMLRepresentation.mm:
1597         (-[WebHTMLRepresentation elementDoesAutoComplete:]):
1598         Return true for any text field that's not a password, rather than only
1599         for TEXT type.
1600
1601 2010-03-09  Brady Eidson  <beidson@apple.com>
1602
1603         Reviewed by Tim Hatcher.
1604
1605         REGRESSION: WebInspector docking busted on Windows
1606         <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953
1607
1608         * WebCoreSupport/WebInspectorClient.mm:
1609         (-[WebInspectorWindowController showWindow:]): Use the InspectorController:: copy of the should attach settings key.
1610         (-[WebInspectorWindowController attach]): Ditto.
1611         (-[WebInspectorWindowController detach]): Ditto.
1612
1613 2010-03-09  Geoffrey Garen  <ggaren@apple.com>
1614
1615         Reviewed by Darin Adler.
1616
1617         Updated for FastMalloc reporting changes.
1618         
1619         * Misc/WebCoreStatistics.mm:
1620         (+[WebCoreStatistics memoryStatistics]):
1621
1622 2010-03-08  Simon Fraser  <simon.fraser@apple.com>
1623
1624         Reviewed by Mark Rowe.
1625
1626         Move the new method to the end of the MIG definitions file, to avoid breaking
1627         compatibility between WebKit and older versions of WebKitPluginHost.
1628
1629         * Plugins/Hosted/WebKitPluginHost.defs:
1630
1631 2010-03-08  Simon Fraser  <simon.fraser@apple.com>
1632
1633         Reviewed by Kevin Decker.
1634
1635         <rdar://problem/7714340> Need to grab image snapshot of Core Animation plugins
1636         
1637         Allow plug-ins using the Core Animation drawing model to be captured when doing a flattening paint,
1638         by sending them a drawRect event as if they were software-painting.
1639
1640         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1641         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1642         (WebKit::NetscapePluginInstanceProxy::snapshot):
1643         New snapshot() method that calls over to the plugin host, and then draws the image that comes back.
1644         
1645         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1646         (-[WebHostedNetscapePluginView drawRect:]): If we don't have a software renderer, but we're doing
1647         a flattening paint, then call the snapshot method.
1648         
1649         * Plugins/Hosted/WebKitPluginHost.defs: Added snapshot method.
1650         
1651         * Plugins/WebBaseNetscapePluginView.h:
1652         * Plugins/WebBaseNetscapePluginView.mm:
1653         (-[WebBaseNetscapePluginView inFlatteningPaint]):
1654         New utility method that asks the FrameView whether the current paint behavior is
1655         flattening.
1656         
1657         * Plugins/WebNetscapePluginView.mm:
1658         (-[WebNetscapePluginView drawRect:]): If the plug-in is using CA but this is a flattening
1659         paint, go ahead and send a drawRect event to the plug-in.
1660
1661 2010-03-08  Darin Adler  <darin@apple.com>
1662
1663         Reviewed by Dan Bernstein.
1664
1665         Fix crash when you quit inside an unload handler.
1666         rdar://problem/6958347
1667
1668         Test: manual-tests/quit-inside-unload.html
1669
1670         * WebView/WebView.mm:
1671         (-[WebView _closeWithFastTeardown]): Removed code to set
1672         _private->closed since _close now does this earlier, before
1673         calling this method.
1674         (-[WebView _close]): Moved code to set _private->closed to the
1675         top of this method.
1676         (-[WebView setHostWindow:]): Rewrote the code that forbade
1677         setting the host window after closing so that it only forbids
1678         non-nil host windows. That way, the code to clear away the host
1679         window can run safely after setting _private->closed, yet client
1680         code cannot set a new host window after closing.
1681
1682 2010-03-08  Darin Adler  <darin@apple.com>
1683
1684         Roll out a file I checked in by accident.
1685
1686         * WebView/WebView.mm: Back to previous version.
1687
1688 2010-03-08  Chris Marrin  <cmarrin@apple.com>
1689
1690         Reviewed by Darin Adler.
1691
1692         Turn on HW accel on Leopard even if coreVideoHas7228836Fix() is false, when WebGL is enabled
1693         https://bugs.webkit.org/show_bug.cgi?id=35759
1694
1695         This allows WebGL to work on Leopard without the fix. It exposes these users to the crash
1696         that happens because of the CoreVideo bug, but it limits the exposure to those who have 
1697         chosen to enable WebGL.
1698
1699         * WebView/WebView.mm:
1700         (-[WebView _preferencesChangedNotification:]):
1701
1702 2010-03-02  Adam Treat  <atreat@rim.com>
1703
1704         Reviewed by Dave Hyatt.
1705
1706         Adapt the mac port to the refactoring of repaint methods.
1707
1708         https://bugs.webkit.org/show_bug.cgi?id=34214
1709
1710         * WebCoreSupport/WebChromeClient.h:
1711         * WebCoreSupport/WebChromeClient.mm:
1712         (WebChromeClient::invalidateContents):
1713         (WebChromeClient::invalidateWindow):
1714         (WebChromeClient::invalidateContentsAndWindow):
1715         (WebChromeClient::invalidateContentsForSlowScroll):
1716
1717 2010-03-08  Jian Li  <jianli@chromium.org>
1718
1719         Reviewed by Dmitry Titov.
1720
1721         Blob.slice support.
1722         https://bugs.webkit.org/show_bug.cgi?id=32993
1723
1724         Add ENABLE_BLOB_SLICE feature define.
1725
1726         * Configurations/FeatureDefines.xcconfig:
1727
1728 2010-03-08  Eric Uhrhane  <ericu@chromium.org>
1729
1730         Reviewed by David Levin.
1731
1732         Remove the now-redundant Settings fields for the Database
1733         https://bugs.webkit.org/show_bug.cgi?id=35763
1734
1735         No new tests; this code isn't called.
1736
1737         * WebView/WebView.mm: Remove the call into Settings.
1738         (-[WebView _preferencesChangedNotification:]):
1739
1740 2010-03-07  Mark Rowe  <mrowe@apple.com>
1741
1742         Rubber-stamped by Cameron Zwarich.
1743
1744         Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
1745
1746         * Misc/WebIconDatabase.mm:
1747
1748 2010-03-07  Mark Rowe  <mrowe@apple.com>
1749
1750         Rubber-stamped by Cameron Zwarich.
1751
1752         Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
1753
1754         * Misc/WebNSPasteboardExtras.mm:
1755
1756 2010-03-04  Mark Rowe  <mrowe@apple.com>
1757
1758         Reviewed by Sam Weinig.
1759
1760         <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h
1761
1762         * MigrateHeaders.make: Migrate DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h.
1763
1764 2010-03-04  Mark Rowe  <mrowe@apple.com>
1765
1766         Reviewed by Sam Weinig.
1767
1768         Use a framework-style include to pull in WebInspector.h for consistency
1769         with other parts of WebKit.
1770
1771         * WebInspector/WebInspectorPrivate.h:
1772
1773 2010-03-04  Brady Eidson  <beidson@apple.com>
1774
1775         Reviewed by Geoff Garen.
1776
1777         REGRESSION (31281): -[WebArchive initWithCoder:] leaks
1778         <rdar://problem/7702420> and https://bugs.webkit.org/show_bug.cgi?id=35534
1779
1780         * WebView/WebArchive.mm:
1781         (-[WebArchive initWithCoder:]): Don't retain objects we don't own.
1782
1783 2010-03-03  Alexey Proskuryakov  <ap@apple.com>
1784
1785         Reviewed by Timothy Hatcher.
1786
1787         https://bugs.webkit.org/show_bug.cgi?id=35692
1788         <rdar://problem/7703622> Crash when calling abort() on an XHR while in a windowless WebView
1789
1790         * Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
1791         Retain the challenge, just like it's done for sheet.
1792
1793 2010-03-02  Eric Uhrhane  <ericu@chromium.org>
1794
1795         Reviewed by David Levin.
1796
1797         Move database enable bit fully out of settings
1798         This is stage one of a three-stage commit [webkit, then chromium, then
1799         webkit again].  In this change I'm adding calls to
1800         Database::setIsAvailable inside Settings::setDatabaseEnabled and
1801         anywhere else that called it, and switching webkit fully over to using
1802         that flag [added in a previous checkin].  Phase two will remove
1803         Chromium's use of Settings for the Database, and phase three will remove
1804         the Setting for the Database enable entirely, leaving only
1805         Database::isAvailable/setIsAvailable.
1806
1807         No new tests; tested by existing storage tests.
1808
1809         https://bugs.webkit.org/show_bug.cgi?id=35310
1810
1811         * WebView/WebView.mm:  Added a call to Database::setIsAvailable.
1812         (-[WebView _preferencesChangedNotification:]):
1813
1814 2010-03-02  Adam Roben  <aroben@apple.com>
1815
1816         Add -[WebView _registerURLSchemeAsSecure:]
1817
1818         Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose
1819         SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI
1820
1821         Reviewed by Tim Hatcher.
1822
1823         * WebView/WebView.mm:
1824         (+[WebView _registerURLSchemeAsSecure:]):
1825         * WebView/WebViewPrivate.h:
1826         Added. Calls through to SecurityOrigin::registerURLSchemeAsSecure.
1827
1828 2010-03-01  Jakob Petsovits  <jpetsovits@rim.com>
1829
1830         Reviewed by Adam Barth.
1831
1832         Adapt to the new ZoomMode enum.
1833         https://bugs.webkit.org/show_bug.cgi?id=35347
1834
1835         * WebView/WebView.mm:
1836         (-[WebView _preferencesChangedNotification:]):
1837         (-[WebView _setZoomMultiplier:isTextOnly:]):
1838         (-[WebView _realZoomMultiplierIsTextOnly]):
1839
1840 2010-02-27  Jing Jin  <jjin@apple.com>
1841
1842         Reviewed by Timothy Hatcher.
1843
1844         Move implementation of Bug 35449 into WebFramePrivate.
1845
1846         * WebView/WebFrame.h:
1847         * WebView/WebFrame.mm:
1848         (-[WebFrame setAllowScrollersToOverlapContent:]):
1849         (-[WebFrame setAlwaysHideHorizontalScroller:]):
1850         (-[WebFrame setAlwaysHideVerticalScroller:]):
1851         * WebView/WebFramePrivate.h:
1852
1853 2010-02-26  Jing Jin  <jjin@apple.com>
1854
1855         Reviewed by Timothy Hatcher.
1856
1857         https://bugs.webkit.org/show_bug.cgi?id=35449
1858         Add ability to hide WebFrame scrollbars and to allow scrollbars to overlap with content.
1859
1860         * WebView/WebDynamicScrollBarsView.h:
1861         * WebView/WebDynamicScrollBarsView.mm:
1862         (-[WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]): Allows scrollbars to 
1863         overlap with the document and re-layouts the document.
1864         (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]): Hides the horizontal scrollbar.
1865         (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]): Hides the vertical scrollbar.
1866         (-[WebDynamicScrollBarsView contentViewFrame]): Calculates the appropriate frame based
1867         on allowScrollersToOverlapContent.
1868         (-[WebDynamicScrollBarsView tile]): If allowScrollersToOverlapContent is YES, set the
1869         contentView's frame so it overlaps with the scrollbar.
1870         (-[WebDynamicScrollBarsView updateScrollers]): Take into account hideHorizontalScroller
1871         and hideVerticalScroller.
1872         (-[WebDynamicScrollBarsView reflectScrolledClipView:]): set drawsBackground to NO when
1873         scrollbars are overlapping with content, so we don't get trails during scrollbar draw updates.
1874         * WebView/WebDynamicScrollBarsViewInternal.h:
1875         * WebView/WebFrame.h:
1876         * WebView/WebFrame.mm:
1877         (-[WebFrame setAllowScrollersToOverlapContent:]): Hook for [WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]
1878         (-[WebFrame setAlwaysHideHorizontalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]
1879         (-[WebFrame setAlwaysHideVerticalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]
1880
1881 2010-02-26  Gavin Barraclough  <barraclough@apple.com>
1882
1883         Reviewed by Alexey Proskuryakov.
1884
1885         Bug 35401 - Fix handling of errors in handling calls over bridge,
1886         where base object bridge-type does not match method bridge-type.
1887
1888         The code assumes users will only attempt to invoke a Java method
1889         on a Java base object, etc.
1890         Add language specific subclasses of RuntimeMethod, and pass the
1891         RuntimeMethod into invokeMethod, so we can typecheck before
1892         casting.  Throw an exception on type mismatch.
1893
1894         * Plugins/Hosted/ProxyInstance.h:
1895         * Plugins/Hosted/ProxyInstance.mm:
1896         (WebKit::PluginRuntimeMethod::PluginRuntimeMethod): new class to distinguish this type of RuntimeMethod.
1897         (WebKit::ProxyInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
1898         (WebKit::ProxyInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
1899
1900 2010-02-25  Alexey Proskuryakov  <ap@apple.com>
1901
1902         Reviewed by Geoffrey Garen.
1903
1904         https://bugs.webkit.org/show_bug.cgi?id=35394
1905         <rdar://problem/7685262> Make passing objects between Java and plug-ins work
1906
1907         Added a ProxyInstance implementation of RuntimeObject.
1908
1909         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1910         (WebKit::NetscapePluginInstanceProxy::addValueToArray):
1911         * Plugins/Hosted/ProxyInstance.h:
1912         * Plugins/Hosted/ProxyInstance.mm:
1913         (WebKit::ProxyInstance::newRuntimeObject):
1914         (WebKit::ProxyInstance::getClass):
1915         * Plugins/Hosted/ProxyRuntimeObject.h: Added.
1916         (WebKit::ProxyRuntimeObject::classInfo):
1917         * Plugins/Hosted/ProxyRuntimeObject.mm: Added.
1918         (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
1919         (WebKit::ProxyRuntimeObject::~ProxyRuntimeObject):
1920         (WebKit::ProxyRuntimeObject::getInternalProxyInstance):
1921
1922 2010-02-24  Adam Barth  <abarth@webkit.org>
1923
1924         Reviewed by Darin Fisher.
1925
1926         [Chromium API] Disambiguate allowJavaScript from didNotAllowScript
1927         https://bugs.webkit.org/show_bug.cgi?id=35205
1928
1929         Make these two callsites explicit about not running script immediately.
1930
1931         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1932         (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
1933         (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
1934
1935 2010-02-23  Brady Eidson  <beidson@apple.com>
1936
1937         Reviewed by Tim Hatcher and Pavel Feldman.
1938
1939         Regression (r55107) - WebInspector docking is busted.
1940         https://bugs.webkit.org/show_bug.cgi?id=35274
1941
1942         * WebCoreSupport/WebInspectorClient.mm:
1943         (-[WebInspectorWindowController showWindow:]): Swap the order of the "should attach?" check
1944           to get the expected behavior.
1945
1946 2010-02-23  Dan Bernstein  <mitz@apple.com>
1947
1948         Reviewed by Simon Fraser.
1949
1950         <rdar://problem/7611158> Incomplete repaint of YouTube timeline thumb while scrolling
1951         https://bugs.webkit.org/show_bug.cgi?id=34381
1952
1953         Test: fast/repaint/repaint-during-scroll.html
1954
1955         NSClipView offsets any rects marked as needing display during scrolling
1956         by the scroll offset. Compensate for this when -setNeedsDisplay: is called
1957         during scrolling.
1958
1959         * WebView/WebHTMLView.mm:
1960         (-[WebHTMLView _frameOrBoundsChanged]): Set inScrollPositionChanged to YES
1961         around to call to FrameView::scrollPositionChanged().
1962         (-[WebHTMLView setNeedsDisplayInRect:]): When called beneath
1963         scrollPositionChanged(), adjust the rect by the inverse of the scroll offset.
1964
1965 2010-02-23  Steve Block  <steveblock@google.com>
1966
1967         Reviewed by Darin Adler.
1968
1969         Adds ChromeClient::cancelGeolocationPermissionRequestForFrame
1970         https://bugs.webkit.org/show_bug.cgi?id=34962
1971
1972         This method is required so that a Geolocation object can cancel an
1973         asynchronous permission request. This allows the chrome client to cancel
1974         any UI it is showing for the permission request.
1975
1976         * WebCoreSupport/WebChromeClient.h:
1977         (WebChromeClient::cancelGeolocationPermissionRequestForFrame):
1978
1979 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
1980
1981         Rubber-stamped by Geoff Garen.
1982
1983         Rename RuntimeObjectImp to RuntimeObject.
1984
1985         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1986         (WebKit::NetscapePluginInstanceProxy::addValueToArray):
1987         (WebKit::NetscapePluginInstanceProxy::retainLocalObject):
1988         (WebKit::NetscapePluginInstanceProxy::releaseLocalObject):
1989
1990 2010-02-22  Brady Eidson  <beidson@apple.com>
1991
1992         Reviewed by Tim Hatcher.
1993
1994         Disable WebView docking to views that are too small.
1995         <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254
1996
1997         * WebCoreSupport/WebInspectorClient.mm:
1998         (-[WebInspectorWindowController showWindow:]): No matter the preference, don't open the inspector 
1999           window attached if WebCore says it shouldn't be attached.
2000
2001 2010-02-22  Simon Fraser  <simon.fraser@apple.com>
2002
2003         Reviewed by John Sullivan.
2004
2005         <rdar://problem/7285392> 
2006         On Leopard, we have to disable hardware acceleration if we detect that the
2007         installed Core Video framework has bug <rdar://problem/7228836>.
2008         
2009         * WebView/WebView.mm:
2010         (coreVideoHas7228836Fix):
2011         (-[WebView _preferencesChangedNotification:]):
2012
2013 2010-02-21  Dan Bernstein  <mitz@apple.com>
2014
2015         Reviewed by Darin Adler.
2016
2017         False warnings about needing layout in
2018         -[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
2019         https://bugs.webkit.org/show_bug.cgi?id=35218
2020
2021         * WebView/WebHTMLView.mm:
2022         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
2023         Suppress the warning and the forced layout if the view is not being drawn
2024         in this display operation.
2025
2026 2010-02-21  Kevin Decker  <kdecker@apple.com>
2027
2028         Reviewed by Sam Weinig.
2029
2030         plugInViewWithArguments: API sends wrong parameter for WebPlugInBaseURLKey
2031         https://bugs.webkit.org/show_bug.cgi?id=35215
2032         <rdar://problem/7673157>
2033         
2034         The plugInViewWithArguments: API passes a dictionary of plugin arguments. One of the parameters
2035         is WebPlugInBaseURLKey, which is a key that represents the base URL of the document containing
2036         the plug-in's view. Instead of sending the base URL, code in  WebFrameLoaderClient::createPlugin
2037         would incorrectly pass the source URL of the plug-in resource.
2038
2039         * WebCoreSupport/WebFrameLoaderClient.mm:
2040         (WebFrameLoaderClient::createPlugin): When building the plug-in arguments dictionary, pass the
2041         real base URL for the WebPlugInBaseURLKey key.
2042
2043 2010-02-19  Maciej Stachowiak  <mjs@apple.com>
2044
2045         Reviewed by David Levin.
2046
2047         Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
2048         https://bugs.webkit.org/show_bug.cgi?id=35147
2049
2050         * Configurations/FeatureDefines.xcconfig:
2051
2052 2010-02-19  Alexey Proskuryakov  <ap@apple.com>
2053
2054         Reviewed by Maciej Stachowiak.
2055
2056         https://bugs.webkit.org/show_bug.cgi?id=35132
2057         <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)
2058
2059         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
2060         (WebNetscapePluginEventHandlerCarbon::mouseMoved): Send adjustCursor events on every mouse
2061         move. This matches Firefox, and is actually required for plug-ins to manipulate cursor wihout
2062         resorting to techniques such as fast firing timers.
2063
2064         * Plugins/WebNetscapePluginView.mm:
2065         (-[WebNetscapePluginView handleMouseEntered:]): Some plug-ins handle mouse cursor internally,
2066         but those that don't just need to get an arrow cursor (matching Firefox). This means that
2067         e.g. a plugin inside <A> won't get a finger mouse pointer.
2068
2069         * Plugins/WebHostedNetscapePluginView.mm:
2070         (-[WebNetscapePluginView handleMouseEntered:]):
2071         (-[WebNetscapePluginView handleMouseExited:]):
2072         Implement this behavior here, too. Also, out of process code didn't reset mouse pointer on
2073         mouse exit, which it needed to do.
2074
2075         * WebView/WebHTMLView.mm:
2076         (needsCursorRectsSupportAtPoint):
2077         (setCursor):
2078         (resetCursorRects):
2079         Make sure that the same workaround we have for Web content also applies to Netscape plug-ins,
2080         as AppKit would reset the mouse pointer to arrow if given a chance.
2081         (+[WebHTMLViewPrivate initialize]): Renamed setCursorIMP on Leopard and higher to prevent
2082         confusion - the method we override is completely different.
2083         (-[WebHTMLView hitTest:]): Added a FIXME about a likely bug.
2084
2085 2010-02-19  Simon Fraser  <simon.fraser@apple.com>
2086
2087         Reviewed by Dan Bernstein.
2088
2089         <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
2090         
2091         Followup to avoid capturing compositing layers twice in snapshots. Add private
2092         methods to WebView to specify whether drawing the WebView into an image will
2093         include flattened compositing layers (the default behavior) or not.
2094
2095         * WebView/WebFrame.mm:
2096         (-[WebFrame _drawRect:contentsOnly:]): Consult the WebView flag to see if we
2097         want flattening.
2098         
2099         * WebView/WebViewPrivate.h: New methods.
2100         * WebView/WebView.mm: Ditto.
2101         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2102         (-[WebView _setIncludesFlattenedCompositingLayersWhenDrawingToBitmap:]):
2103         (-[WebView _includesFlattenedCompositingLayersWhenDrawingToBitmap]):
2104
2105         * WebView/WebViewData.h: New member variable.
2106
2107 2010-02-19  Alexey Proskuryakov  <ap@apple.com>
2108
2109         Reviewed by Dan Bernstein.
2110
2111         https://bugs.webkit.org/show_bug.cgi?id=35165
2112         plugins/set-status.html fails on Windows bot
2113
2114         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2115         (WebKit::NetscapePluginInstanceProxy::status):
2116         * Plugins/WebNetscapePluginView.mm:
2117         (-[WebNetscapePluginView status:]):
2118         Match Windows port behavior (and also Firefox one, in a way) - pass null status messages as
2119         empty ones to chrome.
2120
2121 2010-02-18  Simon Fraser  <simon.fraser@apple.com>
2122
2123         Reviewed by Dan Bernstein.
2124
2125         <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
2126
2127         Add logic to determine when painting via the software rendering path will give an equivalent
2128         result to the accelerated compositing presentation. This tests for the presence of 3D transforms.
2129
2130         Also have -[WebFrame _drawRect:contentsOnly:] set the PaintBehaviorFlattenCompositingLayers
2131         paint behavior when painting into a bitmap context, so that snapshots contain composited layers.
2132
2133         * WebView/WebFrame.mm:
2134         (-[WebFrame _drawRect:contentsOnly:]): Set the PaintBehaviorFlattenCompositingLayers flag
2135         when painting into a bitmap context.
2136         * WebView/WebView.mm:
2137         (-[WebView _isSoftwareRenderable]): Returns YES if all frames can be software-rendered.
2138         * WebView/WebViewPrivate.h: New _isSoftwareRenderable method.
2139
2140 2010-02-18  Alexey Proskuryakov  <ap@apple.com>
2141
2142         Reviewed by Dan Bernstein.
2143
2144         https://bugs.webkit.org/show_bug.cgi?id=35134
2145         <rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)
2146
2147         Test: plugins/set-status.html
2148
2149         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2150         (WebKit::NetscapePluginInstanceProxy::status):
2151         (WebKit::NetscapePluginInstanceProxy::loadURL):
2152         Added null checks for CFStringCreateWithCString arguments.
2153
2154 2010-02-17  Dmitry Titov  <dimich@chromium.org>
2155
2156         Reviewed by David Levin, Darin Fisher, Simon Hausmann.
2157
2158         When a live iframe element is moved between pages, it still depends on the old page.
2159         https://bugs.webkit.org/show_bug.cgi?id=34382
2160
2161         * WebCoreSupport/WebFrameLoaderClient.h:
2162         * WebCoreSupport/WebFrameLoaderClient.mm:
2163         Added empty implementation of a new virtual method.
2164
2165         (WebFrameLoaderClient::didTransferChildFrameToNewDocument):
2166
2167 2010-02-17  Kent Tamura  <tkent@chromium.org>
2168
2169         Reviewed by Eric Seidel.
2170
2171         Introduces new Icon loading interface in order to support
2172         asynchronous loading.
2173         https://bugs.webkit.org/show_bug.cgi?id=32054
2174
2175         Add an empty implementation of ChromeClient::iconForFiles().
2176
2177         * WebCoreSupport/WebChromeClient.h:
2178         * WebCoreSupport/WebChromeClient.mm:
2179         (WebChromeClient::iconForFiles):
2180
2181 2010-02-17  Timothy Hatcher  <timothy@apple.com>
2182
2183         Add a way for WebView and its dependancies to be selectively included
2184         in WebKitStatistics leak tracking. By default WebView is not included and
2185         you need to subclass WebView and implement +isIncludedInWebKitStatistics
2186         to be included.
2187
2188         rdar://problem/7567677&7572900
2189         https://webkit.org/b/35045
2190
2191         Reviewed by Adam Roben.
2192
2193         * WebView/WebDataSource.mm:
2194         (-[WebDataSource _initWithDocumentLoader:]): Increment WebDataSourceCount if the WebFrame is included in statistics.
2195         (-[WebDataSource dealloc]): Only --WebDataSourceCount if _private->includedInWebKitStatistics is YES.
2196         (-[WebDataSource finalize]): Ditto.
2197         * WebView/WebFrame.mm:
2198         (-[WebFrame _isIncludedInWebKitStatistics]): Return _private->includedInWebKitStatistics.
2199         (-[WebFrame _initWithWebFrameView:webView:]): Increment WebFrameCount if the WebView's class is included in statistics.
2200         (-[WebFrame dealloc]): Only --WebFrameCount if _private->includedInWebKitStatistics is YES.
2201         (-[WebFrame finalize]): Ditto.
2202         * WebView/WebFrameInternal.h:
2203         * WebView/WebFrameView.mm:
2204         (-[WebFrameView _setWebFrame:]): Increment WebFrameViewCount if the WebFrame is included in statistics.
2205         (-[WebFrameView initWithFrame:]): Move ++WebFrameViewCount from here since we don't
2206         know what WebFrame we belong to yet.
2207         (-[WebFrameView dealloc]): Only --WebFrameViewCount if _private->includedInWebKitStatistics is YES.
2208         (-[WebFrameView finalize]): Ditto.
2209         * WebView/WebHTMLRepresentation.mm:
2210         (-[WebHTMLRepresentation init]): Move ++WebHTMLRepresentationCount from here since we don't
2211         know what WebFrame we belong to yet.
2212         (-[WebHTMLRepresentation dealloc]): Only --WebHTMLRepresentationCount if _private->includedInWebKitStatistics is YES.
2213         (-[WebHTMLRepresentation finalize]): Ditto.
2214         (-[WebHTMLRepresentation setDataSource:]): Increment WebHTMLRepresentationCount if the WebFrame of the dataSource is
2215         included in statistics.
2216         * WebView/WebView.mm:
2217         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2218         (-[WebView dealloc]):
2219         (+[WebView shouldIncludeInWebKitStatistics]): Return NO, so any WebView wont be included.
2220         Subclasses that care can return YES to be included.
2221         * WebView/WebViewInternal.h:
2222
2223 2010-02-16  Darin Adler  <darin@apple.com>
2224
2225         Reviewed by Sam Weinig.
2226
2227         Generalize delayed plug-in start for background tabs for use for other media
2228         https://bugs.webkit.org/show_bug.cgi?id=34981
2229
2230         * WebView/WebHTMLView.mm:
2231         (-[WebHTMLView viewWillMoveToWindow:]): Added comment.
2232         (-[WebHTMLView viewDidMoveToWindow]): Ditto.
2233
2234         * WebView/WebView.mm:
2235         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2236         Call setCanStartMedia right away so that if this view is not in a window, it
2237         will not start any media.
2238         (-[WebView viewWillMoveToWindow:]): Call setCanStartMedia(false) when moving
2239         to a window of nil.
2240         (-[WebView viewDidMoveToWindow]): Call setCanStartMedia(true) when moved to
2241         a window that is non-nil.
2242
2243 2010-02-16  Eric Carlson  <eric.carlson@apple.com>
2244
2245         Reviewed by Simon Fraser.
2246
2247         https://bugs.webkit.org/show_bug.cgi?id=34988
2248         WebHTMLView.mm has two -willRemoveSubview: methods
2249
2250         * WebView/WebHTMLView.mm:
2251         (-[WebHTMLView willRemoveSubview:]): Consolidate the two copies of this method.
2252
2253 2010-02-16  Alexey Proskuryakov  <ap@apple.com>
2254
2255         Reviewed by Geoffrey Garen and Kevin Decker.
2256
2257         https://bugs.webkit.org/show_bug.cgi?id=34989
2258         <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content
2259
2260         This fixes event dispatch for both Cocoa and Carbon event models (mouseEntered/mouseExited
2261         in the former case, and adjustCursor in the latter).
2262
2263         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2264         (-[WebHostedNetscapePluginView handleMouseEntered:]):
2265         (-[WebHostedNetscapePluginView handleMouseExited:]):
2266         * Plugins/WebBaseNetscapePluginView.h:
2267         * Plugins/WebBaseNetscapePluginView.mm:
2268         (-[WebBaseNetscapePluginView handleMouseEntered:]):
2269         (-[WebBaseNetscapePluginView handleMouseExited:]):
2270         * Plugins/WebNetscapePluginView.h:
2271         * Plugins/WebNetscapePluginView.mm:
2272         (-[WebNetscapePluginView handleMouseEntered:]):
2273         (-[WebNetscapePluginView handleMouseExited:]):
2274         AppKit cannot reliably dispatch events for overlapping views. We are now asking WebCore to
2275         notify plug-in views of mouse entered/exited as part of DOM event dispatch.
2276
2277         * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): Besides
2278         mouse moved, dispatch plugin mouse entered/exit events in HTMLPlugInElement default event
2279         handler. Other mouse events are passed down by EventHandler.
2280
2281 2010-02-15  Alexey Proskuryakov  <ap@apple.com>
2282
2283         More build fixing (for what is actually a 64-bit failure, as 32-bit apparently includes
2284         headers that aren't included in 64-bit).
2285
2286         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2287         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2288         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::contains):
2289         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get):
2290         Move inline functions to .cpp; also made the class Noncopyable.
2291
2292 2010-02-15  Alexey Proskuryakov  <ap@apple.com>
2293
2294         Mac release build fix attempt.
2295
2296         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2297         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2298         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::~LocalObjectMap):
2299         Implement destructor in .cpp file, where necessary headers are already included.
2300
2301 2010-02-12  Alexey Proskuryakov  <ap@apple.com>
2302
2303         Reviewed by Kevin Decker.
2304
2305         <rdar://problem/7130641> Browser objects identity is not preserved by Safari
2306
2307         Out of process part.
2308
2309         To avoid excessive IPC, plugin process doesn't send each NPObject release/retain call to
2310         Safari. It only sends one when the last one is removed, and it can destroy the proxy
2311         NPObject.
2312
2313         However, the browser may be sending the same object out to plug-in as a function call
2314         argument at the same time - neither side can know what the other one is up to. The solution
2315         is to make the "destroying object" call return a boolean result, making it possible for 
2316         the browser to make plugin host keep the proxy with zero refcount for a little longer.
2317
2318         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2319         (WKPCForgetBrowserObject): This function (that used to be named ReleaseObject) is only
2320         called when plug-in releases all of its references, so renamed it. Its boolean result
2321         is returned as call success or failure.
2322
2323         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2324         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap): Made the numeric ID to JSObject map
2325         two-way.
2326
2327         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2328         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject): This method is tricky
2329         in that it creates objects with refcount of 1, but doesn't increase refcount when returning
2330         found objects. This extra count accounts for the "reference" kept by plugin process.
2331         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain): Only retaining for the
2332         duration of calls out to plug-in, which means that refcount is almost always equal to 1.
2333         Note that we can't use "++" here, due to how std::pair works!
2334         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release): Ditto.
2335         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::clear): Clear all references when
2336         stopping plug-in.
2337         (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Like release(), but only
2338         functional when recount is 1 (meaning that the object is not being sent out to plug-in at
2339         the moment).
2340         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Updated for other changes.
2341         (WebKit::NetscapePluginInstanceProxy::cleanup): Ditto.
2342         (WebKit::NetscapePluginInstanceProxy::getWindowNPObject): Ditto.
2343         (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject): Ditto.
2344         (WebKit::NetscapePluginInstanceProxy::forgetBrowserObjectID): Ditto.
2345         (WebKit::NetscapePluginInstanceProxy::evaluate): Ditto.
2346         (WebKit::NetscapePluginInstanceProxy::invoke): Ditto.
2347         (WebKit::NetscapePluginInstanceProxy::invokeDefault): Ditto.
2348         (WebKit::NetscapePluginInstanceProxy::construct): Ditto.
2349         (WebKit::NetscapePluginInstanceProxy::getProperty): Ditto.
2350         (WebKit::NetscapePluginInstanceProxy::setProperty): Ditto.
2351         (WebKit::NetscapePluginInstanceProxy::removeProperty): Ditto.
2352         (WebKit::NetscapePluginInstanceProxy::hasProperty): Ditto.
2353         (WebKit::NetscapePluginInstanceProxy::hasMethod): Ditto.
2354         (WebKit::NetscapePluginInstanceProxy::enumerate): Ditto.
2355         (WebKit::NetscapePluginInstanceProxy::addValueToArray): Ditto.
2356         (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): Ditto.
2357         (WebKit::NetscapePluginInstanceProxy::retainLocalObject): Helper for calling retain when
2358         making calls out to plug-in. No-op for objects that aren't wrapped to be sent (i.e. for
2359         objects wrapping ProxyInstance wrappers for plug-in objects being sent bak).
2360         (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto.
2361
2362         * Plugins/Hosted/ProxyInstance.mm:
2363         (WebKit::ProxyInstance::invoke): Retain/release arguments during call. 
2364         (WebKit::ProxyInstance::setFieldValue): Ditto.
2365
2366         * Plugins/Hosted/WebKitPluginClient.defs: Renamed PCReleaseObject to PCForgetBrowserObject.
2367
2368 2010-02-12  Darin Adler  <darin@apple.com>
2369
2370         Reviewed by Sam Weinig.
2371
2372         Removed unneeded custom implementation of isDescendantOf.
2373
2374         * Plugins/WebBaseNetscapePluginView.mm:
2375         (-[WebBaseNetscapePluginView shouldClipOutPlugin]): Use the
2376         -[NSView isDescendantOf:] method instead of our own method
2377         named superviewsHaveSuperviews.
2378
2379 2010-02-12  Dan Bernstein  <mitz@apple.com>
2380
2381         Reviewed by Darin Adler.
2382
2383         <rdar://problem/7615234> REGRESSION (r48586): Loading an HTML page causes
2384         PDFKit to be loaded
2385
2386         * WebView/WebPDFDocumentExtras.h: Removed the category declaration and
2387         addWebPDFDocumentExtras(). Declare allScriptsInPDFDocument().
2388         * WebView/WebPDFDocumentExtras.mm:
2389         (allScriptsInPDFDocument): Changed the -_web_allScripts method into this function.
2390         * WebView/WebPDFRepresentation.mm: Removed +initialize.
2391         (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Use
2392         allScriptsInPDFDocument() instead of -_web_allScripts.
2393
2394 2010-02-10  Geoffrey Garen  <ggaren@apple.com>
2395
2396         Reviewed by Oliver Hunt.
2397
2398         Exported some new JavaScript heap introspection.
2399
2400         * Misc/WebCoreStatistics.h:
2401         * Misc/WebCoreStatistics.mm:
2402         (+[WebCoreStatistics javaScriptObjectTypeCounts]): Just like
2403         javaScriptProtectedObjectTypeCounts, except this function enumerates all
2404         live objects, not just protected objects.
2405
2406 2010-02-08  Maciej Stachowiak  <mjs@apple.com>
2407
2408         Reviewed by Cameron Zwarich.
2409
2410         Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
2411         https://bugs.webkit.org/show_bug.cgi?id=34698
2412
2413         * Configurations/FeatureDefines.xcconfig:
2414
2415 2010-02-09  Alexey Proskuryakov  <ap@apple.com>
2416
2417         Reviewed by Geoffrey Garen.
2418
2419         https://bugs.webkit.org/show_bug.cgi?id=34490
2420         WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
2421
2422         * ForwardingHeaders/wtf/ValueCheck.h: Added.
2423
2424 2010-02-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2425
2426         Reviewed by Kenneth Rohde Christiansen.
2427
2428         Support frameset flattening
2429         https://bugs.webkit.org/show_bug.cgi?id=32717
2430
2431         Add support for enabling/disabling FrameSet Flattening on the Mac port.
2432
2433         * WebView/WebPreferenceKeysPrivate.h:
2434         * WebView/WebPreferences.mm:
2435         (+[WebPreferences initialize]):
2436         (-[WebPreferences isFrameSetFlatteningEnabled]):
2437         (-[WebPreferences setFrameSetFlatteningEnabled:]):
2438         * WebView/WebPreferencesPrivate.h:
2439         * WebView/WebView.mm:
2440         (-[WebView _preferencesChangedNotification:]):
2441
2442 2010-02-09  Alexey Proskuryakov  <ap@apple.com>
2443
2444         Reviewed by Anders Carlsson.
2445
2446         https://bugs.webkit.org/show_bug.cgi?id=34771
2447         A stray mouse moved event is sent to plug-ins after mouse exit
2448
2449         * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): A mouseout
2450         DOM event is dispatched while handling NSMouseMoved - but we shouldn't be sending a
2451         mouse moved event to plug-ins at this point.
2452
2453 2010-02-09  Shinichiro Hamaji  <hamaji@chromium.org>
2454
2455         Reviewed by Darin Adler.
2456
2457         Provide a way to get total number of pages to be printed
2458         https://bugs.webkit.org/show_bug.cgi?id=34699
2459
2460         * Misc/WebCoreStatistics.h:
2461         * Misc/WebCoreStatistics.mm:
2462         (-[WebFrame numberOfPages:pageWidthInPixels:]):
2463
2464 2010-02-08  Alexey Proskuryakov  <ap@apple.com>
2465
2466         Reviewed by Darin Adler.
2467
2468         https://bugs.webkit.org/show_bug.cgi?id=34727
2469         Assertion crashes and freezes when plug-in property access results in an exception
2470
2471         * Plugins/Hosted/WebKitPluginClient.defs: Made PCSetProperty and PCRemoveProperty async.
2472         A plug-in can call back whil processing this call (e.g. for NPN_SetException), so we need
2473         to listen for messages while waiting for reply.
2474
2475         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2476         (WKPCEvaluate): If there is no instance proxy, return KERN_FAILURE. This improves consistency
2477         between method implementations, and leaves us with one less IPC call to make in failure case
2478         (returning false with KERN_SUCCESS and returning KERN_FAILURE looks the same from plugin
2479         host code).
2480         (WKPCInvoke): Ditto.
2481         (WKPCInvokeDefault): Ditto.
2482         (WKPCGetProperty): Ditto.
2483         (WKPCSetProperty): Send a reply once done.
2484         (WKPCRemoveProperty): Ditto.
2485         (WKPCHasProperty): If there is no instance proxy, return KERN_FAILURE.
2486         (WKPCHasMethod): Ditto.
2487         (WKPCEnumerate): Ditto.
2488
2489 2010-02-08  Alexey Proskuryakov  <ap@apple.com>
2490
2491         Reviewed by Anders Carlsson.
2492
2493         <rdar://problem/6530010> OOP: Support NPN_SetException
2494
2495         Tested by plugins/netscape-throw-exception.html (removed it from skipped list).
2496
2497         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2498         (WKPCSetException):
2499         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2500         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2501         (WebKit::globalExceptionString):
2502         (WebKit::NetscapePluginInstanceProxy::setGlobalException):
2503         (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
2504         * Plugins/Hosted/ProxyInstance.mm:
2505         (WebKit::ProxyInstance::invoke):
2506         (WebKit::ProxyInstance::getPropertyNames):
2507         (WebKit::ProxyInstance::fieldValue):
2508         (WebKit::ProxyInstance::setFieldValue):
2509         * Plugins/Hosted/WebKitPluginClient.defs:
2510         Route exception string to a global that's checked after calling into plug-in (just like in
2511         in-process case).
2512
2513 2010-02-05  Kevin Decker  <kdecker@apple.com>
2514
2515         Reviewed by Mark Rowe.
2516
2517         https://bugs.webkit.org/show_bug.cgi?id=34661
2518         <rdar://problem/7614067> REGRESSION (Safari 4.0-> Safari 4.0.4): NPP_SetWindow no longer sets a clipRect of (0,0,0,0) when it becomes hidden
2519         
2520         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2521         (-[WebHostedNetscapePluginView updateAndSetWindow]): When clipping out NPDrawingModelCoreAnimation plug-ins, provide a zero'd out clipRect.
2522         * Plugins/WebBaseNetscapePluginView.h: Moved superviewsHaveSuperviews to the base class.
2523         * Plugins/WebBaseNetscapePluginView.mm:
2524         (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): Added to the base class; extracted from WebNetscapePluginView.
2525         (-[WebBaseNetscapePluginView shouldClipOutPlugin]): Added new method with code extracted from WebNetscapePluginView.
2526         * Plugins/WebNetscapePluginView.mm:
2527         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): When clipping out NPDrawingModelCoreAnimation plug-ins, provide a zero'd out clipRect.
2528
2529 2010-02-04  Mark Rowe  <mrowe@apple.com>
2530
2531         Rubber-stamped by Dan Bernstein.
2532
2533         Fix the ability to #include <WebKit/DOMFile.h>.
2534
2535         * MigrateHeaders.make: Mark DOMBlob.h as a public header since the already-public DOMFile.h depends on it.
2536
2537 2010-02-04  John Sullivan  <sullivan@apple.com>
2538
2539         https://bugs.webkit.org/show_bug.cgi?id=34611
2540         WebLocalizedString() could use an assertion that it is being called on the main thread
2541
2542         Reviewed by Tim Hatcher.
2543
2544         * Misc/WebLocalizableStrings.m: Removed.
2545         * Misc/WebLocalizableStrings.mm: Copied from mac/Misc/WebLocalizableStrings.m.
2546         Renamed to use .mm extension so it can include a C++ header.
2547         (WebLocalizedString):
2548         Added an assertion that this is being called on the main thread.
2549
2550 2010-02-04  Dan Bernstein  <mitz@apple.com>
2551
2552         Reviewed by Simon Fraser.
2553
2554         REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
2555         https://bugs.webkit.org/show_bug.cgi?id=34371
2556
2557         * WebView/WebFrameView.mm:
2558         (-[WebFrameView _verticalPageScrollDistance]): Use Scrollbar methods instead of
2559         constants, and cap the scroll distance.
2560         (-[WebFrameView initWithFrame:]): Use Scrollbar::pixelsPerLineStep() instead of
2561         cScrollbarPixelsPerLineStep.
2562         (-[WebFrameView _horizontalPageScrollDistance]):Use Scrollbar methods instead of
2563         constants, and cap the scroll distance.
2564
2565 2010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>
2566
2567         Reviewed by Eric Seidel.
2568
2569         Provide a way to get page number with layoutTestController
2570         https://bugs.webkit.org/show_bug.cgi?id=33840
2571
2572         * Misc/WebCoreStatistics.h:
2573         * Misc/WebCoreStatistics.mm:
2574         (-[WebFrame pageNumberForElement:element:pageWidth:]):
2575
2576 2010-01-29  Gavin Barraclough  <barraclough@apple.com>
2577
2578         Reviewed by Sam Weinig + Oliver Hunt.
2579
2580         Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds
2581
2582         Pass processeing user gensture flag to media play/pause methods.
2583
2584         * WebView/WebVideoFullscreenHUDWindowController.mm:
2585         (-[WebVideoFullscreenHUDWindowController setPlaying:]):
2586
2587 2010-02-01  Dan Bernstein  <mitz@apple.com>
2588
2589         Reviewed by Anders Carlsson.
2590
2591         <rdar://problem/7044385> Crash at NetscapePlugInStreamLoader::didReceiveResponse()
2592
2593         The crash was caused by having two streams with a streamID of 1.
2594
2595         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2596         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Fixed a typo. Now
2597         correctly increments m_currentURLRequestID to account for the manual stream.
2598         (WebKit::NetscapePluginInstanceProxy::disconnectStream): If the stream is the manual stream,
2599         null it out instead of trying to remove it from the map. Added an assertion.
2600         (WebKit::NetscapePluginInstanceProxy::loadRequest): Added an assertion.
2601
2602 == Rolled over to ChangeLog-2010-01-29 ==