767846d172d9c83e67acaa42985f4ede1c196e60
[WebKit-https.git] / WebKit / ChangeLog
1 2006-09-26  David Harrison  <harrison@apple.com>
2
3         Reviewed by John and TimH.
4
5         <rdar://problem/4743256> Seed: Ctrl-Y key binding does nothing when kill ring is empty
6
7         Use deleteBackward: when the killring string is empty. Was always using insertText:,
8         but that ends up early-returning if the string to insert is empty.
9         
10         * WebView/WebHTMLView.m:
11         (-[NSArray yank:]):
12         (-[NSArray yankAndSelect:]):
13
14 2006-09-25  Timothy Hatcher  <timothy@apple.com>
15
16         Reviewed by Brady.
17
18         Use the non-deprecated method names for getComputedStyle, setEnd and setStart.
19
20         * WebInspector/WebInspector.m:
21         (-[WebInspector _highlightNode:]):
22         * WebView/WebHTMLView.m:
23         (unionDOMRanges):
24         (-[WebHTMLView _selectRangeInMarkedText:]):
25         (-[WebTextCompleteController doCompletion]):
26         * WebView/WebView.m:
27         (-[WebView computedStyleForElement:pseudoElement:]):
28
29 2006-09-22  Timothy Hatcher  <timothy@apple.com>
30
31         Reviewed by Darin.
32
33         Pass all headers through unifdef to filter out BUILDING_ON_TIGER blocks
34         if MACOSX_DEPLOYMENT_TARGET is 10.4.
35
36         * MigrateHeaders.make:
37
38 2006-09-20  Justin Garcia  <justin.garcia@apple.com>
39
40         Reviewed by john
41         
42         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7165>
43         TinyMCE: Dragging & dropping content always leaves a copy when editing inside a subframe
44         
45         The top level WebHTMLView is responsible for performing dragging operations, but
46         the inner view, the view that holds the drag caret, should be consulted to determine
47         if the drag is a move drag.
48
49         * WebCoreSupport/WebFrameBridge.m:
50         (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
51         * WebKit.xcodeproj/project.pbxproj:
52         * WebView/WebHTMLView.m:
53         (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]): Don't set initatedDrag here, because
54         it's only the top level WebHTMLView that performs this operation.
55         (-[WebHTMLView _setInitiatedDrag:]): Added.
56         (-[WebHTMLView _initiatedDrag]): Ditto.
57         (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Ask the innerView if it initiated the drag,
58         not the top level view.
59         (-[WebHTMLView _isMoveDrag]): The top level view asks the innerView if it should perform
60         a move drag, so don't ASSERT _isTopHTMLView.
61         (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ask the innerView if _isMoveDrag.
62         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto.
63         * WebView/WebHTMLViewInternal.h: Added two private SPI so that
64         the top level WebHTMLView can set and get the initiatedDrag BOOL.
65
66 === Safari-521.27 ===
67
68 2006-09-20  Brady Eidson  <beidson@apple.com>
69
70         Reviewed by Tim Omernick
71
72         Fixing part of a crash Tim O showed me.  [WebIconDatabase init] should finish
73         gracefully even if we can't open the database
74
75         * Misc/WebIconDatabase.m:
76         (-[WebIconDatabase init]):
77
78 2006-09-20  Timothy Hatcher  <timothy@apple.com>
79
80         Reviewed by Tim O.
81
82         <rdar://problem/4741392> Develop a system to find what version of WebKit an app was linked with
83
84         * Misc/WebKitVersionChecks.h: Added.
85         * Misc/WebKitVersionChecks.m: Added.
86         (WebKitLinkedOnOrAfter): Added.
87         (WebKitLinkTimeVersion): Added.
88         (WebKitRunTimeVersion): Added.
89         * WebKit.xcodeproj/project.pbxproj:
90
91 2006-09-20  Tim Omernick  <timo@apple.com>
92
93         Reviewed by Darin.
94
95         * Misc/WebIconDatabase.m:
96         (-[WebIconDatabase init]):
97         Fixed a typo.
98
99 2006-09-20  Brady Eidson  <beidson@apple.com>
100
101         Reviewed by Darin
102
103         Preparing to make the WebIconDatabase disabled by default - this patch tells the bridge whether its enabled or not
104
105         * Misc/WebIconDatabase.m:
106         (-[WebIconDatabase init]):
107
108 2006-09-19  Brady Eidson <beidson@apple.com>
109
110         Reviewed by Sarge Decker
111
112         <rdar://problem/4739892> and <rdar://problem/4729797>
113         - WebCore::IconDatabase needs to have and respect an enabled() flag
114         - Mail on ToT WebKit crashes in IconDatabase code when mailing a page from Safari
115
116         * Misc/WebIconDatabase.m:
117         (-[WebIconDatabase init]): If preference says icons are disabled, tell the bridge
118         (-[WebIconDatabase _isEnabled]): Ask the bridge if the database is enabled
119
120 2006-09-19  Alexey Proskuryakov  <ap@nypop.com>
121
122         Reviewed by Tim O.
123
124         http://bugzilla.opendarwin.org/show_bug.cgi?id=10661
125         REGRESSION: CFM plug-ins (Shockwave, SVG) are not loaded
126
127         * Plugins/WebBasePluginPackage.m:
128         (-[WebBasePluginPackage initWithPath:]): On 32-bit PowerPC, don't bail out if 
129         the bundle is nil - it can be a CFM plugin.
130
131 2006-09-18  Brady Eidson  <beidson@apple.com>
132
133         Reviewed by Anders
134
135         Implement a bridge method so WebCore can find the reload type of a frame load
136
137         * WebCoreSupport/WebFrameBridge.m:
138         (-[WebFrameBridge isLoadTypeReload]):
139
140 2006-09-18  Sam Weinig  <sam.weinig@gmail.com>
141
142         Reviewed by Tim H.
143
144         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10903
145         Yet Another Objective-C Bindings Patch
146
147         * MigrateHeaders.make:
148
149 2006-09-17  David Harrison  <harrison@apple.com>
150
151         Reviewed by John Sullivan.
152
153         <rdar://problem/4494340> REGRESSION: Making the font size bigger/smaller in an HTML message doesn't affect the body until you reopen it
154
155         Problem was the public API -[WebView setTextSizeMultiplier] did not notify anyone that the value changed.
156         
157         * WebView/WebDocumentInternal.h:
158         Add _textSizeMultiplierChanged to the _WebDocumentTextSizing protocol.
159         
160         * WebView/WebHTMLView.m:
161         (-[WebHTMLView _textSizeMultiplierChanged]):
162         Send [self _updateTextSizeMultiplier].
163         
164         * WebView/WebPDFView.m:
165         (-[WebPDFView _textSizeMultiplierChanged]):
166         ASSERT_NOT_REACHED() because WebPDFView does not track the common multiplier.
167         
168         * WebView/WebView.m:
169         (-[WebView setTextSizeMultiplier:]):
170         Send [self _notifyTextSizeMultiplierChanged];
171         
172         (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
173         Alter the _textSizeMultiplier directly so that notification is not sent.
174         Minor formatting.
175         
176         (-[WebView _notifyTextSizeMultiplierChanged]):
177         New. Send _textSizeMultiplierChanged to all document views that track the common multiplier.
178
179 2006-09-16  Brady Eidson <beidson@apple.com>
180
181         Reviewed by Hyatt
182
183         WebIconLoader is dead, long live WebCore::IconLoader
184         (code prune)
185
186         * Loader/WebFrameLoader.h:
187         * Loader/WebFrameLoader.m:
188         (-[WebFrameLoader dealloc]):
189         (-[WebFrameLoader commitProvisionalLoad]):
190         * Loader/WebIconLoader.h: Removed.
191         * Loader/WebIconLoader.m: Removed.
192         * Misc/WebIconDatabase.h:
193         * Misc/WebIconDatabase.m:
194         * Misc/WebIconDatabasePrivate.h:
195         * WebCoreSupport/WebFrameBridge.m:
196         (-[WebFrameBridge notifyIconChanged:]):
197         * WebCoreSupport/WebIconDatabaseBridge.h:
198         * WebCoreSupport/WebIconDatabaseBridge.m:
199         (-[WebIconDatabaseBridge _init]):
200         (-[WebIconDatabaseBridge _setIconData:forIconURL:]):
201         (-[WebIconDatabaseBridge _setHaveNoIconForIconURL:]):
202         * WebKit.exp:
203         * WebKit.xcodeproj/project.pbxproj:
204         * WebView/WebDataSource.m:
205         (-[WebDataSourcePrivate dealloc]):
206         (-[WebDataSource _stopLoading]):
207         (-[WebDataSource _setPrimaryLoadComplete:]):
208         * WebView/WebDataSourceInternal.h:
209
210 2006-09-16  Mark Rowe  <opendarwin.org@bdash.net.nz>
211
212         Reviewed by Anders.
213
214         http://bugzilla.opendarwin.org/show_bug.cgi?id=10887
215         Fix build error
216
217         * MigrateHeaders.make: Remove reference to DOMEventPrivate.h.
218
219 2006-09-15  Timothy Hatcher  <timothy@apple.com>
220
221         Reviewed by Brady.
222
223         Make new style ObjC methods public API.
224
225         * MigrateHeaders.make:
226
227 2006-09-15  Sam Weinig  <sam.weinig@gmail.com>
228
229         Reviewed by Tim H.
230
231         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10870
232         Auto-generate DOMNode for the Objective-C bindings
233
234         * MigrateHeaders.make:
235
236 2006-09-15  Timothy Hatcher  <timothy@apple.com>
237
238         Reviewed by Justin.
239
240         Call the bridge directly for alter selection calls. All of this logic is now
241         in WebCore's SelectionController.
242
243         * WebView/WebHTMLView.m:
244         (-[NSArray moveBackward:]):
245         (-[NSArray moveBackwardAndModifySelection:]):
246         (-[NSArray moveDown:]):
247         (-[NSArray moveDownAndModifySelection:]):
248         (-[NSArray moveForward:]):
249         (-[NSArray moveForwardAndModifySelection:]):
250         (-[NSArray moveLeft:]):
251         (-[NSArray moveLeftAndModifySelection:]):
252         (-[NSArray moveRight:]):
253         (-[NSArray moveRightAndModifySelection:]):
254         (-[NSArray moveToBeginningOfDocument:]):
255         (-[NSArray moveToBeginningOfDocumentAndModifySelection:]):
256         (-[NSArray moveToBeginningOfSentence:]):
257         (-[NSArray moveToBeginningOfSentenceAndModifySelection:]):
258         (-[NSArray moveToBeginningOfLine:]):
259         (-[NSArray moveToBeginningOfLineAndModifySelection:]):
260         (-[NSArray moveToBeginningOfParagraph:]):
261         (-[NSArray moveToBeginningOfParagraphAndModifySelection:]):
262         (-[NSArray moveToEndOfDocument:]):
263         (-[NSArray moveToEndOfDocumentAndModifySelection:]):
264         (-[NSArray moveToEndOfSentence:]):
265         (-[NSArray moveToEndOfSentenceAndModifySelection:]):
266         (-[NSArray moveToEndOfLine:]):
267         (-[NSArray moveToEndOfLineAndModifySelection:]):
268         (-[NSArray moveToEndOfParagraph:]):
269         (-[NSArray moveToEndOfParagraphAndModifySelection:]):
270         (-[NSArray moveParagraphBackwardAndModifySelection:]):
271         (-[NSArray moveParagraphForwardAndModifySelection:]):
272         (-[NSArray moveUp:]):
273         (-[NSArray moveUpAndModifySelection:]):
274         (-[NSArray moveWordBackward:]):
275         (-[NSArray moveWordBackwardAndModifySelection:]):
276         (-[NSArray moveWordForward:]):
277         (-[NSArray moveWordForwardAndModifySelection:]):
278         (-[NSArray moveWordLeft:]):
279         (-[NSArray moveWordLeftAndModifySelection:]):
280         (-[NSArray moveWordRight:]):
281         (-[NSArray moveWordRightAndModifySelection:]):
282         (-[NSArray pageUp:]):
283         (-[NSArray pageDown:]):
284         (-[NSArray pageUpAndModifySelection:]):
285         (-[NSArray pageDownAndModifySelection:]):
286
287 2006-09-15  Adam Roben  <aroben@apple.com>
288
289         Reviewed by eseidel.
290
291         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10876
292         containsItemForURLUnicode uses matchLetter instead of
293         matchUnicodeLetter
294
295         Small fixes for _WebCoreHistoryProvider.
296
297         * History/WebHistory.m: Consistently use BUFFER_SIZE #define
298         (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]):
299         (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]):
300         Replace incorrect call to matchLetter to matchUnicodeLetter
301
302 2006-09-13  Brady Eidson <beidson@apple.com>
303
304         Reviewed by Maciej
305
306         Add infrastructure to support icon loads taking place in WebCore
307         Will remove WebKit icon loaders in a later patch
308
309         * WebCoreSupport/WebFrameBridge.m:
310         (-[WebFrameBridge notifyIconChanged:]):
311         (-[WebFrameBridge originalRequestURL]):
312         - Nuked two old, obsolete methods
313         - Added bridge for notifying of an icon change
314         - Added bridge for getting the "original request URL" which is still needed
315           until that info is available in the WebCore loaders
316
317         * WebView/WebDataSource.m:
318         (-[WebDataSource _loadIcon]):
319         - Empty body just for now, as it still gets called - next patch will prune all the old impl out
320
321 2006-09-13  Timothy Hatcher  <timothy@apple.com>
322
323         Reviewed by Tim O.
324
325         <rdar://problem/4726416> obsolete confusing "ADVISORY NOTE" comment in WebHistory.h
326
327         Removed the "ADVISORY NOTE: This method may change for the 1.0 SDK" comments.
328
329         * History/WebHistory.h:
330
331 === Safari-521.26 ===
332
333 2006-09-11  MorganL  <morlmor@yahoo.com>
334
335         Reviewed/landed by aroben.
336
337         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10765
338         Windows build busted due to std::copy usage in Vector.h
339
340         * WebKit.vcproj/WebKit.vcproj: Define _SCL_SECURE_NO_DEPRECATE to get
341         rid of deprecation warnings on std::copy
342
343 2006-09-11  Brady Eidson  <beidson@apple.com>
344
345         Despite the fact that some people built okay without this change, it sure was biting me, 
346         probably because I just wiped my build directory for a fresh build - 
347         Today's earlier removal of DOMList.h needed to occur in MigrateHeaders.make, as well
348
349         * MigrateHeaders.make: removed DOMList.h
350
351 2006-09-10  Darin Adler  <darin@apple.com>
352
353         Reviewed by Brady.
354
355         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10547
356           REGRESSION: Links that should open in a new window open in the same window,
357           while opening another blank window
358
359         * WebView/WebFrame.m:
360         (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
361         Changed a mistaken "self" to "frame", which was the cause of the bug. Also
362         fixed the method so that it won't crash if createWebViewWithRequest does
363         something that has a side effect of releasing this WebView or this frame
364         by retaining "self" and "frame" as needed. Also fixed a problem where the
365         code to set "opener" was backwards, and would set the opener of the old
366         frame to point to the new frame instead of vice versa.
367
368 2006-09-09  Sam Weinig  <sam.weinig@gmail.com>
369
370         Reviewed by Eric.
371
372         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10795
373         Auto-generate the Objective-C DOM XPath bindings
374
375         * MigrateHeaders.make:
376
377 2006-09-09  Sam Weinig  <sam.weinig@gmail.com>
378
379         Reviewed by Eric.
380
381         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10791
382         Even More Objective-C DOM auto-generation cleanup
383
384         * MigrateHeaders.make:
385
386 2006-09-08  Tim Omernick  <timo@apple.com>
387
388         Reviewed by Brady Eidson.
389
390         Rolled out Maciej's code cleanup from 8/22.  It turns out that keeping the "loading" flag
391         is a useful optimization, as it avoids many Objective-C method calls while polling resources
392         for their load state.
393
394         This fixes a 3-4% PLT performance regression (as measured on my MacBook Pro).
395
396         * Loader/WebFrameLoader.m:
397         (-[WebFrameLoader addPlugInStreamLoader:]):
398         (-[WebFrameLoader removePlugInStreamLoader:]):
399         (-[WebFrameLoader addSubresourceLoader:]):
400         (-[WebFrameLoader removeSubresourceLoader:]):
401         * WebView/WebDataSource.m:
402         (-[WebDataSourcePrivate dealloc]):
403         (-[WebDataSource _prepareForLoadStart]):
404         (-[WebDataSource _setLoading:]):
405         (-[WebDataSource _updateLoading]):
406         (-[WebDataSource _startLoading]):
407         (-[WebDataSource _stopLoading]):
408         (-[WebDataSource _setPrimaryLoadComplete:]):
409         (-[WebDataSource isLoading]):
410         * WebView/WebDataSourceInternal.h:
411
412 2006-09-07  Sam Weinig  <sam.weinig@gmail.com>
413
414         Reviewed by Darin and Tim H.
415
416         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10774
417         Auto-generate the Objective-C DOM Traversal bindings
418
419         * MigrateHeaders.make:
420
421 2006-09-07  Sam Weinig  <sam.weinig@gmail.com>
422
423         Reviewed by Darin.
424
425         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10766
426         Auto-generate the Objective-C DOM Events bindings
427
428         * MigrateHeaders.make:
429         * WebKit.xcodeproj/project.pbxproj:
430
431 2006-09-06  Alexey Proskuryakov  <ap@nypop.com>
432
433         * MigrateHeaders.make: Fixed a double slash in 
434         "$(PRIVATE_HEADERS_DIR)//DOMCharacterDataPrivate.h" (this was reported
435         to cause a build failure under certain circumstances).
436
437 2006-09-05  MorganL  <morlmor@yahoocom>
438
439         Reviewed/landed by aroben.
440
441         Fixes bug 10743: Windows build is busted.
442
443         * COM/WebView.cpp:
444         (WebView::keyPress):
445
446 2006-09-05  Timothy Hatcher  <timothy@apple.com>
447
448         Reviewed by Darin.
449
450         Drastically simplified the makefile for migrating headers from
451         WebCore and JavaScriptCore. The old version was always copying the files.
452
453         * MigrateHeaders.make:
454
455 2006-09-05  Darin Adler  <darin@apple.com>
456
457         Reviewed by Alexey.
458
459         - WebKit side of changes to encoding
460
461         * WebView/WebHTMLRepresentation.m: (-[WebHTMLRepresentation documentSource]):
462         Changed to call new -[WebCoreFrameBridge stringWithData:] instead of the calling
463         the old methods that used a CFStringEncoding: -[WebCoreFrameBridge textEncoding]
464         and +[WebCoreFrameBridge stringWithData:textEncoding:].
465
466         * WebView/WebResource.m: (-[WebResource _stringValue]): Removed special case for
467         nil encoding name. The bridge itself now has the rule that "nil encoding name
468         means Latin-1", so we don't need to check for nil.
469
470         * WebView/WebFrame.m: (-[WebFrame _checkLoadComplete]): Retain the frame until
471         we get the parent frame while walking up parent frames, because it's possible
472         for _checkLoadCompleteForThisFrame to release the last reference to the frame.
473         (Not reviewed; needed to run performance tests successfully.)
474
475 2006-09-05  Timothy Hatcher  <timothy@apple.com>
476
477         Reviewed by Tim O.
478
479         <rdar://problem/4682225> conflicting typedefs in Netscape plug-in headers
480
481         * Plugins/npfunctions.h: fix the return type for NPN_IntFromIdentifierProcPtr to be int32_t
482
483 2006-09-04  Timothy Hatcher  <timothy@apple.com>
484
485         Reviewed by Darin.
486
487         Bug 10714: ObjC autogeneration needs safe-guards against easily modifying the public API
488         http://bugzilla.opendarwin.org/show_bug.cgi?id=10714
489
490         - Added the new private DOM headers.
491         - Factored out the common commands into variables.
492         - Made WebDashboardRegion.h private again.
493         - Rename DOMDOMImplementation.h to DOMImplementation.h when files
494           are migrated. Also fixes up #imports.
495
496         * MigrateHeaders.make:
497
498 2006-09-03  Sam Weinig  <sam.weinig@gmail.com>
499
500         Reviewed by Darin and Tim H.
501
502         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10711
503           Auto-generate the Objective-C DOM Stylesheet bindings
504
505         * MigrateHeaders.make:
506
507 2006-09-02  Sam Weinig  <sam.weinig@gmail.com>
508
509         Reviewed by Tim H.
510
511         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10684
512           Auto-generate the Objective-C DOM CSS bindings
513
514         * MigrateHeaders.make:
515
516 2006-09-01  MorganL  <morlmor@yahoo.com>
517
518         Reviewed by Darin. Updated/landed by Adam.
519
520         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10553
521         Windows build fixes
522
523         * COM/WebFrame.cpp:
524         (WebFrame::initWithName):
525
526 2006-09-01  Brady Eidson  <beidson@apple.com>
527
528         Reviewed by Darin
529
530         A "never should be reached" method was reached - lets not release the shared database bridge, esp
531         since we never retain it!
532
533         * Misc/WebIconDatabase.m:
534         (-[WebIconDatabase _applicationWillTerminate:]): Don't release the bridge
535
536 2006-09-01  Darin Adler  <darin@apple.com>
537
538         Reviewed by Brady.
539
540         - a few small tweaks to the icon database bridge
541
542         * Misc/WebIconDatabase.m: (-[WebIconDatabase init]): Updated for name change.
543
544         * WebCoreSupport/WebIconDatabaseBridge.h: Removed unneeded declarations.
545         * WebCoreSupport/WebIconDatabaseBridge.m:
546         (-[WebIconDatabaseBridge init]): Added. Always returns nil since you're not supposed
547         to allocate one of these.
548         (-[WebIconDatabaseBridge _init]): Renamed from init. Used internally to make the
549         shared instance. Added the "self = [super init]" idiom even though it's not important
550         in this case just to be consistent.
551         (-[WebIconDatabaseBridge releaseCachedLoaderForIconURL:]): Moved this up in the file
552         so it can be called without declaring it in the header.
553         (+[WebIconDatabaseBridge sharedInstance]): Renamed. Calls the new _init. Also use
554         CFRetain for compatibility.
555         (-[WebIconDatabaseBridge dealloc]): Emptied this out and made it just assert (false).
556         (-[WebIconDatabaseBridge finalize]): Added and made it assert (false) too.
557
558 2006-09-01  Timothy Hatcher  <timothy@apple.com>
559
560         Reviewed by Adele.
561
562         Bug 10677: Omit "-webkit-text-security: none;" from the computed style list
563         http://bugzilla.opendarwin.org/show_bug.cgi?id=10677
564
565         * WebInspector/webInspector/inspector.js:
566
567 2006-08-31  Sam Weinig  <sam.weinig@gmail.com>
568
569         Reviewed by Tim H.
570
571         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10669
572           Auto-generate the remaining Objective-C HTML DOM bindings
573
574         * MigrateHeaders.make:
575
576 2006-08-31  Adele Peterson  <adele@apple.com>
577
578         Reviewed by Darin.
579
580         WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10666
581         Password: Disallow Spelling, Font, Speech, and Writing Direction context menu
582
583         * DefaultDelegates/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
584           Check that the selection isn't in a password field before adding these items to the default editing context menu.
585               Search In Google, Search In Spotlight, Look up in Dictionary, Spelling, Font, Speech, Writing Direction
586         * WebView/WebHTMLView.m: (-[WebHTMLView _isSelectionInPasswordField]): Added.
587         * WebView/WebHTMLViewPrivate.h:
588
589 2006-08-31  Sam Weinig  <sam.weinig@gmail.com>
590
591         Reviewed by Tim H.
592
593         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10653
594           Auto-generate another 20 Objective-C DOM HTML bindings
595
596         * MigrateHeaders.make:
597         * WebKit.xcodeproj/project.pbxproj:
598
599 2006-08-31  Adele Peterson  <adele@apple.com>
600
601         Reviewed by John Sullivan.
602
603         Removed wkSecureEventInput and wkSetSecureEventInput, since this can be done with API.
604
605         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
606
607 2006-08-31  John Sullivan  <sullivan@apple.com>
608
609         Reviewed by Tim Omernick
610         
611         - fixed <rdar://problem/4711200> Loading history would be faster if it bypassed 
612         NSURL API for local files
613
614         * History/WebHistory.m:
615         (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
616         Load file URLs using [NSDictionary dictionaryWithContentsOfFile:]. I also cleaned up some minor
617         style issues in this method, and I removed the support for old NSArray-style history files (which we
618         stopped using before Safari 1.0).
619
620 2006-08-30  Adele Peterson  <adele@apple.com>
621
622         Reviewed by Hyatt.
623
624         WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10575
625         Enable secure input mode for new password fields
626
627         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
628
629 2006-08-30  Brady Eidson  <beidson@apple.com>
630
631         Reviewed by John
632
633         <rdar://problem/4707718> Change behavior so if the WebCore::IconDatabase can't open, WebKit releases the bridge and 
634         continues on as if the IconDatabase is disabled.
635  
636         * Misc/WebIconDatabase.m:
637         (-[WebIconDatabase init]): Release the bridge on failure to open
638         * WebCoreSupport/WebIconDatabaseBridge.m:
639         (+[WebIconDatabaseBridge sharedBridgeInstance]): Moved static shared instance out as a global
640         (-[WebIconDatabaseBridge dealloc]): Clear pointer to the shared instance
641
642 2006-08-30  Timothy Hatcher  <timothy@apple.com>
643
644         Reviewed by Darin.
645
646         Simplify the header copies from WebCore and JavaScriptCore.
647         Headers that need to be migrated from the other projects need
648         to be added to MigrateHeaders.make.
649
650         * MigrateHeaders.make: Added.
651         * WebKit.xcodeproj/project.pbxproj:
652
653 2006-08-30  Sam Weinig  <sam.weinig@gmail.com>
654
655         Reviewed by Tim H.
656
657         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10640
658           Auto-generate 10 more Objective-C DOM HTML bindings
659
660         * WebKit.xcodeproj/project.pbxproj:
661
662 2006-08-30  Adele Peterson  <adele@apple.com>
663
664         Reviewed by Darin.
665
666         WebKit part of fix for:
667         http://bugzilla.opendarwin.org/show_bug.cgi?id=10576
668         Disallow copy from new password fields
669
670         * WebView/WebHTMLView.m:
671         (-[WebHTMLView _canCopy]): Now also calls across the bridge to ask if it mayCopy.
672         (-[WebHTMLView _canCut]): Calls _canCopy now.
673         (-[NSArray validateUserInterfaceItem:]): Calls _canCut when validating the "Cut" menu item.
674          This used to call _canDelete (which used to be the same as _canCut), but now _canCut also checks _canCopy.
675
676 2006-08-30  Karl Adam  <karladam@yahoo-inc.com>
677
678         Reviewed by Eric and Tim H.
679
680         Bug 10634: -webView:dragDestinationActionMaskForDraggingInfo: is ignored
681         http://bugzilla.opendarwin.org/show_bug.cgi?id=10634
682         
683         Remove the check for canShowFile: from _web_bestURL: since
684         it shouldn't be concerned with whether or not the view
685         can show the URL, merely return the most appropriate URL.
686
687         * Misc/WebNSPasteboardExtras.m:
688         (-[NSPasteboard _web_bestURL]):
689         * Misc/WebNSViewExtras.m:
690         (-[NSView _web_dragOperationForDraggingInfo:]):
691
692 2006-08-29  Brady Eidson  <beidson@apple.com>
693
694         Reviewed by Kevin Decker (Sarge)
695
696         <rdar://problem/4678414> - New IconDB needs to delete icons when asked
697
698         * Misc/WebIconDatabase.m:
699         (-[WebIconDatabase removeAllIcons]): Call through to WebCore to remove icons, then send notification
700
701 2006-08-29  Brady Eidson  <beidson@apple.com>
702
703         Reviewed by Alice
704
705         Added a truth value check for to setIconURL:forURL so WebKit can avoid sending a notification
706         This is a win on the iBench
707
708         * Misc/WebIconDatabase.m:
709         (-[WebIconDatabase _setIconURL:forURL:]):
710
711 2006-08-29  Brady Eidson  <beidson@apple.com>
712
713         Reviewed by Tim Hatchers rubber stamp
714
715         Removed some accidentally left-in console spew during the conversion to the new DB
716  
717         * Misc/WebIconDatabase.m:
718         (objectFromPathForKey): Nuked some NSLogs
719
720 2006-08-29  Tim Omernick  <timo@apple.com>
721
722         Reviewed by Darin Adler.
723
724         <rdar://problem/4688618> REGRESSION(10.4.7-9A241): JMol java applet fails in Safari not Firefox
725
726         No layout test for now because Java doesn't work in DumpRenderTree.
727
728         * Plugins/WebPluginDatabase.m:
729         (-[WebPluginDatabase refresh]):
730         Add each plug-in MIME type to registeredMIMETypes, even if we don't register a document view class for the
731         MIME type.  This fixes -[WebPluginDatabase isMIMETypeRegistered:] and thus fallback content for Java applets
732         (we were always rendering fallback content, if any, for Java applets).
733
734 2006-08-29  Sam Weinig  <sam.weinig@gmail.com>
735
736         Reviewed by Tim H.
737
738         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10628
739           Auto-generate the remaining Objective-C DOM bindings
740
741           Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement,
742           and DOMHTMLOptionsCollection.
743
744         * WebKit.xcodeproj/project.pbxproj:
745
746 2006-08-28  Brady Eidson  <beidson@apple.com>
747
748         Reviewed by Darin
749
750         Short of a few small snippets that still need to be pushed to WebCore, this
751         is a final prune of WebIconDatabase.  WebFileDatabase and WebLRUFileList are gone
752         and the small remaining snippets of WebFileDatabase code that were still important
753         are now in static functions in WebIconDatabase.m
754
755         * Loader/WebIconLoader.m:
756         (-[WebIconLoader didFinishLoading]): Removed the flag
757         * Misc/WebFileDatabase.h: Removed.
758         * Misc/WebFileDatabase.m: Removed.
759         * Misc/WebIconDatabase.m:
760         (+[WebIconDatabase sharedIconDatabase]):
761         (-[WebIconDatabase init]):
762         (-[WebIconDatabase iconForURL:withSize:cache:]):
763         (-[WebIconDatabase iconURLForURL:]):
764         (-[WebIconDatabase defaultIconWithSize:]):
765         (-[WebIconDatabase retainIconForURL:]):
766         (-[WebIconDatabase releaseIconForURL:]):
767         (-[WebIconDatabase _isEnabled]):
768         (-[WebIconDatabase _setIconData:forIconURL:]):
769         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
770         (-[WebIconDatabase _setIconURL:forURL:]):
771         (-[WebIconDatabase _hasEntryForIconURL:]):
772         (-[WebIconDatabase _applicationWillTerminate:]):
773         (-[WebIconDatabase _resetCachedWebPreferences:]):
774         (uniqueFilePathForKey): Added from WebFileDatabase
775         (objectFromPathForKey): Added from WebFileDatabase
776         (iconDataFromPathForIconURL):
777         (-[WebIconDatabase _convertToWebCoreFormat]): Make use of static functions and local variables
778           instead of using WebFileDatabase and WebIconDatabase variables that are now obsolete
779         * Misc/WebIconDatabasePrivate.h: Removed alot of obsoleted members
780         * Misc/WebLRUFileList.h: Removed.
781         * Misc/WebLRUFileList.m: Removed.
782         * WebKit.xcodeproj/project.pbxproj: Deleted 4 files
783         * WebKitPrefix.h: Removed ICONDEBUG
784
785 2006-08-28  Tim Omernick  <timo@apple.com>
786
787         Reviewed by Darin Adler.
788
789         * Plugins/WebBaseNetscapePluginView.m:
790         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
791         Removed a bogus typecast.
792
793 2006-08-28  Tim Omernick  <timo@apple.com>
794
795         Reviewed by John Sullivan.
796
797         Part of <rdar://problem/4481553> NetscapeMoviePlugIn example code scripting doesn't work in Firefox (4319)
798         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4319>: NetscapeMoviePlugIn example code scripting doesn't work
799         in Firefox
800
801         * Plugins/WebBaseNetscapePluginView.h:
802         * Plugins/WebBaseNetscapePluginView.m:
803         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
804         Renamed this method (see corresponding WebCore ChangeLog entry for an explanation).
805         Style changes.
806
807 2006-08-28  Brady Eidson  <beidson@apple.com>
808
809         Reviewed by Tim Hatcher's rubberstamp
810
811         Rolled out my last change (16070 - pruning WebFileDatabase code) as it caused a difficult-to-track down
812         failure in layout tests on a release build.
813
814         * Misc/WebFileDatabase.h:
815         * Misc/WebFileDatabase.m:
816         (+[WebFileDatabaseOp opWithCode:key:object:]):
817         (-[WebFileDatabaseOp initWithCode:key:object:]):
818         (-[WebFileDatabaseOp opcode]):
819         (-[WebFileDatabaseOp key]):
820         (-[WebFileDatabaseOp object]):
821         (-[WebFileDatabaseOp perform:]):
822         (-[WebFileDatabaseOp dealloc]):
823         (SetThreadPriority):
824         (-[WebFileDatabase _createLRUList:]):
825         (-[WebFileDatabase _truncateToSizeLimit:]):
826         (+[WebFileDatabase _syncLoop:]):
827         (databaseInit):
828         (-[WebFileDatabase setTimer]):
829         (-[WebFileDatabase setObject:forKey:]):
830         (-[WebFileDatabase removeObjectForKey:]):
831         (-[WebFileDatabase removeAllObjects]):
832         (-[WebFileDatabase objectForKey:]):
833         (-[WebFileDatabase performSetObject:forKey:]):
834         (-[WebFileDatabase performRemoveObjectForKey:]):
835         (-[WebFileDatabase open]):
836         (-[WebFileDatabase close]):
837         (-[WebFileDatabase lazySync:]):
838         (-[WebFileDatabase sync]):
839         (-[WebFileDatabase sizeLimit]):
840         (-[WebFileDatabase count]):
841         (-[WebFileDatabase usage]):
842         (-[WebFileDatabase setSizeLimit:]):
843         * Misc/WebIconDatabase.m:
844         (-[WebIconDatabase _createFileDatabase]):
845         (-[WebIconDatabase _loadIconDictionaries]):
846         * WebKit.xcodeproj/project.pbxproj:
847
848 2006-08-28  Darin Adler  <darin@apple.com>
849
850         Reviewed by Tim Hatcher.
851
852         * WebInspector/webInspector/inspector.js: Add "resize: none" to the list of
853         default values for CSS properties so it will be omitted from most displays
854         of computed style.
855
856 2006-08-28  Brady Eidson  <beidson@apple.com>
857
858         Reviewed by Maciej
859
860         Major prune of unnecessary WebFileDatabase code.  In the end, what
861         useful code that remains in WebFileDatabase will likely be moved directly
862         into WebIconDatabase
863
864         * Misc/WebFileDatabase.h:
865         * Misc/WebFileDatabase.m:
866         (-[WebFileDatabase initWithPath:]):
867         (-[WebFileDatabase objectForKey:]):
868         (-[WebFileDatabase open]):
869         (-[WebFileDatabase close]):
870         * Misc/WebIconDatabase.m:
871         (-[WebIconDatabase _createFileDatabase]):
872         (-[WebIconDatabase _loadIconDictionaries]):
873         * Misc/WebLRUFileList.h: Removed.
874         * Misc/WebLRUFileList.m: Removed.
875         * WebKit.xcodeproj/project.pbxproj:
876
877 2006-08-27  Sam Weinig  <sam.weinig@gmail.com>
878
879         Reviewed by Tim H.
880
881         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=4624
882           WebCore needs autogenerated Obj-C DOM bindings
883
884           First round of auto-generated Objective C DOM bindings, starting
885           with the DOM Core.
886
887         * WebKit.xcodeproj/project.pbxproj:
888
889 2006-08-25  Brady Eidson  <beidson@apple.com>
890
891         Reviewed by Tim Hatcher
892
893         Fixed up some leaks on [WebIconDatabase init]
894
895         * Misc/WebIconDatabase.m:
896         (-[WebIconDatabase init]):
897
898 2006-08-24  Timothy Hatcher  <timothy@apple.com>
899
900         Reviewed by Darin.
901
902         * WebView/WebFrame.m:
903         (-[WebFrame _updateBackground]): reworded the comment about scroll view and setDrawsBackground:YES
904         * WebView/WebView.m:
905         (-[WebViewPrivate dealloc]): release the background color
906
907 2006-08-24  Timothy Hatcher  <timothy@apple.com>
908
909         Reviewed by Hyatt.
910
911         WebView API to allow changing the background color that draws under transparent page backgrounds.
912
913         * WebView/WebFrame.m:
914         (-[WebFrame _makeDocumentView]):
915         (-[WebFrame _updateBackground]):
916         * WebView/WebFrameInternal.h:
917         * WebView/WebFrameView.m:
918         (-[WebFrameView drawRect:]):
919         * WebView/WebView.m:
920         (-[WebView setBackgroundColor:]):
921         (-[WebView backgroundColor]):
922         (-[WebView _commonInitializationWithFrameName:groupName:]):
923         (-[WebView setDrawsBackground:]):
924         * WebView/WebViewPrivate.h:
925
926 2006-08-24  Timothy Hatcher  <timothy@apple.com>
927
928         Reviewed by Darin.
929
930         Fix for Mail stationary. Selecting a stationary item would cause this exception.
931         *** -[WebSubresourceLoader copyWithZone:]: selector not recognized
932         Uncaught exception - *** -[WebSubresourceLoader copyWithZone:]: selector not recognized
933
934         * Loader/WebFrameLoader.m:
935         (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
936         Use _webkit_setObject:forUncopiedKey: when addign the resource to pendingArchivedResources.
937
938 2006-08-23  Maciej Stachowiak  <mjs@apple.com>
939
940         Reviewed by Adele.
941         
942         - fix assertion which I accidentally changed to one that sometimes fails
943         http://bugzilla.opendarwin.org/show_bug.cgi?id=10531
944         
945         * Loader/WebDocumentLoadState.m:
946         (-[WebDocumentLoadState dealloc]):
947         * WebView/WebDataSource.m:
948         (-[WebDataSourcePrivate dealloc]):
949         (-[WebDataSource dealloc]):
950
951 2006-08-23  Maciej Stachowiak  <mjs@apple.com>
952
953         Reviewed by Brady.
954         
955         - move WebFrame code that creates WebDataSources down to WebFrameLoader, in preparation
956         for WebFrameLoader just holding on to WebDocumentLoadState
957
958         * Loader/WebFrameLoader.h:
959         * Loader/WebFrameLoader.m:
960         (-[WebFrameLoader _loadRequest:archive:]):
961         (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
962         (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
963         (-[WebFrameLoader reload]):
964         * WebView/WebFrame.m:
965         (-[WebFrame _loadItem:withLoadType:]):
966         (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
967         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
968         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
969         (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
970         (-[WebFrame loadRequest:]):
971         (-[WebFrame loadArchive:]):
972         (-[WebFrame reload]):
973         * WebView/WebFrameInternal.h:
974         * WebView/WebFramePrivate.h:
975         * WebView/WebView.m:
976         (-[WebView setCustomTextEncodingName:]):
977
978 2006-08-23  Brady Eidson  <beidson@apple.com>
979
980         Reviewed by Maciej
981
982         First pass at pruning unused WebIconDatabase code.  Focus on removing methods that simply
983         have no place in the new DB at all.  A few renames and a few important FIXMEs result, but no
984         functionality changes.
985
986         * Loader/WebIconLoader.m:
987         (-[WebIconLoader didFinishLoading]): Call to WebIconDatabase instead of directly to the bridge
988         * Misc/WebIconDatabase.h:
989         * Misc/WebIconDatabase.m:
990         (-[WebIconDatabase init]):
991         (-[WebIconDatabase iconForURL:withSize:cache:]):
992         (-[WebIconDatabase iconURLForURL:]):
993         (-[WebIconDatabase defaultIconWithSize:]):
994         (-[WebIconDatabase retainIconForURL:]):
995         (-[WebIconDatabase releaseIconForURL:]):
996         (-[WebIconDatabase removeAllIcons]):
997         (-[WebIconDatabase _setIconData:forIconURL:]):
998         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
999         (-[WebIconDatabase _setIconURL:forURL:]):
1000         (-[WebIconDatabase _hasEntryForIconURL:]):
1001         (-[WebIconDatabase _applicationWillTerminate:]):
1002         (-[WebIconDatabase _resetCachedWebPreferences:]):
1003         * Misc/WebIconDatabasePrivate.h: Changed setIcon: to setIconData:
1004
1005 2006-08-23  Maciej Stachowiak  <mjs@apple.com>
1006
1007         Reviewed by Adele.
1008         
1009         - started factoring most of the guts of WebDataSource into a new class
1010         
1011         WebDocumentLoadState is decoupled from the rest of WebKit and will
1012         be moved down to WebCore. I only moved one of the data fields of
1013         WebDataSource for now.
1014
1015         * Loader/WebDocumentLoadState.h: Added.
1016         * Loader/WebDocumentLoadState.m: Added.
1017         (-[WebDocumentLoadState initWithRequest:]): New class.
1018         (-[WebDocumentLoadState dealloc]):
1019         (-[WebDocumentLoadState setFrameLoader:]):
1020         (-[WebDocumentLoadState setMainResourceData:]):
1021         (-[WebDocumentLoadState mainResourceData]):
1022         * Loader/WebFrameLoader.m:
1023         (-[WebFrameLoader _setDataSource:]): Remove redundant _setWebFrame: call,
1024         it would have been called already by this point.
1025         (-[WebFrameLoader _setProvisionalDataSource:]): ditto.
1026         * WebKit.xcodeproj/project.pbxproj:
1027         * WebView/WebDataSource.m:
1028         (-[WebDataSourcePrivate dealloc]):
1029         (-[WebDataSource _setWebFrame:]):
1030         (-[WebDataSource _setPrimaryLoadComplete:]):
1031         (-[WebDataSource initWithRequest:]):
1032         (-[WebDataSource data]):
1033
1034 2006-08-23  Maciej Stachowiak  <mjs@apple.com>
1035
1036         Reviewed by Adele.
1037         
1038         - refactoring of WebDataSource in preparation for moving a bunch of it to a new class
1039         
1040         - minimize WebDataSourceInternal.h to be only methods called from outside WebDataSource
1041         - reduce Private category implementation to be only the SPI methods
1042         - make new Internal and FileInternal categories which contain the
1043         remainder (depending on whether they are called from outside of
1044         WebDataSource)
1045
1046         * WebView/WebDataSource.m:
1047         (-[WebDataSource _setMainDocumentError:]):
1048         (addTypesFromClass):
1049         (+[WebDataSource _representationClassForMIMEType:]):
1050         (-[WebDataSource _commitIfReady]):
1051         (-[WebDataSource _commitLoadWithData:]):
1052         (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
1053         (-[WebDataSource _addResponse:]):
1054         (-[WebDataSource _revertToProvisionalState]):
1055         (-[WebDataSource _mainDocumentError]):
1056         (-[WebDataSource _addSubframeArchives:]):
1057         (-[WebDataSource _fileWrapperForURL:]):
1058         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
1059         (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
1060         (-[WebDataSource _finishedLoading]):
1061         (-[WebDataSource _setResponse:]):
1062         (-[WebDataSource _setRequest:]):
1063         (-[WebDataSource _setupForReplaceByMIMEType:]):
1064         (-[WebDataSource _receivedMainResourceError:complete:]):
1065         (-[WebDataSource _mainReceivedError:complete:]):
1066         (-[WebDataSource _defersCallbacks]):
1067         (-[WebDataSource _downloadWithLoadingConnection:request:response:proxy:]):
1068         (-[WebDataSource _didFailLoadingWithError:forResource:]):
1069         (-[WebDataSource _didFinishLoadingForResource:]):
1070         (-[WebDataSource _didReceiveData:contentLength:forResource:]):
1071         (-[WebDataSource _didReceiveResponse:forResource:]):
1072         (-[WebDataSource _didCancelAuthenticationChallenge:forResource:]):
1073         (-[WebDataSource _didReceiveAuthenticationChallenge:forResource:]):
1074         (-[WebDataSource _willSendRequest:forResource:redirectResponse:]):
1075         (-[WebDataSource _identifierForInitialRequest:]):
1076         (-[WebDataSource _archivedSubresourceForURL:]):
1077         (-[WebDataSource _startLoading]):
1078         (-[WebDataSource _stopRecordingResponses]):
1079         (-[WebDataSource _loadingStartedTime]):
1080         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]):
1081         (-[WebDataSource _documentFragmentWithArchive:]):
1082         (-[WebDataSource _documentFragmentWithImageResource:]):
1083         (-[WebDataSource _imageElementWithImageResource:]):
1084         (-[WebDataSource _title]):
1085         (-[WebDataSource _isStopping]):
1086         (-[WebDataSource _setWebFrame:]):
1087         (-[WebDataSource _URL]):
1088         (-[WebDataSource _loadFromPageCache:]):
1089         (-[WebDataSource _popSubframeArchiveWithName:]):
1090         (-[WebDataSource _setIsClientRedirect:]):
1091         (-[WebDataSource _setURL:]):
1092         (-[WebDataSource _setLastCheckedRequest:]):
1093         (-[WebDataSource _defersCallbacksChanged]):
1094         (-[WebDataSource _lastCheckedRequest]):
1095         (-[WebDataSource _stopLoading]):
1096         (-[WebDataSource _bridge]):
1097         (-[WebDataSource _webView]):
1098         (-[WebDataSource _triggeringAction]):
1099         (-[WebDataSource _setTriggeringAction:]):
1100         (-[WebDataSource __adoptRequest:]):
1101         (-[WebDataSource _isDocumentHTML]):
1102         (-[WebDataSource _stopLoadingWithError:]):
1103         (-[WebDataSource _setPrimaryLoadComplete:]):
1104         (-[WebDataSource _responses]):
1105         (-[WebDataSource _makeRepresentation]):
1106         (-[WebDataSource _isClientRedirect]):
1107         (-[WebDataSource _originalRequest]):
1108         (-[WebDataSource _URLForHistory]):
1109         (-[WebDataSource _addToUnarchiveState:]):
1110         (-[WebDataSource _setOverrideEncoding:]):
1111         (-[WebDataSource _setIconURL:]):
1112         (-[WebDataSource _setIconURL:withType:]):
1113         (-[WebDataSource _overrideEncoding]):
1114         (-[WebDataSource _setTitle:]):
1115         * WebView/WebDataSourceInternal.h:
1116
1117 2006-08-23  Brady Eidson  <beidson@apple.com>
1118
1119         Reviewed by John Sullivan
1120
1121         /me crosses fingers
1122         Flip the switch to the new Icon Database
1123         Massive code pruning is coming up
1124
1125         * WebKitPrefix.h: Flipped the switch
1126
1127 2006-08-23  Brady Eidson  <beidson@apple.com>
1128
1129         Reviewed by Beth
1130         Since I just pushed the default URL icon from WebKit to WebCore, but
1131         WebKit was still using its version of the default icon, this patch makes it
1132         use the WebCore version
1133
1134         * Misc/WebIconDatabase.m:
1135         (-[WebIconDatabase defaultIconWithSize:]):
1136
1137 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
1138
1139         Reviewed by Brady.
1140         
1141         - remove "loading" flag from WebDataSource and code that manages it; it is redundat.
1142
1143         * Loader/WebFrameLoader.m:
1144         (-[WebFrameLoader addPlugInStreamLoader:]):
1145         (-[WebFrameLoader removePlugInStreamLoader:]):
1146         (-[WebFrameLoader addSubresourceLoader:]):
1147         (-[WebFrameLoader removeSubresourceLoader:]):
1148         * WebView/WebDataSource.m:
1149         (-[WebDataSourcePrivate dealloc]):
1150         (-[WebDataSource _setPrimaryLoadComplete:]):
1151         (-[WebDataSource _stopLoading]):
1152         (-[WebDataSource _prepareForLoadStart]):
1153         (-[WebDataSource _startLoading]):
1154         (-[WebDataSource isLoading]):
1155         * WebView/WebDataSourceInternal.h:
1156
1157 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
1158
1159         Reviewed by Eric.
1160
1161         <rdar://problem/4683948> REGRESSION: Assertion failure in [FrameProgressEntry addChild:forDataSource:] (fandango.com)
1162         
1163         * Loader/WebFrameLoader.m:
1164         (-[WebFrameLoader addSubresourceLoader:]): Add a WebKit-level assertion that should fire when this bad
1165         situation occurs.
1166         * Loader/WebSubresourceLoader.m:
1167         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]): Prevent
1168         the situation from occuring.
1169
1170 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
1171
1172         Reviewed by Anders.
1173         
1174         - pull more WebDataSource code into WebFrameLoader
1175         - make WebMainResourceLoader not depend on WebKit or on SPI
1176
1177         * Loader/WebFrameLoader.h:
1178         * Loader/WebFrameLoader.m:
1179         (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
1180         (-[WebFrameLoader _updateIconDatabaseWithURL:]):
1181         (-[WebFrameLoader _notifyIconChanged:]):
1182         (-[WebFrameLoader _iconLoaderReceivedPageIcon:]):
1183         (-[WebFrameLoader _checkNavigationPolicyForRequest:andCall:withSelector:]):
1184         (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
1185         (-[WebFrameLoader cancelContentPolicy]):
1186         * Loader/WebIconLoader.m:
1187         (-[WebIconLoader didFinishLoading]):
1188         * Loader/WebLoader.m:
1189         (-[NSURLProtocol loadWithRequest:]):
1190         (-[NSURLProtocol setDefersCallbacks:]):
1191         * Loader/WebMainResourceLoader.h:
1192         * Loader/WebMainResourceLoader.m:
1193         (-[WebMainResourceLoader initWithFrameLoader:]):
1194         (-[WebMainResourceLoader dealloc]):
1195         (-[WebMainResourceLoader cancelWithError:]):
1196         (-[WebMainResourceLoader continueAfterNavigationPolicy:formState:]):
1197         (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
1198         (-[WebMainResourceLoader continueAfterContentPolicy:]):
1199         (-[WebMainResourceLoader checkContentPolicy]):
1200         (-[WebMainResourceLoader didReceiveResponse:]):
1201         * Plugins/WebPluginContainerCheck.m:
1202         * WebCoreSupport/WebSystemInterface.m:
1203         (InitWebCoreSystemInterface):
1204         * WebView/WebDataSource.m:
1205         (-[WebDataSource _loadIcon]):
1206         (-[WebDataSource _cancelledError]):
1207         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
1208         (+[WebDataSource _representationClassForMIMEType:]):
1209         (-[WebDataSource _commitLoadWithData:]):
1210         (-[WebDataSource _isDocumentHTML]):
1211         * WebView/WebDataSourceInternal.h:
1212         * WebView/WebFramePrivate.h:
1213         * WebView/WebPolicyDelegate.m:
1214         * WebView/WebPolicyDelegatePrivate.h:
1215
1216 2006-08-21  Maciej Stachowiak  <mjs@apple.com>
1217
1218         Reviewed by Brady.
1219         
1220         - move more code from WebDataSource to WebFrameLoader
1221         
1222         Also marked a few more methods in WebDataSource as likely MOVABLE in a future round, since they do not
1223         use any of WebDataSource's private data.
1224
1225         * Loader/WebFrameLoader.h:
1226         * Loader/WebFrameLoader.m:
1227         (-[WebFrameLoader addPlugInStreamLoader:]):
1228         (-[WebFrameLoader removePlugInStreamLoader:]):
1229         (-[WebFrameLoader addSubresourceLoader:]):
1230         (-[WebFrameLoader removeSubresourceLoader:]):
1231         (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
1232         (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
1233         (-[WebFrameLoader _didReceiveResponse:forResource:]):
1234         (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
1235         (-[WebFrameLoader _didFinishLoadingForResource:]):
1236         (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
1237         (-[WebFrameLoader _privateBrowsingEnabled]):
1238         (-[WebFrameLoader _finishedLoadingResource]):
1239         (-[WebFrameLoader _receivedError:]):
1240         (-[WebFrameLoader _finishedLoading]):
1241         * Loader/WebMainResourceLoader.m:
1242         (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
1243         (-[WebMainResourceLoader didFinishLoading]):
1244         * Loader/WebNetscapePlugInStreamLoader.m:
1245         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
1246         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
1247         (-[WebNetscapePlugInStreamLoader cancelWithError:]):
1248         * Loader/WebSubresourceLoader.m:
1249         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
1250         (-[WebSubresourceLoader signalFinish]):
1251         (-[WebSubresourceLoader didFailWithError:]):
1252         (-[WebSubresourceLoader cancel]):
1253         * Plugins/WebNetscapePluginStream.m:
1254         (-[WebNetscapePluginStream start]):
1255         * WebView/WebDataSource.m:
1256         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]):
1257         (-[WebDataSource _updateIconDatabaseWithURL:]):
1258         (-[WebDataSource _loadIcon]):
1259         (-[WebDataSource _setPrimaryLoadComplete:]):
1260         (-[WebDataSource _cancelledError]):
1261         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
1262         (+[WebDataSource _representationClassForMIMEType:]):
1263         (-[WebDataSource _commitLoadWithData:]):
1264         (-[WebDataSource _receivedMainResourceError:complete:]):
1265         (-[WebDataSource _iconLoaderReceivedPageIcon:]):
1266         (-[WebDataSource _isDocumentHTML]):
1267         * WebView/WebDataSourceInternal.h:
1268
1269 2006-08-21  Brady Eidson  <beidson@apple.com>
1270
1271         Reviewed by John
1272
1273         Quick ICONDEBUG flag fix
1274
1275         * Misc/WebIconDatabase.m:
1276         (-[WebIconDatabase _applicationWillTerminate:]):
1277
1278 2006-08-21  Brady Eidson  <beidson@apple.com>
1279
1280         Reviewed by Anders
1281
1282         -Renamed an internal only method for clarity
1283         -Tweaked WebDataSource for notification purposes with the new expiring icons
1284         -Fixed a bug with the ICONDEBUG flag
1285
1286         * Misc/WebIconDatabase.m:
1287         (-[WebIconDatabase init]):
1288         (-[WebIconDatabase iconForURL:withSize:cache:]): #ifdef bug fixed
1289         (-[WebIconDatabase _hasEntryForIconURL:]): Renamed for clarity
1290         * Misc/WebIconDatabasePrivate.h:
1291         * WebView/WebDataSource.m:
1292         (-[WebDataSource _updateIconDatabaseWithURL:]):
1293         (-[WebDataSource _notifyIconChanged:]):
1294         (-[WebDataSource _loadIcon]):
1295         (-[WebDataSource _iconLoaderReceivedPageIcon:]):
1296
1297 2006-08-17  Maciej Stachowiak  <mjs@apple.com>
1298
1299         Reviewed by Brady.
1300         
1301         - pull a bit of WebDataSource code into WebFrameLoader
1302
1303         * Loader/WebFrameLoader.m:
1304         (-[WebFrameLoader _receivedError:]):
1305         (-[WebFrameLoader webFrame]):
1306         (-[WebFrameLoader _handleFallbackContent]):
1307         (+[WebFrameLoader _canShowMIMEType:]):
1308         (+[WebFrameLoader _representationExistsForURLScheme:]):
1309         (+[WebFrameLoader _generatedMIMETypeForURLScheme:]):
1310         * WebView/WebDataSource.m:
1311         * WebView/WebDataSourceInternal.h:
1312
1313 2006-08-17  Timothy Hatcher  <timothy@apple.com>
1314
1315         Reviewed by Kevin Decker.
1316
1317         <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported in 64-bit
1318
1319         * WebKit.LP64.exp:
1320
1321 2006-08-17  Timothy Hatcher  <timothy@apple.com>
1322
1323         Reviewed by Kevin Decker.
1324
1325         <rdar://problem/4633896> -[WebView close] should clear all delegates and call setHostWindow:nil
1326         <rdar://problem/4649759> Crash when selecting View Source menu using Chinese (-[WebView _close])
1327
1328         Check to make sure _private is not null. A WebView can be dealloced before _private is setup.
1329         Set the _private->closed flag at the beginning of _close to prevent reentry.
1330         Set the host window and all the delegates to nil in _close.
1331
1332         * WebView/WebView.m:
1333         (-[WebView _close]):
1334
1335 2006-08-16  Brady Eidson  <beidson@apple.com>
1336
1337         Reviewed by Maciej
1338
1339         * Misc/WebIconDatabase.m: Pruned unused method
1340         * Misc/WebIconDatabasePrivate.h: Ditto
1341
1342
1343 2006-08-15  Maciej Stachowiak  <mjs@apple.com>
1344
1345         Reviewed by Adele (preliminary version) and later by Kevin.
1346         
1347         - remove most WebKit dependencies from WebMainResourceLoader.
1348
1349         * Loader/WebFrameLoader.h:
1350         * Loader/WebFrameLoader.m:
1351         (-[WebFrameLoader cannotShowMIMETypeForURL:]):
1352         (-[WebFrameLoader interruptForPolicyChangeErrorWithRequest:]):
1353         (-[WebFrameLoader isHostedByObjectElement]):
1354         (-[WebFrameLoader isLoadingMainFrame]):
1355         (+[WebFrameLoader _canShowMIMEType:]):
1356         (+[WebFrameLoader _representationExistsForURLScheme:]):
1357         (+[WebFrameLoader _generatedMIMETypeForURLScheme:]):
1358         * Loader/WebMainResourceLoader.h:
1359         * Loader/WebMainResourceLoader.m:
1360         (-[WebMainResourceLoader interruptForPolicyChangeError]):
1361         (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
1362         (isCaseInsensitiveEqual):
1363         (shouldLoadAsEmptyDocument):
1364         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
1365         (-[WebMainResourceLoader didReceiveResponse:]):
1366         (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
1367         (-[WebMainResourceLoader didFinishLoading]):
1368         (-[WebMainResourceLoader loadWithRequestNow:]):
1369         (-[WebMainResourceLoader loadWithRequest:]):
1370
1371 2006-08-15  Tim Omernick  <timo@apple.com>
1372
1373         Reviewed by Kevin Decker.
1374
1375         * Plugins/WebNetscapePluginPackage.m:
1376         (-[WebNetscapePluginPackage _unloadWithShutdown:]):
1377         Fixed a subtle problem with the 64-bit debug build -- as written, this would LOG() on 64-bit and do nothing on
1378         32-bit!
1379         * Plugins/WebPluginDatabase.m:
1380         (-[WebPluginDatabase _scanForNewPlugins]):
1381         Use +[NSMutableSet set] here.
1382
1383 2006-08-15  Tim Omernick  <timo@apple.com>
1384
1385         Reviewed by Darin Adler.
1386
1387         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8980>
1388         ASSERTION FAILED: !isLoaded (WebKit/WebKit/Plugins/WebBasePluginPackage.m:228 -[WebBasePluginPackage dealloc])
1389
1390         <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests (8980)
1391         
1392         * Plugins/WebPluginDatabase.h:
1393         * Plugins/WebPluginDatabase.m:
1394         (+[WebPluginDatabase installedPlugins]):
1395         Observe NSApplicationWillTerminateNotification so we can unload plug-ins on quit.
1396         (-[WebPluginDatabase plugins]):
1397         'plugins' is now a dictionary.
1398         (-[WebPluginDatabase close]):
1399         Call new -_removePlugin: method.
1400         (-[WebPluginDatabase refresh]):
1401         Moved parts of this method out into other methods: -_addPlugin:, -_removePlugin:, and -_scanForNewPlugins.
1402         (-[WebPluginDatabase _plugInPaths]):
1403         No changes; just moved in file.
1404         (-[WebPluginDatabase _addPlugin:]):
1405         New method.  Refactored from -refresh.  Adds a plug-in to the database.
1406         (-[WebPluginDatabase _removePlugin:]):
1407         New method.  Refactored from -refresh.  Remove a plug-in from the database.
1408         (-[WebPluginDatabase _scanForNewPlugins]):
1409         New method.  Refactored from -refresh.  Returns the list of plug-in packages on disk.
1410         (-[WebPluginDatabase _applicationWillTerminate]):
1411         New method.  Called when the application terminates.  Closes the plug-in database so that all plug-ins are
1412         removed from the DB (and unloaded if necessary).
1413
1414         * Plugins/WebBasePluginPackage.h:
1415         * Plugins/WebBasePluginPackage.m:
1416         (-[WebBasePluginPackage initWithPath:]):
1417         Try to create the NSBundle first, so if the file is not a valid bundle we bail out early.  This
1418         avoids some stat()s and allocations during the plug-in refresh process.
1419         (-[WebBasePluginPackage isLoaded]):
1420         Removed.
1421         (-[WebBasePluginPackage load]):
1422         Base class for plug-in packages now always loads "successfully".
1423         (-[WebBasePluginPackage dealloc]):
1424         Removed this assertion.  The base plug-in package class has no concept of
1425         "unloading".
1426         (-[WebBasePluginPackage finalize]):
1427         ditto.
1428         (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
1429         Moved code to unload plug-in package to WebNetscapePluginPackage.  Not all plug-in
1430         packages can be "unloaded".
1431
1432         * Plugins/WebNetscapePluginPackage.h:
1433         * Plugins/WebNetscapePluginPackage.m:
1434         (-[WebNetscapePluginPackage _unloadWithShutdown:]):
1435         Combined old -unload and -unloadWithoutShutdown methods into this new one.
1436         (-[WebNetscapePluginPackage initWithPath:]):
1437         Call new unload method.
1438         (-[WebNetscapePluginPackage load]):
1439         ditto
1440         (-[WebNetscapePluginPackage wasRemovedFromPluginDatabase:]):
1441         ditto
1442         (-[WebNetscapePluginPackage open]):
1443         New method.  Called when a plug-in instance starts running.
1444         (-[WebNetscapePluginPackage close]):
1445         New method.  Called when a plug-in instance stops running.  When all plug-in instances
1446         close the plug-in package, and the plug-in package is removed from the database, the plug-in
1447         is unloaded.
1448
1449         * Plugins/WebPluginPackage.m:
1450         (-[WebPluginPackage initWithPath:]):
1451         (-[WebPluginPackage load]):
1452         Made this a bit more efficient by checking if the bundle is already loaded.
1453         (-[WebBasePluginPackage unload]):
1454         Removed.
1455         (-[WebBasePluginPackage isLoaded]):
1456         Removed.
1457
1458         * Plugins/WebBaseNetscapePluginView.m:
1459         (-[WebBaseNetscapePluginView start]):
1460         Open the plug-in package so it remains loaded while this instance uses it.
1461         (-[WebBaseNetscapePluginView stop]):
1462         Close the plug-in package when the plug-in instance is stopped.
1463         
1464         * Plugins/WebBaseNetscapePluginStream.m:
1465         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
1466         This check is not necessary.  Netscape plug-in packages are never unloaded until all their instances have
1467         been stopped, and a Netscape plug-in instance will stop its streams when it is stopped.
1468         (-[WebBaseNetscapePluginStream _destroyStream]):
1469         ditto
1470         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
1471         ditto
1472         (-[WebBaseNetscapePluginStream _deliverData]):
1473         ditto
1474
1475 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1476
1477         Reviewed by Tim H.
1478
1479         Build fix:  DWARF and -gfull are incompatible with symbol separation.
1480
1481         * WebKit.xcodeproj/project.pbxproj:
1482
1483 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1484
1485         Reviewed by Tim H.
1486
1487         http://bugzilla.opendarwin.org/show_bug.cgi?id=10394
1488         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
1489
1490         * WebKit.xcodeproj/project.pbxproj:
1491
1492 2006-08-15  Maciej Stachowiak  <mjs@apple.com>
1493
1494         Reviewed by Anders.
1495         
1496         - remove WebKit dependencies from WebPlugInStreamLoader via a protocol veil of ignorance
1497
1498         * Loader/WebNetscapePlugInStreamLoader.h:
1499         * Loader/WebNetscapePlugInStreamLoader.m:
1500         (-[WebNetscapePlugInStreamLoader initWithDelegate:frameLoader:]):
1501         * Loader/WebPlugInStreamLoaderDelegate.h: Added.
1502         * Plugins/WebBaseNetscapePluginStream.h:
1503         * Plugins/WebNetscapePluginStream.m:
1504         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
1505         * WebKit.xcodeproj/project.pbxproj:
1506
1507 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1508
1509         Reviewed by Tim H.
1510
1511         http://bugzilla.opendarwin.org/show_bug.cgi?id=10384
1512         Bug 10384: Switch to DWARF for Release configuration
1513
1514         * WebKit.xcodeproj/project.pbxproj:
1515
1516 2006-08-15  Graham Dennis  <graham.dennis@gmail.com>
1517
1518         Reviewed by Darin.
1519         
1520         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10314
1521           WebUnarchivingState archivedResourceForURL: doesn't work
1522
1523         * WebView/WebUnarchivingState.m:
1524         (-[WebUnarchivingState archivedResourceForURL:]):
1525         Fixed to get objects from the archived resources dictionary using
1526         the URL as a string instead of as the URL itself (as this is how
1527         the data is put into the dictionary).
1528
1529 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
1530
1531         Reviewed by Beth.
1532         
1533         - remove many (but not all) WebKit dependencies from WebNetscapePlugInStreamLoader (it still 
1534         depends on WebNetscapePluginStream).
1535
1536         * Loader/WebFrameLoader.h:
1537         * Loader/WebFrameLoader.m:
1538         (-[WebFrameLoader fileDoesNotExistErrorWithResponse:]):
1539         * Loader/WebNetscapePlugInStreamLoader.h:
1540         * Loader/WebNetscapePlugInStreamLoader.m:
1541         (-[WebNetscapePlugInStreamLoader initWithStream:frameLoader:]):
1542         (-[WebNetscapePlugInStreamLoader releaseResources]):
1543         (-[WebNetscapePlugInStreamLoader didReceiveResponse:]):
1544         * Plugins/WebNetscapePluginStream.m:
1545         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
1546
1547 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
1548
1549         Reviewed by Tim Omernick.
1550         
1551         - fixed REGRESSION: crash when leaving youtube page while movie is still loading
1552         http://bugzilla.opendarwin.org/show_bug.cgi?id=10398
1553
1554         * Loader/WebNetscapePlugInStreamLoader.m:
1555         (-[WebNetscapePlugInStreamLoader initWithStream:view:]): Set the frame loader for this stream.
1556         (-[WebNetscapePlugInStreamLoader cancelWithError:]): Make sure to destroy the stream as well;
1557         otherwise, when we try to clean up later, we won't have the right context.
1558
1559 2006-08-14  David Hyatt  <hyatt@apple.com>
1560
1561         Fix for Radar bug 4478840, Safari should not reduce null events sent to
1562         plug-ins in windows that are inactive but visible.
1563
1564         With this fix you can view videos in visible background windows on YouTube
1565         (for example) and not see any drop in frame rate.
1566
1567         Reviewed by timo
1568
1569         * Plugins/WebBaseNetscapePluginView.m:
1570         (-[WebBaseNetscapePluginView restartNullEvents]):
1571
1572 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
1573
1574         Reviewed by Brady.
1575         
1576         - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
1577
1578         * Loader/WebFormDataStream.m:
1579         (formCanRead):
1580         (formEventCallback):
1581         (webSetHTTPBody):
1582         * WebCoreSupport/WebSystemInterface.m:
1583         (InitWebCoreSystemInterface):
1584
1585 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
1586
1587         Rubber stamped by Brady.
1588         
1589         - move WebFormDataStream from WebView to Loader
1590
1591         * WebKit.xcodeproj/project.pbxproj:
1592         * WebView/WebFormDataStream.h: Removed.
1593         * WebView/WebFormDataStream.m: Removed.
1594
1595 2006-08-13  Maciej Stachowiak  <mjs@apple.com>
1596
1597         Reviewed by Brady.
1598         
1599         - remove WebKit dependencies from WebSubresourceLoader, except WebFormDataStream
1600         
1601         (WebFormDataStream will be moved into the Loader directory soon)
1602
1603         * Loader/WebFrameLoader.h:
1604         * Loader/WebFrameLoader.m:
1605         (-[WebFrameLoader _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
1606         * Loader/WebSubresourceLoader.m:
1607         (isConditionalRequest):
1608         (hasCaseInsensitivePrefix):
1609         (isFileURLString):
1610         (setHTTPReferrer):
1611         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
1612
1613 2006-08-13  Brady Eidson  <beidson@apple.com>
1614
1615         Reviewed by Maciej
1616
1617         Relocated the WebIconLoaders
1618
1619         * Misc/WebIconLoader.h: Moved to Loader/
1620         * Misc/WebIconLoader.m: Moved to Loader/
1621         * WebKit.xcodeproj/project.pbxproj:
1622
1623 2006-08-13  Maciej Stachowiak  <mjs@apple.com>
1624
1625         Reviewed by Beth.
1626         
1627         - removed non-Loader WebKit dependencies from WebDataProtocol for
1628         real (whoops) and fix some typos.
1629
1630         * Loader/WebDataProtocol.m:
1631         (isCaseInsensitiveEqual): Added.
1632         (+[WebDataProtocol _webIsDataProtocolURL:]): Avoid WebKit calls.
1633         (-[WebDataProtocol startLoading]): ditto
1634         * Loader/WebFrameLoader.m:
1635         (isCaseInsensitiveEqual): Fixed spelling from isCaseSensitiveEqual.
1636         (-[WebFrameLoader _canUseResourceForRequest:]): Use proper call.
1637
1638 2006-08-13  Brady Eidson  <beidson@apple.com>
1639
1640         Reviewed by Maciej
1641
1642         The way of detecting a failed icon load before was to try and construct
1643         an image from the icon and if that image construction failed, mark the icon
1644         as missing.  
1645         A much more efficient way is to check for an error response.  We'll still
1646         check for invalid image data, but most servers will correctly return an HTTP 
1647         error on a missing icon.
1648         
1649         * Misc/WebIconLoader.m:
1650         (-[WebIconLoader didFinishLoading]): Added check for http error response
1651
1652 2006-08-13  Maciej Stachowiak  <mjs@apple.com>
1653
1654         Reviewed by Darin.
1655         
1656         - remove all non-Loader dependencies from WebLoader
1657         
1658         As part of this I moved WebDataProtocol to the loader directory
1659         and removed dependencies on the rest of WebKit from that too.
1660
1661         * Loader/WebFrameLoader.h:
1662         * Loader/WebFrameLoader.m:
1663         (-[WebFrameLoader setDefersCallbacks:]):
1664         (-[WebFrameLoader stopLoading]):
1665         (-[WebFrameLoader cancelledErrorWithRequest:]):
1666         (-[WebFrameLoader clearArchivedResources]):
1667         (-[WebFrameLoader deliverArchivedResources]):
1668         (-[WebFrameLoader deliverArchivedResourcesAfterDelay]):
1669         (isCaseSensitiveEqual):
1670         (-[WebFrameLoader _canUseResourceForRequest:]):
1671         (-[WebFrameLoader _canUseResourceWithResponse:]):
1672         (-[WebFrameLoader pendingArchivedResources]):
1673         (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
1674         (-[WebFrameLoader archiveLoadPendingForLoader:]):
1675         (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
1676         * Loader/WebLoader.h:
1677         * Loader/WebLoader.m:
1678         (-[NSURLProtocol releaseResources]):
1679         (-[NSURLProtocol loadWithRequest:]):
1680         (-[NSURLProtocol setDefersCallbacks:]):
1681         (-[NSURLProtocol addData:allAtOnce:]):
1682         (-[NSURLProtocol resourceData]):
1683         (-[NSURLProtocol didReceiveData:lengthReceived:allAtOnce:]):
1684         (-[NSURLProtocol connection:didReceiveData:lengthReceived:]):
1685         (-[NSURLProtocol cancelWithError:]):
1686         (-[NSURLProtocol cancelledError]):
1687         * Loader/WebMainResourceLoader.m:
1688         (-[WebMainResourceLoader addData:allAtOnce:]):
1689         (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
1690         * Loader/WebNetscapePlugInStreamLoader.m:
1691         (-[WebNetscapePlugInStreamLoader didReceiveData:lengthReceived:allAtOnce:]):
1692         * Loader/WebSubresourceLoader.m:
1693         (-[WebSubresourceLoader didReceiveData:lengthReceived:allAtOnce:]):
1694         * WebKit.xcodeproj/project.pbxproj:
1695         * WebView/WebDataProtocol.h: Removed.
1696         * WebView/WebDataProtocol.m: Removed.
1697
1698 2006-08-11  Tim Omernick  <timo@apple.com>
1699
1700         Reviewed by Darin.
1701
1702         <http://bugzilla.opendarwin.org/show_bug.cgi?id=10111> - Menu flickers over Flash content
1703         <rdar://problem/3052546> Plugins don't work with z-index (overlapping elements, etc.)
1704
1705         * Plugins/WebBaseNetscapePluginView.m:
1706         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1707         Don't just clip to the dirty region for "transparent" plug-ins -- do it for all plug-ins.  This is a
1708         generally useful thing to do, as it prevents the plug-in from drawing over parts of the window that
1709         have already been drawn and are not expected to be redrawn in the same update.
1710
1711 2006-08-11  Brady Eidson  <beidson@apple.com>
1712
1713         Reviewed by John, Timo, Adele, and Darin
1714
1715         In addition to a few style/good-practice cleanups, this patch will convert the old icon database
1716         format to the WebCore format if the WebCore db is empty (implying this conversion has yet to take
1717         place).  After the conversion, it will delete all traces of the old format to free the unneeded space
1718
1719         * Misc/WebIconDatabase.m:
1720         (-[WebIconDatabase init]):  
1721         (-[WebIconDatabase _setIconURL:forURL:]):  Changed the bridge's name for this method to be more clear
1722         (-[WebIconDatabase _createFileDatabase]):  
1723         (-[WebIconDatabase _iconDataForIconURL:]):  This grabs the raw data for use in the conversion function
1724         (-[WebIconDatabase _convertToWebCoreFormat]):  This does the actual conversion
1725
1726 2006-08-11  Tim Omernick  <timo@apple.com>
1727
1728         Reviewed by John Sullivan.
1729         
1730         Needed for <rdar://problem/4678070>.
1731
1732         * Plugins/WebBaseNetscapePluginView.m:
1733         (-[WebBaseNetscapePluginView sendEvent:]):
1734         Changed an assertion to an early return.  It should be possible to send events, especially updateEvt (for image capturing
1735         purposes), to off-screen plug-ins.  It just doesn't work right now.  See <rdar://problem/4318269>.
1736
1737 2006-08-11  John Sullivan  <sullivan@apple.com>
1738
1739         Reviewed by Darin
1740         
1741         - fixed <rdar://problem/4522894> Would be nice if Safari shrank pages a little if necessary 
1742         to avoid printing an almost-empty page
1743
1744         * WebView/WebHTMLView.m:
1745         (-[NSArray knowsPageRange:]):
1746         If the last page has a short-enough orphan (< 1/10 of the page height is the number I pulled
1747         out of ... the air), then we adjust the scale factor slightly and check whether this reduces
1748         the page count and thus eliminates the orphan.
1749         
1750 2006-08-07  Brady Eidson  <beidson@apple.com>
1751
1752         Reviewed by Anders and John
1753
1754         * Misc/WebIconDatabase.m:
1755         (-[WebIconDatabase init]):
1756         (-[WebIconDatabase isIconExpiredForIconURL:]): Get if an icon expired
1757         (-[WebIconDatabase isIconExpiredForPageURL:]): Ditto
1758         (-[WebIconDatabase _setIconURL:forURL:]):
1759         (-[WebIconDatabase _sendNotificationForURL:]): Moved to WebKitPendingPublic for use outside of WebIconDatabase
1760         (-[WebIconDatabase loadIconFromURL:]): Allow a load outside the context of a page load
1761         * Misc/WebIconDatabasePrivate.h:
1762
1763         * Misc/WebIconLoader.m:
1764         (-[WebIconLoader didFinishLoading]): fixed up the "flipping the switch" #defs a bit
1765         (-[WebIconLoader willSendRequest:redirectResponse:]): override to allow a load
1766         outside of the context of a page load
1767
1768         * WebCoreSupport/WebIconDatabaseBridge.h: Added.
1769         * WebCoreSupport/WebIconDatabaseBridge.m: Added.
1770         (-[WebIconDatabaseBridge init]):
1771         (-[WebIconDatabaseBridge dealloc]):
1772         (-[WebIconDatabaseBridge loadIconFromURL:]):  Kick off a load on an icon outside
1773         of the context of any page load
1774         (-[WebIconDatabaseBridge _setIconData:forIconURL:]):  WebKit side of bridge method
1775         (-[WebIconDatabaseBridge _setHaveNoIconForIconURL:]):  WebKit side of bridge method
1776         (-[WebIconDatabaseBridge releaseCachedLoaderForIconURL:]): 
1777         (+[WebIconDatabaseBridge sharedBridgeInstance]): Moved this from WebCore to WebKit
1778         so both sides of the bridge get the WebKit version
1779         * WebKit.xcodeproj/project.pbxproj: Added some files
1780         * WebView/WebDataSource.m:
1781         (-[WebDataSource _loadIcon]): Added check for reload/expired icon to force
1782         a load even if we already have it
1783
1784 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
1785
1786         Reviewed by Darin.
1787
1788         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10192
1789           Make WebCore (and friends) compile with -Wshorten-64-to-32
1790
1791           * Adds 'f' to float literals where expecting a float.
1792           * Use ceilf() instead of ceil() when assigning to a float.
1793           * Adds explicit casts where OK.
1794           
1795           NOTE: The -Wshorten-64-to-32 flag was not added for WebKit
1796           because there are still a few places where no error handling 
1797           is in place.  The flag can be added as soon as those are worked
1798           out.
1799
1800         * Misc/WebNSControlExtras.m:
1801         (-[NSControl sizeToFitAndAdjustWindowHeight]):
1802         * Misc/WebNSImageExtras.m:
1803         (-[NSImage _web_scaleToMaxSize:]):
1804         * Misc/WebNSViewExtras.h:
1805         * Misc/WebNSViewExtras.m:
1806         * Plugins/WebBaseNetscapePluginView.m:
1807         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1808         (-[WebBaseNetscapePluginView drawRect:]):
1809         * WebCoreSupport/WebFrameBridge.m:
1810         (-[WebFrameBridge expiresTimeForResponse:]):
1811         * WebInspector/WebInspector.m:
1812         (-[NSWindow window]):
1813         (-[WebInspector treeViewScrollTo:]):
1814         (-[WebInspector _updateSystemColors]):
1815         (-[WebInspector webView:plugInViewWithArguments:]):
1816         (-[WebInspector outlineView:objectValueForTableColumn:byItem:]):
1817         * WebInspector/WebInspectorOutlineView.m:
1818         (-[WebInspectorOutlineView _highlightRow:clipRect:]):
1819         * WebInspector/WebNodeHighlight.m:
1820         (-[WebNodeHighlight initWithBounds:andRects:forView:]):
1821         * WebInspector/WebNodeHighlightView.m:
1822         (-[WebNodeHighlightView roundedRect:withRadius:]):
1823         (-[WebNodeHighlightView initWithHighlight:andRects:forView:]):
1824         (-[WebNodeHighlightView drawRect:]):
1825         * WebView/WebFrame.m:
1826         (-[WebFrame _opened]):
1827         * WebView/WebFrameView.m:
1828         (-[WebFrameView initWithFrame:]):
1829         * WebView/WebHTMLView.m:
1830         (-[WebHTMLView _dragImageForLinkElement:]):
1831         (-[WebHTMLView _web_setPrintingModeRecursive]):
1832         (-[WebHTMLView _web_clearPrintingModeRecursive]):
1833         (-[NSArray layout]):
1834         (-[NSArray _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
1835         (-[NSArray adjustPageHeightNew:top:bottom:limit:]):
1836         (-[NSArray _scaleFactorForPrintOperation:]):
1837         (-[NSArray setPageWidthForPrinting:]):
1838         (-[NSArray _endPrintMode]):
1839         (-[NSArray knowsPageRange:]):
1840         (-[NSArray _originalFontA]):
1841         (-[NSArray _originalFontB]):
1842         (-[WebTextCompleteController _buildUI]):
1843         (-[WebTextCompleteController _placePopupWindow:]):
1844         * WebView/WebPDFView.m:
1845         (-[WebPDFView _makeTextStandardSize:]):
1846         (-[WebPDFView selectionImageForcingWhiteText:]):
1847         (-[PDFPrefUpdatingProxy forwardInvocation:]):
1848         * WebView/WebPreferences.m:
1849         (-[WebPreferences _floatValueForKey:]):
1850         * WebView/WebView.m:
1851         (-[WebView makeTextSmaller:]):
1852         (-[WebView canMakeTextStandardSize]):
1853         (-[WebView makeTextStandardSize:]):
1854
1855 2006-08-04  David Kilzer  <ddkilzer@kilzer.net>
1856
1857         Reviewed by NOBODY (build fix).
1858
1859         * WebCoreSupport/WebSubresourceLoader.m: REALLY moved to Loader/
1860         * WebView/WebFrameLoader.h: REALLY moved to Loader/
1861         * WebView/WebFrameLoader.m: REALLY moved to Loader/
1862         * WebView/WebLoader.h: REALLY moved to Loader/
1863         * WebView/WebLoader.m: REALLY moved to Loader/
1864         * WebView/WebMainResourceLoader.m: REALLY moved to Loader/
1865
1866 2006-08-03  Maciej Stachowiak  <mjs@apple.com>
1867
1868         Reviewed by Darin.
1869         
1870         - moved all loader code that is slated to be moved down to WebCore to a new Loader directory
1871         
1872         (next step is to remove dependencies on the rest of WebKit from this directory)
1873
1874         * Loader/WebNetscapePlugInStreamLoader.h: Added.
1875         * Loader/WebNetscapePlugInStreamLoader.m: Added. Cut out of WebNetscapePluginStream.m
1876         (-[WebNetscapePlugInStreamLoader initWithStream:view:]):
1877         (-[WebNetscapePlugInStreamLoader isDone]):
1878         (-[WebNetscapePlugInStreamLoader releaseResources]):
1879         (-[WebNetscapePlugInStreamLoader didReceiveResponse:]):
1880         (-[WebNetscapePlugInStreamLoader didReceiveData:lengthReceived:]):
1881         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
1882         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
1883         (-[WebNetscapePlugInStreamLoader cancelWithError:]):
1884         * Plugins/WebNetscapePluginStream.m:
1885         * WebKit.xcodeproj/project.pbxproj:
1886         * WebCoreSupport/WebSubresourceLoader.h: Moved to Loader/
1887         * WebCoreSupport/WebSubresourceLoader.m: Moved to Loader/
1888         * WebView/WebFrameLoader.h: Moved to Loader/
1889         * WebView/WebFrameLoader.m: Moved to Loader/
1890         * WebView/WebLoader.h: Moved to Loader/
1891         * WebView/WebLoader.m: Moved to Loader/
1892         * WebView/WebMainResourceLoader.h: Moved to Loader/
1893         * WebView/WebMainResourceLoader.m: Moved to Loader/
1894
1895 2006-08-03  Tim Omernick  <timo@apple.com>
1896
1897         Reviewed by Kevin Decker.
1898
1899         <rdar://problem/4667460> Windowless OpenGL plug-ins render incorrectly on PowerPC
1900
1901         * Plugins/WebBaseNetscapePluginView.m:
1902         (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
1903         Fixed color component swapping so that it works on both x86 and PPC.  See comments.
1904
1905 2006-08-03  Brady Eidson  <beidson@apple.com>
1906
1907         Reviewed by Tim Hatcher's rubber stamp
1908         Fixed Intel build break caused by weinig's -W change in r15781
1909
1910         * WebView/WebView.m: wrapped cpu-dependent defs with defined() macro
1911
1912 2006-08-03  Maciej Stachowiak  <mjs@apple.com>
1913
1914         Reviewed by John.
1915
1916         - fixed problem that could cause assertion failures in Safari
1917         
1918         * Plugins/WebBaseNetscapePluginView.m:
1919         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Don't
1920         allow a plugin to start new loads once its document is no longer the one actively loading.
1921
1922 2006-08-03  Maciej Stachowiak  <mjs@apple.com>
1923
1924         Reviewed by John.
1925         
1926         - remove use of WebDataSource from WebLoader and subclasses, just have them talk to the
1927         WebFrameLoader instead. 
1928         
1929         For now this is done by forarding all the calls.
1930
1931         * Misc/WebIconLoader.m:
1932         (-[WebIconLoader didFinishLoading]):
1933         * Plugins/WebNetscapePluginStream.m:
1934         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
1935         (-[WebNetscapePluginStream start]):
1936         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
1937         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
1938         (-[WebNetscapePlugInStreamLoader cancelWithError:]):
1939         * WebCoreSupport/WebFrameBridge.m:
1940         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
1941         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
1942         * WebCoreSupport/WebSubresourceLoader.h:
1943         * WebCoreSupport/WebSubresourceLoader.m:
1944         (-[WebSubresourceLoader initWithLoader:frameLoader:]):
1945         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
1946         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forFrameLoader:]):
1947         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forFrameLoader:]):
1948         (-[WebSubresourceLoader receivedError:]):
1949         (-[WebSubresourceLoader signalFinish]):
1950         (-[WebSubresourceLoader didFailWithError:]):
1951         (-[WebSubresourceLoader cancel]):
1952         * WebKit.xcodeproj/project.pbxproj:
1953         * WebView/WebDataSource.m:
1954         (-[WebDataSource _updateLoading]):
1955         (-[WebDataSource textEncodingName]):
1956         (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
1957         * WebView/WebFrameLoader.h:
1958         * WebView/WebFrameLoader.m:
1959         (-[WebFrameLoader loadIconWithRequest:]):
1960         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
1961         (-[WebFrameLoader clearIconLoader]):
1962         (-[WebFrameLoader commitProvisionalLoad]):
1963         (-[WebFrameLoader activeDataSource]):
1964         (-[WebFrameLoader _archivedSubresourceForURL:]):
1965         (-[WebFrameLoader _defersCallbacks]):
1966         (-[WebFrameLoader _identifierForInitialRequest:]):
1967         (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
1968         (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
1969         (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
1970         (-[WebFrameLoader _didReceiveResponse:forResource:]):
1971         (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
1972         (-[WebFrameLoader _didFinishLoadingForResource:]):
1973         (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
1974         (-[WebFrameLoader _privateBrowsingEnabled]):
1975         (-[WebFrameLoader _addPlugInStreamLoader:]):
1976         (-[WebFrameLoader _removePlugInStreamLoader:]):
1977         (-[WebFrameLoader _finishedLoadingResource]):
1978         (-[WebFrameLoader _receivedError:]):
1979         (-[WebFrameLoader _addSubresourceLoader:]):
1980         (-[WebFrameLoader _removeSubresourceLoader:]):
1981         (-[WebFrameLoader _originalRequest]):
1982         (-[WebFrameLoader webFrame]):
1983         (-[WebFrameLoader _receivedMainResourceError:complete:]):
1984         (-[WebFrameLoader initialRequest]):
1985         (-[WebFrameLoader _receivedData:]):
1986         (-[WebFrameLoader _setRequest:]):
1987         (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
1988         (-[WebFrameLoader _handleFallbackContent]):
1989         (-[WebFrameLoader _isStopping]):
1990         (-[WebFrameLoader _decidePolicyForMIMEType:decisionListener:]):
1991         (-[WebFrameLoader _setupForReplaceByMIMEType:]):
1992         (-[WebFrameLoader _setResponse:]):
1993         (-[WebFrameLoader _mainReceivedError:complete:]):
1994         (-[WebFrameLoader _finishedLoading]):
1995         (-[WebFrameLoader _mainReceivedBytesSoFar:complete:]):
1996         (-[WebFrameLoader _iconLoaderReceivedPageIcon:]):
1997         (-[WebFrameLoader _URL]):
1998         * WebView/WebLoader.h:
1999         * WebView/WebLoader.m:
2000         (-[NSURLProtocol releaseResources]):
2001         (-[NSURLProtocol loadWithRequest:]):
2002         (-[NSURLProtocol setFrameLoader:]):
2003         (-[NSURLProtocol frameLoader]):
2004         (-[NSURLProtocol willSendRequest:redirectResponse:]):
2005         (-[NSURLProtocol didReceiveAuthenticationChallenge:]):
2006         (-[NSURLProtocol didCancelAuthenticationChallenge:]):
2007         (-[NSURLProtocol didReceiveResponse:]):
2008         (-[NSURLProtocol didReceiveData:lengthReceived:]):
2009         (-[NSURLProtocol signalFinish]):
2010         (-[NSURLProtocol didFailWithError:]):
2011         (-[NSURLProtocol willCacheResponse:]):
2012         (-[NSURLProtocol cancelWithError:]):
2013         * WebView/WebMainResourceLoader.h:
2014         * WebView/WebMainResourceLoader.m:
2015         (-[WebMainResourceLoader initWithFrameLoader:]):
2016         (-[WebMainResourceLoader receivedError:]):
2017         (-[WebMainResourceLoader cancelWithError:]):
2018         (-[WebMainResourceLoader _isPostOrRedirectAfterPost:redirectResponse:]):
2019         (-[WebMainResourceLoader addData:]):
2020         (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
2021         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
2022         (-[WebMainResourceLoader continueAfterContentPolicy:]):
2023         (-[WebMainResourceLoader checkContentPolicyForResponse:]):
2024         (-[WebMainResourceLoader didReceiveResponse:]):
2025         (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
2026         (-[WebMainResourceLoader didFinishLoading]):
2027         (-[WebMainResourceLoader didFailWithError:]):
2028         (-[WebMainResourceLoader loadWithRequestNow:]):
2029
2030 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
2031
2032         Reviewed by Darin.
2033
2034         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10176
2035           Make WebCore compile with -Wundef
2036
2037           * Adds -Wundef flag to Xcode project
2038           * Converts #ifs to #ifdef and #ifndefs where needed.
2039
2040         * Carbon/CarbonUtils.m:
2041         * Carbon/CarbonWindowAdapter.m:
2042         * Carbon/HIViewAdapter.m:
2043         (+[NSView bindHIViewToNSView:nsView:]):
2044         * Carbon/HIWebView.m:
2045         (HIWebViewEventHandler):
2046         * Misc/WebFileDatabase.m:
2047         (UniqueFilePathForKey):
2048         * Misc/WebNSWindowExtras.m:
2049         (swizzleInstanceMethod):
2050         * Misc/WebTypesInternal.h:
2051         * Plugins/WebNetscapeDeprecatedFunctions.c:
2052         * Plugins/WebNetscapeDeprecatedFunctions.h:
2053         * Plugins/WebNetscapePluginPackage.h:
2054         * Plugins/WebNetscapePluginPackage.m:
2055         (-[WebNetscapePluginPackage unloadWithoutShutdown]):
2056         (-[WebNetscapePluginPackage load]):
2057         * WebKit.xcodeproj/project.pbxproj:
2058
2059 2006-08-03  Darin Adler  <darin@apple.com>
2060
2061         Reviewed by Eric Seidel.
2062
2063         - fix storage leak
2064
2065         * WebView/WebFrame.m: (-[WebFramePrivate dealloc]): Release the frame loader.
2066
2067 2006-08-02  Timothy Hatcher  <timothy@apple.com>
2068
2069         Rubber stamped by Maciej.
2070
2071         Adding back resultsWithXpathQuery, removed by Darin's earlier change.
2072         This function is called from ObjC, but not used from JavaScript.
2073
2074         * WebInspector/webInspector/inspector.js:
2075
2076 2006-08-02  Timothy Hatcher  <timothy@apple.com>
2077
2078         Reviewed by Darin.
2079
2080         Bug 10200: [Drosera] Deadlock between Drosera and Safari while loading page
2081         http://bugzilla.opendarwin.org/show_bug.cgi?id=10200
2082
2083         Prevent reentrancy in our debugger callbacks. This was causing a deadlock in Drosera because
2084         suspendProcessIfPaused was being called during a DO call into Safari.
2085
2086         Preventing reentrancy also prevents scripts that Drosera injects and evaluates from showing
2087         up in rare cases (such as a iframe loading about:blank). I thought this would prevent cases
2088         where you call a function from the console and expect it to break on a breakpoint in them, but
2089         this appears to never have worked even without this change. When that is figured out we can
2090         reconsider a better solution to reentrancy. I have filed that as bug 10214.
2091
2092         I also removed the NSRunLoop runMode:beforeDate: calls since DO handles this for us since
2093         we don't use "onway void" as the return type for the callbacks. Note: using onway void for
2094         the listener callbacks causes bad synchronization issues and obscure crashes.
2095
2096         * DefaultDelegates/WebScriptDebugServer.m:
2097         (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
2098         (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
2099         (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
2100         (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
2101         (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
2102         (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
2103         (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
2104         * DefaultDelegates/WebScriptDebugServerPrivate.h:
2105
2106 2006-08-02  Maciej Stachowiak  <mjs@apple.com>
2107
2108         Reviewed by John.
2109         
2110         - fix assertion failure on layout tests by stopping plugins from loading at a clearly defined time
2111         - add more assertions for safety
2112
2113         * WebView/WebDataSource.m:
2114         (-[WebDataSourcePrivate dealloc]): Removed obsolete comment.
2115         (-[WebDataSource _updateLoading]): Add assertion ensuring this method is only called
2116         at a time when this data source is the one that might be loading for a frame.
2117         (-[WebDataSource _stopLoading]): Stop loading plugins as a FIXME suggests we should.
2118         * WebView/WebFrameLoader.m:
2119         (-[WebFrameLoader isLoadingPlugIns]): New helper method.
2120         (-[WebFrameLoader isLoading]): Consider plugin loads too - otherwise we won't stop them
2121         at stopLoading time.
2122
2123 2006-08-02  Adam Roben  <aroben@apple.com>
2124
2125         Reviewed by Brady.
2126
2127         - Rename TransferJob to ResourceLoader (this file was forgotten in an
2128         earlier change by Maciej)
2129
2130         * COM/WebView.cpp:
2131
2132 2006-08-01  Maciej Stachowiak  <mjs@apple.com>
2133
2134         Reviewed by Adele.
2135         
2136         - Change things around so WebFrameLoader tracks the main and provisional data source,
2137         as well as the frame load state, pulling much code out of WebFrame along the way.
2138         
2139         The most significant aspects of this change are:
2140         
2141         - management of WebDataSources and WebFrameState was moved into WebFrameLoader
2142         - there is now just one WebFrameLoader shared between the primary and provisional data source
2143
2144         * WebKit.xcodeproj/project.pbxproj:
2145         * WebView/WebDataSource.m:
2146         (-[WebDataSourcePrivate dealloc]):
2147         (-[WebDataSource _updateLoading]):
2148         (-[WebDataSource _loadIcon]):
2149         (-[WebDataSource _setPrimaryLoadComplete:]):
2150         (-[WebDataSource _stopLoading]):
2151         (-[WebDataSource _startLoading]):
2152         (-[WebDataSource _addSubresourceLoader:]):
2153         (-[WebDataSource _removeSubresourceLoader:]):
2154         (-[WebDataSource _addPlugInStreamLoader:]):
2155         (-[WebDataSource _removePlugInStreamLoader:]):
2156         (-[WebDataSource _defersCallbacksChanged]):
2157         (-[WebDataSource _stopLoadingWithError:]):
2158         (-[WebDataSource _revertToProvisionalState]):
2159         (-[WebDataSource _setupForReplaceByMIMEType:]):
2160         (-[WebDataSource initWithRequest:]):
2161         (-[WebDataSource data]):
2162         (-[WebDataSource isLoading]):
2163         * WebView/WebFrame.m:
2164         (-[WebFramePrivate init]):
2165         (-[WebFramePrivate dealloc]):
2166         (-[WebFrame _closeOldDataSources]):
2167         (-[WebFrame _detachFromParent]):
2168         (-[WebFrame _makeDocumentView]):
2169         (-[WebFrame _receivedMainResourceError:]):
2170         (-[WebFrame _transitionToCommitted:]):
2171         (+[WebFrame _timeOfLastCompletedLoad]):
2172         (-[WebFrame _checkLoadCompleteForThisFrame]):
2173         (-[WebFrame _loadItem:withLoadType:]):
2174         (-[WebFrame _continueAfterWillSubmitForm:]):
2175         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
2176         (-[WebFrame _initWithWebFrameView:webView:bridge:]):
2177         (-[WebFrame _frameLoader]):
2178         (-[WebFrame _provisionalLoadStarted]):
2179         (-[WebFrame _prepareForDataSourceReplacement]):
2180         (-[WebFrame _frameLoadCompleted]):
2181         (-[WebFrame provisionalDataSource]):
2182         (-[WebFrame dataSource]):
2183         (-[WebFrame stopLoading]):
2184         * WebView/WebFrameInternal.h:
2185         * WebView/WebFrameLoader.h:
2186         * WebView/WebFrameLoader.m:
2187         (-[WebFrameLoader initWithWebFrame:]):
2188         (-[WebFrameLoader dealloc]):
2189         (-[WebFrameLoader dataSource]):
2190         (-[WebFrameLoader _setDataSource:]):
2191         (-[WebFrameLoader clearDataSource]):
2192         (-[WebFrameLoader provisionalDataSource]):
2193         (-[WebFrameLoader _setProvisionalDataSource:]):
2194         (-[WebFrameLoader _clearProvisionalDataSource]):
2195         (-[WebFrameLoader state]):
2196         (+[WebFrameLoader timeOfLastCompletedLoad]):
2197         (-[WebFrameLoader _setState:]):
2198         (-[WebFrameLoader clearProvisionalLoad]):
2199         (-[WebFrameLoader markLoadComplete]):
2200         (-[WebFrameLoader commitProvisionalLoad]):
2201         (-[WebFrameLoader stopLoading]):
2202         (-[WebFrameLoader startLoading]):
2203         (-[WebFrameLoader startProvisionalLoad:]):
2204         (-[WebFrameLoader setupForReplace]):
2205         * WebView/WebFramePrivate.h:
2206
2207 2006-08-01  Tim Omernick  <timo@apple.com>
2208
2209         Reviewed by John Sullivan.
2210
2211         <rdar://problem/4480737> Flash crashes after it replaces itself via a document.write()
2212         
2213         I kind of hate to do this, but this is the best way to work around buggy plug-ins like Flash that assume that
2214         NPP_Destroy() cannot be called while the browser is calling one of its other plug-in functions.  The classic
2215         situation is a plug-in that replaces itself via an NPN_Invoke() that executes a document.write().
2216
2217         * Plugins/WebBaseNetscapePluginView.h:
2218         * Plugins/WebBaseNetscapePluginView.m:
2219         (-[WebBaseNetscapePluginView sendEvent:]):
2220         Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
2221         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2222         ditto
2223         (-[WebBaseNetscapePluginView start]):
2224         It should not be possible to start a plug-in instance while we are calling into it (one of those chicken/egg
2225         problems).  Added a sanity-checking assertion.
2226         (-[WebBaseNetscapePluginView stop]):
2227         If we're already calling a plug-in function, do not call NPP_Destroy().  The plug-in function we are calling
2228         may assume that its instance->pdata, or other memory freed by NPP_Destroy(), is valid and unchanged until said
2229         plugin-function returns.
2230         (-[WebBaseNetscapePluginView pluginScriptableObject]):
2231         Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
2232         (-[WebBaseNetscapePluginView willCallPlugInFunction]):
2233         Increment plug-in function call depth.
2234         (-[WebBaseNetscapePluginView didCallPlugInFunction]):
2235         Decrement plug-in function call depth.  Stop if we're supposed to stop.
2236         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
2237         Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
2238         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
2239         ditto
2240         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
2241         ditto
2242
2243         * Plugins/WebBaseNetscapePluginStream.m:
2244         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
2245         Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
2246         (-[WebBaseNetscapePluginStream _destroyStream]):
2247         ditto
2248         (-[WebBaseNetscapePluginStream _deliverData]):
2249         ditto
2250
2251 2006-08-01  Maciej Stachowiak  <mjs@apple.com>
2252
2253         - fix build after last change
2254
2255         * WebView/WebFrame.m:
2256         (-[WebFrame _checkLoadCompleteForThisFrame]):
2257
2258 2006-08-01  Maciej Stachowiak  <mjs@apple.com>
2259
2260         Reviewed by Beth.
2261
2262         - revert part of my last fix that broke the Safari bookmarks view
2263         
2264         * WebView/WebFrame.m:
2265         (-[WebFrame _checkLoadCompleteForThisFrame]): still send layout message for non-HTML views
2266
2267 2006-08-01  Tim Omernick  <timo@apple.com>
2268
2269         Reviewed by Anders.
2270
2271         Fixed an assertion failure I ran into while debugging <rdar://problem/4652683>.
2272
2273         * Plugins/WebNetscapePluginEmbeddedView.m:
2274         (-[WebNetscapePluginEmbeddedView redeliverStream]):
2275         Don't clear the "instance" ivar here.  This code was refactored here from the old WebNetscapePluginRepresentation,
2276         which also had an "instance" ivar.  It is never appropriate to clear a plug-in view's instance.  That is done when
2277         the plug-in is destroyed.
2278
2279 2006-08-01  Maciej Stachowiak  <mjs@apple.com>
2280
2281         Reviewed by Geoff.
2282         
2283         - some refactoring in preparation for moving more stuff to WebFrameLoader.
2284
2285         * WebView/WebFrame.m:
2286         (-[WebFrame _clearDataSource]): 
2287         (-[WebFrame _detachFromParent]):
2288         (-[WebFrame _commitProvisionalLoad]):
2289         (-[WebFrame _transitionToCommitted:]):
2290         (-[WebFrame _clearProvisionalLoad]):
2291         (-[WebFrame _markLoadComplete]):
2292         (-[WebFrame _checkLoadCompleteForThisFrame]):
2293         (-[WebFrame _startProvisionalLoad:]):
2294         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
2295         (-[WebFrame stopLoading]):
2296
2297 2006-07-31  Maciej Stachowiak  <mjs@apple.com>
2298
2299         Reviewed by Tim Hatcher.
2300         
2301         - renamed TransferJob to ResourceLoader in WebCore
2302
2303         * COM/WebFrame.cpp:
2304         (WebFrame::loadDataSource):
2305         (WebFrame::receivedRedirect):
2306         (WebFrame::receivedResponse):
2307         (WebFrame::receivedData):
2308         (WebFrame::receivedAllData):
2309         (WebFrame::setStatusText):
2310         * COM/WebFrame.h:
2311
2312 2006-07-31  Darin Adler  <darin@apple.com>
2313
2314         Reviewed by Maciej.
2315
2316         - omit the margin and padding boxes for display types where they are ignored
2317         - use CSS instead of properties for table spacing and padding as suggested by Tim H.
2318
2319         * WebInspector/webInspector/inspector.css: Added rules for spacing and padding.
2320         Added rules that hide the margin and padding boxes (borders and all but the center cell)
2321         when the hide attribute is present.
2322         * WebInspector/webInspector/inspector.html: Added classes for the rules above.
2323         Removed cellpadding and cellspacing attributes.
2324         * WebInspector/webInspector/inspector.js: Added code to hide/show the margin and
2325         padding boxes based on the display type.
2326
2327 2006-07-31  Duncan Wilcox  <duncan@mclink.it>
2328
2329         Reviewed by Darin.
2330
2331         Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=10159>
2332         "REGRESSION: delegate returning no menu elements crashes webkit"
2333
2334         No automated test, because there's no way to programmatically open a context menu,
2335         no manual test because there's no way to customize the context menu delegate.
2336
2337         * WebView/WebView.m:
2338         (-[WebView _menuForElement:defaultItems:]): Make sure the context menu returned
2339         some menu items before accessing the first one.
2340
2341 2006-07-31  Timothy Hatcher  <timothy@apple.com>
2342
2343         Reviewed by John.
2344
2345         <rdar://problem/4658194> REGRESSION: "Search in Google"
2346         and "Search in Spotlight" fail to work on text selected in a frame
2347
2348         Use selectedFrame to get the frame with the text selection.
2349
2350         * WebView/WebView.m:
2351         (-[WebView _searchWithGoogleFromMenu:]):
2352         (-[WebView _searchWithSpotlightFromMenu:]):
2353
2354 2006-07-31  Darin Adler  <darin@apple.com>
2355
2356         Reviewed by Tim Hatcher.
2357
2358         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10168
2359           add a first cut at a Metrics pane to the inspector
2360
2361         * WebInspector/webInspector/inspector.css: Add styles for the new metrics pane.
2362         * WebInspector/webInspector/inspector.html: Add the new metrics pane, starting with
2363         the table to show the box model.
2364         * WebInspector/webInspector/inspector.js: Add the new metrics pane. Add back some
2365         "title" attributes so we have more tooltips. Removed the optional parameter to
2366         getComputedStyle.
2367
2368 2006-07-31  Anders Carlsson  <acarlsson@apple.com>
2369
2370         Reviewed by John.
2371
2372         * Plugins/WebPluginDatabase.m:
2373         (-[WebPluginDatabase refresh]):
2374         Create a mutable set instead of a mutable array.
2375
2376 2006-07-30  Darin Adler  <darin@apple.com>
2377
2378         Reviewed by Tim Hatcher.
2379
2380         * WebInspector/webInspector/inspector.js: Fix bug where a null property value
2381         leads to an empty style pane.
2382
2383 2006-07-30  Darin Adler  <darin@apple.com>
2384
2385         Reviewed by Tim Hatcher.
2386
2387         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10163
2388           some improvements for the inspector
2389
2390         * WebInspector/WebInspector.m:
2391         (+[WebInspector sharedWebInspector:]): Fixed bug that could cause the inspector
2392         to be garbage collected if used in an application with GC enabled.
2393         (-[WebInspector dealloc]): Removed a call to a non-existent close method.
2394         (-[WebInspector window]): Added a custom WebPreferences object and called
2395         setPrivateBrowsingEnabled:YES so the inspector won't appear in the history menu.
2396         Also call setProhibitsMainFrameScrolling:YES to try to get rid of trouble where
2397         the inspector scrolls when dragging.
2398
2399         * WebInspector/webInspector/inspector.css: Added style for the new color swatch,
2400         and JavaScript properties. More of the style should be shared between the panes,
2401         but this should be OK for now.
2402
2403         * WebInspector/webInspector/inspector.html: Added a first cut at a JavaScript
2404         properties pane. Needs work, but better than nothing.
2405
2406         * WebInspector/webInspector/inspector.js: Lots of improvements:
2407         - Omit "typical" property values from computed style display, making it much shorter.
2408         - Use the words "black", "white", and "transparent" when appropriate for color values.
2409         - Refactored the loaded() function to get rid of repetitive scrollbar setup.
2410         - Added a new scrollarea for the JavaScript properties pane.
2411         - Simplified refreshScrollbars() -- we now refresh all scrollbars every time, which does no harm.
2412         - Removed unused resultsWithXpathQuery().
2413         - Use [] instead of "new Array()" and {} instead of "new Object()".
2414         - Removed unused xpathForNode().
2415         - Changed style pane to display the style for a text node's parent instead of saying
2416           it can't display the style for text.
2417         - Fixed regression I caused a while back by checking the length of a computed style
2418           and not trying to display anything if its length is 0. Before this change and the
2419           corresponding change in WebCore, we'd see a complete list of all styles with the
2420           empty string as the value for each one.
2421         - Changed the name of the computedStyle flag on the style rules array to isComputedStyle
2422           to make it easier to understand it's a boolean.
2423         - Fixed an error in the code that does !important scanning where it was trying to
2424           do a special case for computed style, but was checking the computed style flag on
2425           the wrong object.
2426         - Added populateStyleListItem() function to factor out things in common between the
2427           items in the top level list and the expanded tree for shorthand properties.
2428         - Added code to make a color swatch next to the textual representation for any
2429           property that contains a color.
2430         - Implemented a first cut at a simple JavaScript properties pane.
2431
2432 2006-07-29  Darin Adler  <darin@apple.com>
2433
2434         - Removed tabs from these source files that still had them.
2435           We don't use them; that way source files look fine in editors
2436           that have tabs set to 8 spaces or to 4 spaces.
2437         - Removed allow-tabs Subversion property from the files too.
2438
2439         * DefaultDelegates/WebDefaultPolicyDelegate.m:
2440         * History/WebHistory.m:
2441         * Misc/WebDownload.m:
2442         * Misc/WebIconDatabase.m:
2443         * Misc/WebKitErrors.m:
2444         * Misc/WebKitLogging.m:
2445         * Misc/WebNSDataExtras.m:
2446         * Misc/WebNSFileManagerExtras.m:
2447         * Panels/WebPanelAuthenticationHandler.m:
2448         * Plugins/WebBaseNetscapePluginView.m:
2449         * Plugins/npfunctions.h:
2450         * WebCoreSupport/WebSubresourceLoader.m:
2451         * WebView/WebMainResourceLoader.m:
2452         * WebView/WebView.h:
2453         * WebView/WebView.m:
2454
2455 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
2456
2457         Reviewed by Darin.
2458
2459         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10080
2460           Adopt pedantic changes from the Unity project to improve 
2461           cross-compiler compatibility
2462
2463           Changes include:
2464           * Adding missing newline to the end of the file.
2465           * Turning on gcc warning for missing newline at the end of a source file
2466             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
2467
2468         * WebKit.xcodeproj/project.pbxproj:
2469         * WebView/WebResourcePrivate.h:
2470
2471 2006-07-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2472
2473         Reviewed by John Sullivan.
2474
2475          - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9984
2476           ASSERTION FAILURE: _private->mouseDownEvent != nil
2477           (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
2478
2479         * WebView/WebHTMLView.m:
2480         (-[WebHTMLView _setMouseDownEvent:]): Moved into the WebHTMLViewFileInternal category and changed
2481         to accept nil.
2482         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2483         Copy the hit HTMLView's mouse down event to the top HTMLView.
2484         (-[WebHTMLView acceptsFirstMouse:]): Added a call to _setMouseDownEvent:nil before returning.
2485         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Added a call to _setMouseDownEvent:nil
2486         before returning.
2487         (-[WebHTMLView mouseUp:]): Added a call to _setMouseDownEvent:nil to clear the event set in
2488         mouseDown: (and used during dragging).
2489         (-[WebHTMLView _delegateDragSourceActionMask]): Copy the hit HTMLView's mouse down event to
2490         the top HTMLView.
2491
2492 2006-07-28  Timothy Hatcher  <timothy@apple.com>
2493
2494         Reviewed by John.
2495
2496         <rdar://problem/4657473> REGRESSION: Spell check not available from contextual menu in Mail
2497
2498         The context menu code should be checking isContentEditable
2499         on DOMNode not just DOMElement. This is needed because DOMText
2500         will be the node class of any text that is clicked.
2501
2502         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2503         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
2504
2505 2006-07-25  Geoffrey Garen  <ggaren@apple.com>
2506
2507         Reviewed by Maciej, inspired by John.
2508         
2509         - Fixed <rdar://problem/4651931> 1% REGRESSION on iBench HTML due to 
2510         repeated requests for non-existent favicon
2511         
2512         An optimization to avoid serializing favicon data for missing icons had stomped an
2513         optimization to avoid GETing a missing favicon more than once. The solution
2514         is a happy marriage of optimizations, ensuring that we *retain* the missing
2515         favicon's "i am missing" data without posting a notification or saving it to disk.
2516
2517         * Misc/WebIconDatabase.m:
2518         (-[WebIconDatabase _setIconURL:forURL:]):
2519
2520 2006-07-25  David Harrison  <harrison@apple.com>
2521
2522         Reviewed by timo and Darin.
2523
2524         <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
2525         
2526         * WebKit.xcodeproj/project.pbxproj:
2527         * WebView/WebView.m:
2528         (-[WebView replaceSelectionWithNode:]):
2529         (-[WebView _replaceSelectionWithNode:matchStyle:]):
2530         * WebView/WebViewPrivate.h:
2531         (-[WebView _replaceSelectionWithNode:matchStyle::]):
2532         New SPI that is same as replaceSelectionWithNode: with added parameter whether to match existing style.
2533
2534 2006-07-24  Darin Adler  <darin@apple.com>
2535
2536         Reviewed by Adele and Justin.
2537
2538         - update for change to require context when creating fragments from text
2539           (needed to handle whitespace properly)
2540
2541         * WebView/WebHTMLView.m:
2542         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
2543         Added context parameter, pass through to bridge.
2544         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Pass selection range as context
2545         when calling above method.
2546         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Pass drag caret as context when
2547         calling above method.
2548
2549 2006-07-24  Maciej Stachowiak  <mjs@apple.com>
2550
2551         Reviewed by Geoff.
2552         
2553         - fix <rdar://problem/4609195> Help Viewer loads empty window (not getting didFailLoadingWithError: callback)
2554         (without re-introducing http://bugzilla.opendarwin.org/show_bug.cgi?id=10062 )
2555
2556         * WebView/WebLoader.h:
2557         * WebView/WebMainResourceLoader.m:
2558         (-[WebMainResourceLoader receivedError:]): Copy in some code from the base class to do it in the proper
2559         order, surrounding the call to [ds _receivedMainResourceError:error complete:YES].
2560
2561 2006-07-24  Anders Carlsson  <acarlsson@apple.com>
2562
2563         Reviewed by Tim O.
2564
2565         * Misc/WebIconDatabase.m:
2566         (-[WebIconDatabase removeAllIcons]):
2567         Make an array of the keys and iterate through it to avoid modifying the
2568         dictionary while enumerating it.
2569
2570 2006-07-24  Timothy Hatcher  <timothy@apple.com>
2571
2572         Reviewed by John and Darin.
2573
2574         <rdar://problem/4634290> Cannot selectively install a custom
2575         scroller that differs from the default Aqua frame size.
2576
2577         Adds two new private methods to WebFrameView that allows
2578         an application to set a custom scroll view class. This is needed
2579         if the application wants to install a custom scroller that is wider
2580         than the typical scroller, because NSScrollView does the content
2581         rect calculations in a class method (ignoring custom scrollers.)
2582         The _setScrollViewClass method requires the class to be a subclass
2583         of WebDynamicScrollBarView, or nil can be passed to reset to the default class.
2584         A new scroll view of the specified class will then replace the previous
2585         one without the need to reload content of the frame.
2586
2587         * WebView/WebFrameView.m:
2588         (-[WebFrameView _customScrollViewClass]):
2589         (-[WebFrameView _setCustomScrollViewClass:]):
2590         * WebView/WebFrameViewPrivate.h:
2591
2592 2006-07-24  Alexey Proskuryakov  <ap@nypop.com>
2593
2594         Reviewed by Darin.
2595
2596         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10009
2597         REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
2598
2599         * WebView/WebView.m:
2600         (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): If we've got a type supported by WebPDFView,
2601         make sure to initialize the plugin database, in case a plugin wants to handle it.
2602
2603 2006-07-23  Mark Rowe  <opendarwin.org@bdash.net.nz>
2604
2605         Reviewed by Maciej.
2606
2607         Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
2608         http://bugzilla.opendarwin.org/show_bug.cgi?id=9686
2609
2610         WebKit portion of the fix.
2611
2612         * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
2613         (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
2614         * DefaultDelegates/WebScriptDebugServer.h:
2615         * DefaultDelegates/WebScriptDebugServer.m:
2616         (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]): Notify
2617         listeners that an exception has been raised.
2618         * WebView/WebScriptDebugDelegate.h:
2619         * WebView/WebScriptDebugDelegate.m:
2620         (-[WebScriptCallFrame exceptionRaised:sourceId:line:]): Dispatch through to delegate and
2621         WebScriptDebugServer.
2622
2623 2006-07-23  Adele Peterson  <adele@apple.com>
2624
2625         Reviewed by Darin.
2626
2627         - Fix for <rdar://problem/4646276> CrashTracer: 7 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::paint + 155
2628
2629         * WebView/WebHTMLView.m: (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
2630         needsDisplay was returning NO even though the view has a dirty rect (see <rdar://problem/4647062>).  Since we know about
2631         the dirty rect, we don't actually need to check needsDisplay.
2632
2633 2006-07-22  Timothy Hatcher  <timothy@apple.com>
2634
2635         Rolling out r15572.
2636         
2637         Bug 10062: REGRESSION: dom/xhtml/level2/html/HTMLIFrameElement11.xhtml asserts/crashes
2638         http://bugzilla.opendarwin.org/show_bug.cgi?id=10062
2639
2640     2006-07-21  Timothy Hatcher  <timothy@apple.com>
2641
2642         Reviewed by Maciej.
2643
2644         <rdar://problem/4609195> Help Viewer loads empty window
2645         (not getting didFailLoadingWithError: callback)
2646
2647         Call super's didFailWithError before _receivedMainResourceError
2648         because _receivedMainResourceError will cause the datasource's
2649         frame to be set to nil before the didFailLoadingWithError delegate
2650         callback is sent. (This order is needed now that WebDataSource does
2651         not hold on to the WebView; it uses the WebFrame to get to the WebView.
2652         If the WebFrame is nil we can't get to the WebView's resource load delegate.)
2653
2654         * WebView/WebMainResourceLoader.m:
2655         (-[WebMainResourceLoader receivedError:]):
2656
2657
2658 2006-07-22  Timothy Hatcher  <timothy@apple.com>
2659
2660         Reviewed by Adele.
2661
2662         <rdar://problem/4646318> REGRESSION: Ctrl-clicking on a selection containing a word doesn't display a complete contextual menu
2663         
2664         Show the editing context menu if the WebView is editible.
2665         The original change only checked if the DOM element was editable,
2666         and isContentEditable returns NO if entire WebView is editable.
2667
2668         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2669         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
2670
2671 2006-07-21  Timothy Hatcher  <timothy@apple.com>
2672
2673         Reviewed by Maciej.
2674
2675         <rdar://problem/4609195> Help Viewer loads empty window
2676         (not getting didFailLoadingWithError: callback)
2677
2678         Call super's didFailWithError before _receivedMainResourceError
2679         because _receivedMainResourceError will cause the datasource's
2680         frame to be set to nil before the didFailLoadingWithError delegate
2681         callback is sent. (This order is needed now that WebDataSource does
2682         not hold on to the WebView; it uses the WebFrame to get to the WebView.
2683         If the WebFrame is nil we can't get to the WebView's resource load delegate.)
2684
2685         * WebView/WebMainResourceLoader.m:
2686         (-[WebMainResourceLoader receivedError:]):
2687
2688 === Safari-521.20 ===
2689
2690 2006-07-21  Timothy Hatcher  <timothy@apple.com>
2691
2692         Reviewed by John.
2693
2694         <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)
2695
2696         Do not use _isEditable call since that only checks if the current
2697         selection or frame is editible. We now check if the currently clicked element
2698         is a content editible area, a textarea, an isindex or an input element that
2699         return YES to _isTextField.
2700
2701         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2702         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
2703
2704 2006-07-20  John Sullivan  <sullivan@apple.com>
2705
2706         Reviewed by Maciej
2707
2708         - WebKit part of fix for:
2709         <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving 
2710         closing tabs after clicking in a web page
2711
2712         * WebCoreSupport/WebFrameBridge.m:
2713         (-[WebFrameBridge textViewWasFirstResponderAtMouseDownTime:]):
2714         renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)        
2715         
2716         * WebView/WebHTMLViewInternal.h:
2717         * WebView/WebHTMLView.m:
2718         (-[WebTextCompleteController dealloc]):
2719         updated for name change
2720         (-[NSArray _setMouseDownEvent:]):
2721         Now only retains the first responder if it's a textView, since that's the only case that the only client
2722         actually cares about. This avoids a reference cycle caused by retaining self. This is the only substantive
2723         part of the patch; all the rest is just renaming for clarity, and comments.
2724         (-[NSArray mouseDown:]):
2725         updated for name change
2726         (-[WebHTMLView _textViewWasFirstResponderAtMouseDownTime:]):
2727         renamed to be more specific (formerly _wasFirstResponderAtMouseDownTime:)        
2728
2729 2006-07-19  Tim Omernick  <timo@apple.com>
2730
2731         Reviewed by Darin.
2732
2733         <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or other WebPreferences changes)
2734
2735         * Plugins/WebBaseNetscapePluginView.m:
2736         (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
2737         Stop the plug-in when it is removed from its superview.  It is not sufficient to do this in -viewWillMoveToWindow:nil, because
2738         the WebView might still has a hostWindow at that point, which prevents the plug-in from being destroyed.
2739         There is no need to start the plug-in when moving into a superview.  -viewDidMoveToWindow takes care of that.
2740
2741 === Safari-521.19 ===
2742
2743 2006-07-17  Tim Omernick  <timo@apple.com>
2744
2745         Reviewed by Maciej.
2746
2747         <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
2748         by script
2749
2750         * WebView/WebViewPrivate.h:
2751         * WebView/WebView.m:
2752         (-[WebView setProhibitsMainFrameScrolling:]):
2753         New method.  Prohibits scrolling in the WebView's main frame.  Used to "lock" a WebView to a specific
2754         scroll position.
2755
2756 2006-07-17  Timothy Hatcher  <timothy@apple.com>
2757
2758         Reviewed by Darin.
2759         
2760         <rdar://problem/4635311> REGRESSION: WebKit should call windowScriptObjectAvailable before attaching the script debugger
2761
2762         * WebCoreSupport/WebFrameBridge.m:
2763         (-[WebFrameBridge windowObjectCleared]):
2764
2765 2006-07-17  Timothy Hatcher  <timothy@apple.com>
2766
2767         Reviewed by Maciej.
2768
2769         <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit
2770
2771         Copy WebScriptObject.h from WebCore's private headers, not JavaScriptCore.
2772
2773         * WebKit.xcodeproj/project.pbxproj:
2774
2775 2006-07-17  John Sullivan  <sullivan@apple.com>
2776
2777         Reviewed by Tim Omernick.
2778         
2779         - fixed <rdar://problem/4604366> Orange Find highlight displays text in wrong size on PDF pages 
2780         if they're not at "actual size"
2781         
2782         To match WebHTMLView, I made the methods that return attributed strings take the view's scale
2783         factor into account.
2784
2785         * WebView/WebPDFView.m:
2786         (-[WebPDFView _scaledAttributedString:]):
2787         new helper method, takes an attributed string and returns one that's scaled by the view's
2788         current scale factor
2789         (-[WebPDFView attributedString]):
2790         pass result through _scaledAttributedString:
2791         (-[WebPDFView selectedAttributedString]):
2792         ditto
2793
2794 2006-07-17  Justin Garcia  <justin.garcia@apple.com>
2795
2796         Reviewed by levi
2797         
2798         Rolled the first fix for:
2799         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
2800         GMail Editor: Operations that use drop down menus blow away the selection
2801         back in and removed the call to _clearSelectionInOtherFrames from 
2802         -[WebHTMLView becomeFirstResponder] to fix the bug.
2803
2804         * WebView/WebHTMLView.m:
2805         (-[NSArray maintainsInactiveSelection]):
2806         (-[NSArray becomeFirstResponder]):
2807         * WebView/WebView.m:
2808         (-[WebView maintainsInactiveSelection]):
2809
2810 2006-07-15  Darin Adler  <darin@apple.com>
2811
2812         Reviewed by John Sullivan.
2813
2814         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9928
2815           REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)
2816
2817         * WebView/WebHTMLView.m:
2818         (-[WebHTMLView _documentRange]): Moved into WebHTMLViewFileInternal category.
2819         (-[WebHTMLView selectionRect]): Moved into WebDocumentPrivateProtocols category.
2820         (-[WebHTMLView selectionView]): Ditto.
2821         (-[WebHTMLView selectionImageForcingWhiteText:]): Ditto.
2822         (-[WebHTMLView selectionImageRect]): Ditto.
2823         (-[WebHTMLView pasteboardTypesForSelection]): Ditto.
2824         (-[WebHTMLView selectAll]): Ditto.
2825         (-[WebHTMLView deselectAll]): Ditto.
2826         (-[WebHTMLView string]): Ditto.
2827         (-[WebHTMLView _attributeStringFromDOMRange:]): Ditto.
2828         (-[WebHTMLView attributedString]): Ditto.
2829         (-[WebHTMLView selectedString]): Ditto.
2830         (-[WebHTMLView selectedAttributedString]): Ditto.
2831         (-[WebHTMLView supportsTextEncoding]): Ditto.
2832         (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Moved into WebDocumentInternalProtocols.
2833         (-[WebHTMLView _isMoveDrag]): Ditto.
2834         (-[WebHTMLView _isNSColorDrag:]): Ditto.
2835         (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
2836         (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
2837         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto.
2838         (-[WebHTMLView elementAtPoint:]): Ditto.
2839         (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
2840
2841         * WebKit.xcodeproj/project.pbxproj: Let Xcode 2.3 do its thing.
2842
2843 === Safari-521.17 ===
2844
2845 2006-07-14  Timothy Hatcher  <timothy@apple.com>
2846
2847         Rolling out this fix from r15358 since it isn't resolved.
2848
2849     2006-07-11  Justin Garcia  <justin.garcia@apple.com>
2850
2851         Reviewed by levi & thatcher
2852
2853         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
2854         GMail Editor: Operations that use drop down menus blow away the selection
2855
2856         * WebView/WebHTMLView.m:
2857         (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
2858         when resigning as first responder if the selection is editable
2859         or if the WebView tells us to.
2860         * WebView/WebView.m:
2861         (-[WebView maintainsInactiveSelection]): Just because a WebView is
2862         editable doesn't mean selections inside subframes will be.  Return
2863         NO by default.
2864
2865 2006-07-14  Timothy Hatcher  <timothy@apple.com>
2866
2867         <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure
2868
2869         Build fix with the new GCC. Removes forward declarations of protocols.
2870
2871         * Misc/WebSearchableTextView.h:
2872         * WebCoreSupport/WebSubresourceLoader.h:
2873         * WebKit.xcodeproj/project.pbxproj:
2874         * WebView/WebDocumentInternal.h:
2875         * WebView/WebDocumentPrivate.h:
2876         * WebView/WebHTMLView.h:
2877         * WebView/WebPDFView.h:
2878         * WebView/WebScriptDebugDelegatePrivate.h:
2879
2880 2006-06-28  Darin Adler  <darin@apple.com>
2881
2882         Reviewed by Adele.
2883
2884         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9625
2885           <rdar://problem/4604703>
2886           REGRESSION: Focus not removed from password field after ctrl-click in text field
2887
2888         * WebView/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): Set handlingMouseDownEvent to
2889         YES while calling sendContextMenuEvent: on the bridge.
2890
2891 2006-07-14  Timothy Hatcher  <timothy@apple.com>
2892
2893         Reviewed by Maciej.
2894
2895         Moved JavaScriptCore to be a public framework.
2896
2897         * WebKit.xcodeproj/project.pbxproj:
2898
2899 2006-07-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2900
2901         Reviewed by Darin.
2902
2903         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9795
2904           REGRESSION: Crash in [WebHTMLView(WebPrivate) 
2905           _updateMouseoverWithEvent:]
2906           and http://bugzilla.opendarwin.org/show_bug.cgi?id=9850
2907           REGRESSION: Assertion failure (SHOULD NEVER BE REACHED) in -
2908           [WebHTMLView(WebPrivate) removeTrackingRect:]
2909
2910         * WebView/WebHTMLView.m:
2911         (-[WebHTMLView _updateMouseoverWithEvent:]): Return immediately if 
2912         the view has already been closed.
2913
2914 2006-07-13  David Harrison  <harrison@apple.com>
2915
2916         Reviewed by Justin and Levi.
2917
2918         <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing
2919
2920         * Tests:
2921         editing/deleting/delete-by-word-001.html
2922         editing/deleting/delete-by-word-002.html
2923
2924         * WebView/WebHTMLView.m:
2925         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
2926
2927 2006-07-13  Timothy Hatcher  <timothy@apple.com>
2928
2929         Rolling out this earlier change (r15378) now that it is fixed on AGL's end.
2930         Fixes <rdar://problem/4624865> Restore 64-bit OpenGL plug-in support once AGL is 64-bit
2931
2932         <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
2933
2934         * Plugins/WebBaseNetscapePluginView.h:
2935         * Plugins/WebBaseNetscapePluginView.m:
2936
2937 2006-07-13  Timothy Hatcher  <timothy@apple.com>
2938
2939         Reviewed by Darin.
2940
2941         <rdar://problem/4616920> REGRESSION: tabbing in mail moves focus
2942         to next control instead of inserting a tab space.
2943
2944         Change editible WebView's tabKeyCyclesThroughElements to NO only
2945         if the setTabKeyCyclesThroughElements SPI wasn't called.
2946
2947         * WebView/WebView.m:
2948         (-[WebView setEditable:]):
2949
2950 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
2951
2952         Reviewed by Darin.
2953
2954         http://bugzilla.opendarwin.org/show_bug.cgi?id=9624
2955         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
2956
2957         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2958         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
2959         Don't create Dictionary, Spotlight or Google lookup items if there's no selection.
2960
2961 2006-07-12  Mark Rowe  <opendarwin.org@bdash.net.nz>
2962
2963         Reviewed by Timothy.
2964
2965         http://bugzilla.opendarwin.org/show_bug.cgi?id=9868
2966         Applications shown in Drosera's "Attach" window remain after exit
2967
2968         * DefaultDelegates/WebScriptDebugServer.m:
2969         (-[WebScriptDebugServer init]): Register for NSApplicationWillTerminateNotification so we will
2970         know when the application is being exited.
2971         (-[WebScriptDebugServer dealloc]): Unregister notification before we are deallocated.
2972         (-[WebScriptDebugServer applicationTerminating:]): Inform anyone listening that we are going away.
2973
2974 2006-07-12  Tim Omernick  <timo@apple.com>
2975
2976         Reviewed by Tim Hatcher.
2977
2978         <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
2979
2980         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
2981         from earlier.
2982
2983         * Plugins/WebBaseNetscapePluginView.h:
2984         * Plugins/WebBaseNetscapePluginView.m:
2985
2986 2006-07-11  John Sullivan  <sullivan@apple.com>
2987
2988         Reviewed by Kevin and Tim O
2989
2990         - added support for creating a selection image with white text
2991
2992         * WebView/WebDocumentPrivate.h:
2993         added -selectionImageForcingWhiteText: and -selectionImageRect to the private
2994         <WebDocumentSelection> protocol
2995
2996         * Misc/WebSearchableTextView.m:
2997         (-[NSString selectionImageForcingWhiteText:]):
2998         added stub for this new method to this obsolete class to satisfy the compiler
2999         (-[NSString selectionImageRect]):
3000         ditto
3001         
3002         * WebView/WebHTMLView.m:
3003         (-[WebHTMLView _selectionDraggingImage]):
3004         now calls -selectionImageForcingWhiteText:NO instead of just -selectionImage
3005         (-[WebHTMLView _selectionDraggingRect]):
3006         now calls selectionImageRect, to which the implementation moved
3007         (-[WebHTMLView selectionImageForcingWhiteText:]):
3008         implemented this new method by calling through to new bridge method selectionImageForcingWhiteText:
3009         (-[WebHTMLView selectionImageRect]):
3010         implemented this new method by using existing _selectionDraggingRect implementation
3011         
3012         * WebView/WebPDFView.m:
3013         (-[WebPDFView selectionImageForcingWhiteText:]):
3014         implemented by using code that was formerly in Safari
3015         (-[WebPDFView selectionImageRect]):
3016         implemented by returning selectionRect
3017
3018 2006-07-11  Tim Omernick  <timo@apple.com>
3019
3020         Reviewed by Geoff.
3021
3022         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9843>:
3023         Give Netscape plug-ins access to their own DOM element
3024
3025         * Plugins/WebBaseNetscapePluginView.h:
3026         * Plugins/WebBaseNetscapePluginView.m:
3027         (-[WebBaseNetscapePluginView dealloc]):
3028         Release DOM element.
3029         (-[WebBaseNetscapePluginView getVariable:value:]):
3030         Return NPObject for plugin DOM element.
3031
3032         * Plugins/WebNetscapePluginEmbeddedView.h:
3033         * Plugins/WebNetscapePluginEmbeddedView.m:
3034         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
3035         Now takes a DOMElement, in much the same way that WebKit plug-in views take a DOMElement.
3036
3037         * WebCoreSupport/WebFrameBridge.m:
3038         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
3039         Pass DOMElement to Netscape plug-ins.
3040         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
3041         ditto
3042
3043 2006-07-11  Justin Garcia  <justin.garcia@apple.com>
3044
3045         Reviewed by levi & thatcher
3046         
3047         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
3048         GMail Editor: Operations that use drop down menus blow away the selection
3049         
3050         * WebView/WebHTMLView.m:
3051         (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
3052         when resigning as first responder if the selection is editable
3053         or if the WebView tells us to.
3054         * WebView/WebView.m:
3055         (-[WebView maintainsInactiveSelection]): Just because a WebView is
3056         editable doesn't mean selections inside subframes will be.  Return
3057         NO by default.
3058
3059 2006-07-11  Tim Omernick  <timo@apple.com>
3060
3061         Reviewed by Tim Hatcher.
3062
3063         <rdar://problem/4622748> WebKit now uses deprecated AGL functions
3064
3065         * Plugins/WebBaseNetscapePluginView.m:
3066         (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
3067         aglSetDrawable() is deprecated in AGL 3.0.  Use aglSetWindowRef() instead.
3068         (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
3069         aglSetOffScreen() is deprecated in AGL 3.0.  Use CGLSetOffScreen(), which does the same thing.
3070
3071 2006-07-11  Alexey Proskuryakov  <ap@nypop.com>
3072
3073         Reviewed by Tim O.
3074
3075         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7808
3076         Assertion failure in -[WebBaseNetscapePluginStream dealloc] when requesting an invalid URL
3077
3078         * Plugins/WebNetscapePluginStream.m:
3079         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
3080         Remove the early return when requesting an invalid (unsupported) URL.
3081
3082 === Safari-521.16 ===
3083
3084 2006-07-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3085
3086         Reviewed by John Sullivan.
3087
3088         - fix <rdar://problem/4621541>, aka <http://bugzilla.opendarwin.org/show_bug.cgi?id=9838>
3089           REGRESSION (r14968-r14977): View Source doesn't work for pages from the back/forward cache
3090
3091         * WebView/WebDataSource.m:
3092         (-[WebDataSource _setPrimaryLoadComplete:]): Set our data only if the frame loader is
3093         has just loaded it (when coming from the back/forward cache, it hasn't).
3094
3095 2006-07-10  Brady Eidson  <beidson@apple.com>
3096
3097         Reviewed by Alexey
3098
3099         Resolved the console error messages people got from the new DB even if they didn't have it enabled
3100
3101         * Misc/WebIconDatabase.m:
3102         (-[WebIconDatabase init]):
3103         Disabled initializing the IconDatabaseBridge if user is living on the old DB
3104
3105 2006-07-10  Darin Adler  <darin@apple.com>
3106
3107         - try to fix Windows build
3108
3109         * COM/WebFrame.h: Qualify DeprecatedString and KURL with WebCore:: prefixes.
3110
3111 2006-07-09  Darin Adler  <darin@apple.com>
3112
3113         - try to fix Windows build
3114
3115         * COM/WebFrame.cpp: Rename QChar to DeprecatedChar.
3116
3117 2006-07-09  Darin Adler  <darin@apple.com>
3118
3119         - fix newlines to be consistent for all files in the COM directory
3120           (many had mixed style) and set the EOL style to "native" on them.
3121
3122         * COM/*: Set properties and changed files.
3123
3124 2006-07-09  Tim Omernick  <timo@apple.com>
3125
3126         Reviewed by Maciej.
3127
3128         <rdar://problem/4404652> Netscape plug-in mouse events broken in HiDPI
3129
3130         Multiply global mouse coordinates by the window scale factor so that plug-ins can use GlobalToLocal() in HiDPI.
3131         This fixes many bugs involving plug-in mouse event handling in HiDPI.  Most notably, the Flash player will now
3132         correctly respond to clicks.
3133
3134         * Plugins/WebBaseNetscapePluginView.m:
3135         (+[WebBaseNetscapePluginView getCarbonEvent:]):
3136         (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
3137
3138 2006-07-09  Darin Adler  <darin@apple.com>
3139
3140         Reviewed by Tim Hatcher.
3141
3142         - fix assertion firing in plug-in layout tests
3143
3144         * Plugins/WebBaseNetscapePluginView.m:
3145         (-[WebBaseNetscapePluginView restartNullEvents]):
3146         Don't start null events if the plug-in is not in the
3147         started state. This happens when the plug-in moves within
3148         its view hierarchy after it has been stopped.
3149
3150 2006-07-09  Timothy Hatcher  <timothy@apple.com>
3151
3152         Reviewed by Darin.
3153
3154         Bug 9820: Move new DOM API that has been through API review to public headers
3155         http://bugzilla.opendarwin.org/show_bug.cgi?id=9820
3156
3157         * Misc/WebElementDictionary.m: include DOMExtensions.h
3158         * Misc/WebNSViewExtras.m: include DOMExtensions.h
3159         * WebKit.xcodeproj/project.pbxproj: make DOMXPath.h public
3160
3161 2006-07-09  Timothy Hatcher  <timothy@apple.com>
3162
3163         Reviewed by Kevin.
3164
3165         Bug 9818: move new UIDelegate API that has been through API review to public headers
3166         http://bugzilla.opendarwin.org/show_bug.cgi?id=9818
3167
3168         <rdar://problem/4387541> API: Remove webView:setContentRect: & webViewContentRect: delegate methods?
3169         The fix for 4310363 removed the only use of webViewContentRect: in our code. webView:setContentRect:
3170         was never used to begin with. There's no harm in leaving these around in the API, but they'll cruft it up.
3171
3172         Also removes the never used webViewPrint: SPI that was replaced by webView:printFrameView:.
3173
3174         * DefaultDelegates/WebDefaultUIDelegate.m:
3175         * WebCoreSupport/WebFrameBridge.m:
3176         (-[WebFrameBridge print]):
3177         * WebView/WebFrameView.h:
3178         * WebView/WebFrameView.m:
3179         * WebView/WebFrameViewPrivate.h:
3180         * WebView/WebUIDelegate.h:
3181         * WebView/WebUIDelegatePrivate.h:
3182
3183 2006-07-09  Timothy Hatcher  <timothy@apple.com>
3184
3185         Reviewed by Darin.
3186
3187         Bug 9814: Move new WebView API that has been through API review to public headers
3188         http://bugzilla.opendarwin.org/show_bug.cgi?id=9814
3189
3190         * WebView/WebView.h:
3191         * WebView/WebView.m:
3192         (-[WebView close]):
3193         (-[WebView setShouldCloseWithWindow:]):
3194         (-[WebView shouldCloseWithWindow]):
3195         (-[WebView selectedFrame]):
3196         (-[WebView setMainFrameURL:]):
3197         (-[WebView mainFrameURL]):
3198         (-[WebView isLoading]):
3199         (-[WebView mainFrameTitle]):
3200         (-[WebView mainFrameIcon]):
3201         (-[WebView mainFrameDocument]):
3202         (-[WebView setDrawsBackground:]):
3203         (-[WebView drawsBackground]):
3204         (-[WebView toggleSmartInsertDelete:]):
3205         (-[WebView toggleContinuousSpellChecking:]):
3206         (-[WebView canMakeTextStandardSize]):
3207         (-[WebView makeTextStandardSize:]):
3208         (-[WebView maintainsInactiveSelection]):
3209         * WebView/WebViewPrivate.h:
3210
3211 2006-07-09  Timothy Hatcher  <timothy@apple.com>
3212
3213         Reviewed by Maciej.
3214
3215         Bug 9487: The XPath section should be removed and/or moved.
3216         http://bugzilla.opendarwin.org/show_bug.cgi?id=9487
3217
3218         * WebInspector/webInspector/inspector.css:
3219         * WebInspector/webInspector/inspector.html:
3220         * WebInspector/webInspector/inspector.js:
3221
3222 2006-07-09  Anders Carlsson  <acarlsson@apple.com>
3223
3224         Reviewed by Tim O.
3225
3226         * WebCoreSupport/WebSystemInterface.m:
3227         (InitWebCoreSystemInterface):
3228         Initialize wkPathFromFont.
3229
3230 2006-07-09  Darin Adler  <darin@apple.com>
3231
3232         - fix release build
3233
3234         * Plugins/WebBaseNetscapePluginView.m:
3235         (-[WebBaseNetscapePluginView restorePortState:]): Cast inside the assertion so
3236         that we don't have an unused variable in versions with assertions disabled.
3237         The alternative would be to wrap the whole thing in an #if statement.
3238
3239 2006-07-08  Tim Omernick  <timo@apple.com>
3240
3241         Reviewed by John Sullivan.
3242
3243         * Plugins/WebBaseNetscapePluginView.h:
3244         - Added ivars for OpenGL support.  Someday it would be nice to refactor this class so
3245           that each drawing model is encapsulated in a class; this would allow
3246           WebBaseNetscapePluginView to make more efficient use of space, for example by not
3247           keeping OpenGL-related ivars for Quickdraw plug-ins.
3248         
3249         * Plugins/WebBaseNetscapePluginView.m:
3250         - Declared a bunch of internal methods for OpenGL support (see below).
3251         - Removed "forUpdate" from CoreGraphics port state struct; it was always set to "YES",
3252           so I just cleaned up the silly code that used it.
3253         - Declared OpenGL port state struct.
3254         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3255         - Moved a CoreGraphics-related assertion down to the big "switch" statement.
3256         - Don't set window.type here -- according to the Netscape Plug-in API docs, the plug-in
3257           should default to "windowed" mode, and may call NPN_SetValue() during its NPN_New() to
3258           request that the browser use a "windowless" (offscreen) context instead.
3259         - Moved the assertion from the top of this method here; removed a less restrictive
3260           assertion that is now obsolete.
3261         - Removed "forUpdate" flag from CoreGraphics port state struct.
3262         - Fill in OpenGL port state struct.  Set up the viewport appropriately for both windowed
3263           and windowless OpenGL plug-ins.  Windowed plug-ins need to have their GL viewport
3264           transformed by the amount the plug-in is clipped; windowless plug-ins are drawn off-screen
3265           into a surface whose geometry is never changed or clipped, so they may always draw with
3266           a viewport origin of (0, 0).
3267         (-[WebBaseNetscapePluginView restorePortState:]):
3268         - Removed "forUpdate" flag from CoreGraphics port state struct.
3269         - Restore the old OpenGL context saved by -saveAndSetNewPortStateForUpdate:.
3270         (-[WebBaseNetscapePluginView sendEvent:]):
3271         - Updated an assertion to also include OpenGL.  To ensure that attached plug-in window movements
3272           happen atomically with web page redisplays, we assert that the plug-in's window is set only while
3273           the plug-in view is redrawing.
3274         - Same deal as with the assertion; only save/set port state when redrawing the plug-in view.  Plug-ins
3275           that use the new drawing models are only allowed to draw when the web page draws.  I might consider
3276           changing this for windowed OpenGL plug-ins, since they always obscure the page content anyway.
3277         (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
3278         - Compare new NP_GLContext structs.
3279         (-[WebBaseNetscapePluginView updateAndSetWindow]):
3280         - In OpenGL mode, can only set window when updating plug-in view.
3281         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
3282         - ditto
3283         - Updated logging for OpenGL drawing mode.
3284         (-[WebBaseNetscapePluginView addWindowObservers]):
3285         - No need to observe frame/bounds change notifications for this and all parent views.  See -renewGState
3286           comments below.
3287         (-[WebBaseNetscapePluginView removeWindowObservers]):
3288         - Don't need to remove frame/bounds observers anymore.
3289         (-[WebBaseNetscapePluginView start]):
3290         - Plug-ins are "windowed" by default.  This is not a change from our previous behavior, but this is a
3291           better place to set the default value as it allows the plug-in to override it later.
3292         (-[WebBaseNetscapePluginView stop]):
3293         - Destroy AGL context when the plug-in stops.
3294         (-[WebBaseNetscapePluginView dealloc]):
3295         - Assert that the AGL stuff has been cleaned up.
3296         (-[WebBaseNetscapePluginView drawRect:]):
3297         - If this is a windowless OpenGL plugin, blit its contents back into this view.
3298         (-[WebBaseNetscapePluginView renewGState]):
3299         - This method is called when the view or one of its parents is moved or resized (see comments).
3300         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
3301         - Hide the AGL window if the plug-in view is about to be removed from its window.
3302         (-[WebBaseNetscapePluginView viewHasMoved:]):
3303         - Renamed and moved to the "Internal" category.
3304         (-[WebBaseNetscapePluginView invalidateRegion:]):
3305         - Style changes.
3306         - Add support for OpenGL (uses the same region type as CoreGraphics).
3307         (-[WebBaseNetscapePluginView getVariable:value:]):
3308         - Style changes.
3309         - Implemented NPNVsupportsOpenGLBool; returns YES since we now support the OpenGL drawing model.
3310         (-[WebBaseNetscapePluginView setVariable:value:]):
3311         - Implemented NPPVpluginWindowBool, which allows plug-ins to specify whether they should be rendered in
3312           "windowed" or "windowless" mode.  This is an older part of the Netscape Plug-in API that was never
3313           implemented in WebKit.  "Windowed" Quickdraw plug-ins do not actually reside in a separate window, and
3314           can already do many of the same things (such as transparency) that only "windowless" plug-ins can do on
3315           other platforms.  However, we need the "windowed" vs. "windowless" distinction for OpenGL plug-ins so
3316           that they have some way of specifying whether they should be rendered on an accelerated overlay surface,
3317           composited into the browser window.
3318         - Support for setting the drawing model to OpenGL.
3319         (-[WebBaseNetscapePluginView _viewHasMoved]):
3320         - Renamed from -viewHasMoved:, and moved down in the file.
3321         - None of this work is necessary when the plug-in is not in a window; the plug-in's state will be properly
3322           restored when it is moved back into a window.
3323         - Reshape OpenGL surface window here.
3324         (-[WebBaseNetscapePluginView _createAGLContextIfNeeded]):
3325         - Creates the AGL context of the appropriate type (windowed/windowless).
3326         (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
3327         - Creates a windowed AGL context, which is an AGL context attached to a child window.  This is the only way
3328           to get true hardware acceleration.
3329         (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
3330         - Creates a windowless AGL context, which is an AGL context attached to an offscreen buffer.  This buffer can
3331           then be blitted back into the browser window with a different alpha, or scaled, or whatever.
3332         (-[WebBaseNetscapePluginView _cglContext]):
3333         - Returns the underlying CGL context from the AGL context.  We give the plug-in access to the CGL context because
3334           CGL is the more primitive of the GL drawable APIs and allows for finer control over the context.
3335         (-[WebBaseNetscapePluginView _getAGLOffscreenBuffer:width:height:]):
3336         - Returns the buffer allocated for the offscreen AGL context, if there is one.
3337         (-[WebBaseNetscapePluginView _destroyAGLContext]):
3338         - Destroys the AGL context, as well as the associated offscreen buffer or child window.
3339         (-[WebBaseNetscapePluginView _reshapeAGLWindow]):
3340         - Positions the AGL window over the browser window.
3341         (-[WebBaseNetscapePluginView _hideAGLWindow]):
3342         - Hides the AGL window.
3343         (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
3344         - Returns an NSImage representation of the offscreen AGL context's framebuffer.  This is used to draw the offscreen
3345           bits back into the plug-in view.  This is kind of tricky because it has to convert the offscreen buffer in-place
3346           from BGRA to RGBA so that it can be wrapped in an NSBitmapImageRep.  See comments.
3347
3348         * WebKit.xcodeproj/project.pbxproj:
3349         Link OpenGL and AGL.
3350
3351 2006-07-09  Brady Eidson  <beidson@apple.com>
3352
3353         Reviewed by Maciej
3354
3355         The ICONDEBUG flag now chooses either the new icon database or the old one
3356         No longer any need to live side by side to compare results
3357
3358         * Misc/WebIconDatabase.m:
3359         (-[NSMutableDictionary iconURLForURL:]):
3360         (-[NSMutableDictionary retainIconForURL:]):
3361         (-[NSMutableDictionary releaseIconForURL:]):
3362         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
3363         (-[WebIconDatabase _setIconURL:forURL:]):
3364         (-[WebIconDatabase _resetCachedWebPreferences:]):
3365
3366 2006-07-08  Timothy Hatcher  <timothy@apple.com>
3367
3368         Reviewed by Maciej.
3369
3370         Bug 5312: comments aren't available via DOM
3371         http://bugzilla.opendarwin.org/show_bug.cgi?id=5312
3372
3373         Makes the Web Inspector show comment node contents.
3374
3375         * WebInspector/WebInspector.m:
3376         (-[DOMNode _displayName]): return the contents of the comment
3377         * WebInspector/webInspector/inspector.js: check for comment nodes
3378
3379 2006-07-09  Alexey Proskuryakov  <ap@nypop.com>
3380
3381         Reviewed by Darin.
3382
3383         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9572
3384         Add application/xhtml+xml to the Accept header
3385
3386         * WebView/WebFrame.m:
3387         (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Add an Accept header
3388         to main resource requests.
3389         * English.lproj/StringsNotToBeLocalized.txt: Added new strings.
3390
3391 2006-07-08  Darin Adler  <darin@apple.com>
3392
3393         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
3394         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
3395         Removed misleading old comment.
3396
3397 === Safari-521.15 ===
3398
3399 2006-07-07  Levi Weintraub  <lweintraub@apple.com>
3400
3401         Reviewed by justin
3402
3403         Finished moving deletion selection expansion across the bridge... say that 3 times fast.
3404
3405         * WebView/WebHTMLView.m:  Pass granularity to WebCore to handle expansion
3406         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
3407         (-[WebHTMLView _deleteSelection]):
3408         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
3409         (-[WebHTMLView deleteToMark:]):
3410
3411 2006-07-07  Brady Eidson  <beidson@apple.com>
3412
3413         Reviewed by John
3414
3415         Changed an ASSERT to a LOG_ERROR for an error that could be handled gracefully, but
3416         whose assertion was reproducibly causing a build bot failure
3417
3418         * Misc/WebIconDatabase.m:
3419         (-[WebIconDatabase _releaseIconForIconURLString:]):
3420
3421 2006-07-06  Levi Weintraub  <lweintraub@apple.com>
3422
3423         Reviewed by justin
3424
3425         Improved table editing
3426
3427         * WebCoreSupport/WebFrameBridge.m: Added method to allow WebCore to trigger
3428         deletion editing delegate
3429         (-[WebFrameBridge shouldDeleteSelectedDOMRange:]):
3430         * WebView/WebHTMLView.m: Moved code that expanded a selection when the delete
3431         key is pressed over to WebCore so we can be more intelligent about how to handle it
3432         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
3433         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
3434
3435 2006-07-07  John Sullivan  <sullivan@apple.com>
3436
3437         Reviewed by Tim Hatcher
3438         
3439         - fixed <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported
3440
3441         * WebKit.exp:
3442         added surprisingly missing _WebPreferencesChangedNotification, defined in
3443         WebPreferences.h
3444
3445 2006-07-06  Brady Eidson  <beidson@apple.com>
3446
3447         Reviewed by John.
3448
3449         Small fix to my previous small fix that only lets the ASSERT off the hook if the DB
3450         is closing
3451
3452         * Misc/WebIconDatabase.m:
3453         (-[WebIconDatabase _releaseIconForIconURLString:]):
3454
3455 2006-07-05  Brady Eidson  <beidson@apple.com>
3456
3457         Reviewed by Maciej
3458
3459         Small fix that prevents an assertion from triggering if the DB is being cleaned up 
3460         (ie, the app being shut down)
3461
3462         * Misc/WebIconDatabase.h:
3463         * Misc/WebIconDatabase.m:
3464         (-[NSMutableDictionary init]):
3465         (-[WebIconDatabase _applicationWillTerminate:]):
3466         (-[WebIconDatabase _releaseIconForIconURLString:]):
3467
3468 2006-07-05  Adele Peterson  <adele@apple.com>
3469
3470         Reviewed by Maciej and Hyatt.
3471
3472         WebKit part of initial popup menu implementation.
3473
3474         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
3475         Initialize WKPopupMenu.
3476
3477 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
3478
3479         Reviewed by Maciej.
3480
3481         http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
3482         iFrames set to display:none are Missing from frames array
3483         
3484         * WebCoreSupport/WebFrameBridge.m:
3485         (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
3486         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
3487         Modify to pass the owner element instead of the owner renderer.
3488         
3489         * WebView/WebHTMLView.m:
3490         (-[WebHTMLView _topHTMLView]):
3491         Remove assertion, it's not valid anymore.
3492
3493 2006-07-05  Timothy Hatcher  <timothy@apple.com>
3494
3495         Reviewed by Harrison.
3496
3497         <rdar://problem/4608423> HIViewAdapter used but not defined
3498         Adds a new export file to fix the build.
3499
3500         * WebKit.LP64.exp: Added.
3501         * WebKit.xcodeproj/project.pbxproj:
3502
3503 2006-07-04  Timothy Hatcher  <timothy@apple.com>
3504
3505         Reviewed by Maciej.
3506
3507         Bug 9731: [Drosera] crash when trying to access the scope chain
3508         http://bugzilla.opendarwin.org/show_bug.cgi?id=9731
3509
3510         Because of <rdar://problem/4608404> the WebScriptObject, _globalObj, that
3511         WebCoreScriptDebugger holds is unprotected each time the page changes.
3512         This causes Drosera to crash Safari when trying to access the scope chain.
3513         We simply need to detach and re-attach the debugger when the window script
3514         object is cleared until 4608404 is fixed. This change also attaches the
3515         debugger before we call the windowScriptObjectAvailable: delegate method,
3516         so the debugger is ready before anyone might use the window object.
3517
3518         * WebCoreSupport/WebFrameBridge.m:
3519         (-[WebFrameBridge windowObjectCleared]):
3520
3521 2006-07-04  Timothy Hatcher  <timothy@apple.com>
3522
3523         Reviewed by Darin.
3524
3525         Bug 9732: [Drosera] calling removeListener to many times will cause
3526                   WebKit's listener count to underflow/wraparound
3527         http://bugzilla.opendarwin.org/show_bug.cgi?id=9732
3528
3529         Adds a check to make sure the listener was in our listeners set before
3530         decrementing the global listener count. Also checks for nil in addListner
3531         to prevent a possible exception when adding the object to the set.
3532
3533         * DefaultDelegates/WebScriptDebugServer.m:
3534         (-[WebScriptDebugServer addListener:]):
3535         (-[WebScriptDebugServer removeListener:]):
3536
3537 2006-07-04  Alexey Proskuryakov  <ap@nypop.com>
3538
3539         Reviewed by Maciej.
3540
3541         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8210
3542         Conditional XMLHttpRequest gets should pass 304 responses unchanged
3543
3544         Test: http/tests/xmlhttprequest/cache-override.html
3545
3546         * Misc/WebNSURLRequestExtras.h: Added _web_isConditionalRequest
3547         * Misc/WebNSURLRequestExtras.m:
3548         (-[NSURLRequest _web_isConditionalRequest]):
3549         * WebCoreSupport/WebFrameBridge.m:
3550         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
3551         Bypass the cache for conditional requests.
3552         * WebCoreSupport/WebSubresourceLoader.m:
3553         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Ditto.
3554
3555 2006-07-01  David Kilzer  <ddkilzer@kilzer.net>
3556
3557         Reviewed by NOBODY (fixed Tim's build fix).
3558
3559         * WebView/WebView.m: Added back missing '/' at the beginning of the file.
3560
3561 2006-07-01  Tim Omernick  <timo@apple.com>
3562
3563         Reviewed by NOBODY (build fix)
3564
3565         * WebView/WebView.m:
3566         (-[WebView _isMIMETypeRegisteredAsPlugin:]):
3567         Changed nil to NO (typo).
3568
3569 === Safari-521.14 ===
3570
3571 2006-06-30  Timothy Hatcher  <timothy@apple.com>
3572
3573         Reviewed by Darin.
3574
3575         Only enable shouldCloseWithWindow when ObjC GC is enabled.
3576         This maintains backwards compatibility with applications
3577         that expect a WebView to be usable after the window closes.
3578
3579         * WebView/WebView.m:
3580         (-[WebViewPrivate init]):
3581
3582 2006-06-30  Timothy Hatcher  <timothy@apple.com>
3583
3584         Reviewed by Anders.
3585
3586         Call _close in dealloc to ensure we cleanup for backwards
3587         compatibility. This will safeguard and cleanup even if the
3588         application doesn't use the new close API yet, like Mail.
3589
3590         * WebView/WebView.m:
3591         (-[WebView dealloc]):
3592
3593 2006-06-29  Timothy Hatcher  <timothy@apple.com>
3594
3595         Reviewed by Darin.
3596
3597         <rdar://problem/4484405> WebKit leaks, improper tear-down
3598         <rdar://problem/3694059> -[WebBackForwardList finalize] is incorrect; design change needed
3599         <rdar://problem/3694103> -[WebFrame finalize] is incorrect; design change needed
3600         <rdar://problem/3694104> -[WebHTMLView finalize] is incorrect; design change needed
3601
3602         Adds a close method to WebView, this needs to be called when the 
3603         WebView is no longer needed. To make this easier for the common cases
3604         there is now an "auto close" on WebView that listens to the view's
3605         parent window. If the parent window closes and the WebView has no
3606         hostWindow then the WebView is automatically closed if autoClose is YES.
3607         To manage WebView closing yourself call setAutoClose: and pass NO.
3608
3609         When a WebView closes it will tear-down and not be usable anymore.
3610         Close will will called on various other internal objects as a part
3611         of this, to ensure proper tear-down in GC without relying on finalize.
3612
3613         * History/WebBackForwardList.m:
3614         (-[WebBackForwardList dealloc]):
3615         (-[WebBackForwardList finalize]):
3616         (-[WebBackForwardList _close]):
3617         * History/WebHistoryItem.m:
3618         (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
3619         (+[WebHistoryItem _releaseAllPendingPageCaches]):
3620         * History/WebHistoryItemPrivate.h:
3621         * WebCoreSupport/WebFrameBridge.m:
3622         (-[WebFrameBridge close]):
3623         (-[WebFrameBridge saveDocumentToPageCache:]):
3624         (-[WebFrameBridge canGoBackOrForward:]):
3625         * WebView/WebFrame.m:
3626         (-[WebFrame _detachFromParent]):
3627         (-[WebFrame dealloc]):
3628         (-[WebFrame finalize]):
3629         * WebView/WebFrameView.m:
3630         (-[WebFrameView _setWebFrame:]):
3631         (-[WebFrameView finalize]):
3632         * WebView/WebHTMLView.m:
3633         (-[WebHTMLView close]):
3634         (-[WebHTMLView dealloc]):
3635         (-[WebHTMLView finalize]):
3636         * WebView/WebHTMLViewInternal.h:
3637         * WebView/WebHTMLViewPrivate.h:
3638         * WebView/WebScriptDebugDelegate.m:
3639         (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]):
3640         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
3641         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
3642         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
3643         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
3644         * WebView/WebScriptDebugDelegatePrivate.h:
3645         * WebView/WebView.m:
3646         (-[WebViewPrivate init]):
3647         (-[WebView _close]):
3648         (-[WebView dealloc]):
3649         (-[WebView finalize]):
3650         (-[WebView viewWillMoveToWindow:]):
3651         (-[WebView _windowWillClose:]):
3652         (-[WebView setPreferencesIdentifier:]):
3653         (-[WebView mainFrame]):
3654         (-[WebView setHostWindow:]):
3655         (-[WebView searchFor:direction:caseSensitive:wrap:]):
3656         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
3657         (-[WebView close]):
3658         (-[WebView setAutoClose:]):
3659         (-[WebView autoClose]):
3660         (-[WebView _frameViewAtWindowPoint:]):
3661         * WebView/WebViewPrivate.h:
3662
3663 2006-06-29  Kevin Decker  <kdecker@apple.com>
3664
3665         Reviewed by mjs and timo.
3666         
3667         Fixed: <rdar://problem/4609119> handleAuthenticationFromResource was removed; needed by the Dashboard
3668
3669         * WebView/WebViewPrivate.h: Added handleAuthenticationFromResource back into the header. Needed by the
3670         Dashboard, but was removed in r.14028 on 2006-04-23. 
3671
3672 2006-06-29  Tim Omernick  <timo@apple.com>
3673
3674         Reviewed by Kevin Decker.
3675
3676         <rdar://problem/4608487> REGRESSION: reproducible crash in +[WebCoreFrameBridge supportedImageMIMETypes]
3677
3678         * Plugins/WebPluginDatabase.m:
3679         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
3680         One might be tempted to add additionalWebPlugInPaths to the global WebPluginDatabase here.
3681         For backward compatibility with earlier versions of the +setAdditionalWebPlugInPaths: SPI,
3682         we need to save a copy of the additional paths and not cause a refresh of the plugin DB
3683         at this time.
3684         (-[WebPluginDatabase _plugInPaths]):
3685         Include additionalWebPlugInPaths if this is the global DB.
3686         (-[WebPluginDatabase refresh]):
3687         Call -_plugInPaths to get the modified array of paths.  This is similar to what the old code
3688         (before we had per-WebView plugin search paths).
3689
3690 2006-06-29  Tim Omernick  <timo@apple.com>
3691
3692         Reviewed by John Sullivan.
3693
3694         WebHistoryItem now supports getting and setting arbitrary properties via _transientPropertyForKey: and
3695         -_setTransientProperty:forKey:.
3696         For now, these properties do not persist with the rest of the history data.  They are intended to hold transient
3697         per-history-item state, which is something that was until now difficult for a WebKit client app to do.
3698         
3699         * History/WebHistoryItemPrivate.h:
3700         * History/WebHistoryItem.m:
3701         (-[WebHistoryItemPrivate dealloc]):
3702         (-[WebHistoryItem _transientPropertyForKey:]):
3703         (-[WebHistoryItem _setTransientProperty:forKey:]):
3704
3705 2006-06-29  Timothy Hatcher  <timothy@apple.com>
3706
3707         Reviewed by Harrison.
3708
3709         Smart insert and delete, continuous spell checking and autoscroll
3710         can now be used for any WebView, not just editable ones. All of
3711         these make sense for documents that might contain content editable 
3712         areas or our new text fields. Autoscroll is usefull for dragging
3713         for file input controls also.
3714
3715         Added a SPI to toggle WebViews tab key behavior, tabKeyCyclesThroughElements.
3716         WebHTMLView's _interceptEditingKeyEvent now uses WebView's
3717         tabKeyCyclesThroughElements state to determine whether or not
3718         to process tab key events. The idea here is that tabKeyCyclesThroughElements
3719         will be YES when this WebView is being used in a browser, and we
3720         desire the behavior where tab moves to the next element in tab order.
3721         If tabKeyCyclesThroughElements is NO, it is likely that the WebView
3722         is being embedded as the whole view, as in Mail, and tabs should input
3723         tabs as expected in a text editor. Using Option-Tab always cycles
3724         through elements.
3725
3726         * WebView/WebHTMLRepresentation.m:
3727         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
3728         * WebView/WebHTMLView.m:
3729         (-[WebHTMLView _interceptEditingKeyEvent:]):
3730         * WebView/WebView.m:
3731         (-[WebViewPrivate init]):
3732         (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
3733         (-[WebView _shouldAutoscrollForDraggingInfo:]):
3734         (-[WebView validateUserInterfaceItem:]):
3735         (-[WebView toggleSmartInsertDelete:]):
3736         (-[WebView toggleContinuousSpellChecking:]):
3737         (-[WebView setTabKeyCyclesThroughElements:]):
3738         (-[WebView tabKeyCyclesThroughElements]):
3739         * WebView/WebViewPrivate.h:
3740
3741 2006-06-29  Anders Carlsson  <acarlsson@apple.com>
3742
3743         Reviewed by Tim O.
3744
3745         * WebKit.xcodeproj/project.pbxproj:
3746         Add DOMXPath.h header.
3747
3748 2006-06-28  David Hyatt  <hyatt@apple.com>
3749
3750         Fix custom highlighting so that you can paint the entire line (and go
3751         outside the bounds of the line).
3752
3753         Reviewed by harrison
3754
3755         * WebCoreSupport/WebFrameBridge.m:
3756         (-[WebFrameBridge customHighlightRect:forLine:]):
3757         (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:]):
3758         * WebKit.xcodeproj/project.pbxproj:
3759         * WebView/WebHTMLViewPrivate.h:
3760
3761 2006-06-28  Maciej Stachowiak  <mjs@apple.com>
3762
3763         Reviewed by Anders.
3764         
3765         - fix Frame leak on layout tests
3766
3767         * WebCoreSupport/WebPageBridge.m:
3768         (-[WebPageBridge outerView]): Return WebFrameView for main frame instead
3769         of WebView to avoid reference cycle between WebView and Page.
3770
3771 2006-06-28  Timothy Hatcher  <timothy@apple.com>
3772
3773         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
3774
3775         * WebKit.xcodeproj/project.pbxproj:
3776
3777 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
3778
3779         Reviewed by justin
3780
3781         http://bugzilla.opendarwin.org/show_bug.cgi?id=7568
3782         Bug 7568: Implement Indent/Outdent
3783         Added undo action strings and enum values
3784
3785         * English.lproj/Localizable.strings:
3786         * WebCoreSupport/WebFrameBridge.m: 
3787         (-[WebFrameBridge nameForUndoAction:]):
3788
3789 2006-06-27  Brady Eidson  <beidson@apple.com>
3790
3791         Reviewed by Maciej
3792
3793         Hookup the new semi-functional SQLite icon database.
3794         For now, it is living side-by-side with the old DB so one can compare the
3795         two for debugging purposes.  Also, it is disabled (in WebKit) by default unless you
3796         compile with ICONDEBUG #defined.
3797         Note:  To repeat that, if you want to try the new DB, #define ICONDEBUG (WebKitPrefix.h is a good place to do it)
3798
3799         * Misc/WebIconDatabase.m:
3800         (-[NSMutableDictionary iconForURL:withSize:cache:]):
3801         (-[NSMutableDictionary iconURLForURL:]):
3802         (-[NSMutableDictionary retainIconForURL:]):
3803         (-[NSMutableDictionary releaseIconForURL:]):
3804         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
3805         (-[WebIconDatabase _setIconURL:forURL:]):
3806         (-[WebIconDatabase _hasIconForIconURL:]):
3807         (-[WebIconDatabase _resetCachedWebPreferences:]):
3808         * Misc/WebIconLoader.m:
3809         (-[WebIconLoader didFinishLoading]):
3810         * WebKit.xcodeproj/project.pbxproj:
3811
3812 2006-06-26  David Hyatt  <hyatt@apple.com>
3813
3814         Fix for 9538, support syntax highlighting for HTML source.
3815
3816         Reviewed by darin
3817
3818         * WebKit.xcodeproj/project.pbxproj:
3819         * WebView/WebView.m:
3820         (-[WebView _setInViewSourceMode:]):
3821         (-[WebView _inViewSourceMode]):
3822         * WebView/WebViewPrivate.h:
3823
3824 2006-06-25  Timothy Hatcher  <timothy@apple.com>
3825
3826         Reviewed by Darin.
3827
3828         Bug 9574: Drosera should show inline scripts within the original HTML
3829         http://bugzilla.opendarwin.org/show_bug.cgi?id=9574
3830
3831         * Adds a new version of the didParseSource delegate callback with base line number.
3832         * Adds a new delegate callback for when a script fails to parse.
3833         * These new callbacks use NSURLs for the url parameter.
3834         * Adds a new script listener callback to notify when the main resource loads.
3835         * Adds a WebScriptErrorDomian and other keys for use with NSError.
3836
3837         * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
3838         (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
3839         (-[WebDefaultScriptDebugDelegate webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
3840         * DefaultDelegates/WebScriptDebugServer.h:
3841         * DefaultDelegates/WebScriptDebugServer.m:
3842         (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
3843         (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
3844         (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
3845         * DefaultDelegates/WebScriptDebugServerPrivate.h:
3846         * WebKit.exp:
3847         * WebView/WebDataSource.m:
3848         (-[WebDataSource _setPrimaryLoadComplete:]):
3849         * WebView/WebScriptDebugDelegate.h:
3850         * WebView/WebScriptDebugDelegate.m:
3851         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
3852
3853 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
3854
3855         Reviewed by Timothy.
3856
3857         * Info.plist: Fixed copyright to include 2003-2006.
3858
3859 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
3860
3861         Reviewed by Darin.
3862
3863         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9418
3864         WebKit will not build when Space exists in path
3865
3866         * WebKit.xcodeproj/project.pbxproj: Enclose search paths in quotes.
3867
3868 2006-06-23  Tim Omernick  <timo@apple.com>
3869
3870         Reviewed by John Sullivan.
3871
3872         * Plugins/WebBaseNetscapePluginView.m:
3873         (-[WebBaseNetscapePluginView sendEvent:]):
3874         Fixed a bug I found in the CoreGraphics drawing model that was preventing certain types of
3875         events from being dispatched to the plugin, unless the plugin was being updated.  The check
3876         for portState was only required to call -setWindowIfNecessary, not required for the entire
3877         event dispatch.
3878         Also, don't paint the green debug rect unless this is a QuickDraw plugin.  Otherwise the
3879         current QD port is not set, and the green rect fills the entire screen.  Pretty awesome
3880         looking, but not intended behavior.
3881         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
3882         Improved the logging here to include the NPWindow's width and height.
3883
3884 2006-06-23  Timothy Hatcher  <timothy@apple.com>
3885
3886         Reviewed by Tim O.
3887
3888         Adds back SPI that Mail is still depending on.
3889
3890         * WebView/WebDataSource.m:
3891         (-[WebDataSource _addSubframeArchives:]):
3892         * WebView/WebDataSourcePrivate.h:
3893
3894 === WebKit-521.13 ===
3895
3896 2006-06-23  Timothy Hatcher  <timothy@apple.com>
3897
3898         Reviewed by Geoff.
3899
3900         script debugger should only attach to JavaScriptCore when there are listeners
3901         http://bugzilla.opendarwin.org/show_bug.cgi?id=9552
3902
3903         Attaches the debugger to all WebFrames when the first listener
3904         is added. Detaches when the last listener is removed.
3905         Also detach when the script debug delegate is set to nil.
3906
3907         * DefaultDelegates/WebScriptDebugServer.m:
3908         (+[WebScriptDebugServer listenerCount]):
3909         (-[WebScriptDebugServer dealloc]):
3910         (-[WebScriptDebugServer attachScriptDebuggerToAllWebViews]):
3911         (-[WebScriptDebugServer detachScriptDebuggerFromAllWebViews]):
3912         (-[WebScriptDebugServer listenerConnectionDidDie:]):
3913         (-[WebScriptDebugServer addListener:]):
3914         (-[WebScriptDebugServer removeListener:]):
3915         * DefaultDelegates/WebScriptDebugServerPrivate.h:
3916         * WebCoreSupport/WebFrameBridge.m:
3917         (-[WebFrameBridge windowObjectCleared]):
3918         * WebView/WebFrame.m:
3919         (-[WebFrame _attachScriptDebugger]):
3920         (-[WebFrame _detachScriptDebugger]):
3921         * WebView/WebFramePrivate.h:
3922         * WebView/WebScriptDebugDelegate.m:
3923         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
3924         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
3925         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
3926         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
3927         * WebView/WebView.m:
3928         (-[WebView _attachScriptDebuggerToAllFrames]):
3929         (-[WebView _detachScriptDebuggerFromAllFrames]):
3930         (-[WebView setScriptDebugDelegate:]):
3931         * WebView/WebViewPrivate.h:
3932
3933 2006-06-22  John Sullivan  <sullivan@apple.com>
3934
3935         Reviewed by Tim Omernick
3936         
3937         - added support for UIDelegate to be notified of scrolling in any WebHTMLView
3938         - cleaned up recently-added UIDelegate code
3939
3940         * WebView/WebUIDelegatePrivate.h:
3941         declared webView:didScrollDocumentInFrameView: method
3942
3943         * DefaultDelegates/WebDefaultUIDelegate.m:
3944         (-[NSApplication webView:didDrawRect:]):
3945         provide default (empty) implementation of this recently-added method, so the
3946         DelegateForwarder mechanism will work for it
3947         (-[NSApplication webView:didScrollDocumentInFrameView:]):
3948         same thing for the new method
3949         
3950         * WebView/WebHTMLView.m:
3951         (-[WebHTMLView _frameOrBoundsChanged]):
3952         use _UIDelegateForwarder mechanism to notify delegate that scrolling occurred
3953         (-[WebHTMLView drawSingleRect:]):
3954         use _UIDelegateForwarder mechanism instead of checking respondsToSelector stuff
3955         here (that's packaged up nicely by the forwarder mechanism)
3956         
3957 2006-06-22  Tim Omernick  <timo@apple.com>
3958
3959         Reviewed by NOBODY (build fix)
3960
3961         * WebView/WebFrameLoader.m:
3962         Import WebMainResourceLoader instead of using @class so that we can call WebMainResourceLoader
3963         methods.
3964         
3965 2006-06-22  Tim Omernick  <timo@apple.com>
3966
3967         Reviewed by NOBODY (build fix)
3968
3969         * WebView/WebFrameLoader.m:
3970         Import JavaScriptCore/Assertions.h instead of WebKit/WebAssertions.h (which no longer exists)
3971
3972 2006-06-22  Maciej Stachowiak  <mjs@apple.com>
3973
3974         Reviewed by Adele.
3975         
3976         - start moving loading logic to new WebFrameLoader class; move management of WebLoaders there
3977
3978         * Misc/WebIconLoader.h:
3979         * Misc/WebIconLoader.m:
3980         (-[WebIconLoader didFinishLoading]):
3981         * WebKit.xcodeproj/project.pbxproj:
3982         * WebView/WebDataSource.m:
3983         (-[WebDataSourcePrivate dealloc]):
3984         (-[WebDataSource _updateLoading]):
3985         (-[WebDataSource _loadIcon]):
3986         (-[WebDataSource _setPrimaryLoadComplete:]):
3987         (-[WebDataSource _stopLoading]):
3988         (-[WebDataSource _startLoading]):
3989         (-[WebDataSource _addSubresourceLoader:]):
3990         (-[WebDataSource _removeSubresourceLoader:]):
3991         (-[WebDataSource _addPlugInStreamLoader:]):
3992         (-[WebDataSource _removePlugInStreamLoader:]):
3993         (-[WebDataSource _iconLoaderReceivedPageIcon:]):
3994         (-[WebDataSource _defersCallbacksChanged]):
3995         (-[WebDataSource _stopLoadingWithError:]):
3996         (-[WebDataSource _setupForReplaceByMIMEType:]):
3997         (-[WebDataSource initWithRequest:]):
3998         (-[WebDataSource dealloc]):
3999         (-[WebDataSource finalize]):
4000         (-[WebDataSource data]):
4001         (-[WebDataSource isLoading]):
4002         * WebView/WebFrameLoader.h: Added.
4003         * WebView/WebFrameLoader.m: Added.
4004         (-[WebFrameLoader initWithDataSource:]):
4005         (-[WebFrameLoader dealloc]):
4006         (-[WebFrameLoader hasIconLoader]):
4007         (-[WebFrameLoader loadIconWithRequest:]):
4008         (-[WebFrameLoader stopLoadingIcon]):
4009         (-[WebFrameLoader addPlugInStreamLoader:]):
4010         (-[WebFrameLoader removePlugInStreamLoader:]):
4011         (-[WebFrameLoader setDefersCallbacks:]):
4012         (-[WebFrameLoader stopLoadingPlugIns]):
4013         (-[WebFrameLoader isLoadingMainResource]):
4014         (-[WebFrameLoader isLoadingSubresources]):
4015         (-[WebFrameLoader isLoading]):
4016         (-[WebFrameLoader stopLoadingSubresources]):
4017         (-[WebFrameLoader addSubresourceLoader:]):
4018         (-[WebFrameLoader removeSubresourceLoader:]):
4019         (-[WebFrameLoader mainResourceData]):
4020         (-[WebFrameLoader releaseMainResourceLoader]):
4021         (-[WebFrameLoader cancelMainResourceLoad]):
4022         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
4023         (-[WebFrameLoader stopLoadingWithError:]):
4024
4025 2006-06-21  Brady Eidson  <beidson@apple.com>
4026
4027         Reviewed by Maciej
4028
4029         The WebCoreIconDatabaseBridge was getting messages sent to it after it had been closed, resulting in a crash
4030         on an ASSERT().  After closing the databaseBridge, we simply set it to nil so this can't happen.
4031         anymore.
4032
4033         * Misc/WebIconDatabase.m:
4034         (-[WebIconDatabase _applicationWillTerminate:]):
4035
4036 2006-06-21  Tim Omernick  <timo@apple.com>
4037
4038         Reviewed by Geoff Garen.
4039
4040         <rdar://problem/4564131> WebPluginDatabase setAdditionalWebPlugInPaths needs to be per WebView
4041
4042         Added some WebView SPI so that individual WebViews may have different plugin search paths.  There are some 
4043         limitations with the approach taken here:
4044
4045         - JavaScript may only access the global plugin DB.
4046         - When this SPI is in use, certain WebView methods may not give accurate results, such as +canShowMIMEType:.
4047         - This only works for plugins referenced using the <object> or <embed> tags; plugins that reside in non-standard
4048         file system locations may not be loaded directly into frames.
4049         
4050         None of these issues are important to the client that needs this SPI.  Rather than re-architect our entire
4051         plugin database, I think it is better to simply accept these limitations for now.
4052
4053         * Plugins/WebPluginDatabase.h:
4054         Added "plugInPaths" ivar, so different plugin databases can have different search paths.
4055         * Plugins/WebPluginDatabase.m:
4056         (+[WebPluginDatabase installedPlugins]):
4057         Give the global plugin database the default plugin search paths.
4058         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
4059         Removed static global; this method now sets the plugin paths on the global plugin database.
4060         (-[WebPluginDatabase setPlugInPaths:]):
4061         Setter method for plugin paths.
4062         (-[WebPluginDatabase close]):
4063         New method; called when the plugin database is no longer needed (when its WebView is being destroyed).
4064         (-[WebPluginDatabase init]):
4065         Don't refresh in -init, so that callers can set the DB's plugin path array before it refreshes.
4066         (-[WebPluginDatabase dealloc]):
4067         Moved here from near the bottom of the file.  Release new ivar.
4068         (-[WebPluginDatabase refresh]):
4069         Use the plugInPaths ivar instead of calling pluginLocations().
4070         Notify plugin packages when they are added to and removed from a plugin database.  A plugin package will
4071         unload itself when it is removed from all of its plugin databases.
4072         The only really tricky thing here is that the global MIME <-> view class registrations are only modified
4073         by the shared plugin DB.
4074         (+[WebPluginDatabase _defaultPlugInPaths]):
4075         Refactored from the old pluginLocations() function; returns the default set of plugin search paths.
4076
4077         * Plugins/WebBasePluginPackage.h:
4078         * Plugins/WebBasePluginPackage.m:
4079         (-[WebBasePluginPackage dealloc]):
4080         Assert that this package has been removed from all of its containing plugin databases.
4081         (-[WebBasePluginPackage finalize]):
4082         ditto
4083         (-[WebBasePluginPackage wasAddedToPluginDatabase:]):
4084         Add plugin database to set.
4085         (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
4086         Remove plugin database from set.  If it was the last DB, then unload the plugin package.
4087
4088         * WebView/WebViewInternal.h:
4089         Added instance methods to find the view class or plugin package, given a MIME type or file extension.
4090         * WebView/WebViewPrivate.h:
4091         Added SPI to set plugin search paths per WebView.
4092         * WebView/WebView.m:
4093         (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
4094         New method; tries the global MIME <-> view map first; failing that, it checks the WebView's plugin DB.
4095         (-[WebView _close]):
4096         Close the plugin DB.
4097         (-[WebView _setAdditionalWebPlugInPaths:]):
4098         Create the plugin DB if necessary, and set its plugin paths.
4099         (-[WebView _pluginForMIMEType:]):
4100         Checks global plugin DB, falls back on WebView DB.
4101         (-[WebView _pluginForExtension:]):
4102         ditto
4103         (-[WebView _isMIMETypeRegisteredAsPlugin:]):
4104         ditto
4105
4106         * WebCoreSupport/WebFrameBridge.m:
4107         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
4108         Use new WebView instance methods to look for plugins.
4109         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
4110         ditto
4111         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
4112         ditto
4113
4114 2006-06-20  Brady Eidson  <beidson@apple.com>
4115
4116         Reviewed by Maciej
4117
4118         Added calls through to the WebCoreIconDatabaseBridge for all the major WebIconDatabase API.  For now these calls
4119         are wrapped with #ifdef's and are for debugging only.
4120
4121         * Misc/WebIconDatabase.h:
4122         * Misc/WebIconDatabase.m:
4123         (-[NSMutableDictionary _scaleIcon:toSize:]):
4124         (-[NSMutableDictionary init]):
4125         (-[NSMutableDictionary iconForURL:withSize:cache:]):
4126         (-[NSMutableDictionary iconURLForURL:]):
4127         (-[NSMutableDictionary retainIconForURL:]):
4128         (-[NSMutableDictionary releaseIconForURL:]):
4129         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
4130         (-[WebIconDatabase _setIconURL:forURL:]):
4131         (-[WebIconDatabase _hasIconForIconURL:]):
4132         * Misc/WebIconLoader.m:
4133         (-[WebIconLoader didFinishLoading]):
4134
4135         * Misc/WebKitLogging.h:  Added a logging channel for WebIconDatabase debugging
4136         * Misc/WebKitLogging.m:
4137         (WebKitInitializeLoggingChannelsIfNecessary):
4138
4139 2006-06-20  Adele Peterson  <adele@apple.com>
4140
4141         Reviewed by Tim Hatcher.
4142
4143         * WebView/WebMainResourceLoader.m: Added missing header to fix build on Leopard.
4144
4145 2006-06-20  Timothy Hatcher  <timothy@apple.com>
4146
4147         Reviewed by Darin.
4148
4149         Removes the @try/@catch from the callbacks to improve performance,
4150         simply check if the proxy object's connection is still valid first.
4151         Listener objects are now required to be NSDistantObjects.
4152
4153         Adds pause, resume and step support. The debugger process use to handle this,
4154         but it caused problems when there were multiple listeners.
4155
4156         Sends the bundle identifier in the notification userInfo dictionary along with
4157         process name and process ID.
4158
4159         * DefaultDelegates/WebScriptDebugServer.h:
4160         * DefaultDelegates/WebScriptDebugServer.m:
4161         (-[WebScriptDebugServer serverQuery:]):
4162         (-[WebScriptDebugServer addListener:]):
4163         (-[WebScriptDebugServer removeListener:]):
4164         (-[WebScriptDebugServer step]):
4165         (-[WebScriptDebugServer pause]):
4166         (-[WebScriptDebugServer resume]):
4167         (-[WebScriptDebugServer isPaused]):
4168         (-[WebScriptDebugServer suspendProcessIfPaused]):
4169         (-[WebScriptDebugServer webView:didParseSource