• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
12009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2
3        Reviewed by George Staikos.
4
5        [WML] Deck access control is completly broken
6        https://bugs.webkit.org/show_bug.cgi?id=27721
7
8        Synchronize WebFrameLoadType with FrameLoadType enum. Append 'WebFrameLoadTypeBackWMLDeckNotAccessible'.
9
10        * WebView/WebFramePrivate.h:
11
122009-08-07  Simon Fraser  <simon.fraser@apple.com>
13
14        Fix the build on 10.6.
15
16        * WebView/WebHTMLView.mm:
17        (-[WebHTMLView attachRootLayer:]):
18
192009-08-07  Simon Fraser  <simon.fraser@apple.com>
20
21        Fix a stylistic nit related to the location of the *, which, for some
22        ridiculous reason, WebKit style dictates to be different between Objective-C and C++.
23
24        * WebView/WebDynamicScrollBarsView.mm:
25        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
26
272009-08-07  Simon Fraser  <simon.fraser@apple.com>
28
29        Reviewed by Dan Bernstein.
30
31        Work around an issue on Leopard where composited layers are misplaced and squished when the page
32        gets over 4096px tall.
33        https://bugs.webkit.org/show_bug.cgi?id=27272
34        <rdar://problem/7067892> [Leopard] Composisted layers are misplaced and squished on on long pages
35        <rdar://problem/7068252> [Leopard] When switching to a tab with HW layers, they fade in
36
37        * WebView/WebDynamicScrollBarsView.mm:
38        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
39        Call -_updateLayerHostingViewPosition after scrolling.
40
41        * WebView/WebHTMLView.mm:
42        (-[WebHTMLView _frameOrBoundsChanged]):
43        Call -_updateLayerHostingViewPosition after the view changes size.
44
45        (-[WebHTMLView attachRootLayer:]):
46        Turn off default animations, to avoid animations of sublayer transform, and fading-in
47        when tab switching.
48
49        * WebView/WebHTMLViewInternal.h:
50        (-[WebHTMLView _updateLayerHostingViewPosition]):
51        New method that constrains the height of the layer-hosting view to a max height
52        of 4096px, and compensates for the height restriction by placing the layer-hosting
53        view at the top of the visible part of the WebHTMLView, and adjusting the position
54        of the hosted layers via sublayer transform.
55
562009-08-07  Anders Carlsson  <andersca@apple.com>
57
58        Fix Tiger build.
59
60        * WebView/WebRenderNode.mm:
61        (-[WebRenderNode _initWithCoreFrame:]):
62
632009-08-07  Anders Carlsson  <andersca@apple.com>
64
65        Reviewed by Timothy Hatcher and Sam Weinig.
66
67        Change WebRenderNode to take a WebFrame instead of a WebFrameView.
68
69        * WebView/WebRenderNode.h:
70        * WebView/WebRenderNode.mm:
71        (-[WebRenderNode _initWithName:position:rect:coreFrame:children:]):
72        (copyRenderNode):
73        (-[WebRenderNode _initWithCoreFrame:]):
74        (-[WebRenderNode initWithWebFrame:]):
75
762009-08-06  Anders Carlsson  <andersca@apple.com>
77
78        Reviewed by Darin Adler and Dan Bernstein.
79
80        * WebCoreSupport/WebFrameLoaderClient.mm:
81        (WebFrameLoaderClient::hasHTMLView):
82        Always return true when we're in viewless mode.
83
842009-08-06  Anders Carlsson  <andersca@apple.com>
85
86        Remove WebGraphicsExtras.h include.
87
88        * Plugins/WebNetscapePluginView.mm:
89
902009-08-06  Anders Carlsson  <andersca@apple.com>
91
92        Reviewed by Sam Weinig.
93
94        Remove WebGraphicsExtras, it is no longer used.
95
96        * Misc/WebGraphicsExtras.c: Removed.
97        * Misc/WebGraphicsExtras.h: Removed.
98
992009-08-06  Chris Marrin  <cmarrin@apple.com>
100
101        Reviewed by David Hyatt.
102
103        Added ENABLE_3D_CANVAS flag to build, default to off
104
105        * Configurations/FeatureDefines.xcconfig:
106
1072009-08-04  Michael Nordman  <michaeln@google.com>
108
109        Reviewed by Alexey Proskuryakov.
110
111        https://bugs.webkit.org/show_bug.cgi?id=27821
112
113        Mods to keep up with ApplicationCacheHost refactoring.
114
115        * WebView/WebDataSource.mm:
116        (-[WebDataSource _transferApplicationCache:]):
117
1182009-07-30  Darin Adler  <darin@apple.com>
119
120        Reviewed by David Levin.
121
122        Use checked casts for render tree
123        https://bugs.webkit.org/show_bug.cgi?id=23522
124
125        * Misc/WebNSAttributedStringExtras.mm:
126        (fileWrapperForElement):
127        * Misc/WebNSPasteboardExtras.mm:
128        (imageFromElement):
129        (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
130        * WebView/WebFrame.mm:
131        (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
132        (-[WebFrame _accessibilityTree]):
133        * WebView/WebRenderNode.mm:
134        (copyRenderNode):
135        Use checked casts.
136
1372009-07-31  Simon Fraser  <simon.fraser@apple.com>
138
139        Reviewed by Anders Carlsson.
140
141        Accelerated animations stutter on pages with lots of animations and 3d transforms
142        https://bugs.webkit.org/show_bug.cgi?id=27884
143
144        This patch changes the strategy for synchronizing painting view the view,
145        and compositing layer updates. Previously the strategy was to disable screen
146        updates between the time we updated the layer tree, and painted the view. That
147        left screen updates disabled for too long (hundreds of milliseconds) in some
148        cases, causing animation stutter.
149
150        The new strategy is to batch up changes to the CA layer tree, and commit them
151        all at once just before painting happens (referred to as a "sync" in the code).
152        GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
153        the values stored in GraphicsLayer into the CA layer tree at commit time.
154
155        Compositing layers are then synced in FrameView::paintContents(). However, not
156        all style/layout changes will result in painting; to deal with style changes that
157        touch only compositing properties, we set up a runloop observer that takes care
158        of comitting layer changes when no painting happens.
159
160        * WebCoreSupport/WebChromeClient.h:
161        * WebCoreSupport/WebChromeClient.mm:
162        (WebChromeClient::scheduleCompositingLayerSync):
163        scheduleViewUpdate() renamed to syncCompositingStateRecursive()
164
165        * WebView/WebView.mm:
166        (-[WebView _close]):
167        (-[WebView _clearLayerSyncLoopObserver]):
168        "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".
169
170        (-[WebView _syncCompositingChanges]):
171        Helper method that calls syncCompositingStateRecursive() on the FrameView.
172
173        (layerSyncRunLoopObserverCallBack):
174        (-[WebView _scheduleCompositingLayerSync]):
175        This is all about layer sycning now. Also, the run loop observer is repeating,
176        because it has to keep firing until syncCompositingStateRecursive() says that it
177        has completed.
178
179        * WebView/WebViewData.h:
180        "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".
181
182        * WebView/WebViewInternal.h:
183        _scheduleViewUpdate is now _scheduleCompositingLayerSync
184
1852009-07-30  Michael Nordman  <michaeln@google.com>
186
187        Reviewed by Darin Fisher.
188
189        https://bugs.webkit.org/show_bug.cgi?id=27821
190
191        Mods to keep up with ApplicationCacheHost refactoring.
192
193        * WebView/WebDataSource.mm:
194        (-[WebDataSource _transferApplicationCache:]):
195
1962009-07-29  David Kilzer  <ddkilzer@apple.com>
197
198        <http://webkit.org/b/27788> Don't export WebPluginController.h as a private header
199
200        Reviewed by Mark Rowe.
201
202        * Plugins/WebPluginController.h: Changed #import of
203        WebPluginContainerCheck.h to use a framework-style include in
204        case other platforms wish to export WebPluginController.h as a
205        private header.
206
2072009-07-29  Kevin McCullough  <kmccullough@apple.com>
208
209        Reviewed by Darin Adler.
210
211        Added foundation work to allow a testing infrastructure for the Web
212        Inspector.
213
214        * WebCoreSupport/WebInspectorClient.h:
215        * WebCoreSupport/WebInspectorClient.mm:
216        (WebInspectorClient::inspectorWindowObjectCleared): Send the delegate
217        callback.
218        * WebView/WebDelegateImplementationCaching.h:
219        * WebView/WebView.mm:
220        (-[WebView _cacheFrameLoadDelegateImplementations]):
221        * WebView/WebViewPrivate.h: The delegate SPI.
222
2232009-07-27  Mark Rowe  <mrowe@apple.com>
224
225        Reviewed by Darin Adler.
226
227        <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
228
229        In some situations Microsoft Messenger can attempt to manipulate the DOM from a secondary thread while
230        updating its file transfer progress bar.  This results in corruption of WebCore data structures that is
231        quickly followed by a crash.  We can work around this by having -[WebFrame DOMDocument] return nil when
232        called from a secondary thread by Microsoft Messenger, which has the effect of turning its attempts at
233        DOM manipulation in to no-ops.
234
235        * WebView/WebFrame.mm:
236        (needsMicrosoftMessengerDOMDocumentWorkaround):
237        (-[WebFrame DOMDocument]):
238
2392009-07-27  Alexey Proskuryakov  <ap@webkit.org>
240
241        Reviewed by Darin Adler.
242
243        https://bugs.webkit.org/show_bug.cgi?id=27735
244        Give a helpful name to JSLock constructor argument
245
246        * Misc/WebCoreStatistics.mm:
247        (+[WebCoreStatistics javaScriptObjectsCount]):
248        (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
249        (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
250        (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
251        (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
252        (+[WebCoreStatistics shouldPrintExceptions]):
253        (+[WebCoreStatistics setShouldPrintExceptions:]):
254        (+[WebCoreStatistics memoryStatistics]):
255        (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
256        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
257        (WebKit::NetscapePluginInstanceProxy::evaluate):
258        (WebKit::NetscapePluginInstanceProxy::invoke):
259        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
260        (WebKit::NetscapePluginInstanceProxy::construct):
261        (WebKit::NetscapePluginInstanceProxy::getProperty):
262        (WebKit::NetscapePluginInstanceProxy::setProperty):
263        (WebKit::NetscapePluginInstanceProxy::removeProperty):
264        (WebKit::NetscapePluginInstanceProxy::hasMethod):
265        (WebKit::NetscapePluginInstanceProxy::enumerate):
266        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
267        * Plugins/WebBaseNetscapePluginStream.mm:
268        (WebNetscapePluginStream::wantsAllStreams):
269        * Plugins/WebNetscapePluginView.mm:
270        (-[WebNetscapePluginView sendEvent:isDrawRect:]):
271        (-[WebNetscapePluginView setWindowIfNecessary]):
272        (-[WebNetscapePluginView createPluginScriptableObject]):
273        (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
274        (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
275        (-[WebNetscapePluginView loadPluginRequest:]):
276        (-[WebNetscapePluginView _printedPluginBitmap]):
277        * Plugins/WebPluginController.mm:
278        (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
279        (-[WebPluginController startAllPlugins]):
280        (-[WebPluginController stopAllPlugins]):
281        (-[WebPluginController addPlugin:]):
282        (-[WebPluginController destroyPlugin:]):
283        (-[WebPluginController destroyAllPlugins]):
284        * WebView/WebFrame.mm:
285        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
286        * WebView/WebScriptDebugDelegate.mm:
287        (-[WebScriptCallFrame scopeChain]):
288        (-[WebScriptCallFrame evaluateWebScript:]):
289        * WebView/WebView.mm:
290        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
291
2922009-07-24  Darin Adler  <darin@apple.com>
293
294        Reviewed by Mark Rowe.
295
296        REGRESSION (r46298): Exception after clicking on Bookmarks button in the Bookmarks Bar
297        https://bugs.webkit.org/show_bug.cgi?id=27667
298
299        * WebCoreSupport/WebFrameLoaderClient.mm:
300        (WebFrameLoaderClient::transitionToCommittedForNewPage): Moved the code to set the
301        title here. This is late enough that both the view and representation exist.
302
303        * WebView/WebDataSource.mm:
304        (-[WebDataSource _makeRepresentation]): Removed the code to set the title from here.
305        It's a bit too early.
306
3072009-07-24  Andrei Popescu  <andreip@google.com>
308
309        Reviewed by Anders Carlsson.
310
311        ApplicationCache should have size limit
312        https://bugs.webkit.org/show_bug.cgi?id=22700
313
314        Adds the WebApplicationCache class that is
315        used by the DumpRenderTree test application to
316        configure the Application Cache maximum size.
317
318        * WebCoreSupport/WebApplicationCache.h: Added.
319        * WebCoreSupport/WebApplicationCache.mm: Added.
320        * WebCoreSupport/WebChromeClient.h:
321        * WebCoreSupport/WebChromeClient.mm:
322        (WebChromeClient::reachedMaxAppCacheSize):
323        Adds empty implementation of the reachedMaxAppCacheSize callback.
324        * WebKit.exp:
325
3262009-07-23  Darin Adler  <darin@apple.com>
327
328        * WebView/WebDataSource.mm:
329        (-[WebDataSource _makeRepresentation]): Landed a comment I forgot last time.
330
3312009-07-23  Darin Adler  <darin@apple.com>
332
333        Reviewed by Brady Eidson.
334
335        URL appears in back/forward button menu instead of title for items with custom representation
336        https://bugs.webkit.org/show_bug.cgi?id=27586
337        rdar://problem/5060337
338
339        The problem is that DocumentLoader expects to store a title, but for custom representations
340        it is never passed to the document loader.
341
342        * WebView/WebDataSource.mm:
343        (-[WebDataSource _makeRepresentation]): Added a call to DocumentLoader::setTitle.
344        Works as long as the title does not change during the document's lifetime, which
345        is good enough for the simple cases in Safari.
346
3472009-07-20  Darin Adler  <darin@apple.com>
348
349        Reviewed by Dan Bernstein.
350
351        REGRESSION (r39185): Safari adds ".jpeg" extension to images that already have ".JPG" extension
352        https://bugs.webkit.org/show_bug.cgi?id=27472
353
354        * WebView/WebHTMLView.mm:
355        (matchesExtensionOrEquivalent): Changed category method into a C function.
356        Made it require the leading dot when checking for the extension and do it
357        in a non-case-sensitive way.
358        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Changed to call
359        the function.
360
3612009-07-21  Roland Steiner  <rolandsteiner@google.com>
362
363        Reviewed by David Levin.
364
365        Add ENABLE_RUBY to list of build options
366        https://bugs.webkit.org/show_bug.cgi?id=27324
367
368        * Configurations/FeatureDefines.xcconfig: Added flag ENABLE_RUBY.
369
3702009-07-17  Brian Weinstein  <bweinstein@apple.com>
371
372        Reviewed by Adam Roben.
373
374        Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
375        https://bugs.webkit.org/show_bug.cgi?id=14272
376
377        Removed size calculation code from [WebInspectorWindowController setInitialAttachedHeight] into
378        InspectorController.cpp to make it cross platform, and use InspectorController to store the
379        user's preferred size for an attached window, instead of NSUserDefaults.
380
381        * WebCoreSupport/WebInspectorClient.mm:
382        (-[WebInspectorWindowController showWindow:]):
383        (-[WebInspectorWindowController setAttachedWindowHeight:]):
384
3852009-07-16  Fumitoshi Ukai  <ukai@chromium.org>
386
387        Reviewed by David Levin.
388
389        Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
390        https://bugs.webkit.org/show_bug.cgi?id=27206
391
392        Add ENABLE_WEB_SOCKETS
393
394        * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
395
3962009-07-16  Xiaomei Ji  <xji@chromium.org>
397
398        Reviewed by Darin Adler.
399
400        Fix tooltip does not get its directionality from its element's directionality.
401        https://bugs.webkit.org/show_bug.cgi?id=24187
402
403        Per mitz's suggestion in comment #6, while getting the plain-text
404        title, we also get the directionality of the title. How to handle
405        the directionality is up to clients. Clients could ignore it,
406        or use attribute or unicode control characters to display the title
407        as what they want.
408
409        * Misc/WebElementDictionary.mm:
410        (-[WebElementDictionary _spellingToolTip]): Change spellingToolTip caller due to signature change.
411        (-[WebElementDictionary _title]): Change title caller due to signature change.
412        * WebCoreSupport/WebChromeClient.h: Add directionality as 2nd parameter to setToolTip().
413        * WebCoreSupport/WebChromeClient.mm:
414        (WebChromeClient::setToolTip): Add directionality as 2nd parameter to setToopTip() (without handling it yet).
415
4162009-07-15  Darin Adler  <darin@apple.com>
417
418        Reviewed by Sam Weinig.
419
420        Renamed parseURL to deprecatedParseURL.
421
422        * DOM/WebDOMOperations.mm:
423        (-[DOMDocument URLWithAttributeString:]): Renamed.
424        * WebCoreSupport/WebFrameLoaderClient.mm:
425        (WebFrameLoaderClient::createPlugin): Renamed.
426
4272009-07-15  Brady Eidson  <beidson@apple.com>
428
429        Reviewed by Dan Bernstein.
430
431        https://bugs.webkit.org/show_bug.cgi?id=27304
432        WebKit should provide usage and eligibility information about the page cache.
433
434        * Misc/WebCoreStatistics.h:
435        * Misc/WebCoreStatistics.mm:
436        (+[WebCoreStatistics numberCachedPages]):
437        (+[WebCoreStatistics numberCachedFrames]):
438        (+[WebCoreStatistics numberAutoreleasedPages]):
439        * WebKit.exp:
440
441        * WebView/WebFrame.mm:
442        (-[WebFrame _cacheabilityDictionary]): Returns a dictionary with all the data about
443          why the frame is not cacheable. If the frame *is* cacheable, the dictionary is
444          empty.
445        * WebView/WebFramePrivate.h:
446
4472009-07-13  Simon Fraser  <simon.fraser@apple.com>
448
449        Reviewed by Dan Bernstein, Adam Roben.
450
451        "Unrecognized selector" console log when the Safari 4 Welcome page navigates to Top Sites.
452        <rdar://problem/6994893
453
454        attachRootGraphicsLayer() should not assume that the frameView's documentView
455        is a WebHTMLView.
456
457        * WebCoreSupport/WebChromeClient.mm:
458        (WebChromeClient::attachRootGraphicsLayer):
459
4602009-07-13  Anders Carlsson  <andersca@apple.com>
461
462        Reviewed by Darin Adler and Kevin Decker.
463
464        <rdar://problem/7053687> Core Animation plug-ins continue to grow larger and larger when opening new tabs (32 bit-only)
465
466        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
467        (-[WebHostedNetscapePluginView setLayer:]):
468        Add a FIXME.
469
470        * Plugins/WebNetscapePluginView.mm:
471        (-[WebNetscapePluginView setLayer:]):
472        Make sure to set the size of the layer before changing the autoresizing mask so it won't grow everytime it's inserted
473        into the layer tree.
474
4752009-07-13  Greg Bolsinga  <bolsinga@apple.com>
476
477        Reviewed by Simon Fraser.
478
479        Correct these delegate methods' declarations by adding parameter names.
480
481        * WebView/WebUIDelegatePrivate.h:
482
4832009-07-13  Drew Wilson  <atwilson@google.com>
484
485        Reviewed by David Levin.
486
487        Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
488        https://bugs.webkit.org/show_bug.cgi?id=26932
489
490        Added ENABLE(SHARED_WORKERS) flag (disabled by default).
491
492        * Configurations/FeatureDefines.xcconfig:
493
4942009-07-12  Keishi Hattori  <casey.hattori@gmail.com>
495
496        Reviewed by Timothy Hatcher.
497
498        Refactor ConsoleMessage to add MessageType attribute.
499        https://bugs.webkit.org/show_bug.cgi?id=20625
500
501        * WebCoreSupport/WebChromeClient.h:
502        * WebCoreSupport/WebChromeClient.mm:
503        (WebChromeClient::addMessageToConsole):
504
5052009-07-11  Simon Fraser  <simon.fraser@apple.com>
506
507        Enable support for accelerated compositing and 3d transforms on Leopard.
508        <https://bugs.webkit.org/show_bug.cgi?id=20166>
509        <rdar://problem/6120614>
510
511        Reviewed by Oliver Hunt.
512
513        * Configurations/FeatureDefines.xcconfig:
514
5152009-07-10  David Kilzer  <ddkilzer@apple.com>
516
517        Bug 27007: Build fixes when ICONDATABASE is disabled
518
519        <https://bugs.webkit.org/show_bug.cgi?id=27007>
520
521        Reviewed by Sam Weinig.
522
523        * Misc/WebIconDatabase.mm:
524        (defaultClient): Return 0 if ICONDATABASE is disabled.
525        * WebCoreSupport/WebFrameLoaderClient.mm:
526        (WebFrameLoaderClient::dispatchDidReceiveIcon): Commented out
527        the body of the method if ICONDATABASE is disabled.
528        (WebFrameLoaderClient::registerForIconNotification): Ditto.
529        * WebCoreSupport/WebIconDatabaseClient.mm: Added #if
530        ENABLE(ICONDATABASE)/#endif guard to source.
531        * WebView/WebView.mm:
532        (-[WebView setFrameLoadDelegate:]): Wrapped code that starts the
533        icon database machinery in #if ENABLE(ICONDATABASE)/#endif.
534        (-[WebView _registerForIconNotification:]): Wrapped method in
535        #if ENABLE(ICONDATABASE)/#endif guard.
536        (-[WebView _dispatchDidReceiveIconFromWebFrame:]): Ditto.
537        * WebView/WebViewInternal.h: Wrapped methods in #if
538        ENABLE(ICONDATABASE)/#endif guard.
539        (-[WebView _registerForIconNotification:]):
540        (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
541
5422009-07-10  Simon Fraser  <simon.fraser@apple.com>
543
544        Reviewed by John Sullivan.
545
546        Flashing as hardware layers are created and destroyed in some content
547        <rdar://problem/7032246>
548
549        There's a window of time between the end of one runloop cycle, after CA layers changes
550        have been committed, and the window display at the start of the next cycle when
551        CA may push updates to the screen before AppKit has drawn the view contents. If
552        we know that we need to do drawing synchronization (which we do when content moves
553        between a layer and the view), then we need to call -disableScreenUpdatesUntilFlush
554        from the existing runloop observer that is set up when layers need repainting to
555        ensure that layer updates don't reach the screen before view-based painting does.
556
557        * WebView/WebHTMLView.mm:
558        (-[WebHTMLView drawRect:]):
559        Tweak the comments
560
561        * WebView/WebView.mm:
562        (viewUpdateRunLoopObserverCallBack):
563        (-[WebView _scheduleViewUpdate]):
564        Add a big comment to explain the timing of things.
565        Call -disableScreenUpdatesUntilFlush when the view _needsOneShotDrawingSynchronization.
566
567 2009-07-09  Brian Weinstein  <bweinstein@apple.com>
568
569         Reviewed by Tim Hatcher.
5702009-07-10  Adam Barth  <abarth@webkit.org>
571
572        Reviewed by Sam Weinig with the power of Grayskull.
573
574        Enable XSSAuditor by default.
575
576        * WebView/WebPreferences.mm:
577        (+[WebPreferences initialize]):
578
5792009-07-10  Greg Bolsinga  <bolsinga@apple.com>
580
581        Reviewed by Antti Koivisto.
582
583        Add delegate methods about focus and blur and state change
584        https://bugs.webkit.org/show_bug.cgi?id=27153
585
586        Call the appropriate private delegate methods from the ChromeClient.
587
588        * WebCoreSupport/WebChromeClient.h:
589        * WebCoreSupport/WebChromeClient.mm:
590        (WebChromeClient::formStateDidChange):
591        (WebChromeClient::formDidFocus):
592        (WebChromeClient::formDidBlur):
593        * WebView/WebUIDelegatePrivate.h:
594
5952009-07-09  Brian Weinstein  <bweinstein@apple.com>
596
597        Reviewed by Tim Hatcher.
598
599        https://bugs.webkit.org/show_bug.cgi?id=27141
600
601        Updated WebInspectorClient to use Web Inspector Preferences to remember whether or not it should be
602        docked or a free window instead of NSUserDefaults it used to have.
603
604        * WebCoreSupport/WebInspectorClient.mm:
605        (-[WebInspectorWindowController init]):
606        (-[WebInspectorWindowController showWindow:]):
607        (-[WebInspectorWindowController attach]):
608        (-[WebInspectorWindowController detach]):
609
6102009-07-09  Drew Wilson  <atwilson@google.com>
611
612        Reviewed by Alexey Proskuryakov.
613
614        https://bugs.webkit.org/show_bug.cgi?id=26903
615
616        Turned on CHANNEL_MESSAGING by default because the MessageChannel API
617        can now be implemented for Web Workers and is reasonably stable.
618
619        * Configurations/FeatureDefines.xcconfig:
620
6212009-07-09  Darin Adler  <darin@apple.com>
622
623        Reviewed by Adele Peterson and Dan Bernstein.
624
625        <rdar://problem/7024972> Cannot set font to Helvetica Neue Light in Mail compose window
626
627        No regression test because this only affects the font panel.
628
629        * WebView/WebHTMLView.mm:
630        (-[WebHTMLView _addToStyle:fontA:fontB:]): Fix code that detects whether the font would
631        survive a round trip by using the weight corresponding to "bold" or "normal" rather than
632        the actual weight number.
633
6342009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
635
636        Reviewed by Dave Hyatt.
637
638        Make Widget RefCounted to fix:
639
640        <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
641        at WebCore::Widget::afterMouseDown() after clicking To Do's close
642        box
643        <rdar://problem/6978804> WER #16: Repro Access Violation in
644        WebCore::PluginView::bindingInstance (1310178023)
645        -and-
646        <rdar://problem/6991251> WER #13: Crash in WebKit!
647        WebCore::PluginView::performRequest+203 (1311461169)
648
649        * WebCoreSupport/WebFrameLoaderClient.h:
650        * WebCoreSupport/WebFrameLoaderClient.mm:
651        (WebFrameLoaderClient::createPlugin):
652
6532009-07-09  Sam Weinig  <sam@webkit.org>
654
655        Reviewed by Steve Falkenburg.
656
657        Roll out r43848. The quirk is no longer necessary.
658
659        * WebView/WebView.mm:
660        (-[WebView WebCore::_userAgentForURL:WebCore::]):
661
6622009-07-09  Alexey Proskuryakov  <ap@webkit.org>
663
664        Reviewed by Geoff Garen.
665
666        <rdar://problem/6921671> Visit count shouldn't be incremented by redirects.
667
668        * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory):
669        Do not increase visit count if there is a redirect source. As a result, only pages that were
670        explicitly visited by the user (by typing a URL, choosing one from bookmarks, or clicking
671        a link) will be counted.
672
673        * History/WebHistory.mm:
674        (-[WebHistoryPrivate visitedURL:withTitle:increaseVisitCount:]):
675        (-[WebHistory _visitedURL:withTitle:method:wasFailure:increaseVisitCount:]):
676        * History/WebHistoryInternal.h:
677        * History/WebHistoryItem.mm:
678        (-[WebHistoryItem _visitedWithTitle:increaseVisitCount:]):
679        * History/WebHistoryItemInternal.h:
680        Marshal this new argument all the way down to WebCore.
681
6822009-07-08  Greg Bolsinga  <bolsinga@apple.com>
683
684        Reviewed by Darin Adler.
685
686        Add -[WebView _isProcessingUserGesture]
687        https://bugs.webkit.org/show_bug.cgi?id=27084
688
689        Add -_isProcessingUserGesture that calls into WebCore::FrameLoader::isProcessingUserGesture()
690        so that WebView code can determine if a user gesture is in progress.
691
692        * WebView/WebView.mm:
693        (-[WebView _isProcessingUserGesture]):
694        * WebView/WebViewPrivate.h:
695
6962009-07-07  Anders Carlsson  <andersca@apple.com>
697
698        Reviewed by Sam Weinig.
699
700        - Fix <rdar://problem/6544693>.
701
702        For Flash, don't cache which methods or fields in an object are missing, since they can
703        be added at any time.
704
705        * Plugins/Hosted/NetscapePluginHostManager.mm:
706        (WebKit::NetscapePluginHostManager::hostForPackage):
707        * Plugins/Hosted/NetscapePluginHostProxy.h:
708        (WebKit::NetscapePluginHostProxy::shouldCacheMissingPropertiesAndMethods):
709        * Plugins/Hosted/NetscapePluginHostProxy.mm:
710        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
711        * Plugins/Hosted/ProxyInstance.mm:
712        (WebKit::ProxyInstance::methodsNamed):
713        (WebKit::ProxyInstance::fieldNamed):
714
7152009-07-06  David Kilzer  <ddkilzer@apple.com>
716
717        Bug 27006: Build fix when MAC_JAVA_BRIDGE is disabled
718
719        <https://bugs.webkit.org/show_bug.cgi?id=27006>
720
721        Reviewed by Darin Adler.
722
723        * WebCoreSupport/WebFrameLoaderClient.mm:
724        (WebFrameLoaderClient::createJavaAppletWidget): Wrap contents of
725        the method in #if ENABLE(MAC_JAVA_BRIDGE)/#endif and return 0
726        when this feature is disabled.
727
7282009-07-06  David Kilzer  <ddkilzer@apple.com>
729
730        Bug 27005: Build fixes when NETSCAPE_PLUGIN_API is disabled
731
732        <https://bugs.webkit.org/show_bug.cgi?id=27005>
733
734        Reviewed by Geoff Garen.
735
736        * Plugins/WebPluginController.mm:
737        (-[WebPluginController destroyPlugin:]): Wrap call to
738        ScriptController::cleanupScriptObjectsForPlugin() in
739        #if ENABLE(NETSCAPE_PLUGIN_API)/#endif macro.
740        (-[WebPluginController destroyAllPlugins]): Ditto.
741        * Plugins/WebPluginDatabase.mm:
742        (-[WebPluginDatabase removePluginInstanceViewsFor:]): Wrap
743        WebBaseNetscapePluginView class checks in
744        #if ENABLE(NETSCAPE_PLUGIN_API)/#endif macro.
745        (-[WebPluginDatabase destroyAllPluginInstanceViews]): Ditto.
746
7472009-07-06  David Kilzer  <ddkilzer@apple.com>
748
749        BUILD FIX: Use ENABLE(NETSCAPE_PLUGIN_API) instead of USE(PLUGIN_HOST_PROCESS)
750
751        In r45579, #if/#endif macros for USE(PLUGIN_HOST_PROCESS) were
752        used, but ENABLE(NETSCAPE_PLUGIN_API) should have been used
753        instead.
754
755        * Plugins/WebNetscapeContainerCheckContextInfo.h:
756        * Plugins/WebNetscapeContainerCheckContextInfo.mm:
757        * Plugins/WebNetscapeContainerCheckPrivate.mm:
758
7592009-07-06  David Kilzer  <ddkilzer@apple.com>
760
761        Bug 27004: Build fix for ENABLE(PLUGIN_PROXY_FOR_VIDEO) after r42618
762
763        <https://bugs.webkit.org/show_bug.cgi?id=27004>
764
765        Reviewed by Geoff Garen.
766
767        * Plugins/WebPluginController.mm:
768        (mediaProxyClient): Use core() method to convert from
769        DOMElement to WebCore::Element.
770
7712009-07-06  David Kilzer  <ddkilzer@apple.com>
772
773        Bug 27003: Build fix when USE(PLUGIN_HOST_PROCESS) is disabled
774
775        <https://bugs.webkit.org/show_bug.cgi?id=27003>
776
777        Reviewed by Geoff Garen.
778
779        * Plugins/WebNetscapeContainerCheckContextInfo.h: Added #if
780        USE(PLUGIN_HOST_PROCESS)/#endif guards.
781        * Plugins/WebNetscapeContainerCheckContextInfo.mm: Ditto.
782        * Plugins/WebNetscapeContainerCheckPrivate.mm: Ditto.
783
7842009-07-06  Anders Carlsson  <andersca@apple.com>
785
786        Reviewed by Adele Peterson.
787
788        Initialize wkIsLatchingWheelEvent.
789
790        * WebCoreSupport/WebSystemInterface.m:
791        (InitWebCoreSystemInterface):
792
7932009-07-03  Dan Bernstein  <mitz@apple.com>
794
795        Reviewed by Simon Fraser.
796
797        - fix <rdar://problem/6964278> REGRESSION (r42118): Scrolling redraw
798          problem in FileMaker Pro
799
800        * WebView/WebHTMLView.mm:
801        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
802        Perform layout if needed, even on Mac OS X versions that have
803        -viewWillDraw. This prevents attempts to draw without layout in case
804        -viewWillDraw was not called due to NSView issues or the client
805        did something during the display operation that re-invalidated the
806        layout.
807
8082009-07-02  Anders Carlsson  <andersca@apple.com>
809
810        Reviewed by Dan Bernstein.
811
812        <rdar://problem/6978783>
813        Software-rendered plug-in does not update correctly when inside a hardware layer
814
815        Replace calls to setNeedsDisplay: and setNeedsDisplayInRect: with a call to the new method
816        invalidatePluginContentRect:. This new method will ask WebCore to do the repainting, taking
817        transforms into account.
818
819        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
820        (WebKit::NetscapePluginInstanceProxy::invalidateRect):
821        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
822        (-[WebHostedNetscapePluginView pluginHostDied]):
823        * Plugins/WebBaseNetscapePluginView.h:
824        * Plugins/WebBaseNetscapePluginView.mm:
825        (-[WebBaseNetscapePluginView windowBecameKey:]):
826        (-[WebBaseNetscapePluginView windowResignedKey:]):
827        (-[WebBaseNetscapePluginView preferencesHaveChanged:]):
828        (-[WebBaseNetscapePluginView invalidatePluginContentRect:]):
829        * Plugins/WebNetscapePluginView.mm:
830        (-[WebNetscapePluginView invalidateRect:]):
831        (-[WebNetscapePluginView invalidateRegion:]):
832        (-[WebNetscapePluginView forceRedraw]):
833
8342009-07-02  Adam Roben  <aroben@apple.com>
835
836        Fix warnings from update-webkit-localizable-strings
837
838        Rubber-stamped by Eric Carlson.
839
840        * WebCoreSupport/WebViewFactory.mm:
841        (-[WebViewFactory mediaElementLoadingStateText]):
842        (-[WebViewFactory mediaElementLiveBroadcastStateText]):
843        Changed the localization comments to match the comments in the Windows
844        version of this file, to avoid warnings about different comments for
845        the same localized string.
846
8472009-07-02  Simon Fraser  <simon.fraser@apple.com>
848
849        Reviewed by Dan Bernstein.
850
851        Compositing-related preference methods are not public API; should move to WebPreferencesPrivate.h
852        <rdar://problem/7027363>
853
854        Move accelerated-compositing pref to WebPreferencesPrivate.h
855
856        * WebView/WebPreferences.h:
857        * WebView/WebPreferences.mm:
858        (-[WebPreferences acceleratedCompositingEnabled]):
859        (-[WebPreferences setAcceleratedCompositingEnabled:]):
860        * WebView/WebPreferencesPrivate.h:
861
8622009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
863
864        Reviewed by Simon Fraser.
865
866        <rdar://problem/6518119>
867
868        Add localized strings for media controller status messages.
869
870        * WebCoreSupport/WebViewFactory.mm: Add new localized text.
871        (-[WebViewFactory mediaElementLoadingStateText]):
872        (-[WebViewFactory mediaElementLiveBroadcastStateText]):
873
8742009-07-01  Brady Eidson  <beidson@apple.com>
875
876        Reviewed by Sam Weinig.
877
878        Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
879
880        * WebView/WebPreferenceKeysPrivate.h:
881
882        * WebView/WebPreferences.mm:
883        (+[WebPreferences initialize]):
884        (-[WebPreferences localFileContentSniffingEnabled]):
885        (-[WebPreferences setLocalFileContentSniffingEnabled:]):
886        * WebView/WebPreferencesPrivate.h:
887
888        * WebView/WebView.mm:
889        (-[WebView _preferencesChangedNotification:]):
890
8912009-07-01  David Hyatt  <hyatt@apple.com>
892
893        Reviewed by Tim Hatcher.
894
895        <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
896        even though the field is not actually focused for keyboard input
897
898        Add the concept of whether or not the Page is focused by adding a boolean to the focusController.  This allows the
899        focused frame and focused node to both be cached and changed programmatically without causing errors when the Page doesn't
900        have focus.
901
902        * WebView/WebHTMLView.mm:
903        (-[WebHTMLView becomeFirstResponder]):
904        (-[WebHTMLView resignFirstResponder]):
905
9062009-06-30  Adele Peterson  <adele@apple.com>
907
908        Reviewed by Dan Bernstein.
909
910        Fix for <rdar://problem/7014389> REGRESSION(4-TOT): Hyperlinks have no tooltips in Mail unless you first click in the message body
911
912        Updated these new methods (added as part of the viewless WebKit effort) that call through to WebHTMLView to use _selectedOrMainFrame,
913        instead of just selectedFrame.  When the selection changes, I don't think there is a situation where there's no selected frame, but
914        it seems better to keep these two uses the same, since if there is a case, this will be more like the old behavior, before there was
915        a version of _selectionChanged in WebView.
916
917        * WebView/WebView.mm:
918        (-[WebView _setToolTip:]):
919        (-[WebView _selectionChanged]):
920
9212009-06-30  Mark Rowe  <mrowe@apple.com>
922
923        Reviewed by Timothy Hatcher.
924
925        <rdar://problem/7006959> 'Save as…’ does not work in Mail
926
927        * WebView/WebFrameView.mm:
928        (-[WebFrameView initWithFrame:]): Call _needMailThreadWorkaroundIfCalledOffMainThread rather than
929        needMailThreadWorkaround, as the latter is intended to be used at the point which a workaround would
930        be applied and thus contains a main thread check.  Since -initWithFrame: is called on the main thread,
931        this was causing us to not switch from exception-throwing to logging for the thread violation behavior.
932
9332009-06-30  Dan Bernstein  <mitz@apple.com>
934
935        Reviewed by Dave Hyatt.
936
937        - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
938          to Grid" window is clipping
939
940        * Misc/WebKitVersionChecks.h: Added
941            WEBKIT_FIRST_VERSION_WITHOUT_SHADE10_QUIRK
942        * WebView/WebView.mm:
943        (-[WebView _needsLinkElementTextCSSQuirk]): Added. Returns YES if the
944            client app is a version of Shade 10 earlier than 10.6 and it was
945            linked against a version of WebKit earlier than 531.2.
946        (-[WebView _preferencesChangedNotification:]): Added a call to
947            Settings::setTreatsAnyTextCSSLinkAsStylesheet().
948
9492009-06-29  Eric Carlson  <eric.carlson@apple.com>
950
951        Reviewed by Simon Fraser.
952
953        <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
954
955        * WebCoreSupport/WebSystemInterface.m:
956        (InitWebCoreSystemInterface):
957            Add QTMovieGetType.
958
9592009-06-29  David Hyatt  <hyatt@apple.com>
960
961        Reviewed by Adam Roben.
962
963        Put datagrid behind an #ifdef.
964
965        * Configurations/FeatureDefines.xcconfig:
966
9672009-06-26  John Sullivan  <sullivan@apple.com>
968
969        Added support for disabling Stop Speaking when there is no speaking to stop.
970        Also fixed Stop Speaking so that it works (formerly it would throw an exception, and
971        selecting it from the menu would perform a web search instead (!)).
972
973        Reviewed by Tim Hatcher.
974
975        * WebCoreSupport/WebContextMenuClient.h:
976        declare isSpeaking()
977
978        * WebCoreSupport/WebContextMenuClient.mm:
979        (WebContextMenuClient::isSpeaking):
980        implement by calling through to NSApplication
981        (WebContextMenuClient::stopSpeaking):
982        fixed implementation by correcting the signature of the NSApplication method
983
9842009-06-26  Chris Marrin  <cmarrin@apple.com>
985
986        Reviewed by Simon Fraser  <simon.fraser@apple.com>.
987
988        Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
989
990        The flag should always default to true to avoid it getting set
991        to false in a build with accelerated compositing turned off
992        and then disabling accelerated compositing when subsequently
993        running a build with it turned on.
994
995        * WebView/WebPreferences.mm:
996        (+[WebPreferences initialize]):
997
9982009-06-26  Brady Eidson  <beidson@apple.com>
999
1000        Fix SnowLeopard build.
1001
1002        * Plugins/Hosted/HostedNetscapePluginStream.mm:
1003        (WebKit::HostedNetscapePluginStream::didReceiveResponse):
1004
10052009-06-26  Brady Eidson  <beidson@apple.com>
1006
1007        Reviewed by Sam Weinig
1008
1009        <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
1010
1011        Replace all usage of the now obsolete [NSURLResponse _webcore_MIMEType].
1012
1013        * Plugins/WebBaseNetscapePluginStream.mm:
1014        (WebNetscapePluginStream::didReceiveResponse):
1015        * Plugins/WebNetscapePluginView.mm:
1016        (-[WebNetscapePluginView pluginView:receivedData:]):
1017        * Plugins/WebPluginController.mm:
1018        (-[WebPluginController pluginView:receivedResponse:]):
1019        * WebView/WebDataSource.mm:
1020        (-[WebDataSource _responseMIMEType]):
1021        * WebView/WebResource.mm:
1022        (-[WebResource _initWithData:URL:response:]):
1023
10242009-06-26  Alexey Proskuryakov  <ap@webkit.org>
1025
1026        Reviewed by Sam Weinig.
1027
1028        <rdar://problem/6651201> Update lookalike character list.
1029
1030        * Misc/WebNSURLExtras.mm: (isLookalikeCharacter): Added more characters to the list.
1031
10322009-06-25  Anders Carlsson  <andersca@apple.com>
1033
1034        Reviewed by Oliver Hunt.
1035
1036        <rdar://problem/6989017>
1037        REGRESSION (SnowLeopard): RealPlayer content replays when opening a new tab or switching back to the RealPlayer tab
1038
1039        If a plug-in fails in NPP_New, we would try to recreate it whenever the preferences for a web view would change.
1040
1041        Fix this by setting a flag when we fail to instantiate the plug-in, so we only try once.
1042
1043        * Plugins/WebBaseNetscapePluginView.h:
1044        * Plugins/WebBaseNetscapePluginView.mm:
1045        (-[WebBaseNetscapePluginView start]):
1046
10472009-06-25  Chris Marrin  <cmarrin@apple.com>
1048
1049        Reviewed by Simon Fraser  <simon.fraser@apple.com>.
1050
1051        https://bugs.webkit.org/show_bug.cgi?id=26651
1052
1053        Preference is named "WebKitAcceleratedCompositingEnabled"
1054        and is a boolean value. When false, prevents compositing layers from
1055        being created, which prevents hardware animation from running.
1056        Also forces video to do software rendering. Added a cache for
1057        the flag in RenderLayerCompositing and made it all work
1058        on-the-fly when the flag is changed while a page is loaded.
1059
1060        * WebView/WebPreferenceKeysPrivate.h:
1061        * WebView/WebPreferences.h:
1062        * WebView/WebPreferences.mm:
1063        (+[WebPreferences initialize]):
1064        (-[WebPreferences acceleratedCompositingEnabled]):
1065        (-[WebPreferences setAcceleratedCompositingEnabled:]):
1066        * WebView/WebView.mm:
1067        (-[WebView _preferencesChangedNotification:]):
1068
10692009-06-24  Dan Bernstein  <mitz@apple.com>
1070
1071        Reviewed by Anders Carlsson.
1072
1073        Fix the most recently seen kind of crash in <rdar://problem/5983224>
1074
1075        * WebView/WebHTMLView.mm:
1076        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Null-check the
1077        Frame.
1078
10792009-06-24  Jeff Johnson  <opendarwin@lapcatsoftware.com>
1080
1081        Reviewed by Darin Adler.
1082
1083        https://bugs.webkit.org/show_bug.cgi?id=26638 WebKitErrors.m: _initWithPluginErrorCode: does not set localizedDescription
1084
1085        Add localized descriptions for plugin errors.
1086        The localized strings already existed but were unused; now NSLocalizedDescriptionKey is added to the NSError userInfo.
1087
1088        * Misc/WebKitErrors.m:
1089        (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
1090
10912009-06-23  Brady Eidson  <beidson@apple.com>
1092
1093        Reviewed by Darin Adler.
1094
1095        <rdar://problem/6950660> REGRESSION: iSale 5.5.3 crashes after I click a template to load
1096
1097        Due to some subtle WebKit changes - presumably some delegate callback behavior - a latent bug in
1098        iSale was uncovered where they aren't properly retaining their FrameLoadDelegate, and we ended up
1099        calling back to a dealloc'ed object.
1100
1101        * WebView/WebView.mm:
1102        (-[WebView _needsAdobeFrameReloadingQuirk]): Use more intelligent C++-style initialization.
1103        (-[WebView _needsKeyboardEventDisambiguationQuirks]): Ditto.
1104        (-[WebView _needsFrameLoadDelegateRetainQuirk]): YES for iSale versions under 5.6
1105        (-[WebView dealloc]): Release the delegate if the quirk is in effect.
1106        (-[WebView setFrameLoadDelegate:]): Retain the new delegate if the quirk is in effect.
1107
11082009-06-23  Anders Carlsson  <andersca@apple.com>
1109
1110        Reviewed by Darin Adler.
1111
1112        - Fix <rdar://problem/6965672>
1113
1114        Defer calls to WKPCInvalidateRect, so we don't try to invalidate while waiting for a reply, since
1115        that is too early.
1116
1117        * Plugins/Hosted/NetscapePluginHostProxy.h:
1118        (WebKit::NetscapePluginHostProxy::isProcessingRequests):
1119        * Plugins/Hosted/NetscapePluginHostProxy.mm:
1120        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
1121        (WebKit::NetscapePluginHostProxy::processRequests):
1122        (WKPCInvalidateRect):
1123
11242009-06-22  Timothy Hatcher  <timothy@apple.com>
1125
1126        Add Mail on Tiger and Leopard to the list of applications that need the WebView init thread workaround.
1127
1128        <rdar://problem/6929524> Console shows WebKit Threading Violations from Mail
1129
1130        Reviewed by Anders Carlsson.
1131
1132        * WebView/WebView.mm:
1133        (clientNeedsWebViewInitThreadWorkaround): Return true for com.apple.Mail.
1134
11352009-06-22  Dan Bernstein  <mitz@apple.com>
1136
1137        Reviewed by Anders Carlsson.
1138
1139        - speculative fix for <rdar://problem/6889082>
1140          Crash at -[WebHTMLView(WebPrivate) _updateMouseoverWithEvent:]
1141
1142        The crash seems to happen because lastHitView points to a deleted
1143        object. Since -close calls -_clearLastHitViewIfSelf, I speculate that
1144        lastHitView has been set to an already-closed view.
1145
1146        * WebView/WebHTMLView.mm:
1147        (-[WebHTMLView hitTest:]): Return nil if the view is closed.
1148
11492009-06-22  Alexey Proskuryakov  <ap@webkit.org>
1150
1151        Reviewed by John Sullivan.
1152
1153        <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
1154        Japanese can't be input.
1155
1156        * WebView/WebHTMLView.mm: (-[WebHTMLView _updateSelectionForInputManager]): Removed an
1157        unnecessary check - the function has an early return for null frame.
1158
11592009-06-22  Dan Bernstein  <mitz@apple.com>
1160
1161        Reviewed by Dave Hyatt.
1162
1163        - fix <rdar://problem/6990938> REGRESSION (r42787): After showing and
1164          hiding the Find banner, the WebHTMLView's height is not restored
1165
1166        * WebView/WebFrameView.mm:
1167        (-[WebFrameView setFrameSize:]): Mark the FrameView for layout when the
1168        WebFrameView's size changes.
1169        * WebView/WebView.mm:
1170        (-[WebView setFrameSize:]): Left the resize logic here, but only for
1171        the single view model.
1172
11732009-06-20  Darin Adler  <darin@apple.com>
1174
1175        Reviewed by Sam Weinig.
1176
1177        <rdar://problem/6964221> Need more processing of pluginspage.
1178
1179        * WebCoreSupport/WebFrameLoaderClient.mm:
1180        (WebFrameLoaderClient::createPlugin): Check protocolInHTTPFamily.
1181
11822009-06-18  Adam Barth  <abarth@webkit.org>
1183
1184        Reviewed by Sam Weinig.
1185
1186        https://bugs.webkit.org/show_bug.cgi?id=26199
1187
1188        Added preference to enable the XSSAuditor.
1189
1190        * WebView/WebPreferenceKeysPrivate.h:
1191        * WebView/WebPreferences.mm:
1192        (+[WebPreferences initialize]):
1193        (-[WebPreferences isXSSAuditorEnabled]):
1194        (-[WebPreferences setXSSAuditorEnabled:]):
1195        * WebView/WebPreferencesPrivate.h:
1196        * WebView/WebView.mm:
1197        (-[WebView _preferencesChangedNotification:]):
1198
11992009-06-18  Anders Carlsson  <andersca@apple.com>
1200
1201        Reviewed by Sam Weinig.
1202
1203        <rdar://problem/6926859>
1204        NPN_ConvertPoint doesn't give the right value when converting to/from NPCoordinateSpaceFlippedScreen
1205
1206        When inverting Y, use the height of the first screen instead of the screen the window is on.
1207
1208        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1209        (WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
1210        (WebKit::NetscapePluginInstanceProxy::mouseEvent):
1211        * Plugins/WebBaseNetscapePluginView.mm:
1212        (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
1213
12142009-06-16  Simon Fraser  <simon.fraser@apple.com>
1215
1216        Reviewed by Dan Bernstein
1217
1218        <rdar://problem/6976766> Control-click on pages with accelerated compositing
1219        content does not work.
1220
1221        Part deux. #ifdef the use of _private->layerHostingView with
1222        USE(ACCELERATED_COMPOSITING)
1223
1224        * WebView/WebHTMLView.mm:
1225        (-[WebHTMLView hitTest:]):
1226
12272009-06-16  Simon Fraser  <simon.fraser@apple.com>
1228
1229        Reviewed by Dan Bernstein
1230
1231        <rdar://problem/6976766> Control-click on pages with accelerated compositing
1232        content does not work.
1233
1234        Remove the WebLayerHostingView subclass of NSView, with its attempts to
1235        forward events to the WebHTMLView, and just fix -[WebHTMLView hitTest:]
1236        to ignore the layerHostingView.
1237
1238        * WebView/WebHTMLView.mm:
1239        (-[WebHTMLView hitTest:]):
1240        (-[WebHTMLView attachRootLayer:]):
1241
12422009-06-15  Simon Fraser  <simon.fraser@apple.com>
1243
1244        Reviewed by Mark Rowe.
1245
1246        <rdar://problem/6974857>
1247
1248        Define ENABLE_3D_RENDERING when building on 10.6, and move ENABLE_3D_RENDERING
1249        switch from config.h to wtf/Platform.h.
1250
1251        * Configurations/FeatureDefines.xcconfig:
1252        * WebKitPrefix.h:
1253
12542009-06-15  Anders Carlsson  <andersca@apple.com>
1255
1256        Reviewed by Dan Bernstein.
1257
1258        <rdar://problem/6967569>
1259        CrashTracer: 15 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostManager::didCreateWindow + 85
1260
1261        Make sure to remove the entry from the plug-in host map so we won't end up with an entry that has a null value.
1262
1263        * Plugins/Hosted/NetscapePluginHostManager.mm:
1264        (WebKit::NetscapePluginHostManager::hostForPackage):
1265
12662009-06-15  Dan Bernstein  <mitz@apple.com>
1267
1268        Reviewed by Tim Hatcher.
1269
1270        - make the source code font in the Web Inspector match Mac defaults
1271
1272        * WebCoreSupport/WebInspectorClient.mm:
1273        (-[WebInspectorWindowController init]): Set the default monospace font
1274        to 11px Menlo, except on Leopard and Tiger where it is 10px Monaco.
1275
12762009-06-09  Justin Garcia  <justin.garcia@apple.com>
1277
1278        Reviewed by Eric Seidel.  Landed by Adam Barth.
1279
1280        https://bugs.webkit.org/show_bug.cgi?id=26281
1281
1282        REGRESSION: Copying from TextEdit/OmniGraffle and pasting into editable
1283        region loses images
1284
1285        Prefer RTFD (RTF with inline images) over RTF.  In
1286        http://trac.webkit.org/changeset/19745 I accidently reversed their
1287        order.
1288
1289        * WebView/WebHTMLView.mm:
1290        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
1291
12922009-06-13  Adam Barth  <abarth@webkit.org>
1293
1294        Reviewed by Darin Fisher.
1295
1296        https://bugs.webkit.org/show_bug.cgi?id=24492
1297
1298        Move registerURLSchemeAsLocal from FrameLoader to SecurityOrigin
1299
1300        * WebView/WebView.mm:
1301        (+[WebView registerURLSchemeAsLocal:]):
1302
13032009-06-12  Peter Kasting  <pkasting@google.com>
1304
1305        Reviewed by Eric Seidel.
1306
1307        * ChangeLog-2007-10-14: Change pseudonym "Don Gibson" to me (was used while Google Chrome was not public); update my email address.
1308
13092009-06-08  Dan Bernstein  <mitz@apple.com>
1310
1311        Rubber-stamped by Mark Rowe.
1312
1313        - gave Objective-C++ files the .mm extension
1314
1315        * Carbon/HIWebView.m: Removed.
1316        * Carbon/HIWebView.mm: Copied from WebKit/mac/Carbon/HIWebView.m.
1317        * Misc/WebKitNSStringExtras.m: Removed.
1318        * Misc/WebKitNSStringExtras.mm: Copied from WebKit/mac/Misc/WebKitNSStringExtras.m.
1319        * Misc/WebStringTruncator.m: Removed.
1320        * Misc/WebStringTruncator.mm: Copied from WebKit/mac/Misc/WebStringTruncator.m.
1321        * WebInspector/WebNodeHighlight.m: Removed.
1322        * WebInspector/WebNodeHighlight.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlight.m.
1323        * WebInspector/WebNodeHighlightView.m: Removed.
1324        * WebInspector/WebNodeHighlightView.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlightView.m.
1325        * WebView/WebDynamicScrollBarsView.m: Removed.
1326        * WebView/WebDynamicScrollBarsView.mm: Copied from WebKit/mac/WebView/WebDynamicScrollBarsView.m.
1327
13282009-06-05  David Hyatt  <hyatt@apple.com>
1329
1330        Reviewed by Mark Rowe.
1331
1332        https://bugs.webkit.org/show_bug.cgi?id=26220
1333
1334        Update a WebView's active state when it moves to a different window.
1335
1336        * WebView/WebView.mm:
1337        (-[WebView viewDidMoveToWindow]):
1338
13392009-06-04  Sam Weinig  <sam@webkit.org>
1340
1341        Reviewed by Alice Liu.
1342
1343        Move WebView internal data into WebViewData.h/mm.
1344
1345        * WebView/WebDelegateImplementationCaching.mm:
1346        * WebView/WebView.mm:
1347        * WebView/WebViewData.h: Copied from mac/WebView/WebViewInternal.h.
1348        * WebView/WebViewData.mm: Copied from mac/WebView/WebViewInternal.mm.
1349        * WebView/WebViewInternal.h:
1350        * WebView/WebViewInternal.mm: Removed.
1351
13522009-06-04  David Hyatt  <hyatt@apple.com>
1353
1354        Reviewed by Sam Weinig.
1355
1356        Remove _updateFocusedStateForFrame, since it's actually not even necessary now that I made
1357        setFocusedFrame get called explicitly from become/ResignFirstResponder.  setFocusedFrame does
1358        the work of focusing the selection already.
1359
1360        * WebCoreSupport/WebFrameLoaderClient.mm:
1361        (WebFrameLoaderClient::transitionToCommittedForNewPage):
1362        * WebView/WebHTMLView.mm:
1363        (-[WebHTMLView becomeFirstResponder]):
1364        (-[WebHTMLView resignFirstResponder]):
1365        * WebView/WebView.mm:
1366        * WebView/WebViewInternal.h:
1367
13682009-06-04  Dan Bernstein  <mitz@apple.com>
1369
1370        - build fix
1371
1372        * WebView/WebViewInternal.mm:
1373
13742009-06-03  David Hyatt  <hyatt@apple.com>
1375
1376        Reviewed by Sam Weinig.
1377
1378        Reworking of focus and active state updating for WebHTMLViews so that it actually works instead of reporting wrong answers.
1379
1380        * WebCoreSupport/WebFrameLoaderClient.mm:
1381        (WebFrameLoaderClient::transitionToCommittedForNewPage):
1382        WebHTMLViews become first responders before they are able to reach their Frames/Pages.  This happens because the NSClipView
1383        becomes first responder when the WebHTMLView gets destroyed, and then we transfer the responder state back to the new WebHTMLView
1384        when it is first connected.  Once we have transitioned to a new page and have the Frame/Page available, go ahead and explicitly
1385        focus the frame in WebCore and update our focused state.  This change allows us to remove the updateFocusedActive timer and the
1386        code from viewDidMoveToWindow.
1387
1388        * WebView/WebHTMLView.mm:
1389        (-[WebHTMLView close]):
1390        (-[WebHTMLView addWindowObservers]):
1391        (-[WebHTMLView viewWillMoveToWindow:]):
1392        (-[WebHTMLView viewDidMoveToWindow]):
1393        (-[WebHTMLView _removeWindowObservers]):
1394        Remove all the updateFocusedActiveState timer code, since it no longer exists.
1395
1396        (-[WebHTMLView windowDidBecomeKey:]):
1397        (-[WebHTMLView windowDidResignKey:]):
1398        Active state updating is no longer done by WebHTMLViews.   It is handled by the WebView instead.
1399
1400        (-[WebHTMLView becomeFirstResponder]):
1401        (-[WebHTMLView resignFirstResponder]):
1402        Reworking of WebHTMLView's code for gaining/losing responder status.  No longer update active state here, since the active state
1403        can never change just because of responder changes.  Make sure that the focused frame gets updated properly (and most importantly
1404        actually cleared when a WebHTMLView resigns responder status).
1405
1406        * WebView/WebHTMLViewInternal.h:
1407        * WebView/WebHTMLViewPrivate.h:
1408        State updating for focused and active states has been made independent.
1409
1410        * WebView/WebView.mm:
1411        (-[WebView _updateActiveState]):
1412        WebView now handles updating of active state in _updateActiveState.  It is now purely based off whether the window is key and nothing
1413        else.
1414
1415        (-[WebView addWindowObserversForWindow:]):
1416        (-[WebView removeWindowObservers]):
1417        Start listening for the window becoming/losing key even in the usesDocumentViews case.
1418
1419        (-[WebView _updateFocusedStateForFrame:]):
1420        Focused state updating is split into its own method now and called when WebHTMLViews gain and lose responder status.
1421
1422        (-[WebView _windowDidBecomeKey:]):
1423        (-[WebView _windowDidResignKey:]):
1424        Make sure to call _updateActiveState as the window gains/loses key.
1425
1426        (-[WebView _windowWillOrderOnScreen:]):
1427        Run this code now that WebHTMLView no longer does it.
1428
1429        * WebView/WebViewInternal.h:
1430        * WebView/WebViewPrivate.h:
1431        Updating for the split of focused and active state updating into separate methods.
1432
14332009-06-04  Mark Rowe  <mrowe@apple.com>
1434
1435        Speculative Tiger build fix.
1436
1437        * WebView/WebDelegateImplementationCaching.h:
1438
14392009-06-03  Sam Weinig  <sam@webkit.org>
1440
1441        Reviewed by Mark Rowe.
1442
1443        Move delegate implementation caching logic into its own files.
1444
1445        * WebView/WebDelegateImplementationCaching.h: Copied from mac/WebView/WebViewInternal.h.
1446        * WebView/WebDelegateImplementationCaching.mm: Copied from mac/WebView/WebView.mm.
1447        (WebViewGetResourceLoadDelegateImplementations):
1448        (WebViewGetFrameLoadDelegateImplementations):
1449        (WebViewGetScriptDebugDelegateImplementations):
1450        * WebView/WebView.mm:
1451        * WebView/WebViewInternal.h:
1452
14532009-06-03  Sam Weinig  <sam@webkit.org>
1454
1455        Reviewed by Mark Rowe.
1456
1457        Move WebViewPrivate structure to WebViewInternal.h/mm.
1458
1459        * WebView/WebView.mm:
1460        * WebView/WebViewInternal.h:
1461        * WebView/WebViewInternal.mm: Added.
1462        (+[WebViewPrivate initialize]):
1463        (-[WebViewPrivate init]):
1464        (-[WebViewPrivate dealloc]):
1465        (-[WebViewPrivate finalize]):
1466
14672009-06-03  Sam Weinig  <sam@webkit.org>
1468
1469        Reviewed by Darin Adler.
1470
1471        Small cleanup in WebView.
1472        - Move global data initialization to WebView's initialization method.
1473        - Move _clearViewUpdateRunLoopObserver from WebViewPrivate to WebView (FileInternal)
1474
1475        * WebView/WebView.mm:
1476        (-[WebViewPrivate init]): Remove global initializers.
1477        (-[WebViewPrivate dealloc]): Cleanup whitespace.
1478        (-[WebViewPrivate finalize]): Ditto.
1479        (-[WebView _close]): Call [self _clearViewUpdateRunLoopObserver] instead of
1480        [_private _clearViewUpdateRunLoopObserver]
1481        (+[WebView initialize]): Move global initializers here.
1482        (-[WebView _clearViewUpdateRunLoopObserver]): Moved from WebViewPrivate.
1483        (viewUpdateRunLoopObserverCallBack): Call [self _clearViewUpdateRunLoopObserver]
1484        instead of [_private _clearViewUpdateRunLoopObserver]
1485
14862009-06-03  Dan Bernstein  <mitz@apple.com>
1487
1488        Reviewed by Anders Carlsson.
1489
1490        - WebKit part of eliminating WebCoreTextRenderer
1491
1492        * Misc/WebKitNSStringExtras.m:
1493        (webkit_CGCeiling): Added.
1494        (-[NSString _web_drawAtPoint:font:textColor:]): Replaced the malloc()ed
1495            string buffer with a Vector. Moved code from
1496            WebCoreDrawTextAtPoint() to here.
1497        (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]):
1498        (-[NSString _web_widthWithFont:]): Replaced the malloc()ed string buffer
1499            with a Vector. Moved code from WebCoreTextFloatWidth() to here.
1500        * WebView/WebHTMLView.mm:
1501        (-[WebHTMLView _addToStyle:fontA:fontB:]): Replaced call to
1502            WebCoreFindFont() with use of
1503            +[WebFontCache fontWithFamily:traits:weight:size:].
1504        * WebView/WebView.mm:
1505        (+[WebView _setAlwaysUsesComplexTextCodePath:]): Changed to call
1506            Font::setCodePath() directly.
1507        (+[WebView _setShouldUseFontSmoothing:]): Changed to call
1508            Font::setShouldUseSmoothing().
1509        (+[WebView _shouldUseFontSmoothing]): Changed to call
1510            Font::shouldUseSmoothing().
1511
15122009-06-03  Dan Bernstein  <mitz@apple.com>
1513
1514        Rubber-stamped by Mark Rowe.
1515
1516        - remove a private method that was used only by Safari 3.0.
1517
1518        * WebView/WebView.mm: Removed +_minimumRequiredSafariBuildNumber.
1519        * WebView/WebViewPrivate.h: Ditto.
1520
15212009-06-03  Dan Bernstein  <mitz@apple.com>
1522
1523        - build fix
1524
1525        * WebView/WebHTMLView.mm:
1526
15272009-06-03  Dan Bernstein  <mitz@apple.com>
1528
1529        Reviewed by Anders Carlsson.
1530
1531        - build fix
1532
1533        * WebView/WebHTMLView.mm:
1534        * WebView/WebView.mm:
1535
15362009-06-02  Darin Adler  <darin@apple.com>
1537
1538        Reviewed by David Hyatt.
1539
1540        Bug 26112: viewless WebKit -- make events work
1541        https://bugs.webkit.org/show_bug.cgi?id=26112
1542
1543        One change here is to make the -[WebFrame frameView] function assert if ever called
1544        in viewless mode, and fix many callers that would trip that assertion.
1545
1546        A major change is to put some methods and data in WebView that are currently in
1547        WebHTMLView, used only in viewless mode. A next step will be to use the WebView
1548        methods whenever possible, even when not in the viewless mode.
1549
1550        Also fix FrameView to do normal reference counting instead of a strange model with
1551        an explicit deref near creation time.
1552
1553        * WebCoreSupport/WebChromeClient.mm:
1554        (WebChromeClient::scrollRectIntoView): Add code to start in the appropriate place
1555        when dealing with viewless mode. This gets triggered when visiting the Google home page.
1556        (WebChromeClient::setToolTip): Changed to call WebView instead of WebHTMLView.
1557        (WebChromeClient::print): Changed to use a new selector that doesn't require a
1558        WebFrameView if present. Also don't even try to use the old selector in viewless mode.
1559
1560        * WebCoreSupport/WebEditorClient.mm:
1561        (WebEditorClient::respondToChangedSelection): Changed to call WebView instead of WebHTMLView.
1562
1563        * WebCoreSupport/WebFrameLoaderClient.mm:
1564        (WebFrameLoaderClient::transitionToCommittedForNewPage): Added more code paths for
1565        viewless mode to skip things we can't do in that mode, with appropriate FIXME.
1566        Use Frame::create and RefPtr and eliminate the strange reference counting of FrameView.
1567
1568        * WebView/WebDataSource.mm:
1569        (-[WebDataSource _receivedData:]): Added a _usesDocumentViews guard around code that's
1570        specific to document views.
1571
1572        * WebView/WebFrame.mm:
1573        (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Added a _usesDocumentViews
1574        guard around code that's specific to document views.
1575        (-[WebFrame _hasSelection]): Added an implementation for viewless mode.
1576        (-[WebFrame _clearSelection]): Assert we're not in viewless mode; it doesn't really
1577        make sense to clear the selection in only one frame in viewless mode. Later we can
1578        decide what to do.
1579        (-[WebFrame _dragSourceMovedTo:]): Assert we're not in viewless mode; the dragging
1580        code for viewless mode shouldn't have to involve the WebFrame object at all.
1581        (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
1582        (-[WebFrame frameView]): Assert we're not in viewless mode. This assertion fires
1583        often, but it's a great pointer to code that needs to be changed.
1584
1585        * WebView/WebHTMLView.mm:
1586        (-[WebHTMLView hitTest:]): Tweaked a comment.
1587        (-[WebHTMLView _updateMouseoverWithEvent:]): Fixed a bug where the fake event for
1588        moving the mouse out of the old view ended up overwriting the event for moving
1589        the mouse within the new view.
1590        (-[WebHTMLView mouseDown:]): Got rid of explicit conversion of event to
1591        PlatformMouseEvent in call to sendContextMenuEvent; that's no longer possible
1592        without passing another argument, and it's now handled in EventHandler.
1593
1594        * WebView/WebTextCompletionController.h: Copied from WebKit/mac/WebView/WebHTMLView.mm.
1595        Removed everything except for the WebTextCompletionController class.
1596        * WebView/WebTextCompletionController.mm: Copied from WebKit/mac/WebView/WebHTMLView.mm.
1597        Ditto.
1598
1599        * WebView/WebUIDelegatePrivate.h: Added webView:printFrame: method.
1600
1601        * WebView/WebView.mm: Moved includes and fields in from WebHTMLView.
1602        (-[WebView _usesDocumentViews]): Updated for name change from useDocumentViews
1603        to usesDocumentViews.
1604        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Ditto.
1605        (-[WebView drawSingleRect:]): Ditto.
1606        (-[WebView isFlipped]): Ditto.
1607        (-[WebView setFrameSize:]): Ditto. Also changed to use _mainCoreFrame method.
1608        (-[WebView _viewWillDrawInternal]): Ditto.
1609        (-[WebView viewWillDraw]): Ditto.
1610        (-[WebView drawRect:]): Ditto.
1611        (-[WebView _close]): Added code to nil out the lastMouseoverView global.
1612        (-[WebView _dashboardRegions]): Use _mainCoreFrame.
1613        (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
1614        (-[WebView _setInViewSourceMode:]): Ditto.
1615        (-[WebView _inViewSourceMode]): Ditto.
1616        (-[WebView _attachScriptDebuggerToAllFrames]): Ditto.
1617        (-[WebView _detachScriptDebuggerFromAllFrames]): Ditto.
1618        (-[WebView textIteratorForRect:]): Ditto.
1619        (-[WebView _executeCoreCommandByName:value:]): Ditto.
1620        (-[WebView addWindowObserversForWindow:]): Ditto.
1621        (-[WebView removeWindowObservers]): Ditto.
1622        (-[WebView _updateFocusedAndActiveState]): Ditto.
1623        (-[WebView _updateFocusedAndActiveStateForFrame:]): Turned into a class method.
1624        Added code to handle the viewless case without calling frameView.
1625        (-[WebView _windowDidBecomeKey:]): Updated for name change from useDocumentViews
1626        to usesDocumentViews.
1627        (-[WebView _windowDidResignKey:]): Ditto.
1628        (-[WebView _windowWillOrderOnScreen:]): Ditto.
1629        (-[WebView mainFrame]): Tweaked.
1630        (-[WebView selectedFrame]): Added a conditional to avoid trying to get at the
1631        frame view in viewless case.
1632        (-[WebView _setZoomMultiplier:isTextOnly:]): Use _mainCoreFrame.
1633        (-[WebView setCustomTextEncodingName:]): Ditto.
1634        (-[WebView windowScriptObject]): Ditto.
1635        (-[WebView setHostWindow:]): Ditto. Also put some code that's needed only for
1636        document views inside _private->usesDocumentViews.
1637        (-[WebView _hitTest:dragTypes:]): Tweaked.
1638        (-[WebView acceptsFirstResponder]): Added case for viewless mode along with a
1639        FIXME, since it's not complete.
1640        (-[WebView becomeFirstResponder]): Ditto.
1641        (-[WebView _webcore_effectiveFirstResponder]): Put the body of this inside
1642        a usesDocumentView check, because we don't need the first responder forwarding
1643        in viewless mode.
1644        (-[WebView setNextKeyView:]): Ditto.
1645        (-[WebView mouseDown:]): Added. Copied from WebHTMLView. FIXME in here suggests
1646        that we make WebHTMLView share this one soon, which I think is practical.
1647        (-[WebView mouseUp:]): Ditto.
1648        (-[WebView setHoverFeedbackSuspended:]): Added a code path for viewless mode.
1649        (-[WebView shouldClose]): Use _mainCoreFrame.
1650        (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
1651        (-[WebView setEditable:]): Ditto.
1652        (-[WebView _frameViewAtWindowPoint:]): Added an assertion that we're not in
1653        viewless mode since this method makes no sense in that mode.
1654        (-[WebView _setMouseDownEvent:]): Added. Copied from WebHTMLView. I plan to
1655        eliminate the one in WebHTMLView soon.
1656        (-[WebView _cancelUpdateMouseoverTimer]): Ditto.
1657        (-[WebView _stopAutoscrollTimer]): Ditto.
1658        (+[WebView _updateMouseoverWithEvent:]): Ditto.
1659        (-[WebView _updateMouseoverWithFakeEvent]): Ditto.
1660        (-[WebView _setToolTip:]): Added. Calls through to the WebHTMLView version.
1661        (-[WebView _selectionChanged]): Ditto.
1662        (-[WebView _mainCoreFrame]): Added.
1663        (-[WebView _needsOneShotDrawingSynchronization]): Moved into the WebInternal
1664        category.
1665        (-[WebView _setNeedsOneShotDrawingSynchronization:]): Ditto.
1666        (-[WebView _startedAcceleratedCompositingForFrame:]): Ditto.
1667        (-[WebView _stoppedAcceleratedCompositingForFrame:]): Ditto.
1668        (viewUpdateRunLoopObserverCallBack): Ditto.
1669        (-[WebView _scheduleViewUpdate]): Ditto.
1670
1671        * WebView/WebViewInternal.h: Made most of the file not compile at all when
1672        included from non-C++ source files, elminating some excess declarations and
1673        typedefs. Moved more methods into the real internal category. Added new
1674        methods _setMouseDownEvent, _cancelUpdateMouseoverTimer, _stopAutoscrollTimer,
1675        _updateMouseoverWithFakeEvent, _selectionChanged, and _setToolTip:.
1676
16772009-06-02  Mark Rowe  <mrowe@apple.com>
1678
1679        Reviewed by Anders Carlsson.
1680
1681        Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
1682
1683        * Configurations/Base.xcconfig:
1684
16852009-06-01  Darin Adler  <darin@apple.com>
1686
1687        * WebView/WebTextCompletionController.mm: Fix Tiger build by adding import
1688        of WebTypesInternal.h.
1689
16902009-06-01  Darin Adler  <darin@apple.com>
1691
1692        Reviewed by Maciej Stachowiak.
1693
1694        Bug 26113: break WebTextCompletionController out into its own source file
1695        https://bugs.webkit.org/show_bug.cgi?id=26113
1696
1697        * WebView/WebHTMLView.mm:
1698        (-[WebHTMLViewPrivate dealloc]): Updated for new name.
1699        (-[WebHTMLViewPrivate clear]): Ditto.
1700        (-[WebHTMLView _frameOrBoundsChanged]): Ditto.
1701        (-[WebHTMLView menuForEvent:]): Ditto.
1702        (-[WebHTMLView windowDidResignKey:]): Ditto.
1703        (-[WebHTMLView windowWillClose:]): Ditto.
1704        (-[WebHTMLView mouseDown:]): Ditto.
1705        (-[WebHTMLView resignFirstResponder]): Ditto.
1706        (-[WebHTMLView keyDown:]): Ditto.
1707        (-[WebHTMLView complete:]): Ditto. Also pass WebView to init method.
1708        (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Ditto.
1709
1710        * WebView/WebTextCompletionController.h: Copied from mac/WebView/WebHTMLView.mm.
1711        * WebView/WebTextCompletionController.mm: Copied from mac/WebView/WebHTMLView.mm.
1712        Changed initializer to pass in a spearate WebView and WebHTMLView, to smooth the
1713        way for handling viewless mode properly in the future.
1714
17152009-05-30  David Kilzer  <ddkilzer@apple.com>
1716
1717        Add JSLock to -[WebScriptCallFrame scopeChain]
1718
1719        Reviewed by Darin Adler.
1720
1721        In Debug builds of WebKit, Dashcode launching MobileSafari could
1722        cause the ASSERT(JSLock::lockCount() > 0) assertion to fire in
1723        JSC::Heap::heapAllocate() because the JSLock wasn't taken.
1724
1725        * WebView/WebScriptDebugDelegate.mm:
1726        (-[WebScriptCallFrame scopeChain]): Take JSLock before calling
1727        into JavaScriptCore.
1728
17292009-05-28  Mark Rowe  <mrowe@apple.com>
1730
1731        Rubber-stamped by Dan Bernstein.
1732
1733        Build fix.  Move off a deprecated NSFileManager method.
1734
1735        * Misc/WebNSFileManagerExtras.h:
1736        * Misc/WebNSFileManagerExtras.m:
1737        (-[NSFileManager destinationOfSymbolicLinkAtPath:error:]): Implement a new-in-Leopard method for Tiger to use.
1738        (-[NSFileManager attributesOfItemAtPath:error:]): Ditto.
1739        * Plugins/WebNetscapePluginPackage.mm:
1740        (-[WebNetscapePluginPackage _initWithPath:]): Use the new non-deprecated methods.
1741
17422009-05-28  Dirk Schulze  <krit@webkit.org>
1743
1744        Reviewed by Nikolas Zimmermann.
1745
1746        Added new build flag --filters. More details in WebCore/ChangeLog.
1747
1748        * Configurations/FeatureDefines.xcconfig:
1749
17502009-05-27  Alexey Proskuryakov  <ap@webkit.org>
1751
1752        Reviewed by Darin Adler.
1753
1754        https://bugs.webkit.org/show_bug.cgi?id=26009
1755        <rdar://problem/6925656> REGRESSION (r43973): Problems While Working With OpenVanilla
1756
1757        * WebView/WebHTMLView.mm:
1758        (-[WebHTMLView _updateSelectionForInputManager]): Don't call updateWindows if the selection
1759        is None. This routinely happens during editing, and it doesn't mean that we left an editable
1760        area (in which case the selection changes to a non-editable one).
1761
17622009-05-26  Sam Weinig  <sam@webkit.org>
1763
1764        Reviewed by Brady Eidson.
1765
1766        Fix for <rdar://problem/6916371>
1767        iWeb 'Announce' button does nothing after publishing to MobileMe
1768
1769        Add linked-on-or-after check to allow older WebKit apps to use the
1770        old behavior of sniffing everything (including file: urls)
1771
1772        * Misc/WebKitVersionChecks.h:
1773        * WebView/WebView.mm:
1774        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
1775
17762009-05-26  Stephanie Lewis  <slewis@apple.com>
1777
1778        Reviewed by Ada Chan and Oliver Hunt.
1779
1780        Remove WebView observers in during fast teardown.
1781        <rdar://problem/6922619> REGRESSION (Tiger-only?): After restoring windows from the previous session, a crash occurs while attempting to quit Safari
1782
1783        * WebView/WebView.mm:
1784        (-[WebView _closeWithFastTeardown]):
1785
17862009-05-26  Anders Carlsson  <andersca@apple.com>
1787
1788        Reviewed by Dan Bernstein.
1789
1790        <rdar://problem/6901751>
1791        REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com
1792
1793        Remove WKCGContextIsSafeToClip.
1794
1795        * WebCoreSupport/WebSystemInterface.m:
1796        (InitWebCoreSystemInterface):
1797
17982009-05-26  Dan Bernstein  <mitz@apple.com>
1799
1800        Reviewed by Darin Adler.
1801
1802        - fix <rdar://problem/6922371> REGRESSION (r43973): Can't type first
1803          character with an umlaut, circumflex, or accent in Mail or in a wiki
1804
1805        * WebView/WebHTMLView.mm:
1806        (isTextInput): Moved here.
1807        (isInPasswordField): Moved here.
1808        (-[WebHTMLView becomeFirstResponder]): Update the exposeInputContext
1809        flag and let NSApplication update the input manager with the new input
1810        context if necessary.
1811        (-[WebHTMLView _updateSelectionForInputManager]): Changed to use the
1812        NSApp global instead of +[NSApplication sharedApplication].
1813
18142009-05-26  Mark Rowe  <mrowe@apple.com>
1815
1816        Fix the Tiger build.
1817
1818        * Misc/WebNSObjectExtras.mm:
1819        (-[NSInvocation _webkit_invokeAndHandleException:]): Rename the local variable so that
1820        it doesn't conflict with a member variable on Tiger.
1821
18222009-05-26  Darin Adler  <darin@apple.com>
1823
1824        Reviewed by Mark Rowe.
1825
1826        <rdar://problem/6921835> REGRESSION (r44115): Crash in Leopard Mail viewing message
1827
1828        Fix case where we autorelease an object on the main thread that we are returning
1829        to another thread when using our _webkit_invokeOnMainThread method.
1830
1831        * Misc/WebNSObjectExtras.mm:
1832        (returnTypeIsObject): Added.
1833        (-[WebMainThreadInvoker forwardInvocation:]): Autorelease the object on the calling
1834        thread, balancing a retain done on the main thread.
1835        (-[NSInvocation _webkit_invokeAndHandleException:]): Retain the object on the main
1836        thread.
1837
18382009-05-26  David Hyatt  <hyatt@apple.com>
1839
1840        Back out the workaround for Mail crashing.  Darin is working on the real fix.
1841
1842        * Misc/WebNSObjectExtras.mm:
1843        (-[WebMainThreadInvoker forwardInvocation:]):
1844
18452009-05-26  David Hyatt  <hyatt@apple.com>
1846
1847        Reviewed by Darin Adler.
1848
1849        Fix for https://bugs.webkit.org/show_bug.cgi?id=25969.
1850
1851        Stop using notifications for boundsChanged, since the notifications are being sent too late.
1852        Since subviews get resized before parents do, the notification comes in telling the WebHTMLView
1853        that its size has changed *before* we've done setNeedsLayout in the WebView size change callback.
1854
1855        Become more like the Windows platform and just do the bounds changed immediately as our size is
1856        being altered by subclassing setFrameSize in WebView.
1857
1858        Also patch WebDynamicScrollbarsView to detect the case where neither axis is really spilling out
1859        past the viewport, so that in shrinking situations we figure out that we don't need scrollbars
1860        any more.
1861
1862        * WebView/WebDynamicScrollBarsView.m:
1863        (-[WebDynamicScrollBarsView updateScrollers]):
1864        * WebView/WebView.mm:
1865        (-[WebView _boundsChangedToNewSize:]):
1866        (-[WebView setFrameSize:]):
1867        (-[WebView viewWillMoveToWindow:]):
1868        (-[WebView viewDidMoveToWindow]):
1869
18702009-05-25  Anders Carlsson  <andersca@apple.com>
1871
1872        Reviewed by Sam Weinig.
1873
1874        - WebKit side of <rdar://problem/6914001>.
1875
1876        * Plugins/Hosted/NetscapePluginHostManager.h:
1877        * Plugins/Hosted/NetscapePluginHostManager.mm:
1878        (WebKit::NetscapePluginHostManager::didCreateWindow):
1879        Iterate over all plug-in hosts. If one is in full-screen mode, make sure to activate the
1880        WebKit app instead.
1881
1882        * Plugins/Hosted/NetscapePluginHostProxy.h:
1883        (WebKit::NetscapePluginHostProxy::isMenuBarVisible):
1884        Add getter.
1885
1886        * Plugins/Hosted/NetscapePluginHostProxy.mm:
1887        (WKPCEvaluate):
1888        Add allowPopups flag.
1889
1890        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1891        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1892        (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
1893        (WebKit::NetscapePluginInstanceProxy::PluginRequest::allowPopups):
1894        (WebKit::NetscapePluginInstanceProxy::loadURL):
1895        (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
1896        (WebKit::NetscapePluginInstanceProxy::loadRequest):
1897        (WebKit::NetscapePluginInstanceProxy::evaluate):
1898        Use "allowPopups" instead of "userGesture".
1899
1900        * Plugins/Hosted/WebKitPluginClient.defs:
1901        Add allowPopups argument to Evaluate.
1902
1903        * Plugins/Hosted/WebKitPluginHostTypes.h:
1904        Use "allowPopups" instead of "userGesture".
1905
1906        * WebCoreSupport/WebChromeClient.mm:
1907        (WebChromeClient::createWindow):
1908        Call didCreateWindow here.
1909
1910        * WebCoreSupport/WebFrameLoaderClient.mm:
1911        (WebFrameLoaderClient::dispatchCreatePage):
1912        Ditto.
1913
19142009-05-25  Anders Carlsson  <andersca@apple.com>
1915
1916        Reviewed by Sam Weinig.
1917
1918        - Fix <rdar://problem/6915849>.
1919
1920        Release the placeholder window after -[NSApplication runModalForWindow] returns.
1921
1922        * Plugins/Hosted/NetscapePluginHostProxy.mm:
1923        (WebKit::NetscapePluginHostProxy::beginModal):
1924        (WebKit::NetscapePluginHostProxy::endModal):
1925
19262009-05-24  Dan Bernstein  <mitz@apple.com>
1927
1928        - revert an accidental change from r43964.
1929
1930        * WebView/WebView.mm:
1931        (+[WebView _setShouldUseFontSmoothing:]):
1932
19332009-05-24  Darin Adler  <darin@apple.com>
1934
1935        Reviewed by Dan Bernstein and Tim Hatcher.
1936
1937        <rdar://problem/6913045> New console message spewed by automator CLI after installing JetstreamLeo40B21a
1938
1939        * Misc/WebNSObjectExtras.mm:
1940        (-[WebMainThreadInvoker initWithTarget:]): Tweaked argument name.
1941        (-[WebMainThreadInvoker forwardInvocation:]): Removed call to retainArguments.
1942        This was unneeded and in the case of a newly created but not yet fully initialized
1943        NSView object it caused the abovementioned bug.
1944        (-[WebMainThreadInvoker handleException:]): Tweaked argument name. Added assertion.
1945        (-[NSInvocation _webkit_invokeAndHandleException:]): Tweaked name of local variable
1946        that holds the exception.
1947
19482009-05-23  David Kilzer  <ddkilzer@apple.com>
1949
1950        Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
1951
1952        <https://bugs.webkit.org/show_bug.cgi?id=25495>
1953
1954        Reviewed by Oliver Hunt.
1955
1956        * History/WebHistory.mm:
1957        (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Return
1958        0 instead of an empty auto_ptr<>.
1959        * History/WebHistoryItem.mm:
1960        (-[WebHistoryItem initFromDictionaryRepresentation:]): Use
1961        OwnPtr<> instead of auto_ptr<> for stack variable.
1962        * WebCoreSupport/WebChromeClient.h:
1963        (WebChromeClient::createHTMLParserQuirks): Return a PassOwnPtr<>
1964        instead of a raw HTMLParserQuirks pointer.
1965
19662009-05-23  David Kilzer  <ddkilzer@apple.com>
1967
1968        Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
1969
1970        <https://bugs.webkit.org/show_bug.cgi?id=25495>
1971
1972        Reviewed by Oliver Hunt.
1973
1974        * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
1975        * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
1976
19772009-05-22  Darin Adler  <darin@apple.com>
1978
1979        Reviewed by Dan Bernstein.
1980
1981        - Fix <rdar://problem/6913765> REGRESSION (r42331-r42334): Extra scroll
1982          bars appearing on Welcome panels of iLife '09 apps
1983
1984        * WebView/WebView.mm:
1985        (needsUnwantedScrollBarWorkaround): Added. Checks if this is a panel
1986        where scroll bars are unwanted. For safety, limited to only Apple applications.
1987        (-[WebView viewDidMoveToWindow]): If the workaround is needed, disallow
1988        scrolling the main frame. This prevents scroll bars from appearing.
1989
19902009-05-22  Adam Barth  <abarth@webkit.org>
1991
1992        Reviewed by Maciej Stachowiak.
1993
1994        https://bugs.webkit.org/show_bug.cgi?id=25955
1995
1996        Remove the policyBaseURL parameter from setCookie.  This parameter is
1997        redudant with the document parameter.
1998
1999        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2000        (WebKit::NetscapePluginInstanceProxy::setCookies):
2001        * Plugins/WebNetscapePluginView.mm:
2002        (-[WebNetscapePluginView setVariable:forURL:value:length:]):
2003
20042009-05-21  Darin Fisher  <darin@chromium.org>
2005
2006        Fix-up coding style.
2007
2008        * WebCoreSupport/WebEditorClient.mm:
2009        (WebEditorClient::getAutoCorrectSuggestionForMisspelledWord):
2010
20112009-05-20  Siddhartha Chattopadhyaya  <sidchat@google.com>
2012
2013        Reviewed by Justin Garcia.
2014
2015        Add automatic spell correction support in WebKit
2016
2017        https://bugs.webkit.org/show_bug.cgi?id=24953
2018
2019        * WebCoreSupport/WebEditorClient.h:
2020        * WebCoreSupport/WebEditorClient.mm:
2021        (WebEditorClient::getAutoCorrectSuggestionForMisspelledWord):
2022
20232009-05-21  Alexey Proskuryakov  <ap@webkit.org>
2024
2025        Reviewed by Darin Adler.
2026
2027        <rdar://problem/6907542> REGRESSION (r43143): Hang in RenderLineBoxList::dirtyLinesFromChangedChild
2028        when clicking link to load Flash animation (http://www.roambi.com)
2029
2030        * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection):
2031        Don't call -[NSApplication updateWindows] here, WebHTMLView can take care of this.
2032
2033        * WebView/WebHTMLView.mm:
2034        (-[WebHTMLView inputContext]): Use a precomputed boolean stored in WebHTMLViewPrivate, as
2035        calling isTextInput() is not always safe.
2036        (-[WebHTMLView textStorage]): Ditto.
2037        (-[WebHTMLView _updateSelectionForInputManager]): Update _private->exposeInputContext when
2038        selection changes, and let AppKit update its cache if necessary.
2039
20402009-05-21  Alexey Proskuryakov  <ap@webkit.org>
2041
2042        Reviewed by Darin Adler.
2043
2044        <rdar://problem/5579292> REGRESSION (2-3): "Default default" encoding for Korean changed
2045        from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
2046
2047        * WebView/WebPreferences.mm:
2048       (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Update the existing fix
2049       for the changed result of CFStringConvertEncodingToIANACharSetName().
2050
20512009-05-21  Alexey Proskuryakov  <ap@webkit.org>
2052
2053        Reviewed by Darin Adler.
2054
2055        <rdar://problem/6883758> REGRESSION (r43143): First character typed with input method does
2056        not go into inline hole (seen with Chinese & Kotoeri on top Chinese website www.baidu.com)
2057
2058        * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection):
2059        Call -[NSApplication updateWindows] to make AppKit re-fetch the input context when selection
2060        changes. Since we use SelectionController to check whether the view is editable, it is
2061        important not to re-fetch the context too early, e.g. from a focus changed notification.
2062
20632009-05-21  Eric Seidel  <eric@webkit.org>
2064
2065        Reviewed by Alexey Proskuryakov.
2066
2067        Rename DragController::dragOperation() to sourceDragOperation() for clarity
2068
2069        * WebView/WebHTMLView.mm:
2070        (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
2071
20722009-05-21  Dan Bernstein  <mitz@apple.com>
2073
2074        Reviewed by Anders Carlsson.
2075
2076        - WebKit part of <rdar://problem/6901751> REGRESSION (r35515): Tiger
2077          crash painting the selection on registration page of car2go.com
2078
2079        * WebCoreSupport/WebSystemInterface.m:
2080        (InitWebCoreSystemInterface): Added CGContextIsSafeToClip.
2081
20822009-05-20  Stephanie Lewis  <slewis@apple.com>
2083
2084        Update the order files.  <rdar://problem/6881750> Generate new order files.
2085
2086        * WebKit.order:
2087
20882009-05-20  Brady Eidson  <beidson@apple.com>
2089
2090        Reviewed by Darin Adler.
2091
2092        <rdar://problem/6905336> REGRESSION: "Clear History" does not save empty history to disk
2093
2094        * History/WebHistory.mm:
2095        (-[WebHistoryPrivate data]): If there are no entries, return an empty NSData instead of nil.
2096
20972009-05-20  Anders Carlsson  <andersca@apple.com>
2098
2099        Reviewed by Darin Adler and Kevin Decker.
2100
2101        WebKit side of <rdar://problem/6895072>
2102
2103        Pass the localization as a launch property.
2104
2105        * Plugins/Hosted/NetscapePluginHostManager.mm:
2106        (WebKit::NetscapePluginHostManager::spawnPluginHost):
2107
21082009-05-20  Dan Bernstein  <mitz@apple.com>
2109
2110        - fix the build after r43918
2111
2112        * WebCoreSupport/WebChromeClient.h:
2113        (WebChromeClient::setCursor):
2114
21152009-05-20  Darin Adler  <darin@apple.com>
2116
2117        Reviewed by John Sullivan.
2118
2119        <rdar://problem/4023899> Shift-Tab skips key views in toolbar in Safari, although Tab
2120        iterates through them properly
2121
2122        * WebView/WebView.mm:
2123        (-[WebView previousValidKeyView]): Work around a bug in -[NSView previousValidKeyView].
2124
21252009-05-19  Timothy Hatcher  <timothy@apple.com>
2126
2127        Add a new private API method that will dispatch pending loads that have been scheduled
2128        because of recent DOM additions or style changes.
2129
2130        <rdar://problem/6889218> REGRESSION: Some iChat transcript resources are not
2131        loaded because willSendRequest doesn't happen immediately
2132
2133        Reviewed by Antti Koivisto.
2134
2135        * WebView/WebView.mm:
2136        (-[WebView _dispatchPendingLoadRequests]): Call Loader::servePendingRequests().
2137        * WebView/WebViewPrivate.h: Added _dispatchPendingLoadRequests.
2138
21392009-05-18  Sam Weinig  <sam@webkit.org>
2140
2141        <rdar://problem/6899044> Can't see Apple ad on nytimes.com unless I spoof the user agent
2142
2143        Add user agent hack for pointroll.com.
2144
2145        Reviewed by Steve Falkenburg.
2146
2147        * WebView/WebView.mm:
2148        (-[WebView WebCore::_userAgentForURL:WebCore::]):
2149
21502009-05-16  Anders Carlsson  <andersca@apple.com>
2151
2152        Reviewed by Sam Weinig and Dan Bernstein.
2153
2154        Fix <rdar://problem/6889644>
2155
2156        * Plugins/Hosted/NetscapePluginHostManager.mm:
2157        (WebKit::NetscapePluginHostManager::spawnPluginHost):
2158
21592009-05-16  Dan Bernstein  <mitz@apple.com>
2160
2161        - revert an accidental change from r43802.
2162
2163        * WebInspector/WebInspector.mm:
2164
21652009-05-16  Anders Carlsson  <andersca@apple.com>
2166
2167        Reviewed by Dan Bernstein.
2168
2169        <rdar://problem/6895347> Mouse wheeling in the QuickTime plug-in (incorrectly) scrolls the page
2170
2171        Fix logic. The plug-in returns true if it handled the event.
2172
2173        * Plugins/WebNetscapePluginView.mm:
2174        (-[WebNetscapePluginView sendEvent:isDrawRect:]):
2175
21762009-05-16  Dan Bernstein  <mitz@apple.com>
2177
2178        Reviewed by Alexey Proskuryakov.
2179
2180        - fix <rdar://problem/6873305> Two distinct characters are not displayed
2181          correctly with 2 of the font selections from the stickies widget
2182
2183        * WebView/WebHTMLView.mm:
2184        (-[WebHTMLView _plainTextFromPasteboard:]): Return precomposed text.
2185        This is consistent with
2186        -_documentFragmentFromPasteboard:forType:inContext:subresources:.
2187
21882009-05-15  Anders Carlsson  <andersca@apple.com>
2189
2190        Reviewed by Dan Bernstein.
2191
2192        Fix <rdar://problem/6875398>.
2193
2194        * Plugins/Hosted/NetscapePluginHostManager.mm:
2195        (WebKit::NetscapePluginHostManager::instantiatePlugin):
2196        If we failed to instantiate the plug-in, call cleanup() so that any streams created by the plug-in from its
2197        NPP_New callback are destroyed.
2198
2199        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2200        Make cleanup() public.
2201
22022009-05-15  Darin Adler  <darin@apple.com>
2203
2204        Reviewed by Anders Carlsson.
2205
2206        <rdar://problem/6889823> hash table iterator used after hash table modified in
2207        ProxyInstance::fieldNamed() when viewing movie trailer
2208
2209        * Plugins/Hosted/ProxyInstance.mm:
2210        (WebKit::ProxyInstance::methodsNamed): Move add call after the waitForReply call.
2211        Anders says that by the time we return someone else might have done the same add
2212        for us.
2213        (WebKit::ProxyInstance::fieldNamed): Ditto.
2214
22152009-05-15  Anders Carlsson  <andersca@apple.com>
2216
2217        Reviewed by Darin Adler.
2218
2219        <rdar://problem/6892055>
2220        Replace WKN_GetLocation with WKN_ResolveURL (WKN_GetLocation was confusing and did not take the base URL into account)
2221
2222        * Plugins/Hosted/NetscapePluginHostProxy.mm:
2223        (WKPCResolveURL):
2224        New MIG callback.
2225
2226        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2227        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2228        (WebKit::NetscapePluginInstanceProxy::resolveURL):
2229        Use FrameLoader::complete URL here.
2230
2231        * Plugins/Hosted/WebKitPluginClient.defs:
2232        Add new MIG definition.
2233
2234        * Plugins/WebBaseNetscapePluginView.h:
2235        * Plugins/WebBaseNetscapePluginView.mm:
2236        (-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]):
2237        * Plugins/WebNetscapeContainerCheckPrivate.h:
2238        * Plugins/WebNetscapeContainerCheckPrivate.mm:
2239        (browserContainerCheckFuncs):
2240        * Plugins/WebNetscapePluginView.h:
2241        * Plugins/WebNetscapePluginView.mm:
2242        (-[WebNetscapePluginView resolveURL:forTarget:]):
2243        * Plugins/npapi.mm:
2244        (WKN_ResolveURL):
2245
22462009-05-15  Dan Bernstein  <mitz@apple.com>
2247
2248        Reviewed by Darin Adler.
2249
2250        - fix <rdar://problem/6892052> WebTextIterator should not “emit
2251          characters between all visible positions”
2252
2253        * WebView/WebTextIterator.mm:
2254        (-[WebTextIterator initWithRange:]): Changed to construct a TextIterator
2255        with emitCharactersBetweenAllVisiblePositions set to false.
2256
22572009-05-15  Mark Rowe  <mrowe@apple.com>
2258
2259        Reviewed by Dave Kilzer.
2260
2261        Look for libWebKitSystemInterface.a in a more reasonable location.
2262
2263        * Configurations/DebugRelease.xcconfig:
2264
22652009-05-14  David Hyatt  <hyatt@apple.com>
2266
2267        Reviewed by Tim Hatcher.
2268
2269        Fix for <rdar://problem/6886217> REGRESSION (S4 beta-ToT): Adium chat window contents no longer resize.
2270
2271        Technically this is a bug in Adium.  It appears that Adium has subclassed the WebView and implemented
2272        viewDidMoveToWindow in its subclass improperly.  It doesn't call up to the base class WebView like it
2273        should and so our boundsChanged notification never gets added.
2274
2275        Reduce the dependence on viewDidMoveToWindow by moving the registration of observers into
2276        viewWillMoveToWindow instead.
2277
2278        * WebView/WebView.mm:
2279        (-[WebView addSizeObserversForWindow:]):
2280        (-[WebView removeWindowObservers]):
2281        (-[WebView addWindowObserversForWindow:]):
2282        (-[WebView viewWillMoveToWindow:]):
2283        (-[WebView viewDidMoveToWindow]):
2284        (-[WebView viewDidMoveToSuperview]):
2285
22862009-05-14  David Levin  <levin@chromium.org>
2287
2288        Reviewed by Eric Seidel.
2289
2290        https://bugs.webkit.org/show_bug.cgi?id=24704
2291
2292        Allow the local cache directory to be set using a defaults key.
2293
2294        * Misc/WebKitNSStringExtras.h:
2295        * Misc/WebKitNSStringExtras.m:
2296        (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
2297        * WebKit.exp:
2298
22992009-05-14  Darin Adler  <darin@apple.com>
2300
2301        Reviewed by Adam Roben.
2302
2303        <rdar://problem/6879999> Automator actions that use WebKit on a background thread fail when run outside of Automator
2304
2305        * WebView/WebView.mm:
2306        (clientNeedsWebViewInitThreadWorkaround): Added. Contains new broader rule.
2307        (needsWebViewInitThreadWorkaround): Changed to call clientNeedsWebViewInitThreadWorkaround.
2308
23092009-05-14  Darin Adler  <darin@apple.com>
2310
2311        Reviewed by John Sullivan.
2312
2313        Bug 24049: Second right-click crashes safari when alert invoked
2314        https://bugs.webkit.org/show_bug.cgi?id=24049
2315        rdar://problem/6878977
2316
2317        * WebView/WebHTMLView.mm:
2318        (-[WebHTMLView rightMouseUp:]): Added a retain/autorelease of the event.
2319        (-[WebHTMLView menuForEvent:]): Ditto. Also cleaned up the logic here and
2320        eliminated some use of pointers that might be invalid after calling through
2321        to WebCore.
2322        (-[WebHTMLView scrollWheel:]): Ditto.
2323        (-[WebHTMLView acceptsFirstMouse:]): Ditto.
2324        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Ditto.
2325        (-[WebHTMLView mouseDown:]): Ditto.
2326        (-[WebHTMLView mouseDragged:]): Ditto.
2327        (-[WebHTMLView mouseUp:]): Ditto.
2328        (-[WebHTMLView keyDown:]): Ditto.
2329        (-[WebHTMLView keyUp:]): Ditto.
2330        (-[WebHTMLView flagsChanged:]): Ditto.
2331        (-[WebHTMLView performKeyEquivalent:]): Ditto.
2332
23332009-05-14  Mark Rowe  <mrowe@apple.com>
2334
2335        Rubber-stamped by Darin Adler.
2336
2337        <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
2338
2339        The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
2340        Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
2341        if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
2342
2343        * Configurations/Base.xcconfig:
2344
23452009-05-13  Anders Carlsson  <andersca@apple.com>
2346
2347        Reviewed by Sam Weinig.
2348
2349        WebKit side of <rdar://problem/6884476>.
2350
2351        * Plugins/Hosted/NetscapePluginHostProxy.mm:
2352        (WKPCGetLocation):
2353        Forward this to the plug-in instance proxy.
2354
2355        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2356        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2357        (WebKit::NetscapePluginInstanceProxy::getLocation):
2358        Ask the plug-in view for the location.
2359
2360        * Plugins/Hosted/WebKitPluginClient.defs:
2361        Add MIG definition.
2362
2363        * Plugins/WebBaseNetscapePluginView.h:
2364        * Plugins/WebBaseNetscapePluginView.mm:
2365        (-[WebBaseNetscapePluginView locationStringForTarget:]):
2366        Return the URL for a given frame.
2367
2368        * Plugins/WebNetscapeContainerCheckPrivate.h:
2369        Bump version. Add new declaration to the vtable.
2370
2371        * Plugins/WebNetscapeContainerCheckPrivate.mm:
2372        (browserContainerCheckFuncs):
2373        Add new declaration to the vtable.
2374
2375        * Plugins/WebNetscapePluginView.h:
2376        * Plugins/WebNetscapePluginView.mm:
2377        (-[WebNetscapePluginView locationForTarget:]):
2378        Call the base class method.
2379
2380        * Plugins/npapi.mm:
2381        (WKN_GetLocation):
2382        Forward this to the plug-in view.
2383
23842009-05-13  Douglas R. Davidson  <ddavidso@apple.com>
2385
2386        Reviewed by Darin Adler.
2387
2388        <rdar://problem/6871587> Smart Copy/Paste setting should persist as continuous
2389        spell checking setting does
2390
2391        * WebView/WebPreferenceKeysPrivate.h: Added WebSmartInsertDeleteEnabled.
2392
2393        * WebView/WebView.mm:
2394        (-[WebViewPrivate init]): Initialize based on WebSmartInsertDeleteEnabled
2395        default.
2396        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2397        Removed code that initialized here.
2398        (-[WebView setSmartInsertDeleteEnabled:]): Set default here was with
2399        continuous spell checking setting.
2400
24012009-05-13  Darin Adler  <darin@apple.com>
2402
2403        Revert the parser arena change. It was a slowdown, not a speedup.
2404        Better luck next time (I'll break it up into pieces).
2405
24062009-05-13  Darin Adler  <darin@apple.com>
2407
2408        Reviewed by Cameron Zwarich.
2409
2410        Bug 25674: syntax tree nodes should use arena allocation
2411        https://bugs.webkit.org/show_bug.cgi?id=25674
2412
2413        * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Updated includes.
2414        New ones needed due to reducing includes of JSDOMBinding.h.
2415        * WebView/WebScriptDebugger.mm: Ditto.
2416
24172009-05-13  Douglas R. Davidson  <ddavidso@apple.com>
2418
2419        Reviewed by Darin Adler.
2420
2421        <rdar://problem/6879145>
2422        Generate a contextual menu item allowing autocorrections to
2423        easily be changed back.  Refrain from re-correcting items
2424        that have already been autocorrected once.
2425
2426        * WebCoreSupport/WebViewFactory.mm:
2427        (-[WebViewFactory contextMenuItemTagChangeBack:]):
2428        * WebView/WebUIDelegatePrivate.h:
2429
24302009-05-12  Anders Carlsson  <andersca@apple.com>
2431
2432        Reviewed by Dan Bernstein.
2433
2434        Fix <rdar://problem/6878105>.
2435
2436        When instantiating the QT plug-in under Dashboard, force "kiosk mode".
2437
2438        * Plugins/WebBaseNetscapePluginView.mm:
2439        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
2440
24412009-05-12  Dan Bernstein  <mitz@apple.com>
2442
2443        Reviewed by Darin Adler.
2444
2445        - declare a forgotten method
2446
2447        * DOM/WebDOMOperationsPrivate.h: Declare -[DOMNode markupString] in the
2448        WebDOMNodeOperationsPendingPublic category.
2449
24502009-05-10  Alexey Proskuryakov  <ap@webkit.org>
2451
2452        Reviewed by Dan Bernstein.
2453
2454        <rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page
2455
2456        * Misc/WebDownload.m: Removed.
2457        * Misc/WebDownload.mm: Copied from WebKit/mac/Misc/WebDownload.m.
2458        (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Try to use
2459        credentials from WebCore storage.
2460
24612009-05-08  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2462
2463        Not reviewed. Fix clean builds, forgot to land name() -> formControlName() rename patch in WebKit. Only landed the WebCore side.
2464
2465        * WebView/WebHTMLRepresentation.mm:
2466        (-[WebHTMLRepresentation elementWithName:inForm:]):
2467
24682009-05-08  Anders Carlsson  <andersca@apple.com>
2469
2470        Reviewed by Kevin Decker.
2471
2472        - Fix <rdar://problem/6866712>.
2473
2474        Instead of just caching whether a plug-in object _has_ a field or method, also add an entry to the cache
2475        if it _doesn't_ have a certain field or method. This way we have to make fewer calls to the plug-in host.
2476
2477        * Plugins/Hosted/ProxyInstance.mm:
2478        (WebKit::ProxyInstance::methodsNamed):
2479        (WebKit::ProxyInstance::fieldNamed):
2480
24812009-05-08  Douglas R. Davidson  <ddavidso@apple.com>
2482
2483        Reviewed by Darin Adler.
2484
2485        Fixes for <rdar://problem/6852771>.
2486        Disable text checking menu items if view is not editable.
2487
2488        * WebView/WebHTMLView.mm:
2489        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
2490        (-[WebHTMLView smartInsertDeleteEnabled]):
2491        (-[WebHTMLView setSmartInsertDeleteEnabled:]):
2492        (-[WebHTMLView toggleSmartInsertDelete:]):
2493        * WebView/WebHTMLViewInternal.h:
2494
24952009-05-08  Alexey Proskuryakov  <ap@webkit.org>
2496
2497        Reviewed by Maciej Stachowiak.
2498
2499        <rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials
2500
2501        * Plugins/WebBaseNetscapePluginView.mm: (WebKit::getAuthenticationInfo): Ask WebCore for
2502        credentials first (but also ask NSURLCredentialStorage, because WebCore won't know about
2503        permanent credentials).
2504
25052009-05-05  Ben Murdoch  <benm@google.com>
2506
2507        Reviewed by Eric Seidel.
2508
2509        Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds.
2510        https://bugs.webkit.org/show_bug.cgi?id=24776
2511
2512        * Storage/WebDatabaseManager.mm:
2513        * Storage/WebDatabaseManagerInternal.h:
2514        * Storage/WebDatabaseManagerPrivate.h:
2515        * Storage/WebDatabaseTrackerClient.h:
2516        * Storage/WebDatabaseTrackerClient.mm:
2517        * Storage/WebSecurityOrigin.mm:
2518        (-[WebSecurityOrigin usage]):
2519        (-[WebSecurityOrigin quota]):
2520        (-[WebSecurityOrigin setQuota:]):
2521        * Storage/WebSecurityOriginPrivate.h:
2522        * WebCoreSupport/WebChromeClient.h:
2523        * WebCoreSupport/WebChromeClient.mm:
2524        * WebView/WebView.mm:
2525        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2526
25272009-05-04  Anders Carlsson  <andersca@apple.com>
2528
2529        Reviewed by Kevin Decker.
2530
2531        Fix <rdar://problem/6797644>.
2532
2533        Make sure to send a reply even when an instance proxy can't be found.
2534
2535        * Plugins/Hosted/NetscapePluginHostProxy.mm:
2536        (WKPCEvaluate):
2537        (WKPCInvoke):
2538        (WKPCInvokeDefault):
2539        (WKPCGetProperty):
2540        (WKPCHasProperty):
2541        (WKPCHasMethod):
2542        (WKPCEnumerate):
2543
25442009-05-04  Darin Adler  <darin@apple.com>
2545
2546        Reviewed by Eric Seidel.
2547
2548        Bug 24924: remove Document.h include of Attr.h and HTMLCollection.h,
2549        and NamedMappedAttrMap.h include of MappedAttribute.h
2550        https://bugs.webkit.org/show_bug.cgi?id=24924
2551
2552        * WebView/WebFrame.mm: Added include of CSSMutableStyleDeclaration.h
2553        and ScriptValue.h.
2554
25552009-05-02  Geoffrey Garen  <ggaren@apple.com>
2556
2557        Reviewed by Sam Weinig.
2558
2559        Simplified null-ish JSValues.
2560
2561        Replaced calls to noValue() with calls to JSValue() (which is what
2562        noValue() returned). Removed noValue().
2563
2564        Removed "JSValue()" initialiazers, since default construction happens...
2565        by default.
2566
2567        * WebView/WebScriptDebugDelegate.mm:
2568        (-[WebScriptCallFrame evaluateWebScript:]):
2569
25702009-05-02  Alexey Proskuryakov  <ap@webkit.org>
2571
2572        Reviewed by Dan Bernstein.
2573
2574        <rdar://problem/6741615> REGRESSION (r38629): Shortcut "Flag/Junk" in MobileMe does not work
2575        when Kotoeri is used.
2576
2577        * WebView/WebHTMLView.mm: (-[WebHTMLView inputContext]): Return a nil input context when
2578        focus is not in editable content.
2579
25802009-05-01  Geoffrey Garen  <ggaren@apple.com>
2581
2582        Rubber Stamped by Sam Weinig.
2583
2584        Renamed JSValuePtr => JSValue.
2585
2586        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2587        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2588        (WebKit::NetscapePluginInstanceProxy::evaluate):
2589        (WebKit::NetscapePluginInstanceProxy::invoke):
2590        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
2591        (WebKit::NetscapePluginInstanceProxy::construct):
2592        (WebKit::NetscapePluginInstanceProxy::getProperty):
2593        (WebKit::NetscapePluginInstanceProxy::setProperty):
2594        (WebKit::NetscapePluginInstanceProxy::hasMethod):
2595        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
2596        (WebKit::NetscapePluginInstanceProxy::marshalValue):
2597        (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
2598        (WebKit::NetscapePluginInstanceProxy::demarshalValue):
2599        (WebKit::NetscapePluginInstanceProxy::demarshalValues):
2600        * Plugins/Hosted/ProxyInstance.h:
2601        * Plugins/Hosted/ProxyInstance.mm:
2602        (WebKit::ProxyField::valueFromInstance):
2603        (WebKit::ProxyField::setValueToInstance):
2604        (WebKit::ProxyInstance::invoke):
2605        (WebKit::ProxyInstance::invokeMethod):
2606        (WebKit::ProxyInstance::invokeDefaultMethod):
2607        (WebKit::ProxyInstance::invokeConstruct):
2608        (WebKit::ProxyInstance::defaultValue):
2609        (WebKit::ProxyInstance::stringValue):
2610        (WebKit::ProxyInstance::numberValue):
2611        (WebKit::ProxyInstance::booleanValue):
2612        (WebKit::ProxyInstance::valueOf):
2613        (WebKit::ProxyInstance::fieldValue):
2614        (WebKit::ProxyInstance::setFieldValue):
2615        * WebView/WebFrame.mm:
2616        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2617        * WebView/WebScriptDebugDelegate.mm:
2618        (-[WebScriptCallFrame _convertValueToObjcValue:]):
2619        (-[WebScriptCallFrame exception]):
2620        (-[WebScriptCallFrame evaluateWebScript:]):
2621        * WebView/WebView.mm:
2622        (aeDescFromJSValue):
2623        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2624
26252009-05-01  Pavel Feldman  <pfeldman@chromium.org>
2626
2627        Reviewed by Timothy Hatcher.
2628
2629        Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.
2630
2631        https://bugs.webkit.org/show_bug.cgi?id=25347
2632
2633        * WebCoreSupport/WebFrameLoaderClient.h:
2634        * WebCoreSupport/WebFrameLoaderClient.mm:
2635        (WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
2636
26372009-04-30  David Kilzer  <ddkilzer@apple.com>
2638
2639        Provide a mechanism to create a quirks delegate for HTMLParser
2640
2641        Reviewed by David Hyatt.
2642
2643        * WebCoreSupport/WebChromeClient.h:
2644        (WebChromeClient::createHTMLParserQuirks): Added.  The default
2645        implementation of this factory method returns 0.
2646
26472009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
2648
2649        Reviewed by Timothy Hatcher.
2650
2651        https://bugs.webkit.org/show_bug.cgi?id=25470
2652        Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
2653
2654        * Configurations/FeatureDefines.xcconfig: Added ENABLE_JAVASCRIPT_DEBUGGER define.
2655
26562009-04-30  Kevin Decker  <kdecker@apple.com>
2657
2658        Reviewed by Anders Carlson.
2659
2660        <rdar://problem/6823049>
2661
2662        Fix an issue where some plug-ins would cause the application icon to constantly bounce
2663        up and down in the Dock.
2664
2665        * Plugins/Hosted/NetscapePluginHostProxy.h: Change m_placeholderWindow ivar to be
2666        a subclass of NSWindow, WebPlaceholderModalWindow.
2667        * Plugins/Hosted/NetscapePluginHostProxy.mm:  Added WebPlaceholderModalWindow NSWindow subclass.
2668        (-[WebPlaceholderModalWindow _wantsUserAttention]): Prevent NSApp from calling requestUserAttention:
2669         when the window is shown modally, even if the app is inactive.
2670        (WebKit::NetscapePluginHostProxy::beginModal): NSWindow -> WebPlaceholderModalWindow.
2671
26722009-04-30  Pavel Feldman  <pfeldman@chromium.org>
2673
2674        Reviewed by Dimitri Glazkov.
2675
2676        https://bugs.webkit.org/show_bug.cgi?id=25342
2677        Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole.
2678
2679        * WebCoreSupport/WebChromeClient.h:
2680        * WebCoreSupport/WebChromeClient.mm:
2681        (WebChromeClient::addMessageToConsole):
2682
26832009-04-29  Mark Rowe  <mrowe@apple.com>
2684
2685        More build fixing after r43037.
2686
2687        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2688        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2689        (WebKit::NetscapePluginInstanceProxy::invoke):
2690        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
2691        (WebKit::NetscapePluginInstanceProxy::construct):
2692        (WebKit::NetscapePluginInstanceProxy::demarshalValues):
2693
26942009-04-29  Dan Bernstein  <mitz@apple.com>
2695
2696        Reviewed by Simon Fraser.
2697
2698        - WebKit part of <rdar://problem/6609509> Select All and then Delete
2699          should put Mail editing back into the same state as a new message
2700
2701        * WebView/WebView.mm:
2702        (-[WebView _selectionIsCaret]): Added.
2703        (-[WebView _selectionIsAll]): Added. Returns whether the selection
2704        encompasses the entire document.
2705        * WebView/WebViewPrivate.h:
2706
27072009-04-29  Douglas Davidson  <ddavidso@apple.com>
2708
2709        Reviewed by Justin Garcia.
2710
2711        <rdar://problem/6836921> Mail exhibits issues with text checking, e.g. menu items not always validated correctly
2712
2713        * WebView/WebHTMLView.mm:
2714        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
2715        (-[WebHTMLView orderFrontSubstitutionsPanel:]):
2716        * WebView/WebView.mm:
2717        (-[WebView validateUserInterfaceItemWithoutDelegate:]):
2718
27192009-04-29  David Hyatt  <hyatt@apple.com>
2720
2721        Reviewed by Dan Bernstein.
2722
2723        Fix a bug in the bounds checking for setNeedsLayout dirtying when a WebView's size changes.  The superview
2724        of the WebView was being incorrectly checked instead of the WebView itself.
2725
2726        * WebView/WebView.mm:
2727        (-[WebView _boundsChanged]):
2728
27292009-04-29  Kevin Decker  <kdecker@apple.com>
2730
2731        Reviewed by Anders Carlson.
2732
2733        Allow WKN_CheckIfAllowedToLoadURL() to take an optional void* context parameter.
2734
2735        * Plugins/WebNetscapeContainerCheckContextInfo.h:
2736        * Plugins/WebNetscapeContainerCheckContextInfo.mm:
2737        (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
2738        (-[WebNetscapeContainerCheckContextInfo callback]):
2739        (-[WebNetscapeContainerCheckContextInfo context]):
2740        * Plugins/WebNetscapeContainerCheckPrivate.h:
2741        * Plugins/WebNetscapeContainerCheckPrivate.mm:
2742        (browserContainerCheckFuncs):
2743        * Plugins/WebNetscapePluginView.h:
2744        * Plugins/WebNetscapePluginView.mm:
2745        (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
2746        (-[WebNetscapePluginView _containerCheckResult:contextInfo:]):
2747        * Plugins/npapi.mm:
2748        (WKN_CheckIfAllowedToLoadURL):
2749
27502009-04-29  David Hyatt  <hyatt@apple.com>
2751
2752        Reviewed by John Sullivan.
2753
2754        Fix for <rdar://problem/6835573>, Find Banner turns invisible when WebView is resized.  Make sure
2755        not to resize the interior views of a WebView in response to its bounds changing when not using
2756        viewless WebKit.  Auto-resizing rules were already in place to handle size adjustments for us.
2757        Just mark as needing layout and do nothing else.
2758
2759        This does mean viewless WebKit is broken with the Find Banner, and that will likely require a
2760        Safari change (using a new API that will enable clients to define the edges of the content area as offsets
2761        from the sides of the WebView).
2762
2763        * WebView/WebView.mm:
2764        (-[WebView _boundsChanged]):
2765
27662009-04-28  Geoffrey Garen  <ggaren@apple.com>
2767
2768        Rubber stamped by Beth Dakin.
2769
2770        Removed scaffolding supporting dynamically converting between 32bit and
2771        64bit value representations.
2772
2773        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2774        (WebKit::NetscapePluginInstanceProxy::marshalValues):
2775
27762009-04-28  Anders Carlsson  <andersca@apple.com>
2777
2778        Reviewed by Kevin Decker and Darin Adler.
2779
2780        Fix <rdar://problem/6836132>.
2781
2782        * Plugins/Hosted/NetscapePluginHostProxy.mm:
2783        (WKPCCheckIfAllowedToLoadURL):
2784        Call the instance proxy.
2785
2786        (WKPCCancelCheckIfAllowedToLoadURL):
2787        Ditto.
2788
2789        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2790        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2791        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
2792        Initialize the check ID counter.
2793
2794        (WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURL):
2795        Create a WebPluginContainerCheck, add it to the map, and start it.
2796
2797        (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
2798        Remove the check from the map.
2799
2800        (WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURLResult):
2801        Call the WKPH MIG callback.
2802
2803        * Plugins/Hosted/WebHostedNetscapePluginView.h:
2804        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2805        (-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
2806        Call the instance proxy.
2807
2808        (-[WebHostedNetscapePluginView _containerCheckResult:contextInfo:]):
2809        Ditto.
2810
2811        * Plugins/Hosted/WebKitPluginClient.defs:
2812        * Plugins/Hosted/WebKitPluginHost.defs:
2813        Add MIG declarations.
2814
28152009-04-28  Dan Bernstein  <mitz@apple.com>
2816
2817        Reviewed by John Sullivan.
2818
2819        - fix <rdar://problem/6786360> Make PDF an insertable pasteboard type
2820
2821        * WebCoreSupport/WebPasteboardHelper.mm:
2822        (WebPasteboardHelper::insertablePasteboardTypes):
2823        * WebView/WebHTMLView.mm:
2824        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
2825        (+[WebHTMLView _insertablePasteboardTypes]):
2826        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
2827
28282009-04-27  Douglas R. Davidson  <ddavidso@apple.com>
2829
2830        Add the various switches and context menu items needed for
2831        <rdar://problem/6724106> WebViews need to implement text checking
2832        and adopt updatePanels in place of old SPI _updateGrammar.
2833
2834        Reviewed by Justin Garcia.
2835
2836        * WebCoreSupport/WebContextMenuClient.mm:
2837        (fixMenusReceivedFromOldClients):
2838        * WebCoreSupport/WebEditorClient.h:
2839        * WebCoreSupport/WebEditorClient.mm:
2840        (WebEditorClient::uppercaseWord):
2841        (WebEditorClient::lowercaseWord):
2842        (WebEditorClient::capitalizeWord):
2843        (WebEditorClient::showSubstitutionsPanel):
2844        (WebEditorClient::substitutionsPanelIsShowing):
2845        (WebEditorClient::toggleSmartInsertDelete):
2846        (WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
2847        (WebEditorClient::toggleAutomaticQuoteSubstitution):
2848        (WebEditorClient::isAutomaticLinkDetectionEnabled):
2849        (WebEditorClient::toggleAutomaticLinkDetection):
2850        (WebEditorClient::isAutomaticDashSubstitutionEnabled):
2851        (WebEditorClient::toggleAutomaticDashSubstitution):
2852        (WebEditorClient::isAutomaticTextReplacementEnabled):
2853        (WebEditorClient::toggleAutomaticTextReplacement):
2854        (WebEditorClient::isAutomaticSpellingCorrectionEnabled):
2855        (WebEditorClient::toggleAutomaticSpellingCorrection):
2856        (WebEditorClient::checkTextOfParagraph):
2857        * WebCoreSupport/WebViewFactory.mm:
2858        (-[WebViewFactory contextMenuItemTagShowColors]):
2859        (-[WebViewFactory contextMenuItemTagCorrectSpellingAutomatically]):
2860        (-[WebViewFactory contextMenuItemTagSubstitutionsMenu]):
2861        (-[WebViewFactory contextMenuItemTagShowSubstitutions:]):
2862        (-[WebViewFactory contextMenuItemTagSmartCopyPaste]):
2863        (-[WebViewFactory contextMenuItemTagSmartQuotes]):
2864        (-[WebViewFactory contextMenuItemTagSmartDashes]):
2865        (-[WebViewFactory contextMenuItemTagSmartLinks]):
2866        (-[WebViewFactory contextMenuItemTagTextReplacement]):
2867        (-[WebViewFactory contextMenuItemTagTransformationsMenu]):
2868        (-[WebViewFactory contextMenuItemTagMakeUpperCase]):
2869        (-[WebViewFactory contextMenuItemTagMakeLowerCase]):
2870        (-[WebViewFactory contextMenuItemTagCapitalize]):
2871        * WebView/WebHTMLView.mm:
2872        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
2873        (-[WebHTMLView isAutomaticQuoteSubstitutionEnabled]):
2874        (-[WebHTMLView setAutomaticQuoteSubstitutionEnabled:]):
2875        (-[WebHTMLView toggleAutomaticQuoteSubstitution:]):
2876        (-[WebHTMLView isAutomaticLinkDetectionEnabled]):
2877        (-[WebHTMLView setAutomaticLinkDetectionEnabled:]):
2878        (-[WebHTMLView toggleAutomaticLinkDetection:]):
2879        (-[WebHTMLView isAutomaticDashSubstitutionEnabled]):
2880        (-[WebHTMLView setAutomaticDashSubstitutionEnabled:]):
2881        (-[WebHTMLView toggleAutomaticDashSubstitution:]):
2882        (-[WebHTMLView isAutomaticTextReplacementEnabled]):
2883        (-[WebHTMLView setAutomaticTextReplacementEnabled:]):
2884        (-[WebHTMLView toggleAutomaticTextReplacement:]):
2885        (-[WebHTMLView isAutomaticSpellingCorrectionEnabled]):
2886        (-[WebHTMLView setAutomaticSpellingCorrectionEnabled:]):
2887        (-[WebHTMLView toggleAutomaticSpellingCorrection:]):
2888        * WebView/WebHTMLViewInternal.h:
2889        * WebView/WebPreferenceKeysPrivate.h:
2890        * WebView/WebUIDelegatePrivate.h:
2891        * WebView/WebView.mm:
2892        (-[WebViewPrivate init]):
2893        (-[WebView validateUserInterfaceItemWithoutDelegate:]):
2894        (-[WebView setGrammarCheckingEnabled:]):
2895        (-[WebView isAutomaticQuoteSubstitutionEnabled]):
2896        (-[WebView isAutomaticLinkDetectionEnabled]):
2897        (-[WebView isAutomaticDashSubstitutionEnabled]):
2898        (-[WebView isAutomaticTextReplacementEnabled]):
2899        (-[WebView isAutomaticSpellingCorrectionEnabled]):
2900        (-[WebView setAutomaticQuoteSubstitutionEnabled:]):
2901        (-[WebView toggleAutomaticQuoteSubstitution:]):
2902        (-[WebView setAutomaticLinkDetectionEnabled:]):
2903        (-[WebView toggleAutomaticLinkDetection:]):
2904        (-[WebView setAutomaticDashSubstitutionEnabled:]):
2905        (-[WebView toggleAutomaticDashSubstitution:]):
2906        (-[WebView setAutomaticTextReplacementEnabled:]):
2907        (-[WebView toggleAutomaticTextReplacement:]):
2908        (-[WebView setAutomaticSpellingCorrectionEnabled:]):
2909        (-[WebView toggleAutomaticSpellingCorrection:]):
2910        * WebView/WebViewPrivate.h:
2911
29122009-04-27  David Kilzer  <ddkilzer@apple.com>
2913
2914        Consolidate runtime application checks for Apple Mail and Safari
2915
2916        Reviewed by Mark Rowe and Darin Adler.
2917
2918        * WebCoreSupport/WebContextMenuClient.mm:
2919        (isAppleMail): Removed.
2920        (fixMenusToSendToOldClients): Switched to use
2921        applicationIsAppleMail().
2922        * WebView/WebFrame.mm:
2923        (-[WebFrame reload]): Switched to use applicationIsSafari().
2924        * WebView/WebPDFView.mm:
2925        (-[WebPDFView menuForEvent:]): Ditto.
2926        * WebView/WebResource.mm:
2927        (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]):
2928        Switched to use applicationIsAppleMail().
2929        * WebView/WebView.mm:
2930        (runningLeopardMail): Ditto.
2931        (runningTigerMail): Ditto.
2932        (-[WebView _needsKeyboardEventDisambiguationQuirks]): Switched
2933        to use applicationIsSafari().
2934
29352009-04-27  Kevin Decker  <kdecker@apple.com>
2936
2937        Fix the Tiger build.
2938
2939        * Plugins/WebNetscapePluginView.mm: The base class of WebNetscapePluginView.mm, WebBaseNetscapePluginView, already implemented
2940        the two methods below. But the Tiger compiler didn't know that.
2941        (-[WebNetscapePluginView webView]):
2942        (-[WebNetscapePluginView webFrame]):
2943
29442009-04-27  Kevin Decker  <kdecker@apple.com>
2945
2946        Reviewed by Anders Carlsson.
2947
2948        <rdar://problem/6352982>
2949
2950        * Plugins/WebBaseNetscapePluginView.mm: Removed checkIfAllowedToLoadURL:frame:callbackFunc, cancelCheckIfAllowedToLoadURL, and
2951        _webPluginContainerCancelCheckIfAllowedToLoadRequest from the base class. These methods now exist in the subclass WebNetscapePluginView.
2952
2953        Added WebNetscapeContainerCheckContextInfo, which is used as a "contextInfo" object in
2954        -[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]
2955        * Plugins/WebNetscapeContainerCheckContextInfo.h: Added.
2956        * Plugins/WebNetscapeContainerCheckContextInfo.mm: Added.
2957        (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:]): Added desiginated initializer.
2958        (-[WebNetscapeContainerCheckContextInfo checkRequestID]): Added. Returns the checkRequestID.
2959        (-[WebNetscapeContainerCheckContextInfo callback]): Added. Returns the callback.
2960
2961        * Plugins/WebNetscapePluginView.h: Added two new ivars: _containerChecksInProgress and _currentContainerCheckRequestID.
2962        * Plugins/WebNetscapePluginView.mm: #import both WebPluginContainerCheck.h and WebNetscapeContainerCheckContextInfo.h
2963
2964        (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added. This is the implementation of WKN_CheckIfAllowedToLoadURL.
2965        Here, we increment the request ID and start the container check.
2966
2967        (-[WebNetscapePluginView _containerCheckResult:contextInfo:]): Added. This is a callback method for WebPluginContainerCheck.
2968        It's where we actually call into the plug-in and provide the allow-or-deny result.
2969
2970        (-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Added. This is the implementation of WKN_CancelCheckIfAllowedToLoadURL.
2971        Here we lookup the check, cancel it, and remove it from _containerChecksInProgress.
2972
2973        (-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added. WebPluginContainerCheck automatically calls
2974        this method after invoking our _containerCheckResult: selector. It works this way because calling -[WebPluginContainerCheck cancel] allows
2975        it to do it's teardown process.
2976
2977        (-[WebNetscapePluginView fini]): Release _containerChecksInProgress ivar.
2978
2979        * Plugins/WebPluginContainerCheck.h: Removed initWithRequest: method from header; no client was using this method directly.
2980        * Plugins/WebPluginContainerCheck.mm:
2981        (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:contextInfo:]): Added optional contextInfo parameter.
2982        (-[WebPluginContainerCheck _continueWithPolicy:]): If there's a contextInfo object, pass it as a parameter to resultSelector.
2983        (-[WebPluginContainerCheck cancel]): Release _contextInfo ivar.
2984        (-[WebPluginContainerCheck contextInfo]): Added new method. Returns the contextInfo object, if one so exists.
2985        * Plugins/WebPluginController.mm:
2986        (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Pass nil for contextInfo. WebKit-style
2987        plug-ins do not need additional context information.
2988
29892009-04-25  Brady Eidson  <beidson@apple.com>
2990
2991        Reviewed by Sam Weinig
2992
2993        Some *obvious* style cleanup in my last patch.
2994
2995        * History/WebBackForwardList.mm:
2996        (bumperCarBackForwardHackNeeded):
2997
29982009-04-25  Brady Eidson  <beidson@apple.com>
2999
3000        Reviewed by Oliver Hunt
3001
3002        <rdar://problem/6817607> BumperCar 2.2 crashes going back (invalid WebHistoryItem)
3003
3004        BumperCar was holding a pointer to a WebHistoryItem they never retain, then later
3005        tried to go to it.  In some cases it would be dealloc'ed first.
3006        When WebHistoryItems were pure Objective-C they probably got away with this more often.
3007        With the WebCore/Obj-C mixed WebHistoryItems it's more likely to crash.
3008
3009        * History/WebBackForwardList.mm:
3010        (bumperCarBackForwardHackNeeded):
3011        (-[WebBackForwardList backListWithLimit:]):  If this is BumperCar, hang on to the
3012          NSArray of WebHistoryItems until the next time this method is called.
3013        (-[WebBackForwardList forwardListWithLimit:]):  Ditto.
3014
3015        * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_BUMPERCAR_BACK_FORWARD_QUIRK.
3016
30172009-04-24  Anders Carlsson  <andersca@apple.com>
3018
3019        Reviewed by Darin Adler.
3020
3021        Fix <rdar://problem/6761635>.
3022
3023        Make sure to keep an extra reference to the instance proxy in case the plug-in host crashes while
3024        we're waiting for a reply.
3025
3026        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3027        (WebKit::NetscapePluginInstanceProxy::destroy):
3028
30292009-04-24  Brady Eidson  <beidson@apple.com>
3030
3031        Reviewed by Dan Bernstein
3032
3033        Currently working on a bug where a WebHistoryItem was being used after being dealloc'ed.
3034        I added this assertion to help catch the case as soon as it happens instead of random
3035        issues downstream.  Figured it's worth checking in by itself.
3036
3037        * History/WebHistoryItem.mm:
3038        (core): ASSERT that the WebCore::HistoryItem inside this WebHistoryItem is supposed to have
3039          this WebHistoryItem as a wrapper.
3040
30412009-04-23  Beth Dakin  <bdakin@apple.com>
3042
3043        Reviewed by Darin Adler.
3044
3045        Fix for <rdar://problem/6333461> REGRESSION (r36864-r36869):
3046        Dragging stocks widget scrollbar drags the whole widget
3047
3048        Look for our new WebCore scrollbars in the WebHTMLView and add
3049        proper Dashboard regions for them.
3050
3051        * WebView/WebView.mm:
3052        (-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]):
3053        (-[WebView _addScrollerDashboardRegions:from:]):
3054
30552009-04-23  John Sullivan  <sullivan@apple.com>
3056
3057        fixed <rdar://problem/6822479> Assertion failure after Reset Safari in new history-writing code
3058
3059        Reviewed by Oliver Hunt
3060
3061        * History/WebHistory.mm:
3062        (-[WebHistoryPrivate data]):
3063        Return nil immediately if there are no entries; this matches a recent Windows-platform fix.
3064
30652009-04-23  Dimitri Glazkov  <dglazkov@chromium.org>
3066
3067        Reviewed by Darin Adler.
3068
3069        https://bugs.webkit.org/show_bug.cgi?id=25313
3070        Missing scroll bars in GMail.
3071
3072        * WebView/WebDynamicScrollBarsView.m:
3073        (-[WebDynamicScrollBarsView updateScrollers]): Added check for the ScrollbarAlwaysOn
3074            scroll mode.
3075
30762009-04-23  Kevin Decker  <kdecker@apple.com>
3077
3078        * Plugins/WebPluginContainerCheck.h: Fix the Tiger build.
3079
30802009-04-23  Anders Carlsson  <andersca@apple.com>
3081
3082        Reviewed by Geoffrey Garen.
3083
3084        Fix <rdar://problem/6821992>
3085
3086        Add a new m_inDestroy member variable. Set it to true when in destroy, and have all NPRuntime functions return false
3087        when m_inDestroy is true.
3088
3089        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3090        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3091        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
3092        (WebKit::NetscapePluginInstanceProxy::destroy):
3093        (WebKit::NetscapePluginInstanceProxy::invoke):
3094        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
3095        (WebKit::NetscapePluginInstanceProxy::construct):
3096        (WebKit::NetscapePluginInstanceProxy::getProperty):
3097        (WebKit::NetscapePluginInstanceProxy::setProperty):
3098        (WebKit::NetscapePluginInstanceProxy::removeProperty):
3099        (WebKit::NetscapePluginInstanceProxy::hasProperty):
3100        (WebKit::NetscapePluginInstanceProxy::hasMethod):
3101        (WebKit::NetscapePluginInstanceProxy::enumerate):
3102
31032009-04-23  David Hyatt  <hyatt@apple.com>
3104
3105        Reviewed by Maciej.
3106
3107        Fix for <rdar://problem/6789879> REGRESSION (42464): Hitting assertion when loading message in Mail + TOT WebKit
3108
3109        Make the Mac platform the same as all the other platforms.  Instead of (incorrectly) marking a FrameView for layout
3110        when its underlying document view changes, just mark the outermost frame view for layout when the WebView's size changes.
3111
3112        * WebView/WebHTMLView.mm:
3113        (-[WebHTMLView _frameOrBoundsChanged]):
3114        (-[WebHTMLView addSuperviewObservers]):
3115        * WebView/WebView.mm:
3116        (-[WebView _boundsChanged]):
3117        (-[WebView removeSizeObservers]):
3118        (-[WebView addSizeObservers]):
3119
31202009-04-23  Kevin Decker  <kdecker@apple.com>
3121
3122        Reviewed by Tim Hatcher.
3123
3124        Second part of the fix for <rdar://problem/6352982>
3125
3126        * Plugins/WebBaseNetscapePluginView.h: Make this class conform to WebPluginContainerCheckController
3127        * Plugins/WebBaseNetscapePluginView.mm: Likewise.
3128        (-[WebBaseNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added skeleton method.
3129        * Plugins/WebPluginContainerCheck.h: Added protocol for <WebPluginContainerCheckController>
3130        * Plugins/WebPluginContainerCheck.mm:
3131        (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]):
3132        * Plugins/WebPluginController.h: Make this class conform to WebPluginContainerCheckController
3133
31342009-04-23  Kevin Decker  <kdecker@apple.com>
3135
3136        Reviewed by Anders Carlsson.
3137
3138        First part of <rdar://problem/6352982>
3139
3140        * Plugins/WebBaseNetscapePluginView.h: Imported #WebNetscapeContainerCheckPrivate.h; Added two new method:
3141        checkIfAllowedToLoadURL:url:frame:callbackFunc: and cancelCheckIfAllowedToLoadURL:
3142        * Plugins/WebBaseNetscapePluginView.mm:
3143        (-[WebBaseNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added skeleton method, does nothing interesting
3144        yet.
3145        (-[WebBaseNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Likewise.
3146        * Plugins/WebNetscapeContainerCheckPrivate.h: Added.
3147        * Plugins/WebNetscapeContainerCheckPrivate.mm: Added.
3148        (browserContainerCheckFuncs): Added.
3149        * Plugins/WebNetscapePluginView.h: Imported #WebNetscapeContainerCheckPrivate.h;
3150        * Plugins/WebNetscapePluginView.mm: Imported #WebNetscapeContainerCheckPrivate.h; added WKN_CheckIfAllowedToLoadURL
3151        and WKN_CancelCheckIfAllowedToLoadURL functions.
3152        (-[WebNetscapePluginView getVariable:value:]): Return vtable for container check functions.
3153        * Plugins/npapi.mm:
3154        (WKN_CheckIfAllowedToLoadURL): Added new private function.
3155        (WKN_CancelCheckIfAllowedToLoadURL): Ditto.
3156
31572009-04-22  Oliver Hunt  <oliver@apple.com>
3158
3159        Reviewed by Darin Adler.
3160
3161        <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves
3162
3163        Make mouseUP forward to the root view as we do for mouseMoves and mouseDragged:.
3164
3165        * WebView/WebHTMLView.mm:
3166        (-[WebHTMLView mouseUp:]):
3167
31682009-04-22  Oliver Hunt  <oliver@apple.com>
3169
3170        Reviewed by Darin Adler.
3171
3172        <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves
3173
3174        Make mouseDragged forward to the root view as we do for mouseMoves.
3175
3176        * WebView/WebHTMLView.mm:
3177        (-[WebHTMLView mouseDragged:]):
3178
31792009-04-22  Anders Carlsson  <andersca@apple.com>
3180
3181        Reviewed by Oliver Hunt.
3182
3183        Fix <rdar://problem/6792694>
3184
3185        When we're trying to instantiate a plug-in and the plug-in host has died, we need to invalidate the
3186        instance so that it doesn't stick around and do bad things.
3187
3188        * Plugins/Hosted/NetscapePluginHostManager.mm:
3189        (WebKit::NetscapePluginHostManager::instantiatePlugin):
3190
31912009-04-22  Sam Weinig  <sam@webkit.org>
3192
3193        Rubber-stamped by Darin Adler.
3194
3195        Fix for <rdar://problem/6816957>
3196        Turn off Geolocation by default
3197
3198        * Configurations/FeatureDefines.xcconfig:
3199
32002009-04-21  Dan Bernstein  <mitz@apple.com>
3201
3202        Reviewed by Jon Honeycutt.
3203
3204        - Mac part of fixing for <rdar://problem/6755137> Action dictionary for
3205          policy decision is missing keys when full-page zoom is used
3206
3207        * WebCoreSupport/WebFrameLoaderClient.mm:
3208        (WebFrameLoaderClient::actionDictionary): Use absoluteLocation() instead
3209        of pageX() and pageY(), which are adjusted for zoom.
3210
32112009-04-21  Anders Carlsson  <andersca@apple.com>
3212
3213        Reviewed by Darin Adler and Kevin Decker.
3214
3215        WebKit side of <rdar://problem/6781642>.
3216
3217        When we call resize with an actual changed size, block until the plug-in host is done.
3218
3219        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3220        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3221        (WebKit::NetscapePluginInstanceProxy::resize):
3222        * Plugins/Hosted/WebHostedNetscapePluginView.h:
3223        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3224        (-[WebHostedNetscapePluginView updateAndSetWindow]):
3225        * Plugins/Hosted/WebKitPluginHost.defs:
3226
32272009-04-17  Timothy Hatcher  <timothy@apple.com>
3228
3229        Change how sudden termination works with WebView teardown.
3230
3231        <rdar://problem/6383352&6383379&6383940>
3232
3233        Reviewed by Darin Adler.
3234
3235        * WebCoreSupport/WebChromeClient.h: Remove disableSuddenTermination/enableSuddenTermination.
3236        * WebCoreSupport/WebChromeClient.mm: Ditto.
3237        * WebView/WebFrame.mm:
3238        (-[WebFrame _pendingFrameUnloadEventCount]): Ask the DOMWindow.
3239        * WebView/WebView.mm:
3240        (+[WebView canCloseAllWebViews]): Call DOMWindow::dispatchAllPendingBeforeUnloadEvents.
3241        (+[WebView closeAllWebViews]): Call DOMWindow::dispatchAllPendingUnloadEvents and
3242        call close on all the WebViews.
3243        (-[WebView _closeWithFastTeardown]): Remove code for unload event dispatch.
3244        (-[WebView _close]): Correct a comment.
3245        (+[WebView _applicationWillTerminate]): Call closeAllWebViews.
3246        * WebView/WebViewPrivate.h: Add canCloseAllWebViews and closeAllWebViews.
3247
32482009-04-21  Geoffrey Garen  <ggaren@apple.com>
3249
3250        Reviewed by Mark Rowe.
3251
3252        Tiger crash fix: Put VM tags in their own header file, and fixed up the
3253        #ifdefs so they're not used on Tiger.
3254
3255        * ForwardingHeaders/wtf/VMTags.h: Copied from ForwardingHeaders/wtf/HashTraits.h.
3256
32572009-04-17  Anders Carlsson  <andersca@apple.com>
3258
3259        Reviewed by Sam Weinig.
3260
3261        <rdar://problem/6722845>
3262        In the Cocoa event model, NPWindow's window field should be null
3263
3264        * Plugins/Hosted/NetscapePluginHostProxy.mm:
3265        (WKPCConvertPoint):
3266        Get the instance proxy and call it's convertPoint function.
3267
3268        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3269        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3270        (WebKit::NetscapePluginInstanceProxy::convertPoint):
3271        Call convertPoint on the plug-in view.
3272
3273        * Plugins/Hosted/WebKitPluginClient.defs:
3274        Add PCConvertPoint.
3275
3276        * Plugins/WebBaseNetscapePluginView.h:
3277        Add a declaration for convertFromX:andY:space:toX:andY:space:.
3278
3279        * Plugins/WebBaseNetscapePluginView.mm:
3280        (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
3281        Convert a point from one coordinate system to another.
3282
3283        * Plugins/WebNetscapePluginEventHandler.h:
3284        * Plugins/WebNetscapePluginEventHandlerCarbon.h:
3285        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
3286        (WebNetscapePluginEventHandlerCarbon::drawRect):
3287        * Plugins/WebNetscapePluginEventHandlerCocoa.h:
3288        Add CGContextRef to drawRect.
3289
3290        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
3291        (WebNetscapePluginEventHandlerCocoa::drawRect):
3292        Set the passed in context.
3293
3294        * Plugins/WebNetscapePluginPackage.mm:
3295        (-[WebNetscapePluginPackage _tryLoad]):
3296        Add NPN_ConvertPoint to the browserFuncs vtable.
3297
3298        * Plugins/WebNetscapePluginView.mm:
3299        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3300        Only set the window for the Carbon event model.
3301
3302        (-[WebNetscapePluginView restorePortState:]):
3303        It's OK for the window context to be null.
3304
3305        (-[WebNetscapePluginView sendDrawRectEvent:]):
3306        Pass the CGContextRef to drawRect.
3307
3308        * Plugins/npapi.mm:
3309        (NPN_ConvertPoint):
3310        Call the plug-in view method.
3311
33122009-04-20  Sam Weinig  <sam@webkit.org>
3313
3314        Rubber-stamped by Tim Hatcher.
3315
3316        Add licenses for xcconfig files.
3317
3318        * Configurations/Base.xcconfig:
3319        * Configurations/DebugRelease.xcconfig:
3320        * Configurations/FeatureDefines.xcconfig:
3321        * Configurations/Version.xcconfig:
3322        * Configurations/WebKit.xcconfig:
3323
33242009-04-20  Anders Carlsson  <andersca@apple.com>
3325
3326        Reviewed by Dan Bernstein.
3327
3328        WebKit side of <rdar://problem/6781302>
3329
3330        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3331        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3332        (WebKit::NetscapePluginInstanceProxy::keyEvent):
3333        Pass the event keyChar.
3334
3335        (WebKit::NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier):
3336        Ditto.
3337
3338        (WebKit::NetscapePluginInstanceProxy::flagsChanged):
3339        Pass a 0 keyChar.
3340
3341        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3342        (-[WebHostedNetscapePluginView flagsChanged:]):
3343        Call NetscapePluginInstanceProxy::flagsChanged.
3344
3345        * Plugins/Hosted/WebKitPluginHost.defs:
3346        Add a keyChar argument.
3347
33482009-04-19  Adele Peterson  <adele@apple.com>
3349
3350        Reviewed by Darin Adler.
3351
3352        Fix for <rdar://problem/6804809> REGRESSION: In Mail, Home and End do not scroll message
3353
3354        If no scrolling occurs, call tryToPerform on the next responder.  Then our WebResponderChainSink
3355        will correctly detect if no responders handle the selector.
3356
3357        * WebView/WebFrameView.mm:
3358        (-[WebFrameView _scrollToBeginningOfDocument]):
3359        (-[WebFrameView _scrollToEndOfDocument]):
3360        (-[WebFrameView scrollToBeginningOfDocument:]):
3361        (-[WebFrameView scrollToEndOfDocument:]):
3362        (-[WebFrameView scrollLineUp:]):
3363        (-[WebFrameView scrollLineDown:]):
3364
33652009-04-19  David Kilzer  <ddkilzer@apple.com>
3366
3367        Make FEATURE_DEFINES completely dynamic
3368
3369        Reviewed by Darin Adler.
3370
3371        Make FEATURE_DEFINES depend on individual ENABLE_FEATURE_NAME
3372        variables for each feature, making it possible to remove all
3373        knowledge of FEATURE_DEFINES from build-webkit.
3374
3375        * Configurations/FeatureDefines.xcconfig: Extract a variable
3376        from FEATURE_DEFINES for each feature setting.
3377
33782009-04-18  Pierre d'Herbemont  <pdherbemont@apple.com>
3379
3380        Reviewed by Mark Rowe.
3381
3382        <rdar://problem/6781295> video.buffered and video.seekable are not
3383        the same. video.buffered should return only what is buffered and
3384        not what is seekable
3385
3386        * WebCoreSupport/WebSystemInterface.m:
3387        (InitWebCoreSystemInterface): Add wkQTMovieMaxTimeSeekable.
3388
33892009-04-18  Pierre d'Herbemont  <pdherbemont@apple.com>
3390
3391        Reviewed by Adele Peterson.
3392
3393        <rdar://problem/6747241> work around QTKit no longer reaching
3394        QTMovieLoadStateComplete
3395
3396        * WebCoreSupport/WebSystemInterface.m:
3397        (InitWebCoreSystemInterface): Init the new WKSI exported symbol.
3398
33992009-04-17  Anders Carlsson  <andersca@apple.com>
3400
3401        Reviewed by Dan Bernstein.
3402
3403        <rdar://problem/6714488>
3404        REGRESSION (Safari 3-4): Edit menu commands (cut/copy/paste/select all) do not work on Flash content
3405
3406        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3407        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3408        (WebKit::NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier):
3409        Send a keyDown event to the plug-in host.
3410
3411        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3412        (-[WebHostedNetscapePluginView sendModifierEventWithKeyCode:character:]):
3413        Call the plug-in instance proxy.
3414
3415        * Plugins/WebBaseNetscapePluginView.mm:
3416        (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
3417        Add this. Subclasses are required to override it.
3418
3419        (-[WebBaseNetscapePluginView cut:]):
3420        (-[WebBaseNetscapePluginView copy:]):
3421        (-[WebBaseNetscapePluginView paste:]):
3422        (-[WebBaseNetscapePluginView selectAll:]):
3423        Call sendModifierEventWithKeyCode.
3424
3425        * Plugins/WebNetscapePluginEventHandler.h:
3426        Add syntheticKeyDownWithCommandModifier.
3427
3428        * Plugins/WebNetscapePluginEventHandlerCarbon.h:
3429        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
3430        (WebNetscapePluginEventHandlerCarbon::syntheticKeyDownWithCommandModifier):
3431        Send the synthetic event.
3432
3433        * Plugins/WebNetscapePluginEventHandlerCocoa.h:
3434        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
3435        (WebNetscapePluginEventHandlerCocoa::syntheticKeyDownWithCommandModifier):
3436        Send the synthetic event.
3437
3438        * Plugins/WebNetscapePluginView.mm:
3439        (-[WebNetscapePluginView sendModifierEventWithKeyCode:character:]):
3440        Call the event handler.
3441
34422009-04-17  David Kilzer  <ddkilzer@apple.com>
3443
3444        Simplify FEATURE_DEFINES definition
3445
3446        Reviewed by Darin Adler.
3447
3448        This moves FEATURE_DEFINES and its related ENABLE_FEATURE_NAME
3449        variables to their own FeatureDefines.xcconfig file.  It also
3450        extracts a new ENABLE_GEOLOCATION variable so that
3451        FEATURE_DEFINES only needs to be defined once.
3452
3453        * Configurations/FeatureDefines.xcconfig: Added.
3454        * Configurations/WebKit.xcconfig: Removed definition of
3455        ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES.  Added include
3456        of FeatureDefines.xcconfig.
3457
34582009-04-17  Anders Carlsson  <andersca@apple.com>
3459
3460        Reviewed by Darin Adler.
3461
3462        Fix crashes seen in regression tests with hosted plug-ins.
3463
3464        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3465        (WebKit::NetscapePluginInstanceProxy::cancelStreamLoad): Check the stream for 0,
3466        not the stream ID.
3467
34682009-04-17  Darin Adler  <darin@apple.com>
3469
3470        Reviewed by Antti Koivisto.
3471
3472        Bug 25210: don't use ObjC methods to wrap/unwrap DOM objects with ObjC
3473        https://bugs.webkit.org/show_bug.cgi?id=25210
3474
3475        * DOM/WebDOMOperations.mm:
3476        (-[DOMNode markupString]): Use the core function instead of an Objective-C method.
3477        (-[DOMNode _subresourceURLs]): Ditto.
3478        (-[DOMDocument _focusableNodes]): Ditto.
3479        (-[DOMRange webArchive]): Ditto.
3480        (-[DOMRange markupString]): Ditto.
3481
3482        * Misc/WebElementDictionary.mm: Added now-needed include since the core and kit
3483        functions now come from the internal headers from DOM bindings.
3484        * Misc/WebNSPasteboardExtras.mm: Ditto.
3485        * Plugins/WebNullPluginView.mm: Ditto.
3486        * Plugins/WebPluginController.mm: Ditto.
3487        * WebCoreSupport/WebChromeClient.mm: Ditto.
3488        * WebCoreSupport/WebInspectorClient.mm: Ditto.
3489        * WebCoreSupport/WebPasteboardHelper.mm: Ditto.
3490        * WebView/WebHTMLView.mm: Ditto.
3491
3492        * WebCoreSupport/WebEditorClient.mm: Made kit function have internal linkage
3493        since it's only used in this file. Someone had instead added a declaration to
3494        suppress the warning you would otherwise get. Removed the core function.
3495        (WebEditorClient::textFieldDidBeginEditing): Added correct type checking.
3496        Previously the function would check only that something was an HTMLElement,
3497        but then cast it to HTMLInputElement. Also call kit instead of old wrap method.
3498        (WebEditorClient::textFieldDidEndEditing): Ditto.
3499        (WebEditorClient::textDidChangeInTextField): Ditto.
3500        (WebEditorClient::doTextFieldCommandFromEvent): Ditto.
3501        (WebEditorClient::textWillBeDeletedInTextField): Ditto.
3502        (WebEditorClient::textDidChangeInTextArea): Ditto, but for HTMLTextAreaElement.
3503
3504        * WebView/WebFrame.mm: Removed the core and kit functions here which are no longer
3505        needed since they're automatically generated now.
3506        (-[WebFrame _nodesFromList:]): Use kit.
3507        (-[WebFrame _markupStringFromRange:nodes:]): Use core.
3508        (-[WebFrame _stringForRange:]): More of the same.
3509        (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
3510        (-[WebFrame _firstRectForDOMRange:]): Ditto.
3511        (-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
3512        (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
3513        Ditto.
3514        (-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
3515        (-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
3516        (-[WebFrame _markDOMRange]): Ditto.
3517        (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
3518        (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
3519        (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
3520        (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
3521        (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
3522        (-[WebFrame _characterRangeAtPoint:]): Ditto.
3523        (-[WebFrame _typingStyle]): Ditto.
3524        (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
3525        (-[WebFrame _pauseAnimation:onNode:atTime:]): Ditto.
3526        (-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]): Ditto.
3527        (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
3528
3529        * WebView/WebFrameInternal.h: Removed the core and kit functions here which are no longer
3530        needed since they're automatically generated now.
3531
3532        * WebView/WebHTMLRepresentation.mm:
3533        (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): Use core.
3534        (formElementFromDOMElement): Ditto.
3535        (inputElementFromDOMElement): Ditto.
3536        * WebView/WebTextIterator.mm:
3537        (-[WebTextIterator initWithRange:]): Ditto.
3538        (-[WebTextIterator currentRange]): Ditto.
3539        (-[WebTextIterator currentNode]): Ditto.
3540        * WebView/WebView.mm:
3541        (-[WebView textIteratorForRect:]): Ditto.
3542        (-[WebView setSelectedDOMRange:affinity:]): Ditto.
3543
35442009-04-17  Anders Carlsson  <andersca@apple.com>
3545
3546        Reviewed by Sam Weinig.
3547
3548        WebKit side of <rdar://problem/6449642>.
3549
3550        * Plugins/Hosted/HostedNetscapePluginStream.h:
3551        (WebKit::HostedNetscapePluginStream::create):
3552        New function that creates a stream from a frame loader.
3553
3554        * Plugins/Hosted/HostedNetscapePluginStream.mm:
3555        (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
3556        Add the constructor that takes a frame loader.
3557
3558        * Plugins/Hosted/NetscapePluginHostManager.h:
3559        * Plugins/Hosted/NetscapePluginHostManager.mm:
3560        (WebKit::NetscapePluginHostManager::instantiatePlugin):
3561        Pass "fullFrame" to the plug-in host.
3562
3563        * Plugins/Hosted/NetscapePluginHostProxy.mm:
3564        (WKPCCancelLoadURL):
3565        Call NetscapePluginInstanceProxy::cancelStreamLoad.
3566
3567        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3568        (WebKit::NetscapePluginInstanceProxy::create):
3569        Pass "fullFrame" to the constructor.
3570
3571        (WebKit::NetscapePluginInstanceProxy::manualStream):
3572        New getter for the manual stream.
3573
3574        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3575        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
3576        Take the implicit request into account if we have a full frame plug-in.
3577
3578        (WebKit::NetscapePluginInstanceProxy::setManualStream):
3579        Setter for the manual stream.
3580
3581        (WebKit::NetscapePluginInstanceProxy::cancelStreamLoad):
3582        Cancel the manual stream if necessary.
3583
3584        * Plugins/Hosted/WebHostedNetscapePluginView.h:
3585        WebHostedNetscapePluginView now conforms to the WebPluginManualLoader protocol.
3586
3587        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3588        (-[WebHostedNetscapePluginView createPlugin]):
3589        Pass "fullFrame" to instantiatePlugin.
3590
3591        (-[WebHostedNetscapePluginView pluginView:receivedResponse:]):
3592        (-[WebHostedNetscapePluginView pluginView:receivedData:]):
3593        (-[WebHostedNetscapePluginView pluginView:receivedError:]):
3594        (-[WebHostedNetscapePluginView pluginViewFinishedLoading:]):
3595        Call the equivalent manual stream functions.
3596
3597        * WebCoreSupport/WebFrameLoaderClient.mm:
3598        (WebFrameLoaderClient::createPlugin):
3599        Use a macro for getting the plug-in view type.
3600
36012009-04-14  Simon Fraser  <simon.fraser@apple.com>
3602
3603        Reviewed by Dan Bernstein
3604
3605        https://bugs.webkit.org/show_bug.cgi?id=25157
3606
3607        Move the run loop observer cleanup from -close
3608        to -_close.
3609
3610        * WebView/WebView.mm:
3611        (-[WebView _close]):
3612        (-[WebView close]):
3613
36142009-04-14  Anders Carlsson  <andersca@apple.com>
3615
3616        Reviewed by Sam Weinig.
3617
3618        - Speculative fix for <rdar://problem/6781422>
3619
3620        Protect the plug-in instance proxy in case it's deleted while waiting for a reply.
3621
3622        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3623        (WebKit::NetscapePluginInstanceProxy::wheelEvent):
3624
36252009-04-14  Adele Peterson  <adele@apple.com>
3626
3627        Reviewed by Darin.
3628
3629        Initialize WebKitSystemInterface in class methods that could get called before a WebView/WebFrame is set up.  This was causing Mail to crash on launch.
3630
3631        * Misc/WebCache.mm: (+[WebCache initialize]):
3632        * WebView/WebView.mm: (+[WebView initialize]):
3633
36342009-04-13  Kevin Decker  <kdecker@apple.com>
3635
3636        Reviewed by Darin.
3637
3638        <rdar://problem/6784955> REGRESSION: closing a tab containing a PDF causes world leaks
3639
3640        Simplify the _trackFirstResponder method by just caching the value instead of retaining
3641        a Cocoa object.
3642
3643        * WebView/WebPDFView.h: Eliminated trackedFirstResponder object and replaced it with
3644        a firstResponderIsPDFDocumentView boolean.
3645        * WebView/WebPDFView.mm:
3646        (-[WebPDFView dealloc]): Removed no longer necessary ASSERT.
3647        (-[WebPDFView viewWillMoveToWindow:]): Removed call to release and nil-out trackedFirstResponder,
3648        which no longer exists. In the new code all we do now is set firstResponderIsPDFDocumentView to NO.
3649        (-[WebPDFView _trackFirstResponder]): Rewrote this method to just cache the value instead
3650        of retaining an object.
3651
36522009-04-13  David Hyatt  <hyatt@apple.com>
3653
3654        Reviewed by Sam Weinig.
3655
3656        Fix for https://bugs.webkit.org/show_bug.cgi?id=25125.  Rework scrolling so that a layout happens first when
3657        it's already needed so that the code doesn't end up making bad decisions based off invalid document sizes.
3658
3659        This patch also eliminates WebHTMLView's separate notion of needing a layout and just consolidates it with
3660        WebCore's notion of needing layout.
3661
3662        * WebView/WebDynamicScrollBarsView.m:
3663        (-[WebDynamicScrollBarsView updateScrollers]):
3664        * WebView/WebHTMLView.mm:
3665        (-[WebHTMLView _frameOrBoundsChanged]):
3666        (-[WebHTMLView initWithFrame:]):
3667        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
3668        (-[WebHTMLView setNeedsLayout:]):
3669        (-[WebHTMLView _layoutIfNeeded]):
3670        (-[WebHTMLView _needsLayout]):
3671        * WebView/WebHTMLViewInternal.h:
3672
36732009-04-13  Darin Adler  <darin@apple.com>
3674
3675        * WebView/WebViewPrivate.h: Updated comments.
3676
36772009-04-13  Antti Koivisto  <antti@apple.com>
3678
3679        Reviewed by Darin Adler.
3680
3681        <rdar://problem/6740294> Increase the connection count per host
3682
3683        * WebCoreSupport/WebSystemInterface.m:
3684        (InitWebCoreSystemInterface):
3685
36862009-04-13  Brady Eidson  <beidson@apple.com>
3687
3688        Reviewed by Tim Hatcher
3689
3690        Tweak my last check-in, moving the thread violation check up to the API-level calls so the logging is more
3691        useful to developers/users.
3692
3693        * WebView/WebFrame.mm:
3694        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): If not on the main thread, only
3695          perform the "call on main thead" workaround, as the log/exception raising is now up at the API level.
3696        (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Perform a thread violation check here so logging
3697          is more meaningful.
3698        (-[WebFrame loadHTMLString:baseURL:]): Ditto.
3699        (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
3700
37012009-04-13  Brady Eidson  <beidson@apple.com>
3702
3703        Reviewed by Kevin Decker
3704
3705        <rdar://problem/6712063> Garmin WebUpdater crashes
3706
3707        * WebView/WebFrame.mm:
3708        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):  If not called on the main thread,
3709          add a ThreadViolationCheckRoundTwo() call to either log or raise an exception.  In the case where it's
3710          only a log, reschedule the _loadData call to occur on the main thread.
3711
37122009-04-10  Dan Bernstein  <mitz@apple.com>
3713
3714        Reviewed by Jon Honeycutt.
3715
3716        - fix <rdar://problem/6752340> Light blue-green background in content
3717          area in Mail
3718
3719        * WebView/WebView.mm:
3720        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
3721        Use device white, rather than calibrated white, as the default
3722        background color.
3723
37242009-04-10  Darin Adler  <darin@apple.com>
3725
3726        Reviewed by Brady Eidson.
3727
3728        <rdar://problem/6773515> crash in push_heap inside WebCore when printing
3729
3730        The crash was due to manipulating a timer on a different thread than the one it was created on.
3731
3732        * History/WebHistoryItem.mm:
3733        (-[WebWindowWatcher windowWillClose:]): Call later on main thread, if called on non-main thread.
3734        * WebView/WebHTMLView.mm:
3735        (-[WebHTMLView windowDidBecomeKey:]): Ditto.
3736        (-[WebHTMLView windowDidResignKey:]): Ditto.
3737        (-[WebHTMLView windowWillClose:]): Ditto.
3738        (-[WebHTMLView _updateControlTints]): Added. Factored out the non-thread-safe part of
3739        our override of _windowChangedKeyState.
3740        (-[WebHTMLView _windowChangedKeyState]): Call _updateControlTints later on main thread, if
3741        called on non-main thread.
3742        * WebView/WebPreferences.mm:
3743        (-[WebPreferences _postPreferencesChangesNotification]): Call later on main thread, if called
3744        on non-main thread
3745
37462009-04-10  Timothy Hatcher  <timothy@apple.com>
3747
3748        Remove DOMDocumentPrivate.h now that <rdar://problem/6730996> is fixed.
3749
3750        Rubber-stamped by Mark Rowe.
3751
3752        * Misc/DOMDocumentPrivate.h: Removed.
3753
37542009-04-10  Pierre d'Herbemont  <pdherbemont@apple.com>
3755
3756        Reviewed by Adele Peterson.
3757
3758        <rdar://problem/6646998> Avoid starting QTKitServer if possible
3759        Add the requires symbol in the WebSystemInterface. It is used by
3760        WebCore.
3761
3762        * WebCoreSupport/WebSystemInterface.m:
3763        (InitWebCoreSystemInterface): Add wkQTIncludeOnlyModernMediaFileTypes.
3764
37652009-04-09  Kevin Decker  <kdecker@apple.com>
3766
3767        Reviewed by Hyatt.
3768
3769        <rdar://problem/4680397> tearing seen because deferred updates are disabled
3770
3771        * WebView/WebFrameView.mm:
3772        (-[WebFrameView initWithFrame:]): Don't call WKDisableCGDeferredUpdates on post-Leopard if
3773        NSAppKitVersionNumberWithDeferredWindowDisplaySupport is defined.
3774
37752009-04-09  John Sullivan  <sullivan@apple.com>
3776
3777        <rdar://problem/6775682> WebKit's support for SnowLeopard sudden termination for
3778        downloads is broken and should be removed
3779
3780        Reviewed by Darin Adler
3781
3782        * Misc/WebDownload.m:
3783        (-[WebDownloadInternal downloadDidBegin:]):
3784        remove disableSuddenTermination call
3785        (-[WebDownloadInternal downloadDidFinish:]):
3786        remove enableSuddenTermination call
3787        (-[WebDownloadInternal download:didFailWithError:]):
3788        remove enableSuddenTermination call
3789
37902009-04-09  Darin Adler  <darin@apple.com>
3791
3792        Reviewed by Anders Carlsson and Sam Weinig.
3793
3794        Part of <rdar://problem/5438063> Saving history containing 100,000 entries causes pauses of 2s while browsing
3795
3796        Longer term solution is to change the design so Safari doesn't read and write all of history.
3797        This patch is step one: Do the serializing, which is done on the main thread, much faster.
3798
3799        * History/WebHistory.mm:
3800        (-[WebHistoryPrivate data]): Added. Returns the NSData object containing serialized history.
3801        For creating new SPI so you can get the data in memory instead of on disk. Uses WebHistoryWriter.
3802        (-[WebHistoryPrivate saveToURL:error:]): Changed to call [self data
3803        (-[WebHistory _data]): Added.
3804        (WebHistoryWriter::WebHistoryWriter): Added.
3805        (WebHistoryWriter::writeHistoryItems): Added.
3806
3807        * History/WebHistoryPrivate.h: Added a new _data method.
3808
38092009-04-09  Mike Thole  <mthole@apple.com>
3810
3811        Rubber-stamped by Mark Rowe.
3812
3813        Fix 64-bit build
3814
3815        * Panels/WebAuthenticationPanel.h:
3816            Declare the 'separateRealmLabel' IBOutlet as an NSTextField instead of 'id'.
3817            This fixes a duplicate method warning (setAutoresizingMask: on NSView and CALayer)
3818
38192009-04-09  Mike Thole  <mthole@apple.com>
3820
3821        Reviewed by Ada Chan.
3822
3823        <rdar://problem/5697111> Basic authentication dialog spoofing vulnerability
3824
3825        * Panels/WebAuthenticationPanel.h:
3826            Added IBOutlet for separateRealmLabel
3827        * Panels/WebAuthenticationPanel.m:
3828        (-[WebAuthenticationPanel setUpForChallenge:]):
3829            In the realm case, decide if it is a simple or complex realm name.  A realm name
3830            is considered complex if it has any whitespace or newline characters.  Present
3831            alternative text and layout for the complex case, where the realm name isn't inline
3832            with the rest of the sheet's text.
3833
3834        * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
3835        * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
3836            Updated the nib with a new 'separateRealmLabel' outlet.
3837            Updated the File's Owner to correctly be WebAuthenticationPanel.
3838            Fixed springs on the sheet's icon to keep it from moving during a resize.
3839
38402009-04-09  David Kilzer  <ddkilzer@apple.com>
3841
3842        Reinstating <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
3843
3844        Rolled r42345 back in.  The build failure was caused by an
3845        internal script which had not been updated the same way that
3846        build-webkit was updated.
3847
3848        * Configurations/WebKit.xcconfig:
3849        * DOM/WebDOMOperations.mm:
3850        * MigrateHeaders.make:
3851
38522009-04-09  Alexey Proskuryakov  <ap@webkit.org>
3853
3854        Reverting <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings.
3855        It broke Mac build, and I don't know how to fix it.
3856
3857        * Configurations/WebKit.xcconfig:
3858        * DOM/WebDOMOperations.mm:
3859        * MigrateHeaders.make:
3860
38612009-04-08  David Kilzer  <ddkilzer@apple.com>
3862
3863        <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
3864
3865        Reviewed by Darin Adler and Maciej Stachowiak.
3866
3867        Introduce the ENABLE_SVG_DOM_OBJC_BINDINGS feature define so
3868        that SVG DOM Objective-C bindings may be optionally disabled.
3869
3870        * Configurations/WebKit.xcconfig: Added
3871        ENABLE_SVG_DOM_OBJC_BINDINGS variable and use it in
3872        FEATURE_DEFINES.
3873        * DOM/WebDOMOperations.mm: Removed unused header.
3874        * MigrateHeaders.make: Switched from using ENABLE_SVG to using
3875        ENABLE_SVG_DOM_OBJC_BINDINGS.
3876
38772009-04-08  David Hyatt  <hyatt@apple.com>
3878
3879        Reviewed by Adam Roben and Darin Adler
3880
3881        Fix for https://bugs.webkit.org/show_bug.cgi?id=12440, fixed positioned elements end up in
3882        inconsistent positions.  Rewrite updateScrollers to improve the correctness.
3883
3884        * WebView/WebDynamicScrollBarsView.h:
3885        * WebView/WebDynamicScrollBarsView.m:
3886        (-[WebDynamicScrollBarsView updateScrollers]):
3887
38882009-04-07  Anders Carlsson  <andersca@apple.com>
3889
3890        Fix Tiger build for real this time.
3891
3892        * Plugins/WebNetscapePluginView.h:
3893        * Plugins/WebNetscapePluginView.mm:
3894        (-[WebNetscapePluginView getVariable:forURL:value:length:]):
3895        (-[WebNetscapePluginView setVariable:forURL:value:length:]):
3896        (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
3897        * Plugins/npapi.mm:
3898        (NPN_GetValueForURL):
3899        (NPN_SetValueForURL):
3900
39012009-04-07  David Hyatt  <hyatt@apple.com>
3902
3903        Reviewed by Adam Roben
3904
3905        Mac portion of fix to make DumpRenderTree always produce accurate scrollbar results.  Change
3906        updateScrollers to call minimumContentsSize when a WebHTMLView is inside the WebDynamicScrollbarsView.
3907
3908        * WebView/WebDynamicScrollBarsView.m:
3909        (-[WebDynamicScrollBarsView updateScrollers]):
3910
39112009-04-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3912
3913        Reviewed by Anders Carlsson.
3914
3915        Trying to fix Tiger build.
3916
3917        * Plugins/WebNetscapePluginView.h:
3918        * Plugins/WebNetscapePluginView.mm:
3919        (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
3920
39212009-04-07  Anders Carlsson  <andersca@apple.com>
3922
3923        Try to fix the Leopard build once more.
3924
3925        * Plugins/WebBaseNetscapePluginView.h:
3926        * Plugins/WebBaseNetscapePluginView.mm:
3927        * Plugins/WebNetscapePluginView.mm:
3928        (-[WebNetscapePluginView getVariable:forURL:value:length:]):
3929
39302009-04-07  Anders Carlsson  <andersca@apple.com>
3931
3932        ...and try to fix the Leopard build.
3933
3934        * Plugins/npapi.mm:
3935        (NPN_GetAuthenticationInfo):
3936
39372009-04-07  Anders Carlsson  <andersca@apple.com>
3938
3939        Try to fix the Tiger build.
3940
3941        * Plugins/WebBaseNetscapePluginView.mm:
3942
39432009-04-07  Anders Carlsson  <andersca@apple.com>
3944
3945        Reviewed by Sam Weinig.
3946
3947        <rdar://problem/6667001>
3948        NPAPI: need NPN_Get/SetValueForURL() and NPN_GetAuthenticationInfo()
3949
3950        * Plugins/Hosted/NetscapePluginHostProxy.mm:
3951        (WKPCGetCookies):
3952        (WKPCGetProxy):
3953        (WKPCSetCookies):
3954        (WKPCGetAuthenticationInfo):
3955        New MIG functions to be used by the plug-in host.
3956
3957        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3958        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3959        (WebKit::NetscapePluginInstanceProxy::getCookies):
3960        (WebKit::NetscapePluginInstanceProxy::setCookies):
3961        (WebKit::NetscapePluginInstanceProxy::getProxy):
3962        (WebKit::NetscapePluginInstanceProxy::getAuthenticationInfo):
3963        Implement these.
3964
3965        * Plugins/Hosted/WebKitPluginClient.defs:
3966        Add callbacks.
3967
3968        * Plugins/WebBaseNetscapePluginView.h:
3969        * Plugins/WebBaseNetscapePluginView.mm:
3970        (-[WebBaseNetscapePluginView URLWithCString:]):
3971        Factor this out of URLWithCString.
3972
3973        (-[WebBaseNetscapePluginView requestWithURLCString:]):
3974        Call URLWithCString.
3975
3976        (WebKit::proxiesForURL):
3977        Return a string representation of proxies for a given URL.
3978
3979        (WebKit::getAuthenticationInfo):
3980        Get the authentication info for a given host/protocol/scheme/realm/port combination.
3981
3982        * Plugins/WebNetscapePluginPackage.mm:
3983        (-[WebNetscapePluginPackage _tryLoad]):
3984        Initialize the new vtable functions.
3985
3986        * Plugins/WebNetscapePluginView.h:
3987        * Plugins/WebNetscapePluginView.mm:
3988        (-[WebNetscapePluginView getVariable:forURL:value:length:]):
3989        (-[WebNetscapePluginView setVariable:forURL:value:length:]):
3990        (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
3991        Implement these.
3992
3993        * Plugins/npapi.mm:
3994        (NPN_GetValueForURL):
3995        (NPN_SetValueForURL):
3996        (NPN_GetAuthenticationInfo):
3997        Call the plug-in view functions.
3998
39992009-04-03  Kevin Decker  <kdecker@apple.com>
4000
4001        Reviewed by Anders Carlsson.
4002
4003        <rdar://problem/6756512>
4004
4005        * Plugins/Hosted/NetscapePluginHostManager.mm:
4006        (WebKit::NetscapePluginHostManager::spawnPluginHost): Tweaked the visibleName property.
4007
40082009-04-03  John Sullivan  <sullivan@apple.com>
4009
4010        Reviewed by Ada Chan
4011
4012        <rdar://problem/6755838> Removing all icons can delete other items from disk.
4013
4014        * Misc/WebIconDatabase.mm:
4015        (importToWebCoreFormat):
4016        When snooping around in various directories looking for a directory full of Safari-2-style
4017        icon database information to convert and delete, bail out without doing the delete part if
4018        we didn't actually find any Safari-2-style icon database information.
4019
40202009-04-03  John Sullivan  <sullivan@apple.com>
4021
4022        fixed <rdar://problem/6355573> [WebView _setCacheModel:] leaks the result of _CFURLCacheCopyCacheDirectory
4023
4024        Reviewed by Adam Roben
4025
4026        * WebView/WebView.mm:
4027        (+[WebView _setCacheModel:]):
4028        use WebCFAutorelease rather than autorelease on result of method that returns CFStringRef
4029
40302009-04-03  Chris Marrin  <cmarrin@apple.com>
4031
4032        Reviewed by David Hyatt.
4033
4034        Fixed https://bugs.webkit.org/show_bug.cgi?id=24941
4035
4036        This fix essentially does a -viewWillDraw call for layout. It adds
4037        a CFRunLoopObserver which performs layout just before drawing on the
4038        Mac platform. This makes sure layout is complete before rendering and
4039        avoids a flash.
4040
4041        * WebCoreSupport/WebChromeClient.h:
4042        * WebCoreSupport/WebChromeClient.mm:
4043        (WebChromeClient::attachRootGraphicsLayer):
4044        (WebChromeClient::setNeedsOneShotDrawingSynchronization):
4045        (WebChromeClient::scheduleViewUpdate):
4046        * WebView/WebView.mm:
4047        (-[WebViewPrivate _clearViewUpdateRunLoopObserver]):
4048        (-[WebView _viewWillDrawInternal]):
4049        (-[WebView viewWillDraw]):
4050        (-[WebView close]):
4051        (viewUpdateRunLoopObserverCallBack):
4052        (-[WebView _scheduleViewUpdate]):
4053        * WebView/WebViewInternal.h:
4054
40552009-04-03  Anders Carlsson  <andersca@apple.com>
4056
4057        Reviewed by Kevin Decker.
4058
4059        WebKit side of <rdar://problem/6752953>.
4060
4061        Pass the clip rect to the plug-in host.
4062
4063        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4064        (WebKit::NetscapePluginInstanceProxy::resize):
4065        * Plugins/Hosted/WebKitPluginHost.defs:
4066
40672009-04-02  Mark Rowe  <mrowe@apple.com>
4068
4069        Reviewed by Dan Bernstein and Timothy Hatcher.
4070
4071        <rdar://problem/6684745> Crash in -[WebView removeSizeObservers] when loading NIB file
4072
4073        The implementation of -[NSView initWithCoder:] can result in -viewWillMoveToSuperview:/-viewDidMoveToSuperview: being sent to
4074        our view before we've had a chance to initialize _private, so we need to ensure it is non-nil before dereferencing it in those
4075        methods.
4076
4077        * WebView/WebView.mm:
4078        (-[WebView removeSizeObservers]): Nil-check _private before dereferencing it.
4079        (-[WebView addSizeObservers]): Ditto.
4080
40812009-04-02  Adele Peterson  <adele@apple.com>
4082
4083        Reviewed by Darin Adler.
4084
4085        Add a way to get a list of focusable nodes.
4086
4087        * DOM/WebDOMOperations.mm:
4088        (-[DOMDocument _focusableNodes]):
4089        * DOM/WebDOMOperationsInternal.h: Added.
4090        * DOM/WebDOMOperationsPrivate.h: Make this a private header.
4091        Move old methods to WebDOMOperationsInternal.h
4092        * WebView/WebHTMLView.mm: Use methods from WebDOMOperationsInternal.h
4093
40942009-04-01  Darin Adler  <darin@apple.com>
4095
4096        Reviewed by Geoff Garen.
4097
4098        Bug 22378: Crash submitting a form when parsing an XHTML document
4099        https://bugs.webkit.org/show_bug.cgi?id=22378
4100        rdar://problem/6388377
4101
4102        * History/WebHistoryItem.mm:
4103        (-[WebHistoryItem targetItem]): Call targetItem directly instead of callling
4104        isTargetItem, hasChildren, and recurseToFindTargetItem.
4105
4106        * WebCoreSupport/WebFrameLoaderClient.mm:
4107        (WebFrameLoaderClient::dispatchWillSubmitForm): Updated for the new
4108        textFieldValues function in FormState.
4109
4110        * WebView/WebPDFView.mm:
4111        (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Updated for name and
4112        argument change of loadFrameRequest.
4113
41142009-04-01  Greg Bolsinga  <bolsinga@apple.com>
4115
4116        Reviewed by Mark Rowe.
4117
4118        https://bugs.webkit.org/show_bug.cgi?id=24990
4119        Put SECTORDER_FLAGS into xcconfig files.
4120
4121        * Configurations/Base.xcconfig:
4122        * Configurations/DebugRelease.xcconfig:
4123
41242009-03-31  Anders Carlsson  <andersca@apple.com>
4125
4126        Reviewed by Adam Roben.
4127
4128        WebKit side of <rdar://problem/6500266>.
4129
4130        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
4131        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4132        (WebKit::NetscapePluginInstanceProxy::wheelEvent):
4133        Send the event.
4134
4135        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
4136        (-[WebHostedNetscapePluginView scrollWheel:]):
4137        Call NetscapePluginInstanceProxy::wheelEvent. If the plug-in processed the event, don't
4138        call super.
4139
4140        * Plugins/Hosted/WebKitPluginHost.defs:
4141        Add definition.
4142
41432009-03-31  Darin Adler  <darin@apple.com>
4144
4145        Reviewed by Adele Peterson.
4146
4147        <rdar://problem/6740581> REGRESSION (r41793): Page Down and Page Up don’t work in Leopard Mail
4148
4149        * WebView/WebHTMLView.mm:
4150        (-[WebResponderChainSink tryToPerform:with:]): Added. Without this we would think we had
4151        handled an event when we actually hadn't. Specifically, when -[WebFrameView scrollPageDown:]
4152        calls tryToPerform on the next responder.
4153
41542009-03-30  Greg Bolsinga  <bolsinga@apple.com>
4155
4156        Reviewed by Simon Fraser.
4157
4158        https://bugs.webkit.org/show_bug.cgi?id=24938
4159
4160        Build fixes when building --no-svg
4161
4162        DOMHTMLFrameElementPrivate.h and DOMHTMLIFrameElementPrivate.h are only available with ENABLE_SVG.
4163
4164        * MigrateHeaders.make:
4165
41662009-03-29  Darin Adler  <darin@apple.com>
4167
4168        Reviewed by Cameron Zwarich.
4169
4170        * Plugins/WebNullPluginView.mm: Added now-needed includes.
4171        * WebView/WebHTMLRepresentation.mm: Ditto.
4172        * WebView/WebHTMLView.mm: Ditto.
4173
41742009-03-27  Timothy Hatcher  <timothy@apple.com>
4175
4176        * MigrateHeaders.make: Remove DOMHTMLBodyElementPrivate.h since it
4177        is not generated anymore.
4178
41792009-03-27  Adam Roben  <aroben@apple.com>
4180
4181        Don't include substitute data URLs in global history redirect chains
4182
4183        <rdar://6690169>
4184
4185        Reviewed by Darin Adler.
4186
4187        * WebCoreSupport/WebFrameLoaderClient.mm:
4188        (WebFrameLoaderClient::updateGlobalHistory): Don't call
4189        updateGlobalHistoryRedirectLinks. FrameLoader calls this for us now.
4190        (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
4191        Added an assertion to help catch cases where we might be adding a
4192        substitute data URL into a redirect chain.
4193
41942009-03-27  Darin Adler  <darin@apple.com>
4195
4196        Reviewed by Adam Roben.
4197
4198        <rdar://problem/6541923> REGRESSION (r38629): Tab cycle in empty tab is broken
4199
4200        * WebView/WebHTMLView.mm:
4201        (-[WebHTMLView _wantsKeyDownForEvent:]): Only return YES when we have a Frame.
4202
42032009-03-27  Darin Adler  <darin@apple.com>
4204
4205        Reviewed by John Sullivan and Anders Carlsson.
4206
4207        <rdar://problem/5987442> Pasteboard not exposed to WebEditingDelegate for WebViewInsertActionPasted (needed for system services)
4208
4209        Added SPI to tell which pasteboard is currently being inserted.
4210        I chose to put it on WebView to be forward-looking since we're migrating things
4211        from WebHTMLView to WebView in the future.
4212
4213        * WebView/WebHTMLView.mm:
4214        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Add calls to _setInsertionPasteboard.
4215        (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
4216        * WebView/WebView.mm:
4217        (-[WebViewPrivate dealloc]): Assert the pasteboard is nil.
4218        (-[WebViewPrivate finalize]): Ditto.
4219        (-[WebView _insertionPasteboard]): Return the pastebaord.
4220        (-[WebView _setInsertionPasteboard:]): Set the pasteboard.
4221        * WebView/WebViewInternal.h: Added _setInsertionPasteboard.
4222        * WebView/WebViewPrivate.h: Added _insertionPasteboard.
4223
42242009-03-25  Timothy Hatcher  <timothy@apple.com>
4225
4226        Expose new DOM methods as public Objective-C API.
4227
4228        <rdar://problem/5837350> Expose new DOM classes and methods
4229        as public API (match the additions to the JavaScript DOM)
4230
4231        Reviewed by Mark Rowe and Darin Adler.
4232
4233        * MigrateHeaders.make:
4234        * Misc/DOMDocumentPrivate.h: Added. Forwarding header for
4235        <rdar://problem/6730996>.
4236
42372009-03-26  Jungshik Shin  <jshin@chromium.org>
4238
4239        Reviewed by Alexey Proskuryakov.
4240
4241        Add WebPreferences for encoding autodetection on Mac.
4242
4243        http://bugs.webkit.org/show_bug.cgi?id=16482
4244
4245        * WebView/WebPreferenceKeysPrivate.h:
4246        * WebView/WebPreferences.mm:
4247        (+[WebPreferences initialize]):
4248        (-[WebPreferences usesEncodingDetector]):
4249        (-[WebPreferences setUsesEncodingDetector:]):
4250        * WebView/WebPreferencesPrivate.h:
4251        * WebView/WebView.mm:
4252        (-[WebView _preferencesChangedNotification:]):
4253
42542009-03-26  Anders Carlsson  <andersca@apple.com>
4255
4256        Reviewed by Dan Bernstein.
4257
4258        - Fix <rdar://problem/6687055> and <rdar://problem/6713639>.
4259
4260        * Plugins/Hosted/NetscapePluginHostProxy.mm:
4261        (WKPCInvalidateRect):
4262        Call NetscapePluginInstanceProxy::invalidateRect.
4263
4264        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
4265        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4266        (WebKit::NetscapePluginInstanceProxy::cleanup):
4267        Stop the request timer, set m_pluginView to nil.
4268
4269        (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
4270        No need to set m_pluginView to nil here anymore, it's now done in cleanup().
4271
4272        (WebKit::NetscapePluginInstanceProxy::performRequest):
4273        (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
4274        Assert that the plug-in view is not nil.
4275
4276        (WebKit::NetscapePluginInstanceProxy::invalidateRect):
4277        Call setNeedsDisplayInRect here.
4278
42792009-03-25  Anders Carlsson  <andersca@apple.com>
4280
4281        Reviewed by Darin Adler.
4282
4283        <rdar://problem/6714964>
4284        CrashTracer: [REGRESSION] 51 crashes in Safari at com.apple.WebKit • WebNetscapePluginStream::deliverData + 775
4285
4286        Don't release m_deliveryData since it's a RetainPtr. Also, use adoptNS instead of releasing newDeliveryData manually.
4287
4288        * Plugins/WebBaseNetscapePluginStream.mm:
4289        (WebNetscapePluginStream::deliverData):
4290
42912009-03-25  Mike Thole  <mthole@apple.com>
4292
4293        Reviewed by Kevin Decker.
4294
4295        <rdar://problem/6453738> call SetWindow when user creates a new tab
4296
4297        CoreGraphics plug-ins now receive an NPP_SetWindow call when moving to a background tab.
4298        Flash is excluded from this change in behavior, as it has historical WebKit-specific code
4299        that isn't compatible with this change.
4300
4301        * Plugins/WebNetscapePluginView.h:
4302            Added an _isFlash ivar.
4303        * Plugins/WebNetscapePluginView.mm:
4304        (-[WebNetscapePluginView _createPlugin]):
4305            Set the new _isFlash ivar based on the bundle identifier.
4306        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
4307            When using the CG drawing model and in a non-drawable state,  set the portState
4308            to NULL and return early.
4309        (-[WebNetscapePluginView updateAndSetWindow]):
4310            When using the CG drawing model, call -setWindowIfNecessary even if the portState is NULL.
4311            Flash is an exception to this, due to its historical behavior.
4312        (-[WebNetscapePluginView setWindowIfNecessary]):
4313            Removed an assertion that was no longer true.  The [NSView focus] view
4314            is no longer guaranteed to be 'self' at this point.
4315            Also modified the debug logging for CG plug-ins to include the size of the
4316            window's clipRect, which was useful in verifying the correct behavior of this patch.
4317
43182009-03-24  Dan Bernstein  <mitz@apple.com>
4319
4320        Reviewed by Oliver Hunt.
4321
4322        - speculative fix for <rdar://problem/6630134> Crash at
4323          Editor::compositionRange()
4324
4325        * WebView/WebHTMLView.mm:
4326        (-[WebHTMLView markedRange]): Null-check the Frame like most other
4327        methods in this class.
4328
43292009-03-23  Sam Weinig  <sam@webkit.org>
4330
4331        Reviewed by Dan Bernstein.
4332
4333        Fix for <rdar://problem/6140966>
4334        Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache
4335
4336        * Misc/WebCache.mm:
4337        (+[WebCache empty]):
4338
43392009-03-23  Adele Peterson  <adele@apple.com>
4340
4341        Reviewed by Mark Rowe & Dave Hyatt.
4342
4343        Merge some of the individual Mail quirks into two settings that we can check for future quirks.
4344
4345        * WebView/WebView.mm:
4346        (runningLeopardMail):
4347        (runningTigerMail):
4348        (-[WebView _preferencesChangedNotification:]):
4349
43502009-03-23  Darin Adler  <darin@apple.com>
4351
4352        * WebView/WebTextIterator.h: Fixed a spelling error in a comment.
4353
43542009-03-22  Dan Bernstein  <mitz@apple.com>
4355
4356        Reviewed by John Sullivan.
4357
4358        - fix <rdar://problem/6640741> Messages not displaying after the
4359          Safari 4 beta was installed
4360
4361        Mail assumes that if -[WebArchive subresources] is not nil, then it
4362        contains at least one object.
4363
4364        * WebView/WebArchive.mm:
4365        (-[WebArchive subresources]): Preserve the behavior of returning nil
4366        if there are no subresources.
4367
43682009-03-20  Adele Peterson  <adele@apple.com>
4369
4370        Build fix.
4371
4372        Reviewed by Darin Adler.
4373
4374        * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]):
4375
43762009-03-20  Timothy Hatcher  <timothy@apple.com>
4377
4378        Change how threading exceptions are checked so they are reported
4379        by what round they were added. That way WebKit can decided the
4380        behavior per-round based on linked-on-or-after checks.
4381
4382        <rdar://problem/6626741&6648478&6635474&6674079>
4383
4384        Reviewed by Darin Adler.
4385
4386        * History/WebBackForwardList.mm: Use the new WebCoreThreadViolationCheckRoundOne macro.
4387        * History/WebHistoryItem.mm: Ditto.
4388        * Misc/WebIconDatabase.mm: Ditto.
4389
4390        * WebView/WebArchive.mm: Use the new WebCoreThreadViolationCheckRoundTwo macro.
4391        * WebView/WebResource.mm: Ditto.
4392        (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Check Mail's bundle version
4393        to truly decide if it is an old Mail client.
4394        * WebView/WebView.mm: Ditto.
4395
4396        * Misc/WebKitVersionChecks.h: Add a new linked-on-or-after version define.
4397        * WebView/WebFrameView.mm:
4398        (-[WebFrameView initWithFrame:]): Set the default thread violation behavior per-round
4399        based on difference version checks and the Mail workaround check.
4400
44012009-03-20  Darin Adler  <darin@apple.com>
4402
4403        Reviewed by Timothy Hatcher.
4404
4405        * WebView/WebTextIterator.h: Improved comments to point out some of the pitfalls
4406        of this SPI.
4407
44082009-03-20  Darin Adler  <darin@apple.com>
4409
4410        Reviewed by Adele Peterson.
4411
4412        Use a better technique to handle finding out if something responds to a selector
4413        in WebHTMLView's doCommandBySelector method.
4414
4415        * WebView/WebHTMLView.mm:
4416        (-[WebHTMLView doCommandBySelector:]): Removed unneeded check for 0 coreFrame;
4417        this is already handled by coreCommandBySelector: so doesn't need to be checked
4418        twice. Got rid of initial value for eventWasHandled boolean to make it more clear.
4419        Use WebResponderChainSink to find out if a command is handled rather than walking
4420        the responder chain explicitly.
4421        (-[WebResponderChainSink initWithResponderChain:]): Added.
4422        (-[WebResponderChainSink detach]): Added.
4423        (-[WebResponderChainSink receivedUnhandledCommand]): Added.
4424        (-[WebResponderChainSink noResponderFor:]): Added.
4425        (-[WebResponderChainSink doCommandBySelector:]): Added.
4426
44272009-03-19  Timothy Hatcher  <timothy@apple.com>
4428
4429        Remove #ifndef BUILDING_ON_TIGER around code that schedules runloop modes
4430        for Page, so the new RunLoopTimer in WebCore always gets a default mode.
4431        Fixes the layout test failures on the Tiger build bots.
4432
4433        Reviewed by Mark Rowe.
4434
4435        * WebView/WebView.mm:
4436        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
4437        (-[WebView scheduleInRunLoop:forMode:]):
4438        (-[WebView unscheduleFromRunLoop:forMode:]):
4439
44402009-03-18  Anders Carlsson  <andersca@apple.com>
4441
4442        Reviewed by Oliver Hunt.
4443
4444        WebKit side of <rdar://problem/6688244>.
4445
4446        Try reinitializing the vendor port if it's invalid.
4447
4448        * Plugins/Hosted/NetscapePluginHostManager.mm:
4449        (WebKit::NetscapePluginHostManager::spawnPluginHost):
4450
44512009-03-18  Anders Carlsson  <andersca@apple.com>
4452
4453        Reviewed by Darin Adler.
4454
4455        <rdar://problem/6504776>
4456        CrashTracer: [USER] 188 crashes in Safari at com.apple.WebCore • WTF::HashTableIterator<WTF::RefPtr<WebCore::ResourceLoader>, ...
4457
4458        If the m_pluginView member was zeroed out as a result of making a call into the plug-in, the pluginFunctionCallDepth would be off
4459        causing the plug-in never to be stopped. Simplify the code by using a RAII object.
4460
4461        * Plugins/WebBaseNetscapePluginStream.mm:
4462        (PluginStopDeferrer::PluginStopDeferrer):
4463        (PluginStopDeferrer::~PluginStopDeferrer):
4464        (WebNetscapePluginStream::startStream):
4465        (WebNetscapePluginStream::wantsAllStreams):
4466        (WebNetscapePluginStream::destroyStream):
4467
44682009-03-17  Darin Adler  <darin@apple.com>
4469
4470        Reviewed by Adele Peterson.
4471
4472        <rdar://problem/6687005> Need support for new move-left/right selectors.
4473
4474        * WebView/WebHTMLView.mm: Added the four new selectors to the command-forwarding list.
4475        * WebView/WebView.mm: Ditto.
4476
44772009-03-17  Darin Adler  <darin@apple.com>
4478
4479        Reviewed by Adele Peterson.
4480
4481        Bug 24477: REGRESSION (r41467): Page Down key scrolls two pages
4482        https://bugs.webkit.org/show_bug.cgi?id=24477
4483        rdar://problem/6674184
4484
4485        * WebView/WebHTMLView.mm:
4486        (responderChainRespondsToSelector): Added.
4487        (-[WebHTMLView doCommandBySelector:]): Set eventWasHandled based on whether we
4488        can find a responder that responds to this selector rather than always assuming
4489        the selector will not be handled.
4490
44912009-03-17  Mark Rowe  <mrowe@apple.com>
4492
4493        Fix the build.
4494
4495        * Plugins/Hosted/HostedNetscapePluginStream.mm:
4496
44972009-03-17  David Kilzer  <ddkilzer@apple.com>
4498
4499        Use -[NSURLResponse(WebCoreURLResponse) _webcore_MIMEType] consistently
4500
4501        Reviewed by Darin Adler.
4502
4503        WebKit r30323 added -_webcore_MIMEType to fix issues with
4504        incorrect MIME types in NS[HTTP]URLResponse objects.  However,
4505        uses of -[NSURLResponse MIMEType] still persist in WebKit that
4506        should be switched to use -_webcore_MIMEType.  Note that
4507        -[WebDataSource _responseMIMEType] calls back into WebCore to
4508        get the MIME type from the ResourceResponse object, which has
4509        already retrieved it via -_webcore_MIMEType.
4510
4511        * Plugins/Hosted/HostedNetscapePluginStream.mm:
4512        (WebKit::HostedNetscapePluginStream::didReceiveResponse): Use
4513        -_webcore_MIMEType.
4514        * Plugins/WebBaseNetscapePluginStream.mm:
4515        (WebNetscapePluginStream::didReceiveResponse): Ditto.
4516        * Plugins/WebNetscapePluginView.mm:
4517        (-[WebNetscapePluginView pluginView:receivedData:]): Ditto.
4518        * Plugins/WebPluginController.mm:
4519        (-[WebPluginController pluginView:receivedResponse:]): Ditto.
4520        * WebView/WebHTMLRepresentation.mm:
4521        (-[WebHTMLRepresentation _isDisplayingWebArchive]): Use
4522        -[WebDataSource _responseMIMEType] instead.
4523        * WebView/WebPDFRepresentation.m:
4524        (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Ditto.
4525        * WebView/WebPDFView.mm:
4526        (-[WebPDFView menuForEvent:]): Ditto.
4527
45282009-03-17  Simon Fraser  <simon.fraser@apple.com>
4529
4530        Reviewed by Darin Adler
4531
4532        https://bugs.webkit.org/show_bug.cgi?id=24396
4533
4534        Add WTF_USE_ACCELERATED_COMPOSITING, defined to 0 for now.
4535
4536        * WebKitPrefix.h:
4537
45382009-03-17  Kevin Ollivier  <kevino@theolliviers.com>
4539
4540        Reviewed by Mark Rowe.
4541
4542        Get BUILDING_ON_* defines from Platform.h.
4543
4544        https://bugs.webkit.org/show_bug.cgi?id=24630
4545
4546        * WebKitPrefix.h:
4547
45482009-03-16  Darin Adler  <darin@apple.com>
4549
4550        Reviewed by Dan Bernstein.
4551
4552        <rdar://problem/6577174> Rename the text directionality submenus to “Paragraph Direction” and “Selection Direction”
4553
4554        * WebCoreSupport/WebViewFactory.mm:
4555        (-[WebViewFactory contextMenuItemTagParagraphDirectionMenu]): Changed string here, but only
4556        post-Leopard, since we want this to match the Mac OS X menu on Tiger and Leopard.
4557        (-[WebViewFactory contextMenuItemTagSelectionDirectionMenu]): Changed string here.
4558
45592009-03-16  Anders Carlsson  <andersca@apple.com>
4560
4561        Reviewed by Oliver Hunt.
4562
4563        Don't mig_deallocate random data in case an instance proxy method returns false.
4564
4565        * Plugins/Hosted/NetscapePluginHostProxy.mm:
4566        (WKPCEvaluate):
4567        (WKPCInvoke):
4568        (WKPCInvokeDefault):
4569        (WKPCGetProperty):
4570        (WKPCEnumerate):
4571
45722009-03-16  Anders Carlsson  <andersca@apple.com>
4573
4574        Reviewed by Oliver Hunt.
4575
4576        <rdar://problem/6633944>
4577        REGRESSION (Safari 4 PB): Many crashes in Flip4Mac involving loading the plugin
4578
4579        Defer loading while calling webPlugInInitialize since it can end up spinning the run loop.
4580
4581        * Plugins/WebPluginController.mm:
4582        (-[WebPluginController addPlugin:]):
4583
45842009-03-16  Anders Carlsson  <andersca@apple.com>
4585
4586        Reviewed by Sam Weinig.
4587
4588        Fix <rdar://problem/6622601>
4589
4590        Make sure to update both the window frame and the plug-in frame.
4591
4592        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
4593        (-[WebHostedNetscapePluginView addWindowObservers]):
4594
45952009-03-15  Dan Bernstein  <mitz@apple.com>
4596
4597        Reviewed by Adele Peterson.
4598
4599        - fix <rdar://problem/6607773> WebKit should support the "Default"
4600          paragraph writing direction -- or at least validate the menu item
4601          appropriately
4602
4603        Made WebHTMLView validate user interface items with the selector
4604        -makeBaseWritingDirectionNatural: by returning NO and, if the item is
4605        a menu item, setting its state to "off".
4606
4607        Strictly speaking, since -makeBaseWritingDirectionNatural: is never
4608        valid for WebViews, WebHTMLView should not need to respond to it and
4609        validate it, however because other responders respond to all three
4610        -makeBaseWritingDirection*: messages and set the menu item state, having
4611        WebHTMLView do the same makes application developers' lives easier.
4612
4613        * WebView/WebHTMLView.mm:
4614        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
4615        (-[WebHTMLView makeBaseWritingDirectionNatural:]):
4616
46172009-03-13  Mark Rowe  <mrowe@apple.com>
4618
4619        Rubber-stamped by Dan Bernstein.
4620
4621        Take advantage of the ability of recent versions of Xcode to easily switch the active
4622        architecture.
4623
4624        * Configurations/DebugRelease.xcconfig:
4625
46262009-03-13  Anders Carlsson  <andersca@apple.com>
4627
4628        Reviewed by Kevin Decker and Geoffrey Garen.
4629
4630        <rdar://problem/6590384>
4631        REGRESSION (Safari 3-4): Tiger-only Crash occurs at WebView hostWindow () after reloading a set of tabs then quitting
4632
4633        When we're doing fast teardown, plug-in views can be destroyed from -[WebView dealloc]'s [super dealloc] call,
4634        and thus calling -[WebView hostWindow] will crash since _private is nil.
4635
4636        * WebView/WebView.mm:
4637        (-[WebView hostWindow]):
4638
46392009-03-13  Anders Carlsson  <andersca@apple.com>
4640
4641        And yet another attempt...
4642
4643        * Plugins/WebNetscapePluginEventHandlerCocoa.h:
4644        (WebNetscapePluginEventHandlerCocoa::installKeyEventHandler):
4645        (WebNetscapePluginEventHandlerCocoa::removeKeyEventHandler):
4646        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
4647
46482009-03-13  Anders Carlsson  <andersca@apple.com>
4649
4650        Another attempt at fixing the build.
4651
4652        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
4653        (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
4654
46552009-03-13  Anders Carlsson  <andersca@apple.com>
4656
4657        Try to fix the SL build.
4658
4659        * Plugins/WebNetscapePluginEventHandlerCocoa.h:
4660        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
4661        (WebNetscapePluginEventHandlerCocoa::keyDown):
4662
46632009-03-13  Greg Bolsinga  <bolsinga@apple.com>
4664
4665        Reviewed by Simon Fraser.
4666
4667        Update Geolocation perimission dialogs to be asynchronous.
4668        https://bugs.webkit.org/show_bug.cgi?id=24505
4669
4670        WebGeolocation is a wrapper around WebCore::Geolocation. It mimics the
4671        coding style set by WebSecurityOrigin.
4672
4673        WebChromeClient now calls the private UI delegate method
4674        -webView:frame:requestGeolocationPermission:securityOrigin:
4675
4676        * WebCoreSupport/WebChromeClient.h:
4677        * WebCoreSupport/WebChromeClient.mm:
4678        (WebChromeClient::requestGeolocationPermissionForFrame):
4679        * WebCoreSupport/WebGeolocation.mm: Added.
4680        (WebCore::if):
4681        (-[WebGeolocation shouldClearCache]):
4682        (-[WebGeolocation setIsAllowed:]):
4683        (-[WebGeolocation dealloc]):
4684        * WebCoreSupport/WebGeolocationInternal.h: Added.
4685        * WebCoreSupport/WebGeolocationPrivate.h: Added.
4686        * WebView/WebUIDelegatePrivate.h:
4687
46882009-03-13  Anders Carlsson  <andersca@apple.com>
4689
4690        Reviewed by Dan Bernstein.
4691
4692        <rdar://problem/6610666> Revise the Cocoa event model text API
4693
4694        Replace the text input API with a simpler API that uses a separate text input window.
4695
4696        * Plugins/WebNetscapePluginEventHandlerCocoa.h:
4697        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
4698        (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
4699        Initialize m_keyEventHandler to 0.
4700
4701        (WebNetscapePluginEventHandlerCocoa::keyDown):
4702        If the plug-in returns 0 from NPP_HandleEvent, pass the event to the TSM machinery.
4703
4704        (WebNetscapePluginEventHandlerCocoa::focusChanged):
4705        Install/remove the key event handler as needed.
4706
4707        (WebNetscapePluginEventHandlerCocoa::handleTSMEvent):
4708        Get the text and send a TextInput event.
4709
4710        * Plugins/WebNetscapePluginView.h:
4711        * Plugins/WebNetscapePluginView.mm:
4712        Remove the old text input API.
4713
4714        (-[WebNetscapePluginView inputContext]):
4715        Always return nil here.
4716
4717        * Plugins/npapi.mm:
4718        * Plugins/nptextinput.h: Removed.
4719
47202009-03-12  Anders Carlsson  <andersca@apple.com>
4721
4722        Reviewed by Mike Thole and Mark Rowe.
4723
4724        Fix <rdar://problem/6624105>.
4725
4726        Make sure to process incoming messages for the NSEventTrackingRunLoopMode as well.
4727
4728        * Plugins/Hosted/NetscapePluginHostProxy.mm:
4729        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
4730
47312009-03-12  Anders Carlsson  <andersca@apple.com>
4732
4733        Reviewed by Geoffrey Garen.
4734
4735        WebKit side of <rdar://problem/6607801>
4736
4737        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4738        (WebKit::NetscapePluginInstanceProxy::destroy):
4739        Pass a requestID to _WKPCDestroyPluginInstance and wait until we get a reply back.
4740
4741        * Plugins/Hosted/WebKitPluginHost.defs:
4742        Add requestID parameter.
4743
47442009-03-12  Kevin Decker  <kdecker@apple.com>
4745
4746        Reviewed by Anders Carlsson.
4747
4748        * Plugins/WebNetscapePluginPackage.mm:
4749        (-[WebNetscapePluginPackage _unloadWithShutdown:]): Simply a small SUPPORT_CFM code block.
4750
47512009-03-12  Kevin Decker  <kdecker@apple.com>
4752
4753        Reviewed by Anders Carlsson.
4754
4755        Fixed: <rdar://problem/5815862> Opening a subclassed NSWindow from a Safari plugin causes Safari to crash on Quit
4756
4757        This fix addresses crashes in both Silverlight and ChemDraw.  This type of crash would occur because AppKit still
4758        had a reference to open windows that the plugin created (which no longer exist).
4759
4760        * Plugins/WebNetscapePluginPackage.mm:
4761        (-[WebNetscapePluginPackage _unloadWithShutdown:]): Do not unload the plug-in bundle on browser shutdown.
4762
47632009-03-11  David Kilzer  <ddkilzer@apple.com>
4764
4765        Remove duplicate header include
4766
4767        Rubber-stamped by Mark Rowe.
4768
4769        * WebView/WebView.mm: Remove duplicate #include <runtime/InitializeThreading.h>.
4770        Also realphabetized lowercase #include statements.
4771
47722009-03-11  David Kilzer  <ddkilzer@apple.com>
4773
4774        Clarify comments regarding order of FEATURE_DEFINES
4775
4776        Rubber-stamped by Mark Rowe.
4777
4778        * Configurations/WebKit.xcconfig: Added warning about the
4779        consequences when FEATURE_DEFINES are not kept in sync.
4780
47812009-03-11  Anders Carlsson  <andersca@apple.com>
4782
4783        Reviewed by Sam Weinig.
4784
4785        WebKit side of <rdar://problem/6656147>.
4786
4787        * Plugins/Hosted/NetscapePluginHostManager.mm:
4788        (WebKit::NetscapePluginHostManager::instantiatePlugin):
4789        Pass the requestID to _WKPHInstantiatePlugin.
4790
4791        * Plugins/Hosted/NetscapePluginHostProxy.mm:
4792        Pass the requestID to setCurrentReply.
4793
4794        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
4795        (WebKit::NetscapePluginInstanceProxy::setCurrentReply):
4796        Store the reply in a map with the requestID as the key.
4797
4798        (WebKit::NetscapePluginInstanceProxy::waitForReply):
4799        Wait for a reply that matches the given requestID.
4800
4801        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4802        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
4803        Initialize member variables.
4804
4805        (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
4806        Delete all requests.
4807
4808        (WebKit::NetscapePluginInstanceProxy::print):
4809        Pass the requestID to _WKPHPluginInstancePrint.
4810
4811        (WebKit::NetscapePluginInstanceProxy::loadRequest):
4812        Rename m_currentRequestID to m_currentURLRequestID.
4813
4814        (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
4815        Process requests until we find a reply with the right requestID.
4816
4817        (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
4818        Pass a requestID to the _WKPH function.
4819
4820        (WebKit::NetscapePluginInstanceProxy::nextRequestID):
4821        Ditto.
4822
4823        * Plugins/Hosted/ProxyInstance.mm:
4824        Pass a requestID to the _WKPH functions.
4825
4826        * Plugins/Hosted/WebKitPluginClient.defs:
4827        * Plugins/Hosted/WebKitPluginHost.defs:
4828        Add requestID parameters.
4829
48302009-03-11  Anders Carlsson  <andersca@apple.com>
4831
4832        Reviewed by Darin Adler.
4833
4834        Fix <rdar://problem/6620064>.
4835
4836        * Plugins/WebPluginContainerPrivate.h:
4837
48382009-03-10  Xan Lopez  <xlopez@igalia.com>
4839
4840        Build fix, no review.
4841
4842        * WebView/WebFrame.mm:
4843        (-[WebFrame _smartDeleteRangeForProposedRange:]):
4844
48452009-03-09  Anders Carlsson  <andersca@apple.com>
4846
4847        Reviewed by Kevin Decker.
4848
4849        WebKit side of <rdar://problem/6530007>
4850
4851        * Plugins/Hosted/NetscapePluginHostProxy.mm:
4852        (WKPCEnumerate):
4853        Call NetscapePluginInstanceProxy::enumerate.
4854
4855        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
4856        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4857        (WebKit::NetscapePluginInstanceProxy::enumerate):
4858        Enumerate the JS object and serialize its values.
4859
4860        * Plugins/Hosted/ProxyInstance.h:
4861        * Plugins/Hosted/ProxyInstance.mm:
4862        (WebKit::ProxyInstance::getPropertyNames):
4863        Ask the plug-in host to get the property names and deserialize them.
4864
4865        * Plugins/Hosted/WebKitPluginClient.defs:
4866        * Plugins/Hosted/WebKitPluginHost.defs:
4867
48682009-03-09  Simon Fraser  <simon.fraser@apple.com>
4869
4870        Reviewed by Oliver Hunt and Cameron Zwarich
4871
4872        https://bugs.webkit.org/show_bug.cgi?id=24440
4873
4874        The sublayer added to WebHTMLView to host accelerated compositing layers needs to
4875        be a subclass of NSView which allows context menu clicks through.
4876
4877        * WebView/WebHTMLView.mm:
4878        (-[WebLayerHostingView rightMouseDown:]):
4879        (-[WebHTMLView attachRootLayer:]):
4880
48812009-03-08  Mark Rowe  <mrowe@apple.com>
4882
4883        Reviewed by Oliver Hunt.
4884
4885        Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that
4886        Frame.h no longer needs to include it.  This cuts the size of the symbols
4887        for a debug build by around 3%.
4888
4889        * Plugins/WebNetscapePluginView.mm:
4890        * WebView/WebFrame.mm:
4891        (-[WebFrame _scrollDOMRangeToVisible:]):
4892        (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
4893        (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
4894        * WebView/WebHTMLView.mm:
4895        (-[WebHTMLView jumpToSelection:]):
4896        (-[WebHTMLView centerSelectionInVisibleArea:]):
4897
48982009-03-07  Dan Bernstein  <mitz@apple.com>
4899
4900        Reviewed by Alexey Proskuryakov.
4901
4902        - fix a bug where debug builds were clearing the HTML5 application cache
4903          on application termination
4904
4905        * WebView/WebView.mm:
4906        (-[WebView _close]): Call -[WebCache setDisabled:YES] instead of
4907        -[WebCache empty].
4908
49092009-03-06  Douglas R. Davidson  <ddavidso@apple.com>
4910
4911        Reviewed by Justin Garcia.
4912
4913        https://bugs.webkit.org/show_bug.cgi?id=24108
4914
4915        Update spelling and grammar checking to use the new combined text
4916        checking (with automatic language identification) on Snow Leopard.
4917
4918        * WebCoreSupport/WebEditorClient.h:
4919        * WebCoreSupport/WebEditorClient.mm:
4920        (WebEditorClient::checkSpellingAndGrammarOfParagraph):
4921
49222009-03-05  Adele Peterson  <adele@apple.com>
4923
4924        Reviewed by Darin Adler.
4925
4926        Fix for https://bugs.webkit.org/show_bug.cgi?id=24079
4927        <rdar://problem/6611233> REGRESSION (r39549): Page loads cannot be interrupted with Command-. or Escape
4928        <rdar://problem/6636563> Ctrl-tab shortcut doesn't switch tabs when focus is in text field
4929
4930        * WebView/WebHTMLView.mm: (-[WebHTMLView doCommandBySelector:]):
4931        If WebKit does not support the command, we need to pass the selector to super.  In this case,
4932        we'll consider the event not to be handled.  This is not perfect because in theory, [super doCommandBySelector:]
4933        can do some action that would cause WebKit to need to consider the event handled.  But in practice, I've found no
4934        example of that happening and causing broken behavior.
4935
49362009-03-04  Mark Rowe  <mrowe@apple.com>
4937
4938        Reviewed by Dan Bernstein.
4939
4940        <rdar://problem/6206172> Adoption of new Cocoa API for dictionary contextual menu
4941
4942        * WebView/WebHTMLView.mm:
4943        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
4944
49452009-03-04  Adam Barth  <abath@webkit.org>
4946
4947        Reviewed by Alexey Proskuryakov.
4948
4949        https://bugs.webkit.org/show_bug.cgi?id=24356
4950
4951        Fix WebKit style for allowUniversalAccessFromFileURLs.
4952
4953        * WebView/WebPreferenceKeysPrivate.h:
4954        * WebView/WebPreferences.mm:
4955        (+[WebPreferences initialize]):
4956        (-[WebPreferences allowUniversalAccessFromFileURLs]):
4957        (-[WebPreferences setAllowUniversalAccessFromFileURLs:]):
4958        * WebView/WebPreferencesPrivate.h:
4959        * WebView/WebView.mm:
4960        (-[WebView _preferencesChangedNotification:]):
4961
49622009-03-03  David Kilzer  <ddkilzer@apple.com>
4963
4964        <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase
4965
4966        Reviewed by Mark Rowe.
4967
4968        The fix is to add INSTALLHDRS_COPY_PHASE = YES and
4969        INSTALLHDRS_SCRIPT_PHASE = YES to WebKit.xcconfig, then to
4970        make sure various build phase scripts work with the installhdrs
4971        build phase.
4972
4973        * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME
4974        based on PLATFORM_NAME to work around the missing definition on
4975        Tiger.
4976        * Configurations/WebKit.xcconfig: Added
4977        WEBCORE_PRIVATE_HEADERS_DIR variable to remove definition of
4978        UMBRELLA_FRAMEWORKS_DIR for Debug and Release builds in the
4979        Xcode project file.  Added INSTALLHDRS_COPY_PHASE = YES and
4980        INSTALLHDRS_SCRIPT_PHASE = YES.
4981
49822009-03-03  David Kilzer  <ddkilzer@apple.com>
4983
4984        Remove last vestiges of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR from WebKit
4985
4986        Reviewed by Adam Roben.
4987
4988        Use of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR was removed in r37465
4989        since NPAPI headers had migrated from JavaScriptCore to WebCore
4990        before that.
4991
4992        * Configurations/WebKit.xcconfig: Removed definition of
4993        JAVASCRIPTCORE_PRIVATE_HEADERS_DIR used in Production builds.
4994
49952009-03-03  Anders Carlsson  <andersca@apple.com>
4996
4997        Reviewed by Darin Adler.
4998
4999        Fix <rdar://problem/6633834>.
5000
5001        * Plugins/Hosted/NetscapePluginHostManager.mm:
5002        (WebKit::NetscapePluginHostManager::instantiatePlugin):
5003        Create a new plug-in instance if the plug-in host has crashed.
5004
5005        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5006        (WebKit::NetscapePluginInstanceProxy::invalidate):
5007        Add a null check for the plug-in host proxy.
5008
50092009-03-02  Sam Weinig  <sam@webkit.org>
5010
5011        Reviewed by Mark Rowe.
5012
5013        Enable Geolocation (except on Tiger and Leopard).
5014
5015        * Configurations/WebKit.xcconfig:
5016
50172009-03-02  Anders Carlsson  <andersca@apple.com>
5018
5019        Reviewed by Dan Bernstein.
5020
5021        WebKit part of <rdar://problem/6638658>.
5022
5023        * Plugins/Hosted/NetscapePluginHostManager.h:
5024        * Plugins/Hosted/NetscapePluginHostManager.mm:
5025        (WebKit::NetscapePluginHostManager::createPropertyListFile):
5026        Spawn the plug-in host and wait for it to create the property list.
5027
5028        * Plugins/WebBasePluginPackage.mm:
5029        (-[WebBasePluginPackage createPropertyListFile]):
5030        Factor code out into a new method.
5031
5032        (-[WebBasePluginPackage pListForPath:createFile:]):
5033        Call the newly added createPropertyListFile method.
5034
5035        * Plugins/WebNetscapePluginPackage.mm:
5036        (-[WebNetscapePluginPackage createPropertyListFile]):
5037        Tell the plug-in host manager to create a property list file for us.
5038
50392009-03-02  Sam Weinig  <sam@webkit.org>
5040
5041        Reviewed by Geoffrey Garen.
5042
5043        Fix for <rdar://problem/6507404> Add Geolocation support.
5044
5045        This is not yet turned on for any Mac platform.
5046
5047        Add SPI to ask the embedding application whether to allow
5048        Geolocation for an origin.
5049
5050        * WebCoreSupport/WebChromeClient.h:
5051        * WebCoreSupport/WebChromeClient.mm:
5052        (WebChromeClient::shouldAllowGeolocationForFrame):
5053        * WebView/WebUIDelegatePrivate.h:
5054
50552009-03-02  Anders Carlsson  <andersca@apple.com>
5056
5057        Fix PowerPC build.
5058
5059        * Plugins/WebNetscapePluginPackage.mm:
5060        (-[WebNetscapePluginPackage _tryLoad]):
5061
50622009-03-02  Anders Carlsson  <andersca@apple.com>
5063
5064        Reviewed by John Sullivan, Ada Chan.
5065
5066        Factor loading code out into its own method and get rid of a bunch of gotos.
5067
5068        * Plugins/WebNetscapePluginPackage.mm:
5069        (-[WebNetscapePluginPackage _tryLoad]):
5070        (-[WebNetscapePluginPackage load]):
5071
50722009-03-02  Anders Carlsson  <andersca@apple.com>
5073
5074        Build fix.
5075
5076        * Plugins/WebNetscapeDeprecatedFunctions.h:
5077
50782009-03-02  Anders Carlsson  <andersca@apple.com>
5079
5080        Reviewed by John Sullivan.
5081
5082        Rename WebNetscapePluginPackage.m to WebNetscapePluginPackage.mm
5083
5084        * Plugins/WebNetscapePluginPackage.m: Removed.
5085        * Plugins/WebNetscapePluginPackage.mm: Copied from mac/Plugins/WebNetscapePluginPackage.m.
5086
50872009-03-01  Anders Carlsson  <andersca@apple.com>
5088
5089        Reviewed by Sam Weinig.
5090
5091        WebKit side of <rdar://problem/6449689>
5092
5093        Pass the visible name to the plug-in host.
5094
5095        * Plugins/Hosted/NetscapePluginHostManager.mm:
5096        (WebKit::NetscapePluginHostManager::spawnPluginHost):
5097
50982009-02-27  Alice Liu  <alice.liu@apple.com>
5099
5100        Fix <rdar://problem/6531265> REGRESSION (r39185): adding ".jpeg"
5101        extension to images that already have .jpg extension
5102
5103        Reviewed by Oliver Hunt.
5104
5105        * WebView/WebHTMLView.mm:
5106        (-[NSString matchesExtensionEquivalent:]):
5107        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
5108        Relax the check for the proper extension to allow for known
5109        equivalents, special-cased in matchesExtensionEquivalent function.
5110
51112009-02-27  Anders Carlsson  <andersca@apple.com>
5112
5113        Reviewed by Geoffrey Garen.
5114
5115        <rdar://problem/6631436>
5116        CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::addValueToArray + 55
5117
5118        Port the NPN_Evaluate code over from WebCore instead of using the frame loader.
5119
5120        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5121        (WebKit::NetscapePluginInstanceProxy::evaluate):
5122
51232009-02-27  Anders Carlsson  <andersca@apple.com>
5124
5125        Reviewed by Geoffrey Garen.
5126
5127        WebKit side of <rdar://problem/6626814>.
5128
5129        * Plugins/Hosted/NetscapePluginHostProxy.mm:
5130        (WKPCInvokeDefault):
5131        Make InvokeDefault async.
5132
5133        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5134        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
5135        Handle passing NPObjects back to the plug-in host.
5136
5137        * Plugins/Hosted/ProxyInstance.h:
5138        (WebKit::ProxyInstance::objectID):
5139        Add objectID getter.
5140
5141        * Plugins/Hosted/WebKitPluginClient.defs:
5142        Make InvokeDefault a simpleroutine.
5143
51442009-02-27  Timothy Hatcher  <timothy@apple.com>
5145
5146        Fixes an exception by null checking the WebResource before adding it to
5147        the subresources array.
5148
5149        <rdar://problem/5950769> Bug in [WebDataSource subresources] can throw an exception
5150
5151        Reviewed by Geoff Garen and Anders Carlsson.
5152
5153        * WebView/WebDataSource.mm:
5154        (-[WebDataSource subresources]): Null check the WebResource before adding it.
5155
51562009-02-27  Timothy Hatcher  <timothy@apple.com>
5157
5158        Adds a workaround for Automator creating a WebView from a secondary thread.
5159
5160        <rdar://problem/6631951> REGRESSION (Safari 4 Beta): Automator crash on
5161        secondary thread beneath -[WebView initWithFrame:frameName:groupName:]
5162
5163        Reviewed by Geoff Garen.
5164
5165        * WebView/WebView.mm:
5166        (needsWebViewInitThreadWorkaround): Check for com.apple.Automator.
5167
51682009-02-27  Adam Barth  <abarth@webkit.org>
5169
5170        Reviewed by Eric Seidel.
5171
5172        Add a preference to reduce the power of file:// URLs.
5173
5174        * WebView/WebPreferenceKeysPrivate.h:
5175        * WebView/WebPreferences.mm:
5176        (+[WebPreferences initialize]):
5177        (-[WebPreferences allowUniversalAccessFromFileUrls]):
5178        (-[WebPreferences setAllowUniversalAccessFromFileUrls:]):
5179        * WebView/WebPreferencesPrivate.h:
5180        * WebView/WebView.mm:
5181        (-[WebView _preferencesChangedNotification:]):
5182
51832009-02-27  Simon Fraser  <simon.fraser@apple.com>
5184
5185        Reviewed by Anders Carlsson
5186
5187        https://bugs.webkit.org/show_bug.cgi?id=24242
5188
5189        setCursor(), and resetCursorRects() on Tiger, were using global, not local
5190        coordinates for elementAtPoint:
5191
5192        * WebView/WebHTMLView.mm:
5193        (resetCursorRects):
5194        (setCursor):
5195
51962009-02-27  Adam Barth  <abarth@webkit.org>
5197
5198        Reviewed by Eric Seidel.
5199
5200        Add a preference to reduce the power of file:// URLs.
5201
5202        * WebView/WebPreferenceKeysPrivate.h:
5203        * WebView/WebPreferences.mm:
5204        (+[WebPreferences initialize]):
5205        (-[WebPreferences allowUniversalAccessFromFileUrls]):
5206        (-[WebPreferences setAllowUniversalAccessFromFileUrls:]):
5207        * WebView/WebPreferencesPrivate.h:
5208        * WebView/WebView.mm:
5209        (-[WebView _preferencesChangedNotification:]):
5210
52112009-02-26  Adele Peterson  <adele@apple.com>
5212
5213        Reviewed by Geoff Garen.
5214
5215        Fix for <rdar://problem/6618166>
5216        https://bugs.webkit.org/show_bug.cgi?id=24216
5217        (REGRESSION r36919) Safari 4 Beta causes MSN Messenger's text entry field to lose focus after entering a message
5218
5219        During a series of firstResponder changes, at some point while the WebHTMLView was losing first responder status,
5220        we incorrectly marked the page as active, and then when the WebHTMLView became first responder again, setActive did nothing.
5221        This change restores behavior from before r36919 to check if the WebHTMLView is in the middle of losing first responder when calling setActive.
5222
5223        In addition to updating editing/selection/designmode-no-caret.html results, I also made sure the test cases that were
5224        fixed in r36919 and r38570 are still fixed.
5225
5226        * WebView/WebHTMLView.mm:
5227        (-[WebHTMLView resignFirstResponder]): Keep track if we're in the process of resigning first responder.
5228        (-[WebHTMLView _isResigningFirstResponder]): Added.
5229        * WebView/WebHTMLViewInternal.h:
5230        * WebView/WebView.mm: (-[WebView _updateFocusedAndActiveStateForFrame:]): Don't set the page to be active
5231        if the document view is currently resigning first responder.
5232
52332009-02-25  Anders Carlsson  <andersca@apple.com>
5234
5235        Reviewed by Kevin Decker.
5236
5237        Fix <rdar://problem/6623697>.
5238
5239        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
5240        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5241        (WebKit::NetscapePluginInstanceProxy::print):
5242        Ask the plug-in host to print, create a CGImage of the returned bytes and draw
5243        the image into the passed in context.
5244
5245        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
5246        (-[WebHostedNetscapePluginView drawRect:]):
5247        When printing, call NetscapePluginInstanceProxy::print.
5248
5249        * Plugins/Hosted/WebKitPluginHost.defs:
5250
52512009-02-19  Alexey Proskuryakov  <ap@webkit.org>
5252
5253        Reviewed by Darin Adler.
5254
5255        https://bugs.webkit.org/show_bug.cgi?id=24024
5256        REGRESSION (r39845): Assertion failure in -[WebHistoryItem dictionaryRepresentation] when
5257        archiving a submission to about:blank
5258
5259        I don't know how to make an automated test for this bug.
5260
5261        * History/WebHistory.mm: (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
5262        Account for the fact that HTTP method may be non-empty for non-HTTP requests.
5263
52642009-02-25  Chris Fleizach  <cfleizach@apple.com>
5265
5266        Reviewed by Beth Dakin.
5267
5268        Naming change from
5269        Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
5270        https://bugs.webkit.org/show_bug.cgi?id=24143
5271
5272        * WebView/WebFrame.mm:
5273        (-[WebFrame _accessibilityTree]):
5274
52752009-02-25  Simon Fraser  <simon.fraser@apple.com>
5276
5277        Build fix with ACCELERATED_COMPOSITING turned on.
5278
5279        I missed a spot in my last commit in renaming to
5280        _stoppedAcceleratedCompositingForFrame:
5281
5282        * WebView/WebHTMLView.mm:
5283        (-[WebHTMLView close]):
5284
52852009-02-25  Simon Fraser  <simon.fraser@apple.com>
5286
5287        Reviewed by Dan Bernstein
5288
5289        https://bugs.webkit.org/show_bug.cgi?id=23854
5290
5291        Make an observable property, _isUsingAcceleratedCompositing, on
5292        WebView that DumpRenderTree can use to specialize behavior.
5293
5294        This is implemented via a count of Frames that are using
5295        accelerated compositing.
5296
5297        * WebView/WebHTMLView.mm:
5298        (-[WebHTMLViewPrivate clear]):
5299        (-[WebHTMLView close]):
5300        (-[WebHTMLView attachRootLayer:]):
5301        (-[WebHTMLView detachRootLayer]):
5302        * WebView/WebView.mm:
5303        (+[WebView automaticallyNotifiesObserversForKey:]):
5304        (-[WebView _startedAcceleratedCompositingForFrame:]):
5305        (-[WebView _stoppedAcceleratedCompositingForFrame:]):
5306        (-[WebView _isUsingAcceleratedCompositing]):
5307        * WebView/WebViewInternal.h:
5308        * WebView/WebViewPrivate.h:
5309
53102009-02-24  Sam Weinig  <sam@webkit.org>
5311
5312        Reviewed by Geoffrey Garen.
5313
5314        Related to <rdar://problem/6590295>
5315        Allow disabling javascript: urls.
5316
5317        * WebView/WebView.mm:
5318        (-[WebView _setJavaScriptURLsAreAllowed:]):
5319        * WebView/WebViewPrivate.h:
5320
53212009-02-24  Mark Rowe  <mrowe@apple.com>
5322
5323        Reviewed by Oliver Hunt.
5324
5325        <rdar://problem/6259220> Rename AVAILABLE_AFTER_WEBKIT_VERSION_3_1 (etc.) to match the other macros
5326
5327        * Carbon/CarbonUtils.h:
5328        * Carbon/HIWebView.h:
5329        * Plugins/WebPlugin.h:
5330        * Plugins/WebPluginViewFactory.h:
5331        * WebView/WebUIDelegate.h:
5332
53332009-02-24  Peter Ammon  <pammon@apple.com>
5334
5335        Reviewed by Mark Rowe.
5336
5337        Fix <rdar://problem/6251410> Services can modify non-editable content in Safari
5338
5339        * WebView/WebHTMLView.mm:
5340        (-[WebHTMLView validRequestorForSendType:returnType:]): Return self only if we can handle
5341        both the send and return type.  We should also handle a nil send or return type by ignoring
5342        the argument and returning whether we can handle the other type passed in.
5343
53442009-02-23  Anders Carlsson  <andersca@apple.com>
5345
5346        Reviewed by Geoffrey Garen and Darin Adler.
5347
5348        WebKit side of <rdar://problem/6613151>.
5349
5350        Make sure to vm_deallocate all memory we get from MIG callbacks.
5351
5352        * Plugins/Hosted/NetscapePluginHostProxy.mm:
5353        (DataDeallocator::DataDeallocator):
5354        (DataDeallocator::~DataDeallocator):
5355        Add a simple deallocator class.
5356
5357        (WKPCStatusText):
5358        (WKPCLoadURL):
5359        (WKPCBooleanAndDataReply):
5360        (WKPCEvaluate):
5361        (WKPCGetStringIdentifier):
5362        (WKPCInvoke):
5363        (WKPCInvokeDefault):
5364        (WKPCConstruct):
5365        (WKPCSetProperty):
5366        Use the new deallocator class.
5367
53682009-02-23  Anders Carlsson  <andersca@apple.com>
5369
5370        Reviewed by Darin Adler.
5371
5372        Fix <rdar://problem/6450656>.
5373
5374        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
5375        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5376        (WebKit::NetscapePluginInstanceProxy::insertText):
5377        Add insert text which just calls the new WKPH function.
5378
5379        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
5380        (-[WebHostedNetscapePluginView inputContext]):
5381        Get the input context from the shared input panel.
5382
5383        (-[WebHostedNetscapePluginView keyDown:]):
5384        Let the shared input panel have a go at the event first.
5385
5386        * Plugins/Hosted/WebKitPluginHost.defs:
5387        Add new InsertText function.
5388
53892009-02-23  Mark Rowe  <mrowe@apple.com>
5390
5391        Fix the build after r41126.
5392
5393        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5394        (WebKit::NetscapePluginInstanceProxy::invoke):
5395        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
5396        (WebKit::NetscapePluginInstanceProxy::construct):
5397
53982009-02-22  Dan Bernstein  <mitz@apple.com>
5399
5400        Reviewed by Darin Adler.
5401
5402        - fix <rdar://problem/5966123> REGRESSION (r30741): Generic Sun Applet loading logo appears half off screen
5403
5404        * WebCoreSupport/WebFrameLoaderClient.mm: Correct a copy & paste error
5405        in r30741, and assign the height value, rather than the width, to the
5406        "height" parameter.
5407
54082009-02-21  Anders Carlsson  <andersca@apple.com>
5409
5410        Fix build.
5411
5412        * Plugins/Hosted/WebTextInputWindowController.m:
5413
54142009-02-20  Anders Carlsson  <andersca@apple.com>
5415
5416        Reviewed by Dan Bernstein.
5417
5418        Add a shared floating text input window implementation, to be used by the hosted plug-in view.
5419
5420        * Plugins/Hosted/WebTextInputWindowController.h: Added.
5421        * Plugins/Hosted/WebTextInputWindowController.m: Added.
5422
54232009-02-20  Kevin Decker  <kdecker@apple.com>
5424
5425        Reviewed by andersca.
5426
5427        <rdar://problem/6496140> Safari sometimes hangs in WKSetMetadataURL for several seconds after downloading a file
5428
5429         Spawn a background thread for WKSetMetadataURL because this function will not return until mds has journaled the data
5430         we are trying to set. Depending on what other I/O is going on, it can take some time.
5431
5432        * Misc/WebNSFileManagerExtras.m: Import pthread.h and FoundationExtras.h
5433        (setMetaData): Added. Calls WKSetMetadataURL().
5434        (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Call setMetaData on a background thread
5435
54362009-02-19  Dan Bernstein  <mitz@apple.com>
5437
5438        Reviewed by Sam Weinig.
5439
5440        - WebKit part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
5441          Do not send loader callbacks during CSS styling
5442
5443        * WebView/WebView.mm:
5444        (-[WebView _preferencesChangedNotification:]): Reverted the
5445        iChat-specific quirk added in <http://trac.webkit.org/changeset/41071>.
5446
54472009-02-18  Dan Bernstein  <mitz@apple.com>
5448
5449        Reviewed by Brady Eidson.
5450
5451        - WebKit part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
5452
5453        * WebView/WebView.mm:
5454        (-[WebView _preferencesChangedNotification:]): Activate the WebCore
5455        workaround for this crash in iChat.
5456
54572009-02-18  Anders Carlsson  <andersca@apple.com>
5458
5459        Reviewed by Sam Weinig.
5460
5461        Fix for <rdar://problem/6542390>
5462
5463        There's no need to call setDefersLoading here - we already defer anything a plug-in can do that
5464        would cause a load to begin.
5465
5466        * Plugins/WebNetscapePluginView.mm:
5467        (-[WebNetscapePluginView sendEvent:isDrawRect:]):
5468
54692009-02-18  Adam Roben  <aroben@apple.com>
5470
5471        Add SPI to get WebKit's custom pointing-hand cursor
5472
5473        Reviewed by John Sullivan.
5474
5475        * WebView/WebView.mm:
5476        (+[WebView _pointingHandCursor]): Added. Returns the custom
5477        pointing-hand cursor that WebKit uses.
5478        * WebView/WebViewPrivate.h: Added +_pointingHandCursor.
5479
54802009-02-17  Eric Carlson  <eric.carlson@apple.com>
5481
5482        Reviewed by Antti Koivisto.
5483
5484        https://bugs.webkit.org/show_bug.cgi?id=23917
5485        Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
5486        element.
5487
5488        * Plugins/WebPluginContainerPrivate.h:
5489        * Plugins/WebPluginController.mm:
5490        (mediaProxyClient): New, cast to HTMLMediaElement if it is a video or audio element
5491        (-[WebPluginController _setMediaPlayerProxy:forElement:]): New, pass proxy to HTMLMediaElement
5492        (-[WebPluginController _postMediaPlayerNotification:forElement:]): New, deliver event to HTMLMediaElement
5493
5494        * WebCoreSupport/WebFrameLoaderClient.mm:
5495        (WebFrameLoaderClient::createPlugin): Don't allow a media player proxy plug-in to be chosen by
5496        file extension, only want a match for the new MIME type proxy plug-ins should have.
5497
54982009-02-13  Anders Carlsson  <andersca@apple.com>
5499
5500        Reviewed by Kevin Decker.
5501
5502        <rdar://problem/6584834> ESPN radio live stream link hangs Safari
5503
5504        When a plug-in invokes JavaScript code that will destroy the plug-in, we need to
5505        defer destruction until we're done executing the script.
5506
5507        * Plugins/Hosted/NetscapePluginHostProxy.mm:
5508        (WebKit::PluginDestroyDeferrer::PluginDestroyDeferrer):
5509        (WebKit::PluginDestroyDeferrer::~PluginDestroyDeferrer):
5510        Add a simple RAII object for deferring destruction of the plug-in instance.
5511
5512        (WKPCEvaluate):
5513        (WKPCInvoke):
5514        (WKPCInvokeDefault):
5515        (WKPCConstruct):
5516        (WKPCGetProperty):
5517        (WKPCSetProperty):
5518        (WKPCRemoveProperty):
5519        (WKPCHasProperty):
5520        (WKPCHasMethod):
5521        Use the PluginDestroyDeferrer.
5522
5523        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
5524        (WebKit::NetscapePluginInstanceProxy::pluginID):
5525        Assert that the plug-in ID is not 0 here.
5526
5527        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5528        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
5529        Initialize the call depth.
5530
5531        (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
5532        Set the plug-in ID to 0 to aid debugging.
5533
5534        (WebKit::NetscapePluginInstanceProxy::willCallPluginFunction):
5535        Increment the call depth.
5536
5537        (WebKit::NetscapePluginInstanceProxy::didCallPluginFunction):
5538        Decrement the call depth, if it's 0 and we should stop the plug-in, do so.
5539
5540        (WebKit::NetscapePluginInstanceProxy::shouldStop):
5541        If we're called this with a non-zero call depth, set shouldStopSoon to true.
5542
5543        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
5544        (-[WebHostedNetscapePluginView shouldStop]):
5545        Call the proxy.
5546
55472009-02-12  Brady Eidson  <beidson@apple.com>
5548
5549        Reviewed by Kevin Decker
5550
5551        <rdar://problem/6582180> - Wrong HTTP method applied to history item.
5552
5553        * WebCoreSupport/WebFrameLoaderClient.mm:
5554        (WebFrameLoaderClient::updateGlobalHistory): Check the original request, not any
5555          redirected request.
5556
55572009-02-12  Anders Carlsson  <andersca@apple.com>
5558
5559        Reviewed by Kevin Decker.
5560
5561        <rdar://problem/6579412>
5562        REGRESSION (3.2.1-ToT): Crash in Silverlight viewing streaming lecture
5563
5564        * Plugins/WebNetscapePluginView.h:
5565        * Plugins/WebNetscapePluginView.mm:
5566        (-[WebNetscapePluginView userAgent]):
5567        Apply workaround for Silverlight workaround.
5568
5569        (-[WebNetscapePluginView _createPlugin]):
5570        Check if the plug-in that we're creating is the silverlight plug-in.
5571
55722009-02-12  Brady Eidson  <beidson@apple.com>
5573
5574        Reviewed by Darin Adler
5575
5576        Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
5577
5578        * History/WebBackForwardList.mm:
5579        (-[WebBackForwardList dealloc]): Null check before deref()'ing.
5580        (-[WebBackForwardList finalize]): Ditto.
5581
5582        * Misc/WebIconFetcher.mm:
5583        (-[WebIconFetcher dealloc]): Null check before deref()'ing.
5584        (-[WebIconFetcher finalize]): Ditto.
5585
5586        * WebCoreSupport/WebEditorClient.mm: Change to use RefPtr<> instead of ref()/deref().
5587        (-[WebEditCommand initWithEditCommand:]):
5588        (-[WebEditCommand dealloc]):
5589        (-[WebEditCommand finalize]):
5590        (-[WebEditCommand command]):
5591
5592        * WebView/WebArchive.mm: Change to use RefPtr<> instead of ref()/deref().
5593        (-[WebArchivePrivate init]):
5594        (-[WebArchivePrivate initWithCoreArchive:]):
5595        (-[WebArchivePrivate coreArchive]):
5596        (-[WebArchivePrivate setCoreArchive:]):
5597        (-[WebArchivePrivate dealloc]):
5598        (-[WebArchivePrivate finalize]):
5599
5600        * WebView/WebDataSource.mm:
5601        (-[WebDataSourcePrivate dealloc]): Null check before deref()'ing.
5602        (-[WebDataSourcePrivate finalize]): Ditto.
5603
56042009-02-12  Brady Eidson  <beidson@apple.com>
5605
5606        Reviewed by Kevin Decker
5607
5608        <rdar://problem/6579750> - Crash in WebArchivePrivate in Tiger TextEdit
5609
5610        NSHTMLReader tries to create a WebArchive from a random chunk of data.  Previously, WebArchive creation would
5611        fail and return nil and NSHTMLReader would try something else.  When we changed the behavior to return an invalid
5612        WebArchive object, things started getting weird.
5613
5614        * WebView/WebArchive.mm:
5615        (-[WebArchivePrivate setCoreArchive:]): Null check the pointer before calling ->deref()
5616        (-[WebArchivePrivate dealloc]): Remove the ASSERT which is now invalid, and null check the pointer before ->deref().
5617        (-[WebArchivePrivate finalize]): Ditto
5618        (-[WebArchive initWithData:]): If the LegacyWebArchive cannot be created, return nil instead of an invalid object.
5619
56202009-02-11  Mark Rowe  <mrowe@apple.com>
5621
5622        Fix the build.
5623
5624        * History/WebHistory.mm:
5625        (-[WebHistoryPrivate visitedURL:withTitle:]): Use ASSERT_UNUSED in a manner that makes sense.
5626
56272009-02-11  Brady Eidson  <beidson@apple.com>
5628
5629        Reviewed by Mark Rowe
5630
5631        <rdar://problem/6570573> Some visit counts in History.plist have insanely high values, can roll over to negative
5632
5633        Remove the item from the date caches before registering the visit.  Otherwise it might not be successfully removed
5634        and when we add it back later it will exist in the list twice.  This will cause the entry to be written out twice,
5635        which would lead to doubling (or more!) the visit count on next launch when these multiple items are merged.
5636
5637        * History/WebHistory.mm:
5638        (-[WebHistoryPrivate visitedURL:withTitle:]): Swap the removeItemFromDateCaches and visitedWithTitle calls.
5639        (-[WebHistoryPrivate addItem:discardDuplicate:]): Add a mode that allows the entry being added to be discarded
5640          if an entry for the URL already exists.  Use that mode when reading the History.plist so only the most
5641          recent entry for a given URL will be used.
5642        (-[WebHistoryPrivate addItems:]):
5643        (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
5644
56452009-02-11  Dimitri Dupuis-latour  <dupuislatour@apple.com>
5646
5647        Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
5648        This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.
5649
5650        Reviewed by Timothy Hatcher.
5651
5652        * WebCoreSupport/WebInspectorClient.h:
5653        * WebCoreSupport/WebInspectorClient.mm:
5654        (WebInspectorClient::hiddenPanels):
5655
56562009-02-11  Alexey Proskuryakov  <ap@webkit.org>
5657
5658        Reviewed by Darin Adler.
5659
5660        <rdar://problem/6562920> Pasted text should be normalized to NFC
5661
5662        * Misc/WebNSURLExtras.mm: (-[NSURL _web_userVisibleString]): Route the URL string through
5663        -[NSString precomposedStringWithCanonicalMapping].
5664
5665        * WebCoreSupport/WebPasteboardHelper.mm:
5666        (WebPasteboardHelper::plainTextFromPasteboard): Ditto.
5667
5668        * WebView/WebHTMLView.mm:
5669        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
5670        Ditto. The affected cases are all plain text ones - RTF, RTFD and HTML are assumed to be
5671        precomposed already, and the conversion is performed outside WebKit for those anyway.
5672
56732009-02-10  John Sullivan  <sullivan@apple.com>
5674
5675        Reviewed by Dan Bernstein
5676
5677        <https://bugs.webkit.org/show_bug.cgi?id=23889>, <rdar://problem/6572300>
5678        Negative visit counts stored in History.plist aren't corrected.
5679
5680        It's not clear how a huge negative visit count ended up in History.plist, but we can't
5681        trust data read from disk so we can at least reset this to something sane. WebCore has
5682        no guard against a visit count overflowing an int, but that seems very unlikely to have
5683        caused this.
5684
5685        * History/WebHistoryItem.mm:
5686        (-[WebHistoryItem initFromDictionaryRepresentation:]):
5687        If a negative visit count is in the dictionary, replace it with 1. If a negative daily or
5688        weekly visit count is in the dictionary, replace it with 0.
5689
56902009-02-10  John Sullivan  <sullivan@apple.com>
5691
5692        Reviewed by Dan Bernstein
5693
5694        <https://bugs.webkit.org/show_bug.cgi?id=23891>
5695        [WebHistoryItem _setVisitCount:] is unused and should be removed
5696
5697        * History/WebHistoryItem.mm:
5698        (-[WebHistoryItem _setVisitCount:]):
5699        removed this unused method, which is a synonym for setVisitCount: that was introduced
5700        recently and abandoned even more recently
5701
5702        * History/WebHistoryItemInternal.h:
5703        removed declaration of _setVisitCount:
5704
57052009-02-10  Anders Carlsson  <andersca@apple.com>
5706
5707        Reviewed by Mark Rowe.
5708
5709        <rdar://problem/6573916>
5710        CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::pluginHostDied + 25.
5711
5712        * Plugins/Hosted/NetscapePluginHostManager.mm:
5713        (WebKit::NetscapePluginHostManager::instantiatePlugin):
5714        If we failed to instantiate the plug-in, invalidate the instance proxy.
5715
5716        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
5717        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5718        (WebKit::NetscapePluginInstanceProxy::invalidate):
5719        Remove the instance from the plug-in host's set.
5720
5721        (WebKit::NetscapePluginInstanceProxy::destroy):
5722        Call invalidate().
5723
57242009-02-09  Mark Rowe  <mrowe@apple.com>
5725
5726        Reviewed by Dan Bernstein.
5727
5728        Fix <https://bugs.webkit.org/show_bug.cgi?id=23863> / <rdar://problem/6571390>.
5729        Bug 23863: Reproducible crash in Mail with TOT WebKit when creating a new message
5730
5731        * WebView/WebHTMLView.mm:
5732        (-[WebHTMLView _removeMouseMovedObserverUnconditionally]): Nil-check _private as it may have not
5733        yet been initialized if this WebHTMLView was loaded from a nib.
5734        (-[WebHTMLView _removeSuperviewObservers]): Ditto.
5735
57362009-02-09  Eric Seidel  <eric@webkit.org>
5737
5738        Reviewed by Dave Hyatt.
5739
5740        Rename Selection to VisibleSelection to allow us to separate
5741        the selections the user works with from the ones used by
5742        the JS editing APIs.
5743        https://bugs.webkit.org/show_bug.cgi?id=23852
5744
5745        * WebView/WebFrame.mm:
5746        (-[WebFrame _selectNSRange:]):
5747        * WebView/WebView.mm:
5748        (-[WebView textIteratorForRect:]):
5749
57502009-02-06  Anders Carlsson  <andersca@apple.com>
5751
5752        Reviewed by Kevin Decker.
5753
5754        Fix crash when plug-in host dies.
5755
5756        * Plugins/Hosted/HostedNetscapePluginStream.mm:
5757        (WebKit::HostedNetscapePluginStream::didFail):
5758
57592009-02-05  Eric Seidel  <eric@webkit.org>
5760
5761        Reviewed by Justin Garcia.
5762
5763        DOMSelection.getRangeAt() returns a different range than the selection
5764        https://bugs.webkit.org/show_bug.cgi?id=23601
5765
5766        Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range
5767
5768        * WebView/WebFrame.mm:
5769        (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
5770        (-[WebFrame _markDOMRange]):
5771        (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
5772        (-[WebFrame _selectedNSRange]):
5773        * WebView/WebHTMLView.mm:
5774        (-[WebHTMLView _selectedRange]):
5775        (-[WebTextCompleteController doCompletion]):
5776        (-[WebHTMLView selectedAttributedString]):
5777        * WebView/WebView.mm:
5778        (-[WebView textIteratorForRect:]):
5779        (-[WebView selectedDOMRange]):
5780
57812009-02-06  Geoffrey Garen  <ggaren@apple.com>
5782
5783        Reviewed by Sam Weinig.
5784
5785        Part III of <rdar://problem/6552272>.
5786
5787        Refactored to use the redirect data WebCore makes available, instead of
5788        tracking loading state in WebKit.
5789
5790        * History/WebHistory.mm:
5791        (-[WebHistoryPrivate dealloc]):
5792        (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
5793        (-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]):
5794        * History/WebHistoryInternal.h:
5795        * WebCoreSupport/WebFrameLoaderClient.h:
5796        * WebCoreSupport/WebFrameLoaderClient.mm:
5797        (WebFrameLoaderClient::updateGlobalHistory):
5798        (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
5799
58002009-02-06  Anders Carlsson  <andersca@apple.com>
5801
5802        Reviewed by Sam Weinig.
5803
5804        <rdar://problem/6562220>
5805        CrashTracer: [USER] 21 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostProxy::port
5806
5807        Make the handling of crashes in the plug-in host more robust.
5808
5809        * Plugins/Hosted/NetscapePluginHostProxy.h:
5810        Add m_portSet.
5811
5812        * Plugins/Hosted/NetscapePluginHostProxy.mm:
5813        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
5814        Initialize m_portSet.
5815
5816        (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
5817        Free m_portSet.
5818
5819        (WebKit::NetscapePluginHostProxy::processRequests):
5820        Listen for messages on the port set. If we get a message to the port death notification port,
5821        then call pluginHostDied. Otherwise, process the message.
5822
5823        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
5824        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5825        (WebKit::NetscapePluginInstanceProxy::cleanup):
5826        Factor code that should be shared between destroy() and pluginHostDied() into cleanup.
5827
5828        (WebKit::NetscapePluginInstanceProxy::destroy):
5829        Call cleanup().
5830
5831        (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
5832        Call cleanup().
5833
5834        (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
5835        Call NetscapePluginHostProxy::processRequests.
5836
5837        * Plugins/Hosted/ProxyInstance.mm:
5838        (WebKit::ProxyInstance::invalidate):
5839        Add a null check for the host proxy.
5840
58412009-02-06  Dan Bernstein  <mitz@apple.com>
5842
5843        - try to fix the Tiger build
5844
5845        * Misc/WebNSArrayExtras.h:
5846
58472009-02-06  Anders Carlsson  <andersca@apple.com>
5848
5849        Reviewed by Dan Bernstein.
5850
5851        <rdar://problem/6563650>
5852        Add Netscape plug-in API to tell the browser not to load streams (some plug-ins handle network loading manually)
5853
5854        * Plugins/WebNetscapePluginView.mm:
5855        (-[WebNetscapePluginView loadStream]):
5856        (-[WebNetscapePluginView pluginView:receivedData:]):
5857        (-[WebNetscapePluginView _shouldCancelSrcStream]):
5858
58592009-02-05  Maciej Stachowiak  <mjs@apple.com> and Brady Eidson  <beidson@apple.com>
5860
5861        Reviewed by Dan Bernstein and Geoff Garen.
5862
5863        - WebKit code to track per-day and per-week visit counts in history
5864
5865        For now this data is only exposed via SPI for performance reasons.
5866
5867        * History/WebHistoryItem.mm:
5868        (-[WebHistoryItem initFromDictionaryRepresentation:]): Add parsing support
5869        for new data.
5870        (-[WebHistoryItem _recordInitialVisit]): Tell WebCore to record an initial visit.
5871        (-[WebHistoryItem dictionaryRepresentation]): Add saving support for new data.
5872        (-[WebHistoryItem _getDailyVisitCounts:]): SPI accessor.
5873        (-[WebHistoryItem _getWeeklyVisitCounts:]): SPI accessor.
5874        * History/WebHistoryItemInternal.h: Declare new methods.
5875        * History/WebHistoryItemPrivate.h: Ditto.
5876
5877        * History/WebHistory.mm:
5878        (-[WebHistoryPrivate visitedURL:withTitle:]): For the initial visit, use
5879        the new _recordInitialVisit method instead of setting visit count to 1.
5880
5881        * Misc/WebNSArrayExtras.h:
5882        * Misc/WebNSArrayExtras.m:
5883        (-[NSArray _webkit_numberAtIndex:]): Helper to retrieve an NSNumber or nil from an NSArray
5884        (-[NSArray _webkit_stringAtIndex:]): Helper to retrieve an NSString of nil from an NSArray
5885
58862009-02-05  Aaron Boodman  <aa@chromium.org>
5887
5888        Reviewed by Dave Hyatt.
5889
5890        https://bugs.webkit.org/show_bug.cgi?id=23708
5891        Adds documentElementAvailable() callback to FrameLoaderClient.
5892
5893        * WebCoreSupport/WebFrameLoaderClient.h:
5894        Stub out documentElementAvailable().
5895        * WebCoreSupport/WebFrameLoaderClient.mm:
5896        Ditto.
5897
58982009-02-05  Dan Bernstein  <mitz@apple.com>
5899
5900        - build fix
5901
5902        * WebView/WebScriptDebugger.mm:
5903        (WebScriptDebugger::initGlobalCallFrame):
5904
59052009-02-05  Beth Dakin  <bdakin@apple.com>
5906
5907        Reviewed by John Sullivan and Brady Eidson.
5908
5909        Fix for <rdar://problem/6557595> REGRESSION: In Mail, selecting a
5910        mail note message doesn't display it in Mail's preview pane
5911
5912        This was failing because revision 36962 removed a version of
5913        setVerticalScrollingMode that mail calls. This patch simply adds
5914        that method back.
5915
5916        * WebView/WebDynamicScrollBarsView.m:
5917        (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
5918
59192009-02-04  Anders Carlsson  <andersca@apple.com>
5920
5921        Build fix fix.
5922
5923        * WebView/WebScriptDebugger.mm:
5924        (WebScriptDebugger::initGlobalCallFrame):
5925
59262009-02-04  Anders Carlsson  <andersca@apple.com>
5927
5928        Reviewed by Sam Weinig.
5929
5930        Change PCHasProperty, PCHasMethod and PCGetProperty into simpleroutines.
5931
5932        Rename PHEvaluateReply to PHBooleanAndDataReply and add PHBooleanReply.
5933
5934        * Plugins/Hosted/NetscapePluginHostProxy.mm:
5935        (WKPCEvaluate):
5936        (WKPCInvoke):
5937        (WKPCGetProperty):
5938        (WKPCHasProperty):
5939        (WKPCHasMethod):
5940        * Plugins/Hosted/WebKitPluginClient.defs:
5941        * Plugins/Hosted/WebKitPluginHost.defs:
5942
59432009-02-04  Anders Carlsson  <andersca@apple.com>
5944
5945        Reviewed by Mark Rowe.
5946
5947        Fix 64-bit build.
5948
5949        * WebView/WebScriptDebugger.mm:
5950        (WebScriptDebugger::initGlobalCallFrame):
5951
59522009-02-04  Geoffrey Garen  <ggaren@apple.com>
5953
5954        Reviewed by Mark Rowe.
5955
5956        Part I of <rdar://problem/6552272>.
5957
5958        Clear the redirectURLs entry when first visiting a site, so sites that
5959        only redirect you the first time you visit them can later learn that
5960        they don't redirect.
5961
5962        * History/WebHistory.mm:
5963        (-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]):
5964
59652009-02-04  Timothy Hatcher  <timothy@apple.com>
5966
5967        Change the WebSourceId typedef from int to intptr_t now that <rdar://problem/6263297> is fixed.
5968
5969        <rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for sourceId, not int
5970
5971        Reviewed by Oliver Hunt.
5972
5973        * WebView/WebScriptDebugDelegate.h:
5974
59752009-02-04  Timothy Hatcher  <timothy@apple.com>
5976
5977        Switched over from using the WebSafeForwarder for the Script Debug
5978        delegate and added high performance CallScriptDebugDelegate functions.
5979
5980        <rdar://problem/6508457> Launching widget in Dashcode debugger is
5981        super-slow due forwardInvocation: calling debug delegate
5982
5983        Reviewed by Oliver Hunt.
5984
5985        * DefaultDelegates/WebDefaultScriptDebugDelegate.h: Removed.
5986        * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Removed.
5987        * WebView/WebScriptDebugger.mm:
5988        (WebScriptDebugger::initGlobalCallFrame): Use CallScriptDebugDelegate.
5989        (WebScriptDebugger::sourceParsed): Ditto.
5990        (WebScriptDebugger::callEvent): Ditto.
5991        (WebScriptDebugger::atStatement): Ditto.
5992        (WebScriptDebugger::returnEvent): Ditto.
5993        (WebScriptDebugger::exception): Ditto.
5994        * WebView/WebView.mm:
5995        (-[WebViewPrivate dealloc]): Removed scriptDebugDelegateForwarder.
5996        (-[WebView _cacheScriptDebugDelegateImplementations]): Added. Gets the
5997        method implementations for the script debug delegate. Also caches what
5998        didParseSource method to use.
5999        (WebViewGetScriptDebugDelegateImplementations): Added. Returns the
6000        WebScriptDebugDelegateImplementations structure.
6001        (-[WebView setScriptDebugDelegate:]): Call _cacheScriptDebugDelegateImplementations.
6002        (CallDelegate): Added more overloaded versions that take different arguments.
6003        (CallScriptDebugDelegate): Added overloaded versions that take different arguments.
6004        * WebView/WebViewInternal.h:
6005
60062009-02-03  Simon Fraser  <simon.fraser@apple.com>
6007
6008        Reviewed by Dave Hyatt
6009
6010        https://bugs.webkit.org/show_bug.cgi?id=23365
6011
6012        Hook up accelerated compositing layers the native
6013        view system on Mac.
6014
6015        * WebCoreSupport/WebChromeClient.h:
6016        * WebCoreSupport/WebChromeClient.mm:
6017        (WebChromeClient::attachRootGraphicsLayer):
6018        (WebChromeClient::setNeedsOneShotDrawingSynchronization):
6019        New methods to hook up the root GraphicsLayer to the native
6020        view system, and to synchronize layer changes with view-based
6021        drawing when layers come and go.
6022
6023        * WebView/WebHTMLView.mm:
6024        (-[WebHTMLViewPrivate clear]):
6025        Clear the pointer to layerHostingView.
6026
6027        (-[WebHTMLView _setAsideSubviews]):
6028        (-[WebHTMLView willRemoveSubview:]):
6029        Keep the special layer-hosting view in the subviews even
6030        when the rest of the subviews are ripped out for
6031        painting.
6032
6033        (-[WebHTMLView _isUsingAcceleratedCompositing]):
6034        New utility method for DumpRenderTree to know if we're
6035        hosting layers.
6036
6037        (-[WebHTMLView drawRect:]):
6038        Call -disableScreenUpdatesUntilFlush if we have to
6039        synchronize layer changes with painting.
6040
6041        (-[WebHTMLView attachRootLayer:]):
6042        (-[WebHTMLView detachRootLayer]):
6043        Attach and detach the root GraphicsLayer.
6044
6045        * WebView/WebViewInternal.h:
6046        * WebView/WebHTMLViewInternal.h:
6047        * WebView/WebHTMLViewPrivate.h:
6048        New method declarations.
6049
6050        * WebView/WebView.mm:
6051        (-[WebView _needsOneShotDrawingSynchronization]):
6052        (-[WebView _setNeedsOneShotDrawingSynchronization:]):
6053        Set the flag to say if we need to synchronize layer
6054        changes and painting on the next -drawRect: call.
6055
6056        (-[WebView viewWillMoveToWindow:]):
6057        (-[WebView viewDidMoveToWindow]):
6058        Call new notifications that the view was added to or removed from
6059        the window, which are required by the layer hosting mechanism.
6060
60612009-02-02  Geoffrey Garen  <ggaren@apple.com>
6062
6063        Build fix.
6064
6065        * Plugins/WebPluginController.mm:
6066        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
6067
60682009-02-02  Geoffrey Garen  <ggaren@apple.com>
6069
6070        Reviewed by Sam Weinig.
6071
6072        Track redirects in global history.
6073
6074        * History/WebHistory.mm:
6075        (-[WebHistoryPrivate dealloc]):
6076        (-[WebHistoryPrivate lastVisitedEntry]):
6077        (-[WebHistoryPrivate setLastVisitedEntry:]): Remember the last global history
6078        entry in case we're asked to add redirect information to it later.
6079
6080        (-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]):
6081        (-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]): Record redirect
6082        information in global history.
6083
6084        * History/WebHistoryInternal.h:
6085        * WebCoreSupport/WebFrameLoaderClient.h: See above and below.
6086
6087        * WebCoreSupport/WebFrameLoaderClient.mm:
6088        (WebFrameLoaderClient::updateGlobalHistory):
6089        (WebFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem): Record redirect
6090        information in global history.
6091
6092        * WebView/WebFrame.mm:
6093        (-[WebFrame loadRequest:]):
6094        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
6095        * WebView/WebFramePrivate.h: Updated for rename and extra parameter.
6096
60972009-02-02  Anders Carlsson  <andersca@apple.com>
6098
6099        Reviewed by Dan Bernstein.
6100
6101        Work around a limitation in MIG where two functions can't have the same name even if they're
6102        not in the same subsystem.
6103
6104        * Plugins/Hosted/NetscapePluginHostProxy.mm:
6105        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
6106        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6107        (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
6108        * Plugins/Hosted/WebKitPluginClient.defs:
6109        * Plugins/Hosted/WebKitPluginHost.defs:
6110
61112009-02-02  Anders Carlsson  <andersca@apple.com>
6112
6113        Reviewed by Sam Weinig.
6114
6115        Implement WKPCGetPluginElementObject.
6116
6117        * Plugins/Hosted/NetscapePluginHostProxy.mm:
6118        (WKPCGetPluginElementNPObject):
6119        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6120        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6121        (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
6122        * Plugins/Hosted/WebKitPluginClient.defs:
6123        * Plugins/WebBaseNetscapePluginView.h:
6124        * Plugins/WebBaseNetscapePluginView.mm:
6125        (-[WebBaseNetscapePluginView WebCore::]):
6126
61272009-02-02  Anders Carlsson  <andersca@apple.com>
6128
6129        Build fix.
6130
6131        * WebView/WebHTMLView.mm:
6132
61332009-02-02  Anders Carlsson  <andersca@apple.com>
6134
6135        Reviewed by Dan Bernstein.
6136
6137        Make WebBaseNetscapePluginView hold a reference to a HTMLPlugInElement instead of a DOMElement.
6138
6139        * Plugins/Hosted/WebHostedNetscapePluginView.h:
6140        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
6141        (-[WebHostedNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
6142        * Plugins/WebBaseNetscapePluginView.h:
6143        * Plugins/WebBaseNetscapePluginView.mm:
6144        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
6145        (-[WebBaseNetscapePluginView _windowClipRect]):
6146        (-[WebBaseNetscapePluginView visibleRect]):
6147        (-[WebBaseNetscapePluginView dataSource]):
6148        * Plugins/WebKitPluginContainerView.h: Removed.
6149        * Plugins/WebKitPluginContainerView.mm: Removed.
6150        * Plugins/WebNetscapePluginView.h:
6151        * Plugins/WebNetscapePluginView.mm:
6152        (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
6153        (-[WebNetscapePluginView getVariable:value:]):
6154        * WebCoreSupport/WebFrameLoaderClient.mm:
6155        (WebFrameLoaderClient::createPlugin):
6156
61572009-02-02  Anders Carlsson  <andersca@apple.com>
6158
6159        Reviewed by Dan Bernstein.
6160
6161        Update for changes to WebCore.
6162
6163        * WebCoreSupport/WebFrameLoaderClient.h:
6164        * WebCoreSupport/WebFrameLoaderClient.mm:
6165        (WebFrameLoaderClient::createPlugin):
6166
61672009-02-02  Anders Carlsson  <andersca@apple.com>
6168
6169        Reviewed by Oliver Hunt.
6170
6171        When a new Web View was not created, report back to the plug-in host.
6172
6173        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6174        (WebKit::NetscapePluginInstanceProxy::performRequest):
6175        * Plugins/Hosted/WebKitPluginHost.defs:
6176
61772009-02-02  Anders Carlsson  <andersca@apple.com>
6178
6179        Reviewed by Kevin Decker.
6180
6181        Draw the regular missing plug-in icon instead of a red rect when a plug-in has crashed.
6182
6183        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
6184        (-[WebHostedNetscapePluginView drawRect:]):
6185
61862009-02-02  Holger Hans Peter Freyther  <zecke@selfish.org>
6187
6188        Reviewed by Darin Adler.
6189
6190        Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
6191
6192        https://bugs.webkit.org/show_bug.cgi?id=23428
6193
6194        FrameView::forceLayout could be killed but the comment might
6195        contain a value over the the plain FrameView::layout...
6196
6197        Adjust the WebCore/WebKit consumers of these methods.
6198
6199        * WebView/WebFrame.mm:
6200        (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
6201        * WebView/WebHTMLView.mm:
6202        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
6203        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
6204
62052009-01-31  John Sullivan  <sullivan@apple.com>
6206
6207        https://bugs.webkit.org/show_bug.cgi?id=23665
6208
6209        Cleaned up code to add/remove NSNotification observers, to avoid performance hit
6210        of calling removeObserver with unspecified notifications, or calling removeObserver
6211        multiple times for the same notification.
6212
6213        Reviewed by Darin Adler
6214
6215        * WebView/WebHTMLView.mm:
6216        added observingMouseMovedNotifications, observingSuperviewNotifications, and
6217        observingWindowNotifications as BOOL ivars of _private object
6218        (-[WebHTMLView _removeMouseMovedObserverUnconditionally]):
6219        moved to file-internal section of file, added leading underscore, now bails out
6220        if we aren't observing the relevant notifications, now records that we are no longer
6221        observing the relevant notifications
6222        (-[WebHTMLView _removeSuperviewObservers]):
6223        ditto, also stores [NSNoticationCenter defaultCenter] in local var to avoid objc dispatch
6224        (-[WebHTMLView _removeWindowObservers]):
6225        ditto
6226        (-[WebHTMLView close]):
6227        replace general removeObserver: call with three specific calls for all the notifications
6228        that this class actually observes
6229        (-[WebHTMLView addMouseMovedObserver]):
6230        bail out if already observing relevant notifications, now records that we are observing
6231        the relevant notifications
6232        (-[WebHTMLView removeMouseMovedObserver]):
6233        updated for name change
6234        (-[WebHTMLView addSuperviewObservers]):
6235        bail out if already observing relevant notifications, now records that we are observing
6236        the relevant notifications; also stores [NSNoticationCenter defaultCenter] in local var
6237        to avoid objc dispatch
6238        (-[WebHTMLView addWindowObservers]):
6239        ditto
6240        (-[WebHTMLView viewWillMoveToSuperview:]):
6241        updated for name change
6242        (-[WebHTMLView viewWillMoveToWindow:]):
6243        updated for name changes
6244
62452009-01-31  Darin Adler  <darin@apple.com>
6246
6247        Reviewed by Mark Rowe.
6248
6249        Fix code that assumes all command selectors end in colons.
6250        rdar://problem/6545874
6251
6252        * WebView/WebHTMLView.mm:
6253        (commandNameForSelector): Don't assert, just return a null string, when
6254        the selector doesn't end in a colon.
6255
62562009-01-30  Adam Barth  <abarth@webkit.org>
6257
6258        Reviewed by Sam Weinig.
6259
6260        Add a pref to disable web security.
6261
6262        * WebView/WebPreferenceKeysPrivate.h:
6263        * WebView/WebPreferencesPrivate.h:
6264        * WebView/WebPreferences.mm:
6265        (+[WebPreferences initialize]):
6266        (-[WebPreferences isWebSecurityEnabled]):
6267        (-[WebPreferences setWebSecurityEnabled:]):
6268        * WebView/WebView.mm:
6269        (-[WebView _preferencesChangedNotification:]):
6270
62712009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
6272
6273        Reviewed by Darin Adler.
6274
6275        Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
6276
6277        Carry out the move and catch up in two call sites.
6278
6279        * WebView/WebHTMLView.mm:
6280        (-[WebHTMLView _frameOrBoundsChanged]):
6281
62822009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>
6283
6284        Reviewed by Darin Adler.
6285
6286        isFrameSet was moved from Frame to Document. Update the
6287        WebKit usage.
6288
6289        * WebView/WebFrame.mm:
6290        (-[WebFrame _isFrameSet]):
6291        * WebView/WebHTMLView.mm:
6292        (-[WebHTMLView knowsPageRange:]):
6293
62942009-01-30  Geoffrey Garen  <ggaren@apple.com>
6295
6296        Build fix.
6297
6298        * WebView/WebFramePrivate.h:
6299
63002009-01-30  Geoffrey Garen  <ggaren@apple.com>
6301
6302        Reviewed by Sam Weinig.
6303
6304        Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
6305        preparation for setting them differently during a redirect.
6306
6307        * WebView/WebPDFView.mm:
6308        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
6309
63102009-01-30  Anders Carlsson  <andersca@apple.com>
6311
6312        Reviewed by Sam Weinig.
6313
6314        Fix <rdar://problem/6544048>
6315
6316        Have NetscapePluginInstanceProxy keep track of all the ProxyInstance objects associated.
6317
6318        When the plug-in instance is destroyed, invalidate all proxy instances.
6319
6320        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6321        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6322        (WebKit::NetscapePluginInstanceProxy::destroy):
6323        (WebKit::NetscapePluginInstanceProxy::addInstance):
6324        (WebKit::NetscapePluginInstanceProxy::removeInstance):
6325        * Plugins/Hosted/ProxyInstance.h:
6326        * Plugins/Hosted/ProxyInstance.mm:
6327        (WebKit::ProxyInstance::ProxyInstance):
6328        (WebKit::ProxyInstance::~ProxyInstance):
6329        (WebKit::ProxyInstance::invalidate):
6330
63312009-01-30  Anders Carlsson  <andersca@apple.com>
6332
6333        Reviewed by Sam Weinig.
6334
6335        Fix <rdar://problem/6490778>.
6336
6337        Change the NPRuntime related functions to use IdentifierRep directly, and make sure to always
6338        validate IdentifierReps before dereferencing them.
6339
6340        * Plugins/Hosted/NetscapePluginHostProxy.mm:
6341        (WKPCEvaluate):
6342        (WKPCGetStringIdentifier):
6343        (WKPCGetIntIdentifier):
6344        (identifierFromIdentifierRep):
6345        (WKPCInvoke):
6346        (WKPCGetProperty):
6347        (WKPCSetProperty):
6348        (WKPCRemoveProperty):
6349        (WKPCHasProperty):
6350        (WKPCHasMethod):
6351        (WKPCIdentifierInfo):
6352
63532009-01-30  Brady Eidson  <beidson@apple.com>
6354
6355        Reviewed by Sam Weinig
6356
6357        Remove FrameLoaderClient code that is now handled by FrameLoader itself
6358
6359        * WebCoreSupport/WebFrameLoaderClient.mm:
6360        (WebFrameLoaderClient::frameLoadCompleted):
6361
63622009-01-29  Stephanie Lewis <slewis@apple.com>
6363
6364        RS by Oliver Hunt.
6365
6366        Update the order files.
6367
6368        * WebKit.order:
6369
63702009-01-29  Sam Weinig  <sam@webkit.org>
6371
6372        Reviewed by Anders Carlsson.
6373
6374        Second step in tracking the urls a HistoryItem was redirected through
6375        Add SPI to access the array of redirect urls associated with a HistoryItem.
6376
6377        * History/WebHistoryItem.mm:
6378        (-[WebHistoryItem dictionaryRepresentation]):
6379        (-[WebHistoryItem _redirectURLs]):
6380        * History/WebHistoryItemPrivate.h:
6381
63822009-01-29  Anders Carlsson  <andersca@apple.com>
6383
6384        Reviewed by Dan Bernstein.
6385
6386        Always activate the plug-in host process if we're in "modal mode" and are being told to activate.
6387
6388        * Plugins/Hosted/NetscapePluginHostProxy.h:
6389        * Plugins/Hosted/NetscapePluginHostProxy.mm:
6390        (WebKit::NetscapePluginHostProxy::pluginHostDied):
6391        Call endModal here.
6392
6393        (WebKit::NetscapePluginHostProxy::applicationDidBecomeActive):
6394        If we're modal, we should always bring the plug-in host process to the front.
6395
6396        (WebKit::NetscapePluginHostProxy::beginModal):
6397        Add an observer for the NSApplicationWillBecomeActiveNotification callback.
6398
6399        (WebKit::NetscapePluginHostProxy::endModal):
6400        Remove the observer.
6401
64022009-01-29  Sam Weinig  <sam@webkit.org>
6403
6404        Reviewed by Mark Rowe.
6405
6406        First step in tracking the urls a HistoryItem was redirected through.
6407
6408        * History/WebHistoryItem.mm:
6409        (-[WebHistoryItem initFromDictionaryRepresentation:]):
6410        (-[WebHistoryItem dictionaryRepresentation]):
6411        * Misc/WebNSDictionaryExtras.h:
6412        * Misc/WebNSDictionaryExtras.m:
6413        (-[NSDictionary _webkit_arrayForKey:]): Add helper.
6414
64152009-01-29  Anders Carlsson  <andersca@apple.com>
6416
6417        Reviewed by Sam Weinig.
6418
6419        Pass the PSN of the client to the host, and get the PSN of the host back when checking in.
6420
6421        * Plugins/Hosted/NetscapePluginHostManager.h:
6422        * Plugins/Hosted/NetscapePluginHostManager.mm:
6423        (WebKit::NetscapePluginHostManager::hostForPackage):
6424        Get the current PSN and pass it to spawnPluginHost.
6425
6426        (WebKit::NetscapePluginHostManager::spawnPluginHost):
6427        Pass the PSN to the "check in" function.
6428
6429        * Plugins/Hosted/NetscapePluginHostProxy.h:
6430        * Plugins/Hosted/NetscapePluginHostProxy.mm:
6431        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
6432
6433        (WebKit::NetscapePluginHostProxy::pluginHostDied):
6434        Fix a bug noticed by Julien Chaffraix. Call endModal if necessary.
6435
6436        (WebKit::NetscapePluginHostProxy::beginModal):
6437        (WebKit::NetscapePluginHostProxy::endModal):
6438        (WebKit::NetscapePluginHostProxy::setModal):
6439        Split out the code that does all of the work into beginModal and endModal methods.
6440
6441        * Plugins/Hosted/WebKitPluginHost.defs:
6442        * Plugins/WebNetscapePluginView.mm:
6443        (-[WebNetscapePluginView loadStream]):
6444
64452009-01-29  David Kilzer  <ddkilzer@apple.com>
6446
6447        Remove semi-colons from the end of ObjC method implementations
6448
6449        Rubber-stamped by Adam Roben.
6450
6451        $ find WebKit -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;
6452
6453        * DefaultDelegates/WebDefaultUIDelegate.m:
6454        (-[WebDefaultUIDelegate webView:setResizable:]):
6455        (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
6456        (-[WebDefaultUIDelegate webView:dragSourceActionMaskForPoint:]):
6457        (-[WebDefaultUIDelegate webView:willPerformDragSourceAction:fromPoint:withPasteboard:]):
6458        * History/WebBackForwardList.mm:
6459        (-[WebBackForwardList addItem:]):
6460        (-[WebBackForwardList backListWithLimit:]):
6461        (-[WebBackForwardList forwardListWithLimit:]):
6462        * History/WebHistoryItem.mm:
6463        (-[WebHistoryItem alternateTitle]):
6464        (-[WebHistoryItem setViewState:]):
6465        * Misc/WebCoreStatistics.mm:
6466        (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:]):
6467        * Misc/WebKitNSStringExtras.m:
6468        (-[NSString _web_drawAtPoint:font:textColor:]):
6469        * Plugins/WebNetscapePluginView.mm:
6470        (-[WebNetscapePluginView setAttributeKeys:andValues:]):
6471        * WebCoreSupport/WebEditorClient.mm:
6472        (-[WebEditCommand command]):
6473        * WebView/WebFrame.mm:
6474        (-[WebFrame _getVisibleRect:]):
6475        * WebView/WebHTMLRepresentation.mm:
6476        (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):
6477        * WebView/WebHTMLView.mm:
6478        (-[WebHTMLView elementAtPoint:allowShadowContent:]):
6479        * WebView/WebPreferences.mm:
6480        (-[WebPreferences setAllowsAnimatedImages:]):
6481        (-[WebPreferences setAutosaves:]):
6482        (-[WebPreferences PDFDisplayMode]):
6483        * WebView/WebView.mm:
6484        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
6485        (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
6486        (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
6487        (+[WebView _registerViewClass:representationClass:forURLScheme:]):
6488        (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
6489        (-[WebView _insertNewlineInQuotedContent]):
6490
64912009-01-28  Geoffrey Garen  <ggaren@apple.com>
6492
6493        Reviewed by Sam Weinig.
6494
6495        Updated for WebCore rename.
6496
6497        * WebView/WebView.mm:
6498        (-[WebView setCustomTextEncodingName:]):
6499
65002009-01-28  David Kilzer  <ddkilzer@apple.com>
6501
6502        Add missing declaration for -[NSURL(WebNSURLExtras) _webkit_isFileURL]
6503
6504        Reviewed by Dan Bernstein.
6505
6506        * Misc/WebNSURLExtras.h:
6507        (-[NSURL(WebNSURLExtras) _webkit_isFileURL]): Added missing
6508        declaration after the implementation was added in r9258.
6509
65102009-01-28  Sam Weinig  <sam@webkit.org>
6511
6512        Reviewed by Geoff Garen.
6513
6514        Fix for <rdar://problem/6129678>
6515        REGRESSION (Safari 3-4): Local variable not accessible from Dashcode console or variables view
6516
6517        * WebView/WebScriptDebugDelegate.mm:
6518        (-[WebScriptCallFrame scopeChain]): Wrap JSActivations in DebuggerActivations.
6519
65202009-01-27  Anders Carlsson  <andersca@apple.com>
6521
6522        Reviewed by Oliver Hunt.
6523
6524        Fix two bugs with Core Animation based plug-ins.
6525
6526        1. The plug-in view was marked as opaque even though it's not.
6527           (This would leave garbage in the plug-in view).
6528        2. The plug-in layer needs to have autoresizing turned on.
6529
6530        * Plugins/WebNetscapePluginView.mm:
6531        (-[WebNetscapePluginView setLayer:]):
6532
65332009-01-27  Brady Eidson  <beidson@apple.com>
6534
6535        Reviewed by Dan Bernstein
6536
6537        Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
6538
6539        * History/WebHistoryItem.mm:
6540
6541        * WebCoreSupport/WebFrameLoaderClient.h:
6542        * WebCoreSupport/WebFrameLoaderClient.mm:
6543        (WebFrameLoaderClient::savePlatformDataToCachedFrame):
6544        (WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
6545        * WebKit.order:
6546
65472009-01-26  Anders Carlsson  <andersca@apple.com>
6548
6549        Reviewed by Dan Bernstein.
6550
6551        Add the ability for plug-ins to make WebKit operate in "modal mode"
6552
6553        * Plugins/Hosted/NetscapePluginHostProxy.h:
6554        * Plugins/Hosted/NetscapePluginHostProxy.mm:
6555        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
6556        (WebKit::NetscapePluginHostProxy::pluginHostDied):
6557        If the plug-in crashes while we're modal, make sure to leave the modal mode.
6558
6559        (WebKit::NetscapePluginHostProxy::setModal):
6560        (WKPCSetModal):
6561        * Plugins/Hosted/WebKitPluginClient.defs:
6562
65632009-01-26  John Sullivan  <sullivan@apple.com>
6564
6565        fixed <rdar://problem/6530053> REGRESSION (Leopard): Shift-tab in http authentication window gets
6566        stuck in the Name field rather than cycling around
6567
6568        Reviewed by Dan Bernstein
6569
6570        * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
6571        * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
6572        The two static text fields and the last button all had their "next key view" outlets set to the
6573        name field, which caused shift-tab from the name field to do the wrong thing. Fixed by making each
6574        selectable view have exactly one "next key view" set to it.
6575
65762009-01-26  Anders Carlsson  <andersca@apple.com>
6577
6578        Reviewed by Sam Weinig.
6579
6580        Add the ability for a plug-in to show or hide the menu bar.
6581
6582        * Plugins/Hosted/NetscapePluginHostProxy.h:
6583        * Plugins/Hosted/NetscapePluginHostProxy.mm:
6584        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
6585        (WebKit::NetscapePluginHostProxy::pluginHostDied):
6586        (WebKit::NetscapePluginHostProxy::setMenuBarVisible):
6587        (WKPCSetMenuBarVisible):
6588        * Plugins/Hosted/WebKitPluginClient.defs:
6589
65902009-01-26  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
6591
6592        Reviewed by Gavin Barraclough.
6593
6594        Bug 23552: Dashcode evaluator no longer works after making ExecStates actual call frames
6595        <https://bugs.webkit.org/show_bug.cgi?id=23552>
6596        <rdar://problem/6398839>
6597
6598        Dashcode will crash when using the evaluator because it saves a global call
6599        frame, even after global code has finished executing, and then uses this as
6600        a launching pad to execute new JS in the evaluator. The fix is to detect
6601        when Dashcode is attempting to do this and execute code from a global call
6602        frame instead.
6603
6604        * ForwardingHeaders/runtime/Protect.h: Added.
6605        * WebView/WebScriptDebugDelegate.mm:
6606        (-[WebScriptCallFrame _initWithGlobalObject:debugger:caller:debuggerCallFrame:]):
6607        Added debugger, a WebScriptDebugger* argument.
6608        (-[WebScriptCallFrame evaluateWebScript:]): Detect when Dashcode is using
6609        a stale WebScriptCallFrame to execute new JS and evaluate it starting from
6610        the global object's global call frame instead.
6611        * WebView/WebScriptDebugger.h:
6612        (WebScriptDebugger::globalObject): Added.
6613        (WebScriptDebugger::globalCallFrame): Added.
6614        * WebView/WebScriptDebugger.mm:
6615        (WebScriptDebugger::WebScriptDebugger): Initialize m_globalObject.
6616        (WebScriptDebugger::initGlobalCallFrame): Created as a clone of callEvent
6617        so that the global call frame can be saved immediately after being created.
6618        (WebScriptDebugger::callEvent): Pass 'this' as the debugger argument of
6619        WebScriptCallFrame's _initWithGlobalObject method.
6620
66212009-01-26  Anders Carlsson  <andersca@apple.com>
6622
6623        Reviewed by Oliver Hunt.
6624
6625        Make WKPCInvoke a simpleroutine.
6626
6627        * Plugins/Hosted/NetscapePluginHostProxy.mm:
6628        (WKPCInvoke):
6629        * Plugins/Hosted/WebKitPluginClient.defs:
6630
66312009-01-26  Anders Carlsson  <andersca@apple.com>
6632
6633        Reviewed by Sam Weinig.
6634
6635        Implement using plug-in objects as constructors, and setting and getting properties from a plug-in object.
6636
6637        * Plugins/Hosted/NetscapePluginHostProxy.mm:
6638        (WKPCBooleanAndDataReply):
6639        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6640        (WebKit::NetscapePluginInstanceProxy::Reply::):
6641        (WebKit::NetscapePluginInstanceProxy::BooleanAndDataReply::BooleanAndDataReply):
6642        Rename NPObjectInvokeReply to BooleanAndDataReply.
6643
6644        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6645        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
6646        Fix a cut and paste error.
6647
6648        (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
6649        Handle NPObjects.
6650
6651        * Plugins/Hosted/ProxyInstance.h:
6652        * Plugins/Hosted/ProxyInstance.mm:
6653        (WebKit::ProxyField::valueFromInstance):
6654        (WebKit::ProxyField::setValueToInstance):
6655        Call the ProxyInstance method.
6656
6657        (WebKit::ProxyInstance::~ProxyInstance):
6658        Release the NPObject.
6659
6660        (WebKit::ProxyInstance::supportsConstruct):
6661        Ask the plug-in host if an instance supports construct.
6662
6663        (WebKit::ProxyInstance::fieldValue):
6664        (WebKit::ProxyInstance::setFieldValue):
6665        Call the plug-in host methods.
6666
6667        * Plugins/Hosted/WebKitPluginHostTypes.h:
6668        Rename ObjectValueType to JSObjectValueType, and add NPObjectValueType.
6669
66702009-01-26  Mark Rowe  <mrowe@apple.com>
6671
6672        Fix the build.
6673
6674        Remove -Wformat=2 from the warning flags as newer versions of GCC emit
6675        warnings about non-literal format strings for uses of our UI_STRING macro.
6676
6677        * Configurations/Base.xcconfig:
6678
66792009-01-26  Mark Rowe  <mrowe@apple.com>
6680
6681        Rubber-stamped by Sam Weinig.
6682
6683        Clean up after r40240.
6684
6685        * Configurations/Base.xcconfig: Don't dead code strip in debug builds for now as it leads to link errors.
6686        * Plugins/Hosted/HostedNetscapePluginStream.mm: Revert change that is no longer needed now that WebKitPluginHost.defs
6687        is back in the build.
6688
66892009-01-25  Darin Adler  <darin@apple.com>
6690
6691        * Plugins/Hosted/HostedNetscapePluginStream.mm: Added a missing extern "C".
6692
66932009-01-25  Darin Adler  <darin@apple.com>
6694
6695        Discussed with Mark Rowe; not sure he reviewed it.
6696
6697        * Configurations/Base.xcconfig: Add all the same warnings as in WebCore except for
6698        -Wcast-qual and -Wunused-parameter, which both need to be off at least for now.
6699
67002009-01-25  Mark Rowe  <mrowe@apple.com>
6701
6702        Rubber-stamped by Dan Bernstein.
6703
6704        Improve the consistency of settings in our .xcconfig files.
6705
6706        * Configurations/Base.xcconfig: Only dead code strip the normal variant.
6707        Handle all cases in GCC_GENERATE_DEBUGGING_SYMBOLS.
6708
67092009-01-25  Darin Adler  <darin@apple.com>
6710
6711        Reviewed by Sam Weinig.
6712
6713        Bug 23522: use checked casts for render tree
6714        https://bugs.webkit.org/show_bug.cgi?id=23522
6715
6716        Step one: RenderText.
6717
6718        * WebView/WebRenderNode.mm:
6719        (copyRenderNode): Use toRenderText.
6720
67212009-01-23  Brady Eidson  <beidson@apple.com>
6722
6723        Rubberstamped by Darin Adler
6724
6725        Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.
6726
6727        * WebCoreSupport/WebCachedFramePlatformData.h: Copied from WebKit/mac/WebCoreSupport/WebCachedPagePlatformData.h.
6728        (WebCachedFramePlatformData::WebCachedFramePlatformData):
6729        * WebCoreSupport/WebCachedPagePlatformData.h: Removed.
6730
6731        * WebCoreSupport/WebFrameLoaderClient.mm:
6732        (WebFrameLoaderClient::savePlatformDataToCachedPage):
6733        (WebFrameLoaderClient::transitionToCommittedFromCachedPage):
6734
6735        * WebKit.order:
6736
67372009-01-23  Adele Peterson  <adele@apple.com>
6738
6739        Build fix.
6740
6741        Use new linesBoundingBox method instead of
6742        boundingBoxWidth and boundingBoxHeight for RenderText objects.
6743
6744        * WebView/WebRenderNode.mm: (copyRenderNode):
6745
67462009-01-23  Anders Carlsson  <andersca@apple.com>
6747
6748        Fix 64-bit build.
6749
6750        * Plugins/Hosted/ProxyInstance.mm:
6751        (WebKit::proxyClass):
6752
67532009-01-23  Anders Carlsson  <andersca@apple.com>
6754
6755        Fix GCC 4.0 build.
6756
6757        * Configurations/Base.xcconfig:
6758
67592009-01-23  Anders Carlsson  <andersca@apple.com>
6760
6761        Reviewed by Sam Weinig.
6762
6763        Turn on -Wmissing-prototypes and fix the resulting warnings.
6764
6765        * Configurations/Base.xcconfig:
6766        * History/WebHistory.mm:
6767        (timeIntervalForBeginningOfDay):
6768        * History/WebHistoryItem.mm:
6769        (historyItemWrappers):
6770        * Misc/WebNSPasteboardExtras.mm:
6771        (imageFromElement):
6772        * WebView/WebFrame.mm:
6773        * WebView/WebScriptDebugger.mm:
6774        (toNSString):
6775
67762009-01-22  Mark Rowe  <mrowe@apple.com>
6777
6778        Rubber-stamped by Anders Carlsson.
6779
6780        Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
6781
6782        Current versions of Xcode only respect it for C and Objective-C files,
6783        and our code doesn't currently compile if it is applied to C++ and
6784        Objective-C++ files.
6785
6786        * Configurations/Base.xcconfig:
6787
67882009-01-22  Anders Carlsson  <andersca@apple.com>
6789
6790        Reviewed by Sam Weinig.
6791
6792        Add support for Invoke and InvokeDefault. Clean up code.
6793
6794        * Plugins/Hosted/NetscapePluginHostProxy.mm:
6795        (WKPCBooleanReply):
6796        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6797        (WebKit::NetscapePluginInstanceProxy::Reply::):
6798        (WebKit::NetscapePluginInstanceProxy::BooleanReply::BooleanReply):
6799        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6800        (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
6801        * Plugins/Hosted/ProxyInstance.h:
6802        * Plugins/Hosted/ProxyInstance.mm:
6803        (WebKit::ProxyInstance::invoke):
6804        (WebKit::ProxyInstance::invokeMethod):
6805        (WebKit::ProxyInstance::supportsInvokeDefaultMethod):
6806        (WebKit::ProxyInstance::invokeDefaultMethod):
6807        (WebKit::ProxyInstance::methodsNamed):
6808        (WebKit::ProxyInstance::fieldNamed):
6809        * Plugins/Hosted/WebKitPluginClient.defs:
6810        * Plugins/Hosted/WebKitPluginHost.defs:
6811        * Plugins/Hosted/WebKitPluginHostTypes.h:
6812
68132009-01-22  Eric Roman  <eroman@chromium.og>
6814
6815        Reviewed by Eric Seidel.
6816
6817        https://bugs.webkit.org/show_bug.cgi?id=20806
6818        Deprecate RSSFeedReferrer() and setRSSFeedReferrer().
6819
6820        * History/WebHistoryItem.mm:
6821        (-[WebHistoryItem RSSFeedReferrer]):
6822        (-[WebHistoryItem setRSSFeedReferrer:]):
6823
68242009-01-22  Anders Carlsson  <andersca@apple.com>
6825
6826        Reviewed by Kevin Decker.
6827
6828        Don't crash or hang when we fail to instantiate a plug-in.
6829
6830        * Plugins/Hosted/NetscapePluginHostManager.mm:
6831        (WebKit::NetscapePluginHostManager::instantiatePlugin):
6832        Return 0 on failure.
6833
6834        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
6835        (-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]):
6836        Null check for the proxy member.
6837
68382009-01-21  David Hyatt  <hyatt@apple.com>
6839
6840        Devirtualize width/height/x/y on RenderObject and move the methods to RenderBox.
6841
6842        Reviewed by Eric Seidel and Darin Adler
6843
6844        * WebView/WebRenderNode.mm:
6845        (copyRenderNode):
6846
68472009-01-21  Anders Carlsson  <andersca@apple.com>
6848
6849        Reviewed by Sam Weinig.
6850
6851        More browser->plug-in scripting support.
6852
6853        * Plugins/Hosted/NetscapePluginHostProxy.mm:
6854        (WKPCNPObjectHasPropertyReply):
6855        (WKPCNPObjectHasMethodReply):
6856        (WKPCNPObjectInvokeReply):
6857        MIG reply functions.
6858
6859        (WKPCIdentifierInfo):
6860        Return information about an identifier given its 64-bit value.
6861
6862        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6863        Add new reply structs.
6864
6865        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6866        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
6867        Split out code that adds values to the arrays from marshalValue.
6868
6869        (WebKit::NetscapePluginInstanceProxy::marshalValue):
6870        Call addValueToArray.
6871
6872        (WebKit::NetscapePluginInstanceProxy::marshalValues):
6873        Marshal a list of values.
6874
6875        (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
6876        Actually create a proxy instance.
6877
6878        * Plugins/Hosted/ProxyInstance.h:
6879        * Plugins/Hosted/ProxyInstance.mm:
6880        (WebKit::ProxyClass::methodsNamed):
6881        (WebKit::ProxyClass::fieldNamed):
6882        Add a proxy ProxyClass class that just forwards everything to the ProxyInstance class.
6883
6884        (WebKit::proxyClass):
6885        Shared proxyClass getter.
6886
6887        (WebKit::ProxyField::ProxyField):
6888        (WebKit::ProxyField::valueFromInstance):
6889        (WebKit::ProxyField::setValueToInstance):
6890        Add a proxy ProxyField class that just forwards everything to the ProxyInstance class.
6891
6892        (WebKit::ProxyMethod::ProxyMethod):
6893        (WebKit::ProxyMethod::serverIdentifier):
6894        (WebKit::ProxyMethod::numParameters):
6895        Add a dummy ProxyMethod class.
6896
6897        (WebKit::ProxyInstance::invokeMethod):
6898        Call _WKPHNPObjectInvoke.
6899
6900        (WebKit::ProxyInstance::defaultValue):
6901        (WebKit::ProxyInstance::stringValue):
6902        (WebKit::ProxyInstance::numberValue):
6903        (WebKit::ProxyInstance::booleanValue):
6904        (WebKit::ProxyInstance::valueOf):
6905        Add dummy implementations (taken from CInstance).
6906
6907        (WebKit::ProxyInstance::methodsNamed):
6908        Call _WKPHNPObjectHasMethod to determine whether a method with the given name exists.
6909
6910        (WebKit::ProxyInstance::fieldNamed):
6911        Call _WKPHNPObjectHasProperty to determine whether a property with the given name exists.
6912
6913        * Plugins/Hosted/WebKitPluginClient.defs:
6914        * Plugins/Hosted/WebKitPluginHost.defs:
6915        Add new MIG definitions.
6916
69172009-01-21  Mark Rowe  <mrowe@apple.com>
6918
6919        Reviewed by Tim Hatcher.
6920
6921        Clean up how we force invocations of API that happened on background threads over to the main thread.
6922
6923        This was previously accomplished in a somewhat ad-hoc manner using a mutable dictionary to pass arguments
6924        and return values back from the function.  The new approach is to use a proxy object that forwards an
6925        NSInvocation over to the main thread and applies it to the target object, which leads to a much cleaner
6926        call site.
6927
6928        * Misc/WebNSObjectExtras.h:
6929        * Misc/WebNSObjectExtras.mm:
6930        (-[WebMainThreadInvoker initWithTarget:]):
6931        (-[WebMainThreadInvoker forwardInvocation:]):
6932        (-[WebMainThreadInvoker methodSignatureForSelector:]):
6933        (-[WebMainThreadInvoker handleException:]):
6934        (-[NSInvocation _webkit_invokeAndHandleException:]): Execute the invocation and forward any exception that was
6935        raised back to the WebMainThreadInvoker.
6936        (-[NSObject _webkit_invokeOnMainThread]):
6937
6938        The following methods are updated to use the proxy object to forward methods to the main thread:
6939
6940        * WebView/WebArchive.mm:
6941        (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
6942        (-[WebArchive mainResource]):
6943        (-[WebArchive subresources]):
6944        (-[WebArchive subframeArchives]):
6945        * WebView/WebResource.mm:
6946        (-[WebResource data]):
6947        (-[WebResource URL]):
6948        (-[WebResource MIMEType]):
6949        (-[WebResource textEncodingName]):
6950        (-[WebResource frameName]):
6951        (-[WebResource _ignoreWhenUnarchiving]):
6952        (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
6953        (-[WebResource _initWithData:URL:response:]):
6954        (-[WebResource _suggestedFilename]):
6955        (-[WebResource _response]):
6956        (-[WebResource _stringValue]):
6957        * WebView/WebView.mm:
6958        (-[WebView initWithFrame:frameName:groupName:]):
6959        (-[WebView initWithCoder:]):
6960
69612009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
6962
6963        Reviewed by George Staikos.
6964
6965        Fixes: https://bugs.webkit.org/show_bug.cgi?id=23434 (Add WML <input> element support)
6966
6967        Protect text field related WebEditorClient.mm methods against non-HTMLElement callers.
6968        WebEditorClient.mm relies on HTMLInputElement as input element. Ignore calls from non-HTMLElement elements.
6969
6970        * WebCoreSupport/WebEditorClient.mm:
6971        (WebEditorClient::textFieldDidBeginEditing):
6972        (WebEditorClient::textFieldDidEndEditing):
6973        (WebEditorClient::textDidChangeInTextField):
6974        (WebEditorClient::doTextFieldCommandFromEvent):
6975        (WebEditorClient::textWillBeDeletedInTextField):
6976        (WebEditorClient::textDidChangeInTextArea):
6977
69782009-01-19  Anders Carlsson  <andersca@apple.com>
6979
6980        Reviewed by Sam Weinig.
6981
6982        Add and implement GetScriptableNPObject.
6983
6984        * Plugins/Hosted/NetscapePluginHostProxy.mm:
6985        (WKPCGetScriptableNPObjectReply):
6986        Create a new reply struct and set it as the current reply.
6987
6988        (WKPCEvaluate):
6989        Get rid of an unused variable.
6990
6991        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6992        (WebKit::NetscapePluginInstanceProxy::Reply::):
6993        (WebKit::NetscapePluginInstanceProxy::GetScriptableNPObjectReply::GetScriptableNPObjectReply):
6994        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6995        (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
6996        Call _WKPHGetScriptableNPObject and wait for a reply.
6997
6998        * Plugins/Hosted/ProxyInstance.h: Added.
6999        * Plugins/Hosted/ProxyInstance.mm: Added.
7000        Add empty files.
7001
7002        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
7003        (-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]):
7004        Call NetscapePluginInstanceProxy::createBindingsInstance.
7005
7006        * Plugins/Hosted/WebKitPluginClient.defs:
7007        * Plugins/Hosted/WebKitPluginHost.defs:
7008        Add new declarations.
7009
70102009-01-19  Sam Weinig  <sam@webkit.org>
7011
7012        Rubber-stamped by Gavin Barraclough.
7013
7014        Remove temporary operator-> from JSValuePtr.
7015
7016        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7017        (WebKit::NetscapePluginInstanceProxy::invoke):
7018        (WebKit::NetscapePluginInstanceProxy::hasMethod):
7019        (WebKit::NetscapePluginInstanceProxy::marshalValue):
7020        * WebView/WebFrame.mm:
7021        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
7022        * WebView/WebView.mm:
7023        (aeDescFromJSValue):
7024
70252009-01-19  Anders Carlsson  <andersca@apple.com>
7026
7027        Reviewed by Sam Weinig.
7028
7029        Make Evaluate an asynchronous method that has a reply method.
7030
7031        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7032        (WKPCEvaluate):
7033        * Plugins/Hosted/WebKitPluginClient.defs:
7034        * Plugins/Hosted/WebKitPluginHost.defs:
7035
70362009-01-19  Brady Eidson  <beidson@apple.com>
7037
7038        Rubberstamped by Tim Hatcher
7039
7040        Fix long standing typo.
7041
7042        * History/WebBackForwardList.h:
7043
70442009-01-19  Mark Rowe  <mrowe@apple.com>
7045
7046        Fix the build!
7047
7048        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7049        (WebKit::NetscapePluginInstanceProxy::demarshalValue):
7050        (WebKit::NetscapePluginInstanceProxy::demarshalValues):
7051
70522009-01-18  Mark Rowe  <mrowe@apple.com>
7053
7054        Reviewed by Anders Carlsson.
7055
7056        Fix <https://bugs.webkit.org/show_bug.cgi?id=23414>.
7057        Bug 23414: Reproducible crash accessing View menu with plugins disabled
7058
7059        * WebView/WebFrame.mm:
7060        (-[WebFrame _canProvideDocumentSource]): Null-check the PluginData before using it.
7061
70622009-01-17  David Hyatt  <hyatt@apple.com>
7063
7064        Eliminate dependencies on "backslashAsCurrencySymbol()" from WebKit, and make sure these alterations
7065        are done in WebCore instead.
7066
7067        Reviewed by Oliver Hunt
7068
7069        * WebView/WebFrame.mm:
7070        (-[WebFrame _selectedString]):
7071        (-[WebFrame _stringForRange:]):
7072
70732009-01-17  Eric Carlson  <eric.carlson@apple.com>
7074
7075        Reviewed by Adele Peterson
7076
7077        Complete <rdar://problem/6293969>
7078
7079        * WebCoreSupport/WebSystemInterface.m:
7080        (InitWebCoreSystemInterface): Remove UseSharedMediaUI
7081
70822009-01-15  Brady Eidson  <beidson@apple.com>
7083
7084        Reviewed by Dan Bernstein
7085
7086        Fix problem where a URL visited as non-GET once is flagged as non-GET forever.
7087
7088        * History/WebHistory.mm:
7089        (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Always update the HTTPNonGet
7090          flag for all loads with an HTTP Method
7091
70922009-01-14  Anders Carlsson  <andersca@apple.com>
7093
7094        Reviewed by Sam Weinig.
7095
7096        Implement InvokeDefault, Construct, GetProperty and SetProperty.
7097
7098        Fully implement marshalValue.
7099
7100        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7101        (WKPCInvokeDefault):
7102        (WKPCConstruct):
7103        (WKPCGetProperty):
7104        (WKPCSetProperty):
7105        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7106        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7107        (WebKit::NetscapePluginInstanceProxy::evaluate):
7108        (WebKit::NetscapePluginInstanceProxy::invoke):
7109        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
7110        (WebKit::NetscapePluginInstanceProxy::construct):
7111        (WebKit::NetscapePluginInstanceProxy::getProperty):
7112        (WebKit::NetscapePluginInstanceProxy::setProperty):
7113        (WebKit::NetscapePluginInstanceProxy::marshalValue):
7114        (WebKit::NetscapePluginInstanceProxy::demarshalValue):
7115        * Plugins/Hosted/WebKitPluginClient.defs:
7116
71172009-01-14  Anders Carlsson  <andersca@apple.com>
7118
7119        Reviewed by Sam Weinig.
7120
7121        Demarshal arguments and pass them to the JS call.
7122
7123        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7124        (WKPCInvoke):
7125        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7126        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7127        (WebKit::NetscapePluginInstanceProxy::invoke):
7128        (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
7129        (WebKit::NetscapePluginInstanceProxy::demarshalValues):
7130
71312009-01-14  Mark Rowe  <mrowe@apple.com>
7132
7133        Reviewed by Timothy Hatcher.
7134
7135        <rdar://problem/6496520> REGRESSION: In Mail, a crash occurs when attempting to display a mail message
7136
7137        Move WebArchive and WebResource to use the same approach for initializing themselves on the main thread
7138        that WebView uses.
7139
7140        * WebView/WebArchive.mm:
7141        (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Use _webkit_performSelectorOnMainThread:withObject:.
7142        (-[WebArchive _initWithArguments:]):
7143        * WebView/WebResource.mm:
7144        (-[WebResource _initWithArguments:]): Unbox the BOOL argument.
7145
71462009-01-14  Darin Adler  <darin@apple.com>
7147
7148        Reviewed by Oliver Hunt.
7149
7150        Fix crash I ran into while printing. I was unable to reproduce it, but also,
7151        it's clear there's no guarantee that the frame will be non-zero in this case,
7152        so it seems fine to check it.
7153
7154        * WebView/WebHTMLView.mm: (-[WebHTMLView reapplyStyles]): Check frame for zero
7155        and don't do anything with it if it's zero.
7156
71572009-01-14  Dan Bernstein  <mitz@apple.com>
7158
7159        Reviewed by John Sullivan.
7160
7161        - update copyright
7162
7163        * Info.plist:
7164
71652009-01-12  Anders Carlsson  <andersca@apple.com>
7166
7167        Reviewed by Darin Adler.
7168
7169        Add a bunch of methods to WebKitPluginClient.defs, and implement them.
7170
7171        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7172        (WebKit::fromUTF8WithLatin1Fallback):
7173        If the length isn't specified, get it by calling strlen.
7174
7175        (WKPCEvaluate):
7176        Evaluate doesn't take any arguments.
7177
7178        (WKPCGetIntIdentifier):
7179        Call _NPN_GetIntIdentifier.
7180
7181        (identifierFromServerIdentifier):
7182        New helper function that returns a JSC Identifier from an NPIdentifier.
7183
7184        (WKPCInvoke):
7185        Call identifierFromServerIdentifier.
7186
7187        (WKPCRemoveProperty):
7188        (WKPCHasProperty):
7189        (WKPCHasMethod):
7190        Call NetscapePluginInstanceProxy.
7191
7192        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7193        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7194        (WebKit::NetscapePluginInstanceProxy::removeProperty):
7195        (WebKit::NetscapePluginInstanceProxy::hasProperty):
7196        (WebKit::NetscapePluginInstanceProxy::hasMethod):
7197
7198        * Plugins/Hosted/WebKitPluginClient.defs:
7199        Add new definitions.
7200
72012009-01-13  Anders Carlsson  <andersca@apple.com>
7202
7203        Fix build.
7204
7205        * WebView/WebView.mm:
7206        (-[WebView _initWithArguments:]):
7207
72082009-01-13  Timothy Hatcher  <timothy@apple.com>
7209
7210        Adds a workaround for the flip4mac installer plugin decoding a WebView from a NIB on a secondary thread.
7211
7212        <rdar://problem/6489788> New WebKit thread checks break installation of flip4mac (thread violation)
7213
7214        Reviewed by Darin Adler.
7215
7216        * Misc/WebKitVersionChecks.h: Add WEBKIT_FIRST_VERSION_WITHOUT_WEBVIEW_INIT_THREAD_WORKAROUND.
7217        * Misc/WebNSObjectExtras.h: Add _webkit_performSelectorOnMainThread:withObject:.
7218        * Misc/WebNSObjectExtras.mm:
7219        (-[NSObject _webkit_performSelectorWithArguments:]): Renamed from _webkit_getPropertyWithArguments.
7220        Passes the optional object to the selector.
7221        (-[NSObject _webkit_performSelectorOnMainThread:withObject:]): Renamed from _webkit_getPropertyOnMainThread:.
7222        Put the optional object into the arguments dictionary.
7223        (-[NSObject _webkit_getPropertyOnMainThread:]): Call _webkit_performSelectorOnMainThread with a nil object.
7224        * WebView/WebResource.mm:
7225        (-[WebResource _ignoreWhenUnarchiving]): Use _cmd instead of making the selector again.
7226        (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): Use the new
7227        _webkit_performSelectorOnMainThread:withObject: method instead of performSelectorOnMainThread.
7228        * WebView/WebView.mm:
7229        (-[WebView _initWithArguments:]): Added. Pulls arguments out of the dictionary and calls the right init method.
7230        (needsWebViewInitThreadWorkaround): Checks if the thead is not the main thread and if we are in the Installer bundle.
7231        (-[WebView initWithFrame:frameName:groupName:]): Call needsWebViewInitThreadWorkaround and use _webkit_performSelectorOnMainThread
7232        to call _initWithArguments: passing the frame, frameName and groupName.
7233        (-[WebView initWithCoder:]): Ditto, except pass the coder to _initWithArguments:.
7234
72352009-01-12  Gavin Barraclough  <barraclough@apple.com>
7236
7237        Reviewed by Oliver Hunt.
7238
7239        Deprecate JSValuePtr::getNumber() - two ways to get a number should  be enough.
7240
7241        * WebView/WebView.mm:
7242        (aeDescFromJSValue):
7243
72442009-01-12  Brady Eidson  <beidson@apple.com>
7245
7246        Reviewed by Darin Adler
7247
7248        <rdar://problem/6468274> - Track Non-get requests in global history
7249
7250        * History/WebHistory.mm:
7251        (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
7252        * History/WebHistoryInternal.h:
7253
7254        * History/WebHistoryItem.mm:
7255        (-[WebHistoryItem initFromDictionaryRepresentation:]):
7256        (-[WebHistoryItem dictionaryRepresentation]):
7257        (-[WebHistoryItem _lastVisitWasHTTPNonGet]):
7258        * History/WebHistoryItemPrivate.h:
7259
7260        * WebCoreSupport/WebFrameLoaderClient.mm:
7261        (WebFrameLoaderClient::updateGlobalHistory): Only pass the method through if it was an HTTP load
7262
72632009-01-12  Anders Carlsson  <andersca@apple.com>
7264
7265        Reviewed by Sam Weinig.
7266
7267        Move marshalling into NetscapePluginInstanceProxy.
7268
7269        Add support for marshallin strings.
7270
7271        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7272        (WKPCEvaluate):
7273        (WKPCInvoke):
7274        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7275        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7276        (WebKit::NetscapePluginInstanceProxy::evaluate):
7277        (WebKit::NetscapePluginInstanceProxy::invoke):
7278        (WebKit::NetscapePluginInstanceProxy::marshalValue):
7279        * Plugins/Hosted/WebKitPluginHostTypes.h:
7280
72812009-01-12  Anders Carlsson  <andersca@apple.com>
7282
7283        Reviewed by Sam Weinig.
7284
7285        Implement WKPCInvoke.
7286
7287        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7288        (WKPCEvaluate):
7289        (WKPCInvoke):
7290        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7291        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7292        (WebKit::NetscapePluginInstanceProxy::idForObject):
7293        (WebKit::NetscapePluginInstanceProxy::invoke):
7294        * Plugins/Hosted/WebKitPluginClient.defs:
7295
72962009-01-12  Anders Carlsson  <andersca@apple.com>
7297
7298        Reviewed by Sam Weinig.
7299
7300        Move marshalling code to NetscapePluginInstanceProxy. Add support for marshalling JS objects.
7301
7302        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7303        (WKPCEvaluate):
7304        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7305        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7306        (WebKit::NetscapePluginInstanceProxy::marshalValue):
7307        * Plugins/Hosted/WebKitPluginHostTypes.h:
7308
73092009-01-12  Julien Chaffraix  <jchaffraix@pleyo.com>
7310
7311        Reviewed by Darin Adler.
7312
7313        Bug 22861: Turn the FontCache into a singleton
7314        https://bugs.webkit.org/show_bug.cgi?id=22861
7315
7316        * Misc/WebCoreStatistics.mm:
7317        (+[WebCoreStatistics cachedFontDataCount]):
7318        (+[WebCoreStatistics cachedFontDataInactiveCount]):
7319        (+[WebCoreStatistics purgeInactiveFontData]):
7320        Redirected all the static calls to the global FontCache
7321        instance.
7322
73232009-01-11  Dmitry Titov  <dimich@chromium.org>
7324
7325        Reviewed by Darin Adler.
7326
7327        https://bugs.webkit.org/show_bug.cgi?id=23207
7328        Moved currentTime() to from WebCore to WTF.
7329
7330        * WebView/WebFrame.mm: a different header file included.
7331
73322009-01-10  Darin Adler  <darin@apple.com>
7333
7334        Reviewed by Sam Weinig.
7335
7336        <rdar://problem/5845089> REGRESSION (r30044): Mail custom stationery missing images
7337        because of change to -[HTMLObjectElement data]
7338
7339        * WebView/WebView.mm:
7340        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Added a thread
7341        violation check because I saw this being done off the main thread while testing Mail, and it
7342        caused problems. Put all the one time initialization under a single guard to make things just
7343        a little faster other times, and to make it clearer which things are one-time. Added a call to
7344        the new patchMailRemoveAttributesMethod function.
7345        (-[WebView initWithFrame:frameName:groupName:]): Added a thread violation check here too,
7346        because I assumed it would be slightly better to have a public method name in the violation
7347        message. This calls commonInitialization later, so it will hit that one eventually.
7348        (objectElementDataAttribute): Added. Just returns the value of the "data" attribute.
7349        (recursivelyRemoveMailAttributes): Added. Patch to an internal Mail method that in turn patches
7350        a WebKit method and removes the patch again on the way out.
7351        (patchMailRemoveAttributesMethod): Added. On Leopard only, checks the Mail version, and then
7352        applies the patch that fixes this bug.
7353
73542009-01-09  Dan Bernstein  <mitz@apple.com>
7355
7356        Reviewed by Darin Adler.
7357
7358        - fixed <rdar://problem/6234347> Add/change conditional key
7359          bindings for changing paragraph- and character-level writing
7360          direction (to match NSTextView)
7361
7362        * WebView/WebHTMLView.mm:
7363        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Added
7364        code to validate makeBaseWritingDirectionLeftToRight: and
7365        makeBaseWritingDirectionRightToLeft:.
7366        (writingDirectionKeyBindingsEnabled): Changed this function to
7367        always return YES, except on Tiger and Leopard.
7368        (-[WebHTMLView makeBaseWritingDirectionLeftToRight:]): Renamed
7369        changeBaseWritingDirectionToLTR: to this.
7370        (-[WebHTMLView makeBaseWritingDirectionRightToLeft:]): Renamed
7371        changeBaseWritingDirectionToRTL: to this.
7372        (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Now calls
7373        makeBaseWritingDirectionLeftToRight:.
7374        (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Now calls
7375        makeBaseWritingDirectionRightToLeft:.
7376        * WebView/WebView.mm: Added makeBaseWritingDirectionLeftToRight
7377        and makeBaseWritingDirectionRightToLeft to
7378        FOR_EACH_RESPONDER_SELECTOR.
7379
73802009-01-08  Anders Carlsson  <andersca@apple.com>
7381
7382        Reviewed by Sam Weinig.
7383
7384        Add and implement WKPCGetStringIdentifier.
7385
7386        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7387        (WKPCGetStringIdentifier):
7388        * Plugins/Hosted/WebKitPluginClient.defs:
7389
73902009-01-08  Stephanie Lewis  <slewis@gmail.com>
7391
7392        Fix Tiger build.
7393
7394        * WebView/WebTextIterator.mm:
7395
73962009-01-08  Anders Carlsson  <andersca@apple.com>
7397
7398        Reviewed by Sam Weinig.
7399
7400        Add basic support for evaluating scripts.
7401
7402        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7403        (WebKit::fromUTF8WithLatin1Fallback):
7404        (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
7405        (WKPCReleaseObject):
7406        (marshalValue):
7407        (WKPCEvaluate):
7408        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7409        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7410        (WebKit::NetscapePluginInstanceProxy::releaseObject):
7411        (WebKit::NetscapePluginInstanceProxy::evaluate):
7412        * Plugins/Hosted/WebKitPluginClient.defs:
7413        * Plugins/Hosted/WebKitPluginHostTypes.h:
7414
74152009-01-08  David Hyatt  <hyatt@apple.com>
7416
7417        Fix for <rdar://problem/6465682> REGRESSION: In Mail, can't force a message to auto scroll
7418
7419        Add a new ChromeClient method for handling exposure of scrolled rects.
7420
7421        Reviewed by Oliver Hunt
7422
7423        * WebCoreSupport/WebChromeClient.h:
7424        * WebCoreSupport/WebChromeClient.mm:
7425        (WebChromeClient::scrollRectIntoView):
7426
74272009-01-08  Darin Adler  <darin@apple.com>
7428
7429        Reviewed by Tim Hatcher.
7430
7431        Bug 23185: add a currentRange method to the WebTextIterator SPI
7432        https://bugs.webkit.org/show_bug.cgi?id=23185
7433        rdar://problem/6455834
7434
7435        I also noticed a garbage-collection-related threading issue that I fixed, and
7436        that the SPI for getting text was unnecessarily inefficient, so I fixed that too.
7437
7438        * WebView/WebTextIterator.h: Moved currentNode and currentText into a "deprecated"
7439        category. Added currentTextPointer and currentTextLength.
7440
7441        * WebView/WebTextIterator.mm: Changed m_textIterator into an OwnPtr, and also
7442        used _textIterator to be consistent with ObjC rather than C++ naming.
7443        (+[WebTextIteratorPrivate initialize]): Added. Calls WebCoreObjCFinalizeOnMainThread,
7444        since the finalize method here works with main-thread only WebCore objects.
7445        (-[WebTextIterator initWithRange:]): Changed since _textIterator is an OwnPtr now.
7446        (-[WebTextIterator advance]): Changed name of m_textIterator. Removed null assertion,
7447        since I don't think it provides much value.
7448        (-[WebTextIterator atEnd]): Ditto.
7449        (-[WebTextIterator currentRange]): Added.
7450        (-[WebTextIterator currentTextPointer]): Added.
7451        (-[WebTextIterator currentTextLength]): Added.
7452        (-[WebTextIterator currentNode]): Did same as above, but also put into new category.
7453        (-[WebTextIterator currentText]): Ditto.
7454
74552009-01-08  Eric Carlson  <eric.carlson@apple.com>
7456
7457        Reviewed by Adele Peterson.
7458
7459        Simplify Mac interfaces for drawing media controller elements
7460
7461        <rdar://problem/6293969>
7462
7463        * WebCoreSupport/WebSystemInterface.m:
7464        (InitWebCoreSystemInterface): Update for changes to media controller functions
7465
74662009-01-07  Anders Carlsson  <andersca@apple.com>
7467
7468        Reviewed by Dan Bernstein.
7469
7470        Fix build.
7471
7472        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7473        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7474        (WebKit::NetscapePluginInstanceProxy::idForObject):
7475
74762009-01-07  Anders Carlsson  <andersca@apple.com>
7477
7478        Reviewed by Dan Bernstein.
7479
7480        Add a way for a plug-in to get a reference to the Window JS object.
7481
7482        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7483        (WKPCGetWindowNPObject):
7484        Call the appropriate instance.
7485
7486        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7487        Add object ID counter.
7488
7489        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7490        (WebKit::NetscapePluginInstanceProxy::destroy):
7491        Clear the object ID map.
7492
7493        (WebKit::NetscapePluginInstanceProxy::idForObject):
7494        New method that returns a unique ID for a given JS object.
7495
7496        (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
7497        Return the object ID for the window JS object.
7498
7499        * Plugins/Hosted/WebKitPluginClient.defs:
7500        Add GetWindowNPObject.
7501
75022009-01-07  Darin Adler  <darin@apple.com>
7503
7504        Reviewed by Oliver Hunt.
7505
7506        Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed
7507        https://bugs.webkit.org/show_bug.cgi?id=23160
7508
7509        * WebView/WebView.mm:
7510        (-[WebView setMemoryCacheDelegateCallsEnabled:]): Added.
7511        (-[WebView areMemoryCacheDelegateCallsEnabled]): Added
7512        * WebView/WebViewPrivate.h: Ditto.
7513
75142009-01-05  Gavin Barraclough  <baraclough@apple.com>
7515
7516        Rubber Stamped by Oliver Hunt.
7517
7518        Replace all uses of JSValue* with new wrapper class, JSValuePtr.
7519        See JavaScriptCore/ChangeLog for more detailed description.
7520
7521        * WebView/WebFrame.mm:
7522        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
7523        * WebView/WebScriptDebugDelegate.mm:
7524        (-[WebScriptCallFrame _convertValueToObjcValue:]):
7525        (-[WebScriptCallFrame exception]):
7526        (-[WebScriptCallFrame evaluateWebScript:]):
7527        * WebView/WebView.mm:
7528        (aeDescFromJSValue):
7529        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
7530
75312009-01-06  Pierre-Olivier Latour  <pol@apple.com>
7532
7533        Reviewed by Darin Adler.
7534
7535        Exposed through WebFrame private interface the new WebCore API AnimationController::numberOfActiveAnimations() to be used by DRT.
7536
7537        https://bugs.webkit.org/show_bug.cgi?id=23126
7538
7539        * WebView/WebFrame.mm:
7540        (-[WebFrame _numberOfActiveAnimations]):
7541        * WebView/WebFramePrivate.h:
7542
75432009-01-05  David Kilzer  <ddkilzer@apple.com>
7544
7545        Add SPI to enable, disable and check state of WebIconDatabase
7546
7547        Reviewed by Darin Adler & Timothy Hatcher.
7548
7549        Add -[WebIconDatabase isEnabled] and -[WebIconDatabase setEnabled:]
7550        SPI to make it possible to enable, disable and check the state of
7551        the icon database.
7552
7553        * Misc/WebIconDatabase.mm:
7554        (-[WebIconDatabase init]): Extracted code into -_startUpIconDatabase.
7555        (-[WebIconDatabase iconForURL:withSize:cache:]): Switched to use
7556        -isEnabled instead of -_isEnabled.
7557        (-[WebIconDatabase iconURLForURL:]): Ditto.
7558        (-[WebIconDatabase retainIconForURL:]): Ditto.
7559        (-[WebIconDatabase releaseIconForURL:]): Ditto.
7560        (-[WebIconDatabase isEnabled]): Renamed from -_isEnabled in
7561        WebInternal category.
7562        (-[WebIconDatabase setEnabled:]): Added.  Takes care of changing
7563        the enabled/disabled state of the icon database.
7564        (-[WebIconDatabase removeAllIcons]): Switched to use -isEnabled
7565        instead of -_isEnabled.
7566        (-[WebIconDatabase _startUpIconDatabase]): Added.  Extrated from
7567        -init.
7568        (-[WebIconDatabase _shutDownIconDatabase]): Added.  Remove
7569        observers when the icon database is disabled.
7570        * Misc/WebIconDatabaseInternal.h: Added declarations for
7571        -_startUpIconDatabase and -_shutDownIconDatabase.
7572        * Misc/WebIconDatabasePrivate.h: Added declarations for
7573        -isEnabled and -setEnabled:.
7574
75752009-01-05  Brady Eidson  <beidson@apple.com>
7576
7577        Reviewed by Jon Honeycutt
7578
7579        Expose setting the last-visit-was-failure flag on a history items in preparation for <rdar://problem/6173319>
7580
7581        * History/WebHistoryItem.mm:
7582        (-[WebHistoryItem _setLastVisitWasFailure:]):
7583        * History/WebHistoryItemPrivate.h:
7584
75852009-01-05  Adam Treat  <adam.treat@torchmobile.com>
7586
7587        Another blind mac build fix
7588
7589        * WebCoreSupport/WebChromeClient.mm:
7590        (WebChromeClient::contentsSizeChanged):
7591
75922009-01-05  Adam Treat  <adam.treat@torchmobile.com>
7593
7594        Blind mac build fix
7595
7596        * WebCoreSupport/WebChromeClient.mm:
7597
75982009-01-05  Adam Treat  <adam.treat@torchmobile.com>
7599
7600        Fix mac build
7601
7602        * WebCoreSupport/WebChromeClient.h:
7603
76042009-01-05  Adam Treat  <adam.treat@torchmobile.com>
7605
7606        Reviewed by George Staikos.
7607
7608        Build fix for contentsSizeChanged
7609
7610        * WebCoreSupport/WebChromeClient.h:
7611        * WebCoreSupport/WebChromeClient.mm:
7612        (WebChromeClient::contentsSizeChanged):
7613
76142009-01-02  Darin Adler  <darin@apple.com>
7615
7616        Reviewed by Sam Weinig.
7617
7618        Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears
7619        inside its web view when resizing its window
7620        https://bugs.webkit.org/show_bug.cgi?id=23072
7621        rdar://problem/6368028
7622
7623        The first attempt at fixing this did not work.
7624        This time I was able to reproduce the bug and test the fix.
7625
7626        * WebCoreSupport/WebFrameLoaderClient.mm:
7627        (applyAppleDictionaryApplicationQuirkNonInlinePart): Changed the arguments and
7628        function names around a bit to make even less code at the call site.
7629        (applyAppleDictionaryApplicationQuirk): Put the check for whether this is the
7630        Dictionary application in here.
7631        (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): Put a call to
7632        applyAppleDictionaryApplicationQuirk here. This was a case I had missed before,
7633        when the script is cached. This fixes one of the two problems with the initial
7634        patch; the other fix is in WebCore.
7635        (WebFrameLoaderClient::dispatchWillSendRequest): Changed the
7636        applyAppleDictionaryApplicationQuirk call here to work the new simpler way.
7637
7638        * WebView/WebView.mm: Had to add an include due to changes in WebCore header includes.
7639
76402009-01-02  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
7641
7642        Reviewed by Darin Adler.
7643
7644        Bug 23060: REGRESSION (r38629): Cannot scroll a WebHTMLView using Home/End/Page up/Page down
7645        <https://bugs.webkit.org/show_bug.cgi?id=23060>
7646        <rdar://problem/6467830>
7647
7648        After r38629, all keyboard events get sent by Editor to the EditorClient, even
7649        if the selection is not editable. If the event's command is unsupported by
7650        WebHTMLView, WebHTMLView mistakenly thinks that the event was handled when it
7651        was not. When using the page up / page down keys, the events generated are of
7652        the form scrollPageUp rather than movePageUp, so they are unsupported by
7653        WebHTMLView and cause this bug to occur.
7654
7655        * WebView/WebHTMLView.mm:
7656        (-[WebHTMLView doCommandBySelector:]):
7657
76582009-01-02  Darin Adler  <darin@apple.com>
7659
7660        Reviewed by Oliver Hunt.
7661
7662        Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears inside its web view when resizing its window
7663        https://bugs.webkit.org/show_bug.cgi?id=23072
7664        rdar://problem/6368028
7665
7666        * WebCoreSupport/WebFrameLoaderClient.mm:
7667        (isAppleDictionaryApplication): Added.
7668        (applyAppleDictionaryApplicationQuirk): Added. Under the right conditions, sets
7669        a flag to ask HTMLFrameElementBase to ignore the scrolling attribute.
7670        (WebFrameLoaderClient::dispatchWillSendRequest): Call the two functions above to
7671        apply the quirk when the relevant script is loaded.
7672
76732008-12-26  Dan Bernstein  <mitz@apple.com>
7674
7675        Reviewed by Sam Weinig.
7676
7677        - fix <rdar://problem/6467608> lastVisitWasFailure flag persists in
7678          global history after a successful visit
7679
7680        * History/WebHistory.mm:
7681        (-[WebHistory _visitedURL:withTitle:wasFailure:]): Changed to always
7682        update the wasFailure flag on the HistoryItem.
7683
76842008-12-23  Darin Adler  <darin@apple.com>
7685
7686        Reviewed by Alexey Proskuryakov (a slightly earlier version).
7687
7688        - fix https://bugs.webkit.org/show_bug.cgi?id=22976
7689          crash due to Mail's use of WebArchive and WebResource on non-main thread
7690
7691        * Misc/WebKitLogging.h: Improved comments for ASSERT_MAIN_THREAD. Got rid of
7692        WebKitRunningOnMainThread function, which was just a cover for pthread_main_np.
7693        * Misc/WebKitLogging.m: Ditto.
7694
7695        * Misc/WebKitVersionChecks.h: Added a version after which we won't do the
7696        main thread workaround.
7697
7698        * Misc/WebNSObjectExtras.h: Added a new method, _webkit_getPropertyOnMainThread:,
7699        which performs a selector on the main thread, waits for it to complete, and then
7700        returns the value on the caller thread.
7701        * Misc/WebNSObjectExtras.mm: Added.
7702
7703        * WebView/WebArchive.mm:
7704        (-[WebArchive init]): Added WebCoreThreadViolationCheck.
7705        (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Perform
7706        initialization on main thread if needMailThreadWorkaround is true.
7707        Also added WebCoreThreadViolationCheck.
7708        (-[WebArchive initWithData:]): Added WebCoreThreadViolationCheck.
7709        (-[WebArchive mainResource]): Get property on main thread if
7710        needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
7711        (-[WebArchive subresources]): Ditto.
7712        (-[WebArchive subframeArchives]): Ditto.
7713        (-[WebArchive data]): Ditto.
7714        (-[WebArchive _initWithCoreLegacyWebArchive:]): Added WebCoreThreadViolationCheck.
7715        (-[WebArchive _coreLegacyWebArchive]): Ditto.
7716        (-[WebArchive _initWithArguments:]): Added. Used to implement the cross-thread
7717        version of initWithMainResource above.
7718
7719        * WebView/WebResource.mm:
7720        (-[WebResource initWithCoder:]): Added WebCoreThreadViolationCheck.
7721        (-[WebResource data]): Get property on main thread if
7722        needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
7723        (-[WebResource URL]): Ditto.
7724        (-[WebResource MIMEType]): Ditto.
7725        (-[WebResource textEncodingName]): Ditto.
7726        (-[WebResource frameName]): Ditto.
7727        (-[WebResource _ignoreWhenUnarchiving]): Ditto.
7728        (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
7729        Perform initialization on main thread if needMailThreadWorkaround is true.
7730        Also added WebCoreThreadViolationCheck.
7731        (-[WebResource _suggestedFilename]): Added. Helper for _fileWrapperRepresentation.
7732        (-[WebResource _fileWrapperRepresentation]): Rewrote to use methods instead of
7733        getting at coreResource directly.
7734        (-[WebResource _response]): Get property on main thread if
7735        needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
7736        (-[WebResource _stringValue]): Ditto.
7737        (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Added.
7738        (-[WebResource _initWithArguments:]): Added. Used to implement the cross-thread
7739        version of _initWithData above.
7740
7741        * WebView/WebResourceInternal.h: Changed to include WebResourcePrivate.h since internal
7742        clients have access to the SPI as well as the API. Added definition of MAIL_THREAD_WORKAROUND
7743        and the needMainThreadWorkaround helper function.
7744
7745        * Misc/WebIconDatabase.mm: Removed include of now-defunct FoundationExtras.h
7746        file. This probably fixes clean builds.
7747        * WebCoreSupport/WebIconDatabaseClient.mm: Ditto.
7748
7749        * WebCoreSupport/WebFrameLoaderClient.mm: Removed include of WebResourcePrivate.h,
7750        since it's not actually used.
7751        * WebView/WebDataSource.mm: Ditto.
7752        * WebView/WebHTMLRepresentation.mm: Ditto.
7753
77542008-12-23  Darin Adler  <darin@apple.com>
7755
7756        Reviewed by Dan Bernstein.
7757
7758        - fix https://bugs.webkit.org/show_bug.cgi?id=22979
7759          crash seen in -[WebView drawsBackground] when quitting
7760          <rdar://problem/6464601>
7761
7762        * WebView/WebView.mm:
7763        (-[WebView drawsBackground]): Added comment and a null check for _private.
7764
77652008-12-22  Kevin Decker  <kdecker@apple.com>
7766
7767        Reviewed by Anders Carlsson.
7768
7769        <rdar://problem/6449588> REGRESSION (r38279-r38280): Minimize them remaximize a window with a flash plugin, plugin doesn't resume at full speed
7770
7771        * Plugins/WebBaseNetscapePluginView.mm:
7772        (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): Deminiaturizing should restart timers, not stop timers.
7773
77742008-12-19  Geoffrey Garen  <ggaren@apple.com>
7775
7776        Reviewed by Darin Adler, Adele Peterson, Brady Eidson.
7777
7778        Added SPI for getting an unsorted vector of all items in history.
7779
7780        * History/WebHistory.h:
7781        * History/WebHistory.mm:
7782        (-[WebHistory allItems]):
7783
77842008-12-18  Dan Bernstein  <mitz@apple.com>
7785
7786        Reviewed by Sam Weinig.
7787
7788        - implement FrameLoaderClient::shouldUseCredentialStorage() by calling
7789          a new resource load delegae method.
7790
7791        * WebCoreSupport/WebFrameLoaderClient.h:
7792        * WebCoreSupport/WebFrameLoaderClient.mm:
7793        (WebFrameLoaderClient::shouldUseCredentialStorage): Added. Calls the
7794        delegate method. If the method is unimplemented, returns true for
7795        backwards compatibility.
7796        * WebView/WebView.mm:
7797        (-[WebView _cacheResourceLoadDelegateImplementations]): Initialize the
7798        shouldUseCredentialStorageFunc member.
7799        (CallResourceLoadDelegateReturningBoolean): Added.
7800        * WebView/WebViewInternal.h:
7801        * WebView/WebResourceLoadDelegatePrivate.h: Declared the delegate method
7802        -webView:resource:shouldUseCredentialStorageForDataSource:.
7803
78042008-12-18  Cameron Zwarich  <zwarich@apple.com>
7805
7806        Reviewed by Jonathan Honeycutt.
7807
7808        Fix an apparent typo in r39385 that is causing lots of crashes.
7809
7810        * WebCoreSupport/WebFrameLoaderClient.mm:
7811        (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
7812
78132008-12-18  Brady Eidson  <beidson@apple.com>
7814
7815        Reviewed by John Sullivan
7816
7817        Initial visit to a website creates history items that start with a visit count of
7818        zero instead of one
7819
7820        * History/WebHistory.mm:
7821        (-[WebHistoryPrivate visitedURL:withTitle:]): Set the visit count on new items
7822
7823        * History/WebHistoryItem.mm:
7824        (-[WebHistoryItem _setVisitCount:]): Call through to the WebCore item
7825        * History/WebHistoryItemInternal.h:
7826
78272008-12-18  Sam Weinig  <sam@webkit.org>
7828
7829        Reviewed by John Sullivan.
7830
7831        Implement FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout() by calling
7832        a new private frame load delegate method.
7833
7834        * WebCoreSupport/WebFrameLoaderClient.h:
7835        * WebCoreSupport/WebFrameLoaderClient.mm:
7836        (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
7837        * WebView/WebView.mm:
7838        (-[WebView _cacheFrameLoadDelegateImplementations]):
7839        * WebView/WebViewInternal.h:
7840        * WebView/WebViewPrivate.h:
7841
78422008-12-16  Antti Koivisto  <antti@apple.com>
7843
7844        Reviewed by John Sullivan.
7845
7846        Add version check for shift-reload behavior.
7847
7848        * Misc/WebKitVersionChecks.h:
7849        * WebView/WebFrame.mm:
7850        (-[WebFrame reload]):
7851
78522008-12-16  Anders Carlsson  <andersca@apple.com>
7853
7854        Reviewed by Dan Bernstein.
7855
7856        Start sending keyboard events to the plug-in host.
7857
7858        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7859        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7860        (WebKit::NetscapePluginInstanceProxy::keyEvent):
7861        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
7862        (-[WebHostedNetscapePluginView keyDown:]):
7863        (-[WebHostedNetscapePluginView keyUp:]):
7864        * Plugins/Hosted/WebKitPluginHost.defs:
7865
78662008-12-16  Anders Carlsson  <andersca@apple.com>
7867
7868        Reviewed by Kevin Decker.
7869
7870        <rdar://problem/6450538>
7871
7872        Fix flag enumeration.
7873
7874        * Plugins/Hosted/WebKitPluginHostTypes.h:
7875
78762008-12-16  Anders Carlsson  <andersca@apple.com>
7877
7878        Reviewed by Kevin Decker.
7879
7880        Instead of passing a gazillion booleans to WKPCLoadURL, pass a single set of flags.
7881
7882        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7883        (WKPCLoadURL):
7884        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7885        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7886        (WebKit::NetscapePluginInstanceProxy::loadURL):
7887        * Plugins/Hosted/WebKitPluginClient.defs:
7888        * Plugins/Hosted/WebKitPluginHostTypes.h:
7889
78902008-12-16  Anders Carlsson  <andersca@apple.com>
7891
7892        Reviewed by Kevin Decker.
7893
7894        Add trailing null to headers to avoid a crash in the plug-in host.
7895
7896        * Plugins/Hosted/HostedNetscapePluginStream.mm:
7897        (WebKit::HostedNetscapePluginStream::didReceiveResponse):
7898
78992008-12-15  Mark Rowe  <mrowe@apple.com>
7900
7901        Rubber-stamped by Cameron Zwarich.
7902
7903        <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
7904
7905        * Configurations/Base.xcconfig:
7906        * Configurations/DebugRelease.xcconfig:
7907
79082008-12-15  Stephanie Lewis  <slewis@apple.com>
7909
7910        Fix build.
7911
7912        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7913
79142008-12-15  Anders Carlsson  <andersca@apple.com>
7915
7916        Reviewed by Sam Weinig.
7917
7918        Change InstantiatePlugin to be asynchronous so we won't deadlock if the plug-in tries to call
7919        back into us while it's being instantiated.
7920
7921        * Plugins/Hosted/NetscapePluginHostManager.mm:
7922        (WebKit::NetscapePluginHostManager::instantiatePlugin):
7923        * Plugins/Hosted/NetscapePluginHostProxy.h:
7924        (WebKit::NetscapePluginHostProxy::clientPort):
7925        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7926        (WKPCInstantiatePluginReply):
7927        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7928        (WebKit::NetscapePluginInstanceProxy::Reply::):
7929        (WebKit::NetscapePluginInstanceProxy::Reply::Reply):
7930        (WebKit::NetscapePluginInstanceProxy::Reply::~Reply):
7931        (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply):
7932        (WebKit::NetscapePluginInstanceProxy::setCurrentReply):
7933        (WebKit::NetscapePluginInstanceProxy::waitForReply):
7934        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7935        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
7936        (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
7937        * Plugins/Hosted/WebKitPluginClient.defs:
7938        * Plugins/Hosted/WebKitPluginHost.defs:
7939
79402008-12-15  Anders Carlsson  <andersca@apple.com>
7941
7942        Reviewed by Darin Adler.
7943
7944        Let WebKit generate a plug-in ID instead of having the plug-in host do it.
7945
7946        * Plugins/Hosted/NetscapePluginHostManager.mm:
7947        (WebKit::NetscapePluginHostManager::instantiatePlugin):
7948        Create the plug-in proxy before instantiating the plug-in.
7949
7950        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7951        (WebKit::NetscapePluginInstanceProxy::create):
7952        (WebKit::NetscapePluginInstanceProxy::setRenderContextID):
7953        (WebKit::NetscapePluginInstanceProxy::setUseSoftwareRenderer):
7954        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7955        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
7956        * Plugins/Hosted/WebKitPluginHost.defs:
7957
79582008-12-15  Anders Carlsson  <andersca@apple.com>
7959
7960        Reviewed by Sam Weinig.
7961
7962        LoadURL doesn't need to be asynchronous.
7963
7964        * Plugins/Hosted/NetscapePluginHostProxy.mm:
7965        (WKPCLoadURL):
7966        * Plugins/Hosted/WebKitPluginClient.defs:
7967        * Plugins/Hosted/WebKitPluginHost.defs:
7968
79692008-12-15  Antti Koivisto  <antti@apple.com>
7970
7971        Reviewed by Darin Adler.
7972
7973        - Add [WebFrame reloadFromOrigin] for performing end-to-end reload.
7974        - Add corresponding IBAction to WebView.
7975        - Temporarily make [WebFrame reload] trigger end-to-end reload if shift modifier is pressed when it is called.
7976
7977        * WebView/WebFrame.h:
7978        * WebView/WebFrame.mm:
7979        (-[WebFrame reload]):
7980        (-[WebFrame reloadFromOrigin]):
7981        * WebView/WebFramePrivate.h: Match the FrameLoadType enum in WebCore.
7982        * WebView/WebView.h:
7983        * WebView/WebView.mm:
7984        (-[WebView reloadFromOrigin:]):
7985
79862008-12-14  Dan Bernstein  <mitz@apple.com>
7987
7988        Reviewed by Darin Adler.
7989
7990        - fix <rdar://problem/3258561> WebHistoryAllItemsRemovedNotification
7991          should add items to userInfo
7992
7993        * History/WebHistory.mm:
7994        (-[WebHistoryPrivate allItems]): Added this helper method, which returns
7995        all values in the _entriesByURL dictionary.
7996        (-[WebHistory removeAllItems]): Changed to send the array of all items
7997        in the notification.
7998
79992008-12-13  Darin Adler  <darin@apple.com>
8000
8001        - <rdar://problem/6441035> WebTextIterator class not exported in WebKit
8002
8003        * WebKit.exp: Added the class. We forgot to export it when we added
8004        the WebTextIterator SPI.
8005
80062008-12-12  Darin Adler  <darin@apple.com>
8007
8008        Rubber stamped by Adam Roben.
8009
8010        - fix <rdar://problem/5648301> Can't tab around to text fields in Safari
8011          login sheet after clicking static text, due to AppKit key loop change
8012
8013        * Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib: Removed.
8014        * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: Added.
8015        * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: Removed.
8016        * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
8017        Set nextKeyView of the selectable static texts to the editable text.
8018        Updated nib format.
8019
80202008-12-12  Stephanie Lewis  <slewis@apple.com>
8021
8022        Reviewed by Geoff Garen.
8023
8024        Shrink Cache Sizes.
8025
8026        * WebView/WebView.mm:
8027        (+[WebView _setCacheModel:]):
8028
80292008-12-12  Anders Carlsson  <andersca@apple.com>
8030
8031        Reviewed by Tim Hatcher.
8032
8033        Don't try to free the dummy "1" port state.
8034
8035        * Plugins/WebNetscapePluginView.mm:
8036        (-[WebNetscapePluginView sendEvent:isDrawRect:]):
8037        (-[WebNetscapePluginView updateAndSetWindow]):
8038
80392008-12-11  Cameron Zwarich  <zwarich@apple.com>
8040
8041        Rubber-stamped by Mark Rowe.
8042
8043        Roll out r39212 due to assertion failures during layout tests, multiple
8044        layout test failures, memory leaks, and obvious incorrectness.
8045
8046        * WebView/WebPreferenceKeysPrivate.h:
8047        * WebView/WebPreferences.mm:
8048        (-[WebPreferences fullDocumentTeardownEnabled]):
8049        * WebView/WebPreferencesPrivate.h:
8050
80512008-12-11  Stephanie Lewis  <slewis@apple.com>
8052
8053        Fix build.
8054
8055        * WebView/WebView.mm:
8056
80572008-12-11  Stephanie Lewis  <slewis@apple.com>
8058
8059        Reviewed by Oliver Hunt.
8060
8061        Empty Web cache before quitting a debug build in order
8062        to report accurate CachedResource leaks.
8063
8064        * WebView/WebView.mm:
8065        (-[WebView _close]):
8066
80672008-12-11  Anders Carlsson  <andersca@apple.com>
8068
8069        Fix Tiger build.
8070
8071        * Misc/WebNSDataExtras.h:
8072
80732008-12-11  Anders Carlsson  <andersca@apple.com>
8074
8075        Reviewed by Cameron Zwarich.
8076
8077        https://bugs.webkit.org/show_bug.cgi?id=22797
8078        REGRESSION: Crash at http://news.cnet.com/8301-17939_109-10119149-2.html
8079
8080        Make sure to protect the stream because destroyStream can otherwise cause it to be deleted.
8081
8082        * Plugins/WebBaseNetscapePluginStream.mm:
8083        (WebNetscapePluginStream::destroyStreamWithReason):
8084
80852008-12-10  Glenn Wilson  <gwilson@google.com>
8086
8087        Reviewed by Adam Roben.
8088
8089        Added new methods for overriding default WebPreference values
8090        and for resetting preferences to their defaults.
8091        https://bugs.webkit.org/show_bug.cgi?id=20534
8092
8093        * WebView/WebPreferenceKeysPrivate.h:
8094        * WebView/WebPreferences.mm:
8095        (-[WebPreferences resetToDefaults]): new method
8096        (-[WebPreferences overridePreference:flag:]): new method
8097        * WebView/WebPreferencesPrivate.h: new method signatures
8098
80992008-12-10  Anders Carlsson  <andersca@apple.com>
8100
8101        Reviewed by Darin Adler.
8102
8103        Implement support for NPN_PostURL/NPN_PostURLNotify in WebKit.
8104
8105        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8106        Add stopAllStreams.
8107
8108        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8109        (WebKit::NetscapePluginInstanceProxy::stopAllStreams):
8110        Factored out this from ::destroy.
8111
8112        (WebKit::NetscapePluginInstanceProxy::destroy):
8113        Call stopAllStreams().
8114
8115        (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
8116        Ditto.
8117
8118        (WebKit::NetscapePluginInstanceProxy::loadURL):
8119        Handle post being true. This code has been copied from WebNetscapePluginView.mm (for now).
8120
81212008-12-10  Anders Carlsson  <andersca@apple.com>
8122
8123        Reviewed by Darin Adler.
8124
8125        Move two NSData category methods to WebNSDataExtras.m.
8126
8127        * Misc/WebNSDataExtras.h:
8128        * Misc/WebNSDataExtras.m:
8129        (-[NSData _web_startsWithBlankLine]):
8130        (-[NSData _web_locationAfterFirstBlankLine]):
8131        * Plugins/WebNetscapePluginView.mm:
8132
81332008-12-10  Alice Liu  <alice.liu@apple.com>
8134
8135        fixed https://bugs.webkit.org/show_bug.cgi?id=20685
8136
8137        Reviewed by Darin Adler.
8138
8139        * Misc/WebNSPasteboardExtras.mm:
8140        Ask image for its file extension instead of falling back on MIME type and file path.
8141        Also moved this code to before setting the pasteboard data so as not to set any if
8142        no extension can be determined.
8143        (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
8144
8145        * WebView/WebHTMLView.mm:
8146        Fixed a separate but related long-standing bug of how the filename for the promised
8147        drag data is determined by asking the image for a proper file extension.
8148        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
8149
81502008-12-09  Anders Carlsson  <andersca@apple.com>
8151
8152        Reviewed by Darin Adler.
8153
8154        Fix typecast.
8155
8156        * WebView/WebHTMLView.mm:
8157        (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
8158
81592008-12-09  Anders Carlsson  <andersca@apple.com>
8160
8161        Reviewed by Darin Adler.
8162
8163        Implement software rendering of hosted plug-ins.
8164
8165        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8166        (WKPCInvalidateRect):
8167        New MiG function. This is called by the plug-in host when it has drawn something.
8168
8169        * Plugins/Hosted/WebHostedNetscapePluginView.h:
8170        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8171        (-[WebHostedNetscapePluginView createPlugin]):
8172        Create a software renderer.
8173
8174        (-[WebHostedNetscapePluginView destroyPlugin]):
8175        Destroy the software renderer.
8176
8177        (-[WebHostedNetscapePluginView drawRect:]):
8178        Draw using the software renderer.
8179
8180        * Plugins/Hosted/WebKitPluginClient.defs:
8181        Add InvalidateRect.
8182
81832008-12-09  Brett Wilson  <brettw@chromium.org>
8184
8185        Reviewed by Dave Hyatt.
8186
8187        https://bugs.webkit.org/show_bug.cgi?id=22177
8188
8189        Add a callback on ChromeClient that the state of form elements on
8190        the page has changed. This is to allow clients implementing session
8191        saving to know when the current state is dirty.
8192
8193        * WebCoreSupport/WebChromeClient.h:
8194        (WebChromeClient::formStateDidChange):
8195
81962008-12-09  Anders Carlsson  <andersca@apple.com>
8197
8198        Reviewed by Dan Bernstein.
8199
8200        Make sure to pause null events for hosted plug-ins as well.
8201
8202        * WebView/WebHTMLView.mm:
8203        (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
8204
82052008-12-09  Anders Carlsson  <andersca@apple.com>
8206
8207        Reviewed by Darin Adler.
8208
8209        * Plugins/Hosted/NetscapePluginHostProxy.h:
8210        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8211        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
8212        (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
8213        Unfortunately we can't use a libdispatch source right now, because of <rdar://problem/6393180>.
8214
82152008-12-09  Timothy Hatcher  <timothy@apple.com>
8216
8217        Implement a few methods needed to keep Dictionary.app working on Leopard.
8218
8219        <rdar://problem/6002160> Internal changes to WebKit in Safari 4
8220        Developer Preview might break Dictionary
8221
8222        Reviewed by Dan Bernstein.
8223
8224        * WebView/WebFrame.mm:
8225        (-[WebFrame convertNSRangeToDOMRange:]): Added. Calls _convertNSRangeToDOMRange.
8226        (-[WebFrame convertDOMRangeToNSRange:]): Added. Calls _convertDOMRangeToNSRange.
8227        * WebView/WebHTMLView.mm:
8228        (-[WebHTMLView _bridge]): Added. Returns the WebFrame, which has the methods
8229        that Dictionary.app is using.
8230
82312008-12-08  Anders Carlsson  <andersca@apple.com>
8232
8233        Reviewed by Darin Adler.
8234
8235        More work towards getting NPN_GetURL working.
8236
8237        * Plugins/Hosted/HostedNetscapePluginStream.h:
8238        Inherit from NetscapePlugInStreamLoaderClient.
8239
8240        (WebKit::HostedNetscapePluginStream::streamID):
8241        * Plugins/Hosted/HostedNetscapePluginStream.mm:
8242        (WebKit::HostedNetscapePluginStream::startStream):
8243        Keep track of the resposne URL and the MIME type. Pass the response URL to the
8244        plug-in host.
8245
8246        (WebKit::HostedNetscapePluginStream::didFinishLoading):
8247        Disconnect the stream.
8248
8249        (WebKit::HostedNetscapePluginStream::start):
8250        Create a plug-in stream loader and start loading.
8251
8252        (WebKit::HostedNetscapePluginStream::stop):
8253        Cancel the load.
8254
8255        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8256        (WKPCLoadURL):
8257        Fix the parameter order.
8258
8259        (WKPCCancelLoadURL):
8260        New function that cancels a load of a stream with a given reason.
8261
8262        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8263        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8264        (WebKit::NetscapePluginInstanceProxy::destroy):
8265        Stop the streams.
8266
8267        (WebKit::NetscapePluginInstanceProxy::pluginStream):
8268        Return a plug-in stream given a stream ID.
8269
8270        (WebKit::NetscapePluginInstanceProxy::disconnectStream):
8271        Remove the stream from the streams map.
8272
8273        (WebKit::NetscapePluginInstanceProxy::loadRequest):
8274        Create a stream and load it.
8275
8276        * Plugins/Hosted/WebKitPluginClient.defs:
8277        Add CancelLoadURL.
8278
8279        * Plugins/Hosted/WebKitPluginHost.defs:
8280        Add responseURL to StartStream.
8281
8282        * Plugins/WebBaseNetscapePluginView.h:
8283        * Plugins/WebBaseNetscapePluginView.mm:
8284        (-[WebBaseNetscapePluginView pluginPackage]):
8285        Move this down to the base class from WebNetscapePluginView.
8286
8287        * Plugins/WebNetscapePluginView.h:
8288        * Plugins/WebNetscapePluginView.mm:
8289
82902008-12-08  Dan Bernstein  <mitz@apple.com>
8291
8292        Reviewed by John Sullivan.
8293
8294        - WebKit/mac part of tracking the global history item for a WebView
8295
8296        * WebView/WebView.mm:
8297        (-[WebView _globalHistoryItem]): Added. Returns the page's global
8298        history item.
8299        * WebView/WebViewPrivate.h:
8300
83012008-12-06  Simon Fraser  <simon.fraser@apple.com>
8302
8303        Reviewed by Dave Hyatt
8304
8305        https://bugs.webkit.org/show_bug.cgi?id=15671
8306
8307        VisiblePosition::caretRect() was renaemd to absoluteCaretBounds().
8308
8309        * WebView/WebFrame.mm:
8310        (-[WebFrame _caretRectAtNode:offset:affinity:]):
8311
83122008-12-06  David Kilzer  <ddkilzer@apple.com>
8313
8314        Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
8315
8316        <https://bugs.webkit.org/show_bug.cgi?id=22666>
8317
8318        Reviewed by Darin Adler.
8319
8320        * DOM/WebDOMOperations.mm:
8321        (-[DOMNode _subresourceURLs]): Changed from using Vector<KURL> to
8322        ListHashSet<KURL> when calling WebCore::Node::getSubresourceURLs().
8323
83242008-12-05  Alexey Proskuryakov  <ap@webkit.org>
8325
8326        Reviewed by Darin Adler.
8327
8328        <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
8329        in Safari before opening a mail message in Mail
8330
8331        * Carbon/CarbonWindowAdapter.m: Removed.
8332        * Carbon/CarbonWindowAdapter.mm: Copied from WebKit/mac/Carbon/CarbonWindowAdapter.m.
8333        (+[CarbonWindowAdapter initialize]):
8334        * History/WebBackForwardList.mm:
8335        (+[WebBackForwardList initialize]):
8336        * History/WebHistoryItem.mm:
8337        (+[WebHistoryItem initialize]):
8338        * Misc/WebElementDictionary.mm:
8339        (+[WebElementDictionary initialize]):
8340        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8341        (+[WebHostedNetscapePluginView initialize]):
8342        * Plugins/WebBaseNetscapePluginView.mm:
8343        * Plugins/WebBasePluginPackage.m: Removed.
8344        * Plugins/WebBasePluginPackage.mm: Copied from WebKit/mac/Plugins/WebBasePluginPackage.m.
8345        (+[WebBasePluginPackage initialize]):
8346        * Plugins/WebNetscapePluginView.mm:
8347        (+[WebNetscapePluginView initialize]):
8348        * WebCoreSupport/WebEditorClient.mm:
8349        (+[WebEditCommand initialize]):
8350        * WebCoreSupport/WebFrameLoaderClient.mm:
8351        * WebView/WebArchive.mm:
8352        (+[WebArchivePrivate initialize]):
8353        * WebView/WebDataSource.mm:
8354        (+[WebDataSourcePrivate initialize]):
8355        * WebView/WebHTMLView.mm:
8356        (+[WebHTMLViewPrivate initialize]):
8357        (+[WebHTMLView initialize]):
8358        * WebView/WebResource.mm:
8359        (+[WebResourcePrivate initialize]):
8360        * WebView/WebView.mm:
8361        (+[WebViewPrivate initialize]):
8362        Call JSC::initializeThreading();
8363
83642008-12-04  Stephanie Lewis  <slewis@apple.com>
8365
8366        Fix build.
8367
8368        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8369        (WKPCLoadURL):
8370
83712008-12-04  Anders Carlsson  <andersca@apple.com>
8372
8373        Reviewed by Sam Weinig.
8374
8375        More work on streams.
8376
8377        * Plugins/Hosted/HostedNetscapePluginStream.h: Added.
8378        (WebKit::HostedNetscapePluginStream::create):
8379        * Plugins/Hosted/HostedNetscapePluginStream.mm: Added.
8380        (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
8381        (WebKit::HostedNetscapePluginStream::startStreamWithResponse):
8382        (WebKit::HostedNetscapePluginStream::startStream):
8383        (WebKit::HostedNetscapePluginStream::didReceiveData):
8384        (WebKit::HostedNetscapePluginStream::didFinishLoading):
8385        (WebKit::HostedNetscapePluginStream::didReceiveResponse):
8386        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8387        (WebKit::NetscapePluginInstanceProxy::pluginView):
8388        (WebKit::NetscapePluginInstanceProxy::hostProxy):
8389        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8390        (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
8391        (WebKit::NetscapePluginInstanceProxy::PluginRequest::requestID):
8392        (WebKit::NetscapePluginInstanceProxy::PluginRequest::request):
8393        (WebKit::NetscapePluginInstanceProxy::PluginRequest::frameName):
8394        (WebKit::NetscapePluginInstanceProxy::PluginRequest::didStartFromUserGesture):
8395        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
8396        (WebKit::NetscapePluginInstanceProxy::performRequest):
8397        (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
8398        (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
8399        (WebKit::NetscapePluginInstanceProxy::loadRequest):
8400        * Plugins/Hosted/WebKitPluginHost.defs:
8401
84022008-12-04  Anders Carlsson  <andersca@apple.com>
8403
8404        Reviewed by Sam Weinig.
8405
8406        Start implementing WKPCLoadURL. Currently this has copied a lot of code from WebNetscapePluginView
8407        but once we have a more complete implementation of NPStreams we can start refactoring things so that the
8408        implementations can share more code.
8409
8410        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8411        (WKPCLoadURL):
8412        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8413        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8414        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
8415        (WebKit::NetscapePluginInstanceProxy::loadURL):
8416        (WebKit::NetscapePluginInstanceProxy::performRequest):
8417        (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
8418        (WebKit::NetscapePluginInstanceProxy::loadRequest):
8419        * Plugins/Hosted/WebKitPluginClient.defs:
8420        * Plugins/Hosted/WebKitPluginHost.defs:
8421
84222008-12-04  Anders Carlsson  <andersca@apple.com>
8423
8424        Reviewed by Dan Bernstein.
8425
8426        Move requestWithURLCString to WebBaseNetscapePluginView.
8427
8428        * Plugins/WebBaseNetscapePluginView.h:
8429        * Plugins/WebBaseNetscapePluginView.mm:
8430        (-[WebBaseNetscapePluginView requestWithURLCString:]):
8431        * Plugins/WebNetscapePluginView.mm:
8432
84332008-12-03  Anders Carlsson  <andersca@apple.com>
8434
8435        Reviewed by Sam Weinig.
8436
8437        Move WebPluginRequest to its own file.
8438
8439        * Plugins/WebNetscapePluginView.mm:
8440        * Plugins/WebPluginRequest.h: Added.
8441        * Plugins/WebPluginRequest.m: Added.
8442        (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
8443        (-[WebPluginRequest dealloc]):
8444        (-[WebPluginRequest request]):
8445        (-[WebPluginRequest frameName]):
8446        (-[WebPluginRequest isCurrentEventUserGesture]):
8447        (-[WebPluginRequest sendNotification]):
8448        (-[WebPluginRequest notifyData]):
8449
84502008-12-03  Anders Carlsson  <andersca@apple.com>
8451
8452        Handle the CA model.
8453
8454        * Plugins/WebNetscapePluginView.mm:
8455        (-[WebNetscapePluginView setWindowIfNecessary]):
8456
84572008-12-03  Anders Carlsson  <andersca@apple.com>
8458
8459        Reviewed by Kevin Decker.
8460
8461        <rdar://problem/6412293>
8462        Call NPP_SetWindow for CA plug-ins.
8463
8464        * Plugins/WebNetscapePluginView.mm:
8465        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
8466        (-[WebNetscapePluginView restorePortState:]):
8467        (-[WebNetscapePluginView isNewWindowEqualToOldWindow]):
8468        (-[WebNetscapePluginView updateAndSetWindow]):
8469        (-[WebNetscapePluginView setWindowIfNecessary]):
8470
84712008-12-03  Anders Carlsson  <andersca@apple.com>
8472
8473        Fix the release build.
8474
8475        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8476        (WebKit::NetscapePluginHostProxy::deadNameNotificationCallback):
8477
84782008-12-03  Anders Carlsson  <andersca@apple.com>
8479
8480        Reviewed by Dan Bernstein.
8481
8482        <rdar://problem/6412234>
8483        Don't crash if we can't launch the plug-in host.
8484
8485        * Plugins/Hosted/NetscapePluginHostManager.mm:
8486        (WebKit::NetscapePluginHostManager::instantiatePlugin):
8487
84882008-12-02  Anders Carlsson  <andersca@apple.com>
8489
8490        Reviewed by Dan Bernstein.
8491
8492        Start processing messages sent to the client port.
8493
8494        * Plugins/Hosted/NetscapePluginHostProxy.h:
8495        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8496        Add a map from ports to plug-in proxies. Turn the set of instances into a map from
8497        pluginID to instance proxy.
8498
8499        (WKPCStatusText):
8500        Look up the right instance proxy and call status().
8501
8502        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8503        (WebKit::NetscapePluginInstanceProxy::pluginID):
8504        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8505        (WebKit::NetscapePluginInstanceProxy::status):
8506        Implement this.
8507
8508        * Plugins/Hosted/WebKitPluginClient.defs:
8509        Add the plug-in ID to StatusText.
8510
85112008-12-02  Gregory Hughes  <ghughes@apple.com>
8512
8513        Reviewed by Beth Dakin.
8514
8515        Bug 22513: ZOOM: text selection does not send correct zoom bounds
8516
8517        When zoomed, text selection must send the zoom bounds in flipped
8518        screen coordinates.
8519
8520        * WebCoreSupport/WebViewFactory.mm:
8521        (-[WebViewFactory accessibilityConvertScreenRect:]):
8522
85232008-12-02  Anders Carlsson  <andersca@apple.com>
8524
8525        Reviewed by Dan Bernstein.
8526
8527        Create a client mach port and pass it to the plug-in host.
8528
8529        * Plugins/Hosted/NetscapePluginHostManager.h:
8530        * Plugins/Hosted/NetscapePluginHostManager.mm:
8531        (WebKit::NetscapePluginHostManager::hostForPackage):
8532        (WebKit::NetscapePluginHostManager::spawnPluginHost):
8533        * Plugins/Hosted/NetscapePluginHostProxy.h:
8534        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8535        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
8536        * Plugins/Hosted/WebKitPluginHost.defs:
8537
85382008-12-02  Anders Carlsson  <andersca@apple.com>
8539
8540        Reviewed by Sam Weinig.
8541
8542        Let the plug-in views know if the plug-in host crashes.
8543
8544        * Plugins/Hosted/NetscapePluginHostManager.h:
8545        * Plugins/Hosted/NetscapePluginHostManager.mm:
8546        (WebKit::NetscapePluginHostManager::instantiatePlugin):
8547        * Plugins/Hosted/NetscapePluginHostProxy.h:
8548        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8549        (WebKit::NetscapePluginHostProxy::pluginHostDied):
8550        (WebKit::NetscapePluginHostProxy::addPluginInstance):
8551        (WebKit::NetscapePluginHostProxy::removePluginInstance):
8552
8553        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8554        (WebKit::NetscapePluginInstanceProxy::create):
8555        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8556        Keep a pointer to the host proxy.
8557
8558        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
8559        Add the instance to the host set.
8560
8561        (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
8562        Remove the instance form the host set.
8563
8564        (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
8565        Tell the plug-in view that the plug-in died.
8566
8567        * Plugins/Hosted/WebHostedNetscapePluginView.h:
8568        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8569        (-[WebHostedNetscapePluginView createPlugin]):
8570        Pass the plug-in view to the instantiatePlugin.
8571
8572        (-[WebHostedNetscapePluginView pluginHostDied]):
8573        Handle the plug-in host crashing.
8574
8575        (-[WebHostedNetscapePluginView drawRect:]):
8576        Fill the plug-in view with a nice red shade if the plug-in crashes.
8577
85782008-12-01  Anders Carlsson  <andersca@apple.com>
8579
8580        Reviewed by Dan Bernstein.
8581
8582        Recover if the plug-in host dies and we try to instantiate another plugin before we get the port death notification
8583
8584        * Plugins/Hosted/NetscapePluginHostManager.h:
8585        * Plugins/Hosted/NetscapePluginHostManager.mm:
8586        (WebKit::NetscapePluginHostManager::pluginHostDied):
8587        Remove the plug-in host from the map.
8588
8589        (WebKit::NetscapePluginHostManager::instantiatePlugin):
8590        NetscapePluginHostProxy is no longer refcounted.
8591
8592        * Plugins/Hosted/NetscapePluginHostProxy.h:
8593        This is no longer refcounted. Add a set of plug-in instances (unused for now).
8594
8595        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8596        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
8597        Create a death notification port.
8598
8599        (WebKit::NetscapePluginHostProxy::pluginHostDied):
8600        Tell the manager that we're gone and delete ourselves.
8601
8602        (WebKit::NetscapePluginHostProxy::deathPortCallback):
8603        New CFMachPort callback.
8604
86052008-12-01  Anders Carlsson  <andersca@apple.com>
8606
8607        Reviewed by Dan Bernstein.
8608
8609        Move instantiatePlugin to NetscapePluginHostManager.
8610
8611        * Plugins/Hosted/NetscapePluginHostManager.h:
8612        * Plugins/Hosted/NetscapePluginHostManager.mm:
8613        (WebKit::NetscapePluginHostManager::instantiatePlugin):
8614        * Plugins/Hosted/NetscapePluginHostProxy.h:
8615        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8616        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8617        (-[WebHostedNetscapePluginView createPlugin]):
8618
86192008-12-01  Anders Carlsson  <andersca@apple.com>
8620
8621        Reviewed by Dan Bernstein.
8622
8623        Pass the plug-in host port directly to the instance proxy.
8624
8625        * Plugins/Hosted/NetscapePluginHostProxy.mm:
8626        (WebKit::NetscapePluginHostProxy::instantiatePlugin):
8627        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8628        (WebKit::NetscapePluginInstanceProxy::create):
8629        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8630        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
8631        (WebKit::NetscapePluginInstanceProxy::resize):
8632        (WebKit::NetscapePluginInstanceProxy::destroy):
8633        (WebKit::NetscapePluginInstanceProxy::focusChanged):
8634        (WebKit::NetscapePluginInstanceProxy::windowFocusChanged):
8635        (WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
8636        (WebKit::NetscapePluginInstanceProxy::startTimers):
8637        (WebKit::NetscapePluginInstanceProxy::mouseEvent):
8638        (WebKit::NetscapePluginInstanceProxy::stopTimers):
8639
86402008-12-01  Anders Carlsson  <andersca@apple.com>
8641
8642        Try to fix the Tiger build.
8643
8644        * Plugins/WebNetscapePluginView.mm:
8645
86462008-12-01  Anders Carlsson  <andersca@apple.com>
8647
8648        Rename _layer to _pluginLayer where I forgot to do so.
8649
8650        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8651        (-[WebHostedNetscapePluginView destroyPlugin]):
8652        * Plugins/WebNetscapePluginView.h:
8653        * Plugins/WebNetscapePluginView.mm:
8654        (-[WebNetscapePluginView createPlugin]):
8655        (-[WebNetscapePluginView setLayer:]):
8656        (-[WebNetscapePluginView destroyPlugin]):
8657
86582008-12-01  Anders Carlsson  <andersca@apple.com>
8659
8660        Reviewed by Adam Roben.
8661
8662        Make sure to re-insert layers as needed so they won't be lost when the layer backed
8663        view is removed from the view hierarchy.
8664
8665        * Plugins/Hosted/WebHostedNetscapePluginView.h:
8666        Add _pluginLayer ivar.
8667
8668        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8669        (-[WebHostedNetscapePluginView createPlugin]):
8670        Don't add the layer here.
8671
8672        (-[WebHostedNetscapePluginView setLayer:]):
8673        Instead, add it here.
8674
8675        (-[WebHostedNetscapePluginView destroyPlugin]):
8676        Set _pluginLayer to 0.
8677
8678        * Plugins/WebNetscapePluginView.mm:
8679        (-[WebNetscapePluginView createPlugin]):
8680        Don't add the layer here.
8681
8682        (-[WebNetscapePluginView setLayer:]):
8683        Do it here.
8684
86852008-11-30  Antti Koivisto  <antti@apple.com>
8686
8687        Reviewed by Mark Rowe.
8688
8689        https://bugs.webkit.org/show_bug.cgi?id=22557
8690
8691        Report free size in central and thread caches too.
8692
8693        * Misc/WebCoreStatistics.mm:
8694        (+[WebCoreStatistics memoryStatistics]):
8695
86962008-11-29  Antti Koivisto  <antti@apple.com>
8697
8698        Reviewed by Dan Bernstein.
8699
8700        https://bugs.webkit.org/show_bug.cgi?id=22557
8701        Add statistics for JavaScript GC heap.
8702
8703        * Misc/WebCoreStatistics.mm:
8704        (+[WebCoreStatistics javaScriptObjectsCount]):
8705        (+[WebCoreStatistics memoryStatistics]):
8706
87072008-11-29  Antti Koivisto  <antti@apple.com>
8708
8709        Reviewed by Alexey Proskuryakov.
8710
8711        https://bugs.webkit.org/show_bug.cgi?id=22557
8712
8713        - Add purgeable memory statistics to cache statistics.
8714        - Add method for getting fastMalloc statistics.
8715        - Add method to force returning free memory back to system.
8716
8717        * Misc/WebCache.mm:
8718        (+[WebCache statistics]):
8719        * Misc/WebCoreStatistics.h:
8720        * Misc/WebCoreStatistics.mm:
8721        (+[WebCoreStatistics stopIgnoringWebCoreNodeLeaks]):
8722        (+[WebCoreStatistics memoryStatistics]):
8723        (+[WebCoreStatistics returnFreeMemoryToSystem]):
8724
87252008-11-26  Mark Rowe  <mrowe@apple.com>
8726
8727        Fix the Tiger build.
8728
8729        mig.h does not always define __MigTypeCheck on Tiger, which leads to problems when the generated
8730        code is built with -Wundef.
8731
8732        * Plugins/Hosted/WebKitPluginHostTypes.h:
8733
87342008-11-26  Anders Carlsson  <andersca@apple.com>
8735
8736        Fix build.
8737
8738        * Configurations/Base.xcconfig:
8739
87402008-11-26  Anders Carlsson  <andersca@apple.com>
8741
8742        Reviewed by Mark Rowe.
8743
8744        Move WebHostedNetscapePluginView.{h|mm} to Plugins/Hosted.
8745
8746        (-[WebHostedNetscapePluginView handleMouseMoved:]):
8747        (-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
8748        Fix a leak.
8749
8750        (-[WebHostedNetscapePluginView createPlugin]):
8751        Instantiate the plug-in, store the plug-in proxy in the _proxy ivar.
8752
8753        (-[WebHostedNetscapePluginView loadStream]):
8754        (-[WebHostedNetscapePluginView shouldStop]):
8755        Add stubs for these.
8756
8757        (-[WebHostedNetscapePluginView updateAndSetWindow]):
8758        (-[WebHostedNetscapePluginView windowFocusChanged:]):
8759        (-[WebHostedNetscapePluginView destroyPlugin]):
8760        (-[WebHostedNetscapePluginView startTimers]):
8761        (-[WebHostedNetscapePluginView stopTimers]):
8762        (-[WebHostedNetscapePluginView focusChanged]):
8763        (-[WebHostedNetscapePluginView windowFrameDidChange:]):
8764        (-[WebHostedNetscapePluginView mouseDown:]):
8765        (-[WebHostedNetscapePluginView mouseUp:]):
8766        (-[WebHostedNetscapePluginView mouseDragged:]):
8767        (-[WebHostedNetscapePluginView mouseEntered:]):
8768        (-[WebHostedNetscapePluginView mouseExited:]):
8769        Call the proxy.
8770
8771        (-[WebHostedNetscapePluginView addWindowObservers]):
8772        (-[WebHostedNetscapePluginView removeWindowObservers]):
8773        Add/remove observers for when the window frame changes.
8774
8775        * Plugins/WebHostedNetscapePluginView.h: Removed.
8776        * Plugins/WebHostedNetscapePluginView.mm: Removed.
8777
87782008-11-26  Anders Carlsson  <andersca@apple.com>
8779
8780        Reviewed by Mark Rowe.
8781
8782        Add the plug-in host proxy and plug-in instance proxy objects.
8783
8784        These are just simple objects that forward their calls to the plug-in host.
8785
8786        * Plugins/Hosted/NetscapePluginHostProxy.h: Added.
8787        (WebKit::NetscapePluginHostProxy::create):
8788        (WebKit::NetscapePluginHostProxy::port):
8789        * Plugins/Hosted/NetscapePluginHostProxy.mm: Added.
8790        (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
8791        (WebKit::NetscapePluginHostProxy::instantiatePlugin):
8792        * Plugins/Hosted/NetscapePluginInstanceProxy.h: Added.
8793        (WebKit::NetscapePluginInstanceProxy::create):
8794        (WebKit::NetscapePluginInstanceProxy::renderContextID):
8795        (WebKit::NetscapePluginInstanceProxy::useSoftwareRenderer):
8796        * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Added.
8797        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
8798        (WebKit::NetscapePluginInstanceProxy::resize):
8799        (WebKit::NetscapePluginInstanceProxy::destroy):
8800        (WebKit::NetscapePluginInstanceProxy::focusChanged):
8801        (WebKit::NetscapePluginInstanceProxy::windowFocusChanged):
8802        (WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
8803        (WebKit::NetscapePluginInstanceProxy::startTimers):
8804        (WebKit::NetscapePluginInstanceProxy::mouseEvent):
8805        (WebKit::NetscapePluginInstanceProxy::stopTimers):
8806
88072008-11-26  Anders Carlsson  <andersca@apple.com>
8808
8809        Reviewed by Dan Bernstein, Mark Rowe and Kevin Decker.
8810
8811        Add the plug-in host manager singleton.
8812
8813        * Plugins/Hosted/NetscapePluginHostManager.h: Added.
8814        * Plugins/Hosted/NetscapePluginHostManager.mm: Added.
8815
8816        (WebKit::NetscapePluginHostManager::hostForPackage):
8817        If there's an existing host proxy available, just return it. Otherwise spawn a new plug-in host and
8818        create a new plug-in host proxy from the new plug-in host port.
8819
8820        (WebKit::NetscapePluginHostManager::spawnPluginHost):
8821        Pass the plug-in host path and the preferred CPU type to the plug-in agent. When the plug-in host has
8822        finished launching, pass it the path to the plug-in bundle.
8823
8824        (WebKit::NetscapePluginHostManager::initializeVendorPort):
8825        Check in with the plug-in agent and get the new plug-in vendor port back.
8826
88272008-11-26  Anders Carlsson  <andersca@apple.com>
8828
8829        Reviewed by Mark Rowe.
8830
8831        * Plugins/Hosted/WebKitPluginHostTypes.h:
8832        Add copyright headers and fix the spacing around the *'s.
8833
88342008-11-26  Anders Carlsson  <andersca@apple.com>
8835
8836        Reviewed by Dan Bernstein.
8837
8838        * Plugins/Hosted/WebKitPluginHost.defs:
8839        Add copyright headers.
8840
8841        * Plugins/Hosted/WebKitPluginHostTypes.h: Added.
8842        Forgot to add this.
8843
88442008-11-26  Anders Carlsson  <andersca@apple.com>
8845
8846        Reviewed by Dan Bernstein.
8847
8848        Add plug-in host .defs.
8849
8850        * Plugins/Hosted/WebKitPluginAgent.defs: Added.
8851        * Plugins/Hosted/WebKitPluginAgentReply.defs: Added.
8852        * Plugins/Hosted/WebKitPluginClient.defs: Added.
8853        * Plugins/Hosted/WebKitPluginHost.defs: Added.
8854        * Plugins/Hosted/WebKitPluginHostTypes.defs: Added.
8855
88562008-11-26  Anders Carlsson  <andersca@apple.com>
8857
8858        Reviewed by Mark Rowe and Kevin Decker.
8859
8860        Minor plug-in changes.
8861
8862        * Plugins/WebBaseNetscapePluginView.h:
8863        Add add/remove observer method declarations.
8864
8865        * Plugins/WebBaseNetscapePluginView.mm:
8866        (-[WebBaseNetscapePluginView isFlipped]):
8867        Move this down from WebNetscapePluginView.
8868
8869        * Plugins/WebNetscapePluginPackage.h:
8870        * Plugins/WebNetscapePluginPackage.m:
8871        (-[WebNetscapePluginPackage pluginHostArchitecture]):
8872        Getter for the plug-in host architecture.
8873
8874        * Plugins/WebNetscapePluginView.mm:
8875
88762008-11-25  Dan Bernstein  <mitz@apple.com>
8877
8878        Reviewed by Mark Rowe.
8879
8880        - include the text direction submenu in context menus when appropriate
8881
8882        * WebView/WebPreferences.mm:
8883        (+[WebPreferences initialize]): Changed the default
8884        textDirectionSubmenuInclusionBehavior to "automatically", which includes
8885        the menu when the selection is confined to a single paragraph the either
8886        has right-to-left base writing direction or contains right-to-left or
8887        embedded text. Left the default for Tiger and Leopard to be "never".
8888
88892008-11-24  Darin Fisher  <darin@chromium.org>
8890
8891        Fix bustage.
8892
8893        * History/WebHistory.mm:
8894
88952008-11-24  Glenn Wilson  <gwilson@chromium.org>
8896
8897        Reviewed by Alexey Proskuryakov.
8898
8899        http://bugs.webkit.org/show_bug.cgi?id=15643
8900
8901        Added API support for the "trailing whitespace" work-around.  This includes an APIs
8902        to get and set the state of this configuration variable.
8903
8904        * WebCoreSupport/WebEditorClient.h:
8905        * WebCoreSupport/WebEditorClient.mm:
8906        (WebEditorClient::selectTrailingWhitespaceEnabled):
8907        * WebView/WebView.mm:
8908        (-[WebView setSelectTrailingWhitespaceEnabled:]):
8909        (-[WebView isSelectTrailingWhitespaceEnabled]):
8910        (-[WebView setSmartInsertDeleteEnabled:]):
8911        * WebView/WebViewPrivate.h:
8912
89132008-11-24  Darin Adler  <darin@apple.com>
8914
8915        Reviewed by Dan Bernstein.
8916
8917        - https://bugs.webkit.org/show_bug.cgi?id=22470
8918          remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
8919
8920        * WebCoreSupport/WebFrameLoaderClient.h: Remove argument.
8921        * WebCoreSupport/WebFrameLoaderClient.mm:
8922        (WebFrameLoaderClient::updateGlobalHistory): Get the URL from the
8923        DocumentLoader, just as we do the title and the failure flag.
8924
89252008-11-24  Darin Adler  <darin@apple.com>
8926
8927        Reviewed by Dan Bernstein.
8928
8929        - finish https://bugs.webkit.org/show_bug.cgi?id=22295
8930          track which history items are from page load failures
8931
8932        Last time around I did this only for the back/forward list and missed the
8933        global history list.
8934
8935        * History/WebHistory.mm:
8936        (-[WebHistory _visitedURL:withTitle:wasFailure:]): Added wasFailure argument.
8937        Set the flag on the newly created history item. Also eliminated the use of
8938        autorelease on the added-items array.
8939        * History/WebHistoryInternal.h: Ditto.
8940
8941        * WebCoreSupport/WebFrameLoaderClient.mm:
8942        (WebFrameLoaderClient::updateGlobalHistory): Added code to check for failure
8943        and pass the argument in to WebHistory. Given that this function gets other
8944        data from the DocumentLoader, I think we should get rid of the KURL argument,
8945        but that's a separate issue so I don't do it in this patch.
8946
89472008-11-24  Simon Fraser  <simon.fraser@apple.com>
8948
8949        Fix call to Frame::selectionBounds in Tiger build.
8950
8951        * WebView/WebHTMLView.mm:
8952        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
8953
89542008-11-24  Simon Fraser  <simon.fraser@apple.com>
8955
8956        Reviewed by Dan Bernstein
8957
8958        Via: https://bugs.webkit.org/show_bug.cgi?id=22433
8959
8960        Rename RenderView::selectionRect() to selectionBounds(), to remove
8961        longstanding ambiguity with the base class selectionRect() method.
8962        Do the same on Frame for consistency with RenderView.
8963
8964        * WebView/WebHTMLView.mm:
8965        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
8966        (-[WebHTMLView selectionRect]):
8967        (-[WebHTMLView selectionImageRect]):
8968
89692008-11-20  Pierre-Olivier Latour  <pol@apple.com>
8970
8971        Reviewed by Dan Bernstein.
8972
8973        WebKit should be using Device RGB colorspace everywhere for
8974        consistency.
8975
8976        https://bugs.webkit.org/show_bug.cgi?id=22300
8977
8978        * WebView/WebHTMLView.mm:
8979        (-[WebHTMLView _dragImageForURL:withLabel:]):
8980        (-[WebHTMLView _colorAsString:]):
8981
89822008-11-20  Darin Adler  <darin@apple.com>
8983
8984        Earlier version reviewed by Justin Garcia.
8985
8986        - part of fix for <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
8987          Also resolves <rdar://problem/5000134>.
8988
8989        * WebView/WebHTMLView.mm: Removed some unused code, and made the Tiger workaround for bug 3789278
8990        be Tiger-only.
8991        (-[WebHTMLView resignFirstResponder]): Removed code setting unused resigningFirstResponder flag.
8992        (-[WebHTMLView _wantsKeyDownForEvent:]): Added. Returns YES.
8993        (-[WebHTMLView insertText:]): Don't try to insert text if the selection is not editable. We used
8994        to prevent even processing the input, but that's not practical since some commands need to work
8995        even in non-editable regions.
8996
89972008-11-20  Anders Carlsson  <andersca@apple.com>
8998
8999        Reviewed by Jon Honeycutt.
9000
9001        Move some frame/page checking code down to the base class.
9002
9003        * Plugins/WebBaseNetscapePluginView.mm:
9004        (-[WebBaseNetscapePluginView start]):
9005        * Plugins/WebNetscapePluginView.mm:
9006        (-[WebNetscapePluginView _createPlugin]):
9007
90082008-11-19  Anders Carlsson  <andersca@apple.com>
9009
9010        Reviewed by Dan Bernstein.
9011
9012        Test: plugins/netscape-plugin-setwindow-size-2.html
9013
9014        Fix bug where NPP_SetWindow wasn't getting called for some plug-ins.
9015
9016        * Plugins/WebNetscapePluginView.mm:
9017        (-[WebNetscapePluginView updateAndSetWindow]):
9018        Don't bail if the drawing model is not the CA drawing model. Remove some code
9019        that was doing the wrong thing.
9020
90212008-11-19  Darin Fisher  <darin@chromium.org>
9022
9023        Reviewed by Geoff Garen.
9024
9025        https://bugs.webkit.org/show_bug.cgi?id=22345
9026        Define ScriptValue as a thin container for a JSC::Value*.
9027
9028        * WebView/WebFrame.mm:
9029        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
9030        * WebView/WebView.mm:
9031        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
9032
90332008-11-19  Anders Carlsson  <andersca@apple.com>
9034
9035        Reviewed by Sam Weinig.
9036
9037        <rdar://problem/6383762> WebKit r38340 crash on key press in plugin
9038
9039        Set the value to 0 before calling NPP_GetValue, in case the plug-in returns NPERR_NO_ERROR but does not
9040        update the value.
9041
9042        * Plugins/WebNetscapePluginView.mm:
9043        (-[WebNetscapePluginView createPlugin]):
9044
90452008-11-19  Anders Carlsson  <andersca@apple.com>
9046
9047        Reviewed by Sam Weinig.
9048
9049        Make sure to copy the MIME type.
9050
9051        * Plugins/WebBaseNetscapePluginView.mm:
9052        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
9053
90542008-11-19  Geoffrey Garen  <ggaren@apple.com>
9055
9056        Reviewed by Darin Adler.
9057
9058        First step toward fixing <rdar://problem/6263293> WebScriptDebugDelegate
9059        should use intptr_t for sourceId, not int
9060
9061        Added a conditional typedef (currently disabled) to switch sourceId to
9062        intptr_t in non-Tiger, non-Leopard builds.
9063
9064        * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
9065        (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]):
9066        (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
9067        (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
9068        (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]):
9069        (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
9070        (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
9071        * WebView/WebScriptDebugDelegate.h:
9072        * WebView/WebScriptDebugger.mm:
9073        (WebScriptDebugger::sourceParsed):
9074        (WebScriptDebugger::callEvent):
9075        (WebScriptDebugger::atStatement):
9076        (WebScriptDebugger::returnEvent):
9077        (WebScriptDebugger::exception):
9078
90792008-11-18  Dan Bernstein  <mitz@apple.com>
9080
9081        Reviewed by Mark Rowe.
9082
9083        - fix https://bugs.webkit.org/show_bug.cgi?id=22331
9084          <rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item
9085
9086        * WebView/WebUIDelegatePrivate.h: Reorder new enum values after existing
9087        ones.
9088
90892008-11-17  Beth Dakin  <bdakin@apple.com>
9090
9091        Reviewed by Adele Peterson.
9092
9093        Fix for <rdar://problem/6373102> REGRESSION (r36919): In a new mail
9094        message, the caret appears in message body by default
9095
9096        This fixes a regression caused by http://trac.webkit.org/changeset/36919.
9097        That change was too sweeping; we do not want to
9098        unconditionally set the page to be active, but we can be looser
9099        than the original constraints. This patch set the window active if
9100        the first responder is or is a descendant of the main frame's frame
9101        view.
9102
9103        * WebView/WebView.mm:
9104        (-[WebView _updateFocusedAndActiveStateForFrame:]):
9105
91062008-11-18  Alexey Proskuryakov  <ap@webkit.org>
9107
9108        Reviewed by Darin Adler.
9109
9110        https://bugs.webkit.org/show_bug.cgi?id=22337
9111        Enable workers by default
9112
9113        * Configurations/WebKit.xcconfig: Define ENABLE_WORKERS (change from ENABLE_WORKER_THREADS,
9114        which was accidentally committed before).
9115
91162008-11-17  Geoffrey Garen  <ggaren@apple.com>
9117
9118        Not reviewed.
9119
9120        Try to fix Mac build.
9121
9122        * WebView/WebScriptDebugDelegate.mm:
9123
91242008-11-17  Pierre-Olivier Latour  <pol@apple.com>
9125
9126        Reviewed by Sam Weinig.
9127
9128        Added SPI to allow pausing a running CSS transition or animation
9129        at a given time for testing purposes.
9130
9131        https://bugs.webkit.org/show_bug.cgi?id=21261
9132
9133        * WebView/WebFrame.mm:
9134        (-[WebFrame _pauseAnimation:onNode:atTime:]):
9135        (-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]):
9136        * WebView/WebFramePrivate.h:
9137
91382008-11-17  Geoffrey Garen  <ggaren@apple.com>
9139
9140        Reviewed by Sam Weinig.
9141
9142        Updated for JavaScriptCore renames.
9143
9144        * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/runtime/Interpreter.h.
9145        * ForwardingHeaders/runtime/Interpreter.h: Removed.
9146        * WebView/WebScriptDebugDelegate.mm:
9147
91482008-11-16  Greg Bolsinga  <bolsinga@apple.com>
9149
9150        Reviewed by Darin Adler.
9151
9152        https://bugs.webkit.org/show_bug.cgi?id=21810
9153        Remove use of static C++ objects that are destroyed at exit time (destructors)
9154
9155        Use DEFINE_STATIC_LOCAL for static RetainPtr<T>
9156
9157        * Misc/WebNSPasteboardExtras.mm: Use DEFINE_STATIC_LOCAL
9158        (+[NSPasteboard _web_writableTypesForURL]):
9159        (_createWritableTypesForImageWithoutArchive): Created so accessor has one line initialization
9160        (_writableTypesForImageWithoutArchive): Use create function for one line initialization
9161        (_createWritableTypesForImageWithArchive): Created so accessor has one line initialization
9162        (_writableTypesForImageWithArchive): Use create function for one line initialization
9163        * WebCoreSupport/WebPasteboardHelper.mm: Use DEFINE_STATIC_LOCAL
9164        (WebPasteboardHelper::insertablePasteboardTypes):
9165        * WebView/WebHTMLRepresentation.mm: Use DEFINE_STATIC_LOCAL
9166        (+[WebHTMLRepresentation supportedMIMETypes]):
9167        (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
9168        (+[WebHTMLRepresentation supportedImageMIMETypes]):
9169
91702008-11-16  Darin Adler  <darin@apple.com>
9171
9172        Reviewed by Dan Bernstein.
9173
9174        - https://bugs.webkit.org/show_bug.cgi?id=22295
9175          track which history items are from page load failures
9176
9177        * History/WebHistoryItem.mm: Added lastVisitWasFailureKey.
9178        (-[WebHistoryItem initFromDictionaryRepresentation:]): Set the lastVisitWasFailure
9179        flag in the history item if the dictionary had lastVisitWasFailureKey true.
9180        (-[WebHistoryItem dictionaryRepresentation]): Set the lastVisitWasFailureKey boolean
9181        in the dictionary if the history item had the lastVisitWasFailure flag.
9182        (-[WebHistoryItem lastVisitWasFailure]): Added.
9183
9184        * History/WebHistoryItemInternal.h: Moved include of WebBackForwardList here from
9185        WebHistoryItemPrivate.h; removed other unneeded includes.
9186
9187        * History/WebHistoryItemPrivate.h: Added lastVisitWasFailure method.
9188        Removed unneeded includes.
9189
9190        * Misc/WebNSDictionaryExtras.h: Added _webkit_boolForKey.
9191        * Misc/WebNSDictionaryExtras.m:
9192        (-[NSDictionary _webkit_boolForKey:]): Added.
9193
91942008-11-14  Greg Bolsinga  <bolsinga@apple.com>
9195
9196        Reviewed by Darin Adler.
9197
9198        https://bugs.webkit.org/show_bug.cgi?id=21810
9199        Remove use of static C++ objects that are destroyed at exit time (destructors)
9200
9201        Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
9202        exit-time destructor. Update code that was changed to fix this issue that ran
9203        into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
9204        in gcc build 5465). Also typdefs for template types needed to be added in some
9205        cases so the type could make it through the macro successfully.
9206
9207        Basically code of the form:
9208        static T m;
9209        becomes:
9210        DEFINE_STATIC_LOCAL(T, m, ());
9211
9212        Also any code of the form:
9213        static T& m = *new T;
9214        also becomes:
9215        DEFINE_STATIC_LOCAL(T, m, ());
9216
9217        * ForwardingHeaders/wtf/StdLibExtras.h: Added.
9218        * History/WebBackForwardList.mm:
9219        (backForwardLists):
9220        * History/WebHistoryItem.mm:
9221        (historyItemWrappers):
9222        * Misc/WebStringTruncator.m:
9223        (fontFromNSFont):
9224        * Plugins/WebBaseNetscapePluginStream.mm:
9225        (streams):
9226        * WebView/WebView.mm:
9227        (aeDescFromJSValue):
9228
92292008-11-14  Dan Bernstein  <mitz@apple.com>
9230
9231        Reviewed by Darin Adler.
9232
9233        - <rdar://problem/6234333> Implement action methods for setting and clearing character-level directionality
9234        - part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
9235
9236        * WebCoreSupport/WebViewFactory.mm:
9237        (-[WebViewFactory contextMenuItemTagTextDirectionMenu]): Added.
9238        * WebView/WebFrame.mm:
9239        (core): Added a convertor from WebTextDirectionSubmenuInclusionBehavior
9240        to WebCore::TextDirectionSubmenuInclusionBehavior.
9241        * WebView/WebFrameInternal.h:
9242        * WebView/WebHTMLView.mm:
9243        Added makeTextWritingDirectionLeftToRight:,
9244        makeTextWritingDirectionNatural: and
9245        makeTextWritingDirectionRightToLeft: using the WEBCORE_COMMAND macro.
9246        * WebView/WebPreferenceKeysPrivate.h:
9247        Added WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey.
9248        * WebView/WebPreferences.mm:
9249        (+[WebPreferences initialize]): Set the default Text Direction
9250        submenu inclusion behavior to never include.
9251        (-[WebPreferences textDirectionSubmenuInclusionBehavior]): Added this
9252        accessor.
9253        (-[WebPreferences setTextDirectionSubmenuInclusionBehavior:]): Ditto.
9254        * WebView/WebPreferencesPrivate.h: Defined the
9255        WebTextDirectionSubmenuInclusionBehavior enum and declared
9256        accessors.
9257        * WebView/WebUIDelegatePrivate.h:
9258        * WebView/WebView.mm:
9259        (-[WebView _preferencesChangedNotification:]): Added code to transfer
9260        the Text Direction submenu inclusion behavior preference to WebCore
9261        settings.
9262
92632008-11-14  Darin Adler  <darin@apple.com>
9264
9265        Reviewed by Mark Rowe.
9266
9267        - fix https://bugs.webkit.org/show_bug.cgi?id=22222
9268          selectKeyViewPrecedingView: with document view that can't be first responder
9269          makes WebFrameView be first responder
9270
9271        * WebView/WebFrameView.mm: (-[WebFrameView becomeFirstResponder]):
9272        Moved the acceptsFirstResponder special case inside the if statement so it won't
9273        run in the "selecting previous" case. Also removed the "just before shipping Tiger"
9274        code that doesn't need to be here any more.
9275
92762008-11-13  Mark Rowe  <mrowe@apple.com>
9277
9278        Fix the build.
9279
9280        Don't use NSPICTPboardType on systems where it is deprecated.  The system will take care of converting
9281        from this format to a format that we can understand.
9282
9283        * WebCoreSupport/WebPasteboardHelper.mm:
9284        (WebPasteboardHelper::insertablePasteboardTypes):
9285        * WebView/WebHTMLView.mm:
9286        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
9287        (+[WebHTMLView _insertablePasteboardTypes]):
9288        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
9289
92902008-11-13  John Sullivan  <sullivan@apple.com>
9291
9292        fixed <rdar://problem/6361578> Web Kit UI strings: a few edits
9293
9294        Reviewed by Tim Hatcher
9295
9296        * Misc/WebKitErrors.m:
9297        "Cannot show content with specified mime type" -> "Content with specified MIME type can't be shown"
9298        "Cannot show URL" -> "The URL can't be shown"
9299        "Cannot find plug-in" -> "The plug-in can't be found"
9300        "Cannot load plug-in" -> "The plug-in can't be loaded"
9301
9302        * Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib:
9303        * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib:
9304        * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: Added.
9305        * Panels/English.lproj/WebAuthenticationPanel.nib/objects.nib: Removed.
9306        Changed placeholder fine print in the nib to match one of the two strings it might be replaced by.
9307        This automagically updated the nib to a newer format, hence the objects -> keyedobjects change.
9308        I could have changed the placeholder fine print to be empty but this lets localizers understand
9309        the dialog layout better.
9310
9311        * Panels/WebAuthenticationPanel.m:
9312        (-[WebAuthenticationPanel setUpForChallenge:]):
9313        "you need to log in" -> "you must log in"
9314        "Your log-in information" -> "Your login information"
9315        "The name or password entered" -> "The user name or password you entered"
9316        "Please try again." -> "Make sure you're entering them correctly, and then try again."
9317
93182008-11-12  Stephanie Lewis  <slewis@apple.com>
9319
9320        Fix Mac build.
9321
9322        * Panels/WebAuthenticationPanel.m:
9323
93242008-11-12  John Sullivan  <sullivan@apple.com>
9325
9326        fixed <rdar://problem/3839110> Authentication dialogs talk about passwords being sent "in the clear"
9327
9328        Reviewed by Tim Hatcher
9329
9330        * Panels/WebAuthenticationPanel.m:
9331        (-[WebAuthenticationPanel setUpForChallenge:]):
9332        use "unencrypted" instead of "in the clear". Also, use the "Your log-in information
9333        will be sent securely" version when the receiving server is https, regardless of
9334        whether it uses basic or digest authentication.
9335
93362008-11-12  Darin Adler  <darin@apple.com>
9337
9338        Reviewed by Mark Rowe.
9339
9340        - fix https://bugs.webkit.org/show_bug.cgi?id=22223
9341          <rdar://problem/6366864> REGRESSION(r38245): "View Source" crashes the browser
9342
9343        * WebView/WebFrameView.mm: (-[WebFrameView viewDidMoveToWindow]):
9344        Add missing null check.
9345
93462008-11-12  Anders Carlsson  <andersca@apple.com>
9347
9348        Reviewed by Kevin Decker.
9349
9350        Fix stupid bug.
9351
9352        * Plugins/WebNetscapePluginView.mm:
9353        (-[WebNetscapePluginView createPlugin]):
9354
93552008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
9356
9357        Reviewed by Simon Hausmann.
9358
9359        Move _web_encodingForResource from WebKit into WebCore and change return type
9360
9361        This change is needed to implement NSAPI in WebCore for Mac, see:
9362
9363        https://bugs.webkit.org/show_bug.cgi?id=21427
9364
9365
9366        * Misc/WebKitNSStringExtras.m:
9367        (+[NSString _web_encodingForResource:]):
9368
93692008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
9370
9371        Reviewed by Simon Hausmann.
9372
9373        Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
9374        WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
9375
9376        This change is needed to implement NSAPI in WebCore for Mac, see:
9377
9378        https://bugs.webkit.org/show_bug.cgi?id=21427
9379
9380        * Misc/WebKitNSStringExtras.m:
9381        (-[NSString _webkit_isCaseInsensitiveEqualToString:]):
9382
93832008-11-11  Dan Bernstein  <mitz@apple.com>
9384
9385        Reviewed by Adam Roben.
9386
9387        WebKit/mac part of adding a master volume control for media elements in a WebView
9388
9389        * WebView/WebView.mm:
9390        (-[WebView setMediaVolume:]): Added.
9391        (-[WebView mediaVolume]): Added.
9392        * WebView/WebViewPrivate.h:
9393
93942008-11-11  Aaron Golden  <agolden@apple.com>
9395
9396        Bug 22134: -[WebHistoryItem dictionaryRepresentation] accesses past the end of a vector
9397
9398        <https://bugs.webkit.org/show_bug.cgi?id=22134>
9399
9400        Reviewed by Geoff Garen.
9401
9402        * History/WebHistoryItem.mm:
9403        (-[WebHistoryItem initFromDictionaryRepresentation:]):
9404        (-[WebHistoryItem dictionaryRepresentation]):
9405
94062008-11-10  Anders Carlsson  <andersca@apple.com>
9407
9408        Reviewed by Kevin Decker.
9409
9410        Move renewGState to the base class.
9411
9412        * Plugins/WebBaseNetscapePluginView.mm:
9413        (-[WebBaseNetscapePluginView renewGState]):
9414        * Plugins/WebNetscapePluginView.mm:
9415
94162008-11-10  Anders Carlsson  <andersca@apple.com>
9417
9418        Reviewed by Kevin Decker.
9419
9420        Move start, stop and all the related methods down to WebBaseNetscapePluginView.
9421
9422        * Plugins/WebBaseNetscapePluginView.h:
9423        * Plugins/WebBaseNetscapePluginView.mm:
9424        (-[WebBaseNetscapePluginView updateAndSetWindow]):
9425        (-[WebBaseNetscapePluginView addWindowObservers]):
9426        (-[WebBaseNetscapePluginView removeWindowObservers]):
9427        (-[WebBaseNetscapePluginView start]):
9428        (-[WebBaseNetscapePluginView stop]):
9429        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
9430        (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
9431        (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
9432        (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
9433        (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]):
9434        (-[WebBaseNetscapePluginView windowWillClose:]):
9435        (-[WebBaseNetscapePluginView windowBecameKey:]):
9436        (-[WebBaseNetscapePluginView windowResignedKey:]):
9437        (-[WebBaseNetscapePluginView windowDidMiniaturize:]):
9438        (-[WebBaseNetscapePluginView windowDidDeminiaturize:]):
9439        (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]):
9440        (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]):
9441        (-[WebBaseNetscapePluginView preferencesHaveChanged:]):
9442        * Plugins/WebNetscapePluginView.h:
9443        * Plugins/WebNetscapePluginView.mm:
9444
94452008-11-10  Anders Carlsson  <andersca@apple.com>
9446
9447        Reviewed by Kevin Decker.
9448
9449        Move rightMouseDown, rightMouseUp and sendActivateEvent to the base plugin view.
9450        Add stubs for createPlugin, loadStream, shouldStop and destroyPlugin.
9451
9452        * Plugins/WebBaseNetscapePluginView.h:
9453        * Plugins/WebBaseNetscapePluginView.mm:
9454        (-[WebBaseNetscapePluginView windowFocusChanged:]):
9455        (-[WebBaseNetscapePluginView createPlugin]):
9456        (-[WebBaseNetscapePluginView loadStream]):
9457        (-[WebBaseNetscapePluginView destroyPlugin]):
9458        (-[WebBaseNetscapePluginView sendActivateEvent:]):
9459        (-[WebBaseNetscapePluginView rightMouseDown:]):
9460        (-[WebBaseNetscapePluginView rightMouseUp:]):
9461        * Plugins/WebNetscapePluginView.mm:
9462        (-[WebNetscapePluginView windowFocusChanged:]):
9463
94642008-11-10  Anders Carlsson  <andersca@apple.com>
9465
9466        Reviewed by Kevin Decker.
9467
9468        Factor plug-in type specific code out to three new methods, createPlugin, destroyPlugin and loadStream.
9469
9470        * Plugins/WebNetscapePluginView.mm:
9471        (-[WebNetscapePluginView createPlugin]):
9472        (-[WebNetscapePluginView loadStream]):
9473        (-[WebNetscapePluginView start]):
9474        (-[WebNetscapePluginView shouldStop]):
9475        (-[WebNetscapePluginView destroyPlugin]):
9476        (-[WebNetscapePluginView stop]):
9477
94782008-11-10  Anders Carlsson  <andersca@apple.com>
9479
9480        Fix Tiger build.
9481
9482        * Plugins/WebNetscapePluginPackage.m:
9483        (-[WebNetscapePluginPackage load]):
9484
94852008-11-10  Anders Carlsson  <andersca@apple.com>
9486
9487        Reviewed by Sam Weinig.
9488
9489        Move even more code down to WebBaseNetscapePluginView, get rid of some unnecessary methods.
9490
9491        * Plugins/WebBaseNetscapePluginView.h:
9492        * Plugins/WebBaseNetscapePluginView.mm:
9493        (-[WebBaseNetscapePluginView focusChanged]):
9494        (-[WebBaseNetscapePluginView visibleRect]):
9495        (-[WebBaseNetscapePluginView acceptsFirstResponder]):
9496        (-[WebBaseNetscapePluginView setHasFocus:]):
9497        (-[WebBaseNetscapePluginView becomeFirstResponder]):
9498        (-[WebBaseNetscapePluginView resignFirstResponder]):
9499        * Plugins/WebNetscapePluginView.h:
9500        * Plugins/WebNetscapePluginView.mm:
9501        (-[WebNetscapePluginView focusChanged]):
9502        (-[WebNetscapePluginView tellQuickTimeToChill]):
9503        (-[WebNetscapePluginView updateAndSetWindow]):
9504        (-[WebNetscapePluginView start]):
9505        (-[WebNetscapePluginView stop]):
9506        (-[WebNetscapePluginView viewWillMoveToWindow:]):
9507        (-[WebNetscapePluginView createPluginScriptableObject]):
9508        (-[WebNetscapePluginView pluginView:receivedData:]):
9509        (-[WebNetscapePluginView pluginView:receivedError:]):
9510        (-[WebNetscapePluginView pluginViewFinishedLoading:]):
9511        (-[WebNetscapePluginView inputContext]):
9512        (-[WebNetscapePluginView hasMarkedText]):
9513        (-[WebNetscapePluginView insertText:]):
9514        (-[WebNetscapePluginView markedRange]):
9515        (-[WebNetscapePluginView selectedRange]):
9516        (-[WebNetscapePluginView setMarkedText:selectedRange:]):
9517        (-[WebNetscapePluginView unmarkText]):
9518        (-[WebNetscapePluginView validAttributesForMarkedText]):
9519        (-[WebNetscapePluginView attributedSubstringFromRange:]):
9520        (-[WebNetscapePluginView characterIndexForPoint:]):
9521        (-[WebNetscapePluginView doCommandBySelector:]):
9522        (-[WebNetscapePluginView firstRectForCharacterRange:]):
9523        (-[WebNetscapePluginView _viewHasMoved]):
9524        (-[WebNetscapePluginView _redeliverStream]):
9525
95262008-11-10  Anders Carlsson  <andersca@apple.com>
9527
9528        Reviewed by Kevin Decker.
9529
9530        Move timer handling code down to WebBaseNetscapePluginView.
9531
9532        * Plugins/WebBaseNetscapePluginView.h:
9533        * Plugins/WebBaseNetscapePluginView.mm:
9534        (-[WebBaseNetscapePluginView stopTimers]):
9535        (-[WebBaseNetscapePluginView startTimers]):
9536        (-[WebBaseNetscapePluginView restartTimers]):
9537        * Plugins/WebNetscapePluginView.h:
9538        * Plugins/WebNetscapePluginView.mm:
9539        (-[WebNetscapePluginView stopTimers]):
9540        (-[WebNetscapePluginView startTimers]):
9541        (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
9542        * WebView/WebHTMLView.mm:
9543        (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
9544
95452008-11-10  Anders Carlsson  <andersca@apple.com>
9546
9547        Reviewed by Kevin Decker.
9548
9549        Move a bunch of methods and ivars up to WebBaseNetscapePluginView.
9550
9551        * Plugins/WebBaseNetscapePluginView.h:
9552        * Plugins/WebBaseNetscapePluginView.mm:
9553        (-[WebBaseNetscapePluginView dealloc]):
9554        (-[WebBaseNetscapePluginView finalize]):
9555        (-[WebBaseNetscapePluginView removeTrackingRect]):
9556        (-[WebBaseNetscapePluginView resetTrackingRect]):
9557        (-[WebBaseNetscapePluginView dataSource]):
9558        (-[WebBaseNetscapePluginView webFrame]):
9559        (-[WebBaseNetscapePluginView webView]):
9560        (-[WebBaseNetscapePluginView currentWindow]):
9561        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
9562        (WebNetscapePluginEventHandlerCarbon::windowFocusChanged):
9563        * Plugins/WebNetscapePluginView.h:
9564        * Plugins/WebNetscapePluginView.mm:
9565        (-[WebNetscapePluginView sendEvent:isDrawRect:]):
9566        (-[WebNetscapePluginView sendActivateEvent:]):
9567        (-[WebNetscapePluginView restartTimers]):
9568        (-[WebNetscapePluginView setHasFocus:]):
9569        (-[WebNetscapePluginView mouseDown:]):
9570        (-[WebNetscapePluginView mouseUp:]):
9571        (-[WebNetscapePluginView mouseEntered:]):
9572        (-[WebNetscapePluginView mouseExited:]):
9573        (-[WebNetscapePluginView handleMouseMoved:]):
9574        (-[WebNetscapePluginView mouseDragged:]):
9575        (-[WebNetscapePluginView scrollWheel:]):
9576        (-[WebNetscapePluginView keyUp:]):
9577        (-[WebNetscapePluginView keyDown:]):
9578        (-[WebNetscapePluginView flagsChanged:]):
9579        (-[WebNetscapePluginView updateAndSetWindow]):
9580        (-[WebNetscapePluginView setWindowIfNecessary]):
9581        (-[WebNetscapePluginView start]):
9582        (-[WebNetscapePluginView stop]):
9583        (-[WebNetscapePluginView isStarted]):
9584        (-[WebNetscapePluginView dealloc]):
9585        (-[WebNetscapePluginView finalize]):
9586        (-[WebNetscapePluginView drawRect:]):
9587        (-[WebNetscapePluginView windowBecameKey:]):
9588        (-[WebNetscapePluginView preferencesHaveChanged:]):
9589        (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
9590        (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
9591        (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
9592        (-[WebNetscapePluginView _viewHasMoved]):
9593
95942008-11-10  Anders Carlsson  <andersca@apple.com>
9595
9596        Reviewed by Kevin Decker and Mark Rowe.
9597
9598        Add a WebHostedNetscapePluginView class.
9599
9600        * Plugins/WebHostedNetscapePluginView.h: Added.
9601        * Plugins/WebHostedNetscapePluginView.mm: Added.
9602
9603        * Plugins/WebNetscapePluginPackage.h:
9604        Use the right define.
9605
9606        * Plugins/WebPluginDatabase.mm:
9607        (-[WebPluginDatabase removePluginInstanceViewsFor:]):
9608        Check for WebBaseNetscapePluginView.
9609
9610        (-[WebPluginDatabase destroyAllPluginInstanceViews]):
9611        Check for WebBaseNetscapePluginView.
9612
9613        * WebCoreSupport/WebFrameLoaderClient.mm:
9614        (NetscapePluginWidget::NetscapePluginWidget):
9615        (NetscapePluginWidget::handleEvent):
9616        Use WebBaseNetscapePluginView.
9617
9618        (netscapePluginViewClass):
9619        New function that returns the right netscape plugin view type to use.
9620
9621        (WebFrameLoaderClient::createPlugin):
9622        Get the right class.
9623
9624        * WebKitPrefix.h:
9625        Prefix the #define with WTF_.
9626
9627        * WebView/WebHTMLView.mm:
9628        (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
9629        Check for WebBaseNetscapePluginView.
9630
9631        * WebView/WebView.mm:
9632        Remove an unnecessary include.
9633
96342008-11-10  Anders Carlsson  <andersca@apple.com>
9635
9636        Reviewed by Sam Weinig.
9637
9638        Don't use individual ivars for each plug-in vtable function. Instead, get them from the plugin package.
9639
9640        * Plugins/WebBaseNetscapePluginView.mm:
9641        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
9642        * Plugins/WebNetscapePluginPackage.h:
9643        * Plugins/WebNetscapePluginPackage.m:
9644        (-[WebNetscapePluginPackage load]):
9645        (-[WebNetscapePluginPackage _unloadWithShutdown:]):
9646        * Plugins/WebNetscapePluginView.h:
9647        * Plugins/WebNetscapePluginView.mm:
9648        (-[WebNetscapePluginView sendEvent:isDrawRect:]):
9649        (-[WebNetscapePluginView setWindowIfNecessary]):
9650        (-[WebNetscapePluginView start]):
9651        (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
9652        (-[WebNetscapePluginView createPluginScriptableObject]):
9653        (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
9654        (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
9655        (-[WebNetscapePluginView loadPluginRequest:]):
9656        (-[WebNetscapePluginView _createPlugin]):
9657        (-[WebNetscapePluginView _destroyPlugin]):
9658        (-[WebNetscapePluginView _printedPluginBitmap]):
9659
96602008-11-10  Anders Carlsson  <andersca@apple.com>
9661
9662        Reviewed by Kevin Decker.
9663
9664        Add a new WebBaseNetscapePluginView class.
9665
9666        * Plugins/WebBaseNetscapePluginView.h: Added.
9667        * Plugins/WebBaseNetscapePluginView.mm: Added.
9668        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
9669        (-[WebBaseNetscapePluginView setAttributeKeys:andValues:]):
9670        (-[WebBaseNetscapePluginView handleMouseMoved:]):
9671        * Plugins/WebNetscapePluginView.h:
9672        * Plugins/WebNetscapePluginView.mm:
9673        (-[WebNetscapePluginView cut:]):
9674        (-[WebNetscapePluginView copy:]):
9675        (-[WebNetscapePluginView paste:]):
9676        (-[WebNetscapePluginView selectAll:]):
9677        (-[WebNetscapePluginView start]):
9678        (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
9679
96802008-11-10  Anders Carlsson  <andersca@apple.com>
9681
9682        Reviewed by Adam Roben.
9683
9684        Rename WebBaseNetscapePluginView to WebNetscapePluginView.
9685
9686        * Plugins/WebBaseNetscapePluginStream.h:
9687        * Plugins/WebBaseNetscapePluginStream.mm:
9688        (WebNetscapePluginStream::WebNetscapePluginStream):
9689        (WebNetscapePluginStream::setPlugin):
9690        * Plugins/WebBaseNetscapePluginView.h: Removed.
9691        * Plugins/WebBaseNetscapePluginView.mm: Removed.
9692        * Plugins/WebNetscapePluginEventHandler.h:
9693        (WebNetscapePluginEventHandler::WebNetscapePluginEventHandler):
9694        * Plugins/WebNetscapePluginEventHandler.mm:
9695        (WebNetscapePluginEventHandler::create):
9696        * Plugins/WebNetscapePluginEventHandlerCarbon.h:
9697        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
9698        (WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon):
9699        * Plugins/WebNetscapePluginEventHandlerCocoa.h:
9700        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
9701        (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
9702        * Plugins/WebNetscapePluginView.h: Copied from mac/Plugins/WebBaseNetscapePluginView.h.
9703        * Plugins/WebNetscapePluginView.mm: Copied from mac/Plugins/WebBaseNetscapePluginView.mm.
9704        (+[WebNetscapePluginView setCurrentPluginView:]):
9705        (+[WebNetscapePluginView currentPluginView]):
9706        (-[WebNetscapePluginView loadPluginRequest:]):
9707        * Plugins/WebPluginDatabase.mm:
9708        (-[WebPluginDatabase removePluginInstanceViewsFor:]):
9709        (-[WebPluginDatabase destroyAllPluginInstanceViews]):
9710        * Plugins/npapi.mm:
9711        (pluginViewForInstance):
9712        (NPN_MarkedTextAbandoned):
9713        (NPN_MarkedTextSelectionChanged):
9714        * WebCoreSupport/WebFrameLoaderClient.mm:
9715        (NetscapePluginWidget::NetscapePluginWidget):
9716        (NetscapePluginWidget::handleEvent):
9717        (WebFrameLoaderClient::createPlugin):
9718        * WebView/WebHTMLView.mm:
9719        (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
9720        (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
9721        (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
9722        * WebView/WebView.mm:
9723
97242008-11-09  Darin Adler  <darin@apple.com>
9725
9726        Reviewed by John Sullivan.
9727
9728        - fix https://bugs.webkit.org/show_bug.cgi?id=15063
9729          <rdar://problem/5452227> REGRESSION (r25151): Switching to a tab waiting
9730          for first data does not clear the window
9731
9732        * WebCoreSupport/WebFrameLoaderClient.mm:
9733        (WebFrameLoaderClient::frameLoadCompleted): Added comments, and got rid of
9734        a local variable to make this code match the code in the function below
9735        more closely.
9736        (WebFrameLoaderClient::provisionalLoadStarted): Added comments.
9737
9738        * WebView/WebFrame.mm:
9739        (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Improved comment.
9740
9741        * WebView/WebFrameView.mm:
9742        (-[WebFrameView _scrollView]): Tweaked formatting.
9743        (-[WebFrameView initWithFrame:]): Ditto.
9744        (-[WebFrameView setFrameSize:]): Added a comment and tweaked formatting.
9745        (-[WebFrameView viewDidMoveToWindow]): Added. This is the change that fixes
9746        the bug. Calls setDrawsBackground:YES as appropriate since moving the view
9747        out of the window to switch to another view disrupts the special technique
9748        for showing the old page during the start of loading. This is the identical
9749        reason for the setFrameSize: method above, and the code is almost the same.
9750
97512008-11-08  David Kilzer  <ddkilzer@apple.com>
9752
9753        Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
9754
9755        <https://bugs.webkit.org/show_bug.cgi?id=22137>
9756
9757        Reviewed by Darin Adler.
9758
9759        * WebView/WebFrame.mm:
9760        (-[WebFrame _accessibilityTree]): Return nil if HAVE(ACCESSIBILITY)
9761        is false.
9762
97632008-11-08  Dan Bernstein  <mitz@apple.com>
9764
9765        Reviewed by Darin Adler.
9766
9767        - WebKit/mac part of adding WebPreferences for controlling databases and local storage
9768
9769        * WebView/WebPreferenceKeysPrivate.h: Added
9770        WebKitDatabasesEnabledPreferenceKey and
9771        WebKitLocalStorageEnabledPreferenceKey.
9772        * WebView/WebPreferences.mm:
9773        (+[WebPreferences initialize]): Made databases and local storage enabled
9774        by default.
9775        (-[WebPreferences databasesEnabled]): Added.
9776        (-[WebPreferences setDatabasesEnabled:]): Added.
9777        (-[WebPreferences localStorageEnabled]): Added.
9778        (-[WebPreferences setLocalStorageEnabled:]): Added.
9779        * WebView/WebPreferencesPrivate.h:
9780        * WebView/WebView.mm:
9781        (-[WebView _preferencesChangedNotification:]): Transfer the databases
9782        and local storage preferences to WebCore settings.
9783
97842008-11-06  Anders Carlsson  <andersca@apple.com>
9785
9786        Reviewed by Kevin Decker.
9787
9788        https://bugs.webkit.org/show_bug.cgi?id=22115
9789        NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
9790
9791        Initialize the browser funcs correctly.
9792
9793        * Plugins/WebNetscapePluginPackage.m:
9794        (-[WebNetscapePluginPackage load]):
9795
97962008-11-06  David Kilzer  <ddkilzer@apple.com>
9797
9798        BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
9799
9800        Apparently older versions of gcc have issues with this patch.
9801        Backing out a second time until the issues are resolved.
9802
98032008-11-06  Cameron Zwarich  <zwarich@apple.com>
9804
9805        Reviewed by Geoff Garen.
9806
9807        Move the remaining files in the kjs subdirectory of JavaScriptCore to
9808        a new parser subdirectory, and remove the kjs subdirectory entirely.
9809
9810        The header SavedBuiltins.h was removed in r32587, so it no longer needs
9811        a forwarding header.
9812
9813        * ForwardingHeaders/kjs: Removed.
9814        * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
9815
98162008-11-06  David Kilzer  <ddkilzer@apple.com>
9817
9818        BUILD WAS NOT BROKEN: Rolling r38189 back in.
9819
9820        Please perform a clean build if you see crashes.
9821
98222008-11-06  David Kilzer  <ddkilzer@apple.com>
9823
9824        BUILD FIX: Backed out r38189 since it apparently broke the world.
9825
98262008-11-06  John Sullivan  <sullivan@apple.com>
9827
9828        Fixed problem with switching between text-only zoom and full-content zoom
9829
9830        There were two booleans tracking whether zoom was text-only, one in WebCore settings
9831        and one in WebViewPrivate. Fixed by eliminating the one in WebViewPrivate.
9832
9833        Reviewed by Adam Roben
9834
9835        * WebView/WebView.mm:
9836        remove declaration of zoomMultiplierIsTextOnly instance variable in WebViewPrivate
9837        (-[WebViewPrivate init]):
9838        removed initialization of zoomMultiplierIsTextOnly
9839        (-[WebView textSizeMultiplier]):
9840        call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable
9841        (-[WebView _setZoomMultiplier:isTextOnly:]):
9842        update WebCore settings rather than WebViewPrivate instance variable
9843        (-[WebView _zoomMultiplier:]):
9844        call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable
9845        (-[WebView _realZoomMultiplierIsTextOnly]):
9846        return value from WebCore settings instead of accessing WebViewPrivate instance variable
9847        (-[WebView pageSizeMultiplier]):
9848        call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable
9849
98502008-11-06  Greg Bolsinga  <bolsinga@apple.com>
9851
9852        Reviewed by Darin Adler.
9853
9854        Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
9855        https://bugs.webkit.org/show_bug.cgi?id=21810
9856
9857        * History/WebBackForwardList.mm:
9858        (backForwardLists): Changed to leak an object to avoid an exit-time destructor.
9859        * History/WebHistoryItem.mm:
9860        (historyItemWrappers): Ditto
9861        * Misc/WebStringTruncator.m:
9862        (fontFromNSFont): Ditto
9863        * Plugins/WebBaseNetscapePluginStream.mm:
9864        (streams): Ditto
9865        * WebView/WebView.mm:
9866        (aeDescFromJSValue): Ditto
9867
98682008-11-05  Anders Carlsson  <andersca@apple.com>
9869
9870        Reviewed by Mark Rowe.
9871
9872        Keep track of which plug-in host architecture would be needed for a given plug-in package.
9873
9874        * Plugins/WebNetscapePluginPackage.h:
9875        * Plugins/WebNetscapePluginPackage.m:
9876        (-[WebNetscapePluginPackage _initWithPath:]):
9877        * WebKitPrefix.h:
9878
98792008-11-05  Cameron Zwarich  <zwarich@apple.com>
9880
9881        Rubber-stamped by Sam Weinig.
9882
9883        Correct forwarding headers for files moved to the runtime subdirectory
9884        of JavaScriptCore and remove unused forwarding headers.
9885
9886        * ForwardingHeaders/kjs/collector.h: Removed.
9887        * ForwardingHeaders/kjs/identifier.h: Removed.
9888        * ForwardingHeaders/kjs/interpreter.h: Removed.
9889        * ForwardingHeaders/kjs/lookup.h: Removed.
9890        * ForwardingHeaders/kjs/operations.h: Removed.
9891        * ForwardingHeaders/kjs/protect.h: Removed.
9892        * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
9893        * WebView/WebScriptDebugDelegate.mm:
9894
98952008-11-05  Anders Carlsson  <andersca@apple.com>
9896
9897        Reviewed by Kevin Decker.
9898
9899        Remove WebPlugInStreamLoaderDelegate.h
9900
9901        * Plugins/WebBaseNetscapePluginStream.h:
9902        * Plugins/WebPlugInStreamLoaderDelegate.h: Removed.
9903
99042008-11-05  Dan Bernstein  <mitz@apple.com>
9905
9906        - Tiger build fix
9907
9908        * Plugins/WebBaseNetscapePluginView.mm:
9909        (-[WebBaseNetscapePluginView stop]):
9910
99112008-11-04  Anders Carlsson  <andersca@apple.com>
9912
9913        Reviewed by Kevin Decker.
9914
9915        Don't leak the CALayer.
9916
9917        * Plugins/WebBaseNetscapePluginView.h:
9918        Make the layer a RetainPtr.
9919
9920        * Plugins/WebBaseNetscapePluginView.mm:
9921        (-[WebBaseNetscapePluginView start]):
9922
9923        (-[WebBaseNetscapePluginView stop]):
9924        Make sure to clear out the layer here.
9925
99262008-11-04  Cameron Zwarich  <zwarich@apple.com>
9927
9928        Rubber-stamped by Sam Weinig.
9929
9930        Remove the unused kjs/dtoa.h forwarding header.
9931
9932        * ForwardingHeaders/kjs/dtoa.h: Removed.
9933
99342008-11-04  Anders Carlsson  <andersca@apple.com>
9935
9936        Reviewed by Kevin Decker.
9937
9938        More cleanup. Make a bunch of instance variables RetainPtrs.
9939
9940        * Plugins/WebBaseNetscapePluginView.h:
9941        * Plugins/WebBaseNetscapePluginView.mm:
9942        (-[WebBaseNetscapePluginView visibleRect]):
9943        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
9944        (-[WebBaseNetscapePluginView sendActivateEvent:]):
9945        (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
9946        (-[WebBaseNetscapePluginView stopTimers]):
9947        (-[WebBaseNetscapePluginView restartTimers]):
9948        (-[WebBaseNetscapePluginView setHasFocus:]):
9949        (-[WebBaseNetscapePluginView mouseDown:]):
9950        (-[WebBaseNetscapePluginView mouseUp:]):
9951        (-[WebBaseNetscapePluginView mouseEntered:]):
9952        (-[WebBaseNetscapePluginView mouseExited:]):
9953        (-[WebBaseNetscapePluginView handleMouseMoved:]):
9954        (-[WebBaseNetscapePluginView mouseDragged:]):
9955        (-[WebBaseNetscapePluginView scrollWheel:]):
9956        (-[WebBaseNetscapePluginView keyUp:]):
9957        (-[WebBaseNetscapePluginView keyDown:]):
9958        (-[WebBaseNetscapePluginView flagsChanged:]):
9959        (-[WebBaseNetscapePluginView cut:]):
9960        (-[WebBaseNetscapePluginView copy:]):
9961        (-[WebBaseNetscapePluginView paste:]):
9962        (-[WebBaseNetscapePluginView selectAll:]):
9963        (-[WebBaseNetscapePluginView didStart]):
9964        (-[WebBaseNetscapePluginView start]):
9965        (-[WebBaseNetscapePluginView stop]):
9966        (-[WebBaseNetscapePluginView dataSource]):
9967        (-[WebBaseNetscapePluginView pluginPackage]):
9968        (-[WebBaseNetscapePluginView setPluginPackage:]):
9969        (-[WebBaseNetscapePluginView setAttributeKeys:andValues:]):
9970        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
9971        (-[WebBaseNetscapePluginView fini]):
9972        (-[WebBaseNetscapePluginView dealloc]):
9973        (-[WebBaseNetscapePluginView pluginView:receivedError:]):
9974        (-[WebBaseNetscapePluginView requestWithURLCString:]):
9975        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
9976        (-[WebBaseNetscapePluginView loadPluginRequest:]):
9977        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
9978        (-[WebBaseNetscapePluginView userAgent]):
9979        (-[WebBaseNetscapePluginView getVariable:value:]):
9980        (-[WebBaseNetscapePluginView setVariable:value:]):
9981        (-[WebBaseNetscapePluginView _createPlugin]):
9982        (-[WebBaseNetscapePluginView _redeliverStream]):
9983
99842008-11-04  Brady Eidson  <beidson@apple.com>
9985
9986        Reviewed by John Sullivan
9987
9988        Cleanup global history a tad.
9989
9990        Used to _addItemForURL always create a new item and merge it with a previous item if one existed.
9991
9992        It is more efficient and less complicated to update the previous item if one exists.
9993
9994        * History/WebHistory.mm:
9995        (-[WebHistoryPrivate visitedURL:withTitle:]):
9996        (-[WebHistory _visitedURL:withTitle:]):  Instead of calling the general purpose [WebHistoryPrivate addItem:]
9997          with a new history item, call the new special purposed visitedURL:withTitle:
9998        * History/WebHistoryInternal.h:
9999
10000        * History/WebHistoryItem.mm:
10001        (-[WebHistoryItem _visitedWithTitle:]): Call "visited()" on the WebCore history item with the pertinent info.
10002        * History/WebHistoryItemInternal.h:
10003
10004        * WebCoreSupport/WebFrameLoaderClient.mm:
10005        (WebFrameLoaderClient::updateGlobalHistory):
10006
100072008-11-04  Anders Carlsson  <andersca@apple.com>
10008
10009        Reviewed by Kevin Decker.
10010
10011        https://bugs.webkit.org/show_bug.cgi?id=22065
10012
10013        Only create the plug-in stream loader when the stream is started.
10014
10015        * Plugins/WebBaseNetscapePluginStream.mm:
10016        (WebNetscapePluginStream::WebNetscapePluginStream):
10017        (WebNetscapePluginStream::start):
10018
100192008-11-04  Anders Carlsson  <andersca@apple.com>
10020
10021        Reviewed by Kevin Decker.
10022
10023        https://bugs.webkit.org/show_bug.cgi?id=22065
10024
10025        Remove some old, unused plug-in code.
10026
10027        * Plugins/WebBaseNetscapePluginView.h:
10028        * Plugins/WebBaseNetscapePluginView.mm:
10029        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
10030        (-[WebBaseNetscapePluginView start]):
10031        (-[WebBaseNetscapePluginView setVariable:value:]):
10032
100332008-11-04  Simon Fraser  <simon.fraser@apple.com>
10034
10035        Reviewed by Dave Hyatt
10036
10037        https://bugs.webkit.org/show_bug.cgi?id=21941
10038
10039        Rename absolutePosition() to localToAbsolute(), and add the ability
10040        to optionally take transforms into account (which will eventually be the
10041        default behavior).
10042
10043        * WebView/WebRenderNode.mm:
10044        (copyRenderNode):
10045
100462008-11-01  Alexey Proskuryakov  <ap@webkit.org>
10047
10048        Reviewed by Darin Adler.
10049
10050        https://bugs.webkit.org/show_bug.cgi?id=22030
10051        Make EventNames usable from multiple threads
10052
10053        * WebView/WebHTMLView.mm:
10054        * WebView/WebPDFView.mm:
10055        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
10056        Access event names via eventNames() function.
10057
100582008-11-04  Cameron Zwarich  <zwarich@apple.com>
10059
10060        Reviewed by Mark Rowe.
10061
10062        Delete a forwarding header for a file that no longer exists.
10063
10064        * ForwardingHeaders/kjs/string_object.h: Removed.
10065
100662008-11-03  Cameron Zwarich  <zwarich@apple.com>
10067
10068        Rubber-stamped by Maciej Stachowiak.
10069
10070        Move more files into the runtime subdirectory of JavaScriptCore.
10071
10072        * ForwardingHeaders/kjs/JSLock.h: Removed.
10073        * ForwardingHeaders/kjs/SymbolTable.h: Removed.
10074        * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
10075        * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
10076        * Misc/WebCoreStatistics.mm:
10077        * Plugins/WebBaseNetscapePluginStream.mm:
10078        * Plugins/WebBaseNetscapePluginView.mm:
10079        * Plugins/WebPluginController.mm:
10080        * WebView/WebFrame.mm:
10081        * WebView/WebScriptDebugDelegate.mm:
10082        * WebView/WebView.mm:
10083
100842008-11-03  Mark Rowe  <mrowe@apple.com>
10085
10086        Fix the 64-bit build.
10087
10088        Pull the frequently-made check for drawingModel == NPDrawingModelQuickDraw out into a
10089        helper function to avoid #ifdef'ing all of the new places that this check is made.
10090
10091        A few other #ifdef's are moved inside functions to allow their call sites to remain #ifdef-free,
10092        and we rely on the compiler to optimise out the check (which will always be false in 64-bit) instead.
10093
10094        * Plugins/WebBaseNetscapePluginView.mm:
10095        (isDrawingModelQuickDraw):
10096        (-[WebBaseNetscapePluginView fixWindowPort]):
10097        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
10098        (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
10099        (-[WebBaseNetscapePluginView updateAndSetWindow]):
10100        (-[WebBaseNetscapePluginView start]):
10101        (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
10102        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
10103        (-[WebBaseNetscapePluginView _viewHasMoved]):
10104
101052008-11-03  Maciej Stachowiak  <mjs@apple.com>
10106
10107        Reviewed by Kevin Decker.
10108
10109        - fix release build (and unitialized variable for CG drawing model!)
10110
10111        * Plugins/WebBaseNetscapePluginView.mm:
10112        (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): initialize portState in all code paths
10113
101142008-11-03  Kevin Decker  <kdecker@apple.com>
10115
10116        Reviewed by Anders Carlsson.
10117
10118        https://bugs.webkit.org/show_bug.cgi?id=22053
10119
10120        This patch adds initial support for the NPDrawingModelCoreAnimation drawing model.
10121
10122        * Plugins/WebBaseNetscapePluginView.h: Added _layer ivar.
10123        * Plugins/WebBaseNetscapePluginView.mm:
10124        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): ASSERT this is not a plug-in using NPDrawingModelCoreAnimation.
10125        (-[WebBaseNetscapePluginView restorePortState:]): Ditto.
10126        (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Slightly refactored a small block of code which with the PortState.
10127        Plug-ins using the NPDrawingModelCoreAnimation drawing model have no PortState.
10128        (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): ASSERT this is not a plug-in using NPDrawingModelCoreAnimation
10129        (-[WebBaseNetscapePluginView updateAndSetWindow]):  Ditto.
10130        (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto.
10131        (-[WebBaseNetscapePluginView start]): If the plug-in is a plug-in using the Core Animation model, request a layer from it.
10132        (-[WebBaseNetscapePluginView drawRect:]): Return early for NPDrawingModelCoreAnimation plug-ins.
10133        (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins running on post-Tiger systems WebKit supports
10134         NPDrawingModelCoreAnimation.
10135        (-[WebBaseNetscapePluginView setVariable:value:]): Added the new NPDrawingModelCoreAnimation case, which initializes drawingMode.
10136        (-[WebBaseNetscapePluginView _viewHasMoved]): Reworded the conditional call to updateAndSetWindow to be specific to
10137        CoreGraphics and QuickDraw plug-ins.
10138
101392008-10-31  Cameron Zwarich  <zwarich@apple.com>
10140
10141        Reviewed by Darin Adler.
10142
10143        Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
10144        <https://bugs.webkit.org/show_bug.cgi?id=22019>
10145
10146        * Misc/WebCoreStatistics.mm:
10147        (+[WebCoreStatistics shouldPrintExceptions]):
10148        (+[WebCoreStatistics setShouldPrintExceptions:]):
10149
101502008-10-31  Dan Bernstein  <mitz@apple.com>
10151
10152        Reviewed by John Sullivan.
10153
10154        - WebKit/mac part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
10155
10156        * WebView/WebView.mm:
10157        (-[WebView _cookieEnabled]):
10158        (-[WebView _setCookieEnabled:]):
10159        * WebView/WebViewPrivate.h:
10160
101612008-10-31  Brady Eidson  <beidson@apple.com>
10162
10163        Reviewed by Darin Adler
10164
10165        [WebHistory setLastVisitedTimeInterval:forItem] was internal to WebHistory.mm and
10166        completely unused.  Nuke it!
10167
10168        * History/WebHistory.mm:
10169
101702008-10-31  Chris Fleizach  <cfleizach@apple.com>
10171
10172        Reviewed by Darin Adler.
10173
10174        <rdar://problem/4361197> Screen Reader's Item Chooser shows scroll area for WebKit Application window
10175
10176        If a WebFrameView does not allow scrolling, its scrollbars should not appear in the accessibility hierarchy.
10177
10178        * WebView/WebDynamicScrollBarsView.m:
10179        (-[WebDynamicScrollBarsView accessibilityIsIgnored]):
10180
101812008-10-30  Mark Rowe  <mrowe@apple.com>
10182
10183        Reviewed by Jon Homeycutt.
10184
10185        Explicitly default to building for only the native architecture in debug and release builds.
10186
10187        * Configurations/DebugRelease.xcconfig:
10188
101892008-10-30  Cameron Zwarich  <zwarich@apple.com>
10190
10191        Rubber-stamped by Sam Weinig.
10192
10193        Create a debugger directory in JavaScriptCore and move the relevant
10194        files to it.
10195
10196        * ForwardingHeaders/debugger: Added.
10197        * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
10198        * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
10199        * WebView/WebScriptDebugDelegate.mm:
10200        * WebView/WebScriptDebugger.h:
10201        * WebView/WebScriptDebugger.mm:
10202
102032008-10-29  Anders Carlsson  <andersca@apple.com>
10204
10205        Reviewed by Kevin Decker.
10206
10207        * Plugins/WebBaseNetscapePluginStream.h:
10208        * Plugins/WebBaseNetscapePluginStream.mm:
10209        (WebNetscapePluginStream::WebNetscapePluginStream):
10210        (WebNetscapePluginStream::~WebNetscapePluginStream):
10211        (WebNetscapePluginStream::start):
10212
102132008-10-29  Anders Carlsson  <andersca@apple.com>
10214
10215        Reviewed by Sam Weinig.
10216
10217        Remove an unused forward class declaration.
10218
10219        * Plugins/WebBaseNetscapePluginView.h:
10220
102212008-10-29  Anders Carlsson  <andersca@apple.com>
10222
10223        Reviewed by Sam Weinig.
10224
10225        Remove WebBaseNetscapePluginViewInternal.h and WebBaseNetscapePluginViewPrivate.h.
10226
10227        * Plugins/WebBaseNetscapePluginView.h:
10228        * Plugins/WebBaseNetscapePluginViewInternal.h: Removed.
10229        * Plugins/WebBaseNetscapePluginViewPrivate.h: Removed.
10230        * Plugins/WebNetscapePluginEventHandler.mm:
10231        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
10232        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
10233        * Plugins/npapi.mm:
10234        * WebView/WebHTMLView.mm:
10235
102362008-10-29  Anders Carlsson  <andersca@apple.com>
10237
10238        Reviewed by Sam Weinig.
10239
10240        Remove WebNetscapePluginEmbeddedView, it adds nothing extra now.
10241
10242        Remove WebNetscapePlugInStreamLoaderClient since WebNetscapePluginStream is the client now.
10243
10244        * Plugins/WebBaseNetscapePluginStream.h:
10245        * Plugins/WebBaseNetscapePluginStream.mm:
10246        * Plugins/WebBaseNetscapePluginView.h:
10247        * Plugins/WebKitPluginContainerView.h:
10248        * Plugins/WebNetscapePluginEmbeddedView.h: Removed.
10249        * Plugins/WebNetscapePluginEmbeddedView.mm: Removed.
10250        * Plugins/WebNetscapePluginEventHandler.h:
10251        * WebCoreSupport/WebFrameLoaderClient.mm:
10252        (NetscapePluginWidget::NetscapePluginWidget):
10253        (NetscapePluginWidget::handleEvent):
10254        (WebFrameLoaderClient::createPlugin):
10255        * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Removed.
10256        * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Removed.
10257        * WebView/WebHTMLView.mm:
10258        (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
10259
102602008-10-29  Anders Carlsson  <andersca@apple.com>
10261
10262        Reviewed by Sam Weinig.
10263
10264        Remove the WebBaseNetscapePluginStream Objective-C object.
10265
10266        * Plugins/WebBaseNetscapePluginStream.h:
10267        (WebNetscapePluginStream::create):
10268        * Plugins/WebBaseNetscapePluginStream.mm:
10269        (WebNetscapePluginStream::WebNetscapePluginStream):
10270        * Plugins/WebBaseNetscapePluginView.mm:
10271        (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
10272        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
10273        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
10274
102752008-10-29  Brady Eidson  <beidson@apple.com>
10276
10277        Reviewed by Sam Weinig
10278
10279        https://bugs.webkit.org/show_bug.cgi?id=21952
10280
10281        Address an outstanding FIXME by removing unused SPI
10282
10283        * History/WebHistory.mm:
10284        (-[WebHistory _addItemForURL:title:]): Fold addItem: into this method
10285
10286        * History/WebHistoryPrivate.h: Removed unused/unneccessary SPI
10287
102882008-10-28  Justin Garcia  <justin.garcia@apple.com>
10289
10290        Reviewed by Darin Adler.
10291
10292        <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
10293
10294        * WebView/WebHTMLView.mm: IgnoreSpelling is now a WebCore command.  That command handles
10295        calling back into WebKit to perform the cross platform work that was removed in this change.
10296
102972008-10-28  Cameron Zwarich  <zwarich@apple.com>
10298
10299        Reviewed by Mark Rowe.
10300
10301        Move ForwardingHeaders to their correct location after the creation of
10302        the runtime directory in JavaScriptCore.
10303
10304        * ForwardingHeaders/kjs/JSFunction.h: Removed.
10305        * ForwardingHeaders/kjs/JSObject.h: Removed.
10306        * ForwardingHeaders/kjs/JSString.h: Removed.
10307        * ForwardingHeaders/kjs/JSValue.h: Removed.
10308        * ForwardingHeaders/runtime: Added.
10309        * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
10310        * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
10311        * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
10312        * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
10313        * WebView/WebScriptDebugDelegate.mm:
10314        * WebView/WebScriptDebugger.mm:
10315        * WebView/WebView.mm:
10316
103172008-10-28  Adele Peterson  <adele@apple.com>
10318
10319        Reviewed by John Sullivan.
10320
10321        Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
10322        "files" string for multifile uploads needs to be localized
10323
10324        * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory multipleFileUploadTextForNumberOfFiles:]):
10325        Added.
10326
103272008-10-28  Timothy Hatcher  <timothy@apple.com>
10328
10329        Add WebInspector methods to enable the profiler.
10330
10331        https://bugs.webkit.org/show_bug.cgi?id=21927
10332
10333        <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
10334        not slow down JavaScript all the time
10335
10336        Reviewed by Darin Adler and Kevin McCullough.
10337
10338        * WebInspector/WebInspector.h:
10339        * WebInspector/WebInspector.mm:
10340        (-[WebInspector isJavaScriptProfilingEnabled]): Added. Calls InspectorController::profilerEnabled.
10341        (-[WebInspector setJavaScriptProfilingEnabled:]): Added. Call InspectorController's disableProfiler
10342        or enableProfiler methods.
10343
103442008-10-27  Timothy Hatcher  <timothy@apple.com>
10345
10346        Rename a few methods related to attaching and detaching the debugger.
10347
10348        * Rename attachDebugger to enableDebugger.
10349        * Rename detachDebugger to disableDebugger.
10350        * Rename the debuggerAttached getter to debuggerEnabled.
10351
10352        Reviewed by Darin Adler.
10353
10354        * WebInspector/WebInspector.mm:
10355        (-[WebInspector isDebuggingJavaScript]):
10356        (-[WebInspector startDebuggingJavaScript:]):
10357        (-[WebInspector stopDebuggingJavaScript:]):
10358
103592008-10-27  Anders Carlsson  <andersca@apple.com>
10360
10361        Reviewed by Maciej Stachowiak.
10362
10363        Use the C++ stream object for JS requests as well.
10364
10365        * Plugins/WebBaseNetscapePluginView.mm:
10366        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
10367        (-[WebBaseNetscapePluginView destroyStream:reason:]):
10368
103692008-10-27  Anders Carlsson  <andersca@apple.com>
10370
10371        Reviewed by Dan Bernstein.
10372
10373        Use the C++ stream object in WebBaseNetscapePluginView. Use a HashSet of RefPtrs to keep track of the streams.
10374
10375        * Plugins/WebBaseNetscapePluginStream.mm:
10376        (WebNetscapePluginStream::~WebNetscapePluginStream):
10377        (WebNetscapePluginStream::setPlugin):
10378        (WebNetscapePluginStream::startStream):
10379        (WebNetscapePluginStream::destroyStream):
10380        (WebNetscapePluginStream::destroyStreamWithReason):
10381        (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
10382        (WebNetscapePluginStream::deliverData):
10383        * Plugins/WebBaseNetscapePluginView.h:
10384        * Plugins/WebBaseNetscapePluginView.mm:
10385        (-[WebBaseNetscapePluginView stop]):
10386        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
10387        (-[WebBaseNetscapePluginView disconnectStream:]):
10388        (-[WebBaseNetscapePluginView dealloc]):
10389        (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
10390        (-[WebBaseNetscapePluginView pluginView:receivedData:]):
10391        (-[WebBaseNetscapePluginView pluginView:receivedError:]):
10392        (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
10393        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
10394
103952008-10-27  Anders Carlsson  <andersca@apple.com>
10396
10397        Reviewed by Dan Bernstein.
10398
10399        Move code from dealloc and finalize to the WebNetscapePluginStream destructor.
10400
10401        * Plugins/WebBaseNetscapePluginStream.h:
10402        * Plugins/WebBaseNetscapePluginStream.mm:
10403        (WebNetscapePluginStream::~WebNetscapePluginStream):
10404        (-[WebBaseNetscapePluginStream dealloc]):
10405        (-[WebBaseNetscapePluginStream finalize]):
10406
104072008-10-27  Anders Carlsson  <andersca@apple.com>
10408
10409        Reviewed by Sam Weinig.
10410
10411        Get rid of WebNetscapePlugInStreamLoaderClient, the plug-in stream is its own client.
10412
10413        * Plugins/WebBaseNetscapePluginStream.h:
10414        * Plugins/WebBaseNetscapePluginStream.mm:
10415        (WebNetscapePluginStream::WebNetscapePluginStream):
10416        (-[WebBaseNetscapePluginStream dealloc]):
10417        (-[WebBaseNetscapePluginStream finalize]):
10418        * Plugins/WebBaseNetscapePluginView.mm:
10419        (-[WebBaseNetscapePluginView pluginView:receivedError:]):
10420        (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
10421        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
10422        (-[WebBaseNetscapePluginView destroyStream:reason:]):
10423
104242008-10-27  Anders Carlsson  <andersca@apple.com>
10425
10426        Reviewed by Darin Adler.
10427
10428        Change the Obj-C init methods to simply call WebNetscapePluginStream::create.
10429
10430        * Plugins/WebBaseNetscapePluginStream.h:
10431        (WebNetscapePluginStream::create):
10432        * Plugins/WebBaseNetscapePluginStream.mm:
10433        (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
10434        (WebNetscapePluginStream::WebNetscapePluginStream):
10435        (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
10436
104372008-10-27  Anders Carlsson  <andersca@apple.com>
10438
10439        Reviewed by Kevin Decker.
10440
10441        Convert more code over to C++.
10442
10443        * Plugins/WebBaseNetscapePluginStream.h:
10444        (WebNetscapePluginStream::plugin):
10445        (WebNetscapePluginStream::setRequestURL):
10446        Convert to C++.
10447
10448        * Plugins/WebBaseNetscapePluginStream.mm:
10449        (WebNetscapePluginStream::start):
10450        (WebNetscapePluginStream::stop):
10451        Ditto.
10452
10453        (WebNetscapePluginStream::startStreamWithResponse):
10454        Ditto.
10455
10456        (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
10457        Call the C++ version.
10458
10459        (-[WebBaseNetscapePluginStream impl]):
10460        New accessor for the C++ class.
10461
10462        * Plugins/WebBaseNetscapePluginView.mm:
10463        (-[WebBaseNetscapePluginView pluginView:receivedData:]):
10464        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
10465        (-[WebBaseNetscapePluginView destroyStream:reason:]):
10466        Call the C++ methods.
10467
104682008-10-24  Sam Weinig  <sam@webkit.org>
10469
10470        Reviewed by Dan Bernstein.
10471
10472        Fix https://bugs.webkit.org/show_bug.cgi?id=21759
10473        Layering violation: FileChooser should not depend on Document/Frame/Page
10474
10475        * WebCoreSupport/WebChromeClient.h:
10476        * WebCoreSupport/WebChromeClient.mm:
10477        (WebChromeClient::runOpenPanel):
10478
104792008-10-24  Anders Carlsson  <andersca@apple.com>
10480
10481        Fix Tiger build.
10482
10483        * WebView/WebUIDelegate.h:
10484
104852008-10-24  Anders Carlsson  <andersca@apple.com>
10486
10487        Reviewed by Sam Weinig.
10488
10489        <rdar://problem/5440917> Support NPN_Construct
10490
10491        Set construct.
10492
10493        * Plugins/WebNetscapePluginPackage.m:
10494        (-[WebNetscapePluginPackage load]):
10495
104962008-10-24  Mark Rowe  <mrowe@apple.com>
10497
10498        Rubber-stamped by Tim Hatcher.
10499
10500        <rdar://problem/6119711> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS__ define.
10501
10502        * Misc/EmptyProtocolDefinitions.h:
10503
105042008-10-24  Adele Peterson  <adele@apple.com>
10505
10506        Reviewed by Sam Weinig.
10507
10508        WebKit part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
10509
10510        * WebCoreSupport/WebChromeClient.mm:
10511        (WebChromeClient::runOpenPanel):
10512        (-[WebOpenPanelResultListener chooseFilenames:]):
10513        * WebView/WebUIDelegate.h:
10514
105152008-10-24  Timothy Hatcher  <timothy@apple.com>
10516
10517        Implement new InspectorClient methods to work with Settings.
10518
10519        https://bugs.webkit.org/show_bug.cgi?id=21856
10520
10521        Reviewed by Darin Adler.
10522
10523        * WebCoreSupport/WebInspectorClient.h: Add the new methods and
10524        guard the ObjC parts of the header.
10525
105262008-10-24  Darin Adler  <darin@apple.com>
10527
10528        - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
10529
10530        * WebView/WebFrame.mm:
10531        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
10532        * WebView/WebScriptDebugDelegate.mm:
10533        (-[WebScriptCallFrame _convertValueToObjcValue:]):
10534        (-[WebScriptCallFrame exception]):
10535        (-[WebScriptCallFrame evaluateWebScript:]):
10536        * WebView/WebView.mm:
10537        (aeDescFromJSValue):
10538        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
10539        Use JSValue* instead of JSValuePtr.
10540
105412008-10-23  Mark Rowe  <mrowe@apple.com>
10542
10543        Build fix.
10544
10545        * Misc/WebKitErrors.m:
10546        (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
10547
105482008-10-20  Sam Weinig  <sam@webkit.org>
10549
10550        Reviewed by Anders Carlsson.
10551
10552        Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.
10553
10554        * WebCoreSupport/WebFrameLoaderClient.h:
10555        * WebCoreSupport/WebFrameLoaderClient.mm:
10556
105572008-10-20  Alexey Proskuryakov  <ap@webkit.org>
10558
10559        Reviewed by Oliver Hunt.
10560
10561        <rdar://problem/6277777> REGRESSION (r36954): XMLHttpRequest not working when
10562        certain WebView delegate actions are taken
10563
10564        * WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]): Don't accidentally create
10565        a window shell if there is none yet.
10566
105672008-10-19  Darin Adler  <darin@apple.com>
10568
10569        Reviewed by Oliver Hunt.
10570
10571        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
10572          improve performance by eliminating JSValue as a base class for JSCell
10573
10574        Remove most uses of JSValue, which will be removed in a future patch.
10575
10576        * WebView/WebFrame.mm:
10577        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
10578        Use JSValuePtr instead of JSValue.
10579        * WebView/WebScriptDebugger.h: Removed declaration of JSValue.
10580
105812008-10-18  Darin Adler  <darin@apple.com>
10582
10583        Reviewed by Oliver Hunt.
10584
10585        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
10586          improve performance by eliminating JSValue as a base class for JSCell
10587
10588        Tweak a little more to get closer to where we can make JSValuePtr a class.
10589
10590        * WebView/WebScriptDebugDelegate.mm:
10591        (-[WebScriptCallFrame _convertValueToObjcValue:]): Use JSValuePtr.
10592        (-[WebScriptCallFrame exception]): Ditto.
10593        (-[WebScriptCallFrame evaluateWebScript:]): Ditto. And noValue.
10594        * WebView/WebScriptDebugger.mm:
10595        (WebScriptDebugger::WebScriptDebugger): Use new DebuggerCallFrame
10596        constructor that doesn't require explicitly passing an exception.
10597        * WebView/WebView.mm:
10598        (aeDescFromJSValue): Use JSValuePtr.
10599        (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
10600
106012008-10-18  Dan Bernstein  <mitz@apple.com>
10602
10603        Reviewed by Sam Weinig.
10604
10605        - WebKit/mac part of https://bugs.webkit.org/show_bug.cgi?id=21736
10606          Long-dead decoded image data make up for most of the object cache's memory use over time
10607
10608        * WebView/WebView.mm:
10609        (+[WebView _setCacheModel:]): In the primary web browser model, set the
10610        cache's dead decoded data deletion interval to 60 seconds.
10611
106122008-10-15  Mark Rowe  <mrowe@apple.com>
10613
10614        Reviewed by Jon Honeycutt.
10615
10616        Fix a leak of a CFStringRef reported by the build bot.
10617
10618        * Plugins/WebBaseNetscapePluginView.mm:
10619        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Use a autoreleased
10620        NSString rather than manually releasing a CFStringRef when we're done with it.
10621
106222008-10-15  Kenneth Russell  <kenneth.russell@sun.com>
10623
10624        Reviewed and landed by Anders Carlsson.
10625
10626        https://bugs.webkit.org/show_bug.cgi?id=21572
10627
10628        Initialize pluginFunc.size to the correct size before calling NP_GetEntryPoints.
10629
10630        * Plugins/WebNetscapePluginPackage.m:
10631        (-[WebNetscapePluginPackage load]):
10632
106332008-10-15  Mark Rowe  <mrowe@apple.com>
10634
10635        Reviewed by Dan Bernstein.
10636
10637        <rdar://problem/6272508> Crash occurs after loading flash content at http://www.macrumors.com/
10638
10639        Restore some code related to the CoreGraphics drawing model that was misplaced in r37131.
10640
10641        * Plugins/WebBaseNetscapePluginView.mm:
10642        (-[WebBaseNetscapePluginView invalidateRegion:]):
10643        (-[WebBaseNetscapePluginView setVariable:value:]):
10644
106452008-10-15  Geoffrey Garen  <ggaren@apple.com>
10646
10647        Reviewed by Cameron Zwarich.
10648
10649        Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
10650        Start the debugger without reloading the inspected page
10651
10652        * WebInspector/WebInspector.mm:
10653        (-[WebInspector startDebuggingJavaScript:]): Updated for rename.
10654
106552008-10-14  Maxime Britto  <britto@apple.com>
10656
10657        Reviewed by Darin Adler.
10658
10659        Added SPI to use WebCore's TextIterator with WebKit.
10660
10661        * WebView/WebTextIterator.h: Added.
10662        * WebView/WebTextIterator.mm: Added.
10663        (-[WebTextIteratorPrivate dealloc]):
10664        (-[WebTextIterator dealloc]):
10665        (-[WebTextIterator initWithRange:]): Creates a TextIterator
10666        instance
10667        (-[WebTextIterator advance]): Asks the iterator to advance() .
10668        (-[WebTextIterator currentNode]): Returns the current DOMNode from
10669        the iterator
10670        (-[WebTextIterator currentText]): Returns the current text from the
10671        iterator
10672        (-[WebTextIterator atEnd]): Indicated whether the iterator has
10673        reached the end of the range.
10674        * WebView/WebView.h:
10675        * WebView/WebView.mm:
10676        (-[WebView textIteratorForRect:]): Returns a WebTextIterator with
10677        the DOMRange contained in the rectangle given as a parameter.
10678
106792008-10-15  Timothy Hatcher  <timothy@apple.com>
10680
10681        Clean up user agent generation to simplify the _standardUserAgentWithApplicationName:
10682        class method to not require a WebKit version.
10683
10684        Reviewed by Darin Adler.
10685
10686        * WebView/WebView.mm:
10687        (+[WebView _standardUserAgentWithApplicationName:]): Create the WebKit version.
10688        (-[WebView WebCore::_userAgentForURL:]): Use the simplified _standardUserAgentWithApplicationName:.
10689        Remove code that created the WebKit version.
10690        * WebView/WebViewPrivate.h: Change the method name of _standardUserAgentWithApplicationName:.
10691
106922008-10-14  Timothy Hatcher  <timothy@apple.com>
10693
10694        Make the user agent generation method a class method and cache the WebKit
10695        version in a static to prevent generating it every time. This is needed
10696        clean up to fix <rdar://problem/6292331>. Moved all code to WebPrivate so
10697        the class method can be in the WebViewPrivate.h header.
10698
10699        Reviewed by John Sullivan.
10700
10701        * WebView/WebView.mm:
10702        (callGestalt): Moved. Same code.
10703        (createMacOSXVersionString): Moved. Same code.
10704        (createUserVisibleWebKitVersionString): Moved from _userVisibleBundleVersionFromFullVersion:
10705        and returns a copied string.
10706        (+[WebView _standardUserAgentWithApplicationName:andWebKitVersion:]): Made into a class method.
10707        (-[WebView WebCore::_userAgentForURL:]): Changed to cache the WebKit version.
10708        * WebView/WebViewPrivate.h: Added +_standardUserAgentWithApplicationName:andWebKitVersion:.
10709
107102008-10-13  Maciej Stachowiak  <mjs@apple.com>
10711
10712        Rubber stamped by Mark Rowe.
10713
10714        - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
10715
10716        * Configurations/DebugRelease.xcconfig:
10717
107182008-10-11  Dan Bernstein  <mitz@apple.com>
10719
10720        Reviewed by Sam Weinig.
10721
10722        - rename _setAlwaysUseATSU to _setAlwaysUsesComplexTextCodePath and
10723          update it for the renamed WebCoreTextRenderer method; keep the old
10724          method around for clients that use it
10725
10726        * WebView/WebView.mm:
10727        (+[WebView _setAlwaysUseATSU:]):
10728        (+[WebView _setAlwaysUsesComplexTextCodePath:]):
10729        * WebView/WebViewPrivate.h:
10730
107312008-10-09  Timothy Hatcher  <timothy@apple.com>
10732
10733        Don't convert JavaScriptCore header include paths to WebKit paths. This was needed
10734        back when NPAPI and WebScriptObject migrated from JavaScriptCore. Also remove
10735        JavaScriptCore from the VPATH.
10736
10737        Reviewed by Sam Weinig.
10738
10739        * MigrateHeaders.make:
10740
107412008-10-08  Darin Adler  <darin@apple.com>
10742
10743        Reviewed by Cameron Zwarich.
10744
10745        - https://bugs.webkit.org/show_bug.cgi?id=21403
10746          Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
10747
10748        * WebView/WebScriptDebugger.mm:
10749        (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
10750
107512008-10-08  Timothy Hatcher  <timothy@apple.com>
10752
10753        Roll out r37427 because it causes an infinite recursion loading about:blank.
10754
10755        https://bugs.webkit.org/show_bug.cgi?id=21476
10756
107572008-10-08  Darin Adler  <darin@apple.com>
10758
10759        Reviewed by Cameron Zwarich.
10760
10761        - https://bugs.webkit.org/show_bug.cgi?id=21403
10762          Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
10763
10764        * WebView/WebScriptDebugger.mm:
10765        (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
10766
107672008-10-07  David Hyatt  <hyatt@apple.com>
10768
10769        Move viewless WebKit methods that Safari needs from WebViewInternal to WebViewPrivate.
10770
10771        Reviewed by Tim Hatcher
10772
10773        * WebView/WebView.mm:
10774        (WebKitInitializeApplicationCachePathIfNecessary):
10775        (-[WebView _registerDraggedTypes]):
10776        (-[WebView _usesDocumentViews]):
10777        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
10778        (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
10779        (-[WebView isFlipped]):
10780        (-[WebView viewWillDraw]):
10781        * WebView/WebViewInternal.h:
10782        * WebView/WebViewPrivate.h:
10783
107842008-10-07  David Hyatt  <hyatt@apple.com>
10785
10786        Fix crash in isFlipped.  Null check _private since isFlipped can get called from within AppKit
10787        machinery during teardown of the WebView.
10788
10789        Reviewed by Adam Roben
10790
10791        * WebView/WebView.mm:
10792        (-[WebView isFlipped]):
10793
107942008-10-07  David Hyatt  <hyatt@apple.com>
10795
10796        Make viewless WebKit update focused and active state when the window becomes and loses key.
10797        The focus controller has been patched to understand that in viewless mode it can recur down and
10798        update all of the frames, which is why this code works now when placed just on the WebView.
10799
10800        Reviewed by Adam Roben
10801
10802        * WebView/WebView.mm:
10803        (-[WebView addWindowObservers]):
10804        (-[WebView removeWindowObservers]):
10805        (-[WebView viewWillMoveToWindow:]):
10806        (-[WebView viewDidMoveToWindow]):
10807        (-[WebView _updateFocusedAndActiveState]):
10808        (-[WebView _windowDidBecomeKey:]):
10809        (-[WebView _windowDidResignKey:]):
10810        (-[WebView _windowWillOrderOnScreen:]):
10811
108122008-10-07  David Hyatt  <hyatt@apple.com>
10813
10814        Make sure the parent visibility state is set up properly on the outermost ScrollView widget.
10815        This fixes the repainting issues with viewless WebKit on Mac.
10816
10817        Reviewed by Sam Weinig
10818
10819        * WebCoreSupport/WebFrameLoaderClient.mm:
10820        (WebFrameLoaderClient::transitionToCommittedForNewPage):
10821
108222008-10-07  David Hyatt  <hyatt@apple.com>
10823
10824        Make sure viewless Mac WebKit does a layout if needed before drawing.
10825
10826        Reviewed by Sam Weinig
10827
10828        * WebView/WebView.mm:
10829        (-[WebView viewWillDraw]):
10830
108312008-10-07  David Hyatt  <hyatt@apple.com>
10832
10833        Make sure observers get hooked up to watch for size changes in viewless WebKit mode.
10834
10835        Reviewed by Sam Weinig
10836
10837        * ChangeLog:
10838        * WebView/WebFrame.mm:
10839        (-[WebFrame _drawRect:contentsOnly:]):
10840        * WebView/WebView.mm:
10841        (-[WebView viewWillDraw]):
10842        (-[WebView _boundsChanged]):
10843        (-[WebView addSizeObservers]):
10844        (-[WebView viewDidMoveToWindow]):
10845        (-[WebView viewDidMoveToSuperview]):
10846
108472008-10-07  David Hyatt  <hyatt@apple.com>
10848
10849        Make sure WebView listens for size changes and resizes the frame view in viewless mode.
10850
10851        Reviewed by Sam Weinig
10852
10853        * WebView/WebView.mm:
10854        (-[WebView addSizeObservers]):
10855        (-[WebView viewDidMoveToWindow]):
10856        (-[WebView viewDidMoveToSuperview]):
10857
108582008-10-06  David Hyatt  <hyatt@apple.com>
10859
10860        Enable viewless Mac WebKit to paint some basic pages.
10861
10862        Reviewed by Sam Weinig
10863
10864        * WebCoreSupport/WebChromeClient.mm:
10865        (WebChromeClient::windowResizerRect):
10866        (WebChromeClient::repaint):
10867        (WebChromeClient::screenToWindow):
10868        (WebChromeClient::windowToScreen):
10869        (WebChromeClient::platformWindow):
10870        * WebCoreSupport/WebFrameLoaderClient.h:
10871        * WebCoreSupport/WebFrameLoaderClient.mm:
10872        (WebFrameLoaderClient::forceLayoutForNonHTML):
10873        (WebFrameLoaderClient::dispatchDidCommitLoad):
10874        (WebFrameLoaderClient::transitionToCommittedForNewPage):
10875        (WebFrameLoaderClient::createFrame):
10876        * WebView/WebFrame.mm:
10877        (-[WebFrame _drawRect:contentsOnly:]):
10878        * WebView/WebFrameInternal.h:
10879        * WebView/WebFrameView.mm:
10880        * WebView/WebFrameViewInternal.h:
10881        * WebView/WebHTMLView.mm:
10882        (-[WebHTMLView drawSingleRect:]):
10883        (-[WebHTMLView drawRect:]):
10884        * WebView/WebView.mm:
10885        (-[WebView isFlipped]):
10886        (-[WebView _boundsChanged]):
10887        (-[WebView _mustDrawUnionedRect:singleRects:count:]):
10888        (-[WebView drawSingleRect:]):
10889        (-[WebView drawRect:]):
10890        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
10891        (-[WebView initWithFrame:frameName:groupName:]):
10892        (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
10893        (-[WebView initWithCoder:]):
10894        (-[WebView removeSizeObservers]):
10895        (-[WebView viewWillMoveToWindow:]):
10896        (-[WebView viewWillMoveToSuperview:]):
10897        (-[WebView _usesDocumentViews]):
10898        * WebView/WebViewInternal.h:
10899
109002008-10-06  Kevin Decker  <kdecker@apple.com>
10901
10902        Rubber-stamped by Anders Carlsson.
10903
10904        Rename _webkit_applicationCacheDirectoryWithBundleIdentifier to _webkit_localCacheDirectoryWithBundleIdentifier.
10905
10906        * Misc/WebKitNSStringExtras.h:
10907        * Misc/WebKitNSStringExtras.m:
10908        (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
10909        * WebView/WebDataSource.mm:
10910        (-[WebDataSource _transferApplicationCache:]):
10911        * WebView/WebView.mm:
10912        (WebKitInitializeApplicationCachePathIfNecessary):
10913
109142008-10-06  Anders Carlsson  <andersca@apple.com>
10915
10916        Reviewed by Sam Weinig.
10917
10918        Make WebNetscapePluginStream a WebCore::NetscapePlugInStreamLoaderClient.
10919
10920        * Plugins/WebBaseNetscapePluginStream.h:
10921        (WebNetscapePluginStream::~WebNetscapePluginStream):
10922        * Plugins/WebBaseNetscapePluginStream.mm:
10923        (WebNetscapePluginStream::didReceiveResponse):
10924        (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
10925        (WebNetscapePluginStream::wantsAllStreams):
10926        (-[WebBaseNetscapePluginStream wantsAllStreams]):
10927        (WebNetscapePluginStream::didFail):
10928        (-[WebBaseNetscapePluginStream destroyStreamWithError:]):
10929        (WebNetscapePluginStream::didFinishLoading):
10930        (-[WebBaseNetscapePluginStream finishedLoading]):
10931        (WebNetscapePluginStream::didReceiveData):
10932        (-[WebBaseNetscapePluginStream receivedData:]):
10933
109342008-10-06  Anders Carlsson  <andersca@apple.com>
10935
10936        Bring back the stop method. It was called through performSelector, which
10937        is why I couldn't find any references to it.
10938
10939        * Plugins/WebBaseNetscapePluginStream.h:
10940        * Plugins/WebBaseNetscapePluginStream.mm:
10941        (-[WebBaseNetscapePluginStream stop]):
10942
109432008-10-06  Anders Carlsson  <andersca@apple.com>
10944
10945        Reviewed by Sam Weinig.
10946
10947        More conversion and cleanup.
10948
10949        * Plugins/WebBaseNetscapePluginStream.h:
10950        * Plugins/WebBaseNetscapePluginStream.mm:
10951        (WebNetscapePluginStream::startStream):
10952        (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
10953        * Plugins/WebBaseNetscapePluginView.mm:
10954        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
10955
109562008-10-06  Anders Carlsson  <andersca@apple.com>
10957
10958        Reviewed by Sam Weinig.
10959
10960        Fold initWithRequestURL into initWithRequest.
10961
10962        * Plugins/WebBaseNetscapePluginStream.h:
10963        * Plugins/WebBaseNetscapePluginStream.mm:
10964        (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
10965
109662008-10-06  Anders Carlsson  <andersca@apple.com>
10967
10968        Reviewed by Sam Weinig.
10969
10970        Change the init methods not to return nil on failures. (These failures never occur anyway)
10971
10972        Use initWithRequest as the initializer, initWithRequestURL is going to be merged with it.
10973
10974        * Plugins/WebBaseNetscapePluginStream.mm:
10975        (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
10976        (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
10977        * Plugins/WebBaseNetscapePluginView.mm:
10978        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
10979
109802008-10-06  Anders Carlsson  <andersca@apple.com>
10981
10982        Reviewed by David Hyatt.
10983
10984        Convert more methods over to C++.
10985
10986        * Plugins/WebBaseNetscapePluginStream.h:
10987        * Plugins/WebBaseNetscapePluginStream.mm:
10988        (WebNetscapePluginStream::ownerForStream):
10989        (WebNetscapePluginStream::pluginCancelledConnectionError):
10990        (WebNetscapePluginStream::errorForReason):
10991        (-[WebBaseNetscapePluginStream errorForReason:]):
10992        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
10993        (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
10994        (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
10995        (WebNetscapePluginStream::deliverData):
10996        (WebNetscapePluginStream::deliverDataTimerFired):
10997        (WebNetscapePluginStream::deliverDataToFile):
10998        (-[WebBaseNetscapePluginStream finishedLoading]):
10999        (-[WebBaseNetscapePluginStream receivedData:]):
11000        * Plugins/WebBaseNetscapePluginView.mm:
11001        (-[WebBaseNetscapePluginView destroyStream:reason:]):
11002
110032008-10-06  David Hyatt  <hyatt@apple.com>
11004
11005        Add SPI for a new viewless WebKit mode.  The idea is that when this flag is set there will be no
11006        views created except for the outermost WebView.
11007
11008        Reviewed by Tim Hatcher
11009
11010        * WebView/WebView.mm:
11011        * WebView/WebViewInternal.h:
11012
110132008-10-06  Anders Carlsson  <andersca@apple.com>
11014
11015        Reviewed by David Hyatt.
11016
11017        Convert more methods over to C++.
11018
11019        * Plugins/WebBaseNetscapePluginStream.h:
11020        * Plugins/WebBaseNetscapePluginStream.mm:
11021        (WebNetscapePluginStream::reasonForError):
11022        (WebNetscapePluginStream::destroyStreamWithReason):
11023        (WebNetscapePluginStream::cancelLoadWithError):
11024        (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
11025        (WebNetscapePluginStream::destroyStreamWithError):
11026        (-[WebBaseNetscapePluginStream destroyStreamWithError:]):
11027        (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
11028        (-[WebBaseNetscapePluginStream _deliverDataToFile:]):
11029        (-[WebBaseNetscapePluginStream finishedLoading]):
11030        * Plugins/WebBaseNetscapePluginView.mm:
11031        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]):
11032
110332008-10-04  Darin Adler  <darin@apple.com>
11034
11035        Reviewed by Cameron Zwarich.
11036
11037        - https://bugs.webkit.org/show_bug.cgi?id=21295
11038          Bug 21295: Replace ExecState with a call frame Register pointer
11039
11040        * WebView/WebScriptDebugger.mm:
11041        (WebScriptDebugger::WebScriptDebugger): Remove 0 passed for ExecState.
11042
110432008-10-03  John Sullivan  <sullivan@apple.com>
11044
11045        Fixed Release build
11046
11047        * Plugins/WebBaseNetscapePluginStream.mm:
11048        (WebNetscapePluginStream::destroyStream):
11049        added !LOG_DISABLED guard around declaration of npErr used only in LOG
11050
110512008-10-03  Anders Carlsson  <andersca@apple.com>
11052
11053        Reviewed by David Hyatt.
11054
11055        Convert destroyStream over to C++.
11056
11057        * Plugins/WebBaseNetscapePluginStream.h:
11058        * Plugins/WebBaseNetscapePluginStream.mm:
11059        (WebNetscapePluginStream::destroyStream):
11060        (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
11061        (-[WebBaseNetscapePluginStream _deliverData]):
11062
110632008-10-03  Anders Carlsson  <andersca@apple.com>
11064
11065        Reviewed by David Hyatt.
11066
11067        Use a Timer instead of -[NSObject performSelector:withObject:afterDelay];
11068
11069        * Plugins/WebBaseNetscapePluginStream.h:
11070        (WebNetscapePluginStream::WebNetscapePluginStream):
11071        * Plugins/WebBaseNetscapePluginStream.mm:
11072        (-[WebBaseNetscapePluginStream _destroyStream]):
11073        (-[WebBaseNetscapePluginStream _deliverData]):
11074        (WebNetscapePluginStream::deliverDataTimerFired):
11075
110762008-10-03  Anders Carlsson  <andersca@apple.com>
11077
11078        Reviewed by David Hyatt.
11079
11080        More plug-in stream cleanup.
11081
11082        * Plugins/WebBaseNetscapePluginStream.h:
11083        (WebNetscapePluginStream::create):
11084        (WebNetscapePluginStream::WebNetscapePluginStream):
11085        * Plugins/WebBaseNetscapePluginStream.mm:
11086        (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
11087        (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
11088        (-[WebBaseNetscapePluginStream dealloc]):
11089        (-[WebBaseNetscapePluginStream finalize]):
11090        (-[WebBaseNetscapePluginStream setPlugin:]):
11091        (WebNetscapePluginStream::setPlugin):
11092        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
11093        (-[WebBaseNetscapePluginStream _destroyStream]):
11094
110952008-10-03  David Hyatt  <hyatt@apple.com>
11096
11097        Remove addToDirtyRegion.
11098
11099        Reviewed by Oliver Hunt
11100
11101        * WebCoreSupport/WebChromeClient.h:
11102        * WebCoreSupport/WebChromeClient.mm:
11103
111042008-10-02  David Hyatt  <hyatt@apple.com>
11105
11106        https://bugs.webkit.org/show_bug.cgi?id=21328
11107
11108        Make widget invalidation more cross-platform.
11109
11110        (1) Make invalidateRect a pure virtual function on Widget.  All leaf widgets must now implement this function.
11111
11112        (2) Scrollbars now send invalidations through the ScrollbarClient.  windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
11113        This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
11114
11115        (3) Plugins now have the native window invalidation code for windowed plugins.  Windowless plugins do a repaintRectangle on the plugin's renderer.
11116
11117        (4) FrameViews now do a repaintRectangle on their owner element's renderer.
11118
11119        Reviewed by Sam Weinig
11120
11121        * WebCoreSupport/WebFrameLoaderClient.mm:
11122        (PluginWidget::PluginWidget):
11123        (PluginWidget::invalidateRect):
11124        (NetscapePluginWidget::NetscapePluginWidget):
11125        (WebFrameLoaderClient::createPlugin):
11126
111272008-10-02  Darin Adler  <darin@apple.com>
11128
11129        Reviewed by Geoff Garen.
11130
11131        - https://bugs.webkit.org/show_bug.cgi?id=21321
11132          Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
11133
11134        * Misc/WebCoreStatistics.mm:
11135        (+[WebCoreStatistics javaScriptObjectsCount]): Use heap. instead of heap-> to
11136        work with the heap.
11137        (+[WebCoreStatistics javaScriptGlobalObjectsCount]): Ditto.
11138        (+[WebCoreStatistics javaScriptProtectedObjectsCount]): Ditto.
11139        (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): Ditto.
11140        (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Ditto.
11141        (+[WebCoreStatistics javaScriptReferencedObjectsCount]): Ditto.
11142
111432008-10-02  David Hyatt  <hyatt@apple.com>
11144
11145        https://bugs.webkit.org/show_bug.cgi?id=21314
11146
11147        Make scrollBackingStore cross-platform.
11148
11149        Reviewed by Sam Weinig
11150
11151        * WebCoreSupport/WebChromeClient.h:
11152        * WebCoreSupport/WebChromeClient.mm:
11153        (WebChromeClient::repaint):
11154        (WebChromeClient::scroll):
11155
111562008-10-01  Geoffrey Garen  <ggaren@apple.com>
11157
11158        Reviewed by Darin Adler and Cameron Zwarich.
11159
11160        Updated for JavaScriptCore API changes: use a SourceCode instead of
11161        broken out parameters; treat sourceId as intptr_t.
11162
11163        We still treat sourceId as int in some cases because of DashCode. See
11164        <rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for
11165        sourceId, not int.
11166
11167        * WebView/WebScriptDebugger.h:
11168        * WebView/WebScriptDebugger.mm:
11169        (toNSString):
11170        (WebScriptDebugger::sourceParsed):
11171        (WebScriptDebugger::callEvent):
11172        (WebScriptDebugger::atStatement):
11173        (WebScriptDebugger::returnEvent):
11174        (WebScriptDebugger::exception):
11175        (WebScriptDebugger::willExecuteProgram):
11176        (WebScriptDebugger::didExecuteProgram):
11177        (WebScriptDebugger::didReachBreakpoint):
11178
111792008-10-01  David Hyatt  <hyatt@apple.com>
11180
11181        Move prohibitsScrolling from the Frame to the ScrollView.
11182
11183        Reviewed by Sam Weinig
11184
11185        * WebView/WebView.mm:
11186        (-[WebView setProhibitsMainFrameScrolling:]):
11187
111882008-10-01  David Hyatt  <hyatt@apple.com>
11189
11190        https://bugs.webkit.org/show_bug.cgi?id=21282
11191
11192        Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.
11193
11194        Reviewed by Adam Roben
11195
11196        * WebCoreSupport/WebChromeClient.h:
11197        * WebCoreSupport/WebChromeClient.mm:
11198        (WebChromeClient::repaint):
11199        (WebChromeClient::screenToWindow):
11200        (WebChromeClient::windowToScreen):
11201
112022008-09-30   Dave Hyatt  <hyatt@apple.com>
11203
11204        https://bugs.webkit.org/show_bug.cgi?id=21269
11205
11206        This patch makes the ScrollView::paint method cross-platform.  The paint method calls the base class
11207        Widget paint on platforms with native widgets (Mac and wx).  Otherwise it calls a virtual function,
11208        paintContents, to paint the ScrollView's contents, and then it paints each of the two scrollbars and
11209        the scrollbar corner.
11210
11211        The scrollbar themes are now responsible for painting scrollbar corners.  At the moment ScrollbarThemeWin still
11212        paints white (which is incorrect), so a future patch will actually implement proper native scroll corner painting
11213        for Windows.
11214
11215        paintContents is implemented by FrameView, and replaces Frame::paint.  All of the FramePrivate member
11216        variables used by Frame::paint have moved to FrameViewPrivate instead.  All callers of Frame::paint have
11217        been patched to use FrameView::paintContents instead.
11218
11219        Reviewed by Darin Adler
11220
11221        * WebView/WebFrame.mm:
11222        (-[WebFrame _drawRect:]):
11223
112242008-09-30  Kevin Decker  <kdecker@apple.com>
11225
11226        Reviewed by Anders Carlsson.
11227
11228        Remove the NPDrawingModelOpenGL entirely. To my knowledge no shipping plug-in ever used it, and no other browser engine
11229        ever supported it.
11230
11231        * Plugins/WebBaseNetscapePluginView.h: Removed AGL.h import and OpenGL related ivars.
11232        * Plugins/WebBaseNetscapePluginView.mm: Removed soft linking for OpenGL and AGL frameworks.
11233        Also removed many methods AGL/CGL support methods that are no longer necessary.
11234        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed NPDrawingModelOpenGL related code.
11235        (-[WebBaseNetscapePluginView restorePortState:]): Ditto.
11236        (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Ditto.
11237        (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): Ditto.
11238        (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto.
11239        (-[WebBaseNetscapePluginView stop]): Ditto.
11240        (-[WebBaseNetscapePluginView dealloc]): Ditto.
11241        (-[WebBaseNetscapePluginView drawRect:]):
11242        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Ditto.
11243        (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto.
11244        (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins WebKit does not support NPDrawingModelOpenGL.
11245        (-[WebBaseNetscapePluginView setVariable:value:]): Removed NPDrawingModelOpenGL related code.
11246        (-[WebBaseNetscapePluginView _viewHasMoved]): Ditto.
11247
112482008-09-30  Dave Hyatt  <hyatt@apple.com>
11249
11250        http://bugs.webkit.org/show_bug.cgi?id=21250
11251
11252        Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
11253        repaints up through the ChromeClient.
11254
11255        Reviewed by Darin Adler
11256
11257        * WebCoreSupport/WebChromeClient.h:
11258        * WebCoreSupport/WebChromeClient.mm:
11259        (WebChromeClient::repaint):
11260
112612008-09-30  Anders Carlsson  <andersca@apple.com>
11262
11263        Reviewed by Mark Rowe and Adam Roben.
11264
11265        No need to use pointers to store C++ objects as pointers in WebViewPrivate, we can just
11266        store them directly.
11267
11268        * Configurations/Base.xcconfig:
11269        Set GCC_OBJC_CALL_CXX_CDTORS to YES.
11270
11271        * WebView/WebView.mm:
11272        (-[WebViewPrivate init]):
11273        (-[WebViewPrivate dealloc]):
11274        (-[WebViewPrivate finalize]):
11275        (-[WebView _preferencesChangedNotification:]):
11276        (-[WebView setApplicationNameForUserAgent:]):
11277        (-[WebView setCustomUserAgent:]):
11278        (-[WebView customUserAgent]):
11279        (-[WebView WebCore::_userAgentForURL:WebCore::]):
11280        (-[WebView _addObject:forIdentifier:]):
11281        (-[WebView _objectForIdentifier:]):
11282        (-[WebView _removeObjectForIdentifier:]):
11283
112842008-09-29  Thiago Macieira  <thiago.macieira@nokia.com>
11285
11286        Reviewed by Simon.
11287
11288        Changed copyright from Trolltech ASA to Nokia.
11289
11290        Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
11291
11292
11293        * WebCoreSupport/WebChromeClient.h:
11294        * WebCoreSupport/WebChromeClient.mm:
11295        * WebCoreSupport/WebEditorClient.h:
11296        * WebCoreSupport/WebEditorClient.mm:
11297
112982008-09-28  Timothy Hatcher  <timothy@apple.com>
11299
11300        Improves the Web Inspector node highlight so it does not scroll
11301        to reveal the node in the page. This makes the highlight less
11302        invasive and causes less things to change on screen. Also makes
11303        the highlight redraw when the WebView draws, so it stays current
11304        if the node changes on the page for any reason.
11305
11306        <rdar://problem/6115804> Don't scroll when highlighting (21000)
11307        https://bugs.webkit.org/show_bug.cgi?id=21000
11308
11309        Reviewed by Dan Bernstein.
11310
11311        * WebCoreSupport/WebInspectorClient.mm:
11312        (-[WebInspectorWindowController highlightNode:]): Call setNeedsDisplay:YES
11313        if there is an existing highlight.
11314        (-[WebInspectorWindowController didAttachWebNodeHighlight:]): Set the current
11315        highlight node on the inspected WebView.
11316        (-[WebInspectorWindowController willDetachWebNodeHighlight:]): Set the current
11317        highlight node on the inspected WebView to nil.
11318        * WebInspector/WebNodeHighlight.m:
11319        (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Disable screen updates
11320        until flush for the inspected window. Invalidate the whole highlight view since
11321        we don't know the rect that needs updated since the highlight can be larger than
11322        the highlighted element due to the margins and other factors.
11323        * WebInspector/WebNodeHighlightView.m:
11324        * WebView/WebHTMLView.mm:
11325        (-[WebHTMLView drawSingleRect:]): Call setNeedsUpdateInTargetViewRect: on the
11326        current highlight node.
11327        * WebView/WebView.mm:
11328        (-[WebViewPrivate dealloc]): Release the current highlight node.
11329        (-[WebView setCurrentNodeHighlight:]): Set the current highlight node.
11330        (-[WebView currentNodeHighlight]): Return the current highlight node.
11331        * WebView/WebViewInternal.h:
11332
113332008-09-28  David Kilzer  <ddkilzer@apple.com>
11334
11335        Fix build warning in WebDefaultUIDelegate.m
11336
11337        Reviewed by Dan Bernstein.
11338
11339        This fixes a warning noticed by the clang static analyzer:
11340        .../WebDefaultUIDelegate.m: In function ‘-[WebDefaultUIDelegate webViewFirstResponder:]’:
11341        .../WebDefaultUIDelegate.m:92: warning: initialization from distinct Objective-C type
11342
11343        Note that this doesn't actually cause any change in behavior since
11344        the gcc compiler ignores the semi-colon anyway.
11345
11346        * DefaultDelegates/WebDefaultUIDelegate.m:
11347        (-[WebDefaultUIDelegate webViewFirstResponder:]): Removed semi-colon
11348        from method signature.
11349
113502008-09-27  David Hyatt  <hyatt@apple.com>
11351
11352        Fix for https://bugs.webkit.org/show_bug.cgi?id=21182
11353
11354        Make sure Mac null checks the view like the other platforms do now that Mac goes through WebCore
11355        to call setAllowsScrolling.
11356
11357        Reviewed by Mark Rowe
11358
11359        * WebCoreSupport/WebFrameLoaderClient.mm:
11360        (WebFrameLoaderClient::createFrame):
11361
113622008-09-27  Anders Carlsson  <andersca@apple.com>
11363
11364        Reviewed by Sam Weinig.
11365
11366        https://bugs.webkit.org/show_bug.cgi?id=21178
11367        <rdar://problem/6248651>
11368
11369        Check if the plug-in is allowed to load the resource. This matches Firefox.
11370
11371        * Plugins/WebBaseNetscapePluginView.mm:
11372        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
11373
113742008-09-26  Matt Lilek  <webkit@mattlilek.com>
11375
11376        Reviewed by Tim Hatcher.
11377
11378        Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.
11379
11380        * Configurations/WebKit.xcconfig:
11381
113822008-09-26  David Hyatt  <hyatt@apple.com>
11383
11384        https://bugs.webkit.org/show_bug.cgi?id=21164
11385
11386        Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
11387
11388        Reviewed by Sam Weinig
11389
11390        * WebCoreSupport/WebFrameLoaderClient.mm:
11391        (WebFrameLoaderClient::createFrame):
11392        * WebView/WebDynamicScrollBarsView.h:
11393        * WebView/WebDynamicScrollBarsView.m:
11394        * WebView/WebDynamicScrollBarsViewInternal.h:
11395        * WebView/WebFrameView.mm:
11396        (-[WebFrameView setAllowsScrolling:]):
11397        (-[WebFrameView allowsScrolling]):
11398
113992008-09-26  David Hyatt  <hyatt@apple.com>
11400
11401        https://bugs.webkit.org/show_bug.cgi?id=21149
11402
11403        More refactoring to make scrollbar modes cross-platform.  Reduce the protocol that
11404        WebDynamicScrollBarsView has to implement for communicating with WebCore to just three methods.
11405
11406        Reviewed by Sam Weinig
11407
11408        * WebView/WebDynamicScrollBarsView.m:
11409        (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]):
11410        (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
11411        (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
11412        (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
11413        * WebView/WebDynamicScrollBarsViewInternal.h:
11414        * WebView/WebFrameView.mm:
11415        (-[WebFrameView setAllowsScrolling:]):
11416        * WebView/WebView.mm:
11417        (-[WebView setAlwaysShowVerticalScroller:]):
11418        (-[WebView setAlwaysShowHorizontalScroller:]):
11419
114202008-09-26  David Kilzer  <ddkilzer@apple.com>
11421
11422        Fix Mac build with XSLT disabled
11423
11424        Reviewed by Alexey.
11425
11426        * Misc/WebCache.mm:
11427        (+[WebCache statistics]): Populate xslStyleSheet statistics with
11428        zeros if XSLT is disabled.
11429
114302008-09-25  David Hyatt  <hyatt@apple.com>
11431
11432        https://bugs.webkit.org/show_bug.cgi?id=21101
11433
11434        Fix the updating of the active state to not be dumb, so that viewless scrollbars repaint properly.
11435
11436        Reviewed by Tim Hatcher
11437
11438        * WebView/WebHTMLView.mm:
11439        (-[WebHTMLView _updateFocusedAndActiveState]):
11440
114412008-09-24  Darin Adler  <darin@apple.com>
11442
11443        Reviewed by Dan Bernstein.
11444
11445        - https://bugs.webkit.org/show_bug.cgi?id=21079
11446          <rdar://problem/6203938> Disallow embedding Safari-generated pages
11447          (e.g bookmarks collection) in subframes
11448
11449        * DefaultDelegates/WebDefaultPolicyDelegate.m:
11450        (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
11451        Use the new +[WebView _canHandleRequest:forMainFrame:] so we can give
11452        a different answer for the main frame and subframes.
11453        * WebCoreSupport/WebFrameLoaderClient.mm:
11454        (WebFrameLoaderClient::canHandleRequest): Ditto.
11455
11456        * WebView/WebView.mm:
11457        (+[WebView _canHandleRequest:forMainFrame:]): Added forMainFrame. Only look
11458        for scheme-specific representations for the main frame, not subframes.
11459        (+[WebView _canHandleRequest:]): Give answer for main frame -- calls the
11460        method above with YES for main frame.
11461
11462        * WebView/WebViewInternal.h: Added _canHandleRequest:forMainFrame:.
11463
114642008-09-23  David Hyatt  <hyatt@apple.com>
11465
11466        https://bugs.webkit.org/show_bug.cgi?id=21039
11467
11468        Teach the viewless Mac scrollbar how to avoid the NSWindow resizer.
11469
11470        Reviewed by Sam Weinig
11471
11472        * WebCoreSupport/WebChromeClient.mm:
11473        (WebChromeClient::windowResizerRect):
11474
114752008-09-23  Dan Bernstein  <mitz@apple.com>
11476
11477        Reviewed by Beth Dakin.
11478
11479        - fix <rdar://problem/6233388> Crash beneath -[WebFrameView keyDown:]
11480
11481        Test: fast/events/keydown-remove-frame.html
11482
11483        * WebView/WebFrameView.mm:
11484        (-[WebFrameView keyDown:]): Added a null check.
11485
114862008-09-21  Dirk Schulze  <vbs85@gmx.de>
11487
11488        Reviewed and landed by Eric Seidel.
11489
11490        Moved CGFloat definition to WebKitPrefix so CGFloat can be used more
11491        freely throughout WebCore without worrying about breaking Tiger.
11492
11493        * Misc/WebTypesInternal.h: Removed it from here.
11494        * WebKitPrefix.h: Added it here.
11495
114962008-09-20  Matt Lilek  <webkit@mattlilek.com>
11497
11498        Reviewed by Tim Hatcher.
11499
11500        Revert r35688. We use a textured window on Leopard, which does not have the
11501        square corners of the standard Aqua window on Tiger.
11502
11503        * WebCoreSupport/WebInspectorClient.mm:
11504        (-[WebInspectorWindowController window]): Add back the call to WKNSWindowMakeBottomCornersSquare.
11505
115062008-09-19  Darin Adler  <darin@apple.com>
11507
11508        Reviewed by Dan Bernstein.
11509
11510        - speculative fix for https://bugs.webkit.org/show_bug.cgi?id=20943
11511          Assertion failure in RefCountedLeakCounter::cancelMessageSuppression() when closing a window
11512
11513        * WebView/WebView.mm:
11514        (-[WebView _commonInitializationWithFrameName:groupName:]): Moved call to
11515        RefCountedLeakCounter::suppressMessages in here.
11516        (-[WebView initWithFrame:frameName:groupName:]): Moved it out of here.
11517
115182008-09-18  Mark Rowe  <mrowe@apple.com>
11519
11520        Reviewed by Dan Bernstein.
11521
11522        Add SPI to WebView to allow DRT to clear the main frame's name between tests.
11523
11524        * WebView/WebView.mm:
11525        (-[WebView _clearMainFrameName]):
11526        * WebView/WebViewPrivate.h:
11527
115282008-09-18  Darin Adler  <darin@apple.com>
11529
11530        Reviewed by Sam Weinig.
11531
11532        - fix https://bugs.webkit.org/show_bug.cgi?id=20925
11533          LEAK messages appear every time I quit
11534
11535        * WebView/WebPreferences.mm:
11536        (-[WebPreferences setFullDocumentTeardownEnabled:]): Removed unneeded call
11537        to setLogLeakMessages.
11538        * WebView/WebView.mm:
11539        (-[WebView _closeWithFastTeardown]): Call RefCountedLeakCounter::suppressMessages,
11540        telling it that we can't track leaks because at least one WebView was closed with
11541        fast teardown.
11542        (-[WebView _close]): Removed unneeded call to setLogLeakMessages. Added a call to
11543        cancelMessageSuppression since the WebView is no longer open.
11544        Added an explicit garbage collect to help with the case where we're closing during
11545        the quit process -- the garbageCollectSoon() calls done inside WebCore won't help
11546        us in that case.
11547        (-[WebView initWithFrame:frameName:groupName:]): Call
11548        RefCountedLeakCounter::suppressMessages telling it that we can't track leaks
11549        because at least one WebView is currently open.
11550
115512008-09-18  Anders Carlsson  <andersca@apple.com>
11552
11553        Reviewed by Adam Roben.
11554
11555        Move the remainder of the stream ivars to the C++ object.
11556
11557        * Plugins/WebBaseNetscapePluginStream.h:
11558        (WebNetscapePluginStream::WebNetscapePluginStream):
11559        * Plugins/WebBaseNetscapePluginStream.mm:
11560        (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
11561        (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
11562        (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
11563        (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
11564        (-[WebBaseNetscapePluginStream dealloc]):
11565        (-[WebBaseNetscapePluginStream finalize]):
11566        (-[WebBaseNetscapePluginStream setPlugin:]):
11567        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
11568        (-[WebBaseNetscapePluginStream start]):
11569        (-[WebBaseNetscapePluginStream stop]):
11570        (-[WebBaseNetscapePluginStream wantsAllStreams]):
11571        (-[WebBaseNetscapePluginStream _destroyStream]):
11572        (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
11573        (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
11574        (-[WebBaseNetscapePluginStream _deliverData]):
11575
115762008-09-17  David Hyatt  <hyatt@apple.com>
11577
11578        Make the notion of Widget having an underlying native widget cross-platform.
11579
11580        Reviewed by Sam Weinig
11581
11582        * WebCoreSupport/WebFrameLoaderClient.mm:
11583        (NetscapePluginWidget::handleEvent):
11584        * WebView/WebFrame.mm:
11585        (-[WebFrame _dragSourceMovedTo:]):
11586        (-[WebFrame _dragSourceEndedAt:operation:]):
11587        * WebView/WebFrameView.mm:
11588        (-[WebFrameView _install]):
11589        * WebView/WebRenderNode.mm:
11590        (copyRenderNode):
11591
115922008-09-16  Anders Carlsson  <andersca@apple.com>
11593
11594        Reviewed by Cameron Zwarich.
11595
11596        Move more instance variables down to the C++ class.
11597
11598        * Plugins/WebBaseNetscapePluginStream.h:
11599        (WebNetscapePluginStream::WebNetscapePluginStream):
11600        * Plugins/WebBaseNetscapePluginStream.mm:
11601        (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
11602        (-[WebBaseNetscapePluginStream dealloc]):
11603        (-[WebBaseNetscapePluginStream finalize]):
11604        (-[WebBaseNetscapePluginStream transferMode]):
11605        (-[WebBaseNetscapePluginStream plugin]):
11606        (-[WebBaseNetscapePluginStream setPlugin:]):
11607        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
11608        (-[WebBaseNetscapePluginStream wantsAllStreams]):
11609        (-[WebBaseNetscapePluginStream _destroyStream]):
11610        (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
11611        (-[WebBaseNetscapePluginStream _deliverData]):
11612        (-[WebBaseNetscapePluginStream _deliverDataToFile:]):
11613        (-[WebBaseNetscapePluginStream finishedLoading]):
11614        (-[WebBaseNetscapePluginStream receivedData:]):
11615
116162008-09-16  Anders Carlsson  <andersca@apple.com>
11617
11618        Reviewed by Dave Hyatt.
11619
11620        Move a bunch of instance variables into the C++ class.
11621
11622        * Plugins/WebBaseNetscapePluginStream.h:
11623        * Plugins/WebBaseNetscapePluginStream.mm:
11624        (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
11625        (-[WebBaseNetscapePluginStream errorForReason:]):
11626        (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
11627        (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
11628        (-[WebBaseNetscapePluginStream dealloc]):
11629        (-[WebBaseNetscapePluginStream setRequestURL:]):
11630        (-[WebBaseNetscapePluginStream setResponseURL:]):
11631        (-[WebBaseNetscapePluginStream setMIMEType:]):
11632        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
11633        (-[WebBaseNetscapePluginStream _destroyStream]):
11634        (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
11635        (-[WebBaseNetscapePluginStream _deliverData]):
11636        (-[WebBaseNetscapePluginStream receivedData:]):
11637
116382008-09-16  Anders Carlsson  <andersca@apple.com>
11639
11640        Reviewed by Dave Hyatt.
11641
11642        Add a new WebNetscapePluginStream C++ class. The idea is that it is supposed to replace the Obj-C
11643        WebBaseNetscapePluginStream class. The plan is to gradually move/rewrite code from the Obj-C class to the C++ class
11644        until the C++ class can replace the Obj-C class.
11645
11646        * Plugins/WebBaseNetscapePluginStream.h:
11647        (WebNetscapePluginStream::create):
11648        (WebNetscapePluginStream::WebNetscapePluginStream):
11649        * Plugins/WebBaseNetscapePluginStream.mm:
11650        (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
11651        (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
11652        (-[WebBaseNetscapePluginStream dealloc]):
11653        (-[WebBaseNetscapePluginStream finalize]):
11654
116552008-09-16  Anders Carlsson  <andersca@apple.com>
11656
11657        Reviewed by Dave Hyatt.
11658
11659        Instead of storing a pointer to NPP method individually, just store a pointer to the NPNetscapeFuncs vtable.
11660
11661        * Plugins/WebBaseNetscapePluginStream.h:
11662        * Plugins/WebBaseNetscapePluginStream.mm:
11663        (-[WebBaseNetscapePluginStream setPlugin:]):
11664        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
11665        (-[WebBaseNetscapePluginStream wantsAllStreams]):
11666        (-[WebBaseNetscapePluginStream _destroyStream]):
11667        (-[WebBaseNetscapePluginStream _deliverData]):
11668        * Plugins/WebNetscapePluginPackage.h:
11669        * Plugins/WebNetscapePluginPackage.m:
11670        (-[WebNetscapePluginPackage pluginFuncs]):
11671
116722008-09-16  Anders Carlsson  <andersca@apple.com>
11673
11674        Reviewed by Dave Hyatt.
11675
11676        Remove references to WebNetscapePluginStream.
11677
11678        * Plugins/WebBaseNetscapePluginView.h:
11679        * Plugins/WebNetscapePluginEmbeddedView.h:
11680
116812008-09-15  Dan Bernstein  <mitz@apple.com>
11682
11683        Reviewed by Dave Hyatt.
11684
11685        - fix https://bugs.webkit.org/show_bug.cgi?id=20860
11686          REGRESSION: Crash in RenderLayer::hasVisibleContent() loading wavy.com
11687
11688        * WebView/WebFrame.mm:
11689        (-[WebFrame _getVisibleRect:]): Changed to check if the RenderPart has
11690        layout before accessing it, instead of checking if the frame inside it
11691        has layout.
11692
116932008-09-15  Chris Fleizach  <cfleizach@apple.com>
11694
11695        Reviewed by Darin Adler, Beth Dakin
11696
11697        Support strings for AXLists
11698
11699        * WebCoreSupport/WebViewFactory.mm:
11700        (-[WebViewFactory AXDefinitionListTermText]):
11701        (-[WebViewFactory AXDefinitionListDefinitionText]):
11702
117032008-09-15  Anders Carlsson  <andersca@apple.com>
11704
11705        Reviewed by Mitz.
11706
11707        Merge WebNetscapePluginStream into WebBaseNetscapePluginStream.
11708
11709        * Plugins/WebBaseNetscapePluginStream.h:
11710        * Plugins/WebBaseNetscapePluginStream.mm:
11711        (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
11712        (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
11713        (-[WebBaseNetscapePluginStream dealloc]):
11714        (-[WebBaseNetscapePluginStream finalize]):
11715        (-[WebBaseNetscapePluginStream start]):
11716        (-[WebBaseNetscapePluginStream stop]):
11717        (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
11718        * Plugins/WebBaseNetscapePluginView.mm:
11719        (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
11720        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
11721        * Plugins/WebNetscapePluginEmbeddedView.mm:
11722        * Plugins/WebNetscapePluginStream.h: Removed.
11723        * Plugins/WebNetscapePluginStream.mm: Removed.
11724
117252008-09-12  John Sullivan  <sullivan@apple.com>
11726
11727        Fixed <rdar://problem/6110941> Clicking the print button in PDF content does nothing
11728
11729        Reviewed by Darin Adler
11730
11731        * WebView/WebPDFView.mm:
11732        (-[WebPDFView PDFViewPerformPrint:]):
11733        Implemented PDFKit delegate method that's called after a Print action in the PDF content
11734
117352008-09-12  Dan Bernstein  <mitz@apple.com>
11736
11737        Reviewed by John Sullivan.
11738
11739        - fix a crash in -visibleRect when it is called during WebFrameView deallocation
11740
11741        * WebView/WebFrameView.mm:
11742        (-[WebFrameView visibleRect]): Added an early return if _private is 0.
11743
117442008-09-11  Dan Bernstein  <mitz@apple.com>
11745
11746        Reviewed by John Sullivan.
11747
11748        - eliminate excessive repainting when a clipped iframe is moved (noticed in <rdar://problem/6204032>)
11749
11750        * WebView/WebFrame.mm:
11751        (-[WebFrame _getVisibleRect:]): Added. If the frame is in a RenderPart
11752        and has layout, gets the visible rect of the RenderPart and returns
11753        YES. Returns NO otherwise.
11754        * WebView/WebFrameInternal.h:
11755        * WebView/WebFrameView.mm:
11756        (-[WebFrameView visibleRect]): Added. Overrides this NSView method to
11757        take clipping in the render tree into account.
11758
117592008-09-09  Dan Bernstein  <mitz@apple.com>
11760
11761        - Tiger build fix
11762
11763        * WebCoreSupport/WebSystemInterface.m:
11764        (InitWebCoreSystemInterface):
11765
117662008-09-09  Dan Bernstein  <mitz@apple.com>
11767
11768        Reviewed by Darin Adler.
11769
11770        - WebKit part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
11771
11772        * WebCoreSupport/WebSystemInterface.m:
11773        (InitWebCoreSystemInterface):
11774
117752008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
11776
11777        Reviewed by Maciej Stachowiak.
11778
11779        Bug 20704: Replace the KJS namespace
11780        <https://bugs.webkit.org/show_bug.cgi?id=20704>
11781
11782        Rename the KJS namespace to JSC.
11783
11784        * Misc/WebCoreStatistics.mm:
11785        * Plugins/WebBaseNetscapePluginStream.mm:
11786        (-[WebBaseNetscapePluginStream wantsAllStreams]):
11787        * Plugins/WebBaseNetscapePluginView.mm:
11788        (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
11789        (-[WebBaseNetscapePluginView setWindowIfNecessary]):
11790        (-[WebBaseNetscapePluginView start]):
11791        (-[WebBaseNetscapePluginView createPluginScriptableObject]):
11792        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
11793        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
11794        (-[WebBaseNetscapePluginView loadPluginRequest:]):
11795        (-[WebBaseNetscapePluginView _printedPluginBitmap]):
11796        * Plugins/WebPluginController.mm:
11797        (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
11798        (-[WebPluginController startAllPlugins]):
11799        (-[WebPluginController stopAllPlugins]):
11800        (-[WebPluginController addPlugin:]):
11801        (-[WebPluginController destroyPlugin:]):
11802        (-[WebPluginController destroyAllPlugins]):
11803        * WebView/WebFrame.mm:
11804        * WebView/WebScriptDebugDelegate.mm:
11805        * WebView/WebScriptDebugger.h:
11806        * WebView/WebScriptDebugger.mm:
11807        * WebView/WebView.mm:
11808        (-[WebViewPrivate init]):
11809
118102008-09-05  Timothy Hatcher  <timothy@apple.com>
11811
11812        Correct a typo in the setApplicationChromeModeEnabledEnabled:
11813        method name, remove the extra "Enabled".
11814
11815        * WebView/WebPreferences.mm:
11816        * WebView/WebPreferencesPrivate.h:
11817
118182008-09-04  Mark Rowe  <mrowe@apple.com>
11819
11820        Reviewed by Eric Seidel.
11821
11822        Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
11823        Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
11824
11825        * Configurations/WebKit.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
11826
118272008-09-03  Eric Seidel  <eric@webkit.org>
11828
11829        Reviewed by Sam.
11830
11831        Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
11832
11833        * Configurations/WebKit.xcconfig:
11834        * WebKitPrefix.h: add rules for V8_BINDINGS
11835
118362008-09-01  Adam Barth  <abarth@webkit.org>
11837
11838        Reviewed by Sam Weinig.
11839
11840        https://bugs.webkit.org/show_bug.cgi?id=19760
11841
11842        Add a linked-on-or-after check to prevent substitute data from loading
11843        local resources on newer users of WebKit.
11844
11845        * Misc/WebKitVersionChecks.h:
11846        * WebView/WebView.mm:
11847        (-[WebView _commonInitializationWithFrameName:groupName:]):
11848
118492008-08-29  Brady Eidson  <beidson@apple.com>
11850
11851        Reviewed by Anders
11852
11853        Fix regression I introducted in 35946
11854        Already covered by media/video-click-dlbclick-standalone.html
11855
11856        * WebView/WebHTMLRepresentation.mm:
11857        (-[WebHTMLRepresentation receivedData:withDataSource:]): Cancel the load here after
11858          calling [WebFrame _receivedData:] which more closely follows the path taken by PluginDocuments
11859
118602008-08-28  Kevin McCullough  <kmccullough@apple.com>
11861
11862        Reviewed by Geoff.
11863
11864        <rdar://problem/6095949> REGRESSION (5525.8-6527.1?): "this" is null
11865        when you first hit a breakpoint in Dashcode
11866        - We wanted to reset the callframe whenever eval() was called but
11867        dashcode uses eval() when broken to evaluate the state of the current
11868        call frame.
11869
11870        * WebView/WebScriptDebugger.mm:
11871        (WebScriptDebugger::willExecuteProgram):
11872        (WebScriptDebugger::didExecuteProgram):
11873
118742008-08-27  Robert Kroeger  <rjkroege@liqui.org>
11875
11876        Tweaked by Sam Weinig.
11877
11878        Reviewed by Eric Seidel.
11879
11880        Fix https://bugs.webkit.org/show_bug.cgi?id=6595
11881        <rdar://problem/4432150>
11882        Right-click does not fire mouseup event
11883
11884        Adds a rightMouseUp handler to the WebHTMLView.
11885
11886        The added method generates mouseup events for button 2.  The result
11887        is that webkit will deliver mousedown and mouseup events for button
11888        2 in a fashion identical to FireFox and will retain event ordering
11889        identical to Internet Explorer.
11890
11891        Test: fast/events/mouseup-from-button2.html
11892
11893        * WebView/WebHTMLView.mm:
11894        (-[WebHTMLView rightMouseUp:]):
11895
118962008-08-27  Timothy Hatcher  <timothy@apple.com>
11897
11898        Add support for support for -webkit-appearance: default-button on the Mac platform.
11899
11900        <rdar://problem/6173530>
11901
11902        Reviewed by Dave Hyatt.
11903
11904        * WebCoreSupport/WebSystemInterface.m:
11905        (InitWebCoreSystemInterface): Init AdvanceDefaultButtonPulseAnimation.
11906        * WebView/WebPreferenceKeysPrivate.h: Added WebKitApplicationChromeModeEnabledPreferenceKey.
11907        * WebView/WebPreferences.mm:
11908        (+[WebPreferences initialize]): Set WebKitApplicationChromeModeEnabledPreferenceKey to NO.
11909        (-[WebPreferences applicationChromeModeEnabled]): Added.
11910        (-[WebPreferences setApplicationChromeModeEnabledEnabled:]): Added.
11911        * WebView/WebPreferencesPrivate.h:
11912        * WebView/WebView.mm:
11913        (-[WebView _preferencesChangedNotification:]): Call Settings::setApplicationChromeMode
11914        with the value of -[WebPreferences applicationChromeModeEnabled].
11915
119162008-08-27  Brady Eidson  <beidson@apple.com>
11917
11918        Reviewed by Anders
11919
11920        <rdar://problem/6134133> - Crash when loading large movie as a standalone document
11921
11922        * WebCoreSupport/WebFrameLoaderClient.h:
11923        * WebCoreSupport/WebFrameLoaderClient.mm:
11924        (WebFrameLoaderClient::pluginWillHandleLoadError):
11925
119262008-08-20  Dan Bernstein  <mitz@apple.com>
11927
11928        Rubber-stamped by John Sullivan.
11929
11930        - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen,
11931          rename related methods and variables accordingly, and make
11932          -setShouldUpdateWhileOffscreen: and -shouldUpdateWhileOffscreen
11933          WebView API.
11934
11935        * WebCoreSupport/WebFrameLoaderClient.mm:
11936        (WebFrameLoaderClient::transitionToCommittedForNewPage):
11937        * WebView/WebFrame.mm:
11938        (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
11939        * WebView/WebFrameInternal.h:
11940        * WebView/WebHTMLView.mm:
11941        (-[WebHTMLView windowWillOrderOnScreen:]):
11942        * WebView/WebView.h:
11943        * WebView/WebView.mm:
11944        (-[WebViewPrivate init]):
11945        (-[WebView setBackgroundColor:]):
11946        (-[WebView setDrawsBackground:]):
11947        (-[WebView setShouldUpdateWhileOffscreen:]):
11948        (-[WebView shouldUpdateWhileOffscreen]):
11949        * WebView/WebViewPrivate.h:
11950
119512008-08-18  Mark Rowe  <mrowe@apple.com>
11952
11953        Reviewed by Darin Adler.
11954
11955        Switch to non-deprecated NSFileManager API.
11956
11957        In order to minimize #if's the new NSFileManager APIs have been implemented for
11958        Tiger and call sites updated to use the new methods.
11959
11960        * Misc/WebIconDatabase.mm:
11961        (importToWebCoreFormat):
11962        * Misc/WebKitNSStringExtras.m:
11963        (-[NSString _webkit_fixedCarbonPOSIXPath]):
11964        * Misc/WebKitSystemBits.m:
11965        * Misc/WebNSFileManagerExtras.h:
11966        * Misc/WebNSFileManagerExtras.m: Remove implementations of methods that are not used.
11967        (-[NSFileManager _webkit_backgroundRemoveFileAtPath:]):
11968        (-[NSFileManager attributesOfFileSystemForPath:error:]): Implement new API for Tiger in terms of Tiger API.
11969        (-[NSFileManager contentsOfDirectoryAtPath:error:]): Ditto.
11970        (-[NSFileManager moveItemAtPath:toPath:error:]): Ditto.
11971        (-[NSFileManager removeItemAtPath:error:]): Ditto.
11972        * Plugins/WebPluginDatabase.mm:
11973        (-[WebPluginDatabase _scanForNewPlugins]):
11974
119752008-08-20  Josh Aas  <joshmoz@gmail.com>
11976
11977        Reviewed and landed by Anders.
11978
11979        <rdar://problem/6163636>
11980        rename NPCocoaEvent's "event" struct to "data" (20446)
11981
11982        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
11983        (WebNetscapePluginEventHandlerCocoa::drawRect):
11984        (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
11985        (WebNetscapePluginEventHandlerCocoa::flagsChanged):
11986        (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
11987        (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
11988        (WebNetscapePluginEventHandlerCocoa::focusChanged):
11989
119902008-08-20  Beth Dakin  <bdakin@apple.com>
11991
11992        Reviewed by Darin Adler.
11993
11994        Fix for <rdar://problem/6145626>
11995        Allows a WebKit client to mark a frame as not-text-searchable
11996        through SPI.
11997
11998        * WebView/WebFrame.mm:
11999        (-[WebFrame _setExcludeFromTextSearch:]):
12000        * WebView/WebFramePrivate.h:
12001
120022008-08-19  Alexey Proskuryakov  <ap@webkit.org>
12003
12004        Reviewed by Geoff Garen.
12005
12006        Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
12007
12008        * ForwardingHeaders/runtime/JSLock.h: Added.
12009        * Misc/WebCoreStatistics.mm:
12010        (+[WebCoreStatistics javaScriptObjectsCount]):
12011        (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
12012        (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
12013        (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
12014        (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
12015        (+[WebCoreStatistics shouldPrintExceptions]):
12016        (+[WebCoreStatistics setShouldPrintExceptions:]):
12017        (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
12018        * Plugins/WebBaseNetscapePluginStream.mm:
12019        (-[WebBaseNetscapePluginStream wantsAllStreams]):
12020        * Plugins/WebBaseNetscapePluginView.mm:
12021        (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
12022        (-[WebBaseNetscapePluginView setWindowIfNecessary]):
12023        (-[WebBaseNetscapePluginView start]):
12024        (-[WebBaseNetscapePluginView createPluginScriptableObject]):
12025        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
12026        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
12027        (-[WebBaseNetscapePluginView loadPluginRequest:]):
12028        (-[WebBaseNetscapePluginView _printedPluginBitmap]):
12029        * Plugins/WebPluginController.mm:
12030        (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
12031        (-[WebPluginController startAllPlugins]):
12032        (-[WebPluginController stopAllPlugins]):
12033        (-[WebPluginController addPlugin:]):
12034        (-[WebPluginController destroyPlugin:]):
12035        (-[WebPluginController destroyAllPlugins]):
12036        * WebView/WebFrame.mm:
12037        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
12038        * WebView/WebScriptDebugDelegate.mm:
12039        (-[WebScriptCallFrame evaluateWebScript:]):
12040        * WebView/WebView.mm:
12041        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
12042
120432008-08-19  Timothy Hatcher  <timothy@apple.com>
12044
12045        Fixes the Web Inspector flashing white while resizing after
12046        highlighting a page element. Calling disableScreenUpdatesUntilFlush
12047        when attaching and detaching the Inspector page highlight is bad,
12048        since the browser window might not flush again for a while. So screen
12049        updates could be disabled for long periods of time, causing backing store
12050        flashing while resizing. There is no need to call disableScreenUpdatesUntilFlush
12051        when attaching or detaching the child window.
12052
12053        Reviewed by John Sullivan and Kevin McCullough.
12054
12055        * WebInspector/WebNodeHighlight.m:
12056        (-[WebNodeHighlight attach]): Remove the call to disableScreenUpdatesUntilFlush.
12057        (-[WebNodeHighlight detach]): Ditto.
12058
120592008-08-19  Timothy Hatcher  <timothy@apple.com>
12060
12061        Correctly remembers the attached state of the Web Inspector so
12062        it opens in that state for the next window, or next launch.
12063
12064        Reviewed by Kevin McCullough.
12065
12066        * WebCoreSupport/WebInspectorClient.mm:
12067        (-[WebInspectorWindowController attach]): Set WebKitInspectorAttachedKey
12068        to YES in the user defaults.
12069        (-[WebInspectorWindowController detach]): Set WebKitInspectorAttachedKey
12070        to NO in the user defaults.
12071
120722008-08-18  Alexey Proskuryakov  <ap@webkit.org>
12073
12074        Reviewed by Dan Bernstein.
12075
12076        https://bugs.webkit.org/show_bug.cgi?id=19347
12077        <rdar://problem/5977562> Input methods do not work after switching to a password field
12078        and back.
12079
12080        Fix <rdar://problem/5522011> (The content of the password field of Safari is displayed by
12081        reconversion) in a different way which doesn't conflict with context caching performed
12082        by AppKit.
12083
12084        This original bug does not really occur in ToT or shipping Safari under Mac OS X 10.5.4,
12085        because input methods are disabled in password fields. Attempting to reconvert text typed
12086        with Romaji only yields a string of bullets. Still, it is probably better to match Cocoa
12087        password field behavior and disable reconversion completely.
12088
12089        * WebView/WebHTMLView.mm:
12090        (isInPasswordField): Factored out code to determine that the current selection is in
12091        a password field.
12092        (inputContext): Removed a hack that was breaking TSMGetActiveDocument().
12093        (-[WebHTMLView attributedSubstringFromRange:]): Check for password fields.
12094        (-[WebHTMLView textStorage]): Ditto.
12095
120962008-08-12  Darin Adler  <darin@apple.com>
12097
12098        Reviewed by Geoff.
12099
12100        - eliminate JSValue::type()
12101
12102        * WebView/WebView.mm:
12103        (aeDescFromJSValue): Rewrite to use the JSValue::is functions instead
12104        of a switch on JSValue::type().
12105
121062008-08-17  Geoffrey Garen  <ggaren@apple.com>
12107
12108        Reviewed by Cameron Zwarich.
12109
12110        Made room for a free word in JSCell.
12111
12112        (Updated for JavaScriptCore changes.)
12113
121142008-08-15  Mark Rowe  <mrowe@apple.com>
12115
12116        Rubber-stamped by Geoff Garen.
12117
12118        <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
12119
12120        * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
12121        between the Debug configuration and debug Production variant.
12122
121232008-08-14  Sam Weinig  <sam@webkit.org>
12124
12125        Reviewed by Geoffrey Garen and Timothy Hatcher.
12126
12127        Add WebView SPI to set HTMLTokenizer yielding parameters.
12128
12129        * WebView/WebView.mm:
12130        (-[WebView _setCustomHTMLTokenizerTimeDelay:]):
12131        (-[WebView _setCustomHTMLTokenizerChunkSize:]):
12132        * WebView/WebViewPrivate.h:
12133
121342008-08-13  Timothy Hatcher  <timothy@apple.com>
12135
12136        Fixes a bug where Safari's find banner would be permanently hidden
12137        when attaching or closing the Web Inspector while attached.
12138
12139        https://bugs.webkit.org/show_bug.cgi?id=20376
12140
12141        Reviewed by Kevin McCullough.
12142
12143        * WebCoreSupport/WebInspectorClient.mm:
12144        (-[WebInspectorWindowController close]):
12145        Carefully manipulate the WebFrameView's frame when closing to
12146        not assume the WebFrameView's frame fills the inspected WebView.
12147        (-[WebInspectorWindowController setAttachedWindowHeight:]):
12148        Carefully manipulate the WebFrameView's frame when docking to
12149        not assume the WebFrameView plus the Web Inspector WebViews fills
12150        the full inspected WebView.
12151
121522008-08-13  Stephanie Lewis  <slewis@apple.com>
12153
12154        fix 64bit build
12155
12156        * WebCoreSupport/WebInspectorClient.mm:
12157
121582008-08-13  Timothy Hatcher  <timothy@apple.com>
12159
12160        Remember the docked state of the Web Inspector, so it can be
12161        reopened docked if it was last docked.
12162
12163        https://bugs.webkit.org/show_bug.cgi?id=14271
12164
12165        Reviewed by Kevin McCullough.
12166
12167        * WebCoreSupport/WebInspectorClient.mm:
12168        (-[WebInspectorWindowController init]): Initialize _shouldAttach
12169        to the value stored in the user defaults. If there has never
12170        been a value stored, default to being attached.
12171        (-[WebInspectorWindowController showWindow:]): Pass the attached
12172        state to InspectorController::setWindowVisible.
12173
121742008-08-12  Timothy Hatcher  <timothy@apple.com>
12175
12176        Remove the Inspector's WebView for the view hierarchy when closed
12177        while attached. This prevents it from showing in the background
12178        while the page changes.
12179
12180        Reviewed by Kevin McCullough.
12181
12182        * WebCoreSupport/WebInspectorClient.mm:
12183        (-[WebInspectorWindowController close:]): Call removeFromSuperview
12184        on the Inspector's WebView if it isn't attached, so it will not
12185        be visible when navigating pages while closed.
12186
121872008-08-12  Timothy Hatcher  <timothy@apple.com>
12188
12189        Make the docked Web Inspector resizable.
12190
12191        https://bugs.webkit.org/show_bug.cgi?id=14282
12192
12193        Reviewed by Kevin McCullough.
12194
12195        * WebCoreSupport/WebInspectorClient.h:
12196        * WebCoreSupport/WebInspectorClient.mm:
12197        (WebInspectorClient::setAttachedWindowHeight): Call setAttachedWindowHeight:
12198        on the WebInspectorWindowController.
12199        (-[WebInspectorWindowController showWindow:]): Call setAttachedWindowHeight:.
12200        (-[WebInspectorWindowController setAttachedWindowHeight:]): Moved code
12201        from showWindow: and generalized to allow being called multiple times.
12202        Remembers the last height passed, which is used by showWindow: the next
12203        time the Inspector attaches.
12204
122052008-08-12  Timothy Hatcher  <timothy@apple.com>
12206
12207        Remove unneeded header imports from some Web Inspector files.
12208
12209        Reviewed by Adam Roben.
12210
12211        * WebCoreSupport/WebInspectorClient.mm:
12212        * WebInspector/WebInspector.mm:
12213        * WebInspector/WebNodeHighlightView.m:
12214
122152008-08-12  Timothy Hatcher  <timothy@apple.com>
12216
12217        Remove the call to WKNSWindowMakeBottomCornersSquare on the
12218        Web Inspector's window. This isn't needed anymore since the
12219        window style masks used always have square bottom corners.
12220
12221        Reviewed by Adam Roben.
12222
12223        * WebCoreSupport/WebInspectorClient.mm:
12224        (-[WebInspectorWindowController window]): Remove the call
12225        to WKNSWindowMakeBottomCornersSquare.
12226
122272008-08-12  Timothy Hatcher  <timothy@apple.com>
12228
12229        Make attaching and detaching the Web Inspector instantaneous.
12230        This also preserves the current view, other state, and keeps
12231        the script debugger attached.
12232
12233        https://bugs.webkit.org/show_bug.cgi?id=19301
12234
12235        Reviewed by Adam Roben.
12236
12237        * WebCoreSupport/WebInspectorClient.mm:
12238        (-[WebInspectorWindowController close]): Only call setWindowVisible(false)
12239        when not moving windows.
12240
122412008-08-12  Dan Bernstein  <mitz@apple.com>
12242
12243        Reviewed by John Sullivan.
12244
12245        - replace -[WebPreferences updatesWhenOffscreen] with -[WebView shouldUpdateWhileHidden]
12246
12247        * WebCoreSupport/WebFrameLoaderClient.mm:
12248        (WebFrameLoaderClient::transitionToCommittedForNewPage):
12249        * WebView/WebFrame.mm:
12250        (-[WebFrame _updateBackgroundAndUpdatesWhileHidden]):
12251        * WebView/WebFrameInternal.h:
12252        * WebView/WebHTMLView.mm:
12253        (-[WebHTMLView windowWillOrderOnScreen:]):
12254        * WebView/WebPreferenceKeysPrivate.h:
12255        * WebView/WebPreferences.mm:
12256        (+[WebPreferences initialize]):
12257        * WebView/WebPreferencesPrivate.h:
12258        * WebView/WebView.mm:
12259        (-[WebViewPrivate init]):
12260        (-[WebView _preferencesChangedNotification:]):
12261        (-[WebView setBackgroundColor:]):
12262        (-[WebView setDrawsBackground:]):
12263        (-[WebView shouldUpdateWhileHidden]):
12264        (-[WebView setShouldUpdateWhileHidden:]):
12265        * WebView/WebViewPrivate.h:
12266
122672008-08-08  Dan Bernstein  <mitz@apple.com>
12268
12269        Reviewed by John Sullivan.
12270
12271        - fix <rdar://problem/6130216> Exception "windowRegionBeingDrawn != nil" in NSView when caching image of a subframe
12272
12273        This change reintroduces <https://bugs.webkit.org/show_bug.cgi?id=5195> on Leopard.
12274
12275        * WebView/WebHTMLView.mm:
12276        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]): Removed an
12277        unsuccessful workaround for <rdar://problem/5668489>, because invoking
12278        layout may change the view hierarchy during the drawing operation,
12279        which is not supported on Leopard.
12280
122812008-08-08  Maxime Britto  <britto@apple.com>
12282
12283        Reviewed by Adele.
12284
12285        * WebView/WebFrame.mm:
12286        (-[WebFrame _scrollDOMRangeToVisible:]):
12287
122882008-08-08  Brady Eidson  <beidson@apple.com>
12289
12290        Reviewed by Sam Weinig
12291
12292        Fix for <rdar://problem/5865504>
12293
12294        This bug was actually *largely* fixed by http://trac.webkit.org/changeset/35538.
12295        But with that same patch, it became possible for a WebResource to fail to initialize.
12296        Therefore we were trying to add nil to an NSCFArray for certain situations, which is bad.
12297        Lets fix that, shall we?
12298
12299        * WebView/WebArchive.mm:
12300        (-[WebArchive subresources]):
12301
123022008-08-06  Eric Seidel  <eric@webkit.org>
12303
12304        Reviewed by Cameron Zwarich.
12305
12306        Move more methods from Frame into ScriptController
12307        https://bugs.webkit.org/show_bug.cgi?id=20294
12308
12309        The WebKit side of this move.  Calls to frame() are now frame()->script()
12310
12311        * Plugins/WebBaseNetscapePluginView.mm:
12312        (-[WebBaseNetscapePluginView getVariable:value:]):
12313        (-[WebBaseNetscapePluginView _destroyPlugin]):
12314        * Plugins/WebPluginController.mm:
12315        (-[WebPluginController destroyPlugin:]):
12316        (-[WebPluginController destroyAllPlugins]):
12317        * WebCoreSupport/WebFrameLoaderClient.mm:
12318        * WebView/WebFrame.mm:
12319        (-[WebFrame windowObject]):
12320        * WebView/WebScriptDebugger.mm:
12321        (WebScriptDebugger::callEvent):
12322        * WebView/WebView.mm:
12323        (-[WebView windowScriptObject]):
12324
123252008-08-06  Dan Bernstein  <mitz@apple.com>
12326
12327        Reviewed by Mark Rowe.
12328
12329        - fix an assertion failure in Cache::setCapacities()
12330
12331        * Misc/WebKitSystemBits.h: Changed the return type of WebMemorySize()
12332        to uint64_t.
12333        * Misc/WebKitSystemBits.m:
12334        (WebMemorySize):
12335        * WebView/WebView.mm:
12336        (+[WebView _setCacheModel:]):
12337
123382008-08-05  Anders Carlsson  <andersca@apple.com>
12339
12340        Pass in the correct class here.
12341
12342        * WebView/WebResource.mm:
12343        (-[WebResourcePrivate dealloc]):
12344
123452008-08-05  Anders Carlsson  <andersca@apple.com>
12346
12347        Reviewed by Darin Adler.
12348
12349        <rdar://problem/6037398>
12350        ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
12351
12352        Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
12353
12354        * Carbon/CarbonWindowAdapter.m:
12355        (-[CarbonWindowAdapter dealloc]):
12356        * History/WebBackForwardList.mm:
12357        (-[WebBackForwardList dealloc]):
12358        * History/WebHistoryItem.mm:
12359        (-[WebHistoryItem dealloc]):
12360        * Misc/WebElementDictionary.mm:
12361        (+[WebElementDictionary initialize]):
12362        (-[WebElementDictionary dealloc]):
12363        * WebCoreSupport/WebEditorClient.mm:
12364        (-[WebEditCommand dealloc]):
12365        * WebCoreSupport/WebFrameLoaderClient.mm:
12366        * WebView/WebArchive.mm:
12367        (-[WebArchivePrivate dealloc]):
12368        * WebView/WebDataSource.mm:
12369        (-[WebDataSourcePrivate dealloc]):
12370        * WebView/WebHTMLView.mm:
12371        (-[WebHTMLViewPrivate dealloc]):
12372        (-[WebHTMLView dealloc]):
12373        * WebView/WebResource.mm:
12374        (-[WebResourcePrivate dealloc]):
12375
123762008-08-05  Anders Carlsson  <andersca@apple.com>
12377
12378        Reviewed by Darin Adler.
12379
12380        Remove MainThreadObjectDeallocator.{h|mm}.
12381
12382        * WebView/MainThreadObjectDeallocator.h: Removed.
12383        * WebView/MainThreadObjectDeallocator.mm: Removed.
12384
12385        * WebView/WebView.mm:
12386        (-[WebView dealloc]):
12387        Call WebCoreObjCScheduleDeallocateOnMainThread instead.
12388
123892008-08-05  Anders Carlsson  <andersca@apple.com>
12390
12391        Reviewed by Darin Adler.
12392
12393        Make the main thread object deallocator work with subclasses.
12394
12395        * WebView/MainThreadObjectDeallocator.h:
12396        * WebView/MainThreadObjectDeallocator.mm:
12397        (deallocCallback):
12398        Call the correct dealloc method.
12399
12400        (scheduleDeallocateOnMainThread):
12401        Store both the class and the instance, so we know which dealloc method to call.
12402
12403        * WebView/WebView.mm:
12404        (-[WebViewPrivate dealloc]):
12405        Schedule deallocation on the main thread.
12406
124072008-08-05  Dan Bernstein  <mitz@apple.com>
12408
12409        Reviewed by Mark Rowe and Anders Carlsson.
12410
12411        - fix WebMemorySize() reporting a value capped at 2GB
12412
12413        * misc/WebKitSystemBits.m:
12414        (WebMemorySize): Changed to return the max_mem field, which, unlike
12415        memory_size, is not capped at 2GB.
12416        * WebView/WebView.mm:
12417        (+[WebView _setCacheModel:]): Made the cache sizes for over 2GB RAM the
12418        same as for 2GB, so that behavior on machines that have more than 2GB
12419        RAM is not affected by the fix to WebMemorySize().
12420
124212008-08-04  Mark Rowe  <mrowe@apple.com>
12422
12423        Build fix.
12424
12425        * WebView/WebHTMLView.mm:
12426
124272008-08-04  Mark Rowe  <mrowe@apple.com>
12428
12429        Reviewed by Kevin Decker.
12430
12431        Adopt the formal protocols where necessary.
12432        Final part of fix for <rdar://problem/5853147>.
12433
12434        * WebCoreSupport/WebInspectorClient.mm:
12435        * WebView/WebHTMLView.mm:
12436        * WebView/WebView.mm:
12437        (-[WebView _openFrameInNewWindowFromMenu:]):
12438
124392008-08-04  Mark Rowe  <mrowe@apple.com>
12440
12441        Reviewed by Darin Adler.
12442
12443        Declare empty protocols when using versions of AppKit that do not use formal protocols for delegates and data sources.
12444        Part one of fix for <rdar://problem/5853147>.
12445
12446        * Misc/EmptyProtocolDefinitions.h:
12447        * WebKitPrefix.h:
12448
124492008-08-04  Brady Eidson  <beidson@apple.com>
12450
12451        Reviewed by Mitz Pettel
12452
12453        Fix <rdar://problem/5820157> - Saving WebArchives of Mail attachments broken.
12454
12455        This broke in r31355 when we stopped returning nil WebResources when there was nil
12456        resource data.
12457
12458        * WebView/WebResource.mm:
12459        (-[WebResource _initWithCoreResource:]): Restore previous behavior of returning nil
12460          when the resource data is null.
12461
124622008-08-02  Matt Lilek  <webkit@mattlilek.com>
12463
12464        Reviewed by Tim Hatcher.
12465
12466        Update the window gradient offset to match the inspector toolbar's new height.
12467
12468        * WebCoreSupport/WebInspectorClient.mm:
12469        (-[WebInspectorWindowController window]):
12470
124712008-08-01  Anders Carlsson  <andersca@apple.com>
12472
12473        Reviewed by Jon.
12474
12475        <rdar://problem/6120206>
12476        Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
12477
12478        Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
12479
12480        * Plugins/WebBaseNetscapePluginStream.mm:
12481        (-[WebBaseNetscapePluginStream wantsAllStreams]):
12482
124832008-07-31  Anders Carlsson  <andersca@apple.com>
12484
12485        Reviewed by Darin Adler.
12486
12487        <rdar://problem/5949410>
12488        Add the ability to transfer a given application cache to a new database.
12489
12490        * Misc/WebKitNSStringExtras.h:
12491        * Misc/WebKitNSStringExtras.m:
12492        (+[NSString _webkit_applicationCacheDirectoryWithBundleIdentifier:]):
12493        New method which returns the appopriate cache directory for a given bundle identifier.
12494
12495        * WebView/WebDataSource.mm:
12496        (-[WebDataSource _transferApplicationCache:]):
12497        Transfer the application cache.
12498
12499        * WebView/WebDataSourcePrivate.h:
12500        * WebView/WebView.mm:
12501        (WebKitInitializeApplicationCachePathIfNecessary):
12502        Change this to use _webkit_applicationCacheDirectoryWithBundleIdentifier.
12503
125042008-07-31  John Sullivan  <sullivan@apple.com>
12505
12506        WebKit part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
12507
12508        Reviewed by Hyatt
12509
12510        * WebView/WebPreferenceKeysPrivate.h:
12511        added WebKitZoomsTextOnlyPreferenceKey
12512
12513        * WebView/WebPreferences.mm:
12514        (+[WebPreferences initialize]):
12515        default value of YES for WebKitZoomsTextOnlyPreferenceKey
12516        (-[WebPreferences zoomsTextOnly]):
12517        getter for WebKitZoomsTextOnlyPreferenceKey
12518        (-[WebPreferences setZoomsTextOnly:]):
12519        setter for WebKitZoomsTextOnlyPreferenceKey
12520
12521        * WebView/WebPreferencesPrivate.h:
12522        declare zoomsTextOnly/setZoomsTextOnly:
12523
12524        * WebView/WebView.mm:
12525        (-[WebView _preferencesChangedNotification:]):
12526        update WebCore::Settings value for zoomsTextOnly
12527
125282008-07-31  David D. Kilzer  <ddkilzer@webkit.org>
12529
12530        Fix layout test results for webarchive/test-xml-stylesheet.xml
12531
12532        Reviewed by Darin Adler.
12533
12534        Needed to expose -[WebHTMLRepresentation supportedNonImageMIMETypes]
12535        for DumpRenderTree.
12536
12537        * WebView/WebHTMLRepresentationInternal.h: Added.
12538
125392008-07-31  Alexey Proskuryakov  <ap@webkit.org>
12540
12541        Release build fix.
12542
12543        * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setWindowIfNecessary]):
12544        Don't define to npErr in release builds, as it is only used for logging.
12545
125462008-07-31  John Sullivan  <sullivan@apple.com>
12547
12548        Fixed <https://bugs.webkit.org/show_bug.cgi?id=5195>
12549        drawing with cacheDisplayInRect:toBitmapImageRep: doesn't trigger layout on Leopard
12550
12551        Reviewed by Dan
12552
12553        * WebView/WebHTMLView.mm:
12554        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
12555        include Leopard in the #ifdef that forces a layout if needed
12556
125572008-07-30  Brady Eidson  <beidson@apple.com>
12558
12559        Reviewed by Adam and Hyatt
12560
12561        Fix for <rdar://problem/6099748>
12562
12563        * WebView/WebView.mm:
12564        (-[WebView _preferencesChangedNotification:]): Set the "don't enforce CSS mime type in strict mode"
12565          quirk when running under iWeb 2
12566
125672008-07-31  Alexey Proskuryakov  <ap@webkit.org>
12568
12569        Rubber-stamped by Maciej.
12570
12571        Eliminate JSLock (it was already disabled, removing the stub implementaion and all
12572        call sites now).
12573
12574        * ForwardingHeaders/runtime/JSLock.h: Removed.
12575        * Misc/WebCoreStatistics.mm:
12576        (+[WebCoreStatistics javaScriptObjectsCount]):
12577        (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
12578        (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
12579        (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
12580        (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
12581        (+[WebCoreStatistics shouldPrintExceptions]):
12582        (+[WebCoreStatistics setShouldPrintExceptions:]):
12583        (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
12584        * Plugins/WebBaseNetscapePluginStream.mm:
12585        (-[WebBaseNetscapePluginStream wantsAllStreams]):
12586        * Plugins/WebBaseNetscapePluginView.mm:
12587        (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
12588        (-[WebBaseNetscapePluginView setWindowIfNecessary]):
12589        (-[WebBaseNetscapePluginView start]):
12590        (-[WebBaseNetscapePluginView createPluginScriptableObject]):
12591        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
12592        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
12593        (-[WebBaseNetscapePluginView loadPluginRequest:]):
12594        (-[WebBaseNetscapePluginView _printedPluginBitmap]):
12595        * Plugins/WebPluginController.mm:
12596        (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
12597        (-[WebPluginController startAllPlugins]):
12598        (-[WebPluginController stopAllPlugins]):
12599        (-[WebPluginController addPlugin:]):
12600        (-[WebPluginController destroyPlugin:]):
12601        (-[WebPluginController destroyAllPlugins]):
12602        * WebView/WebFrame.mm:
12603        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
12604        * WebView/WebScriptDebugDelegate.mm:
12605        (-[WebScriptCallFrame evaluateWebScript:]):
12606        * WebView/WebView.mm:
12607        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
12608
126092008-07-30  Beth Dakin  <bdakin@apple.com>
12610
12611        Reviewed by Anders Carlsson.
12612
12613        Fixes <rdar://problem/6041390>
12614
12615        Adds the ability to have a frame that is "disconnected" from the
12616        main frame from the perspective of top and parent in
12617        Javascript.
12618
12619        * WebView/WebFrame.mm:
12620        (-[WebFrame _setIsDisconnectedFrame]):
12621        * WebView/WebFramePrivate.h:
12622
126232008-07-29  Mark Rowe  <mrowe@apple.com>
12624
12625        Tweak to the build fix to keep Dan happy.
12626
12627        * Plugins/WebBaseNetscapePluginView.mm:
12628        * WebView/WebHTMLView.mm:
12629
126302008-07-29  Mark Rowe  <mrowe@apple.com>
12631
12632        Build fix.
12633
12634        * Plugins/WebBaseNetscapePluginView.mm:
12635        (-[WebBaseNetscapePluginView inputContext]):
12636        * WebView/WebHTMLView.mm:
12637
126382008-07-28  Anders Carlsson  <andersca@apple.com>
12639
12640        Reviewed by Kevin Decker.
12641
12642        Based on a patch by Dimcho Balev.
12643
12644        https://bugs.webkit.org/show_bug.cgi?id=18676
12645        <rdar://problem/6106578>
12646        Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
12647
12648        * Plugins/WebBaseNetscapePluginStream.h:
12649        Add NPP_GetValue pointer.
12650
12651        * Plugins/WebBaseNetscapePluginStream.mm:
12652        (-[WebBaseNetscapePluginStream setPlugin:]):
12653        Initialize NPP_GetValue.
12654
12655        (-[WebBaseNetscapePluginStream wantsAllStreams]):
12656        Call NPP_GetValue.
12657
12658        * Plugins/WebPlugInStreamLoaderDelegate.h:
12659        * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h:
12660        * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm:
12661        (WebNetscapePlugInStreamLoaderClient::wantsAllStreams):
12662        Implement this and call down to the stream.
12663
126642008-07-28  Anders Carlsson  <andersca@apple.com>
12665
12666        Reviewed by Adam.
12667
12668        <rdar://problem/6105529>
12669        https://bugs.webkit.org/show_bug.cgi?id=19659
12670        Turning off plugins causes crash
12671
12672        When an active page has plug-ins, and plug-ins are disabled, they will be stopped and will
12673        end up in a state where they don't have an event handler. Because of this, we need to
12674        check that the plug-in has been started before calling the event handler.
12675
12676        * Plugins/WebBaseNetscapePluginView.mm:
12677        (-[WebBaseNetscapePluginView sendActivateEvent:]):
12678        (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
12679        (-[WebBaseNetscapePluginView setHasFocus:]):
12680        (-[WebBaseNetscapePluginView mouseDown:]):
12681        (-[WebBaseNetscapePluginView mouseUp:]):
12682        (-[WebBaseNetscapePluginView mouseEntered:]):
12683        (-[WebBaseNetscapePluginView mouseExited:]):
12684        (-[WebBaseNetscapePluginView handleMouseMoved:]):
12685        (-[WebBaseNetscapePluginView mouseDragged:]):
12686        (-[WebBaseNetscapePluginView scrollWheel:]):
12687        (-[WebBaseNetscapePluginView keyUp:]):
12688        (-[WebBaseNetscapePluginView keyDown:]):
12689        (-[WebBaseNetscapePluginView flagsChanged:]):
12690        (-[WebBaseNetscapePluginView cut:]):
12691        (-[WebBaseNetscapePluginView copy:]):
12692        (-[WebBaseNetscapePluginView paste:]):
12693        (-[WebBaseNetscapePluginView selectAll:]):
12694        (-[WebBaseNetscapePluginView drawRect:]):
12695        (-[WebBaseNetscapePluginView inputContext]):
12696
126972008-07-26  Daniel Jalkut  <jalkut@red-sweater.com>
12698
12699        Reviewed by Geoff Garen.
12700
12701        Changes to accommodate newly named/signatured loading methods in WebCore.
12702
12703        * Plugins/WebNetscapePluginStream.mm:
12704        (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
12705        * Plugins/WebPluginContainerCheck.mm:
12706        (-[WebPluginContainerCheck _isForbiddenFileLoad]):
12707        * WebView/WebPDFView.mm:
12708        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
12709
127102008-07-21  Mark Rowe  <mrowe@apple.com>
12711
12712        Reviewed by Sam Weinig.
12713
12714        <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
12715
12716        * Configurations/Version.xcconfig:
12717        * Info.plist:
12718
127192008-07-21  Anders Carlsson  <andersca@apple.com>
12720
12721        Reviewed by Geoff.
12722
12723        <rdar://problem/5820667>
12724        CrashTracer: [USER] 3759 crashes in Safari at FrameLoader::activeDocumentLoader const + 6 while canceling plug-in load
12725
12726        Don't allow URLs to be loaded in response to an NPP_DestroyStream that happens when tearing down the plug-in.
12727
12728        * Plugins/WebBaseNetscapePluginView.mm:
12729        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
12730
127312008-07-21  Mark Rowe  <mrowe@apple.com>
12732
12733        Reviewed by Adam Roben.
12734
12735        <rdar://problem/5624143> WebView printing doesn't work correctly in x86_64
12736
12737        Fix the return type of an NSView method that we override so that the correct data type is used in 64-bit.
12738        This prevents a garbage value being used for the scale factor that the NSView print machinery applies.
12739
12740        * WebView/WebHTMLView.mm:
12741
127422008-07-21  Mark Rowe  <mrowe@apple.com>
12743
12744        Reviewed by Adam Roben.
12745
12746        Fix CallDelegateReturningFloat for x86_64.  The x86_64 Objective-C runtime
12747        only uses objc_msgSend_fpret for long double return values.  For float return
12748        values the standard objc_msgSend is used, as on ppc and ppc64.
12749
12750        * WebView/WebView.mm: Use objc_msgSend_float_return as the name of our version of
12751        objc_msgSend with the correct return type.  We can no longer call it objc_msgSend_fpret
12752        as that method is defined by the Objective-C runtime for x86_64.
12753        (CallDelegateReturningFloat):
12754
127552008-07-14  Dan Bernstein  <mitz@apple.com>
12756
12757        Reviewed by John Sullivan.
12758
12759        - WebKit part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
12760
12761        * Plugins/WebBaseNetscapePluginView.mm:
12762        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Changed
12763        to account for the case of being drawn into a bitmap context that is not
12764        a window's backing store. In that case, there are no valid "rects being
12765        drawn" to clip to.
12766        * WebView/WebHTMLView.mm:
12767        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
12768        Added an override of this NSView method which is used in for
12769        -cacheDisplayInRect:toBitmapImageRep:. Like two existing NSView drawing
12770        machinery overrides, it sets subviews aside before invoking the
12771        superclass implementation. On Tiger, it also updates the layout.
12772
127732008-07-14  Alexey Proskuryakov  <ap@webkit.org>
12774
12775        Reviewed by Geoff Garen.
12776
12777        Eliminate per-thread JavaScript global data instance support and make arbitrary
12778        global data/global object combinations possible.
12779
12780        * Misc/WebCoreStatistics.mm:
12781        (+[WebCoreStatistics javaScriptObjectsCount]):
12782        (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
12783        (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
12784        (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
12785        (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
12786        (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
12787        Ask WebCore for its instance of JSGlobalData, now that it is not in per-thread storage.
12788
127892008-07-11  Stephanie Lewis  <slewis@apple.com>
12790
12791        Reviewed by Darin Adler.
12792
12793        Disable WTF leak messages when using fast teardown.  Use full document teardown while running in debug.
12794
12795        * WebView/WebPreferences.m: Removed.
12796        * WebView/WebPreferences.mm: Copied from http:/svn.webkit.org/repository/webkit/trunk/WebKit/mac/WebView/WebPreferences.m.
12797        (+[WebPreferences initialize]): if running in Default enable full  document teardown
12798        (-[WebPreferences editableLinkBehavior]):
12799        (-[WebPreferences setFullDocumentTeardownEnabled:]):
12800        * WebView/WebView.mm:
12801        (-[WebView _close]): disable leak messages if using fast teardown
12802
128032008-07-10  Mark Rowe  <mrowe@apple.com>
12804
12805        Reviewed by Sam Weinig.
12806
12807        Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
12808
12809        * Configurations/WebKit.xcconfig:
12810
128112008-07-10  Mark Rowe  <mrowe@apple.com>
12812
12813        Reviewed by Sam Weinig.
12814
12815        Fix the Tiger build by omitting annotations from methods declared in categories when using old versions of GCC.
12816
12817        * Plugins/WebPlugin.h: Wrap annotations on methods declared in categories in the WEBKIT_CATEGORY_METHOD_ANNOTATION macro.
12818        * WebView/WebFrameLoadDelegate.h: Ditto.
12819        * WebView/WebUIDelegate.h: Ditto.
12820
128212008-07-10  Anders Carlsson  <andersca@apple.com>
12822
12823        Reviewed by Mark.
12824
12825        Add availability macros for the new WebPlugin methods.
12826
12827        * Plugins/WebPlugin.h:
12828        * Plugins/WebPluginViewFactory.h:
12829
128302008-07-09  Mark Rowe  <mrowe@apple.com>
12831
12832        Reviewed by Geoff Garen.
12833
12834        Don't warn about deprecated functions in production builds.
12835
12836        * Configurations/Base.xcconfig:
12837        * Configurations/DebugRelease.xcconfig:
12838
128392008-07-09  Brady Eidson  <beidson@apple.com>
12840
12841        Reviewed by Darin
12842
12843        <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
12844        has been installed in a frame tree.
12845
12846        The root of this problem was that calling init() on a new frame could end up calling arbitrary
12847        javascript that might end up removing the frame from the tree.  This opened up a small can of worms
12848        such as the frame not having yet been installed in its frame tree, and other assumed behavior while
12849        destroying the frame.
12850
12851        Note that each platforms WebKit API layer needs to make this new guarantee:
12852        "The new Frame must be installed in its FrameTree before newCoreFrame->init() is called"
12853        I am fixing Mac, and Windows and GTK already have this property.  Wx currently has subframes disabled
12854        but will need to add this guarantee when re-enabling, and Qt is currently vulnerable to this same bug.
12855
12856        Alternately, the way frames are created right now is roundabout and asinine, and this is a key
12857        architectural improvement we can make in the future so the individual platform clients are no longer
12858        vulnerable to this problem, which should really have been a WebCore issue.
12859
12860        * WebCoreSupport/WebFrameLoaderClient.mm:
12861        (WebFrameLoaderClient::createFrame):  Don't bother null checking the newCoreFrame - can't be NULL.
12862          Don't appendChild() the new frame here.
12863          Null-check the new frame's page before loading the URL into it, as it might already have been
12864          removed from the page.
12865
12866        * WebView/WebFrame.mm:
12867        (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):  If there is an ownerElement,
12868          go ahead and install the new frame in the frame tree *before* calling init() on it.
12869
128702008-07-09  Anders Carlsson  <andersca@apple.com>
12871
12872        Reviewed by Darin Adler.
12873
12874        Make some WebPlugin and WebPluginFactory SPI public.
12875
12876        * Plugins/WebPlugin.h:
12877        * Plugins/WebPluginPrivate.h:
12878        * Plugins/WebPluginViewFactory.h:
12879        * Plugins/WebPluginViewFactoryPrivate.h:
12880
128812008-07-08  Jon Honeycutt  <jhoneycutt@apple.com>
12882
12883        Reviewed by Anders.
12884
12885        Port r34988 to Mac: don't call NPP_DestroyStream if NPP_NewStream was
12886        unsuccessful.
12887
12888        * Plugins/WebBaseNetscapePluginStream.h: Added new member,
12889        newStreamSuccessful.
12890        * Plugins/WebBaseNetscapePluginStream.mm:
12891        (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): Initialize new member.
12892        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): If NPP_NewStream is successful, set
12893        newStreamSuccessful to YES.
12894        (-[WebBaseNetscapePluginStream _destroyStream]): Only call
12895        NPP_DestroyStream if newStreamSuccessful is true.
12896
128972008-07-08  Dan Bernstein  <mitz@apple.com>
12898
12899        Reviewed by John Sullivan.
12900
12901        - WebKit part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
12902
12903        * WebView/WebHTMLView.mm:
12904        (-[WebHTMLView addWindowObservers]): Added code to observe when the
12905        window goes onscreen.
12906        (-[WebHTMLView removeWindowObservers]): Added.
12907        (-[WebHTMLView windowWillOrderOnScreen:]): Added. If the view is set to
12908        not update when offscreen, calls -setNeedsDisplay: just before it comes
12909        onscreen.
12910        * WebView/WebPreferenceKeysPrivate.h: Added preference key.
12911        * WebView/WebPreferences.m:
12912        (+[WebPreferences initialize]): Made updates when offscreen on by
12913        default.
12914        (-[WebPreferences updatesWhenOffscreen]): Added.
12915        (-[WebPreferences setUpdatesWhenOffscreen:]): Added.
12916        * WebView/WebPreferencesPrivate.h:
12917        * WebView/WebView.mm:
12918        (-[WebView _preferencesChangedNotification:]): Added code to update the
12919        updatesWhenOffscreen setting in WebCore.
12920
129212008-07-07  Anders Carlsson  <andersca@apple.com>
12922
12923        Reviewed by Darin Adler.
12924
12925        Speculative fix for
12926        <rdar://problem/5839800>
12927        CrashTracer: [USER] 5802 crashes in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
12928
12929        Set _private->closed to YES before calling -[WebPluginController destroyAllPlugins].
12930
12931        My theory is that the plug-in destruction callbacks could end up rescheduling timers or re-adding notifications.
12932        This is usually protected by _private->closed, but in this case it might still be false.
12933
12934        * WebView/WebHTMLView.mm:
12935        (-[WebHTMLView close]):
12936
129372008-07-05  Mark Rowe  <mrowe@apple.com>
12938
12939        Reviewed by John Sullivan.
12940
12941        Remove WebSearchableTextView as it has been unused for some time now.
12942
12943        * Misc/WebSearchableTextView.h: Removed.
12944        * Misc/WebSearchableTextView.m: Removed.
12945
129462008-07-05  Mark Rowe  <mrowe@apple.com>
12947
12948        Reviewed by John Sullivan.
12949
12950        Don't leak the result of WKCopyCFLocalizationPreferredName when running under GC.
12951
12952        * Misc/WebNSUserDefaultsExtras.m:
12953        (-[NSString _webkit_HTTPStyleLanguageCode]):
12954
129552008-07-02  Alexey Proskuryakov  <ap@webkit.org>
12956
12957        Inspired and reviewed by Mark Rowe.
12958
12959        Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
12960
12961        * Carbon/HIViewAdapter.m:
12962        * DOM/WebDOMOperations.mm:
12963        * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
12964        * DefaultDelegates/WebDefaultPolicyDelegate.m:
12965        * History/WebBackForwardList.mm:
12966        * History/WebHistory.mm:
12967        * History/WebHistoryItem.mm:
12968        * History/WebHistoryItemInternal.h:
12969        * Misc/WebCoreStatistics.mm:
12970        * Misc/WebDownload.m:
12971        * Misc/WebGraphicsExtras.c:
12972        * Misc/WebKitLogging.h:
12973        * Misc/WebKitSystemBits.m:
12974        * Misc/WebLocalizableStrings.m:
12975        * Misc/WebNSArrayExtras.m:
12976        * Misc/WebNSDataExtras.m:
12977        * Misc/WebNSDictionaryExtras.m:
12978        * Misc/WebNSFileManagerExtras.m:
12979        * Misc/WebNSPasteboardExtras.mm:
12980        * Misc/WebNSURLExtras.mm:
12981        * Misc/WebNSUserDefaultsExtras.m:
12982        * Panels/WebAuthenticationPanel.m:
12983        * Panels/WebPanelAuthenticationHandler.m:
12984        * Plugins/WebBaseNetscapePluginView.mm:
12985        * Plugins/WebBasePluginPackage.m:
12986        * Plugins/WebNetscapePluginEmbeddedView.mm:
12987        * Plugins/WebPluginContainerCheck.mm:
12988        * Plugins/WebPluginController.mm:
12989        * Plugins/WebPluginDatabase.mm:
12990        * WebCoreSupport/WebJavaScriptTextInputPanel.m:
12991        * WebCoreSupport/WebKeyGenerator.m:
12992        * WebCoreSupport/WebViewFactory.mm:
12993        * WebKitPrefix.h:
12994        * WebView/WebHTMLRepresentation.mm:
12995        * WebView/WebPDFRepresentation.m:
12996        * WebView/WebPDFView.mm:
12997        * WebView/WebScriptDebugger.mm:
12998
129992008-07-01  Alexey Proskuryakov  <ap@webkit.org>
13000
13001        Reviewed by Darin Adler.
13002
13003        Disable JSLock for per-thread contexts.
13004
13005        * Misc/WebCoreStatistics.mm:
13006        (+[WebCoreStatistics javaScriptObjectsCount]):
13007        (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
13008        (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
13009        (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
13010        (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
13011        (+[WebCoreStatistics shouldPrintExceptions]):
13012        (+[WebCoreStatistics setShouldPrintExceptions:]):
13013        (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
13014        * Plugins/WebBaseNetscapePluginView.mm:
13015        (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
13016        (-[WebBaseNetscapePluginView setWindowIfNecessary]):
13017        (-[WebBaseNetscapePluginView start]):
13018        (-[WebBaseNetscapePluginView createPluginScriptableObject]):
13019        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
13020        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
13021        (-[WebBaseNetscapePluginView loadPluginRequest:]):
13022        (-[WebBaseNetscapePluginView _printedPluginBitmap]):
13023        * Plugins/WebPluginController.mm:
13024        (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
13025        (-[WebPluginController startAllPlugins]):
13026        (-[WebPluginController stopAllPlugins]):
13027        (-[WebPluginController addPlugin:]):
13028        (-[WebPluginController destroyPlugin:]):
13029        (-[WebPluginController destroyAllPlugins]):
13030        * WebView/WebFrame.mm:
13031        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
13032        * WebView/WebScriptDebugDelegate.mm:
13033        (-[WebScriptCallFrame evaluateWebScript:]):
13034        * WebView/WebView.mm:
13035        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
13036        Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebKit
13037        doesn't need locking. In the future, it may be possible to remove some of these if we
13038        establish that this won't make JSC assertions fail (and that we don't want to add such
13039        assertions either).
13040        Added includes that are now needed.
13041
130422008-07-01  Kevin McCullough  <kmccullough@apple.com>
13043
13044        Build fix.
13045
13046        * WebView/WebView.mm:
13047
130482008-07-01  Anders Carlsson  <andersca@apple.com>
13049
13050        Reviewed by Darin Adler.
13051
13052        Use the PluginMainThreadScheduler, and implement NPN_PluginThreadAsyncCall.
13053
13054        * Plugins/WebBaseNetscapePluginView.mm:
13055        (-[WebBaseNetscapePluginView _createPlugin]):
13056        Register the plug-in instance.
13057
13058        (-[WebBaseNetscapePluginView _destroyPlugin]):
13059        Unegister the plug-in instance.
13060
13061        * Plugins/WebNetscapePluginPackage.m:
13062        (-[WebNetscapePluginPackage load]):
13063        Set NPN_PluginThreadAsyncCall.
13064
13065        * Plugins/npapi.mm:
13066        (NPN_PluginThreadAsyncCall):
13067        Implement this.
13068
130692008-07-01  Dan Bernstein  <mitz@apple.com>
13070
13071        Reviewed by Darin Adler.
13072
13073        - WebKit part of moving the method to set the base writing direction from Frame to Editor
13074
13075        * WebView/WebHTMLView.mm:
13076        (-[WebHTMLView toggleBaseWritingDirection:]): Changed back to call the
13077        Editor method.
13078        (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
13079        (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
13080
130812008-07-01  Geoffrey Garen  <ggaren@apple.com>
13082
13083        Build fix: forgot to check in this file.
13084
13085        * WebView/WebScriptDebugger.mm:
13086        (WebScriptDebugger::WebScriptDebugger):
13087
130882008-06-30  Dan Bernstein  <mitz@apple.com>
13089
13090        Reviewed by Adele Peterson.
13091
13092        - WebKit/mac part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
13093
13094        * WebView/WebHTMLView.mm:
13095        (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
13096        WebCore::Frame::setSelectionBaseWritingDirection() instead of
13097        WebCore::Editor::setBaseWritingDirection().
13098        (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
13099        (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
13100
131012008-06-28  Darin Adler  <darin@apple.com>
13102
13103        - fix build
13104
13105        * WebView/WebView.mm:
13106        (aeDescFromJSValue): Use get instead of getItem, which no longer exists.
13107
131082008-06-26  Anders Carlsson  <andersca@apple.com>
13109
13110        Reviewed by Darin Adler.
13111
13112        Add a new MainThreadObjectDeallocator which can schedule dealloc calls on the main thread
13113        if necessary. Use this for the WebView class.
13114
13115        * WebView/MainThreadObjectDeallocator.h: Added.
13116        * WebView/MainThreadObjectDeallocator.mm: Added.
13117        (deallocCallback):
13118        (scheduleDeallocateOnMainThread):
13119        * WebView/WebView.mm:
13120        (-[WebViewPrivate dealloc]):
13121        (+[WebView initialize]):
13122
131232008-06-25  Anders Carlsson  <andersca@apple.com>
13124
13125        Reviewed by Mark.
13126
13127        <rdar://problem/5984270>
13128        REGRESSION (Tiger only) : Mail crashes because message load is being processed on a secondary thread
13129
13130        * WebView/WebView.mm:
13131        (tigerMailReleaseIMP):
13132        New method that makes sure that the final release happens on the main thread.
13133
13134        (-[WebView release]):
13135        New method that just calls [super release];
13136
13137        (+[WebView initialize]):
13138        When running under Tiger mail, replace the release method with tigerMailReleaseIMP.
13139
131402008-06-19  Alexey Proskuryakov  <ap@webkit.org>
13141
13142        Reviewed by Geoff.
13143
13144        Make Machine per-JSGlobalData.
13145
13146        * WebView/WebScriptDebugger.mm:
13147        (WebScriptDebugger::WebScriptDebugger):
13148
131492008-06-17  Alexey Proskuryakov  <ap@webkit.org>
13150
13151        Reviewed by Darin Adler.
13152
13153        Prepare JavaScript heap for being per-thread.
13154
13155        * Misc/WebCoreStatistics.mm:
13156        (+[WebCoreStatistics javaScriptObjectsCount]):
13157        (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
13158        (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
13159        (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
13160        (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
13161        (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
13162        Use JSGlobalData::threadInstance()->heap instead of static Collector calls.
13163
131642008-06-17  Darin Adler  <darin@apple.com>
13165
13166        Reviewed by Sam.
13167
13168        * WebView/WebHTMLView.mm:
13169        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Use create instead of new
13170        to create a CSSMutableStyleDeclaration.
13171
131722008-06-16  Mark Rowe  <mrowe@apple.com>
13173
13174        Reviewed by Darin Adler.
13175
13176        <rdar://problem/5951874> WebHTMLHighlighter mistakenly gained two new methods, causing compile warnings
13177
13178        _pauseNullEventsForAllNetscapePlugins and _resumeNullEventsForAllNetscapePlugins ended up being declared both in
13179        WebHTMLViewInternal.h and as members of the WebHTMLHighlighter protocol in WebHTMLViewPrivate.h.  They don't belong
13180        in the protocol, but they do need to be available outside of WebKit so they're being moved to the correct location
13181        in WebHTMLViewPrivate.h and removed from WebHTMLViewInternal.h.
13182
13183        * WebView/WebHTMLView.mm:
13184        (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
13185        (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
13186        * WebView/WebHTMLViewInternal.h:
13187        * WebView/WebHTMLViewPrivate.h:
13188
131892008-06-15  Darin Adler  <darin@apple.com>
13190
13191        - give Frame object functions shorter names: scriptProxy() -> script(),
13192          selectionController() -> selection(), animationController() -> animation()
13193
13194        * Plugins/WebPluginController.mm:
13195        (-[WebPluginController webPlugInContainerSelectionColor]):
13196        * WebView/WebFrame.mm:
13197        (-[WebFrame _attachScriptDebugger]):
13198        (-[WebFrame _hasSelection]):
13199        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
13200        (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
13201        (-[WebFrame _convertToNSRange:]):
13202        (-[WebFrame _convertToDOMRange:]):
13203        (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
13204        (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
13205        (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
13206        (-[WebFrame _selectedNSRange]):
13207        (-[WebFrame _selectNSRange:]):
13208        (-[WebFrame globalContext]):
13209        * WebView/WebHTMLView.mm:
13210        (-[WebHTMLView _selectedRange]):
13211        (-[WebHTMLView _hasSelection]):
13212        (-[WebHTMLView _hasSelectionOrInsertionPoint]):
13213        (-[WebHTMLView _hasInsertionPoint]):
13214        (-[WebHTMLView _isEditable]):
13215        (-[WebHTMLView _updateFocusedAndActiveState]):
13216        (-[WebHTMLView readSelectionFromPasteboard:]):
13217        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
13218        (-[WebHTMLView maintainsInactiveSelection]):
13219        (-[WebHTMLView paste:]):
13220        (isTextInput):
13221        (-[WebHTMLView inputContext]):
13222        (-[WebTextCompleteController doCompletion]):
13223        (-[WebHTMLView selectAll]):
13224        (-[WebHTMLView deselectAll]):
13225        (-[WebHTMLView selectedAttributedString]):
13226        * WebView/WebView.mm:
13227        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
13228        (-[WebView setSelectedDOMRange:affinity:]):
13229        (-[WebView selectedDOMRange]):
13230        (-[WebView selectionAffinity]):
13231
132322008-06-15  Darin Adler  <darin@apple.com>
13233
13234        - rename KJS::List to KJS::ArgList
13235
13236        * WebView/WebScriptDebugger.h:
13237
132382008-06-15  Darin Adler  <darin@apple.com>
13239
13240        - new names for more JavaScriptCore files
13241
13242        * WebView/WebView.mm:
13243
132442008-06-15  Darin Adler  <darin@apple.com>
13245
13246        - new names for a few key JavaScriptCore files
13247
13248        * ForwardingHeaders/kjs/JSFunction.h: Copied from WebKit/mac/ForwardingHeaders/kjs/function.h.
13249        * ForwardingHeaders/kjs/JSObject.h: Copied from WebKit/mac/ForwardingHeaders/kjs/object.h.
13250        * ForwardingHeaders/kjs/JSString.h: Copied from WebKit/mac/ForwardingHeaders/kjs/internal.h.
13251        * ForwardingHeaders/kjs/JSValue.h: Copied from WebKit/mac/ForwardingHeaders/kjs/value.h.
13252        * ForwardingHeaders/kjs/function.h: Removed.
13253        * ForwardingHeaders/kjs/internal.h: Removed.
13254        * ForwardingHeaders/kjs/object.h: Removed.
13255        * ForwardingHeaders/kjs/value.h: Removed.
13256        * WebView/WebScriptDebugDelegate.mm:
13257
132582008-06-15  Darin Adler  <darin@apple.com>
13259
13260        Rubber stamped by Sam.
13261
13262        - use JS prefix and simpler names for basic JavaScriptCore types,
13263          to complement JSValue and JSObject
13264
13265        * WebView/WebView.mm:
13266        (aeDescFromJSValue):
13267
132682008-06-14  Darin Adler  <darin@apple.com>
13269
13270        Rubber stamped by Sam.
13271
13272        - new names for kjs_binding.h and kjs_proxy.h
13273
13274        * WebView/WebFrame.mm:
13275        * WebView/WebScriptDebugDelegate.mm:
13276        * WebView/WebView.mm:
13277
132782008-06-14  Darin Adler  <darin@apple.com>
13279
13280        Rubber stamped by Sam.
13281
13282        - renamed HTMLGenericFormElement to HTMLFormControlElement
13283
13284        * WebView/WebHTMLRepresentation.mm:
13285        (-[WebHTMLRepresentation elementWithName:inForm:]):
13286        (-[WebHTMLRepresentation controlsInForm:]):
13287
132882008-06-14  Darin Adler  <darin@apple.com>
13289
13290        Reviewed by Sam.
13291
13292        - more of https://bugs.webkit.org/show_bug.cgi?id=17257
13293          start ref counts at 1 instead of 0 for speed
13294
13295        * WebCoreSupport/WebFrameLoaderClient.mm:
13296        (WebFrameLoaderClient::createDocumentLoader): Use create instead of new.
13297        (WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by
13298        a ref call inside the Frame constructor. The lifetime rules for Frame are now the
13299        conventional ones without a special case.
13300
13301        * WebView/WebDataSource.mm:
13302        (-[WebDataSource _initWithDocumentLoader:]): Changed argument to be a PassRefPtr, since
13303        this function takes ownership of the DocumentLoader.
13304        (-[WebDataSource initWithRequest:]): Use create instead of new.
13305        * WebView/WebDataSourceInternal.h: Changed _initWithDocumentLoader argument to be a
13306        PassRefPtr and also cleaned up the header a bit.
13307
13308        * WebView/WebDocumentLoaderMac.h:
13309        (WebDocumentLoaderMac::create): Added. Also made the constructor and a couple of virtual
13310        functions private.
13311
13312        * WebView/WebFrame.mm:
13313        (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Use create instead
13314        of new.
13315
133162008-06-14  Darin Adler  <darin@apple.com>
13317
13318        Reviewed by Sam.
13319
13320        - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
13321          start ref counts at 1 instead of 0 for speed
13322
13323        * WebView/WebFrame.mm:
13324        (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
13325        * WebView/WebPDFView.mm:
13326        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
13327
133282008-06-13  Darin Adler  <darin@apple.com>
13329
13330        Reviewed by John Sullivan.
13331
13332        - updated for addition of FormState argument to action policy functions
13333        - added WebActionFormKey
13334
13335        * WebCoreSupport/WebFrameLoaderClient.h:
13336        * WebCoreSupport/WebFrameLoaderClient.mm:
13337        (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
13338        (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
13339        (WebFrameLoaderClient::actionDictionary):
13340        * WebKit.exp:
13341        * WebView/WebPolicyDelegate.mm:
13342        * WebView/WebPolicyDelegatePrivate.h:
13343
133442008-06-12  John Sullivan  <sullivan@apple.com>
13345
13346        Reviewed by Dan and Darin
13347
13348        Clear up the confusion about _close (older private method) vs -close (newer public method).
13349
13350        * WebView/WebView.mm:
13351        (-[WebView _isClosed]):
13352        simplified style
13353        (-[WebView _close]):
13354        added a comment about how clients and subclasses should use -close instead
13355        (-[WebView dealloc]):
13356        call -close instead of _close, so subclasses that override the public method will have the intended behavior
13357        (-[WebView close]):
13358        added a comment
13359        (-[WebView _windowWillClose:]):
13360        call -close instead of _close, so subclasses that override the public method will have the intended behavior
13361
13362        * WebView/WebViewPrivate.h:
13363        added a comment about how clients and subclasses should use -close instead
13364
133652008-06-07  Darin Adler  <darin@apple.com>
13366
13367        Reviewed by Mitz.
13368
13369        - work on https://bugs.webkit.org/show_bug.cgi?id=17257
13370          start ref counts at 1 instead of 0 for speed
13371
13372        * History/WebHistoryItem.mm:
13373        (-[WebHistoryItem init]):
13374        (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
13375        (-[WebHistoryItem initWithURL:target:parent:title:]):
13376        (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
13377        * WebView/WebView.mm:
13378        (+[WebView _decodeData:]):
13379
133802008-06-03  Oliver Hunt  <oliver@apple.com>
13381
13382        Reviewed by Tim.
13383
13384        Bug 12983: Web Inspector break on the debugger keyword
13385        <https://bugs.webkit.org/show_bug.cgi?id=12983>
13386
13387        Add stubs to allow old webkit debugger interface to build.
13388
13389        * WebView/WebScriptDebugger.h:
13390        * WebView/WebScriptDebugger.mm:
13391
133922008-06-03  Anders Carlsson  <andersca@apple.com>
13393
13394        Reviewed by Darin Adler.
13395
13396        <rdar://problem/5980961>
13397
13398        In 64-bit Web Kit, converting between float and double, can cause rounding errors which in turn causes
13399        newBottom to be larger than oldBottom which is illegal.
13400
13401        * WebView/WebHTMLView.mm:
13402        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
13403
134042008-06-02  Anders Carlsson  <andersca@apple.com>
13405
13406        Reviewed by Mitz.
13407
13408        Speculative fix for <rdar://problem/5661112>
13409        CrashTracer: [USER] 49 crashes in DashboardClient at com.apple.WebCore: WebCore::RenderPart::setWidget + 62
13410
13411        Defer loads while calling NPP_New. Some plug-ins start a run-loop inside NPP_New and finished loads could cause
13412        layouts to be triggered.
13413
13414        * Plugins/WebBaseNetscapePluginView.mm:
13415        (-[WebBaseNetscapePluginView _createPlugin]):
13416
134172008-05-29  Justin Garcia  <justin.garcia@apple.com>
13418
13419        Reviewed by Darin Adler.
13420
13421        <rdar://problem/5949462> REGRESSION: Can't paste screen captures into Mail
13422
13423        AppKit started putting PNG instead of PICT onto the pasteboard for screen
13424        captures.  Added support for PNG with kUTTypePNG.  Tiger doesn't support
13425        setting and retrieving pasteboard types with UTIs, but we don't know of any
13426        applications on Tiger that put only PNG on the pasteboard.
13427
13428        * WebView/WebHTMLView.mm:
13429        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
13430        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
13431
134322008-05-29  Anders Carlsson  <andersca@apple.com>
13433
13434        Reviewed by Brady.
13435
13436        <rdar://problem/5970312>
13437        icon file specified for stand alone web app causes crash if the icon can't be found
13438
13439        Handle the case where iconData is null.
13440
13441        * Misc/WebIconFetcher.mm:
13442        (WebIconFetcherClient::finishedFetchingIcon):
13443
134442008-05-29  Anders Carlsson  <andersca@apple.com>
13445
13446        Reviewed by Mitz.
13447
13448        <rdar://problem/5971845>
13449        https://bugs.webkit.org/show_bug.cgi?id=19313
13450        Add version member to NPCocoaEvent
13451
13452        Initialize the version member to 0 for all events.
13453
13454        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
13455        (initializeEvent):
13456        (WebNetscapePluginEventHandlerCocoa::drawRect):
13457        (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
13458        (WebNetscapePluginEventHandlerCocoa::flagsChanged):
13459        (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
13460        (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
13461        (WebNetscapePluginEventHandlerCocoa::focusChanged):
13462
134632008-05-29  Dan Bernstein  <mitz@apple.com>
13464
13465        Reviewed by Jessica Kahn.
13466
13467        - fix <rdar://problem/5965013> Page 2 does not print correctly
13468
13469        When printing, _recursiveDisplayRectIfNeededIgnoringOpacity:... and
13470        _recursiveDisplayAllDirtyWithLockFocus:... can be invoked without
13471        -viewWillDraw being sent first, which could lead to painting without
13472        valid layout. The fix is to ensure up-to-date layout in those methods
13473        when printing.
13474
13475        * WebView/WebHTMLView.mm:
13476        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
13477        (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
13478
134792008-05-28  Anders Carlsson  <andersca@apple.com>
13480
13481        Reviewed by Jon.
13482
13483        Remove workaround, this is no longer a problem.
13484
13485        * WebView/WebView.mm:
13486        (-[WebView _removeObjectForIdentifier:]):
13487
134882008-05-27  Geoffrey Garen  <ggaren@apple.com>
13489
13490        Reviewed by Tim Hatcher.
13491
13492        Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
13493        REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
13494        clicking button in returnEvent-crash.html
13495
13496        Added implementations for willExecuteProgram and didExecuteProgram, which
13497        take care of making sure we're not hanging on to stale data.
13498
134992008-05-27  Timothy Hatcher  <timothy@apple.com>
13500
13501        Fixes a bug where unplugging the monitor from a video card and
13502        moving it to another video card would no longer show OpenGL plugins
13503        until you relaunched Safari.
13504
13505        <rdar://problem/5790983> Add AllowOfflineDisplays pixel format
13506        attribute to OpenGL contexts
13507
13508        Reviewed by Kevin Decker.
13509
13510        * Plugins/WebBaseNetscapePluginView.mm:
13511        (-[WebBaseNetscapePluginView _createWindowedAGLContext]): Added
13512        AGL_ALLOW_OFFLINE_RENDERERS for non-Tiger builds.
13513        (-[WebBaseNetscapePluginView _createWindowlessAGLContext]): Ditto.
13514
135152008-05-25  Mark Rowe  <mrowe@apple.com>
13516
13517        Reviewed by Darin Adler.
13518
13519        <rdar://problem/5840884> _recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
13520
13521        Follow-up for r33052.  _recursive_resumeNullEventsForAllNetscapePlugins and _recursive_pauseNullEventsForAllNetscapePlugins
13522        need to be declared in WebFramePrivate.h rather than WebFrameInternal.h so they can be used from outside of WebKit.
13523
13524        * WebView/WebFrame.mm:
13525        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
13526        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
13527        * WebView/WebFrameInternal.h:
13528        * WebView/WebFramePrivate.h:
13529
135302008-05-23  Timothy Hatcher  <timothy@apple.com>
13531
13532        Fix attaching and detaching the Web Inspector. This change removes
13533        the clunky animation that never looked right and was causing issues
13534        where the inspected WebView would get into a no useable state.
13535
13536        <rdar://problem/5958812> Attaching and Detaching the Web Inspector
13537        can cause the inspected WebVIew to be unusable
13538
13539        Reviewed by Adam Roben.
13540
13541        * WebCoreSupport/WebInspectorClient.mm:
13542        (-[WebInspectorWindowController close]): Removes animation code.
13543        Sets the frame directly and does a displayIfNeeded to prevent
13544        showing the Inspector in the page and in the Inspector window.
13545        (-[WebInspectorWindowController showWindow:]): Removes animation code.
13546        Sets the frame directly.
13547        (-[WebInspectorWindowController attach]): Simplified.
13548        (-[WebInspectorWindowController detach]): Ditto.
13549
135502008-05-22  Dan Bernstein  <mitz@apple.com>
13551
13552        Reviewed by Darin Adler.
13553
13554        - fix broken documentation of
13555          webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
13556
13557        * WebView/WebUIDelegate.h: Fixed method name in HeaderDoc for
13558        -webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
13559
135602008-05-22  Timothy Hatcher  <timothy@apple.com>
13561
13562        <rdar://problem/5956403> Update the Develop menu to match the new Inspector items
13563
13564        Reviewed by Adam Roben.
13565
13566        * WebCoreSupport/WebInspectorClient.mm:
13567        (-[WebInspectorWindowController showWebInspector:]):
13568        (-[WebInspectorWindowController showErrorConsole:]):
13569        (-[WebInspectorWindowController toggleDebuggingJavaScript:]):
13570        (-[WebInspectorWindowController toggleProfilingJavaScript:]):
13571        (-[WebInspectorWindowController validateUserInterfaceItem:]):
13572        * WebInspector/WebInspector.h:
13573        * WebInspector/WebInspector.mm:
13574        (-[WebInspector showConsole:]):
13575        (-[WebInspector showTimeline:]):
13576        (-[WebInspector isDebuggingJavaScript]):
13577        (-[WebInspector toggleDebuggingJavaScript:]):
13578        (-[WebInspector startDebuggingJavaScript:]):
13579        (-[WebInspector stopDebuggingJavaScript:]):
13580        (-[WebInspector isProfilingJavaScript]):
13581        (-[WebInspector toggleProfilingJavaScript:]):
13582        (-[WebInspector startProfilingJavaScript:]):
13583        (-[WebInspector stopProfilingJavaScript:]):
13584
135852008-05-22  Josh Aas  <joshmoz@gmail.com>
13586
13587        Reviewed by Anders.
13588
13589        <rdar://problem/5956429>
13590        https://bugs.webkit.org/show_bug.cgi?id=19192
13591        remove NPNVpluginEventModel, fix example plugin
13592
13593        * Plugins/WebBaseNetscapePluginView.mm:
13594        (-[WebBaseNetscapePluginView getVariable:value:]):
13595
135962008-05-21  Anders Carlsson  <andersca@apple.com>
13597
13598        Reviewed by Maciej.
13599
13600        Add WebIconFetcher.
13601
13602        * Misc/WebIconFetcher.h: Added.
13603        * Misc/WebIconFetcher.mm: Added.
13604        (WebIconFetcherClient::WebIconFetcherClient):
13605        (WebIconFetcherClient::finishedFetchingIcon):
13606        (WebIconFetcherClient::setFetcher):
13607        (-[WebIconFetcher init]):
13608        (-[WebIconFetcher dealloc]):
13609        (-[WebIconFetcher finalize]):
13610        (-[WebIconFetcher cancel]):
13611        (-[WebIconFetcher _initWithIconFetcher:client:]):
13612        (+[WebIconFetcher _fetchApplicationIconForFrame:target:selector:]):
13613        * Misc/WebIconFetcherInternal.h: Added.
13614        * WebView/WebFrame.mm:
13615        (-[WebFrame fetchApplicationIcon:selector:]):
13616        * WebView/WebFramePrivate.h:
13617
13618=== End merge of squirrelfish ===
13619
136202008-05-21  Geoffrey Garen  <ggaren@apple.com>
13621
13622        Reviewed by Tim Hatcher.
13623
13624        Updated for API changes from merging with trunk WebCore's new debugger.
13625
13626        * WebView/WebScriptDebugDelegate.mm:
13627        (-[WebScriptCallFrame evaluateWebScript:]): Explicitly check for an
13628        exception return, since the DebuggerCallFrame no longer automatically
13629        substitutes the exception for the return value.
13630
13631        * WebView/WebScriptDebugger.mm: Use the dynamic global object, not the
13632        lexical global object, since the debugger attaches based on dynamic
13633        global object.
13634
136352008-05-17  Geoffrey Garen  <ggaren@apple.com>
13636
13637        Reviewed by Oliver Hunt.
13638
13639        Re-enabled previously disabled debugging functionality.
13640
13641        There are two major changes from how the WebKit debugger used to work:
13642
13643        (1) All the interesting bits are implemented down in JavaScriptCore. The
13644        debugger just calls through to KJS::DebuggerCallFrame for everything.
13645
13646        (2) Instead of copyihng a pointer to an ExecState once, the debugger
13647        copies the DebuggerCallFrame passed to it in each callback. This is
13648        because the VM no longer maintains a fully transparent execution state
13649        to which you can hold a pointer, and the DebuggerCallFrames it vends
13650        are temporaries.
13651
13652        Also, we NULL out a WebScriptCallFrame's DebuggerCallFrame upon return
13653        from its function. This is safer than the old method, which was to
13654        hold a stale ExecState* and hope for the best.
13655
136562008-05-13  Geoffrey Garen  <ggaren@apple.com>
13657
13658        Reviewed by Oliver Hunt.
13659
13660        Updated for API changes in KJS::Debugger.
13661
13662        * WebView/WebFrame.mm:
13663        (-[WebFrame _attachScriptDebugger]): Changed the order of operations to
13664        fix an ASSERT that can happen when re-entering _attachScriptDebugger.
13665
136662008-05-13  Geoffrey Garen  <ggaren@apple.com>
13667
13668        Reviewed by Oliver Hunt.
13669
13670        Updated WebScriptDebugger API to accept a SourceProvider instead
13671        of a WebCore::String, to avoid copying.
13672
13673        (WebScriptDebugger::sourceParsed): Updated this function not to return
13674        a value.
13675
136762008-04-30  Geoffrey Garen  <ggaren@apple.com>
13677
13678        Build fix: #ifdef'd out some code that doesn't work anymore.
13679
136802008-04-30  Geoffrey Garen  <ggaren@apple.com>
13681
13682        Reviewed by Oliver Hunt.
13683
13684        #ifdef'd out some debugger code that doesn't work anymore.
13685
13686        * WebView/WebScriptDebugDelegate.mm:
13687        (-[WebScriptCallFrame scopeChain]):
13688
136892008-04-21  Geoffrey Garen  <ggaren@apple.com>
13690
13691        Build fix.
13692
13693        * ChangeLog:
13694        * WebView/WebScriptDebugDelegate.mm:
13695        (-[WebScriptCallFrame scopeChain]):
13696
136972008-03-30  Geoffrey Garen  <ggaren@apple.com>
13698
13699        Reviewed by Oliver Hunt.
13700
13701        Build fix.
13702
13703=== Start merge of squirrelfish ===
13704
137052008-05-21  Darin Adler  <darin@apple.com>
13706
13707        - fix build
13708
13709        * WebView/WebViewPrivate.h: Remove declaration of closeWithFastTeardown. We can add it back later
13710        if we want, but if we do, we should probably make some refinements like checking _private->closed
13711        and applicationIsTerminating.
13712
137132008-05-21  Darin Adler  <darin@apple.com>
13714
13715        Reviewed by Anders and Kevin Decker.
13716
13717        - fix <rdar://problem/5951130> REGRESSION: crash on quit after reopening windows from previous session
13718
13719        * WebView/WebView.mm:
13720        (-[WebViewPrivate dealloc]): Fix assertions to not complain when fast teardown is used.
13721        (-[WebView _closePluginDatabases]): Factored out some common code from both versions of close.
13722        (-[WebView _closeWithFastTeardown]): Added an underscore to this method's name, since it's internal.
13723        Streamlined the code a bit. Added a line of code to set _private->closed (this is the bug fix).
13724        (-[WebView _close]): Changed for new method name and to use _closePluginDatabases.
13725
137262008-05-19  Stephanie Lewis  <slewis@apple.com>
13727
13728        Reviewed by Darin Adler.
13729
13730        more fast teardown performance work
13731
13732        * Misc/WebDownload.m:
13733        (-[WebDownloadInternal downloadDidBegin:]):
13734        (-[WebDownloadInternal downloadDidFinish:]):
13735        (-[WebDownloadInternal download:didFailWithError:]):
13736        * WebCoreSupport/WebChromeClient.h:
13737        * WebCoreSupport/WebChromeClient.mm:
13738        (WebChromeClient::disableSuddenTermination):
13739        (WebChromeClient::enableSuddenTermination):
13740
137412008-05-18  Dan Bernstein  <mitz@apple.com>
13742
13743        Reviewed by Sam Weinig.
13744
13745        - fix <rdar://problem/5944596> IDNs are displayed as punycode in the authentication panel
13746
13747        * Panels/WebAuthenticationPanel.m:
13748        (-[WebAuthenticationPanel setUpForChallenge:]):
13749
137502008-05-16  Timothy Hatcher  <timothy@apple.com>
13751
13752        Removes WebScriptDebugServer files and related calls. This removes
13753        the hooks that Drosera uses for debugging. Now that the Web Inspector
13754        has a better debugger, we don't need these anymore.
13755
13756        Reviewed by Sam Weinig.
13757
13758        * DefaultDelegates/WebScriptDebugServer.h: Removed.
13759        * DefaultDelegates/WebScriptDebugServer.m: Removed.
13760        * DefaultDelegates/WebScriptDebugServerPrivate.h: Removed.
13761        * WebCoreSupport/WebFrameLoaderClient.mm:
13762        * WebKit.exp:
13763        * WebView/WebScriptDebugDelegate.mm:
13764        * WebView/WebScriptDebugger.mm:
13765        (WebScriptDebugger::sourceParsed):
13766        (WebScriptDebugger::callEvent):
13767        (WebScriptDebugger::atStatement):
13768        (WebScriptDebugger::returnEvent):
13769        (WebScriptDebugger::exception):
13770        * WebView/WebView.mm:
13771        (-[WebView _commonInitializationWithFrameName:groupName:]):
13772        * WebView/WebViewPrivate.h:
13773
137742008-05-16  Brady Eidson  <beidson@apple.com>
13775
13776        Reviewed by Anders
13777
13778        <rdar://problem/5942616> - Need to standardize LocalStorage persistence path
13779
13780        Took the opportunity to touch up another pref that needs the same standardization.
13781        That pref is currently not in use on Mac.
13782
13783        * WebView/WebPreferences.m:
13784        (-[WebPreferences _setFTPDirectoryTemplatePath:]):
13785        (-[WebPreferences _localStorageDatabasePath]):
13786        (-[WebPreferences _setLocalStorageDatabasePath:]):
13787        (-[WebPreferences _ftpDirectoryTemplatePath]):
13788
137892008-05-16  Chris Fleizach  <cfleizach@apple.com>
13790
13791        Reviewed by Alice Liu
13792
13793        <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)
13794
13795        * WebView/WebFrame.mm:
13796        (-[WebFrame _accessibilityTree]):
13797
137982008-05-15  Stephanie Lewis  <slewis@apple.com>
13799
13800        fix mac build
13801
13802        * WebView/WebView.mm:
13803        (-[WebView closeWithFastTeardown]):
13804
138052008-05-15  Stephanie Lewis  <slewis@apple.com>
13806
13807        Reviewed by Anders.
13808
13809        Turn on fast teardown.  I added a preference for using full teardown because
13810        the LEAKS output will be useless without a full teardown.
13811
13812        preference for fullteardown
13813        * WebView/WebPreferenceKeysPrivate.h:
13814        * WebView/WebPreferences.m:
13815        (-[WebPreferences setFullDocumentTeardownEnabled:]):
13816        (-[WebPreferences fullDocumentTeardownEnabled]):
13817        * WebView/WebPreferencesPrivate.h:
13818
13819        on application quit dispatch unload events and destroy plugins then exit
13820        * WebView/WebView.mm:
13821        (-[WebView closeWithFastTeardown]):
13822        (-[WebView _close]):
13823        * WebView/WebViewPrivate.h:
13824
138252008-05-15  Stephanie Lewis  <slewis@apple.com>
13826
13827        Reviewed by Anders.
13828
13829        get the pending frame unload count from WebCore
13830
13831        * WebView/WebFrame.mm:
13832        (-[WebFrame _pendingFrameUnloadEventCount]):
13833        * WebView/WebFramePrivate.h:
13834
138352008-05-15  John Sullivan  <sullivan@apple.com>
13836
13837        Reviewed by Kevin Decker
13838
13839        - fixed <rdar://problem/5940275> Inspector highlighting moves to bottom-left corner of
13840          screen when new tab appears
13841
13842        The highlight should go away entirely, but this simple patch just makes it not jump away.
13843        The issue with it not going away entirely is harder to fix and covered by <rdar://problem/5322306>
13844
13845        * WebInspector/WebNodeHighlight.m:
13846        (-[WebNodeHighlight _repositionHighlightWindow]):
13847        Bail out if target view isn't in a window
13848
138492008-05-15  Stephanie Lewis  <slewis@apple.com>
13850
13851        Reviewed by Anders.
13852
13853        Track views that contain plugin instances so that they can be destroyed at application
13854        quit without walking the entire document tree.
13855
13856        Add/Remove Netscape plugin views from instance list.  Start/stop are when netscape
13857        plugins are created and destroyed
13858        * Plugins/WebBaseNetscapePluginView.mm:
13859        (-[WebBaseNetscapePluginView start]):
13860        (-[WebBaseNetscapePluginView stop]):
13861
13862        Add/remove WebKit plugin views from instance list
13863        * Plugins/WebPluginController.mm:
13864        (-[WebPluginController addPlugin:]):
13865        (-[WebPluginController destroyPlugin:]):
13866        (-[WebPluginController destroyAllPlugins]):
13867
13868        Add a set of views with plugin instances to the WebPluginDatabase
13869        * Plugins/WebPluginDatabase.h:
13870        * Plugins/WebPluginDatabase.mm:
13871        (-[WebPluginDatabase init]):
13872        (-[WebPluginDatabase dealloc]):
13873        (-[WebPluginDatabase addPluginInstanceView:]):
13874        (-[WebPluginDatabase removePluginInstanceView:]):
13875        (-[WebPluginDatabase removePluginInstanceViewsFor:]):
13876        (-[WebPluginDatabase destroyAllPluginInstanceViews]):
13877
13878        Handle cases where plugin views are detached before the plugin is destroyed.
13879        * WebCoreSupport/WebFrameLoaderClient.mm:
13880        (WebFrameLoaderClient::detachedFromParent2):
13881        (WebFrameLoaderClient::transitionToCommittedFromCachedPage):
13882        (WebFrameLoaderClient::transitionToCommittedForNewPage):
13883
13884        Add plugin instances to the set in the WebPluginDatabase by way of the WebView
13885        * WebView/WebHTMLView.mm:
13886        (-[WebHTMLView _destroyAllWebPlugins]):
13887        * WebView/WebHTMLViewInternal.h:
13888        * WebView/WebView.mm:
13889        (-[WebView addPluginInstanceView:]):
13890        (-[WebView removePluginInstanceView:]):
13891        (-[WebView removePluginInstanceViewsFor:]):
13892        * WebView/WebViewInternal.h:
13893
138942008-05-15  Brady Eidson  <beidson@apple.com>
13895
13896        Reviewed by Tim Hatcher
13897
13898        Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path
13899        before setting the page group of the new page.
13900
13901        * WebView/WebView.mm:
13902        (-[WebView _commonInitializationWithFrameName:groupName:]): Set the LocalStorage path
13903          immediately after creating the page so it is in place for initializing the LocalStorageThread
13904
139052008-05-15  Timothy Hatcher  <timothy@apple.com>
13906
13907        Fixes the bug where the Web Inspector would flash white while resizing.
13908        This was cause by deferring the window creation.
13909
13910        <rdar://problem/5873549> REGRESSION: Inspector flickers horribly while resizing (17979)
13911
13912        Reviewed by Darin Adler.
13913
13914        * WebCoreSupport/WebInspectorClient.mm:
13915        (-[WebInspectorWindowController window]): Don't defer the window creation.
13916
139172008-05-15  Alexey Proskuryakov  <ap@webkit.org>
13918
13919        Tiger build fix.
13920
13921        * Misc/WebNSAttributedStringExtras.mm: Import WebTypesInternal.h for NSUInteger.
13922
139232008-05-15  Adele Peterson  <adele@apple.com>
13924
13925        Reviewed and landed by Alexey.
13926
13927        Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].
13928
13929        * Misc/WebNSAttributedStringExtras.mm:
13930        (+[NSAttributedString _web_attributedStringFromRange:]):
13931
139322008-05-14  Eric Seidel  <eric@webkit.org>
13933
13934        Reviewed by Oliver.
13935
13936        Add missing NULL check to match rest of file, this was found by the editing fuzzer.
13937
13938        * WebView/WebResource.mm:
13939        (-[WebResource data]):
13940
139412008-05-14  Alexey Proskuryakov  <ap@webkit.org>
13942
13943        Reviewed by Dan Bernstein.
13944
13945        NPP_ValidAttributesForMarkedText should return NSArray*, not NSArray.
13946
13947        * Plugins/nptextinput.h:
13948
139492008-05-13  Anders Carlsson  <andersca@apple.com>
13950
13951        Reviewed by Sam.
13952
13953        Don't empty the application cache in _setCacheModel, since it will be called during initialization.
13954        Instead, do it in [WebCache empty].
13955
13956        * Misc/WebCache.mm:
13957        (+[WebCache empty]):
13958        * WebView/WebView.mm:
13959        (+[WebView _setCacheModel:]):
13960
139612008-05-13  chris fleizach  <cfleizach@apple.com>
13962
13963        Reviewed by Beth Dakin
13964
13965        <rdar://problem/4780592> WebKit application has its window announced as HTML content
13966
13967        * WebCoreSupport/WebViewFactory.mm:
13968        (-[WebViewFactory AXWebAreaText]):
13969
139702008-05-13  Timothy Hatcher  <timothy@apple.com>
13971
13972        Fixes a crash seen in Xcode where CallUIDelegateReturningBoolean
13973        was referencing a nil WebView under validateUserInterfaceItem.
13974        The validateUserInterfaceItem methods was being called at a time
13975        when the WebHTMLView is being torndown.
13976
13977        <rdar://problem/5806229> A crash occurs at CallUIDelegateReturningBoolean()
13978        while mousing down on menu bar after Xcode News window is opened
13979
13980        Reviewed by Ada Chan.
13981
13982        * WebView/WebHTMLView.mm:
13983        (-[WebHTMLView validateUserInterfaceItem:]): NULL check the WebView and
13984        return NO when it is nil. Adds a comment.
13985        * WebView/WebPDFView.mm:
13986        (-[WebPDFView validateUserInterfaceItem:]): Ditto.
13987
139882008-05-13  Mark Rowe  <mrowe@apple.com>
13989
13990        Reviewed by John Sullivan.
13991
13992        <rdar://problem/5926425> HIWebViewCreateWithClass declared as API in HIWebView.h but never exported from WebKit.framework
13993
13994        * Carbon/HIWebView.h: Remove HIWebViewCreateWithClass.
13995        * Carbon/HIWebView.m: Ditto.
13996        (HIWebViewCreate):
13997        (HIWebViewConstructor):
13998
139992008-05-12  Dan Bernstein  <mitz@apple.com>
14000
14001        Reviewed by Ada Chan.
14002
14003        - WebKit/mac changes for https://bugs.webkit.org/show_bug.cgi?id=17097
14004          <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
14005
14006        Added font cache statistics and a function to purge inactive font data.
14007
14008        * Misc/WebCoreStatistics.h:
14009        * Misc/WebCoreStatistics.mm:
14010        (+[WebCoreStatistics cachedFontDataCount]):
14011        (+[WebCoreStatistics cachedFontDataInactiveCount]):
14012        (+[WebCoreStatistics purgeInactiveFontData]):
14013        (+[WebCoreStatistics glyphPageCount]):
14014
140152008-05-12  Mark Rowe  <mrowe@apple.com>
14016
14017        Reviewed by Tim Hatcher.
14018
14019        Decorate some deprecated delegate methods with the availability macros.
14020
14021        The compiler doesn't appear to warn if a delegate implements these methods, but using the availability
14022        macros is good for consistency and documentation.
14023
14024        * WebView/WebFrameLoadDelegate.h:
14025        * WebView/WebUIDelegate.h:
14026
140272008-05-12  Mark Rowe  <mrowe@apple.com>
14028
14029        Reviewed by Tim Hatcher.
14030
14031        <rdar://problem/5835604> Deprecate HIWebView
14032
14033        Use of HIWebView is deprecated in favor of embedding a WebView in a HICocoaView.
14034
14035        * Carbon/CarbonUtils.h: Include the availability macro header and decorate the functions appropriately.
14036        * Carbon/HIWebView.h: Ditto.
14037
140382008-05-12  Kevin Decker  <kdecker@apple.com>
14039
14040        Reviewed by Anders.
14041
14042        Fixed: <rdar://problem/5840884>_recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
14043
14044        Re-added these SPI methods because they are needed by some clients. They were accidentally removed
14045        in changeset <http://trac.webkit.org/changeset/31028>
14046
14047        * Plugins/WebBaseNetscapePluginView.h: Added stopTimers, restartTimers to the header.
14048        * WebView/WebFrame.mm:
14049        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): Re-addd.
14050        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): Ditto.
14051        * WebView/WebFrameInternal.h: Ditto.
14052        * WebView/WebHTMLView.mm: Ditto.
14053        (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): Ditto.
14054        (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): Ditto.
14055        * WebView/WebHTMLViewInternal.h: Ditto.
14056        * WebView/WebHTMLViewPrivate.h: Ditto.
14057
140582008-05-12  Anders Carlsson  <andersca@apple.com>
14059
14060        Reviewed by Alexey.
14061
14062        Empty the application cache when changing the cache model.
14063
14064        * WebView/WebView.mm:
14065        (+[WebView _setCacheModel:]):
14066
140672008-05-12  Anders Carlsson  <andersca@apple.com>
14068
14069        Reviewed by Oliver.
14070
14071        <rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins
14072
14073        * Plugins/WebBaseNetscapePluginView.h:
14074        * Plugins/WebBaseNetscapePluginView.mm:
14075        (-[WebBaseNetscapePluginView start]):
14076        Get the plug-in text input vtable pointer.
14077
14078        (-[WebBaseNetscapePluginView stop]):
14079        Set the plug-in text input vtable pointer to 0.
14080
14081        (-[WebBaseNetscapePluginView inputContext]):
14082        Return 0 for Carbon plug-ins since we don't want Cocoa to handle text input for them.
14083
14084        (-[WebBaseNetscapePluginView hasMarkedText]):
14085        (-[WebBaseNetscapePluginView insertText:]):
14086        (-[WebBaseNetscapePluginView markedRange]):
14087        (-[WebBaseNetscapePluginView selectedRange]):
14088        (-[WebBaseNetscapePluginView setMarkedText:selectedRange:]):
14089        (-[WebBaseNetscapePluginView unmarkText]):
14090        (-[WebBaseNetscapePluginView validAttributesForMarkedText]):
14091        (-[WebBaseNetscapePluginView attributedSubstringFromRange:]):
14092        (-[WebBaseNetscapePluginView characterIndexForPoint:]):
14093        (-[WebBaseNetscapePluginView doCommandBySelector:]):
14094        (-[WebBaseNetscapePluginView firstRectForCharacterRange:]):
14095        (-[WebBaseNetscapePluginView conversationIdentifier]):
14096        Implement NSTextInput and call into the plug-in text input vtable.
14097
14098        (browserTextInputFuncs):
14099        New method which returns the browser input vtable.
14100
14101        (-[WebBaseNetscapePluginView getVariable:value:]):
14102        Support getting the browser input vtable pointer.
14103
14104        * Plugins/WebNetscapePluginEventHandlerCocoa.h:
14105        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
14106        (WebNetscapePluginEventHandlerCocoa::keyDown):
14107        (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
14108        If the plug-in returns 0 when a NPCocoaEventKeyDown is passed to NPP_HandleEvent,
14109        it means that the event should be passed on to the input manager.
14110
14111        * Plugins/npapi.mm:
14112        (NPN_MarkedTextAbandoned):
14113        (NPN_MarkedTextSelectionChanged):
14114        Add implementations of browser input method methods.
14115
14116        * Plugins/nptextinput.h: Added.
14117        Add file with new text input API.
14118
141192008-05-12  Alexey Proskuryakov  <ap@webkit.org>
14120
14121        Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
14122        SquirrelFish merging.
14123
14124        * Misc/WebCoreStatistics.mm:
14125        (+[WebCoreStatistics javaScriptObjectsCount]):
14126        (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
14127        (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
14128        (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
14129        (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
14130        (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
14131        * WebView/WebScriptDebugDelegate.mm:
14132        (-[WebScriptCallFrame evaluateWebScript:]):
14133
141342008-05-07  Anders Carlsson  <andersca@apple.com>
14135
14136        Reviewed by Mitz.
14137
14138        REGRESSION (3.1.1-TOT): Arrow keys are sticky in Google Maps street view
14139        https://bugs.webkit.org/show_bug.cgi?id=18880
14140        <rdar://problem/5909513>
14141
14142        Stop suspending key up events before calling handleEvent.
14143
14144        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
14145        (WebNetscapePluginEventHandlerCarbon::sendEvent):
14146
141472008-05-06  Stephanie Lewis  <slewis@apple.com>
14148
14149        Reviewed by Andersca.
14150
14151        prepare for plugin fast teardown work - make WebPluginDatabase a objective C++ file.
14152
14153        * Plugins/WebPluginDatabase.m: Removed.
14154        * Plugins/WebPluginDatabase.mm: Copied from WebKit/mac/Plugins/WebPluginDatabase.m.
14155        * Plugins/npapi.m: Removed.
14156        * Plugins/npapi.mm: Copied from WebKit/mac/Plugins/npapi.m.
14157
141582008-05-06  Anders Carlsson  <andersca@apple.com>
14159
14160        Reviewed by Darin Adler.
14161
14162        Initialize numArchs to 0.
14163
14164        * Plugins/WebBasePluginPackage.m:
14165        (-[WebBasePluginPackage isNativeLibraryData:]):
14166
141672008-05-06  Anders Carlsson  <andersca@apple.com>
14168
14169        Reviewed by Darin Adler.
14170
14171        Add implementation of NPN_PopUpContextMenu.
14172
14173        * Plugins/WebBaseNetscapePluginView.mm:
14174        (-[WebBaseNetscapePluginView popUpContextMenu:]):
14175        * Plugins/WebBaseNetscapePluginViewPrivate.h:
14176        * Plugins/WebNetscapePluginPackage.m:
14177        (-[WebNetscapePluginPackage load]):
14178        * Plugins/npapi.m:
14179        (NPN_PopUpContextMenu):
14180
141812008-05-06  Anders Carlsson  <andersca@apple.com>
14182
14183        Fix typo (don't read random memory).
14184
14185        * Plugins/WebBasePluginPackage.m:
14186        (-[WebBasePluginPackage isNativeLibraryData:]):
14187
141882008-05-05  Anders Carlsson  <andersca@apple.com>
14189
14190        Reviewed by Darin Adler.
14191
14192        Change the isNativeLibraryData: method to handle universal binaries.
14193
14194        * Plugins/WebBasePluginPackage.m:
14195        (swapIntsInHeader):
14196        (-[WebBasePluginPackage isNativeLibraryData:]):
14197
141982008-05-06  Brady Eidson  <beidson@apple.com>
14199
14200        Reviewed by Darin Adler
14201
14202        Preparation for upcoming work making LocalStorage persistent.
14203
14204        When the application terminates, all LocalStorage areas must be sync'ed out to disk first.
14205
14206        * WebView/WebView.mm:
14207        (+[WebView _applicationWillTerminate]):  Close all LocalStorage areas before quitting.
14208
142092008-05-05  Sam Weinig  <sam@webkit.org>
14210
14211        Reviewed by Darin Adler.
14212
14213        Fix for <rdar://problem/5884383>
14214        Escape look-a-like characters from the the entire url.
14215
14216        * Misc/WebNSURLExtras.mm:
14217        (escapeUnsafeCharacters):
14218        (-[NSURL _web_userVisibleString]):
14219
142202008-05-05  Justin Garcia  <justin.garcia@apple.com>
14221
14222        Reviewed by Darin Adler.
14223
14224        <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
14225
14226        * WebView/WebView.mm:
14227        (-[WebView _updateSettingsFromPreferences:]): Disable Range mutation on changes to
14228        the document for Tiger and Leopard Mail.  There is code in Mail that does it, and
14229        the two interfere.
14230
142312008-05-05  Sam Weinig  <sam@webkit.org>
14232
14233        Reviewed by Tim Hatcher.
14234
14235        Make the Inspector's localizable strings file match the format used by Dashboard widgets.
14236
14237        * WebCoreSupport/WebInspectorClient.mm:
14238        (WebInspectorClient::localizedStringsURL):
14239
142402008-05-05  Anders Carlsson  <andersca@apple.com>
14241
14242        Reviewed by Jess.
14243
14244        Apparently preflighting can cause hangs for some reason. Revert this for now.
14245
14246        * Plugins/WebNetscapePluginPackage.m:
14247        (-[WebNetscapePluginPackage _initWithPath:]):
14248        * Plugins/WebPluginPackage.m:
14249        (-[WebPluginPackage initWithPath:]):
14250
142512008-05-05  Darin Adler  <darin@apple.com>
14252
14253        Reviewed by Mitz.
14254
14255        - https://bugs.webkit.org/show_bug.cgi?id=18789
14256          fix some shouldCloseWithWindow edge cases
14257
14258        * WebView/WebView.mm:
14259        (-[WebView viewWillMoveToWindow:]): Fix bug where we would stop observing the
14260        NSWindowWillCloseNotification if the view was moved out of the window but still
14261        had that window set as the host window. Also make sure this function doesn't do
14262        anything if the WebView is already closed.
14263        (-[WebView setHostWindow:]): Ditto.
14264
142652008-05-04  David Kilzer  <ddkilzer@apple.com>
14266
14267        Make parameters match for WebChromeClient::addMessageToConsole()
14268
14269        Reviewed by John.
14270
14271        * WebCoreSupport/WebChromeClient.h:
14272        (WebChromeClient::addMessageToConsole): Renamed sourceID parameter
14273        to sourceURL to match implementation in WebChromeClient.mm.
14274
142752008-05-02  Anders Carlsson  <andersca@apple.com>
14276
14277        Reviewed by Mark.
14278
14279        Various Cocoa event model and 64-bit plug-in fixes.
14280
14281        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
14282        (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
14283        Set click count.
14284
14285        (WebNetscapePluginEventHandlerCocoa::flagsChanged):
14286        (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
14287        Don't try to get the mouse location for keyboard events.
14288
14289        * Plugins/WebPluginPackage.m:
14290        (-[WebPluginPackage initWithPath:]):
14291        Preflight the bundle so we won't show 32-bit WebKit plug-ins when running as 64-bit.
14292
142932008-05-02  Anders Carlsson  <andersca@apple.com>
14294
14295        Reviewed by Sam.
14296
14297        The event union is now named.
14298
14299        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
14300        (WebNetscapePluginEventHandlerCocoa::drawRect):
14301        (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
14302        (WebNetscapePluginEventHandlerCocoa::flagsChanged):
14303        (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
14304        (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
14305        (WebNetscapePluginEventHandlerCocoa::focusChanged):
14306
143072008-05-02  Anders Carlsson  <andersca@apple.com>
14308
14309        Reviewed by Mark.
14310
14311        Make sure that 32-bit only plug-ins aren't shown when running as 64-bit.
14312
14313        Call preflightAndReturnError on the bundle, which will check if any of the architectures
14314        in the bundle match the current architecture.
14315
14316        * Plugins/WebNetscapePluginPackage.m:
14317        (-[WebNetscapePluginPackage _initWithPath:]):
14318
143192008-05-02  Alexey Proskuryakov  <ap@webkit.org>
14320
14321        Reviewed by Geoffrey Garen.
14322
14323        https://bugs.webkit.org/show_bug.cgi?id=18826
14324        Make JavaScript heap per-thread
14325
14326        * Misc/WebCoreStatistics.mm:
14327        (+[WebCoreStatistics javaScriptObjectsCount]):
14328        (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
14329        (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
14330        (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
14331        (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
14332        (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
14333        Replaced static Collector calls with calls to a current thread's instance.
14334
14335        * WebView/WebScriptDebugDelegate.mm:
14336        (-[WebScriptCallFrame evaluateWebScript:]):
14337        Pass ExecState to jsString().
14338
143392008-05-01  Anders Carlsson  <andersca@apple.com>
14340
14341        Reviewed by Mark.
14342
14343        64-bit NPAPI plugin build fixes.
14344
14345        * Plugins/WebBaseNetscapePluginView.mm:
14346        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
14347        (-[WebBaseNetscapePluginView updateAndSetWindow]):
14348        (-[WebBaseNetscapePluginView start]):
14349        (-[WebBaseNetscapePluginView windowBecameKey:]):
14350        * Plugins/WebNetscapeDeprecatedFunctions.c:
14351        * Plugins/WebNetscapeDeprecatedFunctions.h:
14352        * Plugins/WebNetscapePluginEventHandler.mm:
14353        (WebNetscapePluginEventHandler::create):
14354        * Plugins/WebNetscapePluginEventHandlerCarbon.h:
14355        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
14356        * Plugins/WebPluginDatabase.m:
14357        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
14358
143592008-05-01  Anders Carlsson  <andersca@apple.com>
14360
14361        Reviewed by Tim.
14362
14363        Remove duplicate npfunctions.h header from WebKit.
14364
14365        * MigrateHeaders.make:
14366        Migrate npfunctions.h
14367
14368        * Plugins/npfunctions.h: Removed.
14369
143702008-05-01  Anders Carlsson  <andersca@apple.com>
14371
14372        Reviewed by John.
14373
14374        Add null checks for the event handler.
14375
14376        * Plugins/WebBaseNetscapePluginView.mm:
14377        (-[WebBaseNetscapePluginView stopTimers]):
14378        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
14379
143802008-05-01  Anders Carlsson  <andersca@apple.com>
14381
14382        Fix 64-bit build.
14383
14384        * Plugins/WebNetscapePluginEventHandlerCocoa.h:
14385        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
14386        * WebCoreSupport/WebFrameLoaderClient.mm:
14387
143882008-05-01  Anders Carlsson  <andersca@apple.com>
14389
14390        Fix build.
14391
14392        * Plugins/npfunctions.h:
14393
143942008-05-01  Anders Carlsson  <andersca@apple.com>
14395
14396        Reviewed by Adam.
14397
14398        Forward mouse move events to the Netscape plug-in view.
14399
14400        * Plugins/WebBaseNetscapePluginView.h:
14401        * Plugins/WebBaseNetscapePluginView.mm:
14402        (-[WebBaseNetscapePluginView handleMouseMoved:]):
14403        New method that just calls the current event handler.
14404
14405        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
14406        (WebNetscapePluginEventHandlerCocoa::flagsChanged):
14407        NSFlagsChanged is not a regular keyboard event and some of the NSEvent accessors
14408        don't work on it so don't call them.
14409
14410        * WebCoreSupport/WebFrameLoaderClient.mm:
14411        (NetscapePluginWidget::NetscapePluginWidget):
14412        New Widget subclass to be used for Netscape plug-ins.
14413
14414        (NetscapePluginWidget::handleEvent):
14415        Forward NSMouseMoved events to the plug-in.
14416
14417        (WebFrameLoaderClient::createPlugin):
14418        Wrap the plug-in view in a NetscapePluginWidget.
14419
144202008-05-01  Alp Toker  <alp@nuanti.com>
14421
14422        Rubber-stamped by Anders.
14423
14424        GTK+ build fix for changes in r32752. Use int32, not int32_t types in
14425        npapi.h.
14426
14427        Additional fix to use same signedness in npapi.h and Mac for the
14428        interval parameter.
14429
14430        * Plugins/WebBaseNetscapePluginView.h:
14431        * Plugins/WebBaseNetscapePluginView.mm:
14432        (PluginTimer::PluginTimer):
14433        (-[WebBaseNetscapePluginView stopTimers]):
14434        (-[WebBaseNetscapePluginView restartTimers]):
14435        (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
14436        (-[WebBaseNetscapePluginView unscheduleTimer:]):
14437        * Plugins/WebBaseNetscapePluginViewPrivate.h:
14438        * Plugins/npapi.m:
14439        (NPN_ScheduleTimer):
14440        (NPN_UnscheduleTimer):
14441        * Plugins/npfunctions.h:
14442
144432008-04-30  Anders Carlsson  <andersca@apple.com>
14444
14445        Reviewed by Adam.
14446
14447        Add new Cocoa event model and the NPN_ScheduleTimer/NPN_UnscheduleTimer methods.
14448
14449        * Plugins/WebBaseNetscapePluginView.h:
14450        * Plugins/WebBaseNetscapePluginView.mm:
14451        (PluginTimer::PluginTimer):
14452        (PluginTimer::start):
14453        (PluginTimer::fired):
14454        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
14455        (-[WebBaseNetscapePluginView stopTimers]):
14456        (-[WebBaseNetscapePluginView restartTimers]):
14457        (-[WebBaseNetscapePluginView scrollWheel:]):
14458        (-[WebBaseNetscapePluginView flagsChanged:]):
14459        (-[WebBaseNetscapePluginView start]):
14460        (-[WebBaseNetscapePluginView eventModel]):
14461        (-[WebBaseNetscapePluginView fini]):
14462        (-[WebBaseNetscapePluginView getVariable:value:]):
14463        (-[WebBaseNetscapePluginView setVariable:value:]):
14464        (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
14465        (-[WebBaseNetscapePluginView unscheduleTimer:]):
14466        * Plugins/WebBaseNetscapePluginViewInternal.h:
14467        * Plugins/WebBaseNetscapePluginViewPrivate.h:
14468        * Plugins/WebNetscapePluginEventHandler.h:
14469        * Plugins/WebNetscapePluginEventHandler.mm:
14470        (WebNetscapePluginEventHandler::create):
14471        * Plugins/WebNetscapePluginEventHandlerCarbon.h:
14472        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
14473        (WebNetscapePluginEventHandlerCarbon::scrollWheel):
14474        (WebNetscapePluginEventHandlerCarbon::flagsChanged):
14475        (WebNetscapePluginEventHandlerCarbon::platformWindow):
14476        * Plugins/WebNetscapePluginEventHandlerCocoa.h: Added.
14477        (WebNetscapePluginEventHandlerCocoa::startTimers):
14478        (WebNetscapePluginEventHandlerCocoa::stopTimers):
14479        * Plugins/WebNetscapePluginEventHandlerCocoa.mm: Added.
14480        (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
14481        (WebNetscapePluginEventHandlerCocoa::drawRect):
14482        (WebNetscapePluginEventHandlerCocoa::mouseDown):
14483        (WebNetscapePluginEventHandlerCocoa::mouseDragged):
14484        (WebNetscapePluginEventHandlerCocoa::mouseEntered):
14485        (WebNetscapePluginEventHandlerCocoa::mouseExited):
14486        (WebNetscapePluginEventHandlerCocoa::mouseMoved):
14487        (WebNetscapePluginEventHandlerCocoa::mouseUp):
14488        (WebNetscapePluginEventHandlerCocoa::scrollWheel):
14489        (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
14490        (WebNetscapePluginEventHandlerCocoa::keyDown):
14491        (WebNetscapePluginEventHandlerCocoa::keyUp):
14492        (WebNetscapePluginEventHandlerCocoa::flagsChanged):
14493        (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
14494        (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
14495        (WebNetscapePluginEventHandlerCocoa::focusChanged):
14496        (WebNetscapePluginEventHandlerCocoa::platformWindow):
14497        (WebNetscapePluginEventHandlerCocoa::sendEvent):
14498        * Plugins/WebNetscapePluginPackage.m:
14499        (-[WebNetscapePluginPackage load]):
14500        * Plugins/npapi.m:
14501        (NPN_ScheduleTimer):
14502        (NPN_UnscheduleTimer):
14503        * Plugins/npfunctions.h:
14504
145052008-04-30  Brady Eidson  <beidson@apple.com>
14506
14507        Fix my WebPreferences revert check-in
14508
14509        * WebView/WebView.mm:
14510        (-[WebView _preferencesChangedNotification:]):
14511
145122008-04-30  Brady Eidson  <beidson@apple.com>
14513
14514        Rubberstamped by John Sullivan
14515
14516        Revert the remainder of my original preferences changes from last week.
14517        They caused a massive PLT regression (too many notifications being sent out
14518        or listened to that weren't previously) and it's not in my schedule to refine
14519        the preferences code instead of working on my feature!
14520
14521        * WebView/WebView.mm:
14522        (-[WebView _updateSettingsFromPreferences:]):
14523        (-[WebView _commonInitializationWithFrameName:groupName:]):
14524
145252008-04-30  Anders Carlsson  <andersca@apple.com>
14526
14527        Fix the 64-bit build.
14528
14529        * Plugins/WebNetscapePluginEventHandler.h:
14530        * Plugins/WebNetscapePluginEventHandler.mm:
14531        * Plugins/WebNetscapePluginEventHandlerCarbon.h:
14532        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
14533
145342008-04-29  David D. Kilzer  <ddkilzer@apple.com>
14535
14536        BUILD FIX for Release build.
14537
14538        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
14539        (WebNetscapePluginEventHandlerCarbon::drawRect): Declare acceptedEvent
14540        separately so the compiler doesn't complain about an unused variable.
14541        (WebNetscapePluginEventHandlerCarbon::TSMEventHandler): Ditto.
14542
145432008-04-29  Anders Carlsson  <andersca@apple.com>
14544
14545        Reviewed by Adam.
14546
14547        Refactor the Carbon event handling code out into a separate class in preparation for adding
14548        the Cocoa event handling code.
14549
14550        * Plugins/WebBaseNetscapePluginView.h:
14551        * Plugins/WebBaseNetscapePluginView.mm:
14552        (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
14553        (-[WebBaseNetscapePluginView sendActivateEvent:]):
14554        (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
14555        (-[WebBaseNetscapePluginView stopTimers]):
14556        (-[WebBaseNetscapePluginView restartTimers]):
14557        (-[WebBaseNetscapePluginView setHasFocus:]):
14558        (-[WebBaseNetscapePluginView mouseDown:]):
14559        (-[WebBaseNetscapePluginView mouseUp:]):
14560        (-[WebBaseNetscapePluginView mouseEntered:]):
14561        (-[WebBaseNetscapePluginView mouseExited:]):
14562        (-[WebBaseNetscapePluginView mouseDragged:]):
14563        (-[WebBaseNetscapePluginView keyUp:]):
14564        (-[WebBaseNetscapePluginView keyDown:]):
14565        (-[WebBaseNetscapePluginView cut:]):
14566        (-[WebBaseNetscapePluginView copy:]):
14567        (-[WebBaseNetscapePluginView paste:]):
14568        (-[WebBaseNetscapePluginView selectAll:]):
14569        (-[WebBaseNetscapePluginView start]):
14570        (-[WebBaseNetscapePluginView stop]):
14571        (-[WebBaseNetscapePluginView fini]):
14572        (-[WebBaseNetscapePluginView drawRect:]):
14573        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
14574        (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
14575        (-[WebBaseNetscapePluginView windowBecameKey:]):
14576        (-[WebBaseNetscapePluginView windowResignedKey:]):
14577        (-[WebBaseNetscapePluginView windowDidMiniaturize:]):
14578        (-[WebBaseNetscapePluginView windowDidDeminiaturize:]):
14579        (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]):
14580        (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]):
14581        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
14582        (-[WebBaseNetscapePluginView _viewHasMoved]):
14583        * Plugins/WebBaseNetscapePluginViewInternal.h:
14584        * Plugins/WebNetscapePluginEmbeddedView.h:
14585        * Plugins/WebNetscapePluginEventHandler.h: Added.
14586        (WebNetscapePluginEventHandler::~WebNetscapePluginEventHandler):
14587        (WebNetscapePluginEventHandler::currentEventIsUserGesture):
14588        (WebNetscapePluginEventHandler::WebNetscapePluginEventHandler):
14589        * Plugins/WebNetscapePluginEventHandler.mm: Added.
14590        (WebNetscapePluginEventHandler::create):
14591        * Plugins/WebNetscapePluginEventHandlerCarbon.h: Added.
14592        * Plugins/WebNetscapePluginEventHandlerCarbon.mm: Added.
14593        (WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon):
14594        (getCarbonEvent):
14595        (modifiersForEvent):
14596        (WebNetscapePluginEventHandlerCarbon::sendNullEvent):
14597        (WebNetscapePluginEventHandlerCarbon::drawRect):
14598        (WebNetscapePluginEventHandlerCarbon::mouseDown):
14599        (WebNetscapePluginEventHandlerCarbon::mouseUp):
14600        (WebNetscapePluginEventHandlerCarbon::mouseEntered):
14601        (WebNetscapePluginEventHandlerCarbon::mouseExited):
14602        (WebNetscapePluginEventHandlerCarbon::mouseDragged):
14603        (WebNetscapePluginEventHandlerCarbon::mouseMoved):
14604        (WebNetscapePluginEventHandlerCarbon::keyDown):
14605        (keyMessageForEvent):
14606        (WebNetscapePluginEventHandlerCarbon::keyUp):
14607        (WebNetscapePluginEventHandlerCarbon::focusChanged):
14608        (WebNetscapePluginEventHandlerCarbon::windowFocusChanged):
14609        (WebNetscapePluginEventHandlerCarbon::TSMEventHandler):
14610        (WebNetscapePluginEventHandlerCarbon::installKeyEventHandler):
14611        (WebNetscapePluginEventHandlerCarbon::removeKeyEventHandler):
14612        (WebNetscapePluginEventHandlerCarbon::nullEventTimerFired):
14613        (WebNetscapePluginEventHandlerCarbon::startTimers):
14614        (WebNetscapePluginEventHandlerCarbon::stopTimers):
14615        (WebNetscapePluginEventHandlerCarbon::sendEvent):
14616
146172008-04-29  Mark Rowe  <mrowe@apple.com>
14618
14619        Reviewed by David Harrison.
14620
14621        Ensure that WebDynamicScrollBarsView defines WebCoreScrollbarAlwaysOn to keep Mail building.
14622
14623        * WebKit.exp:
14624        * WebView/WebDynamicScrollBarsView.h:
14625        * WebView/WebDynamicScrollBarsView.m:
14626
146272008-04-29  Greg Bolsinga  <bolsinga@apple.com>
14628
14629        Reviewed by Darin Adler.
14630
14631        Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)
14632
14633        * WebCoreSupport/WebChromeClient.h:
14634        * WebCoreSupport/WebChromeClient.mm:
14635        * WebView/WebClipView.m:
14636        (-[WebClipView scrollWheel:]):
14637        * WebView/WebHTMLView.mm:
14638        (-[WebHTMLView addMouseMovedObserver]):
14639        (-[WebHTMLView removeMouseMovedObserver]):
14640        (-[WebHTMLView acceptsFirstMouse:]):
14641        * WebView/WebUIDelegatePrivate.h:
14642        * WebView/WebView.mm:
14643        (-[WebViewPrivate init]):
14644        * WebView/WebViewPrivate.h:
14645
146462008-04-28  Rob Buis  <buis@kde.org>
14647
14648        Reviewed by Maciej.
14649
14650        Build fix for Tiger.
14651
14652        * WebView/WebView.mm:
14653        (WebKitInitializeApplicationCachePathIfNecessary):
14654
146552008-04-28  Adele Peterson  <adele@apple.com>
14656
14657        Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.
14658
14659        WebKit part of fix for <rdar://problem/3709505>
14660        Safari should have a way to upload bundles from the file upload control (as zip)
14661
14662        Added UIDelegate methods to let the application handle generating replacement files for uploads.
14663        In this case, Safari will create archived files for bundles so they can be uploaded properly.
14664
14665        * DefaultDelegates/WebDefaultUIDelegate.m:
14666        (-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]):
14667        (-[WebDefaultUIDelegate webView:generateReplacementFile:]):
14668        * WebCoreSupport/WebChromeClient.h:
14669        * WebCoreSupport/WebChromeClient.mm:
14670        (WebChromeClient::shouldReplaceWithGeneratedFileForUpload):
14671        (WebChromeClient::generateReplacementFile):
14672        * WebView/WebUIDelegatePrivate.h:
14673
146742008-04-28  Anders Carlsson  <andersca@apple.com>
14675
14676        Reviewed by Sam, Mark, Adele and Darin.
14677
14678        Initialize the application cache path.
14679
14680        * WebView/WebView.mm:
14681        (WebKitInitializeApplicationCachePathIfNecessary):
14682        (-[WebView _commonInitializationWithFrameName:groupName:]):
14683
146842008-04-28  Alice Liu  <alice.liu@apple.com>
14685
14686        Reviewed by Darin Adler.
14687
14688        Fix <rdar://problem/4911289> Add tabindex property to all children
14689        of HTMLElement (7138)
14690        http://bugs.webkit.org/show_bug.cgi?id=7138
14691
14692        * MigrateHeaders.make:
14693        Removing DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h
14694        because now that focus() has been moved to DOMHTMLElement.h, these
14695        files are no longer needed.
14696
146972008-04-25  Alexey Proskuryakov  <ap@webkit.org>
14698
14699        Reviewed by Darin Adler.
14700
14701        Fix run-webkit-tests --threading
14702        and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
14703        Proxy server issue in Sunday's Nightly
14704
14705        * WebView/WebView.mm: (-[WebViewPrivate init]): Initialize threading. Previously, this was
14706        only done from icon database code, which is not robust enough.
14707
147082008-04-20 Adam Barth <hk9565@gmail.com>
14709
14710        Reviewed by Adam Roben and Sam Weinig.
14711
14712        Updated WebSecurityOrigin to match new SecurityOrigin API.
14713
14714        Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
14715
14716        * Storage/WebSecurityOrigin.mm:
14717        (-[WebSecurityOrigin host]):
14718        (-[WebSecurityOrigin domain]):
14719        * Storage/WebSecurityOriginPrivate.h:
14720
147212008-04-25  Mark Rowe  <mrowe@apple.com>
14722
14723        Rubber-stamped by Sam Weinig.
14724
14725        Add some content to an empty ICU header file to prevent verification errors.
14726
14727        * icu/unicode/utf_old.h:
14728
147292008-04-25  Anders Carlsson  <andersca@apple.com>
14730
14731        Reviewed by Sam.
14732
14733        Add offlineWebApplicationCacheEnabled preference.
14734
14735        * WebView/WebPreferenceKeysPrivate.h:
14736        * WebView/WebPreferences.m:
14737        (+[WebPreferences initialize]):
14738        (-[WebPreferences offlineWebApplicationCacheEnabled]):
14739        (-[WebPreferences setOfflineWebApplicationCacheEnabled:]):
14740        * WebView/WebPreferencesPrivate.h:
14741        * WebView/WebView.mm:
14742        (-[WebView _updateSettingsFromPreferences:]):
14743
147442008-04-24  Mark Rowe  <mrowe@apple.com>
14745
14746        Reviewed by Sam Weinig.
14747
14748        Remove code for calculating the glyph cache size.
14749
14750        * WebCoreSupport/WebSystemInterface.m:
14751        (InitWebCoreSystemInterface): Remove unused symbol.
14752
147532008-04-24  Mark Rowe  <mrowe@apple.com>
14754
14755        Reviewed by Sam Weinig.
14756
14757        Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.
14758
14759        * WebKitPrefix.h:
14760
147612008-04-24  Brady Eidson  <beidson@apple.com>
14762
14763        Reviewed by Darin
14764
14765        Fix layout test regressions from my earlier preferences/settings tweak.
14766
14767        * WebView/WebView.mm:
14768        (-[WebView _commonInitializationWithFrameName:groupName:]): Even if we're not posting
14769          the notification to update the settings, each WebView still needs to register for the
14770          notification - restore that behavior.
14771
147722008-04-24  Dan Bernstein  <mitz@apple.com>
14773
14774        Reviewed by Darin Adler.
14775
14776        - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
14777          <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
14778
14779        * WebView/WebFrame.mm:
14780        (-[WebFrame _caretRectAtNode:offset:affinity:]): Changed to use
14781        VisiblePosition::caretRect() instead of the RenderObject method which
14782        was removed.
14783
147842008-04-24  Brady Eidson  <beidson@apple.com>
14785
14786        Reviewed by Darin
14787
14788        Rework the Settings population again.
14789
14790        * WebView/WebView.mm:
14791        (-[WebView _updateSettingsFromPreferences:]): This method is called both from _preferencesChangedNotification
14792          and directly from WebView's common init function.
14793        (-[WebView _preferencesChangedNotification:]):
14794        (-[WebView _commonInitializationWithFrameName:groupName:]): Call _updateSettingsFromPreferences immediately
14795          after creating the new Page
14796
147972008-04-24  Darin Adler  <darin@apple.com>
14798
14799        Reviewed by Geoff.
14800
14801        - fix crash in regression test where we'd ask a frame for a user agent string
14802          after the WebView was already closed
14803
14804        * WebCoreSupport/WebFrameLoaderClient.mm:
14805        (WebFrameLoaderClient::userAgent): Assert that the WebView is not nil. Also
14806        added some code to prevent the crash in release builds if this problem happens
14807        again.
14808
148092008-04-24  Anders Carlsson  <andersca@apple.com>
14810
14811        Reviewed by Sam.
14812
14813        Change some String arguments to be const references instead.
14814
14815        * WebCoreSupport/WebEditorClient.h:
14816        * WebCoreSupport/WebEditorClient.mm:
14817        (WebEditorClient::shouldInsertText):
14818
148192008-04-24  John Sullivan  <sullivan@apple.com>
14820
14821        Mac build fix
14822
14823        * WebCoreSupport/WebViewFactory.mm:
14824        (-[WebViewFactory AXButtonActionVerb]):
14825        implement this method using the text in WebCoreLocalizedStrings.cpp
14826        (-[WebViewFactory AXRadioButtonActionVerb]):
14827        ditto
14828        (-[WebViewFactory AXTextFieldActionVerb]):
14829        ditto
14830        (-[WebViewFactory AXCheckedCheckBoxActionVerb]):
14831        ditto
14832        (-[WebViewFactory AXUncheckedCheckBoxActionVerb]):
14833        ditto
14834        (-[WebViewFactory AXLinkActionVerb]):
14835        ditto
14836
148372008-04-23  Brady Eidson  <beidson@apple.com>
14838
14839        Reviewed by Sam Weinig
14840
14841        In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
14842        object before the Settings object is initialized.  It seems quite prudent to post the preferences changed notification,
14843        thereby populating the Settings object, immediately after the Page is created.
14844
14845        * WebView/WebView.mm:
14846        (-[WebView _commonInitializationWithFrameName:groupName:]): Post the notification right after the Page is created
14847
148482008-04-24  John Sullivan  <sullivan@apple.com>
14849
14850        Reviewed by Jess
14851
14852        - fixed <rdar://problem/5886655> JavaScript input panel automatic resizing doesn't work right with HiDPI
14853
14854        * Misc/WebNSControlExtras.m:
14855        (-[NSControl sizeToFitAndAdjustWindowHeight]):
14856        deploy userSpaceScaleFactor when using view distances on the window
14857
148582008-04-22  Anders Carlsson  <andersca@apple.com>
14859
14860        Reviewed by Darin Adler.
14861
14862        Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
14863
14864        * Plugins/npfunctions.h:
14865
148662008-04-20  Matt Lilek  <webkit@mattlilek.com>
14867
14868        Mysteriously reviewed by mitz|away.
14869
14870        Bug 18111: Closing a tab while dragging crashes Safari
14871        https://bugs.webkit.org/show_bug.cgi?id=18111
14872
14873        Null check the page before handling drag events.
14874
14875        * WebView/WebView.mm:
14876        (-[WebView draggingUpdated:]):
14877        (-[WebView draggingExited:]):
14878
148792008-04-19  Brady Eidson  <beidson@apple.com>
14880
14881        Reviewed by Tim Hatcher
14882
14883        Add a WebPreference for the path of the local storage persistent store.
14884
14885        * WebView/WebPreferenceKeysPrivate.h:
14886
14887        * WebView/WebPreferences.m:
14888        (-[WebPreferences _localStorageDatabasePath]):
14889        (-[WebPreferences _setLocalStorageDatabasePath:]):
14890        * WebView/WebPreferencesPrivate.h:
14891
14892        * WebView/WebView.mm:
14893        (-[WebView _preferencesChangedNotification:]):
14894
148952008-04-18  Brady Eidson  <beidson@apple.com>
14896
14897        Reviewed by Sam Weinig
14898
14899        Don't clear the PageGroup on _close, as the WebCore::Page destructor already does this.
14900        No reason to do the work twice...
14901
14902        * WebView/WebView.mm:
14903        (-[WebView _close]):
14904
149052008-04-17  Eric Seidel  <eric@webkit.org>
14906
14907        Reviewed by beth.
14908
14909        Rename Frame::renderer() to contentRenderer() and fix uses.
14910
14911        * Misc/WebCoreStatistics.mm:
14912        * WebView/WebRenderNode.mm:
14913        (-[WebRenderNode initWithWebFrameView:]):
14914
149152008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
14916
14917        Reviewed by mrowe.
14918
14919        * WebView/WebFrame.mm: Remove temporary build fix.
14920
149212008-04-17  Mark Rowe  <mrowe@apple.com>
14922
14923        Reviewed by Dan Bernstein.
14924
14925        Fix <rdar://problem/5863552> REGRESSION (r30741): Attachments don't appear in the iChat message window after sending
14926
14927        The order of arguments to -[NSDictionary initWithObjects:andKeys:] had been transposed accidentally during refactoring.
14928
14929        * WebCoreSupport/WebFrameLoaderClient.mm:
14930        (WebFrameLoaderClient::createPlugin): Pass the arguments in the correct order.
14931
149322008-04-17  Mark Rowe  <mrowe@apple.com>
14933
14934        Rubber-stamped by Dan Bernstein.
14935
14936        Fix the Mac build.
14937
14938        * WebView/WebFrame.mm: Define HAVE_ACCESSIBILITY before including AccessibilityObject.h and AXObjectCache.h to get things building
14939        for now.  This comes from config.h in WebCore but we don't have an equivalent in WebKit so we'll need to work out the correct place
14940        for this to live going forward.
14941
149422008-04-15  Kevin Decker  <kdecker@apple.com>
14943
14944        Reviewed by Anders.
14945
14946        <rdar://problem/5412759> CrashTracer: [USER] 22 crashes in Safari at com.apple.quicktime.webplugin: NPN_SetValue + 15403
14947
14948        In certain situations, code in WebBasePluginPackage would load a plug-in only for the explicit reason of asking it to create a
14949        preference file, but wouldn't actually unload the bundle. This created problems for the QuickTime WebKit plug-in by unloading
14950        a bundle out from underneath itself.
14951
14952        * Plugins/WebBasePluginPackage.h: Added unload method.
14953        * Plugins/WebBasePluginPackage.m:
14954        (-[WebBasePluginPackage unload]): Added new method. Currently, only Netscape plug-ins support unload.
14955        (-[WebBasePluginPackage pListForPath:createFile:]): Added a call to unload.
14956        * Plugins/WebNetscapePluginPackage.m:
14957        (-[WebNetscapePluginPackage unload]): Added.
14958
149592008-04-15  Anders Carlsson  <andersca@apple.com>
14960
14961        Reviewed by Adam.
14962
14963        Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
14964
14965        * Configurations/WebKit.xcconfig:
14966
149672008-04-15  Brady Eidson  <beidson@apple.com>
14968
14969        Reviewed by John Sullivan
14970
14971        Do a more complete job adding the "WebArchiveDebugMode" pref
14972
14973        * WebView/WebPreferences.m: Add both getter *and* setter
14974        (-[WebPreferences webArchiveDebugModeEnabled]):
14975        (-[WebPreferences setWebArchiveDebugModeEnabled:]):
14976        * WebView/WebPreferencesPrivate.h:
14977
14978        * WebView/WebView.mm:
14979        (-[WebView _preferencesChangedNotification:]): Call the renamed getter
14980
149812008-04-14  Brady Eidson  <beidson@apple.com>
14982
14983        Reviewed by Anders
14984
14985        Add a hidden pref to debug WebArchive loading.  With this pref on, when loading a WebArchive,
14986        if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the
14987        network and will instead fail the load as "cancelled."
14988
14989        * WebView/WebPreferenceKeysPrivate.h:
14990
14991        * WebView/WebPreferences.m:
14992        (+[WebPreferences initialize]):
14993        (-[WebPreferences _webArchiveDebugModeEnabled]):
14994        * WebView/WebPreferencesPrivate.h:
14995
14996        * WebView/WebView.mm:
14997        (-[WebView _preferencesChangedNotification:]):
14998
149992008-04-11  David Hyatt  <hyatt@apple.com>
15000
15001        Rename CachedResource ref/deref methods to addClient/removeClient.
15002
15003        Reviewed by olliej
15004
15005        * WebView/WebHTMLView.mm:
15006        (-[WebHTMLViewPrivate dealloc]):
15007        (-[WebHTMLViewPrivate finalize]):
15008        (-[WebHTMLViewPrivate clear]):
15009        (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
15010
150112008-04-07  Brady Eidson  <beidson@apple.com>
15012
15013        Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project
15014
15015        * Configurations/WebKit.xcconfig:
15016
150172008-04-04  Adam Roben  <aroben@apple.com>
15018
15019        Use WebCore's ICU headers instead of our own copy
15020
15021        Rubberstamped by Tim Hatcher.
15022
15023        * Configurations/WebKit.xcconfig: Pick up ICU headers from WebCore's
15024        PrivateHeaders.
15025
150262008-04-04  Adam Roben  <aroben@apple.com>
15027
15028        Fix <rdar://problem/5804776> Would like to use WebCore's
15029        ForwardingHeaders in WebKit without manually creating copies
15030
15031        Patch by Tim Hatcher, typed by me.
15032
15033        * Configurations/WebKit.xcconfig: Use the copy of ForwardingHeaders in
15034        WebCore's PrivateHeaders instead of our own copy.
15035
150362008-04-04  Ada Chan  <adachan@apple.com>
15037
15038        Now we pass width and height directly as integers to format
15039        the window title for a standalone image.
15040
15041        Reviewed by Dan.
15042
15043        * WebCoreSupport/WebViewFactory.mm:
15044        (-[WebViewFactory imageTitleForFilename:width:height:]):
15045
150462008-04-03  Nicholas Shanks  <webkit@nickshanks.com>
15047
15048        Updated by Dan Bernstein. Reviewed by Dave Hyatt.
15049
15050        - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
15051          font-weight does not properly support graded weights
15052
15053        * WebView/WebHTMLView.mm:
15054        (-[WebHTMLView _styleFromFontAttributes:]):
15055        (-[WebHTMLView _originalFontB]):
15056        (-[WebHTMLView _addToStyle:fontA:fontB:]):
15057
150582008-04-02  Mark Rowe  <mrowe@apple.com>
15059
15060        Reviewed by Oliver Hunt.
15061
15062        Ensure that debug symbols are generated for x86_64 and ppc64 builds.
15063
15064        * Configurations/Base.xcconfig:
15065
150662008-03-31  Alice Liu  <alice.liu@apple.com>
15067
15068        Reviewed by Darin Adler.
15069
15070        * WebView/WebFrame.mm:
15071        (-[WebFrame _accessibilityTree]):
15072        The syntax for fetching an object from the AXObjectCache changed slightly
15073
150742008-03-31  Brady Eidson  <beidson@apple.com>
15075
15076        Reviewed by Jon Honeycutt
15077
15078        Move a WebArchive loading check into WebCore
15079
15080        * WebView/WebHTMLRepresentation.mm:
15081        (-[WebHTMLRepresentation receivedData:withDataSource:]): Don't check "isDisplayingWebArchive" as WebCore is now
15082          responsible for checking that state
15083
150842008-03-31  Brady Eidson  <beidson@apple.com>
15085
15086        Reviewed by Darin and Mitz's rubber stamp
15087
15088        Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore
15089
15090        * WebCoreSupport/WebEditorClient.mm:
15091        * WebCoreSupport/WebEditorClient.h:
15092
150932008-03-28  Brady Eidson  <beidson@apple.com>
15094
15095        Rubberstamped by Darin Adler
15096
15097        Remove WebArchiver.h/mm
15098
15099        * WebView/WebArchiver.h: Removed.
15100        * WebView/WebArchiver.mm: Removed.
15101
15102        * DOM/WebDOMOperations.mm:
15103        * WebCoreSupport/WebDragClient.mm:
15104        * WebCoreSupport/WebEditorClient.mm:
15105        * WebView/WebDataSource.mm:
15106        * WebView/WebHTMLView.mm:
15107
151082008-03-28  Brady Eidson  <beidson@apple.com>
15109
15110        Reviewed by Darin Adler
15111
15112        Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore
15113
15114        * WebCoreSupport/WebEditorClient.mm:
15115        (WebEditorClient::dataForArchivedSelection):
15116
15117        * WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
15118        * WebView/WebArchiver.mm: Ditto
15119
15120        * WebView/WebHTMLView.mm:
15121        (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
15122
151232008-03-28  Brady Eidson  <beidson@apple.com>
15124
15125        Reviewed by Darin Adler
15126
15127        More Kit->Core WebArchive changes.
15128
15129        Create an archive from the current selection in a frame
15130
15131        * WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off
15132          easily in a followup
15133
151342008-03-28  Brady Eidson  <beidson@apple.com>
15135
15136        Reviewed by Sam Weinig
15137
15138        WebArchive saga continues - Can now make archives from ranges in WebCore
15139
15140        * DOM/WebDOMOperations.mm:
15141        (-[DOMRange webArchive]):
15142        (-[DOMRange markupString]):
15143
15144        * WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
15145        * WebView/WebArchiver.mm:
15146
151472008-03-28  Brady Eidson  <beidson@apple.com>
15148
15149        Reviewed by Sam Weinig
15150
15151        More Kit->Core webarchive code movement
15152
15153        * DOM/WebDOMOperations.mm:
15154        (-[DOMNode markupString]): Call createFullMarkup() instead
15155
15156        * WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
15157        * WebView/WebFrameInternal.h: Ditto
15158
151592008-03-28  Brady Eidson  <beidson@apple.com>
15160
15161        Reviewed by Sam Weinig
15162
15163        Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller
15164
15165        * WebView/WebArchiver.h:
15166        * WebView/WebArchiver.mm:
15167        * WebView/WebDataSource.mm:
15168        (-[WebDataSource webArchive]):
15169
151702008-03-28  Brady Eidson  <beidson@apple.com>
15171
15172        Reviewed by Sam Weinig
15173
15174        Remove unused [WebArchiver archiveNode:], made obsolete in r31400
15175
15176        * WebView/WebArchiver.h:
15177        * WebView/WebArchiver.mm:
15178
151792008-03-28  Brady Eidson  <beidson@apple.com>
15180
15181        Reviewed by Darin
15182
15183        "Yet another transitional step" to empty out WebKit-based code for archiving.
15184
15185        With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
15186        entirely within WebCore, and opens the door to saving WebArchives on Windows.
15187
15188        * DOM/WebDOMOperations.mm:
15189        * WebView/WebArchiver.mm:
15190        (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
15191
151922008-03-27  Brady Eidson  <beidson@apple.com>
15193
15194        Reviewed by Adam Roben
15195
15196        Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
15197        as the push to core-ify WebArchives continues.
15198
15199        This patch also introduces a behavior change.  WebCore allows ArchiveResources with null or empty data.
15200        WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.
15201        Since WebResource is API, I decided to leave it be to avoid a behavior change.  But internally created resources
15202        (as in "while archiving a page") are accepting of null or empty data.
15203
15204        This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.
15205
15206        * WebView/WebDataSource.mm:
15207        (-[WebDataSource mainResource]): Call DocumentLoader implementation
15208        (-[WebDataSource subresources]): Ditto
15209        * WebView/WebFrame.mm: Remove [WebFrame _getAllResourceDatas:andResponses:] as its only caller is obsolete
15210        * WebView/WebFrameInternal.h:
15211
152122008-03-27  Brady Eidson  <beidson@apple.com>
15213
15214        Reviewed by Adam
15215
15216        Change the "init from WebCore resource" version of WebResource to take PassRefPtr
15217        (more efficient)
15218
15219        * WebView/WebResource.mm:
15220        (-[WebResource _initWithCoreResource:]):
15221        * WebView/WebResourceInternal.h:
15222
152232008-03-26  Brady Eidson  <beidson@apple.com>
15224
15225        Build fix - accidentally checked in this change which was work in progress
15226
15227        * DOM/WebDOMOperations.mm:
15228
152292008-03-26  Brady Eidson  <beidson@apple.com>
15230
15231        Reviewed by Darin
15232
15233        When we create a WebArchive, we walk every node from some starting point, asking each node
15234        along the way "What are your subresource URLs?"
15235
15236        That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
15237        WebCore::Node
15238
15239        * DOM/WebDOMOperations.mm:
15240        (-[DOMNode _subresourceURLs]): One generic DOMNode method can now handle all DOMNodes by
15241          calling into individual WebCore::Node implementations
15242        * DOM/WebDOMOperationsPrivate.h:
15243
152442008-03-26  Brady Eidson  <beidson@apple.com>
15245
15246        Reviewed by Mark Rowe
15247
15248        Part of the continued push to move WebArchive-related code down to WebCore, this
15249        moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()
15250
15251        * WebView/WebDataSource.mm:
15252        (-[WebDataSource subresourceForURL:]): Call through to the DocumentLoader
15253
15254        * WebView/WebFrame.mm: Remove [WebFrame _getData:andResponse:forURL:], as its only use
15255          has now been ported down to WebCore
15256        * WebView/WebFrameInternal.h:
15257
152582008-03-26  Mark Rowe  <mrowe@apple.com>
15259
15260        Rubber-stamped by Brady Eidson.
15261
15262        Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.
15263
15264        * Configurations/WebKit.xcconfig:
15265
152662008-03-26  Mark Rowe  <mrowe@apple.com>
15267
15268        Reviewed by David Hyatt.
15269
15270        Make the Ahem font antialias correctly on Acid3 on Tiger.
15271
15272        * WebCoreSupport/WebSystemInterface.m:
15273        (InitWebCoreSystemInterface):
15274
152752008-03-26  Mark Rowe  <mrowe@apple.com>
15276
15277        Fix the Mac build.
15278
15279        * MigrateHeaders.make: Copy the newly generated header into the right place.
15280
152812008-03-25  Brady Eidson  <beidson@apple.com>
15282
15283        Reviewed by Beth Dakin
15284
15285        Remove entirely unused internal method
15286
15287        * WebView/WebArchiver.h:
15288        * WebView/WebArchiver.mm:
15289
152902008-03-25  Brady Eidson  <beidson@apple.com>
15291
15292        Reviewed by Adam Roben
15293
15294        <rdar://problem/5819308> - View Source is empty when view webarchives
15295
15296        * WebCore.base.exp:
15297        * loader/DocumentLoader.cpp:
15298        (WebCore::DocumentLoader::setParsedArchiveData):
15299        (WebCore::DocumentLoader::parsedArchiveData):
15300        * loader/DocumentLoader.h:
15301
15302        * loader/FrameLoader.cpp:
15303        (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData
15304          in the DocumentLoader
15305
153062008-03-25  Dan Bernstein  <mitz@apple.com>
15307
15308        Reviewed by Darin Adler.
15309
15310        - fix http://bugs.webkit.org/show_bug.cgi?id=17933
15311          Reopen All Windows From Last Session causes crash
15312
15313        * WebView/WebHTMLView.mm:
15314        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Added null
15315        check.
15316
153172008-03-25  Brady Eidson  <beidson@apple.com>
15318
15319        Reviewed by Jon Honeycutt's rubberstamp
15320
15321        Fix a leak with the new WebArchive setup
15322
15323        * WebView/WebArchive.mm:
15324        (-[WebArchivePrivate setCoreArchive:]): Deref() the old WebArchive
15325
153262008-03-25  Brady Eidson  <beidson@apple.com>
15327
15328        Reviewed by Darin
15329
15330        Removed the concept of "pending archive resources" and the "archive resources delivery timer"
15331        from WebFrameLoaderClient, as those concepts have been pushed into WebCore
15332
15333        * WebCoreSupport/WebFrameLoaderClient.h:
15334        * WebCoreSupport/WebFrameLoaderClient.mm:
15335        (WebFrameLoaderClient::WebFrameLoaderClient):
15336
153372008-03-25  Brady Eidson  <beidson@apple.com>
15338
15339        Reviewed by Darin
15340
15341        Remove newly obsolete FrameLoaderClient methods
15342
15343        * WebCoreSupport/WebFrameLoaderClient.h:
15344        * WebCoreSupport/WebFrameLoaderClient.mm:
15345
153462008-03-25  Brady Eidson  <beidson@apple.com>
15347
15348        Release build fix
15349
15350        * WebView/WebArchive.mm:
15351        (-[WebArchive subresources]):
15352        (-[WebArchive subframeArchives]):
15353
153542008-03-25  Brady Eidson  <beidson@apple.com>
15355
15356        Reviewed by Darin
15357
15358        <rdar://problem/4516169> - Support WebArchives on Windows
15359        And paves the way for many future WebArchive bug fixes and enhancements
15360
15361        This change moves most of the real workhorse code about WebArchives into WebCore.  It maintains
15362        1-to-1 relationships between a few objects in WebCore and WebKit.  Such as:
15363         * WebArchive <-> LegacyWebArchive
15364         * WebResource <-> ArchiveResource
15365         * WebUnarchivingState <-> ArchiveResourceCollection
15366
15367        The other biggest changes involve many FrameLoaderClient methods that existed soley for WebArchives
15368        and now exist in WebCore
15369
15370        * WebCoreSupport/WebFrameLoaderClient.mm:
15371        (WebFrameLoaderClient::clearUnarchivingState): Emptied - to be removed in a followup patch
15372        (WebFrameLoaderClient::finalSetupForReplace):
15373        (WebFrameLoaderClient::setDefersLoading):
15374        (WebFrameLoaderClient::willUseArchive):
15375        (WebFrameLoaderClient::isArchiveLoadPending):
15376        (WebFrameLoaderClient::cancelPendingArchiveLoad):
15377        (WebFrameLoaderClient::clearArchivedResources):
15378        (WebFrameLoaderClient::createFrame):
15379
15380        * WebView/WebArchive.mm:
15381        (+[WebArchivePrivate initialize]):
15382        (-[WebArchivePrivate init]):
15383        (-[WebArchivePrivate initWithCoreArchive:]):
15384        (-[WebArchivePrivate coreArchive]):
15385        (-[WebArchivePrivate setCoreArchive:]):
15386        (-[WebArchivePrivate dealloc]):
15387        (-[WebArchivePrivate finalize]):
15388        (-[WebArchive init]):
15389        (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
15390        (-[WebArchive initWithData:]):
15391        (-[WebArchive initWithCoder:]):
15392        (-[WebArchive encodeWithCoder:]):
15393        (-[WebArchive mainResource]):
15394        (-[WebArchive subresources]):
15395        (-[WebArchive subframeArchives]):
15396        (-[WebArchive data]):
15397        (-[WebArchive _initWithCoreLegacyWebArchive:WebCore::]):
15398        (-[WebArchive WebCore::]):
15399        * WebView/WebArchiveInternal.h: Added.
15400
15401        * WebView/WebDataSource.mm:
15402        (-[WebDataSourcePrivate dealloc]):
15403        (-[WebDataSource _addSubframeArchives:]):
15404        (-[WebDataSource _documentFragmentWithArchive:]):
15405        (-[WebDataSource subresourceForURL:]):
15406        (-[WebDataSource addSubresource:]):
15407        * WebView/WebDataSourceInternal.h:
15408
15409        * WebView/WebFrame.mm:
15410        (-[WebFrame loadArchive:]):
15411        * WebView/WebFrameInternal.h:
15412
15413        * WebView/WebHTMLRepresentation.mm:
15414        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
15415
15416        * WebView/WebResource.mm:
15417        (+[WebResourcePrivate initialize]):
15418        (-[WebResourcePrivate init]):
15419        (-[WebResourcePrivate initWithCoreResource:]):
15420        (-[WebResourcePrivate dealloc]):
15421        (-[WebResourcePrivate finalize]):
15422        (-[WebResource initWithCoder:]):
15423        (-[WebResource encodeWithCoder:]):
15424        (-[WebResource data]):
15425        (-[WebResource URL]):
15426        (-[WebResource MIMEType]):
15427        (-[WebResource textEncodingName]):
15428        (-[WebResource frameName]):
15429        (-[WebResource _initWithCoreResource:WebCore::]):
15430        (-[WebResource WebCore::]):
15431        (-[WebResource _ignoreWhenUnarchiving]):
15432        (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
15433        (-[WebResource _fileWrapperRepresentation]):
15434        (-[WebResource _response]):
15435        (-[WebResource _stringValue]):
15436        * WebView/WebResourceInternal.h: Added.
15437        * WebView/WebResourcePrivate.h:
15438
15439        * WebView/WebUnarchivingState.h: Removed.
15440        * WebView/WebUnarchivingState.m: Removed.
15441
154422008-03-24  Oliver Hunt  <oliver@apple.com>
15443
15444        Reviewed by Mark Rowe.
15445
15446        Bug 18030: REGRESSION(r31236): Space bar fails to scroll down page
15447        <http://bugs.webkit.org/show_bug.cgi?id=18030>
15448
15449        Rollout keyDown changes from r31236 -- fix for keyDown behaviour is
15450        tracked by Bug 18057: keyDown incorrectly propagates up the frame tree
15451        <http://bugs.webkit.org/show_bug.cgi?id=18057>
15452
15453        * WebView/WebHTMLView.mm:
15454        (-[WebHTMLView keyDown:]):
15455
154562008-03-24  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
15457
15458        Reviewed by Maciej, landed by Brady
15459
15460        Bug 3580: iFrames Appear to be Cached
15461        <http://bugs.webkit.org/show_bug.cgi?id=3580>
15462
15463        Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
15464        <http://bugs.webkit.org/show_bug.cgi?id=15486>
15465
15466        Bug 15554: Reload causes <object> to use old data
15467        <http://bugs.webkit.org/show_bug.cgi?id=15554>
15468
15469        If a page is reloaded, a child frame's URL can not be taken from a history item.
15470
15471        * WebView/WebFrame.mm:
15472        (-[WebFrame _loadURL:referrer:intoChild:]):
15473
154742008-03-24  Darin Adler  <darin@apple.com>
15475
15476        Reviewed by Beth.
15477
15478        - fix <rdar://problem/5817067> -[WebDataSource unreachableURL] invokes KURL's copy constructor
15479
15480        * History/WebHistoryItem.mm:
15481        (-[WebHistoryItem URL]): Use a reference to avoid making a copy.
15482        * WebView/WebDataSource.mm:
15483        (-[WebDataSource _URL]): Ditto.
15484        (-[WebDataSource unreachableURL]): Ditto.
15485        * WebView/WebHTMLView.mm:
15486        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
15487
15488        * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
15489        * History/WebHistory.mm:
15490        * Misc/WebElementDictionary.mm:
15491        * Misc/WebNSAttributedStringExtras.mm:
15492        Remove unneeded imports of KURL.h.
15493
154942008-03-24  Brady Eidson  <beidson@apple.com>
15495
15496        Reviewed by Darin's rubberstamp
15497
15498        Rename this file for upcoming work.
15499
15500        * WebView/WebArchive.m: Removed.
15501        * WebView/WebArchive.mm: Copied from WebKit/mac/WebView/WebArchive.m.
15502
155032008-03-24  Alexey Proskuryakov  <ap@webkit.org>
15504
15505        Build fix.
15506
15507        * MigrateHeaders.make: Added DOMSVGAltGlyphElement.h and DOMSVGAltGlyphElementInternal.h.
15508
155092008-03-23  Oliver Hunt  <oliver@apple.com>
15510
15511        Reviewed by Maciej.
15512
15513        Bug 17670: Key events may improperly propagate from iframe to parent frame
15514        <http://bugs.webkit.org/show_bug.cgi?id=17670>
15515        Bug 16381: REGRESSION: Shift, command, option, ctrl keys in Gmail Rich Text changes focus
15516        <http://bugs.webkit.org/show_bug.cgi?id=16381>
15517
15518        Prevent the Cocoa event system from propagating key events to the parent WebHTMLView,
15519        as that results in us dispatching the key events for each frame going up the frame
15520        tree.
15521
15522        * WebView/WebHTMLView.mm:
15523        (-[WebHTMLView keyDown:]):
15524        (-[WebHTMLView keyUp:]):
15525        (-[WebHTMLView flagsChanged:]):
15526
155272008-03-21  Timothy Hatcher  <timothy@apple.com>
15528
15529        Bug 17980: Regression: Inspector highlighting of webpage not cleared when going to new URL
15530        http://bugs.webkit.org/show_bug.cgi?id=17980
15531
15532        Reviewed by Adam.
15533
15534        The new highlight drawing was not honoring the fade value, so it was
15535        always drawing at full opacity. The animation code didn't match Windows
15536        and the new highlight anyway, so it has been removed. The highlight
15537        how just detaches when it is hidden.
15538
15539        * WebCoreSupport/WebInspectorClient.mm:
15540        (-[WebInspectorWindowController windowShouldClose:]): Call hideHighlight.
15541        (-[WebInspectorWindowController close]): Ditto.
15542        (-[WebInspectorWindowController highlightNode:]): Call attach.
15543        (-[WebInspectorWindowController hideHighlight]): Call detach and release _currentHighlight.
15544        * WebInspector/WebNodeHighlight.h:
15545        * WebInspector/WebNodeHighlight.m:
15546        (-[WebNodeHighlight initWithTargetView:inspectorController:]):
15547        (-[WebNodeHighlight dealloc]): Assert we have no _highlightView.
15548        (-[WebNodeHighlight attach]): Renamed from attachHighlight.
15549        (-[WebNodeHighlight detach]): Renamed from detachHighlight.
15550        (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Renamed from setHolesNeedUpdateInTargetViewRect:.
15551        * WebInspector/WebNodeHighlightView.h:
15552        * WebInspector/WebNodeHighlightView.m:
15553        (-[WebNodeHighlightView setNeedsDisplayInRect:]): Renamed from setHolesNeedUpdateInRect:.
15554
155552008-03-20  Mark Rowe  <mrowe@apple.com>
15556
15557        Reviewed by Sam Weinig.
15558
15559        Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
15560        This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
15561        command-line.
15562
15563        * Configurations/WebKit.xcconfig:
15564
155652008-03-20  Adam Roben  <aroben@apple.com>
15566
15567        Make WebNodeHighlightView use InspectorController to do its painting
15568
15569        Reviewed by Tim Hatcher.
15570
15571        * WebCoreSupport/WebInspectorClient.mm:
15572        (-[WebInspectorWindowController highlightNode:]): Pass the
15573        InspectorController to the WebNodeHighlight, and don't call
15574        setHighlightedNode: (which has been removed).
15575        (-[WebInspectorWindowController hideHighlight]): Removed call to
15576        setHighlightedNode:.
15577        * WebInspector/WebNodeHighlight.h:
15578          - Replaced _highlightNode with _inspectorController
15579          - Removed _highlightedNode accessors
15580          - Added -inspectorController method
15581        * WebInspector/WebNodeHighlight.m:
15582        (-[WebNodeHighlight initWithTargetView:inspectorController:]): Now
15583        takes an InspectorController* and stores it in _inspectorController.
15584        (-[WebNodeHighlight dealloc]): Removed code dealing with
15585        _highlightedNode.
15586        (-[WebNodeHighlight inspectorController]): Added.
15587        * WebInspector/WebNodeHighlightView.m: Removed FileInternal category.
15588        (-[WebNodeHighlightView isFlipped]): Added. WebCore expects all
15589        GraphicsContexts to be based on a flipped CGContext, so we have to
15590        specify that this view is flipped.
15591        (-[WebNodeHighlightView drawRect:]): Changed to create a
15592        GraphicsContext and pass it to InspectorController::drawNodeHighlight.
15593
155942008-03-18  David Hyatt  <hyatt@apple.com>
15595
15596        Add support for a preference in WebKit that can be used in nightly builds to test full page
15597        zoom.
15598
15599        Reviewed by Antti
15600
15601        * WebView/WebPreferenceKeysPrivate.h:
15602        * WebView/WebView.mm:
15603        (-[WebView setTextSizeMultiplier:]):
15604        (-[WebView canMakeTextSmaller]):
15605        (-[WebView makeTextSmaller:]):
15606        (-[WebView canMakeTextLarger]):
15607        (-[WebView makeTextLarger:]):
15608        (-[WebView canMakeTextStandardSize]):
15609        (-[WebView makeTextStandardSize:]):
15610
156112008-03-17  Eric Seidel  <eric@webkit.org>
15612
15613        Reviewed by darin.
15614
15615        Export _NPN_IntFromIdentifier as part of our NPAPI interface
15616
15617        * Plugins/WebNetscapePluginPackage.m:
15618        (-[WebNetscapePluginPackage load]):
15619
156202008-03-14  Brady Eidson  <beidson@apple.com>
15621
15622        Reviewed by Brian Dash's rubberstamp
15623
15624        Remove a class declaration for a class that has never existed
15625
15626        * WebView/WebResource.h:
15627
156282008-03-14  David D. Kilzer  <ddkilzer@apple.com>
15629
15630        Unify concept of enabling the Mac Java bridge.
15631
15632        Reviewed by Darin and Anders.
15633
15634        * Plugins/WebPluginJava.h: Removed unused file.
15635        * WebCoreSupport/WebFrameLoaderClient.h:
15636        (WebFrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
15637        * WebCoreSupport/WebFrameLoaderClient.mm: Ditto for #import and NSView SPI method.
15638        (WebFrameLoaderClient::javaApplet): Ditto.
15639
156402008-03-13  Antti Koivisto  <antti@apple.com>
15641
15642        Reviewed by Darin Adler.
15643
15644        * ForwardingHeaders/wtf/Deque.h: Added.
15645
156462008-03-13  Anders Carlsson  <andersca@apple.com>
15647
15648        Reviewed by Adam.
15649
15650        Call originalRequest, not initialRequest.
15651
15652        * WebView/WebDataSource.mm:
15653        (-[WebDataSource initialRequest]):
15654
156552008-03-12  Darin Adler  <darin@apple.com>
15656
15657        Reviewed by John Sullivan.
15658
15659        - cleanup after removing the bridge
15660
15661        * DOM/WebDOMOperations.mm:
15662        (-[DOMDocument URLWithAttributeString:]): Call computeURL directly.
15663
15664        * Misc/WebCoreStatistics.mm:
15665        (-[WebFrame renderTreeAsExternalRepresentation]): Call externalRepresentation directly.
15666
15667        * Plugins/WebBaseNetscapePluginView.mm:
15668        (-[WebBaseNetscapePluginView loadPluginRequest:]): Use core function instead of
15669        _frameLoader method.
15670        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
15671        Ditto.
15672        * Plugins/WebPluginController.mm:
15673        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Ditto.
15674
15675        * WebCoreSupport/WebFrameLoaderClient.mm:
15676        (WebFrameLoaderClient::frameLoaderDestroyed): Added a call to the new _clearCoreFrame
15677        method. Without this we could leave a stale frame pointer around.
15678        (WebFrameLoaderClient::dispatchDidReceiveIcon): Rewrote assertion so it's not the single
15679        caller of the _isMainFrame method.
15680        (WebFrameLoaderClient::transitionToCommittedForNewPage): Use core function instead of
15681        _frameLoader method.
15682        (WebFrameLoaderClient::createFrame): Moved code here from _addChild.
15683
15684        * WebView/WebFrame.mm: Removed lots of methods. Some were moved elsewhere, others
15685        turned out to be unused.
15686        (core): Added overload for DocumentFragment.
15687        (kit): Ditto.
15688        (-[WebFrame _loadURL:referrer:intoChild:]): Get to Frame using _private->coreFrame and
15689        to FrameLoader with _private->coreFrame->loader().
15690        (-[WebFrame _attachScriptDebugger]): Ditto.
15691        (-[WebFrame _clearCoreFrame]): Added.
15692        (-[WebFrame _updateBackground]): More of the same.
15693        (-[WebFrame _unmarkAllBadGrammar]): Ditto.
15694        (-[WebFrame _unmarkAllMisspellings]): Ditto.
15695        (-[WebFrame _hasSelection]): Ditto.
15696        (-[WebFrame _atMostOneFrameHasSelection]): Ditto.
15697        (-[WebFrame _findFrameWithSelection]): Ditto.
15698        (-[WebFrame _dataSource]): Ditto.
15699        (-[WebFrame _addData:]): Streamlined code a bit.
15700        (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
15701        (-[WebFrame _receivedData:textEncodingName:]): Ditto.
15702        (-[WebFrame _isDescendantOfFrame:]): Ditto.
15703        (-[WebFrame _bodyBackgroundColor]): Ditto.
15704        (-[WebFrame _isFrameSet]): Ditto.
15705        (-[WebFrame _firstLayoutDone]): Ditto.
15706        (-[WebFrame _loadType]): Ditto.
15707        (-[WebFrame _isDisplayingStandaloneImage]): Ditto.
15708        (-[WebFrame name]): Ditto.
15709        (-[WebFrame DOMDocument]): Ditto.
15710        (-[WebFrame frameElement]): Ditto.
15711        (-[WebFrame provisionalDataSource]): Ditto.
15712        (-[WebFrame dataSource]): Ditto.
15713        (-[WebFrame loadRequest:]): Ditto.
15714        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Ditto.
15715        (-[WebFrame loadArchive:]): Ditto.
15716        (-[WebFrame stopLoading]): Ditto.
15717        (-[WebFrame reload]): Ditto.
15718        (-[WebFrame findFrameNamed:]): Ditto.
15719        (-[WebFrame parentFrame]): Ditto.
15720        (-[WebFrame childFrames]): Ditto.
15721        (-[WebFrame windowObject]): Ditto.
15722        (-[WebFrame globalContext]): Ditto.
15723
15724        * WebView/WebFrameInternal.h: Added overloads of core and kit.
15725        Removed method declarations.
15726
15727        * WebView/WebHTMLRepresentation.mm:
15728        (-[WebHTMLRepresentation documentSource]): Moved code here from WebFrame.
15729        (formElementFromDOMElement): Ditto.
15730        (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
15731        (inputElementFromDOMElement): Ditto.
15732        (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
15733        (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
15734        (-[WebHTMLRepresentation formForElement:]): Ditto.
15735        (-[WebHTMLRepresentation currentForm]): Ditto.
15736        (-[WebHTMLRepresentation controlsInForm:]): Ditto.
15737        (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
15738        (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
15739
15740        * WebView/WebHTMLView.mm:
15741        (-[WebHTMLView _frameOrBoundsChanged]): Moved sendScrollEvent code here from WebFrame.
15742        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
15743        Call createFragmentFromText directly instead of via WebFrame.
15744        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
15745        Moved layout calls here from WebFrame.
15746        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
15747        (-[WebHTMLView _updateFontPanel]): Ditto, but with fontForSelection.
15748        (-[WebHTMLView _canSmartCopyOrDelete]): Ditto, but with selectionGranularity.
15749        (-[WebHTMLView markedRange]): Moved code here from _markedTextNSRange.
15750        (-[WebHTMLView attributedSubstringFromRange:]): Tweaked code a bit.
15751        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
15752        Moved code here from WebFrame.
15753        (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
15754        (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
15755        (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
15756        (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
15757        (-[WebHTMLView unmarkAllTextMatches]): Ditto.
15758        (-[WebHTMLView rectsForTextMatches]): Ditto.
15759
15760        * WebView/WebHTMLViewInternal.h: Removed unused method declarations.
15761
15762        * WebView/WebPDFView.mm:
15763        (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Use core function instead of
15764        _frameLoader method.
15765
15766        * WebView/WebRenderNode.mm:
15767        (copyRenderNode): Moved code here from WebFrame.
15768        (-[WebRenderNode initWithWebFrameView:]): Ditto.
15769
15770        * WebView/WebResource.mm:
15771        (-[WebResource _stringValue]): Moved code here from WebFrame.
15772
15773        * WebView/WebView.mm:
15774        (-[WebView _close]): Use core function intsead of _frameLoader method.
15775        (-[WebView setCustomTextEncodingName:]): Ditto.
15776        (-[WebView setHostWindow:]): Moved code here from WebFrame.
15777        (aeDescFromJSValue): Moved this here from WebFrame.
15778        (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Moved code here from WebFrame.
15779
157802008-03-12  Darin Adler  <darin@apple.com>
15781
15782        Reviewed by Anders.
15783
15784        - http://bugs.webkit.org/show_bug.cgi?id=17640
15785          eliminate WebCoreFrameBridge
15786
15787        Moved all the code from the bridge into WebFrame. This need not be the final
15788        home of these methods -- they can be moved closer to their callers and improved
15789        further -- but it eliminates the bridge without requiring a rewrite of the code.
15790        It's a fairly mechanical process (just adding underscores to method names really).
15791
15792        There's even a chance that some of the methods are unused. Those we can remove
15793        after checking if that's so.
15794
15795        * DOM/WebDOMOperations.mm:
15796        (-[DOMNode markupString]): Use WebFrame rather than bridge.
15797        (-[DOMDocument webFrame]): Changed to use the core and kit functions
15798        instead of using the bridge.
15799        (-[DOMDocument URLWithAttributeString:]): Use WebFrame rather than bridge.
15800        (-[DOMRange markupString]): Ditto.
15801        * DOM/WebDOMOperationsPrivate.h: Removed _bridge methods.
15802
15803        * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded import.
15804        * History/WebHistoryItem.mm: Ditto.
15805
15806        * MigrateHeaders.make: Added DOMDocumentFragmentInternal.h.
15807        * Misc/WebCoreStatistics.mm:
15808        (-[WebFrame renderTreeAsExternalRepresentation]): Use WebFrame rather than bridge.
15809
15810        * Misc/WebElementDictionary.mm: Removed unneeded import.
15811
15812        * Misc/WebKitStatistics.m:
15813        (+[WebKitStatistics bridgeCount]): Removed WebBridgeCount and just return 0.
15814        * Misc/WebKitStatisticsPrivate.h: Ditto.
15815
15816        * Misc/WebNSAttributedStringExtras.mm: Removed unneeded import.
15817        * Misc/WebNSPasteboardExtras.mm: Ditto.
15818
15819        * Plugins/WebBaseNetscapePluginView.mm:
15820        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Use WebFrame
15821        rather than bridge.
15822
15823        * Plugins/WebNetscapePluginEmbeddedView.mm: Removed unneeded import.
15824        * Plugins/WebNetscapePluginStream.mm: Ditto.
15825
15826        * Plugins/WebPluginContainerCheck.mm:
15827        (-[WebPluginContainerCheck _isForbiddenFileLoad]): Use WebFrame rather than
15828        bridge to get to the WebCore::Frame.
15829
15830        * Plugins/WebPluginController.h: Declare webFrame method and remove bridge method.
15831        * Plugins/WebPluginController.mm:
15832        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Use WebFrame
15833        rather than bridge.
15834
15835        * WebCoreSupport/WebEditorClient.mm:
15836        (selectorForKeyEvent): Tweaked comment.
15837
15838        * WebCoreSupport/WebFrameBridge.h: Removed.
15839        * WebCoreSupport/WebFrameBridge.mm: Removed.
15840
15841        * WebCoreSupport/WebFrameLoaderClient.mm:
15842        (WebFrameLoaderClient::frameLoaderDestroyed): Removed bridge assertion.
15843        (WebFrameLoaderClient::detachedFromParent4): Removed bridge teardown code.
15844        I could remove this function entirely, but it looks like the Qt port is using it.
15845
15846        * WebCoreSupport/WebViewFactory.mm: Removed unneeded import.
15847
15848        * WebView/WebArchiver.mm:
15849        (+[WebArchiver archiveRange:]): Use WebFrame rather than bridge.
15850        (+[WebArchiver archiveNode:]): Ditto.
15851        (+[WebArchiver archiveSelectionInFrame:]): Ditto.
15852
15853        * WebView/WebDataSource.mm:
15854        (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): Ditto.
15855        (-[WebDataSource _documentFragmentWithArchive:]): Ditto.
15856        (-[WebDataSource subresources]): Ditto.
15857        (-[WebDataSource subresourceForURL:]): Ditto.
15858
15859        * WebView/WebDataSourceInternal.h: Removed _bridge method.
15860
15861        * WebView/WebFrame.mm:
15862        (-[WebFramePrivate dealloc]): Removed code to release the bridge.
15863        (core): Go directly to the core frame, not via the bridge.
15864        (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
15865        Remove the code to deal with the bridge.
15866        (-[WebFrame _initWithWebFrameView:webView:]): Ditto. Also added code to set the
15867        shouldCreateRenderers flag, formerly on the bridge.
15868        (-[WebFrame _updateBackground]): Change to call mehods on self, not bridge.
15869        (aeDescFromJSValue): Moved here from bridge.
15870        (-[WebFrame _domain]): Ditto.
15871        (-[WebFrame _addData:]): Ditto.
15872        (-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]): Ditto.
15873        (-[WebFrame _nodesFromList:]): Ditto.
15874        (-[WebFrame _markupStringFromNode:nodes:]): Ditto.
15875        (-[WebFrame _markupStringFromRange:nodes:]): Ditto.
15876        (-[WebFrame _selectedString]): Ditto.
15877        (-[WebFrame _stringForRange:]): Ditto.
15878        (-[WebFrame _forceLayoutAdjustingViewSize:]): Ditto.
15879        (-[WebFrame _forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
15880        (-[WebFrame _sendScrollEvent]): Ditto.
15881        (-[WebFrame _drawRect:]): Ditto.
15882        (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): Ditto.
15883        (-[WebFrame _adjustPageHeightNew:top:bottom:limit:]): Ditto.
15884        (-[WebFrame _copyRenderNode:copier:]): Ditto.
15885        (-[WebFrame _copyRenderTree:]): Ditto.
15886        (inputElementFromDOMElement): Ditto.
15887        (formElementFromDOMElement): Ditto.
15888        (-[WebFrame _elementWithName:inForm:]): Ditto.
15889        (-[WebFrame _elementDoesAutoComplete:]): Ditto.
15890        (-[WebFrame _elementIsPassword:]): Ditto.
15891        (-[WebFrame _formForElement:]): Ditto.
15892        (-[WebFrame _currentForm]): Ditto.
15893        (-[WebFrame _controlsInForm:]): Ditto.
15894        (-[WebFrame _searchForLabels:beforeElement:]): Ditto.
15895        (-[WebFrame _matchLabels:againstElement:]): Ditto.
15896        (-[WebFrame _URLWithAttributeString:]): Ditto.
15897        (-[WebFrame _searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
15898        (-[WebFrame _markAllMatchesForText:caseSensitive:limit:]): Ditto.
15899        (-[WebFrame _markedTextMatchesAreHighlighted]): Ditto.
15900        (-[WebFrame _setMarkedTextMatchesAreHighlighted:]): Ditto.
15901        (-[WebFrame _unmarkAllTextMatches]): Ditto.
15902        (-[WebFrame _rectsForTextMatches]): Ditto.
15903        (-[WebFrame _stringByEvaluatingJavaScriptFromString:]): Ditto.
15904        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto.
15905        (-[WebFrame _aeDescByEvaluatingJavaScriptFromString:]): Ditto.
15906        (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
15907        (-[WebFrame _firstRectForDOMRange:]): Ditto.
15908        (-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
15909        (-[WebFrame _baseURL]): Ditto.
15910        (-[WebFrame _stringWithData:]): Ditto.
15911        (+[WebFrame _stringWithData:textEncodingName:]): Ditto.
15912        (-[WebFrame _needsLayout]): Ditto.
15913        (-[WebFrame _renderTreeAsExternalRepresentation]): Ditto.
15914        (-[WebFrame _accessibilityTree]): Ditto.
15915        (-[WebFrame _setBaseBackgroundColor:]): Ditto.
15916        (-[WebFrame _setDrawsBackground:]): Ditto.
15917        (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
15918        Ditto.
15919        (-[WebFrame _selectionGranularity]): Ditto.
15920        (-[WebFrame _convertToNSRange:]): Ditto.
15921        (-[WebFrame _convertToDOMRange:]): Ditto.
15922        (-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
15923        (-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
15924        (-[WebFrame _markDOMRange]): Ditto.
15925        (-[WebFrame _markedTextNSRange]): Ditto.
15926        (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
15927        (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
15928        (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
15929        (-[WebFrame _documentFragmentWithText:inContext:]): Ditto.
15930        (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
15931        (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
15932        (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
15933        (-[WebFrame _replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): Ditto.
15934        (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
15935        (-[WebFrame _insertParagraphSeparatorInQuotedContent]): Ditto.
15936        (-[WebFrame _visiblePositionForPoint:]): Ditto.
15937        (-[WebFrame _characterRangeAtPoint:]): Ditto.
15938        (-[WebFrame _typingStyle]): Ditto.
15939        (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
15940        (-[WebFrame _fontForSelection:]): Ditto.
15941        (-[WebFrame _dragSourceMovedTo:]): Ditto.
15942        (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
15943        (-[WebFrame _getData:andResponse:forURL:]): Ditto.
15944        (-[WebFrame _getAllResourceDatas:andResponses:]): Ditto.
15945        (-[WebFrame _canProvideDocumentSource]): Ditto.
15946        (-[WebFrame _canSaveAsWebArchive]): Ditto.
15947        (-[WebFrame _receivedData:textEncodingName:]): Ditto.
15948        (-[WebFrame _setShouldCreateRenderers:]): Put the code from the bridge in this preexisting
15949        function. Couldn't just keep the bridge method because this was already here with the same name.
15950        (-[WebFrame _selectedNSRange]): Ditto.
15951        (-[WebFrame _selectNSRange:]): Ditto.
15952        (-[WebFrame dealloc]): Remove bridge-related code.
15953        (-[WebFrame finalize]): Ditto.
15954
15955        * WebView/WebFrameInternal.h: Added all the method declarations from the bridge.
15956        Removed the bridge parameter from the init method. Removed the #if blocks that
15957        tried to make this header work in non-C++ ObjC files -- they were broken and unused.
15958        Removed the _bridge method.
15959
15960        * WebView/WebFrameView.mm: Removed the _bridge method.
15961
15962        * WebView/WebHTMLRepresentation.mm:
15963        (-[WebHTMLRepresentation setDataSource:]): Removed the code to set up the bridge
15964        field.
15965        (-[WebHTMLRepresentation receivedData:withDataSource:]): Use WebFrame instead of bridge.
15966        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Ditto.
15967        (-[WebHTMLRepresentation canProvideDocumentSource]): Ditto.
15968        (-[WebHTMLRepresentation canSaveAsWebArchive]): Ditto.
15969        (-[WebHTMLRepresentation documentSource]): Ditto.
15970        (-[WebHTMLRepresentation DOMDocument]): Ditto.
15971        (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
15972        (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
15973        (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
15974        (-[WebHTMLRepresentation formForElement:]): Ditto.
15975        (-[WebHTMLRepresentation currentForm]): Ditto.
15976        (-[WebHTMLRepresentation controlsInForm:]): Ditto.
15977        (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
15978        (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
15979
15980        * WebView/WebHTMLRepresentationPrivate.h: Removed the _bridge method.
15981
15982        * WebView/WebHTMLView.mm:
15983        (-[WebHTMLView _documentFragmentWithPaths:]): Use WebFrame instead of bridge.
15984        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Ditto.
15985        (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
15986        (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
15987        (-[WebHTMLView _frameOrBoundsChanged]): Ditto.
15988        (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
15989        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
15990        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
15991        (-[WebHTMLView drawSingleRect:]): Ditto.
15992        (-[WebHTMLView draggedImage:movedTo:]): Ditto.
15993        (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
15994        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
15995        (-[WebHTMLView knowsPageRange:]): Ditto.
15996        (-[WebHTMLView accessibilityAttributeValue:]): Ditto.
15997        (-[WebHTMLView accessibilityFocusedUIElement]): Ditto.
15998        (-[WebHTMLView accessibilityHitTest:]): Ditto.
15999        (-[WebHTMLView _accessibilityParentForSubview:]): Ditto.
16000        (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
16001        (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
16002        (-[WebHTMLView _changeSpellingToWord:]): Ditto.
16003        (-[WebHTMLView startSpeaking:]): Ditto.
16004        (-[WebHTMLView _updateFontPanel]): Ditto.
16005        (-[WebHTMLView _canSmartCopyOrDelete]): Ditto.
16006        (-[WebHTMLView _layoutIfNeeded]): Ditto.
16007        (-[WebHTMLView characterIndexForPoint:]): Ditto.
16008        (-[WebHTMLView firstRectForCharacterRange:]): Ditto.
16009        (-[WebHTMLView selectedRange]): Ditto.
16010        (-[WebHTMLView markedRange]): Ditto.
16011        (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
16012        (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
16013        (-[WebHTMLView insertText:]): Ditto.
16014        (-[WebTextCompleteController _insertMatch:]): Ditto.
16015        (-[WebTextCompleteController doCompletion]): Ditto.
16016        (-[WebTextCompleteController endRevertingChange:moveLeft:]): Ditto.
16017        (-[WebHTMLView string]): Ditto.
16018        (-[WebHTMLView selectedString]): Ditto.
16019        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
16020        (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
16021        (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
16022        (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
16023        (-[WebHTMLView unmarkAllTextMatches]): Ditto.
16024        (-[WebHTMLView rectsForTextMatches]): Ditto.
16025        * WebView/WebRenderNode.mm:
16026        (-[WebRenderNode initWithWebFrameView:]): Ditto.
16027        * WebView/WebResource.mm:
16028        (-[WebResource _stringValue]): Ditto.
16029
16030        * WebView/WebScriptDebugDelegate.mm: Removed unneeded include.
16031
16032        * WebView/WebView.mm:
16033        (-[WebView _dashboardRegions]): Use WebFrame instead of bridge.
16034        (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
16035        (-[WebView _setInViewSourceMode:]): Ditto.
16036        (-[WebView _inViewSourceMode]): Ditto.
16037        (-[WebView _executeCoreCommandByName:value:]): Ditto.
16038        (-[WebView stringByEvaluatingJavaScriptFromString:]): Ditto.
16039        (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
16040        (-[WebView scrollDOMRangeToVisible:]): Ditto.
16041        (-[WebView setSelectedDOMRange:affinity:]): Ditto.
16042        (-[WebView setEditable:]): Ditto.
16043        (-[WebView setTypingStyle:]): Ditto.
16044        (-[WebView typingStyle]): Ditto.
16045        (-[WebView replaceSelectionWithNode:]): Ditto.
16046        (-[WebView replaceSelectionWithText:]): Ditto.
16047        (-[WebView replaceSelectionWithMarkupString:]): Ditto.
16048        (-[WebView replaceSelectionWithArchive:]): Ditto.
16049        (-[WebView _insertNewlineInQuotedContent]): Ditto.
16050        (-[WebView _replaceSelectionWithNode:matchStyle:]): Ditto.
16051
160522008-03-12  David Hyatt  <hyatt@apple.com>
16053
16054        Make the zoom factor a float and not a percent.
16055
16056        Reviewed by antti
16057
16058        * WebView/WebView.mm:
16059        (-[WebView _setZoomMultiplier:isTextOnly:]):
16060
160612008-03-11  David Hyatt  <hyatt@apple.com>
16062
16063        This patch prepares Mac WebKit to handle two different zooming modes (full page zoom and text only zoom).
16064        New API is added that is parallel to the text zoom public API.  You can get/set a pageSizeMultiplier and you
16065        can zoom the page in, out or reset it to the standard size.
16066
16067        In the implementation only one zoom factor is stored, and setting one multiplier will shift you into that mode
16068        and set the common zoom factor.  In other words you can't combine text zoom and page zoom.  One will always
16069        win.
16070
16071        Reviewed by Tim H.
16072
16073        * WebCoreSupport/WebFrameBridge.mm:
16074        (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
16075        * WebView/WebDocumentInternal.h:
16076        * WebView/WebHTMLView.mm:
16077        (-[WebHTMLView viewDidMoveToSuperview]):
16078        * WebView/WebPDFView.h:
16079        * WebView/WebPDFView.mm:
16080        (-[WebPDFView _zoomOut:]):
16081        (-[WebPDFView _zoomIn:]):
16082        (-[WebPDFView _resetZoom:]):
16083        (-[WebPDFView _canZoomOut]):
16084        (-[WebPDFView _canZoomIn]):
16085        (-[WebPDFView _canResetZoom]):
16086        * WebView/WebView.mm:
16087        (-[WebViewPrivate init]):
16088        (-[WebView setTextSizeMultiplier:]):
16089        (-[WebView textSizeMultiplier]):
16090        (-[WebView _setZoomMultiplier:isTextOnly:]):
16091        (-[WebView _zoomMultiplier:]):
16092        (-[WebView _realZoomMultiplier]):
16093        (-[WebView _realZoomMultiplierIsTextOnly]):
16094        (-[WebView _canZoomOut:]):
16095        (-[WebView _canZoomIn:]):
16096        (-[WebView _zoomOut:isTextOnly:]):
16097        (-[WebView _zoomIn:isTextOnly:]):
16098        (-[WebView _canResetZoom:]):
16099        (-[WebView _resetZoom:isTextOnly:]):
16100        (-[WebView canMakeTextSmaller]):
16101        (-[WebView makeTextSmaller:]):
16102        (-[WebView canMakeTextLarger]):
16103        (-[WebView makeTextLarger:]):
16104        (-[WebView canMakeTextStandardSize]):
16105        (-[WebView makeTextStandardSize:]):
16106        (-[WebView setPageSizeMultiplier:]):
16107        (-[WebView pageSizeMultiplier]):
16108        (-[WebView canZoomPageIn]):
16109        (-[WebView zoomPageIn:]):
16110        (-[WebView canZoomPageOut]):
16111        (-[WebView zoomPageOut:]):
16112        (-[WebView canResetPageZoom]):
16113        (-[WebView resetPageZoom:]):
16114        (-[WebView _searchWithSpotlightFromMenu:]):
16115        * WebView/WebViewInternal.h:
16116        * WebView/WebViewPrivate.h:
16117
161182008-03-12  Dan Bernstein  <mitz@apple.com>
16119
16120        Reviewed by Darin Adler and Sam Weinig.
16121
16122        - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
16123
16124        * WebCoreSupport/WebSystemInterface.m:
16125        (InitWebCoreSystemInterface): Made WKGetCGFontFromNSFont and
16126        WKGetNSFontATSUFontId Tiger-only.
16127
161282008-03-12  Darin Adler  <darin@apple.com>
16129
16130        - fix http://bugs.webkit.org/show_bug.cgi?id=17794
16131          REGRESSION (r30980): 23 tests hanging on the Mac buildbot
16132
16133        * WebView/WebFrame.mm:
16134        (-[WebFrame _initWithWebFrameView:webView:bridge:]): Added missing call to set
16135        up pointer from the bridge to the frame. (My next check-in removes the bridge
16136        entirely, but we need this until then.)
16137
161382008-03-11  Darin Adler  <darin@apple.com>
16139
16140        Reviewed by Sam.
16141
16142        - remove all bridge-related things from WebCore except the bridge itself
16143
16144        * DOM/WebDOMOperations.mm:
16145        (-[DOMNode _bridge]): Reimplemented to not use the bridgeForDOMDocument: method.
16146
16147        * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded include.
16148
16149        * Plugins/WebPluginController.mm: Ditto.
16150
16151        * WebCoreSupport/WebFrameBridge.h: Removed unneeded things, including the
16152        init and close methods. Added a setWebFrame: method.
16153
16154        * WebCoreSupport/WebFrameBridge.mm:
16155        (-[WebFrameBridge setWebFrame:]): Added.
16156
16157        * WebCoreSupport/WebFrameLoaderClient.mm:
16158        (WebFrameLoaderClient::frameLoaderDestroyed): Added an assertion.
16159        (WebFrameLoaderClient::detachedFromParent4): Moved the call to close on the
16160        bridge here. Soon we will be able to remove this entirely!
16161        (WebFrameLoaderClient::createFrame): Rewrote this to use the method moved
16162        into WebFrame from the bridge.
16163
16164        * WebView/WebFrame.mm:
16165        (-[WebFramePrivate dealloc]): Added code to release the bridge, because it's
16166        now owned by the frame.
16167        (-[WebFramePrivate finalize]): Added this missing method. We'd leak the script
16168        debugger under GC without this!
16169        (kit): Rewrote the function that maps from a WebCore::Frame to a WebFrame to
16170        use WebFrameLoaderClient instead of the bridge.
16171        (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Added.
16172        This is code that used to live in the bridge's init function.
16173        (+[WebFrame _createMainFrameWithPage:frameName:frameView:]): Ditto.
16174        (+[WebFrame WebCore::_createSubframeWithOwnerElement:frameName:frameView:]): Ditto.
16175        (-[WebFrame _initWithWebFrameView:webView:bridge:]): Retain the bridge, since
16176        the WebView is now the bridge's owner.
16177        (-[WebFrame _updateBackground]): Changed this one call site that was calling the
16178        WebCore::Frame::bridge function directly to use the kit function instead.
16179        (-[WebFrame dealloc]): Added code to clear the WebFrame pointer in the bridge.
16180        This code won't last long -- we're eliminating the bridge soon.
16181        (-[WebFrame finalize]): Ditto.
16182
16183        * WebView/WebFrameInternal.h: Added a coreFrame backpointer and two new methods
16184        for creating frames.
16185
16186        * WebView/WebView.mm:
16187        (-[WebView _commonInitializationWithFrameName:groupName:]): Rewrote this to use
16188        the method moved into WebFrame from the bridge. Gets rid of the unpleasant idiom
16189        where we have to allocate a WebFrameBridge and then immediately release it.
16190
161912008-03-11  Darin Adler  <darin@apple.com>
16192
16193        Reviewed by Anders.
16194
16195        - remove code depending on the bridge to get from an NSView to a WebCore::Frame
16196
16197        * WebCoreSupport/WebFrameLoaderClient.mm:
16198        (WebFrameLoaderClient::transitionToCommittedForNewPage): Remove incorrect call
16199        to setView. A couple lines later, there is a call to _install, which sets the
16200        view to the scroll view.
16201
16202        * WebCoreSupport/WebViewFactory.mm: Removed bridgeForView method.
16203
16204        * WebView/WebDynamicScrollBarsView.h: Moved most of the declarations out of
16205        this file, since it's used by Safari.
16206        * WebView/WebDynamicScrollBarsViewInternal.h: Added.
16207        * WebView/WebDynamicScrollBarsView.m:
16208        (-[WebDynamicScrollBarsView updateScrollers]): Ditto.
16209        (-[WebDynamicScrollBarsView setAllowsScrolling:]): Ditto.
16210        (-[WebDynamicScrollBarsView allowsScrolling]): Ditto.
16211        (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): Ditto.
16212        (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): Ditto.
16213        (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): Ditto.
16214        (-[WebDynamicScrollBarsView allowsVerticalScrolling]): Ditto.
16215        (-[WebDynamicScrollBarsView horizontalScrollingMode]): Ditto.
16216        (-[WebDynamicScrollBarsView verticalScrollingMode]): Ditto.
16217        (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): Ditto.
16218        (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): Ditto.
16219        (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): Ditto.
16220        (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): Ditto.
16221        (-[WebDynamicScrollBarsView setScrollingMode:]): Ditto.
16222        (-[WebDynamicScrollBarsView setScrollingMode:andLock:]): Ditto.
16223
16224        * WebView/WebFrameView.mm:
16225        (-[WebFrameView _web_frame]): Added. Replaces the webCoreBridge method.
16226
16227        * WebView/WebView.mm:
16228        (-[WebView setAlwaysShowVerticalScroller:]): Updated for changes to WebCoreFrameView.h.
16229        (-[WebView alwaysShowVerticalScroller]): Ditto.
16230        (-[WebView setAlwaysShowHorizontalScroller:]): Ditto.
16231        (-[WebView alwaysShowHorizontalScroller]): Ditto.
16232
162332008-03-11  Darin Adler  <darin@apple.com>
16234
16235        Reviewed by Sam.
16236
16237        - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
16238
16239        * WebCoreSupport/WebChromeClient.h: Added new virtual functions that replace
16240        bridge methods.
16241        * WebCoreSupport/WebChromeClient.mm: Added lots of BEGIN_BLOCK_OBJC_EXCEPTIONS
16242        to recently-created functions.
16243        (WebChromeClient::firstResponder): Moved code here from the bridge.
16244        (WebChromeClient::makeFirstResponder): Ditto.
16245        (WebChromeClient::runOpenPanel): Ditto.
16246        (WebChromeClient::willPopUpMenu): Ditto.
16247
16248        * WebCoreSupport/WebFrameBridge.h: Removed almost everything. What's left
16249        is related to creating the bridge and connecting it to WebCore, which will
16250        go next when I eliminate use of the bridge to get to/from the Frame*.
16251        * WebCoreSupport/WebFrameBridge.mm:
16252        (-[WebFrameBridge close]): Moved the code to track the bridge count here
16253        instead of the dealloc and finalize methods.
16254
162552008-03-11  Darin Adler  <darin@apple.com>
16256
16257        Reviewed by Mitz.
16258
16259        - update code affected by Range changes
16260
16261        * Misc/WebNSAttributedStringExtras.mm:
16262        (+[NSAttributedString _web_attributedStringFromRange:]): Update for name changes.
16263        * WebView/WebHTMLRepresentation.mm:
16264        (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
16265        Use Range::create.
16266        * WebView/WebHTMLView.mm:
16267        (-[WebHTMLView attributedString]): Ditto.
16268
162692008-03-10  Darin Adler  <darin@apple.com>
16270
16271        Reviewed by Sam.
16272
16273        - eliminate keyboard UI mode method from WebCoreFrameBridge
16274
16275        * WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function.
16276        * WebCoreSupport/WebChromeClient.mm:
16277        (WebChromeClient::keyboardUIMode): Ditto. Calls WebView.
16278        * WebCoreSupport/WebFrameBridge.h: Removed unused things, including the
16279        fields for keyboard UI mode.
16280        * WebCoreSupport/WebFrameBridge.mm:
16281        (-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini
16282        method.
16283        (-[WebFrameBridge finalize]): Ditto.
16284        * WebView/WebView.mm: Moved the keyboard mode code in here.
16285        (-[WebView _close]): Remove observer from the distributed notification
16286        center as well as the normal one.
16287        (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved
16288        here from the bridge.
16289        (-[WebView _keyboardUIMode]): Ditto.
16290        * WebView/WebViewInternal.h: Added _keyboardUIMode method.
16291
162922008-03-10  Darin Adler  <darin@apple.com>
16293
16294        Reviewed by Sam.
16295
16296        - eliminate Java applet methods from WebCoreFrameBridge
16297
16298        * WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations.
16299        * WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including
16300        the ones that load Java applets.
16301        * WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function.
16302        * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
16303
163042008-03-07  Simon Hausmann  <hausmann@webkit.org>
16305
16306        Reviewed by Darin Adler.
16307
16308        Done with Lars.
16309
16310        Simplified WebViewFactory's refreshPlugins method to only refresh the
16311        plugins and not reload the frames anymore since that's now done in a
16312        platform independent manner by WebCore::Page.
16313
16314        Also removed the now unused pluginNameForMIMEType and
16315        pluginSupportsMIMEType methods.
16316
16317        * WebCoreSupport/WebViewFactory.mm:
16318        * WebView/WebFrame.mm:
16319        * WebView/WebFrameInternal.h:
16320        * WebView/WebView.mm:
16321
163222008-03-08  Mark Rowe  <mrowe@apple.com>
16323
16324        Reviewed by Darin Adler.
16325
16326        Fix 64-bit build with GCC 4.2.
16327
16328        * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required.
16329        * DefaultDelegates/WebDefaultUIDelegate.m: Ditto.
16330        * History/WebHistoryItem.mm: Ditto.
16331        * Misc/WebElementDictionary.mm: Ditto.
16332        * WebCoreSupport/WebFrameLoaderClient.mm:
16333        (WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the
16334        variable being unused in 64-bit.
16335        * WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required.
16336        * WebView/WebHTMLView.mm:
16337        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required.
16338        (-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required.
16339
163402008-03-08  Darin Adler  <darin@apple.com>
16341
16342        Reviewed by Adele.
16343
16344        - eliminate custom highlight methods from WebCoreFrameBridge
16345
16346        * WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
16347        * WebCoreSupport/WebChromeClient.mm:
16348        (WebChromeClient::customHighlightRect): Moved code here from bridge.
16349        (WebChromeClient::paintCustomHighlight): Ditto.
16350        * WebCoreSupport/WebFrameBridge.mm: Removed code here.
16351
163522008-03-07  David D. Kilzer  <ddkilzer@apple.com>
16353
16354        Unify concept of enabling Netscape Plug-in API (NPAPI).
16355
16356        Reviewed by Darin Adler.
16357
16358        * WebKit.exp: Removed unused class export for WebBaseNetscapePluginView.
16359
16360        * WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use
16361        ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
16362
16363        * Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef __LP64__ with
16364        #if ENABLE(NETSCAPE_PLUGIN_API).
16365        * Plugins/WebBaseNetscapePluginStream.mm: Ditto.
16366        * Plugins/WebBaseNetscapePluginView.h: Ditto.
16367        * Plugins/WebBaseNetscapePluginView.mm: Ditto.
16368        * Plugins/WebBaseNetscapePluginViewInternal.h: Ditto.
16369        * Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto.
16370        * Plugins/WebBasePluginPackage.h: Ditto.
16371        * Plugins/WebBasePluginPackage.m: Ditto.
16372        (+[WebBasePluginPackage pluginWithPath:]):
16373        * Plugins/WebNetscapeDeprecatedFunctions.c: Ditto.
16374        * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
16375        * Plugins/WebNetscapePluginEmbeddedView.h: Ditto.
16376        * Plugins/WebNetscapePluginEmbeddedView.mm: Ditto.
16377        * Plugins/WebNetscapePluginPackage.h: Ditto.
16378        * Plugins/WebNetscapePluginPackage.m: Ditto.
16379        * Plugins/WebNetscapePluginStream.h: Ditto.
16380        * Plugins/WebNetscapePluginStream.mm: Ditto.
16381        * Plugins/WebPluginDatabase.m: Ditto.
16382        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
16383        * Plugins/npapi.m: Ditto.
16384        * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
16385        (WebFrameLoaderClient::objectContentType):
16386        (WebFrameLoaderClient::createPlugin):
16387        * WebView/WebHTMLView.mm: Ditto.
16388        (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
16389        * WebView/WebHTMLViewInternal.h: Ditto.
16390
16391        * WebView/WebFrame.mm: Replaced #ifndef __LP64__ with
16392        #if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate)
16393        category to (WebInternal) category so we don't expose the ENABLE() macro
16394        from the private header.
16395        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
16396        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
16397        * WebView/WebFrameInternal.h: Ditto.
16398        * WebView/WebFramePrivate.h: Ditto.
16399
164002008-03-07  Alexey Proskuryakov  <ap@webkit.org>
16401
16402        Reviewed by Darin Adler.
16403
16404        <rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean
16405        changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
16406
16407        * WebView/WebPreferences.m:
16408        (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match
16409        the one used in Safari.
16410
164112008-03-07  Mark Rowe  <mrowe@apple.com>
16412
16413        Reviewed by Oliver Hunt.
16414
16415        Fix WebKit build with GCC 4.2.
16416
16417        * Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature.
16418
164192008-03-07  Darin Adler  <darin@apple.com>
16420
16421        Reviewed by Adam.
16422
16423        - eliminated WebCoreFrameBridge runOpenPanel
16424
16425        * WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
16426        * WebCoreSupport/WebChromeClient.mm:
16427        (WebChromeClient::runOpenPanel): Added.
16428        (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the
16429        FileChooser so it can get a result from the UI delegate.
16430        (-[WebOpenPanelResultListener dealloc]): Added.
16431        (-[WebOpenPanelResultListener finalize]): Added.
16432        (-[WebOpenPanelResultListener cancel]): Added.
16433        (-[WebOpenPanelResultListener chooseFilename:]): Added.
16434
164352008-03-06  Darin Adler  <darin@apple.com>
16436
16437        Reviewed by Mitz.
16438
16439        - fix regression test failures from the visited-link change
16440
16441        * History/WebHistory.mm:
16442        (+[WebHistory setOptionalSharedHistory:]): Call PageGroup::setShouldTrackVisitedLinks
16443        to turn off visited links if there is no history object. Also call
16444        removeAllVisitedLinks so we can start over from scratch with the new history.
16445
164462008-03-06  Dan Bernstein  <mitz@apple.com>
16447
16448        Reviewed by Darin Adler.
16449
16450        - fix a regression from r30741: a crash under
16451          WebFrameLoaderClient::createPlugin() when showing a Mail message with
16452          an attachment
16453
16454        * WebCoreSupport/WebFrameLoaderClient.mm:
16455        (WebFrameLoaderClient::createPlugin):
16456
164572008-03-06  Darin Adler  <darin@apple.com>
16458
16459        - fix Tiger build
16460
16461        * History/WebHistory.mm: Added include of WebTypesInternal.h.
16462
164632008-03-06  Darin Adler  <darin@apple.com>
16464
16465        - fix Release build
16466
16467        * History/WebHistory.mm:
16468        (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore.
16469        (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if.
16470        (-[WebHistoryPrivate saveToURL:error:]): Ditto.
16471
164722008-03-06  Darin Adler  <darin@apple.com>
16473
16474        Reviewed by Mitz.
16475
16476        - fix http://bugs.webkit.org/show_bug.cgi?id=17526
16477          REGRESSION: iframes are added to Safari's History menu
16478          by separating the visited link machinery from global history
16479
16480        * History/WebHistory.mm: Moved WebHistoryPrivate inside this file.
16481        (-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this
16482        method name, since it's on a private object.
16483        (-[WebHistoryPrivate removeItemForURLString:]): Added a call to the
16484        PageGroup::removeAllVisitedLinks function if the last URL was removed.
16485        (-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this
16486        method name, since it's on a private object.
16487        (-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks.
16488        (-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this
16489        method name, since it's on a private object.
16490        (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
16491        Ditto.
16492        (-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this
16493        to correctly return the error by using the newer version of writeToURL: and
16494        removed the FIXME about that.
16495        (-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Added. Calls addVisitedLink
16496        for every link in the history.
16497        (-[WebHistory saveToURL:error:]): Removed the FIXME, since we do get the error now.
16498        (-[WebHistory addItem:]): Moved into the WebPrivate category.
16499        (-[WebHistory addItemForURL:]): Ditto.
16500        (-[WebHistory _addItemForURL:title:]): Added. Used for the normal case where we
16501        create an item and already know its title.
16502        (-[WebHistory ageLimitDate]): Moved into the WebPrivate category.
16503        (-[WebHistory containsItemForURLString:]): Ditto.
16504        (-[WebHistory removeItem:]): Ditto.
16505        (-[WebHistory setLastVisitedTimeInterval:forItem:]): Ditto.
16506        (-[WebHistory _itemForURLString:]): Ditto.
16507        (-[WebHistory _addVisitedLinksToPageGroup:]): Added. For use only inside WebKit.
16508
16509        * History/WebHistoryInternal.h: Added.
16510        * History/WebHistoryItemInternal.h: Tweaked formatting and includes.
16511        * History/WebHistoryPrivate.h: Moved the WebHistoryPrivate class out of this header.
16512        Also reorganized what was left behind.
16513
16514        * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
16515        * WebCoreSupport/WebChromeClient.mm:
16516        (WebChromeClient::populateVisitedLinks): Added a call to the new
16517        -[WebHistory _addVisitedLinksToPageGroup:] method.
16518
16519        * WebCoreSupport/WebFrameLoaderClient.mm:
16520        (WebFrameLoaderClient::updateGlobalHistory): Changed code to use the new
16521        -[WebHistory _addItemForURL:title:] method.
16522
165232008-03-05  Adam Roben  <aroben@apple.com>
16524
16525        Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}
16526
16527        Reviewed by Kevin M.
16528
16529        * WebView/WebFrame.mm:
16530        * WebView/WebScriptDebugDelegate.mm:
16531        * WebView/WebScriptDebugger.h: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.h.
16532        * WebView/WebScriptDebugger.mm: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.mm.
16533
165342008-03-05  Adam Roben  <aroben@apple.com>
16535
16536        Rename WebCoreScriptDebuggerImp to WebScriptDebugger
16537
16538        Reviewed by Kevin M.
16539
16540        * WebView/WebCoreScriptDebuggerImp.h:
16541        * WebView/WebCoreScriptDebuggerImp.mm:
16542        * WebView/WebFrame.mm:
16543        (-[WebFrame _attachScriptDebugger]):
16544        * WebView/WebFrameInternal.h:
16545
165462008-03-05  Adam Roben  <aroben@apple.com>
16547
16548        Remove WebScriptDebugger
16549
16550        Uses of WebScriptDebugger have been replaced with
16551        WebCoreScriptDebuggerImp.
16552
16553        Reviewed by Kevin M.
16554
16555        * WebView/WebFrame.mm:
16556        (-[WebFramePrivate dealloc]): Use delete instead of release since
16557        WebCoreScriptDebuggerImp is a C++ class.
16558        (-[WebFrame _attachScriptDebugger]): Updated to use early returns and
16559        WebCoreScriptDebuggerImp.
16560        (-[WebFrame _detachScriptDebugger]): Ditto.
16561        * WebView/WebFrameInternal.h:
16562        * WebView/WebScriptDebugDelegate.mm: Removed WebScriptDebugger
16563        * WebView/WebScriptDebugDelegatePrivate.h: Removed.
16564        * WebView/WebView.mm:
16565
165662008-03-05  Adam Roben  <aroben@apple.com>
16567
16568        Remove -webFrame and -globalObject from WebScriptDebugger
16569
16570        WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger
16571
16572        Reviewed by Kevin M.
16573
16574        * WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger*
16575        parameter to the constructor.
16576        * WebView/WebCoreScriptDebuggerImp.mm:
16577        (toWebFrame): Added.
16578        (WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame.
16579        (WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's
16580        WindowScriptObject ourselves instead of asking WebScriptDebugger for
16581        it.
16582        (WebCoreScriptDebuggerImp::atStatement): Call toWebFrame.
16583        (WebCoreScriptDebuggerImp::returnEvent): Ditto.
16584        (WebCoreScriptDebuggerImp::exception): Ditto.
16585        * WebView/WebScriptDebugDelegate.mm:
16586        (-[WebScriptDebugger initWithWebFrame:]): Updated for change to
16587        WebScriptDebuggerImp's constructor.
16588        * WebView/WebScriptDebugDelegatePrivate.h: Removed
16589        -webFrame/-globalObject.
16590
165912008-03-05  Adam Roben  <aroben@apple.com>
16592
16593        Remove -enterFrame: and -leaveFrame from WebScriptDebugger
16594
16595        Reviewed by Kevin M.
16596
16597        * WebView/WebCoreScriptDebuggerImp.h: Changed to store m_topCallFrame
16598        in a RetainPtr, now that WebCoreScriptDebuggerImp is in charge of its
16599        lifetime.
16600        * WebView/WebCoreScriptDebuggerImp.mm:
16601          - Added declaration of -[WebScriptCallFrame
16602            _initWithGlobalObject:caller:state:].
16603          - Changed most uses of m_topCallFrame to m_topCallFrame.get()
16604        (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Removed
16605        now-unnecessary initialization of m_topCallFrame.
16606        (WebCoreScriptDebuggerImp::callEvent): Replaced call to enterFrame:
16607        with its implementation. The one difference between this
16608        implementation and the old enterFrame: method is that we don't hand
16609        our reference to m_topCallFrame to _initWithGlobalObject: -- that
16610        method must now retain the passed-in WebScriptCallFrame manually.
16611        (WebCoreScriptDebuggerImp::atStatement):
16612        (WebCoreScriptDebuggerImp::returnEvent): Replaced call to leaveFrame
16613        with its implementation.
16614        (WebCoreScriptDebuggerImp::exception):
16615        * WebView/WebScriptDebugDelegate.mm: Removed declaration of
16616        -[WebScriptCallFrame _initWithGlobalObject:caller:state:].
16617        (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Changed
16618        to retain the passed-in caller.
16619        * WebView/WebScriptDebugDelegatePrivate.h:
16620          - Removed _current ivar
16621          - Removed enterFrame:/leaveFrame declarations.
16622
166232008-03-05  Adam Roben  <aroben@apple.com>
16624
16625        Remove -parsedSource: from WebScriptDebugger
16626
16627        Reviewed by Kevin M.
16628
16629        * WebView/WebCoreScriptDebuggerImp.mm:
16630        (WebCoreScriptDebuggerImp::sourceParsed): Moved code here from
16631        -[WebScriptDebugger parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]
16632        * WebView/WebScriptDebugDelegate.mm: Removed -parsedSource:.
16633        * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
16634
166352008-03-05  Adam Roben  <aroben@apple.com>
16636
16637        Remove -enteredFrame:, -leavingFrame:, and -exceptionRaised: from WebScriptDebugger
16638
16639        Reviewed by Kevin M.
16640
16641        * WebView/WebCoreScriptDebuggerImp.mm:
16642        (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Changed to call
16643        trhough to callEvent instead of duplicating its code here.
16644        (WebCoreScriptDebuggerImp::callEvent): Moved code from
16645        -[WebScriptDebugger enteredFrame:sourceId:line:] here.
16646        (WebCoreScriptDebuggerImp::returnEvent): Moved code from
16647        -[WebScriptDebugger leavingFrame:sourceId:line:] here.
16648        (WebCoreScriptDebuggerImp::exception): Moved code from
16649        -[WebScriptDebugger exceptionRaised:sourceId:line:] here.
16650        * WebView/WebScriptDebugDelegate.mm: Removed -enteredFrame:,
16651        -leavingFrame:, and -exceptionRaised:.
16652        * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
16653
166542008-03-05  Adam Roben  <aroben@apple.com>
16655
16656        Remove -[WebScriptDebugger hitStatement:sourceId:line:]
16657
16658        Reviewed by Kevin M.
16659
16660        * WebView/WebCoreScriptDebuggerImp.mm:
16661        (WebCoreScriptDebuggerImp::atStatement): Moved code here from
16662        -[WebScriptDebugger hitStatement:sourceId:line:].
16663        * WebView/WebScriptDebugDelegate.mm:
16664        (-[WebScriptDebugger webFrame]): Added.
16665        * WebView/WebScriptDebugDelegatePrivate.h:
16666
166672008-03-05  Adam Roben  <aroben@apple.com>
16668
16669        Remove WebCoreScriptDebugger
16670
16671        Reviewed by Kevin M.
16672
16673        * WebView/WebCoreScriptDebugger.h: Removed.
16674        * WebView/WebCoreScriptDebugger.mm: Removed.
16675        * WebView/WebCoreScriptDebuggerImp.h: Replaced WebCoreScriptDebugger
16676        with WebScriptDebugger.
16677        * WebView/WebCoreScriptDebuggerImp.mm: Ditto, and replaced [m_debugger
16678        delegate] with just m_debugger.
16679        (toNSString): Moved here from WebCoreScriptDebugger.mm.
16680        (toNSURL): Ditto.
16681        (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
16682        (WebCoreScriptDebuggerImp::sourceParsed):
16683        (WebCoreScriptDebuggerImp::callEvent):
16684        (WebCoreScriptDebuggerImp::atStatement):
16685        (WebCoreScriptDebuggerImp::returnEvent):
16686        (WebCoreScriptDebuggerImp::exception):
16687        * WebView/WebScriptDebugDelegate.mm:
16688        (-[WebScriptDebugger initWithWebFrame:]): _debugger now holds a
16689        WebCoreScriptDebuggerImp, so initialize it properly.
16690        * WebView/WebScriptDebugDelegatePrivate.h: Changed _debugger to hold a
16691        WebCoreScriptDebuggerImp.
16692
166932008-03-05  Adam Roben  <aroben@apple.com>
16694
16695        Move WebCoreScriptDebuggerImp to its own source files
16696
16697        Also changed WebCoreScriptDebuggerImp coding style to match our style
16698        guidelines.
16699
16700        Reviewed by Kevin M.
16701
16702        * WebView/WebCoreScriptDebugger.h: Added declaration of toNSURL
16703        function.
16704        * WebView/WebCoreScriptDebugger.mm: Removed WebCoreScriptDebuggerImp
16705        implementation.
16706        (toNSURL): Made no longer static.
16707        * WebView/WebCoreScriptDebuggerImp.h: Added.
16708        * WebView/WebCoreScriptDebuggerImp.mm: Added. Code was moved here from
16709        WebCoreScriptDebugger.mm and cleaned up.
16710        (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
16711        (WebCoreScriptDebuggerImp::sourceParsed):
16712        (WebCoreScriptDebuggerImp::callEvent):
16713        (WebCoreScriptDebuggerImp::atStatement):
16714        (WebCoreScriptDebuggerImp::returnEvent):
16715        (WebCoreScriptDebuggerImp::exception):
16716
167172008-03-05  Adam Roben  <aroben@apple.com>
16718
16719        Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDebugger
16720
16721        Reviewed by Kevin M.
16722
16723        * WebView/WebCoreScriptDebugger.h:
16724          - Removed newFrameWithGlobalObject:caller:state: from
16725            WebScriptDebugger protocol
16726          - Added enterFrame: and leaveFrame: to WebScriptDebugger protocol
16727          - Removed _current ivar from WebCoreScriptDebugger
16728        * WebView/WebCoreScriptDebugger.mm:
16729        (WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on
16730        the delegate.
16731        (WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame.
16732        * WebView/WebScriptDebugDelegate.mm:
16733        (-[WebScriptDebugger dealloc]): Added code to release _current.
16734        (-[WebScriptDebugger enterFrame:]): Added. Code came from
16735        WebCoreScriptDebugger.
16736        (-[WebScriptDebugger leaveFrame]): Ditto.
16737        * WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar.
16738
167392008-03-05  Adam Roben  <aroben@apple.com>
16740
16741        Remove WebCoreScriptCallFrame
16742
16743        Reviewed by Tim.
16744
16745        * WebView/WebCoreScriptDebugger.h:
16746          - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
16747          - Replaced -newWrapperForFrame: with
16748            -newFrameWithGlobalObject:caller:state:
16749          - Removed WebCoreScriptCallFrame interface.
16750        * WebView/WebCoreScriptDebugger.mm: Replaced WebCoreScriptCallFrame
16751        with WebScriptCallFrame.
16752        (-[WebCoreScriptDebugger _enterFrame:]): Changed to call
16753        -newFrameWithGlobalObject:caller:state.
16754        (-[WebCoreScriptDebugger _leaveFrame]):
16755        * WebView/WebScriptDebugDelegate.h: Changed WebScriptCallFrame's
16756        _private ivar to be of type WebScriptCallFramePrivate*.
16757        * WebView/WebScriptDebugDelegate.mm:
16758          - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
16759          - Added WebScriptCallFramePrivate
16760        (-[WebScriptDebugger enteredFrame:sourceId:line:]):
16761        (-[WebScriptDebugger hitStatement:sourceId:line:]):
16762        (-[WebScriptDebugger leavingFrame:sourceId:line:]):
16763        (-[WebScriptDebugger exceptionRaised:sourceId:line:]):
16764        (-[WebScriptCallFramePrivate dealloc]): Added.
16765        (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Added.
16766        Code came from WebCoreScriptCallFrame.
16767        (-[WebScriptCallFrame dealloc]): Added a call to release the _private
16768        ivar.
16769        (-[WebScriptCallFrame _convertValueToObjcValue:]): Replaced calls to
16770        _private with direct access of _private's ivars.
16771        (-[WebScriptCallFrame caller]): Ditto.
16772        (-[WebScriptCallFrame scopeChain]): Ditto.
16773        (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
16774
167752008-03-05  Adam Roben  <aroben@apple.com>
16776
16777        Move -_convertValueToObjcValue to WebScriptCallFrame
16778
16779        Reviewed by Darin Adler.
16780
16781        * WebView/WebCoreScriptDebugger.h: Removed declaration of
16782        -_convertValueToObjcValue.
16783        * WebView/WebCoreScriptDebugger.mm: Removed -_convertValueToObjcValue.
16784        * WebView/WebScriptDebugDelegate.mm:
16785        (-[WebScriptCallFrame _convertValueToObjcValue:]): Added. Code came
16786        from -[WebCoreScriptCallFrame _convertValueToObjcValue].
16787        (-[WebScriptCallFrame scopeChain]): Changed to call
16788        -_convertValueToObjcValue on self instead of _private.
16789        (-[WebScriptCallFrame exception]): Ditto.
16790        (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
16791
167922008-03-05  Adam Roben  <aroben@apple.com>
16793
16794        Move -exception and -evaluateWebScript: to WebScriptCallFrame
16795
16796        Reviewed by Darin Adler.
16797
16798        * WebView/WebCoreScriptDebugger.h: Removed declarations of -exception
16799        and -evaluateWebScript:.
16800        * WebView/WebCoreScriptDebugger.mm: Removed -exception and
16801        -evaluateWebScript:.
16802        * WebView/WebScriptDebugDelegate.mm:
16803        (-[WebScriptCallFrame exception]): Added. Code came from
16804        -[WebCoreScriptCallFrame exception].
16805        (-[WebScriptCallFrame evaluateWebScript:]): Added. Code came from
16806        -[WebCoreScriptCallFrame evaluateWebScript:].
16807
168082008-03-05  Adam Roben  <aroben@apple.com>
16809
16810        Move -scopeChain to WebScriptCallFrame
16811
16812        Reviewed by Darin Adler.
16813
16814        * WebView/WebCoreScriptDebugger.h:
16815          - Added declarations of -globalObject and -_convertValueToObjcValue:
16816            to WebCoreScriptCallFrame
16817          - Removed declaration of -scopeChain.
16818        * WebView/WebCoreScriptDebugger.mm: Moved -_convertValueToObjcValue
16819        within the main WebCoreScriptCallFrame implementation.
16820        (-[WebCoreScriptCallFrame globalObject]): Added.
16821        * WebView/WebScriptDebugDelegate.mm:
16822        (-[WebScriptCallFrame scopeChain]): Added. Code came from
16823        -[WebCoreScriptCallFrame scopeChain].
16824
168252008-03-05  Adam Roben  <aroben@apple.com>
16826
16827        Move -functionName from WebCoreScriptCallFrame to WebScriptCallFrame
16828
16829        Reviewed by Darin Adler.
16830
16831        * WebView/WebCoreScriptDebugger.h:
16832          - Removed #else case of #ifdef __cplusplus since this file is only
16833            ever used by C++ Objective-C files
16834          - Removed 'using KJS::ExecState' statement since we prefer not to
16835            have using statements in header files
16836          - Consequently prefixed uses of ExecState with KJS::
16837          - Added declaration of toNSString method that takes a const
16838            UString&
16839          - Added declaration of -[WebCoreScriptCallFrame state]
16840          - Removed declaration of -[WebCoreScriptCallFrame functionName]
16841        * WebView/WebCoreScriptDebugger.mm:
16842        (toNSString): Made this no longer static.
16843        (-[WebCoreScriptCallFrame state]): Added.
16844        * WebView/WebScriptDebugDelegate.mm:
16845        (-[WebScriptCallFrame functionName]): Added. Code came from
16846        -[WebCoreScriptCallFrame functionName], though I changed some nested
16847        ifs into early returns.
16848
168492008-03-05  Adam Roben  <aroben@apple.com>
16850
16851        Move WebCoreScriptDebugger to WebKit
16852
16853        Reviewed by Darin Adler.
16854
16855        * WebView/WebCoreScriptDebugger.h: Renamed from WebCore/page/mac/WebCoreScriptDebugger.h.
16856        * WebView/WebCoreScriptDebugger.mm: Renamed from WebCore/page/mac/WebCoreScriptDebugger.mm.
16857        (toNSString):
16858        (toNSURL):
16859        (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
16860        (WebCoreScriptDebuggerImp::sourceParsed):
16861        (WebCoreScriptDebuggerImp::callEvent):
16862        (WebCoreScriptDebuggerImp::atStatement):
16863        (WebCoreScriptDebuggerImp::returnEvent):
16864        (WebCoreScriptDebuggerImp::exception):
16865        (+[WebCoreScriptDebugger initialize]):
16866        (-[WebCoreScriptDebugger initWithDelegate:]):
16867        (-[WebCoreScriptDebugger dealloc]):
16868        (-[WebCoreScriptDebugger finalize]):
16869        (-[WebCoreScriptDebugger delegate]):
16870        (-[WebCoreScriptDebugger _enterFrame:]):
16871        (-[WebCoreScriptDebugger _leaveFrame]):
16872        (-[WebCoreScriptCallFrame _initWithGlobalObject:caller:state:]):
16873        (-[WebCoreScriptCallFrame _setWrapper:]):
16874        (-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
16875        (-[WebCoreScriptCallFrame dealloc]):
16876        (-[WebCoreScriptCallFrame wrapper]):
16877        (-[WebCoreScriptCallFrame caller]):
16878        (-[WebCoreScriptCallFrame scopeChain]):
16879        (-[WebCoreScriptCallFrame functionName]):
16880        (-[WebCoreScriptCallFrame exception]):
16881        (-[WebCoreScriptCallFrame evaluateWebScript:]):
16882        * WebView/WebScriptDebugDelegate.mm: Updated header path.
16883        * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
16884
168852008-03-05  Anders Carlsson  <andersca@apple.com>
16886
16887        Reviewed by Geoff.
16888
16889        Include file changes.
16890
16891        * Plugins/WebBaseNetscapePluginView.mm:
16892        * Plugins/WebNetscapePluginPackage.m:
16893
168942008-03-04  Timothy Hatcher  <timothy@apple.com>
16895
16896        Reviewed by Darin Adler.
16897
16898        <rdar://problem/5720160> Browser windows "do nothing" while modal
16899        dialog or menu is up due to run loop modes (or while scrolling)
16900
16901        Add new API that lets a WebView be scheduled with multiple runloops and modes.
16902        This lets loading continue when in a nested runloop or in a different mode.
16903
16904        * Misc/WebKitVersionChecks.h: Add a new version define:
16905        WEBKIT_FIRST_VERSION_WITH_LOADING_DURING_COMMON_RUNLOOP_MODES.
16906        * WebView/WebView.mm:
16907        (-[WebView _commonInitializationWithFrameName:groupName:]): Schedule in the main runloop and with
16908        the default runloop mode if we are linked on an earlier WebKit version, use common modes otherwise.
16909        (-[WebView scheduleInRunLoop:forMode:]): New API, that calls through to Page.
16910        (-[WebView unscheduleFromRunLoop:forMode:]): Ditto.
16911        * WebView/WebViewPrivate.h: Add the new pending API methods.
16912
169132008-03-04  Anders Carlsson  <andersca@apple.com>
16914
16915        Reviewed by Darin Adler.
16916
16917        Fix crash that happens when trying to load a page with a Java applet.
16918
16919        * WebCoreSupport/WebFrameLoaderClient.mm:
16920        Don't release the names and values array - the kit method returns an autoreleased array.
16921
169222008-03-04  Darin Adler  <darin@apple.com>
16923
16924        Reviewed by Adam.
16925
16926        - fix 200+ failing regression tests
16927        - fix http://bugs.webkit.org/show_bug.cgi?id=17668
16928          Vertical scrollbar at slashdot.org is randomly not shown
16929
16930        * WebCoreSupport/WebFrameLoaderClient.mm:
16931        (WebFrameLoaderClient::transitionToCommittedForNewPage): Changed the refcounting
16932        code here to exactly match the way it was before it was moved from WebCore. I had
16933        introduced a storage leak and that was causing problems with scroll bars!
16934
169352008-03-04  Darin Adler  <darin@apple.com>
16936
16937        Reviewed by Adam.
16938
16939        - remove WebCoreFrameBridge reapplyStyles method
16940
16941        * WebView/WebHTMLView.mm:
16942        (-[WebHTMLView reapplyStyles]): Moved code to reapply styles here from the bridge.
16943
169442008-03-04  Darin Adler  <darin@apple.com>
16945
16946        Reviewed by Adam.
16947
16948        - eliminate WebCoreFrameBridge createFrameViewWithNSView
16949
16950        * WebCoreSupport/WebFrameLoaderClient.mm:
16951        (WebFrameLoaderClient::transitionToCommittedForNewPage):
16952        Moved code here from createFrameViewWithNSView.
16953
169542008-03-04  Darin Adler  <darin@apple.com>
16955
16956        Reviewed by Adam.
16957
16958        - removed WebCoreFrameBridge scrollOverflowInDirection
16959
16960        * WebView/WebFrameView.mm:
16961        (-[WebFrameView _scrollOverflowInDirection:granularity:]): Changed to call
16962        EventHandler directly instead of using the bridge.
16963        (-[WebFrameView scrollToBeginningOfDocument:]): Updated to use WebCore enums instead
16964        of the ones from the bridge.
16965        (-[WebFrameView scrollToEndOfDocument:]): Ditto.
16966        (-[WebFrameView _pageVertically:]): Ditto.
16967        (-[WebFrameView _pageHorizontally:]): Ditto.
16968        (-[WebFrameView _scrollLineVertically:]): Ditto.
16969        (-[WebFrameView _scrollLineHorizontally:]): Ditto.
16970
169712008-03-04  Darin Adler  <darin@apple.com>
16972
16973        Reviewed by Adam.
16974
16975        - remove WebCoreFrameBridge installInFrame: method
16976
16977        * WebCoreSupport/WebFrameLoaderClient.mm:
16978        (WebFrameLoaderClient::transitionToCommittedForNewPage): Call
16979        -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
16980        * WebView/WebFrameView.mm:
16981        (-[WebFrameView _install]): Added. Has code from -[WebCoreFrameBridge installInFrame:].
16982        (-[WebFrameView _setCustomScrollViewClass:]): Used early return idiom so the entire
16983        method isn't nested inside an if statement. Call
16984        -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
16985        * WebView/WebFrameViewInternal.h: Added declaration of _install method so it can be
16986        used in WebFrameLoaderClient.mm.
16987
169882008-03-04  Darin Adler  <darin@apple.com>
16989
16990        Reviewed by Adam.
16991
16992        - remove WebCoreFrameBridge window method
16993
16994        * WebCoreSupport/WebFrameBridge.mm: Removed window method.
16995
169962008-03-04  Darin Adler  <darin@apple.com>
16997
16998        Reviewed by Adam.
16999
17000        - move code from WebFrameBridge into WebFrameLoaderClient
17001
17002        * WebCoreSupport/WebFrameBridge.h: Removed unused fields, changed frame name parameters
17003        to use WebCore::String instead of NSString, add initSubframeWithOwnerElement declaration,
17004        removed viewForPluginWithFrame, viewForJavaAppletWithFrame, createChildFrameNamed,
17005        redirectDataToPlugin, determineObjectFromMIMEType, and windowObjectCleared methods.
17006        * WebCoreSupport/WebFrameBridge.mm:
17007        (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
17008        Changed to use WebCore::String.
17009        (-[WebFrameBridge initMainFrameWithPage:frameName:WebCore::frameView:]): Ditto.
17010        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:WebCore::frameView:]): Ditto.
17011
17012        * WebCoreSupport/WebFrameLoaderClient.mm:
17013        (WebFrameLoaderClient::setOriginalURLForDownload): Removed some dead code I found here
17014        and added a FIXME.
17015        (WebFrameLoaderClient::createFrame): Moved the code from WebFrameBridge here.
17016        (WebFrameLoaderClient::objectContentType): Ditto.
17017        (parameterValue): Added.  Helper function, based on code originally in WebFrameBridge.
17018        (pluginView): Ditto.
17019        (WebFrameLoaderClient::createPlugin): Moved the code from WebFrameBridge here.
17020
170212008-03-04  Darin Adler  <darin@apple.com>
17022
17023        Reviewed by Adam.
17024
17025        - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
17026
17027        * WebCoreSupport/WebChromeClient.h:
17028        * WebCoreSupport/WebChromeClient.mm:
17029        (WebChromeClient::dashboardRegionsChanged): Moved code here from the bridge.
17030        The WebCore side now calls this only when there's an actual change.
17031        * WebCoreSupport/WebFrameBridge.h: Removed lastDashboardRegions.
17032        * WebCoreSupport/WebFrameBridge.mm:
17033        (-[WebFrameBridge dealloc]): Removed code to release lastDashboardRegions.
17034        Removed _compareDashboardRegions: and dashboardRegionsChanged: methods.
17035
170362008-03-04  Darin Adler  <darin@apple.com>
17037
17038        Reviewed by Adam.
17039
17040        - remove WebCoreFrameBridge issuePasteComand method
17041
17042        * WebCoreSupport/WebFrameBridge.mm: Removed issuePasteCommand method.
17043        * WebView/WebHTMLViewInternal.h: Removed declaration of paste: method.
17044
170452008-03-03  Darin Adler  <darin@apple.com>
17046
17047        Reviewed by Adam.
17048
17049        - some "cleanup" on the path to removing WebCoreFrameBridge
17050
17051        * Storage/WebDatabaseManager.mm: Tweak includes.
17052        * Storage/WebDatabaseTrackerClient.mm: Ditto.
17053        * Storage/WebSecurityOrigin.mm: Ditto.
17054        * Storage/WebSecurityOriginInternal.h: Ditto.
17055
17056        * WebView/WebFrame.mm:
17057        (core): Changed to get rid of the requirement that WebKitEditableLinkBehavior exactly
17058        match WebCore::EditableLinkBehavior.
17059        * WebView/WebFrameInternal.h: Removed unused kit function.
17060
17061        * WebView/WebHTMLView.mm: Moved WebHTMLViewPrivate class in here.
17062        * WebView/WebHTMLViewInternal.h: Moved WebHTMLVewPrivate class out of here.
17063        * WebView/WebHTMLViewPrivate.h: Tweaked formatting and removed some unneeded declarations.
17064
17065        * WebView/WebPreferencesPrivate.h: Removed a no-longer-needed comment.
17066
170672008-03-01  Mark Rowe  <mrowe@apple.com>
17068
17069        Reviewed by Tim Hatcher.
17070
17071        Update Xcode configuration to support building debug and release from the mysterious future.
17072
17073        * Configurations/DebugRelease.xcconfig:
17074
170752008-02-29  Mark Rowe  <mrowe@apple.com>
17076
17077        Reviewed by Anders Carlsson.
17078
17079        Replace use of WKPathFromFont with implementation in terms of public API.
17080
17081        * WebCoreSupport/WebSystemInterface.m:
17082        (InitWebCoreSystemInterface): Remove unused symbol.
17083
170842008-02-29  Mark Rowe  <mrowe@apple.com>
17085
17086        Reviewed by Oliver Hunt.
17087
17088        Fix spelling of "request" in name of WKNSURLProtocolClassForRequest.
17089
17090        * Misc/WebNSURLExtras.mm:
17091        (-[NSURL _webkit_canonicalize]):
17092        * WebKit.order:
17093
170942008-02-29  Mark Rowe  <mrowe@apple.com>
17095
17096        Reviewed by Oliver Hunt.
17097
17098        Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
17099
17100        * WebCoreSupport/WebSystemInterface.m:
17101        (InitWebCoreSystemInterface):
17102
171032008-02-29  Mark Rowe  <mrowe@apple.com>
17104
17105        Reviewed by Oliver Hunt.
17106
17107        Remove obsolete code that had been left intact to support users running WebKit with older versions of Safari.
17108
17109        * Misc/WebNSViewExtras.m:  Remove _web_superviewOfClass:stoppingAtClass:.
17110        * Misc/WebNSWindowExtras.m:  Remove _webkit_displayThrottledWindows.
17111        * Misc/WebSearchableTextView.m:  Remove selectionImageForcingWhiteText:.
17112        * WebCoreSupport/WebImageRendererFactory.m:  Update comment to mention the last version of Safari that
17113        requires this class.
17114        * WebInspector/WebInspector.mm:  Remove sharedWebInspector and update comments to mention the last version
17115        of Safari that calls other obsolete methods.
17116        * WebView/WebDocumentPrivate.h:  Remove selectionImageForcingWhiteText:.
17117        * WebView/WebHTMLView.mm:  Ditto.
17118        * WebView/WebPDFView.mm:  Ditto.
17119        * WebView/WebView.mm:  Update comment to mentoin the last version of Safari that requires the obsolete method.
17120
171212008-02-29  Mark Rowe  <mrowe@apple.com>
17122
17123        Rubber-stamped by Eric Seidel.
17124
17125        Remove unneeded includes of WebKitSystemInterface.h.
17126
17127        * History/WebHistoryItem.mm:
17128        * Misc/WebNSViewExtras.m:
17129        * WebCoreSupport/WebFrameLoaderClient.mm:
17130        * WebView/WebDataSource.mm:
17131        * WebView/WebPDFView.mm:
17132
171332008-02-29  Mark Rowe  <mrowe@apple.com>
17134
17135        Reviewed by Oliver Hunt and Oliver Hunt.
17136
17137        <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
17138
17139        * WebCoreSupport/WebSystemInterface.m:
17140        (InitWebCoreSystemInterface):  Remove unused symbol.
17141        * WebKit.order:  Ditto.
17142
171432008-02-28  Mark Rowe  <mrowe@apple.com>
17144
17145        Reviewed by Dave Hyatt.
17146
17147        Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
17148
17149        * WebCoreSupport/WebSystemInterface.m:
17150        (InitWebCoreSystemInterface): Only initialize wkGetFontMetrics on Tiger.
17151
171522008-02-27  Brady Eidson  <beidson@apple.com>
17153
17154        Reviewed by Mark Rowe (code) and Darin (concept)
17155
17156        Much better fix for <rdar://problem/4930688> (see r19549)
17157        Original fix for <rdar://problem/3947312> (and 14 dupes)
17158
17159        Let me tell you a story:
17160        A long time ago, in a cvs repository far, far away, loader code was almost all up in WebKit.
17161        WebArchive code was intertwined with that code in bizarre and complex ways.
17162        During the months long loader re-factoring where we pushed much loader code down into WebCore,
17163        many portions of the WebKit loader were thinned out until they ceased to exist.  Others remained
17164        with a sole purpose.
17165
17166        One such section of code whose lineage traces back from WebFrameLoaderClient to WebFrameLoader
17167        to WebLoader was originally rooted in the method [WebLoader loadRequest:].  This method was the
17168        single entry point for almost all loading (network or web archives)
17169
17170        This method would check various headers and other fields on the NSURLRequest and NSURLResponse
17171        to make decisions about the load.  If the cache control fields were expired or other conditions
17172        in the headers were met, the load would be forced to go out to the network.
17173
17174        As the loader was moved and tweaked repeatedly, most of this code was pruned or re-factored.
17175        At some point, all that remained was the special cases for loading WebArchives.
17176
17177        Somewhere in the r16,000s, this remaining responsibility was noticed and related methods we renamed
17178        to be WebArchive specific, further cementing the assumed design.
17179
17180        Problem is, the design was bad.  A WebArchive is meant to be a static snapshot of a WebPage at a
17181        specific point in time.  Referring to the request to see if the resource should be reloaded seems
17182        nonsensical, as does referring to the response headers to see if the resource is "expired".  In the
17183        context of loading a WebArchive, available data should *always* be loaded from the WebArchive, at least
17184        during the initial load!
17185
17186        After discovering the secret to reproducing all of these bugs is both emptying our your Foundation
17187        cache and disconnecting your network, it was easy to reproduce the 16 individually reported cases
17188        that were all symptoms of this bug, and easy to verify that they are fixed with this patch.
17189
17190        * WebCoreSupport/WebFrameLoaderClient.h:
17191        * WebCoreSupport/WebFrameLoaderClient.mm:
17192        (WebFrameLoaderClient::willUseArchive): Do not call either form of "canUseArchivedResource()" that
17193          inspect the request or response objects - We are loading from a WebArchive, and we should never
17194          make the decision to go out to the network when we actually have the resource available.
17195
17196        * WebCoreSupport/WebSystemInterface.m:
17197        (InitWebCoreSystemInterface):  Remove two methods that are no longer used anywhere in WebKit
17198
171992008-02-27  Matt Lilek  <webkit@mattlilek.com>
17200
17201        Reviewed by Adam Roben.
17202
17203        Bug 14348: Messing up the inspector by dragging an URL into it
17204        http://bugs.webkit.org/show_bug.cgi?id=14348
17205        <rdar://problem/5283620> and <rdar://problem/5712808>
17206
17207        * WebCoreSupport/WebInspectorClient.mm:
17208        (-[WebInspectorWindowController init]): Remove duplicate preference setting.
17209        (-[WebInspectorWindowController webView:dragDestinationActionMaskForDraggingInfo:]):
17210
172112008-02-25  Darin Adler  <darin@apple.com>
17212
17213        Reviewed by Adam.
17214
17215        * WebView/WebArchiver.mm:
17216        (+[WebArchiver archiveSelectionInFrame:]): Use blankURL.
17217        * WebView/WebFrame.mm:
17218        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Avoid the
17219        variable name URL to avoid clashing with the renamed KURL in the future. Also use
17220        blankURL.
17221        (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Ditto.
17222        (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]): Ditto.
17223        (-[WebFrame loadHTMLString:baseURL:]): Ditto.
17224        (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
17225
172262008-02-24  Darin Adler  <darin@apple.com>
17227
17228        Reviewed by Sam.
17229
17230        - remove separate client calls for "standard" and "reload' history
17231
17232        * WebCoreSupport/WebFrameLoaderClient.h:
17233        * WebCoreSupport/WebFrameLoaderClient.mm:
17234        (WebFrameLoaderClient::updateGlobalHistory):
17235
172362008-02-23  Alexey Proskuryakov  <ap@webkit.org>
17237
17238        Reviewed by Darin Adler.
17239
17240        Move basic threading support from WebCore to WTF.
17241
17242        * ForwardingHeaders/wtf/Threading.h: Added.
17243        * ForwardingHeaders/wtf/Locker.h: Added.
17244
172452008-02-23  David Kilzer  <ddkilzer@apple.com>
17246
17247        Please clarify licensing for some files
17248        <http://bugs.webkit.org/show_bug.cgi?id=14970>
17249
17250        Reviewed by Darin Adler.
17251
17252        * Plugins/WebNetscapeDeprecatedFunctions.c: Updated copyright statement
17253        and added Apple BSD-style license.
17254        * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
17255
172562008-02-22  John Sullivan  <sullivan@apple.com>
17257
17258        Reviewed by Adam Roben
17259
17260        Reverted the changed from yesterday to add pasteAndMatchStyle:, as the existing
17261        pasteAsPlainText: has the same behavior.
17262
17263        * WebView/WebHTMLView.mm:
17264        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
17265        (-[WebHTMLView readSelectionFromPasteboard:]):
17266        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
17267        (-[WebHTMLView pasteAsRichText:]):
17268        (-[WebHTMLView paste:]):
17269        * WebView/WebView.mm:
17270        * WebView/WebViewPrivate.h:
17271
172722008-02-21  Anders Carlsson  <andersca@apple.com>
17273
17274        Reviewed by Sam.
17275
17276        Use BackForwardList::create instead.
17277
17278        * History/WebBackForwardList.mm:
17279        (-[WebBackForwardList init]):
17280
172812008-02-21  John Sullivan  <sullivan@apple.com>
17282
17283        Reviewed by Jessica Kahn
17284
17285        support for pasteAndMatchStyle: command (see <rdar://problem/5723952>)
17286
17287        * WebView/WebHTMLView.mm:
17288        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:matchStyle:]):
17289        added matchStyle parameter, passed along to bridge (formerly always passed NO to bridge)
17290        (-[WebHTMLView readSelectionFromPasteboard:]):
17291        pass NO for new matchStyle parameter to match old behavior
17292        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
17293        validate pasteAndMatchStyle the same way as pasteAsRichText
17294        (-[WebHTMLView pasteAndMatchStyle:]):
17295        just like pasteAsRichText but passes YES for matchStyle
17296        (-[WebHTMLView pasteAsRichText:]):
17297        pass NO for new matchStyle parameter to match old behavior
17298        (-[WebHTMLView paste:]):
17299        ditto
17300
17301        * WebView/WebView.mm:
17302        added macro(pasteAndMatchStyle)
17303
17304        * WebView/WebViewPrivate.h:
17305        added pasteAndMatchStyle: to WebViewEditingActionsPendingPublic category
17306
173072008-02-20  Sam Weinig  <sam@webkit.org>
17308
17309        Reviewed by Darin and Geoff.
17310
17311        - WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
17312
17313        * WebView/WebView.mm:
17314        (-[WebView _preferencesChangedNotification:]): Added a call to Settings::setNeedsSiteSpecificQuirks.
17315        There are currently no site-specific quirks on Mac, but we will propagate the state
17316        to WebCore to avoid possible mistakes later.
17317
173182008-02-19  Anders Carlsson  <andersca@apple.com>
17319
17320        Reviewed by Darin Adler.
17321
17322        Move back WebKit methods that were unused in WebCore.
17323
17324        * Misc/WebNSURLExtras.mm:
17325        (+[NSURL _web_URLWithData:]):
17326        (+[NSURL _web_URLWithData:relativeToURL:]):
17327        (-[NSURL _web_originalData]):
17328        (-[NSURL _web_originalDataAsString]):
17329        (-[NSURL _web_isEmpty]):
17330        (-[NSURL _webkit_canonicalize]):
17331        (-[NSURL _webkit_URLByRemovingComponent:]):
17332        (-[NSURL _webkit_URLByRemovingFragment]):
17333        (-[NSURL _webkit_URLByRemovingResourceSpecifier]):
17334        (-[NSURL _webkit_isFileURL]):
17335        (-[NSString _webkit_isFileURL]):
17336        * WebCoreSupport/WebFrameLoaderClient.mm:
17337        (WebFrameLoaderClient::setTitle):
17338        * WebCoreSupport/WebSystemInterface.m:
17339        (InitWebCoreSystemInterface):
17340
173412008-02-18  Darin Adler  <darin@apple.com>
17342
17343        Reviewed by Sam.
17344
17345        * Misc/WebNSAttributedStringExtras.mm:
17346        (+[NSAttributedString _web_attributedStringFromRange:]): Eliminate use of
17347        DeprecatedString.
17348
173492008-02-17  Sam Weinig  <sam@webkit.org>
17350
17351        Reviewed by Dan Bernstein.
17352
17353        Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
17354        document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
17355
17356        * MigrateHeaders.make: Migrate DOMProgressEvent.h and DOMTextPrivate.h which were
17357        mistakenly not migrated.
17358
173592008-02-15  Dan Bernstein  <mitz@apple.com>
17360
17361        Reviewed by Alexey Proskuryakov.
17362
17363        - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
17364          <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
17365
17366        * WebView/WebDataSource.mm:
17367        (+[WebDataSource _representationClassForMIMEType:]):
17368        (-[WebDataSource _responseMIMEType]):
17369        (-[WebDataSource subresources]):
17370        (-[WebDataSource subresourceForURL:]):
17371        * WebView/WebResource.mm:
17372        (-[WebResource _initWithData:URL:response:]):
17373        * WebView/WebResourcePrivate.h:
17374
173752008-02-15  Adam Roben  <aroben@apple.com>
17376
17377        Make WebKit's FEATURE_DEFINES match WebCore's
17378
17379        Reviewed by Mark.
17380
17381        * Configurations/WebKit.xcconfig:
17382
173832008-02-14  Darin Adler  <darin@apple.com>
17384
17385        Reviewed by Eric Seidel.
17386
17387        - updated for WebCore KURL changes
17388
17389        * History/WebHistoryItem.mm:
17390        (-[WebHistoryItem URL]): Removed getNSURL call.
17391        * Misc/WebElementDictionary.mm:
17392        (-[WebElementDictionary _absoluteImageURL]): Ditto.
17393        (-[WebElementDictionary _absoluteLinkURL]): Ditto.
17394        * Misc/WebNSAttributedStringExtras.mm:
17395        (fileWrapperForElement): Ditto.
17396        (+[NSAttributedString _web_attributedStringFromRange:]): Ditto.
17397        * Misc/WebNSURLExtras.mm:
17398        (-[NSString _webkit_stringByReplacingValidPercentEscapes]): Updated
17399        for function name change.
17400        * WebCoreSupport/WebContextMenuClient.mm:
17401        (WebContextMenuClient::downloadURL): Removed getNSURL call.
17402        * WebCoreSupport/WebDragClient.mm:
17403        (WebDragClient::createDragImageForLink): Ditto.
17404        * WebCoreSupport/WebFrameLoaderClient.mm:
17405        (WebFrameLoaderClient::dispatchWillPerformClientRedirect): Ditto.
17406        (WebFrameLoaderClient::startDownload): Ditto.
17407        (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad): Ditto.
17408        (WebFrameLoaderClient::updateGlobalHistoryForReload): Ditto.
17409        (WebFrameLoaderClient::cancelledError): Ditto.
17410        (WebFrameLoaderClient::blockedError): Ditto.
17411        (WebFrameLoaderClient::cannotShowURLError): Ditto.
17412        (WebFrameLoaderClient::interruptForPolicyChangeError): Ditto.
17413        (WebFrameLoaderClient::cannotShowMIMETypeError): Ditto.
17414        (WebFrameLoaderClient::fileDoesNotExistError): Ditto.
17415        (WebFrameLoaderClient::willUseArchive): Ditto.
17416        (WebFrameLoaderClient::setTitle): Ditto.
17417        (WebFrameLoaderClient::actionDictionary): Ditto.
17418        (WebFrameLoaderClient::createFrame): Ditto.
17419        (WebFrameLoaderClient::objectContentType): Ditto.
17420        (WebFrameLoaderClient::createPlugin): Ditto.
17421        (WebFrameLoaderClient::createJavaAppletWidget): Ditto.
17422        * WebView/WebDataSource.mm:
17423        (-[WebDataSource _URL]): Ditto.
17424        (-[WebDataSource _initWithDocumentLoader:]): Ditto.
17425        (-[WebDataSource unreachableURL]): Ditto.
17426        * WebView/WebHTMLView.mm:
17427        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
17428
174292008-02-14  Stephanie Lewis  <slewis@apple.com>
17430
17431        Reviewed by Geoff.
17432
17433        Update order files.
17434
17435        * WebKit.order:
17436
174372008-02-14  Alexey Proskuryakov  <ap@webkit.org>
17438
17439        Reviewed by Adam Roben.
17440
17441        http://bugs.webkit.org/show_bug.cgi?id=17207
17442        Database example doesn't work (requires not-yet-released Safari)
17443
17444        * WebCoreSupport/WebChromeClient.mm:
17445        (WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage
17446        if it's too old.
17447
174482008-02-11  Darin Adler  <darin@apple.com>
17449
17450        - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders
17451          incorrectly due to visibility fix
17452
17453        Removed the Xcode-specific quirk at the request of some folks on the Xcode team.
17454
17455        * Misc/WebKitVersionChecks.h: Removed the constant.
17456
17457        * WebView/WebView.mm:
17458        (-[WebView _needsXcodeVisibilityQuirk]): Removed.
17459        (-[WebView _preferencesChangedNotification:]): Removed call to
17460        setNeedsXcodeVisibilityQuirk.
17461
174622008-02-12  Anders Carlsson  <andersca@apple.com>
17463
17464        Reviewed by Mitz.
17465
17466        * WebCoreSupport/WebFrameBridge.mm:
17467        * WebCoreSupport/WebViewFactory.mm:
17468        (-[WebViewFactory imageTitleForFilename:size:]):
17469        Move implementation from WebFrameBridge to WebViewFactory.
17470
174712008-02-11  Darin Adler  <darin@apple.com>
17472
17473        Reviewed by Mitz.
17474
17475        - fix <rdar://problem/5726016> REGRESSION: Xcode News window renders
17476          incorrectly due to visibility fix
17477
17478        Added an Xcode-specific quirk.
17479
17480        * Misc/WebKitVersionChecks.h: Added a constant for the "linked on or after"
17481        part of the check.
17482
17483        * WebView/WebView.mm:
17484        (-[WebView _needsXcodeVisibilityQuirk]): Added.
17485        (-[WebView _preferencesChangedNotification:]): Added a call to
17486        setNeedsXcodeVisibilityQuirk based on _needsXcodeVisibilityQuirk.
17487
174882008-02-10  Darin Adler  <darin@apple.com>
17489
17490        - fix http://bugs.webkit.org/show_bug.cgi?id=17274
17491          REGRESSION: User Agent string broken in r30119
17492
17493        * WebView/WebView.mm:
17494        (-[WebView _userAgentWithApplicationName:andWebKitVersion:]):
17495        Fix wrong variable name. Doh!
17496
174972008-02-09  Darin Adler  <darin@apple.com>
17498
17499        Reviewed by Tim Hatcher.
17500
17501        - fix <rdar://problem/5725996> crash every time you open the Xcode documentation window
17502
17503        * WebView/WebView.mm:
17504        (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Work around a bug in the
17505        garbage collector's Objective C++ support by not initializing a static to an object
17506        that needs to be marked when running under GC.
17507
175082008-02-05  Dan Bernstein  <mitz@apple.com>
17509
17510        Reviewed by Darin Adler.
17511
17512        - WebKit part of <rdar://problem/5724303> Should implement writing direction shortcuts
17513
17514        The key bindings are Command-Control-left arrow and
17515        Command-Control-right arrow. To match AppKit, the bindings are enabled
17516        only when certain user defaults are set.
17517
17518        * WebView/WebHTMLView.mm:
17519        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
17520        (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
17521        Frame::baseWritingDirectionForSelectionStart() and
17522        Editor::setBaseWritingDirection() directly.
17523        (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
17524        (writingDirectionKeyBindingsEnabled): Added.
17525        (-[WebHTMLView _changeBaseWritingDirectionTo:]): Added this helper
17526        method.
17527        (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Added.
17528        (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Added.
17529        * WebView/WebView.mm:
17530
175312008-02-05  Mark Rowe  <mrowe@apple.com>
17532
17533        Unreviewed build fix.
17534
17535        * WebView/WebView.mm: Add missing #import.
17536
175372008-02-05  Mark Rowe  <mrowe@apple.com>
17538
17539        Reviewed by Oliver Hunt.
17540
17541        Update versioning to support the mysterious future.
17542
17543        * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
17544
175452008-01-30  Justin Garcia  <justin.garcia@apple.com>
17546
17547        Reviewed by Darin Adler.
17548
17549        <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail
17550
17551        * WebView/WebHTMLView.mm:
17552        (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Brought
17553        this back, it's used by Mail.
17554        (-[WebHTMLView _canSmartReplaceWithPasteboard:]): This WebInternal method is
17555        also used by Mail.  Moved to WebPrivate.
17556        * WebView/WebHTMLViewPrivate.h: Expose two methods that Mail uses here, so that we don't
17557        accidently remove them in the future.
17558
175592008-01-30  Mark Rowe  <mrowe@apple.com>
17560
17561        Reviewed by Oliver Hunt.
17562
17563        Move off deprecated NSTableView methods.
17564
17565        * WebView/WebHTMLView.mm:
17566        (-[WebTextCompleteController _buildUI]): Switch from -setDrawsGrid: to -setGridStyleMask:.
17567        (-[WebTextCompleteController _placePopupWindow:]): Switch from -selectRow:byExtendingSelection: to -selectRowIndexes:byExtendingSelection:.
17568        (-[WebTextCompleteController filterKeyDown:]): Ditto.
17569
175702008-01-26  Mark Rowe  <mrowe@apple.com>
17571
17572        Reviewed by Darin Adler.
17573
17574        Fix leaks seen after loading <http://www.funnyordie.com/videos/d70b5a11cb>.
17575
17576        * Misc/WebNSDataExtras.m:
17577        (-[NSString _web_capitalizeRFC822HeaderFieldName]): Transfer ownerhip of the allocated buffers
17578        to the new CFString so that they will be freed when no longer needed.
17579
175802008-01-26  Greg Bolsinga  <bolsinga@apple.com>
17581
17582        <rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit
17583
17584        Reviewed by Darin Adler.
17585
17586        * WebCoreSupport/WebDashboardRegion.h: Removed.
17587        * WebView/WebView.mm: Updated #import to use copy of WebDashboardRegion.h from WebCore.
17588
175892008-01-21  Darin Adler  <darin@apple.com>
17590
17591        Reviewed by John Sullivan.
17592
17593        - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
17594        - add a missing export of WebDatabaseExpectedSizeKey
17595        - implement deleteOrigin: and remove deleteDatabasesWithOrigin:
17596
17597        * Storage/WebDatabaseManager.mm:
17598        (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Updated to check for a null
17599        name instead of calling isValid().
17600        (-[WebDatabaseManager deleteOrigin:]): Implemented.
17601        (WebKitInitializeDatabasesIfNecessary): Updated for name change.
17602
17603        * Storage/WebDatabaseManagerPrivate.h: Removed deleteDatabasesWithOrigin:.
17604
17605        * WebCoreSupport/WebChromeClient.h: Updated for changes to ChromeClient.
17606        * WebCoreSupport/WebChromeClient.mm:
17607        (WebChromeClient::exceededDatabaseQuota): Replaced the two different client functions
17608        we had before with a single one.
17609
17610        * WebKit.exp: Added missing export for WebDatabaseExpectedSizeKey.
17611
17612        * WebView/WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey.
17613        * WebView/WebPreferences.m:
17614        (+[WebPreferences initialize]): Removed the default for WebKitDefaultDatabaseQuotaKey.
17615        * WebView/WebPreferencesPrivate.h: Removed defaultDatabaseQuota and
17616        setDefaultDatabaseQuota:.
17617
17618        * WebView/WebUIDelegatePrivate.h: Replaced the two different database quota delegate
17619        methods we had before with a single one.
17620
17621        * WebView/WebView.mm:
17622        (-[WebView _preferencesChangedNotification:]): Removed the code to set the
17623        default database origin quota in WebCore::Settings based on WebPreferences.
17624
17625        * WebView/WebViewInternal.h: Removed delegate method dispatch functions for unusual
17626        types of parameters that the database UI delegate methods had before.
17627
176282008-01-20  Mark Rowe  <mrowe@apple.com>
17629
17630        Reviewed by Dan Bernstein.
17631
17632        Remove code bracketed by REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM as we are no longer
17633        interested in supporting Safari 2 with TOT WebKit.
17634
17635        * WebView/WebView.mm:
17636        (+[WebView initialize]):
17637
176382008-01-17  Timothy Hatcher  <timothy@apple.com>
17639
17640        Reviewed by Adam Roben.
17641
17642        <rdar://problem/5693558> REGRESSION (r29581): no form field focus rings
17643        and inactive text selection after loading a page
17644        Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance
17645
17646        The problem was other frames were changing the FocusController's active
17647        status to false after the first responder frame set it to true. The last
17648        frame to call _updateActiveState would win.
17649
17650        * WebView/WebHTMLView.mm:
17651        (-[WebHTMLView _updateActiveState]): Only call page->focusController()->setActive()
17652        if the first responder is the current WebHTMLView or the WebFrameView.
17653        (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Removed, inlined code in _updateActiveState.
17654
176552008-01-18  Adam Roben  <aroben@apple.com>
17656
17657        Rename _updateActiveState to _updateFocusedAndActiveState
17658
17659        Also renamed any related methods/members similarly.
17660
17661        Reviewed by Adele.
17662
17663        * WebView/WebHTMLView.mm:
17664        (-[WebHTMLViewPrivate dealloc]):
17665        (-[WebHTMLView _cancelUpdateFocusedAndActiveStateTimer]):
17666        (-[WebHTMLView close]):
17667        (_updateFocusedAndActiveStateTimerCallback):
17668        (-[WebHTMLView viewWillMoveToWindow:]):
17669        (-[WebHTMLView viewDidMoveToWindow]):
17670        (-[WebHTMLView windowDidBecomeKey:]):
17671        (-[WebHTMLView windowDidResignKey:]):
17672        (-[WebHTMLView becomeFirstResponder]):
17673        (-[WebHTMLView resignFirstResponder]):
17674        * WebView/WebHTMLViewInternal.h:
17675        * WebView/WebHTMLViewPrivate.h:
17676
176772008-01-17  John Sullivan  <sullivan@apple.com>
17678
17679        Reviewed by Darin
17680
17681        - fixed <rdar://problem/5692068> -1 WebFrameView world leaks reported after closing view source window
17682
17683        * WebView/WebFrameView.mm:
17684        (-[WebFrameView initWithCoder:]):
17685        override to bump the global WebFrameView count
17686
176872008-01-16  Adam Roben  <aroben@apple.com>
17688
17689        Updated for renames/removal of WebCore methods.
17690
17691        Reviewed by Darin Adler.
17692
17693        * Plugins/WebPluginController.mm:
17694        (-[WebPluginController webPlugInContainerSelectionColor]): Changed to
17695        ask isFocusedAndActive directly, instead of going through the frame
17696        bridge.
17697        * WebView/WebHTMLView.mm:
17698        (-[WebHTMLView _updateActiveState]): Updated for method renames.
17699
177002008-01-16  John Sullivan  <sullivan@apple.com>
17701
17702        Reviewed by Adam and Dan
17703
17704        - cleaned up some existing logging
17705
17706        * WebView/WebHTMLView.mm:
17707        (-[WebHTMLView setNeedsDisplay:]):
17708        add method name to log, use "YES" and "NO" instead of (int)flag
17709        (-[WebHTMLView setNeedsLayout:]):
17710        ditto
17711        (-[WebHTMLView setNeedsToApplyStyles:]):
17712        ditto
17713
177142008-01-15  Geoffrey Garen  <ggaren@apple.com>
17715
17716        Reviewed by Andre Boule.
17717
17718        Fixed <rdar://problem/5667627> [WebCache empty] implementation should
17719        not disable/enable the cache
17720
17721        Toggle the cache model instead -- toggling disable/enable just causes
17722        the cache to forget about resources, not reclaim their memory.
17723
17724        * Misc/WebCache.mm:
17725        (+[WebCache empty]):
17726        * WebView/WebView.mm:
17727        * WebView/WebViewInternal.h:
17728
177292008-01-15  Adele Peterson  <adele@apple.com>
17730
17731        Reviewed by Adam and Antti.
17732
17733        WebKit part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
17734
17735        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
17736          Removed initialization for GetMediaControlBackgroundImageData.  Added initialization for DrawMediaSliderTrack.
17737
177382008-01-10  Geoffrey Garen  <ggaren@apple.com>
17739
17740        Reviewed by John Sullivan.
17741
17742        Fixed some world leak reports:
17743        * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
17744        Interpreter after running cvs-base suite
17745
17746        * <rdar://problem/5669423> PLT complains about world leak if browser
17747        window is open when PLT starts
17748
17749        These were both bugs in the reporting mechanism, so I took the
17750        opportunity to do some house cleaning there.
17751
17752        * Misc/WebCoreStatistics.h: Did a little renaming, to match
17753        JavaScriptCore better. I kept the methods with the old names around,
17754        though, because old versions of Safari need them.
17755
17756        * Misc/WebCoreStatistics.mm: Removed dependence on
17757        WebCore::JavaScriptStatistics, which is gone now.
17758
17759        These two methods are now distinct, for the sake of world leak reporting:
17760        (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
17761        (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
17762
177632008-01-10  Maciej Stachowiak  <mjs@apple.com>
17764
17765        Not reviewed. Build fix.
17766
17767        - Attempt to fix mac build.
17768
17769        * Storage/WebDatabaseManager.mm:
17770
177712008-01-10  Maciej Stachowiak  <mjs@apple.com>
17772
17773        Reviewed by Sam.
17774
17775        - remove SecurityOriginData and fold its functionality into SecurityOrigin
17776
17777        * Storage/WebDatabaseManager.mm:
17778        (-[WebDatabaseManager origins]):
17779        (-[WebDatabaseManager databasesWithOrigin:]):
17780        (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
17781        (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
17782        (-[WebDatabaseManager deleteDatabase:withOrigin:]):
17783        * Storage/WebDatabaseTrackerClient.h:
17784        * Storage/WebDatabaseTrackerClient.mm:
17785        (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
17786        (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
17787        * Storage/WebSecurityOrigin.mm:
17788        (-[WebSecurityOrigin initWithProtocol:domain:port:]):
17789        (-[WebSecurityOrigin protocol]):
17790        (-[WebSecurityOrigin domain]):
17791        (-[WebSecurityOrigin port]):
17792        (-[WebSecurityOrigin usage]):
17793        (-[WebSecurityOrigin quota]):
17794        (-[WebSecurityOrigin setQuota:]):
17795        (-[WebSecurityOrigin isEqual:]):
17796        (-[WebSecurityOrigin dealloc]):
17797        (-[WebSecurityOrigin finalize]):
17798        (-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
17799        (-[WebSecurityOrigin _core]):
17800        * Storage/WebSecurityOriginInternal.h:
17801        * WebCoreSupport/WebChromeClient.h:
17802        * WebCoreSupport/WebChromeClient.mm:
17803        (WebChromeClient::requestQuotaIncreaseForNewDatabase):
17804        (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
17805
178062008-01-10  Sam Weinig  <sam@webkit.org>
17807
17808        Reviewed by Anders Carlsson.
17809
17810        Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
17811        <rdar://problem/5657355>
17812
17813        * Plugins/WebBaseNetscapePluginView.mm:
17814        (-[WebBaseNetscapePluginView loadPluginRequest:]): call findFrameForNavigation
17815        to ensure the shouldAllowNavigation check is made.
17816
178172008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
17818
17819        Reviewed by Mark.
17820
17821        Enable SVG_FONTS by default.
17822
17823        * Configurations/WebKit.xcconfig:
17824
178252008-01-07  Adele Peterson  <adele@apple.com>
17826
17827        Reviewed by Antti, Adam, and Mitz.
17828
17829        WebKit part of fix for
17830        <rdar://problem/5619073> Updated look for <video> controls
17831        <rdar://problem/5619057> Add volume control to video controls
17832
17833        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
17834
178352008-01-07  Dan Bernstein  <mitz@apple.com>
17836
17837        Reviewed by Dave Hyatt.
17838
17839        - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
17840
17841        * Misc/WebNSAttributedStringExtras.mm:
17842
178432008-01-03  Alexey Proskuryakov  <ap@webkit.org>
17844
17845        Reviewed by Darin Adler.
17846
17847        <rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController
17848
17849        * WebView/WebView.mm:
17850        (-[WebView _executeCoreCommandByName:value:]):
17851        * WebView/WebViewPrivate.h:
17852        Added an SPI to implement layoutTestController.execCommand.
17853
178542008-01-03  Kevin Decker  <kdecker@apple.com>
17855
17856        Reviewed by Darin Adler.
17857
17858        Fixed: <rdar://problem/4106190> Include "Where from" metadata in drag-and-dropped images
17859
17860        * Misc/WebNSFileManagerExtras.h:
17861        * Misc/WebNSFileManagerExtras.m:
17862        (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Added new method. Uses WebKitSystemInterface to set
17863        "Where from:" metadata information.
17864        * WebView/WebHTMLView.mm:
17865        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Added "Where from:" metadata for drag and dropped images.
17866
178672008-01-03  Alice Liu  <alice.liu@apple.com>
17868
17869        Reviewed by Darin Adler.
17870
17871        This fixes pageup/down in iframes.  test for this is fast/frames/iframe-scroll-page-up-down.html
17872
17873        * WebView/WebHTMLView.mm:
17874        (-[WebHTMLView doCommandBySelector:]):
17875        Have the editor handle all the commands it supports instead of just text commands.
17876        If not handled by the editor, the webview will handle the command.
17877
178782008-01-02  Kevin Decker  <kdecker@apple.com>
17879
17880        Reviewed by Darin Adler.
17881
17882        Fixed: <rdar://problem/5660603> QuickDraw plug-ins can cause a 100% reproducible assertion failure in AppKit (breaks Safari UI)
17883
17884        * Plugins/WebBaseNetscapePluginView.mm:
17885        (-[WebBaseNetscapePluginView updateAndSetWindow]): Simplified an early return for non-QuickDraw plug-ins and switched
17886        to using the more NSView friendly version of lockFocus, lockFocusIfCanDraw.
17887
178882008-01-01  David D. Kilzer  <ddkilzer@webkit.org>
17889
17890        Reviewed by Dan.
17891
17892        - fix http://bugs.webkit.org/show_bug.cgi?id=16700
17893          Fix -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
17894
17895        * DefaultDelegates/WebDefaultPolicyDelegate.m: Check return value of
17896        -[NSFileManager fileExistsAtPath:isDirectory:] before using the value
17897        of isDirectory.
17898
178992007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
17900
17901        Reviewed by Eric.
17902
17903        Add DOMSVGFontElement/DOMSVGGlyphElement/DOMSVGMissingGlyphElement to MigrateHeaders.make
17904
17905        * MigrateHeaders.make:
17906
179072007-12-25  Dan Bernstein  <mitz@apple.com>
17908
17909        Reviewed by Oliver Hunt.
17910
17911        - fix an assertion failure when pressing the num lock key
17912
17913        * WebView/WebHTMLView.mm:
17914        (-[WebHTMLView flagsChanged:]): Avoid passing key code 10 down to
17915        WebCore.
17916
179172007-12-20  Darin Adler  <darin@apple.com>
17918
17919        Reviewed by Oliver.
17920
17921        - fix <rdar://problem/5658787> Selector -[WebView insertLineBreak:] is not implemented
17922
17923        * WebView/WebView.mm: Added all selectors implemented by WebHTMLView to the list of
17924        selectors to forward here. The new ones are: changeBaseWritingDirection:, changeSpelling:,
17925        deleteToMark:, insertLineBreak:, moveParagraphBackwardAndModifySelection:,
17926        moveParagraphForwardAndModifySelection:, pageDownAndModifySelection:, pageUpAndModifySelection:,
17927        selectToMark:, setMark:, swapWithMark:, takeFindStringFromSelection:, toggleBaseWritingDirection:,
17928        and transpose:.
17929
179302007-12-20  Kevin Decker  <kdecker@apple.com>
17931
17932        Reviewed by Anders.
17933
17934        Fixed: <rdar://problem/5638288> REGRESSION: Flash movies show up in other tabs above the page (16373)
17935
17936        * Plugins/WebBaseNetscapePluginView.mm:
17937        (-[WebBaseNetscapePluginView updateAndSetWindow]): QuickDraw plug-ins must manually be told when to stop
17938         writing to the window backing store. The problem was that change-set 28400 introduced an early return
17939         which prevented this necessary operation. The fix is to limit the scope of the early return to CG and GL
17940         plug-ins and to tweak the needsFocus check to prevent an exception from occurring in QuickDraw-based plug-ins.
17941
179422007-12-19  Geoffrey Garen  <ggaren@apple.com>
17943
17944        Reviewed by Oliver Hunt.
17945
17946        Build fix.
17947
17948        * ForwardingHeaders/kjs/SymbolTable.h: Added.
17949        * ForwardingHeaders/wtf/VectorTraits.h: Added.
17950
179512007-12-16  Mark Rowe  <mrowe@apple.com>
17952
17953        Reviewed by Maciej Stachowiak.
17954
17955        Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
17956
17957        * Plugins/WebBaseNetscapePluginStream.h:
17958        * Plugins/WebNetscapePluginStream.h:
17959        * Plugins/WebNetscapePluginStream.mm:
17960        (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
17961        (-[WebNetscapePluginStream dealloc]):
17962        (-[WebNetscapePluginStream finalize]):
17963        * Plugins/WebPlugInStreamLoaderDelegate.h: Moved from WebCore.
17964        * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Added.
17965        (WebNetscapePlugInStreamLoaderClient::WebNetscapePlugInStreamLoaderClient):
17966        * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Added.
17967        (WebNetscapePlugInStreamLoaderClient::didReceiveResponse): Call through to the equivalent WebPlugInStreamLoaderDelegate method.
17968        (WebNetscapePlugInStreamLoaderClient::didReceiveData): Ditto.
17969        (WebNetscapePlugInStreamLoaderClient::didFail): Ditto.
17970        (WebNetscapePlugInStreamLoaderClient::didFinishLoading): Ditto.
17971
179722007-12-16  Alexey Proskuryakov  <ap@webkit.org>
17973
17974        Reviewed by Darin Adler.
17975
17976        http://bugs.webkit.org/show_bug.cgi?id=14140
17977        <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
17978
17979        * WebView/WebHTMLView.mm:
17980        (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Made command replaying work
17981        when handling keypress, too.
17982        (-[WebHTMLView doCommandBySelector:]): Adapted for the new way to store commands in events.
17983        (-[WebHTMLView insertText:]): Append a command, not replace the whole existing vector. Also,
17984        restore the state for additional commands to be saved correctly.
17985
179862007-12-14  David D. Kilzer  <ddkilzer@apple.com>
17987
17988        <rdar://problem/5647272> Remove user agent string hack for flickr.com
17989
17990        Reviewed by Darin Adler.
17991
17992        * WebView/WebView.mm:
17993        (-[WebView _userAgentForURL:]): Removed hack.
17994
179952007-12-14  David D. Kilzer  <ddkilzer@apple.com>
17996
17997        <rdar://problem/5647261> Remove user agent string hack for yahoo.com
17998
17999        Reviewed by Darin Adler.
18000
18001        * WebView/WebView.mm:
18002        (-[WebView _userAgentForURL:]): Removed hack.
18003
180042007-12-14  Darin Adler  <darin@apple.com>
18005
18006        Reviewed by Brady.
18007
18008        - fix http://bugs.webkit.org/show_bug.cgi?id=16296
18009          <rdar://problem/5635641> -[WebFrameLoadDelegate didReceiveIcon:forFrame:] never called
18010
18011        * WebView/WebView.mm:
18012        (-[WebView setFrameLoadDelegate:]): Call [WebIconDatabase sharedIconDatabase] if the
18013        a didReceiveIcon method is present.
18014
180152007-12-14  Darin Adler  <darin@apple.com>
18016
18017        Reviewed by Alexey.
18018
18019        - Changed a few more editing operations to use WebCore instead of WebKit.
18020        - Removed some obsolete unused code.
18021
18022        * WebCoreSupport/WebFrameBridge.h: Moved declarations of methods that are both
18023        defined and used on the WebKit side to here. These no longer belong on the bridge
18024        and should be moved to the WebFrame class (or elsewhere).
18025        * WebCoreSupport/WebFrameBridge.mm: Removed some unused methods.
18026
18027        * WebView/WebFrameView.mm:
18028        (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Fix typo in comment.
18029
18030        * WebView/WebHTMLView.mm:
18031        (-[WebHTMLViewPrivate dealloc]): Removed unused firstResponderTextViewAtMouseDownTime.
18032        (-[WebHTMLViewPrivate clear]): Ditto.
18033        (-[WebHTMLView _setMouseDownEvent:]): Ditto.
18034        (commandNameForSelector): Added special cases for pageDown:, pageDownAndModifySelection:,
18035        pageUp:, and pageUpAndModifySelection:, since those names probably aren't specific enough
18036        to be used in WebCore (what AppKit calls scrollPageDown: vs. pageDown: needs to be
18037        disambiguated with the word "Move"). Added deleteBackward:,
18038        deleteBackwardByDecomposingPreviousCharacter:, deleteForward:, deleteToBeginningOfLine:,
18039        deleteToBeginningOfParagraph:, deleteToEndOfLine:, deleteToEndOfParagraph:, pageDown:,
18040        pageDownAndModifySelection:, pageUp:, pageUpAndModifySelection:, selectLine:,
18041        selectParagraph:, selectSentence:, and selectWord: to the list of commands that are
18042        forwarded to WebCore.
18043        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Eliminated the long list of
18044        operations that we forward to WebCore. Instead, look up any command that WebCore can
18045        handle, after any that we handle specially in WebHTMLView. Also fixed a bug where
18046        an item that's not a menu item with changeBaseWritingDirection:NSWritingDirectionNatural
18047        would end up enabled instead of disabled and streamlined the logic for toggleGrammarChecking:.
18048        (-[WebHTMLView mouseDown:]): Removed unused firstResponderTextViewAtMouseDownTime.
18049        (-[WebHTMLView becomeFirstResponder]): Removed unused willBecomeFirstResponderForNodeFocus.
18050        (-[WebHTMLView resignFirstResponder]): Ditto.
18051        (-[WebHTMLView checkSpelling:]): Took unneeded extra initialization of NSSpellChecker.
18052
18053        * WebView/WebHTMLViewInternal.h: Removed unused willBecomeFirstResponderForNodeFocus,
18054        firstResponderTextViewAtMouseDownTime, _textViewWasFirstResponderAtMouseDownTime: and
18055        _willMakeFirstResponderForNodeFocus.
18056
180572007-12-13  Alexey Proskuryakov  <ap@webkit.org>
18058
18059        Reviewed by Darin Adler.
18060
18061        Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
18062
18063        * Misc/WebKitVersionChecks.h:
18064        * WebView/WebView.mm:
18065        (-[WebView _needsKeyboardEventHandlingQuirks]):
18066        (-[WebView _preferencesChangedNotification:]):
18067
180682007-12-12  Brady Eidson  <beidson@apple.com>
18069
18070        Reviewed by Sam Weinig
18071
18072        Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
18073
18074        * WebCoreSupport/WebCachedPagePlatformData.h: Added.
18075        (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes a WebDocumentView for later restoration
18076        (WebCachedPagePlatformData::clear):
18077        (WebCachedPagePlatformData::webDocumentView):
18078
18079        * WebCoreSupport/WebFrameLoaderClient.h:
18080        * WebCoreSupport/WebFrameLoaderClient.mm:
18081        (WebFrameLoaderClient::savePlatformDataToCachedPage):
18082        (WebFrameLoaderClient::transitionToCommittedFromCachedPage): Don't set the DocumentLoader to the Frame here,
18083          because that is now done in WebCore.
18084        (WebFrameLoaderClient::transitionToCommittedForNewPage):
18085
180862007-12-12  Mark Rowe  <mrowe@apple.com>
18087
18088        Reviewed by Dave Kilzer.
18089
18090        Remove abuse of projectDirPath from WebKit.xcodeproj to fix Production builds.
18091
18092        * Configurations/WebKit.xcconfig:
18093
180942007-12-11  Sam Weinig  <sam@webkit.org>
18095
18096        Reviewed by Darin Adler.
18097
18098        Scrub URL out of the tree in preparation for renaming KURL to URL.
18099
18100        * WebCoreSupport/WebFrameLoaderClient.mm:
18101        (WebFrameLoaderClient::actionDictionary):
18102        * WebView/WebDataSource.mm:
18103        (-[WebDataSource _URL]):
18104        * WebView/WebView.mm:
18105        (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
18106
181072007-12-11  Darin Adler  <darin@apple.com>
18108
18109        Reviewed by Geoff.
18110
18111        - change more editing commands to use WebCore::Editor
18112        - change to use the new WebCore::Editor::command() function
18113
18114        * WebView/WebHTMLView.mm: Changed alignCenter, alignJustified, alignLeft,
18115        alignRight, cut, copy, deleteToMark, indent, insertNewlineIgnoringFieldEditor,
18116        insertTabIgnoringFieldEditor, outdent, selectAll, selectToMark, setMark,
18117        subscript, superscript, swapWithMark, underline, unscript, yank, and yankAndSelect
18118        to use the "forward to WebCore" macro instead of having hand-written implementations.
18119        (kit): Added function to change a TriState to an AppKit-style tri-state value.
18120        (-[WebHTMLView coreCommandBySelector:]): Added. No longer converts case of the
18121        first character or copies the selector name, since the Editor commands are not case
18122        sensitive any more. Returns a command object.
18123        (-[WebHTMLView coreCommandByName:]): Added.
18124        (-[WebHTMLView executeCoreCommandBySelector:]): Renamed from callWebCoreCommand:,
18125        and changed to use the new coreCommandBySelector: method.
18126        (-[WebHTMLView executeCoreCommandByName:]): Added.
18127        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Changed all the
18128        methods that call through to WebCore to also use the state() and isEnabled()
18129        functions on the commands for the menu item state and user interface item enabling.
18130        (-[WebHTMLView _handleStyleKeyEquivalent:]): Use ToggleBold and ToggleItalic by
18131        name rather than having local methods for them; no need for methods with a single
18132        call site.
18133        (-[WebHTMLView insertParagraphSeparator:]): Use executeCoreCommandByName: rather
18134        than the deprecated execCommand().
18135        (-[WebHTMLView doCommandBySelector:]): Changed to use command().execute() rather
18136        than the deprecated execCommand().
18137        * WebView/WebHTMLViewInternal.h: Removed some unneeded method declarations.
18138
181392007-12-07  Alexey Proskuryakov  <ap@webkit.org>
18140
18141        Reviewed by Darin Adler.
18142
18143        <rdar://problem/5535636>
18144        Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
18145
18146        http://bugs.webkit.org/show_bug.cgi?id=13916
18147        JavaScript detects Tab as a character input on a textfield validation
18148
18149        * WebCoreSupport/WebEditorClient.h:
18150        Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
18151        Renamed handleInputMethodKeypress() to handleInputMethodKeydown().
18152        * WebCoreSupport/WebEditorClient.mm:
18153        (WebEditorClient::handleKeyboardEvent): This change makes sense only remotely, but it helped
18154        to get tests working. I guess Mac keyboard event handling needs further refactoring.
18155
18156        * WebView/WebHTMLView.mm:
18157        (selectorToCommandName): Convert AppKit editing selector name to Editor command name - extracted
18158        from callWebCoreCommand:.
18159        (_interceptEditingKeyEvent:shouldSaveCommand:): Insert text from keypress.
18160
18161        * WebView/WebPDFView.mm:
18162        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
18163        Convert incoming platform KeyDown into RawKeyDown, as this is what the view is interested in.
18164
181652007-12-10  Brady Eidson  <beidson@apple.com>
18166
18167        Reviewed by John Sullivan
18168
18169        Fix for <rdar://problem/5640080> - Database UI delegate calls need to specify WebFrame
18170
18171        This is because a common UI case is to want to know the originating URL of a Database
18172
18173        * WebCoreSupport/WebChromeClient.mm:
18174        (WebChromeClient::requestQuotaIncreaseForNewDatabase):
18175        (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
18176
18177        * WebView/WebUIDelegatePrivate.h:
18178
18179        * WebView/WebView.mm:
18180        (CallDelegateReturningUnsignedLongLong):
18181        (CallUIDelegateReturningUnsignedLongLong):
18182        * WebView/WebViewInternal.h:
18183
181842007-12-10  Timothy Hatcher  <timothy@apple.com>
18185
18186        Reviewed by Mark Rowe.
18187
18188        <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
18189
18190        * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
18191          so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
18192
181932007-12-10  Kevin Decker  <kdecker@apple.com>
18194
18195        Reviewed by Darin Adler.
18196
18197        Fixed: <rdar://problem/4290098> Right-mouse click on element doesn't call onmousedown handler
18198
18199        * WebView/WebHTMLView.mm:
18200        (-[WebHTMLView menuForEvent:]): Match behavior of other browsers by sending an onmousedown event for right clicks.
18201
182022007-12-08  Oliver Hunt  <oliver@apple.com>
18203
18204        Reviewed by Sam W.
18205
18206        Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
18207
18208        Fixes <rdar://problem/5620249> Must disable SVG animation
18209        <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
18210
18211        Minor updates to the feature flags used.
18212
18213        * Configurations/WebKit.xcconfig:
18214        * DOM/WebDOMOperations.mm:
18215
182162007-12-07  Darin Adler  <darin@apple.com>
18217
18218        Reviewed by Kevin Decker and Tim Hatcher.
18219
18220        - speculative fix for <rdar://problem/5400159> CrashTracer: [USER] 726 crashes
18221          in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
18222
18223        * WebView/WebHTMLView.mm:
18224        (-[WebHTMLView _frameOrBoundsChanged]): Only schedule the mouseover timer if we are in a window
18225        and not closed. That's because viewDidMoveToWindow and close are the entry points for cancelling.
18226        (-[WebHTMLView close]): Add code to cancel both timers. Needed for the case where the entire
18227        window goes away, and the view is never removed from the window.
18228        (-[WebHTMLView viewDidMoveToWindow]): Don't do work if the view is closed.
18229
182302007-12-07  Darin Adler  <darin@apple.com>
18231
18232        Reviewed by Mitz.
18233
18234        - http://bugs.webkit.org/show_bug.cgi?id=15981
18235          speed up visited-link code a bit
18236
18237        * History/WebHistory.mm: Removed unused Latin-1 code path.
18238        (-[_WebCoreHistoryProvider containsURL:length:]): Updated for method name change.
18239
182402007-12-07  Geoffrey Garen  <ggaren@apple.com>
18241
18242        Reviewed by Sam Weinig.
18243
18244        Added a forwarding header, since we now #include nodes.h through some
18245        JavaScriptCore headers.
18246
18247        * ForwardingHeaders/wtf/ListRefPtr.h: Added.
18248
182492007-12-06  Brady Eidson  <beidson@apple.com>
18250
18251        Reviewed by Oliver's rubber stamp
18252
18253        Let's go ahead and call the correct UI Delegate method, shall we?
18254
18255        * WebCoreSupport/WebChromeClient.mm:
18256        (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Call the correct UI delegate
18257
182582007-12-06  Adam Roben  <aroben@apple.com>
18259
18260        Remove some assertions we know can fire and replace them with a FIXME
18261
18262        Reviewed by Anders.
18263
18264        * WebCoreSupport/WebFrameLoaderClient.mm:
18265
182662007-12-06  Timothy Hatcher  <timothy@apple.com>
18267
18268        Change the ASSERT added for the previous fix. The ASSERT was firing for 10.5.0.
18269        Only assert if the major version is zero, since zero is handled in the other cases.
18270
18271        * WebView/WebView.mm:
18272        (callGestalt): Remove the ASSERT.
18273        (createMacOSXVersionString): ASSERT that major is not zero.
18274
182752007-12-06  Darin Adler  <darin@apple.com>
18276
18277        Reviewed by Tim Hatcher.
18278
18279        - fix <rdar://problem/5513394> No way to detect Tiger vs Leopard from Safari's user agent string
18280
18281        * WebView/WebView.mm:
18282        (callGestalt): Added.
18283        (createMacOSXVersionString): Added.
18284        (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Added Mac OS X version string,
18285        right after the string "Mac OS X", but with underscores instead of dots to avoid the dreaded
18286        "4." problem (old libraries that think a "4." anywhere in the user agent means Netscape 4).
18287        (-[WebView _userAgentForURL:]): Fixed incorrect bug numbers.
18288
182892007-12-04  Geoffrey Garen  <ggaren@apple.com>
18290
18291        Reviewed by Darin Adler.
18292
18293        Third step in refactoring JSGlobalObject: Moved data members and data
18294        member access from Interpreter to JSGlobalObject.
18295
18296        * WebView/WebFrame.mm:
18297        (-[WebFrame _attachScriptDebugger]):
18298
182992007-12-04  Kevin McCullough  <kmccullough@apple.com>
18300
18301        Reviewed by Darin Adler.
18302
18303        - <rdar://5621435>
18304        - Security Fix. Instead of having it off by default, WebKit now must
18305        explicitly turn off local-resource restriction when needed for backwards
18306        coimpatibility reasons.
18307
18308        * WebView/WebView.mm:
18309        (-[WebView _commonInitializationWithFrameName:groupName:]):
18310
183112007-12-05  Brady Eidson  <beidson@apple.com>
18312
18313        Reviewed by Kevin Deckers rubberstamp
18314
18315        Disclose and export the Databases Directory defaults key
18316
18317        * Storage/WebDatabaseManager.mm:
18318        * Storage/WebDatabaseManagerPrivate.h:
18319        * WebKit.exp:
18320
183212007-12-04  Kevin Decker  <kdecker@apple.com>
18322
18323        Reviewed by Anders.
18324
18325        <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
18326
18327        * WebCoreSupport/WebViewFactory.mm:
18328        (-[WebViewFactory pluginNameForMIMEType:]): Added.
18329
183302007-12-04  Brady Eidson  <beidson@apple.com>
18331
18332        Reviewed by Mark Rowe
18333
18334        Tweaked the way we typedef and cast these objc_msgSend calls
18335
18336        * WebView/WebView.mm:
18337        (CallDelegateReturningUnsignedLongLong):
18338
183392007-12-04  John Sullivan  <sullivan@apple.com>
18340
18341        Reviewed by Brady Eidson (with help from Mark Rowe)
18342
18343        Fixed return values for unsigned-long-long delegate methods
18344
18345        * WebView/WebView.mm:
18346        (CallDelegateReturningUnsignedLongLong):
18347        redid the change that Brady did at home over the weekend but forgot to check in
18348
183492007-11-27  Adam Roben  <aroben@apple.com>
18350
18351        Remove -[WebFrameBridge setNeedsReapplyStyles]
18352
18353        This functionality is now WebCore's responsibility.
18354
18355        Reviewed by Hyatt.
18356
18357        * WebCoreSupport/WebFrameBridge.mm:
18358        * WebKit.order:
18359
183602007-12-04  John Sullivan  <sullivan@apple.com>
18361
18362        Reviewed by Darin
18363
18364        Added deleteOrigin: SPI, which isn't fully implemented
18365
18366        * Storage/WebDatabaseManagerPrivate.h:
18367        * Storage/WebDatabaseManager.mm:
18368        (-[WebDatabaseManager deleteOrigin:]):
18369        just calls deleteDatabasesWithOrigin: for now, but needs to delete origin itself too
18370
183712007-12-04  Timothy Hatcher  <timothy@apple.com>
18372
18373        Reviewed by Mark Rowe.
18374
18375        Remove a check for early versions of Leopard CFNetwork now that
18376        Leopard has shipped.
18377
18378        * Misc/WebKitVersionChecks.h: Remove WEBKIT_FIRST_CFNETWORK_VERSION_WITH_LARGE_DISK_CACHE_FIX.
18379        * WebView/WebView.mm:
18380        (+[WebView _setCacheModel:]): Remove the early Leopard CFNetwork check.
18381
183822007-12-04  Kevin Decker  <kdecker@apple.com>
18383
18384        Reviewed by Darin Adler.
18385
18386        Revised fix for: <rdar://problem/5586978> REGRESSION (Safari 2-3): WebKit sometimes doesn't invoke Flash's NPP_SetWindow function and causes a hang
18387
18388        This fix is exactly the same as chageset 28359 with the exception of an added early return in
18389        updateAndSetWindow to cover the additional case of when a plug-in isn't drawable.
18390
18391        The CG-based Flash player would sometimes hang because (for CoreGraphics-based plug-ins) our code would
18392        only call into the NPP_SetWindow() function when we tell the plug-in to draw. This created havoc with
18393        Flash because Flash expects the browser to call NPP_SetWindow() and provide a valid graphics context
18394        regardless of whether or not it actually needs to draw.
18395
18396        * Plugins/WebBaseNetscapePluginView.mm:
18397        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed an incorrect comment and toned
18398        down an ASSERT that was too strict.
18399        (-[WebBaseNetscapePluginView updateAndSetWindow]): Removed an early return for CoreGraphics-based plug-ins
18400        which would sometimes altogether prevent updating the PortState and calling into a plug-ins NPP_SetWindow()
18401        function. Also tweaked a comment and added an early return if the plug-in can't draw.
18402
184032007-12-04  Darin Adler  <darin@apple.com>
18404
18405        Reviewed by Kevin Decker.
18406
18407        * WebCoreSupport/WebFrameLoaderClient.h: Removed obsolete privateBrowsingEnabled.
18408        * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
18409        * WebKit.order: Ditto.
18410
184112007-12-03  Dan Bernstein  <mitz@apple.com>
18412
18413        Reviewed by Dave Hyatt.
18414
18415        - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
18416
18417        * WebView/WebHTMLView.mm:
18418        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Removed the code
18419        that checked if the view had resized and sent the resize event, since
18420        FrameView sends resize events now.
18421        * WebView/WebHTMLViewInternal.h:
18422
184232007-12-03  Timothy Hatcher  <timothy@apple.com>
18424
18425        Reviewed by Darin Adler.
18426
18427        Change WebViewGetResourceLoadDelegateImplementations and WebViewGetFrameLoadDelegateImplementations
18428        to return a pointer to the implementation struct instead of a copy of the struct. This changes
18429        all of the callers to dereference the pointer to access the struct fields.
18430
18431        * Plugins/WebNullPluginView.mm:
18432        (-[WebNullPluginView reportFailure]):
18433        * WebCoreSupport/WebFrameBridge.mm:
18434        * WebCoreSupport/WebFrameLoaderClient.mm:
18435        (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
18436        (WebFrameLoaderClient::assignIdentifierToInitialRequest):
18437        (WebFrameLoaderClient::dispatchWillSendRequest):
18438        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
18439        (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
18440        (WebFrameLoaderClient::dispatchDidReceiveResponse):
18441        (WebFrameLoaderClient::willCacheResponse):
18442        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
18443        (WebFrameLoaderClient::dispatchDidFinishLoading):
18444        (WebFrameLoaderClient::dispatchDidFailLoading):
18445        (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
18446        (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
18447        (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
18448        (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
18449        (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
18450        (WebFrameLoaderClient::dispatchWillClose):
18451        (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
18452        (WebFrameLoaderClient::dispatchDidReceiveTitle):
18453        (WebFrameLoaderClient::dispatchDidCommitLoad):
18454        (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
18455        (WebFrameLoaderClient::dispatchDidFailLoad):
18456        (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
18457        (WebFrameLoaderClient::dispatchDidFinishLoad):
18458        (WebFrameLoaderClient::dispatchDidFirstLayout):
18459        * WebView/WebView.mm:
18460        (WebViewGetResourceLoadDelegateImplementations):
18461        (WebViewGetFrameLoadDelegateImplementations):
18462        (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
18463        * WebView/WebViewInternal.h:
18464
184652007-12-03  Timothy Hatcher  <timothy@apple.com>
18466
18467        Reviewed by Brady Eidson.
18468
18469        <rdar://problem/5539913> 188 crashes in WebViewGetFrameLoadDelegateImplementations
18470        <rdar://problem/5586095> CrashTracer: [USER] 5000+ crashes in Safari and Dashboard in dispatchDidFailLoading
18471        <rdar://problem/5607081> CrashTracer: [USER] 2150 crashes in Safari at com.apple.WebKit:
18472        WebViewGetResourceLoadDelegateImplementations + 28
18473
18474        * WebView/WebView.mm:
18475        (-[WebView _cacheResourceLoadDelegateImplementations]): If the delegate is nil, bzero the
18476        implementation cache. This just prevents us from calling getMethod() multiple times just to zero.
18477        (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
18478        (WebViewGetResourceLoadDelegateImplementations): Return a zeroed implementations struct
18479        if the WebView is nil. This fixes the crashes.
18480        (WebViewGetFrameLoadDelegateImplementations): Ditto.
18481
184822007-12-02  Geoffrey Garen  <ggaren@apple.com>
18483
18484        Reviewed by Eric Seidel.
18485
18486        Updated to match the JavaScriptCore change to move virtual methods from
18487        Interpreter to JSGlobalObject.
18488
18489        * WebView/WebFrame.mm:
18490        (-[WebFrame globalContext]): Use the toRef function instead of manually
18491        casting.
18492
184932007-12-01  Brady Eidson  <beidson@apple.com>
18494
18495        Reviewed by Tim
18496
18497        Added a default database quota of 5mb to the default WebPreferences
18498
18499        * WebView/WebPreferences.m:
18500        (+[WebPreferences initialize]):
18501
185022007-11-30  John Sullivan  <sullivan@apple.com>
18503
18504        Reviewed by Geoff Garen
18505
18506        Added another symbol for WebDatabaseManager clients
18507
18508        * WebKit.exp:
18509        added .objc_class_name_WebSecurityOrigin
18510
185112007-11-30  Brady Eidson  <beidson@apple.com>
18512
18513        Reviewed by Geoff
18514
18515        Add isEqual operator to WebSecurityOrigin
18516
18517        * Storage/WebSecurityOrigin.mm:
18518        (-[WebSecurityOrigin isEqual:]):
18519
185202007-11-30  John Sullivan  <sullivan@apple.com>
18521
18522        Reviewed by Darin
18523
18524        Tweaks to newly-declared NSString * constants to make them usable from clients
18525
18526        * Storage/WebDatabaseManagerPrivate.h:
18527        * Storage/WebDatabaseManager.mm:
18528        removed "const" from new NSNotification names and userInfo keys; these generate compiler warnings when used
18529
18530        * WebKit.exp:
18531        export new NSNotification names and userInfo keys so clients can use them
18532
185332007-11-29  Anders Carlsson  <andersca@apple.com>
18534
18535        Reviewed by John.
18536
18537        Rename WebKitShrinksStandaloneImagesToFitKey to WebKitShrinksStandaloneImagesToFit.
18538
18539        This is safe to do because the preference is off by default and Safari 3, which is the only client that turns it on,
18540        is using the setter and not messing around with NSUserDefaults.
18541
18542        * WebView/WebPreferenceKeysPrivate.h:
18543        * WebView/WebPreferences.m:
18544        (+[WebPreferences initialize]):
18545        (-[WebPreferences shrinksStandaloneImagesToFit]):
18546        (-[WebPreferences setShrinksStandaloneImagesToFit:]):
18547
185482007-11-29  Brady Eidson  <beidson@apple.com>
18549
18550        Reviewed by Anders
18551
18552        Support for <rdar://problem/5556381> and <rdar://problem/5556379>
18553
18554        Hook up UI Delegate calls for the database engine feature and other small tweaks
18555
18556        * Storage/WebDatabaseManager.mm:
18557        (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
18558        (-[WebDatabaseManager deleteDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
18559        * Storage/WebDatabaseManagerPrivate.h:
18560
18561        * Storage/WebDatabaseTrackerClient.h:
18562        * Storage/WebDatabaseTrackerClient.mm:
18563        (WebDatabaseTrackerClient::dispatchDidModifyDatabase): Renamed databaseName parameter to databaseIdentifier for clarity
18564
18565        * WebCoreSupport/WebChromeClient.h:
18566        * WebCoreSupport/WebChromeClient.mm:
18567        (WebChromeClient::requestQuotaIncreaseForNewDatabase): Call through to the UI Delegate
18568        (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Ditto
18569
18570        * WebView/WebUIDelegatePrivate.h: Added the two UI Delegate methods
18571
18572        * WebView/WebView.mm:
18573        (CallDelegateReturningUnsignedLongLong):
18574        (CallUIDelegateReturningUnsignedLongLong):
18575        * WebView/WebViewInternal.h:
18576
185772007-11-28  Kevin McCullough  <kmccullough@apple.com>
18578
18579        Reviewed by Sam.
18580
18581        - Added recursive runloop guards.
18582
18583        * DefaultDelegates/WebScriptDebugServer.m:
18584        (-[WebScriptDebugServer suspendProcessIfPaused]):
18585
185862007-11-29  Mark Rowe  <mrowe@apple.com>
18587
18588        Reviewed by Oliver Hunt.
18589
18590        Fix an assertion failure seen on the layout tests, and when closing the window after
18591        visiting <http://www.coudal.com/losalamos/>.
18592
18593        * Plugins/WebBaseNetscapePluginStream.mm:
18594        (-[WebBaseNetscapePluginStream _destroyStream]): Unlink the file and close the file
18595        descriptor even when the stream is being destroyed without the load completing. This
18596        avoids leaking the path and file descriptor, and leaving the temporary file on disk.
18597
185982007-11-28  Adele Peterson  <adele@apple.com>
18599
18600        Reviewed by Darin Adler.
18601
18602        Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6
18603
18604        The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in
18605        WebHTMLView to prevent future problems in other methods as well.
18606
18607        * WebView/WebHTMLView.mm:
18608        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
18609        (-[WebHTMLView keyDown:]):
18610        (-[WebHTMLView keyUp:]):
18611        (-[WebHTMLView flagsChanged:]):
18612        (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
18613        (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
18614        (-[WebHTMLView checkSpelling:]):
18615        (-[WebHTMLView showGuessPanel:]):
18616        (-[WebHTMLView indent:]):
18617        (-[WebHTMLView outdent:]):
18618        (-[WebHTMLView paste:]):
18619        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
18620        (-[WebHTMLView insertText:]):
18621        (-[WebHTMLView selectionTextRects]):
18622
186232007-11-28  Dan Bernstein  <mitz@apple.com>
18624
18625        Reviewed by Maciej Stachowiak.
18626
18627        - fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first)
18628
18629        * WebView/WebHTMLView.mm:
18630        (-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver
18631        because addMouseMovedObserver returns early if the dataSource
18632        is not nil. But if the dataSource is already set (which happens when
18633        a WebHTMLView is being reused) then addMouseMovedObserver must not
18634        be called again.
18635
186362007-11-27  Anders Carlsson  <andersca@apple.com>
18637
18638        Reviewed by Brady.
18639
18640        * Storage/WebDatabaseManager.mm:
18641        * Storage/WebDatabaseManagerPrivate.h:
18642        * Storage/WebDatabaseTrackerClient.mm:
18643        (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
18644        (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
18645        * Storage/WebSecurityOrigin.mm:
18646        (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
18647        * Storage/WebSecurityOriginInternal.h:
18648
186492007-11-27  Kevin Decker  <kdecker@apple.com>
18650
18651        Reviewed by Darin, landed by Anders.
18652
18653        Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131
18654
18655        The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard
18656        shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in
18657        database will compare bundle versions and always load the latest version.
18658
18659        * Plugins/WebBasePluginPackage.h:
18660        * Plugins/WebBasePluginPackage.m:
18661        (-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes,
18662        but we think for now it's good enough for us.
18663        * Plugins/WebPluginDatabase.m:
18664        (considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number.
18665        If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate.
18666        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function.
18667
186682007-11-26  Timothy Hatcher  <timothy@apple.com>
18669
18670        Reviewed by Dave Hyatt.
18671
18672        <rdar://problem/5569233> Add the ability to disable author and user CSS styles
18673
18674        * WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
18675        * WebView/WebPreferences.m:
18676        (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES.
18677        (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value.
18678        (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
18679        * WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
18680        * WebView/WebView.mm:
18681        (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.
18682
186832007-11-26  Brady Eidson  <beidson@apple.com>
18684
18685        Reviewed by Mark Rowe
18686
18687        Provide API for setting the default storage quota per database origin
18688
18689        * Misc/WebNSDictionaryExtras.h:
18690        * Misc/WebNSDictionaryExtras.m:
18691        (-[NSMutableDictionary _webkit_setUnsignedLongLong:forKey:]): Helper for UINT64 preferences
18692
18693        * WebView/WebPreferenceKeysPrivate.h:
18694        * WebView/WebPreferences.m:
18695        (-[WebPreferences _unsignedLongLongValueForKey:]): Helper for UINT64 prefs
18696        (-[WebPreferences _setUnsignedLongLongValue:forKey:]): Ditto
18697        (-[WebPreferences defaultDatabaseQuota]):
18698        (-[WebPreferences setDefaultDatabaseQuota:]):
18699        * WebView/WebPreferencesPrivate.h:
18700
18701        * WebView/WebView.mm:
18702        (-[WebView _preferencesChangedNotification:]): Set the WebCore Settings version of the default storage pref
18703
187042007-11-26  Darin Adler  <darin@apple.com>
18705
18706        Reviewed by Adele.
18707
18708        - some middle-mouse-button-related fixes
18709
18710        These don't affect Safari since it maps the middle mouse button to the command key,
18711        but that might not always be the case for future versions.
18712
18713        * WebView/WebHTMLView.mm:
18714        (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore.
18715        (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events.
18716        (-[WebHTMLView otherMouseUp:]): Ditto, for up events.
18717
18718        * WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.
18719
187202007-11-26  Anders Carlsson  <andersca@apple.com>
18721
18722        Reviewed by Brady.
18723
18724        Get rid of the WebSecurityOriginPrivate object and store
18725        the WebCore::SecurityOriginData pointer in the _private field of
18726        the WebSecurityOrigin object instead.
18727
18728        * Storage/WebDatabaseManager.mm:
18729        (-[WebDatabaseManager databasesWithOrigin:]):
18730        (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
18731        (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
18732        (-[WebDatabaseManager deleteDatabase:withOrigin:]):
18733        * Storage/WebSecurityOrigin.mm:
18734        (-[WebSecurityOrigin initWithProtocol:domain:port:]):
18735        (-[WebSecurityOrigin protocol]):
18736        (-[WebSecurityOrigin domain]):
18737        (-[WebSecurityOrigin port]):
18738        (-[WebSecurityOrigin usage]):
18739        (-[WebSecurityOrigin quota]):
18740        (-[WebSecurityOrigin setQuota:]):
18741        (-[WebSecurityOrigin dealloc]):
18742        (-[WebSecurityOrigin finalize]):
18743        (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
18744        (-[WebSecurityOrigin _core]):
18745        * Storage/WebSecurityOriginInternal.h:
18746
187472007-11-26  Timothy Hatcher  <timothy@apple.com>
18748
18749        Reviewed by Adam Roben.
18750
18751        Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
18752        http://bugs.webkit.org/show_bug.cgi?id=16137
18753
18754        Create the Web Inspector window with the textured style. Set the content border
18755        thickness for the top of the window or the height of the toolbar. Also make the
18756        window's bottom corners square, since a normal textured window normally has
18757        rounded bottom corners.
18758
18759        * WebCoreSupport/WebInspectorClient.mm:
18760        (-[WebInspectorWindowController window]):
18761
187622007-11-24  Mark Rowe  <mrowe@apple.com>
18763
18764        Tiger build fix.
18765
18766        * Plugins/WebBaseNetscapePluginStream.mm:
18767        (CarbonPathFromPOSIXPath): Use WebCFAutorelease as this also works on Tiger.
18768
187692007-11-24  Mark Rowe  <mrowe@apple.com>
18770
18771        Reviewed by Tim Hatcher.
18772
18773        Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
18774        http://bugs.webkit.org/show_bug.cgi?id=13705
18775
18776        Have NP_ASFILE and NP_ASFILEONLY streams write the data to disk as they receive it rather than
18777        dumping the data to disk in a single go when the stream has completed loading.  On a test case
18778        involving a 150MB Flash movie being streamed from a local web server this reduces memory consumption
18779        on page load from around 400MB to 22MB.
18780
18781        The only plugin I have found that uses NP_ASFILE or NP_ASFILEONLY on the Mac is our NetscapeMoviePlugin
18782        example code so the NP_ASFILE portion of this change has not had any testing with a real-world plugin.
18783
18784        * Plugins/WebBaseNetscapePluginStream.h:
18785        * Plugins/WebBaseNetscapePluginStream.mm:
18786        (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
18787        (-[WebBaseNetscapePluginStream dealloc]):
18788        (-[WebBaseNetscapePluginStream finalize]):
18789        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
18790        (-[WebBaseNetscapePluginStream _destroyStream]): Update to work with paths as NSStrings.
18791        (-[WebBaseNetscapePluginStream _deliverDataToFile:]): Open the file if it is not already open, and write any data
18792        to disk.
18793        (-[WebBaseNetscapePluginStream finishedLoading]): If the stream is NP_ASFILE or NP_ASFILEONLY we need to ensure
18794        that the file exists before _destroyStream passes it to the plugin.  Simulating the arrival of an empty data block
18795        ensure that the file will be created if it has not already.
18796        (-[WebBaseNetscapePluginStream receivedData:]):
18797        (CarbonPathFromPOSIXPath):
18798        * Plugins/WebBaseNetscapePluginView.mm:
18799        (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): Data is dealt with incrementally so there's no need to pass
18800        it to finishedLoading.
18801        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Ditto.
18802
188032007-11-23  Oliver Hunt  <oliver@apple.com>
18804
18805        Reviewed by Mark Rowe.
18806
18807        Fixed <rdar://problem/3759190> allow input methods the option of processing mouse events themselves
18808
18809        * WebView/WebHTMLView.mm:
18810        (-[WebHTMLView mouseDown:]):
18811
188122007-11-22  Dan Bernstein  <mitz@apple.com>
18813
18814        Reviewed by Antti Koivisto.
18815
18816        - http://bugs.webkit.org/show_bug.cgi?id=15811
18817          WebKit plug-ins can re-enter WebKit under attach()
18818          <rdar://problem/5577978>
18819
18820        * Plugins/WebNullPluginView.mm:
18821        (-[WebNullPluginView viewDidMoveToWindow]): Removed workaround for the
18822        above bug that added as part of fixing
18823        <http://bugs.webkit.org/show_bug.cgi?id=15804>.
18824
188252007-11-21  Mark Rowe  <mrowe@apple.com>
18826
18827        Reviewed by Eric.
18828
18829        Fix WebKit to build without warnings under GCC 4.2.
18830
18831        * Configurations/Base.xcconfig:
18832
188332007-11-21  Mark Rowe  <mrowe@apple.com>
18834
18835        Reviewed by Tim Hatcher.
18836
18837        Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
18838
18839        Update format strings to use format specifiers that match the argument types.
18840
18841        * Misc/WebGraphicsExtras.c:
18842        (WebConvertBGRAToARGB):
18843
188442007-11-19  Brady Eidson <beidson@apple.com>
18845
18846        Reviewed by Maciej
18847
18848        Finished hooking up the WebKit API for database management.
18849        Most of the API is actually implemented in WebCore and some of those methods might
18850        only be stubs for now.
18851
18852        * Storage/WebDatabaseManager.mm:
18853        (-[WebDatabaseManager origins]): Call through to the WebCore tracker and construct an API result
18854        (-[WebDatabaseManager databasesWithOrigin:]): Ditto
18855        (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Ditto
18856
18857        * Storage/WebSecurityOrigin.mm:
18858        (-[WebSecurityOrigin usage]): Call through to WebCore
18859        (-[WebSecurityOrigin quota]): Ditto
18860        (-[WebSecurityOrigin setQuota:]): Ditto
18861        (-[WebSecurityOrigin _core]): Get WebCore version of this object
18862        * Storage/WebSecurityOriginInternal.h:
18863
188642007-11-17  Timothy Hatcher  <timothy@apple.com>
18865
18866        Reviewed by Mark Rowe.
18867
18868        Bug 13470: i18n: The Web Inspector is not localizable
18869        http://bugs.webkit.org/show_bug.cgi?id=13470
18870
18871        Implement the localizedStringsURL() client method to return the
18872        localized URL of InspectorLocalizedStrings.js in WebCore.
18873
18874        * WebCoreSupport/WebInspectorClient.h: Added localizedStringsURL.
18875        * WebCoreSupport/WebInspectorClient.mm:
18876        (WebInspectorClient::localizedStringsURL): Added.
18877        (WebInspectorClient::updateWindowTitle): Localized the window title.
18878        (-[WebInspectorWindowController init]): Remove a FIXME that dosen't make sense anymore.
18879        (-[WebInspectorWindowController initWithInspectedWebView:]): Code style cleanup.
18880
188812007-11-17  Alexey Proskuryakov  <ap@webkit.org>
18882
18883        Reviewed by Darin Adler.
18884
18885        http://bugs.webkit.org/show_bug.cgi?id=15969
18886        Eliminate Editor::deleteRange()
18887
18888        * WebView/WebHTMLView.mm:
18889        (+[WebHTMLView initialize]):
18890        (-[WebHTMLView yank:]):
18891        (-[WebHTMLView yankAndSelect:]):
18892        (-[WebHTMLView setMark:]):
18893        (-[WebHTMLView deleteToMark:]):
18894        (-[WebHTMLView selectToMark:]):
18895        (-[WebHTMLView swapWithMark:]):
18896        Pushed all kill ring methods to WebCore. They were guilty of using Editor::deleteRange()!
18897
188982007-11-16  Mark Rowe  <mrowe@apple.com>
18899
18900        Reviewed by Tim Hatcher.
18901
18902        Build WebCore as a sub-framework of WebKit in all configurations.
18903
18904        * Configurations/WebKit.xcconfig:
18905
189062007-11-16  John Sullivan  <sullivan@apple.com>
18907
18908        Reviewed by Brady
18909
18910        * WebKit.exp:
18911        Exported some new database-related symbols
18912
189132007-11-16  Brady Eidson  <beidson@apple.com>
18914
18915        Reviewed by John
18916
18917        Database management API tweaks
18918
18919        Fleshed out "WebSecurityOrigin" to be the API object representing an origin.  This relieves some
18920        burden off WebDatabaseManager and allows usage/quota operations on the SecurityOrigin object itself
18921
18922        Also added a new subdirectory for Storage related API - Why are we afraid to add new directories to
18923        the WebKit tree?
18924
18925        * Misc/WebSecurityOrigin.mm: Removed.
18926        * Misc/WebSecurityOriginInternal.h: Removed.
18927        * Misc/WebSecurityOriginPrivate.h: Removed.
18928
18929        * Storage/WebDatabaseManager.mm: Work in terms of WebSecurityOrigin
18930        * Storage/WebDatabaseManagerPrivate.h:
18931
18932        * Storage/WebSecurityOrigin.mm: Added.
18933        (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
18934        (-[WebSecurityOriginPrivate initWithWebCoreSecurityOrigin:]):
18935        (-[WebSecurityOriginPrivate finalize]):
18936        (-[WebSecurityOriginPrivate dealloc]):
18937        (-[WebSecurityOrigin initWithProtocol:domain:]):
18938        (-[WebSecurityOrigin initWithProtocol:domain:port:]):
18939        (-[WebSecurityOrigin protocol]):
18940        (-[WebSecurityOrigin domain]):
18941        (-[WebSecurityOrigin port]):
18942        (-[WebSecurityOrigin usage]):
18943        (-[WebSecurityOrigin quota]):
18944        (-[WebSecurityOrigin setQuota:]): Clients will set quotas on the WebSecurityOrigin object itself
18945        (-[WebSecurityOrigin dealloc]):
18946        (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
18947        * Storage/WebSecurityOriginInternal.h: Added.
18948        * Storage/WebSecurityOriginPrivate.h: Added.
18949
189502007-11-15  Brady Eidson  <beidson@apple.com>
18951
18952        Reviewed by John
18953
18954        Stubbing out everything required for a WebKit API for databases
18955
18956        These interfaces seem to provide everything we need for UI and management at the browser level
18957
18958        * Misc/WebDatabaseManager.h: Removed.
18959        * Misc/WebDatabaseManager.mm: Removed.
18960        * Misc/WebDatabaseManagerPrivate.h: Removed.
18961
18962        * Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple"
18963          (protocol, domain, and port)
18964        (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
18965        (-[WebSecurityOriginPrivate dealloc]):
18966        (-[WebSecurityOrigin initWithProtocol:domain:]):
18967        (-[WebSecurityOrigin initWithProtocol:domain:port:]):
18968        (-[WebSecurityOrigin protocol]):
18969        (-[WebSecurityOrigin domain]):
18970        (-[WebSecurityOrigin port]):
18971        (-[WebSecurityOrigin dealloc]):
18972        (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]):
18973        * Misc/WebSecurityOriginInternal.h: Added.
18974        * Misc/WebSecurityOriginPrivate.h: Added.
18975
18976        * Storage/WebDatabaseManager.mm: Added.
18977        (+[WebDatabaseManager sharedWebDatabaseManager]):
18978        (-[WebDatabaseManager origins]):  Get a list of all origins currently tracked
18979        (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin
18980        (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin
18981        (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database
18982        (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota
18983        (-[WebDatabaseManager deleteAllDatabases]):
18984        (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
18985        (-[WebDatabaseManager deleteDatabase:withOrigin:]):
18986        * Storage/WebDatabaseManagerPrivate.h: Added.
18987        * Storage/WebDatabaseManagerInternal.h: Added.
18988        (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things
18989
18990        * Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications
18991        * Storage/WebDatabaseTrackerClient.mm: Added.
18992        (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient):
18993        (WebDatabaseTrackerClient::WebDatabaseTrackerClient):
18994        (WebDatabaseTrackerClient::~WebDatabaseTrackerClient):
18995        (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
18996        (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
18997
18998        * WebView/WebView.mm:
18999        (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of
19000          Database-related things here
19001
190022007-11-13  Geoffrey Garen  <ggaren@apple.com>
19003
19004        Reviewed by Anders Carlsson.
19005
19006        Renamed Shared to RefCounted.
19007
19008        * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
19009        * ForwardingHeaders/wtf/Shared.h: Removed.
19010        * WebCoreSupport/WebContextMenuClient.h:
19011
190122007-11-13  Geoffrey Garen  <ggaren@apple.com>
19013
19014        Reviewed by Sam Weinig.
19015
19016        Moved Shared.h into wtf so it could be used in more places.
19017
19018        * ChangeLog:
19019        * WebCoreSupport/WebContextMenuClient.h:
19020
190212007-11-13  John Sullivan  <sullivan@apple.com>
19022
19023        Reviewed by Darin Adler.
19024
19025        removed recently-added PreferredType concept; we found a better way to do what
19026        ths was accomplishing
19027
19028        * WebCoreSupport/WebChromeClient.mm:
19029        (WebChromeClient::createWindow):
19030        removed use of PreferredType
19031
190322007-11-13  John Sullivan  <sullivan@apple.com>
19033
19034        Reviewed by Dan Bernstein.
19035
19036        - fixed <rdar://problem/5567954> REGRESSION (Safari 2-3): Autofill no longer automatically fills in
19037        form fields other than the one you're typing into
19038
19039        * WebCoreSupport/WebEditorClient.mm:
19040        (selectorForKeyEvent):
19041        correct the key identifier strings for Tab and Esc; these were updated in WebCore as part of r21445
19042        but didn't get updated here.
19043
190442007-11-12  Josh Aas  <joshmoz@gmail.com>
19045
19046        Reviewed by Darin Adler.
19047
19048        - http://bugs.webkit.org/show_bug.cgi?id=15946
19049          add NPPValue NPPVpluginDrawingModel (Mozilla bug 403418 compat)
19050
19051        * Plugins/WebBaseNetscapePluginView.mm:
19052        (-[WebBaseNetscapePluginView setVariable:value:]):
19053
190542007-11-12  Alexey Proskuryakov  <ap@webkit.org>
19055
19056        Reviewed by Darin Adler.
19057
19058        http://bugs.webkit.org/show_bug.cgi?id=15954
19059        Move DOM Selection operations out of SelectionController
19060
19061        * WebView/WebHTMLView.mm:
19062        (-[WebHTMLView _expandSelectionToGranularity:]):
19063        (-[WebHTMLView selectToMark:]):
19064        (-[WebHTMLView swapWithMark:]):
19065        * WebView/WebView.mm:
19066        (-[WebView setSelectedDOMRange:affinity:]):
19067        Adapted for SelectionController::setSelectedRange() now returning a bool.
19068
190692007-11-12  Oliver Hunt  <oliver@apple.com>
19070
19071        Reviewed by Darin and Geoff.
19072
19073        <rdar://problem/5522011> The content of the password field of
19074        Safari is displayed by reconversion.
19075
19076        Some input methods (notably Kotoeri) can incorrectly provide
19077        access to the raw text of a password field.  To work around
19078        this we forcefully override the inputContext whenever a password
19079        field is active.
19080
19081        * WebView/WebHTMLView.mm:
19082        (-[WebHTMLView inputContext]):
19083
190842007-11-12  John Sullivan  <sullivan@apple.com>
19085
19086        Reviewed by Tim Hatcher
19087
19088        - speculative fix for <rdar://problem/5509989> CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit:
19089        -[WebPDFView(FileInternal) _updatePreferencesSoon] + 56
19090
19091        The crash is probably due to messaging a dealloc'ed dataSource ivar. The dataSource ivar isn't retained
19092        by this class, but should be. (It is retained by WebHTMLView, e.g.).
19093
19094        * WebView/WebPDFView.mm:
19095        (-[WebPDFView dealloc]):
19096        release dataSource ivar
19097        (-[WebPDFView setDataSource:]):
19098        retain dataSource ivar
19099
191002007-11-09  Tristan O'Tierney  <tristan@apple.com>
19101
19102        Reviewed by Timothy Hatcher.
19103
19104        This patch is for the WebKit side of <rdar://problem/5591115>.
19105        We need a way to tell context menu navigations, such as "Open in New Window"
19106        to override any sort of browser preference for tab based navigation.
19107
19108        * WebCoreSupport/WebChromeClient.mm:
19109        (WebChromeClient::createWindow):
19110        Pass up the new preferredType parameter as a string.
19111
191122007-11-09  Timothy Hatcher  <timothy@apple.com>
19113
19114        Reviewed by John.
19115
19116        <rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used
19117
19118        Extend the linked on or after check to every application when a script passed to
19119        stringByEvaluatingJavaScriptFromString: has a return statement. Before the check
19120        was limited to VitalSource Bookshelf, but other developers are running into this.
19121
19122        * Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define.
19123        * WebView/WebDocumentLoaderMac.mm:
19124        (needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the
19125          WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource.
19126        * WebView/WebView.mm:
19127        (-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use
19128          WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call.
19129
191302007-11-08  Kevin McCullough  <kmccullough@apple.com>
19131
19132        Build Fix.
19133
19134        * WebCoreSupport/WebFrameLoaderClient.h:
19135        * WebCoreSupport/WebFrameLoaderClient.mm:
19136        (WebFrameLoaderClient::windowObjectCleared):
19137
191382007-11-07  Darin Adler  <darin@apple.com>
19139
19140        Reviewed by Steve.
19141
19142        - removed some unused WebCore bridge methods
19143
19144        * WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
19145
19146        * WebCoreSupport/WebFrameLoaderClient.mm:
19147        (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of
19148        using the bridge object.
19149
191502007-11-06  Mark Rowe  <mrowe@apple.com>
19151
19152        Rubber-stamped by Dave Kilzer.
19153
19154        Move Mac files from WebKit into WebKit/mac.
19155
19156        * Carbon: Copied from WebKit/Carbon.
19157        * ChangeLog: Copied from WebKit/ChangeLog.
19158        * ChangeLog-2002-12-03: Copied from WebKit/ChangeLog-2002-12-03.
19159        * ChangeLog-2006-02-09: Copied from WebKit/ChangeLog-2006-02-09.
19160        * ChangeLog-2007-10-14: Copied from WebKit/ChangeLog-2007-10-14.
19161        * Configurations: Copied from WebKit/Configurations.
19162        * DOM: Copied from WebKit/DOM.
19163        * DefaultDelegates: Copied from WebKit/DefaultDelegates.
19164        * ForwardingHeaders: Copied from WebKit/ForwardingHeaders.
19165        * History: Copied from WebKit/History.
19166        * Info.plist: Copied from WebKit/Info.plist.
19167        * MigrateHeaders.make: Copied from WebKit/MigrateHeaders.make.
19168        * Misc: Copied from WebKit/Misc.
19169        * Panels: Copied from WebKit/Panels.
19170        * Plugins: Copied from WebKit/Plugins.
19171        * PublicHeaderChangesFromTiger.txt: Copied from WebKit/PublicHeaderChangesFromTiger.txt.
19172        * Resources: Copied from WebKit/Resources.
19173        * WebCoreSupport: Copied from WebKit/WebCoreSupport.
19174        * WebInspector: Copied from WebKit/WebInspector.
19175        * WebKit.exp: Copied from WebKit/WebKit.exp.
19176        * WebKit.order: Copied from WebKit/WebKit.order.
19177        * WebKitPrefix.h: Copied from WebKit/WebKitPrefix.h.
19178        * WebView: Copied from WebKit/WebView.
19179        * icu: Copied from WebKit/icu.
19180
191812007-11-06  Alexey Proskuryakov  <ap@webkit.org>
19182
19183        Reviewed by Darin Adler.
19184
19185        http://bugs.webkit.org/show_bug.cgi?id=15847
19186        Some editing cleanup
19187
19188        No change in functionality.
19189
19190        * WebView/WebHTMLView.mm:
19191        (-[WebHTMLView deleteToEndOfLine:]):
19192        (-[WebHTMLView deleteToEndOfParagraph:]):
19193        WebCore had a duplicate of the same logic already. We are passing a boundary value to
19194        a function that expects granularity, this may need to be straightened out in the future.
19195
191962007-11-05  John Sullivan  <sullivan@apple.com>
19197
19198        * WebView/WebView.mm:
19199        (-[WebView _searchWithSpotlightFromMenu:]):
19200
19201        Teeny style tweak to test svn access on other machine
19202
192032007-11-05  John Sullivan  <sullivan@apple.com>
19204
19205        * WebView/WebView.mm:
19206        (-[WebView computedStyleForElement:pseudoElement:]):
19207
19208        Teeny style tweak to test svn access
19209
192102007-11-02  Tristan O'Tierney  <tristan@apple.com>
19211
19212        Reviewed by Darin Adler.
19213
19214        * DefaultDelegates/WebDefaultUIDelegate.m:
19215        (-[WebDefaultUIDelegate webView:createWebViewWithRequest:windowFeatures:]):
19216        Forward the UI delegate to call webView:createWebViewWithRequest: if
19217        this method doesn't exist.
19218
19219        * WebCoreSupport/WebFrameLoaderClient.mm:
19220        (WebFrameLoaderClient::dispatchCreatePage):
19221        * Plugins/WebBaseNetscapePluginView.mm:
19222        (-[WebBaseNetscapePluginView loadPluginRequest:]):
19223        * WebView/WebView.mm:
19224        (-[WebView _openNewWindowWithRequest:]):
19225        Revised to use new webView:createWebViewWithRequest:windowFeatures: callback.
19226
19227        * WebCoreSupport/WebChromeClient.h:
19228        * WebCoreSupport/WebChromeClient.mm:
19229        (WebChromeClient::createWindow):
19230        Added a new createWindow that accepts 3 parameters, so we can pass up windowFeatures to the chrome.
19231        Removed createModalDialog to use new createWindow function.
19232
19233        * WebView/WebUIDelegatePrivate.h:
19234        Added new webView:createWebViewWithRequest:windowFeatures: method.
19235
192362007-11-05  Geoffrey Garen  <ggaren@apple.com>
19237
19238        Reviewed by Darin Adler.
19239
19240        http://bugs.webkit.org/show_bug.cgi?id=15835
19241
19242        Small adaptations to new KJS::List class.
19243
19244        * ForwardingHeaders/kjs/value.h: Added.
19245
192462007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
19247
19248        Sort files(...); sections of Xcode project files.
19249
19250        Rubber-stamped by Darin Adler.
19251
19252        * WebKit.xcodeproj/project.pbxproj:
19253
192542007-11-02  Antti Koivisto  <antti@apple.com>
19255
19256        Reviewed by Darin Adler.
19257
19258        Add method to enable video composition.
19259
19260        * WebCoreSupport/WebSystemInterface.m:
19261        (InitWebCoreSystemInterface):
19262
192632007-11-02  Darin Adler  <darin@apple.com>
19264
19265        Reviewed by Mitz.
19266
19267        - fix problem I ran into while doing some testing on Mac for
19268          <rdar://problem/5530185> WebKit does not show <object>
19269          fallback content when both URL and MIME type is omitted
19270
19271        I don't know how to reproduce this failure in DumpRenderTree, so there is no
19272        regression test.
19273
19274        * Plugins/WebNullPluginView.h: Removed some unneeded declarations, including
19275        the didSendError local variable. Instead we just set the error to nil once
19276        we've sent it.
19277        * Plugins/WebNullPluginView.mm:
19278        (-[WebNullPluginView initWithFrame:error:DOMElement:]): Refactored so that
19279        the null plug-in image code is separate from the rest of the function and
19280        so that the whole thing is not inside an if statement. Also don't hold a
19281        reference to the DOM element if there is no error to report.
19282        (-[WebNullPluginView reportFailure]): Added. Does the actual delegate
19283        callback. Happens back at the top level of the run loop so it doesn't
19284        fire deep inside layout. Also wrote this so that it is guaranteed not to
19285        reenter and so that it can handle the case where the delegate destroys
19286        the world (including this object). NOTE: This is not a real, general
19287        solution to the problem of plug-ins that do work inside layout. We will need
19288        a more general fix that works for other plug-ins, and we'll track that with
19289        a separate bug report.
19290        (-[WebNullPluginView viewDidMoveToWindow]): Removed most of the code;
19291        changed so it just does a performSelector:afterDelay:0.
19292
192932007-11-02  Mark Rowe  <mrowe@apple.com>
19294
19295        Reviewed by Darin Adler.
19296
19297        Fix http://bugs.webkit.org/show_bug.cgi?id=15780
19298        Bug 15780: WebFrameLoaderClient: WebActionElementKey wrong if view is scrolled
19299
19300        * WebCoreSupport/WebFrameLoaderClient.mm:
19301        (WebFrameLoaderClient::actionDictionary): Retrieve the mouse event coordinates
19302        in the page coordinate system rather than the client area coordinate system.
19303
193042007-11-01  Dan Bernstein  <mitz@apple.com>
19305
19306        Reviewed by Oliver Hunt.
19307
19308        - fix an assertion failure when Command-Tabbing out of Safari
19309
19310        * WebView/WebHTMLView.mm:
19311        (-[WebHTMLView flagsChanged:]): Avoid passing key code 0 down to
19312        WebCore.
19313
193142007-11-01  Justin Garcia  <justin.garcia@apple.com>
19315
19316        Reviewed by Oliver Hunt.
19317
19318        <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
19319
19320        No need to match style when pasting plain text, since the fragment we build for plain text
19321        won't have any style information on it.
19322
19323        * WebView/WebHTMLView.mm:
19324        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): There's no
19325        longer a need to know whether this function chosePlaintext.
19326        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
19327        (-[WebHTMLView _documentFragmentFromPasteboard:]):
19328
193292007-10-31  Timothy Hatcher  <timothy@apple.com>
19330
19331        Reviewed by John Sullivan.
19332
19333        Move the developer extras preference to WebPreferences.
19334
19335        * WebView/WebPreferenceKeysPrivate.h: Add WebKitDeveloperExtrasEnabledPreferenceKey
19336        * WebView/WebPreferences.m:
19337        (+[WebPreferences initialize]): Initialize WebKitDeveloperExtrasEnabledPreferenceKey to NO.
19338        (-[WebPreferences developerExtrasEnabled]): Check DisableWebKitDeveloperExtras, WebKitDeveloperExtras
19339          and IncludeDebugMenu in addition to WebKitDeveloperExtrasEnabledPreferenceKey.
19340        (-[WebPreferences setDeveloperExtrasEnabled:]): Set WebKitDeveloperExtrasEnabledPreferenceKey.
19341        * WebView/WebPreferencesPrivate.h: Add developerExtrasEnabled and setDeveloperExtrasEnabled:.
19342        * WebView/WebView.mm:
19343        (+[WebView _developerExtrasEnabled]): Removed.
19344        (-[WebView _preferencesChangedNotification:]): Check the WebPreferences object for developerExtrasEnabled.
19345        * WebView/WebViewPrivate.h: Removed _developerExtrasEnabled.
19346
193472007-10-30  David D. Kilzer  <ddkilzer@webkit.org>
19348
19349        Generated files missing from WebCore's Xcode project file
19350        <http://bugs.webkit.org/show_bug.cgi?id=15406>
19351
19352        Reviewed by Darin Adler.
19353
19354        Added the following private header files to MigrateHeaders.make:
19355
19356        - DOMCSSStyleSheetPrivate.h
19357        - DOMEventPrivate.h
19358        - DOMHTMLCollectionPrivate.h
19359        - DOMHTMLEmbedElementPrivate.h
19360        - DOMHTMLIFrameElementPrivate.h
19361        - DOMHTMLObjectElementPrivate.h
19362        - DOMHTMLSelectElementPrivate.h
19363
19364        * MigrateHeaders.make:
19365
193662007-10-29  Antti Koivisto  <antti@apple.com>
19367
19368        Reviewed by Maciej.
19369
19370        Some SPIs for media support.
19371
19372        * WebCoreSupport/WebSystemInterface.m:
19373        (InitWebCoreSystemInterface):
19374
193752007-10-29  Timothy Hatcher  <timothy@apple.com>
19376
19377        Reviewed by John Sullivan.
19378
19379        Various semi-related changes:
19380        - A WebView can now be asked for it's WebInspector. There is one
19381          WebInspector per WebView.
19382        - Refactor the WebInspector class and move obsolete methods to
19383          a special category.
19384        - Add new WebInspector methods to show, hide and show the
19385          console/timeline panels.
19386        - Add an isDisabled method to WebCache.
19387        - Allow WebLocalizableStrings.h to be used in C files.
19388
19389        * Misc/WebCache.h: Add isDisabled.
19390        * Misc/WebCache.mm:
19391        (+[WebCache isDisabled]): New method.
19392
19393        * Misc/WebLocalizableStrings.h: Changes to allow use in plain C files.
19394
19395        * WebCoreSupport/WebInspectorClient.mm:
19396        (-[WebInspectorWindowController showWindow:]): Call super if already visible
19397          so the window will be ordered front.
19398        (-[WebInspectorWindowController showWebInspector:]): Method used by menu items,
19399          so they are enabled and work when the Inspector window is key.
19400        (-[WebInspectorWindowController showErrorConsole:]): Ditto.
19401        (-[WebInspectorWindowController showNetworkTimeline:]): Ditto.
19402
19403        * WebInspector/WebInspector.h: Add and remove methods.
19404        * WebInspector/WebInspector.mm:
19405        (-[WebInspector webViewClosed]): Called when the WebView is closed/dealloced.
19406          Clears the _webView pointer.
19407        (-[WebInspector show:]): Calls thru to the Page's InspectorController.
19408        (-[WebInspector showConsole:]): Ditto.
19409        (-[WebInspector showTimeline:]): Ditto.
19410        (-[WebInspector close:]): Ditto.
19411        (-[WebInspector attach:]): Ditto.
19412        (-[WebInspector detach:]): Ditto.
19413        (+[WebInspector sharedWebInspector]): Moved to the obsolete category.
19414        (+[WebInspector webInspector]): Ditto.
19415        (-[WebInspector setWebFrame:]): Ditto.
19416        (-[WebInspector window]): Ditto.
19417        (-[WebInspector showWindow:]): Ditto.
19418
19419        * WebView/WebView.mm:
19420        (-[WebViewPrivate dealloc]): Release the WebInspector.
19421        (-[WebView _close]): Call webViewClosed on the WebInspector.
19422        (-[WebView inspector]): Create a WebInspector if needed and return it.
19423        * WebView/WebViewPrivate.h: Add the inspector method.
19424
194252007-10-30  Adele Peterson  <adele@apple.com>
19426
19427        Reviewed by Darin Adler.
19428
19429        WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
19430        <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
19431
19432        * WebView/WebHTMLView.mm:
19433        (-[WebHTMLView flagsChanged:]): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
19434        (+[WebHTMLView _postFlagsChangedEvent:]): Added a comment with a Radar number for why this isn't just in flagsChanged.
19435        (-[WebHTMLView scrollWheel:]): Instead of calling the next responder explicitly, we can just call super, which will take care of this.
19436
194372007-10-27  Mark Ambachtsheer  <mark.a@apple.com>
19438
19439        Reviewed by Darin Adler.
19440
19441        Fix for bug 15710, When QD plugins draw to an offscreen bitmap and the plugin is not at
19442        (0, 0) the clipping rectangle is not correct.
19443        Added the origin to the window clip rectangle coordinates to account for plugins that
19444        don't originate at (0,0); affects code for offscreen GWorlds only.
19445
19446        * Plugins/WebBaseNetscapePluginView.mm:
19447        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
19448
194492007-10-26  Adele Peterson  <adele@apple.com>
19450
19451        Reviewed by Oliver.
19452
19453        Adding WebKitSystemInterface support for the caps lock indicator
19454
19455        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
19456
194572007-10-25  David Hyatt  <hyatt@apple.com>
19458
19459        Fix for bug 15672, backgrounds don't tile properly inside transforms.  This patch fixes tiling
19460        of backgrounds inside CSS transforms and also of HTML content with background images inside SVG
19461        transforms.
19462
19463        Reviewed by aroben and mmitz
19464
19465        * WebCoreSupport/WebSystemInterface.m:
19466        (InitWebCoreSystemInterface):
19467        * WebKit.xcodeproj/project.pbxproj:
19468
194692007-10-25  John Sullivan  <sullivan@apple.com>
19470
19471        Reviewed by Tim Hatcher
19472
19473        Removed the support for toggling whether WebKit uses the 10.5 PDFKit improvements. Now it
19474        always does, when available.
19475
19476        * WebView/WebPreferencesPrivate.h:
19477        removed _usePDFPreviewView and _setUsePDFPreviewView:. Note that these were guarded with
19478        a comment that says that they can be removed when no longer needed. That time is now.
19479
19480        * WebView/WebPreferences.m:
19481        (+[WebPreferences initialize]):
19482        removed WebKitUsePDFPreviewViewPreferenceKey
19483        (-[WebPreferences _usePDFPreviewView]):
19484        removed
19485        (-[WebPreferences _setUsePDFPreviewView:]):
19486        removed
19487
19488        * WebView/WebPDFView.mm:
19489        (-[WebPDFView initWithFrame:]):
19490        don't check _usePDFPreviewView
19491
19492        * WebView/WebPreferenceKeysPrivate.h:
19493        removed WebKitUsePDFPreviewViewPreferenceKey
19494
194952007-10-24  Timothy Hatcher  <timothy@apple.com>
19496
19497        Reviewed by Mark Rowe.
19498
19499        <rdar://problem/5069711> OpenSource version of libWebKitSystemInterface.a is Tiger only, causes issues if used on Leopard
19500
19501        Use the WebKitSystemInterface that matches the system version.
19502
19503        * Configurations/DebugRelease.xcconfig:
19504        * WebKit.xcodeproj/project.pbxproj:
19505
195062007-10-24  Brady Eidson  <beidson@apple.com>
19507
19508        Reviewed by Anders
19509
19510        <rdar://problem/5554130> DatabaseTracker.o has a global initializer
19511
19512        * Misc/WebDatabaseManager.mm:
19513        (WebKitSetWebDatabasesPathIfNecessary): Call the member function instead of a static one
19514
195152007-10-23  Mark Rowe  <mrowe@apple.com>
19516
19517        Build fix for Eric's build fix in r26916.
19518
19519        * MigrateHeaders.make:
19520
195212007-10-22  Eric Seidel  <eric@webkit.org>
19522
19523        Reviewed by Maciej.
19524
19525        * MigrateHeaders.make: copy over font-face related DOM headers
19526
195272007-10-22  Andrew Wellington  <proton@wiretapped.net>
19528
19529        Reviewed by Mark Rowe.
19530
19531        Fix for local database support after r26879
19532        Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
19533
19534        * Configurations/WebKit.xcconfig:
19535
195362007-10-19  Brady Eidson <beidson@apple.com>
19537
19538        Reviewed by Tim Hatcher
19539
19540        Added support for Chrome prompts required by the Storage API
19541        Added support API for future managing of databases from the WebKit client
19542        Added preference and initialization for the databases path
19543
19544        * Misc/WebDatabaseManager.h: Added.  WebDatabaseManager is how a WebKit application can list and
19545          remove the current available databases
19546        * Misc/WebDatabaseManager.mm: Added.
19547        (+[WebDatabaseManager origins]):
19548        (+[WebDatabaseManager databasesWithOrigin:]):
19549        (+[WebDatabaseManager deleteAllDatabases]):
19550        (+[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
19551        (+[WebDatabaseManager deleteDatabaseWithOrigin:named:]):
19552        (WebKitSetWebDatabasesPathIfNecessary): Setup the database path
19553        * Misc/WebDatabaseManagerPrivate.h: Added.
19554
19555        * WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for
19556          an origin exceeding its size limit
19557        * WebCoreSupport/WebChromeClient.mm:
19558        (WebChromeClient::runDatabaseSizeLimitPrompt):
19559        * WebKit.xcodeproj/project.pbxproj:
19560        * WebView/WebUIDelegate.h:
19561
19562        * WebView/WebView.mm:
19563        (-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path
19564        * WebView/WebViewInternal.h:
19565
195662007-10-19  John Sullivan  <sullivan@apple.com>
19567
19568        Reviewed by Tim Hatcher
19569
19570        - fixed <rdar://problem/5540325> REGRESSION (2.0.4-3): History menu looks odd after clearing history
19571
19572        * History/WebHistory.mm:
19573        (-[WebHistoryPrivate removeAllItems]):
19574        This was fallout from r25275. We need to clear the orderedLastVisitedDays cache here, in addition
19575        to the other places where it's cleared.
19576
195772007-10-18  Dan Bernstein  <mitz@apple.com>
19578
19579        Tiger build fix.
19580
19581        * WebView/WebDataSource.mm:
19582        (-[WebDataSource _MIMETypeOfResponse:]):
19583
195842007-10-18  Dan Bernstein  <mitz@apple.com>
19585
19586        Reviewed by Adam Roben.
19587
19588        - fix <rdar://problem/5313523>
19589        REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
19590
19591        * WebCoreSupport/WebFrameLoaderClient.mm:
19592        (WebFrameLoaderClient::makeDocumentView): Changed to use _responseMIMEType.
19593        * WebView/WebDataSource.mm:
19594        (-[WebDataSource _MIMETypeOfResponse:]): Added. Works around
19595        <rdar://problem/5321972> by testing for the case of an NSHTTPURLResponse
19596        with a MIMEType of application/octet-stream and a Content-Type header
19597        starting with text/plain and returning text/plain as the MIME type in
19598        that case.
19599        (-[WebDataSource _responseMIMEType]): Added. Used to get the correct
19600        response MIME type.
19601        (-[WebDataSource _isDocumentHTML]): Changed to use _responseMIMEType.
19602        (-[WebDataSource _makeRepresentation]): Ditto.
19603        (-[WebDataSource mainResource]): Ditto.
19604        (-[WebDataSource subresources]): Changed to use _MIMETypeOfResponse and
19605        pass the MIME type explicitly.
19606        (-[WebDataSource subresourceForURL:]): Ditto.
19607        * WebView/WebDataSourcePrivate.h:
19608        * WebView/WebFrameView.mm:
19609        (-[WebFrameView _makeDocumentViewForDataSource:]): Changed to use
19610        _responseMIMEType.
19611        * WebView/WebResource.mm:
19612        (-[WebResource _initWithData:URL:response:MIMEType:]): Changed this
19613        method to take a MIME type instead of extracting it from the response,
19614        so that WebDataSource could pass the correct MIME type.
19615        * WebView/WebResourcePrivate.h:
19616
196172007-10-17  Darin Adler  <darin@apple.com>
19618
19619        Reviewed by Mark Rowe.
19620
19621        - fix <rdar://problem/5183775> Uninitialized memory in -[WebDynamicScrollBarsView updateScrollers]
19622
19623        * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
19624        Change code path so it doesn't dispatch a method that returns an NSSize passing a nil object.
19625        It's safe to do that for functions that return integers or pointers, but not structures.
19626
196272007-10-16  David Kilzer  <ddkilzer@apple.com>
19628
19629        Reviewed by Timothy.
19630
19631        <rdar://problem/5544354> Wrong delegate method called in
19632        WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
19633
19634        * WebCoreSupport/WebFrameLoaderClient.mm:
19635        (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Fixed selector name.
19636
196372007-10-16  Darin Adler  <darin@apple.com>
19638
19639        Reviewed by Adele.
19640
19641        - moved transpose command implementation into WebCore
19642
19643        * WebView/WebHTMLView.mm: Removed transpose: and replaced it with standard WebCore forwarding.
19644
196452007-10-16  Darin Adler  <darin@apple.com>
19646
19647        Reviewed by Maciej and Geoff (and looked over by Eric).
19648
19649        - http://bugs.webkit.org/show_bug.cgi?id=15519
19650          eliminate use of <ctype.h> for processing ASCII
19651
19652        * ForwardingHeaders/wtf/ASCIICType.h: Added.
19653        * ForwardingHeaders/wtf/DisallowCType.h: Added.
19654
19655        * WebKitPrefix.h: Include DisallowCType.h.
19656
19657        * Misc/WebNSURLExtras.mm: (-[NSURL _web_URLWithLowercasedScheme]): Use toASCIILower.
19658        * WebView/WebHTMLView.mm:
19659        (-[WebHTMLView callWebCoreCommand:]): Use toASCIIUpper.
19660        (-[WebTextCompleteController filterKeyDown:]): Add a list of specific character codes,
19661        instead of using ispunct.
19662
196632007-10-16  John Sullivan  <sullivan@apple.com>
19664
19665        Reviewed by Adam Roben
19666
19667        Cleaned up localizable strings
19668
19669        * English.lproj/Localizable.strings:
19670        updated
19671        * StringsNotToBeLocalized.txt:
19672        updated
19673        * WebKit.xcodeproj/project.pbxproj:
19674        StringsNotToBeLocalized.txt recently moved but project file wasn't updated to match; now it is
19675
196762007-10-15  Kevin Decker  <kdecker@apple.com>
19677
19678        Reviewed by Darin Adler.
19679
19680        Fixed: <rdar://problem/5520541> REGRESSION: Broken image when forwarding certain email on Tiger
19681
19682        * WebCoreSupport/WebFrameBridge.mm: The problem was that we were loading Mail's WebKit plug-in
19683        too soon, which borked some necessary housekeeping on behalf of Mail. The fix is to add a quirk
19684        that treats Tiger Mail's WebKit plug-in like a Netscape plug-in, thus ensuring the plug-in will
19685        load during first layout and not attach time. For this plug-in, loading at first layout is
19686        expected and is consistent with Safari 2 behavior.
19687
196882007-10-15  John Sullivan  <sullivan@apple.com>
19689
19690        Reviewed by Geoff Garen
19691
19692        Replaced NS_DURING/NS_HANDLER with @try/@catch throughout WebKit
19693
19694        I made the following changes:
19695        - replaced NS_DURING with @try, and added opening brace if there wasn't one
19696        - replaced NS_HANDLER with @catch (NSException *localException), and added braces if there weren't any
19697        - removed NS_ENDHANDLER, and added a closing brace if there wasn't one
19698        - in a couple of places, fixed indentation therein
19699
19700        * Misc/WebIconDatabase.mm:
19701        (objectFromPathForKey):
19702        * WebView/WebHTMLView.mm:
19703        (-[WebHTMLView drawSingleRect:]):
19704        (-[WebHTMLView beginDocument]):
19705        (-[WebHTMLView deleteToMark:]):
19706        * WebView/WebView.mm:
19707        (-[WebView initWithCoder:]):
19708
19709== Rolled over to ChangeLog-2007-10-14 ==
19710