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