1 2006-05-04 Tim Omernick <timo@apple.com>
5 <rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element
7 * WebCoreSupport/WebFrameBridge.m:
8 (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
9 Pass the DOMElement to the plugin if it's a WebKit plugin (we need to handle Netscape plugins
12 2006-05-04 Tim Omernick <timo@apple.com>
14 Reviewed by John Sullivan.
16 <rdar://problem/4480186> Give WebKit plugins access to their own DOM element
18 This does not fix <rdar://problem/4480187> Give Netscape plugins access to their own DOM element --
19 we're not going to use the ObjC DOM API for that, but rather the NP bindings API.
21 * Plugins/WebPluginPackage.m:
22 Declared WebPlugInContainingElementKey. This is not a new plugin argument -- it's been in our public
23 headers since all along, but has never been concretely declared -- plugins that referenced it would not
26 * WebCoreSupport/WebFrameBridge.m:
27 (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:]):
28 Added DOMElement parameter, which is now included in the plugin arguments dictionary.
29 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:]):
33 Export WebPlugInContainingElementKey.
35 2006-05-02 Darin Adler <darin@apple.com>
39 - http://bugzilla.opendarwin.org/show_bug.cgi?id=8677
40 REGRESSION: wkSetUpFontCache() may be called before the SPIs are connected.
42 I don't know how reproduce this without one of Rosyna's hacks installed, so I
43 did not include a test.
45 * Misc/WebStringTruncator.m: (+[WebStringTruncator initialize]): Add call to
46 InitWebCoreSystemInterface.
48 * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add a boolean
49 so we will only do this one time.
51 2006-05-02 Adele Peterson <adele@apple.com>
55 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6988
56 REGRESSION: Display correct context menus for new text fields
58 * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
59 Don't let the UI delegate have control over the context menu for text fields.
61 2006-05-01 Mitz Pettel <opendarwin.org@mitzpettel.com>
65 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8658
66 Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
67 (bridge is null) when clicking QuickTime object with href
69 * WebView/WebHTMLView.m:
70 (-[WebHTMLView setDataSource:]): Set the pluginController's dataSource.
72 2006-05-01 Maciej Stachowiak <mjs@apple.com>
76 * WebKit.exp: Add symbol that the new Safari will need.
78 2006-05-01 John Sullivan <sullivan@apple.com>
80 Reviewed by Tim Omernick.
82 - fixed <rdar://problem/3126419> history load enforces history limit, but deletes the newest instead of oldest items
83 - added notification reporting items discarded during load because the age limit or item count limit is exceeded
84 - a few other minor tweaks
86 * History/WebHistory.h:
87 fixed a typo and an incorrect method name
89 * History/WebHistoryPrivate.h:
90 Added declaration of WebHistoryItemsDiscardedWhileLoadingNotification. Also changed signature of
91 WebHistoryPrivate method -loadFromURL:error: to have new collectDiscardedItemsInto: parameter.
92 Also deleted declarations of two methods that didn't actually exist (loadHistory and initWithFile:),
93 and added comments about which methods should become public API, WebKit-internal, or file-internal.
95 * History/WebHistory.m:
96 (-[WebHistoryPrivate arrayRepresentation]):
97 This method, called only by _saveHistoryGuts:, used to deliberately leave out items that violated
98 either the age limit or the item count limit. Now all the items are included (and thus saved), and
99 all the pruning is done at load time, so clients can keep track of the pruned items by observing
100 the new WebHistoryItemsDiscardedWhileLoadingNotification
101 (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
102 Now keeps track of all the items that violated the age limit or item count limit in the new
103 collectedDiscardedItemsInto: parameter. Also, now processes items in forward order rather than
104 reverse order to fix 3126419. Now uses compare: rather than _webkit_compareDay: to check against
105 age limit; this is faster and also more correct (most noticeable with small age limits).
106 (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]):
107 new collectDiscardedItemsInto: parameter, passed into _loadHistoryGuts:...
108 (-[WebHistory loadFromURL:error:]):
109 Now sends new WebHistoryItemsDiscardedWhileLoadingNotification if any items were discarded due
110 to age limit or item count limit.
113 exported symbol for WebHistoryItemsDiscardedWhileLoadingNotification
115 2006-04-29 Timothy Hatcher <timothy@apple.com>
119 Bug 8577: [TabBarView _web_superviewOfClass:stoppingAtClass:]
120 http://bugzilla.opendarwin.org/show_bug.cgi?id=8577
122 Added back _web_superviewOfClass:stoppingAtClass:.
123 This method was removed in r14032 (bug 8562), but Safari 2.0 still uses it.
124 We should remove this method once Open Source users have a new version
125 to use with TOT WebKit.
127 * Misc/WebNSViewExtras.m:
128 (-[NSView _web_superviewOfClass:stoppingAtClass:]):
130 2006-04-28 David Hyatt <hyatt@apple.com>
132 Double the cache size to account for our revised (more accurate)
133 measurement of the image buffers.
137 * WebView/WebPreferences.m:
138 (+[WebPreferences initialize]):
140 2006-04-28 David Hyatt <hyatt@apple.com>
142 Fix for 8586, move WebTextRenderer into WebCore.
146 * Misc/WebKitNSStringExtras.m:
147 (-[NSString _web_drawAtPoint:font:textColor:]):
148 (-[NSString _web_widthWithFont:]):
149 * Misc/WebStringTruncator.m:
150 (+[WebStringTruncator centerTruncateString:toWidth:]):
151 (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
152 (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
153 (+[WebStringTruncator widthOfString:font:]):
154 * WebCoreSupport/WebSystemInterface.m:
155 (InitWebCoreSystemInterface):
156 * WebCoreSupport/WebTextRenderer.h: Removed.
157 * WebCoreSupport/WebTextRenderer.m: Removed.
158 * WebCoreSupport/WebTextRendererFactory.h: Removed.
159 * WebCoreSupport/WebTextRendererFactory.m: Removed.
160 * WebKit.xcodeproj/project.pbxproj:
161 * WebView/WebFrameView.m:
162 (-[WebFrameView initWithFrame:]):
163 * WebView/WebHTMLView.m:
164 (-[NSArray _addToStyle:fontA:fontB:]):
165 * WebView/WebTextView.m:
166 (-[WebTextView setFixedWidthFont]):
168 (+[WebView _setAlwaysUseATSU:]):
169 (+[WebView _setShouldUseFontSmoothing:]):
170 (+[WebView _shouldUseFontSmoothing]):
172 2006-04-28 Eric Seidel <eseidel@apple.com>
177 http://bugzilla.opendarwin.org/show_bug.cgi?id=8643
179 * Misc/WebIconDatabase.m:
180 (-[NSMutableDictionary iconForURL:withSize:cache:]):
181 (-[NSMutableDictionary iconURLForURL:]):
182 (-[NSMutableDictionary retainIconForURL:]):
183 (-[NSMutableDictionary releaseIconForURL:]):
184 (-[WebIconDatabase _setIcon:forIconURL:]):
185 (-[WebIconDatabase _iconsForIconURLString:]):
186 (-[WebIconDatabase _forgetIconForIconURLString:]):
187 (-[WebIconDatabase _releaseIconForIconURLString:]):
188 (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
189 * Plugins/WebBasePluginPackage.m:
190 (+[WebBasePluginPackage pluginWithPath:]):
191 (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
192 (-[WebBasePluginPackage initWithPath:]):
193 (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
194 (-[WebBasePluginPackage pListForPath:createFile:]):
195 (-[WebBasePluginPackage getPluginInfoFromPLists]):
196 (-[WebBasePluginPackage load]):
197 (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
198 (-[WebBasePluginPackage isNativeLibraryData:]):
199 (-[NSArray _web_lowercaseStrings]):
200 * Plugins/WebNetscapePluginPackage.m:
201 (-[WebNetscapePluginPackage openResourceFile]):
202 (-[WebNetscapePluginPackage closeResourceFile:]):
203 (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
204 (-[WebNetscapePluginPackage getPluginInfoFromResources]):
205 (-[WebNetscapePluginPackage initWithPath:]):
206 (-[WebNetscapePluginPackage executableType]):
207 (-[WebNetscapePluginPackage unloadWithoutShutdown]):
208 (-[WebNetscapePluginPackage load]):
209 (-[WebNetscapePluginPackage unload]):
210 * Plugins/WebNetscapePluginRepresentation.m:
211 (-[WebNetscapePluginRepresentation redeliverStream]):
212 * Plugins/WebPluginDatabase.m:
213 (+[WebPluginDatabase installedPlugins]):
214 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
215 (-[WebPluginDatabase pluginForExtension:]):
217 (-[WebPluginDatabase init]):
218 (-[WebPluginDatabase refresh]):
222 (pluginViewForInstance):
223 * WebCoreSupport/WebSubresourceLoader.m:
224 (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
225 (-[WebSubresourceLoader willSendRequest:redirectResponse:]):
226 * WebView/WebDataSource.m:
227 (-[WebDataSource isLoading]):
228 * WebView/WebFrame.m:
229 (-[WebFrame _loadDataSource:withLoadType:formState:]):
230 (-[WebFrame _subframeIsLoading]):
232 (-[WebView initWithFrame:]):
233 (-[WebView initWithFrame:frameName:groupName:]):
235 2006-04-26 Tim Omernick <timo@apple.com>
239 <rdar://problem/4525105> Repro TOT crash in [WebBaseNetscapePluginView dealloc] at coachella.com
240 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8564> crashed when closing a tab
242 * WebView/WebFrame.m:
243 (-[WebFramePrivate dealloc]):
244 Assert that plugInViews has been released.
245 (-[WebFrame _addPlugInView:]):
246 New method. Adds the plug-in view to the plugInViews set and calls -setWebFrame: on it.
247 (-[WebFrame _removeAllPlugInViews]):
248 New method. Calls -setWebFrame:nil on all plug-in views and releases the plugInViews set.
249 (-[WebFrame _willCloseURL]):
250 New method. Dispose of plug-in views when leaving a page (or closing the WebView).
252 * WebView/WebFrameInternal.h:
253 Declared -_addPlugInView:, -_removeAllPlugInViews, -_willCloseURL
255 * WebCoreSupport/WebFrameBridge.m:
256 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
257 Call -[WebFrame _addPlugInView:] instead of directly setting plug-in views' frames. This
258 allows us to keep track of them so that we can explicitly dispose of them when leaving the page.
259 (-[WebFrameBridge closeURL]):
260 Override -[WebCoreFrameBridge closeURL] so that we can perform our own teardown when leaving
261 a page or closing the WebView.
263 * Plugins/WebBaseNetscapePluginView.h:
264 Declared -stop so that subclass WebNetscapePluginEmbeddedView can call it.
266 * Plugins/WebNetscapePluginEmbeddedView.m:
267 (-[WebNetscapePluginEmbeddedView setWebFrame:]):
268 Stop the plug-in when it is removed from its WebFrame.
270 2006-04-25 Tim Omernick <timo@apple.com>
272 Reviewed by John Sullivan.
274 <rdar://problem/4472035> SPI that checks for URL policy fails in plugin documents
276 * Plugins/WebPluginController.h:
277 * Plugins/WebPluginController.m:
278 (-[WebPluginController URLPolicyCheckReferrer]):
279 New method. Get the referrer from the frame's data source's NSURLResponse. Note that for
280 document types loaded by WebCore, this URL is the same as -[WebCorePageBridge referrer],
281 since the response URL is what we pass to -[WebCorePageBridge openURL:].
283 * Plugins/WebPluginContainerCheck.m:
284 (-[WebPluginContainerCheck _isForbiddenFileLoad]):
285 Use the WebPluginController's -URLPolicyCheckReferrer instead of assuming that the bridge's
286 -referrer is valid. -[WebCorePageBridge referrer] is only set during the normal WebCore page
287 load process, which has nothing to do with loading standalone plugin documents.
289 2006-04-25 Tim Omernick <timo@apple.com>
293 <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc]
296 * Plugins/WebPluginPackage.m:
297 (-[WebPluginPackage unload]):
298 Clear isLoaded here. It turns out that only WebNetscapePluginPackage cleared its isLoaded
299 flag in -unload. We need to also do it here, because the superclass (WebBasePluginPackage)
300 asserts in -dealloc that -unload has been called.
302 2006-04-25 Tim Omernick <timo@apple.com>
306 <rdar://problem/4526120> -[WebBasePluginPackage finalize] leaks the CFBundle (under GC only)
308 * Plugins/WebBasePluginPackage.m:
309 (-[WebBasePluginPackage finalize]):
310 Release the CFBundle here.
312 2006-04-25 Tim Omernick <timo@apple.com>
316 <rdar://problem/4472037>
318 Private extensions to the WebPlugin interface. A plugin may implement these methods to receive loading callbacks
319 for its main resource. Plug-ins that implement this SPI show better loading progress in the browser, can be saved
320 to disk, and are more efficient by avoiding making duplicate GET or POST requests for the plug-in's main resource.
322 I want to provide a solid API for plug-in networking, but time constraints require that I first provide this simple
323 SPI for internal clients.
325 * Plugins/WebPluginViewFactoryPrivate.h:
326 Added a new plugin argument, WebPlugInShouldLoadMainResourceKey. If YES, the plugin is responsible
327 for loading its own content. If NO, the plugin should wait for WebKit to send it the data via the
328 new request-sharing SPI.
330 * Plugins/WebPluginPrivate.h: Added.
331 Request-sharing SPI. See comments in code.
333 * Plugins/WebPluginDocumentView.h:
334 Hang onto the plugin view as an ivar so we can call the new resource loading methods on it.
335 * Plugins/WebPluginDocumentView.m:
336 (-[WebPluginDocumentView dealloc]):
337 Release pluginView ivar.
338 (-[WebPluginDocumentView setDataSource:]):
339 Pass NO for WebPlugInShouldLoadMainResourceKey to indicate to the plugin that it should not
340 load its own main resource -- the data will come from WebKit. This is only necessary for plugin
341 documents. By the time we create the view for a plugin document, we already have fetched some
342 of its main resource's data. Embedded plugins do not have this issue because WebKit is not
343 involved in loading their content.
344 Call -webPlugInMainResourceDidReceivResponse: on the plugin if necessary. This lets the plugin
345 know how much and what kind of data is going to be received.
346 (-[WebPluginDocumentView dataSourceUpdated:]):
347 If the plugin implements the new request-sharing SPI, don't cancel the in-progress request.
348 (-[WebPluginDocumentView receivedData:withDataSource:]):
349 Forward to the plugin via the new request-sharing SPI.
350 (-[WebPluginDocumentView receivedError:withDataSource:]):
352 (-[WebPluginDocumentView finishedLoadingWithDataSource:]):
355 * Plugins/WebPluginPackage.m:
356 Added WebPlugInShouldLoadMainResourceKey, tweaked some style a bit.
358 * WebCoreSupport/WebFrameBridge.m:
359 (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
360 Pass YES for WebPlugInShouldLoadMainResourceKey. Embedded plugins must load their own data.
361 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
364 * WebKit.xcodeproj/project.pbxproj:
365 Added WebPluginPrivate.h
367 2006-04-24 Maciej Stachowiak <mjs@apple.com>
371 <rdar://problem/4525364> REGRESSION (yesterday?): LOG() mechanism is broken
373 - initialize WebKit's log channels
375 * Misc/WebKitLogging.h:
376 * Misc/WebKitLogging.m:
377 (initializeLogChannel):
378 (WebKitInitializeLoggingChannelsIfNecessary):
379 * WebView/WebPreferences.m:
380 (+[WebPreferences initialize]):
382 (-[WebView _commonInitializationWithFrameName:groupName:]):
384 2006-04-24 Maciej Stachowiak <mjs@apple.com>
388 - move some prematurely moved code back
390 * WebCoreSupport/WebFrameBridge.h:
391 * WebCoreSupport/WebFrameBridge.m:
392 (-[WebFrameBridge fini]):
393 (-[WebFrameBridge _preferences]):
394 (-[WebFrameBridge _retrieveKeyboardUIModeFromPreferences:]):
395 (-[WebFrameBridge keyboardUIMode]):
397 2006-04-24 Maciej Stachowiak <mjs@apple.com>
401 - move more code from WebFrameBridge to WebCoreFrameBridge
403 * WebCoreSupport/WebFrameBridge.h:
404 * WebCoreSupport/WebFrameBridge.m:
405 (-[WebFrameBridge fini]):
406 (-[WebFrameBridge expiresTimeForResponse:]):
407 (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
408 (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
409 (-[WebFrameBridge valueForKey:keys:values:]):
410 (-[WebFrameBridge _preferences]):
412 2006-04-24 Maciej Stachowiak <mjs@apple.com>
416 - Remove use of _webSuperviewOfClass: and related
417 http://bugzilla.opendarwin.org/show_bug.cgi?id=8562
419 I removed all use of these, now objects get at each other via
420 actual pointers, not using the view hierarchy. However, I left two
421 of the calls in because other clients rely on them as SPI (ugh).
423 * History/WebHistoryItem.m:
424 * Misc/WebNSViewExtras.h:
425 * Misc/WebNSViewExtras.m:
426 (-[NSView _web_superviewOfClass:]):
427 (-[NSView _web_parentWebFrameView]):
428 * Plugins/WebNetscapePluginDocumentView.m:
429 (-[WebNetscapePluginDocumentView layout]):
430 * Plugins/WebNetscapePluginEmbeddedView.h:
431 * Plugins/WebNetscapePluginEmbeddedView.m:
432 (-[WebNetscapePluginEmbeddedView setWebFrame:]):
433 (-[WebNetscapePluginEmbeddedView dataSource]):
434 * Plugins/WebNullPluginView.h:
435 * Plugins/WebNullPluginView.m:
436 (-[WebNullPluginView setWebFrame:]):
437 (-[WebNullPluginView viewDidMoveToWindow]):
438 * Plugins/WebPluginController.h:
439 * Plugins/WebPluginController.m:
440 (-[WebPluginController setDataSource:]):
441 (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
442 (-[WebPluginController webPlugInContainerShowStatus:]):
443 (-[WebPluginController webPlugInContainerSelectionColor]):
444 (-[WebPluginController webFrame]):
445 * Plugins/WebPluginDocumentView.h:
446 * Plugins/WebPluginDocumentView.m:
447 (-[WebPluginDocumentView setDataSource:]):
448 (-[WebPluginDocumentView layout]):
449 (-[WebPluginDocumentView currentWindow]):
450 (-[WebPluginDocumentView viewWillMoveToWindow:]):
451 * WebCoreSupport/WebFrameBridge.m:
452 (-[WebFrameBridge formControlIsBecomingFirstResponder:]):
453 (-[WebFrameBridge formControlIsResigningFirstResponder:]):
454 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
455 * WebCoreSupport/WebViewFactory.m:
456 (-[WebViewFactory bridgeForView:]):
457 * WebView/WebClipView.m:
458 (-[NSView initWithFrame:]):
459 * WebView/WebFrameView.m:
460 (-[WebFrameView _shouldDrawBorder]):
461 (-[WebFrameView webCoreBridge]):
462 * WebView/WebHTMLView.m:
463 (-[WebTextCompleteController dealloc]):
464 (-[WebHTMLView _dataSource]):
465 (-[WebHTMLView _bridge]):
466 (-[WebHTMLView _webView]):
467 (-[WebHTMLView _frameView]):
468 (-[WebHTMLView _web_firstResponderCausesFocusDisplay]):
469 (-[NSArray becomeFirstResponder]):
470 (-[NSArray setDataSource:]):
471 (-[NSArray pageUp:]):
472 (-[NSArray pageDown:]):
473 (-[NSArray pageUpAndModifySelection:]):
474 (-[NSArray pageDownAndModifySelection:]):
475 (-[WebHTMLView _frame]):
476 * WebView/WebHTMLViewInternal.h:
477 * WebView/WebImageView.h:
478 * WebView/WebImageView.m:
479 (-[WebImageView drawRect:]):
480 (-[WebImageView adjustFrameSize]):
481 (-[WebImageView setDataSource:]):
482 (-[WebImageView webView]):
483 (-[WebImageView writeImageToPasteboard:types:]):
484 (-[WebImageView copy:]):
485 (-[WebImageView elementAtPoint:]):
486 (-[WebImageView mouseDragged:]):
487 * WebView/WebPDFView.h:
488 * WebView/WebPDFView.m:
489 (-[WebPDFView _applyPDFDefaults]):
490 (-[WebPDFView _trackFirstResponder]):
491 (-[PDFPrefUpdatingProxy forwardInvocation:]):
492 * WebView/WebRenderNode.m:
493 (-[WebRenderNode initWithWebFrameView:]):
494 * WebView/WebTextView.h:
495 * WebView/WebTextView.m:
496 (-[WebTextView _textSizeMultiplierFromWebView]):
497 (-[WebTextView _preferences]):
498 (-[WebTextView setDataSource:]):
499 (-[WebTextView _webFrame]):
500 (-[WebTextView dragSelectionWithEvent:offset:slideBack:]):
501 (-[WebTextView menuForEvent:]):
502 (-[WebTextView resignFirstResponder]):
503 (-[WebTextView drawPageBorderWithSize:]):
504 (-[WebTextView knowsPageRange:]):
506 (-[WebView searchFor:direction:caseSensitive:wrap:]):
507 (containingFrameView):
508 (-[WebView _focusedFrame]):
509 (-[WebView _frameViewAtWindowPoint:]):
511 2006-04-23 Maciej Stachowiak <mjs@apple.com>
515 - push WebFileButton and WebStringTruncator code down to WebCore
516 http://bugzilla.opendarwin.org/show_bug.cgi?id=8552
518 * Misc/WebStringTruncator.m:
519 (+[WebStringTruncator centerTruncateString:toWidth:]):
520 (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
521 (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
522 (+[WebStringTruncator widthOfString:font:]):
523 * WebCoreSupport/WebFileButton.h: Removed.
524 * WebCoreSupport/WebFileButton.m: Removed.
525 * WebCoreSupport/WebFrameBridge.h:
526 * WebCoreSupport/WebFrameBridge.m:
527 (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
528 * WebCoreSupport/WebViewFactory.m:
529 (-[WebViewFactory fileButtonChooseFileLabel]):
530 (-[WebViewFactory fileButtonNoFileSelectedLabel]):
531 * WebKit.xcodeproj/project.pbxproj:
533 2006-04-23 Maciej Stachowiak <mjs@apple.com>
537 - remove WebCookieAdapter, WebCore can just use Foundation directly.
539 * WebCoreSupport/WebCookieAdapter.h: Removed.
540 * WebCoreSupport/WebCookieAdapter.m: Removed.
541 * WebKit.xcodeproj/project.pbxproj:
542 * WebView/WebFrameView.m:
543 (-[WebFrameView initWithFrame:]):
545 2006-04-23 Maciej Stachowiak <mjs@apple.com>
549 - prune WebView SPI of unused calls
551 Specifically I moved methods that have no callers outside WebKit
552 to WebViewInternal.h or removed them entirely.
554 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
555 * Plugins/WebBaseNetscapePluginView.m:
556 * Plugins/WebNetscapePluginDocumentView.m:
557 * Plugins/WebNetscapePluginStream.m:
558 * Plugins/WebNullPluginView.m:
559 * Plugins/WebPluginContainerCheck.m:
560 * Plugins/WebPluginController.m:
561 * WebCoreSupport/WebFrameBridge.m:
562 * WebCoreSupport/WebPageBridge.m:
563 * WebCoreSupport/WebSubresourceLoader.m:
564 * WebView/WebDataSource.m:
565 * WebView/WebHTMLView.m:
566 * WebView/WebImageView.m:
567 * WebView/WebLoader.m:
568 * WebView/WebMainResourceLoader.m:
569 * WebView/WebPDFView.m:
570 * WebView/WebScriptDebugDelegate.m:
572 (-[WebView _downloadURL:]):
573 * WebView/WebViewInternal.h:
574 * WebView/WebViewPrivate.h:
576 2006-04-22 Maciej Stachowiak <mjs@apple.com>
580 - remove WebKit copy of assertions code, use the assertions
581 stuff from JavaScriptCore instead.
583 * Carbon/HIViewAdapter.m:
584 * DOM/WebDOMOperations.m:
585 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
586 * DefaultDelegates/WebDefaultPolicyDelegate.m:
587 (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
588 * History/WebBackForwardList.m:
589 * History/WebHistory.m:
590 (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
591 (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
592 * History/WebHistoryItem.m:
593 * Misc/WebAssertions.h: Removed.
594 * Misc/WebAssertions.m: Removed.
595 * Misc/WebDatabase.m:
596 * Misc/WebDownload.m:
597 * Misc/WebFileDatabase.m:
599 * Misc/WebIconDatabase.m:
600 (-[NSMutableDictionary iconForURL:withSize:cache:]):
601 (-[NSMutableDictionary releaseIconForURL:]):
602 (-[NSMutableDictionary delayDatabaseCleanup]):
603 (-[NSMutableDictionary allowDatabaseCleanup]):
604 (-[WebIconDatabase _loadIconDictionaries]):
605 (-[WebIconDatabase _updateFileDatabase]):
606 (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
607 * Misc/WebIconLoader.m:
608 * Misc/WebKitLogging.h:
609 * Misc/WebKitLogging.m:
610 * Misc/WebKitSystemBits.m:
612 * Misc/WebLRUFileList.m:
613 (WebLRUFileListRemoveOldestFileFromList):
614 (WebLRUFileListGetFileSize):
615 * Misc/WebLocalizableStrings.m:
616 * Misc/WebNSCalendarDateExtras.m:
617 * Misc/WebNSDataExtras.m:
618 * Misc/WebNSDictionaryExtras.m:
619 * Misc/WebNSFileManagerExtras.m:
620 * Misc/WebNSPasteboardExtras.m:
621 * Misc/WebNSURLExtras.m:
624 (allCharactersInIDNScriptWhiteList):
625 * Misc/WebNSURLRequestExtras.m:
626 * Misc/WebNSUserDefaultsExtras.m:
627 * Misc/WebStringTruncator.m:
628 * Panels/WebAuthenticationPanel.m:
629 (-[WebAuthenticationPanel loadNib]):
630 * Panels/WebPanelAuthenticationHandler.m:
631 * Plugins/WebBaseNetscapePluginStream.m:
632 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
633 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
634 * Plugins/WebBaseNetscapePluginView.m:
636 (-[WebBaseNetscapePluginView start]):
637 (-[WebBaseNetscapePluginView status:]):
638 (-[WebBaseNetscapePluginView _printedPluginBitmap]):
639 * Plugins/WebBasePluginPackage.m:
640 * Plugins/WebNetscapePluginDocumentView.m:
641 * Plugins/WebNetscapePluginPackage.m:
642 (-[WebNetscapePluginPackage load]):
643 * Plugins/WebNetscapePluginRepresentation.m:
644 * Plugins/WebPluginContainerCheck.m:
645 * Plugins/WebPluginController.m:
646 (-[WebPluginController addPlugin:]):
647 (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
648 (-[WebPluginController webPlugInContainerShowStatus:]):
649 * Plugins/WebPluginDatabase.m:
650 * Plugins/WebPluginDocumentView.m:
651 * WebCoreSupport/WebCookieAdapter.m:
652 * WebCoreSupport/WebFileButton.m:
653 * WebCoreSupport/WebFrameBridge.m:
654 (-[WebFrameBridge runModal]):
655 * WebCoreSupport/WebImageData.m:
656 (-[WebImageData _checkSolidColor:]):
657 (-[WebImageData tileInRect:fromPoint:context:]):
658 (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
659 * WebCoreSupport/WebImageDecoder.m:
660 * WebCoreSupport/WebImageRenderer.m:
661 (-[WebImageRenderer TIFFRepresentation]):
662 * WebCoreSupport/WebImageRendererFactory.m:
663 * WebCoreSupport/WebJavaScriptTextInputPanel.m:
664 * WebCoreSupport/WebKeyGenerator.m:
665 * WebCoreSupport/WebPageBridge.m:
666 * WebCoreSupport/WebSubresourceLoader.m:
667 * WebCoreSupport/WebTextRenderer.m:
669 (-[WebTextRenderer initWithFont:]):
671 (initializeATSUStyle):
672 (createATSULayoutParameters):
675 * WebCoreSupport/WebTextRendererFactory.m:
676 * WebCoreSupport/WebViewFactory.m:
678 * WebKit.xcodeproj/project.pbxproj:
680 * WebView/WebArchiver.m:
681 (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
682 * WebView/WebClipView.m:
683 * WebView/WebDataProtocol.m:
684 * WebView/WebDataSource.m:
685 (-[WebDataSource _startLoading]):
686 * WebView/WebFormDataStream.m:
689 * WebView/WebFrame.m:
690 (-[WebFrame _transitionToCommitted:]):
691 * WebView/WebFrameView.m:
692 * WebView/WebHTMLRepresentation.m:
693 * WebView/WebHTMLView.m:
694 (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
695 (-[NSArray drawSingleRect:]):
696 (-[NSArray namesOfPromisedFilesDroppedAtDestination:]):
697 (-[NSArray _scaleFactorForPrintOperation:]):
698 (-[NSArray deleteBackwardByDecomposingPreviousCharacter:]):
699 (-[NSArray checkSpelling:]):
700 (-[NSArray showGuessPanel:]):
701 (-[NSArray _changeSpellingToWord:]):
702 (-[NSArray ignoreSpelling:]):
703 (-[NSArray performFindPanelAction:]):
704 (-[WebTextCompleteController doCompletion]):
705 * WebView/WebImageView.m:
706 * WebView/WebLoader.m:
707 (-[NSURLProtocol connection:willCacheResponse:]):
708 * WebView/WebPDFRepresentation.m:
709 (+[WebPDFRepresentation PDFDocumentClass]):
710 * WebView/WebPDFView.m:
711 (+[WebPDFView PDFKitBundle]):
712 (+[WebPDFView PDFViewClass]):
713 (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
714 * WebView/WebTextRepresentation.m:
715 * WebView/WebTextView.m:
716 * WebView/WebUnarchivingState.m:
719 2006-04-22 Timothy Hatcher <timothy@apple.com>
723 http://bugzilla.opendarwin.org/show_bug.cgi?id=8514
724 Bug 8514: Web Inspector hides when the app is in the background
726 Makes the inspector not hide in the background. Since the inspector is a floating panel
727 we need to call setFloatingPanel:NO when the app is switching into the background. Then
728 call setFloatingPanel:YES when the app is activated again. Without this the inspector
729 would float above all applications.
731 * WebInspector/WebInspector.m:
732 (-[NSWindow window]): setHidesOnDeactivate:NO
733 (-[NSWindow windowWillClose:]): de-regiser appliction active notifications
734 (-[NSWindow showWindow:]): register for appliction active notifications
735 (-[WebInspector _applicationWillResignActive]): setFloatingPanel:NO
736 (-[WebInspector _applicationDidBecomeActive]): setFloatingPanel:YES
738 2006-04-21 Adele Peterson <adele@apple.com>
742 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8181
743 REGRESSION: After tabbing in page's field, attempting to tab from Google toolbar search to page fails on first try
745 Test: manual-tests/tabbing-input-google.html
747 * WebView/WebHTMLView.m: (-[NSArray resignFirstResponder]):
748 When resigning first responder, reset willBecomeFirstResponderForNodeFocus, so when the WebHTMLView gets focus again
749 it knows it can start moving through the tab cycle.
751 2006-04-20 Tim Omernick <timo@apple.com>
753 Reviewed by John Sullivan.
755 <rdar://problem/4476875> Support printing for embedded Netscape plugins
757 NOTE: This only works with the Flash plugin right now. It appears that the other
758 major plugins either have awful printing support, or no printing support. If someone
759 can find an example of any other embedded Netscape plugin printing in any browser on
760 the Mac, I will be happy to eat my own words!
762 * Plugins/WebBaseNetscapePluginView.m:
763 (-[WebBaseNetscapePluginView drawRect:]):
764 When printing, get the printed bitmap via -_printedPluginBitmap, and draw it into the
766 (-[WebBaseNetscapePluginView _printedPluginBitmap]):
767 Call NPP_Print on the plugin to render it into a GWorld. This GWorld has the same
768 underlying buffer as an NSBitmapImageRep, which is returned to the caller.
770 2006-04-20 Mitz Pettel <opendarwin.org@mitzpettel.com>
775 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8276
776 REGRESSION (NativeTextField): Pasting a Finder item into a text field results in
777 a file: URL being pasted instead of just the file name
778 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8283
779 REGRESSION: File's path doesn't appear after dragging file into input field
781 * WebView/WebHTMLView.m:
782 (-[WebHTMLView _plainTextFromPasteboard:]): Added method that tries to copy AppKit
783 text fields' logic for extracting plain text from the pasteboard.
784 (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Added helper method.
785 (-[WebHTMLView _shouldInsertText:replacingDOMRange:givenAction:]):
786 (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]):
787 (-[WebHTMLView readSelectionFromPasteboard:]): Paste as plain text if
788 rich text is not allowed.
789 (-[WebHTMLView validateUserInterfaceItem:]): Changed to not allow pasteAsRichText:
790 if the paste is not going to be handled by the DOM and the selection
791 does not allow pasting rich text.
792 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Paste as plain text if
793 rich text is not allowed.
794 (-[WebHTMLView paste:]): Ditto.
795 (-[WebHTMLView pasteAsPlainText:]):
797 2006-04-20 Darin Adler <darin@apple.com>
801 - WebKit part of http://bugzilla.opendarwin.org/show_bug.cgi?id=8505
802 eliminate WebCoreGraphics bridge, demonstrate new SystemInterface technique
804 * WebCoreSupport/WebGraphicsBridge.h: Removed.
805 * WebCoreSupport/WebGraphicsBridge.m: Removed.
806 * WebCoreSupport/WebSystemInterface.h: Added.
807 * WebCoreSupport/WebSystemInterface.m: Added.
809 * WebKit.xcodeproj/project.pbxproj: Updated for removed and added files.
811 * WebCoreSupport/WebImageData.m: Removed unneeded include of WebGraphicsBridge.h.
812 * WebCoreSupport/WebImageRenderer.m: Ditto.
813 * WebCoreSupport/WebTextRenderer.m: Ditto.
815 * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Guarded all the one-time
816 initialization inside a boolean, just in case some things take a little time. Added
817 a call to InitWebCoreSystemInterface to the one-time initialization here. Later, we
818 will need to add it in some other places if we call code that requires the use of
819 WebCoreSystemInterface functions from anywhere that can be invoked before creations
820 of the first WebFrameView, but for now there is no need.
822 2006-04-19 James G. Speth <speth@end.com>
826 http://bugzilla.opendarwin.org/show_bug.cgi?id=8442
827 Bug 8442: improvements to Cocoa bindings support in WebView - code simplification
829 Removes the WebController class added earlier; changes NSTreeController and
830 WebView to together without it. Now you can just bind the contentObject binding
831 of the tree controller directly to the mainFrameDocument key of the WebView.
833 * WebCoreSupport/WebFrameBridge.m:
834 (-[WebFrameBridge windowObjectCleared]):
835 * WebView/WebDataSource.m:
836 (-[WebDataSource _setTitle:]):
837 * WebView/WebFrame.m:
838 (-[WebFrame _closeOldDataSources]):
840 (-[WebView _progressStarted:]):
841 (-[WebView _finalProgressComplete]):
842 (-[WebView _commonInitializationWithFrameName:groupName:]):
843 (-[WebView setMainFrameDocumentReady:]):
844 (-[WebView mainFrameDocument]):
845 * WebView/WebViewPrivate.h:
847 2006-04-19 James G. Speth <speth@end.com>
851 http://bugzilla.opendarwin.org/show_bug.cgi?id=6635
852 Bug 6635: Crash selecting inspector nodes for tabs that aren't foremost
854 Stop observing window will close notifications before we tell the highlight window to close,
855 this prevents the crash. Also prevent drawing highlights for hidden tabs.
857 * WebInspector/WebInspector.m:
858 (-[WebInspector _highlightNode:]):
859 * WebInspector/WebNodeHighlight.m:
860 (-[WebNodeHighlight expire]):
862 2006-04-19 James G. Speth <speth@end.com>
866 http://bugzilla.opendarwin.org/show_bug.cgi?id=6637
867 Bug 6637: selecting node in Inspector after closing window crashes Safari
869 When the window the Web Inspector was inspecting is closed, the inspector goes into its
870 no-selection state. Choosing to inspect another element activates it again. The inspector
871 will also follow the WebView if the URL changes and select the root element on the new page.
873 * WebInspector/WebInspector.m:
874 (-[NSWindow setWebFrame:]):
875 (-[NSWindow setRootDOMNode:]):
876 (-[WebInspector _revealAndSelectNodeInTree:]):
877 (-[WebInspector _update]):
878 (-[WebInspector _updateRoot]):
879 (-[WebInspector inspectedWebViewProgressFinished:]):
880 (-[WebInspector inspectedWindowWillClose:]):
881 (-[WebInspector webView:didFinishLoadForFrame:]):
882 * WebInspector/WebInspectorPanel.m:
883 (-[WebInspectorPanel canBecomeMainWindow]):
885 2006-04-18 Darin Adler <darin@apple.com>
889 * WebInspector/webInspector/inspector.css: Add "-webkit-" prefixes to the border
890 radius properties to make the corners rounded again.
892 2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
896 - WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8324
897 REGRESSION: textarea :focus not applied immediately
899 * WebCoreSupport/WebFrameBridge.m:
900 (-[WebFrameBridge formControlIsBecomingFirstResponder:]): Added. Calls the ancestor
901 WebHTMLView's _formControlIsBecomingFirstResponder:
902 * WebView/WebHTMLView.m:
903 (-[WebHTMLView _updateFocusState:]): If a descendant is becoming first responder,
904 enable focused appearance.
905 (-[WebHTMLView _formControlIsBecomingFirstResponder:]): Added. Calls _updateFocusState,
906 causing the frame to display with focus attributes.
907 * WebView/WebHTMLViewInternal.h:
909 2006-04-14 James G. Speth <speth@end.com>
913 Bug 8389: support for Cocoa bindings - binding an NSTreeController to the WebView's DOM
914 http://bugzilla.opendarwin.org/show_bug.cgi?id=8389
916 Added a controller class, WebController, that is a subclass of
917 NSTreeController that has a new outlet/binding for the WebView.
919 * WebCoreSupport/WebFrameBridge.m:
920 (-[WebFrameBridge windowObjectCleared]): notify bindings about the document change
922 (-[WebView _progressStarted:]): notify bindings about the document change
923 (-[WebView _finalProgressComplete]): notify bindings about the document change
924 (-[WebView _declaredKeys]): added a key for the main frame document
925 (-[WebController init]):
926 (-[WebController exposedBindings]):
927 (-[WebController valueClassForBinding:]):
928 (-[WebController setContent:]):
929 (-[WebController webView]):
930 (-[WebController setWebView:]):
931 (-[WebView mainFrameDocument]): get the main frame's DOMDocument
932 * WebView/WebViewPrivate.h: Adds mainFrameDocument to pending public.
934 2006-04-12 David Harrison <harrison@apple.com>
938 <rdar://problem/4386640> AX: AXPreviousSentenceStartTextMarkerForTextMarker does not respect paragraph boundary
939 <rdar://problem/4414575> AX: Dictionary popup cannot find some words on Dictionary.app
941 (see related changes in WebCore)
944 * editing/selection/extend-by-sentence-001.html: Added.
945 * fast/dom/inner-text-001.html: Added.
947 * WebView/WebHTMLView.m:
948 (-[NSArray validateUserInterfaceItem:]):
949 (-[NSArray moveToBeginningOfSentence:]):
950 (-[NSArray moveToBeginningOfSentenceAndModifySelection:]):
951 (-[NSArray moveToEndOfSentence:]):
952 (-[NSArray moveToEndOfSentenceAndModifySelection:]):
953 (-[NSArray selectSentence:]):
955 * WebView/WebViewPrivate.h:
956 Add sentence navigation and selection.
958 2006-04-12 Tim Omernick <timo@apple.com>
962 Part of <rdar://problem/4482530>
965 (-[WebView _focusedFrame]):
966 Fixed up the logic here to take into account immediate subviews of WebView, which are not actually in a WebFrameView
967 (they are peers to the main frame's WebFrameView).
969 2006-04-10 John Sullivan <sullivan@apple.com>
971 Reviewed by Tim Omernick.
973 - fixed <rdar://problem/4139799> Seed: Safari: Private Browsing leaves traces in Icon Cache
975 * Misc/WebIconDatabasePrivate.h:
976 new ivars: pageURLsBoundDuringPrivateBrowsing, iconURLsBoundDuringPrivateBrowsing, and privateBrowsingEnabled
978 * Misc/WebIconDatabase.m:
979 (-[NSMutableDictionary init]):
980 initialize new ivars, and listen for notifications that WebPreferences changed so we can react to changes
982 (-[NSMutableDictionary iconForURL:withSize:cache:]):
983 Don't remove icon URL from extraRetain dictionary; that's now done in _forgetIconForIconURLString. (I left a
984 comment here earlier about why I was worried about this change, but I convinced myself that it's fine.)
985 (-[WebIconDatabase removeAllIcons]):
986 Removed no-longer-true (and never very clear) comment, and braces. Also remove all objects from the two
987 private-browsing-related dictionaries.
988 (-[WebIconDatabase _setIcon:forIconURL:]):
989 remember icon URL if private browsing is enabled
990 (-[WebIconDatabase _setHaveNoIconForIconURL:]):
991 remember icon URL if private browsing is enabled
992 (-[WebIconDatabase _setIconURL:forURL:]):
993 added an assert that helped me out at one point
994 (-[WebIconDatabase _clearDictionaries]):
995 clear the two new dictionaries too
996 (-[WebIconDatabase _loadIconDictionaries]):
997 made an existing ERROR not fire in the expected case where there are no icons at all on disk
998 (-[WebIconDatabase _updateFileDatabase]):
999 when saving the pageURLToIconURL dictionary to disk, first remove any values that were created during
1001 (-[WebIconDatabase _retainIconForIconURLString:]):
1002 skip the code that deals with saving changes to disk if private browsing is enabled
1003 (-[WebIconDatabase _forgetIconForIconURLString:]):
1004 Remove the icon URL from extraRetain dictionary here. We're forgetting everything about this icon URL
1005 so we should forget its former extraRetain count too.
1006 (-[WebIconDatabase _resetCachedWebPreferences:]):
1007 Cache the new value of private browsing. If it has now been turned off, forget everything we learned
1008 while it was on. This causes (e.g.) icons for bookmarks or pre-existing history items to be forgotten
1009 if the icon was only learned during private browsing.
1011 * History/WebHistoryItem.m:
1012 removed an unnecessary #import I happened to notice
1014 2006-04-10 David Hyatt <hyatt@apple.com>
1016 Make the broken CG focus ring painting work when WebCore sets a clip
1017 (in addition to respecting the dirty rect clip).
1021 * WebCoreSupport/WebGraphicsBridge.m:
1022 (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
1024 2006-04-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
1028 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8100
1029 REGRESSION (NativeTextField): Right-aligned and RTL text jitters in new text fields
1031 * WebCoreSupport/WebTextRenderer.m:
1032 (overrideLayoutOperation): For RTL runs, apply the word-rounding on the left.
1033 (CG_floatWidthForRun): For RTL runs, apply the last character's rounding
1034 on the left by adjusting the start position.
1035 (initializeWidthIterator): Added finalRoundingWidth field to WidthIterator.
1036 (advanceWidthIterator): For RTL runs, apply rounding on the left of the character,
1037 by increasing the width of the next character (which is the character to the left). For
1038 the last character, keep the rounding width in the iterator's finalRoundingWidth, to be used by
1039 CG_floatWidthForRun().
1041 2006-04-08 John Sullivan <sullivan@apple.com>
1043 Reviewed by Adele Peterson.
1045 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=8260
1046 REGRESSION: Assertion failure: ![_private->iconsToSaveWithURLs containsObject:iconURLString]
1047 in WebIconDatabase.m:695-[WebIconDatabase(WebInternal) _retainIconForIconURLString:]
1049 * Misc/WebIconDatabase.m:
1050 (-[WebIconDatabase _retainIconForIconURLString:]):
1051 This new assertion was one block too high; moved it in.
1053 2006-04-07 David Hyatt <hyatt@apple.com>
1055 A fix that makes coalesced updates work much better (and makes our
1056 single animated GIF timer work better). The new rect painting algorithm
1057 for WebHTMLView will use the single unioned rect if the # of rects exceeds
1058 a threshold (10 is my initial cut), or if the union has enough "wasted"
1059 additional pixels (conservatively set at 75%).
1063 * WebView/WebHTMLView.m:
1064 (-[NSArray drawSingleRect:]):
1065 (-[NSArray drawRect:]):
1067 2006-04-07 Maciej Stachowiak <mjs@apple.com>
1071 - simplify archive loading
1073 * WebView/WebDataSource.m:
1074 (-[WebDataSource representation]): fix whitespace
1075 * WebView/WebHTMLRepresentation.m:
1076 (-[WebHTMLRepresentation loadArchive]): Use WebFrame's loadArchive: instead
1077 of trying to do a manual load here.
1078 (-[WebHTMLRepresentation documentSource]): No more special case for WebArchive.
1080 2006-04-07 John Sullivan <sullivan@apple.com>
1082 Reviewed by Tim Omernick.
1084 - fixed <rdar://problem/4507054> If an icon file is removed from disk behind Safari's back,
1085 Safari will not try to refetch it
1087 In addition to letting WebIconDatabase recover from disk/memory mismatches as per 4507054, I also found
1088 a bug in the way icons are remembered that could account for some of the other cases where
1089 site icons didn't appear (and you'd get an ERROR on debug builds about WebIconDatabase saying it
1090 had some icon when it really doesn't).
1092 * Misc/WebIconDatabase.m:
1093 (-[WebIconDatabase iconForURL:withSize:cache:]):
1094 When the icon file for a previously-saved site icon isn't found, forget about the darn icon URL thoroughly
1095 so that this situation is self-correcting. Formerly, once you got into this state WebKit would never find
1096 the icon again (short of removing the entire icon database cleanly). Note that this does *not* change
1097 the behavior of sites that didn't have a site icon when WebKit checked -- these will continue to not
1098 return a site icon indefinitely (that's a separate, possibly performance-sensitive issue).
1099 (-[WebIconDatabase _retainIconForIconURLString:]):
1100 This code did the wrong thing in the case where an icon was in the process of being forgotten about. In
1101 that case, the icon would still be in _private->iconsOnDiskWithURLs, so we wouldn't try to save it here,
1102 so the new icon wouldn't stick.
1104 2006-04-07 David Hyatt <hyatt@apple.com>
1106 Re-enable coalesced updates. Our move to a single timer has essentially
1107 implemented coalescing of updates anyway, so the regression has already
1108 come back. Since we have to deal with that now anyway, there's no reason
1109 to visually tear also. :)
1114 * WebView/WebView.m:
1115 (-[WebView _commonInitializationWithFrameName:groupName:]):
1117 2006-04-05 Darin Adler <darin@apple.com>
1119 - fixed a storage leak from that last check-in
1121 * WebView/WebUnarchivingState.m: (-[WebUnarchivingState dealloc]):
1122 Release the two dictionaries.
1124 2006-04-05 Maciej Stachowiak <mjs@apple.com>
1128 - start on factoring WebArchive unpacking more into a separate class.
1129 http://bugzilla.opendarwin.org/show_bug.cgi?id=8208
1131 * WebKit.xcodeproj/project.pbxproj:
1132 * WebView/WebDataSource.m:
1133 (-[WebDataSourcePrivate dealloc]):
1134 (-[WebDataSource _addToUnarchiveState:]):
1135 (-[WebDataSource _popSubframeArchiveWithName:]):
1136 (-[WebDataSource _documentFragmentWithArchive:]):
1137 (-[WebDataSource _setupForReplaceByMIMEType:]):
1138 (-[WebDataSource subresourceForURL:]):
1139 * WebView/WebDataSourcePrivate.h:
1140 * WebView/WebFrame.m:
1141 (-[WebFrame _loadRequest:archive:]):
1142 (-[WebFrame loadRequest:]):
1143 (-[WebFrame loadArchive:]):
1144 * WebView/WebFramePrivate.h:
1145 * WebView/WebHTMLRepresentation.m:
1146 (-[WebHTMLRepresentation loadArchive]):
1147 * WebView/WebUnarchivingState.h: Added.
1148 * WebView/WebUnarchivingState.m: Added.
1149 (-[WebUnarchivingState init]):
1150 (-[WebUnarchivingState addArchive:]):
1151 (-[WebUnarchivingState archivedResourceForURL:]):
1152 (-[WebUnarchivingState popSubframeArchiveWithFrameName:]):
1154 2006-04-04 Timothy Hatcher <timothy@apple.com>
1158 The Debug and Release frameworks are now built with install paths relative to the build products directory.
1159 This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore.
1161 * WebKit.xcodeproj/project.pbxproj:
1163 2006-04-04 John Sullivan <sullivan@apple.com>
1165 Reviewed by Adele Peterson.
1167 - WebKit part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
1169 * WebView/WebView.m:
1170 (-[WebView _updateWebCoreSettingsFromPreferences:]):
1171 Pass private browsing setting down to WebCore.
1173 2006-04-03 John Sullivan <sullivan@apple.com>
1175 Reviewed by Tim Hatcher.
1177 - re-fixed <rdar://problem/4481198> REGRESSION (TOT): search results list in bookmarks view
1178 remains when search text is deleted
1180 * WebView/WebView.m:
1181 (-[WebView searchFor:direction:caseSensitive:wrap:]):
1182 I fixed this recently, but then broke it again by adding an early bail-out to this method. So
1183 now I'm removing the early bail-out.
1185 2006-04-02 Trey Matteson <trey@usa.net>
1189 fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8121
1190 REGRESSION: 404s are not displayed
1192 * WebView/WebMainResourceLoader.m:
1193 (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
1194 Only cancel failed loads for object elements, not for frames or a whole page.
1196 2006-04-02 Maciej Stachowiak <mjs@apple.com>
1200 - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
1201 - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
1202 (http://bugzilla.opendarwin.org/show_bug.cgi?id=6811)
1203 - fixed tab and shift tab don't select the right things
1204 http://bugzilla.opendarwin.org/show_bug.cgi?id=5685
1206 * WebCoreSupport/WebFrameBridge.m:
1207 (-[WebFrameBridge willMakeFirstResponderForNodeFocus]): New method
1208 - let WebHTMLView know that the next time it becomes first
1209 responder, it's to change focus within the page and the right node
1210 has already been set, so it should not move focus forward or
1212 * WebView/WebHTMLView.m:
1213 (-[NSArray needsPanelToBecomeKey]): Override to return YES, oddly enough this
1214 is the right way to tell AppKit that you should be in the tab cycle loop.
1215 (-[NSArray becomeFirstResponder]): Don't move forward or back in tab cycle
1216 when this becomeFirstResponder is for tabbing from a control in the page.
1217 (-[WebHTMLView _willMakeFirstResponderForNodeFocus]): Note that the next
1218 time this view becomes first responder, it will be for in-page focus
1220 * WebView/WebHTMLViewInternal.h:
1222 2006-04-01 Darin Adler <darin@apple.com>
1226 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8105
1227 REGRESSION (NativeTextField): Option-delete deletes one space before the deleted word
1229 Test: fast/forms/input-text-option-delete.html
1231 * WebView/WebHTMLView.m:
1232 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Pass NO for
1233 smartDeleteOK. Smart deletion only applies to deleting a word at a time, and none of
1234 the callers of this function that delete a word at a time want smart deletion.
1235 (-[WebHTMLView deleteToEndOfLine:]): Fixed tiny formatting glitch.
1237 2006-03-31 Timothy Hatcher <timothy@apple.com>
1241 We need to set reachedTerminalState to YES before we release
1242 the resources to prevent a double dealloc of WebView
1244 Fixes <rdar://problem/4372628> crash deallocating a WebView in -[WebFrame stopLoading]
1246 * WebView/WebLoader.m:
1247 (-[NSURLProtocol releaseResources]): set reachedTerminalState earlier
1249 2006-03-31 John Sullivan <sullivan@apple.com>
1251 Reviewed by Tim Omernick.
1253 Some cleanup in the WebIconDatabase code in a fruitless search for the cause
1254 of the mysterious -[WebFileDatabase performSetObject:forKey] crash
1256 * Misc/WebIconDatabase.m:
1257 (-[WebIconDatabase _createFileDatabase]):
1258 removed obsolete comment
1259 (-[WebIconDatabase _loadIconDictionaries]):
1260 Added ERRORs for unexpected early returns. Made dictionaries be autoreleased until
1261 the end of the method where they are retained, so that the early returns don't leak;
1262 added ASSERTs that the _private->dictionary values aren't being leaked.
1263 (-[WebIconDatabase _updateFileDatabase]):
1264 Added an ERROR for an unexpected early return, and made a trivial style fix.
1266 2006-03-31 Trey Matteson <trey@usa.net>
1268 Reviewed by Maciej, landed by ap.
1270 http://bugzilla.opendarwin.org/show_bug.cgi?id=7739
1271 REGRESSION: Assertion failure loading acid2 test in -[WebCoreFrameBridge installInFrame:]
1273 Tests: http/tests/misc/acid2.html, http/tests/misc/acid2-pixel.html
1275 The gist of this change is that we must cancel the load from the Webkit side when we
1276 realize we're switching to the fallback content. This is somewhat a temp workaround
1277 since control of loading will be moving to WebCore.
1279 * WebView/WebMainResourceLoader.m:
1280 (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
1282 2006-03-30 Justin Garcia <justin.garcia@apple.com>
1286 http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
1287 REGRESSION: Plain-text mode needed for contenteditable area used in new text field
1289 * WebView/WebHTMLView.m:
1290 (-[WebHTMLView _canEditRichly]): Added.
1291 (-[WebHTMLView _canIncreaseSelectionListLevel]): Use _canEditRichly
1292 (-[WebHTMLView _canDecreaseSelectionListLevel]): Ditto.
1293 (-[WebHTMLView _increaseSelectionListLevel]):
1294 (-[WebHTMLView _decreaseSelectionListLevel]):
1295 (-[NSArray validateUserInterfaceItem:]):
1296 Split rich text editing actions off from ones that can be applied anywhere.
1297 (-[NSArray _applyStyleToSelection:withUndoAction:]):
1298 (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
1299 (-[NSArray _alignSelectionUsingCSSValue:withUndoAction:]):
1300 * WebView/WebHTMLViewPrivate.h:
1302 2006-03-29 Tim Omernick <timo@apple.com>
1304 Reviewed by John Sullivan.
1306 <rdar://problem/4495316> REGRESSION (420+): After page has loaded, spinning progress indicator is displayed on
1307 tab at versiontracker.com
1309 * WebView/WebFrame.m:
1310 (-[WebFrame _receivedMainResourceError:]):
1311 Call -_clientRedirectCancelledOrFinished: here so that the frame load delegate is notified that the redirect's
1312 status has changed, if there was a redirect. The frame load delegate may have saved some state about
1313 the redirect in its -webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:. Since we are definitely
1314 not going to use this provisional resource, as it was cancelled, notify the frame load delegate that the redirect
1316 The fix for 4432562 was similar to this, but only took care of the case where the redirect load was actually
1317 committed to the frame. The new call to -_clientRedirectCancelledOrFinished: handles the case where the redirect
1318 load was successful, but was not committed. This happens with downloads.
1320 2006-03-29 John Sullivan <sullivan@apple.com>
1322 Reviewed by Tim Omernick.
1325 <rdar://problem/4483806> REGRESSION (417.8-TOT): PDFs don't scale correctly with auto-size (5356)
1326 <rdar://problem/3874856> Safari PDF display should be full width by default rather than
1327 sized to show the entire page
1329 * WebView/WebPDFRepresentation.m:
1330 (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
1331 Let the WebPDFView handle setting the document, because that's the best time to apply
1332 the sizing-related preferences.
1334 * WebView/WebPDFView.h:
1335 eliminated firstLayoutDone ivar and -PDFSubview public method; added -setPDFDocument:
1337 * WebView/WebPDFView.m:
1338 (-[WebPDFView initWithFrame:]):
1339 eliminate use of obsolete firstLayoutDone ivar
1340 (-[WebPDFView _applyPDFDefaults]):
1341 renamed from _readPDFDefaults for clarity
1342 (-[WebPDFView layout]):
1343 removed code that applied the preferences here. This was too early to handle auto-sizing correctly,
1344 because -layout can be called before the document exists, and calling setAutoSize:YES at that
1345 point confuses PDFView into setting the scale factor to 20 (the maximum).
1346 (-[WebPDFView setPDFDocument:]):
1347 New method, does what WebPDFRepresentation used to do and also applies the preferences here.
1348 This is a good place to apply them because the document is guaranteed to now exist (of course).
1349 (-[WebPDFView PDFSubview]):
1350 Moved this into a new FileInternal category because it's still needed by another class in
1351 this file but no longer needs to be public.
1353 * WebView/WebPreferences.m:
1354 (+[WebPreferences initialize]):
1355 Change WebKitPDFScaleFactorPreferenceKey to 0, which represents auto-size. This fixes 3874856,
1356 but wasn't feasible until 4483806 was fixed.
1358 2006-03-28 Darin Adler <darin@apple.com>
1362 - added a build step that checks for init routines
1364 * WebKit.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
1365 check-for-global-initializers script.
1367 2006-03-28 Tim Omernick <timo@apple.com>
1371 <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
1373 * Plugins/WebBaseNetscapePluginView.m:
1374 (-[WebBaseNetscapePluginView initWithFrame:]):
1375 Don't observe preferences changes here -- we only want to observe preferences while the view is
1376 installed in the view hierarchy. Plugins will appropriately start and stop themselves when added to
1377 or removed from a window.
1378 (-[WebBaseNetscapePluginView dealloc]):
1379 Don't remove observers here -- they should have been removed when the view was removed from its
1381 (-[WebBaseNetscapePluginView finalize]):
1383 (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
1384 Stop observing preferences when the view is removed from its window.
1385 (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
1386 Start observing preferences when the view is added to a window.
1388 2006-03-27 Tim Omernick <timo@apple.com>
1392 <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
1395 * Plugins/WebBaseNetscapePluginView.m:
1396 (-[WebBaseNetscapePluginView dealloc]):
1397 Instead of calling -stop, assert that the plugin is not running. A plugin view cannot be deallocated
1398 until it is removed from its window. When a plugin view is removed from its window, it calls -stop
1399 on itself. Therefore I believe that this call to -stop is unnecessary; if I'm wrong, then the
1400 assertion will help catch any edge cases.
1401 (-[WebBaseNetscapePluginView finalize]):
1404 2006-03-27 Tim Omernick <timo@apple.com>
1408 <rdar://problem/3694086> -[WebBaseNetscapePluginStream finalize] is incorrect; design change needed
1410 * Plugins/WebBaseNetscapePluginStream.m:
1411 (-[WebBaseNetscapePluginStream dealloc]):
1412 Assert that the stream file path either never existed, or was deleted and NULL-ed out. The stream file
1413 is now deleted immediately after calling NPP_StreamAsFile().
1414 (-[WebBaseNetscapePluginStream finalize]):
1416 (-[WebBaseNetscapePluginStream _destroyStream]):
1417 Delete the file after calling NPP_StreamAsFile(), instead of in -dealloc/-finalize. It should be OK
1418 to delete the file here -- NPP_StreamAsFile() is always called immediately before NPP_DestroyStream()
1419 (the stream destruction function), so there can be no expectation that a plugin will read the stream file
1420 asynchronously after NPP_StreamAsFile() is called.
1422 2006-03-27 Tim Omernick <timo@apple.com>
1426 <rdar://problem/3694093> -[WebBasePluginPackage finalize] is incorrect; design change needed
1428 Call -unload on plug-in packages instead of relying on -dealloc/-finalize to do it. Currently
1429 the only place plug-in packages are deallocated is when refreshing the set of plugins, as when
1430 handling JavaScript's navigator.plugins.refresh().
1432 * Plugins/WebBasePluginPackage.m:
1433 (-[WebBasePluginPackage dealloc]):
1434 Assert that the plug-in has been unloaded by the time -dealloc is called.
1435 (-[WebBasePluginPackage finalize]):
1438 * Plugins/WebPluginDatabase.m:
1439 (-[WebPluginDatabase refresh]):
1440 Call -unload on the plug-in packages before releasing them.
1442 2006-03-27 Tim Omernick <timo@apple.com>
1444 Reviewed by Tim Hatcher.
1446 Part of <rdar://problem/4448350> Deprecated ObjC language API used in JavaScriptCore, WebCore,
1447 WebKit and WebBrowser
1449 * Carbon/HIViewAdapter.h:
1450 HIViewAdapter is no longer an NSView subclass, since we no longer pose it as NSView.
1451 * Carbon/HIViewAdapter.m:
1452 (+[NSView bindHIViewToNSView:nsView:]):
1453 Replace individual NSView methods instead of posing as NSView.
1454 (_webkit_NSView_setNeedsDisplay):
1455 Replacement implementation of -[NSView setNeedsDisplay:].
1456 (_webkit_NSView_setNeedsDisplayInRect):
1457 Replacement implementation of -[NSView setNeedsDisplayInRect:]
1458 (_webkit_NSView_nextValidKeyView):
1459 Replacement implementation of -[NSView nextValidKeyView]
1461 2006-03-27 John Sullivan <sullivan@apple.com>
1463 Reviewed by Darin Adler.
1465 Removed two overzealous assertions that the steps to reproduce 4451831 were running into.
1466 Improved comments to match.
1468 * WebCoreSupport/WebFrameBridge.m:
1469 (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
1470 Remove assertion that _inNextKeyViewOutsideWebFrameViews should always be false here.
1472 * WebView/WebHTMLView.m:
1473 (-[NSArray nextValidKeyView]):
1474 Removed assertion that the frame should never be the main frame here.
1476 2006-03-27 Tim Omernick <timo@apple.com>
1478 Reviewed by Tim Hatcher.
1480 Removed tabs & reformatted code.
1482 * Carbon/HIViewAdapter.m:
1483 (+[NSView bindHIViewToNSView:nsView:]):
1484 (+[NSView getHIViewForNSView:]):
1485 (+[NSView unbindNSView:]):
1486 (-[NSView setNeedsDisplay:]):
1487 (-[NSView setNeedsDisplayInRect:]):
1488 (-[NSView nextValidKeyView]):
1489 (SetViewNeedsDisplay):
1491 2006-03-26 Justin Garcia <justin.garcia@apple.com>
1495 <http://bugzilla.opendarwin.org/show_bug.cgi?id=7974>
1496 Add EditActions and WebUndoActions for CreateLink and Unlink
1498 * English.lproj/Localizable.strings:
1499 * WebCoreSupport/WebFrameBridge.m:
1500 (-[WebFrameBridge nameForUndoAction:]):
1502 2006-03-23 Tim Omernick <timo@apple.com>
1504 Reviewed by John Sullivan.
1506 At John's suggestion, renamed a private WebFrame method and tightened up some of the redirect logic I recently touched.
1508 * WebView/WebFramePrivate.h:
1509 Renamed -_clientRedirectCancelled: to -_clientRedirectCancelledOrFinished:, since we call this both when a redirect is
1510 cancelled and when a redirect is successfully committed.
1511 * WebCoreSupport/WebFrameBridge.m:
1512 (-[WebFrameBridge reportClientRedirectCancelled:]):
1513 Call renamed WebFrame method.
1514 * WebView/WebFrame.m:
1515 Added sentRedirectNotification flag to WebFramePrivate. This flag is set when we notify the frame load delegate that a
1516 redirect will occur. We check this flag when committing a provisional load to ensure that the frame load delegate is
1517 notified that the redirect finished.
1518 (-[WebFrame _commitProvisionalLoad:]):
1519 After committing a provisional load, make sure that the frame load delegate is notified that there is no longer a pending
1521 (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
1522 Set the new sentRedirectNotification flag.
1523 (-[WebFrame _clientRedirectCancelledOrFinished:]):
1525 Clear the sentRedirectNotification flag.
1526 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
1527 Call renamed method.
1529 2006-03-23 Tim Omernick <timo@apple.com>
1531 Reviewed by John Sullivan.
1533 <rdar://problem/4439752> TinyMCE: "Search in Google" context menu is active but fails to work when selection is active
1536 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1537 (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
1538 Added a representedObject parameter, which is set on the newly created menu item.
1539 (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
1540 Instead of setting the representedObject on each menu item after creating them all, pass the element to
1541 -menuItemWithTag:target:representedObject:.
1542 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
1543 ditto. This fixes 4439752 because this method failed to set the representedObject on the menu items as
1544 -contextMenuItemsForElement:defaultMenuItems: did.
1546 2006-03-23 Darin Adler <darin@apple.com>
1550 - fix <rdar://problem/4380465> repro crash when unsuccessfully attempting to import image from Services menu
1552 * WebView/WebDataSource.m:
1553 (-[WebDataSource _imageElementWithImageResource:]): Quietly do nothing if passed nil.
1554 (-[WebDataSource _documentFragmentWithImageResource:]): Ditto.
1556 2006-03-22 Tim Omernick <timo@apple.com>
1558 Reviewed by Kevin Decker.
1560 Even better fix for <rdar://problem/4432562>. We need to notify the frame delegate of a finished redirect for both
1561 "fast" and "slow" redirects, after committing the load. My previous change only notified for "fast", history-locking
1562 redirects. Now we notify the frame delegate after committing any kind of provisional load, not just in the case of
1565 * WebView/WebFrame.m:
1566 (-[WebFrame _transitionToCommitted:]):
1567 (-[WebFrame _commitProvisionalLoad:]):
1569 2006-03-22 Tim Omernick <timo@apple.com>
1571 Reviewed by Kevin Decker.
1573 Better fix for <rdar://problem/4432562> REGRESSION (TOT): Safari's "stop loading" active, "view source" inactive after page load [7058]
1575 * WebView/WebFrame.m:
1576 (-[WebFrame _transitionToCommitted:]):
1577 Cancel the client redirect when we commit the provisional load, if we were waiting for a redirect.
1578 This is a better fix for 7058 (<rdar://problem/4432562>). The original fix for 7058 changed the timing of the redirect cancel
1579 in such a way that WebKit was precluded from ever reusing back/forward list entries for redirects. Clearing the redirect state
1580 here actually makes logical sense, as the redirect's target page is being committed at this point.
1582 2006-03-21 Darin Adler <darin@apple.com>
1584 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3784
1585 <rdar://problem/4483827> JavaScript save dialog disappears right away (sheet triggers blur event) (3784)
1587 * WebView/WebHTMLView.m:
1588 (-[WebHTMLView _updateFocusState]): Treat window as having focus if its sheet is key.
1589 (-[WebHTMLView addWindowObservers]): Observe all focus notifications, not just the ones involving this window.
1590 (-[WebHTMLView removeWindowObservers]): Ditto.
1591 (-[WebHTMLView windowDidBecomeKey:]): Add checks so that we call the methods only when appropriate,
1592 since this will now be called for all windows.
1593 (-[WebHTMLView windowDidResignKey:]): Ditto.
1595 2006-03-21 Adele Peterson <adele@apple.com>
1599 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6813
1600 elementAtPoint needs to return input element when clicking on new text field
1602 * WebView/WebDocumentInternal.h: Added elementAtPoint:allowShadowContent:
1603 * WebView/WebHTMLView.m:
1604 (-[NSArray elementAtPoint:]): Does not allow shadow content. This way, by default, callers would get the input element instead of the inner div.
1605 (-[NSArray elementAtPoint:allowShadowContent:]): Allows callers to specify whether or not the element can be a shadow node.
1606 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Allows shadow content when getting element.
1607 (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto.
1608 (-[NSArray _isSelectionEvent:]): ditto.
1609 (-[NSArray _canProcessDragWithDraggingInfo:]): ditto.
1610 * WebView/WebFrame.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Does not allow shadow content when getting element.
1611 * WebView/WebImageView.m: (-[WebImageView elementAtPoint:allowShadowContent:]): Added to conform to the WebDocumentElement protocol.
1612 * WebView/WebPDFView.m: (-[WebPDFView elementAtPoint:allowShadowContent:]): ditto.
1613 * WebView/WebTextView.m: (-[WebTextView elementAtPoint:allowShadowContent:]): ditto.
1615 2006-03-21 Tim Omernick <timo@apple.com>
1617 Reviewed by Tim Hatcher and Darin.
1619 <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment deprecated, used in Netscape
1622 * Plugins/WebNetscapeDeprecatedFunctions.h: Added.
1623 * Plugins/WebNetscapeDeprecatedFunctions.c: Added.
1624 Added wrappers for deprecated CFM and LowMem functions. These exist in a separate file so that we can set
1625 -Wno-deprecated-declarations on this one file without ignoring other deprecated function usage elsewhere.
1626 (WebGetDiskFragment):
1627 (WebCloseConnection):
1628 (WebLMGetCurApRefNum):
1629 (WebLMSetCurApRefNum):
1631 * Plugins/WebNetscapePluginPackage.h:
1632 Don't include connID ivar in 64-bit, since CFM is not supported in 64-bit.
1633 * Plugins/WebNetscapePluginPackage.m:
1634 (+[WebNetscapePluginPackage initialize]):
1635 Don't bother setting the resource refNum in 64-bit, because the API to get and set it does not exist.
1636 A theoretical 64-bit plugin couldn't possibly rely this, since there is no API.
1637 (-[WebNetscapePluginPackage unloadWithoutShutdown]):
1638 No need to close the connID in 64-bit.
1639 (-[WebNetscapePluginPackage load]):
1640 Don't load CFM bundles in 64-bit, because CFM is not supported.
1642 * WebKit.xcodeproj/project.pbxproj:
1643 Added WebNetscapeDeprecatedFunctions.[hm].
1645 2006-03-21 John Sullivan <sullivan@apple.com>
1647 Reviewed by Kevin Decker.
1649 - fixed <rdar://problem/4485637> Implementors of searchFor:direction:caseSensitive:wrap: should bail
1650 out early if search string is empty
1652 This doesn't change any existing behavior, but avoids unnecessary work.
1654 * Misc/WebSearchableTextView.m:
1655 (-[WebSearchableTextView searchFor:direction:caseSensitive:wrap:]):
1656 bail out immediately (returning NO) if search string is empty
1658 * WebView/WebHTMLView.m:
1659 (-[WebView searchFor:direction:caseSensitive:wrap:]):
1662 * WebView/WebPDFView.m:
1663 (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
1666 * WebView/WebView.m:
1667 (-[WebView searchFor:direction:caseSensitive:wrap:]):
1670 2006-03-20 Tim Omernick <timo@apple.com>
1672 Reviewed by John Sullivan.
1674 Moved -_contentView from WebFrameViewInternal to WebFrameViewPrivate. Safari
1677 * WebView/WebFrameView.m:
1678 (-[WebFrameView _contentView]):
1679 * WebView/WebFrameViewInternal.h:
1680 * WebView/WebFrameViewPrivate.h:
1682 2006-03-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
1684 Reviewed by Darin, landed by Beth.
1686 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7693
1687 WebKit relies on unpredictable timing for onload events
1689 * WebView/WebDataSource.m:
1690 (-[WebDataSource _receivedMainResourceError:complete:]): Check for
1691 completion on the WebCore side before checking on the WebKit side,
1692 to ensure that the onload event is emitted before the WebFrame load
1693 delegate is sent the webView:didFinishLoadForFrame: message. For
1694 DumpRenderTree, this ensures that the render tree is dumped after
1695 the onload handler is run.
1696 * WebView/WebLoader.m:
1697 (-[NSURLProtocol didFailWithError:]): If load has already been
1698 cancelled (which could happen if the parent's onload handler caused
1699 the frame to detach), do nothing.
1701 2006-03-17 John Sullivan <sullivan@apple.com>
1703 Reviewed by Beth Dakin
1705 - fixed <rdar://problem/4239051> Sometimes "Copy Link" in Safari results in a
1706 URL on the pasteboard with no usable "title"
1708 * History/WebURLsWithTitles.m:
1709 (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
1710 trim whitespace from titles that are put on pasteboard. This leaves an empty string
1711 for the title in cases where there's no displayed text, like an image in an <a> element
1712 that happens to have whitespace in the source, e.g. <a href="foo"> <img whatever></a>
1714 2006-03-17 Darin Adler <darin@apple.com>
1716 - missing bit of my check-in yesterday
1718 Maciej moved setWindowFrame for me, but I also had removed
1719 setWindowContentRect.
1721 * WebCoreSupport/WebFrameBridge.m: Removed unused setWindowContextRect and
1722 windowContentRect methods.
1724 2006-03-17 Adele Peterson <adele@apple.com>
1728 WebKit part of fix for:
1729 http://bugzilla.opendarwin.org/show_bug.cgi?id=7797
1730 Can't set background color on new text fields
1732 Added function to draw bezeled text field without drawing background.
1734 * WebCoreSupport/WebGraphicsBridge.m:
1735 (-[WebGraphicsBridge drawBezeledTextFieldCell:enabled:]): Added.
1737 2006-03-16 Maciej Stachowiak <mjs@apple.com>
1741 - move setWindowFrame / windowFrame to WebPageBridge to fix build
1743 * WebCoreSupport/WebFrameBridge.m:
1744 * WebCoreSupport/WebPageBridge.m:
1745 (-[WebPageBridge setWindowFrame:]):
1746 (-[WebPageBridge windowFrame]):
1748 2006-03-15 Darin Adler <darin@apple.com>
1750 Fix by Patrick Beard, reviewed by me.
1752 - fix <rdar://problem/4478181> WebPluginController leaks NSArray and NSMutableSet objects
1754 * Plugins/WebPluginController.m:
1755 (-[WebPluginController initWithDocumentView:]): Call CFMakeCollectable on the CFSet
1756 so we can act like it's an NSSet.
1757 (-[WebPluginController dealloc]): Release _views and _checksInProgress.
1759 2006-03-13 Tim Omernick <timo@apple.com>
1763 <rdar://problem/4476873> Support printing for plugin documents (not embedded plugins)
1765 * WebView/WebFrameViewPrivate.h:
1766 * WebView/WebFrameView.m:
1767 (-[WebFrameView documentViewShouldHandlePrint]):
1768 Called by the host application before it initializes and runs a print operation. If NO
1769 is returned, the host application will abort its print operation and call
1770 -printDocumentView on the WebFrameView. The document view is then expected to run its
1771 own print operation. If YES is returned, the host application's print operation will
1773 (-[WebFrameView printDocumentView]):
1774 Called by the host application when the WebFrameView returns YES from -documentViewShouldHandlePrint.
1776 * Plugins/WebNetscapePluginDocumentView.m:
1777 (-[WebNetscapePluginDocumentView documentViewShouldHandlePrint]):
1778 Allow the plugin to take over printing if it defines an NPP_Print function
1779 (-[WebNetscapePluginDocumentView printDocumentView]):
1780 Print the plugin document.
1782 2006-03-13 Geoffrey Garen <ggaren@apple.com>
1786 - Fixed the load progress indicator to give more incremental feedback,
1787 and to stop spending so much time near 100%.
1790 (1) Fixed some bugs and a misspelling in the previous heuristic's
1792 (2) Added two new rules to the heuristic:
1793 (a) Treat the first layout as the half-way point.
1794 (b) Just like we jump the first 10% to indicate that a load has
1795 started, jump the last 10% to indicate that a load has finished.
1797 Rule 2a is good for two reasons. First, it seems unnatural for loading
1798 to be "more than half done" when you can't even see anything. Second,
1799 in the early stages of laading our estimate of how much we'll need to
1800 load is often off by as much as 6000% (e.g., cnn.com). So anything that
1801 makes the progress indicator more conservative in the early stages of
1804 Rule 2b is good because it's confusing for loading to be "100% done"
1807 FIXME: The indicator still isn't perfect. For example, the old behavior
1808 shows up @ moviefone.com. Two areas for future work:
1809 (1) Estimate number of linked resources. Our code estimates the size
1810 of a single resource, but does nothing to estimate the number of
1811 resources that resource might link to. This is the key to why we're
1812 so wrong at the beginning.
1813 (2) Improve "when to do first layout" heuristic. A JavaScript query
1814 for a style property forces layout, creating a phantom first layout
1815 with no content, essentially nullifying 2a for certain pages.
1817 Filed <rdar://problem/4475834> to track estimating the number of
1818 linked resources. Phantom layouts are already on Hyatt's radar.
1820 * WebView/WebFrame.m:
1821 (-[WebFrame _setState:]): Update firstLayoutDone
1822 (-[WebFrame _numPendingOrLoadingRequests:]): Bug fix: In the recurisve
1823 case, query 'frame' instead of 'self', so that we actually recurse.
1824 (-[WebFrame _firstLayoutDone]): New method
1825 (-[WebFrame _didFirstLayout]): Update firstLayoutDone
1826 * WebView/WebFramePrivate.h: Added firstLayoutDone ivar
1827 * WebView/WebView.m:
1828 (-[WebView _incrementProgressForConnectionDelegate:data:]):
1829 (1) Implemented 2a and 2b
1830 (2) Bug fix: only update the 'last time I sent a notification' time if
1831 we actually send a notification.
1832 (3) Don't test for progress < 0 because ensuring progress < max
1833 also ensures max - progress > 0. (Do still test for progress > max
1834 because rounding errors make that a possibility -- although a very
1836 (4) Query only the loading frame and its subframes for pending
1837 requests instead of defaulting to the main frame. This is a slight
1838 optimization in cases where the main frame did not begin the load,
1839 and it makes the code more consistent.
1841 2006-03-13 John Sullivan <sullivan@apple.com>
1843 Reviewed by Tim Omernick.
1845 - fixed <rdar://problem/4475857> API: Setting a history item limit programmatically doesn't work
1847 * History/WebHistory.m:
1848 (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
1849 use [self historyItemLimit], which prefers the explicitly-set value and falls back to the
1850 NSUserDefaults value, instead of using the NSUserDefaults value explicitly.
1852 2006-03-10 Darin Adler <darin@apple.com>
1856 * WebCoreSupport/WebFrameBridge.m: Remove unused requestedURLString method.
1858 2006-03-10 Darin Adler <darin@apple.com>
1862 - change how frame namespacing works to be more completely on the WebCore side
1864 * WebView/WebFrameInternal.h: Remove _setFrameNamespace: and _frameNamespace.
1865 * WebView/WebFrame.m: Ditto.
1867 * WebView/WebView.m:
1868 (-[WebView setGroupName:]): Call -[WebCorePageBridge setGroupName:].
1869 (-[WebView groupName]): Call -[WebCorePageBridge groupName].
1871 2006-03-09 Alexey Proskuryakov <ap@nypop.com>
1875 - http://bugzilla.opendarwin.org/show_bug.cgi?id=7656
1876 Query string always appended to Flash URLs, instead of being replaced.
1878 * Misc/WebNSURLExtras.h: Added _webkit_URLByRemovingResourceSpecifier.
1879 * Misc/WebNSURLExtras.m:
1880 (+[NSURL _web_URLWithData:relativeToURL:]): Call _webkit_URLByRemovingResourceSpecifier to
1881 work around CFURL not removing non-path components from base URLs in some cases.
1882 (-[NSURL _webkit_URLByRemovingComponent:]): New generic function for removing URL components.
1883 (-[NSURL _webkit_URLByRemovingFragment]): Moved implementation to the above method.
1884 (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Added.
1886 2006-03-07 Darin Adler <darin@apple.com>
1890 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7655
1891 unwanted output while running layout tests
1893 * WebView/WebDataSourcePrivate.h:
1894 * WebView/WebDataSource.m:
1895 (-[WebDataSource _setRepresentation:]): Clear the flag that records whether we've sent
1896 all the data to the representation or not; need this to prevent telling the same representation
1897 both that we've succeeded and then later that we've failed.
1898 (-[WebDataSource _setMainDocumentError:]): Don't send an error if representationFinishedLoading
1899 is already YES. Set representationFinishedLoading.
1900 (-[WebDataSource _finishedLoading]): Set representationFinishedLoading.
1901 (-[WebDataSource _setupForReplaceByMIMEType:]): Ditto.
1903 2006-03-06 Tim Omernick <timo@apple.com>
1905 Reviewed by Kevin Decker.
1907 <rdar://problem/4457574> assertion failure watching trailers at netflix.com -[WebNetscapePluginRepresentation
1908 receivedData:withDataSource:] + 684
1910 * Plugins/WebNetscapePluginRepresentation.m:
1911 (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
1912 Moved the ASSERT(instance) to the block that actually requires an assertion -- the plugin view should never
1913 have a NULL instance by the time we start the NPStream (by calling -startStreamWithResponse:).
1914 Some stream teardown logic changed with my fix to 4153419: when a WebBaseNetscapePluginStream is destroyed,
1915 it now clears its NPP instance backpointer. The WebBaseNetscapePluginStream may be destroyed from within
1916 -startStreamWithResponse: if NPP_NewStream() returns an error. We can handle this gracefully by changing
1917 the assertion before -receivedData: to a simple NULL check.
1918 This is unrelated to the Radar, but prior to this fix, we would attempt an NPP_Write() with the initial
1919 stream data even if NPP_NewStream() returned an error. Seems like that alone could cause issues, though
1920 I'm guessing that plugins handle this in practice.
1922 2006-03-03 Timothy Hatcher <timothy@apple.com>
1926 <rdar://problem/4411822> wrong element shown in Inspector inspecting main image at apple.com
1927 <rdar://problem/4411908> in the Web Inspector, state of disclosure triangles should be preserved after search
1928 http://bugzilla.opendarwin.org/show_bug.cgi?id=6616
1929 Bug 6616: Double-clicking on a search result seems broken
1930 http://bugzilla.opendarwin.org/show_bug.cgi?id=6709
1931 Bug 6709: TypeError: Value undefined (result of expression treeScrollbar.refresh) is not object.
1933 Code clean up and move more code into JavaScript.
1934 Removes a few unused ObjC methods.
1935 Many search fixes. Reveals the focused node when exiting the search.
1936 Shows a "No Selection" screen when there are no search results.
1937 Shows a node count for the number of results.
1938 Fixes a couple of TypeErrors that show on the console.
1939 Uses the system selection color in the Style pane tables.
1941 * English.lproj/Localizable.strings: removed localized strings
1942 * WebInspector.subproj/WebInspector.m:
1943 (-[WebInspector init]):
1944 (-[WebInspector dealloc]):
1945 (-[WebInspector window]):
1946 (-[WebInspector setSearchQuery:]):
1947 (-[WebInspector resizeTopArea]):
1948 (-[WebInspector searchPerformed:]): called from JavaScript when a search happens
1949 (-[WebInspector _toggleIgnoreWhitespace:]):
1950 (-[WebInspector _exitSearch:]): exit search results on double click
1951 (-[WebInspector _focusRootNode:]):
1952 (-[WebInspector _revealAndSelectNodeInTree:]):
1953 (-[WebInspector _refreshSearch]):
1954 (-[WebInspector _update]):
1955 (-[WebInspector _updateTraversalButtons]):
1956 (-[WebInspector _updateRoot]):
1957 (-[WebInspector _updateTreeScrollbar]):
1958 (-[WebInspector _updateSystemColors]): update CSS with system colors
1959 (-[WebInspector webView:didFinishLoadForFrame:]):
1960 (-[WebInspector webView:plugInViewWithArguments:]):
1961 (-[WebInspector outlineViewSelectionDidChange:]): test for webViewLoaded
1962 (-[WebInspectorPrivate init]): alloc rightArrowImage and downArrowImage
1963 (-[WebInspectorPrivate dealloc]): no more matchedRules
1964 (-[DOMNode _displayName]): removed localization UI_STRING calls.
1965 * WebInspector.subproj/WebInspectorInternal.h:
1966 * WebInspector.subproj/webInspector/inspector.css:
1967 * WebInspector.subproj/webInspector/inspector.html:
1968 * WebInspector.subproj/webInspector/inspector.js:
1970 2006-03-02 Alexey Proskuryakov <ap@nypop.com>
1972 Fixed a typo in the comments added in the previous checkin.
1974 * WebCoreSupport/WebFrameBridge.m:
1975 (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1976 * WebCoreSupport/WebSubresourceLoader.m:
1977 (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
1978 (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
1980 2006-03-02 Alexey Proskuryakov <ap@nypop.com>
1984 - http://bugzilla.opendarwin.org/show_bug.cgi?id=7540
1985 REGRESSION: frequent cache-related crashes
1987 - http://bugzilla.opendarwin.org/show_bug.cgi?id=7393
1988 A stale comment about XMLHttpRequest responses being never cached
1990 * WebCoreSupport/WebFrameBridge.m: Don't call setHTTPHeader if the method is GET.
1991 (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1992 * WebCoreSupport/WebSubresourceLoader.m: Ditto. Also removed a stale comment about
1994 (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
1995 (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
1997 2006-02-23 David Harrison <harrison@apple.com>
2001 <rdar://problem/4359736> Support outlining ability with lists
2003 Added Mail SPI for list level changes. It is SPI because it is not complete support
2004 for outlining. See <rdar://problem/4457070> "API for html lists as note outlines".
2006 * WebView/WebHTMLView.m:
2007 (-[WebHTMLView _canIncreaseSelectionListLevel]):
2008 (-[WebHTMLView _canDecreaseSelectionListLevel]):
2009 (-[WebHTMLView _increaseSelectionListLevel]):
2010 (-[WebHTMLView _decreaseSelectionListLevel]):
2011 * WebView/WebHTMLViewPrivate.h:
2013 2006-03-01 Alexey Proskuryakov <ap@nypop.com>
2017 - http://bugzilla.opendarwin.org/show_bug.cgi?id=3812
2018 XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET.
2020 All WebKit changes are to use the method parameter passed from WebCore.
2022 * WebCoreSupport/WebFrameBridge.m:
2023 (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
2024 (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
2025 (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2026 * WebCoreSupport/WebSubresourceLoader.h:
2027 * WebCoreSupport/WebSubresourceLoader.m:
2028 (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
2029 (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
2031 2006-03-01 Timothy Hatcher <timothy@apple.com>
2035 http://bugzilla.opendarwin.org/show_bug.cgi?id=7450
2036 elementAtPoint is expensive and should return a smart dictionary
2038 <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)
2040 elementAtPoint for WebHTMLView now returns a WebElementDictionary,
2041 when objectForKey is called it will lookup in the DOM, cache and return the value
2043 * Misc/WebElementDictionary.h: Added.
2044 * Misc/WebElementDictionary.m: Added.
2047 (+[WebElementDictionary initializeLookupTable]):
2048 (-[WebElementDictionary initWithInnerNonSharedNode:innerNode:URLElement:andPoint:]):
2049 (-[WebElementDictionary dealloc]):
2050 (-[WebElementDictionary _fillCache]):
2051 (-[WebElementDictionary count]):
2052 (-[WebElementDictionary keyEnumerator]):
2053 (-[WebElementDictionary objectForKey:]):
2054 (-[WebElementDictionary _domNode]):
2055 (-[WebElementDictionary _webFrame]):
2056 (-[WebElementDictionary _targetWebFrame]):
2057 (-[WebElementDictionary _title]):
2058 (-[WebElementDictionary _imageRect]):
2059 (-[WebElementDictionary _isSelected]):
2060 * Misc/WebNSViewExtras.m:
2061 (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
2062 * WebKit.xcodeproj/project.pbxproj:
2063 * WebView/WebHTMLView.m:
2064 (-[WebHTMLView _updateMouseoverWithEvent:]):
2065 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2066 (-[NSArray elementAtPoint:]):
2067 * WebView/WebView.m:
2068 * WebView/WebViewPrivate.h:
2070 2006-02-28 Darin Adler <darin@apple.com>
2074 - remove obsolete WebCoreScrollView class
2076 * WebView/WebDynamicScrollBarsView.h: Change base class to NSScrollView instead of WebCoreScrollView.
2077 * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView autoforwardsScrollWheelEvents]): Added.
2079 2006-02-28 John Sullivan <sullivan@apple.com>
2081 Reviewed by Eric Seidel
2083 Wean WebKit from one more SPI call. We learned about this new-to-Tiger
2084 API from filing Radar 4433222.
2086 * WebView/WebHTMLView.m:
2087 (-[WebHTMLView _autoscroll]):
2088 use public CGEventSourceButtonState() instead of WKMouseIsDown() (which was using SPI internally)
2090 2006-02-27 Tim Omernick <timo@apple.com>
2094 <rdar://problem/4222043> Safari should reduce null events sent to invisible plugins
2096 * Plugins/WebBaseNetscapePluginView.h:
2097 * Plugins/WebBaseNetscapePluginView.m:
2098 (-[WebBaseNetscapePluginView restartNullEvents]):
2099 Check to see if the plugin view is completely obscured (scrolled out of view, for example). If it is
2100 obscured and it wasn't before, or the other way around, then restart the null event timer so it can
2101 fire at the appropriate rate.
2102 (-[WebBaseNetscapePluginView viewHasMoved:]):
2103 If a plugin is obscured, send it null events as if it were in an inactive window.
2105 2006-02-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
2107 Test: fast/frames/empty-frame-document.html
2111 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7293
2112 REGRESSION: Using Javascript Bookmarklets that reference location.href on a blank tab crashes WebKit
2114 The crash happened because an empty frame did not have a document.
2116 * WebView/WebFrame.m:
2117 (-[WebFrame _commitProvisionalLoad:]): Use "about:blank" instead of an empty URL for empty
2118 frames. This causes a document to be created for the frame.
2120 2006-02-21 Kevin Decker <kdecker@apple.com>
2124 Backed out my previous check in. Since these methods are internal to WebKit (and not private)
2125 it's perfectly OK for them to remain as categories.
2127 * WebView/WebPreferences.m:
2128 (-[WebPreferences _integerValueForKey:]):
2129 (-[WebPreferences _setIntegerValue:forKey:]):
2130 (-[WebPreferences _floatValueForKey:]):
2131 (-[WebPreferences _setFloatValue:forKey:]):
2132 (-[WebPreferences _boolValueForKey:]):
2133 (-[WebPreferences _setBoolValue:forKey:]):
2134 * WebView/WebPreferencesPrivate.h:
2136 2006-02-20 Darin Adler <darin@apple.com>
2138 Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.
2140 - WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6831
2141 contentEditable outline darkens as caret moves
2143 * WebCoreSupport/WebGraphicsBridge.m:
2144 (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:]):
2145 Replaced the old bridge function that set up style with this one that renders a path.
2147 2006-02-19 Darin Adler <darin@apple.com>
2151 - cut out a little unneeded bridge code
2153 * WebCoreSupport/WebFrameBridge.m:
2154 (-[WebFrameBridge webView]): Added. Helper, since the WebCore side of the bridge no longer
2156 (-[WebFrameBridge createWindowWithURL:]): Removed the frameName parameter -- this is now
2157 handled on the WebCore side. Also return a page bridge instead of a frame bridge.
2158 (-[WebFrameBridge createModalDialogWithURL:]): Changed to return a page bridge instead of
2161 * WebView/WebFrame.m: (-[WebFrame webView]): Change to get the webView from the page bridge
2162 instead of the frame bridge, since it's a per-page thing.
2164 * WebView/WebView.m: Removed init method since it just does what the default does (calls
2165 initWithFrame: with a zero rect).
2166 (-[WebView initWithCoder:]): Added checking so that if the obejcts have the wrong type
2167 we will fail gracefully instead of hitting "method not found" and the like.
2168 (-[WebView setPreferencesIdentifier:]): Fix storage leak. The WebPreferences object was
2170 (-[WebView mainFrame]): Removed excess "return nil".
2171 (-[WebView _pageBridge]): Added. Helper to let you go from the WebView to the bridge
2172 from outside the WebView class.
2173 * WebView/WebViewInternal.h: Put _pageBridge into an internal header.
2175 * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge outerView]): Added. Replaces "webView"
2176 as public method to tell the WebCore side about the view everything's embedded in.
2180 * WebCoreSupport/WebPageBridge.h: Removed some unneeded declarations.
2182 * Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
2183 Rearrange code so it doesn't have to get the main frame twice.
2185 2006-02-18 Maciej Stachowiak <mjs@apple.com>
2189 - fix build broken by my last checkin, the remaining code was not doing anything.
2191 * WebView/WebDataSource.m:
2192 * WebView/WebDataSourcePrivate.h:
2193 * WebView/WebFrame.m:
2194 (-[WebFrame _createPageCacheForItem:]):
2196 2006-02-16 Maciej Stachowiak <mjs@apple.com>
2200 - removed a few unused fields and methods of WebDataSource
2202 * WebView/WebDataSource.m:
2203 * WebView/WebDataSourcePrivate.h:
2204 * WebView/WebView.m:
2205 (+[WebView _MIMETypeForFile:]):
2206 (-[WebView _updateWebCoreSettingsFromPreferences:]):
2208 2006-02-15 Justin Garcia <justin.garcia@apple.com>
2212 <http://bugzilla.opendarwin.org/show_bug.cgi?id=7148>
2213 Add drag and drop support to DumpRenderTree
2215 Added a UI delegate method so that DumpRenderTree can perform dragging on its own.
2216 Made _updateFocusState SPI, to allow us to test the behavior and appearance of
2217 windows that have or don't have focus.
2219 * WebView/WebHTMLView.m:
2220 (-[WebHTMLView _updateFocusState]):
2221 (-[NSArray viewDidMoveToWindow]):
2222 (-[NSArray windowDidBecomeKey:]):
2223 (-[NSArray windowDidResignKey:]):
2224 (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]):
2225 (-[NSArray becomeFirstResponder]):
2226 (-[NSArray resignFirstResponder]):
2227 (-[WebHTMLView _formControlIsResigningFirstResponder:]):
2228 * WebView/WebHTMLViewInternal.h:
2229 * WebView/WebHTMLViewPrivate.h:
2230 * WebView/WebUIDelegatePrivate.h:
2231 * WebView/WebView.m:
2233 2006-02-15 Darin Adler <darin@apple.com>
2235 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2237 2006-02-15 Maciej Stachowiak <mjs@apple.com>
2239 Rubber stamped by Anders.
2241 * WebView/WebControllerPolicyHandlerDelegate.h: Removed.
2243 2006-02-15 Maciej Stachowiak <mjs@apple.com>
2247 - remove some voodoo code
2249 * WebView/WebDataSource.m:
2250 (-[WebDataSource _setLoading:]): Removed useless ref/deref of self and WebView.
2251 A WebDataSource cannot be loading unless it is still connected to the WebView that
2252 owns it and retained by it, because getting disconnected stops loading.
2254 2006-02-13 Maciej Stachowiak <mjs@apple.com>
2258 Improvements to frame loading:
2260 - remove LayoutAcceptable state entirely
2261 - fix WebImageView to work right without LayoutAcceptable state
2262 - move guts of commitIfReady: to WebFrame
2263 - try to separate page cache loading from normal loading a bit more
2265 * English.lproj/StringsNotToBeLocalized.txt:
2266 * WebView/WebDataSource.m:
2267 (-[WebDataSource _prepareForLoadStart]):
2268 (-[WebDataSource _loadFromPageCache:]):
2269 (-[WebDataSource _startLoading]):
2270 (-[WebDataSource _commitIfReady]):
2271 (-[WebDataSource _setupForReplaceByMIMEType:]):
2272 * WebView/WebDataSourcePrivate.h:
2273 * WebView/WebFrame.m:
2274 (-[WebFrame _transitionToCommitted:]):
2275 (-[WebFrame _commitProvisionalLoad:]):
2276 (-[WebFrame _checkLoadCompleteForThisFrame]):
2277 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
2278 * WebView/WebFramePrivate.h:
2279 * WebView/WebImageRepresentation.h:
2280 * WebView/WebImageRepresentation.m:
2281 * WebView/WebImageView.m:
2282 (-[WebImageView dataSourceUpdated:]):
2283 (-[WebImageView setNeedsLayout:]):
2284 (-[WebImageView writeImageToPasteboard:types:]):
2285 (-[WebImageView copy:]):
2286 (-[WebImageView mouseDragged:]):
2287 * WebView/WebView.m:
2288 (-[WebView _finishedLoadingResourceFromDataSource:]):
2289 (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
2291 2006-02-13 John Sullivan <sullivan@apple.com>
2293 Reviewed by Tim Omernick.
2295 Support for highlighting multiple text matches.
2297 * WebView/WebHTMLViewPrivate.h:
2298 * WebView/WebHTMLView.m:
2299 (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
2300 new method, calls through to bridge
2301 (-[WebHTMLView clearHighlightedMatches]):
2304 * WebView/WebViewPrivate.h:
2305 * WebView/WebView.m:
2306 (-[WebView highlightAllMatchesForString:caseSensitive:]):
2307 new method, calls through to documentView. For now this is hardwired to only work
2309 (-[WebView clearHighlightedMatches]):
2312 2006-02-13 Darin Adler <darin@apple.com>
2316 - move pointer from frame to page over to WebCore
2318 * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
2319 Call super init to create the page before creating the main frame and calling setMainFrame: with it.
2321 * WebCoreSupport/WebFrameBridge.h: Remove page pointer, and change init function parameters.
2322 * WebCoreSupport/WebFrameBridge.m:
2323 (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): New function that is used only for
2324 the main frame. Passes the page over to the other side of the bridge.
2325 (-[WebFrameBridge initSubframeWithRenderer:frameName:view:]): New function that is used only for
2326 subframes. Passes the renderer over to the other side of the bridge.
2327 (-[WebFrameBridge mainFrame]):
2328 (-[WebFrameBridge webView]):
2329 (-[WebFrameBridge createWindowWithURL:frameName:]):
2330 (-[WebFrameBridge showWindow]):
2331 (-[WebFrameBridge areToolbarsVisible]):
2332 (-[WebFrameBridge setToolbarsVisible:]):
2333 (-[WebFrameBridge isStatusbarVisible]):
2334 (-[WebFrameBridge setStatusbarVisible:]):
2335 (-[WebFrameBridge setWindowFrame:]):
2336 (-[WebFrameBridge windowFrame]):
2337 (-[WebFrameBridge setWindowContentRect:]):
2338 (-[WebFrameBridge windowContentRect]):
2339 (-[WebFrameBridge setWindowIsResizable:]):
2340 (-[WebFrameBridge windowIsResizable]):
2341 (-[WebFrameBridge firstResponder]):
2342 (-[WebFrameBridge makeFirstResponder:]):
2343 (-[WebFrameBridge closeWindowSoon]):
2344 (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
2345 (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
2346 (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
2347 (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
2348 (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
2349 (-[WebFrameBridge addMessageToConsole:]):
2350 (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
2351 (-[WebFrameBridge setStatusText:]):
2352 (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2353 (-[WebFrameBridge focusWindow]):
2354 (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
2355 (-[WebFrameBridge userAgentForURL:]):
2356 (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
2357 (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
2358 (-[WebFrameBridge defersLoading]):
2359 (-[WebFrameBridge setDefersLoading:]):
2360 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
2361 (-[WebFrameBridge _preferences]):
2362 (-[WebFrameBridge selectWordBeforeMenuEvent]):
2363 (-[WebFrameBridge historyLength]):
2364 (-[WebFrameBridge canGoBackOrForward:]):
2365 (-[WebFrameBridge goBackOrForward:]):
2366 (-[WebFrameBridge print]):
2367 (-[WebFrameBridge pollForAppletInView:]):
2368 (-[WebFrameBridge respondToChangedContents]):
2369 (-[WebFrameBridge respondToChangedSelection]):
2370 (-[WebFrameBridge undoManager]):
2371 (-[WebFrameBridge issueCutCommand]):
2372 (-[WebFrameBridge issueCopyCommand]):
2373 (-[WebFrameBridge issuePasteCommand]):
2374 (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
2375 (-[WebFrameBridge canPaste]):
2376 (-[WebFrameBridge overrideMediaType]):
2377 (-[WebFrameBridge isEditable]):
2378 (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
2379 (-[WebFrameBridge shouldBeginEditing:]):
2380 (-[WebFrameBridge shouldEndEditing:]):
2381 (-[WebFrameBridge windowObjectCleared]):
2382 (-[WebFrameBridge spellCheckerDocumentTag]):
2383 (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
2384 (-[WebFrameBridge didFirstLayout]):
2385 (-[WebFrameBridge dashboardRegionsChanged:]):
2386 (-[WebFrameBridge createModalDialogWithURL:]):
2387 (-[WebFrameBridge canRunModal]):
2388 (-[WebFrameBridge runModal]):
2389 Change all calls to [_page webView] to use [self webView] instead.
2393 2006-02-11 Maciej Stachowiak <mjs@apple.com>
2397 - factor WebArchive creation code out of other classes into new WebArchiver
2398 http://bugzilla.opendarwin.org/show_bug.cgi?id=7208
2400 * DOM/WebDOMOperations.m:
2401 (-[DOMNode webArchive]):
2402 (-[DOMRange webArchive]):
2403 * WebKit.xcodeproj/project.pbxproj:
2404 * WebView/WebArchiver.h: Added.
2405 * WebView/WebArchiver.m: Added.
2406 (+[WebArchiver _subframeArchivesForFrame:]):
2407 (+[WebArchiver archiveFrame:]):
2408 (+[WebArchiver _archiveCurrentStateForFrame:]):
2409 (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
2410 (+[WebArchiver archiveRange:]):
2411 (+[WebArchiver archiveNode:]):
2412 (+[WebArchiver archiveSelectionInFrame:]):
2413 * WebView/WebDataSource.m:
2414 (-[WebDataSource webArchive]):
2415 * WebView/WebDataSourcePrivate.h:
2416 * WebView/WebHTMLView.m:
2417 (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
2418 (-[WebHTMLView _writeSelectionToPasteboard:]):
2419 * WebView/WebHTMLViewPrivate.h:
2421 2006-02-11 Darin Adler <darin@apple.com>
2423 * English.lproj/StringsNotToBeLocalized.txt: Updated paths for recent changes in directory structure.
2425 2006-02-11 David Kilzer <ddkilzer@kilzer.net>
2427 Reviewed by John Sullivan.
2429 - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7171
2430 No description in WebKitErrors.m for WebKitErrorPlugInWillHandleLoad
2432 * English.lproj/Localizable.strings: Added new UI_STRING().
2433 * Misc/WebKitErrors.m: Added #define for description.
2434 (registerErrors): Added dictionary entry.
2436 2006-02-09 Tim Omernick <timo@apple.com>
2438 Reviewed by Tim Hatcher.
2440 <rdar://problem/4153419> CrashTracer: 576 crashes in Safari at com.apple.WebKit: NPN_DestroyStream + 56
2442 I never could reproduce this crasher, which seems to be caused by the Speed Download plugin. However,
2443 I did find a way to make the affected code more bulletproof for those who are experiencing the crash.
2445 * Plugins/WebBaseNetscapePluginStream.h:
2446 Keep a WebBaseNetscapePluginView instead of the WebNetscapePluginPackage, since the plugin view could
2447 potentially be deallocated before the stream finishes loading.
2448 * Plugins/WebBaseNetscapePluginStream.m:
2449 (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
2450 Use pluginView instead of plugin.
2451 (-[WebBaseNetscapePluginStream dealloc]):
2452 Assert that the plugin instance has been nulled out, since that's now part of the stream's teardown
2454 Release pluginView instead of plugin.
2455 (-[WebBaseNetscapePluginStream setPluginPointer:]):
2456 Retain the plugin view instead of the plugin package, since the plugin view could be deallocated while
2457 the stream is running.
2458 This method now accepts a NULL argument so that we can easily clear out the pluginView backpointer
2459 (and other ivars derived from it).
2460 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
2461 Use pluginView instead of plugin.
2462 (-[WebBaseNetscapePluginStream _destroyStream]):
2464 (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
2466 (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError]):
2467 Set the plugin instance to NULL, so that the pluginView backpointer is released. This method is called
2468 for every plugin view's stream when the plugin view is stopped/destroyed.
2469 (-[WebBaseNetscapePluginStream _deliverData]):
2470 Use pluginView instead of plugin.
2472 == Rolled over to ChangeLog-2006-02-09 ==