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