2009-03-26 Jungshik Shin <jshin@chromium.org>
[WebKit-https.git] / WebKit / mac / ChangeLog
1 2009-03-26  Jungshik Shin  <jshin@chromium.org>
2
3         Reviewed by Alexey Proskuryakov.
4
5         Add WebPreferences for encoding autodetection on Mac.
6   
7         http://bugs.webkit.org/show_bug.cgi?id=16482
8
9         * WebView/WebPreferenceKeysPrivate.h:
10         * WebView/WebPreferences.mm:
11         (+[WebPreferences initialize]):
12         (-[WebPreferences usesEncodingDetector]):
13         (-[WebPreferences setUsesEncodingDetector:]):
14         * WebView/WebPreferencesPrivate.h:
15         * WebView/WebView.mm:
16         (-[WebView _preferencesChangedNotification:]):
17
18 2009-03-26  Anders Carlsson  <andersca@apple.com>
19
20         Reviewed by Dan Bernstein.
21
22         - Fix <rdar://problem/6687055> and <rdar://problem/6713639>.
23         
24         * Plugins/Hosted/NetscapePluginHostProxy.mm:
25         (WKPCInvalidateRect):
26         Call NetscapePluginInstanceProxy::invalidateRect.
27         
28         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
29         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
30         (WebKit::NetscapePluginInstanceProxy::cleanup):
31         Stop the request timer, set m_pluginView to nil.
32         
33         (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
34         No need to set m_pluginView to nil here anymore, it's now done in cleanup().
35         
36         (WebKit::NetscapePluginInstanceProxy::performRequest):
37         (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
38         Assert that the plug-in view is not nil.
39         
40         (WebKit::NetscapePluginInstanceProxy::invalidateRect):
41         Call setNeedsDisplayInRect here.
42
43 2009-03-25  Anders Carlsson  <andersca@apple.com>
44
45         Reviewed by Darin Adler.
46
47         <rdar://problem/6714964>
48         CrashTracer: [REGRESSION] 51 crashes in Safari at com.apple.WebKit • WebNetscapePluginStream::deliverData + 775
49         
50         Don't release m_deliveryData since it's a RetainPtr. Also, use adoptNS instead of releasing newDeliveryData manually.
51         
52         * Plugins/WebBaseNetscapePluginStream.mm:
53         (WebNetscapePluginStream::deliverData):
54
55 2009-03-25  Mike Thole  <mthole@apple.com>
56
57         Reviewed by Kevin Decker.
58         
59         <rdar://problem/6453738> call SetWindow when user creates a new tab
60         
61         CoreGraphics plug-ins now receive an NPP_SetWindow call when moving to a background tab.
62         Flash is excluded from this change in behavior, as it has historical WebKit-specific code
63         that isn't compatible with this change.
64
65         * Plugins/WebNetscapePluginView.h:
66             Added an _isFlash ivar.
67         * Plugins/WebNetscapePluginView.mm:
68         (-[WebNetscapePluginView _createPlugin]):
69             Set the new _isFlash ivar based on the bundle identifier.
70         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
71             When using the CG drawing model and in a non-drawable state,  set the portState
72             to NULL and return early.
73         (-[WebNetscapePluginView updateAndSetWindow]):
74             When using the CG drawing model, call -setWindowIfNecessary even if the portState is NULL.
75             Flash is an exception to this, due to its historical behavior.
76         (-[WebNetscapePluginView setWindowIfNecessary]):
77             Removed an assertion that was no longer true.  The [NSView focus] view
78             is no longer guaranteed to be 'self' at this point.
79             Also modified the debug logging for CG plug-ins to include the size of the 
80             window's clipRect, which was useful in verifying the correct behavior of this patch.
81
82 2009-03-24  Dan Bernstein  <mitz@apple.com>
83
84         Reviewed by Oliver Hunt.
85
86         - speculative fix for <rdar://problem/6630134> Crash at
87           Editor::compositionRange()
88
89         * WebView/WebHTMLView.mm:
90         (-[WebHTMLView markedRange]): Null-check the Frame like most other
91         methods in this class.
92
93 2009-03-23  Sam Weinig  <sam@webkit.org>
94
95         Reviewed by Dan Bernstein.
96
97         Fix for <rdar://problem/6140966>
98         Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache
99
100         * Misc/WebCache.mm:
101         (+[WebCache empty]):
102
103 2009-03-23  Adele Peterson  <adele@apple.com>
104
105         Reviewed by Mark Rowe & Dave Hyatt.
106
107         Merge some of the individual Mail quirks into two settings that we can check for future quirks.
108
109         * WebView/WebView.mm:
110         (runningLeopardMail):
111         (runningTigerMail):
112         (-[WebView _preferencesChangedNotification:]):
113
114 2009-03-23  Darin Adler  <darin@apple.com>
115
116         * WebView/WebTextIterator.h: Fixed a spelling error in a comment.
117
118 2009-03-22  Dan Bernstein  <mitz@apple.com>
119
120         Reviewed by John Sullivan.
121
122         - fix <rdar://problem/6640741> Messages not displaying after the
123           Safari 4 beta was installed
124
125         Mail assumes that if -[WebArchive subresources] is not nil, then it
126         contains at least one object.
127
128         * WebView/WebArchive.mm:
129         (-[WebArchive subresources]): Preserve the behavior of returning nil
130         if there are no subresources.
131
132 2009-03-20  Adele Peterson  <adele@apple.com>
133
134         Build fix.
135
136         Reviewed by Darin Adler.
137
138         * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]):
139
140 2009-03-20  Timothy Hatcher  <timothy@apple.com>
141
142         Change how threading exceptions are checked so they are reported
143         by what round they were added. That way WebKit can decided the
144         behavior per-round based on linked-on-or-after checks.
145
146         <rdar://problem/6626741&6648478&6635474&6674079>
147
148         Reviewed by Darin Adler.
149
150         * History/WebBackForwardList.mm: Use the new WebCoreThreadViolationCheckRoundOne macro.
151         * History/WebHistoryItem.mm: Ditto.
152         * Misc/WebIconDatabase.mm: Ditto.
153
154         * WebView/WebArchive.mm: Use the new WebCoreThreadViolationCheckRoundTwo macro.
155         * WebView/WebResource.mm: Ditto.
156         (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Check Mail's bundle version
157         to truly decide if it is an old Mail client.
158         * WebView/WebView.mm: Ditto.
159
160         * Misc/WebKitVersionChecks.h: Add a new linked-on-or-after version define.
161         * WebView/WebFrameView.mm:
162         (-[WebFrameView initWithFrame:]): Set the default thread violation behavior per-round
163         based on difference version checks and the Mail workaround check.
164
165 2009-03-20  Darin Adler  <darin@apple.com>
166
167         Reviewed by Timothy Hatcher.
168
169         * WebView/WebTextIterator.h: Improved comments to point out some of the pitfalls
170         of this SPI.
171
172 2009-03-20  Darin Adler  <darin@apple.com>
173
174         Reviewed by Adele Peterson.
175
176         Use a better technique to handle finding out if something responds to a selector
177         in WebHTMLView's doCommandBySelector method.
178
179         * WebView/WebHTMLView.mm:
180         (-[WebHTMLView doCommandBySelector:]): Removed unneeded check for 0 coreFrame;
181         this is already handled by coreCommandBySelector: so doesn't need to be checked
182         twice. Got rid of initial value for eventWasHandled boolean to make it more clear.
183         Use WebResponderChainSink to find out if a command is handled rather than walking
184         the responder chain explicitly.
185         (-[WebResponderChainSink initWithResponderChain:]): Added.
186         (-[WebResponderChainSink detach]): Added.
187         (-[WebResponderChainSink receivedUnhandledCommand]): Added.
188         (-[WebResponderChainSink noResponderFor:]): Added.
189         (-[WebResponderChainSink doCommandBySelector:]): Added.
190
191 2009-03-19  Timothy Hatcher  <timothy@apple.com>
192
193         Remove #ifndef BUILDING_ON_TIGER around code that schedules runloop modes
194         for Page, so the new RunLoopTimer in WebCore always gets a default mode.
195         Fixes the layout test failures on the Tiger build bots.
196
197         Reviewed by Mark Rowe.
198
199         * WebView/WebView.mm:
200         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
201         (-[WebView scheduleInRunLoop:forMode:]):
202         (-[WebView unscheduleFromRunLoop:forMode:]):
203
204 2009-03-18  Anders Carlsson  <andersca@apple.com>
205
206         Reviewed by Oliver Hunt.
207
208         WebKit side of <rdar://problem/6688244>.
209         
210         Try reinitializing the vendor port if it's invalid.
211         
212         * Plugins/Hosted/NetscapePluginHostManager.mm:
213         (WebKit::NetscapePluginHostManager::spawnPluginHost):
214
215 2009-03-18  Anders Carlsson  <andersca@apple.com>
216
217         Reviewed by Darin Adler.
218
219         <rdar://problem/6504776> 
220         CrashTracer: [USER] 188 crashes in Safari at com.apple.WebCore • WTF::HashTableIterator<WTF::RefPtr<WebCore::ResourceLoader>, ...
221         
222         If the m_pluginView member was zeroed out as a result of making a call into the plug-in, the pluginFunctionCallDepth would be off
223         causing the plug-in never to be stopped. Simplify the code by using a RAII object.
224
225         * Plugins/WebBaseNetscapePluginStream.mm:
226         (PluginStopDeferrer::PluginStopDeferrer):
227         (PluginStopDeferrer::~PluginStopDeferrer):
228         (WebNetscapePluginStream::startStream):
229         (WebNetscapePluginStream::wantsAllStreams):
230         (WebNetscapePluginStream::destroyStream):
231
232 2009-03-17  Darin Adler  <darin@apple.com>
233
234         Reviewed by Adele Peterson.
235
236         <rdar://problem/6687005> Need support for new move-left/right selectors.
237
238         * WebView/WebHTMLView.mm: Added the four new selectors to the command-forwarding list.
239         * WebView/WebView.mm: Ditto.
240
241 2009-03-17  Darin Adler  <darin@apple.com>
242
243         Reviewed by Adele Peterson.
244
245         Bug 24477: REGRESSION (r41467): Page Down key scrolls two pages
246         https://bugs.webkit.org/show_bug.cgi?id=24477
247         rdar://problem/6674184
248
249         * WebView/WebHTMLView.mm:
250         (responderChainRespondsToSelector): Added.
251         (-[WebHTMLView doCommandBySelector:]): Set eventWasHandled based on whether we
252         can find a responder that responds to this selector rather than always assuming
253         the selector will not be handled.
254
255 2009-03-17  Mark Rowe  <mrowe@apple.com>
256
257         Fix the build.
258
259         * Plugins/Hosted/HostedNetscapePluginStream.mm:
260
261 2009-03-17  David Kilzer  <ddkilzer@apple.com>
262
263         Use -[NSURLResponse(WebCoreURLResponse) _webcore_MIMEType] consistently
264
265         Reviewed by Darin Adler.
266
267         WebKit r30323 added -_webcore_MIMEType to fix issues with
268         incorrect MIME types in NS[HTTP]URLResponse objects.  However,
269         uses of -[NSURLResponse MIMEType] still persist in WebKit that
270         should be switched to use -_webcore_MIMEType.  Note that
271         -[WebDataSource _responseMIMEType] calls back into WebCore to
272         get the MIME type from the ResourceResponse object, which has
273         already retrieved it via -_webcore_MIMEType.
274
275         * Plugins/Hosted/HostedNetscapePluginStream.mm:
276         (WebKit::HostedNetscapePluginStream::didReceiveResponse): Use
277         -_webcore_MIMEType.
278         * Plugins/WebBaseNetscapePluginStream.mm:
279         (WebNetscapePluginStream::didReceiveResponse): Ditto.
280         * Plugins/WebNetscapePluginView.mm:
281         (-[WebNetscapePluginView pluginView:receivedData:]): Ditto.
282         * Plugins/WebPluginController.mm:
283         (-[WebPluginController pluginView:receivedResponse:]): Ditto.
284         * WebView/WebHTMLRepresentation.mm:
285         (-[WebHTMLRepresentation _isDisplayingWebArchive]): Use
286         -[WebDataSource _responseMIMEType] instead.
287         * WebView/WebPDFRepresentation.m:
288         (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Ditto.
289         * WebView/WebPDFView.mm:
290         (-[WebPDFView menuForEvent:]): Ditto.
291
292 2009-03-17  Simon Fraser  <simon.fraser@apple.com>
293
294         Reviewed by Darin Adler
295
296         https://bugs.webkit.org/show_bug.cgi?id=24396
297         
298         Add WTF_USE_ACCELERATED_COMPOSITING, defined to 0 for now.
299
300         * WebKitPrefix.h:
301
302 2009-03-17  Kevin Ollivier  <kevino@theolliviers.com>
303
304         Reviewed by Mark Rowe.
305
306         Get BUILDING_ON_* defines from Platform.h.
307         
308         https://bugs.webkit.org/show_bug.cgi?id=24630
309
310         * WebKitPrefix.h:
311
312 2009-03-16  Darin Adler  <darin@apple.com>
313
314         Reviewed by Dan Bernstein.
315
316         <rdar://problem/6577174> Rename the text directionality submenus to “Paragraph Direction” and “Selection Direction”
317
318         * WebCoreSupport/WebViewFactory.mm:
319         (-[WebViewFactory contextMenuItemTagParagraphDirectionMenu]): Changed string here, but only
320         post-Leopard, since we want this to match the Mac OS X menu on Tiger and Leopard.
321         (-[WebViewFactory contextMenuItemTagSelectionDirectionMenu]): Changed string here.
322
323 2009-03-16  Anders Carlsson  <andersca@apple.com>
324
325         Reviewed by Oliver Hunt.
326
327         Don't mig_deallocate random data in case an instance proxy method returns false.
328         
329         * Plugins/Hosted/NetscapePluginHostProxy.mm:
330         (WKPCEvaluate):
331         (WKPCInvoke):
332         (WKPCInvokeDefault):
333         (WKPCGetProperty):
334         (WKPCEnumerate):
335
336 2009-03-16  Anders Carlsson  <andersca@apple.com>
337
338         Reviewed by Oliver Hunt.
339
340         <rdar://problem/6633944> 
341         REGRESSION (Safari 4 PB): Many crashes in Flip4Mac involving loading the plugin
342         
343         Defer loading while calling webPlugInInitialize since it can end up spinning the run loop.
344         
345         * Plugins/WebPluginController.mm:
346         (-[WebPluginController addPlugin:]):
347
348 2009-03-16  Anders Carlsson  <andersca@apple.com>
349
350         Reviewed by Sam Weinig.
351
352         Fix <rdar://problem/6622601>
353         
354         Make sure to update both the window frame and the plug-in frame.
355         
356         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
357         (-[WebHostedNetscapePluginView addWindowObservers]):
358
359 2009-03-15  Dan Bernstein  <mitz@apple.com>
360
361         Reviewed by Adele Peterson.
362
363         - fix <rdar://problem/6607773> WebKit should support the "Default"
364           paragraph writing direction -- or at least validate the menu item
365           appropriately
366
367         Made WebHTMLView validate user interface items with the selector
368         -makeBaseWritingDirectionNatural: by returning NO and, if the item is
369         a menu item, setting its state to "off".
370
371         Strictly speaking, since -makeBaseWritingDirectionNatural: is never
372         valid for WebViews, WebHTMLView should not need to respond to it and
373         validate it, however because other responders respond to all three
374         -makeBaseWritingDirection*: messages and set the menu item state, having
375         WebHTMLView do the same makes application developers' lives easier.
376
377         * WebView/WebHTMLView.mm:
378         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
379         (-[WebHTMLView makeBaseWritingDirectionNatural:]):
380
381 2009-03-13  Mark Rowe  <mrowe@apple.com>
382
383         Rubber-stamped by Dan Bernstein.
384
385         Take advantage of the ability of recent versions of Xcode to easily switch the active
386         architecture.
387
388         * Configurations/DebugRelease.xcconfig:
389
390 2009-03-13  Anders Carlsson  <andersca@apple.com>
391
392         Reviewed by Kevin Decker and Geoffrey Garen.
393
394         <rdar://problem/6590384>
395         REGRESSION (Safari 3-4): Tiger-only Crash occurs at WebView hostWindow () after reloading a set of tabs then quitting
396         
397         When we're doing fast teardown, plug-in views can be destroyed from -[WebView dealloc]'s [super dealloc] call, 
398         and thus calling -[WebView hostWindow] will crash since _private is nil.
399         
400         * WebView/WebView.mm:
401         (-[WebView hostWindow]):
402
403 2009-03-13  Anders Carlsson  <andersca@apple.com>
404
405         And yet another attempt...
406         
407         * Plugins/WebNetscapePluginEventHandlerCocoa.h:
408         (WebNetscapePluginEventHandlerCocoa::installKeyEventHandler):
409         (WebNetscapePluginEventHandlerCocoa::removeKeyEventHandler):
410         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
411
412 2009-03-13  Anders Carlsson  <andersca@apple.com>
413
414         Another attempt at fixing the build.
415         
416         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
417         (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
418
419 2009-03-13  Anders Carlsson  <andersca@apple.com>
420
421         Try to fix the SL build.
422
423         * Plugins/WebNetscapePluginEventHandlerCocoa.h:
424         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
425         (WebNetscapePluginEventHandlerCocoa::keyDown):
426
427 2009-03-13  Greg Bolsinga  <bolsinga@apple.com>
428
429         Reviewed by Simon Fraser.
430
431         Update Geolocation perimission dialogs to be asynchronous.
432         https://bugs.webkit.org/show_bug.cgi?id=24505
433
434         WebGeolocation is a wrapper around WebCore::Geolocation. It mimics the
435         coding style set by WebSecurityOrigin.
436         
437         WebChromeClient now calls the private UI delegate method 
438         -webView:frame:requestGeolocationPermission:securityOrigin:
439
440         * WebCoreSupport/WebChromeClient.h:
441         * WebCoreSupport/WebChromeClient.mm:
442         (WebChromeClient::requestGeolocationPermissionForFrame):
443         * WebCoreSupport/WebGeolocation.mm: Added.
444         (WebCore::if):
445         (-[WebGeolocation shouldClearCache]):
446         (-[WebGeolocation setIsAllowed:]):
447         (-[WebGeolocation dealloc]):
448         * WebCoreSupport/WebGeolocationInternal.h: Added.
449         * WebCoreSupport/WebGeolocationPrivate.h: Added.
450         * WebView/WebUIDelegatePrivate.h:
451
452 2009-03-13  Anders Carlsson  <andersca@apple.com>
453
454         Reviewed by Dan Bernstein.
455
456         <rdar://problem/6610666> Revise the Cocoa event model text API
457
458         Replace the text input API with a simpler API that uses a separate text input window.
459         
460         * Plugins/WebNetscapePluginEventHandlerCocoa.h:
461         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
462         (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
463         Initialize m_keyEventHandler to 0.
464         
465         (WebNetscapePluginEventHandlerCocoa::keyDown):
466         If the plug-in returns 0 from NPP_HandleEvent, pass the event to the TSM machinery.
467         
468         (WebNetscapePluginEventHandlerCocoa::focusChanged):
469         Install/remove the key event handler as needed.
470         
471         (WebNetscapePluginEventHandlerCocoa::handleTSMEvent):
472         Get the text and send a TextInput event.
473         
474         * Plugins/WebNetscapePluginView.h:
475         * Plugins/WebNetscapePluginView.mm:
476         Remove the old text input API.
477         
478         (-[WebNetscapePluginView inputContext]):
479         Always return nil here.
480         
481         * Plugins/npapi.mm:
482         * Plugins/nptextinput.h: Removed.
483
484 2009-03-12  Anders Carlsson  <andersca@apple.com>
485
486         Reviewed by Mike Thole and Mark Rowe.
487
488         Fix <rdar://problem/6624105>.
489         
490         Make sure to process incoming messages for the NSEventTrackingRunLoopMode as well.
491         
492         * Plugins/Hosted/NetscapePluginHostProxy.mm:
493         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
494
495 2009-03-12  Anders Carlsson  <andersca@apple.com>
496
497         Reviewed by Geoffrey Garen.
498
499         WebKit side of <rdar://problem/6607801>
500         
501         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
502         (WebKit::NetscapePluginInstanceProxy::destroy):
503         Pass a requestID to _WKPCDestroyPluginInstance and wait until we get a reply back.
504         
505         * Plugins/Hosted/WebKitPluginHost.defs:
506         Add requestID parameter.
507
508 2009-03-12  Kevin Decker  <kdecker@apple.com>
509
510         Reviewed by Anders Carlsson.
511
512         * Plugins/WebNetscapePluginPackage.mm:
513         (-[WebNetscapePluginPackage _unloadWithShutdown:]): Simply a small SUPPORT_CFM code block.
514
515 2009-03-12  Kevin Decker  <kdecker@apple.com>
516
517         Reviewed by Anders Carlsson.
518
519         Fixed: <rdar://problem/5815862> Opening a subclassed NSWindow from a Safari plugin causes Safari to crash on Quit
520         
521         This fix addresses crashes in both Silverlight and ChemDraw.  This type of crash would occur because AppKit still
522         had a reference to open windows that the plugin created (which no longer exist). 
523         
524         * Plugins/WebNetscapePluginPackage.mm:
525         (-[WebNetscapePluginPackage _unloadWithShutdown:]): Do not unload the plug-in bundle on browser shutdown. 
526         
527 2009-03-11  David Kilzer  <ddkilzer@apple.com>
528
529         Remove duplicate header include
530
531         Rubber-stamped by Mark Rowe.
532
533         * WebView/WebView.mm: Remove duplicate #include <runtime/InitializeThreading.h>.
534         Also realphabetized lowercase #include statements.
535
536 2009-03-11  David Kilzer  <ddkilzer@apple.com>
537
538         Clarify comments regarding order of FEATURE_DEFINES
539
540         Rubber-stamped by Mark Rowe.
541
542         * Configurations/WebKit.xcconfig: Added warning about the
543         consequences when FEATURE_DEFINES are not kept in sync.
544
545 2009-03-11  Anders Carlsson  <andersca@apple.com>
546
547         Reviewed by Sam Weinig.
548
549         WebKit side of <rdar://problem/6656147>.
550         
551         * Plugins/Hosted/NetscapePluginHostManager.mm:
552         (WebKit::NetscapePluginHostManager::instantiatePlugin):
553         Pass the requestID to _WKPHInstantiatePlugin.
554         
555         * Plugins/Hosted/NetscapePluginHostProxy.mm:
556         Pass the requestID to setCurrentReply.
557         
558         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
559         (WebKit::NetscapePluginInstanceProxy::setCurrentReply):
560         Store the reply in a map with the requestID as the key.
561         
562         (WebKit::NetscapePluginInstanceProxy::waitForReply):
563         Wait for a reply that matches the given requestID.
564         
565         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
566         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
567         Initialize member variables.
568         
569         (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
570         Delete all requests.
571         
572         (WebKit::NetscapePluginInstanceProxy::print):
573         Pass the requestID to _WKPHPluginInstancePrint.
574         
575         (WebKit::NetscapePluginInstanceProxy::loadRequest):
576         Rename m_currentRequestID to m_currentURLRequestID.
577         
578         (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
579         Process requests until we find a reply with the right requestID.
580         
581         (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
582         Pass a requestID to the _WKPH function.
583         
584         (WebKit::NetscapePluginInstanceProxy::nextRequestID):
585         Ditto.
586         
587         * Plugins/Hosted/ProxyInstance.mm:
588         Pass a requestID to the _WKPH functions.
589         
590         * Plugins/Hosted/WebKitPluginClient.defs:
591         * Plugins/Hosted/WebKitPluginHost.defs:
592         Add requestID parameters.
593
594 2009-03-11  Anders Carlsson  <andersca@apple.com>
595
596         Reviewed by Darin Adler.
597
598         Fix <rdar://problem/6620064>.
599         
600         * Plugins/WebPluginContainerPrivate.h:
601
602 2009-03-10  Xan Lopez  <xlopez@igalia.com>
603
604         Build fix, no review.
605
606         * WebView/WebFrame.mm:
607         (-[WebFrame _smartDeleteRangeForProposedRange:]):
608
609 2009-03-09  Anders Carlsson  <andersca@apple.com>
610
611         Reviewed by Kevin Decker.
612
613         WebKit side of <rdar://problem/6530007>
614         
615         * Plugins/Hosted/NetscapePluginHostProxy.mm:
616         (WKPCEnumerate):
617         Call NetscapePluginInstanceProxy::enumerate.
618         
619         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
620         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
621         (WebKit::NetscapePluginInstanceProxy::enumerate):
622         Enumerate the JS object and serialize its values.
623         
624         * Plugins/Hosted/ProxyInstance.h:
625         * Plugins/Hosted/ProxyInstance.mm:
626         (WebKit::ProxyInstance::getPropertyNames):
627         Ask the plug-in host to get the property names and deserialize them.
628         
629         * Plugins/Hosted/WebKitPluginClient.defs:
630         * Plugins/Hosted/WebKitPluginHost.defs:
631
632 2009-03-09  Simon Fraser  <simon.fraser@apple.com>
633
634         Reviewed by Oliver Hunt and Cameron Zwarich
635
636         https://bugs.webkit.org/show_bug.cgi?id=24440
637         
638         The sublayer added to WebHTMLView to host accelerated compositing layers needs to
639         be a subclass of NSView which allows context menu clicks through.
640
641         * WebView/WebHTMLView.mm:
642         (-[WebLayerHostingView rightMouseDown:]):
643         (-[WebHTMLView attachRootLayer:]):
644
645 2009-03-08  Mark Rowe  <mrowe@apple.com>
646
647         Reviewed by Oliver Hunt.
648
649         Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that
650         Frame.h no longer needs to include it.  This cuts the size of the symbols
651         for a debug build by around 3%.
652
653         * Plugins/WebNetscapePluginView.mm:
654         * WebView/WebFrame.mm:
655         (-[WebFrame _scrollDOMRangeToVisible:]):
656         (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
657         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
658         * WebView/WebHTMLView.mm:
659         (-[WebHTMLView jumpToSelection:]):
660         (-[WebHTMLView centerSelectionInVisibleArea:]):
661
662 2009-03-07  Dan Bernstein  <mitz@apple.com>
663
664         Reviewed by Alexey Proskuryakov.
665
666         - fix a bug where debug builds were clearing the HTML5 application cache
667           on application termination
668
669         * WebView/WebView.mm:
670         (-[WebView _close]): Call -[WebCache setDisabled:YES] instead of
671         -[WebCache empty].
672
673 2009-03-06  Douglas R. Davidson  <ddavidso@apple.com>
674
675         Reviewed by Justin Garcia.
676
677         https://bugs.webkit.org/show_bug.cgi?id=24108
678
679         Update spelling and grammar checking to use the new combined text 
680         checking (with automatic language identification) on Snow Leopard. 
681
682         * WebCoreSupport/WebEditorClient.h:
683         * WebCoreSupport/WebEditorClient.mm:
684         (WebEditorClient::checkSpellingAndGrammarOfParagraph):
685
686 2009-03-05  Adele Peterson  <adele@apple.com>
687
688         Reviewed by Darin Adler.
689
690         Fix for https://bugs.webkit.org/show_bug.cgi?id=24079
691         <rdar://problem/6611233> REGRESSION (r39549): Page loads cannot be interrupted with Command-. or Escape
692         <rdar://problem/6636563> Ctrl-tab shortcut doesn't switch tabs when focus is in text field
693        
694         * WebView/WebHTMLView.mm: (-[WebHTMLView doCommandBySelector:]):
695         If WebKit does not support the command, we need to pass the selector to super.  In this case,
696         we'll consider the event not to be handled.  This is not perfect because in theory, [super doCommandBySelector:] 
697         can do some action that would cause WebKit to need to consider the event handled.  But in practice, I've found no
698         example of that happening and causing broken behavior.
699
700 2009-03-04  Mark Rowe  <mrowe@apple.com>
701
702         Reviewed by Dan Bernstein.
703
704         <rdar://problem/6206172> Adoption of new Cocoa API for dictionary contextual menu
705
706         * WebView/WebHTMLView.mm:
707         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
708
709 2009-03-04  Adam Barth  <abath@webkit.org>
710
711         Reviewed by Alexey Proskuryakov.
712
713         https://bugs.webkit.org/show_bug.cgi?id=24356
714
715         Fix WebKit style for allowUniversalAccessFromFileURLs.
716
717         * WebView/WebPreferenceKeysPrivate.h:
718         * WebView/WebPreferences.mm:
719         (+[WebPreferences initialize]):
720         (-[WebPreferences allowUniversalAccessFromFileURLs]):
721         (-[WebPreferences setAllowUniversalAccessFromFileURLs:]):
722         * WebView/WebPreferencesPrivate.h:
723         * WebView/WebView.mm:
724         (-[WebView _preferencesChangedNotification:]):
725
726 2009-03-03  David Kilzer  <ddkilzer@apple.com>
727
728         <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase
729
730         Reviewed by Mark Rowe.
731
732         The fix is to add INSTALLHDRS_COPY_PHASE = YES and
733         INSTALLHDRS_SCRIPT_PHASE = YES to WebKit.xcconfig, then to
734         make sure various build phase scripts work with the installhdrs
735         build phase.
736
737         * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME
738         based on PLATFORM_NAME to work around the missing definition on
739         Tiger.
740         * Configurations/WebKit.xcconfig: Added
741         WEBCORE_PRIVATE_HEADERS_DIR variable to remove definition of
742         UMBRELLA_FRAMEWORKS_DIR for Debug and Release builds in the
743         Xcode project file.  Added INSTALLHDRS_COPY_PHASE = YES and
744         INSTALLHDRS_SCRIPT_PHASE = YES.
745
746 2009-03-03  David Kilzer  <ddkilzer@apple.com>
747
748         Remove last vestiges of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR from WebKit
749
750         Reviewed by Adam Roben.
751
752         Use of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR was removed in r37465
753         since NPAPI headers had migrated from JavaScriptCore to WebCore
754         before that.
755
756         * Configurations/WebKit.xcconfig: Removed definition of
757         JAVASCRIPTCORE_PRIVATE_HEADERS_DIR used in Production builds.
758
759 2009-03-03  Anders Carlsson  <andersca@apple.com>
760
761         Reviewed by Darin Adler.
762
763         Fix <rdar://problem/6633834>.
764         
765         * Plugins/Hosted/NetscapePluginHostManager.mm:
766         (WebKit::NetscapePluginHostManager::instantiatePlugin):
767         Create a new plug-in instance if the plug-in host has crashed.
768         
769         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
770         (WebKit::NetscapePluginInstanceProxy::invalidate):
771         Add a null check for the plug-in host proxy.
772
773 2009-03-02  Sam Weinig  <sam@webkit.org>
774
775         Reviewed by Mark Rowe.
776
777         Enable Geolocation (except on Tiger and Leopard).
778
779         * Configurations/WebKit.xcconfig:
780
781 2009-03-02  Anders Carlsson  <andersca@apple.com>
782
783         Reviewed by Dan Bernstein.
784
785         WebKit part of <rdar://problem/6638658>.
786         
787         * Plugins/Hosted/NetscapePluginHostManager.h:
788         * Plugins/Hosted/NetscapePluginHostManager.mm:
789         (WebKit::NetscapePluginHostManager::createPropertyListFile):
790         Spawn the plug-in host and wait for it to create the property list.
791         
792         * Plugins/WebBasePluginPackage.mm:
793         (-[WebBasePluginPackage createPropertyListFile]):
794         Factor code out into a new method.
795         
796         (-[WebBasePluginPackage pListForPath:createFile:]):
797         Call the newly added createPropertyListFile method.
798         
799         * Plugins/WebNetscapePluginPackage.mm:
800         (-[WebNetscapePluginPackage createPropertyListFile]):
801         Tell the plug-in host manager to create a property list file for us.
802
803 2009-03-02  Sam Weinig  <sam@webkit.org>
804
805         Reviewed by Geoffrey Garen.
806
807         Fix for <rdar://problem/6507404> Add Geolocation support.
808
809         This is not yet turned on for any Mac platform.
810
811         Add SPI to ask the embedding application whether to allow
812         Geolocation for an origin.
813
814         * WebCoreSupport/WebChromeClient.h:
815         * WebCoreSupport/WebChromeClient.mm:
816         (WebChromeClient::shouldAllowGeolocationForFrame):
817         * WebView/WebUIDelegatePrivate.h:
818
819 2009-03-02  Anders Carlsson  <andersca@apple.com>
820
821         Fix PowerPC build.
822
823         * Plugins/WebNetscapePluginPackage.mm:
824         (-[WebNetscapePluginPackage _tryLoad]):
825
826 2009-03-02  Anders Carlsson  <andersca@apple.com>
827
828         Reviewed by John Sullivan, Ada Chan.
829
830         Factor loading code out into its own method and get rid of a bunch of gotos.
831         
832         * Plugins/WebNetscapePluginPackage.mm:
833         (-[WebNetscapePluginPackage _tryLoad]):
834         (-[WebNetscapePluginPackage load]):
835
836 2009-03-02  Anders Carlsson  <andersca@apple.com>
837
838         Build fix.
839
840         * Plugins/WebNetscapeDeprecatedFunctions.h:
841
842 2009-03-02  Anders Carlsson  <andersca@apple.com>
843
844         Reviewed by John Sullivan.
845
846         Rename WebNetscapePluginPackage.m to WebNetscapePluginPackage.mm
847
848         * Plugins/WebNetscapePluginPackage.m: Removed.
849         * Plugins/WebNetscapePluginPackage.mm: Copied from mac/Plugins/WebNetscapePluginPackage.m.
850
851 2009-03-01  Anders Carlsson  <andersca@apple.com>
852
853         Reviewed by Sam Weinig.
854
855         WebKit side of <rdar://problem/6449689>
856
857         Pass the visible name to the plug-in host.
858         
859         * Plugins/Hosted/NetscapePluginHostManager.mm:
860         (WebKit::NetscapePluginHostManager::spawnPluginHost):
861
862 2009-02-27  Alice Liu  <alice.liu@apple.com>
863
864         Fix <rdar://problem/6531265> REGRESSION (r39185): adding ".jpeg"
865         extension to images that already have .jpg extension
866
867         Reviewed by Oliver Hunt.
868
869         * WebView/WebHTMLView.mm:
870         (-[NSString matchesExtensionEquivalent:]):
871         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
872         Relax the check for the proper extension to allow for known
873         equivalents, special-cased in matchesExtensionEquivalent function.
874
875 2009-02-27  Anders Carlsson  <andersca@apple.com>
876
877         Reviewed by Geoffrey Garen.
878
879         <rdar://problem/6631436>
880         CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::addValueToArray + 55
881         
882         Port the NPN_Evaluate code over from WebCore instead of using the frame loader.
883         
884         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
885         (WebKit::NetscapePluginInstanceProxy::evaluate):
886
887 2009-02-27  Anders Carlsson  <andersca@apple.com>
888
889         Reviewed by Geoffrey Garen.
890
891         WebKit side of <rdar://problem/6626814>.
892         
893         * Plugins/Hosted/NetscapePluginHostProxy.mm:
894         (WKPCInvokeDefault):
895         Make InvokeDefault async.
896         
897         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
898         (WebKit::NetscapePluginInstanceProxy::addValueToArray):
899         Handle passing NPObjects back to the plug-in host.
900         
901         * Plugins/Hosted/ProxyInstance.h:
902         (WebKit::ProxyInstance::objectID):
903         Add objectID getter.
904         
905         * Plugins/Hosted/WebKitPluginClient.defs:
906         Make InvokeDefault a simpleroutine.
907
908 2009-02-27  Timothy Hatcher  <timothy@apple.com>
909
910         Fixes an exception by null checking the WebResource before adding it to
911         the subresources array.
912
913         <rdar://problem/5950769> Bug in [WebDataSource subresources] can throw an exception
914
915         Reviewed by Geoff Garen and Anders Carlsson.
916
917         * WebView/WebDataSource.mm:
918         (-[WebDataSource subresources]): Null check the WebResource before adding it.
919
920 2009-02-27  Timothy Hatcher  <timothy@apple.com>
921
922         Adds a workaround for Automator creating a WebView from a secondary thread.
923
924         <rdar://problem/6631951> REGRESSION (Safari 4 Beta): Automator crash on
925         secondary thread beneath -[WebView initWithFrame:frameName:groupName:]
926
927         Reviewed by Geoff Garen.
928
929         * WebView/WebView.mm:
930         (needsWebViewInitThreadWorkaround): Check for com.apple.Automator.
931
932 2009-02-27  Adam Barth  <abarth@webkit.org>
933
934         Reviewed by Eric Seidel.
935
936         Add a preference to reduce the power of file:// URLs.
937
938         * WebView/WebPreferenceKeysPrivate.h:
939         * WebView/WebPreferences.mm:
940         (+[WebPreferences initialize]):
941         (-[WebPreferences allowUniversalAccessFromFileUrls]):
942         (-[WebPreferences setAllowUniversalAccessFromFileUrls:]):
943         * WebView/WebPreferencesPrivate.h:
944         * WebView/WebView.mm:
945         (-[WebView _preferencesChangedNotification:]):
946
947 2009-02-27  Simon Fraser  <simon.fraser@apple.com>
948
949         Reviewed by Anders Carlsson
950
951         https://bugs.webkit.org/show_bug.cgi?id=24242
952         
953         setCursor(), and resetCursorRects() on Tiger, were using global, not local
954         coordinates for elementAtPoint:
955         
956         * WebView/WebHTMLView.mm:
957         (resetCursorRects):
958         (setCursor):
959
960 2009-02-27  Adam Barth  <abarth@webkit.org>
961
962         Reviewed by Eric Seidel.
963
964         Add a preference to reduce the power of file:// URLs.
965
966         * WebView/WebPreferenceKeysPrivate.h:
967         * WebView/WebPreferences.mm:
968         (+[WebPreferences initialize]):
969         (-[WebPreferences allowUniversalAccessFromFileUrls]):
970         (-[WebPreferences setAllowUniversalAccessFromFileUrls:]):
971         * WebView/WebPreferencesPrivate.h:
972         * WebView/WebView.mm:
973         (-[WebView _preferencesChangedNotification:]):
974
975 2009-02-26  Adele Peterson  <adele@apple.com>
976
977         Reviewed by Geoff Garen.
978
979         Fix for <rdar://problem/6618166>
980         https://bugs.webkit.org/show_bug.cgi?id=24216
981         (REGRESSION r36919) Safari 4 Beta causes MSN Messenger's text entry field to lose focus after entering a message
982
983         During a series of firstResponder changes, at some point while the WebHTMLView was losing first responder status,
984         we incorrectly marked the page as active, and then when the WebHTMLView became first responder again, setActive did nothing.
985         This change restores behavior from before r36919 to check if the WebHTMLView is in the middle of losing first responder when calling setActive.
986
987         In addition to updating editing/selection/designmode-no-caret.html results, I also made sure the test cases that were 
988         fixed in r36919 and r38570 are still fixed.
989
990         * WebView/WebHTMLView.mm:
991         (-[WebHTMLView resignFirstResponder]): Keep track if we're in the process of resigning first responder.
992         (-[WebHTMLView _isResigningFirstResponder]): Added.
993         * WebView/WebHTMLViewInternal.h:
994         * WebView/WebView.mm: (-[WebView _updateFocusedAndActiveStateForFrame:]): Don't set the page to be active
995         if the document view is currently resigning first responder.
996
997 2009-02-25  Anders Carlsson  <andersca@apple.com>
998
999         Reviewed by Kevin Decker.
1000
1001         Fix <rdar://problem/6623697>.
1002         
1003         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1004         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1005         (WebKit::NetscapePluginInstanceProxy::print):
1006         Ask the plug-in host to print, create a CGImage of the returned bytes and draw
1007         the image into the passed in context.
1008         
1009         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1010         (-[WebHostedNetscapePluginView drawRect:]):
1011         When printing, call NetscapePluginInstanceProxy::print.
1012         
1013         * Plugins/Hosted/WebKitPluginHost.defs:
1014
1015 2009-02-19  Alexey Proskuryakov  <ap@webkit.org>
1016
1017         Reviewed by Darin Adler.
1018
1019         https://bugs.webkit.org/show_bug.cgi?id=24024
1020         REGRESSION (r39845): Assertion failure in -[WebHistoryItem dictionaryRepresentation] when
1021         archiving a submission to about:blank
1022
1023         I don't know how to make an automated test for this bug.
1024
1025         * History/WebHistory.mm: (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
1026         Account for the fact that HTTP method may be non-empty for non-HTTP requests.
1027
1028 2009-02-25  Chris Fleizach  <cfleizach@apple.com>
1029
1030         Reviewed by Beth Dakin.
1031
1032         Naming change from
1033         Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
1034         https://bugs.webkit.org/show_bug.cgi?id=24143
1035
1036         * WebView/WebFrame.mm:
1037         (-[WebFrame _accessibilityTree]):
1038
1039 2009-02-25  Simon Fraser  <simon.fraser@apple.com>
1040
1041         Build fix with ACCELERATED_COMPOSITING turned on.
1042         
1043         I missed a spot in my last commit in renaming to
1044         _stoppedAcceleratedCompositingForFrame:
1045         
1046         * WebView/WebHTMLView.mm:
1047         (-[WebHTMLView close]):
1048
1049 2009-02-25  Simon Fraser  <simon.fraser@apple.com>
1050
1051         Reviewed by Dan Bernstein
1052
1053         https://bugs.webkit.org/show_bug.cgi?id=23854
1054
1055         Make an observable property, _isUsingAcceleratedCompositing, on
1056         WebView that DumpRenderTree can use to specialize behavior.
1057         
1058         This is implemented via a count of Frames that are using
1059         accelerated compositing.
1060
1061         * WebView/WebHTMLView.mm:
1062         (-[WebHTMLViewPrivate clear]):
1063         (-[WebHTMLView close]):
1064         (-[WebHTMLView attachRootLayer:]):
1065         (-[WebHTMLView detachRootLayer]):
1066         * WebView/WebView.mm:
1067         (+[WebView automaticallyNotifiesObserversForKey:]):
1068         (-[WebView _startedAcceleratedCompositingForFrame:]):
1069         (-[WebView _stoppedAcceleratedCompositingForFrame:]):
1070         (-[WebView _isUsingAcceleratedCompositing]):
1071         * WebView/WebViewInternal.h:
1072         * WebView/WebViewPrivate.h:
1073
1074 2009-02-24  Sam Weinig  <sam@webkit.org>
1075
1076         Reviewed by Geoffrey Garen.
1077
1078         Related to <rdar://problem/6590295>
1079         Allow disabling javascript: urls.
1080
1081         * WebView/WebView.mm:
1082         (-[WebView _setJavaScriptURLsAreAllowed:]):
1083         * WebView/WebViewPrivate.h:
1084
1085 2009-02-24  Mark Rowe  <mrowe@apple.com>
1086
1087         Reviewed by Oliver Hunt.
1088
1089         <rdar://problem/6259220> Rename AVAILABLE_AFTER_WEBKIT_VERSION_3_1 (etc.) to match the other macros
1090
1091         * Carbon/CarbonUtils.h:
1092         * Carbon/HIWebView.h:
1093         * Plugins/WebPlugin.h:
1094         * Plugins/WebPluginViewFactory.h:
1095         * WebView/WebUIDelegate.h:
1096
1097 2009-02-24  Peter Ammon  <pammon@apple.com>
1098
1099         Reviewed by Mark Rowe.
1100
1101         Fix <rdar://problem/6251410> Services can modify non-editable content in Safari
1102
1103         * WebView/WebHTMLView.mm:
1104         (-[WebHTMLView validRequestorForSendType:returnType:]): Return self only if we can handle
1105         both the send and return type.  We should also handle a nil send or return type by ignoring
1106         the argument and returning whether we can handle the other type passed in.
1107
1108 2009-02-23  Anders Carlsson  <andersca@apple.com>
1109
1110         Reviewed by Geoffrey Garen and Darin Adler.
1111
1112         WebKit side of <rdar://problem/6613151>.
1113         
1114         Make sure to vm_deallocate all memory we get from MIG callbacks.
1115         
1116         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1117         (DataDeallocator::DataDeallocator):
1118         (DataDeallocator::~DataDeallocator):
1119         Add a simple deallocator class.
1120         
1121         (WKPCStatusText):
1122         (WKPCLoadURL):
1123         (WKPCBooleanAndDataReply):
1124         (WKPCEvaluate):
1125         (WKPCGetStringIdentifier):
1126         (WKPCInvoke):
1127         (WKPCInvokeDefault):
1128         (WKPCConstruct):
1129         (WKPCSetProperty):
1130         Use the new deallocator class.
1131
1132 2009-02-23  Anders Carlsson  <andersca@apple.com>
1133
1134         Reviewed by Darin Adler.
1135
1136         Fix <rdar://problem/6450656>.
1137         
1138         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1139         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1140         (WebKit::NetscapePluginInstanceProxy::insertText):
1141         Add insert text which just calls the new WKPH function.
1142         
1143         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1144         (-[WebHostedNetscapePluginView inputContext]):
1145         Get the input context from the shared input panel.
1146         
1147         (-[WebHostedNetscapePluginView keyDown:]):
1148         Let the shared input panel have a go at the event first.
1149         
1150         * Plugins/Hosted/WebKitPluginHost.defs:
1151         Add new InsertText function.
1152
1153 2009-02-23  Mark Rowe  <mrowe@apple.com>
1154
1155         Fix the build after r41126.
1156
1157         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1158         (WebKit::NetscapePluginInstanceProxy::invoke):
1159         (WebKit::NetscapePluginInstanceProxy::invokeDefault):
1160         (WebKit::NetscapePluginInstanceProxy::construct):
1161
1162 2009-02-22  Dan Bernstein  <mitz@apple.com>
1163
1164         Reviewed by Darin Adler.
1165
1166         - fix <rdar://problem/5966123> REGRESSION (r30741): Generic Sun Applet loading logo appears half off screen
1167
1168         * WebCoreSupport/WebFrameLoaderClient.mm: Correct a copy & paste error
1169         in r30741, and assign the height value, rather than the width, to the
1170         "height" parameter.
1171
1172 2009-02-21  Anders Carlsson  <andersca@apple.com>
1173
1174         Fix build.
1175         
1176         * Plugins/Hosted/WebTextInputWindowController.m:
1177
1178 2009-02-20  Anders Carlsson  <andersca@apple.com>
1179
1180         Reviewed by Dan Bernstein.
1181
1182         Add a shared floating text input window implementation, to be used by the hosted plug-in view.
1183         
1184         * Plugins/Hosted/WebTextInputWindowController.h: Added.
1185         * Plugins/Hosted/WebTextInputWindowController.m: Added.
1186
1187 2009-02-20  Kevin Decker  <kdecker@apple.com>
1188
1189         Reviewed by andersca.
1190     
1191         <rdar://problem/6496140> Safari sometimes hangs in WKSetMetadataURL for several seconds after downloading a file
1192          
1193          Spawn a background thread for WKSetMetadataURL because this function will not return until mds has journaled the data
1194          we are trying to set. Depending on what other I/O is going on, it can take some time. 
1195
1196         * Misc/WebNSFileManagerExtras.m: Import pthread.h and FoundationExtras.h
1197         (setMetaData): Added. Calls WKSetMetadataURL().
1198         (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Call setMetaData on a background thread 
1199  
1200 2009-02-19  Dan Bernstein  <mitz@apple.com>
1201
1202         Reviewed by Sam Weinig.
1203
1204         - WebKit part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
1205           Do not send loader callbacks during CSS styling
1206
1207         * WebView/WebView.mm:
1208         (-[WebView _preferencesChangedNotification:]): Reverted the
1209         iChat-specific quirk added in <http://trac.webkit.org/changeset/41071>.
1210
1211 2009-02-18  Dan Bernstein  <mitz@apple.com>
1212
1213         Reviewed by Brady Eidson.
1214
1215         - WebKit part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
1216
1217         * WebView/WebView.mm:
1218         (-[WebView _preferencesChangedNotification:]): Activate the WebCore
1219         workaround for this crash in iChat.
1220
1221 2009-02-18  Anders Carlsson  <andersca@apple.com>
1222
1223         Reviewed by Sam Weinig.
1224
1225         Fix for <rdar://problem/6542390>
1226         
1227         There's no need to call setDefersLoading here - we already defer anything a plug-in can do that
1228         would cause a load to begin.
1229         
1230         * Plugins/WebNetscapePluginView.mm:
1231         (-[WebNetscapePluginView sendEvent:isDrawRect:]):
1232
1233 2009-02-18  Adam Roben  <aroben@apple.com>
1234
1235         Add SPI to get WebKit's custom pointing-hand cursor
1236
1237         Reviewed by John Sullivan.
1238
1239         * WebView/WebView.mm:
1240         (+[WebView _pointingHandCursor]): Added. Returns the custom
1241         pointing-hand cursor that WebKit uses.
1242         * WebView/WebViewPrivate.h: Added +_pointingHandCursor.
1243
1244 2009-02-17  Eric Carlson  <eric.carlson@apple.com>
1245
1246         Reviewed by Antti Koivisto.
1247
1248         https://bugs.webkit.org/show_bug.cgi?id=23917
1249         Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
1250         element.
1251
1252         * Plugins/WebPluginContainerPrivate.h:
1253         * Plugins/WebPluginController.mm:
1254         (mediaProxyClient): New, cast to HTMLMediaElement if it is a video or audio element
1255         (-[WebPluginController _setMediaPlayerProxy:forElement:]): New, pass proxy to HTMLMediaElement
1256         (-[WebPluginController _postMediaPlayerNotification:forElement:]): New, deliver event to HTMLMediaElement
1257
1258         * WebCoreSupport/WebFrameLoaderClient.mm:
1259         (WebFrameLoaderClient::createPlugin): Don't allow a media player proxy plug-in to be chosen by
1260         file extension, only want a match for the new MIME type proxy plug-ins should have.
1261
1262 2009-02-13  Anders Carlsson  <andersca@apple.com>
1263
1264         Reviewed by Kevin Decker.
1265
1266         <rdar://problem/6584834> ESPN radio live stream link hangs Safari 
1267
1268         When a plug-in invokes JavaScript code that will destroy the plug-in, we need to
1269         defer destruction until we're done executing the script.
1270         
1271         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1272         (WebKit::PluginDestroyDeferrer::PluginDestroyDeferrer):
1273         (WebKit::PluginDestroyDeferrer::~PluginDestroyDeferrer):
1274         Add a simple RAII object for deferring destruction of the plug-in instance.
1275         
1276         (WKPCEvaluate):
1277         (WKPCInvoke):
1278         (WKPCInvokeDefault):
1279         (WKPCConstruct):
1280         (WKPCGetProperty):
1281         (WKPCSetProperty):
1282         (WKPCRemoveProperty):
1283         (WKPCHasProperty):
1284         (WKPCHasMethod):
1285         Use the PluginDestroyDeferrer.
1286         
1287         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1288         (WebKit::NetscapePluginInstanceProxy::pluginID):
1289         Assert that the plug-in ID is not 0 here.
1290         
1291         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1292         (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
1293         Initialize the call depth.
1294         
1295         (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
1296         Set the plug-in ID to 0 to aid debugging.
1297         
1298         (WebKit::NetscapePluginInstanceProxy::willCallPluginFunction):
1299         Increment the call depth.
1300         
1301         (WebKit::NetscapePluginInstanceProxy::didCallPluginFunction):
1302         Decrement the call depth, if it's 0 and we should stop the plug-in, do so.
1303         
1304         (WebKit::NetscapePluginInstanceProxy::shouldStop):
1305         If we're called this with a non-zero call depth, set shouldStopSoon to true.
1306         
1307         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1308         (-[WebHostedNetscapePluginView shouldStop]):
1309         Call the proxy.
1310
1311 2009-02-12  Brady Eidson  <beidson@apple.com>
1312
1313         Reviewed by Kevin Decker
1314
1315         <rdar://problem/6582180> - Wrong HTTP method applied to history item.
1316
1317         * WebCoreSupport/WebFrameLoaderClient.mm:
1318         (WebFrameLoaderClient::updateGlobalHistory): Check the original request, not any
1319           redirected request.
1320
1321 2009-02-12  Anders Carlsson  <andersca@apple.com>
1322
1323         Reviewed by Kevin Decker.
1324
1325         <rdar://problem/6579412> 
1326         REGRESSION (3.2.1-ToT): Crash in Silverlight viewing streaming lecture
1327         
1328         * Plugins/WebNetscapePluginView.h:
1329         * Plugins/WebNetscapePluginView.mm:
1330         (-[WebNetscapePluginView userAgent]):
1331         Apply workaround for Silverlight workaround.
1332         
1333         (-[WebNetscapePluginView _createPlugin]):
1334         Check if the plug-in that we're creating is the silverlight plug-in.
1335
1336 2009-02-12  Brady Eidson  <beidson@apple.com>
1337
1338         Reviewed by Darin Adler
1339
1340         Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
1341
1342         * History/WebBackForwardList.mm:
1343         (-[WebBackForwardList dealloc]): Null check before deref()'ing.
1344         (-[WebBackForwardList finalize]): Ditto.
1345
1346         * Misc/WebIconFetcher.mm:
1347         (-[WebIconFetcher dealloc]): Null check before deref()'ing.
1348         (-[WebIconFetcher finalize]): Ditto.
1349
1350         * WebCoreSupport/WebEditorClient.mm: Change to use RefPtr<> instead of ref()/deref().
1351         (-[WebEditCommand initWithEditCommand:]):
1352         (-[WebEditCommand dealloc]):
1353         (-[WebEditCommand finalize]):
1354         (-[WebEditCommand command]):
1355
1356         * WebView/WebArchive.mm: Change to use RefPtr<> instead of ref()/deref().
1357         (-[WebArchivePrivate init]):
1358         (-[WebArchivePrivate initWithCoreArchive:]):
1359         (-[WebArchivePrivate coreArchive]):
1360         (-[WebArchivePrivate setCoreArchive:]):
1361         (-[WebArchivePrivate dealloc]):
1362         (-[WebArchivePrivate finalize]):
1363
1364         * WebView/WebDataSource.mm: 
1365         (-[WebDataSourcePrivate dealloc]): Null check before deref()'ing.
1366         (-[WebDataSourcePrivate finalize]): Ditto.
1367
1368 2009-02-12  Brady Eidson  <beidson@apple.com>
1369
1370         Reviewed by Kevin Decker
1371
1372         <rdar://problem/6579750> - Crash in WebArchivePrivate in Tiger TextEdit
1373
1374         NSHTMLReader tries to create a WebArchive from a random chunk of data.  Previously, WebArchive creation would
1375         fail and return nil and NSHTMLReader would try something else.  When we changed the behavior to return an invalid
1376         WebArchive object, things started getting weird.
1377
1378         * WebView/WebArchive.mm:
1379         (-[WebArchivePrivate setCoreArchive:]): Null check the pointer before calling ->deref()
1380         (-[WebArchivePrivate dealloc]): Remove the ASSERT which is now invalid, and null check the pointer before ->deref().
1381         (-[WebArchivePrivate finalize]): Ditto
1382         (-[WebArchive initWithData:]): If the LegacyWebArchive cannot be created, return nil instead of an invalid object.
1383
1384 2009-02-11  Mark Rowe  <mrowe@apple.com>
1385
1386         Fix the build.
1387
1388         * History/WebHistory.mm:
1389         (-[WebHistoryPrivate visitedURL:withTitle:]): Use ASSERT_UNUSED in a manner that makes sense.
1390
1391 2009-02-11  Brady Eidson  <beidson@apple.com>
1392
1393         Reviewed by Mark Rowe
1394
1395         <rdar://problem/6570573> Some visit counts in History.plist have insanely high values, can roll over to negative
1396
1397         Remove the item from the date caches before registering the visit.  Otherwise it might not be successfully removed 
1398         and when we add it back later it will exist in the list twice.  This will cause the entry to be written out twice,
1399         which would lead to doubling (or more!) the visit count on next launch when these multiple items are merged.
1400
1401         * History/WebHistory.mm:
1402         (-[WebHistoryPrivate visitedURL:withTitle:]): Swap the removeItemFromDateCaches and visitedWithTitle calls.
1403         (-[WebHistoryPrivate addItem:discardDuplicate:]): Add a mode that allows the entry being added to be discarded
1404           if an entry for the URL already exists.  Use that mode when reading the History.plist so only the most
1405           recent entry for a given URL will be used.
1406         (-[WebHistoryPrivate addItems:]):
1407         (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]): 
1408
1409 2009-02-11  Dimitri Dupuis-latour  <dupuislatour@apple.com>
1410
1411         Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
1412         This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.
1413
1414         Reviewed by Timothy Hatcher.
1415
1416         * WebCoreSupport/WebInspectorClient.h:
1417         * WebCoreSupport/WebInspectorClient.mm:
1418         (WebInspectorClient::hiddenPanels):
1419
1420 2009-02-11  Alexey Proskuryakov  <ap@webkit.org>
1421
1422         Reviewed by Darin Adler.
1423
1424         <rdar://problem/6562920> Pasted text should be normalized to NFC
1425
1426         * Misc/WebNSURLExtras.mm: (-[NSURL _web_userVisibleString]): Route the URL string through
1427         -[NSString precomposedStringWithCanonicalMapping].
1428
1429         * WebCoreSupport/WebPasteboardHelper.mm:
1430         (WebPasteboardHelper::plainTextFromPasteboard): Ditto. 
1431
1432         * WebView/WebHTMLView.mm:
1433         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
1434         Ditto. The affected cases are all plain text ones - RTF, RTFD and HTML are assumed to be
1435         precomposed already, and the conversion is performed outside WebKit for those anyway.
1436
1437 2009-02-10  John Sullivan  <sullivan@apple.com>
1438
1439         Reviewed by Dan Bernstein
1440         
1441         <https://bugs.webkit.org/show_bug.cgi?id=23889>, <rdar://problem/6572300>
1442         Negative visit counts stored in History.plist aren't corrected.
1443         
1444         It's not clear how a huge negative visit count ended up in History.plist, but we can't
1445         trust data read from disk so we can at least reset this to something sane. WebCore has
1446         no guard against a visit count overflowing an int, but that seems very unlikely to have
1447         caused this.
1448
1449         * History/WebHistoryItem.mm:
1450         (-[WebHistoryItem initFromDictionaryRepresentation:]):
1451         If a negative visit count is in the dictionary, replace it with 1. If a negative daily or
1452         weekly visit count is in the dictionary, replace it with 0. 
1453
1454 2009-02-10  John Sullivan  <sullivan@apple.com>
1455
1456         Reviewed by Dan Bernstein
1457         
1458         <https://bugs.webkit.org/show_bug.cgi?id=23891>
1459         [WebHistoryItem _setVisitCount:] is unused and should be removed
1460
1461         * History/WebHistoryItem.mm:
1462         (-[WebHistoryItem _setVisitCount:]):
1463         removed this unused method, which is a synonym for setVisitCount: that was introduced
1464         recently and abandoned even more recently
1465
1466         * History/WebHistoryItemInternal.h:
1467         removed declaration of _setVisitCount:
1468
1469 2009-02-10  Anders Carlsson  <andersca@apple.com>
1470
1471         Reviewed by Mark Rowe.
1472
1473         <rdar://problem/6573916> 
1474         CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::pluginHostDied + 25.
1475         
1476         * Plugins/Hosted/NetscapePluginHostManager.mm:
1477         (WebKit::NetscapePluginHostManager::instantiatePlugin):
1478         If we failed to instantiate the plug-in, invalidate the instance proxy.
1479         
1480         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1481         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1482         (WebKit::NetscapePluginInstanceProxy::invalidate):
1483         Remove the instance from the plug-in host's set.
1484         
1485         (WebKit::NetscapePluginInstanceProxy::destroy):
1486         Call invalidate().
1487
1488 2009-02-09  Mark Rowe  <mrowe@apple.com>
1489
1490         Reviewed by Dan Bernstein.
1491
1492         Fix <https://bugs.webkit.org/show_bug.cgi?id=23863> / <rdar://problem/6571390>.
1493         Bug 23863: Reproducible crash in Mail with TOT WebKit when creating a new message
1494
1495         * WebView/WebHTMLView.mm:
1496         (-[WebHTMLView _removeMouseMovedObserverUnconditionally]): Nil-check _private as it may have not
1497         yet been initialized if this WebHTMLView was loaded from a nib.
1498         (-[WebHTMLView _removeSuperviewObservers]): Ditto.
1499
1500 2009-02-09  Eric Seidel  <eric@webkit.org>
1501
1502         Reviewed by Dave Hyatt.
1503
1504         Rename Selection to VisibleSelection to allow us to separate
1505         the selections the user works with from the ones used by
1506         the JS editing APIs.
1507         https://bugs.webkit.org/show_bug.cgi?id=23852
1508
1509         * WebView/WebFrame.mm:
1510         (-[WebFrame _selectNSRange:]):
1511         * WebView/WebView.mm:
1512         (-[WebView textIteratorForRect:]):
1513
1514 2009-02-06  Anders Carlsson  <andersca@apple.com>
1515
1516         Reviewed by Kevin Decker.
1517         
1518         Fix crash when plug-in host dies.
1519         
1520         * Plugins/Hosted/HostedNetscapePluginStream.mm:
1521         (WebKit::HostedNetscapePluginStream::didFail):
1522
1523 2009-02-05  Eric Seidel  <eric@webkit.org>
1524
1525         Reviewed by Justin Garcia.
1526
1527         DOMSelection.getRangeAt() returns a different range than the selection
1528         https://bugs.webkit.org/show_bug.cgi?id=23601
1529
1530         Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range
1531
1532         * WebView/WebFrame.mm:
1533         (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
1534         (-[WebFrame _markDOMRange]):
1535         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
1536         (-[WebFrame _selectedNSRange]):
1537         * WebView/WebHTMLView.mm:
1538         (-[WebHTMLView _selectedRange]):
1539         (-[WebTextCompleteController doCompletion]):
1540         (-[WebHTMLView selectedAttributedString]):
1541         * WebView/WebView.mm:
1542         (-[WebView textIteratorForRect:]):
1543         (-[WebView selectedDOMRange]):
1544
1545 2009-02-06  Geoffrey Garen  <ggaren@apple.com>
1546
1547         Reviewed by Sam Weinig.
1548
1549         Part III of <rdar://problem/6552272>.
1550         
1551         Refactored to use the redirect data WebCore makes available, instead of
1552         tracking loading state in WebKit.
1553         
1554         * History/WebHistory.mm:
1555         (-[WebHistoryPrivate dealloc]):
1556         (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
1557         (-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]):
1558         * History/WebHistoryInternal.h:
1559         * WebCoreSupport/WebFrameLoaderClient.h:
1560         * WebCoreSupport/WebFrameLoaderClient.mm:
1561         (WebFrameLoaderClient::updateGlobalHistory):
1562         (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
1563
1564 2009-02-06  Anders Carlsson  <andersca@apple.com>
1565
1566         Reviewed by Sam Weinig.
1567
1568         <rdar://problem/6562220> 
1569         CrashTracer: [USER] 21 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostProxy::port
1570         
1571         Make the handling of crashes in the plug-in host more robust.
1572         
1573         * Plugins/Hosted/NetscapePluginHostProxy.h:
1574         Add m_portSet.
1575         
1576         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1577         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
1578         Initialize m_portSet.
1579         
1580         (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
1581         Free m_portSet.
1582         
1583         (WebKit::NetscapePluginHostProxy::processRequests):
1584         Listen for messages on the port set. If we get a message to the port death notification port,
1585         then call pluginHostDied. Otherwise, process the message.
1586         
1587         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1588         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1589         (WebKit::NetscapePluginInstanceProxy::cleanup):
1590         Factor code that should be shared between destroy() and pluginHostDied() into cleanup.
1591         
1592         (WebKit::NetscapePluginInstanceProxy::destroy):
1593         Call cleanup().
1594         
1595         (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
1596         Call cleanup().
1597         
1598         (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
1599         Call NetscapePluginHostProxy::processRequests.
1600         
1601         * Plugins/Hosted/ProxyInstance.mm:
1602         (WebKit::ProxyInstance::invalidate):
1603         Add a null check for the host proxy.
1604
1605 2009-02-06  Dan Bernstein  <mitz@apple.com>
1606
1607         - try to fix the Tiger build
1608
1609         * Misc/WebNSArrayExtras.h:
1610
1611 2009-02-06  Anders Carlsson  <andersca@apple.com>
1612
1613         Reviewed by Dan Bernstein.
1614
1615         <rdar://problem/6563650> 
1616         Add Netscape plug-in API to tell the browser not to load streams (some plug-ins handle network loading manually)
1617                 
1618         * Plugins/WebNetscapePluginView.mm:
1619         (-[WebNetscapePluginView loadStream]):
1620         (-[WebNetscapePluginView pluginView:receivedData:]):
1621         (-[WebNetscapePluginView _shouldCancelSrcStream]):
1622
1623 2009-02-05  Maciej Stachowiak  <mjs@apple.com> and Brady Eidson  <beidson@apple.com>
1624
1625         Reviewed by Dan Bernstein and Geoff Garen.
1626
1627         - WebKit code to track per-day and per-week visit counts in history
1628
1629         For now this data is only exposed via SPI for performance reasons.
1630         
1631         * History/WebHistoryItem.mm:
1632         (-[WebHistoryItem initFromDictionaryRepresentation:]): Add parsing support
1633         for new data.
1634         (-[WebHistoryItem _recordInitialVisit]): Tell WebCore to record an initial visit.
1635         (-[WebHistoryItem dictionaryRepresentation]): Add saving support for new data.
1636         (-[WebHistoryItem _getDailyVisitCounts:]): SPI accessor.
1637         (-[WebHistoryItem _getWeeklyVisitCounts:]): SPI accessor.
1638         * History/WebHistoryItemInternal.h: Declare new methods.
1639         * History/WebHistoryItemPrivate.h: Ditto.
1640
1641         * History/WebHistory.mm:
1642         (-[WebHistoryPrivate visitedURL:withTitle:]): For the initial visit, use
1643         the new _recordInitialVisit method instead of setting visit count to 1.
1644
1645         * Misc/WebNSArrayExtras.h:
1646         * Misc/WebNSArrayExtras.m:
1647         (-[NSArray _webkit_numberAtIndex:]): Helper to retrieve an NSNumber or nil from an NSArray
1648         (-[NSArray _webkit_stringAtIndex:]): Helper to retrieve an NSString of nil from an NSArray
1649         
1650 2009-02-05  Aaron Boodman  <aa@chromium.org>
1651
1652         Reviewed by Dave Hyatt.
1653
1654         https://bugs.webkit.org/show_bug.cgi?id=23708
1655         Adds documentElementAvailable() callback to FrameLoaderClient.
1656
1657         * WebCoreSupport/WebFrameLoaderClient.h:
1658         Stub out documentElementAvailable().
1659         * WebCoreSupport/WebFrameLoaderClient.mm:
1660         Ditto.
1661
1662 2009-02-05  Dan Bernstein  <mitz@apple.com>
1663
1664         - build fix
1665
1666         * WebView/WebScriptDebugger.mm:
1667         (WebScriptDebugger::initGlobalCallFrame):
1668
1669 2009-02-05  Beth Dakin  <bdakin@apple.com>
1670
1671         Reviewed by John Sullivan and Brady Eidson.
1672
1673         Fix for <rdar://problem/6557595> REGRESSION: In Mail, selecting a 
1674         mail note message doesn't display it in Mail's preview pane
1675
1676         This was failing because revision 36962 removed a version of 
1677         setVerticalScrollingMode that mail calls. This patch simply adds 
1678         that method back.
1679
1680         * WebView/WebDynamicScrollBarsView.m:
1681         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
1682
1683 2009-02-04  Anders Carlsson  <andersca@apple.com>
1684
1685         Build fix fix.
1686
1687         * WebView/WebScriptDebugger.mm:
1688         (WebScriptDebugger::initGlobalCallFrame):
1689
1690 2009-02-04  Anders Carlsson  <andersca@apple.com>
1691
1692         Reviewed by Sam Weinig.
1693         
1694         Change PCHasProperty, PCHasMethod and PCGetProperty into simpleroutines.
1695         
1696         Rename PHEvaluateReply to PHBooleanAndDataReply and add PHBooleanReply.
1697         
1698         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1699         (WKPCEvaluate):
1700         (WKPCInvoke):
1701         (WKPCGetProperty):
1702         (WKPCHasProperty):
1703         (WKPCHasMethod):
1704         * Plugins/Hosted/WebKitPluginClient.defs:
1705         * Plugins/Hosted/WebKitPluginHost.defs:
1706
1707 2009-02-04  Anders Carlsson  <andersca@apple.com>
1708
1709         Reviewed by Mark Rowe.
1710
1711         Fix 64-bit build.
1712         
1713         * WebView/WebScriptDebugger.mm:
1714         (WebScriptDebugger::initGlobalCallFrame):
1715
1716 2009-02-04  Geoffrey Garen  <ggaren@apple.com>
1717
1718         Reviewed by Mark Rowe.
1719         
1720         Part I of <rdar://problem/6552272>.
1721
1722         Clear the redirectURLs entry when first visiting a site, so sites that
1723         only redirect you the first time you visit them can later learn that
1724         they don't redirect.
1725
1726         * History/WebHistory.mm:
1727         (-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]):
1728
1729 2009-02-04  Timothy Hatcher  <timothy@apple.com>
1730
1731         Change the WebSourceId typedef from int to intptr_t now that <rdar://problem/6263297> is fixed.
1732
1733         <rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for sourceId, not int
1734
1735         Reviewed by Oliver Hunt.
1736
1737         * WebView/WebScriptDebugDelegate.h:
1738
1739 2009-02-04  Timothy Hatcher  <timothy@apple.com>
1740
1741         Switched over from using the WebSafeForwarder for the Script Debug
1742         delegate and added high performance CallScriptDebugDelegate functions.
1743
1744         <rdar://problem/6508457> Launching widget in Dashcode debugger is
1745         super-slow due forwardInvocation: calling debug delegate
1746
1747         Reviewed by Oliver Hunt.
1748
1749         * DefaultDelegates/WebDefaultScriptDebugDelegate.h: Removed.
1750         * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Removed.
1751         * WebView/WebScriptDebugger.mm:
1752         (WebScriptDebugger::initGlobalCallFrame): Use CallScriptDebugDelegate.
1753         (WebScriptDebugger::sourceParsed): Ditto.
1754         (WebScriptDebugger::callEvent): Ditto.
1755         (WebScriptDebugger::atStatement): Ditto.
1756         (WebScriptDebugger::returnEvent): Ditto.
1757         (WebScriptDebugger::exception): Ditto.
1758         * WebView/WebView.mm:
1759         (-[WebViewPrivate dealloc]): Removed scriptDebugDelegateForwarder.
1760         (-[WebView _cacheScriptDebugDelegateImplementations]): Added. Gets the
1761         method implementations for the script debug delegate. Also caches what
1762         didParseSource method to use.
1763         (WebViewGetScriptDebugDelegateImplementations): Added. Returns the
1764         WebScriptDebugDelegateImplementations structure.
1765         (-[WebView setScriptDebugDelegate:]): Call _cacheScriptDebugDelegateImplementations.
1766         (CallDelegate): Added more overloaded versions that take different arguments.
1767         (CallScriptDebugDelegate): Added overloaded versions that take different arguments.
1768         * WebView/WebViewInternal.h:
1769
1770 2009-02-03  Simon Fraser  <simon.fraser@apple.com>
1771
1772         Reviewed by Dave Hyatt
1773
1774         https://bugs.webkit.org/show_bug.cgi?id=23365
1775         
1776         Hook up accelerated compositing layers the native
1777         view system on Mac.
1778
1779         * WebCoreSupport/WebChromeClient.h:
1780         * WebCoreSupport/WebChromeClient.mm:
1781         (WebChromeClient::attachRootGraphicsLayer):
1782         (WebChromeClient::setNeedsOneShotDrawingSynchronization):
1783         New methods to hook up the root GraphicsLayer to the native
1784         view system, and to synchronize layer changes with view-based
1785         drawing when layers come and go.
1786
1787         * WebView/WebHTMLView.mm:
1788         (-[WebHTMLViewPrivate clear]):
1789         Clear the pointer to layerHostingView.
1790
1791         (-[WebHTMLView _setAsideSubviews]):
1792         (-[WebHTMLView willRemoveSubview:]):
1793         Keep the special layer-hosting view in the subviews even 
1794         when the rest of the subviews are ripped out for
1795         painting.
1796
1797         (-[WebHTMLView _isUsingAcceleratedCompositing]):
1798         New utility method for DumpRenderTree to know if we're
1799         hosting layers.
1800
1801         (-[WebHTMLView drawRect:]):
1802         Call -disableScreenUpdatesUntilFlush if we have to
1803         synchronize layer changes with painting.
1804
1805         (-[WebHTMLView attachRootLayer:]):
1806         (-[WebHTMLView detachRootLayer]):
1807         Attach and detach the root GraphicsLayer.
1808
1809         * WebView/WebViewInternal.h:
1810         * WebView/WebHTMLViewInternal.h:
1811         * WebView/WebHTMLViewPrivate.h:
1812         New method declarations.
1813         
1814         * WebView/WebView.mm:
1815         (-[WebView _needsOneShotDrawingSynchronization]):
1816         (-[WebView _setNeedsOneShotDrawingSynchronization:]):
1817         Set the flag to say if we need to synchronize layer
1818         changes and painting on the next -drawRect: call.
1819
1820         (-[WebView viewWillMoveToWindow:]):
1821         (-[WebView viewDidMoveToWindow]):
1822         Call new notifications that the view was added to or removed from
1823         the window, which are required by the layer hosting mechanism.
1824
1825 2009-02-02  Geoffrey Garen  <ggaren@apple.com>
1826
1827         Build fix.
1828
1829         * Plugins/WebPluginController.mm:
1830         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
1831
1832 2009-02-02  Geoffrey Garen  <ggaren@apple.com>
1833
1834         Reviewed by Sam Weinig.
1835
1836         Track redirects in global history.
1837
1838         * History/WebHistory.mm:
1839         (-[WebHistoryPrivate dealloc]):
1840         (-[WebHistoryPrivate lastVisitedEntry]):
1841         (-[WebHistoryPrivate setLastVisitedEntry:]): Remember the last global history
1842         entry in case we're asked to add redirect information to it later.
1843
1844         (-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]):
1845         (-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]): Record redirect
1846         information in global history.
1847
1848         * History/WebHistoryInternal.h:
1849         * WebCoreSupport/WebFrameLoaderClient.h: See above and below.
1850
1851         * WebCoreSupport/WebFrameLoaderClient.mm:
1852         (WebFrameLoaderClient::updateGlobalHistory):
1853         (WebFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem): Record redirect
1854         information in global history.
1855
1856         * WebView/WebFrame.mm:
1857         (-[WebFrame loadRequest:]):
1858         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
1859         * WebView/WebFramePrivate.h: Updated for rename and extra parameter.
1860
1861 2009-02-02  Anders Carlsson  <andersca@apple.com>
1862
1863         Reviewed by Dan Bernstein.
1864
1865         Work around a limitation in MIG where two functions can't have the same name even if they're
1866         not in the same subsystem.
1867         
1868         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1869         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
1870         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1871         (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
1872         * Plugins/Hosted/WebKitPluginClient.defs:
1873         * Plugins/Hosted/WebKitPluginHost.defs:
1874
1875 2009-02-02  Anders Carlsson  <andersca@apple.com>
1876
1877         Reviewed by Sam Weinig.
1878
1879         Implement WKPCGetPluginElementObject.
1880         
1881         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1882         (WKPCGetPluginElementNPObject):
1883         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1884         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1885         (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
1886         * Plugins/Hosted/WebKitPluginClient.defs:
1887         * Plugins/WebBaseNetscapePluginView.h:
1888         * Plugins/WebBaseNetscapePluginView.mm:
1889         (-[WebBaseNetscapePluginView WebCore::]):
1890
1891 2009-02-02  Anders Carlsson  <andersca@apple.com>
1892
1893         Build fix.
1894         
1895         * WebView/WebHTMLView.mm:
1896
1897 2009-02-02  Anders Carlsson  <andersca@apple.com>
1898
1899         Reviewed by Dan Bernstein.
1900
1901         Make WebBaseNetscapePluginView hold a reference to a HTMLPlugInElement instead of a DOMElement.
1902         
1903         * Plugins/Hosted/WebHostedNetscapePluginView.h:
1904         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1905         (-[WebHostedNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
1906         * Plugins/WebBaseNetscapePluginView.h:
1907         * Plugins/WebBaseNetscapePluginView.mm:
1908         (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
1909         (-[WebBaseNetscapePluginView _windowClipRect]):        
1910         (-[WebBaseNetscapePluginView visibleRect]):
1911         (-[WebBaseNetscapePluginView dataSource]):
1912         * Plugins/WebKitPluginContainerView.h: Removed.
1913         * Plugins/WebKitPluginContainerView.mm: Removed.
1914         * Plugins/WebNetscapePluginView.h:
1915         * Plugins/WebNetscapePluginView.mm:
1916         (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
1917         (-[WebNetscapePluginView getVariable:value:]):
1918         * WebCoreSupport/WebFrameLoaderClient.mm:
1919         (WebFrameLoaderClient::createPlugin):
1920
1921 2009-02-02  Anders Carlsson  <andersca@apple.com>
1922
1923         Reviewed by Dan Bernstein.
1924
1925         Update for changes to WebCore.
1926         
1927         * WebCoreSupport/WebFrameLoaderClient.h:
1928         * WebCoreSupport/WebFrameLoaderClient.mm:
1929         (WebFrameLoaderClient::createPlugin):
1930
1931 2009-02-02  Anders Carlsson  <andersca@apple.com>
1932
1933         Reviewed by Oliver Hunt.
1934
1935         When a new Web View was not created, report back to the plug-in host.
1936         
1937         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1938         (WebKit::NetscapePluginInstanceProxy::performRequest):
1939         * Plugins/Hosted/WebKitPluginHost.defs:
1940
1941 2009-02-02  Anders Carlsson  <andersca@apple.com>
1942
1943         Reviewed by Kevin Decker.
1944
1945         Draw the regular missing plug-in icon instead of a red rect when a plug-in has crashed.
1946         
1947         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1948         (-[WebHostedNetscapePluginView drawRect:]):
1949
1950 2009-02-02  Holger Hans Peter Freyther  <zecke@selfish.org>
1951
1952         Reviewed by Darin Adler.
1953
1954         Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
1955
1956         https://bugs.webkit.org/show_bug.cgi?id=23428
1957
1958         FrameView::forceLayout could be killed but the comment might
1959         contain a value over the the plain FrameView::layout...
1960
1961         Adjust the WebCore/WebKit consumers of these methods.
1962
1963         * WebView/WebFrame.mm:
1964         (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
1965         * WebView/WebHTMLView.mm:
1966         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
1967         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
1968
1969 2009-01-31  John Sullivan  <sullivan@apple.com>
1970
1971         https://bugs.webkit.org/show_bug.cgi?id=23665
1972
1973         Cleaned up code to add/remove NSNotification observers, to avoid performance hit
1974         of calling removeObserver with unspecified notifications, or calling removeObserver
1975         multiple times for the same notification.
1976
1977         Reviewed by Darin Adler
1978
1979         * WebView/WebHTMLView.mm:
1980         added observingMouseMovedNotifications, observingSuperviewNotifications, and 
1981         observingWindowNotifications as BOOL ivars of _private object
1982         (-[WebHTMLView _removeMouseMovedObserverUnconditionally]):
1983         moved to file-internal section of file, added leading underscore, now bails out
1984         if we aren't observing the relevant notifications, now records that we are no longer
1985         observing the relevant notifications
1986         (-[WebHTMLView _removeSuperviewObservers]):
1987         ditto, also stores [NSNoticationCenter defaultCenter] in local var to avoid objc dispatch
1988         (-[WebHTMLView _removeWindowObservers]):
1989         ditto
1990         (-[WebHTMLView close]):
1991         replace general removeObserver: call with three specific calls for all the notifications
1992         that this class actually observes
1993         (-[WebHTMLView addMouseMovedObserver]):
1994         bail out if already observing relevant notifications, now records that we are observing
1995         the relevant notifications
1996         (-[WebHTMLView removeMouseMovedObserver]):
1997         updated for name change
1998         (-[WebHTMLView addSuperviewObservers]):
1999         bail out if already observing relevant notifications, now records that we are observing
2000         the relevant notifications; also stores [NSNoticationCenter defaultCenter] in local var 
2001         to avoid objc dispatch
2002         (-[WebHTMLView addWindowObservers]):
2003         ditto
2004         (-[WebHTMLView viewWillMoveToSuperview:]):
2005         updated for name change
2006         (-[WebHTMLView viewWillMoveToWindow:]):
2007         updated for name changes
2008
2009 2009-01-31  Darin Adler  <darin@apple.com>
2010
2011         Reviewed by Mark Rowe.
2012
2013         Fix code that assumes all command selectors end in colons.
2014         rdar://problem/6545874
2015
2016         * WebView/WebHTMLView.mm:
2017         (commandNameForSelector): Don't assert, just return a null string, when
2018         the selector doesn't end in a colon.
2019
2020 2009-01-30  Adam Barth  <abarth@webkit.org>
2021
2022         Reviewed by Sam Weinig.
2023
2024         Add a pref to disable web security.
2025
2026         * WebView/WebPreferenceKeysPrivate.h:
2027         * WebView/WebPreferencesPrivate.h:
2028         * WebView/WebPreferences.mm:
2029         (+[WebPreferences initialize]):
2030         (-[WebPreferences isWebSecurityEnabled]):
2031         (-[WebPreferences setWebSecurityEnabled:]):
2032         * WebView/WebView.mm:
2033         (-[WebView _preferencesChangedNotification:]):
2034
2035 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
2036
2037         Reviewed by Darin Adler.
2038
2039         Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
2040
2041         Carry out the move and catch up in two call sites.
2042
2043         * WebView/WebHTMLView.mm:
2044         (-[WebHTMLView _frameOrBoundsChanged]):
2045
2046 2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
2047
2048         Reviewed by Darin Adler.
2049
2050         isFrameSet was moved from Frame to Document. Update the
2051         WebKit usage.
2052
2053         * WebView/WebFrame.mm:
2054         (-[WebFrame _isFrameSet]):
2055         * WebView/WebHTMLView.mm:
2056         (-[WebHTMLView knowsPageRange:]):
2057
2058 2009-01-30  Geoffrey Garen  <ggaren@apple.com>
2059
2060         Build fix.
2061
2062         * WebView/WebFramePrivate.h:
2063
2064 2009-01-30  Geoffrey Garen  <ggaren@apple.com>
2065
2066         Reviewed by Sam Weinig.
2067
2068         Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
2069         preparation for setting them differently during a redirect.
2070
2071         * WebView/WebPDFView.mm:
2072         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
2073
2074 2009-01-30  Anders Carlsson  <andersca@apple.com>
2075
2076         Reviewed by Sam Weinig.
2077
2078         Fix <rdar://problem/6544048>
2079         
2080         Have NetscapePluginInstanceProxy keep track of all the ProxyInstance objects associated.
2081         
2082         When the plug-in instance is destroyed, invalidate all proxy instances.
2083         
2084         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2085         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2086         (WebKit::NetscapePluginInstanceProxy::destroy):
2087         (WebKit::NetscapePluginInstanceProxy::addInstance):
2088         (WebKit::NetscapePluginInstanceProxy::removeInstance):
2089         * Plugins/Hosted/ProxyInstance.h:
2090         * Plugins/Hosted/ProxyInstance.mm:
2091         (WebKit::ProxyInstance::ProxyInstance):
2092         (WebKit::ProxyInstance::~ProxyInstance):
2093         (WebKit::ProxyInstance::invalidate):
2094
2095 2009-01-30  Anders Carlsson  <andersca@apple.com>
2096
2097         Reviewed by Sam Weinig.
2098
2099         Fix <rdar://problem/6490778>.
2100         
2101         Change the NPRuntime related functions to use IdentifierRep directly, and make sure to always
2102         validate IdentifierReps before dereferencing them.
2103         
2104         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2105         (WKPCEvaluate):
2106         (WKPCGetStringIdentifier):
2107         (WKPCGetIntIdentifier):
2108         (identifierFromIdentifierRep):
2109         (WKPCInvoke):
2110         (WKPCGetProperty):
2111         (WKPCSetProperty):
2112         (WKPCRemoveProperty):
2113         (WKPCHasProperty):
2114         (WKPCHasMethod):
2115         (WKPCIdentifierInfo):
2116
2117 2009-01-30  Brady Eidson  <beidson@apple.com>
2118
2119         Reviewed by Sam Weinig
2120
2121         Remove FrameLoaderClient code that is now handled by FrameLoader itself
2122
2123         * WebCoreSupport/WebFrameLoaderClient.mm:
2124         (WebFrameLoaderClient::frameLoadCompleted):
2125
2126 2009-01-29  Stephanie Lewis <slewis@apple.com>
2127
2128         RS by Oliver Hunt.
2129
2130         Update the order files.
2131
2132         * WebKit.order:
2133
2134 2009-01-29  Sam Weinig  <sam@webkit.org>
2135
2136         Reviewed by Anders Carlsson.
2137
2138         Second step in tracking the urls a HistoryItem was redirected through
2139         Add SPI to access the array of redirect urls associated with a HistoryItem.
2140
2141         * History/WebHistoryItem.mm:
2142         (-[WebHistoryItem dictionaryRepresentation]):
2143         (-[WebHistoryItem _redirectURLs]):
2144         * History/WebHistoryItemPrivate.h:
2145
2146 2009-01-29  Anders Carlsson  <andersca@apple.com>
2147
2148         Reviewed by Dan Bernstein.
2149
2150         Always activate the plug-in host process if we're in "modal mode" and are being told to activate.
2151         
2152         * Plugins/Hosted/NetscapePluginHostProxy.h:
2153         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2154         (WebKit::NetscapePluginHostProxy::pluginHostDied):
2155         Call endModal here.
2156         
2157         (WebKit::NetscapePluginHostProxy::applicationDidBecomeActive):
2158         If we're modal, we should always bring the plug-in host process to the front.
2159         
2160         (WebKit::NetscapePluginHostProxy::beginModal):
2161         Add an observer for the NSApplicationWillBecomeActiveNotification callback.
2162         
2163         (WebKit::NetscapePluginHostProxy::endModal):
2164         Remove the observer.
2165
2166 2009-01-29  Sam Weinig  <sam@webkit.org>
2167
2168         Reviewed by Mark Rowe.
2169
2170         First step in tracking the urls a HistoryItem was redirected through.
2171
2172         * History/WebHistoryItem.mm:
2173         (-[WebHistoryItem initFromDictionaryRepresentation:]):
2174         (-[WebHistoryItem dictionaryRepresentation]):
2175         * Misc/WebNSDictionaryExtras.h:
2176         * Misc/WebNSDictionaryExtras.m:
2177         (-[NSDictionary _webkit_arrayForKey:]): Add helper.
2178
2179 2009-01-29  Anders Carlsson  <andersca@apple.com>
2180
2181         Reviewed by Sam Weinig.
2182
2183         Pass the PSN of the client to the host, and get the PSN of the host back when checking in.
2184         
2185         * Plugins/Hosted/NetscapePluginHostManager.h:
2186         * Plugins/Hosted/NetscapePluginHostManager.mm:
2187         (WebKit::NetscapePluginHostManager::hostForPackage):
2188         Get the current PSN and pass it to spawnPluginHost.
2189         
2190         (WebKit::NetscapePluginHostManager::spawnPluginHost):
2191         Pass the PSN to the "check in" function.
2192         
2193         * Plugins/Hosted/NetscapePluginHostProxy.h:
2194         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2195         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
2196         
2197         (WebKit::NetscapePluginHostProxy::pluginHostDied):
2198         Fix a bug noticed by Julien Chaffraix. Call endModal if necessary.
2199         
2200         (WebKit::NetscapePluginHostProxy::beginModal):
2201         (WebKit::NetscapePluginHostProxy::endModal):
2202         (WebKit::NetscapePluginHostProxy::setModal):
2203         Split out the code that does all of the work into beginModal and endModal methods.
2204         
2205         * Plugins/Hosted/WebKitPluginHost.defs:
2206         * Plugins/WebNetscapePluginView.mm:
2207         (-[WebNetscapePluginView loadStream]):
2208
2209 2009-01-29  David Kilzer  <ddkilzer@apple.com>
2210
2211         Remove semi-colons from the end of ObjC method implementations
2212
2213         Rubber-stamped by Adam Roben.
2214
2215         $ find WebKit -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;
2216
2217         * DefaultDelegates/WebDefaultUIDelegate.m:
2218         (-[WebDefaultUIDelegate webView:setResizable:]):
2219         (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
2220         (-[WebDefaultUIDelegate webView:dragSourceActionMaskForPoint:]):
2221         (-[WebDefaultUIDelegate webView:willPerformDragSourceAction:fromPoint:withPasteboard:]):
2222         * History/WebBackForwardList.mm:
2223         (-[WebBackForwardList addItem:]):
2224         (-[WebBackForwardList backListWithLimit:]):
2225         (-[WebBackForwardList forwardListWithLimit:]):
2226         * History/WebHistoryItem.mm:
2227         (-[WebHistoryItem alternateTitle]):
2228         (-[WebHistoryItem setViewState:]):
2229         * Misc/WebCoreStatistics.mm:
2230         (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:]):
2231         * Misc/WebKitNSStringExtras.m:
2232         (-[NSString _web_drawAtPoint:font:textColor:]):
2233         * Plugins/WebNetscapePluginView.mm:
2234         (-[WebNetscapePluginView setAttributeKeys:andValues:]):
2235         * WebCoreSupport/WebEditorClient.mm:
2236         (-[WebEditCommand command]):
2237         * WebView/WebFrame.mm:
2238         (-[WebFrame _getVisibleRect:]):
2239         * WebView/WebHTMLRepresentation.mm:
2240         (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):
2241         * WebView/WebHTMLView.mm:
2242         (-[WebHTMLView elementAtPoint:allowShadowContent:]):
2243         * WebView/WebPreferences.mm:
2244         (-[WebPreferences setAllowsAnimatedImages:]):
2245         (-[WebPreferences setAutosaves:]):
2246         (-[WebPreferences PDFDisplayMode]):
2247         * WebView/WebView.mm:
2248         (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
2249         (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
2250         (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
2251         (+[WebView _registerViewClass:representationClass:forURLScheme:]):
2252         (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
2253         (-[WebView _insertNewlineInQuotedContent]):
2254
2255 2009-01-28  Geoffrey Garen  <ggaren@apple.com>
2256
2257         Reviewed by Sam Weinig.
2258
2259         Updated for WebCore rename.
2260         
2261         * WebView/WebView.mm:
2262         (-[WebView setCustomTextEncodingName:]):
2263
2264 2009-01-28  David Kilzer  <ddkilzer@apple.com>
2265
2266         Add missing declaration for -[NSURL(WebNSURLExtras) _webkit_isFileURL]
2267
2268         Reviewed by Dan Bernstein.
2269
2270         * Misc/WebNSURLExtras.h:
2271         (-[NSURL(WebNSURLExtras) _webkit_isFileURL]): Added missing
2272         declaration after the implementation was added in r9258.
2273
2274 2009-01-28  Sam Weinig  <sam@webkit.org>
2275
2276         Reviewed by Geoff Garen.
2277
2278         Fix for <rdar://problem/6129678>
2279         REGRESSION (Safari 3-4): Local variable not accessible from Dashcode console or variables view
2280
2281         * WebView/WebScriptDebugDelegate.mm:
2282         (-[WebScriptCallFrame scopeChain]): Wrap JSActivations in DebuggerActivations.
2283
2284 2009-01-27  Anders Carlsson  <andersca@apple.com>
2285
2286         Reviewed by Oliver Hunt.
2287
2288         Fix two bugs with Core Animation based plug-ins.
2289         
2290         1. The plug-in view was marked as opaque even though it's not. 
2291            (This would leave garbage in the plug-in view).
2292         2. The plug-in layer needs to have autoresizing turned on.
2293         
2294         * Plugins/WebNetscapePluginView.mm:
2295         (-[WebNetscapePluginView setLayer:]):
2296
2297 2009-01-27  Brady Eidson  <beidson@apple.com>
2298
2299         Reviewed by Dan Bernstein
2300
2301         Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
2302
2303         * History/WebHistoryItem.mm:
2304
2305         * WebCoreSupport/WebFrameLoaderClient.h:
2306         * WebCoreSupport/WebFrameLoaderClient.mm:
2307         (WebFrameLoaderClient::savePlatformDataToCachedFrame):
2308         (WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
2309         * WebKit.order:
2310
2311 2009-01-26  Anders Carlsson  <andersca@apple.com>
2312
2313         Reviewed by Dan Bernstein.
2314
2315         Add the ability for plug-ins to make WebKit operate in "modal mode"
2316         
2317         * Plugins/Hosted/NetscapePluginHostProxy.h:
2318         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2319         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
2320         (WebKit::NetscapePluginHostProxy::pluginHostDied):
2321         If the plug-in crashes while we're modal, make sure to leave the modal mode.
2322         
2323         (WebKit::NetscapePluginHostProxy::setModal):
2324         (WKPCSetModal):
2325         * Plugins/Hosted/WebKitPluginClient.defs:
2326
2327 2009-01-26  John Sullivan  <sullivan@apple.com>
2328
2329         fixed <rdar://problem/6530053> REGRESSION (Leopard): Shift-tab in http authentication window gets 
2330         stuck in the Name field rather than cycling around
2331
2332         Reviewed by Dan Bernstein
2333
2334         * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
2335         * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
2336         The two static text fields and the last button all had their "next key view" outlets set to the
2337         name field, which caused shift-tab from the name field to do the wrong thing. Fixed by making each
2338         selectable view have exactly one "next key view" set to it.
2339
2340 2009-01-26  Anders Carlsson  <andersca@apple.com>
2341
2342         Reviewed by Sam Weinig.
2343
2344         Add the ability for a plug-in to show or hide the menu bar.
2345         
2346         * Plugins/Hosted/NetscapePluginHostProxy.h:
2347         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2348         (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
2349         (WebKit::NetscapePluginHostProxy::pluginHostDied):
2350         (WebKit::NetscapePluginHostProxy::setMenuBarVisible):
2351         (WKPCSetMenuBarVisible):
2352         * Plugins/Hosted/WebKitPluginClient.defs:
2353
2354 2009-01-26  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2355
2356         Reviewed by Gavin Barraclough.
2357
2358         Bug 23552: Dashcode evaluator no longer works after making ExecStates actual call frames
2359         <https://bugs.webkit.org/show_bug.cgi?id=23552>
2360         <rdar://problem/6398839>
2361
2362         Dashcode will crash when using the evaluator because it saves a global call
2363         frame, even after global code has finished executing, and then uses this as
2364         a launching pad to execute new JS in the evaluator. The fix is to detect
2365         when Dashcode is attempting to do this and execute code from a global call
2366         frame instead.        
2367
2368         * ForwardingHeaders/runtime/Protect.h: Added.
2369         * WebView/WebScriptDebugDelegate.mm:
2370         (-[WebScriptCallFrame _initWithGlobalObject:debugger:caller:debuggerCallFrame:]):
2371         Added debugger, a WebScriptDebugger* argument.
2372         (-[WebScriptCallFrame evaluateWebScript:]): Detect when Dashcode is using
2373         a stale WebScriptCallFrame to execute new JS and evaluate it starting from
2374         the global object's global call frame instead.
2375         * WebView/WebScriptDebugger.h:
2376         (WebScriptDebugger::globalObject): Added.
2377         (WebScriptDebugger::globalCallFrame): Added.
2378         * WebView/WebScriptDebugger.mm:
2379         (WebScriptDebugger::WebScriptDebugger): Initialize m_globalObject.
2380         (WebScriptDebugger::initGlobalCallFrame): Created as a clone of callEvent
2381         so that the global call frame can be saved immediately after being created.
2382         (WebScriptDebugger::callEvent): Pass 'this' as the debugger argument of
2383         WebScriptCallFrame's _initWithGlobalObject method.
2384
2385 2009-01-26  Anders Carlsson  <andersca@apple.com>
2386
2387         Reviewed by Oliver Hunt.
2388
2389         Make WKPCInvoke a simpleroutine.
2390         
2391         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2392         (WKPCInvoke):
2393         * Plugins/Hosted/WebKitPluginClient.defs:
2394
2395 2009-01-26  Anders Carlsson  <andersca@apple.com>
2396
2397         Reviewed by Sam Weinig.
2398
2399         Implement using plug-in objects as constructors, and setting and getting properties from a plug-in object.
2400         
2401         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2402         (WKPCBooleanAndDataReply):
2403         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2404         (WebKit::NetscapePluginInstanceProxy::Reply::):
2405         (WebKit::NetscapePluginInstanceProxy::BooleanAndDataReply::BooleanAndDataReply):
2406         Rename NPObjectInvokeReply to BooleanAndDataReply.
2407         
2408         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2409         (WebKit::NetscapePluginInstanceProxy::addValueToArray):
2410         Fix a cut and paste error.
2411         
2412         (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
2413         Handle NPObjects.
2414         
2415         * Plugins/Hosted/ProxyInstance.h:
2416         * Plugins/Hosted/ProxyInstance.mm:
2417         (WebKit::ProxyField::valueFromInstance):
2418         (WebKit::ProxyField::setValueToInstance):
2419         Call the ProxyInstance method.
2420         
2421         (WebKit::ProxyInstance::~ProxyInstance):
2422         Release the NPObject.
2423         
2424         (WebKit::ProxyInstance::supportsConstruct):
2425         Ask the plug-in host if an instance supports construct.
2426         
2427         (WebKit::ProxyInstance::fieldValue):
2428         (WebKit::ProxyInstance::setFieldValue):
2429         Call the plug-in host methods.
2430         
2431         * Plugins/Hosted/WebKitPluginHostTypes.h:
2432         Rename ObjectValueType to JSObjectValueType, and add NPObjectValueType.
2433
2434 2009-01-26  Mark Rowe  <mrowe@apple.com>
2435
2436         Fix the build.
2437
2438         Remove -Wformat=2 from the warning flags as newer versions of GCC emit
2439         warnings about non-literal format strings for uses of our UI_STRING macro.
2440
2441         * Configurations/Base.xcconfig:
2442
2443 2009-01-26  Mark Rowe  <mrowe@apple.com>
2444
2445         Rubber-stamped by Sam Weinig.
2446
2447         Clean up after r40240.
2448
2449         * Configurations/Base.xcconfig: Don't dead code strip in debug builds for now as it leads to link errors.
2450         * Plugins/Hosted/HostedNetscapePluginStream.mm: Revert change that is no longer needed now that WebKitPluginHost.defs
2451         is back in the build.
2452
2453 2009-01-25  Darin Adler  <darin@apple.com>
2454
2455         * Plugins/Hosted/HostedNetscapePluginStream.mm: Added a missing extern "C".
2456
2457 2009-01-25  Darin Adler  <darin@apple.com>
2458
2459         Discussed with Mark Rowe; not sure he reviewed it.
2460
2461         * Configurations/Base.xcconfig: Add all the same warnings as in WebCore except for
2462         -Wcast-qual and -Wunused-parameter, which both need to be off at least for now.
2463
2464 2009-01-25  Mark Rowe  <mrowe@apple.com>
2465
2466         Rubber-stamped by Dan Bernstein.
2467
2468         Improve the consistency of settings in our .xcconfig files.
2469
2470         * Configurations/Base.xcconfig: Only dead code strip the normal variant.
2471         Handle all cases in GCC_GENERATE_DEBUGGING_SYMBOLS.
2472
2473 2009-01-25  Darin Adler  <darin@apple.com>
2474
2475         Reviewed by Sam Weinig.
2476
2477         Bug 23522: use checked casts for render tree
2478         https://bugs.webkit.org/show_bug.cgi?id=23522
2479
2480         Step one: RenderText.
2481
2482         * WebView/WebRenderNode.mm:
2483         (copyRenderNode): Use toRenderText.
2484
2485 2009-01-23  Brady Eidson  <beidson@apple.com>
2486
2487         Rubberstamped by Darin Adler
2488
2489         Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.
2490
2491         * WebCoreSupport/WebCachedFramePlatformData.h: Copied from WebKit/mac/WebCoreSupport/WebCachedPagePlatformData.h.
2492         (WebCachedFramePlatformData::WebCachedFramePlatformData):
2493         * WebCoreSupport/WebCachedPagePlatformData.h: Removed.
2494
2495         * WebCoreSupport/WebFrameLoaderClient.mm:
2496         (WebFrameLoaderClient::savePlatformDataToCachedPage):
2497         (WebFrameLoaderClient::transitionToCommittedFromCachedPage):
2498
2499         * WebKit.order:
2500
2501 2009-01-23  Adele Peterson  <adele@apple.com>
2502
2503         Build fix.
2504
2505         Use new linesBoundingBox method instead of
2506         boundingBoxWidth and boundingBoxHeight for RenderText objects.
2507
2508         * WebView/WebRenderNode.mm: (copyRenderNode):
2509
2510 2009-01-23  Anders Carlsson  <andersca@apple.com>
2511
2512         Fix 64-bit build.
2513         
2514         * Plugins/Hosted/ProxyInstance.mm:
2515         (WebKit::proxyClass):
2516
2517 2009-01-23  Anders Carlsson  <andersca@apple.com>
2518
2519         Fix GCC 4.0 build.
2520         
2521         * Configurations/Base.xcconfig:
2522
2523 2009-01-23  Anders Carlsson  <andersca@apple.com>
2524
2525         Reviewed by Sam Weinig.
2526
2527         Turn on -Wmissing-prototypes and fix the resulting warnings.
2528
2529         * Configurations/Base.xcconfig:
2530         * History/WebHistory.mm:
2531         (timeIntervalForBeginningOfDay):
2532         * History/WebHistoryItem.mm:
2533         (historyItemWrappers):
2534         * Misc/WebNSPasteboardExtras.mm:
2535         (imageFromElement):
2536         * WebView/WebFrame.mm:
2537         * WebView/WebScriptDebugger.mm:
2538         (toNSString):
2539
2540 2009-01-22  Mark Rowe  <mrowe@apple.com>
2541
2542         Rubber-stamped by Anders Carlsson.
2543
2544         Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
2545
2546         Current versions of Xcode only respect it for C and Objective-C files,
2547         and our code doesn't currently compile if it is applied to C++ and
2548         Objective-C++ files.
2549
2550         * Configurations/Base.xcconfig:
2551
2552 2009-01-22  Anders Carlsson  <andersca@apple.com>
2553
2554         Reviewed by Sam Weinig.
2555
2556         Add support for Invoke and InvokeDefault. Clean up code.
2557         
2558         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2559         (WKPCBooleanReply):
2560         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2561         (WebKit::NetscapePluginInstanceProxy::Reply::):
2562         (WebKit::NetscapePluginInstanceProxy::BooleanReply::BooleanReply):
2563         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2564         (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
2565         * Plugins/Hosted/ProxyInstance.h:
2566         * Plugins/Hosted/ProxyInstance.mm:
2567         (WebKit::ProxyInstance::invoke):
2568         (WebKit::ProxyInstance::invokeMethod):
2569         (WebKit::ProxyInstance::supportsInvokeDefaultMethod):
2570         (WebKit::ProxyInstance::invokeDefaultMethod):
2571         (WebKit::ProxyInstance::methodsNamed):
2572         (WebKit::ProxyInstance::fieldNamed):
2573         * Plugins/Hosted/WebKitPluginClient.defs:
2574         * Plugins/Hosted/WebKitPluginHost.defs:
2575         * Plugins/Hosted/WebKitPluginHostTypes.h:
2576
2577 2009-01-22  Eric Roman  <eroman@chromium.og>
2578
2579         Reviewed by Eric Seidel.
2580
2581         https://bugs.webkit.org/show_bug.cgi?id=20806
2582         Deprecate RSSFeedReferrer() and setRSSFeedReferrer().
2583
2584         * History/WebHistoryItem.mm:
2585         (-[WebHistoryItem RSSFeedReferrer]):
2586         (-[WebHistoryItem setRSSFeedReferrer:]):
2587
2588 2009-01-22  Anders Carlsson  <andersca@apple.com>
2589
2590         Reviewed by Kevin Decker.
2591
2592         Don't crash or hang when we fail to instantiate a plug-in.
2593         
2594         * Plugins/Hosted/NetscapePluginHostManager.mm:
2595         (WebKit::NetscapePluginHostManager::instantiatePlugin):
2596         Return 0 on failure.
2597         
2598         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2599         (-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]):
2600         Null check for the proxy member.
2601
2602 2009-01-21  David Hyatt  <hyatt@apple.com>
2603
2604         Devirtualize width/height/x/y on RenderObject and move the methods to RenderBox.
2605
2606         Reviewed by Eric Seidel and Darin Adler
2607
2608         * WebView/WebRenderNode.mm:
2609         (copyRenderNode):
2610
2611 2009-01-21  Anders Carlsson  <andersca@apple.com>
2612
2613         Reviewed by Sam Weinig.
2614
2615         More browser->plug-in scripting support.
2616         
2617         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2618         (WKPCNPObjectHasPropertyReply):
2619         (WKPCNPObjectHasMethodReply):
2620         (WKPCNPObjectInvokeReply):
2621         MIG reply functions.
2622         
2623         (WKPCIdentifierInfo):
2624         Return information about an identifier given its 64-bit value.
2625         
2626         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2627         Add new reply structs.
2628         
2629         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2630         (WebKit::NetscapePluginInstanceProxy::addValueToArray):
2631         Split out code that adds values to the arrays from marshalValue.
2632         
2633         (WebKit::NetscapePluginInstanceProxy::marshalValue):
2634         Call addValueToArray.
2635     
2636         (WebKit::NetscapePluginInstanceProxy::marshalValues):
2637         Marshal a list of values.
2638         
2639         (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
2640         Actually create a proxy instance.
2641         
2642         * Plugins/Hosted/ProxyInstance.h:
2643         * Plugins/Hosted/ProxyInstance.mm:
2644         (WebKit::ProxyClass::methodsNamed):
2645         (WebKit::ProxyClass::fieldNamed):
2646         Add a proxy ProxyClass class that just forwards everything to the ProxyInstance class.
2647         
2648         (WebKit::proxyClass):
2649         Shared proxyClass getter.
2650         
2651         (WebKit::ProxyField::ProxyField):
2652         (WebKit::ProxyField::valueFromInstance):
2653         (WebKit::ProxyField::setValueToInstance):
2654         Add a proxy ProxyField class that just forwards everything to the ProxyInstance class.
2655         
2656         (WebKit::ProxyMethod::ProxyMethod):
2657         (WebKit::ProxyMethod::serverIdentifier):
2658         (WebKit::ProxyMethod::numParameters):
2659         Add a dummy ProxyMethod class.
2660         
2661         (WebKit::ProxyInstance::invokeMethod):
2662         Call _WKPHNPObjectInvoke.
2663         
2664         (WebKit::ProxyInstance::defaultValue):
2665         (WebKit::ProxyInstance::stringValue):
2666         (WebKit::ProxyInstance::numberValue):
2667         (WebKit::ProxyInstance::booleanValue):
2668         (WebKit::ProxyInstance::valueOf):
2669         Add dummy implementations (taken from CInstance).
2670         
2671         (WebKit::ProxyInstance::methodsNamed):
2672         Call _WKPHNPObjectHasMethod to determine whether a method with the given name exists.
2673         
2674         (WebKit::ProxyInstance::fieldNamed):
2675         Call _WKPHNPObjectHasProperty to determine whether a property with the given name exists.
2676         
2677         * Plugins/Hosted/WebKitPluginClient.defs:
2678         * Plugins/Hosted/WebKitPluginHost.defs:
2679         Add new MIG definitions.
2680
2681 2009-01-21  Mark Rowe  <mrowe@apple.com>
2682
2683         Reviewed by Tim Hatcher.
2684
2685         Clean up how we force invocations of API that happened on background threads over to the main thread.
2686
2687         This was previously accomplished in a somewhat ad-hoc manner using a mutable dictionary to pass arguments
2688         and return values back from the function.  The new approach is to use a proxy object that forwards an
2689         NSInvocation over to the main thread and applies it to the target object, which leads to a much cleaner
2690         call site.
2691
2692         * Misc/WebNSObjectExtras.h:
2693         * Misc/WebNSObjectExtras.mm:
2694         (-[WebMainThreadInvoker initWithTarget:]):
2695         (-[WebMainThreadInvoker forwardInvocation:]):
2696         (-[WebMainThreadInvoker methodSignatureForSelector:]):
2697         (-[WebMainThreadInvoker handleException:]):
2698         (-[NSInvocation _webkit_invokeAndHandleException:]): Execute the invocation and forward any exception that was
2699         raised back to the WebMainThreadInvoker.
2700         (-[NSObject _webkit_invokeOnMainThread]):
2701
2702         The following methods are updated to use the proxy object to forward methods to the main thread:
2703
2704         * WebView/WebArchive.mm:
2705         (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
2706         (-[WebArchive mainResource]):
2707         (-[WebArchive subresources]):
2708         (-[WebArchive subframeArchives]):
2709         * WebView/WebResource.mm:
2710         (-[WebResource data]):
2711         (-[WebResource URL]):
2712         (-[WebResource MIMEType]):
2713         (-[WebResource textEncodingName]):
2714         (-[WebResource frameName]):
2715         (-[WebResource _ignoreWhenUnarchiving]):
2716         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
2717         (-[WebResource _initWithData:URL:response:]):
2718         (-[WebResource _suggestedFilename]):
2719         (-[WebResource _response]):
2720         (-[WebResource _stringValue]):
2721         * WebView/WebView.mm:
2722         (-[WebView initWithFrame:frameName:groupName:]):
2723         (-[WebView initWithCoder:]):
2724
2725 2009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2726
2727         Reviewed by George Staikos.
2728
2729         Fixes: https://bugs.webkit.org/show_bug.cgi?id=23434 (Add WML <input> element support)
2730
2731         Protect text field related WebEditorClient.mm methods against non-HTMLElement callers.
2732         WebEditorClient.mm relies on HTMLInputElement as input element. Ignore calls from non-HTMLElement elements.
2733
2734         * WebCoreSupport/WebEditorClient.mm:
2735         (WebEditorClient::textFieldDidBeginEditing):
2736         (WebEditorClient::textFieldDidEndEditing):
2737         (WebEditorClient::textDidChangeInTextField):
2738         (WebEditorClient::doTextFieldCommandFromEvent):
2739         (WebEditorClient::textWillBeDeletedInTextField):
2740         (WebEditorClient::textDidChangeInTextArea):
2741
2742 2009-01-19  Anders Carlsson  <andersca@apple.com>
2743
2744         Reviewed by Sam Weinig.
2745
2746         Add and implement GetScriptableNPObject.
2747         
2748         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2749         (WKPCGetScriptableNPObjectReply):
2750         Create a new reply struct and set it as the current reply.
2751         
2752         (WKPCEvaluate):
2753         Get rid of an unused variable.
2754         
2755         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2756         (WebKit::NetscapePluginInstanceProxy::Reply::):
2757         (WebKit::NetscapePluginInstanceProxy::GetScriptableNPObjectReply::GetScriptableNPObjectReply):
2758         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2759         (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
2760         Call _WKPHGetScriptableNPObject and wait for a reply.
2761         
2762         * Plugins/Hosted/ProxyInstance.h: Added.
2763         * Plugins/Hosted/ProxyInstance.mm: Added.
2764         Add empty files.
2765         
2766         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2767         (-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]):
2768         Call NetscapePluginInstanceProxy::createBindingsInstance.
2769         
2770         * Plugins/Hosted/WebKitPluginClient.defs:
2771         * Plugins/Hosted/WebKitPluginHost.defs:
2772         Add new declarations.
2773
2774 2009-01-19  Sam Weinig  <sam@webkit.org>
2775
2776         Rubber-stamped by Gavin Barraclough.
2777
2778         Remove temporary operator-> from JSValuePtr.
2779
2780         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2781         (WebKit::NetscapePluginInstanceProxy::invoke):
2782         (WebKit::NetscapePluginInstanceProxy::hasMethod):
2783         (WebKit::NetscapePluginInstanceProxy::marshalValue):
2784         * WebView/WebFrame.mm:
2785         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2786         * WebView/WebView.mm:
2787         (aeDescFromJSValue):
2788
2789 2009-01-19  Anders Carlsson  <andersca@apple.com>
2790
2791         Reviewed by Sam Weinig.
2792
2793         Make Evaluate an asynchronous method that has a reply method.
2794         
2795         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2796         (WKPCEvaluate):
2797         * Plugins/Hosted/WebKitPluginClient.defs:
2798         * Plugins/Hosted/WebKitPluginHost.defs:
2799
2800 2009-01-19  Brady Eidson  <beidson@apple.com>
2801
2802         Rubberstamped by Tim Hatcher
2803
2804         Fix long standing typo.
2805
2806         * History/WebBackForwardList.h:
2807
2808 2009-01-19  Mark Rowe  <mrowe@apple.com>
2809
2810         Fix the build!
2811
2812         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2813         (WebKit::NetscapePluginInstanceProxy::demarshalValue):
2814         (WebKit::NetscapePluginInstanceProxy::demarshalValues):
2815
2816 2009-01-18  Mark Rowe  <mrowe@apple.com>
2817
2818         Reviewed by Anders Carlsson.
2819
2820         Fix <https://bugs.webkit.org/show_bug.cgi?id=23414>.
2821         Bug 23414: Reproducible crash accessing View menu with plugins disabled
2822
2823         * WebView/WebFrame.mm:
2824         (-[WebFrame _canProvideDocumentSource]): Null-check the PluginData before using it.
2825
2826 2009-01-17  David Hyatt  <hyatt@apple.com>
2827
2828         Eliminate dependencies on "backslashAsCurrencySymbol()" from WebKit, and make sure these alterations
2829         are done in WebCore instead.
2830
2831         Reviewed by Oliver Hunt
2832
2833         * WebView/WebFrame.mm:
2834         (-[WebFrame _selectedString]):
2835         (-[WebFrame _stringForRange:]):
2836
2837 2009-01-17  Eric Carlson  <eric.carlson@apple.com>
2838
2839         Reviewed by Adele Peterson
2840
2841         Complete <rdar://problem/6293969>
2842
2843         * WebCoreSupport/WebSystemInterface.m:
2844         (InitWebCoreSystemInterface): Remove UseSharedMediaUI
2845
2846 2009-01-15  Brady Eidson  <beidson@apple.com>
2847
2848         Reviewed by Dan Bernstein
2849
2850         Fix problem where a URL visited as non-GET once is flagged as non-GET forever.
2851
2852         * History/WebHistory.mm:
2853         (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Always update the HTTPNonGet
2854           flag for all loads with an HTTP Method
2855
2856 2009-01-14  Anders Carlsson  <andersca@apple.com>
2857
2858         Reviewed by Sam Weinig.
2859
2860         Implement InvokeDefault, Construct, GetProperty and SetProperty.
2861         
2862         Fully implement marshalValue.
2863         
2864         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2865         (WKPCInvokeDefault):
2866         (WKPCConstruct):
2867         (WKPCGetProperty):
2868         (WKPCSetProperty):
2869         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2870         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2871         (WebKit::NetscapePluginInstanceProxy::evaluate):
2872         (WebKit::NetscapePluginInstanceProxy::invoke):
2873         (WebKit::NetscapePluginInstanceProxy::invokeDefault):
2874         (WebKit::NetscapePluginInstanceProxy::construct):
2875         (WebKit::NetscapePluginInstanceProxy::getProperty):
2876         (WebKit::NetscapePluginInstanceProxy::setProperty):
2877         (WebKit::NetscapePluginInstanceProxy::marshalValue):
2878         (WebKit::NetscapePluginInstanceProxy::demarshalValue):
2879         * Plugins/Hosted/WebKitPluginClient.defs:
2880
2881 2009-01-14  Anders Carlsson  <andersca@apple.com>
2882
2883         Reviewed by Sam Weinig.
2884
2885         Demarshal arguments and pass them to the JS call.
2886         
2887         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2888         (WKPCInvoke):
2889         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2890         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2891         (WebKit::NetscapePluginInstanceProxy::invoke):
2892         (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
2893         (WebKit::NetscapePluginInstanceProxy::demarshalValues):
2894
2895 2009-01-14  Mark Rowe  <mrowe@apple.com>
2896
2897         Reviewed by Timothy Hatcher.
2898
2899         <rdar://problem/6496520> REGRESSION: In Mail, a crash occurs when attempting to display a mail message
2900
2901         Move WebArchive and WebResource to use the same approach for initializing themselves on the main thread
2902         that WebView uses.
2903
2904         * WebView/WebArchive.mm:
2905         (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Use _webkit_performSelectorOnMainThread:withObject:.
2906         (-[WebArchive _initWithArguments:]):
2907         * WebView/WebResource.mm:
2908         (-[WebResource _initWithArguments:]): Unbox the BOOL argument.
2909
2910 2009-01-14  Darin Adler  <darin@apple.com>
2911
2912         Reviewed by Oliver Hunt.
2913
2914         Fix crash I ran into while printing. I was unable to reproduce it, but also,
2915         it's clear there's no guarantee that the frame will be non-zero in this case,
2916         so it seems fine to check it.
2917
2918         * WebView/WebHTMLView.mm: (-[WebHTMLView reapplyStyles]): Check frame for zero
2919         and don't do anything with it if it's zero.
2920
2921 2009-01-14  Dan Bernstein  <mitz@apple.com>
2922
2923         Reviewed by John Sullivan.
2924
2925         - update copyright
2926
2927         * Info.plist:
2928
2929 2009-01-12  Anders Carlsson  <andersca@apple.com>
2930
2931         Reviewed by Darin Adler.
2932
2933         Add a bunch of methods to WebKitPluginClient.defs, and implement them.
2934         
2935         * Plugins/Hosted/NetscapePluginHostProxy.mm:
2936         (WebKit::fromUTF8WithLatin1Fallback):
2937         If the length isn't specified, get it by calling strlen.
2938         
2939         (WKPCEvaluate):
2940         Evaluate doesn't take any arguments.
2941         
2942         (WKPCGetIntIdentifier):
2943         Call _NPN_GetIntIdentifier.
2944         
2945         (identifierFromServerIdentifier):
2946         New helper function that returns a JSC Identifier from an NPIdentifier.
2947         
2948         (WKPCInvoke):
2949         Call identifierFromServerIdentifier.
2950         
2951         (WKPCRemoveProperty):
2952         (WKPCHasProperty):
2953         (WKPCHasMethod):
2954         Call NetscapePluginInstanceProxy.
2955
2956         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2957         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2958         (WebKit::NetscapePluginInstanceProxy::removeProperty):
2959         (WebKit::NetscapePluginInstanceProxy::hasProperty):
2960         (WebKit::NetscapePluginInstanceProxy::hasMethod):
2961
2962         * Plugins/Hosted/WebKitPluginClient.defs:
2963         Add new definitions.
2964
2965 2009-01-13  Anders Carlsson  <andersca@apple.com>
2966
2967         Fix build.
2968
2969         * WebView/WebView.mm:
2970         (-[WebView _initWithArguments:]):
2971
2972 2009-01-13  Timothy Hatcher  <timothy@apple.com>
2973
2974         Adds a workaround for the flip4mac installer plugin decoding a WebView from a NIB on a secondary thread.
2975
2976         <rdar://problem/6489788> New WebKit thread checks break installation of flip4mac (thread violation)
2977
2978         Reviewed by Darin Adler.
2979
2980         * Misc/WebKitVersionChecks.h: Add WEBKIT_FIRST_VERSION_WITHOUT_WEBVIEW_INIT_THREAD_WORKAROUND.
2981         * Misc/WebNSObjectExtras.h: Add _webkit_performSelectorOnMainThread:withObject:.
2982         * Misc/WebNSObjectExtras.mm:
2983         (-[NSObject _webkit_performSelectorWithArguments:]): Renamed from _webkit_getPropertyWithArguments.
2984         Passes the optional object to the selector.
2985         (-[NSObject _webkit_performSelectorOnMainThread:withObject:]): Renamed from _webkit_getPropertyOnMainThread:.
2986         Put the optional object into the arguments dictionary.
2987         (-[NSObject _webkit_getPropertyOnMainThread:]): Call _webkit_performSelectorOnMainThread with a nil object.
2988         * WebView/WebResource.mm:
2989         (-[WebResource _ignoreWhenUnarchiving]): Use _cmd instead of making the selector again.
2990         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): Use the new
2991         _webkit_performSelectorOnMainThread:withObject: method instead of performSelectorOnMainThread.
2992         * WebView/WebView.mm:
2993         (-[WebView _initWithArguments:]): Added. Pulls arguments out of the dictionary and calls the right init method.
2994         (needsWebViewInitThreadWorkaround): Checks if the thead is not the main thread and if we are in the Installer bundle.
2995         (-[WebView initWithFrame:frameName:groupName:]): Call needsWebViewInitThreadWorkaround and use _webkit_performSelectorOnMainThread
2996         to call _initWithArguments: passing the frame, frameName and groupName.
2997         (-[WebView initWithCoder:]): Ditto, except pass the coder to _initWithArguments:.
2998
2999 2009-01-12  Gavin Barraclough  <barraclough@apple.com>
3000
3001         Reviewed by Oliver Hunt.
3002
3003         Deprecate JSValuePtr::getNumber() - two ways to get a number should  be enough.
3004
3005         * WebView/WebView.mm:
3006         (aeDescFromJSValue):
3007
3008 2009-01-12  Brady Eidson  <beidson@apple.com>
3009
3010         Reviewed by Darin Adler
3011
3012         <rdar://problem/6468274> - Track Non-get requests in global history
3013
3014         * History/WebHistory.mm:
3015         (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
3016         * History/WebHistoryInternal.h:
3017
3018         * History/WebHistoryItem.mm:
3019         (-[WebHistoryItem initFromDictionaryRepresentation:]):
3020         (-[WebHistoryItem dictionaryRepresentation]):
3021         (-[WebHistoryItem _lastVisitWasHTTPNonGet]):
3022         * History/WebHistoryItemPrivate.h:
3023
3024         * WebCoreSupport/WebFrameLoaderClient.mm:
3025         (WebFrameLoaderClient::updateGlobalHistory): Only pass the method through if it was an HTTP load
3026
3027 2009-01-12  Anders Carlsson  <andersca@apple.com>
3028
3029         Reviewed by Sam Weinig.
3030
3031         Move marshalling into NetscapePluginInstanceProxy.
3032         
3033         Add support for marshallin strings.
3034         
3035         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3036         (WKPCEvaluate):
3037         (WKPCInvoke):
3038         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3039         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3040         (WebKit::NetscapePluginInstanceProxy::evaluate):
3041         (WebKit::NetscapePluginInstanceProxy::invoke):
3042         (WebKit::NetscapePluginInstanceProxy::marshalValue):
3043         * Plugins/Hosted/WebKitPluginHostTypes.h:
3044
3045 2009-01-12  Anders Carlsson  <andersca@apple.com>
3046
3047         Reviewed by Sam Weinig.
3048
3049         Implement WKPCInvoke.
3050         
3051         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3052         (WKPCEvaluate):
3053         (WKPCInvoke):
3054         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3055         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3056         (WebKit::NetscapePluginInstanceProxy::idForObject):
3057         (WebKit::NetscapePluginInstanceProxy::invoke):
3058         * Plugins/Hosted/WebKitPluginClient.defs:
3059
3060 2009-01-12  Anders Carlsson  <andersca@apple.com>
3061
3062         Reviewed by Sam Weinig.
3063
3064         Move marshalling code to NetscapePluginInstanceProxy. Add support for marshalling JS objects.
3065         
3066         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3067         (WKPCEvaluate):
3068         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3069         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3070         (WebKit::NetscapePluginInstanceProxy::marshalValue):
3071         * Plugins/Hosted/WebKitPluginHostTypes.h:
3072
3073 2009-01-12  Julien Chaffraix  <jchaffraix@pleyo.com>
3074
3075         Reviewed by Darin Adler.
3076
3077         Bug 22861: Turn the FontCache into a singleton
3078         https://bugs.webkit.org/show_bug.cgi?id=22861
3079
3080         * Misc/WebCoreStatistics.mm:
3081         (+[WebCoreStatistics cachedFontDataCount]):
3082         (+[WebCoreStatistics cachedFontDataInactiveCount]):
3083         (+[WebCoreStatistics purgeInactiveFontData]):
3084         Redirected all the static calls to the global FontCache
3085         instance.
3086
3087 2009-01-11  Dmitry Titov  <dimich@chromium.org>
3088
3089         Reviewed by Darin Adler.
3090
3091         https://bugs.webkit.org/show_bug.cgi?id=23207
3092         Moved currentTime() to from WebCore to WTF.
3093
3094         * WebView/WebFrame.mm: a different header file included.
3095
3096 2009-01-10  Darin Adler  <darin@apple.com>
3097
3098         Reviewed by Sam Weinig.
3099
3100         <rdar://problem/5845089> REGRESSION (r30044): Mail custom stationery missing images
3101         because of change to -[HTMLObjectElement data]
3102
3103         * WebView/WebView.mm:
3104         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Added a thread
3105         violation check because I saw this being done off the main thread while testing Mail, and it
3106         caused problems. Put all the one time initialization under a single guard to make things just
3107         a little faster other times, and to make it clearer which things are one-time. Added a call to
3108         the new patchMailRemoveAttributesMethod function.
3109         (-[WebView initWithFrame:frameName:groupName:]): Added a thread violation check here too,
3110         because I assumed it would be slightly better to have a public method name in the violation
3111         message. This calls commonInitialization later, so it will hit that one eventually.
3112         (objectElementDataAttribute): Added. Just returns the value of the "data" attribute.
3113         (recursivelyRemoveMailAttributes): Added. Patch to an internal Mail method that in turn patches
3114         a WebKit method and removes the patch again on the way out.
3115         (patchMailRemoveAttributesMethod): Added. On Leopard only, checks the Mail version, and then
3116         applies the patch that fixes this bug.
3117
3118 2009-01-09  Dan Bernstein  <mitz@apple.com>
3119
3120         Reviewed by Darin Adler.
3121
3122         - fixed <rdar://problem/6234347> Add/change conditional key
3123           bindings for changing paragraph- and character-level writing
3124           direction (to match NSTextView)
3125
3126         * WebView/WebHTMLView.mm:
3127         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Added
3128         code to validate makeBaseWritingDirectionLeftToRight: and
3129         makeBaseWritingDirectionRightToLeft:.
3130         (writingDirectionKeyBindingsEnabled): Changed this function to
3131         always return YES, except on Tiger and Leopard.
3132         (-[WebHTMLView makeBaseWritingDirectionLeftToRight:]): Renamed
3133         changeBaseWritingDirectionToLTR: to this.
3134         (-[WebHTMLView makeBaseWritingDirectionRightToLeft:]): Renamed
3135         changeBaseWritingDirectionToRTL: to this.
3136         (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Now calls
3137         makeBaseWritingDirectionLeftToRight:.
3138         (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Now calls
3139         makeBaseWritingDirectionRightToLeft:.
3140         * WebView/WebView.mm: Added makeBaseWritingDirectionLeftToRight
3141         and makeBaseWritingDirectionRightToLeft to
3142         FOR_EACH_RESPONDER_SELECTOR.
3143
3144 2009-01-08  Anders Carlsson  <andersca@apple.com>
3145
3146         Reviewed by Sam Weinig.
3147
3148         Add and implement WKPCGetStringIdentifier.
3149         
3150         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3151         (WKPCGetStringIdentifier):
3152         * Plugins/Hosted/WebKitPluginClient.defs:
3153
3154 2009-01-08  Stephanie Lewis  <slewis@gmail.com>
3155
3156         Fix Tiger build.        
3157
3158         * WebView/WebTextIterator.mm:
3159
3160 2009-01-08  Anders Carlsson  <andersca@apple.com>
3161
3162         Reviewed by Sam Weinig.
3163
3164         Add basic support for evaluating scripts.
3165         
3166         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3167         (WebKit::fromUTF8WithLatin1Fallback):
3168         (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
3169         (WKPCReleaseObject):
3170         (marshalValue):
3171         (WKPCEvaluate):
3172         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3173         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3174         (WebKit::NetscapePluginInstanceProxy::releaseObject):
3175         (WebKit::NetscapePluginInstanceProxy::evaluate):
3176         * Plugins/Hosted/WebKitPluginClient.defs:
3177         * Plugins/Hosted/WebKitPluginHostTypes.h:
3178
3179 2009-01-08  David Hyatt  <hyatt@apple.com>
3180
3181         Fix for <rdar://problem/6465682> REGRESSION: In Mail, can't force a message to auto scroll
3182
3183         Add a new ChromeClient method for handling exposure of scrolled rects.
3184
3185         Reviewed by Oliver Hunt
3186
3187         * WebCoreSupport/WebChromeClient.h:
3188         * WebCoreSupport/WebChromeClient.mm:
3189         (WebChromeClient::scrollRectIntoView):
3190
3191 2009-01-08  Darin Adler  <darin@apple.com>
3192
3193         Reviewed by Tim Hatcher.
3194
3195         Bug 23185: add a currentRange method to the WebTextIterator SPI
3196         https://bugs.webkit.org/show_bug.cgi?id=23185
3197         rdar://problem/6455834
3198
3199         I also noticed a garbage-collection-related threading issue that I fixed, and
3200         that the SPI for getting text was unnecessarily inefficient, so I fixed that too.
3201
3202         * WebView/WebTextIterator.h: Moved currentNode and currentText into a "deprecated"
3203         category. Added currentTextPointer and currentTextLength.
3204
3205         * WebView/WebTextIterator.mm: Changed m_textIterator into an OwnPtr, and also
3206         used _textIterator to be consistent with ObjC rather than C++ naming.
3207         (+[WebTextIteratorPrivate initialize]): Added. Calls WebCoreObjCFinalizeOnMainThread,
3208         since the finalize method here works with main-thread only WebCore objects. 
3209         (-[WebTextIterator initWithRange:]): Changed since _textIterator is an OwnPtr now.
3210         (-[WebTextIterator advance]): Changed name of m_textIterator. Removed null assertion,
3211         since I don't think it provides much value.
3212         (-[WebTextIterator atEnd]): Ditto.
3213         (-[WebTextIterator currentRange]): Added.
3214         (-[WebTextIterator currentTextPointer]): Added.
3215         (-[WebTextIterator currentTextLength]): Added.
3216         (-[WebTextIterator currentNode]): Did same as above, but also put into new category.
3217         (-[WebTextIterator currentText]): Ditto.
3218
3219 2009-01-08  Eric Carlson  <eric.carlson@apple.com>
3220
3221         Reviewed by Adele Peterson.
3222
3223         Simplify Mac interfaces for drawing media controller elements
3224
3225         <rdar://problem/6293969>
3226
3227         * WebCoreSupport/WebSystemInterface.m:
3228         (InitWebCoreSystemInterface): Update for changes to media controller functions
3229
3230 2009-01-07  Anders Carlsson  <andersca@apple.com>
3231
3232         Reviewed by Dan Bernstein.
3233
3234         Fix build.
3235         
3236         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3237         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3238         (WebKit::NetscapePluginInstanceProxy::idForObject):
3239
3240 2009-01-07  Anders Carlsson  <andersca@apple.com>
3241
3242         Reviewed by Dan Bernstein.
3243
3244         Add a way for a plug-in to get a reference to the Window JS object.
3245
3246         * Plugins/Hosted/NetscapePluginHostProxy.mm:
3247         (WKPCGetWindowNPObject):
3248         Call the appropriate instance.
3249         
3250         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3251         Add object ID counter.
3252         
3253         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3254         (WebKit::NetscapePluginInstanceProxy::destroy):
3255         Clear the object ID map.
3256         
3257         (WebKit::NetscapePluginInstanceProxy::idForObject):
3258         New method that returns a unique ID for a given JS object.
3259         
3260         (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
3261         Return the object ID for the window JS object.
3262         
3263         * Plugins/Hosted/WebKitPluginClient.defs:
3264         Add GetWindowNPObject.
3265
3266 2009-01-07  Darin Adler  <darin@apple.com>
3267
3268         Reviewed by Oliver Hunt.
3269
3270         Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed
3271         https://bugs.webkit.org/show_bug.cgi?id=23160
3272
3273         * WebView/WebView.mm:
3274         (-[WebView setMemoryCacheDelegateCallsEnabled:]): Added.
3275         (-[WebView areMemoryCacheDelegateCallsEnabled]): Added
3276         * WebView/WebViewPrivate.h: Ditto.
3277
3278 2009-01-05  Gavin Barraclough  <baraclough@apple.com>
3279
3280         Rubber Stamped by Oliver Hunt.
3281
3282         Replace all uses of JSValue* with new wrapper class, JSValuePtr.
3283         See JavaScriptCore/ChangeLog for more detailed description.
3284
3285         * WebView/WebFrame.mm:
3286         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
3287         * WebView/WebScriptDebugDelegate.mm:
3288         (-[WebScriptCallFrame _convertValueToObjcValue:]):
3289         (-[WebScriptCallFrame exception]):
3290         (-[WebScriptCallFrame evaluateWebScript:]):
3291         * WebView/WebView.mm:
3292         (aeDescFromJSValue):
3293         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
3294
3295 2009-01-06  Pierre-Olivier Latour  <pol@apple.com>
3296
3297         Reviewed by Darin Adler.
3298
3299         Exposed through WebFrame private interface the new WebCore API AnimationController::numberOfActiveAnimations() to be used by DRT.
3300
3301         https://bugs.webkit.org/show_bug.cgi?id=23126
3302
3303         * WebView/WebFrame.mm:
3304         (-[WebFrame _numberOfActiveAnimations]):
3305         * WebView/WebFramePrivate.h:
3306
3307 2009-01-05  David Kilzer  <ddkilzer@apple.com>
3308
3309         Add SPI to enable, disable and check state of WebIconDatabase
3310
3311         Reviewed by Darin Adler & Timothy Hatcher.
3312
3313         Add -[WebIconDatabase isEnabled] and -[WebIconDatabase setEnabled:]
3314         SPI to make it possible to enable, disable and check the state of
3315         the icon database.
3316
3317         * Misc/WebIconDatabase.mm:
3318         (-[WebIconDatabase init]): Extracted code into -_startUpIconDatabase.
3319         (-[WebIconDatabase iconForURL:withSize:cache:]): Switched to use
3320         -isEnabled instead of -_isEnabled.
3321         (-[WebIconDatabase iconURLForURL:]): Ditto.
3322         (-[WebIconDatabase retainIconForURL:]): Ditto.
3323         (-[WebIconDatabase releaseIconForURL:]): Ditto.
3324         (-[WebIconDatabase isEnabled]): Renamed from -_isEnabled in
3325         WebInternal category.
3326         (-[WebIconDatabase setEnabled:]): Added.  Takes care of changing
3327         the enabled/disabled state of the icon database.
3328         (-[WebIconDatabase removeAllIcons]): Switched to use -isEnabled
3329         instead of -_isEnabled.
3330         (-[WebIconDatabase _startUpIconDatabase]): Added.  Extrated from
3331         -init.
3332         (-[WebIconDatabase _shutDownIconDatabase]): Added.  Remove
3333         observers when the icon database is disabled.
3334         * Misc/WebIconDatabaseInternal.h: Added declarations for
3335         -_startUpIconDatabase and -_shutDownIconDatabase.
3336         * Misc/WebIconDatabasePrivate.h: Added declarations for
3337         -isEnabled and -setEnabled:.
3338
3339 2009-01-05  Brady Eidson  <beidson@apple.com>
3340
3341         Reviewed by Jon Honeycutt
3342
3343         Expose setting the last-visit-was-failure flag on a history items in preparation for <rdar://problem/6173319>
3344
3345         * History/WebHistoryItem.mm:
3346         (-[WebHistoryItem _setLastVisitWasFailure:]):
3347         * History/WebHistoryItemPrivate.h:
3348
3349 2009-01-05  Adam Treat  <adam.treat@torchmobile.com>
3350
3351         Another blind mac build fix
3352
3353         * WebCoreSupport/WebChromeClient.mm:
3354         (WebChromeClient::contentsSizeChanged):
3355
3356 2009-01-05  Adam Treat  <adam.treat@torchmobile.com>
3357
3358         Blind mac build fix
3359
3360         * WebCoreSupport/WebChromeClient.mm:
3361
3362 2009-01-05  Adam Treat  <adam.treat@torchmobile.com>
3363
3364         Fix mac build
3365
3366         * WebCoreSupport/WebChromeClient.h:
3367
3368 2009-01-05  Adam Treat  <adam.treat@torchmobile.com>
3369
3370         Reviewed by George Staikos.
3371
3372         Build fix for contentsSizeChanged
3373
3374         * WebCoreSupport/WebChromeClient.h:
3375         * WebCoreSupport/WebChromeClient.mm:
3376         (WebChromeClient::contentsSizeChanged):
3377
3378 2009-01-02  Darin Adler  <darin@apple.com>
3379
3380         Reviewed by Sam Weinig.
3381
3382         Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears
3383         inside its web view when resizing its window
3384         https://bugs.webkit.org/show_bug.cgi?id=23072
3385         rdar://problem/6368028
3386
3387         The first attempt at fixing this did not work.
3388         This time I was able to reproduce the bug and test the fix.
3389
3390         * WebCoreSupport/WebFrameLoaderClient.mm:
3391         (applyAppleDictionaryApplicationQuirkNonInlinePart): Changed the arguments and
3392         function names around a bit to make even less code at the call site.
3393         (applyAppleDictionaryApplicationQuirk): Put the check for whether this is the
3394         Dictionary application in here.
3395         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): Put a call to
3396         applyAppleDictionaryApplicationQuirk here. This was a case I had missed before,
3397         when the script is cached. This fixes one of the two problems with the initial
3398         patch; the other fix is in WebCore.
3399         (WebFrameLoaderClient::dispatchWillSendRequest): Changed the
3400         applyAppleDictionaryApplicationQuirk call here to work the new simpler way.
3401
3402         * WebView/WebView.mm: Had to add an include due to changes in WebCore header includes.
3403
3404 2009-01-02  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3405
3406         Reviewed by Darin Adler.
3407
3408         Bug 23060: REGRESSION (r38629): Cannot scroll a WebHTMLView using Home/End/Page up/Page down
3409         <https://bugs.webkit.org/show_bug.cgi?id=23060>
3410         <rdar://problem/6467830>
3411
3412         After r38629, all keyboard events get sent by Editor to the EditorClient, even
3413         if the selection is not editable. If the event's command is unsupported by
3414         WebHTMLView, WebHTMLView mistakenly thinks that the event was handled when it
3415         was not. When using the page up / page down keys, the events generated are of
3416         the form scrollPageUp rather than movePageUp, so they are unsupported by
3417         WebHTMLView and cause this bug to occur.
3418
3419         * WebView/WebHTMLView.mm:
3420         (-[WebHTMLView doCommandBySelector:]):
3421
3422 2009-01-02  Darin Adler  <darin@apple.com>
3423
3424         Reviewed by Oliver Hunt.
3425
3426         Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears inside its web view when resizing its window
3427         https://bugs.webkit.org/show_bug.cgi?id=23072
3428         rdar://problem/6368028
3429
3430         * WebCoreSupport/WebFrameLoaderClient.mm:
3431         (isAppleDictionaryApplication): Added.
3432         (applyAppleDictionaryApplicationQuirk): Added. Under the right conditions, sets
3433         a flag to ask HTMLFrameElementBase to ignore the scrolling attribute.
3434         (WebFrameLoaderClient::dispatchWillSendRequest): Call the two functions above to
3435         apply the quirk when the relevant script is loaded.
3436
3437 2008-12-26  Dan Bernstein  <mitz@apple.com>
3438
3439         Reviewed by Sam Weinig.
3440
3441         - fix <rdar://problem/6467608> lastVisitWasFailure flag persists in
3442           global history after a successful visit
3443
3444         * History/WebHistory.mm:
3445         (-[WebHistory _visitedURL:withTitle:wasFailure:]): Changed to always
3446         update the wasFailure flag on the HistoryItem.
3447
3448 2008-12-23  Darin Adler  <darin@apple.com>
3449
3450         Reviewed by Alexey Proskuryakov (a slightly earlier version).
3451
3452         - fix https://bugs.webkit.org/show_bug.cgi?id=22976
3453           crash due to Mail's use of WebArchive and WebResource on non-main thread
3454
3455         * Misc/WebKitLogging.h: Improved comments for ASSERT_MAIN_THREAD. Got rid of
3456         WebKitRunningOnMainThread function, which was just a cover for pthread_main_np.
3457         * Misc/WebKitLogging.m: Ditto.
3458
3459         * Misc/WebKitVersionChecks.h: Added a version after which we won't do the
3460         main thread workaround.
3461
3462         * Misc/WebNSObjectExtras.h: Added a new method, _webkit_getPropertyOnMainThread:,
3463         which performs a selector on the main thread, waits for it to complete, and then
3464         returns the value on the caller thread.
3465         * Misc/WebNSObjectExtras.mm: Added.
3466
3467         * WebView/WebArchive.mm:
3468         (-[WebArchive init]): Added WebCoreThreadViolationCheck.
3469         (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Perform
3470         initialization on main thread if needMailThreadWorkaround is true.
3471         Also added WebCoreThreadViolationCheck.
3472         (-[WebArchive initWithData:]): Added WebCoreThreadViolationCheck.
3473         (-[WebArchive mainResource]): Get property on main thread if
3474         needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
3475         (-[WebArchive subresources]): Ditto.
3476         (-[WebArchive subframeArchives]): Ditto.
3477         (-[WebArchive data]): Ditto.
3478         (-[WebArchive _initWithCoreLegacyWebArchive:]): Added WebCoreThreadViolationCheck.
3479         (-[WebArchive _coreLegacyWebArchive]): Ditto.
3480         (-[WebArchive _initWithArguments:]): Added. Used to implement the cross-thread
3481         version of initWithMainResource above.
3482
3483         * WebView/WebResource.mm:
3484         (-[WebResource initWithCoder:]): Added WebCoreThreadViolationCheck.
3485         (-[WebResource data]): Get property on main thread if
3486         needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
3487         (-[WebResource URL]): Ditto.
3488         (-[WebResource MIMEType]): Ditto.
3489         (-[WebResource textEncodingName]): Ditto.
3490         (-[WebResource frameName]): Ditto.
3491         (-[WebResource _ignoreWhenUnarchiving]): Ditto.
3492         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
3493         Perform initialization on main thread if needMailThreadWorkaround is true.
3494         Also added WebCoreThreadViolationCheck.
3495         (-[WebResource _suggestedFilename]): Added. Helper for _fileWrapperRepresentation.
3496         (-[WebResource _fileWrapperRepresentation]): Rewrote to use methods instead of
3497         getting at coreResource directly.
3498         (-[WebResource _response]): Get property on main thread if
3499         needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
3500         (-[WebResource _stringValue]): Ditto.
3501         (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Added.
3502         (-[WebResource _initWithArguments:]): Added. Used to implement the cross-thread
3503         version of _initWithData above.
3504
3505         * WebView/WebResourceInternal.h: Changed to include WebResourcePrivate.h since internal
3506         clients have access to the SPI as well as the API. Added definition of MAIL_THREAD_WORKAROUND
3507         and the needMainThreadWorkaround helper function.
3508
3509         * Misc/WebIconDatabase.mm: Removed include of now-defunct FoundationExtras.h
3510         file. This probably fixes clean builds.
3511         * WebCoreSupport/WebIconDatabaseClient.mm: Ditto.
3512
3513         * WebCoreSupport/WebFrameLoaderClient.mm: Removed include of WebResourcePrivate.h,
3514         since it's not actually used.
3515         * WebView/WebDataSource.mm: Ditto.
3516         * WebView/WebHTMLRepresentation.mm: Ditto.
3517
3518 2008-12-23  Darin Adler  <darin@apple.com>
3519
3520         Reviewed by Dan Bernstein.
3521
3522         - fix https://bugs.webkit.org/show_bug.cgi?id=22979
3523           crash seen in -[WebView drawsBackground] when quitting
3524           <rdar://problem/6464601>
3525
3526         * WebView/WebView.mm:
3527         (-[WebView drawsBackground]): Added comment and a null check for _private.
3528
3529 2008-12-22  Kevin Decker  <kdecker@apple.com>
3530
3531         Reviewed by Anders Carlsson.
3532
3533         <rdar://problem/6449588> REGRESSION (r38279-r38280): Minimize them remaximize a window with a flash plugin, plugin doesn't resume at full speed
3534         
3535         * Plugins/WebBaseNetscapePluginView.mm:
3536         (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): Deminiaturizing should restart timers, not stop timers.
3537
3538 2008-12-19  Geoffrey Garen  <ggaren@apple.com>
3539
3540         Reviewed by Darin Adler, Adele Peterson, Brady Eidson.
3541         
3542         Added SPI for getting an unsorted vector of all items in history.
3543         
3544         * History/WebHistory.h:
3545         * History/WebHistory.mm:
3546         (-[WebHistory allItems]):
3547
3548 2008-12-18  Dan Bernstein  <mitz@apple.com>
3549
3550         Reviewed by Sam Weinig.
3551
3552         - implement FrameLoaderClient::shouldUseCredentialStorage() by calling
3553           a new resource load delegae method.
3554
3555         * WebCoreSupport/WebFrameLoaderClient.h:
3556         * WebCoreSupport/WebFrameLoaderClient.mm:
3557         (WebFrameLoaderClient::shouldUseCredentialStorage): Added. Calls the
3558         delegate method. If the method is unimplemented, returns true for
3559         backwards compatibility.
3560         * WebView/WebView.mm: 
3561         (-[WebView _cacheResourceLoadDelegateImplementations]): Initialize the
3562         shouldUseCredentialStorageFunc member.
3563         (CallResourceLoadDelegateReturningBoolean): Added.
3564         * WebView/WebViewInternal.h:
3565         * WebView/WebResourceLoadDelegatePrivate.h: Declared the delegate method
3566         -webView:resource:shouldUseCredentialStorageForDataSource:.
3567
3568 2008-12-18  Cameron Zwarich  <zwarich@apple.com>
3569
3570         Reviewed by Jonathan Honeycutt.
3571
3572         Fix an apparent typo in r39385 that is causing lots of crashes.
3573
3574         * WebCoreSupport/WebFrameLoaderClient.mm:
3575         (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
3576
3577 2008-12-18  Brady Eidson  <beidson@apple.com>
3578
3579         Reviewed by John Sullivan
3580
3581         Initial visit to a website creates history items that start with a visit count of
3582         zero instead of one
3583
3584         * History/WebHistory.mm:
3585         (-[WebHistoryPrivate visitedURL:withTitle:]): Set the visit count on new items
3586
3587         * History/WebHistoryItem.mm:
3588         (-[WebHistoryItem _setVisitCount:]): Call through to the WebCore item