Reviewed by Tim O.
[WebKit-https.git] / WebKit / ChangeLog
1 2006-07-11  Alexey Proskuryakov  <ap@nypop.com>
2
3         Reviewed by Tim O.
4
5         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7808
6         Assertion failure in -[WebBaseNetscapePluginStream dealloc] when requesting an invalid URL
7
8         * Plugins/WebNetscapePluginStream.m:
9         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
10         Remove the early return when requesting an invalid (unsupported) URL.
11
12 === Safari-521.16 ===
13
14 2006-07-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
15
16         Reviewed by John Sullivan.
17
18         - fix <rdar://problem/4621541>, aka <http://bugzilla.opendarwin.org/show_bug.cgi?id=9838>
19           REGRESSION (r14968-r14977): View Source doesn't work for pages from the back/forward cache
20
21         * WebView/WebDataSource.m:
22         (-[WebDataSource _setPrimaryLoadComplete:]): Set our data only if the frame loader is
23         has just loaded it (when coming from the back/forward cache, it hasn't).
24
25 2006-07-10  Brady Eidson  <beidson@apple.com>
26
27         Reviewed by Alexey
28
29         Resolved the console error messages people got from the new DB even if they didn't have it enabled
30
31         * Misc/WebIconDatabase.m:
32         (-[WebIconDatabase init]):
33         Disabled initializing the IconDatabaseBridge if user is living on the old DB
34
35 2006-07-10  Darin Adler  <darin@apple.com>
36
37         - try to fix Windows build
38
39         * COM/WebFrame.h: Qualify DeprecatedString and KURL with WebCore:: prefixes.
40
41 2006-07-09  Darin Adler  <darin@apple.com>
42
43         - try to fix Windows build
44
45         * COM/WebFrame.cpp: Rename QChar to DeprecatedChar.
46
47 2006-07-09  Darin Adler  <darin@apple.com>
48
49         - fix newlines to be consistent for all files in the COM directory
50           (many had mixed style) and set the EOL style to "native" on them.
51
52         * COM/*: Set properties and changed files.
53
54 2006-07-09  Tim Omernick  <timo@apple.com>
55
56         Reviewed by Maciej.
57
58         <rdar://problem/4404652> Netscape plug-in mouse events broken in HiDPI
59
60         Multiply global mouse coordinates by the window scale factor so that plug-ins can use GlobalToLocal() in HiDPI.
61         This fixes many bugs involving plug-in mouse event handling in HiDPI.  Most notably, the Flash player will now
62         correctly respond to clicks.
63
64         * Plugins/WebBaseNetscapePluginView.m:
65         (+[WebBaseNetscapePluginView getCarbonEvent:]):
66         (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
67
68 2006-07-09  Darin Adler  <darin@apple.com>
69
70         Reviewed by Tim Hatcher.
71
72         - fix assertion firing in plug-in layout tests
73
74         * Plugins/WebBaseNetscapePluginView.m:
75         (-[WebBaseNetscapePluginView restartNullEvents]):
76         Don't start null events if the plug-in is not in the
77         started state. This happens when the plug-in moves within
78         its view hierarchy after it has been stopped.
79
80 2006-07-09  Timothy Hatcher  <timothy@apple.com>
81
82         Reviewed by Darin.
83
84         Bug 9820: Move new DOM API that has been through API review to public headers
85         http://bugzilla.opendarwin.org/show_bug.cgi?id=9820
86
87         * Misc/WebElementDictionary.m: include DOMExtensions.h
88         * Misc/WebNSViewExtras.m: include DOMExtensions.h
89         * WebKit.xcodeproj/project.pbxproj: make DOMXPath.h public
90
91 2006-07-09  Timothy Hatcher  <timothy@apple.com>
92
93         Reviewed by Kevin.
94
95         Bug 9818: move new UIDelegate API that has been through API review to public headers
96         http://bugzilla.opendarwin.org/show_bug.cgi?id=9818
97
98         <rdar://problem/4387541> API: Remove webView:setContentRect: & webViewContentRect: delegate methods?
99         The fix for 4310363 removed the only use of webViewContentRect: in our code. webView:setContentRect:
100         was never used to begin with. There's no harm in leaving these around in the API, but they'll cruft it up.
101
102         Also removes the never used webViewPrint: SPI that was replaced by webView:printFrameView:.
103
104         * DefaultDelegates/WebDefaultUIDelegate.m:
105         * WebCoreSupport/WebFrameBridge.m:
106         (-[WebFrameBridge print]):
107         * WebView/WebFrameView.h:
108         * WebView/WebFrameView.m:
109         * WebView/WebFrameViewPrivate.h:
110         * WebView/WebUIDelegate.h:
111         * WebView/WebUIDelegatePrivate.h:
112
113 2006-07-09  Timothy Hatcher  <timothy@apple.com>
114
115         Reviewed by Darin.
116
117         Bug 9814: Move new WebView API that has been through API review to public headers
118         http://bugzilla.opendarwin.org/show_bug.cgi?id=9814
119
120         * WebView/WebView.h:
121         * WebView/WebView.m:
122         (-[WebView close]):
123         (-[WebView setShouldCloseWithWindow:]):
124         (-[WebView shouldCloseWithWindow]):
125         (-[WebView selectedFrame]):
126         (-[WebView setMainFrameURL:]):
127         (-[WebView mainFrameURL]):
128         (-[WebView isLoading]):
129         (-[WebView mainFrameTitle]):
130         (-[WebView mainFrameIcon]):
131         (-[WebView mainFrameDocument]):
132         (-[WebView setDrawsBackground:]):
133         (-[WebView drawsBackground]):
134         (-[WebView toggleSmartInsertDelete:]):
135         (-[WebView toggleContinuousSpellChecking:]):
136         (-[WebView canMakeTextStandardSize]):
137         (-[WebView makeTextStandardSize:]):
138         (-[WebView maintainsInactiveSelection]):
139         * WebView/WebViewPrivate.h:
140
141 2006-07-09  Timothy Hatcher  <timothy@apple.com>
142
143         Reviewed by Maciej.
144
145         Bug 9487: The XPath section should be removed and/or moved.
146         http://bugzilla.opendarwin.org/show_bug.cgi?id=9487
147
148         * WebInspector/webInspector/inspector.css:
149         * WebInspector/webInspector/inspector.html:
150         * WebInspector/webInspector/inspector.js:
151
152 2006-07-09  Anders Carlsson  <acarlsson@apple.com>
153
154         Reviewed by Tim O.
155
156         * WebCoreSupport/WebSystemInterface.m:
157         (InitWebCoreSystemInterface):
158         Initialize wkPathFromFont.
159
160 2006-07-09  Darin Adler  <darin@apple.com>
161
162         - fix release build
163
164         * Plugins/WebBaseNetscapePluginView.m:
165         (-[WebBaseNetscapePluginView restorePortState:]): Cast inside the assertion so
166         that we don't have an unused variable in versions with assertions disabled.
167         The alternative would be to wrap the whole thing in an #if statement.
168
169 2006-07-08  Tim Omernick  <timo@apple.com>
170
171         Reviewed by John Sullivan.
172
173         * Plugins/WebBaseNetscapePluginView.h:
174         - Added ivars for OpenGL support.  Someday it would be nice to refactor this class so
175           that each drawing model is encapsulated in a class; this would allow
176           WebBaseNetscapePluginView to make more efficient use of space, for example by not
177           keeping OpenGL-related ivars for Quickdraw plug-ins.
178         
179         * Plugins/WebBaseNetscapePluginView.m:
180         - Declared a bunch of internal methods for OpenGL support (see below).
181         - Removed "forUpdate" from CoreGraphics port state struct; it was always set to "YES",
182           so I just cleaned up the silly code that used it.
183         - Declared OpenGL port state struct.
184         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
185         - Moved a CoreGraphics-related assertion down to the big "switch" statement.
186         - Don't set window.type here -- according to the Netscape Plug-in API docs, the plug-in
187           should default to "windowed" mode, and may call NPN_SetValue() during its NPN_New() to
188           request that the browser use a "windowless" (offscreen) context instead.
189         - Moved the assertion from the top of this method here; removed a less restrictive
190           assertion that is now obsolete.
191         - Removed "forUpdate" flag from CoreGraphics port state struct.
192         - Fill in OpenGL port state struct.  Set up the viewport appropriately for both windowed
193           and windowless OpenGL plug-ins.  Windowed plug-ins need to have their GL viewport
194           transformed by the amount the plug-in is clipped; windowless plug-ins are drawn off-screen
195           into a surface whose geometry is never changed or clipped, so they may always draw with
196           a viewport origin of (0, 0).
197         (-[WebBaseNetscapePluginView restorePortState:]):
198         - Removed "forUpdate" flag from CoreGraphics port state struct.
199         - Restore the old OpenGL context saved by -saveAndSetNewPortStateForUpdate:.
200         (-[WebBaseNetscapePluginView sendEvent:]):
201         - Updated an assertion to also include OpenGL.  To ensure that attached plug-in window movements
202           happen atomically with web page redisplays, we assert that the plug-in's window is set only while
203           the plug-in view is redrawing.
204         - Same deal as with the assertion; only save/set port state when redrawing the plug-in view.  Plug-ins
205           that use the new drawing models are only allowed to draw when the web page draws.  I might consider
206           changing this for windowed OpenGL plug-ins, since they always obscure the page content anyway.
207         (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
208         - Compare new NP_GLContext structs.
209         (-[WebBaseNetscapePluginView updateAndSetWindow]):
210         - In OpenGL mode, can only set window when updating plug-in view.
211         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
212         - ditto
213         - Updated logging for OpenGL drawing mode.
214         (-[WebBaseNetscapePluginView addWindowObservers]):
215         - No need to observe frame/bounds change notifications for this and all parent views.  See -renewGState
216           comments below.
217         (-[WebBaseNetscapePluginView removeWindowObservers]):
218         - Don't need to remove frame/bounds observers anymore.
219         (-[WebBaseNetscapePluginView start]):
220         - Plug-ins are "windowed" by default.  This is not a change from our previous behavior, but this is a
221           better place to set the default value as it allows the plug-in to override it later.
222         (-[WebBaseNetscapePluginView stop]):
223         - Destroy AGL context when the plug-in stops.
224         (-[WebBaseNetscapePluginView dealloc]):
225         - Assert that the AGL stuff has been cleaned up.
226         (-[WebBaseNetscapePluginView drawRect:]):
227         - If this is a windowless OpenGL plugin, blit its contents back into this view.
228         (-[WebBaseNetscapePluginView renewGState]):
229         - This method is called when the view or one of its parents is moved or resized (see comments).
230         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
231         - Hide the AGL window if the plug-in view is about to be removed from its window.
232         (-[WebBaseNetscapePluginView viewHasMoved:]):
233         - Renamed and moved to the "Internal" category.
234         (-[WebBaseNetscapePluginView invalidateRegion:]):
235         - Style changes.
236         - Add support for OpenGL (uses the same region type as CoreGraphics).
237         (-[WebBaseNetscapePluginView getVariable:value:]):
238         - Style changes.
239         - Implemented NPNVsupportsOpenGLBool; returns YES since we now support the OpenGL drawing model.
240         (-[WebBaseNetscapePluginView setVariable:value:]):
241         - Implemented NPPVpluginWindowBool, which allows plug-ins to specify whether they should be rendered in
242           "windowed" or "windowless" mode.  This is an older part of the Netscape Plug-in API that was never
243           implemented in WebKit.  "Windowed" Quickdraw plug-ins do not actually reside in a separate window, and
244           can already do many of the same things (such as transparency) that only "windowless" plug-ins can do on
245           other platforms.  However, we need the "windowed" vs. "windowless" distinction for OpenGL plug-ins so
246           that they have some way of specifying whether they should be rendered on an accelerated overlay surface,
247           composited into the browser window.
248         - Support for setting the drawing model to OpenGL.
249         (-[WebBaseNetscapePluginView _viewHasMoved]):
250         - Renamed from -viewHasMoved:, and moved down in the file.
251         - None of this work is necessary when the plug-in is not in a window; the plug-in's state will be properly
252           restored when it is moved back into a window.
253         - Reshape OpenGL surface window here.
254         (-[WebBaseNetscapePluginView _createAGLContextIfNeeded]):
255         - Creates the AGL context of the appropriate type (windowed/windowless).
256         (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
257         - Creates a windowed AGL context, which is an AGL context attached to a child window.  This is the only way
258           to get true hardware acceleration.
259         (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
260         - Creates a windowless AGL context, which is an AGL context attached to an offscreen buffer.  This buffer can
261           then be blitted back into the browser window with a different alpha, or scaled, or whatever.
262         (-[WebBaseNetscapePluginView _cglContext]):
263         - Returns the underlying CGL context from the AGL context.  We give the plug-in access to the CGL context because
264           CGL is the more primitive of the GL drawable APIs and allows for finer control over the context.
265         (-[WebBaseNetscapePluginView _getAGLOffscreenBuffer:width:height:]):
266         - Returns the buffer allocated for the offscreen AGL context, if there is one.
267         (-[WebBaseNetscapePluginView _destroyAGLContext]):
268         - Destroys the AGL context, as well as the associated offscreen buffer or child window.
269         (-[WebBaseNetscapePluginView _reshapeAGLWindow]):
270         - Positions the AGL window over the browser window.
271         (-[WebBaseNetscapePluginView _hideAGLWindow]):
272         - Hides the AGL window.
273         (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
274         - Returns an NSImage representation of the offscreen AGL context's framebuffer.  This is used to draw the offscreen
275           bits back into the plug-in view.  This is kind of tricky because it has to convert the offscreen buffer in-place
276           from BGRA to RGBA so that it can be wrapped in an NSBitmapImageRep.  See comments.
277
278         * WebKit.xcodeproj/project.pbxproj:
279         Link OpenGL and AGL.
280
281 2006-07-09  Brady Eidson  <beidson@apple.com>
282
283         Reviewed by Maciej
284
285         The ICONDEBUG flag now chooses either the new icon database or the old one
286         No longer any need to live side by side to compare results
287
288         * Misc/WebIconDatabase.m:
289         (-[NSMutableDictionary iconURLForURL:]):
290         (-[NSMutableDictionary retainIconForURL:]):
291         (-[NSMutableDictionary releaseIconForURL:]):
292         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
293         (-[WebIconDatabase _setIconURL:forURL:]):
294         (-[WebIconDatabase _resetCachedWebPreferences:]):
295
296 2006-07-08  Timothy Hatcher  <timothy@apple.com>
297
298         Reviewed by Maciej.
299
300         Bug 5312: comments aren't available via DOM
301         http://bugzilla.opendarwin.org/show_bug.cgi?id=5312
302
303         Makes the Web Inspector show comment node contents.
304
305         * WebInspector/WebInspector.m:
306         (-[DOMNode _displayName]): return the contents of the comment
307         * WebInspector/webInspector/inspector.js: check for comment nodes
308
309 2006-07-09  Alexey Proskuryakov  <ap@nypop.com>
310
311         Reviewed by Darin.
312
313         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9572
314         Add application/xhtml+xml to the Accept header
315
316         * WebView/WebFrame.m:
317         (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Add an Accept header
318         to main resource requests.
319         * English.lproj/StringsNotToBeLocalized.txt: Added new strings.
320
321 2006-07-08  Darin Adler  <darin@apple.com>
322
323         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
324         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
325         Removed misleading old comment.
326
327 === Safari-521.15 ===
328
329 2006-07-07  Levi Weintraub  <lweintraub@apple.com>
330
331         Reviewed by justin
332
333         Finished moving deletion selection expansion across the bridge... say that 3 times fast.
334
335         * WebView/WebHTMLView.m:  Pass granularity to WebCore to handle expansion
336         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
337         (-[WebHTMLView _deleteSelection]):
338         (-[NSArray _deleteWithDirection:granularity:killRing:isTypingAction:]):
339         (-[NSArray deleteToMark:]):
340
341 2006-07-07  Brady Eidson  <beidson@apple.com>
342
343         Reviewed by John
344
345         Changed an ASSERT to a LOG_ERROR for an error that could be handled gracefully, but
346         whose assertion was reproducibly causing a build bot failure
347
348         * Misc/WebIconDatabase.m:
349         (-[WebIconDatabase _releaseIconForIconURLString:]):
350
351 2006-07-06  Levi Weintraub  <lweintraub@apple.com>
352
353         Reviewed by justin
354
355         Improved table editing
356
357         * WebCoreSupport/WebFrameBridge.m: Added method to allow WebCore to trigger
358         deletion editing delegate
359         (-[WebFrameBridge shouldDeleteSelectedDOMRange:]):
360         * WebView/WebHTMLView.m: Moved code that expanded a selection when the delete
361         key is pressed over to WebCore so we can be more intelligent about how to handle it
362         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
363         (-[NSArray _deleteWithDirection:granularity:killRing:isTypingAction:]):
364
365 2006-07-07  John Sullivan  <sullivan@apple.com>
366
367         Reviewed by Tim Hatcher
368         
369         - fixed <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported
370
371         * WebKit.exp:
372         added surprisingly missing _WebPreferencesChangedNotification, defined in
373         WebPreferences.h
374
375 2006-07-06  Brady Eidson  <beidson@apple.com>
376
377         Reviewed by John.
378
379         Small fix to my previous small fix that only lets the ASSERT off the hook if the DB
380         is closing
381
382         * Misc/WebIconDatabase.m:
383         (-[WebIconDatabase _releaseIconForIconURLString:]):
384
385 2006-07-05  Brady Eidson  <beidson@apple.com>
386
387         Reviewed by Maciej
388
389         Small fix that prevents an assertion from triggering if the DB is being cleaned up 
390         (ie, the app being shut down)
391
392         * Misc/WebIconDatabase.h:
393         * Misc/WebIconDatabase.m:
394         (-[NSMutableDictionary init]):
395         (-[WebIconDatabase _applicationWillTerminate:]):
396         (-[WebIconDatabase _releaseIconForIconURLString:]):
397
398 2006-07-05  Adele Peterson  <adele@apple.com>
399
400         Reviewed by Maciej and Hyatt.
401
402         WebKit part of initial popup menu implementation.
403
404         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
405         Initialize WKPopupMenu.
406
407 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
408
409         Reviewed by Maciej.
410
411         http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
412         iFrames set to display:none are Missing from frames array
413         
414         * WebCoreSupport/WebFrameBridge.m:
415         (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
416         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
417         Modify to pass the owner element instead of the owner renderer.
418         
419         * WebView/WebHTMLView.m:
420         (-[WebHTMLView _topHTMLView]):
421         Remove assertion, it's not valid anymore.
422
423 2006-07-05  Timothy Hatcher  <timothy@apple.com>
424
425         Reviewed by Harrison.
426
427         <rdar://problem/4608423> HIViewAdapter used but not defined
428         Adds a new export file to fix the build.
429
430         * WebKit.LP64.exp: Added.
431         * WebKit.xcodeproj/project.pbxproj:
432
433 2006-07-04  Timothy Hatcher  <timothy@apple.com>
434
435         Reviewed by Maciej.
436
437         Bug 9731: [Drosera] crash when trying to access the scope chain
438         http://bugzilla.opendarwin.org/show_bug.cgi?id=9731
439
440         Because of <rdar://problem/4608404> the WebScriptObject, _globalObj, that
441         WebCoreScriptDebugger holds is unprotected each time the page changes.
442         This causes Drosera to crash Safari when trying to access the scope chain.
443         We simply need to detach and re-attach the debugger when the window script
444         object is cleared until 4608404 is fixed. This change also attaches the
445         debugger before we call the windowScriptObjectAvailable: delegate method,
446         so the debugger is ready before anyone might use the window object.
447
448         * WebCoreSupport/WebFrameBridge.m:
449         (-[WebFrameBridge windowObjectCleared]):
450
451 2006-07-04  Timothy Hatcher  <timothy@apple.com>
452
453         Reviewed by Darin.
454
455         Bug 9732: [Drosera] calling removeListener to many times will cause
456                   WebKit's listener count to underflow/wraparound
457         http://bugzilla.opendarwin.org/show_bug.cgi?id=9732
458
459         Adds a check to make sure the listener was in our listeners set before
460         decrementing the global listener count. Also checks for nil in addListner
461         to prevent a possible exception when adding the object to the set.
462
463         * DefaultDelegates/WebScriptDebugServer.m:
464         (-[WebScriptDebugServer addListener:]):
465         (-[WebScriptDebugServer removeListener:]):
466
467 2006-07-04  Alexey Proskuryakov  <ap@nypop.com>
468
469         Reviewed by Maciej.
470
471         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8210
472         Conditional XMLHttpRequest gets should pass 304 responses unchanged
473
474         Test: http/tests/xmlhttprequest/cache-override.html
475
476         * Misc/WebNSURLRequestExtras.h: Added _web_isConditionalRequest
477         * Misc/WebNSURLRequestExtras.m:
478         (-[NSURLRequest _web_isConditionalRequest]):
479         * WebCoreSupport/WebFrameBridge.m:
480         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
481         Bypass the cache for conditional requests.
482         * WebCoreSupport/WebSubresourceLoader.m:
483         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Ditto.
484
485 2006-07-01  David Kilzer  <ddkilzer@kilzer.net>
486
487         Reviewed by NOBODY (fixed Tim's build fix).
488
489         * WebView/WebView.m: Added back missing '/' at the beginning of the file.
490
491 2006-07-01  Tim Omernick  <timo@apple.com>
492
493         Reviewed by NOBODY (build fix)
494
495         * WebView/WebView.m:
496         (-[WebView _isMIMETypeRegisteredAsPlugin:]):
497         Changed nil to NO (typo).
498
499 === Safari-521.14 ===
500
501 2006-06-30  Timothy Hatcher  <timothy@apple.com>
502
503         Reviewed by Darin.
504
505         Only enable shouldCloseWithWindow when ObjC GC is enabled.
506         This maintains backwards compatibility with applications
507         that expect a WebView to be usable after the window closes.
508
509         * WebView/WebView.m:
510         (-[WebViewPrivate init]):
511
512 2006-06-30  Timothy Hatcher  <timothy@apple.com>
513
514         Reviewed by Anders.
515
516         Call _close in dealloc to ensure we cleanup for backwards
517         compatibility. This will safeguard and cleanup even if the
518         application doesn't use the new close API yet, like Mail.
519
520         * WebView/WebView.m:
521         (-[WebView dealloc]):
522
523 2006-06-29  Timothy Hatcher  <timothy@apple.com>
524
525         Reviewed by Darin.
526
527         <rdar://problem/4484405> WebKit leaks, improper tear-down
528         <rdar://problem/3694059> -[WebBackForwardList finalize] is incorrect; design change needed
529         <rdar://problem/3694103> -[WebFrame finalize] is incorrect; design change needed
530         <rdar://problem/3694104> -[WebHTMLView finalize] is incorrect; design change needed
531
532         Adds a close method to WebView, this needs to be called when the 
533         WebView is no longer needed. To make this easier for the common cases
534         there is now an "auto close" on WebView that listens to the view's
535         parent window. If the parent window closes and the WebView has no
536         hostWindow then the WebView is automatically closed if autoClose is YES.
537         To manage WebView closing yourself call setAutoClose: and pass NO.
538
539         When a WebView closes it will tear-down and not be usable anymore.
540         Close will will called on various other internal objects as a part
541         of this, to ensure proper tear-down in GC without relying on finalize.
542
543         * History/WebBackForwardList.m:
544         (-[WebBackForwardList dealloc]):
545         (-[WebBackForwardList finalize]):
546         (-[WebBackForwardList _close]):
547         * History/WebHistoryItem.m:
548         (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
549         (+[WebHistoryItem _releaseAllPendingPageCaches]):
550         * History/WebHistoryItemPrivate.h:
551         * WebCoreSupport/WebFrameBridge.m:
552         (-[WebFrameBridge close]):
553         (-[WebFrameBridge saveDocumentToPageCache:]):
554         (-[WebFrameBridge canGoBackOrForward:]):
555         * WebView/WebFrame.m:
556         (-[WebFrame _detachFromParent]):
557         (-[WebFrame dealloc]):
558         (-[WebFrame finalize]):
559         * WebView/WebFrameView.m:
560         (-[WebFrameView _setWebFrame:]):
561         (-[WebFrameView finalize]):
562         * WebView/WebHTMLView.m:
563         (-[WebHTMLView close]):
564         (-[NSArray dealloc]):
565         (-[NSArray finalize]):
566         * WebView/WebHTMLViewInternal.h:
567         * WebView/WebHTMLViewPrivate.h:
568         * WebView/WebScriptDebugDelegate.m:
569         (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]):
570         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
571         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
572         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
573         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
574         * WebView/WebScriptDebugDelegatePrivate.h:
575         * WebView/WebView.m:
576         (-[WebViewPrivate init]):
577         (-[WebView _close]):
578         (-[WebView dealloc]):
579         (-[WebView finalize]):
580         (-[WebView viewWillMoveToWindow:]):
581         (-[WebView _windowWillClose:]):
582         (-[WebView setPreferencesIdentifier:]):
583         (-[WebView mainFrame]):
584         (-[WebView setHostWindow:]):
585         (-[WebView searchFor:direction:caseSensitive:wrap:]):
586         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
587         (-[WebView close]):
588         (-[WebView setAutoClose:]):
589         (-[WebView autoClose]):
590         (-[WebView _frameViewAtWindowPoint:]):
591         * WebView/WebViewPrivate.h:
592
593 2006-06-29  Kevin Decker  <kdecker@apple.com>
594
595         Reviewed by mjs and timo.
596         
597         Fixed: <rdar://problem/4609119> handleAuthenticationFromResource was removed; needed by the Dashboard
598
599         * WebView/WebViewPrivate.h: Added handleAuthenticationFromResource back into the header. Needed by the
600         Dashboard, but was removed in r.14028 on 2006-04-23. 
601
602 2006-06-29  Tim Omernick  <timo@apple.com>
603
604         Reviewed by Kevin Decker.
605
606         <rdar://problem/4608487> REGRESSION: reproducible crash in +[WebCoreFrameBridge supportedImageMIMETypes]
607
608         * Plugins/WebPluginDatabase.m:
609         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
610         One might be tempted to add additionalWebPlugInPaths to the global WebPluginDatabase here.
611         For backward compatibility with earlier versions of the +setAdditionalWebPlugInPaths: SPI,
612         we need to save a copy of the additional paths and not cause a refresh of the plugin DB
613         at this time.
614         (-[WebPluginDatabase _plugInPaths]):
615         Include additionalWebPlugInPaths if this is the global DB.
616         (-[WebPluginDatabase refresh]):
617         Call -_plugInPaths to get the modified array of paths.  This is similar to what the old code
618         (before we had per-WebView plugin search paths).
619
620 2006-06-29  Tim Omernick  <timo@apple.com>
621
622         Reviewed by John Sullivan.
623
624         WebHistoryItem now supports getting and setting arbitrary properties via _transientPropertyForKey: and
625         -_setTransientProperty:forKey:.
626         For now, these properties do not persist with the rest of the history data.  They are intended to hold transient
627         per-history-item state, which is something that was until now difficult for a WebKit client app to do.
628         
629         * History/WebHistoryItemPrivate.h:
630         * History/WebHistoryItem.m:
631         (-[WebHistoryItemPrivate dealloc]):
632         (-[WebHistoryItem _transientPropertyForKey:]):
633         (-[WebHistoryItem _setTransientProperty:forKey:]):
634
635 2006-06-29  Timothy Hatcher  <timothy@apple.com>
636
637         Reviewed by Harrison.
638
639         Smart insert and delete, continuous spell checking and autoscroll
640         can now be used for any WebView, not just editable ones. All of
641         these make sense for documents that might contain content editable 
642         areas or our new text fields. Autoscroll is usefull for dragging
643         for file input controls also.
644
645         Added a SPI to toggle WebViews tab key behavior, tabKeyCyclesThroughElements.
646         WebHTMLView's _interceptEditingKeyEvent now uses WebView's
647         tabKeyCyclesThroughElements state to determine whether or not
648         to process tab key events. The idea here is that tabKeyCyclesThroughElements
649         will be YES when this WebView is being used in a browser, and we
650         desire the behavior where tab moves to the next element in tab order.
651         If tabKeyCyclesThroughElements is NO, it is likely that the WebView
652         is being embedded as the whole view, as in Mail, and tabs should input
653         tabs as expected in a text editor. Using Option-Tab always cycles
654         through elements.
655
656         * WebView/WebHTMLRepresentation.m:
657         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
658         * WebView/WebHTMLView.m:
659         (-[NSArray _interceptEditingKeyEvent:]):
660         * WebView/WebView.m:
661         (-[WebViewPrivate init]):
662         (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
663         (-[WebView _shouldAutoscrollForDraggingInfo:]):
664         (-[WebView validateUserInterfaceItem:]):
665         (-[WebView toggleSmartInsertDelete:]):
666         (-[WebView toggleContinuousSpellChecking:]):
667         (-[WebView setTabKeyCyclesThroughElements:]):
668         (-[WebView tabKeyCyclesThroughElements]):
669         * WebView/WebViewPrivate.h:
670
671 2006-06-29  Anders Carlsson  <acarlsson@apple.com>
672
673         Reviewed by Tim O.
674
675         * WebKit.xcodeproj/project.pbxproj:
676         Add DOMXPath.h header.
677
678 2006-06-28  David Hyatt  <hyatt@apple.com>
679
680         Fix custom highlighting so that you can paint the entire line (and go
681         outside the bounds of the line).
682
683         Reviewed by harrison
684
685         * WebCoreSupport/WebFrameBridge.m:
686         (-[WebFrameBridge customHighlightRect:forLine:]):
687         (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:]):
688         * WebKit.xcodeproj/project.pbxproj:
689         * WebView/WebHTMLViewPrivate.h:
690
691 2006-06-28  Maciej Stachowiak  <mjs@apple.com>
692
693         Reviewed by Anders.
694         
695         - fix Frame leak on layout tests
696
697         * WebCoreSupport/WebPageBridge.m:
698         (-[WebPageBridge outerView]): Return WebFrameView for main frame instead
699         of WebView to avoid reference cycle between WebView and Page.
700
701 2006-06-28  Timothy Hatcher  <timothy@apple.com>
702
703         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
704
705         * WebKit.xcodeproj/project.pbxproj:
706
707 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
708
709         Reviewed by justin
710
711         http://bugzilla.opendarwin.org/show_bug.cgi?id=7568
712         Bug 7568: Implement Indent/Outdent
713         Added undo action strings and enum values
714
715         * English.lproj/Localizable.strings:
716         * WebCoreSupport/WebFrameBridge.m: 
717         (-[WebFrameBridge nameForUndoAction:]):
718
719 2006-06-27  Brady Eidson  <beidson@apple.com>
720
721         Reviewed by Maciej
722
723         Hookup the new semi-functional SQLite icon database.
724         For now, it is living side-by-side with the old DB so one can compare the
725         two for debugging purposes.  Also, it is disabled (in WebKit) by default unless you
726         compile with ICONDEBUG #defined.
727         Note:  To repeat that, if you want to try the new DB, #define ICONDEBUG (WebKitPrefix.h is a good place to do it)
728
729         * Misc/WebIconDatabase.m:
730         (-[NSMutableDictionary iconForURL:withSize:cache:]):
731         (-[NSMutableDictionary iconURLForURL:]):
732         (-[NSMutableDictionary retainIconForURL:]):
733         (-[NSMutableDictionary releaseIconForURL:]):
734         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
735         (-[WebIconDatabase _setIconURL:forURL:]):
736         (-[WebIconDatabase _hasIconForIconURL:]):
737         (-[WebIconDatabase _resetCachedWebPreferences:]):
738         * Misc/WebIconLoader.m:
739         (-[WebIconLoader didFinishLoading]):
740         * WebKit.xcodeproj/project.pbxproj:
741
742 2006-06-26  David Hyatt  <hyatt@apple.com>
743
744         Fix for 9538, support syntax highlighting for HTML source.
745
746         Reviewed by darin
747
748         * WebKit.xcodeproj/project.pbxproj:
749         * WebView/WebView.m:
750         (-[WebView _setInViewSourceMode:]):
751         (-[WebView _inViewSourceMode]):
752         * WebView/WebViewPrivate.h:
753
754 2006-06-25  Timothy Hatcher  <timothy@apple.com>
755
756         Reviewed by Darin.
757
758         Bug 9574: Drosera should show inline scripts within the original HTML
759         http://bugzilla.opendarwin.org/show_bug.cgi?id=9574
760
761         * Adds a new version of the didParseSource delegate callback with base line number.
762         * Adds a new delegate callback for when a script fails to parse.
763         * These new callbacks use NSURLs for the url parameter.
764         * Adds a new script listener callback to notify when the main resource loads.
765         * Adds a WebScriptErrorDomian and other keys for use with NSError.
766
767         * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
768         (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
769         (-[WebDefaultScriptDebugDelegate webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
770         * DefaultDelegates/WebScriptDebugServer.h:
771         * DefaultDelegates/WebScriptDebugServer.m:
772         (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
773         (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
774         (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
775         * DefaultDelegates/WebScriptDebugServerPrivate.h:
776         * WebKit.exp:
777         * WebView/WebDataSource.m:
778         (-[WebDataSource _setPrimaryLoadComplete:]):
779         * WebView/WebScriptDebugDelegate.h:
780         * WebView/WebScriptDebugDelegate.m:
781         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
782
783 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
784
785         Reviewed by Timothy.
786
787         * Info.plist: Fixed copyright to include 2003-2006.
788
789 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
790
791         Reviewed by Darin.
792
793         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9418
794         WebKit will not build when Space exists in path
795
796         * WebKit.xcodeproj/project.pbxproj: Enclose search paths in quotes.
797
798 2006-06-23  Tim Omernick  <timo@apple.com>
799
800         Reviewed by John Sullivan.
801
802         * Plugins/WebBaseNetscapePluginView.m:
803         (-[WebBaseNetscapePluginView sendEvent:]):
804         Fixed a bug I found in the CoreGraphics drawing model that was preventing certain types of
805         events from being dispatched to the plugin, unless the plugin was being updated.  The check
806         for portState was only required to call -setWindowIfNecessary, not required for the entire
807         event dispatch.
808         Also, don't paint the green debug rect unless this is a QuickDraw plugin.  Otherwise the
809         current QD port is not set, and the green rect fills the entire screen.  Pretty awesome
810         looking, but not intended behavior.
811         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
812         Improved the logging here to include the NPWindow's width and height.
813
814 2006-06-23  Timothy Hatcher  <timothy@apple.com>
815
816         Reviewed by Tim O.
817
818         Adds back SPI that Mail is still depending on.
819
820         * WebView/WebDataSource.m:
821         (-[WebDataSource _addSubframeArchives:]):
822         * WebView/WebDataSourcePrivate.h:
823
824 === WebKit-521.13 ===
825
826 2006-06-23  Timothy Hatcher  <timothy@apple.com>
827
828         Reviewed by Geoff.
829
830         script debugger should only attach to JavaScriptCore when there are listeners
831         http://bugzilla.opendarwin.org/show_bug.cgi?id=9552
832
833         Attaches the debugger to all WebFrames when the first listener
834         is added. Detaches when the last listener is removed.
835         Also detach when the script debug delegate is set to nil.
836
837         * DefaultDelegates/WebScriptDebugServer.m:
838         (+[WebScriptDebugServer listenerCount]):
839         (-[WebScriptDebugServer dealloc]):
840         (-[WebScriptDebugServer attachScriptDebuggerToAllWebViews]):
841         (-[WebScriptDebugServer detachScriptDebuggerFromAllWebViews]):
842         (-[WebScriptDebugServer listenerConnectionDidDie:]):
843         (-[WebScriptDebugServer addListener:]):
844         (-[WebScriptDebugServer removeListener:]):
845         * DefaultDelegates/WebScriptDebugServerPrivate.h:
846         * WebCoreSupport/WebFrameBridge.m:
847         (-[WebFrameBridge windowObjectCleared]):
848         * WebView/WebFrame.m:
849         (-[WebFrame _attachScriptDebugger]):
850         (-[WebFrame _detachScriptDebugger]):
851         * WebView/WebFramePrivate.h:
852         * WebView/WebScriptDebugDelegate.m:
853         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
854         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
855         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
856         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
857         * WebView/WebView.m:
858         (-[WebView _attachScriptDebuggerToAllFrames]):
859         (-[WebView _detachScriptDebuggerFromAllFrames]):
860         (-[WebView setScriptDebugDelegate:]):
861         * WebView/WebViewPrivate.h:
862
863 2006-06-22  John Sullivan  <sullivan@apple.com>
864
865         Reviewed by Tim Omernick
866         
867         - added support for UIDelegate to be notified of scrolling in any WebHTMLView
868         - cleaned up recently-added UIDelegate code
869
870         * WebView/WebUIDelegatePrivate.h:
871         declared webView:didScrollDocumentInFrameView: method
872
873         * DefaultDelegates/WebDefaultUIDelegate.m:
874         (-[NSApplication webView:didDrawRect:]):
875         provide default (empty) implementation of this recently-added method, so the
876         DelegateForwarder mechanism will work for it
877         (-[NSApplication webView:didScrollDocumentInFrameView:]):
878         same thing for the new method
879         
880         * WebView/WebHTMLView.m:
881         (-[WebHTMLView _frameOrBoundsChanged]):
882         use _UIDelegateForwarder mechanism to notify delegate that scrolling occurred
883         (-[NSArray drawSingleRect:]):
884         use _UIDelegateForwarder mechanism instead of checking respondsToSelector stuff
885         here (that's packaged up nicely by the forwarder mechanism)
886         
887 2006-06-22  Tim Omernick  <timo@apple.com>
888
889         Reviewed by NOBODY (build fix)
890
891         * WebView/WebFrameLoader.m:
892         Import WebMainResourceLoader instead of using @class so that we can call WebMainResourceLoader
893         methods.
894         
895 2006-06-22  Tim Omernick  <timo@apple.com>
896
897         Reviewed by NOBODY (build fix)
898
899         * WebView/WebFrameLoader.m:
900         Import JavaScriptCore/Assertions.h instead of WebKit/WebAssertions.h (which no longer exists)
901
902 2006-06-22  Maciej Stachowiak  <mjs@apple.com>
903
904         Reviewed by Adele.
905         
906         - start moving loading logic to new WebFrameLoader class; move management of WebLoaders there
907
908         * Misc/WebIconLoader.h:
909         * Misc/WebIconLoader.m:
910         (-[WebIconLoader didFinishLoading]):
911         * WebKit.xcodeproj/project.pbxproj:
912         * WebView/WebDataSource.m:
913         (-[WebDataSourcePrivate dealloc]):
914         (-[WebDataSource _updateLoading]):
915         (-[WebDataSource _loadIcon]):
916         (-[WebDataSource _setPrimaryLoadComplete:]):
917         (-[WebDataSource _stopLoading]):
918         (-[WebDataSource _startLoading]):
919         (-[WebDataSource _addSubresourceLoader:]):
920         (-[WebDataSource _removeSubresourceLoader:]):
921         (-[WebDataSource _addPlugInStreamLoader:]):
922         (-[WebDataSource _removePlugInStreamLoader:]):
923         (-[WebDataSource _iconLoaderReceivedPageIcon:]):
924         (-[WebDataSource _defersCallbacksChanged]):
925         (-[WebDataSource _stopLoadingWithError:]):
926         (-[WebDataSource _setupForReplaceByMIMEType:]):
927         (-[WebDataSource initWithRequest:]):
928         (-[WebDataSource dealloc]):
929         (-[WebDataSource finalize]):
930         (-[WebDataSource data]):
931         (-[WebDataSource isLoading]):
932         * WebView/WebFrameLoader.h: Added.
933         * WebView/WebFrameLoader.m: Added.
934         (-[WebFrameLoader initWithDataSource:]):
935         (-[WebFrameLoader dealloc]):
936         (-[WebFrameLoader hasIconLoader]):
937         (-[WebFrameLoader loadIconWithRequest:]):
938         (-[WebFrameLoader stopLoadingIcon]):
939         (-[WebFrameLoader addPlugInStreamLoader:]):
940         (-[WebFrameLoader removePlugInStreamLoader:]):
941         (-[WebFrameLoader setDefersCallbacks:]):
942         (-[WebFrameLoader stopLoadingPlugIns]):
943         (-[WebFrameLoader isLoadingMainResource]):
944         (-[WebFrameLoader isLoadingSubresources]):
945         (-[WebFrameLoader isLoading]):
946         (-[WebFrameLoader stopLoadingSubresources]):
947         (-[WebFrameLoader addSubresourceLoader:]):
948         (-[WebFrameLoader removeSubresourceLoader:]):
949         (-[WebFrameLoader mainResourceData]):
950         (-[WebFrameLoader releaseMainResourceLoader]):
951         (-[WebFrameLoader cancelMainResourceLoad]):
952         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
953         (-[WebFrameLoader stopLoadingWithError:]):
954
955 2006-06-21  Brady Eidson  <beidson@apple.com>
956
957         Reviewed by Maciej
958
959         The WebCoreIconDatabaseBridge was getting messages sent to it after it had been closed, resulting in a crash
960         on an ASSERT().  After closing the databaseBridge, we simply set it to nil so this can't happen.
961         anymore.
962
963         * Misc/WebIconDatabase.m:
964         (-[WebIconDatabase _applicationWillTerminate:]):
965
966 2006-06-21  Tim Omernick  <timo@apple.com>
967
968         Reviewed by Geoff Garen.
969
970         <rdar://problem/4564131> WebPluginDatabase setAdditionalWebPlugInPaths needs to be per WebView
971
972         Added some WebView SPI so that individual WebViews may have different plugin search paths.  There are some 
973         limitations with the approach taken here:
974
975         - JavaScript may only access the global plugin DB.
976         - When this SPI is in use, certain WebView methods may not give accurate results, such as +canShowMIMEType:.
977         - This only works for plugins referenced using the <object> or <embed> tags; plugins that reside in non-standard
978         file system locations may not be loaded directly into frames.
979         
980         None of these issues are important to the client that needs this SPI.  Rather than re-architect our entire
981         plugin database, I think it is better to simply accept these limitations for now.
982
983         * Plugins/WebPluginDatabase.h:
984         Added "plugInPaths" ivar, so different plugin databases can have different search paths.
985         * Plugins/WebPluginDatabase.m:
986         (+[WebPluginDatabase installedPlugins]):
987         Give the global plugin database the default plugin search paths.
988         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
989         Removed static global; this method now sets the plugin paths on the global plugin database.
990         (-[WebPluginDatabase setPlugInPaths:]):
991         Setter method for plugin paths.
992         (-[WebPluginDatabase close]):
993         New method; called when the plugin database is no longer needed (when its WebView is being destroyed).
994         (-[WebPluginDatabase init]):
995         Don't refresh in -init, so that callers can set the DB's plugin path array before it refreshes.
996         (-[WebPluginDatabase dealloc]):
997         Moved here from near the bottom of the file.  Release new ivar.
998         (-[WebPluginDatabase refresh]):
999         Use the plugInPaths ivar instead of calling pluginLocations().
1000         Notify plugin packages when they are added to and removed from a plugin database.  A plugin package will
1001         unload itself when it is removed from all of its plugin databases.
1002         The only really tricky thing here is that the global MIME <-> view class registrations are only modified
1003         by the shared plugin DB.
1004         (+[WebPluginDatabase _defaultPlugInPaths]):
1005         Refactored from the old pluginLocations() function; returns the default set of plugin search paths.
1006
1007         * Plugins/WebBasePluginPackage.h:
1008         * Plugins/WebBasePluginPackage.m:
1009         (-[WebBasePluginPackage dealloc]):
1010         Assert that this package has been removed from all of its containing plugin databases.
1011         (-[WebBasePluginPackage finalize]):
1012         ditto
1013         (-[WebBasePluginPackage wasAddedToPluginDatabase:]):
1014         Add plugin database to set.
1015         (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
1016         Remove plugin database from set.  If it was the last DB, then unload the plugin package.
1017
1018         * WebView/WebViewInternal.h:
1019         Added instance methods to find the view class or plugin package, given a MIME type or file extension.
1020         * WebView/WebViewPrivate.h:
1021         Added SPI to set plugin search paths per WebView.
1022         * WebView/WebView.m:
1023         (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
1024         New method; tries the global MIME <-> view map first; failing that, it checks the WebView's plugin DB.
1025         (-[WebView _close]):
1026         Close the plugin DB.
1027         (-[WebView _setAdditionalWebPlugInPaths:]):
1028         Create the plugin DB if necessary, and set its plugin paths.
1029         (-[WebView _pluginForMIMEType:]):
1030         Checks global plugin DB, falls back on WebView DB.
1031         (-[WebView _pluginForExtension:]):
1032         ditto
1033         (-[WebView _isMIMETypeRegisteredAsPlugin:]):
1034         ditto
1035
1036         * WebCoreSupport/WebFrameBridge.m:
1037         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
1038         Use new WebView instance methods to look for plugins.
1039         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
1040         ditto
1041         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
1042         ditto
1043
1044 2006-06-20  Brady Eidson  <beidson@apple.com>
1045
1046         Reviewed by Maciej
1047
1048         Added calls through to the WebCoreIconDatabaseBridge for all the major WebIconDatabase API.  For now these calls
1049         are wrapped with #ifdef's and are for debugging only.
1050
1051         * Misc/WebIconDatabase.h:
1052         * Misc/WebIconDatabase.m:
1053         (-[NSMutableDictionary _scaleIcon:toSize:]):
1054         (-[NSMutableDictionary init]):
1055         (-[NSMutableDictionary iconForURL:withSize:cache:]):
1056         (-[NSMutableDictionary iconURLForURL:]):
1057         (-[NSMutableDictionary retainIconForURL:]):
1058         (-[NSMutableDictionary releaseIconForURL:]):
1059         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
1060         (-[WebIconDatabase _setIconURL:forURL:]):
1061         (-[WebIconDatabase _hasIconForIconURL:]):
1062         * Misc/WebIconLoader.m:
1063         (-[WebIconLoader didFinishLoading]):
1064
1065         * Misc/WebKitLogging.h:  Added a logging channel for WebIconDatabase debugging
1066         * Misc/WebKitLogging.m:
1067         (WebKitInitializeLoggingChannelsIfNecessary):
1068
1069 2006-06-20  Adele Peterson  <adele@apple.com>
1070
1071         Reviewed by Tim Hatcher.
1072
1073         * WebView/WebMainResourceLoader.m: Added missing header to fix build on Leopard.
1074
1075 2006-06-20  Timothy Hatcher  <timothy@apple.com>
1076
1077         Reviewed by Darin.
1078
1079         Removes the @try/@catch from the callbacks to improve performance,
1080         simply check if the proxy object's connection is still valid first.
1081         Listener objects are now required to be NSDistantObjects.
1082
1083         Adds pause, resume and step support. The debugger process use to handle this,
1084         but it caused problems when there were multiple listeners.
1085
1086         Sends the bundle identifier in the notification userInfo dictionary along with
1087         process name and process ID.
1088
1089         * DefaultDelegates/WebScriptDebugServer.h:
1090         * DefaultDelegates/WebScriptDebugServer.m:
1091         (-[WebScriptDebugServer serverQuery:]):
1092         (-[WebScriptDebugServer addListener:]):
1093         (-[WebScriptDebugServer removeListener:]):
1094         (-[WebScriptDebugServer step]):
1095         (-[WebScriptDebugServer pause]):
1096         (-[WebScriptDebugServer resume]):
1097         (-[WebScriptDebugServer isPaused]):
1098         (-[WebScriptDebugServer suspendProcessIfPaused]):
1099         (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
1100         (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
1101         (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
1102         (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
1103         * DefaultDelegates/WebScriptDebugServerPrivate.h:
1104         * WebKit.exp:
1105
1106 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
1107
1108         Reviewed by Darin.
1109
1110         - http://bugzilla.opendarwin.org/show_bug.cgi?id=5499
1111         Page reload does not send any cache control headers
1112
1113         * WebView/WebFrame.m:
1114         (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Set a proper Cache-Control header for 
1115         reload requests.
1116         (-[WebFrame loadRequest:]): Reset loadType to WebFrameLoadTypeStandard (after a reload, it stayed at 
1117         WebFrameLoadTypeReload, so _addExtraFieldsToRequest erroneously added a Cache-Control header to them).
1118
1119 2006-06-19  John Sullivan  <sullivan@apple.com>
1120
1121         Reviewed by Darin.
1122         
1123         - added mechanism to notify UIDelegate when part of the webview is redrawn. For now, it only
1124           works for HTML views.
1125
1126         * WebView/WebUIDelegatePrivate.h:
1127         Define a new UIDelegate method -webView:didDrawRect:
1128         * WebView/WebHTMLView.m:
1129         (-[WebView drawSingleRect:]):
1130         Call through to UIDelegate if it implements that method. I tested that this does not impact PLT numbers
1131         in the case where the delegate implements the method but does nothing in it.
1132
1133 2006-06-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1134
1135         Reviewed by Maciej.
1136
1137         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9452
1138           Assertion failure in -[WebFramePrivate setProvisionalDataSource:]
1139
1140         * WebView/WebFrame.m:
1141         (-[WebFrame _checkLoadCompleteForThisFrame]): Avoid re-entering the delegate's
1142         -[webView:didFailProvisionalLoadWithError:forFrame].
1143
1144 2006-06-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1145
1146         Reviewed by xenon.
1147
1148         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9479
1149           Disassociate the inspector from the frame when it detaches from its parent
1150
1151         * WebInspector/WebInspector.m:
1152         (-[NSWindow setWebFrame:]): Added code to (de)register with the WebFrame
1153         the inspector is (no longer) targeting.
1154         (-[WebInspector _webFrameDetached:]): Added. Moved the code that was previously
1155         in -[inspectedWindowWillClose:] here. This is called by the WebFrame when it
1156         is detached from its parent.
1157         * WebInspector/WebInspectorInternal.h:
1158         * WebView/WebFrame.m:
1159         (-[WebFramePrivate dealloc]):
1160         (-[WebFrame _detachFromParent]): Added code to notify all registered inspectors
1161         that the WebFrame is detaching.
1162         (-[WebFrame _addInspector:]): Added.
1163         (-[WebFrame _removeInspector:]): Added.
1164         * WebView/WebFrameInternal.h:
1165
1166 2006-06-18  Anders Carlsson  <acarlsson@apple.com>
1167
1168         Reviewed by Geoff.
1169
1170         * WebCoreSupport/WebFrameBridge.m:
1171         (-[WebFrameBridge shouldInterruptJavaScript]):
1172         Ask the UI delegate if the script should be interrupted.
1173         
1174         * WebView/WebUIDelegatePrivate.h:
1175         Declare webViewShouldInterruptJavaScript: delegate method
1176
1177 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1178
1179         Reviewed by Darin.
1180
1181         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9466
1182           Assertion failure when dragging an image from the document into Safari's address bar
1183
1184         * WebView/WebFrameView.m:
1185         (-[WebFrameView _setDocumentView:]): Reset the WebView's initiatedDrag flag
1186         when the document view is changed.
1187         * WebView/WebHTMLView.m:
1188         (-[WebHTMLView draggedImage:endedAt:operation:]): Changed the ASSERT to allow
1189         for drags that end after the view has been removed from the WebView.
1190
1191 2006-06-16  Timothy Hatcher  <timothy@apple.com>
1192
1193         Reviewed by Tim O.
1194
1195         Exposes a distributed objects server for clients to register for script debugger calls.
1196         For preformance concerns this is disabled by default, you will need to enable this per application.
1197         To enable for Safari do this: defaults write com.apple.Safari WebKitScriptDebuggerEnabled -bool true
1198
1199         Clients will need to listen to the following distributed notification to discover servers:
1200         WebScriptDebugServerDidLoadNotification
1201
1202         To discover servers that previously loaded before the client, the client needs to send the following notification:
1203         WebScriptDebugServerQueryNotification
1204
1205         All servers will reply with the WebScriptDebugServerQueryReplyNotification notification that contains the
1206         registered server connection name to use with distributed objects.
1207
1208         * DefaultDelegates/WebScriptDebugServer.h: Added.
1209         * DefaultDelegates/WebScriptDebugServer.m: Added.
1210         (+[WebScriptDebugServer sharedScriptDebugServer]):
1211         (-[WebScriptDebugServer init]):
1212         (-[WebScriptDebugServer dealloc]):
1213         (-[WebScriptDebugServer serverQuery:]):
1214         (-[WebScriptDebugServer listenerConnectionDidDie:]):
1215         (-[WebScriptDebugServer addListener:]):
1216         (-[WebScriptDebugServer removeListener:]):
1217         (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
1218         (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
1219         (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
1220         (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
1221         * DefaultDelegates/WebScriptDebugServerPrivate.h: Added.
1222         * WebCoreSupport/WebFrameBridge.m:
1223         (-[WebFrameBridge windowObjectCleared]):
1224         * WebKit.exp:
1225         * WebKit.xcodeproj/project.pbxproj:
1226         * WebView/WebScriptDebugDelegate.m:
1227         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
1228         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
1229         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
1230         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
1231         * WebView/WebView.m:
1232         (+[WebView _developerExtrasEnabled]):
1233         (+[WebView _scriptDebuggerEnabled]):
1234         (-[WebView _menuForElement:defaultItems:]):
1235         (-[WebView _commonInitializationWithFrameName:groupName:]):
1236         * WebView/WebViewPrivate.h:
1237
1238 2006-06-16  Adele Peterson  <adele@apple.com>
1239
1240         Reviewed by Alice.
1241
1242         Added initialization for WKDrawBezeledTextArea.
1243
1244         * WebCoreSupport/WebSystemInterface.m:
1245         (InitWebCoreSystemInterface):
1246
1247 2006-06-15  Timothy Hatcher  <timothy@apple.com>
1248
1249         Reviewed by Geoff and Darin.
1250         
1251         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
1252
1253         * WebKit.xcodeproj/project.pbxproj:
1254
1255 2006-06-15  John Sullivan  <sullivan@apple.com>
1256
1257         Reviewed by Tim O.
1258         
1259         Fixed bug in WebKit support for computing but not highlighting rects for text matches.
1260
1261         * WebView/WebView.m:
1262         (-[WebView rectsForTextMatches]):
1263         leave out empty rects, and convert rects to WebView coordinates. Since this makes a batch
1264         of autoreleased NSValue objects, use a local autorelease pool
1265
1266 2006-02-11  David Kilzer  <ddkilzer@kilzer.net>
1267
1268         Reviewed by John Sullivan.
1269
1270         * Plugins/WebPluginController.m:
1271         (-[WebPluginController _cancelOutstandingChecks]):
1272         add nil check before calling CFSetApplyFunction
1273
1274 2006-06-14  Levi Weintraub  <lweintraub@apple.com>
1275
1276         Reviewed by justin
1277         
1278         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7580>
1279         TinyMCE: Implement execCommand(formatBlock, ...)
1280         
1281         * English.lproj/Localizable.strings:
1282         * WebCoreSupport/WebFrameBridge.m:
1283         (-[WebFrameBridge nameForUndoAction:]):
1284
1285 2006-06-14  Tim Omernick  <timo@apple.com>
1286
1287         Reviewed by John Sullivan.
1288
1289         <rdar://problem/4577988> GC: WebPluginController uses inefficient resurrecting enumeration
1290
1291         * Plugins/WebPluginController.m:
1292         (cancelOutstandingCheck):
1293         (-[WebPluginController _cancelOutstandingChecks]):
1294         Use CFSetApplyFunction() instead of an enumerator to guard against modifications to the set while enumerating.
1295
1296 2006-06-13  John Sullivan  <sullivan@apple.com>
1297
1298         Reviewed by Tim O.
1299         
1300         - fixed <rdar://problem/4498606> REGRESSION (417.8-420+): 3 missing items (but extra separators) in context 
1301         menu in Mail message body
1302
1303         * WebView/WebView.m:
1304         (-[WebView _menuForElement:defaultItems:]):
1305         Add special-case hackery to recover from this SPI -> API mismatch.
1306
1307 2006-06-13  Tim Omernick  <timo@apple.com>
1308
1309         Reviewed by Anders.
1310
1311         Fixed a recently-introduced assertion failure when handling 404 errors.
1312
1313         * WebView/WebDataSource.m:
1314         (-[WebDataSource _handleFallbackContent]):
1315         Use the -[WebFrame _bridge] instead of -[WebDataSource _bridge].  The former is not valid until the data
1316         source has been committed, which is not the case when the resource fails to load.  The latter is safe to call
1317         at any time.  This broke last night with Maciej's change to WebFrameResourceLoader.  The old code used to
1318         call -[WebFrame _bridge].
1319
1320 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
1321
1322         Reviewed by Geoff.
1323
1324         http://bugzilla.opendarwin.org/show_bug.cgi?id=9406
1325         REGRESSION: fix for bug 9390 broke two layout tests
1326
1327         * Plugins/WebPluginDatabase.h:
1328         (-[WebPluginDatabase isMIMETypeRegistered:]):
1329         Add new function isMIMETypeRegistered which returns whether a given MIME type has a 
1330         plugin registered. 
1331
1332         * Plugins/WebPluginDatabase.m:
1333         (-[WebPluginDatabase init]):        
1334         Init set of registered MIME types.
1335         
1336         (-[WebPluginDatabase refresh]):
1337         Add and remove MIME types from the set of registered MIME types when registering and unregistering
1338         plugin MIME types.
1339         
1340         (-[WebPluginDatabase dealloc]):
1341         Release set of registered MIME types.
1342         
1343         * WebCoreSupport/WebFrameBridge.m:
1344         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
1345         Use isMIMETypeRegistered here.
1346
1347 2006-06-12  Maciej Stachowiak  <mjs@apple.com>
1348
1349         - fix for cocoa exception (whoops)
1350
1351         * WebView/WebView.m:
1352         (+[WebView _generatedMIMETypeForURLScheme:]): put this back
1353         * WebView/WebDataSource.m:
1354         (+[WebDataSource _generatedMIMETypeForURLScheme:]): call WebView
1355
1356 2006-06-12  Maciej Stachowiak  <mjs@apple.com>
1357
1358         Reviewed by Darin.
1359         
1360         - remove use of WebView and related from WebMainResourceLoader
1361
1362         * WebKit.xcodeproj/project.pbxproj:
1363         * WebView/WebDataSource.m:
1364         (+[WebDataSource _generatedMIMETypeForURLScheme:]):
1365         (+[WebDataSource _representationExistsForURLScheme:]):
1366         (+[WebDataSource _canShowMIMEType:]):
1367         (-[WebDataSource _handleFallbackContent]):
1368         (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
1369         * WebView/WebDataSourceInternal.h:
1370         * WebView/WebFrame.m:
1371         (-[WebFrame _isMainFrame]):
1372         * WebView/WebFrameInternal.h:
1373         * WebView/WebMainResourceLoader.m:
1374         (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
1375         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
1376         (-[WebMainResourceLoader checkContentPolicyForResponse:]):
1377         (-[WebMainResourceLoader loadWithRequestNow:]):
1378         * WebView/WebView.m:
1379
1380 2006-06-12  Tim Omernick  <timo@apple.com>
1381
1382         Reviewed by Maciej.
1383
1384         <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests
1385
1386         * Plugins/WebNetscapePluginPackage.m:
1387         (-[WebNetscapePluginPackage _initWithPath:]):
1388         Renamed from -initWithPath:.  Instead of releasing/deallocating self on error, return NO.
1389         (-[WebNetscapePluginPackage initWithPath:]):
1390         Call the new -_initWithPath:.  If it returns NO, unload the plugin package before deallocating it.
1391
1392 2006-06-11  Darin Adler  <darin@apple.com>
1393
1394         - try to fix Windows build
1395
1396         * COM/WebKitDLL.cpp: (loadResourceIntoArray): Use Vector<char> instead of
1397         DeprecatedByteArray.
1398
1399 2006-06-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1400
1401         Reviewed by Tim H.
1402
1403         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8672
1404           Red outline from web inspector reappears after inspector is closed
1405
1406         * WebInspector/WebInspector.m:
1407         (-[NSWindow windowWillClose:]): Added a call to setWebFrame to avoid further
1408         load progress notifications.
1409         (-[NSWindow setWebFrame:]): Changed to resign the WebView's hostWindow rather
1410         than its window for close notifications, to avoid resigning from all windows' close
1411         notifications (including the inspector window's) when the WebView is in a hidden tab.
1412         Also changed to prevent highlighting the initial focused node.
1413
1414 2006-06-11  Anders Carlsson  <acarlsson@apple.com>
1415
1416         Reviewed by Tim.
1417
1418         http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
1419         Move full-frame plugins to WebCore
1420
1421         * Plugins/WebBaseNetscapePluginStream.h:
1422         * Plugins/WebBaseNetscapePluginStream.m:
1423         (-[WebBaseNetscapePluginStream instance]):
1424         Add instance method which returns the plugin instance.
1425         
1426         * Plugins/WebBasePluginPackage.h:
1427         Add WebPluginManualLoader protocol
1428         
1429         * Plugins/WebNetscapePluginDocumentView.h: Removed.
1430         * Plugins/WebNetscapePluginDocumentView.m: Removed.
1431
1432         * Plugins/WebNetscapePluginEmbeddedView.h:
1433         * Plugins/WebNetscapePluginEmbeddedView.m:
1434         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:]):
1435         (-[WebNetscapePluginEmbeddedView dealloc]):
1436         (-[WebNetscapePluginEmbeddedView didStart]):
1437         (-[WebNetscapePluginEmbeddedView pluginView:receivedResponse:]):
1438         (-[WebNetscapePluginEmbeddedView pluginView:receivedData:]):
1439         (-[WebNetscapePluginEmbeddedView pluginView:receivedError:]):
1440         (-[WebNetscapePluginEmbeddedView pluginViewFinishedLoading:]):
1441         (-[WebNetscapePluginEmbeddedView redeliverStream]):
1442         Make WebNetscapePluginEmbeddedView support the WebPluginManualLoader protocol. It creates a plugin stream and feeds the
1443         data manually. Much of this code has been copied from WebNetscapePluginRepresentation.
1444
1445         * Plugins/WebNetscapePluginRepresentation.h: Removed.
1446         * Plugins/WebNetscapePluginRepresentation.m: Removed.
1447
1448         * Plugins/WebPluginController.h:
1449         * Plugins/WebPluginController.m:
1450         (-[WebPluginController pluginView:receivedResponse:]):
1451         (-[WebPluginController pluginView:receivedData:]):
1452         (-[WebPluginController pluginView:receivedError:]):
1453         (-[WebPluginController pluginViewFinishedLoading:]):
1454         Make WebPluginController support the WebPluginManualLoader protocol so it can feed data manually to WebKit plugins.
1455
1456         * Plugins/WebPluginDatabase.m:        
1457         (-[WebPluginDatabase refresh]):
1458         Use WebHTMLView and WebHTMLRepresentation when registering/unregistering plug-in MIME types.
1459         
1460         * Plugins/WebPluginDocumentView.h: Removed.
1461         * Plugins/WebPluginDocumentView.m: Removed.
1462
1463         * WebCoreSupport/WebFrameBridge.m:
1464         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
1465         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
1466         Add loadManually argument.
1467         
1468         (-[WebFrameBridge redirectDataToPlugin:]):
1469         Call down to the HTML representation.
1470         
1471         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
1472         Pass NO to loadManually.
1473         
1474         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
1475         Explicitly check if the MIME type is supported by a plug-in instead of checking the view class.
1476         
1477         * WebCoreSupport/WebViewFactory.m:
1478         (-[WebViewFactory pluginSupportsMIMEType:]):
1479         New function which returns whether any plugins support a given MIME type.
1480         
1481         * WebKit.xcodeproj/project.pbxproj:
1482         Update for removed files.
1483         
1484         * WebView/WebFrame.m:
1485         (-[WebFrame _reloadForPluginChanges]):
1486         Remove view type checks.
1487         
1488         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
1489         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
1490         Remove FIXME comments.
1491         
1492         * WebView/WebHTMLRepresentation.m:
1493         (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):        
1494         New function which redirects incoming data to a manual loader.
1495         
1496         (-[WebHTMLRepresentation receivedData:withDataSource:]):
1497         (-[WebHTMLRepresentation receivedError:withDataSource:]):
1498         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
1499         Optionally redirect incoming data.
1500         
1501         * WebView/WebHTMLRepresentationPrivate.h:
1502
1503 2006-06-09  John Sullivan  <sullivan@apple.com>
1504
1505         Reviewed by Tim Omernick and Dave Hyatt.
1506
1507         WebKit support for computing but not highlighting rects for text matches.
1508
1509         * WebView/WebHTMLViewPrivate.h:
1510         added markedTextMatchesAreHighlighted/setMarkedTextMatchesAreHighlighted and
1511         rectsForTextMatches, and renamed related methods for clarity/consistency
1512         * WebView/WebHTMLView.m:
1513         (-[WebHTMLView markAllMatchesForText:caseSensitive:]):
1514         renamed, calls similarly-renamed method
1515         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
1516         new method, calls through to bridge
1517         (-[WebHTMLView markedTextMatchesAreHighlighted]):
1518         ditto
1519         (-[WebHTMLView unmarkAllTextMatches]):
1520         renamed
1521         (-[WebHTMLView rectsForTextMatches]):
1522         new method, calls through to bridge
1523
1524         * WebView/WebViewPrivate.h:
1525         added rectsForTextMatches, renamed other methods (and added highlight: parameter)
1526         * WebView/WebView.m:
1527         (-[WebView markAllMatchesForText:caseSensitive:highlight:]):
1528         renamed for clarity/consistency, and now has highlight: parameter, which is passed down
1529         (-[WebView unmarkAllTextMatches]):
1530         renamed for clarity/consistency, and calls similarly-renamed method lower down. diff got
1531         confused with the end of this and the end of the next method.
1532         (-[WebView rectsForTextMatches]):
1533         new method, calls through to WebHTMLView as related methods currently do
1534
1535 2006-06-10  Graham Dennis  <Graham.Dennis@gmail.com>
1536
1537         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9384>
1538         WebView's initWithCoder: method does not set useBackForwardList
1539         correctly
1540         
1541         Reviewed by John Sullivan.
1542
1543         * WebView/WebView.m:
1544         (-[WebView initWithCoder:]):
1545         Make sure that the function variable useBackForwardList is correctly
1546         set, so that the copy in the _private ivar is set.
1547
1548 2006-06-09  David Hyatt  <hyatt@apple.com>
1549
1550         Rename updateFocusState to updateActiveState.
1551
1552         * WebView/WebHTMLView.m:
1553         (-[WebHTMLView _updateActiveState]):
1554         (-[NSArray viewDidMoveToWindow]):
1555         (-[NSArray windowDidBecomeKey:]):
1556         (-[NSArray windowDidResignKey:]):
1557         (-[NSArray becomeFirstResponder]):
1558         (-[NSArray resignFirstResponder]):
1559         (-[WebHTMLView _formControlIsBecomingFirstResponder:]):
1560         (-[WebHTMLView _formControlIsResigningFirstResponder:]):
1561         * WebView/WebHTMLViewPrivate.h:
1562
1563 2006-06-09  David Hyatt  <hyatt@apple.com>
1564
1565         Rename displaysWithFocusAttributes to isActive.
1566
1567         Reviewed by sfalken
1568
1569         * WebKit.xcodeproj/project.pbxproj:
1570         * WebView/WebHTMLView.m:
1571         (-[WebHTMLView _updateFocusState]):
1572
1573 2006-06-08  Justin Garcia  <justin.garcia@apple.com>
1574
1575         Reviewed by levi
1576         
1577         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
1578         Implement execCommand(Insert{Un}OrderedList)
1579
1580         * WebView/WebFrame.m:
1581         (-[WebFrame _findFrameWithSelection]): Removed an assertion
1582         that we only have one frame with a selection.  
1583         * WebView/WebView.m:
1584         (-[WebView selectedFrame]): Ditto.
1585
1586 2006-06-08  Timothy Hatcher  <timothy@apple.com>
1587
1588         Reviewed by Darin and John.
1589
1590         <rdar://problem/3600734> API: please add a way to turn vertical scrollbar
1591         always on (for Mail, to avoid reflow when typing)
1592
1593         Adds new methods to lock the scrolling mode on WebDynamicScrollBarsView.
1594         Locking the scroll mode prevents WebCore from changing it as needed.
1595         Also adds an SPI on WebView that will lock the "always on" mode
1596         for each scroller.
1597
1598         * WebKit.xcodeproj/project.pbxproj:
1599         * WebView/WebDynamicScrollBarsView.h:
1600         * WebView/WebDynamicScrollBarsView.m:
1601         (-[WebDynamicScrollBarsView setAllowsScrolling:]):
1602         (-[WebDynamicScrollBarsView allowsScrolling]):
1603         (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
1604         (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
1605         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
1606         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
1607         (-[WebDynamicScrollBarsView setScrollingMode:]):
1608         (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
1609         (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
1610         (-[WebDynamicScrollBarsView setScrollingModesLocked:]):
1611         (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
1612         (-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
1613         * WebView/WebView.m:
1614         (-[WebView setAlwaysShowVerticalScroller:]):
1615         (-[WebView alwaysShowVerticalScroller]):
1616         (-[WebView setAlwaysShowHorizontalScroller:]):
1617         (-[WebView alwaysShowHorizontalScroller]):
1618         * WebView/WebViewPrivate.h:
1619
1620 2006-06-08  Darin Adler  <darin@apple.com>
1621
1622         Reviewed by Justin.
1623
1624         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
1625           REGRESSION: TinyMCE: Crash on Undo
1626
1627         * WebView/WebHTMLView.m:
1628         (-[WebHTMLView _topHTMLView]): Added.
1629         (-[WebHTMLView _isTopHTMLView]): Added.
1630         (-[WebHTMLView _insideAnotherHTMLView]): Changed to use _topHTMLView.
1631         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1632         Forward to the top HTML view, so that only the top view ever starts a dragging operation.
1633         Change dragging code to not assume that the dragged node is in the current view's document.
1634         Added checks that the node is an element in a couple places and coordinate conversions.
1635         (-[WebHTMLView _mayStartDragAtEventLocation:]): Forward to the top HTML view.
1636         (-[NSArray addMouseMovedObserver]): Change to do nothing when the dataSource field is 0,
1637         since we now use the dataSource field to get to the WebView.
1638         (-[NSArray removeMouseMovedObserver]): Added a comment.
1639         (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]):
1640         Forward to the top HTML view.
1641         (-[NSArray draggingSourceOperationMaskForLocal:]): Assert that it's the top HTML view.
1642         (-[NSArray draggedImage:movedTo:]): Ditto.
1643         (-[NSArray draggedImage:endedAt:operation:]): Ditto.
1644         (-[NSArray namesOfPromisedFilesDroppedAtDestination:]): Ditto.
1645         (-[NSArray _canProcessDragWithDraggingInfo:]): Ditto.
1646         (-[NSArray _isMoveDrag]): Ditto.
1647         (-[NSArray draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
1648         (-[NSArray draggingCancelledWithDraggingInfo:]): Ditto.
1649         (-[NSArray concludeDragForDraggingInfo:actionMask:]): Ditto. Also added code to work
1650         with the appropriate bridge when receiving a drag. This fixes the problem where the
1651         top level frame got a selection intended for the inner frame; the source of the bug.
1652         (-[NSArray elementAtPoint:allowShadowContent:]): Added code to convert the coordinates
1653         so this works properly when returning an element from an inner frame.
1654         (-[NSArray setDataSource:]): Added a call to addMouseMovedObserver, needed now that
1655         addMouseMovedObserver won't do anything if called when dataSource is nil.
1656         (-[WebHTMLView _delegateDragSourceActionMask]): Forward to the top HTML view.
1657
1658         * WebView/WebView.m:
1659         (-[WebViewPrivate dealloc]): Removed code to release dragCaretBridge since that field
1660         is now gone.
1661         (-[WebView moveDragCaretToPoint:]): Always call the main frame's bridge, since the
1662         drag caret is now a page-level item. Later we'll move it to the page bridge.
1663         (-[WebView removeDragCaret]): Ditto.
1664
1665 2006-06-07  David Hyatt  <hyatt@apple.com>
1666
1667         Add support for custom highlighting to WebKit.
1668
1669         Reviewed by justin
1670
1671         * WebCoreSupport/WebFrameBridge.m:
1672         (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:]):
1673         * WebView/WebHTMLView.m:
1674         (-[WebHTMLView _highlighterForType:]):
1675         * WebView/WebHTMLViewInternal.h:
1676         * WebView/WebHTMLViewPrivate.h:
1677
1678 2006-06-07  Adele Peterson  <adele@apple.com>
1679
1680         Reviewed by Hyatt. 
1681
1682         Added resources for missingImage and textAreaResizeCorner.
1683
1684         * COM/WebKitDLL.cpp:
1685         (loadResourceIntoArray): Added. Returns a DeprecatedByteArray with the resource's data.
1686         * WebKit.vcproj/WebKit.rc: Added missing image and resize pngs as resources. 
1687         * WebKit.vcproj/WebKit.vcproj: Added pngs.
1688         * WebKit.vcproj/missingImage.png: Added.
1689         * WebKit.vcproj/resource.h: Added entries for pngs.
1690         * WebKit.vcproj/textAreaResizeCorner.png: Added.
1691
1692 2006-06-07  David Hyatt  <hyatt@apple.com>
1693
1694         Add SPI for setting and removing custom highlighters.
1695
1696         Reviewed by Tim H
1697
1698         * WebView/WebHTMLView.m:
1699         (-[WebTextCompleteController dealloc]):
1700         (-[WebHTMLView _setHighlighter:ofType:]):
1701         (-[WebHTMLView _removeHighlighterOfType:]):
1702         * WebView/WebHTMLViewInternal.h:
1703         * WebView/WebHTMLViewPrivate.h:
1704
1705 2006-06-06  Adele Peterson  <adele@apple.com>
1706
1707         Reviewed by Justin. 
1708
1709         * COM/WebView.cpp:
1710         (WebView::keyPress): Added case for VK_RETURN. 
1711
1712 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
1713
1714         Reviewed by John.
1715
1716         * WebView/WebFrame.m:
1717         (-[WebFrame _reloadForPluginChanges]):
1718         Don't traverse the view hierarchy looking for plugin views. Instead, just
1719         ask the frame whether it contains any plugins.
1720
1721 2006-06-03  Steve Falkenburg  <sfalken@apple.com>
1722
1723         Reviewed by hyatt.
1724         
1725         Add implementation of loadHTMLString for Spinneret
1726
1727         * COM/WebFrame.cpp:
1728         (WebFrame::loadHTMLString):
1729
1730 2006-06-02  Steve Falkenburg  <sfalken@apple.com>
1731
1732         Reviewed by darin.
1733
1734         New hosting for Spinneret to avoid static linking
1735
1736         * COM: Added.
1737         * COM/Interfaces: Added.
1738         * COM/Interfaces/DOMCSS.idl: Added.
1739         * COM/Interfaces/DOMCore.idl: Added.
1740         * COM/Interfaces/DOMHTML.idl: Added.
1741         * COM/Interfaces/DOMRange.idl: Added.
1742         * COM/Interfaces/IWebArchive.idl: Added.
1743         * COM/Interfaces/IWebAttributedString.idl: Added.
1744         * COM/Interfaces/IWebBackForwardList.idl: Added.
1745         * COM/Interfaces/IWebDataSource.idl: Added.
1746         * COM/Interfaces/IWebDocument.idl: Added.
1747         * COM/Interfaces/IWebDownload.idl: Added.
1748         * COM/Interfaces/IWebEditingDelegate.idl: Added.
1749         * COM/Interfaces/IWebError.idl: Added.
1750         * COM/Interfaces/IWebFrame.idl: Added.
1751         * COM/Interfaces/IWebFrameLoadDelegate.idl: Added.
1752         * COM/Interfaces/IWebFrameView.idl: Added.
1753         * COM/Interfaces/IWebHistoryItem.idl: Added.
1754         * COM/Interfaces/IWebIconDatabase.idl: Added.
1755         * COM/Interfaces/IWebImage.idl: Added.
1756         * COM/Interfaces/IWebMutableURLRequest.idl: Added.
1757         * COM/Interfaces/IWebNotification.idl: Added.
1758         * COM/Interfaces/IWebPolicyDelegate.idl: Added.
1759         * COM/Interfaces/IWebPreferences.idl: Added.
1760         * COM/Interfaces/IWebResource.idl: Added.
1761         * COM/Interfaces/IWebResourceLoadDelegate.idl: Added.
1762         * COM/Interfaces/IWebScriptObject.idl: Added.
1763         * COM/Interfaces/IWebUIDelegate.idl: Added.
1764         * COM/Interfaces/IWebURLAuthenticationChallenge.idl: Added.
1765         * COM/Interfaces/IWebURLRequest.idl: Added.
1766         * COM/Interfaces/IWebURLResponse.idl: Added.
1767         * COM/Interfaces/IWebUndoManager.idl: Added.
1768         * COM/Interfaces/IWebView.idl: Added.
1769         * COM/Interfaces/WebKit.idl: Added.
1770         * COM/WebBackForwardList.cpp: Added.
1771         (WebBackForwardList::WebBackForwardList):
1772         (WebBackForwardList::~WebBackForwardList):
1773         (WebBackForwardList::createInstance):
1774         (WebBackForwardList::QueryInterface):
1775         (WebBackForwardList::AddRef):
1776         (WebBackForwardList::Release):
1777         (WebBackForwardList::addItem):
1778         (WebBackForwardList::goBack):
1779         (WebBackForwardList::goForward):
1780         (WebBackForwardList::goToItem):
1781         (WebBackForwardList::backItem):
1782         (WebBackForwardList::currentItem):
1783         (WebBackForwardList::forwardItem):
1784         (WebBackForwardList::backListWithLimit):
1785         (WebBackForwardList::forwardListWithLimit):
1786         (WebBackForwardList::capacity):
1787         (WebBackForwardList::setCapacity):
1788         (WebBackForwardList::backListCount):
1789         (WebBackForwardList::forwardListCount):
1790         (WebBackForwardList::containsItem):
1791         (WebBackForwardList::itemAtIndex):
1792         (WebBackForwardList::setPageCacheSize):
1793         (WebBackForwardList::pageCacheSize):
1794         * COM/WebBackForwardList.h: Added.
1795         * COM/WebDataSource.cpp: Added.
1796         (WebDataSource::WebDataSource):
1797         (WebDataSource::~WebDataSource):
1798         (WebDataSource::createInstance):
1799         (WebDataSource::QueryInterface):
1800         (WebDataSource::AddRef):
1801         (WebDataSource::Release):
1802         (WebDataSource::initWithRequest):
1803         (WebDataSource::data):
1804         (WebDataSource::representation):
1805         (WebDataSource::webFrame):
1806         (WebDataSource::initialRequest):
1807         (WebDataSource::request):
1808         (WebDataSource::response):
1809         (WebDataSource::textEncodingName):
1810         (WebDataSource::isLoading):
1811         (WebDataSource::pageTitle):
1812         (WebDataSource::unreachableURL):
1813         (WebDataSource::webArchive):
1814         (WebDataSource::mainResource):
1815         (WebDataSource::subresources):
1816         (WebDataSource::subresourceForURL):
1817         (WebDataSource::addSubresource):
1818         * COM/WebDataSource.h: Added.
1819         * COM/WebFrame.cpp: Added.
1820         (WebFrame::WebFramePrivate::WebFramePrivate):
1821         (WebFrame::WebFramePrivate::~WebFramePrivate):
1822         (WebFrame::WebFrame):
1823         (WebFrame::~WebFrame):
1824         (WebFrame::createInstance):
1825         (WebFrame::QueryInterface):
1826         (WebFrame::AddRef):
1827         (WebFrame::Release):
1828         (WebFrame::initWithName):
1829         (WebFrame::name):
1830         (WebFrame::webView):
1831         (WebFrame::frameView):
1832         (WebFrame::DOMDocument):
1833         (WebFrame::frameElement):
1834         (WebFrame::loadRequest):
1835         (WebFrame::loadData):
1836         (WebFrame::loadHTMLString):
1837         (WebFrame::loadAlternateHTMLString):
1838         (WebFrame::loadArchive):
1839         (WebFrame::dataSource):
1840         (WebFrame::provisionalDataSource):
1841         (WebFrame::stopLoading):
1842         (WebFrame::reload):
1843         (WebFrame::findFrameNamed):
1844         (WebFrame::parentFrame):
1845         (WebFrame::childFrames):
1846         (WebFrame::paint):
1847         (WebFrame::impl):
1848         (WebFrame::loadDataSource):
1849         (WebFrame::loading):
1850         (WebFrame::goToItem):
1851         (WebFrame::loadItem):
1852         (WebSystemMainMemory):
1853         (WebFrame::getObjectCacheSize):
1854         (WebFrame::receivedRedirect):
1855         (WebFrame::receivedResponse):
1856         (WebFrame::receivedData):
1857         (WebFrame::receivedAllData):
1858         (WebFrame::openURL):
1859         (WebFrame::submitForm):
1860         (WebFrame::setTitle):
1861         (WebFrame::setStatusText):
1862         * COM/WebFrame.h: Added.
1863         * COM/WebHistoryItem.cpp: Added.
1864         (WebHistoryItem::WebHistoryItem):
1865         (WebHistoryItem::~WebHistoryItem):
1866         (WebHistoryItem::createInstance):
1867         (WebHistoryItem::QueryInterface):
1868         (WebHistoryItem::AddRef):
1869         (WebHistoryItem::Release):
1870         (WebHistoryItem::initWithURLString):
1871         (WebHistoryItem::originalURLString):
1872         (WebHistoryItem::URLString):
1873         (WebHistoryItem::title):
1874         (WebHistoryItem::lastVisitedTimeInterval):
1875         (WebHistoryItem::setAlternateTitle):
1876         (WebHistoryItem::alternateTitle):
1877         (WebHistoryItem::icon):
1878         * COM/WebHistoryItem.h: Added.
1879         * COM/WebIconDatabase.cpp: Added.
1880         (WebIconDatabase::WebIconDatabase):
1881         (WebIconDatabase::~WebIconDatabase):
1882         (WebIconDatabase::createInstance):
1883         (WebIconDatabase::QueryInterface):
1884         (WebIconDatabase::AddRef):
1885         (WebIconDatabase::Release):
1886         (WebIconDatabase::sharedIconDatabase):
1887         (WebIconDatabase::iconForURL):
1888         (WebIconDatabase::defaultIconWithSize):
1889         (WebIconDatabase::retainIconForURL):
1890         (WebIconDatabase::releaseIconForURL):
1891         (WebIconDatabase::delayDatabaseCleanup):
1892         (WebIconDatabase::allowDatabaseCleanup):
1893         * COM/WebIconDatabase.h: Added.
1894         * COM/WebKitClassFactory.cpp: Added.
1895         (WebKitClassFactory::WebKitClassFactory):
1896         (WebKitClassFactory::~WebKitClassFactory):
1897         (WebKitClassFactory::QueryInterface):
1898         (WebKitClassFactory::AddRef):
1899         (WebKitClassFactory::Release):
1900         (WebKitClassFactory::CreateInstance):
1901         (WebKitClassFactory::LockServer):
1902         * COM/WebKitClassFactory.h: Added.
1903         * COM/WebKitDLL.cpp: Added.
1904         (DllMain):
1905         (DllGetClassObject):
1906         (DllCanUnloadNow):
1907         (DllUnregisterServer):
1908         (DllRegisterServer):
1909         * COM/WebKitDLL.h: Added.
1910         * COM/WebMutableURLRequest.cpp: Added.
1911         (WebMutableURLRequest::WebMutableURLRequest):
1912         (WebMutableURLRequest::~WebMutableURLRequest):
1913         (WebMutableURLRequest::createInstance):
1914         (WebMutableURLRequest::QueryInterface):
1915         (WebMutableURLRequest::AddRef):
1916         (WebMutableURLRequest::Release):
1917         (WebMutableURLRequest::requestWithURL):
1918         (WebMutableURLRequest::allHTTPHeaderFields):
1919         (WebMutableURLRequest::cachePolicy):
1920         (WebMutableURLRequest::HTTPBody):
1921         (WebMutableURLRequest::HTTPBodyStream):
1922         (WebMutableURLRequest::HTTPMethod):
1923         (WebMutableURLRequest::HTTPShouldHandleCookies):
1924         (WebMutableURLRequest::initWithURL):
1925         (WebMutableURLRequest::mainDocumentURL):
1926         (WebMutableURLRequest::timeoutInterval):
1927         (WebMutableURLRequest::URL):
1928         (WebMutableURLRequest::valueForHTTPHeaderField):
1929         (WebMutableURLRequest::addValue):
1930         (WebMutableURLRequest::setAllHTTPHeaderFields):
1931         (WebMutableURLRequest::setCachePolicy):
1932         (WebMutableURLRequest::setHTTPBody):
1933         (WebMutableURLRequest::setHTTPBodyStream):
1934         (WebMutableURLRequest::setHTTPMethod):
1935         (WebMutableURLRequest::setHTTPShouldHandleCookies):
1936         (WebMutableURLRequest::setMainDocumentURL):
1937         (WebMutableURLRequest::setTimeoutInterval):
1938         (WebMutableURLRequest::setURL):
1939         (WebMutableURLRequest::setValue):
1940         (WebMutableURLRequest::setFormData):
1941         (WebMutableURLRequest::formData):
1942         * COM/WebMutableURLRequest.h: Added.
1943         * COM/WebView.cpp: Added.
1944         (WebView::WebView):
1945         (WebView::~WebView):
1946         (WebView::createInstance):
1947         (WebView::mouseMoved):
1948         (WebView::mouseDown):
1949         (WebView::mouseUp):
1950         (WebView::mouseDoubleClick):
1951         (WebView::keyPress):
1952         (registerWebView):
1953         (WebViewWndProc):
1954         (calculateScrollDelta):
1955         (scrollMessageForKey):
1956         (WebView::goToItem):
1957         (WebView::QueryInterface):
1958         (WebView::AddRef):
1959         (WebView::Release):
1960         (WebView::canShowMIMEType):
1961         (WebView::canShowMIMETypeAsHTML):
1962         (WebView::MIMETypesShownAsHTML):
1963         (WebView::setMIMETypesShownAsHTML):
1964         (WebView::URLFromPasteboard):
1965         (WebView::URLTitleFromPasteboard):
1966         (WebView::initWithFrame):
1967         (WebView::setUIDelegate):
1968         (WebView::uiDelegate):
1969         (WebView::setResourceLoadDelegate):
1970         (WebView::resourceLoadDelegate):
1971         (WebView::setDownloadDelegate):
1972         (WebView::downloadDelegate):
1973         (WebView::setFrameLoadDelegate):
1974         (WebView::frameLoadDelegate):
1975         (WebView::setPolicyDelegate):
1976         (WebView::policyDelegate):
1977         (WebView::mainFrame):
1978         (WebView::backForwardList):
1979         (WebView::setMaintainsBackForwardList):
1980         (WebView::goBack):
1981         (WebView::goForward):
1982         (WebView::goToBackForwardItem):
1983         (WebView::setTextSizeMultiplier):
1984         (WebView::textSizeMultiplier):
1985         (WebView::setApplicationNameForUserAgent):
1986         (WebView::applicationNameForUserAgent):
1987         (WebView::setCustomUserAgent):
1988         (WebView::customUserAgent):
1989         (WebView::userAgentForURL):
1990         (WebView::supportsTextEncoding):
1991         (WebView::setCustomTextEncodingName):
1992         (WebView::customTextEncodingName):
1993         (WebView::setMediaStyle):
1994         (WebView::mediaStyle):
1995         (WebView::stringByEvaluatingJavaScriptFromString):
1996         (WebView::windowScriptObject):
1997         (WebView::setPreferences):
1998         (WebView::preferences):
1999         (WebView::setPreferencesIdentifier):
2000         (WebView::preferencesIdentifier):
2001         (WebView::setHostWindow):
2002         (WebView::hostWindow):
2003         (WebView::searchFor):
2004         (WebView::registerViewClass):
2005         (WebView::takeStringURLFrom):
2006         (WebView::stopLoading):
2007         (WebView::reload):
2008         (WebView::canGoBack):
2009         (WebView::canGoForward):
2010         (WebView::canMakeTextLarger):
2011         (WebView::makeTextLarger):
2012         (WebView::canMakeTextSmaller):
2013         (WebView::makeTextSmaller):
2014         (WebView::computedStyleForElement):
2015         (WebView::editableDOMRangeForPoint):
2016         (WebView::setSelectedDOMRange):
2017         (WebView::selectedDOMRange):
2018         (WebView::selectionAffinity):
2019         (WebView::setEditable):
2020         (WebView::isEditable):
2021         (WebView::setTypingStyle):
2022         (WebView::typingStyle):
2023         (WebView::setSmartInsertDeleteEnabled):
2024         (WebView::smartInsertDeleteEnabled):
2025         (WebView::setContinuousSpellCheckingEnabled):
2026         (WebView::isContinuousSpellCheckingEnabled):
2027         (WebView::spellCheckerDocumentTag):
2028         (WebView::undoManager):
2029         (WebView::setEditingDelegate):
2030         (WebView::editingDelegate):
2031         (WebView::styleDeclarationWithText):
2032         (WebView::replaceSelectionWithNode):
2033         (WebView::replaceSelectionWithText):
2034         (WebView::replaceSelectionWithMarkupString):
2035         (WebView::replaceSelectionWithArchive):
2036         (WebView::deleteSelection):
2037         (WebView::applyStyle):
2038         (WebView::copy):
2039         (WebView::cut):
2040         (WebView::paste):
2041         (WebView::copyFont):
2042         (WebView::pasteFont):
2043         (WebView::delete_):
2044         (WebView::pasteAsPlainText):
2045         (WebView::pasteAsRichText):
2046         (WebView::changeFont):
2047         (WebView::changeAttributes):
2048         (WebView::changeDocumentBackgroundColor):
2049         (WebView::changeColor):
2050         (WebView::alignCenter):
2051         (WebView::alignJustified):
2052         (WebView::alignLeft):
2053         (WebView::alignRight):
2054         (WebView::checkSpelling):
2055         (WebView::showGuessPanel):
2056         (WebView::performFindPanelAction):
2057         (WebView::startSpeaking):
2058         (WebView::stopSpeaking):
2059         (WebView::viewWindow):
2060         * COM/WebView.h: Added.
2061         * WebKit.vcproj: Added.
2062         * WebKit.vcproj/Interfaces.vcproj: Added.
2063         * WebKit.vcproj/WebKit.def: Added.
2064         * WebKit.vcproj/WebKit.rc: Added.
2065         * WebKit.vcproj/WebKit.sln: Added.
2066         * WebKit.vcproj/WebKit.vcproj: Added.
2067         * WebKit.vcproj/WebKitGUID.vcproj: Added.
2068         * WebKit.vcproj/autoversion.h: Added.
2069         * WebKit.vcproj/resource.h: Added.
2070
2071 2006-06-02  Darin Adler  <darin@apple.com>
2072
2073         * WebCoreSupport/WebImageRendererFactory.m: Fix crash on Safari startup
2074         by include NSObject as a superclass (oops!).
2075
2076 2006-06-01  Darin Adler  <darin@apple.com>
2077
2078         Reviewed by Maciej.
2079
2080         - WebCore doesn't need to load WebKit images any more; removed code for that
2081
2082         * Resources/missing_image.tiff: Removed.
2083         * WebCoreSupport/WebImageRendererFactory.h: Removed.
2084
2085         * WebCoreSupport/WebImageRendererFactory.m: Moved @interface in here.
2086         Removed all but the "threaded decoding" calls that older Safari calls.
2087         This file can go altogether when compatibility with that older Safari
2088         is no longer needed.
2089
2090         * WebKit.xcodeproj/project.pbxproj: Removed WebImageRendererFactory.h
2091         and missing_image.tiff.
2092
2093         * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Removed call
2094         to [WebImageRendererFactory createSharedFactory].
2095
2096 2006-06-01  Brady Eidson  <beidson@apple.com>
2097
2098         Reviewed by Maciej.
2099
2100         Simple changes to hook up the new WebCore based Icon Database
2101         for testing.
2102
2103         * ChangeLog:
2104         * Misc/WebIconDatabase.m:
2105         (-[WebIconDatabase _applicationWillTerminate:]):
2106         * Misc/WebIconDatabasePrivate.h:
2107         * WebKit.xcodeproj/project.pbxproj:
2108
2109 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
2110
2111         Reviewed by Darin.
2112
2113         http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
2114         multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
2115
2116         * Misc/WebNSURLExtras.m:
2117         (-[NSString _webkit_URLFragment]):
2118         Don't include the "#" character in the fragment.
2119         
2120         * WebCoreSupport/WebFrameBridge.m:
2121         (-[WebFrameBridge historyURL:]):
2122         New function, returns the history URL for a given position in the back/forward list
2123         
2124         * WebView/WebFrame.m:
2125         (-[WebFrame _loadItem:withLoadType:]):
2126         Always call scrollToAnchorWithURL, even if there is no fragment. This way we keep the WebCore frame's
2127         URL up-to-date.
2128
2129 2006-06-01  Maciej Stachowiak  <mjs@apple.com>
2130
2131         Reviewed by Anders.
2132         
2133         - fixed "REGRESSION: Can't order from Pizza Hut (ToT, 05/24/06)"
2134         http://bugzilla.opendarwin.org/show_bug.cgi?id=9103
2135
2136         * WebView/WebDataSource.m:
2137         (-[WebDataSource _willSendRequest:forResource:redirectResponse:]): Set up the
2138         User-Agent header.
2139         * WebView/WebDataSourceInternal.h:
2140         * WebView/WebLoader.m:
2141         (-[NSURLProtocol willSendRequest:redirectResponse:]): Pass a mutable URL request
2142         so the above can work.
2143
2144 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
2145
2146         Reviewed by Darin.
2147
2148         * WebView/WebFrameView.m:
2149         (+[WebFrameView _canShowMIMETypeAsHTML:]):
2150         Use _webkit_objectForMIMEType here so we'll get an object back for "text/".
2151
2152 2006-05-31  David Hyatt  <hyatt@apple.com>
2153
2154         Make programmatic focus/blur actually work on sub-frames.  Make the
2155         top-level UI delegate get called for deactivation of windows.
2156
2157         Reviewed by darin
2158
2159         * WebCoreSupport/WebFrameBridge.m:
2160         (-[WebFrameBridge activateWindow]):
2161         (-[WebFrameBridge deactivateWindow]):
2162         (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
2163         (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
2164         * WebKit.xcodeproj/project.pbxproj:
2165
2166 === WebKit-521.12 ===
2167
2168 2006-05-26  David Harrison  <harrison@apple.com>
2169
2170         Reviewed by John Sullivan.
2171
2172         <rdar://problem/4514529> Add a list type parameter and a return value to _increaseSelectionListLevel
2173
2174         * WebView/WebHTMLView.m:
2175         (-[WebHTMLView _increaseSelectionListLevel]):
2176         - Now returns DOMNode*
2177
2178         (-[WebHTMLView _increaseSelectionListLevelOrdered]):
2179         (-[WebHTMLView _increaseSelectionListLevelUnordered]):
2180         - Added.  These also return DOMNode*
2181
2182         * WebView/WebHTMLViewPrivate.h:
2183         - Updated as above
2184
2185 2006-05-25  Tim Omernick  <timo@apple.com>
2186
2187         Reviewed by Anders.
2188
2189         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8347>
2190         REGRESSION: Flash movie audible but not visible until window is resized
2191
2192         * Plugins/WebNetscapePluginDocumentView.m:
2193         (-[WebNetscapePluginDocumentView dataSourceUpdated:]):
2194         Layout if needed here.  Maciej recently removed the "LayoutAcceptable" frame state, which used to
2195         cause plugin document views to lay out immediately upon receiving data.  This call to -layout has
2196         the same effect.
2197
2198 === WebKit-521.11.1 ===
2199
2200 2006-05-25  Timothy Hatcher  <timothy@apple.com>
2201
2202         Reviewed by Tim O.
2203
2204         <rdar://problem/4559808> WebKit fails to compile for ppc64
2205         <rdar://problem/4522085> 64-bit: WebKit uses FSSpec which is not available in 64-bit
2206         Gets WebKit building under 64-bit. Rename WebNSInt and WebNSUInt to WebNSInteger and WebNSUInteger.
2207         Start using WebNSInteger where we need to match AppKit API usage of NSInteger.
2208
2209         HIWebView and a couple of helper functions are disabled until they can be moved off of QuickDraw.
2210         <rdar://problem/4561772> HIWebView needs to be reworked to not use QuickDraw, needed for 64-bit
2211
2212         * Carbon/CarbonUtils.m: disabled this file in 64-bit <rdar://problem/4561772>
2213         * Carbon/CarbonWindowAdapter.m:
2214         (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
2215         * Carbon/CarbonWindowFrame.m:
2216         (+[CarbonWindowFrame frameRectForContentRect:styleMask:]):
2217         (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
2218         (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
2219         (-[CarbonWindowFrame frameRectForContentRect:styleMask:]):
2220         (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
2221         (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
2222         * Carbon/HIViewAdapter.m: disabled this file in 64-bit <rdar://problem/4561772>
2223         * Carbon/HIWebView.m: disabled this file in 64-bit <rdar://problem/4561772>
2224         (HIWebViewEventHandler):
2225         * DefaultDelegates/WebDefaultResourceLoadDelegate.m:
2226         (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
2227         * History/WebBackForwardList.m:
2228         (-[WebBackForwardList removeItem:]):
2229         (-[WebBackForwardList goToItem:]):
2230         * Misc/WebDownload.m:
2231         (-[WebDownloadInternal download:didReceiveDataOfLength:]):
2232         * Misc/WebFileDatabase.m:
2233         (UniqueFilePathForKey):
2234         * Misc/WebIconDatabase.m:
2235         (-[NSMutableDictionary retainIconForURL:]):
2236         (-[NSMutableDictionary releaseIconForURL:]):
2237         (-[WebIconDatabase _totalRetainCountForIconURLString:]):
2238         (-[WebIconDatabase _retainIconForIconURLString:]):
2239         (-[WebIconDatabase _releaseIconForIconURLString:]):
2240         * Misc/WebSearchableTextView.m:
2241         (-[NSString selectionRect]):
2242         * Misc/WebTypesInternal.h: Added.
2243         * Plugins/WebBaseNetscapePluginStream.m:
2244         (-[WebBaseNetscapePluginStream _destroyStream]):
2245         (CarbonPathFromPOSIXPath):
2246         * Plugins/WebBaseNetscapePluginView.m:
2247         (-[WebBaseNetscapePluginView sendActivateEvent:]):
2248         (-[WebBaseNetscapePluginView sendUpdateEvent]):
2249         (TSMEventHandler):
2250         (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
2251         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
2252         (-[NSData _web_locationAfterFirstBlankLine]):
2253         * Plugins/WebBasePluginPackage.m:
2254         (-[WebBasePluginPackage hash]):
2255         * Plugins/WebNetscapePluginPackage.m:
2256         (-[WebNetscapePluginPackage load]):
2257         (functionPointerForTVector):
2258         * WebInspector/WebInspector.m:
2259         (-[WebInspector _updateSystemColors]):
2260         * WebKit.xcodeproj/project.pbxproj:
2261         * WebView/WebDataSource.m:
2262         (-[WebDataSource _didReceiveData:contentLength:forResource:]):
2263         * WebView/WebFrame.m:
2264         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
2265         * WebView/WebHTMLView.m:
2266         (-[NSArray drawRect:]):
2267         (-[WebHTMLView characterIndexForPoint:]):
2268         (-[WebHTMLView conversationIdentifier]):
2269         * WebView/WebResourceLoadDelegate.h:
2270         * WebView/WebUIDelegate.h:
2271         * WebView/WebView.h:
2272         * WebView/WebView.m:
2273         (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
2274         (-[WebView spellCheckerDocumentTag]):
2275         * WebView/WebViewInternal.h:
2276         * WebView/WebViewPrivate.h:
2277
2278 === WebKit-521.11 ===
2279
2280 2006-05-23  Maciej Stachowiak  <mjs@apple.com>
2281
2282         Reviewed by Tim.
2283         
2284         - more loader refactoring to simplify things and remove knowledge of WebView from WebSubresourceLoader
2285
2286         * WebCoreSupport/WebSubresourceLoader.m:
2287         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
2288         (-[WebSubresourceLoader didReceiveResponse:]):
2289         * WebView/WebDataSource.m:
2290         (-[WebDataSource _loadIcon]):
2291         (-[WebDataSource _startLoading]):
2292         * WebView/WebFrame.m:
2293         (-[WebFrame _loadRequest:archive:]):
2294         (-[WebFrame _loadItem:withLoadType:]):
2295         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
2296         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
2297         (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
2298         * WebView/WebFrameInternal.h:
2299         * WebView/WebFramePrivate.h:
2300         * WebView/WebLoader.h:
2301         * WebView/WebLoader.m:
2302         * WebView/WebMainResourceLoader.m:
2303         (-[WebMainResourceLoader initWithDataSource:]):
2304         (-[WebMainResourceLoader didReceiveResponse:]):
2305
2306 2006-05-23  Tim Omernick  <timo@apple.com>
2307
2308         Reviewed by John Sullivan.
2309
2310         <rdar://problem/4558301> REGRESSION (420+): After clearing history and closing bookmark view window,
2311         attempting to select Safari's menu bar results in a crash
2312
2313         * Misc/WebNSWindowExtras.m:
2314         (replacementPostWindowNeedsDisplay):
2315         My fix yesterday for 4557117 was not quite good enough.  Now that we cancel the display timer for a
2316         window *before* it deallocates, we need to make sure that while a window deallocates, no new display
2317         timers are scheduled for that window.  This is actually possible, as 4558301 demonstrates.
2318         Luckily, NSWindow sets a handy "windowDying" flag when it deallocates, so we can just check that flag
2319         and bail out of the throttle hack if it is set.  This should fix the last of the crashes involving
2320         display timers scheduled for deallocated or deallocating windows.
2321
2322 2006-05-23  Maciej Stachowiak  <mjs@apple.com>
2323
2324         Reviewed by Eric.
2325         
2326         - remove knowledge of WebView from WebLoader in preparation for moving the code down
2327
2328         * WebView/WebDataSource.m:
2329         (-[WebDataSource _defersCallbacks]):
2330         (-[WebDataSource _identifierForInitialRequest:]):
2331         (-[WebDataSource _willSendRequest:forResource:redirectResponse:]):
2332         (-[WebDataSource _didReceiveAuthenticationChallenge:forResource:]):
2333         (-[WebDataSource _didCancelAuthenticationChallenge:forResource:]):
2334         (-[WebDataSource _didReceiveResponse:forResource:]):
2335         (-[WebDataSource _didReceiveData:contentLength:forResource:]):
2336         (-[WebDataSource _didFinishLoadingForResource:]):
2337         (-[WebDataSource _didFailLoadingWithError:forResource:]):
2338         (-[WebDataSource _downloadWithLoadingConnection:request:response:proxy:]):
2339         (-[WebDataSource _privateBrowsingEnabled]):
2340         * WebView/WebDataSourceInternal.h:
2341         * WebView/WebLoader.h:
2342         * WebView/WebLoader.m:
2343         (-[WebLoader releaseResources]):
2344         (-[WebLoader setDataSource:]):
2345         (-[WebLoader willSendRequest:redirectResponse:]):
2346         (-[WebLoader didReceiveAuthenticationChallenge:]):
2347         (-[WebLoader didCancelAuthenticationChallenge:]):
2348         (-[WebLoader didReceiveResponse:]):
2349         (-[WebLoader didReceiveData:lengthReceived:]):
2350         (-[WebLoader signalFinish]):
2351         (-[WebLoader didFinishLoading]):
2352         (-[WebLoader didFailWithError:]):
2353         (-[WebLoader willCacheResponse:]):
2354         (-[WebLoader cancelWithError:]):
2355         * WebView/WebMainResourceLoader.m:
2356         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
2357         * WebView/WebView.m:
2358         (-[WebView _incrementProgressForIdentifier:response:]):
2359         (-[WebView _incrementProgressForIdentifier:data:]):
2360         (-[WebView _completeProgressForIdentifier:]):
2361         * WebView/WebViewInternal.h:
2362
2363 === WebKit-521.10 ===
2364
2365 2006-05-22  Tim Omernick  <timo@apple.com>
2366
2367         Reviewed by Geoff.
2368
2369         <rdar://problem/4557117> TOT REGRESSION: Repro crash in cancelPendingWindowDisplay --> _timerRelease when
2370         opening file from file open dialog
2371
2372         Note that I could not reproduce this situation at all on any of my machines; I had to debug this on Geoff's
2373         machine.
2374
2375         * Misc/WebNSWindowExtras.m:
2376         (replacementDealloc):
2377         Cancel display timer before dealloc, not after.  Cancelling the timer can cause a message to be sent to the
2378         window; best to do that before the window deallocates.
2379         (replacementFinalize):
2380         ditto
2381
2382 2006-05-20  Maciej Stachowiak  <mjs@apple.com>
2383
2384         Reviewed by Beth.
2385         
2386         - fix assertion failure on layout tests
2387
2388         * WebView/WebDataSource.m:
2389         (-[WebDataSource _mainReceivedError:complete:]): Don't do anything
2390         if this data source is no longer connected to a frame. Used to be
2391         this couldn't happen because the WebView would have been nil, but
2392         we no longer go through the WebView.
2393
2394 2006-05-20  Timothy Hatcher  <timothy@apple.com>
2395
2396         Reviewed by Anders.
2397
2398         Bug 9018: REGRESSION: resizing the top area of the inspector does not grow as expected
2399         http://bugzilla.opendarwin.org/show_bug.cgi?id=9018
2400         
2401         Use clientHeight now that offsetHeight includes the border and padding.
2402         clientHeight should have been used initially.
2403
2404         * WebInspector/WebInspector.m:
2405         (-[WebInspector resizeTopArea]):
2406
2407 2006-05-18  Maciej Stachowiak  <mjs@apple.com>
2408
2409         Reviewed by Eric.
2410         
2411         - remove loading-related code from WebView
2412         http://bugzilla.opendarwin.org/show_bug.cgi?id=8981
2413
2414         * Plugins/WebNetscapePluginStream.m:
2415         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
2416         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
2417         * WebCoreSupport/WebSubresourceLoader.m:
2418         (-[WebSubresourceLoader receivedError:]):
2419         (-[WebSubresourceLoader signalFinish]):
2420         * WebView/WebDataSource.m:
2421         (-[WebDataSource _stopLoading]):
2422         (-[WebDataSource _receivedMainResourceError:complete:]):
2423         (-[WebDataSource _finishedLoadingResource]):
2424         (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
2425         (-[WebDataSource _receivedError:]):
2426         (-[WebDataSource _mainReceivedError:complete:]):
2427         * WebView/WebDataSourceInternal.h:
2428         * WebView/WebFrame.m:
2429         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
2430         * WebView/WebMainResourceLoader.m:
2431         (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
2432         (-[WebMainResourceLoader didFinishLoading]):
2433         * WebView/WebView.m:
2434         * WebView/WebViewInternal.h:
2435
2436 2006-05-18  Tim Omernick  <timo@apple.com>
2437
2438         Reviewed by John Sullivan.
2439
2440         <rdar://problem/4551938> More options needed for window display throttle
2441
2442         We decided to play it safe and leave our window flushing behavior unchanged from the previous
2443         public release.  By default, CoreGraphics deferred updates are once again OFF, and the window
2444         display throttle is OFF.
2445
2446         Individual applications should set the WebKitThrottleWindowDisplayPreferenceKey and 
2447         WebKitEnableDeferredUpdatesPreferenceKey defaults to suit their needs.
2448
2449         Old behavior (like 10.4.6): WebKitThrottleWindowDisplayPreferenceKey=0 (or unset), 
2450         WebKitEnableDeferredUpdatesPreferenceKey (or unset).
2451
2452         Tear-free scrolling/animations: WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
2453         WebKitEnableDeferredUpdatesPreferenceKey=1.  While this configuration fixes the tearing issues
2454         caused by over-flushing, some applications will experience performance problems as over-flushing
2455         with CG deferred updates enabled will cause the app to block.
2456
2457         Tear-free scrolling/animations, high performance: WebKitThrottleWindowDisplayPreferenceKey=1, 
2458         WebKitEnableDeferredUpdatesPreferenceKey=1.  This is the riskiest configuration in that it
2459         enables the window display throttle "feature", potentially breaking applications' assumptions
2460         about when displays occur.  However, it provides the "best of both worlds", in that updates
2461         are tear-free, and performance impact should me minimal.
2462
2463         * WebView/WebPreferenceKeysPrivate.h:
2464         Declared WebKitThrottleWindowDisplayPreferenceKey and WebKitEnableDeferredUpdatesPreferenceKey.
2465
2466         * WebView/WebFrameView.m:
2467         (-[WebFrameView initWithFrame:]):
2468         Turn off CG deferred updates if WebKitEnableDeferredUpdatesPreferenceKey is NO or has no value.
2469         Added some comments.
2470
2471 2006-05-18  John Sullivan  <sullivan@apple.com>
2472
2473         Reviewed by Darin Adler.
2474         
2475         - fixed <rdar://problem/4552713> REGRESSION: WebFrameView no longer responds to responder methods sent by Safari code
2476
2477         * WebView/WebView.m:
2478         (-[WebView _responderForResponderOperations]):
2479         Treat sibling views of the main frameView the same as views outside of the webview for the purposes of this mechanism.
2480
2481 2006-05-18  Tim Omernick  <timo@apple.com>
2482
2483         Reviewed by John Sullivan.
2484
2485         <rdar://problem/4553450> Make disabling window throttle safer
2486
2487         * Misc/WebNSWindowExtras.m:
2488         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
2489         Don't assume that +_webkit_disableWindowDisplayThrottle restored the NSWindow method implementations; 
2490         now we'll only swizzle them once, and our replacement IMPs will call the old IMPs when the window
2491         throttle is disabled.  This is a safer approach when other components/"haxies" override the same methods
2492         that we are overriding, as it allows the overrides to "chain" properly.
2493         Moved the dictionary initialization code down a bit.  The order doesn't matter here.
2494         (disableWindowDisplayThrottleApplierFunction):
2495         Noticed that this could have been written safer with respect to the timer having the last reference to
2496         the window.  I never experienced a crash here, but this code is definitely safer.
2497         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
2498         Don't restore NSWindow method implementations; just clear the flag, flush pending displays, and destroy
2499         the dictionary.
2500         (replacementPostWindowNeedsDisplay):
2501         If throttling is disabled, just call the original IMP.
2502         (clearWindowDisplayInfo):
2503         Added an assert.
2504         (replacementDealloc):
2505         Don't call clearWindowDisplayInfo() when throttling is disabled.
2506         (replacementFinalize):
2507         ditto
2508         (cancelPendingWindowDisplay):
2509         Removed an unnecessary assertion.
2510
2511 2006-05-17  Tim Omernick  <timo@apple.com>
2512
2513         Reviewed by Kevin Decker and John Sullivan.
2514
2515         <rdar://problem/4550801> REGRESSION: Window throttle code can sometimes leak NSWindows
2516
2517         The window display throttle depended on windows being closed before they were deallocated; this is
2518         not guaranteed by AppKit.  Windows that were being released without being closed were getting stuck
2519         in our NSWindow -> WindowDisplayInfo dictionary.
2520         
2521         * Misc/WebNSWindowExtras.m:
2522         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
2523         Don't retain the NSWindow keys in the window display info dictionary.
2524         Instead of overriding -close, override -dealloc and -finalize so that we can remove the NSWindow ->
2525         WindowDisplayInfo mapping when a window deallocates.
2526         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
2527         Restore -dealloc and -finalize.
2528         (clearWindowDisplayInfo):
2529         Factored the WindowDisplayInfo cleanup code out of the now-defunct replacementClose().
2530         (replacementClose):
2531         Removed; no longer needed.
2532         (replacementDealloc):
2533         Clear the WindowDisplayInfo for the window after deallocation.
2534         (replacementFinalize):
2535         ditto
2536         (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
2537         Rewrote this method to be safe in the case where the firing display timer has the last reference to the
2538         window.
2539         Added comments.
2540         
2541 2006-05-17  bradeeoh  <beidson@apple.com>
2542
2543         Reviewed by Tim Hatcher
2544
2545         Consolidated WebDatabase base class into WebFileDatabase as the inheritance relationship became 
2546         obsolete.  This improves readability and sets the stage for a further in-depth rewrite of the 
2547         WebIcon* code.
2548
2549         * Misc/WebDatabase.h: Removed.
2550         * Misc/WebDatabase.m: Removed.
2551         * Misc/WebFileDatabase.h:
2552         * Misc/WebFileDatabase.m:
2553         (-[WebFileDatabaseOp dealloc]): 
2554         (-[WebFileDatabase dealloc]):  
2555         (-[WebFileDatabase path]):
2556         (-[WebFileDatabase isOpen]):
2557         (-[WebFileDatabase sizeLimit]):
2558         * WebKit.xcodeproj/project.pbxproj:
2559
2560 2006-05-17  Adele Peterson  <adele@apple.com>
2561
2562         Reviewed by Hyatt.
2563
2564         WebKit part of initial checkin to prepare for http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
2565         Switch to use new text field implementation for <textarea>
2566
2567         * WebView/WebHTMLView.m:
2568         (-[NSArray insertNewline:]): If we're in plain text mode, insert a line break instead of a paragraph separator.
2569         (-[NSArray insertParagraphSeparator:]): ditto.
2570         * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
2571         Checks for textareas as well as textfields before allowing the delegate to control
2572         the context menu.  This won't affect the old textareas because AppKit handles those context menus.
2573
2574 2006-05-17  John Sullivan  <sullivan@apple.com>
2575
2576         Reviewed by Maciej.
2577
2578         First step towards making text-matching mechanism more flexible; updated for changes
2579         to WebCoreFrameBridge calls.
2580
2581         * WebView/WebHTMLView.m:
2582         (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
2583         updated for name change in WebCoreFrameBridge, also now calls setMarkedTextMatchesAreHighlighted:
2584         (-[WebHTMLView clearHighlightedMatches]):
2585         updated for name change in WebCoreFrameBridge
2586
2587 2006-05-16  Matt Gough  <matt@softchaos.com>
2588
2589         Reviewed by Geoff.
2590         
2591         Ensured all the public headers have a newline at their end.
2592
2593         Client code can now have 'Missing Newline at end of File' warnings enabled without emitting
2594         such warnings against any WebKit includes.
2595
2596         * Misc/WebDownload.h:
2597         * Plugins/npfunctions.h:
2598         * WebView/WebResourceLoadDelegate.h:
2599         * WebView/WebUIDelegate.h:
2600         * WebView/WebView.h:
2601
2602 2006-05-16  Tim Omernick  <timo@apple.com>
2603
2604         Reviewed by Tim Hatcher.
2605
2606         http://bugzilla.opendarwin.org/show_bug.cgi?id=8945 (REGRESSION: Scrolling is very slow when dragging
2607         the thumb)
2608
2609         Rolled out one of my tweaks to the window display throttle hack (remember the last flush time instead
2610         of the last display time).  While that was technically a better approach, we discovered a problem
2611         with how it interacts with NSView scroll tracking.  Rather than further complicate this already
2612         crazy hack, I'm reverting back to the simple version.  This should yield similar numbers on iBench,
2613         but not exhibit the nasty scrolling problem.
2614         
2615         * Misc/WebNSWindowExtras.m:
2616         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
2617         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
2618         (getWindowDisplayInfo):
2619         (requestWindowDisplay):
2620
2621 2006-05-16  bradeeoh  <beidson@apple.com>
2622
2623         Reviewed by Maciej Stachowiak
2624
2625         - Fixed an old deprecated method in Misc/WebFileDatabase.m
2626
2627         * Misc/WebFileDatabase.m:
2628         (UniqueFilePathForKey):  changed `lossyCString` to `UTF8String`
2629
2630 2006-05-16  Darin Adler  <darin@apple.com>
2631
2632         Reviewed by Anders.
2633
2634         - did the name change from "ImageElement" to "ImageForElement" that I said I would
2635           (oops!)
2636
2637         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2638         (-[WebDefaultUIDelegate copyImageToClipboard:]):
2639         * Misc/WebNSPasteboardExtras.h:
2640         * Misc/WebNSPasteboardExtras.m:
2641         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
2642         * Misc/WebNSViewExtras.h:
2643         * Misc/WebNSViewExtras.m:
2644         (-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]):
2645         * WebView/WebHTMLView.m:
2646         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2647         * WebView/WebView.m:
2648         (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
2649         (-[WebView writeElement:withPasteboardTypes:toPasteboard:]):
2650         * WebView/WebViewInternal.h:
2651
2652 2006-05-16  Darin Adler  <darin@apple.com>
2653
2654         Reviewed by Anders.
2655
2656         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8940
2657           remove extra copy of image code
2658
2659         * English.lproj/StringsNotToBeLocalized.txt: Updated for many recent changes.
2660
2661         * WebKit.xcodeproj/project.pbxproj: Removed files.
2662         * WebCoreSupport/WebImageData.h: Removed.
2663         * WebCoreSupport/WebImageData.m: Removed.
2664         * WebCoreSupport/WebImageDecodeItem.h: Removed.
2665         * WebCoreSupport/WebImageDecodeItem.m: Removed.
2666         * WebCoreSupport/WebImageDecoder.h: Removed.
2667         * WebCoreSupport/WebImageDecoder.m: Removed.
2668         * WebCoreSupport/WebImageRenderer.h: Removed.
2669         * WebCoreSupport/WebImageRenderer.m: Removed.
2670
2671         * WebCoreSupport/WebImageRendererFactory.h:
2672         * WebCoreSupport/WebImageRendererFactory.m: Removed everything except for
2673         shouldUseThreadedDecoding, setShouldUseThreadedDecoding, and imageDataForName:.
2674
2675         * Misc/WebNSPasteboardExtras.h: Removed WebImageRenderer parameter from
2676         _web_declareAndWriteDragImage and renamed _web_declareAndWriteDragImageElement.
2677         * Misc/WebNSPasteboardExtras.m:
2678         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Changed to
2679         call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
2680         -[WebImageRendererFactory supportedMIMETypes].
2681         (-[NSPasteboard _web_declareAndWriteDragImageElement:URL:title:archive:source:]):
2682         Removed WebImageRenderer parameter, and updated code since it was always nil.
2683
2684         * Misc/WebNSViewExtras.h: Removed WebImageRenderer parameter from
2685         _web_dragImage and renamed _web_dragImageElement.
2686         * Misc/WebNSViewExtras.m:
2687         (-[NSView _web_dragImageElement:rect:event:pasteboard:source:offset:]):
2688         Removed WebImageRenderer parameter, and updated code since it was always nil.
2689
2690         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Added some new
2691         functions now used by WebCore.
2692
2693         * WebView/WebDataSource.m: (-[WebDataSource _documentFragmentWithArchive:]):
2694         Call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
2695         -[WebImageRendererFactory supportedMIMETypes].
2696
2697         * WebView/WebFrameView.m: Removed include of WebImageRenderer.h.
2698
2699         * WebView/WebHTMLRepresentation.m: (+[WebHTMLRepresentation supportedImageMIMETypes]):
2700         Removed call to +[WebImageRendererFactory createSharedFactory].
2701
2702         * WebView/WebHTMLView.m:
2703         (-[WebHTMLView _imageExistsAtPaths:]): Call +[WebFrameBridge supportedImageResourceMIMETypes]
2704         instead of -[WebImageRendererFactory supportedMIMETypes].
2705         (-[WebHTMLView _documentFragmentWithPaths:]): Ditto.
2706         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Update
2707         to no longer pass nil for an image to _web_declareAndWriteDragImageElement and to
2708         _web_dragImageElement.
2709         (-[WebHTMLView dealloc]): Remove call to now-unneeded _reset.
2710         (-[WebHTMLView finalize]): Ditto.
2711         (-[WebHTMLView viewDidMoveToWindow]): Remove logic for calling _reset, including the inWindow
2712         boolean field.
2713
2714         * WebView/WebHTMLViewInternal.h: Removed inWindow boolean.
2715         * WebView/WebHTMLViewPrivate.h: Removed _reset method.
2716
2717 2006-05-16  Darin Adler  <darin@apple.com>
2718
2719         Reviewed by Hyatt.
2720
2721         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8898
2722           REGRESSION: Attempting to right-click image in own tab on website causes crash
2723         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8919
2724           REGRESSION: image could not be dragged, subsequent click-drag activity caused crash
2725
2726         These fixes may become obsolete when Anders lands his standalone image viewer
2727         patch, but in my tree they are needed to make Copy Image work after the fix
2728         over on the WebCore side to avoid the crashes.
2729
2730         * Misc/WebNSPasteboardExtras.h: Change _web_writeImage parameter to an NSImage.
2731         * Misc/WebNSPasteboardExtras.m:
2732         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Change parameter
2733         to an NSImage instead of a WebImageRenderer.
2734         (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]):
2735         Call -[WebImageRenderer image] to get an NSImage to pass to _web_writeImage.
2736
2737         * WebView/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
2738         Get the image using WebElementImageKey if WebElementDOMNodeKey is nil.
2739
2740 2006-05-16  Anders Carlsson  <acarlsson@apple.com>
2741
2742         Reviewed by Maciej.
2743
2744         http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
2745         Use WebCore to render full-frame images
2746         
2747         * WebCoreSupport/WebFrameBridge.m:
2748         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
2749         Remove WebImageView handling.
2750         
2751         (-[WebFrameBridge mainResourceURLResponse]):
2752         New function which returns the URL response for the main resource. This is used by the
2753         manual loading of images.
2754         
2755         (-[WebFrameBridge imageTitleForFilename:size:]):
2756         New function which returns a correctly translated image title given a filename and a size.
2757         
2758         * WebCoreSupport/WebImageRenderer.m:
2759         (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
2760         Remove WebImageView handling.
2761         
2762         * WebKit.xcodeproj/project.pbxproj:
2763         Remove WebImageRepresentation and WebImageView.
2764         
2765         * WebView/WebArchiver.h:
2766         * WebView/WebArchiver.m:
2767         (+[WebArchiver archiveMainResourceForFrame:]):
2768         New functions which returns a WebArchive with just the main resource, ignoring any subresources.
2769         
2770         * WebView/WebDataSource.m:
2771         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
2772         Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
2773         
2774         * WebView/WebFrameView.m:
2775         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
2776         Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
2777         
2778         (+[WebHTMLRepresentation supportedMIMETypes]):
2779         Create an array of image and non-image MIME Types.
2780         
2781         (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
2782         (+[WebHTMLRepresentation supportedImageMIMETypes]):
2783         New functions, separating the list of MIME types into image and non-image ones.
2784         
2785         * WebView/WebHTMLView.m:
2786         (+[WebHTMLView supportedImageMIMETypes]):
2787         (+[WebHTMLView supportedNonImageMIMETypes]):
2788         New functions which call down to WebHTMLRepresentation.
2789         
2790         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2791         If the image element comes from an ImageDocument, just use an archive of the main resource
2792         instead of the generated HTML document.
2793         
2794         * WebView/WebHTMLViewPrivate.h:
2795         Declare new functions.
2796         
2797         * WebView/WebImageRepresentation.h: Removed.
2798         * WebView/WebImageRepresentation.m: Removed.
2799         * WebView/WebImageView.h: Removed.
2800         * WebView/WebImageView.m: Removed.
2801         
2802 2006-05-15  Tim Omernick  <timo@apple.com>
2803
2804         Reviewed by John Sullivan.
2805
2806         Part of <rdar://problem/4466508> Add 64-bit support to the Netscape Plugin API
2807
2808         Added to the Netscape Plugin API the concept of "plugin drawing models".  The drawing model
2809         determines the kind of graphics context created by the browser for the plugin, as well as 
2810         the Mac types of various Netscape Plugin API data structures.
2811
2812         There is a drawing model to represent the old QuickDraw-based API.  It is used by default
2813         if QuickDraw is available on the system, unless the plugin specifies another drawing model.
2814
2815         The big change is the addition of the CoreGraphics drawing model.  A plugin may request this
2816         drawing model to obtain access to a CGContextRef for drawing, instead of a QuickDraw CGrafPtr.
2817
2818         * Plugins/WebBaseNetscapePluginView.h:
2819         Added PluginPort union, which wraps a NP_Port and a NP_CGContext.  This is to make access to
2820         the nPort and lastSetPort ivars more convenient now that the port type differs based on the 
2821         drawing model.
2822         Changed types of nPort and lastSetPort to PluginPort so they can be used with any drawing model.
2823         Added drawingModel ivar.
2824         * Plugins/WebBaseNetscapePluginView.m:
2825         Renamed PortState to PortState_QD.  PortState is now an opaque pointer.  PortState_QD cannot be
2826         used if QuickDraw is unavailable.
2827         (-[WebBaseNetscapePluginView fixWindowPort]):
2828         Cannot be used if QuickDraw is unavailable.
2829         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2830         Only fix window port if drawing model is QuickDraw.
2831         Re-ordered some code so I could group QuickDraw-specific stuff into switch and if blocks (that's
2832         why the diff here is so terrible).
2833         Now returns a malloc()'ed PortState that the caller is responsible for freeing.  Renamed to
2834         better reflect this behavior.
2835         Support for the CoreGraphics drawing model -- fill PortState_CG struct, save CGContext state.
2836         (-[WebBaseNetscapePluginView restorePortState:]):
2837         Switch based on drawing model.
2838         Support for the CoreGraphics drawing model -- restore CGContext state saved earlier.
2839         (-[WebBaseNetscapePluginView sendEvent:]):
2840         Formatting.
2841         Don't set save/set port state or set the window in CoreGraphics mode unless the event being
2842         sent is an updateEvt.  We can't provide the plugin with a CGContext outside of our view display
2843         cycle.
2844         Don't restore PortState if it's NULL (didn't used to be a pointer).  Free when we're done with it.
2845         (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
2846         Formatting.
2847         Switch how we compare ports based on the drawing model.
2848         (-[WebBaseNetscapePluginView updateAndSetWindow]):
2849         Fixed for CoreGraphics by triggering a redisplay instead of sending an update event to the plugin
2850         outside of the view display cycle.
2851         Don't restore PortState if it's NULL (didn't used to be a pointer).  Free when we're done with it.
2852         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2853         Assert that the window is only set when updating in CoreGraphics mode.
2854         Log differently depending on the drawing model.
2855         (-[WebBaseNetscapePluginView start]):
2856         Fall back on QuickDraw if the plugin does not specify a drawing model.
2857         (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
2858         Cannot be used if QuickDraw is unavailable.
2859         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
2860         Only call -tellQuickTimeToChill in QuickDraw mode.
2861         (-[WebBaseNetscapePluginView viewHasMoved:]):
2862         ditto
2863         (-[WebBaseNetscapePluginView invalidateRegion:]):
2864         NPRegion is a CGPathRef in CoreGraphics mode.
2865         (-[WebBaseNetscapePluginView getVariable:value:]):
2866         Added support for retriveing the NPNVpluginDrawingModel, NPNVsupportsQuickDrawBool, and
2867         NPNVsupportsCoreGraphicsBool browser variables.
2868         (-[WebBaseNetscapePluginView setVariable:value:]):
2869         Added support for setting the NPNVpluginDrawingModel variable.
2870
2871 2006-05-15  Tim Omernick  <timo@apple.com>
2872
2873         Reviewed by Kevin Decker.
2874
2875         Follow-up to my previous PLT fix.  I found upon further testing (by dramatically decreasing the
2876         allowed display rate) that +_webkit_displayThrottledWindows did not always force a display when
2877         necessary.  The reason is that I was not giving a proper timeout to CFRunLoopRunInMode().  I was
2878         passing 0, which was causing only "expired" timers to fire.  This method is actually supposed to
2879         block until all currently scheduled display timers fire.
2880
2881         I tested this change and found that it did not affect my PLT times when the display rate was
2882         capped to 60 fps.  It also behaves as expected when the display rate is set much lower (say, 1
2883         display per second); my previous fix did not work well at such display rates.
2884
2885         * Misc/WebNSWindowExtras.m:
2886         (+[NSWindow _webkit_displayThrottledWindows]):
2887         Run the runloop for an amount of time equal to the minimum allowed interval between displays.
2888         This ensures that we'll block until all currently scheduled display timers fire (but we won't
2889         block for future display timers).
2890
2891 2006-05-15  John Sullivan  <sullivan@apple.com>
2892
2893         Reviewed by Tim Omernick.
2894         
2895         - followup to previous fix; I hadn't tested quitting adequately
2896
2897         * WebView/WebHTMLView.m:
2898         (-[WebHTMLView dealloc]):
2899         call removeAllToolTips before clearing _private so that removeTrackingRect: override can work 
2900         properly. Normally removeAllToolTips would be called by super, but that's too late.
2901         (-[WebHTMLView finalize]):
2902         ditto
2903
2904 2006-05-15  John Sullivan  <sullivan@apple.com>
2905
2906         Reviewed by Darin.
2907         
2908         - fixed <rdar://problem/4503016> TOT assertion failure in -[WebHTMLView(WebPrivate) removeTrackingRect:]
2909         
2910         We have some tricky code to deal with tracking rects, which succumbed to a fix in AppKit. Updated our
2911         tricky code to work with the AppKit fix.
2912
2913         * WebView/WebHTMLViewInternal.h:
2914         new instance variable lastToolTipTag
2915         
2916         * WebView/WebHTMLView.m:
2917         (-[WebHTMLView removeTrackingRect:]):
2918         handle removing lastToolTipTag by calling super
2919         (-[WebHTMLView _setToolTip:]):
2920         save tool tip tag in lastToolTipTag; this apparently used to always return 0, so we formerly had no way
2921         to distinguish it from the no-tool-tips-yet case.
2922
2923         * WebKit.xcodeproj/project.pbxproj:
2924         Xcode removed some old cruft
2925
2926 2006-05-15  Tim Omernick  <timo@apple.com>
2927
2928         Reviewed by Darin.
2929
2930         Safari's Page Load Test (PLT) saturates the runloop with so many sources that timers are not allowed to fire 
2931         as frequently as they should.  This is a general problem with the PLT -- because of this, it does not measure
2932         work done in timer callbacks during/after the page load process.
2933
2934         Unfortunately, this aspect of the PLT interferes with our window display throttle hack.  Because we throttle
2935         display using timers, and the PLT starves timers, most of the pages loaded by the PLT do not actually display.
2936         This makes the PLT run "too fast", yielding ridiculously fast numbers compared to when throttling is disabled.
2937
2938         I've added a new method that the PLT can call after each page load to force any starved display throttle timers
2939         to fire.  By doing this, Safari's PLT will be guaranteed to display each page at least once.
2940
2941         * Misc/WebNSWindowExtras.h:
2942         * Misc/WebNSWindowExtras.m:
2943         Added a special internal runloop mode for the throttle timers.
2944         (+[NSWindow _webkit_displayThrottledWindows]):
2945         Run the runloop in our special internal mode until there are no more sources to handle.
2946         (requestWindowDisplay):
2947         Schedule the timer in the new mode as well as the standard modes.
2948         
2949 2006-05-15  Anders Carlsson  <acarlsson@apple.com>
2950
2951         Reviewed by Maciej.
2952
2953         http://bugzilla.opendarwin.org/show_bug.cgi?id=8913
2954         REGRESSION: Can view source for text files
2955
2956         * WebView/WebDocumentPrivate.h:
2957         Add canSaveAsWebArchive.
2958         
2959         * WebView/WebHTMLRepresentation.m:
2960         (-[WebHTMLRepresentation canProvideDocumentSource]):
2961         Call the bridge.
2962         
2963         (-[WebHTMLRepresentation canSaveAsWebArchive]):
2964         New function. This will be used in Safari ToT to determine if a page can be saved as an archive.
2965
2966 2006-05-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2967
2968         Reviewed by Darin.
2969
2970         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8739
2971           Crash in RenderTableSection::paint due to manipulating DOM on resize
2972
2973         Manual test: manual-tests/dom-manipulation-on-resize.html
2974
2975         * WebView/WebHTMLView.m:
2976         (-[NSArray layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Relayout if necessary
2977         after sending the resize event.
2978
2979 2006-05-12  Maciej Stachowiak  <mjs@apple.com>
2980
2981         Reviewed by Brady.
2982         
2983         http://bugzilla.opendarwin.org/show_bug.cgi?id=8876
2984         - move most private WebDataSource methods to uninstalled header
2985         
2986         I put the declarations for the ones only used in WebKit in WebDataSourceInternal.h
2987         and removed two entirey unused ones.
2988
2989         * Plugins/WebNetscapePluginRepresentation.m:
2990         * Plugins/WebNetscapePluginStream.m:
2991         * Plugins/WebPluginController.m:
2992         * Plugins/WebPluginDocumentView.m:
2993         * WebCoreSupport/WebFrameBridge.m:
2994         (-[WebFrameBridge dataSource]):
2995         * WebCoreSupport/WebSubresourceLoader.m:
2996         * WebKit.xcodeproj/project.pbxproj:
2997         * WebView/WebDataSource.m:
2998         (-[WebDataSource _updateIconDatabaseWithURL:]):
2999         (-[WebDataSource _loadIcon]):
3000         (-[WebDataSource _clearErrors]):
3001         (-[WebDataSource _commitLoadWithData:]):
3002         (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
3003         (-[WebDataSource _addResponse:]):
3004         * WebView/WebDataSourceInternal.h: Added.
3005         * WebView/WebDataSourcePrivate.h:
3006         * WebView/WebFrame.m:
3007         * WebView/WebHTMLRepresentation.m:
3008         * WebView/WebHTMLView.m:
3009         * WebView/WebImageView.m:
3010         * WebView/WebLoader.m:
3011         * WebView/WebMainResourceLoader.m:
3012         * WebView/WebPDFView.m:
3013         * WebView/WebRenderNode.m:
3014         * WebView/WebView.m:
3015
3016 2006-05-12  Tim Omernick  <timo@apple.com>
3017
3018         Reviewed by John Sullivan.
3019
3020         <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
3021         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8740>
3022
3023         Improvement to my NSWindow display throttle hack.  Remember the last flush time instead of the last display time.
3024         Our goal is to never draw less than 1/60th of a second after the window is flushed in order to avoid blocking on
3025         a CG coalesced update.  Using the last display time is close, but this is much more accurate.  I have verified that
3026         this further improves our score on BenchJS Test 1 (by 9.8% with the status bar shown compared to the previous build),
3027         as well as on our internal PLT scores by a smaller percentage.
3028
3029         * Misc/WebNSWindowExtras.m:
3030         Renamed lastDisplayTime to lastFlushTime.
3031         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
3032         Replace -[NSWindow flushWindow] with our own implementation.
3033         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
3034         Restore -[NSWindow flushWindow].
3035         (replacementFlushWindow):
3036         Use the last flush time instead of the last display time.
3037         (getWindowDisplayInfo):
3038         Renamed lastDisplayTime to lastFlushTime.
3039         (requestWindowDisplay):
3040         Moved some code to replacementFlushWindow().
3041
3042 2006-05-11  Timothy Hatcher  <timothy@apple.com>
3043
3044         Reviewed by Darin.
3045
3046         Bug 8856: Web Inspector should show the Xpath for the selected node
3047         http://bugzilla.opendarwin.org/show_bug.cgi?id=8856
3048         
3049         Adds an Xpath area to the Node panel.
3050
3051         * WebInspector/webInspector/inspector.css:
3052         * WebInspector/webInspector/inspector.html:
3053         * WebInspector/webInspector/inspector.js:
3054
3055 2006-05-11  Timothy Hatcher  <timothy@apple.com>
3056
3057         Reviewed by Anders.
3058
3059         Fixes <rdar://problem/4411845> lots of SPOD trying to scroll through
3060         Markup & Content inspecting body at apple.com (6614)
3061         http://bugzilla.opendarwin.org/show_bug.cgi?id=6614
3062
3063         Removed the Markup & Content pane when viewing a element.
3064         This pane was not that useful and made the inspector really slow
3065         when the markup was large. Only show this pane for text nodes.
3066
3067         * WebInspector/webInspector/inspector.css: use -webkit prefix
3068         * WebInspector/webInspector/inspector.html:
3069         * WebInspector/webInspector/inspector.js:
3070
3071 2006-05-11  Sam Weinig  <sam.weinig@gmail.com>
3072
3073         Reviewed by Timothy.
3074
3075         Patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8810>
3076         Bug 8810: Scrollbars in WebInspector rendered incorrectly
3077
3078         * WebInspector/webInspector/inspector.css: 
3079         Make scroll bars absolutely positioned.
3080
3081 2006-05-10  Tim Omernick  <timo@apple.com>
3082
3083         Reviewed by Darin.
3084
3085         <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
3086         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8740>
3087
3088         * Misc/WebNSWindowExtras.h:
3089         * Misc/WebNSWindowExtras.m:
3090         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
3091         Overrides certain NSWindow methods so that window autodisplay can be throttled to 60Hz.
3092
3093         (disableWindowDisplayThrottleApplierFunction):
3094         CFDictionary applier function for when the throttle is disabled.  Cancels all pending window displays,
3095         and calls -displayIfNeeded on each window with a pending display.
3096
3097         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
3098         Restores default NSWindow method implementations and clears pending window displays.
3099
3100         (swizzleInstanceMethod):
3101         Helper function to swizzle ObjC method implementations.
3102
3103         (replacementPostWindowNeedsDisplay):
3104         Don't call into -[NSWindow _postWindowNeedsDisplay] if requestWindowDisplay() returns NO (this is the
3105         function that throttles display).
3106
3107         (replacementClose):
3108         Clean up the WindowDisplayInfo struct for the window, since it's about to go away.
3109
3110         (getWindowDisplayInfo):
3111         Gets the WindowDisplayInfo struct for the window, or creates it if absent.
3112
3113         (requestWindowDisplay):
3114         Returns YES if a display is allowed right now.  Returns NO otherwise, and schedules a timer to try the
3115         display again.
3116
3117         (cancelPendingWindowDisplay):
3118         Cancels the pending display for the window, if any.
3119
3120         (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
3121         Try to call _postWindowNeedsDisplay again.
3122
3123         * WebView/WebFrameView.m:
3124         (-[WebFrameView initWithFrame:]):
3125         If the secret "WebKitThrottleWindowDisplay" default is set, then enable the NSWindow throttle.
3126
3127 2006-05-10  Anders Carlsson  <acarlsson@apple.com>
3128
3129         Reviewed by Maciej.
3130
3131         * WebView/WebHTMLView.m:
3132         (+[WebHTMLView unsupportedTextMIMETypes]):
3133         Add text/rtf
3134         
3135 2006-05-09  Levi Weintraub  <lweintraub@apple.com>
3136
3137         Reviewed by justin.
3138
3139         <rdar://problem/4442395>
3140         Tiny MCE: Link isn't inserted after dragging into textarea field
3141         
3142         * WebView/WebHTMLView.m:
3143         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]):
3144         Modified to create an anchor object with a title as opposed to just the URL as text.
3145
3146 2006-05-09  Tim Omernick  <timo@apple.com>
3147
3148         Reviewed by Dave Harrison.
3149
3150         <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or
3151         other WebPreferences changes)
3152
3153         * Plugins/WebBaseNetscapePluginView.m:
3154         (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
3155         When the plugin view is removed from both its window and its hostWindow, stop observing
3156         WebPreferences.
3157
3158 2006-05-09  Anders Carlsson  <acarlsson@apple.com>
3159
3160         Reviewed by Darin.
3161
3162         http://bugzilla.opendarwin.org/show_bug.cgi?id=8808
3163         WebCore should handle text files
3164
3165         * WebKit.exp:
3166         Remove WebTextView.
3167         
3168         * WebKit.xcodeproj/project.pbxproj:
3169         Get rid of WebTextView and WebTextRepresentation.
3170         
3171         * WebView/WebDataSource.m:
3172         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
3173         * WebView/WebFrameView.m:
3174         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
3175         * WebView/WebHTMLView.m:
3176         The text MIME types are now handled by WebHTMLView.
3177         
3178         (+[WebHTMLView unsupportedTextMIMETypes]):
3179         New function, moved here from WebTextView.
3180         
3181         * WebView/WebHTMLViewPrivate.h:
3182         * WebView/WebTextRepresentation.h: Removed.
3183         * WebView/WebTextRepresentation.m: Removed.
3184         * WebView/WebTextView.h: Removed.
3185         * WebView/WebTextView.m: Removed.
3186         
3187         * WebView/WebView.m:
3188         (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
3189         Now special-case WebHTMLView instead of WebTextView for MIME types
3190         that shouldn't be shown.
3191
3192 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
3193
3194         Rubber stamped by Anders.
3195         
3196         - renamed kxmlcore to wtf
3197         
3198         kxmlcore --> wtf
3199         KXMLCore --> WTF
3200         KXC --> WTF
3201
3202         * Misc/WebKitLogging.h:
3203         * Misc/WebKitLogging.m:
3204         (initializeLogChannel):
3205
3206 2006-05-09  Timothy Hatcher  <timothy@apple.com>
3207
3208         Reviewed by Anders.
3209
3210         Bug 8804: Inspector should support searching by Xpath query
3211         http://bugzilla.opendarwin.org/show_bug.cgi?id=8804
3212
3213         * WebInspector/WebInspector.m:
3214         (-[WebInspector _refreshSearch]):
3215         * WebInspector/webInspector/inspector.js:
3216
3217 2006-05-08  Maciej Stachowiak  <mjs@apple.com>
3218
3219         Reviewed by Tim Hatcher.
3220         
3221         - refactor things so that WebKit doesn't save a WebResource for every loaded URL,
3222         but rather retrieves the data from the WebCore cache as needed.
3223         http://bugzilla.opendarwin.org/show_bug.cgi?id=8802
3224
3225         * WebCoreSupport/WebFrameBridge.m:
3226         (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
3227         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
3228         * WebCoreSupport/WebSubresourceLoader.m:
3229         (-[WebSubresourceLoader didReceiveResponse:]):
3230         * WebView/WebDataSource.m:
3231         (-[WebDataSourcePrivate dealloc]):
3232         (-[WebDataSource _setupForReplaceByMIMEType:]):
3233         (-[WebDataSource _archivedSubresourceForURL:]):
3234         (-[WebDataSource initWithRequest:]):
3235         (-[WebDataSource subresources]):
3236         (-[WebDataSource subresourceForURL:]):
3237         (-[WebDataSource addSubresource:]):
3238         * WebView/WebDataSourcePrivate.h:
3239         * WebView/WebFrame.m:
3240         * WebView/WebFrameInternal.h:
3241         * WebView/WebHTMLView.m:
3242         * WebView/WebLoader.h:
3243         * WebView/WebLoader.m:
3244         (-[NSURLProtocol loadWithRequest:]):
3245         (-[NSURLProtocol didFinishLoading]):
3246         * WebView/WebUnarchivingState.h:
3247         * WebView/WebUnarchivingState.m:
3248         (-[WebUnarchivingState addResource:]):
3249
3250 2006-05-04  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3251
3252         Reviewed by Darin.
3253
3254         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8594
3255           REGRESSION: Exception on closing a page containing (just) an mp3
3256
3257         Test: plugins/pluginDocumentView-deallocated-dataSource.html
3258
3259         * Plugins/WebPluginDocumentView.m:
3260         (-[WebPluginDocumentView dealloc]): Release the dataSource.
3261         (-[WebPluginDocumentView setDataSource:]): Retain the dataSource.
3262
3263 2006-05-04  Tim Omernick  <timo@apple.com>
3264
3265         Reviewed by Darin.
3266
3267         <rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element
3268
3269         * WebCoreSupport/WebFrameBridge.m:
3270         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
3271         Pass the DOMElement to the plugin if it's a WebKit plugin (we need to handle Netscape plugins
3272         differently).
3273
3274 2006-05-04  Tim Omernick  <timo@apple.com>
3275
3276         Reviewed by John Sullivan.
3277
3278         <rdar://problem/4480186> Give WebKit plugins access to their own DOM element
3279
3280         This does not fix <rdar://problem/4480187> Give Netscape plugins access to their own DOM element --
3281         we're not going to use the ObjC DOM API for that, but rather the NP bindings API.
3282
3283         * Plugins/WebPluginPackage.m:
3284         Declared WebPlugInContainingElementKey.  This is not a new plugin argument -- it's been in our public
3285         headers since all along, but has never been concretely declared -- plugins that referenced it would not
3286         link.
3287
3288         * WebCoreSupport/WebFrameBridge.m:
3289         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:]):
3290         Added DOMElement parameter, which is now included in the plugin arguments dictionary.
3291         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:]):
3292         ditto
3293
3294         * WebKit.exp:
3295         Export WebPlugInContainingElementKey.
3296
3297 2006-05-02  Darin Adler  <darin@apple.com>
3298
3299         Reviewed by Eric.
3300
3301         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8677
3302           REGRESSION: wkSetUpFontCache() may be called before the SPIs are connected.
3303
3304         I don't know how reproduce this without one of Rosyna's hacks installed, so I
3305         did not include a test.
3306
3307         * Misc/WebStringTruncator.m: (+[WebStringTruncator initialize]): Add call to
3308         InitWebCoreSystemInterface.
3309
3310         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add a boolean
3311         so we will only do this one time.
3312
3313 2006-05-02  Adele Peterson  <adele@apple.com>
3314
3315         Reviewed by Tim O.
3316
3317         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6988
3318         REGRESSION: Display correct context menus for new text fields
3319
3320         * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
3321         Don't let the UI delegate have control over the context menu for text fields.
3322
3323 2006-05-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3324
3325         Reviewed by Darin.
3326
3327         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8658
3328           Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
3329           (bridge is null) when clicking QuickTime object with href
3330
3331         * WebView/WebHTMLView.m:
3332        (-[WebHTMLView setDataSource:]): Set the pluginController's dataSource.
3333
3334 2006-05-01  Maciej Stachowiak  <mjs@apple.com>
3335
3336         - fix build
3337
3338         * WebKit.exp: Add symbol that the new Safari will need.
3339
3340 2006-05-01  John Sullivan  <sullivan@apple.com>
3341
3342         Reviewed by Tim Omernick.
3343         
3344         - fixed <rdar://problem/3126419> history load enforces history limit, but deletes the newest instead of oldest items
3345         - added notification reporting items discarded during load because the age limit or item count limit is exceeded
3346         - a few other minor tweaks
3347
3348         * History/WebHistory.h:
3349         fixed a typo and an incorrect method name
3350         
3351         * History/WebHistoryPrivate.h:
3352         Added declaration of WebHistoryItemsDiscardedWhileLoadingNotification. Also changed signature of
3353         WebHistoryPrivate method -loadFromURL:error: to have new collectDiscardedItemsInto: parameter.
3354         Also deleted declarations of two methods that didn't actually exist (loadHistory and initWithFile:), 
3355         and added comments about which methods should become public API, WebKit-internal, or file-internal.
3356
3357         * History/WebHistory.m:
3358         (-[WebHistoryPrivate arrayRepresentation]):
3359         This method, called only by _saveHistoryGuts:, used to deliberately leave out items that violated
3360         either the age limit or the item count limit. Now all the items are included (and thus saved), and
3361         all the pruning is done at load time, so clients can keep track of the pruned items by observing
3362         the new WebHistoryItemsDiscardedWhileLoadingNotification
3363         (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
3364         Now keeps track of all the items that violated the age limit or item count limit in the new
3365         collectedDiscardedItemsInto: parameter. Also, now processes items in forward order rather than
3366         reverse order to fix 3126419. Now uses compare: rather than _webkit_compareDay: to check against
3367         age limit; this is faster and also more correct (most noticeable with small age limits).
3368         (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]):
3369         new collectDiscardedItemsInto: parameter, passed into _loadHistoryGuts:...
3370         (-[WebHistory loadFromURL:error:]):
3371         Now sends new WebHistoryItemsDiscardedWhileLoadingNotification if any items were discarded due
3372         to age limit or item count limit.
3373         
3374         * WebKit.exp:
3375         exported symbol for WebHistoryItemsDiscardedWhileLoadingNotification
3376
3377 2006-04-29  Timothy Hatcher  <timothy@apple.com>
3378
3379         Reviewed by Maciej.
3380
3381         Bug 8577: [TabBarView _web_superviewOfClass:stoppingAtClass:]
3382         http://bugzilla.opendarwin.org/show_bug.cgi?id=8577
3383
3384         Added back _web_superviewOfClass:stoppingAtClass:.
3385         This method was removed in r14032 (bug 8562), but Safari 2.0 still uses it.
3386         We should remove this method once Open Source users have a new version
3387         to use with TOT WebKit.
3388
3389         * Misc/WebNSViewExtras.m:
3390         (-[NSView _web_superviewOfClass:stoppingAtClass:]):
3391
3392 2006-04-28  David Hyatt  <hyatt@apple.com>
3393
3394         Double the cache size to account for our revised (more accurate)
3395         measurement of the image buffers.
3396
3397         Reviewed by darin
3398
3399         * WebView/WebPreferences.m:
3400         (+[WebPreferences initialize]):
3401
3402 2006-04-28  David Hyatt  <hyatt@apple.com>
3403
3404         Fix for 8586, move WebTextRenderer into WebCore.
3405
3406         Reviewed by darin
3407
3408         * Misc/WebKitNSStringExtras.m:
3409         (-[NSString _web_drawAtPoint:font:textColor:]):
3410         (-[NSString _web_widthWithFont:]):
3411         * Misc/WebStringTruncator.m:
3412         (+[WebStringTruncator centerTruncateString:toWidth:]):
3413         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
3414         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
3415         (+[WebStringTruncator widthOfString:font:]):
3416         * WebCoreSupport/WebSystemInterface.m:
3417         (InitWebCoreSystemInterface):
3418         * WebCoreSupport/WebTextRenderer.h: Removed.
3419         * WebCoreSupport/WebTextRenderer.m: Removed.
3420         * WebCoreSupport/WebTextRendererFactory.h: Removed.
3421         * WebCoreSupport/WebTextRendererFactory.m: Removed.
3422         * WebKit.xcodeproj/project.pbxproj:
3423         * WebView/WebFrameView.m:
3424         (-[WebFrameView initWithFrame:]):
3425         * WebView/WebHTMLView.m:
3426         (-[NSArray _addToStyle:fontA:fontB:]):
3427         * WebView/WebTextView.m:
3428         (-[WebTextView setFixedWidthFont]):
3429         * WebView/WebView.m:
3430         (+[WebView _setAlwaysUseATSU:]):
3431         (+[WebView _setShouldUseFontSmoothing:]):
3432         (+[WebView _shouldUseFontSmoothing]):
3433
3434 2006-04-28  Eric Seidel  <eseidel@apple.com>
3435
3436         Reviewed by darin.
3437
3438         Misc. style cleanup.
3439         http://bugzilla.opendarwin.org/show_bug.cgi?id=8643
3440
3441         * Misc/WebIconDatabase.m:
3442         (-[NSMutableDictionary iconForURL:withSize:cache:]):
3443         (-[NSMutableDictionary iconURLForURL:]):
3444         (-[NSMutableDictionary retainIconForURL:]):
3445         (-[NSMutableDictionary releaseIconForURL:]):
3446         (-[WebIconDatabase _setIcon:forIconURL:]):
3447         (-[WebIconDatabase _iconsForIconURLString:]):
3448         (-[WebIconDatabase _forgetIconForIconURLString:]):
3449         (-[WebIconDatabase _releaseIconForIconURLString:]):
3450         (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
3451         * Plugins/WebBasePluginPackage.m:
3452         (+[WebBasePluginPackage pluginWithPath:]):
3453         (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
3454         (-[WebBasePluginPackage initWithPath:]):
3455         (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
3456         (-[WebBasePluginPackage pListForPath:createFile:]):
3457         (-[WebBasePluginPackage getPluginInfoFromPLists]):
3458         (-[WebBasePluginPackage load]):
3459         (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
3460         (-[WebBasePluginPackage isNativeLibraryData:]):
3461         (-[NSArray _web_lowercaseStrings]):
3462         * Plugins/WebNetscapePluginPackage.m:
3463         (-[WebNetscapePluginPackage openResourceFile]):
3464         (-[WebNetscapePluginPackage closeResourceFile:]):
3465         (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
3466         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
3467         (-[WebNetscapePluginPackage initWithPath:]):
3468         (-[WebNetscapePluginPackage executableType]):
3469         (-[WebNetscapePluginPackage unloadWithoutShutdown]):
3470         (-[WebNetscapePluginPackage load]):
3471         (-[WebNetscapePluginPackage unload]):
3472         * Plugins/WebNetscapePluginRepresentation.m:
3473         (-[WebNetscapePluginRepresentation redeliverStream]):
3474         * Plugins/WebPluginDatabase.m:
3475         (+[WebPluginDatabase installedPlugins]):
3476         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
3477         (-[WebPluginDatabase pluginForExtension:]):
3478         (pluginLocations):
3479         (-[WebPluginDatabase init]):
3480         (-[WebPluginDatabase refresh]):
3481         * Plugins/npapi.m:
3482         (NPN_MemAlloc):
3483         (NPN_MemFree):
3484         (pluginViewForInstance):
3485         * WebCoreSupport/WebSubresourceLoader.m:
3486         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
3487         (-[WebSubresourceLoader willSendRequest:redirectResponse:]):
3488         * WebView/WebDataSource.m:
3489         (-[WebDataSource isLoading]):
3490         * WebView/WebFrame.m:
3491         (-[WebFrame _loadDataSource:withLoadType:formState:]):
3492         (-[WebFrame _subframeIsLoading]):
3493         * WebView/WebView.m:
3494         (-[WebView initWithFrame:]):
3495         (-[WebView initWithFrame:frameName:groupName:]):
3496
3497 2006-04-26  Tim Omernick  <timo@apple.com>
3498
3499         Reviewed by Geoff.
3500
3501         <rdar://problem/4525105> Repro TOT crash in [WebBaseNetscapePluginView dealloc] at coachella.com
3502         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8564> crashed when closing a tab
3503
3504         * WebView/WebFrame.m:
3505         (-[WebFramePrivate dealloc]):
3506         Assert that plugInViews has been released.
3507         (-[WebFrame _addPlugInView:]):
3508         New method.  Adds the plug-in view to the plugInViews set and calls -setWebFrame: on it.
3509         (-[WebFrame _removeAllPlugInViews]):
3510         New method.  Calls -setWebFrame:nil on all plug-in views and releases the plugInViews set.
3511         (-[WebFrame _willCloseURL]):
3512         New method.  Dispose of plug-in views when leaving a page (or closing the WebView).
3513
3514         * WebView/WebFrameInternal.h:
3515         Declared -_addPlugInView:, -_removeAllPlugInViews, -_willCloseURL
3516
3517         * WebCoreSupport/WebFrameBridge.m:
3518         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
3519         Call -[WebFrame _addPlugInView:] instead of directly setting&nbs