1 2006-08-23 Maciej Stachowiak <mjs@apple.com>
5 - fix assertion which I accidentally changed to one that sometimes fails
6 http://bugzilla.opendarwin.org/show_bug.cgi?id=10531
8 * Loader/WebDocumentLoadState.m:
9 (-[WebDocumentLoadState dealloc]):
10 * WebView/WebDataSource.m:
11 (-[WebDataSourcePrivate dealloc]):
12 (-[WebDataSource dealloc]):
14 2006-08-23 Maciej Stachowiak <mjs@apple.com>
18 - move WebFrame code that creates WebDataSources down to WebFrameLoader, in preparation
19 for WebFrameLoader just holding on to WebDocumentLoadState
21 * Loader/WebFrameLoader.h:
22 * Loader/WebFrameLoader.m:
23 (-[WebFrameLoader _loadRequest:archive:]):
24 (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
25 (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
26 (-[WebFrameLoader reload]):
28 (-[WebFrame _loadItem:withLoadType:]):
29 (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
30 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
31 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
32 (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
33 (-[WebFrame loadRequest:]):
34 (-[WebFrame loadArchive:]):
36 * WebView/WebFrameInternal.h:
37 * WebView/WebFramePrivate.h:
39 (-[WebView setCustomTextEncodingName:]):
41 2006-08-23 Brady Eidson <beidson@apple.com>
45 First pass at pruning unused WebIconDatabase code. Focus on removing methods that simply
46 have no place in the new DB at all. A few renames and a few important FIXMEs result, but no
47 functionality changes.
49 * Loader/WebIconLoader.m:
50 (-[WebIconLoader didFinishLoading]): Call to WebIconDatabase instead of directly to the bridge
51 * Misc/WebIconDatabase.h:
52 * Misc/WebIconDatabase.m:
53 (-[WebIconDatabase init]):
54 (-[WebIconDatabase iconForURL:withSize:cache:]):
55 (-[WebIconDatabase iconURLForURL:]):
56 (-[WebIconDatabase defaultIconWithSize:]):
57 (-[WebIconDatabase retainIconForURL:]):
58 (-[WebIconDatabase releaseIconForURL:]):
59 (-[WebIconDatabase removeAllIcons]):
60 (-[WebIconDatabase _setIconData:forIconURL:]):
61 (-[WebIconDatabase _setHaveNoIconForIconURL:]):
62 (-[WebIconDatabase _setIconURL:forURL:]):
63 (-[WebIconDatabase _hasEntryForIconURL:]):
64 (-[WebIconDatabase _applicationWillTerminate:]):
65 (-[WebIconDatabase _resetCachedWebPreferences:]):
66 * Misc/WebIconDatabasePrivate.h: Changed setIcon: to setIconData:
68 2006-08-23 Maciej Stachowiak <mjs@apple.com>
72 - started factoring most of the guts of WebDataSource into a new class
74 WebDocumentLoadState is decoupled from the rest of WebKit and will
75 be moved down to WebCore. I only moved one of the data fields of
76 WebDataSource for now.
78 * Loader/WebDocumentLoadState.h: Added.
79 * Loader/WebDocumentLoadState.m: Added.
80 (-[WebDocumentLoadState initWithRequest:]): New class.
81 (-[WebDocumentLoadState dealloc]):
82 (-[WebDocumentLoadState setFrameLoader:]):
83 (-[WebDocumentLoadState setMainResourceData:]):
84 (-[WebDocumentLoadState mainResourceData]):
85 * Loader/WebFrameLoader.m:
86 (-[WebFrameLoader _setDataSource:]): Remove redundant _setWebFrame: call,
87 it would have been called already by this point.
88 (-[WebFrameLoader _setProvisionalDataSource:]): ditto.
89 * WebKit.xcodeproj/project.pbxproj:
90 * WebView/WebDataSource.m:
91 (-[WebDataSourcePrivate dealloc]):
92 (-[WebDataSource _setWebFrame:]):
93 (-[WebDataSource _setPrimaryLoadComplete:]):
94 (-[WebDataSource initWithRequest:]):
95 (-[WebDataSource data]):
97 2006-08-23 Maciej Stachowiak <mjs@apple.com>
101 - refactoring of WebDataSource in preparation for moving a bunch of it to a new class
103 - minimize WebDataSourceInternal.h to be only methods called from outside WebDataSource
104 - reduce Private category implementation to be only the SPI methods
105 - make new Internal and FileInternal categories which contain the
106 remainder (depending on whether they are called from outside of
109 * WebView/WebDataSource.m:
110 (-[WebDataSource _setMainDocumentError:]):
112 (+[WebDataSource _representationClassForMIMEType:]):
113 (-[WebDataSource _commitIfReady]):
114 (-[WebDataSource _commitLoadWithData:]):
115 (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
116 (-[WebDataSource _addResponse:]):
117 (-[WebDataSource _revertToProvisionalState]):
118 (-[WebDataSource _mainDocumentError]):
119 (-[WebDataSource _addSubframeArchives:]):
120 (-[WebDataSource _fileWrapperForURL:]):
121 (+[WebDataSource _repTypesAllowImageTypeOmission:]):
122 (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
123 (-[WebDataSource _finishedLoading]):
124 (-[WebDataSource _setResponse:]):
125 (-[WebDataSource _setRequest:]):
126 (-[WebDataSource _setupForReplaceByMIMEType:]):
127 (-[WebDataSource _receivedMainResourceError:complete:]):
128 (-[WebDataSource _mainReceivedError:complete:]):
129 (-[WebDataSource _defersCallbacks]):
130 (-[WebDataSource _downloadWithLoadingConnection:request:response:proxy:]):
131 (-[WebDataSource _didFailLoadingWithError:forResource:]):
132 (-[WebDataSource _didFinishLoadingForResource:]):
133 (-[WebDataSource _didReceiveData:contentLength:forResource:]):
134 (-[WebDataSource _didReceiveResponse:forResource:]):
135 (-[WebDataSource _didCancelAuthenticationChallenge:forResource:]):
136 (-[WebDataSource _didReceiveAuthenticationChallenge:forResource:]):
137 (-[WebDataSource _willSendRequest:forResource:redirectResponse:]):
138 (-[WebDataSource _identifierForInitialRequest:]):
139 (-[WebDataSource _archivedSubresourceForURL:]):
140 (-[WebDataSource _startLoading]):
141 (-[WebDataSource _stopRecordingResponses]):
142 (-[WebDataSource _loadingStartedTime]):
143 (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]):
144 (-[WebDataSource _documentFragmentWithArchive:]):
145 (-[WebDataSource _documentFragmentWithImageResource:]):
146 (-[WebDataSource _imageElementWithImageResource:]):
147 (-[WebDataSource _title]):
148 (-[WebDataSource _isStopping]):
149 (-[WebDataSource _setWebFrame:]):
150 (-[WebDataSource _URL]):
151 (-[WebDataSource _loadFromPageCache:]):
152 (-[WebDataSource _popSubframeArchiveWithName:]):
153 (-[WebDataSource _setIsClientRedirect:]):
154 (-[WebDataSource _setURL:]):
155 (-[WebDataSource _setLastCheckedRequest:]):
156 (-[WebDataSource _defersCallbacksChanged]):
157 (-[WebDataSource _lastCheckedRequest]):
158 (-[WebDataSource _stopLoading]):
159 (-[WebDataSource _bridge]):
160 (-[WebDataSource _webView]):
161 (-[WebDataSource _triggeringAction]):
162 (-[WebDataSource _setTriggeringAction:]):
163 (-[WebDataSource __adoptRequest:]):
164 (-[WebDataSource _isDocumentHTML]):
165 (-[WebDataSource _stopLoadingWithError:]):
166 (-[WebDataSource _setPrimaryLoadComplete:]):
167 (-[WebDataSource _responses]):
168 (-[WebDataSource _makeRepresentation]):
169 (-[WebDataSource _isClientRedirect]):
170 (-[WebDataSource _originalRequest]):
171 (-[WebDataSource _URLForHistory]):
172 (-[WebDataSource _addToUnarchiveState:]):
173 (-[WebDataSource _setOverrideEncoding:]):
174 (-[WebDataSource _setIconURL:]):
175 (-[WebDataSource _setIconURL:withType:]):
176 (-[WebDataSource _overrideEncoding]):
177 (-[WebDataSource _setTitle:]):
178 * WebView/WebDataSourceInternal.h:
180 2006-08-23 Brady Eidson <beidson@apple.com>
182 Reviewed by John Sullivan
185 Flip the switch to the new Icon Database
186 Massive code pruning is coming up
188 * WebKitPrefix.h: Flipped the switch
190 2006-08-23 Brady Eidson <beidson@apple.com>
193 Since I just pushed the default URL icon from WebKit to WebCore, but
194 WebKit was still using its version of the default icon, this patch makes it
195 use the WebCore version
197 * Misc/WebIconDatabase.m:
198 (-[WebIconDatabase defaultIconWithSize:]):
200 2006-08-22 Maciej Stachowiak <mjs@apple.com>
204 - remove "loading" flag from WebDataSource and code that manages it; it is redundat.
206 * Loader/WebFrameLoader.m:
207 (-[WebFrameLoader addPlugInStreamLoader:]):
208 (-[WebFrameLoader removePlugInStreamLoader:]):
209 (-[WebFrameLoader addSubresourceLoader:]):
210 (-[WebFrameLoader removeSubresourceLoader:]):
211 * WebView/WebDataSource.m:
212 (-[WebDataSourcePrivate dealloc]):
213 (-[WebDataSource _setPrimaryLoadComplete:]):
214 (-[WebDataSource _stopLoading]):
215 (-[WebDataSource _prepareForLoadStart]):
216 (-[WebDataSource _startLoading]):
217 (-[WebDataSource isLoading]):
218 * WebView/WebDataSourceInternal.h:
220 2006-08-22 Maciej Stachowiak <mjs@apple.com>
224 <rdar://problem/4683948> REGRESSION: Assertion failure in [FrameProgressEntry addChild:forDataSource:] (fandango.com)
226 * Loader/WebFrameLoader.m:
227 (-[WebFrameLoader addSubresourceLoader:]): Add a WebKit-level assertion that should fire when this bad
229 * Loader/WebSubresourceLoader.m:
230 (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]): Prevent
231 the situation from occuring.
233 2006-08-22 Maciej Stachowiak <mjs@apple.com>
237 - pull more WebDataSource code into WebFrameLoader
238 - make WebMainResourceLoader not depend on WebKit or on SPI
240 * Loader/WebFrameLoader.h:
241 * Loader/WebFrameLoader.m:
242 (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
243 (-[WebFrameLoader _updateIconDatabaseWithURL:]):
244 (-[WebFrameLoader _notifyIconChanged:]):
245 (-[WebFrameLoader _iconLoaderReceivedPageIcon:]):
246 (-[WebFrameLoader _checkNavigationPolicyForRequest:andCall:withSelector:]):
247 (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
248 (-[WebFrameLoader cancelContentPolicy]):
249 * Loader/WebIconLoader.m:
250 (-[WebIconLoader didFinishLoading]):
251 * Loader/WebLoader.m:
252 (-[NSURLProtocol loadWithRequest:]):
253 (-[NSURLProtocol setDefersCallbacks:]):
254 * Loader/WebMainResourceLoader.h:
255 * Loader/WebMainResourceLoader.m:
256 (-[WebMainResourceLoader initWithFrameLoader:]):
257 (-[WebMainResourceLoader dealloc]):
258 (-[WebMainResourceLoader cancelWithError:]):
259 (-[WebMainResourceLoader continueAfterNavigationPolicy:formState:]):
260 (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
261 (-[WebMainResourceLoader continueAfterContentPolicy:]):
262 (-[WebMainResourceLoader checkContentPolicy]):
263 (-[WebMainResourceLoader didReceiveResponse:]):
264 * Plugins/WebPluginContainerCheck.m:
265 * WebCoreSupport/WebSystemInterface.m:
266 (InitWebCoreSystemInterface):
267 * WebView/WebDataSource.m:
268 (-[WebDataSource _loadIcon]):
269 (-[WebDataSource _cancelledError]):
270 (+[WebDataSource _repTypesAllowImageTypeOmission:]):
271 (+[WebDataSource _representationClassForMIMEType:]):
272 (-[WebDataSource _commitLoadWithData:]):
273 (-[WebDataSource _isDocumentHTML]):
274 * WebView/WebDataSourceInternal.h:
275 * WebView/WebFramePrivate.h:
276 * WebView/WebPolicyDelegate.m:
277 * WebView/WebPolicyDelegatePrivate.h:
279 2006-08-21 Maciej Stachowiak <mjs@apple.com>
283 - move more code from WebDataSource to WebFrameLoader
285 Also marked a few more methods in WebDataSource as likely MOVABLE in a future round, since they do not
286 use any of WebDataSource's private data.
288 * Loader/WebFrameLoader.h:
289 * Loader/WebFrameLoader.m:
290 (-[WebFrameLoader addPlugInStreamLoader:]):
291 (-[WebFrameLoader removePlugInStreamLoader:]):
292 (-[WebFrameLoader addSubresourceLoader:]):
293 (-[WebFrameLoader removeSubresourceLoader:]):
294 (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
295 (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
296 (-[WebFrameLoader _didReceiveResponse:forResource:]):
297 (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
298 (-[WebFrameLoader _didFinishLoadingForResource:]):
299 (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
300 (-[WebFrameLoader _privateBrowsingEnabled]):
301 (-[WebFrameLoader _finishedLoadingResource]):
302 (-[WebFrameLoader _receivedError:]):
303 (-[WebFrameLoader _finishedLoading]):
304 * Loader/WebMainResourceLoader.m:
305 (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
306 (-[WebMainResourceLoader didFinishLoading]):
307 * Loader/WebNetscapePlugInStreamLoader.m:
308 (-[WebNetscapePlugInStreamLoader didFinishLoading]):
309 (-[WebNetscapePlugInStreamLoader didFailWithError:]):
310 (-[WebNetscapePlugInStreamLoader cancelWithError:]):
311 * Loader/WebSubresourceLoader.m:
312 (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
313 (-[WebSubresourceLoader signalFinish]):
314 (-[WebSubresourceLoader didFailWithError:]):
315 (-[WebSubresourceLoader cancel]):
316 * Plugins/WebNetscapePluginStream.m:
317 (-[WebNetscapePluginStream start]):
318 * WebView/WebDataSource.m:
319 (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]):
320 (-[WebDataSource _updateIconDatabaseWithURL:]):
321 (-[WebDataSource _loadIcon]):
322 (-[WebDataSource _setPrimaryLoadComplete:]):
323 (-[WebDataSource _cancelledError]):
324 (+[WebDataSource _repTypesAllowImageTypeOmission:]):
325 (+[WebDataSource _representationClassForMIMEType:]):
326 (-[WebDataSource _commitLoadWithData:]):
327 (-[WebDataSource _receivedMainResourceError:complete:]):
328 (-[WebDataSource _iconLoaderReceivedPageIcon:]):
329 (-[WebDataSource _isDocumentHTML]):
330 * WebView/WebDataSourceInternal.h:
332 2006-08-21 Brady Eidson <beidson@apple.com>
336 Quick ICONDEBUG flag fix
338 * Misc/WebIconDatabase.m:
339 (-[WebIconDatabase _applicationWillTerminate:]):
341 2006-08-21 Brady Eidson <beidson@apple.com>
345 -Renamed an internal only method for clarity
346 -Tweaked WebDataSource for notification purposes with the new expiring icons
347 -Fixed a bug with the ICONDEBUG flag
349 * Misc/WebIconDatabase.m:
350 (-[WebIconDatabase init]):
351 (-[WebIconDatabase iconForURL:withSize:cache:]): #ifdef bug fixed
352 (-[WebIconDatabase _hasEntryForIconURL:]): Renamed for clarity
353 * Misc/WebIconDatabasePrivate.h:
354 * WebView/WebDataSource.m:
355 (-[WebDataSource _updateIconDatabaseWithURL:]):
356 (-[WebDataSource _notifyIconChanged:]):
357 (-[WebDataSource _loadIcon]):
358 (-[WebDataSource _iconLoaderReceivedPageIcon:]):
360 2006-08-17 Maciej Stachowiak <mjs@apple.com>
364 - pull a bit of WebDataSource code into WebFrameLoader
366 * Loader/WebFrameLoader.m:
367 (-[WebFrameLoader _receivedError:]):
368 (-[WebFrameLoader webFrame]):
369 (-[WebFrameLoader _handleFallbackContent]):
370 (+[WebFrameLoader _canShowMIMEType:]):
371 (+[WebFrameLoader _representationExistsForURLScheme:]):
372 (+[WebFrameLoader _generatedMIMETypeForURLScheme:]):
373 * WebView/WebDataSource.m:
374 * WebView/WebDataSourceInternal.h:
376 2006-08-17 Timothy Hatcher <timothy@apple.com>
378 Reviewed by Kevin Decker.
380 <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported in 64-bit
384 2006-08-17 Timothy Hatcher <timothy@apple.com>
386 Reviewed by Kevin Decker.
388 <rdar://problem/4633896> -[WebView close] should clear all delegates and call setHostWindow:nil
389 <rdar://problem/4649759> Crash when selecting View Source menu using Chinese (-[WebView _close])
391 Check to make sure _private is not null. A WebView can be dealloced before _private is setup.
392 Set the _private->closed flag at the beginning of _close to prevent reentry.
393 Set the host window and all the delegates to nil in _close.
398 2006-08-16 Brady Eidson <beidson@apple.com>
402 * Misc/WebIconDatabase.m: Pruned unused method
403 * Misc/WebIconDatabasePrivate.h: Ditto
406 2006-08-15 Maciej Stachowiak <mjs@apple.com>
408 Reviewed by Adele (preliminary version) and later by Kevin.
410 - remove most WebKit dependencies from WebMainResourceLoader.
412 * Loader/WebFrameLoader.h:
413 * Loader/WebFrameLoader.m:
414 (-[WebFrameLoader cannotShowMIMETypeForURL:]):
415 (-[WebFrameLoader interruptForPolicyChangeErrorWithRequest:]):
416 (-[WebFrameLoader isHostedByObjectElement]):
417 (-[WebFrameLoader isLoadingMainFrame]):
418 (+[WebFrameLoader _canShowMIMEType:]):
419 (+[WebFrameLoader _representationExistsForURLScheme:]):
420 (+[WebFrameLoader _generatedMIMETypeForURLScheme:]):
421 * Loader/WebMainResourceLoader.h:
422 * Loader/WebMainResourceLoader.m:
423 (-[WebMainResourceLoader interruptForPolicyChangeError]):
424 (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
425 (isCaseInsensitiveEqual):
426 (shouldLoadAsEmptyDocument):
427 (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
428 (-[WebMainResourceLoader didReceiveResponse:]):
429 (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
430 (-[WebMainResourceLoader didFinishLoading]):
431 (-[WebMainResourceLoader loadWithRequestNow:]):
432 (-[WebMainResourceLoader loadWithRequest:]):
434 2006-08-15 Tim Omernick <timo@apple.com>
436 Reviewed by Kevin Decker.
438 * Plugins/WebNetscapePluginPackage.m:
439 (-[WebNetscapePluginPackage _unloadWithShutdown:]):
440 Fixed a subtle problem with the 64-bit debug build -- as written, this would LOG() on 64-bit and do nothing on
442 * Plugins/WebPluginDatabase.m:
443 (-[WebPluginDatabase _scanForNewPlugins]):
444 Use +[NSMutableSet set] here.
446 2006-08-15 Tim Omernick <timo@apple.com>
448 Reviewed by Darin Adler.
450 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8980>
451 ASSERTION FAILED: !isLoaded (WebKit/WebKit/Plugins/WebBasePluginPackage.m:228 -[WebBasePluginPackage dealloc])
453 <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests (8980)
455 * Plugins/WebPluginDatabase.h:
456 * Plugins/WebPluginDatabase.m:
457 (+[WebPluginDatabase installedPlugins]):
458 Observe NSApplicationWillTerminateNotification so we can unload plug-ins on quit.
459 (-[WebPluginDatabase plugins]):
460 'plugins' is now a dictionary.
461 (-[WebPluginDatabase close]):
462 Call new -_removePlugin: method.
463 (-[WebPluginDatabase refresh]):
464 Moved parts of this method out into other methods: -_addPlugin:, -_removePlugin:, and -_scanForNewPlugins.
465 (-[WebPluginDatabase _plugInPaths]):
466 No changes; just moved in file.
467 (-[WebPluginDatabase _addPlugin:]):
468 New method. Refactored from -refresh. Adds a plug-in to the database.
469 (-[WebPluginDatabase _removePlugin:]):
470 New method. Refactored from -refresh. Remove a plug-in from the database.
471 (-[WebPluginDatabase _scanForNewPlugins]):
472 New method. Refactored from -refresh. Returns the list of plug-in packages on disk.
473 (-[WebPluginDatabase _applicationWillTerminate]):
474 New method. Called when the application terminates. Closes the plug-in database so that all plug-ins are
475 removed from the DB (and unloaded if necessary).
477 * Plugins/WebBasePluginPackage.h:
478 * Plugins/WebBasePluginPackage.m:
479 (-[WebBasePluginPackage initWithPath:]):
480 Try to create the NSBundle first, so if the file is not a valid bundle we bail out early. This
481 avoids some stat()s and allocations during the plug-in refresh process.
482 (-[WebBasePluginPackage isLoaded]):
484 (-[WebBasePluginPackage load]):
485 Base class for plug-in packages now always loads "successfully".
486 (-[WebBasePluginPackage dealloc]):
487 Removed this assertion. The base plug-in package class has no concept of
489 (-[WebBasePluginPackage finalize]):
491 (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
492 Moved code to unload plug-in package to WebNetscapePluginPackage. Not all plug-in
493 packages can be "unloaded".
495 * Plugins/WebNetscapePluginPackage.h:
496 * Plugins/WebNetscapePluginPackage.m:
497 (-[WebNetscapePluginPackage _unloadWithShutdown:]):
498 Combined old -unload and -unloadWithoutShutdown methods into this new one.
499 (-[WebNetscapePluginPackage initWithPath:]):
500 Call new unload method.
501 (-[WebNetscapePluginPackage load]):
503 (-[WebNetscapePluginPackage wasRemovedFromPluginDatabase:]):
505 (-[WebNetscapePluginPackage open]):
506 New method. Called when a plug-in instance starts running.
507 (-[WebNetscapePluginPackage close]):
508 New method. Called when a plug-in instance stops running. When all plug-in instances
509 close the plug-in package, and the plug-in package is removed from the database, the plug-in
512 * Plugins/WebPluginPackage.m:
513 (-[WebPluginPackage initWithPath:]):
514 (-[WebPluginPackage load]):
515 Made this a bit more efficient by checking if the bundle is already loaded.
516 (-[WebBasePluginPackage unload]):
518 (-[WebBasePluginPackage isLoaded]):
521 * Plugins/WebBaseNetscapePluginView.m:
522 (-[WebBaseNetscapePluginView start]):
523 Open the plug-in package so it remains loaded while this instance uses it.
524 (-[WebBaseNetscapePluginView stop]):
525 Close the plug-in package when the plug-in instance is stopped.
527 * Plugins/WebBaseNetscapePluginStream.m:
528 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
529 This check is not necessary. Netscape plug-in packages are never unloaded until all their instances have
530 been stopped, and a Netscape plug-in instance will stop its streams when it is stopped.
531 (-[WebBaseNetscapePluginStream _destroyStream]):
533 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
535 (-[WebBaseNetscapePluginStream _deliverData]):
538 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
542 Build fix: DWARF and -gfull are incompatible with symbol separation.
544 * WebKit.xcodeproj/project.pbxproj:
546 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
550 http://bugzilla.opendarwin.org/show_bug.cgi?id=10394
551 Bug 10394: WebKit Release and Production configurations should enable dead code stripping
553 * WebKit.xcodeproj/project.pbxproj:
555 2006-08-15 Maciej Stachowiak <mjs@apple.com>
559 - remove WebKit dependencies from WebPlugInStreamLoader via a protocol veil of ignorance
561 * Loader/WebNetscapePlugInStreamLoader.h:
562 * Loader/WebNetscapePlugInStreamLoader.m:
563 (-[WebNetscapePlugInStreamLoader initWithDelegate:frameLoader:]):
564 * Loader/WebPlugInStreamLoaderDelegate.h: Added.
565 * Plugins/WebBaseNetscapePluginStream.h:
566 * Plugins/WebNetscapePluginStream.m:
567 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
568 * WebKit.xcodeproj/project.pbxproj:
570 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
574 http://bugzilla.opendarwin.org/show_bug.cgi?id=10384
575 Bug 10384: Switch to DWARF for Release configuration
577 * WebKit.xcodeproj/project.pbxproj:
579 2006-08-15 Graham Dennis <graham.dennis@gmail.com>
583 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10314
584 WebUnarchivingState archivedResourceForURL: doesn't work
586 * WebView/WebUnarchivingState.m:
587 (-[WebUnarchivingState archivedResourceForURL:]):
588 Fixed to get objects from the archived resources dictionary using
589 the URL as a string instead of as the URL itself (as this is how
590 the data is put into the dictionary).
592 2006-08-14 Maciej Stachowiak <mjs@apple.com>
596 - remove many (but not all) WebKit dependencies from WebNetscapePlugInStreamLoader (it still
597 depends on WebNetscapePluginStream).
599 * Loader/WebFrameLoader.h:
600 * Loader/WebFrameLoader.m:
601 (-[WebFrameLoader fileDoesNotExistErrorWithResponse:]):
602 * Loader/WebNetscapePlugInStreamLoader.h:
603 * Loader/WebNetscapePlugInStreamLoader.m:
604 (-[WebNetscapePlugInStreamLoader initWithStream:frameLoader:]):
605 (-[WebNetscapePlugInStreamLoader releaseResources]):
606 (-[WebNetscapePlugInStreamLoader didReceiveResponse:]):
607 * Plugins/WebNetscapePluginStream.m:
608 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
610 2006-08-14 Maciej Stachowiak <mjs@apple.com>
612 Reviewed by Tim Omernick.
614 - fixed REGRESSION: crash when leaving youtube page while movie is still loading
615 http://bugzilla.opendarwin.org/show_bug.cgi?id=10398
617 * Loader/WebNetscapePlugInStreamLoader.m:
618 (-[WebNetscapePlugInStreamLoader initWithStream:view:]): Set the frame loader for this stream.
619 (-[WebNetscapePlugInStreamLoader cancelWithError:]): Make sure to destroy the stream as well;
620 otherwise, when we try to clean up later, we won't have the right context.
622 2006-08-14 David Hyatt <hyatt@apple.com>
624 Fix for Radar bug 4478840, Safari should not reduce null events sent to
625 plug-ins in windows that are inactive but visible.
627 With this fix you can view videos in visible background windows on YouTube
628 (for example) and not see any drop in frame rate.
632 * Plugins/WebBaseNetscapePluginView.m:
633 (-[WebBaseNetscapePluginView restartNullEvents]):
635 2006-08-14 Maciej Stachowiak <mjs@apple.com>
639 - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
641 * Loader/WebFormDataStream.m:
645 * WebCoreSupport/WebSystemInterface.m:
646 (InitWebCoreSystemInterface):
648 2006-08-14 Maciej Stachowiak <mjs@apple.com>
650 Rubber stamped by Brady.
652 - move WebFormDataStream from WebView to Loader
654 * WebKit.xcodeproj/project.pbxproj:
655 * WebView/WebFormDataStream.h: Removed.
656 * WebView/WebFormDataStream.m: Removed.
658 2006-08-13 Maciej Stachowiak <mjs@apple.com>
662 - remove WebKit dependencies from WebSubresourceLoader, except WebFormDataStream
664 (WebFormDataStream will be moved into the Loader directory soon)
666 * Loader/WebFrameLoader.h:
667 * Loader/WebFrameLoader.m:
668 (-[WebFrameLoader _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
669 * Loader/WebSubresourceLoader.m:
670 (isConditionalRequest):
671 (hasCaseInsensitivePrefix):
674 (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
676 2006-08-13 Brady Eidson <beidson@apple.com>
680 Relocated the WebIconLoaders
682 * Misc/WebIconLoader.h: Moved to Loader/
683 * Misc/WebIconLoader.m: Moved to Loader/
684 * WebKit.xcodeproj/project.pbxproj:
686 2006-08-13 Maciej Stachowiak <mjs@apple.com>
690 - removed non-Loader WebKit dependencies from WebDataProtocol for
691 real (whoops) and fix some typos.
693 * Loader/WebDataProtocol.m:
694 (isCaseInsensitiveEqual): Added.
695 (+[WebDataProtocol _webIsDataProtocolURL:]): Avoid WebKit calls.
696 (-[WebDataProtocol startLoading]): ditto
697 * Loader/WebFrameLoader.m:
698 (isCaseInsensitiveEqual): Fixed spelling from isCaseSensitiveEqual.
699 (-[WebFrameLoader _canUseResourceForRequest:]): Use proper call.
701 2006-08-13 Brady Eidson <beidson@apple.com>
705 The way of detecting a failed icon load before was to try and construct
706 an image from the icon and if that image construction failed, mark the icon
708 A much more efficient way is to check for an error response. We'll still
709 check for invalid image data, but most servers will correctly return an HTTP
710 error on a missing icon.
712 * Misc/WebIconLoader.m:
713 (-[WebIconLoader didFinishLoading]): Added check for http error response
715 2006-08-13 Maciej Stachowiak <mjs@apple.com>
719 - remove all non-Loader dependencies from WebLoader
721 As part of this I moved WebDataProtocol to the loader directory
722 and removed dependencies on the rest of WebKit from that too.
724 * Loader/WebFrameLoader.h:
725 * Loader/WebFrameLoader.m:
726 (-[WebFrameLoader setDefersCallbacks:]):
727 (-[WebFrameLoader stopLoading]):
728 (-[WebFrameLoader cancelledErrorWithRequest:]):
729 (-[WebFrameLoader clearArchivedResources]):
730 (-[WebFrameLoader deliverArchivedResources]):
731 (-[WebFrameLoader deliverArchivedResourcesAfterDelay]):
732 (isCaseSensitiveEqual):
733 (-[WebFrameLoader _canUseResourceForRequest:]):
734 (-[WebFrameLoader _canUseResourceWithResponse:]):
735 (-[WebFrameLoader pendingArchivedResources]):
736 (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
737 (-[WebFrameLoader archiveLoadPendingForLoader:]):
738 (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
739 * Loader/WebLoader.h:
740 * Loader/WebLoader.m:
741 (-[NSURLProtocol releaseResources]):
742 (-[NSURLProtocol loadWithRequest:]):
743 (-[NSURLProtocol setDefersCallbacks:]):
744 (-[NSURLProtocol addData:allAtOnce:]):
745 (-[NSURLProtocol resourceData]):
746 (-[NSURLProtocol didReceiveData:lengthReceived:allAtOnce:]):
747 (-[NSURLProtocol connection:didReceiveData:lengthReceived:]):
748 (-[NSURLProtocol cancelWithError:]):
749 (-[NSURLProtocol cancelledError]):
750 * Loader/WebMainResourceLoader.m:
751 (-[WebMainResourceLoader addData:allAtOnce:]):
752 (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
753 * Loader/WebNetscapePlugInStreamLoader.m:
754 (-[WebNetscapePlugInStreamLoader didReceiveData:lengthReceived:allAtOnce:]):
755 * Loader/WebSubresourceLoader.m:
756 (-[WebSubresourceLoader didReceiveData:lengthReceived:allAtOnce:]):
757 * WebKit.xcodeproj/project.pbxproj:
758 * WebView/WebDataProtocol.h: Removed.
759 * WebView/WebDataProtocol.m: Removed.
761 2006-08-11 Tim Omernick <timo@apple.com>
765 <http://bugzilla.opendarwin.org/show_bug.cgi?id=10111> - Menu flickers over Flash content
766 <rdar://problem/3052546> Plugins don't work with z-index (overlapping elements, etc.)
768 * Plugins/WebBaseNetscapePluginView.m:
769 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
770 Don't just clip to the dirty region for "transparent" plug-ins -- do it for all plug-ins. This is a
771 generally useful thing to do, as it prevents the plug-in from drawing over parts of the window that
772 have already been drawn and are not expected to be redrawn in the same update.
774 2006-08-11 Brady Eidson <beidson@apple.com>
776 Reviewed by John, Timo, Adele, and Darin
778 In addition to a few style/good-practice cleanups, this patch will convert the old icon database
779 format to the WebCore format if the WebCore db is empty (implying this conversion has yet to take
780 place). After the conversion, it will delete all traces of the old format to free the unneeded space
782 * Misc/WebIconDatabase.m:
783 (-[WebIconDatabase init]):
784 (-[WebIconDatabase _setIconURL:forURL:]): Changed the bridge's name for this method to be more clear
785 (-[WebIconDatabase _createFileDatabase]):
786 (-[WebIconDatabase _iconDataForIconURL:]): This grabs the raw data for use in the conversion function
787 (-[WebIconDatabase _convertToWebCoreFormat]): This does the actual conversion
789 2006-08-11 Tim Omernick <timo@apple.com>
791 Reviewed by John Sullivan.
793 Needed for <rdar://problem/4678070>.
795 * Plugins/WebBaseNetscapePluginView.m:
796 (-[WebBaseNetscapePluginView sendEvent:]):
797 Changed an assertion to an early return. It should be possible to send events, especially updateEvt (for image capturing
798 purposes), to off-screen plug-ins. It just doesn't work right now. See <rdar://problem/4318269>.
800 2006-08-11 John Sullivan <sullivan@apple.com>
804 - fixed <rdar://problem/4522894> Would be nice if Safari shrank pages a little if necessary
805 to avoid printing an almost-empty page
807 * WebView/WebHTMLView.m:
808 (-[NSArray knowsPageRange:]):
809 If the last page has a short-enough orphan (< 1/10 of the page height is the number I pulled
810 out of ... the air), then we adjust the scale factor slightly and check whether this reduces
811 the page count and thus eliminates the orphan.
813 2006-08-07 Brady Eidson <beidson@apple.com>
815 Reviewed by Anders and John
817 * Misc/WebIconDatabase.m:
818 (-[WebIconDatabase init]):
819 (-[WebIconDatabase isIconExpiredForIconURL:]): Get if an icon expired
820 (-[WebIconDatabase isIconExpiredForPageURL:]): Ditto
821 (-[WebIconDatabase _setIconURL:forURL:]):
822 (-[WebIconDatabase _sendNotificationForURL:]): Moved to WebKitPendingPublic for use outside of WebIconDatabase
823 (-[WebIconDatabase loadIconFromURL:]): Allow a load outside the context of a page load
824 * Misc/WebIconDatabasePrivate.h:
826 * Misc/WebIconLoader.m:
827 (-[WebIconLoader didFinishLoading]): fixed up the "flipping the switch" #defs a bit
828 (-[WebIconLoader willSendRequest:redirectResponse:]): override to allow a load
829 outside of the context of a page load
831 * WebCoreSupport/WebIconDatabaseBridge.h: Added.
832 * WebCoreSupport/WebIconDatabaseBridge.m: Added.
833 (-[WebIconDatabaseBridge init]):
834 (-[WebIconDatabaseBridge dealloc]):
835 (-[WebIconDatabaseBridge loadIconFromURL:]): Kick off a load on an icon outside
836 of the context of any page load
837 (-[WebIconDatabaseBridge _setIconData:forIconURL:]): WebKit side of bridge method
838 (-[WebIconDatabaseBridge _setHaveNoIconForIconURL:]): WebKit side of bridge method
839 (-[WebIconDatabaseBridge releaseCachedLoaderForIconURL:]):
840 (+[WebIconDatabaseBridge sharedBridgeInstance]): Moved this from WebCore to WebKit
841 so both sides of the bridge get the WebKit version
842 * WebKit.xcodeproj/project.pbxproj: Added some files
843 * WebView/WebDataSource.m:
844 (-[WebDataSource _loadIcon]): Added check for reload/expired icon to force
845 a load even if we already have it
847 2006-08-04 Sam Weinig <sam.weinig@gmail.com>
851 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10192
852 Make WebCore (and friends) compile with -Wshorten-64-to-32
854 * Adds 'f' to float literals where expecting a float.
855 * Use ceilf() instead of ceil() when assigning to a float.
856 * Adds explicit casts where OK.
858 NOTE: The -Wshorten-64-to-32 flag was not added for WebKit
859 because there are still a few places where no error handling
860 is in place. The flag can be added as soon as those are worked
863 * Misc/WebNSControlExtras.m:
864 (-[NSControl sizeToFitAndAdjustWindowHeight]):
865 * Misc/WebNSImageExtras.m:
866 (-[NSImage _web_scaleToMaxSize:]):
867 * Misc/WebNSViewExtras.h:
868 * Misc/WebNSViewExtras.m:
869 * Plugins/WebBaseNetscapePluginView.m:
870 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
871 (-[WebBaseNetscapePluginView drawRect:]):
872 * WebCoreSupport/WebFrameBridge.m:
873 (-[WebFrameBridge expiresTimeForResponse:]):
874 * WebInspector/WebInspector.m:
875 (-[NSWindow window]):
876 (-[WebInspector treeViewScrollTo:]):
877 (-[WebInspector _updateSystemColors]):
878 (-[WebInspector webView:plugInViewWithArguments:]):
879 (-[WebInspector outlineView:objectValueForTableColumn:byItem:]):
880 * WebInspector/WebInspectorOutlineView.m:
881 (-[WebInspectorOutlineView _highlightRow:clipRect:]):
882 * WebInspector/WebNodeHighlight.m:
883 (-[WebNodeHighlight initWithBounds:andRects:forView:]):
884 * WebInspector/WebNodeHighlightView.m:
885 (-[WebNodeHighlightView roundedRect:withRadius:]):
886 (-[WebNodeHighlightView initWithHighlight:andRects:forView:]):
887 (-[WebNodeHighlightView drawRect:]):
888 * WebView/WebFrame.m:
889 (-[WebFrame _opened]):
890 * WebView/WebFrameView.m:
891 (-[WebFrameView initWithFrame:]):
892 * WebView/WebHTMLView.m:
893 (-[WebHTMLView _dragImageForLinkElement:]):
894 (-[WebHTMLView _web_setPrintingModeRecursive]):
895 (-[WebHTMLView _web_clearPrintingModeRecursive]):
897 (-[NSArray _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
898 (-[NSArray adjustPageHeightNew:top:bottom:limit:]):
899 (-[NSArray _scaleFactorForPrintOperation:]):
900 (-[NSArray setPageWidthForPrinting:]):
901 (-[NSArray _endPrintMode]):
902 (-[NSArray knowsPageRange:]):
903 (-[NSArray _originalFontA]):
904 (-[NSArray _originalFontB]):
905 (-[WebTextCompleteController _buildUI]):
906 (-[WebTextCompleteController _placePopupWindow:]):
907 * WebView/WebPDFView.m:
908 (-[WebPDFView _makeTextStandardSize:]):
909 (-[WebPDFView selectionImageForcingWhiteText:]):
910 (-[PDFPrefUpdatingProxy forwardInvocation:]):
911 * WebView/WebPreferences.m:
912 (-[WebPreferences _floatValueForKey:]):
914 (-[WebView makeTextSmaller:]):
915 (-[WebView canMakeTextStandardSize]):
916 (-[WebView makeTextStandardSize:]):
918 2006-08-04 David Kilzer <ddkilzer@kilzer.net>
920 Reviewed by NOBODY (build fix).
922 * WebCoreSupport/WebSubresourceLoader.m: REALLY moved to Loader/
923 * WebView/WebFrameLoader.h: REALLY moved to Loader/
924 * WebView/WebFrameLoader.m: REALLY moved to Loader/
925 * WebView/WebLoader.h: REALLY moved to Loader/
926 * WebView/WebLoader.m: REALLY moved to Loader/
927 * WebView/WebMainResourceLoader.m: REALLY moved to Loader/
929 2006-08-03 Maciej Stachowiak <mjs@apple.com>
933 - moved all loader code that is slated to be moved down to WebCore to a new Loader directory
935 (next step is to remove dependencies on the rest of WebKit from this directory)
937 * Loader/WebNetscapePlugInStreamLoader.h: Added.
938 * Loader/WebNetscapePlugInStreamLoader.m: Added. Cut out of WebNetscapePluginStream.m
939 (-[WebNetscapePlugInStreamLoader initWithStream:view:]):
940 (-[WebNetscapePlugInStreamLoader isDone]):
941 (-[WebNetscapePlugInStreamLoader releaseResources]):
942 (-[WebNetscapePlugInStreamLoader didReceiveResponse:]):
943 (-[WebNetscapePlugInStreamLoader didReceiveData:lengthReceived:]):
944 (-[WebNetscapePlugInStreamLoader didFinishLoading]):
945 (-[WebNetscapePlugInStreamLoader didFailWithError:]):
946 (-[WebNetscapePlugInStreamLoader cancelWithError:]):
947 * Plugins/WebNetscapePluginStream.m:
948 * WebKit.xcodeproj/project.pbxproj:
949 * WebCoreSupport/WebSubresourceLoader.h: Moved to Loader/
950 * WebCoreSupport/WebSubresourceLoader.m: Moved to Loader/
951 * WebView/WebFrameLoader.h: Moved to Loader/
952 * WebView/WebFrameLoader.m: Moved to Loader/
953 * WebView/WebLoader.h: Moved to Loader/
954 * WebView/WebLoader.m: Moved to Loader/
955 * WebView/WebMainResourceLoader.h: Moved to Loader/
956 * WebView/WebMainResourceLoader.m: Moved to Loader/
958 2006-08-03 Tim Omernick <timo@apple.com>
960 Reviewed by Kevin Decker.
962 <rdar://problem/4667460> Windowless OpenGL plug-ins render incorrectly on PowerPC
964 * Plugins/WebBaseNetscapePluginView.m:
965 (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
966 Fixed color component swapping so that it works on both x86 and PPC. See comments.
968 2006-08-03 Brady Eidson <beidson@apple.com>
970 Reviewed by Tim Hatcher's rubber stamp
971 Fixed Intel build break caused by weinig's -W change in r15781
973 * WebView/WebView.m: wrapped cpu-dependent defs with defined() macro
975 2006-08-03 Maciej Stachowiak <mjs@apple.com>
979 - fixed problem that could cause assertion failures in Safari
981 * Plugins/WebBaseNetscapePluginView.m:
982 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Don't
983 allow a plugin to start new loads once its document is no longer the one actively loading.
985 2006-08-03 Maciej Stachowiak <mjs@apple.com>
989 - remove use of WebDataSource from WebLoader and subclasses, just have them talk to the
990 WebFrameLoader instead.
992 For now this is done by forarding all the calls.
994 * Misc/WebIconLoader.m:
995 (-[WebIconLoader didFinishLoading]):
996 * Plugins/WebNetscapePluginStream.m:
997 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
998 (-[WebNetscapePluginStream start]):
999 (-[WebNetscapePlugInStreamLoader didFinishLoading]):
1000 (-[WebNetscapePlugInStreamLoader didFailWithError:]):
1001 (-[WebNetscapePlugInStreamLoader cancelWithError:]):
1002 * WebCoreSupport/WebFrameBridge.m:
1003 (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
1004 (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
1005 * WebCoreSupport/WebSubresourceLoader.h:
1006 * WebCoreSupport/WebSubresourceLoader.m:
1007 (-[WebSubresourceLoader initWithLoader:frameLoader:]):
1008 (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
1009 (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forFrameLoader:]):
1010 (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forFrameLoader:]):
1011 (-[WebSubresourceLoader receivedError:]):
1012 (-[WebSubresourceLoader signalFinish]):
1013 (-[WebSubresourceLoader didFailWithError:]):
1014 (-[WebSubresourceLoader cancel]):
1015 * WebKit.xcodeproj/project.pbxproj:
1016 * WebView/WebDataSource.m:
1017 (-[WebDataSource _updateLoading]):
1018 (-[WebDataSource textEncodingName]):
1019 (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
1020 * WebView/WebFrameLoader.h:
1021 * WebView/WebFrameLoader.m:
1022 (-[WebFrameLoader loadIconWithRequest:]):
1023 (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
1024 (-[WebFrameLoader clearIconLoader]):
1025 (-[WebFrameLoader commitProvisionalLoad]):
1026 (-[WebFrameLoader activeDataSource]):
1027 (-[WebFrameLoader _archivedSubresourceForURL:]):
1028 (-[WebFrameLoader _defersCallbacks]):
1029 (-[WebFrameLoader _identifierForInitialRequest:]):
1030 (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
1031 (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
1032 (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
1033 (-[WebFrameLoader _didReceiveResponse:forResource:]):
1034 (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
1035 (-[WebFrameLoader _didFinishLoadingForResource:]):
1036 (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
1037 (-[WebFrameLoader _privateBrowsingEnabled]):
1038 (-[WebFrameLoader _addPlugInStreamLoader:]):
1039 (-[WebFrameLoader _removePlugInStreamLoader:]):
1040 (-[WebFrameLoader _finishedLoadingResource]):
1041 (-[WebFrameLoader _receivedError:]):
1042 (-[WebFrameLoader _addSubresourceLoader:]):
1043 (-[WebFrameLoader _removeSubresourceLoader:]):
1044 (-[WebFrameLoader _originalRequest]):
1045 (-[WebFrameLoader webFrame]):
1046 (-[WebFrameLoader _receivedMainResourceError:complete:]):
1047 (-[WebFrameLoader initialRequest]):
1048 (-[WebFrameLoader _receivedData:]):
1049 (-[WebFrameLoader _setRequest:]):
1050 (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
1051 (-[WebFrameLoader _handleFallbackContent]):
1052 (-[WebFrameLoader _isStopping]):
1053 (-[WebFrameLoader _decidePolicyForMIMEType:decisionListener:]):
1054 (-[WebFrameLoader _setupForReplaceByMIMEType:]):
1055 (-[WebFrameLoader _setResponse:]):
1056 (-[WebFrameLoader _mainReceivedError:complete:]):
1057 (-[WebFrameLoader _finishedLoading]):
1058 (-[WebFrameLoader _mainReceivedBytesSoFar:complete:]):
1059 (-[WebFrameLoader _iconLoaderReceivedPageIcon:]):
1060 (-[WebFrameLoader _URL]):
1061 * WebView/WebLoader.h:
1062 * WebView/WebLoader.m:
1063 (-[NSURLProtocol releaseResources]):
1064 (-[NSURLProtocol loadWithRequest:]):
1065 (-[NSURLProtocol setFrameLoader:]):
1066 (-[NSURLProtocol frameLoader]):
1067 (-[NSURLProtocol willSendRequest:redirectResponse:]):
1068 (-[NSURLProtocol didReceiveAuthenticationChallenge:]):
1069 (-[NSURLProtocol didCancelAuthenticationChallenge:]):
1070 (-[NSURLProtocol didReceiveResponse:]):
1071 (-[NSURLProtocol didReceiveData:lengthReceived:]):
1072 (-[NSURLProtocol signalFinish]):
1073 (-[NSURLProtocol didFailWithError:]):
1074 (-[NSURLProtocol willCacheResponse:]):
1075 (-[NSURLProtocol cancelWithError:]):
1076 * WebView/WebMainResourceLoader.h:
1077 * WebView/WebMainResourceLoader.m:
1078 (-[WebMainResourceLoader initWithFrameLoader:]):
1079 (-[WebMainResourceLoader receivedError:]):
1080 (-[WebMainResourceLoader cancelWithError:]):
1081 (-[WebMainResourceLoader _isPostOrRedirectAfterPost:redirectResponse:]):
1082 (-[WebMainResourceLoader addData:]):
1083 (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
1084 (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
1085 (-[WebMainResourceLoader continueAfterContentPolicy:]):
1086 (-[WebMainResourceLoader checkContentPolicyForResponse:]):
1087 (-[WebMainResourceLoader didReceiveResponse:]):
1088 (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
1089 (-[WebMainResourceLoader didFinishLoading]):
1090 (-[WebMainResourceLoader didFailWithError:]):
1091 (-[WebMainResourceLoader loadWithRequestNow:]):
1093 2006-08-03 Sam Weinig <sam.weinig@gmail.com>
1097 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10176
1098 Make WebCore compile with -Wundef
1100 * Adds -Wundef flag to Xcode project
1101 * Converts #ifs to #ifdef and #ifndefs where needed.
1103 * Carbon/CarbonUtils.m:
1104 * Carbon/CarbonWindowAdapter.m:
1105 * Carbon/HIViewAdapter.m:
1106 (+[NSView bindHIViewToNSView:nsView:]):
1107 * Carbon/HIWebView.m:
1108 (HIWebViewEventHandler):
1109 * Misc/WebFileDatabase.m:
1110 (UniqueFilePathForKey):
1111 * Misc/WebNSWindowExtras.m:
1112 (swizzleInstanceMethod):
1113 * Misc/WebTypesInternal.h:
1114 * Plugins/WebNetscapeDeprecatedFunctions.c:
1115 * Plugins/WebNetscapeDeprecatedFunctions.h:
1116 * Plugins/WebNetscapePluginPackage.h:
1117 * Plugins/WebNetscapePluginPackage.m:
1118 (-[WebNetscapePluginPackage unloadWithoutShutdown]):
1119 (-[WebNetscapePluginPackage load]):
1120 * WebKit.xcodeproj/project.pbxproj:
1122 2006-08-03 Darin Adler <darin@apple.com>
1124 Reviewed by Eric Seidel.
1128 * WebView/WebFrame.m: (-[WebFramePrivate dealloc]): Release the frame loader.
1130 2006-08-02 Timothy Hatcher <timothy@apple.com>
1132 Rubber stamped by Maciej.
1134 Adding back resultsWithXpathQuery, removed by Darin's earlier change.
1135 This function is called from ObjC, but not used from JavaScript.
1137 * WebInspector/webInspector/inspector.js:
1139 2006-08-02 Timothy Hatcher <timothy@apple.com>
1143 Bug 10200: [Drosera] Deadlock between Drosera and Safari while loading page
1144 http://bugzilla.opendarwin.org/show_bug.cgi?id=10200
1146 Prevent reentrancy in our debugger callbacks. This was causing a deadlock in Drosera because
1147 suspendProcessIfPaused was being called during a DO call into Safari.
1149 Preventing reentrancy also prevents scripts that Drosera injects and evaluates from showing
1150 up in rare cases (such as a iframe loading about:blank). I thought this would prevent cases
1151 where you call a function from the console and expect it to break on a breakpoint in them, but
1152 this appears to never have worked even without this change. When that is figured out we can
1153 reconsider a better solution to reentrancy. I have filed that as bug 10214.
1155 I also removed the NSRunLoop runMode:beforeDate: calls since DO handles this for us since
1156 we don't use "onway void" as the return type for the callbacks. Note: using onway void for
1157 the listener callbacks causes bad synchronization issues and obscure crashes.
1159 * DefaultDelegates/WebScriptDebugServer.m:
1160 (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
1161 (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
1162 (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
1163 (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
1164 (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
1165 (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
1166 (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
1167 * DefaultDelegates/WebScriptDebugServerPrivate.h:
1169 2006-08-02 Maciej Stachowiak <mjs@apple.com>
1173 - fix assertion failure on layout tests by stopping plugins from loading at a clearly defined time
1174 - add more assertions for safety
1176 * WebView/WebDataSource.m:
1177 (-[WebDataSourcePrivate dealloc]): Removed obsolete comment.
1178 (-[WebDataSource _updateLoading]): Add assertion ensuring this method is only called
1179 at a time when this data source is the one that might be loading for a frame.
1180 (-[WebDataSource _stopLoading]): Stop loading plugins as a FIXME suggests we should.
1181 * WebView/WebFrameLoader.m:
1182 (-[WebFrameLoader isLoadingPlugIns]): New helper method.
1183 (-[WebFrameLoader isLoading]): Consider plugin loads too - otherwise we won't stop them
1184 at stopLoading time.
1186 2006-08-02 Adam Roben <aroben@apple.com>
1190 - Rename TransferJob to ResourceLoader (this file was forgotten in an
1191 earlier change by Maciej)
1195 2006-08-01 Maciej Stachowiak <mjs@apple.com>
1199 - Change things around so WebFrameLoader tracks the main and provisional data source,
1200 as well as the frame load state, pulling much code out of WebFrame along the way.
1202 The most significant aspects of this change are:
1204 - management of WebDataSources and WebFrameState was moved into WebFrameLoader
1205 - there is now just one WebFrameLoader shared between the primary and provisional data source
1207 * WebKit.xcodeproj/project.pbxproj:
1208 * WebView/WebDataSource.m:
1209 (-[WebDataSourcePrivate dealloc]):
1210 (-[WebDataSource _updateLoading]):
1211 (-[WebDataSource _loadIcon]):
1212 (-[WebDataSource _setPrimaryLoadComplete:]):
1213 (-[WebDataSource _stopLoading]):
1214 (-[WebDataSource _startLoading]):
1215 (-[WebDataSource _addSubresourceLoader:]):
1216 (-[WebDataSource _removeSubresourceLoader:]):
1217 (-[WebDataSource _addPlugInStreamLoader:]):
1218 (-[WebDataSource _removePlugInStreamLoader:]):
1219 (-[WebDataSource _defersCallbacksChanged]):
1220 (-[WebDataSource _stopLoadingWithError:]):
1221 (-[WebDataSource _revertToProvisionalState]):
1222 (-[WebDataSource _setupForReplaceByMIMEType:]):
1223 (-[WebDataSource initWithRequest:]):
1224 (-[WebDataSource data]):
1225 (-[WebDataSource isLoading]):
1226 * WebView/WebFrame.m:
1227 (-[WebFramePrivate init]):
1228 (-[WebFramePrivate dealloc]):
1229 (-[WebFrame _closeOldDataSources]):
1230 (-[WebFrame _detachFromParent]):
1231 (-[WebFrame _makeDocumentView]):
1232 (-[WebFrame _receivedMainResourceError:]):
1233 (-[WebFrame _transitionToCommitted:]):
1234 (+[WebFrame _timeOfLastCompletedLoad]):
1235 (-[WebFrame _checkLoadCompleteForThisFrame]):
1236 (-[WebFrame _loadItem:withLoadType:]):
1237 (-[WebFrame _continueAfterWillSubmitForm:]):
1238 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
1239 (-[WebFrame _initWithWebFrameView:webView:bridge:]):
1240 (-[WebFrame _frameLoader]):
1241 (-[WebFrame _provisionalLoadStarted]):
1242 (-[WebFrame _prepareForDataSourceReplacement]):
1243 (-[WebFrame _frameLoadCompleted]):
1244 (-[WebFrame provisionalDataSource]):
1245 (-[WebFrame dataSource]):
1246 (-[WebFrame stopLoading]):
1247 * WebView/WebFrameInternal.h:
1248 * WebView/WebFrameLoader.h:
1249 * WebView/WebFrameLoader.m:
1250 (-[WebFrameLoader initWithWebFrame:]):
1251 (-[WebFrameLoader dealloc]):
1252 (-[WebFrameLoader dataSource]):
1253 (-[WebFrameLoader _setDataSource:]):
1254 (-[WebFrameLoader clearDataSource]):
1255 (-[WebFrameLoader provisionalDataSource]):
1256 (-[WebFrameLoader _setProvisionalDataSource:]):
1257 (-[WebFrameLoader _clearProvisionalDataSource]):
1258 (-[WebFrameLoader state]):
1259 (+[WebFrameLoader timeOfLastCompletedLoad]):
1260 (-[WebFrameLoader _setState:]):
1261 (-[WebFrameLoader clearProvisionalLoad]):
1262 (-[WebFrameLoader markLoadComplete]):
1263 (-[WebFrameLoader commitProvisionalLoad]):
1264 (-[WebFrameLoader stopLoading]):
1265 (-[WebFrameLoader startLoading]):
1266 (-[WebFrameLoader startProvisionalLoad:]):
1267 (-[WebFrameLoader setupForReplace]):
1268 * WebView/WebFramePrivate.h:
1270 2006-08-01 Tim Omernick <timo@apple.com>
1272 Reviewed by John Sullivan.
1274 <rdar://problem/4480737> Flash crashes after it replaces itself via a document.write()
1276 I kind of hate to do this, but this is the best way to work around buggy plug-ins like Flash that assume that
1277 NPP_Destroy() cannot be called while the browser is calling one of its other plug-in functions. The classic
1278 situation is a plug-in that replaces itself via an NPN_Invoke() that executes a document.write().
1280 * Plugins/WebBaseNetscapePluginView.h:
1281 * Plugins/WebBaseNetscapePluginView.m:
1282 (-[WebBaseNetscapePluginView sendEvent:]):
1283 Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
1284 (-[WebBaseNetscapePluginView setWindowIfNecessary]):
1286 (-[WebBaseNetscapePluginView start]):
1287 It should not be possible to start a plug-in instance while we are calling into it (one of those chicken/egg
1288 problems). Added a sanity-checking assertion.
1289 (-[WebBaseNetscapePluginView stop]):
1290 If we're already calling a plug-in function, do not call NPP_Destroy(). The plug-in function we are calling
1291 may assume that its instance->pdata, or other memory freed by NPP_Destroy(), is valid and unchanged until said
1292 plugin-function returns.
1293 (-[WebBaseNetscapePluginView pluginScriptableObject]):
1294 Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
1295 (-[WebBaseNetscapePluginView willCallPlugInFunction]):
1296 Increment plug-in function call depth.
1297 (-[WebBaseNetscapePluginView didCallPlugInFunction]):
1298 Decrement plug-in function call depth. Stop if we're supposed to stop.
1299 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
1300 Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
1301 (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
1303 (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1306 * Plugins/WebBaseNetscapePluginStream.m:
1307 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
1308 Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
1309 (-[WebBaseNetscapePluginStream _destroyStream]):
1311 (-[WebBaseNetscapePluginStream _deliverData]):
1314 2006-08-01 Maciej Stachowiak <mjs@apple.com>
1316 - fix build after last change
1318 * WebView/WebFrame.m:
1319 (-[WebFrame _checkLoadCompleteForThisFrame]):
1321 2006-08-01 Maciej Stachowiak <mjs@apple.com>
1325 - revert part of my last fix that broke the Safari bookmarks view
1327 * WebView/WebFrame.m:
1328 (-[WebFrame _checkLoadCompleteForThisFrame]): still send layout message for non-HTML views
1330 2006-08-01 Tim Omernick <timo@apple.com>
1334 Fixed an assertion failure I ran into while debugging <rdar://problem/4652683>.
1336 * Plugins/WebNetscapePluginEmbeddedView.m:
1337 (-[WebNetscapePluginEmbeddedView redeliverStream]):
1338 Don't clear the "instance" ivar here. This code was refactored here from the old WebNetscapePluginRepresentation,
1339 which also had an "instance" ivar. It is never appropriate to clear a plug-in view's instance. That is done when
1340 the plug-in is destroyed.
1342 2006-08-01 Maciej Stachowiak <mjs@apple.com>
1346 - some refactoring in preparation for moving more stuff to WebFrameLoader.
1348 * WebView/WebFrame.m:
1349 (-[WebFrame _clearDataSource]):
1350 (-[WebFrame _detachFromParent]):
1351 (-[WebFrame _commitProvisionalLoad]):
1352 (-[WebFrame _transitionToCommitted:]):
1353 (-[WebFrame _clearProvisionalLoad]):
1354 (-[WebFrame _markLoadComplete]):
1355 (-[WebFrame _checkLoadCompleteForThisFrame]):
1356 (-[WebFrame _startProvisionalLoad:]):
1357 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
1358 (-[WebFrame stopLoading]):
1360 2006-07-31 Maciej Stachowiak <mjs@apple.com>
1362 Reviewed by Tim Hatcher.
1364 - renamed TransferJob to ResourceLoader in WebCore
1367 (WebFrame::loadDataSource):
1368 (WebFrame::receivedRedirect):
1369 (WebFrame::receivedResponse):
1370 (WebFrame::receivedData):
1371 (WebFrame::receivedAllData):
1372 (WebFrame::setStatusText):
1375 2006-07-31 Darin Adler <darin@apple.com>
1379 - omit the margin and padding boxes for display types where they are ignored
1380 - use CSS instead of properties for table spacing and padding as suggested by Tim H.
1382 * WebInspector/webInspector/inspector.css: Added rules for spacing and padding.
1383 Added rules that hide the margin and padding boxes (borders and all but the center cell)
1384 when the hide attribute is present.
1385 * WebInspector/webInspector/inspector.html: Added classes for the rules above.
1386 Removed cellpadding and cellspacing attributes.
1387 * WebInspector/webInspector/inspector.js: Added code to hide/show the margin and
1388 padding boxes based on the display type.
1390 2006-07-31 Duncan Wilcox <duncan@mclink.it>
1394 Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=10159>
1395 "REGRESSION: delegate returning no menu elements crashes webkit"
1397 No automated test, because there's no way to programmatically open a context menu,
1398 no manual test because there's no way to customize the context menu delegate.
1400 * WebView/WebView.m:
1401 (-[WebView _menuForElement:defaultItems:]): Make sure the context menu returned
1402 some menu items before accessing the first one.
1404 2006-07-31 Timothy Hatcher <timothy@apple.com>
1408 <rdar://problem/4658194> REGRESSION: "Search in Google"
1409 and "Search in Spotlight" fail to work on text selected in a frame
1411 Use selectedFrame to get the frame with the text selection.
1413 * WebView/WebView.m:
1414 (-[WebView _searchWithGoogleFromMenu:]):
1415 (-[WebView _searchWithSpotlightFromMenu:]):
1417 2006-07-31 Darin Adler <darin@apple.com>
1419 Reviewed by Tim Hatcher.
1421 - http://bugzilla.opendarwin.org/show_bug.cgi?id=10168
1422 add a first cut at a Metrics pane to the inspector
1424 * WebInspector/webInspector/inspector.css: Add styles for the new metrics pane.
1425 * WebInspector/webInspector/inspector.html: Add the new metrics pane, starting with
1426 the table to show the box model.
1427 * WebInspector/webInspector/inspector.js: Add the new metrics pane. Add back some
1428 "title" attributes so we have more tooltips. Removed the optional parameter to
1431 2006-07-31 Anders Carlsson <acarlsson@apple.com>
1435 * Plugins/WebPluginDatabase.m:
1436 (-[WebPluginDatabase refresh]):
1437 Create a mutable set instead of a mutable array.
1439 2006-07-30 Darin Adler <darin@apple.com>
1441 Reviewed by Tim Hatcher.
1443 * WebInspector/webInspector/inspector.js: Fix bug where a null property value
1444 leads to an empty style pane.
1446 2006-07-30 Darin Adler <darin@apple.com>
1448 Reviewed by Tim Hatcher.
1450 - http://bugzilla.opendarwin.org/show_bug.cgi?id=10163
1451 some improvements for the inspector
1453 * WebInspector/WebInspector.m:
1454 (+[WebInspector sharedWebInspector:]): Fixed bug that could cause the inspector
1455 to be garbage collected if used in an application with GC enabled.
1456 (-[WebInspector dealloc]): Removed a call to a non-existent close method.
1457 (-[WebInspector window]): Added a custom WebPreferences object and called
1458 setPrivateBrowsingEnabled:YES so the inspector won't appear in the history menu.
1459 Also call setProhibitsMainFrameScrolling:YES to try to get rid of trouble where
1460 the inspector scrolls when dragging.
1462 * WebInspector/webInspector/inspector.css: Added style for the new color swatch,
1463 and JavaScript properties. More of the style should be shared between the panes,
1464 but this should be OK for now.
1466 * WebInspector/webInspector/inspector.html: Added a first cut at a JavaScript
1467 properties pane. Needs work, but better than nothing.
1469 * WebInspector/webInspector/inspector.js: Lots of improvements:
1470 - Omit "typical" property values from computed style display, making it much shorter.
1471 - Use the words "black", "white", and "transparent" when appropriate for color values.
1472 - Refactored the loaded() function to get rid of repetitive scrollbar setup.
1473 - Added a new scrollarea for the JavaScript properties pane.
1474 - Simplified refreshScrollbars() -- we now refresh all scrollbars every time, which does no harm.
1475 - Removed unused resultsWithXpathQuery().
1476 - Use [] instead of "new Array()" and {} instead of "new Object()".
1477 - Removed unused xpathForNode().
1478 - Changed style pane to display the style for a text node's parent instead of saying
1479 it can't display the style for text.
1480 - Fixed regression I caused a while back by checking the length of a computed style
1481 and not trying to display anything if its length is 0. Before this change and the
1482 corresponding change in WebCore, we'd see a complete list of all styles with the
1483 empty string as the value for each one.
1484 - Changed the name of the computedStyle flag on the style rules array to isComputedStyle
1485 to make it easier to understand it's a boolean.
1486 - Fixed an error in the code that does !important scanning where it was trying to
1487 do a special case for computed style, but was checking the computed style flag on
1489 - Added populateStyleListItem() function to factor out things in common between the
1490 items in the top level list and the expanded tree for shorthand properties.
1491 - Added code to make a color swatch next to the textual representation for any
1492 property that contains a color.
1493 - Implemented a first cut at a simple JavaScript properties pane.
1495 2006-07-29 Darin Adler <darin@apple.com>
1497 - Removed tabs from these source files that still had them.
1498 We don't use them; that way source files look fine in editors
1499 that have tabs set to 8 spaces or to 4 spaces.
1500 - Removed allow-tabs Subversion property from the files too.
1502 * DefaultDelegates/WebDefaultPolicyDelegate.m:
1503 * History/WebHistory.m:
1504 * Misc/WebDownload.m:
1505 * Misc/WebIconDatabase.m:
1506 * Misc/WebKitErrors.m:
1507 * Misc/WebKitLogging.m:
1508 * Misc/WebNSDataExtras.m:
1509 * Misc/WebNSFileManagerExtras.m:
1510 * Panels/WebPanelAuthenticationHandler.m:
1511 * Plugins/WebBaseNetscapePluginView.m:
1512 * Plugins/npfunctions.h:
1513 * WebCoreSupport/WebSubresourceLoader.m:
1514 * WebView/WebMainResourceLoader.m:
1515 * WebView/WebView.h:
1516 * WebView/WebView.m:
1518 2006-07-29 Sam Weinig <sam.weinig@gmail.com>
1522 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10080
1523 Adopt pedantic changes from the Unity project to improve
1524 cross-compiler compatibility
1527 * Adding missing newline to the end of the file.
1528 * Turning on gcc warning for missing newline at the end of a source file
1529 (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
1531 * WebKit.xcodeproj/project.pbxproj:
1532 * WebView/WebResourcePrivate.h:
1534 2006-07-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
1536 Reviewed by John Sullivan.
1538 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9984
1539 ASSERTION FAILURE: _private->mouseDownEvent != nil
1540 (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
1542 * WebView/WebHTMLView.m:
1543 (-[WebHTMLView _setMouseDownEvent:]): Moved into the WebHTMLViewFileInternal category and changed
1545 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1546 Copy the hit HTMLView's mouse down event to the top HTMLView.
1547 (-[WebHTMLView acceptsFirstMouse:]): Added a call to _setMouseDownEvent:nil before returning.
1548 (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Added a call to _setMouseDownEvent:nil
1550 (-[WebHTMLView mouseUp:]): Added a call to _setMouseDownEvent:nil to clear the event set in
1551 mouseDown: (and used during dragging).
1552 (-[WebHTMLView _delegateDragSourceActionMask]): Copy the hit HTMLView's mouse down event to
1555 2006-07-28 Timothy Hatcher <timothy@apple.com>
1559 <rdar://problem/4657473> REGRESSION: Spell check not available from contextual menu in Mail
1561 The context menu code should be checking isContentEditable
1562 on DOMNode not just DOMElement. This is needed because DOMText
1563 will be the node class of any text that is clicked.
1565 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1566 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
1568 2006-07-25 Geoffrey Garen <ggaren@apple.com>
1570 Reviewed by Maciej, inspired by John.
1572 - Fixed <rdar://problem/4651931> 1% REGRESSION on iBench HTML due to
1573 repeated requests for non-existent favicon
1575 An optimization to avoid serializing favicon data for missing icons had stomped an
1576 optimization to avoid GETing a missing favicon more than once. The solution
1577 is a happy marriage of optimizations, ensuring that we *retain* the missing
1578 favicon's "i am missing" data without posting a notification or saving it to disk.
1580 * Misc/WebIconDatabase.m:
1581 (-[WebIconDatabase _setIconURL:forURL:]):
1583 2006-07-25 David Harrison <harrison@apple.com>
1585 Reviewed by timo and Darin.
1587 <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
1589 * WebKit.xcodeproj/project.pbxproj:
1590 * WebView/WebView.m:
1591 (-[WebView replaceSelectionWithNode:]):
1592 (-[WebView _replaceSelectionWithNode:matchStyle:]):
1593 * WebView/WebViewPrivate.h:
1594 (-[WebView _replaceSelectionWithNode:matchStyle::]):
1595 New SPI that is same as replaceSelectionWithNode: with added parameter whether to match existing style.
1597 2006-07-24 Darin Adler <darin@apple.com>
1599 Reviewed by Adele and Justin.
1601 - update for change to require context when creating fragments from text
1602 (needed to handle whitespace properly)
1604 * WebView/WebHTMLView.m:
1605 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
1606 Added context parameter, pass through to bridge.
1607 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Pass selection range as context
1608 when calling above method.
1609 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Pass drag caret as context when
1610 calling above method.
1612 2006-07-24 Maciej Stachowiak <mjs@apple.com>
1616 - fix <rdar://problem/4609195> Help Viewer loads empty window (not getting didFailLoadingWithError: callback)
1617 (without re-introducing http://bugzilla.opendarwin.org/show_bug.cgi?id=10062 )
1619 * WebView/WebLoader.h:
1620 * WebView/WebMainResourceLoader.m:
1621 (-[WebMainResourceLoader receivedError:]): Copy in some code from the base class to do it in the proper
1622 order, surrounding the call to [ds _receivedMainResourceError:error complete:YES].
1624 2006-07-24 Anders Carlsson <acarlsson@apple.com>
1628 * Misc/WebIconDatabase.m:
1629 (-[WebIconDatabase removeAllIcons]):
1630 Make an array of the keys and iterate through it to avoid modifying the
1631 dictionary while enumerating it.
1633 2006-07-24 Timothy Hatcher <timothy@apple.com>
1635 Reviewed by John and Darin.
1637 <rdar://problem/4634290> Cannot selectively install a custom
1638 scroller that differs from the default Aqua frame size.
1640 Adds two new private methods to WebFrameView that allows
1641 an application to set a custom scroll view class. This is needed
1642 if the application wants to install a custom scroller that is wider
1643 than the typical scroller, because NSScrollView does the content
1644 rect calculations in a class method (ignoring custom scrollers.)
1645 The _setScrollViewClass method requires the class to be a subclass
1646 of WebDynamicScrollBarView, or nil can be passed to reset to the default class.
1647 A new scroll view of the specified class will then replace the previous
1648 one without the need to reload content of the frame.
1650 * WebView/WebFrameView.m:
1651 (-[WebFrameView _customScrollViewClass]):
1652 (-[WebFrameView _setCustomScrollViewClass:]):
1653 * WebView/WebFrameViewPrivate.h:
1655 2006-07-24 Alexey Proskuryakov <ap@nypop.com>
1659 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10009
1660 REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
1662 * WebView/WebView.m:
1663 (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): If we've got a type supported by WebPDFView,
1664 make sure to initialize the plugin database, in case a plugin wants to handle it.
1666 2006-07-23 Mark Rowe <opendarwin.org@bdash.net.nz>
1670 Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
1671 http://bugzilla.opendarwin.org/show_bug.cgi?id=9686
1673 WebKit portion of the fix.
1675 * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
1676 (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
1677 * DefaultDelegates/WebScriptDebugServer.h:
1678 * DefaultDelegates/WebScriptDebugServer.m:
1679 (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]): Notify
1680 listeners that an exception has been raised.
1681 * WebView/WebScriptDebugDelegate.h:
1682 * WebView/WebScriptDebugDelegate.m:
1683 (-[WebScriptCallFrame exceptionRaised:sourceId:line:]): Dispatch through to delegate and
1684 WebScriptDebugServer.
1686 2006-07-23 Adele Peterson <adele@apple.com>
1690 - Fix for <rdar://problem/4646276> CrashTracer: 7 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::paint + 155
1692 * WebView/WebHTMLView.m: (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
1693 needsDisplay was returning NO even though the view has a dirty rect (see <rdar://problem/4647062>). Since we know about
1694 the dirty rect, we don't actually need to check needsDisplay.
1696 2006-07-22 Timothy Hatcher <timothy@apple.com>
1700 Bug 10062: REGRESSION: dom/xhtml/level2/html/HTMLIFrameElement11.xhtml asserts/crashes
1701 http://bugzilla.opendarwin.org/show_bug.cgi?id=10062
1703 2006-07-21 Timothy Hatcher <timothy@apple.com>
1707 <rdar://problem/4609195> Help Viewer loads empty window
1708 (not getting didFailLoadingWithError: callback)
1710 Call super's didFailWithError before _receivedMainResourceError
1711 because _receivedMainResourceError will cause the datasource's
1712 frame to be set to nil before the didFailLoadingWithError delegate
1713 callback is sent. (This order is needed now that WebDataSource does
1714 not hold on to the WebView; it uses the WebFrame to get to the WebView.
1715 If the WebFrame is nil we can't get to the WebView's resource load delegate.)
1717 * WebView/WebMainResourceLoader.m:
1718 (-[WebMainResourceLoader receivedError:]):
1721 2006-07-22 Timothy Hatcher <timothy@apple.com>
1725 <rdar://problem/4646318> REGRESSION: Ctrl-clicking on a selection containing a word doesn't display a complete contextual menu
1727 Show the editing context menu if the WebView is editible.
1728 The original change only checked if the DOM element was editable,
1729 and isContentEditable returns NO if entire WebView is editable.
1731 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1732 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
1734 2006-07-21 Timothy Hatcher <timothy@apple.com>
1738 <rdar://problem/4609195> Help Viewer loads empty window
1739 (not getting didFailLoadingWithError: callback)
1741 Call super's didFailWithError before _receivedMainResourceError
1742 because _receivedMainResourceError will cause the datasource's
1743 frame to be set to nil before the didFailLoadingWithError delegate
1744 callback is sent. (This order is needed now that WebDataSource does
1745 not hold on to the WebView; it uses the WebFrame to get to the WebView.
1746 If the WebFrame is nil we can't get to the WebView's resource load delegate.)
1748 * WebView/WebMainResourceLoader.m:
1749 (-[WebMainResourceLoader receivedError:]):
1751 === Safari-521.20 ===
1753 2006-07-21 Timothy Hatcher <timothy@apple.com>
1757 <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)
1759 Do not use _isEditable call since that only checks if the current
1760 selection or frame is editible. We now check if the currently clicked element
1761 is a content editible area, a textarea, an isindex or an input element that
1762 return YES to _isTextField.
1764 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1765 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
1767 2006-07-20 John Sullivan <sullivan@apple.com>
1771 - WebKit part of fix for:
1772 <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving
1773 closing tabs after clicking in a web page
1775 * WebCoreSupport/WebFrameBridge.m:
1776 (-[WebFrameBridge textViewWasFirstResponderAtMouseDownTime:]):
1777 renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)
1779 * WebView/WebHTMLViewInternal.h:
1780 * WebView/WebHTMLView.m:
1781 (-[WebTextCompleteController dealloc]):
1782 updated for name change
1783 (-[NSArray _setMouseDownEvent:]):
1784 Now only retains the first responder if it's a textView, since that's the only case that the only client
1785 actually cares about. This avoids a reference cycle caused by retaining self. This is the only substantive
1786 part of the patch; all the rest is just renaming for clarity, and comments.
1787 (-[NSArray mouseDown:]):
1788 updated for name change
1789 (-[WebHTMLView _textViewWasFirstResponderAtMouseDownTime:]):
1790 renamed to be more specific (formerly _wasFirstResponderAtMouseDownTime:)
1792 2006-07-19 Tim Omernick <timo@apple.com>
1796 <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or other WebPreferences changes)
1798 * Plugins/WebBaseNetscapePluginView.m:
1799 (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
1800 Stop the plug-in when it is removed from its superview. It is not sufficient to do this in -viewWillMoveToWindow:nil, because
1801 the WebView might still has a hostWindow at that point, which prevents the plug-in from being destroyed.
1802 There is no need to start the plug-in when moving into a superview. -viewDidMoveToWindow takes care of that.
1804 === Safari-521.19 ===
1806 2006-07-17 Tim Omernick <timo@apple.com>
1810 <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
1813 * WebView/WebViewPrivate.h:
1814 * WebView/WebView.m:
1815 (-[WebView setProhibitsMainFrameScrolling:]):
1816 New method. Prohibits scrolling in the WebView's main frame. Used to "lock" a WebView to a specific
1819 2006-07-17 Timothy Hatcher <timothy@apple.com>
1823 <rdar://problem/4635311> REGRESSION: WebKit should call windowScriptObjectAvailable before attaching the script debugger
1825 * WebCoreSupport/WebFrameBridge.m:
1826 (-[WebFrameBridge windowObjectCleared]):
1828 2006-07-17 Timothy Hatcher <timothy@apple.com>
1832 <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit
1834 Copy WebScriptObject.h from WebCore's private headers, not JavaScriptCore.
1836 * WebKit.xcodeproj/project.pbxproj:
1838 2006-07-17 John Sullivan <sullivan@apple.com>
1840 Reviewed by Tim Omernick.
1842 - fixed <rdar://problem/4604366> Orange Find highlight displays text in wrong size on PDF pages
1843 if they're not at "actual size"
1845 To match WebHTMLView, I made the methods that return attributed strings take the view's scale
1846 factor into account.
1848 * WebView/WebPDFView.m:
1849 (-[WebPDFView _scaledAttributedString:]):
1850 new helper method, takes an attributed string and returns one that's scaled by the view's
1851 current scale factor
1852 (-[WebPDFView attributedString]):
1853 pass result through _scaledAttributedString:
1854 (-[WebPDFView selectedAttributedString]):
1857 2006-07-17 Justin Garcia <justin.garcia@apple.com>
1861 Rolled the first fix for:
1862 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
1863 GMail Editor: Operations that use drop down menus blow away the selection
1864 back in and removed the call to _clearSelectionInOtherFrames from
1865 -[WebHTMLView becomeFirstResponder] to fix the bug.
1867 * WebView/WebHTMLView.m:
1868 (-[NSArray maintainsInactiveSelection]):
1869 (-[NSArray becomeFirstResponder]):
1870 * WebView/WebView.m:
1871 (-[WebView maintainsInactiveSelection]):
1873 2006-07-15 Darin Adler <darin@apple.com>
1875 Reviewed by John Sullivan.
1877 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9928
1878 REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)
1880 * WebView/WebHTMLView.m:
1881 (-[WebHTMLView _documentRange]): Moved into WebHTMLViewFileInternal category.
1882 (-[WebHTMLView selectionRect]): Moved into WebDocumentPrivateProtocols category.
1883 (-[WebHTMLView selectionView]): Ditto.
1884 (-[WebHTMLView selectionImageForcingWhiteText:]): Ditto.
1885 (-[WebHTMLView selectionImageRect]): Ditto.
1886 (-[WebHTMLView pasteboardTypesForSelection]): Ditto.
1887 (-[WebHTMLView selectAll]): Ditto.
1888 (-[WebHTMLView deselectAll]): Ditto.
1889 (-[WebHTMLView string]): Ditto.
1890 (-[WebHTMLView _attributeStringFromDOMRange:]): Ditto.
1891 (-[WebHTMLView attributedString]): Ditto.
1892 (-[WebHTMLView selectedString]): Ditto.
1893 (-[WebHTMLView selectedAttributedString]): Ditto.
1894 (-[WebHTMLView supportsTextEncoding]): Ditto.
1895 (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Moved into WebDocumentInternalProtocols.
1896 (-[WebHTMLView _isMoveDrag]): Ditto.
1897 (-[WebHTMLView _isNSColorDrag:]): Ditto.
1898 (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
1899 (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
1900 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto.
1901 (-[WebHTMLView elementAtPoint:]): Ditto.
1902 (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
1904 * WebKit.xcodeproj/project.pbxproj: Let Xcode 2.3 do its thing.
1906 === Safari-521.17 ===
1908 2006-07-14 Timothy Hatcher <timothy@apple.com>
1910 Rolling out this fix from r15358 since it isn't resolved.
1912 2006-07-11 Justin Garcia <justin.garcia@apple.com>
1914 Reviewed by levi & thatcher
1916 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
1917 GMail Editor: Operations that use drop down menus blow away the selection
1919 * WebView/WebHTMLView.m:
1920 (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
1921 when resigning as first responder if the selection is editable
1922 or if the WebView tells us to.
1923 * WebView/WebView.m:
1924 (-[WebView maintainsInactiveSelection]): Just because a WebView is
1925 editable doesn't mean selections inside subframes will be. Return
1928 2006-07-14 Timothy Hatcher <timothy@apple.com>
1930 <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure
1932 Build fix with the new GCC. Removes forward declarations of protocols.
1934 * Misc/WebSearchableTextView.h:
1935 * WebCoreSupport/WebSubresourceLoader.h:
1936 * WebKit.xcodeproj/project.pbxproj:
1937 * WebView/WebDocumentInternal.h:
1938 * WebView/WebDocumentPrivate.h:
1939 * WebView/WebHTMLView.h:
1940 * WebView/WebPDFView.h:
1941 * WebView/WebScriptDebugDelegatePrivate.h:
1943 2006-06-28 Darin Adler <darin@apple.com>
1947 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9625
1948 <rdar://problem/4604703>
1949 REGRESSION: Focus not removed from password field after ctrl-click in text field
1951 * WebView/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): Set handlingMouseDownEvent to
1952 YES while calling sendContextMenuEvent: on the bridge.
1954 2006-07-14 Timothy Hatcher <timothy@apple.com>
1958 Moved JavaScriptCore to be a public framework.
1960 * WebKit.xcodeproj/project.pbxproj:
1962 2006-07-13 Mitz Pettel <opendarwin.org@mitzpettel.com>
1966 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9795
1967 REGRESSION: Crash in [WebHTMLView(WebPrivate)
1968 _updateMouseoverWithEvent:]
1969 and http://bugzilla.opendarwin.org/show_bug.cgi?id=9850
1970 REGRESSION: Assertion failure (SHOULD NEVER BE REACHED) in -
1971 [WebHTMLView(WebPrivate) removeTrackingRect:]
1973 * WebView/WebHTMLView.m:
1974 (-[WebHTMLView _updateMouseoverWithEvent:]): Return immediately if
1975 the view has already been closed.
1977 2006-07-13 David Harrison <harrison@apple.com>
1979 Reviewed by Justin and Levi.
1981 <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing
1984 editing/deleting/delete-by-word-001.html
1985 editing/deleting/delete-by-word-002.html
1987 * WebView/WebHTMLView.m:
1988 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
1990 2006-07-13 Timothy Hatcher <timothy@apple.com>
1992 Rolling out this earlier change (r15378) now that it is fixed on AGL's end.
1993 Fixes <rdar://problem/4624865> Restore 64-bit OpenGL plug-in support once AGL is 64-bit
1995 <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
1997 * Plugins/WebBaseNetscapePluginView.h:
1998 * Plugins/WebBaseNetscapePluginView.m:
2000 2006-07-13 Timothy Hatcher <timothy@apple.com>
2004 <rdar://problem/4616920> REGRESSION: tabbing in mail moves focus
2005 to next control instead of inserting a tab space.
2007 Change editible WebView's tabKeyCyclesThroughElements to NO only
2008 if the setTabKeyCyclesThroughElements SPI wasn't called.
2010 * WebView/WebView.m:
2011 (-[WebView setEditable:]):
2013 2006-07-12 Anders Carlsson <acarlsson@apple.com>
2017 http://bugzilla.opendarwin.org/show_bug.cgi?id=9624
2018 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
2020 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2021 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
2022 Don't create Dictionary, Spotlight or Google lookup items if there's no selection.
2024 2006-07-12 Mark Rowe <opendarwin.org@bdash.net.nz>
2026 Reviewed by Timothy.
2028 http://bugzilla.opendarwin.org/show_bug.cgi?id=9868
2029 Applications shown in Drosera's "Attach" window remain after exit
2031 * DefaultDelegates/WebScriptDebugServer.m:
2032 (-[WebScriptDebugServer init]): Register for NSApplicationWillTerminateNotification so we will
2033 know when the application is being exited.
2034 (-[WebScriptDebugServer dealloc]): Unregister notification before we are deallocated.
2035 (-[WebScriptDebugServer applicationTerminating:]): Inform anyone listening that we are going away.
2037 2006-07-12 Tim Omernick <timo@apple.com>
2039 Reviewed by Tim Hatcher.
2041 <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
2043 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
2046 * Plugins/WebBaseNetscapePluginView.h:
2047 * Plugins/WebBaseNetscapePluginView.m:
2049 2006-07-11 John Sullivan <sullivan@apple.com>
2051 Reviewed by Kevin and Tim O
2053 - added support for creating a selection image with white text
2055 * WebView/WebDocumentPrivate.h:
2056 added -selectionImageForcingWhiteText: and -selectionImageRect to the private
2057 <WebDocumentSelection> protocol
2059 * Misc/WebSearchableTextView.m:
2060 (-[NSString selectionImageForcingWhiteText:]):
2061 added stub for this new method to this obsolete class to satisfy the compiler
2062 (-[NSString selectionImageRect]):
2065 * WebView/WebHTMLView.m:
2066 (-[WebHTMLView _selectionDraggingImage]):
2067 now calls -selectionImageForcingWhiteText:NO instead of just -selectionImage
2068 (-[WebHTMLView _selectionDraggingRect]):
2069 now calls selectionImageRect, to which the implementation moved
2070 (-[WebHTMLView selectionImageForcingWhiteText:]):
2071 implemented this new method by calling through to new bridge method selectionImageForcingWhiteText:
2072 (-[WebHTMLView selectionImageRect]):
2073 implemented this new method by using existing _selectionDraggingRect implementation
2075 * WebView/WebPDFView.m:
2076 (-[WebPDFView selectionImageForcingWhiteText:]):
2077 implemented by using code that was formerly in Safari
2078 (-[WebPDFView selectionImageRect]):
2079 implemented by returning selectionRect
2081 2006-07-11 Tim Omernick <timo@apple.com>
2085 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9843>:
2086 Give Netscape plug-ins access to their own DOM element
2088 * Plugins/WebBaseNetscapePluginView.h:
2089 * Plugins/WebBaseNetscapePluginView.m:
2090 (-[WebBaseNetscapePluginView dealloc]):
2091 Release DOM element.
2092 (-[WebBaseNetscapePluginView getVariable:value:]):
2093 Return NPObject for plugin DOM element.
2095 * Plugins/WebNetscapePluginEmbeddedView.h:
2096 * Plugins/WebNetscapePluginEmbeddedView.m:
2097 (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
2098 Now takes a DOMElement, in much the same way that WebKit plug-in views take a DOMElement.
2100 * WebCoreSupport/WebFrameBridge.m:
2101 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
2102 Pass DOMElement to Netscape plug-ins.
2103 (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
2106 2006-07-11 Justin Garcia <justin.garcia@apple.com>
2108 Reviewed by levi & thatcher
2110 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
2111 GMail Editor: Operations that use drop down menus blow away the selection
2113 * WebView/WebHTMLView.m:
2114 (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
2115 when resigning as first responder if the selection is editable
2116 or if the WebView tells us to.
2117 * WebView/WebView.m:
2118 (-[WebView maintainsInactiveSelection]): Just because a WebView is
2119 editable doesn't mean selections inside subframes will be. Return
2122 2006-07-11 Tim Omernick <timo@apple.com>
2124 Reviewed by Tim Hatcher.
2126 <rdar://problem/4622748> WebKit now uses deprecated AGL functions
2128 * Plugins/WebBaseNetscapePluginView.m:
2129 (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
2130 aglSetDrawable() is deprecated in AGL 3.0. Use aglSetWindowRef() instead.
2131 (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
2132 aglSetOffScreen() is deprecated in AGL 3.0. Use CGLSetOffScreen(), which does the same thing.
2134 2006-07-11 Alexey Proskuryakov <ap@nypop.com>
2138 - http://bugzilla.opendarwin.org/show_bug.cgi?id=7808
2139 Assertion failure in -[WebBaseNetscapePluginStream dealloc] when requesting an invalid URL
2141 * Plugins/WebNetscapePluginStream.m:
2142 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2143 Remove the early return when requesting an invalid (unsupported) URL.
2145 === Safari-521.16 ===
2147 2006-07-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
2149 Reviewed by John Sullivan.
2151 - fix <rdar://problem/4621541>, aka <http://bugzilla.opendarwin.org/show_bug.cgi?id=9838>
2152 REGRESSION (r14968-r14977): View Source doesn't work for pages from the back/forward cache
2154 * WebView/WebDataSource.m:
2155 (-[WebDataSource _setPrimaryLoadComplete:]): Set our data only if the frame loader is
2156 has just loaded it (when coming from the back/forward cache, it hasn't).
2158 2006-07-10 Brady Eidson <beidson@apple.com>
2162 Resolved the console error messages people got from the new DB even if they didn't have it enabled
2164 * Misc/WebIconDatabase.m:
2165 (-[WebIconDatabase init]):
2166 Disabled initializing the IconDatabaseBridge if user is living on the old DB
2168 2006-07-10 Darin Adler <darin@apple.com>
2170 - try to fix Windows build
2172 * COM/WebFrame.h: Qualify DeprecatedString and KURL with WebCore:: prefixes.
2174 2006-07-09 Darin Adler <darin@apple.com>
2176 - try to fix Windows build
2178 * COM/WebFrame.cpp: Rename QChar to DeprecatedChar.
2180 2006-07-09 Darin Adler <darin@apple.com>
2182 - fix newlines to be consistent for all files in the COM directory
2183 (many had mixed style) and set the EOL style to "native" on them.
2185 * COM/*: Set properties and changed files.
2187 2006-07-09 Tim Omernick <timo@apple.com>
2191 <rdar://problem/4404652> Netscape plug-in mouse events broken in HiDPI
2193 Multiply global mouse coordinates by the window scale factor so that plug-ins can use GlobalToLocal() in HiDPI.
2194 This fixes many bugs involving plug-in mouse event handling in HiDPI. Most notably, the Flash player will now
2195 correctly respond to clicks.
2197 * Plugins/WebBaseNetscapePluginView.m:
2198 (+[WebBaseNetscapePluginView getCarbonEvent:]):
2199 (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
2201 2006-07-09 Darin Adler <darin@apple.com>
2203 Reviewed by Tim Hatcher.
2205 - fix assertion firing in plug-in layout tests
2207 * Plugins/WebBaseNetscapePluginView.m:
2208 (-[WebBaseNetscapePluginView restartNullEvents]):
2209 Don't start null events if the plug-in is not in the
2210 started state. This happens when the plug-in moves within
2211 its view hierarchy after it has been stopped.
2213 2006-07-09 Timothy Hatcher <timothy@apple.com>
2217 Bug 9820: Move new DOM API that has been through API review to public headers
2218 http://bugzilla.opendarwin.org/show_bug.cgi?id=9820
2220 * Misc/WebElementDictionary.m: include DOMExtensions.h
2221 * Misc/WebNSViewExtras.m: include DOMExtensions.h
2222 * WebKit.xcodeproj/project.pbxproj: make DOMXPath.h public
2224 2006-07-09 Timothy Hatcher <timothy@apple.com>
2228 Bug 9818: move new UIDelegate API that has been through API review to public headers
2229 http://bugzilla.opendarwin.org/show_bug.cgi?id=9818
2231 <rdar://problem/4387541> API: Remove webView:setContentRect: & webViewContentRect: delegate methods?
2232 The fix for 4310363 removed the only use of webViewContentRect: in our code. webView:setContentRect:
2233 was never used to begin with. There's no harm in leaving these around in the API, but they'll cruft it up.
2235 Also removes the never used webViewPrint: SPI that was replaced by webView:printFrameView:.
2237 * DefaultDelegates/WebDefaultUIDelegate.m:
2238 * WebCoreSupport/WebFrameBridge.m:
2239 (-[WebFrameBridge print]):
2240 * WebView/WebFrameView.h:
2241 * WebView/WebFrameView.m:
2242 * WebView/WebFrameViewPrivate.h:
2243 * WebView/WebUIDelegate.h:
2244 * WebView/WebUIDelegatePrivate.h:
2246 2006-07-09 Timothy Hatcher <timothy@apple.com>
2250 Bug 9814: Move new WebView API that has been through API review to public headers
2251 http://bugzilla.opendarwin.org/show_bug.cgi?id=9814
2253 * WebView/WebView.h:
2254 * WebView/WebView.m:
2256 (-[WebView setShouldCloseWithWindow:]):
2257 (-[WebView shouldCloseWithWindow]):
2258 (-[WebView selectedFrame]):
2259 (-[WebView setMainFrameURL:]):
2260 (-[WebView mainFrameURL]):
2261 (-[WebView isLoading]):
2262 (-[WebView mainFrameTitle]):
2263 (-[WebView mainFrameIcon]):
2264 (-[WebView mainFrameDocument]):
2265 (-[WebView setDrawsBackground:]):
2266 (-[WebView drawsBackground]):
2267 (-[WebView toggleSmartInsertDelete:]):
2268 (-[WebView toggleContinuousSpellChecking:]):
2269 (-[WebView canMakeTextStandardSize]):
2270 (-[WebView makeTextStandardSize:]):
2271 (-[WebView maintainsInactiveSelection]):
2272 * WebView/WebViewPrivate.h:
2274 2006-07-09 Timothy Hatcher <timothy@apple.com>
2278 Bug 9487: The XPath section should be removed and/or moved.
2279 http://bugzilla.opendarwin.org/show_bug.cgi?id=9487
2281 * WebInspector/webInspector/inspector.css:
2282 * WebInspector/webInspector/inspector.html:
2283 * WebInspector/webInspector/inspector.js:
2285 2006-07-09 Anders Carlsson <acarlsson@apple.com>
2289 * WebCoreSupport/WebSystemInterface.m:
2290 (InitWebCoreSystemInterface):
2291 Initialize wkPathFromFont.
2293 2006-07-09 Darin Adler <darin@apple.com>
2297 * Plugins/WebBaseNetscapePluginView.m:
2298 (-[WebBaseNetscapePluginView restorePortState:]): Cast inside the assertion so
2299 that we don't have an unused variable in versions with assertions disabled.
2300 The alternative would be to wrap the whole thing in an #if statement.
2302 2006-07-08 Tim Omernick <timo@apple.com>
2304 Reviewed by John Sullivan.
2306 * Plugins/WebBaseNetscapePluginView.h:
2307 - Added ivars for OpenGL support. Someday it would be nice to refactor this class so
2308 that each drawing model is encapsulated in a class; this would allow
2309 WebBaseNetscapePluginView to make more efficient use of space, for example by not
2310 keeping OpenGL-related ivars for Quickdraw plug-ins.
2312 * Plugins/WebBaseNetscapePluginView.m:
2313 - Declared a bunch of internal methods for OpenGL support (see below).
2314 - Removed "forUpdate" from CoreGraphics port state struct; it was always set to "YES",
2315 so I just cleaned up the silly code that used it.
2316 - Declared OpenGL port state struct.
2317 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2318 - Moved a CoreGraphics-related assertion down to the big "switch" statement.
2319 - Don't set window.type here -- according to the Netscape Plug-in API docs, the plug-in
2320 should default to "windowed" mode, and may call NPN_SetValue() during its NPN_New() to
2321 request that the browser use a "windowless" (offscreen) context instead.
2322 - Moved the assertion from the top of this method here; removed a less restrictive
2323 assertion that is now obsolete.
2324 - Removed "forUpdate" flag from CoreGraphics port state struct.
2325 - Fill in OpenGL port state struct. Set up the viewport appropriately for both windowed
2326 and windowless OpenGL plug-ins. Windowed plug-ins need to have their GL viewport
2327 transformed by the amount the plug-in is clipped; windowless plug-ins are drawn off-screen
2328 into a surface whose geometry is never changed or clipped, so they may always draw with
2329 a viewport origin of (0, 0).
2330 (-[WebBaseNetscapePluginView restorePortState:]):
2331 - Removed "forUpdate" flag from CoreGraphics port state struct.
2332 - Restore the old OpenGL context saved by -saveAndSetNewPortStateForUpdate:.
2333 (-[WebBaseNetscapePluginView sendEvent:]):
2334 - Updated an assertion to also include OpenGL. To ensure that attached plug-in window movements
2335 happen atomically with web page redisplays, we assert that the plug-in's window is set only while
2336 the plug-in view is redrawing.
2337 - Same deal as with the assertion; only save/set port state when redrawing the plug-in view. Plug-ins
2338 that use the new drawing models are only allowed to draw when the web page draws. I might consider
2339 changing this for windowed OpenGL plug-ins, since they always obscure the page content anyway.
2340 (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
2341 - Compare new NP_GLContext structs.
2342 (-[WebBaseNetscapePluginView updateAndSetWindow]):
2343 - In OpenGL mode, can only set window when updating plug-in view.
2344 (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2346 - Updated logging for OpenGL drawing mode.
2347 (-[WebBaseNetscapePluginView addWindowObservers]):
2348 - No need to observe frame/bounds change notifications for this and all parent views. See -renewGState
2350 (-[WebBaseNetscapePluginView removeWindowObservers]):
2351 - Don't need to remove frame/bounds observers anymore.
2352 (-[WebBaseNetscapePluginView start]):
2353 - Plug-ins are "windowed" by default. This is not a change from our previous behavior, but this is a
2354 better place to set the default value as it allows the plug-in to override it later.
2355 (-[WebBaseNetscapePluginView stop]):
2356 - Destroy AGL context when the plug-in stops.
2357 (-[WebBaseNetscapePluginView dealloc]):
2358 - Assert that the AGL stuff has been cleaned up.
2359 (-[WebBaseNetscapePluginView drawRect:]):
2360 - If this is a windowless OpenGL plugin, blit its contents back into this view.
2361 (-[WebBaseNetscapePluginView renewGState]):
2362 - This method is called when the view or one of its parents is moved or resized (see comments).
2363 (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
2364 - Hide the AGL window if the plug-in view is about to be removed from its window.
2365 (-[WebBaseNetscapePluginView viewHasMoved:]):
2366 - Renamed and moved to the "Internal" category.
2367 (-[WebBaseNetscapePluginView invalidateRegion:]):
2369 - Add support for OpenGL (uses the same region type as CoreGraphics).
2370 (-[WebBaseNetscapePluginView getVariable:value:]):
2372 - Implemented NPNVsupportsOpenGLBool; returns YES since we now support the OpenGL drawing model.
2373 (-[WebBaseNetscapePluginView setVariable:value:]):
2374 - Implemented NPPVpluginWindowBool, which allows plug-ins to specify whether they should be rendered in
2375 "windowed" or "windowless" mode. This is an older part of the Netscape Plug-in API that was never
2376 implemented in WebKit. "Windowed" Quickdraw plug-ins do not actually reside in a separate window, and
2377 can already do many of the same things (such as transparency) that only "windowless" plug-ins can do on
2378 other platforms. However, we need the "windowed" vs. "windowless" distinction for OpenGL plug-ins so
2379 that they have some way of specifying whether they should be rendered on an accelerated overlay surface,
2380 composited into the browser window.
2381 - Support for setting the drawing model to OpenGL.
2382 (-[WebBaseNetscapePluginView _viewHasMoved]):
2383 - Renamed from -viewHasMoved:, and moved down in the file.
2384 - None of this work is necessary when the plug-in is not in a window; the plug-in's state will be properly
2385 restored when it is moved back into a window.
2386 - Reshape OpenGL surface window here.
2387 (-[WebBaseNetscapePluginView _createAGLContextIfNeeded]):
2388 - Creates the AGL context of the appropriate type (windowed/windowless).
2389 (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
2390 - Creates a windowed AGL context, which is an AGL context attached to a child window. This is the only way
2391 to get true hardware acceleration.
2392 (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
2393 - Creates a windowless AGL context, which is an AGL context attached to an offscreen buffer. This buffer can
2394 then be blitted back into the browser window with a different alpha, or scaled, or whatever.
2395 (-[WebBaseNetscapePluginView _cglContext]):
2396 - Returns the underlying CGL context from the AGL context. We give the plug-in access to the CGL context because
2397 CGL is the more primitive of the GL drawable APIs and allows for finer control over the context.
2398 (-[WebBaseNetscapePluginView _getAGLOffscreenBuffer:width:height:]):
2399 - Returns the buffer allocated for the offscreen AGL context, if there is one.
2400 (-[WebBaseNetscapePluginView _destroyAGLContext]):
2401 - Destroys the AGL context, as well as the associated offscreen buffer or child window.
2402 (-[WebBaseNetscapePluginView _reshapeAGLWindow]):
2403 - Positions the AGL window over the browser window.
2404 (-[WebBaseNetscapePluginView _hideAGLWindow]):
2405 - Hides the AGL window.
2406 (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
2407 - Returns an NSImage representation of the offscreen AGL context's framebuffer. This is used to draw the offscreen
2408 bits back into the plug-in view. This is kind of tricky because it has to convert the offscreen buffer in-place
2409 from BGRA to RGBA so that it can be wrapped in an NSBitmapImageRep. See comments.
2411 * WebKit.xcodeproj/project.pbxproj:
2412 Link OpenGL and AGL.
2414 2006-07-09 Brady Eidson <beidson@apple.com>
2418 The ICONDEBUG flag now chooses either the new icon database or the old one
2419 No longer any need to live side by side to compare results
2421 * Misc/WebIconDatabase.m:
2422 (-[NSMutableDictionary iconURLForURL:]):
2423 (-[NSMutableDictionary retainIconForURL:]):
2424 (-[NSMutableDictionary releaseIconForURL:]):
2425 (-[WebIconDatabase _setHaveNoIconForIconURL:]):
2426 (-[WebIconDatabase _setIconURL:forURL:]):
2427 (-[WebIconDatabase _resetCachedWebPreferences:]):
2429 2006-07-08 Timothy Hatcher <timothy@apple.com>
2433 Bug 5312: comments aren't available via DOM
2434 http://bugzilla.opendarwin.org/show_bug.cgi?id=5312
2436 Makes the Web Inspector show comment node contents.
2438 * WebInspector/WebInspector.m:
2439 (-[DOMNode _displayName]): return the contents of the comment
2440 * WebInspector/webInspector/inspector.js: check for comment nodes
2442 2006-07-09 Alexey Proskuryakov <ap@nypop.com>
2446 - http://bugzilla.opendarwin.org/show_bug.cgi?id=9572
2447 Add application/xhtml+xml to the Accept header
2449 * WebView/WebFrame.m:
2450 (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Add an Accept header
2451 to main resource requests.
2452 * English.lproj/StringsNotToBeLocalized.txt: Added new strings.
2454 2006-07-08 Darin Adler <darin@apple.com>
2456 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2457 (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
2458 Removed misleading old comment.
2460 === Safari-521.15 ===
2462 2006-07-07 Levi Weintraub <lweintraub@apple.com>
2466 Finished moving deletion selection expansion across the bridge... say that 3 times fast.
2468 * WebView/WebHTMLView.m: Pass granularity to WebCore to handle expansion
2469 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
2470 (-[WebHTMLView _deleteSelection]):
2471 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
2472 (-[WebHTMLView deleteToMark:]):
2474 2006-07-07 Brady Eidson <beidson@apple.com>
2478 Changed an ASSERT to a LOG_ERROR for an error that could be handled gracefully, but
2479 whose assertion was reproducibly causing a build bot failure
2481 * Misc/WebIconDatabase.m:
2482 (-[WebIconDatabase _releaseIconForIconURLString:]):
2484 2006-07-06 Levi Weintraub <lweintraub@apple.com>
2488 Improved table editing
2490 * WebCoreSupport/WebFrameBridge.m: Added method to allow WebCore to trigger
2491 deletion editing delegate
2492 (-[WebFrameBridge shouldDeleteSelectedDOMRange:]):
2493 * WebView/WebHTMLView.m: Moved code that expanded a selection when the delete
2494 key is pressed over to WebCore so we can be more intelligent about how to handle it
2495 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
2496 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
2498 2006-07-07 John Sullivan <sullivan@apple.com>
2500 Reviewed by Tim Hatcher
2502 - fixed <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported
2505 added surprisingly missing _WebPreferencesChangedNotification, defined in
2508 2006-07-06 Brady Eidson <beidson@apple.com>
2512 Small fix to my previous small fix that only lets the ASSERT off the hook if the DB
2515 * Misc/WebIconDatabase.m:
2516 (-[WebIconDatabase _releaseIconForIconURLString:]):
2518 2006-07-05 Brady Eidson <beidson@apple.com>
2522 Small fix that prevents an assertion from triggering if the DB is being cleaned up
2523 (ie, the app being shut down)
2525 * Misc/WebIconDatabase.h:
2526 * Misc/WebIconDatabase.m:
2527 (-[NSMutableDictionary init]):
2528 (-[WebIconDatabase _applicationWillTerminate:]):
2529 (-[WebIconDatabase _releaseIconForIconURLString:]):
2531 2006-07-05 Adele Peterson <adele@apple.com>
2533 Reviewed by Maciej and Hyatt.
2535 WebKit part of initial popup menu implementation.
2537 * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
2538 Initialize WKPopupMenu.
2540 2006-07-05 Anders Carlsson <acarlsson@apple.com>
2544 http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
2545 iFrames set to display:none are Missing from frames array
2547 * WebCoreSupport/WebFrameBridge.m:
2548 (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
2549 (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
2550 Modify to pass the owner element instead of the owner renderer.
2552 * WebView/WebHTMLView.m:
2553 (-[WebHTMLView _topHTMLView]):
2554 Remove assertion, it's not valid anymore.
2556 2006-07-05 Timothy Hatcher <timothy@apple.com>
2558 Reviewed by Harrison.
2560 <rdar://problem/4608423> HIViewAdapter used but not defined
2561 Adds a new export file to fix the build.
2563 * WebKit.LP64.exp: Added.
2564 * WebKit.xcodeproj/project.pbxproj:
2566 2006-07-04 Timothy Hatcher <timothy@apple.com>
2570 Bug 9731: [Drosera] crash when trying to access the scope chain
2571 http://bugzilla.opendarwin.org/show_bug.cgi?id=9731
2573 Because of <rdar://problem/4608404> the WebScriptObject, _globalObj, that
2574 WebCoreScriptDebugger holds is unprotected each time the page changes.
2575 This causes Drosera to crash Safari when trying to access the scope chain.
2576 We simply need to detach and re-attach the debugger when the window script
2577 object is cleared until 4608404 is fixed. This change also attaches the
2578 debugger before we call the windowScriptObjectAvailable: delegate method,
2579 so the debugger is ready before anyone might use the window object.
2581 * WebCoreSupport/WebFrameBridge.m:
2582 (-[WebFrameBridge windowObjectCleared]):
2584 2006-07-04 Timothy Hatcher <timothy@apple.com>
2588 Bug 9732: [Drosera] calling removeListener to many times will cause
2589 WebKit's listener count to underflow/wraparound
2590 http://bugzilla.opendarwin.org/show_bug.cgi?id=9732
2592 Adds a check to make sure the listener was in our listeners set before
2593 decrementing the global listener count. Also checks for nil in addListner
2594 to prevent a possible exception when adding the object to the set.
2596 * DefaultDelegates/WebScriptDebugServer.m:
2597 (-[WebScriptDebugServer addListener:]):
2598 (-[WebScriptDebugServer removeListener:]):
2600 2006-07-04 Alexey Proskuryakov <ap@nypop.com>
2604 - http://bugzilla.opendarwin.org/show_bug.cgi?id=8210
2605 Conditional XMLHttpRequest gets should pass 304 responses unchanged
2607 Test: http/tests/xmlhttprequest/cache-override.html
2609 * Misc/WebNSURLRequestExtras.h: Added _web_isConditionalRequest
2610 * Misc/WebNSURLRequestExtras.m:
2611 (-[NSURLRequest _web_isConditionalRequest]):
2612 * WebCoreSupport/WebFrameBridge.m:
2613 (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2614 Bypass the cache for conditional requests.
2615 * WebCoreSupport/WebSubresourceLoader.m:
2616 (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Ditto.
2618 2006-07-01 David Kilzer <ddkilzer@kilzer.net>
2620 Reviewed by NOBODY (fixed Tim's build fix).
2622 * WebView/WebView.m: Added back missing '/' at the beginning of the file.
2624 2006-07-01 Tim Omernick <timo@apple.com>
2626 Reviewed by NOBODY (build fix)
2628 * WebView/WebView.m:
2629 (-[WebView _isMIMETypeRegisteredAsPlugin:]):
2630 Changed nil to NO (typo).
2632 === Safari-521.14 ===
2634 2006-06-30 Timothy Hatcher <timothy@apple.com>
2638 Only enable shouldCloseWithWindow when ObjC GC is enabled.
2639 This maintains backwards compatibility with applications
2640 that expect a WebView to be usable after the window closes.
2642 * WebView/WebView.m:
2643 (-[WebViewPrivate init]):
2645 2006-06-30 Timothy Hatcher <timothy@apple.com>
2649 Call _close in dealloc to ensure we cleanup for backwards
2650 compatibility. This will safeguard and cleanup even if the
2651 application doesn't use the new close API yet, like Mail.
2653 * WebView/WebView.m:
2654 (-[WebView dealloc]):
2656 2006-06-29 Timothy Hatcher <timothy@apple.com>
2660 <rdar://problem/4484405> WebKit leaks, improper tear-down
2661 <rdar://problem/3694059> -[WebBackForwardList finalize] is incorrect; design change needed
2662 <rdar://problem/3694103> -[WebFrame finalize] is incorrect; design change needed
2663 <rdar://problem/3694104> -[WebHTMLView finalize] is incorrect; design change needed
2665 Adds a close method to WebView, this needs to be called when the
2666 WebView is no longer needed. To make this easier for the common cases
2667 there is now an "auto close" on WebView that listens to the view's
2668 parent window. If the parent window closes and the WebView has no
2669 hostWindow then the WebView is automatically closed if autoClose is YES.
2670 To manage WebView closing yourself call setAutoClose: and pass NO.
2672 When a WebView closes it will tear-down and not be usable anymore.
2673 Close will will called on various other internal objects as a part
2674 of this, to ensure proper tear-down in GC without relying on finalize.
2676 * History/WebBackForwardList.m:
2677 (-[WebBackForwardList dealloc]):
2678 (-[WebBackForwardList finalize]):
2679 (-[WebBackForwardList _close]):
2680 * History/WebHistoryItem.m:
2681 (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
2682 (+[WebHistoryItem _releaseAllPendingPageCaches]):
2683 * History/WebHistoryItemPrivate.h:
2684 * WebCoreSupport/WebFrameBridge.m:
2685 (-[WebFrameBridge close]):
2686 (-[WebFrameBridge saveDocumentToPageCache:]):
2687 (-[WebFrameBridge canGoBackOrForward:]):
2688 * WebView/WebFrame.m:
2689 (-[WebFrame _detachFromParent]):
2690 (-[WebFrame dealloc]):
2691 (-[WebFrame finalize]):
2692 * WebView/WebFrameView.m:
2693 (-[WebFrameView _setWebFrame:]):
2694 (-[WebFrameView finalize]):
2695 * WebView/WebHTMLView.m:
2696 (-[WebHTMLView close]):
2697 (-[WebHTMLView dealloc]):
2698 (-[WebHTMLView finalize]):
2699 * WebView/WebHTMLViewInternal.h:
2700 * WebView/WebHTMLViewPrivate.h:
2701 * WebView/WebScriptDebugDelegate.m:
2702 (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]):
2703 (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
2704 (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
2705 (-[WebScriptCallFrame hitStatement:sourceId:line:]):
2706 (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
2707 * WebView/WebScriptDebugDelegatePrivate.h:
2708 * WebView/WebView.m:
2709 (-[WebViewPrivate init]):
2710 (-[WebView _close]):
2711 (-[WebView dealloc]):
2712 (-[WebView finalize]):
2713 (-[WebView viewWillMoveToWindow:]):
2714 (-[WebView _windowWillClose:]):
2715 (-[WebView setPreferencesIdentifier:]):
2716 (-[WebView mainFrame]):
2717 (-[WebView setHostWindow:]):
2718 (-[WebView searchFor:direction:caseSensitive:wrap:]):
2719 (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
2721 (-[WebView setAutoClose:]):
2722 (-[WebView autoClose]):
2723 (-[WebView _frameViewAtWindowPoint:]):
2724 * WebView/WebViewPrivate.h:
2726 2006-06-29 Kevin Decker <kdecker@apple.com>
2728 Reviewed by mjs and timo.
2730 Fixed: <rdar://problem/4609119> handleAuthenticationFromResource was removed; needed by the Dashboard
2732 * WebView/WebViewPrivate.h: Added handleAuthenticationFromResource back into the header. Needed by the
2733 Dashboard, but was removed in r.14028 on 2006-04-23.
2735 2006-06-29 Tim Omernick <timo@apple.com>
2737 Reviewed by Kevin Decker.
2739 <rdar://problem/4608487> REGRESSION: reproducible crash in +[WebCoreFrameBridge supportedImageMIMETypes]
2741 * Plugins/WebPluginDatabase.m:
2742 (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
2743 One might be tempted to add additionalWebPlugInPaths to the global WebPluginDatabase here.
2744 For backward compatibility with earlier versions of the +setAdditionalWebPlugInPaths: SPI,
2745 we need to save a copy of the additional paths and not cause a refresh of the plugin DB
2747 (-[WebPluginDatabase _plugInPaths]):
2748 Include additionalWebPlugInPaths if this is the global DB.
2749 (-[WebPluginDatabase refresh]):
2750 Call -_plugInPaths to get the modified array of paths. This is similar to what the old code
2751 (before we had per-WebView plugin search paths).
2753 2006-06-29 Tim Omernick <timo@apple.com>
2755 Reviewed by John Sullivan.
2757 WebHistoryItem now supports getting and setting arbitrary properties via _transientPropertyForKey: and
2758 -_setTransientProperty:forKey:.
2759 For now, these properties do not persist with the rest of the history data. They are intended to hold transient
2760 per-history-item state, which is something that was until now difficult for a WebKit client app to do.
2762 * History/WebHistoryItemPrivate.h:
2763 * History/WebHistoryItem.m:
2764 (-[WebHistoryItemPrivate dealloc]):
2765 (-[WebHistoryItem _transientPropertyForKey:]):
2766 (-[WebHistoryItem _setTransientProperty:forKey:]):
2768 2006-06-29 Timothy Hatcher <timothy@apple.com>
2770 Reviewed by Harrison.
2772 Smart insert and delete, continuous spell checking and autoscroll
2773 can now be used for any WebView, not just editable ones. All of
2774 these make sense for documents that might contain content editable
2775 areas or our new text fields. Autoscroll is usefull for dragging
2776 for file input controls also.
2778 Added a SPI to toggle WebViews tab key behavior, tabKeyCyclesThroughElements.
2779 WebHTMLView's _interceptEditingKeyEvent now uses WebView's
2780 tabKeyCyclesThroughElements state to determine whether or not
2781 to process tab key events. The idea here is that tabKeyCyclesThroughElements
2782 will be YES when this WebView is being used in a browser, and we
2783 desire the behavior where tab moves to the next element in tab order.
2784 If tabKeyCyclesThroughElements is NO, it is likely that the WebView
2785 is being embedded as the whole view, as in Mail, and tabs should input
2786 tabs as expected in a text editor. Using Option-Tab always cycles
2789 * WebView/WebHTMLRepresentation.m:
2790 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
2791 * WebView/WebHTMLView.m:
2792 (-[WebHTMLView _interceptEditingKeyEvent:]):
2793 * WebView/WebView.m:
2794 (-[WebViewPrivate init]):
2795 (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
2796 (-[WebView _shouldAutoscrollForDraggingInfo:]):
2797 (-[WebView validateUserInterfaceItem:]):
2798 (-[WebView toggleSmartInsertDelete:]):
2799 (-[WebView toggleContinuousSpellChecking:]):
2800 (-[WebView setTabKeyCyclesThroughElements:]):
2801 (-[WebView tabKeyCyclesThroughElements]):
2802 * WebView/WebViewPrivate.h:
2804 2006-06-29 Anders Carlsson <acarlsson@apple.com>
2808 * WebKit.xcodeproj/project.pbxproj:
2809 Add DOMXPath.h header.
2811 2006-06-28 David Hyatt <hyatt@apple.com>
2813 Fix custom highlighting so that you can paint the entire line (and go
2814 outside the bounds of the line).
2816 Reviewed by harrison
2818 * WebCoreSupport/WebFrameBridge.m:
2819 (-[WebFrameBridge customHighlightRect:forLine:]):
2820 (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:]):
2821 * WebKit.xcodeproj/project.pbxproj:
2822 * WebView/WebHTMLViewPrivate.h:
2824 2006-06-28 Maciej Stachowiak <mjs@apple.com>
2828 - fix Frame leak on layout tests
2830 * WebCoreSupport/WebPageBridge.m:
2831 (-[WebPageBridge outerView]): Return WebFrameView for main frame instead
2832 of WebView to avoid reference cycle between WebView and Page.
2834 2006-06-28 Timothy Hatcher <timothy@apple.com>
2836 Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
2838 * WebKit.xcodeproj/project.pbxproj:
2840 2006-06-28 Levi Weintraub <lweintraub@apple.com>
2844 http://bugzilla.opendarwin.org/show_bug.cgi?id=7568
2845 Bug 7568: Implement Indent/Outdent
2846 Added undo action strings and enum values
2848 * English.lproj/Localizable.strings:
2849 * WebCoreSupport/WebFrameBridge.m:
2850 (-[WebFrameBridge nameForUndoAction:]):
2852 2006-06-27 Brady Eidson <beidson@apple.com>
2856 Hookup the new semi-functional SQLite icon database.
2857 For now, it is living side-by-side with the old DB so one can compare the
2858 two for debugging purposes. Also, it is disabled (in WebKit) by default unless you
2859 compile with ICONDEBUG #defined.
2860 Note: To repeat that, if you want to try the new DB, #define ICONDEBUG (WebKitPrefix.h is a good place to do it)
2862 * Misc/WebIconDatabase.m:
2863 (-[NSMutableDictionary iconForURL:withSize:cache:]):
2864 (-[NSMutableDictionary iconURLForURL:]):
2865 (-[NSMutableDictionary retainIconForURL:]):
2866 (-[NSMutableDictionary releaseIconForURL:]):
2867 (-[WebIconDatabase _setHaveNoIconForIconURL:]):
2868 (-[WebIconDatabase _setIconURL:forURL:]):
2869 (-[WebIconDatabase _hasIconForIconURL:]):
2870 (-[WebIconDatabase _resetCachedWebPreferences:]):
2871 * Misc/WebIconLoader.m:
2872 (-[WebIconLoader didFinishLoading]):
2873 * WebKit.xcodeproj/project.pbxproj:
2875 2006-06-26 David Hyatt <hyatt@apple.com>
2877 Fix for 9538, support syntax highlighting for HTML source.
2881 * WebKit.xcodeproj/project.pbxproj:
2882 * WebView/WebView.m:
2883 (-[WebView _setInViewSourceMode:]):
2884 (-[WebView _inViewSourceMode]):
2885 * WebView/WebViewPrivate.h:
2887 2006-06-25 Timothy Hatcher <timothy@apple.com>
2891 Bug 9574: Drosera should show inline scripts within the original HTML
2892 http://bugzilla.opendarwin.org/show_bug.cgi?id=9574
2894 * Adds a new version of the didParseSource delegate callback with base line number.
2895 * Adds a new delegate callback for when a script fails to parse.
2896 * These new callbacks use NSURLs for the url parameter.
2897 * Adds a new script listener callback to notify when the main resource loads.
2898 * Adds a WebScriptErrorDomian and other keys for use with NSError.
2900 * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
2901 (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
2902 (-[WebDefaultScriptDebugDelegate webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
2903 * DefaultDelegates/WebScriptDebugServer.h:
2904 * DefaultDelegates/WebScriptDebugServer.m:
2905 (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
2906 (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
2907 (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
2908 * DefaultDelegates/WebScriptDebugServerPrivate.h:
2910 * WebView/WebDataSource.m:
2911 (-[WebDataSource _setPrimaryLoadComplete:]):
2912 * WebView/WebScriptDebugDelegate.h:
2913 * WebView/WebScriptDebugDelegate.m:
2914 (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
2916 2006-06-24 David Kilzer <ddkilzer@kilzer.net>
2918 Reviewed by Timothy.
2920 * Info.plist: Fixed copyright to include 2003-2006.
2922 2006-06-24 Alexey Proskuryakov <ap@nypop.com>
2926 - http://bugzilla.opendarwin.org/show_bug.cgi?id=9418
2927 WebKit will not build when Space exists in path
2929 * WebKit.xcodeproj/project.pbxproj: Enclose search paths in quotes.
2931 2006-06-23 Tim Omernick <timo@apple.com>
2933 Reviewed by John Sullivan.
2935 * Plugins/WebBaseNetscapePluginView.m:
2936 (-[WebBaseNetscapePluginView sendEvent:]):
2937 Fixed a bug I found in the CoreGraphics drawing model that was preventing certain types of
2938 events from being dispatched to the plugin, unless the plugin was being updated. The check
2939 for portState was only required to call -setWindowIfNecessary, not required for the entire
2941 Also, don't paint the green debug rect unless this is a QuickDraw plugin. Otherwise the
2942 current QD port is not set, and the green rect fills the entire screen. Pretty awesome
2943 looking, but not intended behavior.
2944 (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2945 Improved the logging here to include the NPWindow's width and height.
2947 2006-06-23 Timothy Hatcher <timothy@apple.com>
2951 Adds back SPI that Mail is still depending on.
2953 * WebView/WebDataSource.m:
2954 (-[WebDataSource _addSubframeArchives:]):
2955 * WebView/WebDataSourcePrivate.h:
2957 === WebKit-521.13 ===
2959 2006-06-23 Timothy Hatcher <timothy@apple.com>
2963 script debugger should only attach to JavaScriptCore when there are listeners
2964 http://bugzilla.opendarwin.org/show_bug.cgi?id=9552
2966 Attaches the debugger to all WebFrames when the first listener
2967 is added. Detaches when the last listener is removed.
2968 Also detach when the script debug delegate is set to nil.
2970 * DefaultDelegates/WebScriptDebugServer.m:
2971 (+[WebScriptDebugServer listenerCount]):
2972 (-[WebScriptDebugServer dealloc]):
2973 (-[WebScriptDebugServer attachScriptDebuggerToAllWebViews]):
2974 (-[WebScriptDebugServer detachScriptDebuggerFromAllWebViews]):
2975 (-[WebScriptDebugServer listenerConnectionDidDie:]):
2976 (-[WebScriptDebugServer addListener:]):
2977 (-[WebScriptDebugServer removeListener:]):
2978 * DefaultDelegates/WebScriptDebugServerPrivate.h:
2979 * WebCoreSupport/WebFrameBridge.m:
2980 (-[WebFrameBridge windowObjectCleared]):
2981 * WebView/WebFrame.m:
2982 (-[WebFrame _attachScriptDebugger]):
2983 (-[WebFrame _detachScriptDebugger]):
2984 * WebView/WebFramePrivate.h:
2985 * WebView/WebScriptDebugDelegate.m:
2986 (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
2987 (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
2988 (-[WebScriptCallFrame hitStatement:sourceId:line:]):
2989 (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
2990 * WebView/WebView.m:
2991 (-[WebView _attachScriptDebuggerToAllFrames]):
2992 (-[WebView _detachScriptDebuggerFromAllFrames]):
2993 (-[WebView setScriptDebugDelegate:]):
2994 * WebView/WebViewPrivate.h:
2996 2006-06-22 John Sullivan <sullivan@apple.com>
2998 Reviewed by Tim Omernick
3000 - added support for UIDelegate to be notified of scrolling in any WebHTMLView
3001 - cleaned up recently-added UIDelegate code
3003 * WebView/WebUIDelegatePrivate.h:
3004 declared webView:didScrollDocumentInFrameView: method
3006 * DefaultDelegates/WebDefaultUIDelegate.m:
3007 (-[NSApplication webView:didDrawRect:]):
3008 provide default (empty) implementation of this recently-added method, so the
3009 DelegateForwarder mechanism will work for it
3010 (-[NSApplication webView:didScrollDocumentInFrameView:]):
3011 same thing for the new method
3013 * WebView/WebHTMLView.m:
3014 (-[WebHTMLView _frameOrBoundsChanged]):
3015 use _UIDelegateForwarder mechanism to notify delegate that scrolling occurred
3016 (-[WebHTMLView drawSingleRect:]):
3017 use _UIDelegateForwarder mechanism instead of checking respondsToSelector stuff
3018 here (that's packaged up nicely by the forwarder mechanism)
3020 2006-06-22 Tim Omernick <timo@apple.com>
3022 Reviewed by NOBODY (build fix)
3024 * WebView/WebFrameLoader.m:
3025 Import WebMainResourceLoader instead of using @class so that we can call WebMainResourceLoader
3028 2006-06-22 Tim Omernick <timo@apple.com>
3030 Reviewed by NOBODY (build fix)
3032 * WebView/WebFrameLoader.m:
3033 Import JavaScriptCore/Assertions.h instead of WebKit/WebAssertions.h (which no longer exists)
3035 2006-06-22 Maciej Stachowiak <mjs@apple.com>
3039 - start moving loading logic to new WebFrameLoader class; move management of WebLoaders there
3041 * Misc/WebIconLoader.h:
3042 * Misc/WebIconLoader.m:
3043 (-[WebIconLoader didFinishLoading]):
3044 * WebKit.xcodeproj/project.pbxproj:
3045 * WebView/WebDataSource.m:
3046 (-[WebDataSourcePrivate dealloc]):
3047 (-[WebDataSource _updateLoading]):
3048 (-[WebDataSource _loadIcon]):
3049 (-[WebDataSource _setPrimaryLoadComplete:]):
3050 (-[WebDataSource _stopLoading]):
3051 (-[WebDataSource _startLoading]):
3052 (-[WebDataSource _addSubresourceLoader:]):
3053 (-[WebDataSource _removeSubresourceLoader:]):
3054 (-[WebDataSource _addPlugInStreamLoader:]):
3055 (-[WebDataSource _removePlugInStreamLoader:]):
3056 (-[WebDataSource _iconLoaderReceivedPageIcon:]):
3057 (-[WebDataSource _defersCallbacksChanged]):
3058 (-[WebDataSource _stopLoadingWithError:]):
3059 (-[WebDataSource _setupForReplaceByMIMEType:]):
3060 (-[WebDataSource initWithRequest:]):
3061 (-[WebDataSource dealloc]):
3062 (-[WebDataSource finalize]):
3063 (-[WebDataSource data]):
3064 (-[WebDataSource isLoading]):
3065 * WebView/WebFrameLoader.h: Added.
3066 * WebView/WebFrameLoader.m: Added.
3067 (-[WebFrameLoader initWithDataSource:]):
3068 (-[WebFrameLoader dealloc]):
3069 (-[WebFrameLoader hasIconLoader]):
3070 (-[WebFrameLoader loadIconWithRequest:]):
3071 (-[WebFrameLoader stopLoadingIcon]):
3072 (-[WebFrameLoader addPlugInStreamLoader:]):
3073 (-[WebFrameLoader removePlugInStreamLoader:]):
3074 (-[WebFrameLoader setDefersCallbacks:]):
3075 (-[WebFrameLoader stopLoadingPlugIns]):
3076 (-[WebFrameLoader isLoadingMainResource]):
3077 (-[WebFrameLoader isLoadingSubresources]):
3078 (-[WebFrameLoader isLoading]):
3079 (-[WebFrameLoader stopLoadingSubresources]):
3080 (-[WebFrameLoader addSubresourceLoader:]):
3081 (-[WebFrameLoader removeSubresourceLoader:]):
3082 (-[WebFrameLoader mainResourceData]):
3083 (-[WebFrameLoader releaseMainResourceLoader]):
3084 (-[WebFrameLoader cancelMainResourceLoad]):
3085 (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
3086 (-[WebFrameLoader stopLoadingWithError:]):
3088 2006-06-21 Brady Eidson <beidson@apple.com>
3092 The WebCoreIconDatabaseBridge was getting messages sent to it after it had been closed, resulting in a crash
3093 on an ASSERT(). After closing the databaseBridge, we simply set it to nil so this can't happen.
3096 * Misc/WebIconDatabase.m:
3097 (-[WebIconDatabase _applicationWillTerminate:]):
3099 2006-06-21 Tim Omernick <timo@apple.com>
3101 Reviewed by Geoff Garen.
3103 <rdar://problem/4564131> WebPluginDatabase setAdditionalWebPlugInPaths needs to be per WebView
3105 Added some WebView SPI so that individual WebViews may have different plugin search paths. There are some
3106 limitations with the approach taken here:
3108 - JavaScript may only access the global plugin DB.
3109 - When this SPI is in use, certain WebView methods may not give accurate results, such as +canShowMIMEType:.
3110 - This only works for plugins referenced using the <object> or <embed> tags; plugins that reside in non-standard
3111 file system locations may not be loaded directly into frames.
3113 None of these issues are important to the client that needs this SPI. Rather than re-architect our entire
3114 plugin database, I think it is better to simply accept these limitations for now.
3116 * Plugins/WebPluginDatabase.h:
3117 Added "plugInPaths" ivar, so different plugin databases can have different search paths.
3118 * Plugins/WebPluginDatabase.m:
3119 (+[WebPluginDatabase installedPlugins]):
3120 Give the global plugin database the default plugin search paths.
3121 (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
3122 Removed static global; this method now sets the plugin paths on the global plugin database.
3123 (-[WebPluginDatabase setPlugInPaths:]):
3124 Setter method for plugin paths.
3125 (-[WebPluginDatabase close]):
3126 New method; called when the plugin database is no longer needed (when its WebView is being destroyed).
3127 (-[WebPluginDatabase init]):
3128 Don't refresh in -init, so that callers can set the DB's plugin path array before it refreshes.
3129 (-[WebPluginDatabase dealloc]):
3130 Moved here from near the bottom of the file. Release new ivar.
3131 (-[WebPluginDatabase refresh]):
3132 Use the plugInPaths ivar instead of calling pluginLocations().
3133 Notify plugin packages when they are added to and removed from a plugin database. A plugin package will
3134 unload itself when it is removed from all of its plugin databases.
3135 The only really tricky thing here is that the global MIME <-> view class registrations are only modified
3136 by the shared plugin DB.
3137 (+[WebPluginDatabase _defaultPlugInPaths]):
3138 Refactored from the old pluginLocations() function; returns the default set of plugin search paths.
3140 * Plugins/WebBasePluginPackage.h:
3141 * Plugins/WebBasePluginPackage.m:
3142 (-[WebBasePluginPackage dealloc]):
3143 Assert that this package has been removed from all of its containing plugin databases.
3144 (-[WebBasePluginPackage finalize]):
3146 (-[WebBasePluginPackage wasAddedToPluginDatabase:]):
3147 Add plugin database to set.
3148 (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
3149 Remove plugin database from set. If it was the last DB, then unload the plugin package.
3151 * WebView/WebViewInternal.h:
3152 Added instance methods to find the view class or plugin package, given a MIME type or file extension.
3153 * WebView/WebViewPrivate.h:
3154 Added SPI to set plugin search paths per WebView.
3155 * WebView/WebView.m:
3156 (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
3157 New method; tries the global MIME <-> view map first; failing that, it checks the WebView's plugin DB.
3158 (-[WebView _close]):
3159 Close the plugin DB.
3160 (-[WebView _setAdditionalWebPlugInPaths:]):
3161 Create the plugin DB if necessary, and set its plugin paths.
3162 (-[WebView _pluginForMIMEType:]):
3163 Checks global plugin DB, falls back on WebView DB.
3164 (-[WebView _pluginForExtension:]):
3166 (-[WebView _isMIMETypeRegisteredAsPlugin:]):
3169 * WebCoreSupport/WebFrameBridge.m:
3170 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
3171 Use new WebView instance methods to look for plugins.
3172 (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
3174 (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
3177 2006-06-20 Brady Eidson <beidson@apple.com>
3181 Added calls through to the WebCoreIconDatabaseBridge for all the major WebIconDatabase API. For now these calls
3182 are wrapped with #ifdef's and are for debugging only.
3184 * Misc/WebIconDatabase.h:
3185 * Misc/WebIconDatabase.m:
3186 (-[NSMutableDictionary _scaleIcon:toSize:]):
3187 (-[NSMutableDictionary init]):
3188 (-[NSMutableDictionary iconForURL:withSize:cache:]):
3189 (-[NSMutableDictionary iconURLForURL:]):
3190 (-[NSMutableDictionary retainIconForURL:]):
3191 (-[NSMutableDictionary releaseIconForURL:]):
3192 (-[WebIconDatabase _setHaveNoIconForIconURL:]):
3193 (-[WebIconDatabase _setIconURL:forURL:]):
3194 (-[WebIconDatabase _hasIconForIconURL:]):
3195 * Misc/WebIconLoader.m:
3196 (-[WebIconLoader didFinishLoading]):
3198 * Misc/WebKitLogging.h: Added a logging channel for WebIconDatabase debugging
3199 * Misc/WebKitLogging.m:
3200 (WebKitInitializeLoggingChannelsIfNecessary):
3202 2006-06-20 Adele Peterson <adele@apple.com>
3204 Reviewed by Tim Hatcher.
3206 * WebView/WebMainResourceLoader.m: Added missing header to fix build on Leopard.
3208 2006-06-20 Timothy Hatcher <timothy@apple.com>
3212 Removes the @try/@catch from the callbacks to improve performance,
3213 simply check if the proxy object's connection is still valid first.
3214 Listener objects are now required to be NSDistantObjects.
3216 Adds pause, resume and step support. The debugger process use to handle this,
3217 but it caused problems when there were multiple listeners.
3219 Sends the bundle identifier in the notification userInfo dictionary along with
3220 process name and process ID.
3222 * DefaultDelegates/WebScriptDebugServer.h:
3223 * DefaultDelegates/WebScriptDebugServer.m:
3224 (-[WebScriptDebugServer serverQuery:]):
3225 (-[WebScriptDebugServer addListener:]):
3226 (-[WebScriptDebugServer removeListener:]):
3227 (-[WebScriptDebugServer step]):
3228 (-[WebScriptDebugServer pause]):
3229 (-[WebScriptDebugServer resume]):
3230 (-[WebScriptDebugServer isPaused]):
3231 (-[WebScriptDebugServer suspendProcessIfPaused]):
3232 (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
3233 (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
3234 (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
3235 (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
3236 * DefaultDelegates/WebScriptDebugServerPrivate.h:
3239 2006-06-19 Alexey Proskuryakov <ap@nypop.com>
3243 - http://bugzilla.opendarwin.org/show_bug.cgi?id=5499
3244 Page reload does not send any cache control headers
3246 * WebView/WebFrame.m:
3247 (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Set a proper Cache-Control header for
3249 (-[WebFrame loadRequest:]): Reset loadType to WebFrameLoadTypeStandard (after a reload, it stayed at
3250 WebFrameLoadTypeReload, so _addExtraFieldsToRequest erroneously added a Cache-Control header to them).
3252 2006-06-19 John Sullivan <sullivan@apple.com>
3256 - added mechanism to notify UIDelegate when part of the webview is redrawn. For now, it only
3257 works for HTML views.
3259 * WebView/WebUIDelegatePrivate.h:
3260 Define a new UIDelegate method -webView:didDrawRect:
3261 * WebView/WebHTMLView.m:
3262 (-[WebView drawSingleRect:]):
3263 Call through to UIDelegate if it implements that method. I tested that this does not impact PLT numbers
3264 in the case where the delegate implements the method but does nothing in it.
3266 2006-06-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
3270 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9452
3271 Assertion failure in -[WebFramePrivate setProvisionalDataSource:]
3273 * WebView/WebFrame.m:
3274 (-[WebFrame _checkLoadCompleteForThisFrame]): Avoid re-entering the delegate's
3275 -[webView:didFailProvisionalLoadWithError:forFrame].
3277 2006-06-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
3281 - http://bugzilla.opendarwin.org/show_bug.cgi?id=9479
3282 Disassociate the inspector from the frame when it detaches from its parent
3284 * WebInspector/WebInspector.m:
3285 (-[NSWindow setWebFrame:]): Added code to (de)register with the WebFrame
3286 the inspector is (no longer) targeting.
3287 (-[WebInspector _webFrameDetached:]): Added. Moved the code that was previously
3288 in -[inspectedWindowWillClose:] here. This is called by the WebFrame when it
3289 is detached from its parent.
3290 * WebInspector/WebInspectorInternal.h:
3291 * WebView/WebFrame.m:
3292 (-[WebFramePrivate dealloc]):
3293 (-[WebFrame _detachFromParent]): Added code to notify all registered inspectors
3294 that the WebFrame is detaching.
3295 (-[WebFrame _addInspector:]): Added.
3296 (-[WebFrame _removeInspector:]): Added.
3297 * WebView/WebFrameInternal.h:
3299 2006-06-18 Anders Carlsson <acarlsson@apple.com>
3303 * WebCoreSupport/WebFrameBridge.m:
3304 (-[WebFrameBridge shouldInterruptJavaScript]):
3305 Ask the UI delegate if the script should be interrupted.
3307 * WebView/WebUIDelegatePrivate.h:
3308 Declare webViewShouldInterruptJavaScript: delegate method
3310 2006-06-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
3314 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9466
3315 Assertion failure when dragging an image from the document into Safari's address bar
3317 * WebView/WebFrameView.m:
3318 (-[WebFrameView _setDocumentView:]): Reset the WebView's initiatedDrag flag
3319 when the document view is changed.
3320 * WebView/WebHTMLView.m:
3321 (-[WebHTMLView draggedImage:endedAt:operation:]): Changed the ASSERT to allow
3322 for drags that end after the view has been removed from the WebView.
3324 2006-06-16 Timothy Hatcher <timothy@apple.com>
3328 Exposes a distributed objects server for clients to register for script debugger calls.
3329 For preformance concerns this is disabled by default, you will need to enable this per application.
3330 To enable for Safari do this: defaults write com.apple.Safari WebKitScriptDebuggerEnabled -bool true
3332 Clients will need to listen to the following distributed notification to discover servers:
3333 WebScriptDebugServerDidLoadNotification
3335 To discover servers that previously loaded before the client, the client needs to send the following notification:
3336 WebScriptDebugServerQueryNotification
3338 All servers will reply with the WebScriptDebugServerQueryReplyNotification notification that contains the
3339 registered server connection name to use with distributed objects.
3341 * DefaultDelegates/WebScriptDebugServer.h: Added.
3342 * DefaultDelegates/WebScriptDebugServer.m: Added.
3343 (+[WebScriptDebugServer sharedScriptDebugServer]):
3344 (-[WebScriptDebugServer init]):
3345 (-[WebScriptDebugServer dealloc]):
3346 (-[WebScriptDebugServer serverQuery:]):
3347 (-[WebScriptDebugServer listenerConnectionDidDie:]):
3348 (-[WebScriptDebugServer addListener:]):
3349 (-[WebScriptDebugServer removeListener:]):
3350 (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
3351 (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
3352 (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
3353 (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
3354 * DefaultDelegates/WebScriptDebugServerPrivate.h: Added.
3355 * WebCoreSupport/WebFrameBridge.m:
3356 (-[WebFrameBridge windowObjectCleared]):
3358 * WebKit.xcodeproj/project.pbxproj:
3359 * WebView/WebScriptDebugDelegate.m:
3360 (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
3361 (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
3362 (-[WebScriptCallFrame hitStatement:sourceId:line:]):
3363 (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
3364 * WebView/WebView.m:
3365 (+[WebView _developerExtrasEnabled]):
3366 (+[WebView _scriptDebuggerEnabled]):
3367 (-[WebView _menuForElement:defaultItems:]):
3368 (-[WebView _commonInitializationWithFrameName:groupName:]):
3369 * WebView/WebViewPrivate.h:
3371 2006-06-16 Adele Peterson <adele@apple.com>
3375 Added initialization for WKDrawBezeledTextArea.
3377 * WebCoreSupport/WebSystemInterface.m:
3378 (InitWebCoreSystemInterface):
3380 2006-06-15 Timothy Hatcher <timothy@apple.com>
3382 Reviewed by Geoff and Darin.
3384 Prefer the DWARF debugging symbols format for use in Xcode 2.3.
3386 * WebKit.xcodeproj/project.pbxproj:
3388 2006-06-15 John Sullivan <sullivan@apple.com>
3392 Fixed bug in WebKit support for computing but not highlighting rects for text matches.
3394 * WebView/WebView.m:
3395 (-[WebView rectsForTextMatches]):
3396 leave out empty rects, and convert rects to WebView coordinates. Since this makes a batch
3397 of autoreleased NSValue objects, use a local autorelease pool
3399 2006-02-11 David Kilzer <ddkilzer@kilzer.net>
3401 Reviewed by John Sullivan.
3403 * Plugins/WebPluginController.m:
3404 (-[WebPluginController _cancelOutstandingChecks]):
3405 add nil check before calling CFSetApplyFunction
3407 2006-06-14 Levi Weintraub <lweintraub@apple.com>
3411 <http://bugzilla.opendarwin.org/show_bug.cgi?id=7580>
3412 TinyMCE: Implement execCommand(formatBlock, ...)
3414 * English.lproj/Localizable.strings:
3415 * WebCoreSupport/WebFrameBridge.m:
3416 (-[WebFrameBridge nameForUndoAction:]):
3418 2006-06-14 Tim Omernick <timo@apple.com>
3420 Reviewed by John Sullivan.
3422 <rdar://problem/4577988> GC: WebPluginController uses inefficient resurrecting enumeration
3424 * Plugins/WebPluginController.m:
3425 (cancelOutstandingCheck):
3426 (-[WebPluginController _cancelOutstandingChecks]):
3427 Use CFSetApplyFunction() instead of an enumerator to guard against modifications to the set while enumerating.
3429 2006-06-13 John Sullivan <sullivan@apple.com>
3433 - fixed <rdar://problem/4498606> REGRESSION (417.8-420+): 3 missing items (but extra separators) in context
3434 menu in Mail message body
3436 * WebView/WebView.m:
3437 (-[WebView _menuForElement:defaultItems:]):
3438 Add special-case hackery to recover from this SPI -> API mismatch.
3440 2006-06-13 Tim Omernick <timo@apple.com>
3444 Fixed a recently-introduced assertion failure when handling 404 errors.
3446 * WebView/WebDataSource.m:
3447 (-[WebDataSource _handleFallbackContent]):
3448 Use the -[WebFrame _bridge] instead of -[WebDataSource _bridge]. The former is not valid until the data
3449 source has been committed, which is not the case when the resource fails to load. The latter is safe to call
3450 at any time. This broke last night with Maciej's change to WebFrameResourceLoader. The old code used to
3451 call -[WebFrame _bridge].
3453 2006-06-13 Anders Carlsson <acarlsson@apple.com>
3457 http://bugzilla.opendarwin.org/show_bug.cgi?id=9406
3458 REGRESSION: fix for bug 9390 broke two layout tests
3460 * Plugins/WebPluginDatabase.h:
3461 (-[WebPluginDatabase isMIMETypeRegistered:]):
3462 Add new function isMIMETypeRegistered which returns whether a given MIME type has a
3465 * Plugins/WebPluginDatabase.m:
3466 (-[WebPluginDatabase init]):
3467 Init set of registered MIME types.
3469 (-[WebPluginDatabase refresh]):
3470 Add and remove MIME types from the set of registered MIME types when registering and unregistering
3473 (-[WebPluginDatabase dealloc]):
3474 Release set of registered MIME types.
3476 * WebCoreSupport/WebFrameBridge.m:
3477 (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
3478 Use isMIMETypeRegistered here.
3480 2006-06-12 Maciej Stachowiak <mjs@apple.com>
3482 - fix for cocoa exception (whoops)
3484 * WebView/WebView.m:
3485 (+[WebView _generatedMIMETypeForURLScheme:]): put this back
3486 * WebView/WebDataSource.m:
3487 (+[WebDataSource _generatedMIMETypeForURLScheme:]): call WebView
3489 2006-06-12 Maciej Stachowiak <mjs@apple.com>
3493 - remove use of WebView and related from WebMainResourceLoader
3495 * WebKit.xcodeproj/project.pbxproj:
3496 * WebView/WebDataSource.m:
3497 (+[WebDataSource _generatedMIMETypeForURLScheme:]):
3498 (+[WebDataSource _representationExistsForURLScheme:]):
3499 (+[WebDataSource _canShowMIMEType:]):
3500 (-[WebDataSource _handleFallbackContent]):
3501 (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
3502 * WebView/WebDataSourceInternal.h:
3503 * WebView/WebFrame.m:
3504 (-[WebFrame _isMainFrame]):
3505 * WebView/WebFrameInternal.h:
3506 * WebView/WebMainResourceLoader.m:
3507 (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
3508 (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
3509 (-[WebMainResourceLoader checkContentPolicyForResponse:]):
3510 (-[WebMainResourceLoader loadWithRequestNow:]):
3511 * WebView/WebView.m:
3513 2006-06-12 Tim Omernick <timo@apple.com>
3517 <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] runn