1 2007-07-22 Darin Adler <darin@apple.com>
3 * StringsNotToBeLocalized.txt: Updated for recent changes.
5 2007-07-21 Adam Roben <aroben@apple.com>
7 Fix REGRESSION: Right-click/control-click broken
9 http://bugs.webkit.org/show_bug.cgi?id=14658
10 <rdar://problem/5346830>
14 * WebCoreSupport/WebContextMenuClient.mm:
15 (fixMenusToSendToOldClients): Update defaultItemsCount after removing
16 items from the defaultItems array.
18 2007-07-20 Oliver Hunt <oliver@apple.com>
22 <rdar://problem/5319438> REGRESSION: Cannot paste into an active inline input area (14522)
23 http://bugs.webkit.org/show_bug.cgi?id=14522
25 AppKit sends noop: to -[WebHTMLView doCommandBySelector:] when an IM does not handle event,
26 we now check this as it is necessary to work around some IMs that do send messages
27 (such as insertText: rather than unmarkText: to confirm a composition)
29 * WebView/WebHTMLView.mm:
30 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
31 (-[WebHTMLView doCommandBySelector:]):
32 * WebView/WebHTMLViewInternal.h:
34 2007-07-20 Brady Eidson <beidson@apple.com>
36 Reviewed by Adele and Andersca
38 <rdar://problem/5336105> - WebBackForwardList created from scratch is unusable (always leads to crash)
40 * History/WebBackForwardList.mm:
41 (-[WebBackForwardList init]): Have a default initializer that uses an empty BackFowardList not associated with a page.
43 * WebView/WebFrame.mm:
44 (kit): For clarity's sake, this should return nil, not 0
46 2007-07-20 Justin Garcia <justin.garcia@apple.com>
50 <rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it
52 * WebCoreSupport/WebEditorClient.h:
53 * WebCoreSupport/WebEditorClient.mm: Removed the method
54 for enabling/disabling word selection on right click.
55 * WebView/WebView.mm: Ditto.
56 * WebView/WebViewPrivate.h: Removed the getter/setter entirely,
57 it was in a private Category for Mail, but wasn't used by Mail
58 on Tiger or Leopard, they apparently implement word selection on
61 2007-07-20 Timothy Hatcher <timothy@apple.com>
65 <rdar://problem/5199812> WebView needs to adopt viewWillDraw (moving off of _propagateDirtyRectsToOpaqueAncestors)
66 <rdar://problem/5017301> REGRESSION: Scroller in Widget Manager splits down the middle while scrolling
68 On Leopard _propagateDirtyRectsToOpaqueAncestors is no longer called by AppKit. Also marking new dirty rects
69 underneath _recursiveDisplayRectIfNeededIgnoringOpacity will wait until the next runloop to draw them,
70 causing rendering to happen in two steps instead of one as WebCore expected.
72 * WebView/WebHTMLView.mm:
73 (-[WebHTMLView _topHTMLView]): Move to the file internal category so we can use it in viewWillDraw.
74 (-[WebHTMLView _isTopHTMLView]): Ditto.
75 (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): #ifdef for Tiger only.
76 (-[WebHTMLView viewWillDraw]): Do a recursive layout if this is the top WebHTMLView.
77 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
78 Don't do layout here on Leopard since viewWillDraw handled it.
79 (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
81 2007-07-20 Beth Dakin <bdakin@apple.com>
83 Reviewed by Tim and Geoff.
85 Fix for <rdar://problem/5346855> Mail crashes at
86 WebCore::RenderTableSection:paint + 846 when attempting to display
89 After reapplying styles, the RenderView needs layout. However,
90 layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize used to
91 return early if the WebHTMLView itself does not need layout.
92 Because the WebHTMLView is not necessarily in synch with the
93 RenderTree, returning early here can get us into a bad situation
94 where we paint before laying out the Render Tree. This patch checks
95 both the WebHTMLView and the bridge (which checks the RenderView,
96 etc), so that we do not return early without laying out the Render
99 Some day, we should phase out WebHTMLView keeping track of
100 needsLayout at all. But that is a bit beyond the scope of this fix.
102 * WebView/WebHTMLView.mm:
103 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
105 2007-07-20 John Sullivan <sullivan@apple.com>
107 Reviewed by Darin Adler and David Harrison
109 - fixed <rdar://problem/5307075> REGRESSION: Bottom of some printed pages are truncated
111 The "avoid orphan" code I added a year ago was causing the page to be imaged to a larger
112 height (good), but not shrinking everything to compensate (bad). Bad one-year-ago me!
114 * WebView/WebHTMLViewInternal.h:
115 added avoidingPrintOrphan boolean
117 * WebView/WebHTMLView.mm:
118 (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
119 clear _private->avoidingPrintOrphan when clearing _private->printing
120 (-[WebHTMLView _scaleFactorForPrintOperation:]):
121 take _private->avoidingPrintOrphan into account when computing the scale factor
122 (-[WebHTMLView knowsPageRange:]):
123 set _private->avoidingPrintOrphan when we're shrinking to avoid an orphan
125 2007-07-19 Adam Roben <aroben@apple.com>
127 Fix <rdar://problem/5344972> REGRESSION: A error dialog occurs when
128 attempting to ctrl-click in a iChat message window (webview)
132 * WebCoreSupport/WebContextMenuClient.mm:
133 (fixMenusToSendToOldClients): Don't check for the Inspect Element item
134 if we have fewer than 2 items.
136 2007-07-18 Geoffrey Garen <ggaren@apple.com>
138 Reviewed by Dave Hyatt.
140 <rdar://problem/5345099>
142 Reduced default WebCore cache size from 32 MB to 23 MB on systems below
143 512 MB RAM. This improves RPRVT usage in the Safari pageout test by
144 ~10% on a system with 384 MB RAM.
146 At 23 MB, no extra resources are evicted from the cache during a PLT
147 run, so this is a safe change PLT-wise. 23 MB is also seems to be a
148 generous number in real world usage.
150 * WebView/WebPreferences.m:
151 (+[WebPreferences initialize]):
153 2007-07-18 Anders Carlsson <andersca@apple.com>
157 <rdar://problem/5341133> REGRESSION (Safari 2->Safari 3): DjVu plug-in doesn't load in Safari 3
159 The DjVu plug-in uses the size of the passed in NPNetscapeFuncs struct to copy it over to a NPNetscapeFuncs struct
160 whose size was determined when DjVu was compiled. This means that when we add extra functions to the vtable,
161 DjVu will segfault copying it into the (too small) destination struct.
163 Fix this by special-casing the DjVu plug-in and setting the NPNetscapeFuncs size to be the same size as what DjVu expects.
165 * Plugins/WebNetscapePluginPackage.m:
166 (-[WebNetscapePluginPackage _applyDjVuWorkaround]):
167 (-[WebNetscapePluginPackage load]):
169 2007-07-18 Timothy Hatcher <timothy@apple.com>
173 <rdar://problem/5343767> Should have a way to disable the Web Inspector
175 Adds a new DisableWebKitDeveloperExtras default that will force the Web Inspector to be disabled.
176 This overrides the WebKitDeveloperExtras and IncludeDebugMenu default. It also disables
177 the Web Inspector in Debug builds.
179 * WebView/WebView.mm:
180 (+[WebView _developerExtrasEnabled]): Check for the DisableWebKitDeveloperExtras default.
181 (-[WebView _commonInitializationWithFrameName:groupName:]): Make a new WebInspectorClient when making the Page.
183 2007-07-18 Anders Carlsson <andersca@apple.com>
187 * Misc/WebNSAttributedStringExtras.mm:
189 2007-07-18 Sam Weinig <sam@webkit.org>
191 Rubber-stamped by Adam Roben.
193 Update after renaming MimeTypeRegistry to MIMETypeRegistry.
195 * Misc/WebNSPasteboardExtras.mm:
196 (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
197 * WebCoreSupport/WebFrameBridge.mm:
198 (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
199 * WebView/WebDataSource.mm:
200 (-[WebDataSource _documentFragmentWithArchive:]):
201 * WebView/WebHTMLRepresentation.mm:
202 (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
203 (+[WebHTMLRepresentation supportedImageMIMETypes]):
204 * WebView/WebHTMLView.mm:
205 (-[WebHTMLView _imageExistsAtPaths:]):
207 2007-07-18 Tristan O'Tierney <tristan@apple.com>
209 Reviewed by Maciej Stachowiak.
211 <rdar://problem/5341334> Alt-clicking a link in Safari does not register original URL info with gatekeeper
212 <rdar://problem/5342570> REGRESSION: A hang occurs when attempting to open a attached file from a .Mac web mail message
214 * WebCoreSupport/WebFrameLoaderClient.h:
215 Added a new method, setOriginalURLForDownload, for both download()
216 and startDownload() to share.
218 * WebCoreSupport/WebFrameLoaderClient.mm:
219 (WebFrameLoaderClient::download):
220 Moved all the gatekeeper code into setOriginalURLForDownload.
222 (WebFrameLoaderClient::setOriginalURLForDownload):
223 Same code that was in download() but moved into a single place for both
224 startDownload and download to use. Also returned the boolean logic
225 for detecting _wasUserGesture back to it's previous state, since my prior change
226 was incorrect. Additionally I found a loop index bug with backListCount and fixed it.
228 (WebFrameLoaderClient::startDownload):
229 Calls out to setOriginalURLForDownload after a download is created.
231 * WebView/WebView.mm:
232 (-[WebView _downloadURL:]):
233 Changed to return the WebDownload object created inside _downloadURL
235 * WebView/WebViewInternal.h:
236 Changed _downloadURL to return the WebDownload it creates.
238 2007-07-17 Timothy Hatcher <timothy@apple.com>
242 <rdar://problem/5336267> loadData:MIMEType:textEncodingName:baseURL: doesn't like relative URLs
244 Get the absoluteURL from any user supplied NSURL before we pass it down to WebCore.
246 * WebView/WebFrame.mm:
247 (-[WebFrame _loadURL:referrer:intoChild:]):
248 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
249 * WebView/WebView.mm:
250 (-[WebView userAgentForURL:]):
252 2007-07-17 Adam Roben <aroben@apple.com>
254 Fix Bug 14324: Cannot remove/customize the "Inspect Element" contextual menu item
255 http://bugs.webkit.org/show_bug.cgi?id=14324
257 Only clients linking against new versions of WebKit will see the item.
258 I've maintained our behavior for old clients of not including the
259 Inspect Element item in the menu items passed to the UI delegate.
263 * Misc/WebKitVersionChecks.h: Added a new constant.
264 * WebCoreSupport/WebContextMenuClient.mm:
265 (isPreInspectElementTagClient): Added.
266 (fixMenusToSendToOldClients): Return an array of items that should be
267 appended to the menu received from the delegate.
268 (fixMenusReceivedFromOldClients): Append the saved items to the array.
269 (WebContextMenuClient::getCustomMenuFromDefaultItems): Retain/release
272 2007-07-17 Adam Roben <aroben@apple.com>
274 Remove WebContextMenuClient::shouldIncludeInspectElementItem
278 * WebCoreSupport/WebContextMenuClient.h:
279 * WebCoreSupport/WebContextMenuClient.mm:
281 2007-07-17 Adam Roben <aroben@apple.com>
283 Initialize Settings::developerExtrasEnabled
287 * WebView/WebView.mm:
288 (-[WebView _updateWebCoreSettingsFromPreferences:]):
290 2007-07-17 Geoffrey Garen <ggaren@apple.com>
294 * WebView/WebFrame.mm:
295 (-[WebFrame _loadURL:referrer:intoChild:]):
296 * WebView/WebFramePrivate.h:
298 2007-07-17 Tristan O'Tierney <tristan@apple.com>
300 Reviewed by Maciej Stachowiak.
302 <rdar://problem/5294691> Source of file is misrepresented if downloaded by typing in URL in Safari address bar
304 * WebCoreSupport/WebFrameLoaderClient.h:
305 * WebCoreSupport/WebFrameLoaderClient.mm:
306 (WebFrameLoaderClient::download):
307 Revised code to check the initial request's referrer before assuming it has a history to check.
309 2007-07-16 Brady Eidson <beidson@apple.com>
313 Begin the arduous task of localizing FTP directory listings while removing a global initializer!
315 * English.lproj/Localizable.strings:
316 * WebCoreSupport/WebViewFactory.mm:
317 (-[WebViewFactory unknownFileSizeText]):
319 2007-07-16 Adam Roben <aroben@apple.com>
321 Move printing from WebFrameBridge to WebChromeClient
325 * WebCoreSupport/WebChromeClient.h: Updated for ChromeClient changes.
326 * WebCoreSupport/WebChromeClient.mm:
327 (WebChromeClient::print): Moved code from WebFrameBridge.
328 * WebCoreSupport/WebFrameBridge.mm: Removed -print.
330 2007-07-16 Darin Adler <darin@apple.com>
332 * StringsNotToBeLocalized.txt: Update for recent changes.
334 2007-07-16 John Sullivan <sullivan@apple.com>
336 Reviewed by Kevin Decker and Darin Adler
338 - fixed <rdar://problem/5337529> Holes in Find banner overlay on PDF pages are left in wrong place after changing scale
340 * WebView/WebPDFView.mm:
341 (-[WebPDFView _scaleOrDisplayModeChanged:]):
342 tell UI delegate that the entire PDF view has been redrawn
344 2007-07-14 Brady Eidson <beidson@apple.com>
346 Reviewed by Sam Weinig
348 Initial check-in for <rdar://problem/3154486> - Supporting FTP directory listings in the browser
350 * WebView/WebPreferenceKeysPrivate.h: Added preference keys for the FTP template location, as well as to force
351 FTP directory listings, bypassing the policy delegate. This is necessary to test the new feature until browser
352 policy delegate support is added.
354 * WebView/WebPreferences.m:
355 (-[WebPreferences _setFTPDirectoryTemplatePath:]):
356 (-[WebPreferences _ftpDirectoryTemplatePath]):
357 (-[WebPreferences _setForceFTPDirectoryListings:]):
358 (-[WebPreferences _forceFTPDirectoryListings]):
359 * WebView/WebPreferencesPrivate.h:
360 * WebView/WebView.mm:
361 (-[WebView _updateWebCoreSettingsFromPreferences:]):
363 2007-07-13 Anders Carlsson <andersca@apple.com>
367 <rdar://problem/5290103> Assert failure when loading page with multipart resource
369 Don't try to call the delegate method if the resource object doesn't exist in the
370 identifier map. When a multipart resource has finished loading one part, it is removed from the
371 web view identifier map.
373 This is not an ideal fix, a better fix would be to special-case multipart resources and not remove
374 them when the first part has finished loading. I've filed <rdar://problem/5335034> to track doing that.
376 * WebCoreSupport/WebFrameLoaderClient.mm:
377 (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
378 (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
379 (WebFrameLoaderClient::dispatchDidReceiveResponse):
380 (WebFrameLoaderClient::willCacheResponse):
381 (WebFrameLoaderClient::dispatchDidReceiveContentLength):
382 (WebFrameLoaderClient::dispatchDidFinishLoading):
383 (WebFrameLoaderClient::dispatchDidFailLoading):
385 2007-07-13 Timothy Hatcher <timothy@apple.com>
387 Reviewed by Oliver Hunt.
389 <rdar://problem/5333766> Can't include WebEditingDelegatePrivate.h
391 * WebView/WebEditingDelegatePrivate.h: Changed the include to be a framework include,
392 so other projects can use this header.
394 2007-07-12 Anders Carlsson <andersca@apple.com>
396 Reviewed by Darin and Maciej.
398 <rdar://problem/5271096> panic after Safari stress test, caused by port leak
400 Replace uses of -[NSObject performSelector:withObject:afterDelay:] with CFRunLoopTimer. performSelector
401 causes the target (the WebHTMLView in this case) to be retained until the timer fires. Furthermore, when
402 running the PLT or iBench, the timers will not fire until the main loop is entered (usually after running all tests).
404 This means that the timers and ports will not be released until after the test has finished running.
406 * WebView/WebHTMLView.mm:
407 (-[WebHTMLViewPrivate dealloc]):
408 (-[WebHTMLView _cancelUpdateMouseoverTimer]):
409 (-[WebHTMLView _updateMouseoverWithFakeEvent]):
410 (-[WebHTMLView _updateMouseoverTimerCallback:]):
411 (-[WebHTMLView _frameOrBoundsChanged]):
412 (-[WebHTMLView _updateActiveState]):
413 (-[WebHTMLView _updateActiveStateTimerCallback:]):
414 (-[WebHTMLView viewWillMoveToWindow:]):
415 (-[WebHTMLView viewDidMoveToWindow]):
416 (-[WebHTMLView mouseDown:]):
417 (-[WebTextCompleteController dealloc]):
418 * WebView/WebHTMLViewInternal.h:
420 2007-07-13 Mark Rowe <mrowe@apple.com>
424 Build fix. Stub out WebChromeClient::print.
426 * WebCoreSupport/WebChromeClient.h:
427 * WebCoreSupport/WebChromeClient.mm:
428 (WebChromeClient::print):
430 2007-07-11 Timothy Hatcher <timothy@apple.com>
434 <rdar://problem/5108789> WEBVIEW: Drawing artifacts when dragging in IB
436 Interface Builder 3 is relying on KVO notifications for frameOrigin and frameSize,
437 among other standard NSView keys. Change automaticallyNotifiesObserversForKey to
438 return NO only for keys WebView manually fires notifications for.
440 * WebView/WebView.mm:
441 (+[WebView automaticallyNotifiesObserversForKey:]): Selectivly return NO for keys we manually fire.
442 (-[WebView _declaredKeys]): Code clean up.
444 2007-07-10 Antti Koivisto <antti@apple.com>
448 Fix <rdar://problem/4570550>
449 Hang in layout/layoutBlock/layoutBlockChildren preparing to print certain Mail messages
451 When printing from Mail, WebHTMLView is a subview of the view that is actually printed and does not
452 receive calls that would set it to printing mode. Method adjustPageHeightNew is called repeatedly (for each page) during
453 printing and it enables printing mode temporarily for each call. This triggers two full style recalcs and layouts
454 each time making printing at least O(n^2).
456 Instead of enabling printing mode and resetting it back immediatly do the resetting asynchronously, after
457 all adjustPageHeightNew calls are done. Normal Safari printing is not affected as adjustPageHeightNew is only
458 called in case WebHTMLView is embedded in the view that is being printed.
460 No automatic test possible, requires printing and non-Safari client.
462 * WebView/WebHTMLView.mm:
463 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
465 2007-07-10 Geoffrey Garen <ggaren@apple.com>
467 Reviewed by Maciej Stachowiak.
469 - Fixed <rdar://problem/5049509> REGRESSION(10.4.9-9A377a): REAP Suite
470 installer shows empty modal alert window (hangs) if user cancels during
471 "installing shared components" phase
473 Added Adobe installers to the family of apps that need a data load
476 Added a linked-on-or-after check because this code is no longer
479 I tested this code on Tiger and Leopard.
481 * Misc/WebKitVersionChecks.h:
482 * WebKit.xcodeproj/project.pbxproj:
483 * WebView/WebDocumentLoaderMac.mm:
484 (needsDataLoadWorkaround):
485 (WebDocumentLoaderMac::setDataSource):
487 2007-07-10 Darin Adler <darin@apple.com>
491 * WebView/WebHTMLView.mm: Add include of ContextMenu.h.
493 2007-07-10 Darin Adler <darin@apple.com>
495 Reviewed by John Sullivan.
497 - <rdar://problem/5321953> remove workaround for fixed AppKit mouse moved bug
499 * WebView/WebHTMLView.mm: Put the workaround for bug 3429631 inside an
500 ifdef BUILDING_ON_TIGER.
502 2007-07-09 Anders Carlsson <andersca@apple.com>
506 <rdar://problem/4954319>
507 Acrobat 7 / Safari crash: CrashTracer: 99 crashes in Safari at
508 com.apple.WebCore: WebCore::NetscapePlugInStreamLoader::isDone const + 0
510 Add a new initWithFrameLoader: method to WebNetscapePluginStream which is to be used when
511 the stream is a "fake" stream for full frame plug-ins.
513 * Plugins/WebBaseNetscapePluginView.mm:
514 (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
515 * Plugins/WebNetscapePluginStream.h:
516 * Plugins/WebNetscapePluginStream.mm:
517 (-[WebNetscapePluginStream initWithFrameLoader:]):
518 (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
519 (-[WebNetscapePluginStream start]):
520 (-[WebNetscapePluginStream cancelLoadWithError:]):
521 (-[WebNetscapePluginStream stop]):
522 * WebCoreSupport/WebFrameLoaderClient.mm:
523 (WebFrameLoaderClient::createFrame):
525 2007-07-09 John Sullivan <sullivan@apple.com>
529 - fixed <rdar://problem/5320208> WebKit should prevent Time Machine from backing up WebKit clients' icon databases
531 * Misc/WebIconDatabase.mm:
532 (-[WebIconDatabase init]):
533 Re-added the code to exclude the icon database from backups. We now do this at the same time we (try to) import
534 the old icon database format, which happens only once per icon database's lifetime.
535 (-[WebIconDatabase _importToWebCoreFormat]):
536 Assert that we haven't imported yet rather than bailing out. It's now the caller's responsibility to check
537 whether we've imported yet.
539 2007-07-08 John Sullivan <sullivan@apple.com>
541 * Misc/WebIconDatabase.mm:
542 (-[WebIconDatabase init]):
543 Removed the code to exclude the icon database from backups. We still want to do this, but in a way
544 that only runs once ever, instead of once per launch, due to performance concerns.
546 2007-07-07 Darin Adler <darin@apple.com>
550 - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check
552 * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_MAIN_THREAD_EXCEPTIONS.
554 * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): In first-time initialization block,
555 check for binaries linked against older versions of WebKit, and set the default thread violation
556 behavior to LogOnFirstThreadViolation.
558 * WebView/WebView.mm: (+[WebView initialize]): Improved comments.
560 2007-07-06 Oliver Hunt <oliver@apple.com>
564 <rdar://problem/5318756> Need to refactor IM/Marked text code to share logic with windows.
566 Moved a number of methods from WebHTMLView into WebCore.
567 Replaced bridge methods with calls directly into WebCore objects.
569 * WebKit.xcodeproj/project.pbxproj:
570 * WebView/WebHTMLView.mm:
571 (-[WebHTMLView setMarkedText:selectedRange:]):
572 Now calls WebCore object methods directly, rather than calling
575 2007-07-06 John Sullivan <sullivan@apple.com>
579 - WebKit part of fix for:
580 <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files
582 * Misc/WebIconDatabase.mm:
583 (-[WebIconDatabase init]):
584 Use CSBackupSetItemExcluded to tell Time Machine not to back up the icon database file
586 2007-07-07 Mark Rowe <mrowe@apple.com>
588 Build fix. Update WebDynamicScrollBarsView.h to include methods added and used in r24060.
590 * WebView/WebDynamicScrollBarsView.h:
592 2007-07-05 Timothy Hatcher <timothy@apple.com>
596 <rdar://problem/5236277> REGRESSION-9A458: SPI for setting scroll bar behavior doesn't work
598 Calling setHorizontalScrollingMode: calls updateScrollers before returning, this will cause
599 WebCore to reset the scrolling mode based on the CSS overflow rules. So the setAlwaysShowHorizontalScroller:
600 and setAlwaysShowVerticalScroller: methods needed a way to lock the scrolling mode before
601 calling updateScrollers.
603 * WebView/WebDynamicScrollBarsView.m:
604 (-[WebDynamicScrollBarsView updateScrollers]):
605 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
606 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
607 (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
608 (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
609 (-[WebDynamicScrollBarsView setScrollingMode:]):
610 (-[WebDynamicScrollBarsView setScrollingMode:andLock:]):
611 * WebView/WebView.mm:
612 (-[WebView setAlwaysShowVerticalScroller:]):
613 (-[WebView setAlwaysShowHorizontalScroller:]):
615 2007-07-06 Mitz Pettel <mitz@webkit.org>
619 - fix http://bugs.webkit.org/show_bug.cgi?id=10267
620 Can't scroll page downwards with scroll wheel, when pointer is on top of non-scrolling iframe
622 * WebView/WebDynamicScrollBarsView.m:
623 (-[WebDynamicScrollBarsView scrollWheel:]): Override the superclass
624 implementation to forward the wheel event to the next responder if this view
625 does not allow scrolling in the event's direction.
627 2007-07-05 John Sullivan <sullivan@apple.com>
631 - WebKit part of fix for <rdar://problem/5315033>
633 * WebView/WebDocumentPrivate.h:
634 new selectionImageForcingBlackText: method. selectionImageForcingWhiteText: is no longer used and was never
635 in an official release of WebKit, so it could be removed, except that doing so would cause trouble for people
636 using nightly WebKit with Safari 3.0 beta. So I left it in, but made it just force black text instead of
637 white text, which will look different for those nightly WebKit/Safari 3.0 beta people but not break anything.
639 * Misc/WebSearchableTextView.m:
640 (-[WebSearchableTextView selectionImageForcingBlackText:]):
641 new unimplemented protocol method for this obsolete class
643 * WebView/WebHTMLView.mm:
644 (-[WebHTMLView selectionImageForcingBlackText:]):
645 calls through to WebCore the way selectionImageForcingWhiteText: used to
646 (-[WebHTMLView selectionImageForcingWhiteText:]):
647 now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
649 * WebView/WebPDFView.mm:
650 (-[WebPDFView selectionImageForcingBlackText:]):
651 guts of old selectionImageForcingWhiteText:, but with black substituted for white
652 (-[WebPDFView selectionImageForcingWhiteText:]):
653 now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
655 2007-07-05 Timothy Hatcher <timothy@apple.com>
659 <rdar://problem/5314993> Shiira 2.1 throws an exception open a new window: -[WebInspector window]: unrecognized selector
661 Add an empty implementation of this method to prevent Shiira from throwing an exception.
662 Also log that this method is obsolete and the class will be removed.
664 * WebInspector/WebInspector.mm:
665 (-[WebInspector window]):
667 2007-07-04 Adam Roben <aroben@apple.com>
669 Move tooltip logic down into WebCore so that it can be shared cross-platform
673 * WebCoreSupport/WebChromeClient.h:
674 * WebCoreSupport/WebChromeClient.mm:
675 (WebChromeClient::setToolTip): Added.
676 * WebView/WebHTMLView.mm: Removed _resetCachedWebPreferences.
677 (-[WebHTMLView _updateMouseoverWithEvent:]): Removed tooltip code.
678 (-[WebHTMLView initWithFrame:]): Removed call to
679 _resetCachedWebPreferences.
680 (-[WebHTMLView setDataSource:]): Ditto.
681 * WebView/WebHTMLViewInternal.h: Removed showsURLsInToolTips ivar.
682 * WebView/WebHTMLViewPrivate.h: Added declaration for _setTooltip so
683 that WebChromeClient can call it.
685 2007-07-04 Adam Roben <aroben@apple.com>
687 Initialize Settings::showsURLsInToolTips
691 * WebView/WebView.mm:
692 (-[WebView _updateWebCoreSettingsFromPreferences:]):
694 2007-07-04 Adam Roben <aroben@apple.com>
696 Removed call to mouseDidMoveOverElement now that WebCore handles it
700 * WebView/WebHTMLView.mm:
701 (-[WebHTMLView _updateMouseoverWithEvent:]):
703 2007-07-04 Adam Roben <aroben@apple.com>
705 Add WebChromeClient::mouseDidMoveOverElement
707 This is not called yet.
711 * WebCoreSupport/WebChromeClient.h:
712 * WebCoreSupport/WebChromeClient.mm:
714 2007-07-03 Darin Adler <darin@apple.com>
716 * StringsNotToBeLocalized.txt: Updated for recent changes.
718 2007-07-03 Timothy Hatcher <timothy@apple.com>
722 Remove HIWebView in 64-bit.
724 Also disable a few calls that are now gone in 64-bit and filed these bugs:
726 <rdar://problem/5311653> WebKit needs to adopt HIGetMousePosition where we used GetGlobalMouse before
727 <rdar://problem/5311648> WebKit needs to move off of CopyEvent in WebBaseNetscapePluginView
728 <rdar://problem/5311640> WebKit needs a new solution for HISearchWindowShow on 64-bit
730 * Carbon/CarbonUtils.m:
731 * Carbon/CarbonWindowAdapter.m:
732 * Carbon/CarbonWindowContentView.m:
733 * Carbon/CarbonWindowFrame.m:
734 * Carbon/HIViewAdapter.m:
735 (SetViewNeedsDisplay):
736 * Carbon/HIWebView.m:
739 * Configurations/WebKit.xcconfig:
740 * Plugins/WebBaseNetscapePluginView.mm:
741 (+[WebBaseNetscapePluginView getCarbonEvent:]):
743 * WebKit.LP64.exp: Added.
744 * WebView/WebView.mm:
745 (-[WebView _searchWithSpotlightFromMenu:]):
747 2007-07-03 Adam Roben <aroben@apple.com>
749 Merge the Windows and Mac localized strings and exceptions files
751 Reviewed by Darin and Anders.
753 * English.lproj/Localizable.strings: Added Windows strings.
754 * StringsNotToBeLocalized.txt: Renamed from WebKit/English.lproj/StringsNotToBeLocalized.txt.
756 2007-07-03 Adele Peterson <adele@apple.com>
758 Removed printf I accidently left in.
760 * Misc/WebNSURLExtras.m: (mapHostNames):
762 2007-07-03 Adele Peterson <adele@apple.com>
766 Fix for: <rdar://problem/5292988> domain names shouldn't contain ignorable characters
768 * Misc/WebNSURLExtras.m:
769 (isLookalikeCharacter): Renamed. Also excludes any non-printable character,
770 any character considered as whitespace that isn't already converted to a space by ICU, any ignorable character,
771 and any character excluded in Mozilla's blacklist: http://kb.mozillazine.org/Network.IDN.blacklist_chars
772 (allCharactersInIDNScriptWhiteList):
774 2007-07-03 Darin Adler <darin@apple.com>
778 - fix <rdar://problem/5310848> WebDataSource lifetime problem -- may be cause of the leaks seen on the buildbot
780 * WebView/WebDataSource.mm:
781 (-[WebDataSourcePrivate dealloc]): Added a call to the new detachDataSource function.
782 (-[WebDataSourcePrivate finalize]): Ditto.
784 * WebView/WebDocumentLoaderMac.h: Added detachDataSource function to be used when the
785 WebDataSource is deallocated. Added retain/releaseDataSource helper functions to be
786 used to retain and release the data source object. Replaced the m_hasEverBeenDetached
787 boolean with a more primitive and hence easier to understand m_isDataSourceRetained boolean.
789 * WebView/WebDocumentLoaderMac.mm:
790 (WebDocumentLoaderMac::WebDocumentLoaderMac): Initialize m_isDataSourceRetained to false.
791 (WebDocumentLoaderMac::setDataSource): Call retainDataSource instead of calling HardRetain
792 on the dataSource parameter. Also updated a comment.
793 (WebDocumentLoaderMac::attachToFrame): Call retainDataSource unconditionally rather than
794 trying to use m_hasEverBeenDetached to decide if a retain is needed. Also got rid of an
795 assertion that m_loadingResources is empty -- not important any more.
796 (WebDocumentLoaderMac::detachFromFrame): Call releaseDataSource instead of using
797 HardRelease, but only if m_loadingResources is empty. If it's non-empty, then we'll
798 do the releaseDataSource later in decreaseLoadCount.
799 (WebDocumentLoaderMac::increaseLoadCount): Call retainDataSource unconditionally
800 rather than calling HardRetain only if the old set of resources was empty.
801 (WebDocumentLoaderMac::decreaseLoadCount): Call releaseDataSource if m_loadingResources
802 is empty and we're not attached to a frame. If we are attached to a frame, then
803 we'll do the releaseDataSource later in detachFromFrame.
804 (WebDocumentLoaderMac::retainDataSource): Added. Calls CFRetain, but only if the data
805 source is not already retained (according to the boolean).
806 (WebDocumentLoaderMac::releaseDataSource): Added. Calls CFRelease, but only if the data
807 source is currently retained (according to the boolean).
808 (WebDocumentLoaderMac::detachDataSource): Added. Sets m_dataSource to nil. Since this
809 is only called from WebDataSource's dealloc and finalize methods, it won't ever be called
810 when the m_isDataSourceRetained boolean is true.
812 2007-07-03 Darin Adler <darin@apple.com>
814 - forgot to check in one file in the fix for <rdar://problem/5307880>
815 some classes need finalize methods because of non-trivial work done in dealloc methods
817 * WebView/WebView.mm: (-[WebViewPrivate finalize]): Delete identifierMap so it doesn't leak.
819 2007-07-03 Anders Carlsson <andersca@apple.com>
823 * WebView/WebView.mm:
824 (-[WebView stringByEvaluatingJavaScriptFromString:]):
825 ASSERT that the value returned isn't nil. It can't be nil when invoked on the main frame.
827 2007-07-04 Mark Rowe <mrowe@apple.com>
829 Unreviewed 64-bit build fixes.
831 * WebCoreSupport/WebInspectorClient.mm: Let the compiler know that WebFrameView is a subclass of NSView.
832 * WebView/WebDocumentInternal.h: Remove our preprocessor macro once we're done with it.
833 * WebView/WebHTMLView.mm:
834 (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Fix argument types.
836 2007-07-02 Darin Adler <darin@apple.com>
838 Reviewed by Kevin Decker and Tim Hatcher.
840 - fix <rdar://problem/5307880> some classes need finalize methods
841 because of non-trivial work done in dealloc methods
843 * DefaultDelegates/WebScriptDebugServer.m:
844 (-[WebScriptDebugServer dealloc]): Added a comment about how this probably won't
846 * WebInspector/WebNodeHighlight.m:
847 (-[WebNodeHighlight dealloc]): Ditto.
849 * WebView/WebDataSource.mm:
850 (+[WebDataSourcePrivate initialize]): Added. Makes finalize run on main thread.
851 (-[WebDataSourcePrivate finalize]): Added. Calls deref on the document loader.
852 * WebView/WebHTMLView.mm:
853 (+[WebHTMLViewPrivate initialize]): Added. Makes finalize run on main thread.
854 (-[WebHTMLViewPrivate finalize]): Added. Calls deref on promisedDragTIFFDataSource.
856 * WebKit.xcodeproj/project.pbxproj: Let Xcode be Xcode.
858 2007-07-02 Oliver Hunt <oliver@apple.com>
863 <rdar://problem/5290113> WebKit does not correctly handle replacement ranges from the IM in -[WebHTMLView insertText:]
864 http://bugs.webkit.org/show_bug.cgi?id=13664
866 We replicate the logic of -[WebHTMLView setMarkedText:selectedRange:] to handle the Input Method
867 feeding us a replacement string through insertText: so we can handle IMs that use insertText to
870 * WebView/WebHTMLView.mm:
871 (-[WebHTMLView insertText:]):
873 2007-07-01 Oliver Hunt <oliver@apple.com>
877 Fix for <rdar://problem/5306210> Some events are still passed to WebCore despite being handled by the IM
878 http://bugs.webkit.org/show_bug.cgi?id=14457
880 We have to assume that the IM will consume all events, so we remove the dependency
881 on -[WebHTMLView hasMarkedText].
883 * WebView/WebHTMLView.mm:
884 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
886 2007-06-29 John Sullivan <sullivan@apple.com>
888 Reviewed by Oliver Hunt.
890 - WebKit support for accessing the set of rectangles that encompass the selected text
892 * WebView/WebDocumentPrivate.h:
893 added -selectionTextRects to WebDocumentSelection protocol; tweaked comments
895 * WebView/WebHTMLView.mm:
896 (-[WebHTMLView _selectionDraggingRect]):
897 use selectionRect instead of selectionImageRect since they're the same and maybe we can get
898 rid of selectionImageRect someday
899 (-[WebHTMLView selectionTextRects]):
900 added implementation of new protocol method, which calls through to WebCore
902 * WebView/WebPDFView.mm:
903 (-[WebPDFView selectionTextRects]):
904 added simple implementation of new protocol method, which just returns the single selection rect.
905 PDFKit doesn't support obtaining multiple rects to describe a multi-line selection.
906 (-[WebPDFView selectionImageForcingWhiteText:]):
907 use selectionRect instead of selectionImageRect since they're the same and maybe we can get
908 rid of selectionImageRect someday
910 * Misc/WebSearchableTextView.m:
911 (-[WebSearchableTextView selectionTextRects]):
912 added no-op implementation of new protocol method to this obsolete class
914 2007-06-28 Timothy Hatcher <timothy@apple.com>
918 <rdar://problem/5287569> WEBVIEW: Creating a webview in IB 3.0 (v2.0) NIB later crashes Interface Builder 2.5.4 on Tiger
920 Prevent encoding any of the WebView subviews. The subviews are ignored by -[WebView initWithCoder:] and will be recreated.
921 The Tiger 2.0 code crashed when the WebView released the subviews in initWithCoder:, so now there are no subviews to release.
922 This never happened before because the Tiger 2.0 code and IB wouldn't encode a WebView that has a WebHTMLView.
924 * WebView/WebView.mm:
925 (-[WebView encodeWithCoder:]):
927 2007-06-26 John Sullivan <sullivan@apple.com>
931 - WebKit support for displaying multiple text matches in PDF views (<rdar://problem/4601967>)
933 * WebView/WebPDFView.h:
934 new ivars textMatches and lastScrollPosition; now conforms to WebMultipleTextMatches protocol
936 * WebView/WebPDFView.mm:
937 (-[WebPDFView dealloc]):
939 (-[WebPDFView viewDidMoveToWindow]):
940 start observing bounds changes in the PDF document's enclosing clip view, so we can notice when
941 scrolling takes place
942 (-[WebPDFView viewWillMoveToWindow:]):
943 stop observing bounds changes in the PDF document's enclosing clip view
944 (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
945 most of the code here has been moved into the new method _nextMatchFor::::, which this now calls
946 (-[WebPDFView setMarkedTextMatchesAreHighlighted:]):
947 implementation of WebMultipleTextMatches protocol method, does nothing useful here because we don't
948 support inline highlighting of matches in PDF documents
949 (-[WebPDFView markedTextMatchesAreHighlighted]):
950 implementation of WebMultipleTextMatches protocol method
951 (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]):
952 implementation of WebMultipleTextMatches protocol method; calls _nextMatchFor:::: in a loop until
953 entire document is searched or limit is hit; records results by saving PDFSelections in textMatches ivar
954 (-[WebPDFView unmarkAllTextMatches]):
955 implementation of WebMultipleTextMatches protocol method; clears saved textMatches
956 (-[WebPDFView rectsForTextMatches]):
957 implementation of WebMultipleTextMatches protocol method; converts saved PDFSelections into NSValue
958 objects that represent NSRects
959 (-[WebPDFView _clipViewForPDFDocumentView]):
960 new helper method to find the clip view whose bounds determine the current scroll position
961 (-[WebPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]):
962 new helper method, extracted from searchFor:::::
963 (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]):
964 new notification callback; tells webView's delegate when document has scrolled
965 (-[WebPDFView _setTextMatches:]):
966 new helper method, stores value in ivar
968 2007-06-26 Oliver Hunt <oliver@apple.com>
972 Hopefully fix remainder of the IME issues on Mac.
973 We now assume that the IME silently consumes any event given
974 to it during text composition, and only override this assumption
975 if the NSTextInput or NSResponder callbacks are made.
977 This prevents us from treating those events that the IME has
978 consumed internally (eg. candidate window navigation) as unhandled
979 events that should be bubbled.
982 <rdar://problem/5107538> Major problems handling key press event with non-english Input Methods
983 <rdar://problem/4196249> REGRESSION: Mail: Inputting space (U+0020) with IM deletes subsequent line breaks on Mail.app
984 <rdar://problem/5015544> REGRESSION: Reverse conversion keyboard command does not work in Safari.
985 <rdar://problem/5045121> REGRESSION: Inline is confirmed after press left/right arrow keys, happens in Mail but not in TextEdit.
986 <rdar://problem/5076807> REGRESSION: Can't undo conversion of inline text (by hitting ESC)
987 <rdar://problem/5085781> REGRESSION: Active input area lost "selected" highlight
988 <rdar://problem/5094200> space key pressed to close the associated words candidate window gets inserted as text
989 <rdar://problem/5228294> Candidate item for character matrix is sometimes skipped
991 * WebKit.xcodeproj/project.pbxproj:
992 * WebView/WebHTMLView.mm:
993 (-[WebHTMLView launchKeyEvent:]):
994 (-[WebHTMLView keyDown:]):
995 (-[WebHTMLView keyUp:]):
996 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
997 (-[WebHTMLView unmarkText]):
998 (-[WebHTMLView setMarkedText:selectedRange:]):
999 (-[WebHTMLView doCommandBySelector:]):
1000 (-[WebHTMLView insertText:]):
1002 2007-06-26 Jim Correia <jim.correia@pobox.com>
1006 Fix http://bugs.webkit.org/show_bug.cgi?id=14411
1007 Bug 14411: WebNetscapePluginPackage overagressively sets CurApRefNum, which affects shipping versions of BBEdit.
1008 <rdar://problem/5297268>
1010 * Plugins/WebNetscapePluginPackage.m:
1011 (+[WebNetscapePluginPackage initialize]): Force the Resource Manager to
1012 lazy initialize, and only set CurApRefNum to the system file if
1013 CurApRefNum is still -1 after that forced lazy initialization.
1015 2007-06-25 Kevin Decker <kdecker@apple.com>
1019 <rdar://problem/5294036> -[WebView customTextEncodingName] API may return empty string instead of nil
1021 * WebView/WebView.mm:
1022 (-[WebView _mainFrameOverrideEncoding]): Addded the nsStringNilIfEmpty() inline to the data being returned because
1023 our API says "The custom text encoding name or nil if no custom text encoding name has been set." I also verified
1024 the standing Tiger WebKit behavior for this method and it does indeed return nil if a custom encoding wasn't set.
1026 2007-06-25 John Sullivan <sullivan@apple.com>
1030 - WebKit part of <rdar://problem/5293820>, needed to support multiple matches in PDFs
1032 * WebView/WebDocumentInternal.h:
1033 Added WebMultipleTextMatches protocol, containing five methods that were formerly implemented in WebHTMLView
1034 * WebView/WebHTMLViewPrivate.h:
1035 Removed declarations for the methods that are now in WebMultipleTextMatches protocol
1037 * WebView/WebHTMLView.mm:
1038 (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
1039 moved this method into the WebDocumentInternalProtocols portion of the file
1040 (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
1042 (-[WebHTMLView markedTextMatchesAreHighlighted]):
1044 (-[WebHTMLView unmarkAllTextMatches]):
1046 (-[WebHTMLView rectsForTextMatches]):
1049 * WebView/WebView.mm:
1050 (-[WebView canMarkAllTextMatches]):
1051 new method, returns YES only if the documentView of every frame implements WebMultipleTextMatches
1052 (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
1053 check for WebMultipleTextMatches protocol instead of checking for WebHTMLView class
1054 (-[WebView unmarkAllTextMatches]):
1056 (-[WebView rectsForTextMatches]):
1059 * WebView/WebViewPrivate.h:
1060 declared new method canMarkAllTextMatches
1062 2007-06-25 John Sullivan <sullivan@apple.com>
1066 Fixed <rdar://problem/5292259> Find on Page doesn't work (throws exception) on page that includes PDF in a subframe
1068 * WebView/WebView.mm:
1069 (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
1070 We were testing whether the view was an HTMLView, but then running code that assumed it was an HTMLView outside of
1071 that test. That's a bad idea.
1073 2007-06-22 Adele Peterson <adele@apple.com>
1075 Reviewed by Geoff and Darin.
1077 Fix for: <rdar://problem/5239236> Other slash characters should not be permitted as part of a domain name
1079 * Misc/WebNSURLExtras.m:
1080 (isSlashOrPeriodLookalike):
1081 (allCharactersInIDNScriptWhiteList):
1083 2007-06-21 Sam Weinig <sam@webkit.org>
1087 Remove empty directories
1089 * WebInspector/webInspector: directory removed.
1090 * WebInspector/webInspector/Images: directory removed
1092 2007-06-21 Justin Garcia <justin.garcia@apple.com>
1096 <rdar://problem/5237524>
1097 REGRESSION: Keyboard commands don't work in a message window until you click inside the message
1099 When you open a message in its own window, Mail creates an empty
1100 WebView, makes that WebView firstResponder and then sets off a
1101 load inside that WebView.
1103 When we're asked to create the empty WebView, we put an empty
1104 WebHTMLView inside it (in r21367 we began creating a document
1105 for empty frames). When Mail makes the WebView first responder
1106 we make that empty WebHTMLView firstResponder. Then when the
1107 load finishes we create a new WebHTMLView and set it as the
1110 Inside _setDocumentView, if the old document view or one of its
1111 descendants was the first responder, we'd makeFirstResponder:nil
1112 so that the window wouldn't be left with a firstResponder that
1113 was no longer inside of it. This change fixes the bug by instead
1114 transferring firstResponder status to the new document view.
1116 We could also fix this by not allowing the WebHTMLView to become
1117 firstResponder when it's in the provisional state mentioned above.
1119 * WebView/WebFrameView.mm:
1120 (-[WebFrameView _setDocumentView:]):
1122 2007-06-21 John Sullivan <sullivan@apple.com>
1126 - fixed <rdar://problem/5268673> REGRESSION: Context menu missing for PDF in frame when there's no selection
1128 This was surprisingly interesting. It turns out that at least for Safari, the method [WebDefaultUIDelegate
1129 webView:contextMenuItemsForElement:defaultMenuItems:] is only exercised from WebPDFView these days. It mimics
1130 some of the code that was moved to WebCore as part of the Great Context Menu Refactoring of 2006, but is
1131 independent of that code. And it was partly broken/incomplete, probably as a result of said refactoring.
1133 * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
1134 (localizedMenuTitleFromAppKit()):
1135 deleted this function since I removed all callers
1136 (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
1137 Handle WebMenuItemTagOpenFrameInNewWindow tag, since code later in this file was relying on it. Added
1138 ASSERT_NOT_REACHED to the default case, since returning nil from this method is bad.
1139 Also, use WebKit versions of menu title strings rather than AppKit versions. We added these strings to WebKit
1140 a while back so we don't need to sneakily find them in AppKit anymore.
1141 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
1142 make the WebView be the target of the Open Frame in New Window item; previously it was self, but that was
1143 just silly (probably a leftover from some code shuffling when context menus were reimplemented)
1145 * WebView/WebView.mm:
1146 (-[WebView _openFrameInNewWindowFromMenu:]):
1147 new method, used by Open Frame in New Window menu item.
1149 * WebView/WebViewInternal.h:
1150 Declare new method used by menu item. This isn't necessary for compilation, but could prevent the accidental
1151 deletion of the method implementation.
1153 2007-06-20 Mark Rowe <mrowe@apple.com>
1157 Fix http://bugs.webkit.org/show_bug.cgi?id=14255.
1158 Bug 14255: Reproducible crash opening web inspector from debug menu
1160 Reinstate the WebInspector class so WebKit clients that currently depend on it
1161 will build and run correctly.
1163 * WebInspector/WebInspector.h: Added.
1164 * WebInspector/WebInspector.mm: Added.
1165 (+[WebInspector webInspector]):
1166 (-[WebInspector dealloc]):
1167 (-[WebInspector setWebFrame:]):
1168 (-[WebInspector showWindow:]):
1170 * WebKit.xcodeproj/project.pbxproj:
1172 2007-06-20 Adam Roben <aroben@apple.com>
1174 Land the new Inspector.
1176 Co-written with Tim Hatcher.
1178 Reviewed by Anders, Adele, Hyatt, and Sam.
1180 Implement the InspectorClient interface.
1182 * WebCoreSupport/WebInspectorClient.h: Added.
1183 * WebCoreSupport/WebInspectorClient.mm: Added.
1184 (WebInspectorClient::WebInspectorClient):
1185 (WebInspectorClient::inspectorDestroyed):
1186 (WebInspectorClient::createPage):
1187 (WebInspectorClient::showWindow):
1188 (WebInspectorClient::closeWindow):
1189 (WebInspectorClient::attachWindow):
1190 (WebInspectorClient::detachWindow):
1191 (WebInspectorClient::highlight):
1192 (WebInspectorClient::hideHighlight):
1193 (WebInspectorClient::inspectedURLChanged):
1194 (WebInspectorClient::updateWindowTitle):
1195 (-[WebInspectorWindowController init]):
1196 (-[WebInspectorWindowController initWithInspectedWebView:]):
1197 (-[WebInspectorWindowController dealloc]):
1198 (-[WebInspectorWindowController inspectorVisible]):
1199 (-[WebInspectorWindowController webView]):
1200 (-[WebInspectorWindowController window]):
1201 (-[WebInspectorWindowController windowShouldClose:]):
1202 (-[WebInspectorWindowController close]):
1203 (-[WebInspectorWindowController showWindow:]):
1204 (-[WebInspectorWindowController attach]):
1205 (-[WebInspectorWindowController detach]):
1206 (-[WebInspectorWindowController highlightAndScrollToNode:]):
1207 (-[WebInspectorWindowController highlightNode:]):
1208 (-[WebInspectorWindowController hideHighlight]):
1209 (-[WebInspectorWindowController animationDidEnd:]):
1211 Add an easier-to-see highlight.
1213 * Misc/WebNSViewExtras.h:
1214 * Misc/WebNSViewExtras.m:
1215 (-[NSView _web_convertRect:toView:]):
1216 * WebInspector/WebNodeHighlight.h:
1217 * WebInspector/WebNodeHighlight.m:
1218 (-[WebNodeHighlightFadeInAnimation setCurrentProgress:]):
1219 (-[WebNodeHighlight initWithTargetView:]):
1220 (-[WebNodeHighlight setHighlightedNode:]):
1221 (-[WebNodeHighlight highlightedNode]):
1222 (-[WebNodeHighlight dealloc]):
1223 (-[WebNodeHighlight attachHighlight]):
1224 (-[WebNodeHighlight delegate]):
1225 (-[WebNodeHighlight detachHighlight]):
1226 (-[WebNodeHighlight show]):
1227 (-[WebNodeHighlight hide]):
1228 (-[WebNodeHighlight animationDidEnd:]):
1229 (-[WebNodeHighlight ignoresMouseEvents]):
1230 (-[WebNodeHighlight highlightView]):
1231 (-[WebNodeHighlight setDelegate:]):
1232 (-[WebNodeHighlight setHolesNeedUpdateInTargetViewRect:]):
1233 (-[WebNodeHighlight setIgnoresMouseEvents:]):
1234 (-[WebNodeHighlight targetView]):
1235 (-[WebNodeHighlight _computeHighlightWindowFrame]):
1236 (-[WebNodeHighlight _repositionHighlightWindow]):
1237 * WebInspector/WebNodeHighlightView.h:
1238 * WebInspector/WebNodeHighlightView.m:
1239 (-[WebNodeHighlightView initWithWebNodeHighlight:]):
1240 (-[WebNodeHighlightView dealloc]):
1241 (-[WebNodeHighlightView detachFromWebNodeHighlight]):
1242 (-[WebNodeHighlightView drawRect:]):
1243 (-[WebNodeHighlightView webNodeHighlight]):
1244 (-[WebNodeHighlightView fractionFadedIn]):
1245 (-[WebNodeHighlightView setFractionFadedIn:]):
1246 (-[WebNodeHighlightView setHolesNeedUpdateInRect:]):
1247 (-[WebNodeHighlightView _holes]):
1249 WebView changes needed for the new Inspector.
1251 * WebView/WebView.mm: Remove the old _inspectElement method now that
1252 this is handled by WebCore.
1253 (-[WebView _isClosed]): Added.
1254 (-[WebView initWithFrame]): Give each Page an InspectorClient to
1255 enable the Inspector.
1256 * WebView/WebViewPrivate.h:
1258 Updates needed for WebCore changes.
1260 * WebCoreSupport/WebContextMenuClient.h:
1261 * WebCoreSupport/WebContextMenuClient.mm:
1262 * WebCoreSupport/WebViewFactory.mm:
1263 (-[WebViewFactory contextMenuItemTagInspectElement]):
1264 * WebView/WebUIDelegatePrivate.h:
1266 Remove old Inspector code.
1268 * WebCoreSupport/WebFrameLoaderClient.mm:
1269 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
1270 (WebFrameLoaderClient::assignIdentifierToInitialRequest):
1271 (WebFrameLoaderClient::dispatchDidFinishLoading):
1272 * WebInspector/WebInspector.m: Removed.
1273 * WebInspector/WebInspectorPanel.h: Removed.
1274 * WebInspector/WebInspectorPanel.m: Removed.
1275 * WebInspector/webInspector/Images/button.png: Removed.
1276 * WebInspector/webInspector/Images/buttonDivider.png: Removed.
1277 * WebInspector/webInspector/Images/buttonPressed.png: Removed.
1278 * WebInspector/webInspector/Images/close.png: Removed.
1279 * WebInspector/webInspector/Images/closePressed.png: Removed.
1280 * WebInspector/webInspector/Images/downTriangle.png: Removed.
1281 * WebInspector/webInspector/Images/menu.png: Removed.
1282 * WebInspector/webInspector/Images/menuPressed.png: Removed.
1283 * WebInspector/webInspector/Images/popup.png: Removed.
1284 * WebInspector/webInspector/Images/popupPressed.png: Removed.
1285 * WebInspector/webInspector/Images/resize.png: Removed.
1286 * WebInspector/webInspector/Images/rightTriangle.png: Removed.
1287 * WebInspector/webInspector/Images/scrollThumbBottom.png: Removed.
1288 * WebInspector/webInspector/Images/scrollThumbMiddle.png: Removed.
1289 * WebInspector/webInspector/Images/scrollTrackBottom.png: Removed.
1290 * WebInspector/webInspector/Images/upTriangle.png: Removed.
1291 * WebInspector/webInspector/inspector.css: Removed.
1292 * WebInspector/webInspector/inspector.html: Removed.
1293 * WebInspector/webInspector/inspector.js: Removed.
1294 * WebInspector/webInspector/scrollarea.js: Removed.
1295 * WebInspector/webInspector/scrollbar.js: Removed.
1296 * WebInspector/webInspector/utilities.js: Removed.
1297 * WebView/WebFrame.mm:
1298 (-[WebFramePrivate dealloc]):
1299 * WebView/WebFrameInternal.h:
1300 * WebView/WebHTMLView.mm:
1301 (-[WebHTMLView menuForEvent:]):
1306 * WebKit.xcodeproj/project.pbxproj:
1308 2007-06-20 Justin Garcia <justin.garcia@apple.com>
1312 <rdar://problem/5263541> REGRESSION (Safari 3 Beta 1): Pressing Delete doesn't delete an HTML message in Mail
1314 Mail wasn't receiving the keyDown event because WebFrameView was blocking it.
1315 It blocks the event and moves back/forward on Delete/Shift+Delete if the
1316 back/forward list is enabled.
1318 * WebView/WebFrameView.mm:
1319 (-[WebFrameView keyDown:]): Check to see if the BackForwardList is
1320 enabled. It always exists.
1322 2007-06-19 Anders Carlsson <andersca@apple.com>
1324 Reviewed by Kevin Decker.
1326 <rdar://problem/5266289> REGRESSION (Safari 3 Beta 1): Incoming iChat messages are delayed
1328 * WebView/WebDocumentLoaderMac.mm:
1329 (needsAppKitWorkaround):
1330 New function which checks if the frame load delegate belongs to AppKit.
1332 (WebDocumentLoaderMac::setDataSource):
1333 If the frame load delegate belongs to AppKit, set m_deferMainResourceDataLoad to false.
1335 2007-06-19 John Sullivan <sullivan@apple.com>
1337 Reviewed by Tim Hatcher
1339 - fixed <rdar://problem/5272011> Hole for find-on-page match in subframe isn't clipped by frame bounds
1341 * WebView/WebView.mm:
1342 (-[WebView rectsForTextMatches]):
1343 intersect the HTMLView's computed rect with the visible rect for that view
1345 2007-06-19 Jim Correia <jim.correia@pobox.com>
1347 Reviewed by Kevin Decker
1349 * Carbon/HIWebView.m:
1350 (WindowHandler): HIObjectIsOfClass requires non-NULL input on Tiger. Reworked Kevin Decker's patch to remove the conditional compilation for Tiger, yet still avoid crashing BBEdit.
1352 2007-06-18 Sam Weinig <sam@webkit.org>
1358 * WebCoreSupport/WebChromeClient.mm:
1360 2007-06-18 Kevin Decker <kdecker@apple.com>
1362 * Carbon/HIWebView.m:
1363 (WindowHandler): Fixed the Tiger build; ControlKind wasn't defined.
1365 2007-06-18 Kevin Decker <kdecker@apple.com>
1367 Reviewed by Tim Hatcher.
1369 Fixed: <rdar://problem/5276135> With Safari 3 Tiger Beta installed, a crash occurs in BBEdit while mousing down and dragging outside of HTML preview window
1371 * Carbon/HIWebView.m:
1372 (WindowHandler): Because the fix for 5051616 causes Tiger to crash in HIToolbox (but not on Leopard), I reverted back to using GetControlKind
1373 on Tiger only, instead of HIObjectIsOfClass.
1375 2007-06-16 David Hyatt <hyatt@apple.com>
1377 Back out fix for 13972. Quicktime will no longer clip correctly. :(
1378 Too many regressions in Mail caused by inserting an extra view into the
1379 hierarchy. Can revisit later.
1383 * Plugins/WebPluginController.mm:
1384 (-[WebPluginController destroyPlugin:]):
1385 (-[WebPluginController destroyAllPlugins]):
1386 * WebCoreSupport/WebFrameBridge.mm:
1387 (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
1388 * WebView/WebHTMLView.mm:
1389 (-[WebHTMLView addSubview:]):
1390 (-[WebHTMLView willRemoveSubview:]):
1392 2007-06-15 Sam Weinig <sam@webkit.org>
1396 Patch for http://bugs.webkit.org/show_bug.cgi?id=14053
1397 Autogenerate JS binding for Rect
1399 - Fix conflicts by using ::Rect instead of Rect.
1401 * Plugins/WebBaseNetscapePluginView.mm:
1402 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1403 (-[WebBaseNetscapePluginView sendEvent:]):
1404 (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
1405 (-[WebBaseNetscapePluginView invalidateRegion:]):
1406 (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1408 2007-06-15 Anders Carlsson <andersca@apple.com>
1412 A better fix for <rdar://problem/5271774>. Only try to access the element if the
1413 view has an associated window. This also works with GC. (Fix suggested by Kevin.)
1415 * Plugins/WebKitPluginContainerView.mm:
1416 (-[WebKitPluginContainerView dealloc]):
1417 (-[WebKitPluginContainerView visibleRect]):
1419 2007-06-15 Anders Carlsson <andersca@apple.com>
1423 <rdar://problem/5271774> REGRESSION: A crash occurs when closing a window that contains a QT movie
1425 In some cases, calling [super dealloc] might end up calling visibleRect, so make sure to
1426 set _element to 0 so we won't send a message to a freed object and crash.
1428 * Plugins/WebKitPluginContainerView.mm:
1429 (-[WebKitPluginContainerView dealloc]):
1430 (-[WebKitPluginContainerView visibleRect]):
1432 2007-06-14 Anders Carlsson <andersca@apple.com>
1436 Call cleanupScriptObjectsForPlugin on the frame after destroying the plug-in.
1438 * Plugins/WebBaseNetscapePluginView.mm:
1439 (-[WebBaseNetscapePluginView _destroyPlugin]):
1440 * Plugins/WebPluginController.mm:
1441 (-[WebPluginController destroyPlugin:]):
1442 (-[WebPluginController destroyAllPlugins]):
1444 2007-06-13 John Sullivan <sullivan@apple.com>
1446 Reviewed by Adele Peterson
1448 - fixed <rdar://problem/5267607> Clicking the "Save to Downloads" button in
1449 PDF overlay too soon results in corrupt file
1451 * WebView/WebPDFView.mm:
1452 (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
1453 Just beep if the document isn't available yet, since trying to save it as a file
1454 really isn't a good idea.
1456 2007-06-12 Oliver Hunt <oliver@apple.com>
1460 Use correct size for BITMAPINFOHEADER -- whoops.
1462 * win/WebIconDatabase.cpp:
1464 (WebIconDatabase::getOrCreateDefaultIconBitmap):
1466 2007-06-10 David Hyatt <hyatt@apple.com>
1468 Fix for bug 14037, make sure respondsToSelector does the write thing
1469 when invoked on a WebKit plugin's container view.
1471 Reviewed by Mark Rowe
1473 * Plugins/WebKitPluginContainerView.mm:
1474 (-[WebKitPluginContainerView respondsToSelector:]):
1476 2007-06-08 John Sullivan <sullivan@apple.com>
1478 * WebView/WebViewPrivate.h:
1481 2007-06-07 Justin Garcia <justin.garcia@apple.com>
1483 Reviewed by Tristan.
1485 <rdar://problem/5250997> A crash occurs when selecting Undo Typing for a page that has been closed in tab
1487 * WebView/WebView.mm:
1488 (-[WebView _clearUndoRedoOperations]): Added.
1489 * WebView/WebViewPrivate.h:
1491 2007-06-07 Oliver Hunt <oliver@apple.com>
1493 Reviewed by Sam "The Intern" Weinig.
1495 Don't be overzealous with the input checks, firstRectForCharacterRange
1496 can be determined even when there is not an active editable region.
1498 This unbreaks editing/input/range-for-empty-document which was broken
1499 by aforementioned overzealousness.
1501 * WebView/WebHTMLView.mm:
1502 (-[WebHTMLView firstRectForCharacterRange:]):
1504 2007-06-07 Oliver Hunt <oliver@apple.com>
1508 Add checks to make sure we don't try to create, use
1509 or return invalid ranges to TSM when it calls us despite
1510 not currently being in an editable region.
1512 * WebView/WebHTMLView.mm:
1514 (-[WebHTMLView textStorage]):
1515 (-[WebHTMLView firstRectForCharacterRange:]):
1516 (-[WebHTMLView selectedRange]):
1517 (-[WebHTMLView attributedSubstringFromRange:]):
1519 2007-06-06 David Hyatt <hyatt@apple.com>
1521 Make sure to hand back a script object for webkit plugins (the container
1522 view forwards to its plugin child).
1524 Reviewed by sullivan
1526 * Plugins/WebKitPluginContainerView.h:
1527 * Plugins/WebKitPluginContainerView.mm:
1528 (-[WebKitPluginContainerView objectForWebScript]):
1530 2007-06-06 David Hyatt <hyatt@apple.com>
1532 Fix for bug 13972, quicktime doesn't respect CSS clip and overflow properties.
1533 Make sure that calls to [NSView visibleRect] will do the right thing for both
1534 Netscape plugins and WebKit plugins.
1538 * Plugins/WebBaseNetscapePluginView.mm:
1539 (-[WebBaseNetscapePluginView visibleRect]):
1540 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1541 (-[WebBaseNetscapePluginView isOpaque]):
1542 * Plugins/WebKitPluginContainerView.h: Added.
1543 * Plugins/WebKitPluginContainerView.mm: Added.
1544 (-[WebKitPluginContainerView initWithFrame:DOMElement:]):
1545 (-[WebKitPluginContainerView dealloc]):
1546 (-[WebKitPluginContainerView visibleRect]):
1547 * Plugins/WebPluginController.mm:
1548 (-[WebPluginController destroyAllPlugins]):
1549 * WebCoreSupport/WebFrameBridge.mm:
1550 (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
1551 * WebKit.xcodeproj/project.pbxproj:
1552 * WebView/WebHTMLView.mm:
1553 (-[WebHTMLView addSubview:]):
1554 (-[WebHTMLView willRemoveSubview:]):
1556 2007-06-04 Oliver Hunt <oliver@apple.com>
1558 Reviewed by Geoff and Justin.
1560 Fix for <rdar://problem/5246941> Clicking URL field on
1561 Safari causes halt for a minute when using input methods.
1562 and <rdar://problem/5245964> Safari hangs for several
1563 seconds when trying to select text using mouse
1565 This is a by product of the textStorage hack used to fix
1566 rdar://problem/5000470 -- TSM calls textStorage repeatedly
1567 when changing focus, on certain mouse events, etc. If there
1568 is no selection/editable region we repeatedly create an
1569 NSAttributedString from the full document. If the document is
1570 sufficiently long this starts consuming an inordinate amount of
1573 This check should really have been present in the original
1576 * WebKit.xcodeproj/project.pbxproj:
1577 * WebView/WebHTMLView.mm:
1578 (-[WebHTMLView textStorage]):
1580 2007-05-31 David Hyatt <hyatt@apple.com>
1582 Fix for 11768, Flash plugin does not respect clips set by CSS.
1586 * Plugins/WebBaseNetscapePluginView.mm:
1587 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1589 2007-05-30 Mark Rowe <mrowe@apple.com>
1591 Build fixes after r21889.
1593 * ForwardingHeaders/kjs/function.h: Added.
1595 2007-05-29 Mark Rowe <mrowe@apple.com>
1599 64-bit build fix. Ensure that use of WebNSUInteger in headers is matched by WebNSUInteger in implementations.
1601 * DefaultDelegates/WebScriptDebugServer.h:
1602 * DefaultDelegates/WebScriptDebugServer.m:
1603 (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
1604 (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
1605 * DefaultDelegates/WebScriptDebugServerPrivate.h:
1606 * History/WebBackForwardList.mm:
1607 (-[WebBackForwardList setPageCacheSize:]):
1608 (-[WebBackForwardList pageCacheSize]):
1609 * WebView/WebView.mm:
1610 (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
1612 2007-05-26 Darin Adler <darin@apple.com>
1614 Reviewed by Tim Hatcher.
1616 * MigrateHeaders.make: Added dependency on this makefile itself, which is
1617 useful when you change the sed command or other aspect of this file. My build
1618 failed until I made this fix.
1620 2007-05-25 Geoffrey Garen <ggaren@apple.com>
1622 Reviewed by Darin Adler.
1624 Fixed <rdar://problem/5055182> The page cache has no global cap.
1626 The main WebKit changes are:
1627 1. Changed -[WebBackForwardList setPageCacheSize] and -[WebBackForwardList
1628 pageCacheSize] to accomodate the new global page cache model, updating
1629 their documentation.
1631 2. Added -[WebPreferences setShouldUsePageCache] and -[WebPreferences
1632 shouldUsePageCache] as pending public API.
1634 3. Centralized calculation of object cache and page cache sizes inside
1637 Cchanged our old behavior of reading a preference and applying a fudge
1638 factor with a new behavior of just using the preference directly. The
1639 old behavior was confusing and often inappropriate. (For example, if
1640 you set a page cache size of 100, a 256MB machine would somewhat
1641 arbitrarily reduce that number to 98. ???)
1643 * WebView/WebView.mm: Added support for two flags to determine whether
1644 to use the page cache. If either -[WebBackForwardList setPageCacheSize:0]
1645 or -[WebPreferences setShouldUsePageCache:NO] is called, we don't use
1648 2007-05-25 Timothy Hatcher <timothy@apple.com>
1650 Reviewed by Kevin Decker.
1652 <rdar://problem/5219089> Changes for migration of DictionaryServices
1654 * WebView/WebHTMLView.mm:
1655 (-[WebHTMLView _lookUpInDictionaryFromMenu:]): look for the HIDictionaryWindowShow symbol in HIToolbox
1657 2007-05-25 Geoffrey Garen <ggaren@apple.com>
1659 Reviewed by Oliver Hunt.
1661 Fixed global initializer (like you fix a dog).
1663 I'm not sure how our script missed this. I tested, and it generally doesn't
1664 seem to work very well.
1666 * WebView/WebHTMLView.mm: Allocate lazily to avoid the performance hit of
1667 a global initializer.
1668 (promisedDataClient):
1669 (-[WebHTMLViewPrivate dealloc]):
1670 (-[WebHTMLViewPrivate clear]):
1671 (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
1673 2007-05-25 Brady Eidson <beidson@apple.com>
1677 <rdar://problem/5228371> - REGRESSION - Certain mail message bodies display as empty
1679 This is due to http://trac.webkit.org/projects/webkit/changeset/21480 which unintentionally
1680 made applewebdata urls result in check.call(false) instead of check.call(true)
1682 Best place for a fix is to have the FrameLoaderClient::canHandleRequest() call return true, which
1683 really is rooted in WebView
1685 <rdar://problem/5229587> tracks adding a layout test
1687 * WebView/WebView.mm:
1688 (+[WebView _canHandleRequest:]): Return true for applewebdata URLs
1690 2007-05-25 Geoffrey Garen <ggaren@apple.com>
1692 Reviewed by Darin Adler, Tim Hatcher.
1694 "unsigned" => "WebNSUInteger" in public API.
1696 * History/WebBackForwardList.h:
1697 * WebView/WebScriptDebugDelegate.h:
1698 * WebView/WebUIDelegate.h:
1699 * WebView/WebViewPrivate.h:
1701 2007-05-25 Geoffrey Garen <ggaren@apple.com>
1703 Reviewed by Darin Adler.
1705 Moved JavaScriptCore-related pending public API to public API.
1707 * MigrateHeaders.make: Hack to prevent <JavaScriptCore/JSBase.h> from
1708 automatically converting to <WebKit/JSBase.h>
1710 Moved -windowObject and -globalContext
1712 * WebView/WebFramePrivate.h: from here
1713 * WebView/WebFrame.h: to here
1714 * WebView/WebFrame.mm: and out of its temporary category
1716 Moved -didClearWindowObject:forFrame:
1718 * WebView/WebViewPrivate.h: from here
1719 * WebView/WebFrameLoadDelegate.h: to here
1721 2007-05-25 John Sullivan <sullivan@apple.com>
1723 Reviewed by Anders and Tim
1725 - fixed <rdar://problem/5226000> REGRESSION: In Gmail and Mail, a hang occurs when attempting
1726 to grammar/spellcheck a word in a reply
1728 * WebCoreSupport/WebEditorClient.mm:
1729 (WebEditorClient::checkGrammarOfString):
1730 Fixed recently-introduced false assumption that NSNotFound == -1
1732 2007-05-24 dethbakin <bdakin@apple.com>
1736 Fix for <rdar://problem/5023545> QuickBooks Pro 2007:hang/crash
1737 after closing QuickBooks Tutorial Center with Leopard9A377
1739 We can hit a race condition where drawRect will be called after the
1740 WebView has closed. Quickbooks does not properly close the WebView
1741 and set the UIDelegate to nil, so the UIDelegate is stale and we
1742 crash. This is a regression because the code that uses the
1743 UIDelegate in the drawRect code path was only added recently. The
1744 method that the UIDelegate calls into is new -- it does not exist
1745 on Tiger -- so there is no harm in not running this code for
1746 applications linked against older WebKits. Other applications may
1747 run into this same bug so I am not doing a bundle
1748 check...particularly because, as I mentioned, the new UIDelegate
1749 call would not be implemented by older clients anyway.
1751 * Misc/WebKitVersionChecks.h:
1752 * WebView/WebHTMLView.mm:
1753 (-[WebHTMLView drawSingleRect:]):
1755 2007-05-24 Darin Adler <darin@apple.com>
1757 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
1759 2007-05-24 Oliver Hunt <oliver@apple.com>
1761 Reviewed by Adam, Darin, and Geoff.
1763 Fix for <rdar://problem/5000470> REGRESSION: The IM reconvert
1764 function returns incorrect symbol due to inconsistent range
1767 Text Services Management uses ranges provided by the
1768 NSTextInput API to index into the string return by
1769 -[WebHTMLView string]. As a result some input methods
1770 incorrectly get their candidate text from the beginning
1771 of the document instead of from the input element.
1773 TSM prefers to query -textStorage over -string so as a
1774 workaround we provide an implementation of -textStorage that
1775 returns the content of the current text input. TSM only ever
1776 queries the result of textStorage as an NSAttributedString so
1777 we do not need to implement a fake NSTextStorage class
1779 This should not cause harm to anything else as textStorage is
1780 actually a method on NSTextView, which we clearly are not. TSM
1781 only queries the method because it uses respondsToSelector to
1784 * WebView/WebHTMLView.mm:
1785 (-[WebHTMLView textStorage]):
1788 2007-05-24 David Harrison <harrison@apple.com>
1790 Reviewed by Tim Hatcher.
1792 <rdar://problem/5225343> REGRESSION: With View Source window opened, navigating to a different URL in the browser window results in a crash at WebCore::FrameLoader::frameHasLoaded()
1794 _private->loader->frameLoader() was not being nil checked.
1795 * WebView/WebDataSource.mm:
1796 (-[WebDataSource request]):
1797 Add nil check for _private->loader->frameLoader()
1799 2007-05-23 Anders Carlsson <andersca@apple.com>
1803 <rdar://problem/3663808> Resize large images to fit in the browser window
1805 Add new WebPreferences SPI.
1807 * WebView/WebPreferenceKeysPrivate.h:
1808 * WebView/WebPreferences.m:
1809 (+[WebPreferences initialize]):
1810 (-[WebPreferences enableAutomaticImageResizing]):
1811 (-[WebPreferences setEnableAutomaticImageResizing:]):
1812 * WebView/WebPreferencesPrivate.h:
1813 * WebView/WebView.mm:
1814 (-[WebView _updateWebCoreSettingsFromPreferences:]):
1816 2007-05-23 Sam Weinig <sam@webkit.org>
1820 Patch for http://bugs.webkit.org/show_bug.cgi?id=13830
1821 Auto-generate JS DOM bindings for HTMLDocument and most of the rest
1824 * MigrateHeaders.make: add DOMHTMLDocumentPrivate.h
1825 * WebKit.xcodeproj/project.pbxproj:
1827 2007-05-23 Oliver Hunt <oliver@apple.com>
1831 Fix for <rdar://problem/5223782> REGRESSION: Can't drag and drop a standalone image
1833 The main resource for a standalone image webarchive has the same mimetype as the
1836 * Misc/WebNSPasteboardExtras.mm:
1837 (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
1839 2007-05-22 Sam Weinig <sam@webkit.org>
1843 Patch for http://bugs.webkit.org/show_bug.cgi?id=13833
1844 Add ObjC DOM binding for HTMLMarqeeElement
1846 - Also adds missing DOMHTMLFramePrivate.
1848 * MigrateHeaders.make:
1850 2007-05-22 Darin Adler <darin@apple.com>
1854 * WebInspector/webInspector/treeoutline.js: Use ownerDocument instead of non-standard
1857 2007-05-22 Adele Peterson <adele@apple.com>
1861 Adding some asserts to help detect other cases of <rdar://problem/5171145>
1863 * WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge makeFirstResponder:]):
1865 2007-05-22 Brady Eidson <beidson@apple.com>
1867 Reviewed by Kevin (Sarge)
1869 <rdar://problem/5219885> - Crash after closing a inline popup ad at http://news.yahoo.com/
1871 This regressed in http://trac.webkit.org/projects/webkit/changeset/21618
1873 * WebView/WebFrame.mm:
1874 (-[WebFrame dataSource]): Null check the frameloader
1876 2007-05-21 Adele Peterson <adele@apple.com>
1878 Fix by Darin, reviewed by me.
1880 Fix for <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts
1882 * WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): If the old view is the first responder,
1883 then set the window's first responder to nil so we don't leave the window pointing to a view that's no longer in it.
1885 2007-05-21 Brady Eidson <beidson@apple.com>
1887 Making the importance of my last change more clear
1889 * WebView/WebViewPrivate.h: "Leave for Dashboard, people!"
1891 2007-05-21 Brady Eidson <beidson@apple.com>
1893 Reviewed by Kevin (Sarge)
1895 <rdar://problem/5217124> - Re-add mistakenly removed SPI
1897 * WebView/WebView.mm:
1898 (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
1899 * WebView/WebViewPrivate.h:
1901 2007-05-21 Anders Carlsson <andersca@apple.com>
1905 <rdar://problem/5200816> REGRESSION: With Shiira 1.2.2 , I can't open embedded link in flash object by clicking (http:/www.adobe.com )
1907 Null check the request.
1909 * WebView/WebView.mm:
1910 (+[WebView _canHandleRequest:]):
1912 2007-05-19 Maciej Stachowiak <mjs@apple.com>
1916 <rdar://problem/5205358> REGRESSION (r21367): All messages appear entirely blank when running Mail off of tip of tree WebKit
1918 The fix is to return nil from [WebFrame dataSource] when it has not loaded anything but the fake
1919 empty initial document. However, WebKit still needs the real data source internally, so I also
1920 added a [WebFrame _dataSource] method that skips this check, and made WebKit use it throughout.
1922 * Misc/WebNSAttributedStringExtras.mm:
1923 (fileWrapperForElement):
1924 * Plugins/WebBaseNetscapePluginView.mm:
1925 (-[WebBaseNetscapePluginView dataSource]):
1926 * Plugins/WebNullPluginView.mm:
1927 (-[WebNullPluginView viewDidMoveToWindow]):
1928 * Plugins/WebPluginController.mm:
1929 (-[WebPluginController URLPolicyCheckReferrer]):
1930 * WebCoreSupport/WebFrameBridge.mm:
1931 (-[WebFrameBridge dataSource]):
1932 (-[WebFrameBridge redirectDataToPlugin:]):
1933 * WebCoreSupport/WebFrameLoaderClient.mm:
1934 (WebFrameLoaderClient::makeDocumentView):
1935 (WebFrameLoaderClient::forceLayoutForNonHTML):
1936 (WebFrameLoaderClient::prepareForDataSourceReplacement):
1937 (WebFrameLoaderClient::canCachePage):
1938 * WebCoreSupport/WebViewFactory.mm:
1939 (-[WebViewFactory bridgeForView:]):
1940 * WebKit.xcodeproj/project.pbxproj:
1941 * WebView/WebArchiver.mm:
1942 (+[WebArchiver archiveFrame:]):
1943 (+[WebArchiver archiveMainResourceForFrame:]):
1944 (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
1945 (+[WebArchiver archiveSelectionInFrame:]):
1946 * WebView/WebFrame.mm:
1947 (-[WebFrame _loadURL:referrer:intoChild:]):
1948 (-[WebFrame _addChild:]):
1949 (-[WebFrame _dataSource]):
1950 (-[WebFrame DOMDocument]):
1951 (-[WebFrame dataSource]):
1952 * WebView/WebFrameInternal.h:
1953 * WebView/WebHTMLView.mm:
1954 (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
1955 * WebView/WebRenderNode.mm:
1956 (-[WebRenderNode initWithWebFrameView:]):
1957 * WebView/WebView.mm:
1958 (-[WebView _mainFrameOverrideEncoding]):
1959 (-[WebView mainFrameURL]):
1960 (-[WebView mainFrameTitle]):
1961 (-[WebView mainFrameIcon]):
1962 (-[WebView validateUserInterfaceItemWithoutDelegate:]):
1963 (-[WebView replaceSelectionWithArchive:]):
1964 (-[WebView _isLoading]):
1965 (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
1966 (-[WebView _notifyTextSizeMultiplierChanged]):
1968 2007-05-18 Oliver Hunt <oliver@apple.com>
1972 Fix for http://bugs.webkit.org/show_bug.cgi?id=13782
1973 REGRESSION (r21528-r21533): Failing editing/selection/drag-in-iframe in pixel mode
1975 r21533 made used a DOMElement as the source for promise data, this meant it had to
1976 clear the dragging pasteboard following the drag. In DRT a drag is non-blocking
1977 so this resulted in us prematurely clearing the pasteboard.
1979 This patch avoids this problem by referencing the source CachedImage rather than the
1980 DOMElement, so we don't need to worry about retaining an entire document forever, so
1981 we don't need to clear the dragging pasteboard following the drag.
1983 * Misc/WebNSPasteboardExtras.mm:
1985 Extract the underlying CachedImage from a DOMElement
1986 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
1987 Use a CachedImage instead of a DOMElement
1989 * WebCoreSupport/WebDragClient.mm:
1990 (WebDragClient::startDrag):
1992 * WebKit.xcodeproj/project.pbxproj:
1994 * WebView/WebHTMLView.mm:
1995 (-[WebHTMLViewPrivate dealloc]):
1996 (-[WebHTMLViewPrivate clear]):
1997 (-[WebHTMLView pasteboardChangedOwner:]):
1998 (-[WebHTMLView pasteboard:provideDataForType:]):
1999 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2000 (-[WebHTMLView WebCore::]):
2001 (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
2002 Use CachedImage rather than DOMElement as promised data source
2004 * WebView/WebHTMLViewInternal.h:
2005 * WebView/WebHTMLViewPrivate.h:
2007 2007-05-18 Tristan O'Tierney <tristan@apple.com>
2009 Reviewed by Brady E.
2011 * WebCoreSupport/WebFrameLoaderClient.mm:
2012 (WebFrameLoaderClient::download):
2013 asked the webframeloaderclient for its webview's history and
2014 injected the originated url into the created WebDownload
2016 2007-05-18 John Sullivan <sullivan@apple.com>
2018 Reviewed by Kevin Decker
2020 Improvement to WebKit part of fix for 5201499 based on more modern understanding. (That is,
2021 a couple of hours more modern.)
2023 * WebView/WebUIDelegatePrivate.h:
2024 add showPanel: parameter to just-introduced delegate method webView:saveFrameView:
2026 * WebView/WebPDFView.mm:
2027 (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
2028 pass NO for new showPanel: parameter, and update comment
2030 2007-05-18 Maciej Stachowiak <mjs@apple.com>
2034 <rdar://problem/5204792> REGRESSION (r21367): System widgets are drawn with vertical/horizontal scroll bars
2036 No test because the bug requires calling setAllowsScrolling: to reproduce.
2038 * WebView/WebFrameView.mm:
2039 (-[WebFrameView setAllowsScrolling:]): Update the FrameView's scroll state as well as the one
2040 on WebDynamicScrollBarsView, otherwise this setting won't stick if the frame has already loaded
2043 2007-05-18 Geoffrey Garen <ggaren@apple.com>
2045 Fixed spelling error.
2047 * WebView/WebViewPrivate.h:
2049 2007-05-18 John Sullivan <sullivan@apple.com>
2051 Reviewed by Kevin Decker
2053 WebKit part of fix for 5201499 (support for PDFKit UI for saving PDFs to disk)
2055 Also, the PDFKit mechanism for notifying clients about "Open File Externally" was
2056 changed from a notification to a delegate method. The notification was new to
2057 Leopard, so removing it doesn't affect clients in the field.
2059 * WebView/WebUIDelegatePrivate.h:
2060 Declared new UI delegate method webView:saveFrameView:, analogous to the existing
2061 webView:printFrameView:
2063 * WebView/WebPDFView.mm:
2064 removed declaration of _webkit_PDFKitLaunchNotification
2065 (-[WebPDFView viewDidMoveToWindow]):
2066 don't observe _webkit_PDFKitLaunchNotification
2067 (-[WebPDFView viewWillMoveToWindow:]):
2069 (-[WebPDFView PDFViewOpenPDFInNativeApplication:]):
2070 new PDFKit delegate method, replaces our use of _webkit_PDFKitLaunchNotification
2071 (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
2072 new PDFKit delegate method, calls through to new WebKit UI delegate method
2074 2007-05-17 Oliver Hunt <oliver@apple.com>
2078 Fix for <rdar://problem/4244861> Safari fails to create image file
2079 after releasing dragged image that has changed on source page
2081 This patch fixes this bug by manually creating an NSFileWrapper from
2082 the TIFF promise data for a drag if it is available. This bypasses
2083 the problem of the required resource no longer being held due to page
2084 loads or other constraints.
2086 We need to leave the old path in place to allow for the case where
2087 the promised data is not available.
2089 * WebCoreSupport/WebDragClient.mm:
2090 (WebDragClient::declareAndWriteDragImage):
2091 Always use the top WebHTMLView as the pasteboard owner, this is
2092 safe as we only use the owner for resolving promised types.
2093 * WebView/WebHTMLView.mm:
2094 (-[WebHTMLView _writeSelectionToPasteboard:]):
2095 (-[WebHTMLView writeSelectionToPasteboard:types:]):
2096 Always use the top WebHTMLView as the pasteboard owner.
2097 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2098 Add path to create NSFileWrapper from promise data.
2100 2007-05-17 Oliver Hunt <oliver@apple.com>
2104 Fix for <rdar://problem/4343832> Trying to drag a large 6.2MB jpeg image
2105 out of Safari is unexpectedly slow (4 copies of image plus RTF document on pasteboard)
2107 This patch causes the construction of the RTF and TIFF data to be delayed until requested.
2109 We delay TIFF construction from a DOMElement as this may require generating TIFF data
2110 from the CachedImage, which is slow. To allow the TIFF data to be created later the
2111 it's necessary to add a reference to the source DOMElement to the view.
2113 * Misc/WebNSPasteboardExtras.h:
2114 * Misc/WebNSPasteboardExtras.mm:
2115 (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
2116 Implements the delayed write of RTF data
2117 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
2118 Set up the pasteboard to allow the data writing to be delayed
2119 (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
2120 Now we need to pass the WebHTMLView on to _web_writeImage:element:URL:title:archive:types:source:
2121 * WebCoreSupport/WebDragClient.mm:
2122 (WebDragClient::startDrag):
2123 Clear the dragging pasteboard once the drag has ended to ensure we don't hold references
2124 to anything longer than we need to.
2125 (WebDragClient::declareAndWriteDragImage):
2127 * WebView/WebHTMLView.mm:
2128 (-[WebHTMLViewPrivate dealloc]):
2129 (-[WebHTMLViewPrivate clear]):
2130 (-[WebHTMLView pasteboardChangedOwner:]):
2131 Make sure we clear out the DOMElement reference once it is no longer needed
2132 (-[WebHTMLView pasteboard:provideDataForType:]):
2133 Provide delayed data
2134 (-[WebHTMLView _writeSelectionToPasteboard:]):
2135 Make sure we set pasteboard ownership correctly
2136 (-[WebHTMLView promisedDragTIFFDataSource]):
2137 (-[WebHTMLView setPromisedDragTIFFDataSource:]):
2138 (-[WebHTMLView writeSelectionToPasteboard:types:]):
2139 * WebView/WebHTMLViewInternal.h:
2140 * WebView/WebHTMLViewPrivate.h:
2142 * WebView/WebView.mm:
2143 (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
2145 2007-05-16 Anders Carlsson <andersca@apple.com>
2149 <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari
2151 Update for WebCore changes.
2153 * WebView/WebFrame.mm:
2154 (-[WebFrame _loadURL:referrer:intoChild:]):
2156 2007-05-15 Oliver Hunt <oliver@apple.com>
2158 Reviewed by Sam and Geoff.
2160 Removing dead code left behind from drag and drop refactoring.
2162 * WebCoreSupport/WebFrameBridge.mm:
2163 * WebView/WebHTMLView.mm:
2164 * WebView/WebHTMLViewPrivate.h:
2166 2007-05-15 Bruce Q Hammond <bruceq@apple.com>
2170 Correction of previous patch for http://bugs.webkit.org/show_bug.cgi?id=13578
2171 This corrects the sign of the Y-Axis origin adjustment.
2173 * Plugins/WebBaseNetscapePluginView.mm:
2174 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2176 2007-05-15 Geoffrey Garen <ggaren@apple.com>
2178 Reviewed by Maciej Stachowiak.
2180 Patch: fixed <rdar://problem/5198890> .5% performance regression caused
2183 The only code r21307 added that runs during the PLT is a frame load delegate
2184 -respondsToSelector: call inside windowObjectCleared(), so it seems like
2185 our message dispatch overhead for the frame load delegate is significant.
2187 This patch is a straight port of Maciej's fix for the same problem in the
2188 resource load delegate. The solution is simple enough: don't use Objective-C.
2189 Instead, use a special structure that caches which methods the delegate
2190 implements, along with pointers to those methods.
2192 I verified each frame load delegate callback in the debugger, except for
2193 -webView:didFailLoadWithError:forFrame:, which is not implemented by Safari
2196 * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.h: Removed.
2197 * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.m: Removed.
2199 * WebCoreSupport/WebFrameBridge.mm:
2200 (-[WebFrameBridge windowObjectCleared]): I also removed a misleading
2201 comment here. The JS debugger caches the windowScriptObject, so you do
2202 need to re-create the debugger every time you invalidate the old
2203 WebScriptObject wrapper for the window object and create a new one, or
2204 the debugger will stop working. We could fix this in a number of ways,
2205 but <rdar://problem/4608404> is not the key issue.
2207 2007-05-15 Maciej Stachowiak <mjs@apple.com>
2209 Reviewed by Hyatt and Lars.
2211 - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window
2213 * WebView/WebDataSource.mm:
2214 (-[WebDataSource request]): Return nil when we are still showing the initial empty doc
2216 2007-05-14 Geoffrey Garen <ggaren@apple.com>
2218 Reviewed by Darin Adler.
2220 Updated for WebCore move to PageCache singleton. Also removed some WebCore::
2221 prefixes and replaced them with 'using namespace WebCore'.
2223 * History/WebHistoryItem.mm:
2224 (+[WebHistoryItem _releaseAllPendingPageCaches]):
2225 (-[WebWindowWatcher windowWillClose:]):
2227 2007-05-13 Darin Adler <darin@apple.com>
2229 - one more retain/release for a tiny bit more robustness
2231 * WebView/WebPDFView.mm:
2232 (-[WebPDFView _updatePreferences:]): [prefs release]
2233 (-[WebPDFView _updatePreferencesSoon]): [prefs retain]
2235 2007-05-13 Darin Adler <darin@apple.com>
2239 - fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site
2241 * WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL.
2242 Also remove unneeded @public that gives other classes access to our dataSource member.
2244 * WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the
2245 _cancelUpdatePreferencesTimer method.
2246 (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer.
2247 (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems
2248 where the dataSource is no longer present by not looking at the dataSource field at all.
2249 Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon
2250 to NO and added a release to balance a retain I did in _updatePreferencesSoon.
2251 (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of
2252 an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to
2253 the dataSource when the timer fires.
2255 2007-05-10 Geoffrey Garen <ggaren@apple.com>
2257 Reviewed by Darin Adler.
2259 "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.
2261 2007-05-10 Adele Peterson <adele@apple.com>
2265 WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result
2267 Updated to use selectionRect instead of visibleSelectionRect. selectionRect() now returns the visible rect by default.
2269 * WebView/WebHTMLView.mm:
2270 (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
2271 (-[WebHTMLView selectionImageRect]):
2273 2007-05-10 dethbakin <bdakin@apple.com>
2277 Fix for <rdar://problem/5191941> Leopard: Adobe Acrobat 8:
2278 Distiller 8 needs same check fix as 4992521
2280 * WebView/WebView.mm:
2281 (-[WebView _updateWebCoreSettingsFromPreferences:]): Adobe
2282 Distiller needs the same quirk.
2284 2007-05-10 Maciej Stachowiak <mjs@apple.com>
2288 - WebKit part of fix for:
2289 <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
2290 <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
2292 The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
2293 so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
2295 However, this caused many regressions so I had to fix the fallout.
2297 * WebCoreSupport/WebChromeClient.mm:
2298 (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree
2299 with initial empty document now).
2300 * WebCoreSupport/WebFrameBridge.mm:
2301 (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame.
2302 (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
2303 * WebView/WebFrame.mm:
2304 (-[WebFrame stopLoading]): use stopForUserCancel().
2305 * WebView/WebFrameView.mm:
2306 (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
2307 * WebView/WebView.mm:
2308 (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from
2310 (-[WebView _becomingFirstResponderFromOutside]): Return this value.
2311 * WebView/WebViewInternal.h:
2313 2007-05-09 Oliver Hunt <oliver@apple.com>
2317 The previous patch (r21346) broke editing, rolling out
2319 * WebView/WebHTMLView.mm:
2320 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
2321 (-[WebHTMLView doCommandBySelector:]):
2323 2007-05-09 Adele Peterson <adele@apple.com>
2327 Re-applying fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
2328 http://bugs.webkit.org/show_bug.cgi?id=13263
2330 We don't need to call interpretKeyEvents for cmd-key events as
2331 they events will be interpreted by performKeyEquivalent.
2333 * WebView/WebHTMLView.mm:
2334 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
2335 (-[WebHTMLView doCommandBySelector:]):
2337 2007-05-09 Mark Rowe <mrowe@apple.com>
2339 Build fix to keep the buildbot happy.
2341 * Plugins/WebBaseNetscapePluginView.mm:
2342 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2344 2007-05-08 Bruce Q Hammond <bruceq@apple.com>
2348 http://bugs.webkit.org/show_bug.cgi?id=13578
2349 Bug 13578: When QD plugins draw to an offscreen bitmap the origin is not correct
2351 Now we have correct handling of the origin when QD plugins draw to
2353 Also the clipping code for this path was doing unnecessary work which
2354 caused incorrect results; it has been removed.
2356 This change should not affect Safari and in general will only affect
2357 plugins (e.g. Flash) drawing to a CGBitmapContext.
2359 * Plugins/WebBaseNetscapePluginView.mm:
2360 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2362 2007-05-08 Steve Falkenburg <sfalken@apple.com>
2366 Implemented spelling/grammar related WebEditorClient methods.
2368 * WebCoreSupport/WebEditorClient.h:
2369 * WebCoreSupport/WebEditorClient.mm:
2370 (WebEditorClient::ignoreWordInSpellDocument): Added. Call through to NSSpellChecker.
2371 (WebEditorClient::learnWord): Added. Call through to NSSpellChecker.
2372 (WebEditorClient::checkSpellingOfString): Added. Call through to NSSpellChecker.
2373 (WebEditorClient::checkGrammarOfString): Added. Call through to NSSpellChecker.
2374 (WebEditorClient::updateSpellingUIWithGrammarString): Added. Call through to NSSpellChecker.
2375 (WebEditorClient::updateSpellingUIWithMisspelledWord): Added. Call through to NSSpellChecker.
2376 (WebEditorClient::showSpellingUI): Added. Call through to NSSpellChecker.
2377 (WebEditorClient::spellingUIIsShowing): Added. Call through to NSSpellChecker.
2378 (WebEditorClient::getGuessesForWord): Added. Call through to NSSpellChecker.
2380 2007-05-08 Steve Falkenburg <sfalken@apple.com>
2384 Slight modification to last editor method fix.
2386 * WebCoreSupport/WebEditorClient.h:
2387 (WebEditorClient::updateSpellingUIWithGrammarString):
2389 2007-05-07 Geoffrey Garen <ggaren@apple.com>
2391 Reviewed by Maciej Stachowiak.
2393 Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from
2396 Added -[WebFrame windowObject] and -[WebFrame globalContext], along with
2397 a new frame load delegate method, - (void)webView:(WebView *)webView
2398 didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame.
2399 This is all to support briding between the WebScriptObject and JavaScriptCore
2402 Also fixed more of <rdar://problem/4395622> API: WebScriptObject.h incorrectly
2403 reports that -isSelectorExcludedFromWebScript returns NO by default, and
2404 generally cleaned up the WebScriptObject headerdoc.
2406 * WebCoreSupport/WebFrameBridge.mm:
2407 (-[WebFrameBridge windowObjectCleared]):
2408 * WebView/WebFrame.mm:
2409 (-[WebFrame windowObject]):
2410 (-[WebFrame globalContext]):
2411 * WebView/WebFramePrivate.h:
2412 * WebView/WebViewPrivate.h:
2414 2007-05-07 Timothy Hatcher <timothy@apple.com>
2418 <rdar://problem/5180384> webView:validateUserInterfaceItem:defaultValidation: does not get called on WebUIDelegates
2420 Call the delegate when the one of our views gets a validateUserInterfaceItem: call.
2422 * WebView/WebHTMLView.mm:
2423 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
2424 (-[WebHTMLView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
2425 * WebView/WebPDFView.mm:
2426 (-[WebPDFView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
2427 (-[WebPDFView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
2428 * WebView/WebView.mm:
2429 (-[WebView _responderValidateUserInterfaceItem:]): Call validateUserInterfaceItemWithoutDelegate: to prevent asking the delegate twice.
2430 (-[WebView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
2431 (-[WebView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
2433 2007-05-07 Brady Eidson <beidson@apple.com>
2435 Actually finish the code move from my last checkin
2437 * History/WebHistoryItem.mm:
2438 (-[WebHistoryItem _transientPropertyForKey:]):
2439 (-[WebHistoryItem _setTransientProperty:forKey:]):
2441 2007-05-07 Brady Eidson <beidson@apple.com>
2443 Rubberstamped by Kevin (Sarge)
2445 Make _transientPropertyForKey: and _setTransientProperty:forKey: SPI
2447 * History/WebHistoryItemInternal.h:
2448 * History/WebHistoryItemPrivate.h:
2450 2007-05-04 Geoffrey Garen <ggaren@apple.com>
2452 Reviewed by Tim Hatcher.
2454 First step in fixing <rdar://problem/5055182> The back cache has no global cap
2456 Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely
2457 on the underlying back cache.
2459 I left -setAlwaysAttemptToUsePageCache: as an empty stub because we don't
2460 want to break Safari 2.0, but I removed its header declaration so nobody
2461 else starts using it.
2463 * History/WebHistoryItem.mm:
2464 (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
2465 * History/WebHistoryItemPrivate.h:
2467 2007-05-04 Geoffrey Garen <ggaren@apple.com>
2469 Reviewed by Brady Eidson.
2471 Some cleanup in preparation for fixing <rdar://problem/5055182> The
2472 back/forward cache has no global cap
2474 Unified naming of WebKit/WebCore b/f lists -- instead of the potpourri
2475 of webBackForwardList, backForwardList, list, kitList, coreList, listWrapper,
2476 and webCoreBackForwardList, we use webBackForwardList for WebKit and
2477 backForwardList for WebCore, matching their respective class names.
2479 Removed "private" versions of kit() and core() -- kit() and core() are
2480 canonically used for converting between WebKit API objects and WebCore
2481 API objects. I think it's clearer to have only one way to do this.
2483 Removed COMPUTE_DEFAULT_PAGE_CACHE_SIZE, since it was unused.
2485 Removed _clearPageCache, since it was unused and it duplicated -setPageCacheSize:0.
2487 Removed _usesPageCache, since it was unused and it duplicated -pageCacheSize.
2489 2007-05-04 Brady Eidson <beidson@apple.com>
2491 Reviewed by Mark Rowe
2493 Added main thread assertion to WebHTMLView to help make sure 3rd party clients aren't trying
2494 to draw on secondary threads
2496 * WebView/WebHTMLView.mm:
2497 (-[WebHTMLView drawRect:]): Added ASSERT_MAIN_THREAD()
2499 2007-05-04 Anders Carlsson <andersca@apple.com>
2503 <rdar://problem/5179977> Use the correct URLs when dispatching delegate methods for data loads.
2505 * WebView/WebFrame.mm:
2506 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2507 If the base URL is nil, set it to "about:blank", and set the response URL to a generated applewebdata URL.
2509 * WebView/WebView.mm:
2510 (+[WebView _canHandleRequest:]):
2511 No need to special-case applewebdata URLs here anymore, they're only used in responses.
2513 2007-05-03 Steve Falkenburg <sfalken@apple.com>
2517 Add missing user description parameter to spelling-related editor client method.
2519 * WebCoreSupport/WebEditorClient.h:
2520 (WebEditorClient::updateSpellingUIWithGrammarString):
2522 2007-05-03 TImothy Hatcher <timothy@apple.com>
2526 <rdar://problem/4975212> REGRESSION: With NetNewsWire 2.1.1, the contextual menu shows extra menu items when focus
2527 is placed in input or textarea field
2529 The NetNewsWire UI delegate isn't expecting calls for form controls, so we need to do a linked-on-or-after check.
2530 If the application was linked against Tiger or earlier and the element is a text form control, just return the
2531 default menu items and bypass the delegate call completely.
2533 * WebCoreSupport/WebContextMenuClient.mm:
2534 (isPreVersion3Client): Cache the result of the WebKitLinkedOnOrAfter call
2535 (fixMenusToSendToOldClients): Call the new isPreVersion3Client()
2536 (fixMenusReceivedFromOldClients): Ditto.
2537 (WebContextMenuClient::getCustomMenuFromDefaultItems): Return the default menu items if the element is a text form control.
2539 2007-05-03 Mark Rowe <mrowe@apple.com>
2541 Reviewed by Geoff and Kevin.
2543 <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients
2545 Second shot at fixing this error. Stub out the macros rather than forwarding to JavaScriptCore, which would
2546 leave clients using this header trying to resolve JavaScriptCore symbols against WebKit when linking. This
2547 should only happen in production builds when assertions should be disabled anyway as anyone building a
2548 development configuration should be in a position to move away from using this header.
2550 * Misc/WebAssertions.h:
2552 2007-05-03 Timothy Hatcher <timothy@apple.com>
2556 <rdar://problem/5067707> REGRESSION: "Open Link" contextual menu item appears twice in Mail
2558 Remove the check for Mail in fixMenusToSendToOldClients and fixMenusReceivedFromOldClients
2559 when linked on or after Leopard. The isAppleMail() function is still used for Tiger Mail fixups.
2561 * WebCoreSupport/WebContextMenuClient.mm:
2562 (fixMenusToSendToOldClients):
2563 (fixMenusReceivedFromOldClients):
2565 2007-05-02 Anders Carlsson <andersca@apple.com>
2569 <rdar://problem/5151113> Assertion firing in [FrameProgressEntry addChild:forDataSource:] when navigating cnn.com
2571 The assertion fired because a plug-in was trying to load a subresource when a new load had started but not yet
2572 committed. The check that would have prevented this was removed in order to fix <rdar://problem/5085897>.
2574 This puts back the check but changes it to allow loads where the target is the same frame as the plugin's parent frame.
2576 * Plugins/WebBaseNetscapePluginView.mm:
2577 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2579 2007-04-27 Timothy Hatcher <timothy@apple.com>
2583 There were only a couple calls to ResourceLoadDelegate forwarder left,
2584 this removes the calls and adds a new cached method for didFailLoad.
2586 * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.h: Removed.
2587 * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.m: Removed.
2588 * WebKit/Plugins/WebNullPluginView.mm: Call the resource load delegate directly.
2589 * WebKit/WebCoreSupport/WebFrameLoaderClient.mm: Call the cached didFailLoad delegate function.
2590 * WebKit/WebKit.xcodeproj/project.pbxproj: Remove WebDefaultResourceLoadDelegate.
2591 * WebKit/WebView/WebDataSource.mm: Remove the #import for WebDefaultResourceLoadDelegate.h
2592 * WebKit/WebView/WebView.mm: Remove the ResourceLoadDelegate forwarder, and remove a method that isn't used.
2593 * WebKit/WebView/WebViewInternal.h: Ditto.
2594 * WebKit/WebView/WebViewPrivate.h: Remove a method that is no longer used.
2596 2007-04-27 David Harrison <harrison@apple.com>
2600 <rdar://problem/5160627> Export JS list creation support as ObjC SPI for Mail
2602 * WebKit.xcodeproj/project.pbxproj:
2603 * WebView/WebHTMLView.mm:
2604 (-[WebHTMLView _selectedRange]):
2605 (-[WebHTMLView _shouldDeleteRange:]):
2606 (-[WebHTMLView _canEdit]):
2607 (-[WebHTMLView _canEditRichly]):
2608 (-[WebHTMLView _hasSelection]):
2609 (-[WebHTMLView _hasSelectionOrInsertionPoint]):
2610 (-[WebHTMLView _hasInsertionPoint]):
2611 (-[WebHTMLView _isEditable]):
2612 Condense the check for nil [self frame].
2613 Remove canEditRichly checks and rely on the editor to do the check instead.
2615 (-[WebHTMLView _insertOrderedList]):
2616 (-[WebHTMLView _insertUnorderedList]):
2619 (-[WebHTMLView _canIncreaseSelectionListLevel]):
2620 (-[WebHTMLView _canDecreaseSelectionListLevel]):
2621 (-[WebHTMLView _increaseSelectionListLevel]):
2622 (-[WebHTMLView _increaseSelectionListLevelOrdered]):
2623 (-[WebHTMLView _increaseSelectionListLevelUnordered]):
2624 (-[WebHTMLView _decreaseSelectionListLevel]):
2625 Moved from bridge to frame editor.
2627 * WebView/WebHTMLViewPrivate.h:
2628 Add _insertOrderedList and _insertUnorderedList to WebHTMLView(WebPrivate)
2630 2007-04-27 Brady Eidson <beidson@apple.com>
2632 Rubberstamped by Mark
2634 Remove default implementation of UIDelegate method that was removed
2636 I have also been instructed to give Tim a hard time about this one - apparently
2637 it was his job to clean it out and he failed... failed miserably.
2641 * DefaultDelegates/WebDefaultUIDelegate.m: Removed webViewPrint:
2643 2007-04-27 Maciej Stachowiak <mjs@apple.com>
2647 <rdar://problem/5154113> Repro ASSERT (would be crash) in KJS::GCLock::GCLock (13462)
2648 http://bugs.webkit.org/show_bug.cgi?id=13462
2650 * WebInspector/WebInspector.m:
2651 (-[WebInspectorPrivate dealloc]): Delay release of WebView to avoid GC re-entrancy.
2653 2007-04-27 Anders Carlsson <andersca@apple.com>
2657 <rdar://problem/5165755>
2658 View Source is broken; empty window is shown
2660 Return YES for applewebdata URLs.
2662 * WebView/WebView.mm:
2663 (+[WebView _canHandleRequest:]):
2665 2007-04-26 Oliver Hunt <oliver@apple.com>
2669 Fix <rdar://problem/5061252> REGRESSION: In Gmail, image fails
2670 to be inserted into message field after dragging
2672 Don't try to create <img> tags for local image files as it results
2673 in the potential to submit forms that look like they have an image,
2674 when in reality they don't.
2676 * WebView/WebHTMLView.mm:
2677 (-[WebHTMLView _documentFragmentWithPaths:]):
2679 2007-04-26 Anders Carlsson <andersca@apple.com>
2683 <rdar://problem/5049099> documents no longer have a default base URL
2685 If the base URL is nil, then create a unique applewebdata URL to match what Tiger WebKit does.
2687 * WebView/WebFrame.mm:
2688 (createUniqueWebDataURL):
2689 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2691 2007-04-25 Oliver Hunt <oliver@apple.com>
2693 Rubber stamped by Adele.
2695 Roll out WebKit changes from from r21052 to fix regression noted in
2696 <rdar://problem/5159556> REGRESSION: In Mail, pressing option-command- ' doesn't decrease block quote in selection
2698 * WebView/WebHTMLView.mm:
2699 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
2700 (-[WebHTMLView doCommandBySelector:]):
2702 2007-04-25 Steve Falkenburg <sfalken@apple.com>
2706 Mac callbacks for new spelling methods in WebEditorClient.
2709 * WebCoreSupport/WebEditorClient.h:
2710 (WebEditorClient::ignoreWordInSpellDocument):
2711 (WebEditorClient::learnWord):
2712 (WebEditorClient::checkSpellingOfString):
2713 (WebEditorClient::checkGrammarOfString):
2714 (WebEditorClient::updateSpellingUIWithGrammarString):
2715 (WebEditorClient::updateSpellingUIWithMisspelledWord):
2716 (WebEditorClient::showSpellingUI):
2717 (WebEditorClient::spellingUIIsShowing):
2718 (WebEditorClient::getGuessesForWord):
2720 2007-04-24 Geoffrey Garen <ggaren@apple.com>
2722 Reviewed by Darin Adler, Tim Hatcher.
2724 Fixed a few NSAutoreleasePool issues I noticed while reviewing Brady's patch.
2726 * Carbon/CarbonUtils.m:
2727 (PoolCleaner): Call -drain instead of -release, since -release is a
2728 no-op in a GC world.
2730 * Misc/WebKitErrors.m:
2731 (registerErrors): Condensed onto one line.
2733 * Plugins/WebPluginDatabase.m:
2734 (-[WebPluginDatabase refresh]): Call -drain instead of -release, since
2735 -release is a no-op in a GC world.
2737 * WebCoreSupport/WebChromeClient.mm:
2738 (WebChromeClient::setStatusbarText):
2740 * WebInspector/WebNodeHighlightView.m:
2741 (-[WebNodeHighlightView initWithHighlight:andRects:forView:]): Don't drain
2742 and then release because drain deallocates the receiver, so the release
2745 * WebView/WebView.mm:
2746 (-[WebView rectsForTextMatches]): Re-allocate the pool after draining it,
2747 because drain deallocates the receiver, so the drain would leave you without
2748 any autorelease pool, causing a leak and then an over-release at the bottom
2751 2007-04-24 Brady Eidson <beidson@apple.com>
2753 Reviewed by Beth, Hyatt, Ada, and Darin
2755 <rdar://problem/5011477> and <rdar://problem/5011514>
2756 Provide support for the icon.db to be moved to a different directory from the old WebKit-style
2757 icons, and remove the old directory if that is the case
2759 * Misc/WebIconDatabase.mm:
2760 (-[WebIconDatabase init]):
2761 (-[WebIconDatabase _importToWebCoreFormat]): Check "imported()" to determine if a conversion is needed
2762 - Look for WebIconDatabaseImportDirectoryDefaultsKey for the source location for the conversion
2763 - Set "imported" to true in the Icons.db
2764 - If the new Icons.db isn't in the same patch as the old icons, delete the entire directory when finished
2765 - Move old icon.db to Icons.db to reflect rename
2766 * Misc/WebIconDatabasePrivate.h: Add WebIconDatabaseImportDirectoryDefaultsKey so a WebKit client can tell WebKit
2767 where to look for the old icons if their location is different from the icon.db
2770 2007-04-24 Mitz Pettel <mitz@webkit.org>
2772 Reviewed by Oliver Hunt.
2774 Changed an apostrophe (') into a right single quotation mark (U+2019).
2776 * WebInspector/webInspector/inspector.js:
2778 2007-04-24 Mitz Pettel <mitz@webkit.org>
2780 Reviewed by Timothy Hatcher.
2782 - fix http://bugs.webkit.org/show_bug.cgi?id=13459
2783 The "mapped style" link next to an attribute doesn't work
2785 * WebInspector/webInspector/inspector.js: Added a check that the rule is
2786 mapped from an attribute.
2788 2007-04-23 Adele Peterson <adele@apple.com>
2790 Fixed and reviewed by Darin, Adele, and Oliver.
2792 WebKit part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
2793 http://bugs.webkit.org/show_bug.cgi?id=13263
2795 * WebView/WebHTMLView.mm:
2796 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): If we have no command after calling interpretKeyEvents, we assume the input method handled the key.
2797 (-[WebHTMLView doCommandBySelector:]): Add noop: to the command vector, but then when actually performing actions, ignore it.
2799 2007-04-23 Timothy Hatcher <timothy@apple.com>
2803 <rdar://problem/5124364> IB3 crashes when loading a nib containing a WebView that has a WebHTMLView encoded inside
2805 Since WebView's initWithCoder throws away all the decoded subviews, the WebHTMLView gets dealoced while it has a nil _private pointer.
2806 Checking for a nil _private in WehHTMLView's close fixes this crash. No need to implement a full initWithCoder for WebHTMLView since
2807 it will be thrown away by the WebView anyway.
2809 * WebView/WebHTMLView.mm:
2810 (-[WebHTMLView close]): Return earily if _priviate is nil.
2811 (-[WebHTMLView initWithFrame:]): Unrelated change that removes an AppKit version check that predates Tiger.
2813 2007-04-23 Timothy Hatcher <timothy@apple.com>
2815 Reviewed by Mark Rowe.
2817 Remove the "No Selection" message after leaving search mode.
2818 This was a regression caused by the inspector refresh.
2820 * WebInspector/webInspector/inspector.js:
2822 2007-04-23 Timothy Hatcher <timothy@apple.com>
2826 Bug 6658: World leak when closing inspected window
2827 http://bugs.webkit.org/show_bug.cgi?id=6658 and <rdar://problem/4411863>
2829 Removes over-retains of the inspector WebView, WebInspector and WebInspectorPanel.
2831 * WebInspector/WebInspector.m:
2832 (+[WebInspector sharedWebInspector]): Return the global sharedWebInspector variable.
2833 (-[WebInspector window]): Release the window after calling setWindow:.
2834 (-[WebInspector windowWillClose:]): Set the JavaScript Inspector variable to null and expire the current highlight.
2835 Also clear the global sharedWebInspector variable and release it if self equals sharedWebInspector.
2836 (-[WebInspector showWindow:]): Set the JavaScript Inspector variable back to self.
2837 * WebInspector/WebInspectorInternal.h: Remove the isSharedInspector member variable.
2838 * WebView/WebView.mm:
2839 (-[WebView windowScriptObject]): Return nil if core([self mainFrame]) is NULL.
2841 2007-04-23 Darin Adler <darin@apple.com>
2845 - rename box-sizing to -webkit-box-sizing
2847 * WebInspector/webInspector/inspector.css: Here.
2848 * WebInspector/webInspector/inspector.js: And here, in the expected default CSS values list.
2850 2007-04-22 Timothy Hatcher <timothy@apple.com>
2854 The fix for <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
2855 was #ifdefed out in Production builds.
2857 * WebView/WebView.mm:
2858 (+[WebView initialize]): Move the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM inside initialize around the specific code
2859 (+[WebView _applicationWillTerminate]): Moved outside the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM block
2861 2007-04-22 Timothy Hatcher <timothy@apple.com>
2865 Bug 13436: Make Option-clicking a disclosure triangle expand the entire subtree
2866 http://bugs.webkit.org/show_bug.cgi?id=13436
2868 Makes option-click recursively expand and collapse the sub-tree. Pressing option-left
2869 and -right also recursively expands and collapses the sub-tree.
2871 * WebInspector/webInspector/treeoutline.js:
2873 2007-04-22 Timothy Hatcher <timothy@apple.com>
2877 Bug 13437: Inspector does not update when navigating to a different page
2878 http://bugs.webkit.org/show_bug.cgi?id=13437
2880 * WebInspector/webInspector/inspector.js: Correctly update to a new root node
2881 if the new focus node and the old focus node don't have a common ancestor.
2883 2007-04-22 Darin Adler <darin@apple.com>
2887 - fix for <rdar://problem/5100240> REGRESSION: Control-O broken
2889 * WebView/WebHTMLView.mm:
2890 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Update to handle a vector of
2891 command names instead of a single command.
2892 (-[WebHTMLView doCommandBySelector:]): Change logic so that we add the command to a vector
2893 and also so that the interpretKeyEvents parameters are still intact for a second call to
2894 doCommandBySelector:, since the key bindings mechanism can do more than one.
2895 (-[WebHTMLView insertText:]): Added comment.
2897 2007-04-21 Darin Adler <darin@apple.com>
2901 - fix some problems I ran into using the inspector
2903 * WebInspector/webInspector/inspector.js: Add some null checks.
2905 2007-04-20 Timothy Hatcher <timothy@apple.com>
2909 Merge over the WebInspectorRefresh branch. This change removes the NSOutlineView and
2910 is replaced with a HTML/JavaScript tree. Most of the inspector logic is now in the JavaScript.
2912 A few bugs are fixed by these changes:
2914 Bug 6615: Parent node drop-down list is upside-down
2915 http://bugs.webkit.org/show_bug.cgi?id=6615
2917 Bug 6643: REGRESSION: Tree view repaints lines without erasing them first
2918 http://bugs.webkit.org/show_bug.cgi?id=6643
2920 Bug 6650: Web Inspector HTML Hierarchy can't be scrolled with scrollwheel
2921 http://bugs.webkit.org/show_bug.cgi?id=6650
2923 Bug 6677: Can't drag inspector when tree view has focus
2924 http://bugs.webkit.org/show_bug.cgi?id=6677
2926 Bug 7326: Web Inspector tree scrollbar always shows up when resizing the top pane down
2927 http://bugs.webkit.org/show_bug.cgi?id=7326
2929 * WebInspector/WebInspector.h: Removed the searchQuery methods.
2930 * WebInspector/WebInspector.m: Removed the DOMNode category and code for the old outline view.
2931 * WebInspector/WebInspectorOutlineView.h: Removed.
2932 * WebInspector/WebInspectorOutlineView.m: Removed.
2933 * WebInspector/WebInspectorInternal.h: Remove some methods and instance variables.
2934 * WebInspector/webInspector/Images/resize.png: Added.
2935 * WebInspector/webInspector/inspector.css:
2936 * WebInspector/webInspector/inspector.html: Include the new classes and remove the plugin.
2937 * WebInspector/webInspector/inspector.js: Changes to use the new tree outline and other fixes.
2938 * WebInspector/webInspector/scrollarea.js: Copied from the Dashboard widget resources.
2939 * WebInspector/webInspector/scrollbar.js: Ditto.
2940 * WebInspector/webInspector/treeoutline.js: New tree outline class.
2941 * WebInspector/webInspector/utilities.js: DOM and String prototype additions.
2942 * WebKit.xcodeproj/project.pbxproj: Remove WebInspectorOutlineView.
2944 2007-04-20 Brady Eidson <beidson@apple.com>
2946 Reviewed by Oliver (Black Sheep)
2948 <rdar://problem/3559794>
2949 [WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches
2951 * WebView/WebView.mm: Remove _private->useBackForwardList
2952 (-[WebView _setInitiatedDrag:]): Use _private->page instead of [self page]
2953 (-[WebView initWithCoder:]): Manipulate the flag that is now in WebCore::BackForwardList
2954 (-[WebView encodeWithCoder:]): Ditto
2955 (-[WebView backForwardList]): Use _private->page instead of [self page]
2956 (-[WebView setMaintainsBackForwardList:]): Manipulate the flag that is now in WebCore::BackForwardList
2958 2007-04-20 Anders Carlsson <andersca@apple.com>
2962 <rdar://problem/5085897> REGRESSION: Some Flash links at www.jumpskyhigh.com just reload the page
2964 Get rid of the check that would prevent plugin requests from being loaded if a new page load was underway.
2965 www.jumpskyhigh.com had a flash movie that was embedded inside an <a> tag and clicking on the plug-in would cause the
2966 URL pointed to by the <a> tag to start loading and thus preventing the plug-in from loading the real URL.
2968 This check was added by Maciej and we should be able to remove it with the loader changes that have happened now,
2969 (mainly the fact that resource loaders are handled by the document loader instead of the frame loader).
2971 * Plugins/WebBaseNetscapePluginView.mm:
2972 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2974 2007-04-19 Oliver Hunt <oliver@apple.com>
2978 Fix for <rdar://problem/4960912> -- REGRESSION: Content-Disposition:
2979 filename is ignored for drag-and-drop.
2981 * WebView/WebResource.mm:
2982 (-[WebResource _fileWrapperRepresentation]):
2983 When creating the NSFileWrapper check the response for a preferred
2984 filename, rather than just blindly hoping for the best.
2986 2007-04-19 Anders Carlsson <andersca@apple.com>
2990 <rdar://problem/5137002>
2991 REGRESSION (r20812): [WebFrame DOMDocument] is returning non-nil value in bookmarks view, causing trouble in Safari
2993 Put back the MIME type check as a workaround.
2994 * WebView/WebFrame.mm:
2995 (-[WebFrame DOMDocument]):
2997 2007-04-19 Mark Rowe <mrowe@apple.com>
2999 Reviewed by Oliver and Adam.
3001 <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients.
3003 * Misc/WebAssertions.h: Added.
3004 * WebKit.xcodeproj/project.pbxproj:
3006 2007-04-17 Brady Eidson <beidson@apple.com>
3010 <rdar://problem/5008925>
3011 Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate
3013 * WebCoreSupport/WebFrameLoaderClient.h:
3014 * WebCoreSupport/WebFrameLoaderClient.mm:
3015 (WebFrameLoaderClient::willCacheResponse): Call
3016 [WebResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:];
3018 * WebView/WebView.mm:
3019 (-[WebView _cacheResourceLoadDelegateImplementations]): Pull out the willCacheResponse impl
3021 * WebView/WebViewPrivate.h: Add WebResourceLoadDelegatePrivate category for this new SPI
3023 2007-04-18 John Sullivan <sullivan@apple.com>
3027 - fixed <rdar://problem/5103009> REGRESSION: Activity window shows blank name for untitled pages
3029 * WebView/WebHTMLRepresentation.mm:
3030 (-[WebHTMLRepresentation title]):
3031 return nil for empty string, to match old behavior
3033 2007-04-17 John Sullivan <sullivan@apple.com>
3035 Reviewed by Tim Hatcher
3037 - fixed <rdar://problem/5138492> Safari doesn't remember some changes to the PDF scale and display mode
3039 Some of the user interactions that could change the PDF scale and display mode were not going through
3040 the proxy mechanism in WebPDFView that updates preferences. Now we also listen to PDFKit notifications
3041 in order to catch the other cases.
3043 * WebView/WebPDFView.h:
3044 new _ignoreScaleAndDisplayModeNotifications and _updatePreferencesTimer ivars
3046 * WebView/WebPDFView.mm:
3047 (-[WebPDFView setPDFDocument:]):
3048 ignore scale and display mode notifications while we're setting up a fresh document
3049 (-[WebPDFView dealloc]):
3050 cancel the new timer (which releases it)
3051 (-[WebPDFView viewDidMoveToWindow]):
3052 listen for two PDFKit notifications
3053 (-[WebPDFView viewWillMoveToWindow:]):
3054 stop listening to the two PDFKit notifications
3055 (-[WebPDFView _applyPDFDefaults]):
3057 (-[WebPDFView _cancelUpdatePreferencesTimer]):
3058 invalidate, release, and nil out the timer
3059 (-[WebPDFView _scaleOrDisplayModeChanged:]):
3060 update preferences soon, unless deliberately ignoring these notifications
3061 (-[WebPDFView _updatePreferencesNow]):
3062 cancel timer, then save data to preferences (code for saving the data was extracted from
3063 -[PDFPrefUpdatingProxy forwardInvocation:])
3064 (-[WebPDFView _updatePreferencesSoon]):
3065 use timer to consolidate multiple calls into one action; formerly we were setting preferences
3066 multiple times for some atomic user actions
3067 (-[PDFPrefUpdatingProxy forwardInvocation:]):
3068 call _updatePreferencesSoon where we used to immediately set preferences
3070 2007-04-17 John Sullivan <sullivan@apple.com>
3072 Reviewed by Kevin Decker
3074 - fixed <rdar://problem/4184640> "Look Up in Dictionary" item is always disabled for PDF pages
3076 * WebView/WebPDFView.mm:
3077 (-[WebPDFView validateUserInterfaceItem:]):
3078 enable "Look Up in Dictionary" only if we're using a version of PDFKit that knows how to do so
3079 (-[WebPDFView _canLookUpInDictionary]):
3080 use respondsToSelector to test whether the current version of PDFKit supports this non-API feature
3081 (-[WebPDFView _lookUpInDictionaryFromMenu:]):
3082 implement this method, which WebKit includes in the context menu when there's selected text
3083 (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
3084 updated comment for this change
3086 2007-04-16 Darin Adler <darin@apple.com>
3088 Rubber stamped by Tim Hatcher.
3090 * WebKit.xcodeproj/project.pbxproj: Added Radar bug number to the error message
3091 for the "version number ending in 4" check so folks from Apple can find the
3092 original bug that motivated for this. To summarize what's in that bug, it says that
3093 <http://my.fedex.com> was failing, that it was because of the OpenCube DHTML Menu,
3094 and that some other affected sites were not using OpenCube (so the error is presumably
3097 2007-04-16 Darin Adler <darin@apple.com>
3099 Reviewed by John Sullivan.
3101 - fix http://bugs.webkit.org/show_bug.cgi?id=13303
3102 <rdar://problem/5126341> REGRESSION: controls in a background Safari window
3103 maintain active appearance if the address bar has focus (13303)
3105 * WebView/WebHTMLView.mm: (-[WebHTMLView _windowChangedKeyState]):
3106 Added. Calls FrameView::updateControlTints.
3108 2007-04-13 Oliver Hunt <oliver@apple.com>
3112 Due to rdar://problem/5133910 -- WebArchives should not be constructed
3113 using resource from the cache -- We may try to create a potentially
3114 incorrect WebArchive when dragging an image multiple times.
3116 This patch retains the assertion for invalid behaviour, but adds a
3117 branch to make sure we don't try to do anything with the WebArchive
3120 * Misc/WebNSPasteboardExtras.mm:
3121 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
3123 2007-04-13 Timothy Hatcher <timothy@apple.com>
3125 Reviewed by Dave Harrison.
3127 <rdar://problem/5132727> Soho Mail build fails because of renamed SPI
3129 * WebView/WebUIDelegatePrivate.h: define WebMenuItemTagSearchInGoogle as OldWebMenuItemTagSearchWeb
3131 2007-04-13 Mark Rowe <mrowe@apple.com>
3135 <rdar://problem/5130686> Using WebPreferencesPrivate.h requires modifying framework search path
3137 * WebView/WebPreferencesPrivate.h: Remove unneeded #ifdef.
3139 2007-04-12 Deneb Meketa <dmeketa@adobe.com>
3141 Reviewed by Darin Adler.
3143 http://bugs.webkit.org/show_bug.cgi?id=13029
3144 rdar://problem/4994849
3145 Bug 13029: Permit NPAPI plug-ins to see HTTP response headers.
3147 * Plugins/WebBaseNetscapePluginStream.h: declarations.
3148 * Plugins/WebBaseNetscapePluginStream.mm: main implementation.
3149 (-[WebBaseNetscapePluginStream dealloc]): cleanup.
3150 (-[WebBaseNetscapePluginStream finalize]): cleanup.
3151 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
3153 (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
3154 Main work is here. Extract headers from NSHTTPURLResponse object into a byte sequence.
3155 See comments here about how it would be nice to have low-level access to the HTTP response.
3156 (-[WebBaseNetscapePluginStream _destroyStream]): cleanup.
3157 * Plugins/WebBaseNetscapePluginView.mm:
3158 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
3159 Conform to new startStream params. Not applicable here, pass nil.
3161 2007-04-12 Brady Eidson <beidson@apple.com>
3163 Build fix for case sensitive file systems
3165 * Misc/WebNSPasteboardExtras.mm:
3166 * WebCoreSupport/WebPasteboardHelper.mm:
3168 2007-04-11 John Sullivan <sullivan@apple.com>
3172 - WebKit part of fix for:
3173 <rdar://problem/5128697> REGRESSION: At least one PDF context menu item isn't appearing on Leopard
3175 * Misc/WebNSArrayExtras.h: Added.
3176 * Misc/WebNSArrayExtras.m: Added.
3177 (-[NSMutableArray _webkit_removeUselessMenuItemSeparators]):
3178 New file, includes this method to strip leading, trailing, and duplicate separators from arrays
3179 of NSMenuItems (copied from Safari)
3181 * WebView/WebUIDelegatePrivate.h:
3182 new MenuItemTag enum values for new PDFKit context menu items
3184 * WebKit.xcodeproj/project.pbxproj:
3185 updated for new files
3187 * WebView/WebPDFView.mm:
3188 (-[WebPDFView _anyPDFTagsFoundInMenu:]):
3189 check for new PDFKit context menu items
3190 (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
3191 associate new PDFKit context menu item selectors with the new tags; skip certain selectors that
3192 correspond to menu items that WebKit already includes; remove useless menu item separators when
3193 we're done, since we might have removed arbitrarily-placed menu items
3195 2007-04-11 Oliver Hunt <oliver@apple.com>
3199 Adding RetainPtr to the many global obj-c pointers we use in
3200 C/C++ methods. This is necessary to prevent GC from collecting
3201 globals we want to keep around.
3203 We use RetainPtr in obj-c++ and c++ files, and CFRetain/Release in pure
3206 This fixes <rdar://problem/5058731> -- Crash in
3207 WebCore::DragData::containsCompatibleContent due to early release
3210 * Misc/WebLocalizableStrings.m:
3211 (WebLocalizedString):
3212 * Misc/WebNSPasteboardExtras.mm:
3213 (+[NSPasteboard _web_writableTypesForURL]):
3214 (_writableTypesForImageWithoutArchive):
3215 (_writableTypesForImageWithArchive):
3216 * Misc/WebNSURLExtras.m:
3217 (applyHostNameFunctionToMailToURLString):
3218 (applyHostNameFunctionToURLString):
3219 * Misc/WebStringTruncator.m:
3222 * WebCoreSupport/WebPasteboardHelper.mm:
3223 (WebPasteboardHelper::insertablePasteboardTypes):
3225 2007-04-11 MorganL <morganl.webkit@yahoo.com>
3229 Add a Frame pointer to ChromeClient methods:
3230 http://bugs.webkit.org/show_bug.cgi?id=13127
3232 * COM/ChromeClientWin.cpp:
3233 (ChromeClientWin::createWindow):
3234 (ChromeClientWin::createModalDialog):
3235 * COM/ChromeClientWin.h:
3236 * WebCoreSupport/WebChromeClient.h:
3237 * WebCoreSupport/WebChromeClient.mm:
3238 (WebChromeClient::createWindow):
3239 (WebChromeClient::createModalDialog):
3241 2007-04-10 Brady Eidson <beidson@apple.com>
3245 <rdar://problem/4887095> - PageCache and PageState should be combined
3247 WebKit side of the change to reflect the new object name of CachedPage and new Client method names
3249 * History/WebHistoryItem.mm:
3250 (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
3251 (+[WebHistoryItem _releaseAllPendingPageCaches]):
3252 (-[WebWindowWatcher windowWillClose:]):
3254 * WebCoreSupport/WebFrameLoaderClient.h:
3255 * WebCoreSupport/WebFrameLoaderClient.mm:
3256 (WebFrameLoaderClient::setDocumentViewFromCachedPage):
3257 (WebFrameLoaderClient::loadedFromCachedPage):
3258 (WebFrameLoaderClient::saveDocumentViewToCachedPage):
3260 2007-04-09 Geoffrey Garen <ggaren@apple.com>
3262 Reviewed by Maciej Stachowiak.
3264 Support for fixing fast/forms/textarea-paste-newline.html.
3266 Added SPI for specifying whether a WebView should allow pasting through the
3270 * WebKit.xcodeproj/project.pbxproj:
3271 * WebView/WebPreferenceKeysPrivate.h:
3272 * WebView/WebPreferences.m:
3273 (+[WebPreferences standardPreferences]):
3274 (-[WebPreferences isDOMPasteAllowed]):
3275 (-[WebPreferences setDOMPasteAllowed:]):
3276 * WebView/WebPreferencesPrivate.h:
3277 * WebView/WebView.mm:
3278 (-[WebView _updateWebCoreSettingsFromPreferences:]):
3280 2007-04-09 Anders Carlsson <andersca@apple.com>
3284 <rdar://problem/5081860>
3285 REGRESSION: Select All for standalone image has no visible effect but does change state
3287 <rdar://problem/5081840>
3288 REGRESSION: context menu in white space beyond standalone image is different after Select All
3290 Have validateUserInterface emulate the old behavior for full-frame images and plugins, which is:
3292 - For full-frame plugins, always return false.
3293 - For images, only return true if the selector is copy: and the image has finished loading.
3295 * WebView/WebHTMLView.mm:
3296 (-[WebHTMLView validateUserInterfaceItem:]):
3298 2007-04-09 Anders Carlsson <andersca@apple.com>
3302 <rdar://problem/5026893>
3303 REGRESSION: "Mail Contents of this Page" for standalone image in Safari results in a broken image in Mail
3305 * WebView/WebFrame.mm:
3306 (-[WebFrame DOMDocument]):
3307 We can't check for _isHTMLDocument here since image and plugin documents inherit from HTMLDocument. Instead,
3308 check for those two document types explicitly.
3310 2007-04-09 Anders Carlsson <andersca@apple.com>
3312 Reviewed by Geoff, Ada and John.
3314 <rdar://problem/4600978> Would like a way to test whether a WebView is displaying a standalone image
3316 * WebView/WebFrame.mm:
3317 (-[WebFrame _isDisplayingStandaloneImage]):
3318 * WebView/WebFramePrivate.h:
3319 Add _isDisplayingStandaloneImage SPI.
3321 2007-04-06 Timothy Hatcher <timothy@apple.com>
3323 Reviewed by Mark Rowe.
3325 Adds a build phase script that ensures WebKit's version dosen't end in a 4.
3326 If our version ends in 4, some sites might think we are Netscape 4 in their
3329 * Configurations/Version.xcconfig:
3330 * WebKit.xcodeproj/project.pbxproj:
3332 2007-04-05 Anders Carlsson <andersca@apple.com>
3336 <rdar://problem/5083023>
3337 REGRESSION: In Real Player (10.1.0), video continues to play after closing window
3339 This broke in revision 18422 because now the plugin isn't stopped when the window is closed. Since the window is retained
3340 by the plugin view for as long as it is running (so that removeTrackingRect works even though the window has been closed),
3341 we would end up with a reference cycle (NSWindow -> WebView -> PluginView -> NSWindow) and stopping the plug-in when the window
3342 was closed would break that cycle.
3344 Applications that call -[WebView close] when closing aren't affected, but RealPlayer doesn't do this.
3346 The bug that 18422 was supposed to fix was fixed by 19275, which is why it's safe to add back the check.
3348 * Plugins/WebBaseNetscapePluginView.mm:
3349 (-[WebBaseNetscapePluginView addWindowObservers]):
3350 (-[WebBaseNetscapePluginView removeWindowObservers]):
3351 (-[WebBaseNetscapePluginView windowWillClose:]):
3353 2007-04-05 Kevin McCullough <kmccullough@apple.com>
3357 - Moved registerURLSchemeAsLocal to the public API.
3359 * WebView/WebView.h:
3360 * WebView/WebView.mm:
3361 (+[WebView registerURLSchemeAsLocal:]):
3362 * WebView/WebViewPrivate.h:
3364 === Safari-5522.6 ===
3366 2007-04-04 Anders Carlsson <andersca@apple.com>
3370 <rdar://problem/5107536>
3371 http://bugs.webkit.org/show_bug.cgi?id=13264
3372 REGRESSION: Crash when canceling about:blank in Activity viewer
3374 * WebView/WebFrame.mm:
3375 (-[WebFrame stopLoading]):
3376 Add a null check for the frame loader - it can be null when the frame has been disconnected
3379 2007-04-03 Anders Carlsson <andersca@apple.com>
3383 <rdar://problem/5028178>
3384 Crash occurs at WebCore::FrameLoader::activeDocumentLoader() after loading Froggster widget
3386 * Plugins/WebNetscapePluginStream.mm:
3387 (-[WebNetscapePluginStream start]):
3388 If load returns no the plugin loader has already been removed by the didFail callback.
3390 2007-04-02 Anders Carlsson <andersca@apple.com>
3394 Fix crash when running plugins/destroy-stream-twice.html under GuardMalloc
3396 * Plugins/WebBaseNetscapePluginStream.h:
3397 * Plugins/WebBaseNetscapePluginStream.mm:
3398 (+[WebBaseNetscapePluginStream ownerForStream:]):
3399 (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
3400 (-[WebBaseNetscapePluginStream dealloc]):
3401 (-[WebBaseNetscapePluginStream finalize]):
3402 Change the streams hash map to contain an NPStream*, and change ownerForStream to take an NPStream*.
3404 * Plugins/WebBaseNetscapePluginView.mm:
3405 (-[WebBaseNetscapePluginView destroyStream:reason:]):
3406 Check that the NPStream pointer is valid before accessing stream->ndata.
3408 2007-04-02 Darin Adler <darin@apple.com>
3412 - fix http://bugs.webkit.org/show_bug.cgi?id=13026
3413 <rdar://problem/5061026> incomplete render of menu
3414 (assertion failing in -[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:])
3416 - fix http://bugs.webkit.org/show_bug.cgi?id=13120
3417 <rdar://problem/5080339> Plug-ins that draw through the QuickDraw interface may crash
3418 by hanging onto old GWorlds.
3420 - set clip path for CoreGraphics plug-ins in the same way we do for QuickDraw plug-ins
3421 this is a better fix for <rdar://problem/4939511> WebKit should set the the CG clip
3422 path for plug-ins that draw using Core Graphics
3424 Incorporates changes from a patch by Mark Ambachtsheer.
3426 Here are the changes:
3428 1) Don't try to use the offscreen code path if GGBitmapContextGetData returns 0.
3429 2) Handle kCGBitmapByteOrderDefault when computing the QD pixel format, even though
3430 we don't have any evidence that this happens in practice.
3431 3) Keep the GWorld around until we create a new one or the plug-in is destroyed.
3432 4) Use the GWorld pointer itself as a flag to indicate whether we are using an
3434 5) Set up clipping for CoreGraphics in the same way we do for QuickDraw; remove an
3435 earlier attempt that handled CoreGraphics differently.
3437 * Plugins/WebBaseNetscapePluginView.h: Added a field named offscreenGWorld to hold
3438 the GWorld until it's needed.
3439 * Plugins/WebBaseNetscapePluginView.mm:
3440 (getQDPixelFormatForBitmapContext): Replaced QDPixelFormatFromCGBitmapInfo. Used the
3441 "get" prefix so we don't intrude on the QD namespace. Added code to handle the
3442 kCGBitmapByteOrderDefault case, although I'm not sure it will really come up in
3443 practice -- it wasn't really coming up in the buggy case.
3444 (getNPRect): Added helper functions. Used to make the code below clearer.
3445 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Use getNPRect to
3446 streamline code. Use GetGWorld to save the port since we use SetGWorld to restore
3447 it later. Store the GWorld we create in the offscreenGWorld field and dispose the
3448 existing one. Don't treat the CGBitmapContext as an offscreen bitmap if it
3449 has a data pointer of 0. Set up the clip based on the result of
3450 -[NSView getRectsBeingDrawn:count] when setting up the port for CoreGraphics
3451 (after saving the port state).
3452 (-[WebBaseNetscapePluginView restorePortState:]): Remove now-unneeded code to
3453 destroy the offscreen GWorld, and simplified the code that restores the port so we
3454 don't need a separate case for offscreen.
3455 (-[WebBaseNetscapePluginView fini]): Renamed from freeAttributeKeysAndValues, since
3456 this method now does more than just the attributes. This is the shared method that
3457 does things needed in both dealloc and finalize. Added a call to DisposeGWorld here.
3458 (-[WebBaseNetscapePluginView dealloc]): Updated for name change.
3459 (-[WebBaseNetscapePluginView finalize]): Ditto.
3460 (-[WebBaseNetscapePluginView drawRect:]): Removed code to set clip. This is done in
3461 the saveAndSetNewPortStateForUpdate: method instead.
3463 2007-03-30 Adele Peterson <adele@apple.com>
3467 Call execCommand for deleteWordForward and deleteWordBackward instead of calling
3468 deleteWithDirection directly.
3470 * WebView/WebHTMLView.mm:
3471 (-[WebHTMLView deleteWordForward:]):
3472 (-[WebHTMLView deleteWordBackward:]):
3474 2007-03-30 Anders Carlsson <andersca@apple.com>
3478 * Plugins/WebNetscapePluginPackage.m:
3479 (-[WebNetscapePluginPackage load]):
3480 Initialize pushpopupsenabledstate, poppopupsenabledstate and enumerate.
3483 (NPN_PushPopupsEnabledState):
3484 (NPN_PopPopupsEnabledState):
3485 Add stubs for these functions.
3487 * Plugins/npfunctions.h:
3488 Add new methods to NPNetscapeFuncs.
3490 2007-03-29 Geoffrey Garen <ggaren@apple.com>
3492 Reviewed by Beth Dakin, reviewed by Maciej Stachowiak.
3494 Layout test for <rdar://problem/5091330> REGRESSION: Repro crash in
3495 -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:]
3496 navigating away from page with DivX movie plug-in (13203)
3498 Changed LOG_ERROR to LOG so the layout test doesn't produce console spew
3499 every time you run it.
3501 * Plugins/WebBaseNetscapePluginView.mm:
3502 (-[WebBaseNetscapePluginView destroyStream:reason:]):
3504 2007-03-29 Beth Dakin <bdakin@apple.com>
3508 Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text
3509 blinks when mouse is moved, and is invisible otherwise
3513 <rdar://problem/4992521> Please adjust WebKit's Acrobat-workaround
3516 The fix for the first bug is to compare against the bundle
3517 identifiers for Adobe Reader and the non-Pro Adobe Acrobat in
3518 addition to Adobe Acrobat Pro. The fix for the second bug is to
3519 check the version number of Acrobat/Reader through
3520 WebKitSystemInterface instead of checking which version of WebKit
3521 it has been linked against.
3523 * English.lproj/StringsNotToBeLocalized.txt: Two new bundle
3525 * Misc/WebKitVersionChecks.h: Remove Acrobat quirk constant.
3526 * WebView/WebView.mm:
3527 (-[WebView _updateWebCoreSettingsFromPreferences:]):
3529 2007-03-29 Geoffrey Garen <ggaren@apple.com>
3531 Rubber stamped by Beth Dakin.
3533 WebBaseNetscapePluginStream.m => WebBaseNetscapePluginStream.mm, since