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