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