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