1 2007-07-21 Adam Roben <aroben@apple.com>
3 Fix REGRESSION: Right-click/control-click broken
5 http://bugs.webkit.org/show_bug.cgi?id=14658
6 <rdar://problem/5346830>
10 * WebCoreSupport/WebContextMenuClient.mm:
11 (fixMenusToSendToOldClients): Update defaultItemsCount after removing
12 items from the defaultItems array.
14 2007-07-20 Oliver Hunt <oliver@apple.com>
18 <rdar://problem/5319438> REGRESSION: Cannot paste into an active inline input area (14522)
19 http://bugs.webkit.org/show_bug.cgi?id=14522
21 AppKit sends noop: to -[WebHTMLView doCommandBySelector:] when an IM does not handle event,
22 we now check this as it is necessary to work around some IMs that do send messages
23 (such as insertText: rather than unmarkText: to confirm a composition)
25 * WebView/WebHTMLView.mm:
26 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
27 (-[WebHTMLView doCommandBySelector:]):
28 * WebView/WebHTMLViewInternal.h:
30 2007-07-20 Brady Eidson <beidson@apple.com>
32 Reviewed by Adele and Andersca
34 <rdar://problem/5336105> - WebBackForwardList created from scratch is unusable (always leads to crash)
36 * History/WebBackForwardList.mm:
37 (-[WebBackForwardList init]): Have a default initializer that uses an empty BackFowardList not associated with a page.
39 * WebView/WebFrame.mm:
40 (kit): For clarity's sake, this should return nil, not 0
42 2007-07-20 Justin Garcia <justin.garcia@apple.com>
46 <rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it
48 * WebCoreSupport/WebEditorClient.h:
49 * WebCoreSupport/WebEditorClient.mm: Removed the method
50 for enabling/disabling word selection on right click.
51 * WebView/WebView.mm: Ditto.
52 * WebView/WebViewPrivate.h: Removed the getter/setter entirely,
53 it was in a private Category for Mail, but wasn't used by Mail
54 on Tiger or Leopard, they apparently implement word selection on
57 2007-07-20 Timothy Hatcher <timothy@apple.com>
61 <rdar://problem/5199812> WebView needs to adopt viewWillDraw (moving off of _propagateDirtyRectsToOpaqueAncestors)
62 <rdar://problem/5017301> REGRESSION: Scroller in Widget Manager splits down the middle while scrolling
64 On Leopard _propagateDirtyRectsToOpaqueAncestors is no longer called by AppKit. Also marking new dirty rects
65 underneath _recursiveDisplayRectIfNeededIgnoringOpacity will wait until the next runloop to draw them,
66 causing rendering to happen in two steps instead of one as WebCore expected.
68 * WebView/WebHTMLView.mm:
69 (-[WebHTMLView _topHTMLView]): Move to the file internal category so we can use it in viewWillDraw.
70 (-[WebHTMLView _isTopHTMLView]): Ditto.
71 (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): #ifdef for Tiger only.
72 (-[WebHTMLView viewWillDraw]): Do a recursive layout if this is the top WebHTMLView.
73 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
74 Don't do layout here on Leopard since viewWillDraw handled it.
75 (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
77 2007-07-20 Beth Dakin <bdakin@apple.com>
79 Reviewed by Tim and Geoff.
81 Fix for <rdar://problem/5346855> Mail crashes at
82 WebCore::RenderTableSection:paint + 846 when attempting to display
85 After reapplying styles, the RenderView needs layout. However,
86 layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize used to
87 return early if the WebHTMLView itself does not need layout.
88 Because the WebHTMLView is not necessarily in synch with the
89 RenderTree, returning early here can get us into a bad situation
90 where we paint before laying out the Render Tree. This patch checks
91 both the WebHTMLView and the bridge (which checks the RenderView,
92 etc), so that we do not return early without laying out the Render
95 Some day, we should phase out WebHTMLView keeping track of
96 needsLayout at all. But that is a bit beyond the scope of this fix.
98 * WebView/WebHTMLView.mm:
99 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
101 2007-07-20 John Sullivan <sullivan@apple.com>
103 Reviewed by Darin Adler and David Harrison
105 - fixed <rdar://problem/5307075> REGRESSION: Bottom of some printed pages are truncated
107 The "avoid orphan" code I added a year ago was causing the page to be imaged to a larger
108 height (good), but not shrinking everything to compensate (bad). Bad one-year-ago me!
110 * WebView/WebHTMLViewInternal.h:
111 added avoidingPrintOrphan boolean
113 * WebView/WebHTMLView.mm:
114 (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
115 clear _private->avoidingPrintOrphan when clearing _private->printing
116 (-[WebHTMLView _scaleFactorForPrintOperation:]):
117 take _private->avoidingPrintOrphan into account when computing the scale factor
118 (-[WebHTMLView knowsPageRange:]):
119 set _private->avoidingPrintOrphan when we're shrinking to avoid an orphan
121 2007-07-19 Adam Roben <aroben@apple.com>
123 Fix <rdar://problem/5344972> REGRESSION: A error dialog occurs when
124 attempting to ctrl-click in a iChat message window (webview)
128 * WebCoreSupport/WebContextMenuClient.mm:
129 (fixMenusToSendToOldClients): Don't check for the Inspect Element item
130 if we have fewer than 2 items.
132 2007-07-18 Geoffrey Garen <ggaren@apple.com>
134 Reviewed by Dave Hyatt.
136 <rdar://problem/5345099>
138 Reduced default WebCore cache size from 32 MB to 23 MB on systems below
139 512 MB RAM. This improves RPRVT usage in the Safari pageout test by
140 ~10% on a system with 384 MB RAM.
142 At 23 MB, no extra resources are evicted from the cache during a PLT
143 run, so this is a safe change PLT-wise. 23 MB is also seems to be a
144 generous number in real world usage.
146 * WebView/WebPreferences.m:
147 (+[WebPreferences initialize]):
149 2007-07-18 Anders Carlsson <andersca@apple.com>
153 <rdar://problem/5341133> REGRESSION (Safari 2->Safari 3): DjVu plug-in doesn't load in Safari 3
155 The DjVu plug-in uses the size of the passed in NPNetscapeFuncs struct to copy it over to a NPNetscapeFuncs struct
156 whose size was determined when DjVu was compiled. This means that when we add extra functions to the vtable,
157 DjVu will segfault copying it into the (too small) destination struct.
159 Fix this by special-casing the DjVu plug-in and setting the NPNetscapeFuncs size to be the same size as what DjVu expects.
161 * Plugins/WebNetscapePluginPackage.m:
162 (-[WebNetscapePluginPackage _applyDjVuWorkaround]):
163 (-[WebNetscapePluginPackage load]):
165 2007-07-18 Timothy Hatcher <timothy@apple.com>
169 <rdar://problem/5343767> Should have a way to disable the Web Inspector
171 Adds a new DisableWebKitDeveloperExtras default that will force the Web Inspector to be disabled.
172 This overrides the WebKitDeveloperExtras and IncludeDebugMenu default. It also disables
173 the Web Inspector in Debug builds.
175 * WebView/WebView.mm:
176 (+[WebView _developerExtrasEnabled]): Check for the DisableWebKitDeveloperExtras default.
177 (-[WebView _commonInitializationWithFrameName:groupName:]): Make a new WebInspectorClient when making the Page.
179 2007-07-18 Anders Carlsson <andersca@apple.com>
183 * Misc/WebNSAttributedStringExtras.mm:
185 2007-07-18 Sam Weinig <sam@webkit.org>
187 Rubber-stamped by Adam Roben.
189 Update after renaming MimeTypeRegistry to MIMETypeRegistry.
191 * Misc/WebNSPasteboardExtras.mm:
192 (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
193 * WebCoreSupport/WebFrameBridge.mm:
194 (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
195 * WebView/WebDataSource.mm:
196 (-[WebDataSource _documentFragmentWithArchive:]):
197 * WebView/WebHTMLRepresentation.mm:
198 (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
199 (+[WebHTMLRepresentation supportedImageMIMETypes]):
200 * WebView/WebHTMLView.mm:
201 (-[WebHTMLView _imageExistsAtPaths:]):
203 2007-07-18 Tristan O'Tierney <tristan@apple.com>
205 Reviewed by Maciej Stachowiak.
207 <rdar://problem/5341334> Alt-clicking a link in Safari does not register original URL info with gatekeeper
208 <rdar://problem/5342570> REGRESSION: A hang occurs when attempting to open a attached file from a .Mac web mail message
210 * WebCoreSupport/WebFrameLoaderClient.h:
211 Added a new method, setOriginalURLForDownload, for both download()
212 and startDownload() to share.
214 * WebCoreSupport/WebFrameLoaderClient.mm:
215 (WebFrameLoaderClient::download):
216 Moved all the gatekeeper code into setOriginalURLForDownload.
218 (WebFrameLoaderClient::setOriginalURLForDownload):
219 Same code that was in download() but moved into a single place for both
220 startDownload and download to use. Also returned the boolean logic
221 for detecting _wasUserGesture back to it's previous state, since my prior change
222 was incorrect. Additionally I found a loop index bug with backListCount and fixed it.
224 (WebFrameLoaderClient::startDownload):
225 Calls out to setOriginalURLForDownload after a download is created.
227 * WebView/WebView.mm:
228 (-[WebView _downloadURL:]):
229 Changed to return the WebDownload object created inside _downloadURL
231 * WebView/WebViewInternal.h:
232 Changed _downloadURL to return the WebDownload it creates.
234 2007-07-17 Timothy Hatcher <timothy@apple.com>
238 <rdar://problem/5336267> loadData:MIMEType:textEncodingName:baseURL: doesn't like relative URLs
240 Get the absoluteURL from any user supplied NSURL before we pass it down to WebCore.
242 * WebView/WebFrame.mm:
243 (-[WebFrame _loadURL:referrer:intoChild:]):
244 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
245 * WebView/WebView.mm:
246 (-[WebView userAgentForURL:]):
248 2007-07-17 Adam Roben <aroben@apple.com>
250 Fix Bug 14324: Cannot remove/customize the "Inspect Element" contextual menu item
251 http://bugs.webkit.org/show_bug.cgi?id=14324
253 Only clients linking against new versions of WebKit will see the item.
254 I've maintained our behavior for old clients of not including the
255 Inspect Element item in the menu items passed to the UI delegate.
259 * Misc/WebKitVersionChecks.h: Added a new constant.
260 * WebCoreSupport/WebContextMenuClient.mm:
261 (isPreInspectElementTagClient): Added.
262 (fixMenusToSendToOldClients): Return an array of items that should be
263 appended to the menu received from the delegate.
264 (fixMenusReceivedFromOldClients): Append the saved items to the array.
265 (WebContextMenuClient::getCustomMenuFromDefaultItems): Retain/release
268 2007-07-17 Adam Roben <aroben@apple.com>
270 Remove WebContextMenuClient::shouldIncludeInspectElementItem
274 * WebCoreSupport/WebContextMenuClient.h:
275 * WebCoreSupport/WebContextMenuClient.mm:
277 2007-07-17 Adam Roben <aroben@apple.com>
279 Initialize Settings::developerExtrasEnabled
283 * WebView/WebView.mm:
284 (-[WebView _updateWebCoreSettingsFromPreferences:]):
286 2007-07-17 Geoffrey Garen <ggaren@apple.com>
290 * WebView/WebFrame.mm:
291 (-[WebFrame _loadURL:referrer:intoChild:]):
292 * WebView/WebFramePrivate.h:
294 2007-07-17 Tristan O'Tierney <tristan@apple.com>
296 Reviewed by Maciej Stachowiak.
298 <rdar://problem/5294691> Source of file is misrepresented if downloaded by typing in URL in Safari address bar
300 * WebCoreSupport/WebFrameLoaderClient.h:
301 * WebCoreSupport/WebFrameLoaderClient.mm:
302 (WebFrameLoaderClient::download):
303 Revised code to check the initial request's referrer before assuming it has a history to check.
305 2007-07-16 Brady Eidson <beidson@apple.com>
309 Begin the arduous task of localizing FTP directory listings while removing a global initializer!
311 * English.lproj/Localizable.strings:
312 * WebCoreSupport/WebViewFactory.mm:
313 (-[WebViewFactory unknownFileSizeText]):
315 2007-07-16 Adam Roben <aroben@apple.com>
317 Move printing from WebFrameBridge to WebChromeClient
321 * WebCoreSupport/WebChromeClient.h: Updated for ChromeClient changes.
322 * WebCoreSupport/WebChromeClient.mm:
323 (WebChromeClient::print): Moved code from WebFrameBridge.
324 * WebCoreSupport/WebFrameBridge.mm: Removed -print.
326 2007-07-16 Darin Adler <darin@apple.com>
328 * StringsNotToBeLocalized.txt: Update for recent changes.
330 2007-07-16 John Sullivan <sullivan@apple.com>
332 Reviewed by Kevin Decker and Darin Adler
334 - fixed <rdar://problem/5337529> Holes in Find banner overlay on PDF pages are left in wrong place after changing scale
336 * WebView/WebPDFView.mm:
337 (-[WebPDFView _scaleOrDisplayModeChanged:]):
338 tell UI delegate that the entire PDF view has been redrawn
340 2007-07-14 Brady Eidson <beidson@apple.com>
342 Reviewed by Sam Weinig
344 Initial check-in for <rdar://problem/3154486> - Supporting FTP directory listings in the browser
346 * WebView/WebPreferenceKeysPrivate.h: Added preference keys for the FTP template location, as well as to force
347 FTP directory listings, bypassing the policy delegate. This is necessary to test the new feature until browser
348 policy delegate support is added.
350 * WebView/WebPreferences.m:
351 (-[WebPreferences _setFTPDirectoryTemplatePath:]):
352 (-[WebPreferences _ftpDirectoryTemplatePath]):
353 (-[WebPreferences _setForceFTPDirectoryListings:]):
354 (-[WebPreferences _forceFTPDirectoryListings]):
355 * WebView/WebPreferencesPrivate.h:
356 * WebView/WebView.mm:
357 (-[WebView _updateWebCoreSettingsFromPreferences:]):
359 2007-07-13 Anders Carlsson <andersca@apple.com>
363 <rdar://problem/5290103> Assert failure when loading page with multipart resource
365 Don't try to call the delegate method if the resource object doesn't exist in the
366 identifier map. When a multipart resource has finished loading one part, it is removed from the
367 web view identifier map.
369 This is not an ideal fix, a better fix would be to special-case multipart resources and not remove
370 them when the first part has finished loading. I've filed <rdar://problem/5335034> to track doing that.
372 * WebCoreSupport/WebFrameLoaderClient.mm:
373 (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
374 (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
375 (WebFrameLoaderClient::dispatchDidReceiveResponse):
376 (WebFrameLoaderClient::willCacheResponse):
377 (WebFrameLoaderClient::dispatchDidReceiveContentLength):
378 (WebFrameLoaderClient::dispatchDidFinishLoading):
379 (WebFrameLoaderClient::dispatchDidFailLoading):
381 2007-07-13 Timothy Hatcher <timothy@apple.com>
383 Reviewed by Oliver Hunt.
385 <rdar://problem/5333766> Can't include WebEditingDelegatePrivate.h
387 * WebView/WebEditingDelegatePrivate.h: Changed the include to be a framework include,
388 so other projects can use this header.
390 2007-07-12 Anders Carlsson <andersca@apple.com>
392 Reviewed by Darin and Maciej.
394 <rdar://problem/5271096> panic after Safari stress test, caused by port leak
396 Replace uses of -[NSObject performSelector:withObject:afterDelay:] with CFRunLoopTimer. performSelector
397 causes the target (the WebHTMLView in this case) to be retained until the timer fires. Furthermore, when
398 running the PLT or iBench, the timers will not fire until the main loop is entered (usually after running all tests).
400 This means that the timers and ports will not be released until after the test has finished running.
402 * WebView/WebHTMLView.mm:
403 (-[WebHTMLViewPrivate dealloc]):
404 (-[WebHTMLView _cancelUpdateMouseoverTimer]):
405 (-[WebHTMLView _updateMouseoverWithFakeEvent]):
406 (-[WebHTMLView _updateMouseoverTimerCallback:]):
407 (-[WebHTMLView _frameOrBoundsChanged]):
408 (-[WebHTMLView _updateActiveState]):
409 (-[WebHTMLView _updateActiveStateTimerCallback:]):
410 (-[WebHTMLView viewWillMoveToWindow:]):
411 (-[WebHTMLView viewDidMoveToWindow]):
412 (-[WebHTMLView mouseDown:]):
413 (-[WebTextCompleteController dealloc]):
414 * WebView/WebHTMLViewInternal.h:
416 2007-07-13 Mark Rowe <mrowe@apple.com>
420 Build fix. Stub out WebChromeClient::print.
422 * WebCoreSupport/WebChromeClient.h:
423 * WebCoreSupport/WebChromeClient.mm:
424 (WebChromeClient::print):
426 2007-07-11 Timothy Hatcher <timothy@apple.com>
430 <rdar://problem/5108789> WEBVIEW: Drawing artifacts when dragging in IB
432 Interface Builder 3 is relying on KVO notifications for frameOrigin and frameSize,
433 among other standard NSView keys. Change automaticallyNotifiesObserversForKey to
434 return NO only for keys WebView manually fires notifications for.
436 * WebView/WebView.mm:
437 (+[WebView automaticallyNotifiesObserversForKey:]): Selectivly return NO for keys we manually fire.
438 (-[WebView _declaredKeys]): Code clean up.
440 2007-07-10 Antti Koivisto <antti@apple.com>
444 Fix <rdar://problem/4570550>
445 Hang in layout/layoutBlock/layoutBlockChildren preparing to print certain Mail messages
447 When printing from Mail, WebHTMLView is a subview of the view that is actually printed and does not
448 receive calls that would set it to printing mode. Method adjustPageHeightNew is called repeatedly (for each page) during
449 printing and it enables printing mode temporarily for each call. This triggers two full style recalcs and layouts
450 each time making printing at least O(n^2).
452 Instead of enabling printing mode and resetting it back immediatly do the resetting asynchronously, after
453 all adjustPageHeightNew calls are done. Normal Safari printing is not affected as adjustPageHeightNew is only
454 called in case WebHTMLView is embedded in the view that is being printed.
456 No automatic test possible, requires printing and non-Safari client.
458 * WebView/WebHTMLView.mm:
459 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
461 2007-07-10 Geoffrey Garen <ggaren@apple.com>
463 Reviewed by Maciej Stachowiak.
465 - Fixed <rdar://problem/5049509> REGRESSION(10.4.9-9A377a): REAP Suite
466 installer shows empty modal alert window (hangs) if user cancels during
467 "installing shared components" phase
469 Added Adobe installers to the family of apps that need a data load
472 Added a linked-on-or-after check because this code is no longer
475 I tested this code on Tiger and Leopard.
477 * Misc/WebKitVersionChecks.h:
478 * WebKit.xcodeproj/project.pbxproj:
479 * WebView/WebDocumentLoaderMac.mm:
480 (needsDataLoadWorkaround):
481 (WebDocumentLoaderMac::setDataSource):
483 2007-07-10 Darin Adler <darin@apple.com>
487 * WebView/WebHTMLView.mm: Add include of ContextMenu.h.
489 2007-07-10 Darin Adler <darin@apple.com>
491 Reviewed by John Sullivan.
493 - <rdar://problem/5321953> remove workaround for fixed AppKit mouse moved bug
495 * WebView/WebHTMLView.mm: Put the workaround for bug 3429631 inside an
496 ifdef BUILDING_ON_TIGER.
498 2007-07-09 Anders Carlsson <andersca@apple.com>
502 <rdar://problem/4954319>
503 Acrobat 7 / Safari crash: CrashTracer: 99 crashes in Safari at
504 com.apple.WebCore: WebCore::NetscapePlugInStreamLoader::isDone const + 0
506 Add a new initWithFrameLoader: method to WebNetscapePluginStream which is to be used when
507 the stream is a "fake" stream for full frame plug-ins.
509 * Plugins/WebBaseNetscapePluginView.mm:
510 (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
511 * Plugins/WebNetscapePluginStream.h:
512 * Plugins/WebNetscapePluginStream.mm:
513 (-[WebNetscapePluginStream initWithFrameLoader:]):
514 (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
515 (-[WebNetscapePluginStream start]):
516 (-[WebNetscapePluginStream cancelLoadWithError:]):
517 (-[WebNetscapePluginStream stop]):
518 * WebCoreSupport/WebFrameLoaderClient.mm:
519 (WebFrameLoaderClient::createFrame):
521 2007-07-09 John Sullivan <sullivan@apple.com>
525 - fixed <rdar://problem/5320208> WebKit should prevent Time Machine from backing up WebKit clients' icon databases
527 * Misc/WebIconDatabase.mm:
528 (-[WebIconDatabase init]):
529 Re-added the code to exclude the icon database from backups. We now do this at the same time we (try to) import
530 the old icon database format, which happens only once per icon database's lifetime.
531 (-[WebIconDatabase _importToWebCoreFormat]):
532 Assert that we haven't imported yet rather than bailing out. It's now the caller's responsibility to check
533 whether we've imported yet.
535 2007-07-08 John Sullivan <sullivan@apple.com>
537 * Misc/WebIconDatabase.mm:
538 (-[WebIconDatabase init]):
539 Removed the code to exclude the icon database from backups. We still want to do this, but in a way
540 that only runs once ever, instead of once per launch, due to performance concerns.
542 2007-07-07 Darin Adler <darin@apple.com>
546 - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check
548 * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_MAIN_THREAD_EXCEPTIONS.
550 * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): In first-time initialization block,
551 check for binaries linked against older versions of WebKit, and set the default thread violation
552 behavior to LogOnFirstThreadViolation.
554 * WebView/WebView.mm: (+[WebView initialize]): Improved comments.
556 2007-07-06 Oliver Hunt <oliver@apple.com>
560 <rdar://problem/5318756> Need to refactor IM/Marked text code to share logic with windows.
562 Moved a number of methods from WebHTMLView into WebCore.
563 Replaced bridge methods with calls directly into WebCore objects.
565 * WebKit.xcodeproj/project.pbxproj:
566 * WebView/WebHTMLView.mm:
567 (-[WebHTMLView setMarkedText:selectedRange:]):
568 Now calls WebCore object methods directly, rather than calling
571 2007-07-06 John Sullivan <sullivan@apple.com>
575 - WebKit part of fix for:
576 <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files
578 * Misc/WebIconDatabase.mm:
579 (-[WebIconDatabase init]):
580 Use CSBackupSetItemExcluded to tell Time Machine not to back up the icon database file
582 2007-07-07 Mark Rowe <mrowe@apple.com>
584 Build fix. Update WebDynamicScrollBarsView.h to include methods added and used in r24060.
586 * WebView/WebDynamicScrollBarsView.h:
588 2007-07-05 Timothy Hatcher <timothy@apple.com>
592 <rdar://problem/5236277> REGRESSION-9A458: SPI for setting scroll bar behavior doesn't work
594 Calling setHorizontalScrollingMode: calls updateScrollers before returning, this will cause
595 WebCore to reset the scrolling mode based on the CSS overflow rules. So the setAlwaysShowHorizontalScroller:
596 and setAlwaysShowVerticalScroller: methods needed a way to lock the scrolling mode before
597 calling updateScrollers.
599 * WebView/WebDynamicScrollBarsView.m:
600 (-[WebDynamicScrollBarsView updateScrollers]):
601 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
602 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
603 (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
604 (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
605 (-[WebDynamicScrollBarsView setScrollingMode:]):
606 (-[WebDynamicScrollBarsView setScrollingMode:andLock:]):
607 * WebView/WebView.mm:
608 (-[WebView setAlwaysShowVerticalScroller:]):
609 (-[WebView setAlwaysShowHorizontalScroller:]):
611 2007-07-06 Mitz Pettel <mitz@webkit.org>
615 - fix http://bugs.webkit.org/show_bug.cgi?id=10267
616 Can't scroll page downwards with scroll wheel, when pointer is on top of non-scrolling iframe
618 * WebView/WebDynamicScrollBarsView.m:
619 (-[WebDynamicScrollBarsView scrollWheel:]): Override the superclass
620 implementation to forward the wheel event to the next responder if this view
621 does not allow scrolling in the event's direction.
623 2007-07-05 John Sullivan <sullivan@apple.com>
627 - WebKit part of fix for <rdar://problem/5315033>
629 * WebView/WebDocumentPrivate.h:
630 new selectionImageForcingBlackText: method. selectionImageForcingWhiteText: is no longer used and was never
631 in an official release of WebKit, so it could be removed, except that doing so would cause trouble for people
632 using nightly WebKit with Safari 3.0 beta. So I left it in, but made it just force black text instead of
633 white text, which will look different for those nightly WebKit/Safari 3.0 beta people but not break anything.
635 * Misc/WebSearchableTextView.m:
636 (-[WebSearchableTextView selectionImageForcingBlackText:]):
637 new unimplemented protocol method for this obsolete class
639 * WebView/WebHTMLView.mm:
640 (-[WebHTMLView selectionImageForcingBlackText:]):
641 calls through to WebCore the way selectionImageForcingWhiteText: used to
642 (-[WebHTMLView selectionImageForcingWhiteText:]):
643 now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
645 * WebView/WebPDFView.mm:
646 (-[WebPDFView selectionImageForcingBlackText:]):
647 guts of old selectionImageForcingWhiteText:, but with black substituted for white
648 (-[WebPDFView selectionImageForcingWhiteText:]):
649 now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
651 2007-07-05 Timothy Hatcher <timothy@apple.com>
655 <rdar://problem/5314993> Shiira 2.1 throws an exception open a new window: -[WebInspector window]: unrecognized selector
657 Add an empty implementation of this method to prevent Shiira from throwing an exception.
658 Also log that this method is obsolete and the class will be removed.
660 * WebInspector/WebInspector.mm:
661 (-[WebInspector window]):
663 2007-07-04 Adam Roben <aroben@apple.com>
665 Move tooltip logic down into WebCore so that it can be shared cross-platform
669 * WebCoreSupport/WebChromeClient.h:
670 * WebCoreSupport/WebChromeClient.mm:
671 (WebChromeClient::setToolTip): Added.
672 * WebView/WebHTMLView.mm: Removed _resetCachedWebPreferences.
673 (-[WebHTMLView _updateMouseoverWithEvent:]): Removed tooltip code.
674 (-[WebHTMLView initWithFrame:]): Removed call to
675 _resetCachedWebPreferences.
676 (-[WebHTMLView setDataSource:]): Ditto.
677 * WebView/WebHTMLViewInternal.h: Removed showsURLsInToolTips ivar.
678 * WebView/WebHTMLViewPrivate.h: Added declaration for _setTooltip so
679 that WebChromeClient can call it.
681 2007-07-04 Adam Roben <aroben@apple.com>
683 Initialize Settings::showsURLsInToolTips
687 * WebView/WebView.mm:
688 (-[WebView _updateWebCoreSettingsFromPreferences:]):
690 2007-07-04 Adam Roben <aroben@apple.com>
692 Removed call to mouseDidMoveOverElement now that WebCore handles it
696 * WebView/WebHTMLView.mm:
697 (-[WebHTMLView _updateMouseoverWithEvent:]):
699 2007-07-04 Adam Roben <aroben@apple.com>
701 Add WebChromeClient::mouseDidMoveOverElement
703 This is not called yet.
707 * WebCoreSupport/WebChromeClient.h:
708 * WebCoreSupport/WebChromeClient.mm:
710 2007-07-03 Darin Adler <darin@apple.com>
712 * StringsNotToBeLocalized.txt: Updated for recent changes.
714 2007-07-03 Timothy Hatcher <timothy@apple.com>
718 Remove HIWebView in 64-bit.
720 Also disable a few calls that are now gone in 64-bit and filed these bugs:
722 <rdar://problem/5311653> WebKit needs to adopt HIGetMousePosition where we used GetGlobalMouse before
723 <rdar://problem/5311648> WebKit needs to move off of CopyEvent in WebBaseNetscapePluginView
724 <rdar://problem/5311640> WebKit needs a new solution for HISearchWindowShow on 64-bit
726 * Carbon/CarbonUtils.m:
727 * Carbon/CarbonWindowAdapter.m:
728 * Carbon/CarbonWindowContentView.m:
729 * Carbon/CarbonWindowFrame.m:
730 * Carbon/HIViewAdapter.m:
731 (SetViewNeedsDisplay):
732 * Carbon/HIWebView.m:
735 * Configurations/WebKit.xcconfig:
736 * Plugins/WebBaseNetscapePluginView.mm:
737 (+[WebBaseNetscapePluginView getCarbonEvent:]):
739 * WebKit.LP64.exp: Added.
740 * WebView/WebView.mm:
741 (-[WebView _searchWithSpotlightFromMenu:]):
743 2007-07-03 Adam Roben <aroben@apple.com>
745 Merge the Windows and Mac localized strings and exceptions files
747 Reviewed by Darin and Anders.
749 * English.lproj/Localizable.strings: Added Windows strings.
750 * StringsNotToBeLocalized.txt: Renamed from WebKit/English.lproj/StringsNotToBeLocalized.txt.
752 2007-07-03 Adele Peterson <adele@apple.com>
754 Removed printf I accidently left in.
756 * Misc/WebNSURLExtras.m: (mapHostNames):
758 2007-07-03 Adele Peterson <adele@apple.com>
762 Fix for: <rdar://problem/5292988> domain names shouldn't contain ignorable characters
764 * Misc/WebNSURLExtras.m:
765 (isLookalikeCharacter): Renamed. Also excludes any non-printable character,
766 any character considered as whitespace that isn't already converted to a space by ICU, any ignorable character,
767 and any character excluded in Mozilla's blacklist: http://kb.mozillazine.org/Network.IDN.blacklist_chars
768 (allCharactersInIDNScriptWhiteList):
770 2007-07-03 Darin Adler <darin@apple.com>
774 - fix <rdar://problem/5310848> WebDataSource lifetime problem -- may be cause of the leaks seen on the buildbot
776 * WebView/WebDataSource.mm:
777 (-[WebDataSourcePrivate dealloc]): Added a call to the new detachDataSource function.
778 (-[WebDataSourcePrivate finalize]): Ditto.
780 * WebView/WebDocumentLoaderMac.h: Added detachDataSource function to be used when the
781 WebDataSource is deallocated. Added retain/releaseDataSource helper functions to be
782 used to retain and release the data source object. Replaced the m_hasEverBeenDetached
783 boolean with a more primitive and hence easier to understand m_isDataSourceRetained boolean.
785 * WebView/WebDocumentLoaderMac.mm:
786 (WebDocumentLoaderMac::WebDocumentLoaderMac): Initialize m_isDataSourceRetained to false.
787 (WebDocumentLoaderMac::setDataSource): Call retainDataSource instead of calling HardRetain
788 on the dataSource parameter. Also updated a comment.
789 (WebDocumentLoaderMac::attachToFrame): Call retainDataSource unconditionally rather than
790 trying to use m_hasEverBeenDetached to decide if a retain is needed. Also got rid of an
791 assertion that m_loadingResources is empty -- not important any more.
792 (WebDocumentLoaderMac::detachFromFrame): Call releaseDataSource instead of using
793 HardRelease, but only if m_loadingResources is empty. If it's non-empty, then we'll
794 do the releaseDataSource later in decreaseLoadCount.
795 (WebDocumentLoaderMac::increaseLoadCount): Call retainDataSource unconditionally
796 rather than calling HardRetain only if the old set of resources was empty.
797 (WebDocumentLoaderMac::decreaseLoadCount): Call releaseDataSource if m_loadingResources
798 is empty and we're not attached to a frame. If we are attached to a frame, then
799 we'll do the releaseDataSource later in detachFromFrame.
800 (WebDocumentLoaderMac::retainDataSource): Added. Calls CFRetain, but only if the data
801 source is not already retained (according to the boolean).
802 (WebDocumentLoaderMac::releaseDataSource): Added. Calls CFRelease, but only if the data
803 source is currently retained (according to the boolean).
804 (WebDocumentLoaderMac::detachDataSource): Added. Sets m_dataSource to nil. Since this
805 is only called from WebDataSource's dealloc and finalize methods, it won't ever be called
806 when the m_isDataSourceRetained boolean is true.
808 2007-07-03 Darin Adler <darin@apple.com>
810 - forgot to check in one file in the fix for <rdar://problem/5307880>
811 some classes need finalize methods because of non-trivial work done in dealloc methods
813 * WebView/WebView.mm: (-[WebViewPrivate finalize]): Delete identifierMap so it doesn't leak.
815 2007-07-03 Anders Carlsson <andersca@apple.com>
819 * WebView/WebView.mm:
820 (-[WebView stringByEvaluatingJavaScriptFromString:]):
821 ASSERT that the value returned isn't nil. It can't be nil when invoked on the main frame.
823 2007-07-04 Mark Rowe <mrowe@apple.com>
825 Unreviewed 64-bit build fixes.
827 * WebCoreSupport/WebInspectorClient.mm: Let the compiler know that WebFrameView is a subclass of NSView.
828 * WebView/WebDocumentInternal.h: Remove our preprocessor macro once we're done with it.
829 * WebView/WebHTMLView.mm:
830 (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Fix argument types.
832 2007-07-02 Darin Adler <darin@apple.com>
834 Reviewed by Kevin Decker and Tim Hatcher.
836 - fix <rdar://problem/5307880> some classes need finalize methods
837 because of non-trivial work done in dealloc methods
839 * DefaultDelegates/WebScriptDebugServer.m:
840 (-[WebScriptDebugServer dealloc]): Added a comment about how this probably won't
842 * WebInspector/WebNodeHighlight.m:
843 (-[WebNodeHighlight dealloc]): Ditto.
845 * WebView/WebDataSource.mm:
846 (+[WebDataSourcePrivate initialize]): Added. Makes finalize run on main thread.
847 (-[WebDataSourcePrivate finalize]): Added. Calls deref on the document loader.
848 * WebView/WebHTMLView.mm:
849 (+[WebHTMLViewPrivate initialize]): Added. Makes finalize run on main thread.
850 (-[WebHTMLViewPrivate finalize]): Added. Calls deref on promisedDragTIFFDataSource.
852 * WebKit.xcodeproj/project.pbxproj: Let Xcode be Xcode.
854 2007-07-02 Oliver Hunt <oliver@apple.com>
859 <rdar://problem/5290113> WebKit does not correctly handle replacement ranges from the IM in -[WebHTMLView insertText:]
860 http://bugs.webkit.org/show_bug.cgi?id=13664
862 We replicate the logic of -[WebHTMLView setMarkedText:selectedRange:] to handle the Input Method
863 feeding us a replacement string through insertText: so we can handle IMs that use insertText to
866 * WebView/WebHTMLView.mm:
867 (-[WebHTMLView insertText:]):
869 2007-07-01 Oliver Hunt <oliver@apple.com>
873 Fix for <rdar://problem/5306210> Some events are still passed to WebCore despite being handled by the IM
874 http://bugs.webkit.org/show_bug.cgi?id=14457
876 We have to assume that the IM will consume all events, so we remove the dependency
877 on -[WebHTMLView hasMarkedText].
879 * WebView/WebHTMLView.mm:
880 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
882 2007-06-29 John Sullivan <sullivan@apple.com>
884 Reviewed by Oliver Hunt.
886 - WebKit support for accessing the set of rectangles that encompass the selected text
888 * WebView/WebDocumentPrivate.h:
889 added -selectionTextRects to WebDocumentSelection protocol; tweaked comments
891 * WebView/WebHTMLView.mm:
892 (-[WebHTMLView _selectionDraggingRect]):
893 use selectionRect instead of selectionImageRect since they're the same and maybe we can get
894 rid of selectionImageRect someday
895 (-[WebHTMLView selectionTextRects]):
896 added implementation of new protocol method, which calls through to WebCore
898 * WebView/WebPDFView.mm:
899 (-[WebPDFView selectionTextRects]):
900 added simple implementation of new protocol method, which just returns the single selection rect.
901 PDFKit doesn't support obtaining multiple rects to describe a multi-line selection.
902 (-[WebPDFView selectionImageForcingWhiteText:]):
903 use selectionRect instead of selectionImageRect since they're the same and maybe we can get
904 rid of selectionImageRect someday
906 * Misc/WebSearchableTextView.m:
907 (-[WebSearchableTextView selectionTextRects]):
908 added no-op implementation of new protocol method to this obsolete class
910 2007-06-28 Timothy Hatcher <timothy@apple.com>
914 <rdar://problem/5287569> WEBVIEW: Creating a webview in IB 3.0 (v2.0) NIB later crashes Interface Builder 2.5.4 on Tiger
916 Prevent encoding any of the WebView subviews. The subviews are ignored by -[WebView initWithCoder:] and will be recreated.
917 The Tiger 2.0 code crashed when the WebView released the subviews in initWithCoder:, so now there are no subviews to release.
918 This never happened before because the Tiger 2.0 code and IB wouldn't encode a WebView that has a WebHTMLView.
920 * WebView/WebView.mm:
921 (-[WebView encodeWithCoder:]):
923 2007-06-26 John Sullivan <sullivan@apple.com>
927 - WebKit support for displaying multiple text matches in PDF views (<rdar://problem/4601967>)
929 * WebView/WebPDFView.h:
930 new ivars textMatches and lastScrollPosition; now conforms to WebMultipleTextMatches protocol
932 * WebView/WebPDFView.mm:
933 (-[WebPDFView dealloc]):
935 (-[WebPDFView viewDidMoveToWindow]):
936 start observing bounds changes in the PDF document's enclosing clip view, so we can notice when
937 scrolling takes place
938 (-[WebPDFView viewWillMoveToWindow:]):
939 stop observing bounds changes in the PDF document's enclosing clip view
940 (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
941 most of the code here has been moved into the new method _nextMatchFor::::, which this now calls
942 (-[WebPDFView setMarkedTextMatchesAreHighlighted:]):
943 implementation of WebMultipleTextMatches protocol method, does nothing useful here because we don't
944 support inline highlighting of matches in PDF documents
945 (-[WebPDFView markedTextMatchesAreHighlighted]):
946 implementation of WebMultipleTextMatches protocol method
947 (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]):
948 implementation of WebMultipleTextMatches protocol method; calls _nextMatchFor:::: in a loop until
949 entire document is searched or limit is hit; records results by saving PDFSelections in textMatches ivar
950 (-[WebPDFView unmarkAllTextMatches]):
951 implementation of WebMultipleTextMatches protocol method; clears saved textMatches
952 (-[WebPDFView rectsForTextMatches]):
953 implementation of WebMultipleTextMatches protocol method; converts saved PDFSelections into NSValue
954 objects that represent NSRects
955 (-[WebPDFView _clipViewForPDFDocumentView]):
956 new helper method to find the clip view whose bounds determine the current scroll position
957 (-[WebPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]):
958 new helper method, extracted from searchFor:::::
959 (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]):
960 new notification callback; tells webView's delegate when document has scrolled
961 (-[WebPDFView _setTextMatches:]):
962 new helper method, stores value in ivar
964 2007-06-26 Oliver Hunt <oliver@apple.com>
968 Hopefully fix remainder of the IME issues on Mac.
969 We now assume that the IME silently consumes any event given
970 to it during text composition, and only override this assumption
971 if the NSTextInput or NSResponder callbacks are made.
973 This prevents us from treating those events that the IME has
974 consumed internally (eg. candidate window navigation) as unhandled
975 events that should be bubbled.
978 <rdar://problem/5107538> Major problems handling key press event with non-english Input Methods
979 <rdar://problem/4196249> REGRESSION: Mail: Inputting space (U+0020) with IM deletes subsequent line breaks on Mail.app
980 <rdar://problem/5015544> REGRESSION: Reverse conversion keyboard command does not work in Safari.
981 <rdar://problem/5045121> REGRESSION: Inline is confirmed after press left/right arrow keys, happens in Mail but not in TextEdit.
982 <rdar://problem/5076807> REGRESSION: Can't undo conversion of inline text (by hitting ESC)
983 <rdar://problem/5085781> REGRESSION: Active input area lost "selected" highlight
984 <rdar://problem/5094200> space key pressed to close the associated words candidate window gets inserted as text
985 <rdar://problem/5228294> Candidate item for character matrix is sometimes skipped
987 * WebKit.xcodeproj/project.pbxproj:
988 * WebView/WebHTMLView.mm:
989 (-[WebHTMLView launchKeyEvent:]):
990 (-[WebHTMLView keyDown:]):
991 (-[WebHTMLView keyUp:]):
992 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
993 (-[WebHTMLView unmarkText]):
994 (-[WebHTMLView setMarkedText:selectedRange:]):
995 (-[WebHTMLView doCommandBySelector:]):
996 (-[WebHTMLView insertText:]):
998 2007-06-26 Jim Correia <jim.correia@pobox.com>
1002 Fix http://bugs.webkit.org/show_bug.cgi?id=14411
1003 Bug 14411: WebNetscapePluginPackage overagressively sets CurApRefNum, which affects shipping versions of BBEdit.
1004 <rdar://problem/5297268>
1006 * Plugins/WebNetscapePluginPackage.m:
1007 (+[WebNetscapePluginPackage initialize]): Force the Resource Manager to
1008 lazy initialize, and only set CurApRefNum to the system file if
1009 CurApRefNum is still -1 after that forced lazy initialization.
1011 2007-06-25 Kevin Decker <kdecker@apple.com>
1015 <rdar://problem/5294036> -[WebView customTextEncodingName] API may return empty string instead of nil
1017 * WebView/WebView.mm:
1018 (-[WebView _mainFrameOverrideEncoding]): Addded the nsStringNilIfEmpty() inline to the data being returned because
1019 our API says "The custom text encoding name or nil if no custom text encoding name has been set." I also verified
1020 the standing Tiger WebKit behavior for this method and it does indeed return nil if a custom encoding wasn't set.
1022 2007-06-25 John Sullivan <sullivan@apple.com>
1026 - WebKit part of <rdar://problem/5293820>, needed to support multiple matches in PDFs
1028 * WebView/WebDocumentInternal.h:
1029 Added WebMultipleTextMatches protocol, containing five methods that were formerly implemented in WebHTMLView
1030 * WebView/WebHTMLViewPrivate.h:
1031 Removed declarations for the methods that are now in WebMultipleTextMatches protocol
1033 * WebView/WebHTMLView.mm:
1034 (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
1035 moved this method into the WebDocumentInternalProtocols portion of the file
1036 (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
1038 (-[WebHTMLView markedTextMatchesAreHighlighted]):
1040 (-[WebHTMLView unmarkAllTextMatches]):
1042 (-[WebHTMLView rectsForTextMatches]):
1045 * WebView/WebView.mm:
1046 (-[WebView canMarkAllTextMatches]):
1047 new method, returns YES only if the documentView of every frame implements WebMultipleTextMatches
1048 (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
1049 check for WebMultipleTextMatches protocol instead of checking for WebHTMLView class
1050 (-[WebView unmarkAllTextMatches]):
1052 (-[WebView rectsForTextMatches]):
1055 * WebView/WebViewPrivate.h:
1056 declared new method canMarkAllTextMatches
1058 2007-06-25 John Sullivan <sullivan@apple.com>
1062 Fixed <rdar://problem/5292259> Find on Page doesn't work (throws exception) on page that includes PDF in a subframe
1064 * WebView/WebView.mm:
1065 (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
1066 We were testing whether the view was an HTMLView, but then running code that assumed it was an HTMLView outside of
1067 that test. That's a bad idea.
1069 2007-06-22 Adele Peterson <adele@apple.com>
1071 Reviewed by Geoff and Darin.
1073 Fix for: <rdar://problem/5239236> Other slash characters should not be permitted as part of a domain name
1075 * Misc/WebNSURLExtras.m:
1076 (isSlashOrPeriodLookalike):
1077 (allCharactersInIDNScriptWhiteList):
1079 2007-06-21 Sam Weinig <sam@webkit.org>
1083 Remove empty directories
1085 * WebInspector/webInspector: directory removed.
1086 * WebInspector/webInspector/Images: directory removed
1088 2007-06-21 Justin Garcia <justin.garcia@apple.com>
1092 <rdar://problem/5237524>
1093 REGRESSION: Keyboard commands don't work in a message window until you click inside the message
1095 When you open a message in its own window, Mail creates an empty
1096 WebView, makes that WebView firstResponder and then sets off a
1097 load inside that WebView.
1099 When we're asked to create the empty WebView, we put an empty
1100 WebHTMLView inside it (in r21367 we began creating a document
1101 for empty frames). When Mail makes the WebView first responder
1102 we make that empty WebHTMLView firstResponder. Then when the
1103 load finishes we create a new WebHTMLView and set it as the
1106 Inside _setDocumentView, if the old document view or one of its
1107 descendants was the first responder, we'd makeFirstResponder:nil
1108 so that the window wouldn't be left with a firstResponder that
1109 was no longer inside of it. This change fixes the bug by instead
1110 transferring firstResponder status to the new document view.
1112 We could also fix this by not allowing the WebHTMLView to become
1113 firstResponder when it's in the provisional state mentioned above.
1115 * WebView/WebFrameView.mm:
1116 (-[WebFrameView _setDocumentView:]):
1118 2007-06-21 John Sullivan <sullivan@apple.com>
1122 - fixed <rdar://problem/5268673> REGRESSION: Context menu missing for PDF in frame when there's no selection
1124 This was surprisingly interesting. It turns out that at least for Safari, the method [WebDefaultUIDelegate
1125 webView:contextMenuItemsForElement:defaultMenuItems:] is only exercised from WebPDFView these days. It mimics
1126 some of the code that was moved to WebCore as part of the Great Context Menu Refactoring of 2006, but is
1127 independent of that code. And it was partly broken/incomplete, probably as a result of said refactoring.
1129 * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
1130 (localizedMenuTitleFromAppKit()):
1131 deleted this function since I removed all callers
1132 (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
1133 Handle WebMenuItemTagOpenFrameInNewWindow tag, since code later in this file was relying on it. Added
1134 ASSERT_NOT_REACHED to the default case, since returning nil from this method is bad.
1135 Also, use WebKit versions of menu title strings rather than AppKit versions. We added these strings to WebKit
1136 a while back so we don't need to sneakily find them in AppKit anymore.
1137 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
1138 make the WebView be the target of the Open Frame in New Window item; previously it was self, but that was
1139 just silly (probably a leftover from some code shuffling when context menus were reimplemented)
1141 * WebView/WebView.mm:
1142 (-[WebView _openFrameInNewWindowFromMenu:]):
1143 new method, used by Open Frame in New Window menu item.
1145 * WebView/WebViewInternal.h:
1146 Declare new method used by menu item. This isn't necessary for compilation, but could prevent the accidental
1147 deletion of the method implementation.
1149 2007-06-20 Mark Rowe <mrowe@apple.com>
1153 Fix http://bugs.webkit.org/show_bug.cgi?id=14255.
1154 Bug 14255: Reproducible crash opening web inspector from debug menu
1156 Reinstate the WebInspector class so WebKit clients that currently depend on it
1157 will build and run correctly.
1159 * WebInspector/WebInspector.h: Added.
1160 * WebInspector/WebInspector.mm: Added.
1161 (+[WebInspector webInspector]):
1162 (-[WebInspector dealloc]):
1163 (-[WebInspector setWebFrame:]):
1164 (-[WebInspector showWindow:]):
1166 * WebKit.xcodeproj/project.pbxproj:
1168 2007-06-20 Adam Roben <aroben@apple.com>
1170 Land the new Inspector.
1172 Co-written with Tim Hatcher.
1174 Reviewed by Anders, Adele, Hyatt, and Sam.
1176 Implement the InspectorClient interface.
1178 * WebCoreSupport/WebInspectorClient.h: Added.
1179 * WebCoreSupport/WebInspectorClient.mm: Added.
1180 (WebInspectorClient::WebInspectorClient):
1181 (WebInspectorClient::inspectorDestroyed):
1182 (WebInspectorClient::createPage):
1183 (WebInspectorClient::showWindow):
1184 (WebInspectorClient::closeWindow):
1185 (WebInspectorClient::attachWindow):
1186 (WebInspectorClient::detachWindow):
1187 (WebInspectorClient::highlight):
1188 (WebInspectorClient::hideHighlight):
1189 (WebInspectorClient::inspectedURLChanged):
1190 (WebInspectorClient::updateWindowTitle):
1191 (-[WebInspectorWindowController init]):
1192 (-[WebInspectorWindowController initWithInspectedWebView:]):
1193 (-[WebInspectorWindowController dealloc]):
1194 (-[WebInspectorWindowController inspectorVisible]):
1195 (-[WebInspectorWindowController webView]):
1196 (-[WebInspectorWindowController window]):
1197 (-[WebInspectorWindowController windowShouldClose:]):
1198 (-[WebInspectorWindowController close]):
1199 (-[WebInspectorWindowController showWindow:]):
1200 (-[WebInspectorWindowController attach]):
1201 (-[WebInspectorWindowController detach]):
1202 (-[WebInspectorWindowController highlightAndScrollToNode:]):
1203 (-[WebInspectorWindowController highlightNode:]):
1204 (-[WebInspectorWindowController hideHighlight]):
1205 (-[WebInspectorWindowController animationDidEnd:]):
1207 Add an easier-to-see highlight.
1209 * Misc/WebNSViewExtras.h:
1210 * Misc/WebNSViewExtras.m:
1211 (-[NSView _web_convertRect:toView:]):
1212 * WebInspector/WebNodeHighlight.h:
1213 * WebInspector/WebNodeHighlight.m:
1214 (-[WebNodeHighlightFadeInAnimation setCurrentProgress:]):
1215 (-[WebNodeHighlight initWithTargetView:]):
1216 (-[WebNodeHighlight setHighlightedNode:]):
1217 (-[WebNodeHighlight highlightedNode]):
1218 (-[WebNodeHighlight dealloc]):
1219 (-[WebNodeHighlight attachHighlight]):
1220 (-[WebNodeHighlight delegate]):
1221 (-[WebNodeHighlight detachHighlight]):
1222 (-[WebNodeHighlight show]):
1223 (-[WebNodeHighlight hide]):
1224 (-[WebNodeHighlight animationDidEnd:]):
1225 (-[WebNodeHighlight ignoresMouseEvents]):
1226 (-[WebNodeHighlight highlightView]):
1227 (-[WebNodeHighlight setDelegate:]):
1228 (-[WebNodeHighlight setHolesNeedUpdateInTargetViewRect:]):
1229 (-[WebNodeHighlight setIgnoresMouseEvents:]):
1230 (-[WebNodeHighlight targetView]):
1231 (-[WebNodeHighlight _computeHighlightWindowFrame]):
1232 (-[WebNodeHighlight _repositionHighlightWindow]):
1233 * WebInspector/WebNodeHighlightView.h:
1234 * WebInspector/WebNodeHighlightView.m:
1235 (-[WebNodeHighlightView initWithWebNodeHighlight:]):
1236 (-[WebNodeHighlightView dealloc]):
1237 (-[WebNodeHighlightView detachFromWebNodeHighlight]):
1238 (-[WebNodeHighlightView drawRect:]):
1239 (-[WebNodeHighlightView webNodeHighlight]):
1240 (-[WebNodeHighlightView fractionFadedIn]):
1241 (-[WebNodeHighlightView setFractionFadedIn:]):
1242 (-[WebNodeHighlightView setHolesNeedUpdateInRect:]):
1243 (-[WebNodeHighlightView _holes]):
1245 WebView changes needed for the new Inspector.
1247 * WebView/WebView.mm: Remove the old _inspectElement method now that
1248 this is handled by WebCore.
1249 (-[WebView _isClosed]): Added.
1250 (-[WebView initWithFrame]): Give each Page an InspectorClient to
1251 enable the Inspector.
1252 * WebView/WebViewPrivate.h:
1254 Updates needed for WebCore changes.
1256 * WebCoreSupport/WebContextMenuClient.h:
1257 * WebCoreSupport/WebContextMenuClient.mm:
1258 * WebCoreSupport/WebViewFactory.mm:
1259 (-[WebViewFactory contextMenuItemTagInspectElement]):
1260 * WebView/WebUIDelegatePrivate.h:
1262 Remove old Inspector code.
1264 * WebCoreSupport/WebFrameLoaderClient.mm:
1265 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
1266 (WebFrameLoaderClient::assignIdentifierToInitialRequest):
1267 (WebFrameLoaderClient::dispatchDidFinishLoading):
1268 * WebInspector/WebInspector.m: Removed.
1269 * WebInspector/WebInspectorPanel.h: Removed.
1270 * WebInspector/WebInspectorPanel.m: Removed.
1271 * WebInspector/webInspector/Images/button.png: Removed.
1272 * WebInspector/webInspector/Images/buttonDivider.png: Removed.
1273 * WebInspector/webInspector/Images/buttonPressed.png: Removed.
1274 * WebInspector/webInspector/Images/close.png: Removed.
1275 * WebInspector/webInspector/Images/closePressed.png: Removed.
1276 * WebInspector/webInspector/Images/downTriangle.png: Removed.
1277 * WebInspector/webInspector/Images/menu.png: Removed.
1278 * WebInspector/webInspector/Images/menuPressed.png: Removed.
1279 * WebInspector/webInspector/Images/popup.png: Removed.
1280 * WebInspector/webInspector/Images/popupPressed.png: Removed.
1281 * WebInspector/webInspector/Images/resize.png: Removed.
1282 * WebInspector/webInspector/Images/rightTriangle.png: Removed.
1283 * WebInspector/webInspector/Images/scrollThumbBottom.png: Removed.
1284 * WebInspector/webInspector/Images/scrollThumbMiddle.png: Removed.
1285 * WebInspector/webInspector/Images/scrollTrackBottom.png: Removed.
1286 * WebInspector/webInspector/Images/upTriangle.png: Removed.
1287 * WebInspector/webInspector/inspector.css: Removed.
1288 * WebInspector/webInspector/inspector.html: Removed.
1289 * WebInspector/webInspector/inspector.js: Removed.
1290 * WebInspector/webInspector/scrollarea.js: Removed.
1291 * WebInspector/webInspector/scrollbar.js: Removed.
1292 * WebInspector/webInspector/utilities.js: Removed.
1293 * WebView/WebFrame.mm:
1294 (-[WebFramePrivate dealloc]):
1295 * WebView/WebFrameInternal.h:
1296 * WebView/WebHTMLView.mm:
1297 (-[WebHTMLView menuForEvent:]):
1302 * WebKit.xcodeproj/project.pbxproj:
1304 2007-06-20 Justin Garcia <justin.garcia@apple.com>
1308 <rdar://problem/5263541> REGRESSION (Safari 3 Beta 1): Pressing Delete doesn't delete an HTML message in Mail
1310 Mail wasn't receiving the keyDown event because WebFrameView was blocking it.
1311 It blocks the event and moves back/forward on Delete/Shift+Delete if the
1312 back/forward list is enabled.
1314 * WebView/WebFrameView.mm:
1315 (-[WebFrameView keyDown:]): Check to see if the BackForwardList is
1316 enabled. It always exists.
1318 2007-06-19 Anders Carlsson <andersca@apple.com>
1320 Reviewed by Kevin Decker.
1322 <rdar://problem/5266289> REGRESSION (Safari 3 Beta 1): Incoming iChat messages are delayed
1324 * WebView/WebDocumentLoaderMac.mm:
1325 (needsAppKitWorkaround):
1326 New function which checks if the frame load delegate belongs to AppKit.
1328 (WebDocumentLoaderMac::setDataSource):
1329 If the frame load delegate belongs to AppKit, set m_deferMainResourceDataLoad to false.
1331 2007-06-19 John Sullivan <sullivan@apple.com>
1333 Reviewed by Tim Hatcher
1335 - fixed <rdar://problem/5272011> Hole for find-on-page match in subframe isn't clipped by frame bounds
1337 * WebView/WebView.mm:
1338 (-[WebView rectsForTextMatches]):
1339 intersect the HTMLView's computed rect with the visible rect for that view
1341 2007-06-19 Jim Correia <jim.correia@pobox.com>
1343 Reviewed by Kevin Decker
1345 * Carbon/HIWebView.m:
1346 (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.
1348 2007-06-18 Sam Weinig <sam@webkit.org>
1354 * WebCoreSupport/WebChromeClient.mm:
1356 2007-06-18 Kevin Decker <kdecker@apple.com>
1358 * Carbon/HIWebView.m:
1359 (WindowHandler): Fixed the Tiger build; ControlKind wasn't defined.
1361 2007-06-18 Kevin Decker <kdecker@apple.com>
1363 Reviewed by Tim Hatcher.
1365 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
1367 * Carbon/HIWebView.m:
1368 (WindowHandler): Because the fix for 5051616 causes Tiger to crash in HIToolbox (but not on Leopard), I reverted back to using GetControlKind
1369 on Tiger only, instead of HIObjectIsOfClass.
1371 2007-06-16 David Hyatt <hyatt@apple.com>
1373 Back out fix for 13972. Quicktime will no longer clip correctly. :(
1374 Too many regressions in Mail caused by inserting an extra view into the
1375 hierarchy. Can revisit later.
1379 * Plugins/WebPluginController.mm:
1380 (-[WebPluginController destroyPlugin:]):
1381 (-[WebPluginController destroyAllPlugins]):
1382 * WebCoreSupport/WebFrameBridge.mm:
1383 (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
1384 * WebView/WebHTMLView.mm:
1385 (-[WebHTMLView addSubview:]):
1386 (-[WebHTMLView willRemoveSubview:]):
1388 2007-06-15 Sam Weinig <sam@webkit.org>
1392 Patch for http://bugs.webkit.org/show_bug.cgi?id=14053
1393 Autogenerate JS binding for Rect
1395 - Fix conflicts by using ::Rect instead of Rect.
1397 * Plugins/WebBaseNetscapePluginView.mm:
1398 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1399 (-[WebBaseNetscapePluginView sendEvent:]):
1400 (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
1401 (-[WebBaseNetscapePluginView invalidateRegion:]):
1402 (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1404 2007-06-15 Anders Carlsson <andersca@apple.com>
1408 A better fix for <rdar://problem/5271774>. Only try to access the element if the
1409 view has an associated window. This also works with GC. (Fix suggested by Kevin.)
1411 * Plugins/WebKitPluginContainerView.mm:
1412 (-[WebKitPluginContainerView dealloc]):
1413 (-[WebKitPluginContainerView visibleRect]):
1415 2007-06-15 Anders Carlsson <andersca@apple.com>
1419 <rdar://problem/5271774> REGRESSION: A crash occurs when closing a window that contains a QT movie
1421 In some cases, calling [super dealloc] might end up calling visibleRect, so make sure to
1422 set _element to 0 so we won't send a message to a freed object and crash.
1424 * Plugins/WebKitPluginContainerView.mm:
1425 (-[WebKitPluginContainerView dealloc]):
1426 (-[WebKitPluginContainerView visibleRect]):
1428 2007-06-14 Anders Carlsson <andersca@apple.com>
1432 Call cleanupScriptObjectsForPlugin on the frame after destroying the plug-in.
1434 * Plugins/WebBaseNetscapePluginView.mm:
1435 (-[WebBaseNetscapePluginView _destroyPlugin]):
1436 * Plugins/WebPluginController.mm:
1437 (-[WebPluginController destroyPlugin:]):
1438 (-[WebPluginController destroyAllPlugins]):
1440 2007-06-13 John Sullivan <sullivan@apple.com>
1442 Reviewed by Adele Peterson
1444 - fixed <rdar://problem/5267607> Clicking the "Save to Downloads" button in
1445 PDF overlay too soon results in corrupt file
1447 * WebView/WebPDFView.mm:
1448 (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
1449 Just beep if the document isn't available yet, since trying to save it as a file
1450 really isn't a good idea.
1452 2007-06-12 Oliver Hunt <oliver@apple.com>
1456 Use correct size for BITMAPINFOHEADER -- whoops.
1458 * win/WebIconDatabase.cpp:
1460 (WebIconDatabase::getOrCreateDefaultIconBitmap):
1462 2007-06-10 David Hyatt <hyatt@apple.com>
1464 Fix for bug 14037, make sure respondsToSelector does the write thing
1465 when invoked on a WebKit plugin's container view.
1467 Reviewed by Mark Rowe
1469 * Plugins/WebKitPluginContainerView.mm:
1470 (-[WebKitPluginContainerView respondsToSelector:]):
1472 2007-06-08 John Sullivan <sullivan@apple.com>
1474 * WebView/WebViewPrivate.h:
1477 2007-06-07 Justin Garcia <justin.garcia@apple.com>
1479 Reviewed by Tristan.
1481 <rdar://problem/5250997> A crash occurs when selecting Undo Typing for a page that has been closed in tab
1483 * WebView/WebView.mm:
1484 (-[WebView _clearUndoRedoOperations]): Added.
1485 * WebView/WebViewPrivate.h:
1487 2007-06-07 Oliver Hunt <oliver@apple.com>
1489 Reviewed by Sam "The Intern" Weinig.
1491 Don't be overzealous with the input checks, firstRectForCharacterRange
1492 can be determined even when there is not an active editable region.
1494 This unbreaks editing/input/range-for-empty-document which was broken
1495 by aforementioned overzealousness.
1497 * WebView/WebHTMLView.mm:
1498 (-[WebHTMLView firstRectForCharacterRange:]):
1500 2007-06-07 Oliver Hunt <oliver@apple.com>
1504 Add checks to make sure we don't try to create, use
1505 or return invalid ranges to TSM when it calls us despite
1506 not currently being in an editable region.
1508 * WebView/WebHTMLView.mm:
1510 (-[WebHTMLView textStorage]):
1511 (-[WebHTMLView firstRectForCharacterRange:]):
1512 (-[WebHTMLView selectedRange]):
1513 (-[WebHTMLView attributedSubstringFromRange:]):
1515 2007-06-06 David Hyatt <hyatt@apple.com>
1517 Make sure to hand back a script object for webkit plugins (the container
1518 view forwards to its plugin child).
1520 Reviewed by sullivan
1522 * Plugins/WebKitPluginContainerView.h:
1523 * Plugins/WebKitPluginContainerView.mm:
1524 (-[WebKitPluginContainerView objectForWebScript]):
1526 2007-06-06 David Hyatt <hyatt@apple.com>
1528 Fix for bug 13972, quicktime doesn't respect CSS clip and overflow properties.
1529 Make sure that calls to [NSView visibleRect] will do the right thing for both
1530 Netscape plugins and WebKit plugins.
1534 * Plugins/WebBaseNetscapePluginView.mm:
1535 (-[WebBaseNetscapePluginView visibleRect]):
1536 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1537 (-[WebBaseNetscapePluginView isOpaque]):
1538 * Plugins/WebKitPluginContainerView.h: Added.
1539 * Plugins/WebKitPluginContainerView.mm: Added.
1540 (-[WebKitPluginContainerView initWithFrame:DOMElement:]):
1541 (-[WebKitPluginContainerView dealloc]):
1542 (-[WebKitPluginContainerView visibleRect]):
1543 * Plugins/WebPluginController.mm:
1544 (-[WebPluginController destroyAllPlugins]):
1545 * WebCoreSupport/WebFrameBridge.mm:
1546 (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
1547 * WebKit.xcodeproj/project.pbxproj:
1548 * WebView/WebHTMLView.mm:
1549 (-[WebHTMLView addSubview:]):
1550 (-[WebHTMLView willRemoveSubview:]):
1552 2007-06-04 Oliver Hunt <oliver@apple.com>
1554 Reviewed by Geoff and Justin.
1556 Fix for <rdar://problem/5246941> Clicking URL field on
1557 Safari causes halt for a minute when using input methods.
1558 and <rdar://problem/5245964> Safari hangs for several
1559 seconds when trying to select text using mouse
1561 This is a by product of the textStorage hack used to fix
1562 rdar://problem/5000470 -- TSM calls textStorage repeatedly
1563 when changing focus, on certain mouse events, etc. If there
1564 is no selection/editable region we repeatedly create an
1565 NSAttributedString from the full document. If the document is
1566 sufficiently long this starts consuming an inordinate amount of
1569 This check should really have been present in the original
1572 * WebKit.xcodeproj/project.pbxproj:
1573 * WebView/WebHTMLView.mm:
1574 (-[WebHTMLView textStorage]):
1576 2007-05-31 David Hyatt <hyatt@apple.com>
1578 Fix for 11768, Flash plugin does not respect clips set by CSS.
1582 * Plugins/WebBaseNetscapePluginView.mm:
1583 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1585 2007-05-30 Mark Rowe <mrowe@apple.com>
1587 Build fixes after r21889.
1589 * ForwardingHeaders/kjs/function.h: Added.
1591 2007-05-29 Mark Rowe <mrowe@apple.com>
1595 64-bit build fix. Ensure that use of WebNSUInteger in headers is matched by WebNSUInteger in implementations.
1597 * DefaultDelegates/WebScriptDebugServer.h:
1598 * DefaultDelegates/WebScriptDebugServer.m:
1599 (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
1600 (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
1601 * DefaultDelegates/WebScriptDebugServerPrivate.h:
1602 * History/WebBackForwardList.mm:
1603 (-[WebBackForwardList setPageCacheSize:]):
1604 (-[WebBackForwardList pageCacheSize]):
1605 * WebView/WebView.mm:
1606 (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
1608 2007-05-26 Darin Adler <darin@apple.com>
1610 Reviewed by Tim Hatcher.
1612 * MigrateHeaders.make: Added dependency on this makefile itself, which is
1613 useful when you change the sed command or other aspect of this file. My build
1614 failed until I made this fix.
1616 2007-05-25 Geoffrey Garen <ggaren@apple.com>
1618 Reviewed by Darin Adler.
1620 Fixed <rdar://problem/5055182> The page cache has no global cap.
1622 The main WebKit changes are:
1623 1. Changed -[WebBackForwardList setPageCacheSize] and -[WebBackForwardList
1624 pageCacheSize] to accomodate the new global page cache model, updating
1625 their documentation.
1627 2. Added -[WebPreferences setShouldUsePageCache] and -[WebPreferences
1628 shouldUsePageCache] as pending public API.
1630 3. Centralized calculation of object cache and page cache sizes inside
1633 Cchanged our old behavior of reading a preference and applying a fudge
1634 factor with a new behavior of just using the preference directly. The
1635 old behavior was confusing and often inappropriate. (For example, if
1636 you set a page cache size of 100, a 256MB machine would somewhat
1637 arbitrarily reduce that number to 98. ???)
1639 * WebView/WebView.mm: Added support for two flags to determine whether
1640 to use the page cache. If either -[WebBackForwardList setPageCacheSize:0]
1641 or -[WebPreferences setShouldUsePageCache:NO] is called, we don't use
1644 2007-05-25 Timothy Hatcher <timothy@apple.com>
1646 Reviewed by Kevin Decker.
1648 <rdar://problem/5219089> Changes for migration of DictionaryServices
1650 * WebView/WebHTMLView.mm:
1651 (-[WebHTMLView _lookUpInDictionaryFromMenu:]): look for the HIDictionaryWindowShow symbol in HIToolbox
1653 2007-05-25 Geoffrey Garen <ggaren@apple.com>
1655 Reviewed by Oliver Hunt.
1657 Fixed global initializer (like you fix a dog).
1659 I'm not sure how our script missed this. I tested, and it generally doesn't
1660 seem to work very well.
1662 * WebView/WebHTMLView.mm: Allocate lazily to avoid the performance hit of
1663 a global initializer.
1664 (promisedDataClient):
1665 (-[WebHTMLViewPrivate dealloc]):
1666 (-[WebHTMLViewPrivate clear]):
1667 (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
1669 2007-05-25 Brady Eidson <beidson@apple.com>
1673 <rdar://problem/5228371> - REGRESSION - Certain mail message bodies display as empty
1675 This is due to http://trac.webkit.org/projects/webkit/changeset/21480 which unintentionally
1676 made applewebdata urls result in check.call(false) instead of check.call(true)
1678 Best place for a fix is to have the FrameLoaderClient::canHandleRequest() call return true, which
1679 really is rooted in WebView
1681 <rdar://problem/5229587> tracks adding a layout test
1683 * WebView/WebView.mm:
1684 (+[WebView _canHandleRequest:]): Return true for applewebdata URLs
1686 2007-05-25 Geoffrey Garen <ggaren@apple.com>
1688 Reviewed by Darin Adler, Tim Hatcher.
1690 "unsigned" => "WebNSUInteger" in public API.
1692 * History/WebBackForwardList.h:
1693 * WebView/WebScriptDebugDelegate.h:
1694 * WebView/WebUIDelegate.h:
1695 * WebView/WebViewPrivate.h:
1697 2007-05-25 Geoffrey Garen <ggaren@apple.com>
1699 Reviewed by Darin Adler.
1701 Moved JavaScriptCore-related pending public API to public API.
1703 * MigrateHeaders.make: Hack to prevent <JavaScriptCore/JSBase.h> from
1704 automatically converting to <WebKit/JSBase.h>
1706 Moved -windowObject and -globalContext
1708 * WebView/WebFramePrivate.h: from here
1709 * WebView/WebFrame.h: to here
1710 * WebView/WebFrame.mm: and out of its temporary category
1712 Moved -didClearWindowObject:forFrame:
1714 * WebView/WebViewPrivate.h: from here
1715 * WebView/WebFrameLoadDelegate.h: to here
1717 2007-05-25 John Sullivan <sullivan@apple.com>
1719 Reviewed by Anders and Tim
1721 - fixed <rdar://problem/5226000> REGRESSION: In Gmail and Mail, a hang occurs when attempting
1722 to grammar/spellcheck a word in a reply
1724 * WebCoreSupport/WebEditorClient.mm:
1725 (WebEditorClient::checkGrammarOfString):
1726 Fixed recently-introduced false assumption that NSNotFound == -1
1728 2007-05-24 dethbakin <bdakin@apple.com>
1732 Fix for <rdar://problem/5023545> QuickBooks Pro 2007:hang/crash
1733 after closing QuickBooks Tutorial Center with Leopard9A377
1735 We can hit a race condition where drawRect will be called after the
1736 WebView has closed. Quickbooks does not properly close the WebView
1737 and set the UIDelegate to nil, so the UIDelegate is stale and we
1738 crash. This is a regression because the code that uses the
1739 UIDelegate in the drawRect code path was only added recently. The
1740 method that the UIDelegate calls into is new -- it does not exist
1741 on Tiger -- so there is no harm in not running this code for
1742 applications linked against older WebKits. Other applications may
1743 run into this same bug so I am not doing a bundle
1744 check...particularly because, as I mentioned, the new UIDelegate
1745 call would not be implemented by older clients anyway.
1747 * Misc/WebKitVersionChecks.h:
1748 * WebView/WebHTMLView.mm:
1749 (-[WebHTMLView drawSingleRect:]):
1751 2007-05-24 Darin Adler <darin@apple.com>
1753 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
1755 2007-05-24 Oliver Hunt <oliver@apple.com>
1757 Reviewed by Adam, Darin, and Geoff.
1759 Fix for <rdar://problem/5000470> REGRESSION: The IM reconvert
1760 function returns incorrect symbol due to inconsistent range
1763 Text Services Management uses ranges provided by the
1764 NSTextInput API to index into the string return by
1765 -[WebHTMLView string]. As a result some input methods
1766 incorrectly get their candidate text from the beginning
1767 of the document instead of from the input element.
1769 TSM prefers to query -textStorage over -string so as a
1770 workaround we provide an implementation of -textStorage that
1771 returns the content of the current text input. TSM only ever
1772 queries the result of textStorage as an NSAttributedString so
1773 we do not need to implement a fake NSTextStorage class
1775 This should not cause harm to anything else as textStorage is
1776 actually a method on NSTextView, which we clearly are not. TSM
1777 only queries the method because it uses respondsToSelector to
1780 * WebView/WebHTMLView.mm:
1781 (-[WebHTMLView textStorage]):
1784 2007-05-24 David Harrison <harrison@apple.com>
1786 Reviewed by Tim Hatcher.
1788 <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()
1790 _private->loader->frameLoader() was not being nil checked.
1791 * WebView/WebDataSource.mm:
1792 (-[WebDataSource request]):
1793 Add nil check for _private->loader->frameLoader()
1795 2007-05-23 Anders Carlsson <andersca@apple.com>
1799 <rdar://problem/3663808> Resize large images to fit in the browser window
1801 Add new WebPreferences SPI.
1803 * WebView/WebPreferenceKeysPrivate.h:
1804 * WebView/WebPreferences.m:
1805 (+[WebPreferences initialize]):
1806 (-[WebPreferences enableAutomaticImageResizing]):
1807 (-[WebPreferences setEnableAutomaticImageResizing:]):
1808 * WebView/WebPreferencesPrivate.h:
1809 * WebView/WebView.mm:
1810 (-[WebView _updateWebCoreSettingsFromPreferences:]):
1812 2007-05-23 Sam Weinig <sam@webkit.org>
1816 Patch for http://bugs.webkit.org/show_bug.cgi?id=13830
1817 Auto-generate JS DOM bindings for HTMLDocument and most of the rest
1820 * MigrateHeaders.make: add DOMHTMLDocumentPrivate.h
1821 * WebKit.xcodeproj/project.pbxproj:
1823 2007-05-23 Oliver Hunt <oliver@apple.com>
1827 Fix for <rdar://problem/5223782> REGRESSION: Can't drag and drop a standalone image
1829 The main resource for a standalone image webarchive has the same mimetype as the
1832 * Misc/WebNSPasteboardExtras.mm:
1833 (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
1835 2007-05-22 Sam Weinig <sam@webkit.org>
1839 Patch for http://bugs.webkit.org/show_bug.cgi?id=13833
1840 Add ObjC DOM binding for HTMLMarqeeElement
1842 - Also adds missing DOMHTMLFramePrivate.
1844 * MigrateHeaders.make:
1846 2007-05-22 Darin Adler <darin@apple.com>
1850 * WebInspector/webInspector/treeoutline.js: Use ownerDocument instead of non-standard
1853 2007-05-22 Adele Peterson <adele@apple.com>
1857 Adding some asserts to help detect other cases of <rdar://problem/5171145>
1859 * WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge makeFirstResponder:]):
1861 2007-05-22 Brady Eidson <beidson@apple.com>
1863 Reviewed by Kevin (Sarge)
1865 <rdar://problem/5219885> - Crash after closing a inline popup ad at http://news.yahoo.com/
1867 This regressed in http://trac.webkit.org/projects/webkit/changeset/21618
1869 * WebView/WebFrame.mm:
1870 (-[WebFrame dataSource]): Null check the frameloader
1872 2007-05-21 Adele Peterson <adele@apple.com>
1874 Fix by Darin, reviewed by me.
1876 Fix for <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts
1878 * WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): If the old view is the first responder,
1879 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.
1881 2007-05-21 Brady Eidson <beidson@apple.com>
1883 Making the importance of my last change more clear
1885 * WebView/WebViewPrivate.h: "Leave for Dashboard, people!"
1887 2007-05-21 Brady Eidson <beidson@apple.com>
1889 Reviewed by Kevin (Sarge)
1891 <rdar://problem/5217124> - Re-add mistakenly removed SPI
1893 * WebView/WebView.mm:
1894 (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
1895 * WebView/WebViewPrivate.h:
1897 2007-05-21 Anders Carlsson <andersca@apple.com>
1901 <rdar://problem/5200816> REGRESSION: With Shiira 1.2.2 , I can't open embedded link in flash object by clicking (http:/www.adobe.com )
1903 Null check the request.
1905 * WebView/WebView.mm:
1906 (+[WebView _canHandleRequest:]):
1908 2007-05-19 Maciej Stachowiak <mjs@apple.com>
1912 <rdar://problem/5205358> REGRESSION (r21367): All messages appear entirely blank when running Mail off of tip of tree WebKit
1914 The fix is to return nil from [WebFrame dataSource] when it has not loaded anything but the fake
1915 empty initial document. However, WebKit still needs the real data source internally, so I also
1916 added a [WebFrame _dataSource] method that skips this check, and made WebKit use it throughout.
1918 * Misc/WebNSAttributedStringExtras.mm:
1919 (fileWrapperForElement):
1920 * Plugins/WebBaseNetscapePluginView.mm:
1921 (-[WebBaseNetscapePluginView dataSource]):
1922 * Plugins/WebNullPluginView.mm:
1923 (-[WebNullPluginView viewDidMoveToWindow]):
1924 * Plugins/WebPluginController.mm:
1925 (-[WebPluginController URLPolicyCheckReferrer]):
1926 * WebCoreSupport/WebFrameBridge.mm:
1927 (-[WebFrameBridge dataSource]):
1928 (-[WebFrameBridge redirectDataToPlugin:]):
1929 * WebCoreSupport/WebFrameLoaderClient.mm:
1930 (WebFrameLoaderClient::makeDocumentView):
1931 (WebFrameLoaderClient::forceLayoutForNonHTML):
1932 (WebFrameLoaderClient::prepareForDataSourceReplacement):
1933 (WebFrameLoaderClient::canCachePage):
1934 * WebCoreSupport/WebViewFactory.mm:
1935 (-[WebViewFactory bridgeForView:]):
1936 * WebKit.xcodeproj/project.pbxproj:
1937 * WebView/WebArchiver.mm:
1938 (+[WebArchiver archiveFrame:]):
1939 (+[WebArchiver archiveMainResourceForFrame:]):
1940 (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
1941 (+[WebArchiver archiveSelectionInFrame:]):
1942 * WebView/WebFrame.mm:
1943 (-[WebFrame _loadURL:referrer:intoChild:]):
1944 (-[WebFrame _addChild:]):
1945 (-[WebFrame _dataSource]):
1946 (-[WebFrame DOMDocument]):
1947 (-[WebFrame dataSource]):
1948 * WebView/WebFrameInternal.h:
1949 * WebView/WebHTMLView.mm:
1950 (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
1951 * WebView/WebRenderNode.mm:
1952 (-[WebRenderNode initWithWebFrameView:]):
1953 * WebView/WebView.mm:
1954 (-[WebView _mainFrameOverrideEncoding]):
1955 (-[WebView mainFrameURL]):
1956 (-[WebView mainFrameTitle]):
1957 (-[WebView mainFrameIcon]):
1958 (-[WebView validateUserInterfaceItemWithoutDelegate:]):
1959 (-[WebView replaceSelectionWithArchive:]):
1960 (-[WebView _isLoading]):
1961 (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
1962 (-[WebView _notifyTextSizeMultiplierChanged]):
1964 2007-05-18 Oliver Hunt <oliver@apple.com>
1968 Fix for http://bugs.webkit.org/show_bug.cgi?id=13782
1969 REGRESSION (r21528-r21533): Failing editing/selection/drag-in-iframe in pixel mode
1971 r21533 made used a DOMElement as the source for promise data, this meant it had to
1972 clear the dragging pasteboard following the drag. In DRT a drag is non-blocking
1973 so this resulted in us prematurely clearing the pasteboard.
1975 This patch avoids this problem by referencing the source CachedImage rather than the
1976 DOMElement, so we don't need to worry about retaining an entire document forever, so
1977 we don't need to clear the dragging pasteboard following the drag.
1979 * Misc/WebNSPasteboardExtras.mm:
1981 Extract the underlying CachedImage from a DOMElement
1982 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
1983 Use a CachedImage instead of a DOMElement
1985 * WebCoreSupport/WebDragClient.mm:
1986 (WebDragClient::startDrag):
1988 * WebKit.xcodeproj/project.pbxproj:
1990 * WebView/WebHTMLView.mm:
1991 (-[WebHTMLViewPrivate dealloc]):
1992 (-[WebHTMLViewPrivate clear]):
1993 (-[WebHTMLView pasteboardChangedOwner:]):
1994 (-[WebHTMLView pasteboard:provideDataForType:]):
1995 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
1996 (-[WebHTMLView WebCore::]):
1997 (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
1998 Use CachedImage rather than DOMElement as promised data source
2000 * WebView/WebHTMLViewInternal.h:
2001 * WebView/WebHTMLViewPrivate.h:
2003 2007-05-18 Tristan O'Tierney <tristan@apple.com>
2005 Reviewed by Brady E.
2007 * WebCoreSupport/WebFrameLoaderClient.mm:
2008 (WebFrameLoaderClient::download):
2009 asked the webframeloaderclient for its webview's history and
2010 injected the originated url into the created WebDownload
2012 2007-05-18 John Sullivan <sullivan@apple.com>
2014 Reviewed by Kevin Decker
2016 Improvement to WebKit part of fix for 5201499 based on more modern understanding. (That is,
2017 a couple of hours more modern.)
2019 * WebView/WebUIDelegatePrivate.h:
2020 add showPanel: parameter to just-introduced delegate method webView:saveFrameView:
2022 * WebView/WebPDFView.mm:
2023 (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
2024 pass NO for new showPanel: parameter, and update comment
2026 2007-05-18 Maciej Stachowiak <mjs@apple.com>
2030 <rdar://problem/5204792> REGRESSION (r21367): System widgets are drawn with vertical/horizontal scroll bars
2032 No test because the bug requires calling setAllowsScrolling: to reproduce.
2034 * WebView/WebFrameView.mm:
2035 (-[WebFrameView setAllowsScrolling:]): Update the FrameView's scroll state as well as the one
2036 on WebDynamicScrollBarsView, otherwise this setting won't stick if the frame has already loaded
2039 2007-05-18 Geoffrey Garen <ggaren@apple.com>
2041 Fixed spelling error.
2043 * WebView/WebViewPrivate.h:
2045 2007-05-18 John Sullivan <sullivan@apple.com>
2047 Reviewed by Kevin Decker
2049 WebKit part of fix for 5201499 (support for PDFKit UI for saving PDFs to disk)
2051 Also, the PDFKit mechanism for notifying clients about "Open File Externally" was
2052 changed from a notification to a delegate method. The notification was new to
2053 Leopard, so removing it doesn't affect clients in the field.
2055 * WebView/WebUIDelegatePrivate.h:
2056 Declared new UI delegate method webView:saveFrameView:, analogous to the existing
2057 webView:printFrameView:
2059 * WebView/WebPDFView.mm:
2060 removed declaration of _webkit_PDFKitLaunchNotification
2061 (-[WebPDFView viewDidMoveToWindow]):
2062 don't observe _webkit_PDFKitLaunchNotification
2063 (-[WebPDFView viewWillMoveToWindow:]):
2065 (-[WebPDFView PDFViewOpenPDFInNativeApplication:]):
2066 new PDFKit delegate method, replaces our use of _webkit_PDFKitLaunchNotification
2067 (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
2068 new PDFKit delegate method, calls through to new WebKit UI delegate method
2070 2007-05-17 Oliver Hunt <oliver@apple.com>
2074 Fix for <rdar://problem/4244861> Safari fails to create image file
2075 after releasing dragged image that has changed on source page
2077 This patch fixes this bug by manually creating an NSFileWrapper from
2078 the TIFF promise data for a drag if it is available. This bypasses
2079 the problem of the required resource no longer being held due to page
2080 loads or other constraints.
2082 We need to leave the old path in place to allow for the case where
2083 the promised data is not available.
2085 * WebCoreSupport/WebDragClient.mm:
2086 (WebDragClient::declareAndWriteDragImage):
2087 Always use the top WebHTMLView as the pasteboard owner, this is
2088 safe as we only use the owner for resolving promised types.
2089 * WebView/WebHTMLView.mm:
2090 (-[WebHTMLView _writeSelectionToPasteboard:]):
2091 (-[WebHTMLView writeSelectionToPasteboard:types:]):
2092 Always use the top WebHTMLView as the pasteboard owner.
2093 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2094 Add path to create NSFileWrapper from promise data.
2096 2007-05-17 Oliver Hunt <oliver@apple.com>
2100 Fix for <rdar://problem/4343832> Trying to drag a large 6.2MB jpeg image
2101 out of Safari is unexpectedly slow (4 copies of image plus RTF document on pasteboard)
2103 This patch causes the construction of the RTF and TIFF data to be delayed until requested.
2105 We delay TIFF construction from a DOMElement as this may require generating TIFF data
2106 from the CachedImage, which is slow. To allow the TIFF data to be created later the
2107 it's necessary to add a reference to the source DOMElement to the view.
2109 * Misc/WebNSPasteboardExtras.h:
2110 * Misc/WebNSPasteboardExtras.mm:
2111 (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
2112 Implements the delayed write of RTF data
2113 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
2114 Set up the pasteboard to allow the data writing to be delayed
2115 (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
2116 Now we need to pass the WebHTMLView on to _web_writeImage:element:URL:title:archive:types:source:
2117 * WebCoreSupport/WebDragClient.mm:
2118 (WebDragClient::startDrag):
2119 Clear the dragging pasteboard once the drag has ended to ensure we don't hold references
2120 to anything longer than we need to.
2121 (WebDragClient::declareAndWriteDragImage):
2123 * WebView/WebHTMLView.mm:
2124 (-[WebHTMLViewPrivate dealloc]):
2125 (-[WebHTMLViewPrivate clear]):
2126 (-[WebHTMLView pasteboardChangedOwner:]):
2127 Make sure we clear out the DOMElement reference once it is no longer needed
2128 (-[WebHTMLView pasteboard:provideDataForType:]):
2129 Provide delayed data
2130 (-[WebHTMLView _writeSelectionToPasteboard:]):
2131 Make sure we set pasteboard ownership correctly
2132 (-[WebHTMLView promisedDragTIFFDataSource]):
2133 (-[WebHTMLView setPromisedDragTIFFDataSource:]):
2134 (-[WebHTMLView writeSelectionToPasteboard:types:]):
2135 * WebView/WebHTMLViewInternal.h:
2136 * WebView/WebHTMLViewPrivate.h:
2138 * WebView/WebView.mm:
2139 (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
2141 2007-05-16 Anders Carlsson <andersca@apple.com>
2145 <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari
2147 Update for WebCore changes.
2149 * WebView/WebFrame.mm:
2150 (-[WebFrame _loadURL:referrer:intoChild:]):
2152 2007-05-15 Oliver Hunt <oliver@apple.com>
2154 Reviewed by Sam and Geoff.
2156 Removing dead code left behind from drag and drop refactoring.
2158 * WebCoreSupport/WebFrameBridge.mm:
2159 * WebView/WebHTMLView.mm:
2160 * WebView/WebHTMLViewPrivate.h:
2162 2007-05-15 Bruce Q Hammond <bruceq@apple.com>
2166 Correction of previous patch for http://bugs.webkit.org/show_bug.cgi?id=13578
2167 This corrects the sign of the Y-Axis origin adjustment.
2169 * Plugins/WebBaseNetscapePluginView.mm:
2170 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2172 2007-05-15 Geoffrey Garen <ggaren@apple.com>
2174 Reviewed by Maciej Stachowiak.
2176 Patch: fixed <rdar://problem/5198890> .5% performance regression caused
2179 The only code r21307 added that runs during the PLT is a frame load delegate
2180 -respondsToSelector: call inside windowObjectCleared(), so it seems like
2181 our message dispatch overhead for the frame load delegate is significant.
2183 This patch is a straight port of Maciej's fix for the same problem in the
2184 resource load delegate. The solution is simple enough: don't use Objective-C.
2185 Instead, use a special structure that caches which methods the delegate
2186 implements, along with pointers to those methods.
2188 I verified each frame load delegate callback in the debugger, except for
2189 -webView:didFailLoadWithError:forFrame:, which is not implemented by Safari
2192 * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.h: Removed.
2193 * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.m: Removed.
2195 * WebCoreSupport/WebFrameBridge.mm:
2196 (-[WebFrameBridge windowObjectCleared]): I also removed a misleading
2197 comment here. The JS debugger caches the windowScriptObject, so you do
2198 need to re-create the debugger every time you invalidate the old
2199 WebScriptObject wrapper for the window object and create a new one, or
2200 the debugger will stop working. We could fix this in a number of ways,
2201 but <rdar://problem/4608404> is not the key issue.
2203 2007-05-15 Maciej Stachowiak <mjs@apple.com>
2205 Reviewed by Hyatt and Lars.
2207 - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window
2209 * WebView/WebDataSource.mm:
2210 (-[WebDataSource request]): Return nil when we are still showing the initial empty doc
2212 2007-05-14 Geoffrey Garen <ggaren@apple.com>
2214 Reviewed by Darin Adler.
2216 Updated for WebCore move to PageCache singleton. Also removed some WebCore::
2217 prefixes and replaced them with 'using namespace WebCore'.
2219 * History/WebHistoryItem.mm:
2220 (+[WebHistoryItem _releaseAllPendingPageCaches]):
2221 (-[WebWindowWatcher windowWillClose:]):
2223 2007-05-13 Darin Adler <darin@apple.com>
2225 - one more retain/release for a tiny bit more robustness
2227 * WebView/WebPDFView.mm:
2228 (-[WebPDFView _updatePreferences:]): [prefs release]
2229 (-[WebPDFView _updatePreferencesSoon]): [prefs retain]
2231 2007-05-13 Darin Adler <darin@apple.com>
2235 - fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site
2237 * WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL.
2238 Also remove unneeded @public that gives other classes access to our dataSource member.
2240 * WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the
2241 _cancelUpdatePreferencesTimer method.
2242 (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer.
2243 (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems
2244 where the dataSource is no longer present by not looking at the dataSource field at all.
2245 Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon
2246 to NO and added a release to balance a retain I did in _updatePreferencesSoon.
2247 (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of
2248 an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to
2249 the dataSource when the timer fires.
2251 2007-05-10 Geoffrey Garen <ggaren@apple.com>
2253 Reviewed by Darin Adler.
2255 "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.
2257 2007-05-10 Adele Peterson <adele@apple.com>
2261 WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result
2263 Updated to use selectionRect instead of visibleSelectionRect. selectionRect() now returns the visible rect by default.
2265 * WebView/WebHTMLView.mm:
2266 (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
2267 (-[WebHTMLView selectionImageRect]):
2269 2007-05-10 dethbakin <bdakin@apple.com>
2273 Fix for <rdar://problem/5191941> Leopard: Adobe Acrobat 8:
2274 Distiller 8 needs same check fix as 4992521
2276 * WebView/WebView.mm:
2277 (-[WebView _updateWebCoreSettingsFromPreferences:]): Adobe
2278 Distiller needs the same quirk.
2280 2007-05-10 Maciej Stachowiak <mjs@apple.com>
2284 - WebKit part of fix for:
2285 <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
2286 <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
2288 The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
2289 so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
2291 However, this caused many regressions so I had to fix the fallout.
2293 * WebCoreSupport/WebChromeClient.mm:
2294 (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree
2295 with initial empty document now).
2296 * WebCoreSupport/WebFrameBridge.mm:
2297 (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame.
2298 (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
2299 * WebView/WebFrame.mm:
2300 (-[WebFrame stopLoading]): use stopForUserCancel().
2301 * WebView/WebFrameView.mm:
2302 (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
2303 * WebView/WebView.mm:
2304 (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from
2306 (-[WebView _becomingFirstResponderFromOutside]): Return this value.
2307 * WebView/WebViewInternal.h:
2309 2007-05-09 Oliver Hunt <oliver@apple.com>
2313 The previous patch (r21346) broke editing, rolling out
2315 * WebView/WebHTMLView.mm:
2316 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
2317 (-[WebHTMLView doCommandBySelector:]):
2319 2007-05-09 Adele Peterson <adele@apple.com>
2323 Re-applying fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
2324 http://bugs.webkit.org/show_bug.cgi?id=13263
2326 We don't need to call interpretKeyEvents for cmd-key events as
2327 they events will be interpreted by performKeyEquivalent.
2329 * WebView/WebHTMLView.mm:
2330 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
2331 (-[WebHTMLView doCommandBySelector:]):
2333 2007-05-09 Mark Rowe <mrowe@apple.com>
2335 Build fix to keep the buildbot happy.
2337 * Plugins/WebBaseNetscapePluginView.mm:
2338 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2340 2007-05-08 Bruce Q Hammond <bruceq@apple.com>
2344 http://bugs.webkit.org/show_bug.cgi?id=13578
2345 Bug 13578: When QD plugins draw to an offscreen bitmap the origin is not correct
2347 Now we have correct handling of the origin when QD plugins draw to
2349 Also the clipping code for this path was doing unnecessary work which
2350 caused incorrect results; it has been removed.
2352 This change should not affect Safari and in general will only affect
2353 plugins (e.g. Flash) drawing to a CGBitmapContext.
2355 * Plugins/WebBaseNetscapePluginView.mm:
2356 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2358 2007-05-08 Steve Falkenburg <sfalken@apple.com>
2362 Implemented spelling/grammar related WebEditorClient methods.
2364 * WebCoreSupport/WebEditorClient.h:
2365 * WebCoreSupport/WebEditorClient.mm:
2366 (WebEditorClient::ignoreWordInSpellDocument): Added. Call through to NSSpellChecker.
2367 (WebEditorClient::learnWord): Added. Call through to NSSpellChecker.
2368 (WebEditorClient::checkSpellingOfString): Added. Call through to NSSpellChecker.
2369 (WebEditorClient::checkGrammarOfString): Added. Call through to NSSpellChecker.
2370 (WebEditorClient::updateSpellingUIWithGrammarString): Added. Call through to NSSpellChecker.
2371 (WebEditorClient::updateSpellingUIWithMisspelledWord): Added. Call through to NSSpellChecker.
2372 (WebEditorClient::showSpellingUI): Added. Call through to NSSpellChecker.
2373 (WebEditorClient::spellingUIIsShowing): Added. Call through to NSSpellChecker.
2374 (WebEditorClient::getGuessesForWord): Added. Call through to NSSpellChecker.
2376 2007-05-08 Steve Falkenburg <sfalken@apple.com>
2380 Slight modification to last editor method fix.
2382 * WebCoreSupport/WebEditorClient.h:
2383 (WebEditorClient::updateSpellingUIWithGrammarString):
2385 2007-05-07 Geoffrey Garen <ggaren@apple.com>
2387 Reviewed by Maciej Stachowiak.
2389 Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from
2392 Added -[WebFrame windowObject] and -[WebFrame globalContext], along with
2393 a new frame load delegate method, - (void)webView:(WebView *)webView
2394 didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame.
2395 This is all to support briding between the WebScriptObject and JavaScriptCore
2398 Also fixed more of <rdar://problem/4395622> API: WebScriptObject.h incorrectly
2399 reports that -isSelectorExcludedFromWebScript returns NO by default, and
2400 generally cleaned up the WebScriptObject headerdoc.
2402 * WebCoreSupport/WebFrameBridge.mm:
2403 (-[WebFrameBridge windowObjectCleared]):
2404 * WebView/WebFrame.mm:
2405 (-[WebFrame windowObject]):
2406 (-[WebFrame globalContext]):
2407 * WebView/WebFramePrivate.h:
2408 * WebView/WebViewPrivate.h:
2410 2007-05-07 Timothy Hatcher <timothy@apple.com>
2414 <rdar://problem/5180384> webView:validateUserInterfaceItem:defaultValidation: does not get called on WebUIDelegates
2416 Call the delegate when the one of our views gets a validateUserInterfaceItem: call.
2418 * WebView/WebHTMLView.mm:
2419 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
2420 (-[WebHTMLView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
2421 * WebView/WebPDFView.mm:
2422 (-[WebPDFView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
2423 (-[WebPDFView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
2424 * WebView/WebView.mm:
2425 (-[WebView _responderValidateUserInterfaceItem:]): Call validateUserInterfaceItemWithoutDelegate: to prevent asking the delegate twice.
2426 (-[WebView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
2427 (-[WebView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
2429 2007-05-07 Brady Eidson <beidson@apple.com>
2431 Actually finish the code move from my last checkin
2433 * History/WebHistoryItem.mm:
2434 (-[WebHistoryItem _transientPropertyForKey:]):
2435 (-[WebHistoryItem _setTransientProperty:forKey:]):
2437 2007-05-07 Brady Eidson <beidson@apple.com>
2439 Rubberstamped by Kevin (Sarge)
2441 Make _transientPropertyForKey: and _setTransientProperty:forKey: SPI
2443 * History/WebHistoryItemInternal.h:
2444 * History/WebHistoryItemPrivate.h:
2446 2007-05-04 Geoffrey Garen <ggaren@apple.com>
2448 Reviewed by Tim Hatcher.
2450 First step in fixing <rdar://problem/5055182> The back cache has no global cap
2452 Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely
2453 on the underlying back cache.
2455 I left -setAlwaysAttemptToUsePageCache: as an empty stub because we don't
2456 want to break Safari 2.0, but I removed its header declaration so nobody
2457 else starts using it.
2459 * History/WebHistoryItem.mm:
2460 (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
2461 * History/WebHistoryItemPrivate.h:
2463 2007-05-04 Geoffrey Garen <ggaren@apple.com>
2465 Reviewed by Brady Eidson.
2467 Some cleanup in preparation for fixing <rdar://problem/5055182> The
2468 back/forward cache has no global cap
2470 Unified naming of WebKit/WebCore b/f lists -- instead of the potpourri
2471 of webBackForwardList, backForwardList, list, kitList, coreList, listWrapper,
2472 and webCoreBackForwardList, we use webBackForwardList for WebKit and
2473 backForwardList for WebCore, matching their respective class names.
2475 Removed "private" versions of kit() and core() -- kit() and core() are
2476 canonically used for converting between WebKit API objects and WebCore
2477 API objects. I think it's clearer to have only one way to do this.
2479 Removed COMPUTE_DEFAULT_PAGE_CACHE_SIZE, since it was unused.
2481 Removed _clearPageCache, since it was unused and it duplicated -setPageCacheSize:0.
2483 Removed _usesPageCache, since it was unused and it duplicated -pageCacheSize.
2485 2007-05-04 Brady Eidson <beidson@apple.com>
2487 Reviewed by Mark Rowe
2489 Added main thread assertion to WebHTMLView to help make sure 3rd party clients aren't trying
2490 to draw on secondary threads
2492 * WebView/WebHTMLView.mm:
2493 (-[WebHTMLView drawRect:]): Added ASSERT_MAIN_THREAD()
2495 2007-05-04 Anders Carlsson <andersca@apple.com>
2499 <rdar://problem/5179977> Use the correct URLs when dispatching delegate methods for data loads.
2501 * WebView/WebFrame.mm:
2502 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2503 If the base URL is nil, set it to "about:blank", and set the response URL to a generated applewebdata URL.
2505 * WebView/WebView.mm:
2506 (+[WebView _canHandleRequest:]):
2507 No need to special-case applewebdata URLs here anymore, they're only used in responses.
2509 2007-05-03 Steve Falkenburg <sfalken@apple.com>
2513 Add missing user description parameter to spelling-related editor client method.
2515 * WebCoreSupport/WebEditorClient.h:
2516 (WebEditorClient::updateSpellingUIWithGrammarString):
2518 2007-05-03 TImothy Hatcher <timothy@apple.com>
2522 <rdar://problem/4975212> REGRESSION: With NetNewsWire 2.1.1, the contextual menu shows extra menu items when focus
2523 is placed in input or textarea field
2525 The NetNewsWire UI delegate isn't expecting calls for form controls, so we need to do a linked-on-or-after check.
2526 If the application was linked against Tiger or earlier and the element is a text form control, just return the
2527 default menu items and bypass the delegate call completely.
2529 * WebCoreSupport/WebContextMenuClient.mm:
2530 (isPreVersion3Client): Cache the result of the WebKitLinkedOnOrAfter call
2531 (fixMenusToSendToOldClients): Call the new isPreVersion3Client()
2532 (fixMenusReceivedFromOldClients): Ditto.
2533 (WebContextMenuClient::getCustomMenuFromDefaultItems): Return the default menu items if the element is a text form control.
2535 2007-05-03 Mark Rowe <mrowe@apple.com>
2537 Reviewed by Geoff and Kevin.
2539 <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients
2541 Second shot at fixing this error. Stub out the macros rather than forwarding to JavaScriptCore, which would
2542 leave clients using this header trying to resolve JavaScriptCore symbols against WebKit when linking. This
2543 should only happen in production builds when assertions should be disabled anyway as anyone building a
2544 development configuration should be in a position to move away from using this header.
2546 * Misc/WebAssertions.h:
2548 2007-05-03 Timothy Hatcher <timothy@apple.com>
2552 <rdar://problem/5067707> REGRESSION: "Open Link" contextual menu item appears twice in Mail
2554 Remove the check for Mail in fixMenusToSendToOldClients and fixMenusReceivedFromOldClients
2555 when linked on or after Leopard. The isAppleMail() function is still used for Tiger Mail fixups.
2557 * WebCoreSupport/WebContextMenuClient.mm:
2558 (fixMenusToSendToOldClients):
2559 (fixMenusReceivedFromOldClients):
2561 2007-05-02 Anders Carlsson <andersca@apple.com>
2565 <rdar://problem/5151113> Assertion firing in [FrameProgressEntry addChild:forDataSource:] when navigating cnn.com
2567 The assertion fired because a plug-in was trying to load a subresource when a new load had started but not yet
2568 committed. The check that would have prevented this was removed in order to fix <rdar://problem/5085897>.
2570 This puts back the check but changes it to allow loads where the target is the same frame as the plugin's parent frame.
2572 * Plugins/WebBaseNetscapePluginView.mm:
2573 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2575 2007-04-27 Timothy Hatcher <timothy@apple.com>
2579 There were only a couple calls to ResourceLoadDelegate forwarder left,
2580 this removes the calls and adds a new cached method for didFailLoad.
2582 * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.h: Removed.
2583 * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.m: Removed.
2584 * WebKit/Plugins/WebNullPluginView.mm: Call the resource load delegate directly.
2585 * WebKit/WebCoreSupport/WebFrameLoaderClient.mm: Call the cached didFailLoad delegate function.
2586 * WebKit/WebKit.xcodeproj/project.pbxproj: Remove WebDefaultResourceLoadDelegate.
2587 * WebKit/WebView/WebDataSource.mm: Remove the #import for WebDefaultResourceLoadDelegate.h
2588 * WebKit/WebView/WebView.mm: Remove the ResourceLoadDelegate forwarder, and remove a method that isn't used.
2589 * WebKit/WebView/WebViewInternal.h: Ditto.
2590 * WebKit/WebView/WebViewPrivate.h: Remove a method that is no longer used.
2592 2007-04-27 David Harrison <harrison@apple.com>
2596 <rdar://problem/5160627> Export JS list creation support as ObjC SPI for Mail
2598 * WebKit.xcodeproj/project.pbxproj:
2599 * WebView/WebHTMLView.mm:
2600 (-[WebHTMLView _selectedRange]):
2601 (-[WebHTMLView _shouldDeleteRange:]):
2602 (-[WebHTMLView _canEdit]):
2603 (-[WebHTMLView _canEditRichly]):
2604 (-[WebHTMLView _hasSelection]):
2605 (-[WebHTMLView _hasSelectionOrInsertionPoint]):
2606 (-[WebHTMLView _hasInsertionPoint]):
2607 (-[WebHTMLView _isEditable]):
2608 Condense the check for nil [self frame].
2609 Remove canEditRichly checks and rely on the editor to do the check instead.
2611 (-[WebHTMLView _insertOrderedList]):
2612 (-[WebHTMLView _insertUnorderedList]):
2615 (-[WebHTMLView _canIncreaseSelectionListLevel]):
2616 (-[WebHTMLView _canDecreaseSelectionListLevel]):
2617 (-[WebHTMLView _increaseSelectionListLevel]):
2618 (-[WebHTMLView _increaseSelectionListLevelOrdered]):
2619 (-[WebHTMLView _increaseSelectionListLevelUnordered]):
2620 (-[WebHTMLView _decreaseSelectionListLevel]):
2621 Moved from bridge to frame editor.
2623 * WebView/WebHTMLViewPrivate.h:
2624 Add _insertOrderedList and _insertUnorderedList to WebHTMLView(WebPrivate)
2626 2007-04-27 Brady Eidson <beidson@apple.com>
2628 Rubberstamped by Mark
2630 Remove default implementation of UIDelegate method that was removed
2632 I have also been instructed to give Tim a hard time about this one - apparently
2633 it was his job to clean it out and he failed... failed miserably.
2637 * DefaultDelegates/WebDefaultUIDelegate.m: Removed webViewPrint:
2639 2007-04-27 Maciej Stachowiak <mjs@apple.com>
2643 <rdar://problem/5154113> Repro ASSERT (would be crash) in KJS::GCLock::GCLock (13462)
2644 http://bugs.webkit.org/show_bug.cgi?id=13462
2646 * WebInspector/WebInspector.m:
2647 (-[WebInspectorPrivate dealloc]): Delay release of WebView to avoid GC re-entrancy.
2649 2007-04-27 Anders Carlsson <andersca@apple.com>
2653 <rdar://problem/5165755>
2654 View Source is broken; empty window is shown
2656 Return YES for applewebdata URLs.
2658 * WebView/WebView.mm:
2659 (+[WebView _canHandleRequest:]):
2661 2007-04-26 Oliver Hunt <oliver@apple.com>
2665 Fix <rdar://problem/5061252> REGRESSION: In Gmail, image fails
2666 to be inserted into message field after dragging
2668 Don't try to create <img> tags for local image files as it results
2669 in the potential to submit forms that look like they have an image,
2670 when in reality they don't.
2672 * WebView/WebHTMLView.mm:
2673 (-[WebHTMLView _documentFragmentWithPaths:]):
2675 2007-04-26 Anders Carlsson <andersca@apple.com>
2679 <rdar://problem/5049099> documents no longer have a default base URL
2681 If the base URL is nil, then create a unique applewebdata URL to match what Tiger WebKit does.
2683 * WebView/WebFrame.mm:
2684 (createUniqueWebDataURL):
2685 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2687 2007-04-25 Oliver Hunt <oliver@apple.com>
2689 Rubber stamped by Adele.
2691 Roll out WebKit changes from from r21052 to fix regression noted in
2692 <rdar://problem/5159556> REGRESSION: In Mail, pressing option-command- ' doesn't decrease block quote in selection
2694 * WebView/WebHTMLView.mm:
2695 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
2696 (-[WebHTMLView doCommandBySelector:]):
2698 2007-04-25 Steve Falkenburg <sfalken@apple.com>
2702 Mac callbacks for new spelling methods in WebEditorClient.
2705 * WebCoreSupport/WebEditorClient.h:
2706 (WebEditorClient::ignoreWordInSpellDocument):
2707 (WebEditorClient::learnWord):
2708 (WebEditorClient::checkSpellingOfString):
2709 (WebEditorClient::checkGrammarOfString):
2710 (WebEditorClient::updateSpellingUIWithGrammarString):
2711 (WebEditorClient::updateSpellingUIWithMisspelledWord):
2712 (WebEditorClient::showSpellingUI):
2713 (WebEditorClient::spellingUIIsShowing):
2714 (WebEditorClient::getGuessesForWord):
2716 2007-04-24 Geoffrey Garen <ggaren@apple.com>
2718 Reviewed by Darin Adler, Tim Hatcher.
2720 Fixed a few NSAutoreleasePool issues I noticed while reviewing Brady's patch.
2722 * Carbon/CarbonUtils.m:
2723 (PoolCleaner): Call -drain instead of -release, since -release is a
2724 no-op in a GC world.
2726 * Misc/WebKitErrors.m:
2727 (registerErrors): Condensed onto one line.
2729 * Plugins/WebPluginDatabase.m:
2730 (-[WebPluginDatabase refresh]): Call -drain instead of -release, since
2731 -release is a no-op in a GC world.
2733 * WebCoreSupport/WebChromeClient.mm:
2734 (WebChromeClient::setStatusbarText):
2736 * WebInspector/WebNodeHighlightView.m:
2737 (-[WebNodeHighlightView initWithHighlight:andRects:forView:]): Don't drain
2738 and then release because drain deallocates the receiver, so the release
2741 * WebView/WebView.mm:
2742 (-[WebView rectsForTextMatches]): Re-allocate the pool after draining it,
2743 because drain deallocates the receiver, so the drain would leave you without
2744 any autorelease pool, causing a leak and then an over-release at the bottom
2747 2007-04-24 Brady Eidson <beidson@apple.com>
2749 Reviewed by Beth, Hyatt, Ada, and Darin
2751 <rdar://problem/5011477> and <rdar://problem/5011514>
2752 Provide support for the icon.db to be moved to a different directory from the old WebKit-style
2753 icons, and remove the old directory if that is the case
2755 * Misc/WebIconDatabase.mm:
2756 (-[WebIconDatabase init]):
2757 (-[WebIconDatabase _importToWebCoreFormat]): Check "imported()" to determine if a conversion is needed
2758 - Look for WebIconDatabaseImportDirectoryDefaultsKey for the source location for the conversion
2759 - Set "imported" to true in the Icons.db
2760 - If the new Icons.db isn't in the same patch as the old icons, delete the entire directory when finished
2761 - Move old icon.db to Icons.db to reflect rename
2762 * Misc/WebIconDatabasePrivate.h: Add WebIconDatabaseImportDirectoryDefaultsKey so a WebKit client can tell WebKit
2763 where to look for the old icons if their location is different from the icon.db
2766 2007-04-24 Mitz Pettel <mitz@webkit.org>
2768 Reviewed by Oliver Hunt.
2770 Changed an apostrophe (') into a right single quotation mark (U+2019).
2772 * WebInspector/webInspector/inspector.js:
2774 2007-04-24 Mitz Pettel <mitz@webkit.org>
2776 Reviewed by Timothy Hatcher.
2778 - fix http://bugs.webkit.org/show_bug.cgi?id=13459
2779 The "mapped style" link next to an attribute doesn't work
2781 * WebInspector/webInspector/inspector.js: Added a check that the rule is
2782 mapped from an attribute.
2784 2007-04-23 Adele Peterson <adele@apple.com>
2786 Fixed and reviewed by Darin, Adele, and Oliver.
2788 WebKit part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
2789 http://bugs.webkit.org/show_bug.cgi?id=13263
2791 * WebView/WebHTMLView.mm:
2792 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): If we have no command after calling interpretKeyEvents, we assume the input method handled the key.
2793 (-[WebHTMLView doCommandBySelector:]): Add noop: to the command vector, but then when actually performing actions, ignore it.
2795 2007-04-23 Timothy Hatcher <timothy@apple.com>
2799 <rdar://problem/5124364> IB3 crashes when loading a nib containing a WebView that has a WebHTMLView encoded inside
2801 Since WebView's initWithCoder throws away all the decoded subviews, the WebHTMLView gets dealoced while it has a nil _private pointer.
2802 Checking for a nil _private in WehHTMLView's close fixes this crash. No need to implement a full initWithCoder for WebHTMLView since
2803 it will be thrown away by the WebView anyway.
2805 * WebView/WebHTMLView.mm:
2806 (-[WebHTMLView close]): Return earily if _priviate is nil.
2807 (-[WebHTMLView initWithFrame:]): Unrelated change that removes an AppKit version check that predates Tiger.
2809 2007-04-23 Timothy Hatcher <timothy@apple.com>
2811 Reviewed by Mark Rowe.
2813 Remove the "No Selection" message after leaving search mode.
2814 This was a regression caused by the inspector refresh.
2816 * WebInspector/webInspector/inspector.js:
2818 2007-04-23 Timothy Hatcher <timothy@apple.com>
2822 Bug 6658: World leak when closing inspected window
2823 http://bugs.webkit.org/show_bug.cgi?id=6658 and <rdar://problem/4411863>
2825 Removes over-retains of the inspector WebView, WebInspector and WebInspectorPanel.
2827 * WebInspector/WebInspector.m:
2828 (+[WebInspector sharedWebInspector]): Return the global sharedWebInspector variable.
2829 (-[WebInspector window]): Release the window after calling setWindow:.
2830 (-[WebInspector windowWillClose:]): Set the JavaScript Inspector variable to null and expire the current highlight.
2831 Also clear the global sharedWebInspector variable and release it if self equals sharedWebInspector.
2832 (-[WebInspector showWindow:]): Set the JavaScript Inspector variable back to self.
2833 * WebInspector/WebInspectorInternal.h: Remove the isSharedInspector member variable.
2834 * WebView/WebView.mm:
2835 (-[WebView windowScriptObject]): Return nil if core([self mainFrame]) is NULL.
2837 2007-04-23 Darin Adler <darin@apple.com>
2841 - rename box-sizing to -webkit-box-sizing
2843 * WebInspector/webInspector/inspector.css: Here.
2844 * WebInspector/webInspector/inspector.js: And here, in the expected default CSS values list.
2846 2007-04-22 Timothy Hatcher <timothy@apple.com>
2850 The fix for <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
2851 was #ifdefed out in Production builds.
2853 * WebView/WebView.mm:
2854 (+[WebView initialize]): Move the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM inside initialize around the specific code
2855 (+[WebView _applicationWillTerminate]): Moved outside the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM block
2857 2007-04-22 Timothy Hatcher <timothy@apple.com>
2861 Bug 13436: Make Option-clicking a disclosure triangle expand the entire subtree
2862 http://bugs.webkit.org/show_bug.cgi?id=13436
2864 Makes option-click recursively expand and collapse the sub-tree. Pressing option-left
2865 and -right also recursively expands and collapses the sub-tree.
2867 * WebInspector/webInspector/treeoutline.js:
2869 2007-04-22 Timothy Hatcher <timothy@apple.com>
2873 Bug 13437: Inspector does not update when navigating to a different page
2874 http://bugs.webkit.org/show_bug.cgi?id=13437
2876 * WebInspector/webInspector/inspector.js: Correctly update to a new root node
2877 if the new focus node and the old focus node don't have a common ancestor.
2879 2007-04-22 Darin Adler <darin@apple.com>
2883 - fix for <rdar://problem/5100240> REGRESSION: Control-O broken
2885 * WebView/WebHTMLView.mm:
2886 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Update to handle a vector of
2887 command names instead of a single command.
2888 (-[WebHTMLView doCommandBySelector:]): Change logic so that we add the command to a vector
2889 and also so that the interpretKeyEvents parameters are still intact for a second call to
2890 doCommandBySelector:, since the key bindings mechanism can do more than one.
2891 (-[WebHTMLView insertText:]): Added comment.
2893 2007-04-21 Darin Adler <darin@apple.com>
2897 - fix some problems I ran into using the inspector
2899 * WebInspector/webInspector/inspector.js: Add some null checks.
2901 2007-04-20 Timothy Hatcher <timothy@apple.com>
2905 Merge over the WebInspectorRefresh branch. This change removes the NSOutlineView and
2906 is replaced with a HTML/JavaScript tree. Most of the inspector logic is now in the JavaScript.
2908 A few bugs are fixed by these changes:
2910 Bug 6615: Parent node drop-down list is upside-down
2911 http://bugs.webkit.org/show_bug.cgi?id=6615
2913 Bug 6643: REGRESSION: Tree view repaints lines without erasing them first
2914 http://bugs.webkit.org/show_bug.cgi?id=6643
2916 Bug 6650: Web Inspector HTML Hierarchy can't be scrolled with scrollwheel
2917 http://bugs.webkit.org/show_bug.cgi?id=6650
2919 Bug 6677: Can't drag inspector when tree view has focus
2920 http://bugs.webkit.org/show_bug.cgi?id=6677
2922 Bug 7326: Web Inspector tree scrollbar always shows up when resizing the top pane down
2923 http://bugs.webkit.org/show_bug.cgi?id=7326
2925 * WebInspector/WebInspector.h: Removed the searchQuery methods.
2926 * WebInspector/WebInspector.m: Removed the DOMNode category and code for the old outline view.
2927 * WebInspector/WebInspectorOutlineView.h: Removed.
2928 * WebInspector/WebInspectorOutlineView.m: Removed.
2929 * WebInspector/WebInspectorInternal.h: Remove some methods and instance variables.
2930 * WebInspector/webInspector/Images/resize.png: Added.
2931 * WebInspector/webInspector/inspector.css:
2932 * WebInspector/webInspector/inspector.html: Include the new classes and remove the plugin.
2933 * WebInspector/webInspector/inspector.js: Changes to use the new tree outline and other fixes.
2934 * WebInspector/webInspector/scrollarea.js: Copied from the Dashboard widget resources.
2935 * WebInspector/webInspector/scrollbar.js: Ditto.
2936 * WebInspector/webInspector/treeoutline.js: New tree outline class.
2937 * WebInspector/webInspector/utilities.js: DOM and String prototype additions.
2938 * WebKit.xcodeproj/project.pbxproj: Remove WebInspectorOutlineView.
2940 2007-04-20 Brady Eidson <beidson@apple.com>
2942 Reviewed by Oliver (Black Sheep)
2944 <rdar://problem/3559794>
2945 [WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches
2947 * WebView/WebView.mm: Remove _private->useBackForwardList
2948 (-[WebView _setInitiatedDrag:]): Use _private->page instead of [self page]
2949 (-[WebView initWithCoder:]): Manipulate the flag that is now in WebCore::BackForwardList
2950 (-[WebView encodeWithCoder:]): Ditto
2951 (-[WebView backForwardList]): Use _private->page instead of [self page]
2952 (-[WebView setMaintainsBackForwardList:]): Manipulate the flag that is now in WebCore::BackForwardList
2954 2007-04-20 Anders Carlsson <andersca@apple.com>
2958 <rdar://problem/5085897> REGRESSION: Some Flash links at www.jumpskyhigh.com just reload the page
2960 Get rid of the check that would prevent plugin requests from being loaded if a new page load was underway.
2961 www.jumpskyhigh.com had a flash movie that was embedded inside an <a> tag and clicking on the plug-in would cause the
2962 URL pointed to by the <a> tag to start loading and thus preventing the plug-in from loading the real URL.
2964 This check was added by Maciej and we should be able to remove it with the loader changes that have happened now,
2965 (mainly the fact that resource loaders are handled by the document loader instead of the frame loader).
2967 * Plugins/WebBaseNetscapePluginView.mm:
2968 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2970 2007-04-19 Oliver Hunt <oliver@apple.com>
2974 Fix for <rdar://problem/4960912> -- REGRESSION: Content-Disposition:
2975 filename is ignored for drag-and-drop.
2977 * WebView/WebResource.mm:
2978 (-[WebResource _fileWrapperRepresentation]):
2979 When creating the NSFileWrapper check the response for a preferred
2980 filename, rather than just blindly hoping for the best.
2982 2007-04-19 Anders Carlsson <andersca@apple.com>
2986 <rdar://problem/5137002>
2987 REGRESSION (r20812): [WebFrame DOMDocument] is returning non-nil value in bookmarks view, causing trouble in Safari
2989 Put back the MIME type check as a workaround.
2990 * WebView/WebFrame.mm:
2991 (-[WebFrame DOMDocument]):
2993 2007-04-19 Mark Rowe <mrowe@apple.com>
2995 Reviewed by Oliver and Adam.
2997 <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients.
2999 * Misc/WebAssertions.h: Added.
3000 * WebKit.xcodeproj/project.pbxproj:
3002 2007-04-17 Brady Eidson <beidson@apple.com>
3006 <rdar://problem/5008925>
3007 Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate
3009 * WebCoreSupport/WebFrameLoaderClient.h:
3010 * WebCoreSupport/WebFrameLoaderClient.mm:
3011 (WebFrameLoaderClient::willCacheResponse): Call
3012 [WebResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:];
3014 * WebView/WebView.mm:
3015 (-[WebView _cacheResourceLoadDelegateImplementations]): Pull out the willCacheResponse impl
3017 * WebView/WebViewPrivate.h: Add WebResourceLoadDelegatePrivate category for this new SPI
3019 2007-04-18 John Sullivan <sullivan@apple.com>
3023 - fixed <rdar://problem/5103009> REGRESSION: Activity window shows blank name for untitled pages
3025 * WebView/WebHTMLRepresentation.mm:
3026 (-[WebHTMLRepresentation title]):
3027 return nil for empty string, to match old behavior
3029 2007-04-17 John Sullivan <sullivan@apple.com>
3031 Reviewed by Tim Hatcher
3033 - fixed <rdar://problem/5138492> Safari doesn't remember some changes to the PDF scale and display mode
3035 Some of the user interactions that could change the PDF scale and display mode were not going through
3036 the proxy mechanism in WebPDFView that updates preferences. Now we also listen to PDFKit notifications
3037 in order to catch the other cases.
3039 * WebView/WebPDFView.h:
3040 new _ignoreScaleAndDisplayModeNotifications and _updatePreferencesTimer ivars
3042 * WebView/WebPDFView.mm:
3043 (-[WebPDFView setPDFDocument:]):
3044 ignore scale and display mode notifications while we're setting up a fresh document
3045 (-[WebPDFView dealloc]):
3046 cancel the new timer (which releases it)
3047 (-[WebPDFView viewDidMoveToWindow]):
3048 listen for two PDFKit notifications
3049 (-[WebPDFView viewWillMoveToWindow:]):
3050 stop listening to the two PDFKit notifications
3051 (-[WebPDFView _applyPDFDefaults]):
3053 (-[WebPDFView _cancelUpdatePreferencesTimer]):
3054 invalidate, release, and nil out the timer
3055 (-[WebPDFView _scaleOrDisplayModeChanged:]):
3056 update preferences soon, unless deliberately ignoring these notifications
3057 (-[WebPDFView _updatePreferencesNow]):
3058 cancel timer, then save data to preferences (code for saving the data was extracted from
3059 -[PDFPrefUpdatingProxy forwardInvocation:])
3060 (-[WebPDFView _updatePreferencesSoon]):
3061 use timer to consolidate multiple calls into one action; formerly we were setting preferences
3062 multiple times for some atomic user actions
3063 (-[PDFPrefUpdatingProxy forwardInvocation:]):
3064 call _updatePreferencesSoon where we used to immediately set preferences
3066 2007-04-17 John Sullivan <sullivan@apple.com>
3068 Reviewed by Kevin Decker
3070 - fixed <rdar://problem/4184640> "Look Up in Dictionary" item is always disabled for PDF pages
3072 * WebView/WebPDFView.mm:
3073 (-[WebPDFView validateUserInterfaceItem:]):
3074 enable "Look Up in Dictionary" only if we're using a version of PDFKit that knows how to do so
3075 (-[WebPDFView _canLookUpInDictionary]):
3076 use respondsToSelector to test whether the current version of PDFKit supports this non-API feature
3077 (-[WebPDFView _lookUpInDictionaryFromMenu:]):
3078 implement this method, which WebKit includes in the context menu when there's selected text
3079 (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
3080 updated comment for this change
3082 2007-04-16 Darin Adler <darin@apple.com>
3084 Rubber stamped by Tim Hatcher.
3086 * WebKit.xcodeproj/project.pbxproj: Added Radar bug number to the error message
3087 for the "version number ending in 4" check so folks from Apple can find the
3088 original bug that motivated for this. To summarize what's in that bug, it says that
3089 <http://my.fedex.com> was failing, that it was because of the OpenCube DHTML Menu,
3090 and that some other affected sites were not using OpenCube (so the error is presumably
3093 2007-04-16 Darin Adler <darin@apple.com>
3095 Reviewed by John Sullivan.
3097 - fix http://bugs.webkit.org/show_bug.cgi?id=13303
3098 <rdar://problem/5126341> REGRESSION: controls in a background Safari window
3099 maintain active appearance if the address bar has focus (13303)
3101 * WebView/WebHTMLView.mm: (-[WebHTMLView _windowChangedKeyState]):
3102 Added. Calls FrameView::updateControlTints.
3104 2007-04-13 Oliver Hunt <oliver@apple.com>
3108 Due to rdar://problem/5133910 -- WebArchives should not be constructed
3109 using resource from the cache -- We may try to create a potentially
3110 incorrect WebArchive when dragging an image multiple times.
3112 This patch retains the assertion for invalid behaviour, but adds a
3113 branch to make sure we don't try to do anything with the WebArchive
3116 * Misc/WebNSPasteboardExtras.mm:
3117 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
3119 2007-04-13 Timothy Hatcher <timothy@apple.com>
3121 Reviewed by Dave Harrison.
3123 <rdar://problem/5132727> Soho Mail build fails because of renamed SPI
3125 * WebView/WebUIDelegatePrivate.h: define WebMenuItemTagSearchInGoogle as OldWebMenuItemTagSearchWeb
3127 2007-04-13 Mark Rowe <mrowe@apple.com>
3131 <rdar://problem/5130686> Using WebPreferencesPrivate.h requires modifying framework search path
3133 * WebView/WebPreferencesPrivate.h: Remove unneeded #ifdef.
3135 2007-04-12 Deneb Meketa <dmeketa@adobe.com>
3137 Reviewed by Darin Adler.
3139 http://bugs.webkit.org/show_bug.cgi?id=13029
3140 rdar://problem/4994849
3141 Bug 13029: Permit NPAPI plug-ins to see HTTP response headers.
3143 * Plugins/WebBaseNetscapePluginStream.h: declarations.
3144 * Plugins/WebBaseNetscapePluginStream.mm: main implementation.
3145 (-[WebBaseNetscapePluginStream dealloc]): cleanup.
3146 (-[WebBaseNetscapePluginStream finalize]): cleanup.
3147 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
3149 (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
3150 Main work is here. Extract headers from NSHTTPURLResponse object into a byte sequence.
3151 See comments here about how it would be nice to have low-level access to the HTTP response.
3152 (-[WebBaseNetscapePluginStream _destroyStream]): cleanup.
3153 * Plugins/WebBaseNetscapePluginView.mm:
3154 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
3155 Conform to new startStream params. Not applicable here, pass nil.
3157 2007-04-12 Brady Eidson <beidson@apple.com>
3159 Build fix for case sensitive file systems
3161 * Misc/WebNSPasteboardExtras.mm:
3162 * WebCoreSupport/WebPasteboardHelper.mm:
3164 2007-04-11 John Sullivan <sullivan@apple.com>
3168 - WebKit part of fix for:
3169 <rdar://problem/5128697> REGRESSION: At least one PDF context menu item isn't appearing on Leopard
3171 * Misc/WebNSArrayExtras.h: Added.
3172 * Misc/WebNSArrayExtras.m: Added.
3173 (-[NSMutableArray _webkit_removeUselessMenuItemSeparators]):
3174 New file, includes this method to strip leading, trailing, and duplicate separators from arrays
3175 of NSMenuItems (copied from Safari)
3177 * WebView/WebUIDelegatePrivate.h:
3178 new MenuItemTag enum values for new PDFKit context menu items
3180 * WebKit.xcodeproj/project.pbxproj:
3181 updated for new files
3183 * WebView/WebPDFView.mm:
3184 (-[WebPDFView _anyPDFTagsFoundInMenu:]):
3185 check for new PDFKit context menu items
3186 (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
3187 associate new PDFKit context menu item selectors with the new tags; skip certain selectors that
3188 correspond to menu items that WebKit already includes; remove useless menu item separators when
3189 we're done, since we might have removed arbitrarily-placed menu items
3191 2007-04-11 Oliver Hunt <oliver@apple.com>
3195 Adding RetainPtr to the many global obj-c pointers we use in
3196 C/C++ methods. This is necessary to prevent GC from collecting
3197 globals we want to keep around.
3199 We use RetainPtr in obj-c++ and c++ files, and CFRetain/Release in pure
3202 This fixes <rdar://problem/5058731> -- Crash in
3203 WebCore::DragData::containsCompatibleContent due to early release
3206 * Misc/WebLocalizableStrings.m:
3207 (WebLocalizedString):
3208 * Misc/WebNSPasteboardExtras.mm:
3209 (+[NSPasteboard _web_writableTypesForURL]):
3210 (_writableTypesForImageWithoutArchive):
3211 (_writableTypesForImageWithArchive):
3212 * Misc/WebNSURLExtras.m:
3213 (applyHostNameFunctionToMailToURLString):
3214 (applyHostNameFunctionToURLString):
3215 * Misc/WebStringTruncator.m:
3218 * WebCoreSupport/WebPasteboardHelper.mm:
3219 (WebPasteboardHelper::insertablePasteboardTypes):
3221 2007-04-11 MorganL <morganl.webkit@yahoo.com>
3225 Add a Frame pointer to ChromeClient methods:
3226 http://bugs.webkit.org/show_bug.cgi?id=13127
3228 * COM/ChromeClientWin.cpp:
3229 (ChromeClientWin::createWindow):
3230 (ChromeClientWin::createModalDialog):
3231 * COM/ChromeClientWin.h:
3232 * WebCoreSupport/WebChromeClient.h:
3233 * WebCoreSupport/WebChromeClient.mm:
3234 (WebChromeClient::createWindow):
3235 (WebChromeClient::createModalDialog):
3237 2007-04-10 Brady Eidson <beidson@apple.com>
3241 <rdar://problem/4887095> - PageCache and PageState should be combined
3243 WebKit side of the change to reflect the new object name of CachedPage and new Client method names
3245 * History/WebHistoryItem.mm:
3246 (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
3247 (+[WebHistoryItem _releaseAllPendingPageCaches]):
3248 (-[WebWindowWatcher windowWillClose:]):
3250 * WebCoreSupport/WebFrameLoaderClient.h:
3251 * WebCoreSupport/WebFrameLoaderClient.mm:
3252 (WebFrameLoaderClient::setDocumentViewFromCachedPage):
3253 (WebFrameLoaderClient::loadedFromCachedPage):
3254 (WebFrameLoaderClient::saveDocumentViewToCachedPage):
3256 2007-04-09 Geoffrey Garen <ggaren@apple.com>
3258 Reviewed by Maciej Stachowiak.
3260 Support for fixing fast/forms/textarea-paste-newline.html.
3262 Added SPI for specifying whether a WebView should allow pasting through the
3266 * WebKit.xcodeproj/project.pbxproj:
3267 * WebView/WebPreferenceKeysPrivate.h:
3268 * WebView/WebPreferences.m:
3269 (+[WebPreferences standardPreferences]):
3270 (-[WebPreferences isDOMPasteAllowed]):
3271 (-[WebPreferences setDOMPasteAllowed:]):
3272 * WebView/WebPreferencesPrivate.h:
3273 * WebView/WebView.mm:
3274 (-[WebView _updateWebCoreSettingsFromPreferences:]):
3276 2007-04-09 Anders Carlsson <andersca@apple.com>
3280 <rdar://problem/5081860>
3281 REGRESSION: Select All for standalone image has no visible effect but does change state
3283 <rdar://problem/5081840>
3284 REGRESSION: context menu in white space beyond standalone image is different after Select All
3286 Have validateUserInterface emulate the old behavior for full-frame images and plugins, which is:
3288 - For full-frame plugins, always return false.
3289 - For images, only return true if the selector is copy: and the image has finished loading.
3291 * WebView/WebHTMLView.mm:
3292 (-[WebHTMLView validateUserInterfaceItem:]):
3294 2007-04-09 Anders Carlsson <andersca@apple.com>
3298 <rdar://problem/5026893>
3299 REGRESSION: "Mail Contents of this Page" for standalone image in Safari results in a broken image in Mail
3301 * WebView/WebFrame.mm:
3302 (-[WebFrame DOMDocument]):
3303 We can't check for _isHTMLDocument here since image and plugin documents inherit from HTMLDocument. Instead,
3304 check for those two document types explicitly.
3306 2007-04-09 Anders Carlsson <andersca@apple.com>
3308 Reviewed by Geoff, Ada and John.
3310 <rdar://problem/4600978> Would like a way to test whether a WebView is displaying a standalone image
3312 * WebView/WebFrame.mm:
3313 (-[WebFrame _isDisplayingStandaloneImage]):
3314 * WebView/WebFramePrivate.h:
3315 Add _isDisplayingStandaloneImage SPI.
3317 2007-04-06 Timothy Hatcher <timothy@apple.com>
3319 Reviewed by Mark Rowe.
3321 Adds a build phase script that ensures WebKit's version dosen't end in a 4.
3322 If our version ends in 4, some sites might think we are Netscape 4 in their
3325 * Configurations/Version.xcconfig:
3326 * WebKit.xcodeproj/project.pbxproj:
3328 2007-04-05 Anders Carlsson <andersca@apple.com>
3332 <rdar://problem/5083023>
3333 REGRESSION: In Real Player (10.1.0), video continues to play after closing window
3335 This broke in revision 18422 because now the plugin isn't stopped when the window is closed. Since the window is retained
3336 by the plugin view for as long as it is running (so that removeTrackingRect works even though the window has been closed),
3337 we would end up with a reference cycle (NSWindow -> WebView -> PluginView -> NSWindow) and stopping the plug-in when the window
3338 was closed would break that cycle.
3340 Applications that call -[WebView close] when closing aren't affected, but RealPlayer doesn't do this.
3342 The bug that 18422 was supposed to fix was fixed by 19275, which is why it's safe to add back the check.
3344 * Plugins/WebBaseNetscapePluginView.mm:
3345 (-[WebBaseNetscapePluginView addWindowObservers]):
3346 (-[WebBaseNetscapePluginView removeWindowObservers]):
3347 (-[WebBaseNetscapePluginView windowWillClose:]):
3349 2007-04-05 Kevin McCullough <kmccullough@apple.com>
3353 - Moved registerURLSchemeAsLocal to the public API.
3355 * WebView/WebView.h:
3356 * WebView/WebView.mm:
3357 (+[WebView registerURLSchemeAsLocal:]):
3358 * WebView/WebViewPrivate.h:
3360 === Safari-5522.6 ===
3362 2007-04-04 Anders Carlsson <andersca@apple.com>
3366 <rdar://problem/5107536>
3367 http://bugs.webkit.org/show_bug.cgi?id=13264
3368 REGRESSION: Crash when canceling about:blank in Activity viewer
3370 * WebView/WebFrame.mm:
3371 (-[WebFrame stopLoading]):
3372 Add a null check for the frame loader - it can be null when the frame has been disconnected
3375 2007-04-03 Anders Carlsson <andersca@apple.com>
3379 <rdar://problem/5028178>
3380 Crash occurs at WebCore::FrameLoader::activeDocumentLoader() after loading Froggster widget
3382 * Plugins/WebNetscapePluginStream.mm:
3383 (-[WebNetscapePluginStream start]):
3384 If load returns no the plugin loader has already been removed by the didFail callback.
3386 2007-04-02 Anders Carlsson <andersca@apple.com>
3390 Fix crash when running plugins/destroy-stream-twice.html under GuardMalloc
3392 * Plugins/WebBaseNetscapePluginStream.h:
3393 * Plugins/WebBaseNetscapePluginStream.mm:
3394 (+[WebBaseNetscapePluginStream ownerForStream:]):
3395 (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
3396 (-[WebBaseNetscapePluginStream dealloc]):
3397 (-[WebBaseNetscapePluginStream finalize]):
3398 Change the streams hash map to contain an NPStream*, and change ownerForStream to take an NPStream*.
3400 * Plugins/WebBaseNetscapePluginView.mm:
3401 (-[WebBaseNetscapePluginView destroyStream:reason:]):
3402 Check that the NPStream pointer is valid before accessing stream->ndata.
3404 2007-04-02 Darin Adler <darin@apple.com>
3408 - fix http://bugs.webkit.org/show_bug.cgi?id=13026
3409 <rdar://problem/5061026> incomplete render of menu
3410 (assertion failing in -[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:])
3412 - fix http://bugs.webkit.org/show_bug.cgi?id=13120
3413 <rdar://problem/5080339> Plug-ins that draw through the QuickDraw interface may crash
3414 by hanging onto old GWorlds.
3416 - set clip path for CoreGraphics plug-ins in the same way we do for QuickDraw plug-ins
3417 this is a better fix for <rdar://problem/4939511> WebKit should set the the CG clip
3418 path for plug-ins that draw using Core Graphics
3420 Incorporates changes from a patch by Mark Ambachtsheer.
3422 Here are the changes:
3424 1) Don't try to use the offscreen code path if GGBitmapContextGetData returns 0.
3425 2) Handle kCGBitmapByteOrderDefault when computing the QD pixel format, even though
3426 we don't have any evidence that this happens in practice.
3427 3) Keep the GWorld around until we create a new one or the plug-in is destroyed.
3428 4) Use the GWorld pointer itself as a flag to indicate whether we are using an
3430 5) Set up clipping for CoreGraphics in the same way we do for QuickDraw; remove an
3431 earlier attempt that handled CoreGraphics differently.
3433 * Plugins/WebBaseNetscapePluginView.h: Added a field named offscreenGWorld to hold
3434 the GWorld until it's needed.
3435 * Plugins/WebBaseNetscapePluginView.mm:
3436 (getQDPixelFormatForBitmapContext): Replaced QDPixelFormatFromCGBitmapInfo. Used the
3437 "get" prefix so we don't intrude on the QD namespace. Added code to handle the
3438 kCGBitmapByteOrderDefault case, although I'm not sure it will really come up in
3439 practice -- it wasn't really coming up in the buggy case.
3440 (getNPRect): Added helper functions. Used to make the code below clearer.
3441 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Use getNPRect to
3442 streamline code. Use GetGWorld to save the port since we use SetGWorld to restore
3443 it later. Store the GWorld we create in the offscreenGWorld field and dispose the
3444 existing one. Don't treat the CGBitmapContext as an offscreen bitmap if it
3445 has a data pointer of 0. Set up the clip based on the result of
3446 -[NSView getRectsBeingDrawn:count] when setting up the port for CoreGraphics
3447 (after saving the port state).
3448 (-[WebBaseNetscapePluginView restorePortState:]): Remove now-unneeded code to
3449 destroy the offscreen GWorld, and simplified the code that restores the port so we
3450 don't need a separate case for offscreen.
3451 (-[WebBaseNetscapePluginView fini]): Renamed from freeAttributeKeysAndValues, since
3452 this method now does more than just the attributes. This is the shared method that
3453 does things needed in both dealloc and finalize. Added a call to DisposeGWorld here.
3454 (-[WebBaseNetscapePluginView dealloc]): Updated for name change.
3455 (-[WebBaseNetscapePluginView finalize]): Ditto.
3456 (-[WebBaseNetscapePluginView drawRect:]): Removed code to set clip. This is done in
3457 the saveAndSetNewPortStateForUpdate: method instead.
3459 2007-03-30 Adele Peterson <adele@apple.com>
3463 Call execCommand for deleteWordForward and deleteWordBackward instead of calling
3464 deleteWithDirection directly.
3466 * WebView/WebHTMLView.mm:
3467 (-[WebHTMLView deleteWordForward:]):
3468 (-[WebHTMLView deleteWordBackward:]):
3470 2007-03-30 Anders Carlsson <andersca@apple.com>
3474 * Plugins/WebNetscapePluginPackage.m:
3475 (-[WebNetscapePluginPackage load]):
3476 Initialize pushpopupsenabledstate, poppopupsenabledstate and enumerate.
3479 (NPN_PushPopupsEnabledState):
3480 (NPN_PopPopupsEnabledState):
3481 Add stubs for these functions.
3483 * Plugins/npfunctions.h:
3484 Add new methods to NPNetscapeFuncs.
3486 2007-03-29 Geoffrey Garen <ggaren@apple.com>
3488 Reviewed by Beth Dakin, reviewed by Maciej Stachowiak.
3490 Layout test for <rdar://problem/5091330> REGRESSION: Repro crash in
3491 -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:]
3492 navigating away from page with DivX movie plug-in (13203)
3494 Changed LOG_ERROR to LOG so the layout test doesn't produce console spew
3495 every time you run it.
3497 * Plugins/WebBaseNetscapePluginView.mm:
3498 (-[WebBaseNetscapePluginView destroyStream:reason:]):
3500 2007-03-29 Beth Dakin <bdakin@apple.com>
3504 Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text
3505 blinks when mouse is moved, and is invisible otherwise
3509 <rdar://problem/4992521> Please adjust WebKit's Acrobat-workaround
3512 The fix for the first bug is to compare against the bundle
3513 identifiers for Adobe Reader and the non-Pro Adobe Acrobat in
3514 addition to Adobe Acrobat Pro. The fix for the second bug is to
3515 check the version number of Acrobat/Reader through
3516 WebKitSystemInterface instead of checking which version of WebKit
3517 it has been linked against.
3519 * English.lproj/StringsNotToBeLocalized.txt: Two new bundle
3521 * Misc/WebKitVersionChecks.h: Remove Acrobat quirk constant.
3522 * WebView/WebView.mm:
3523 (-[WebView _updateWebCoreSettingsFromPreferences:]):
3525 2007-03-29 Geoffrey Garen <ggaren@apple.com>
3527 Rubber stamped by Beth Dakin.
3529 WebBaseNetscapePluginStream.m => WebBaseNetscapePluginStream.mm, since
3532 * Plugins/WebBaseNetscapePluginStream.m: Removed.
3533 * WebKit.xcodeproj/project.pbxproj:
3535 2007-03-27 Geoffrey Garen <ggaren@apple.com>
3537 Reluctantly tolerated by Darin Adler.
3539 Fixed <rdar://problem/5091330> REGRESSION: Repro crash in
3540 -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:]
3541 navigating away from page with DivX movie plug-in (13203)
3543 The problem was that the DivX plug-in would ask us to destroy an NPStream
3544 that had already been destroyed, causing us to wander off into freed
3545 memory. (I believe the reason this was a regression was that we never used
3546 to destroy plug-in streams, period.)
3548 The solution here is to track the NPStreams belonging to a plug-in, and
3549 guard against plug-ins making calls with NPStreams that don't belong to
3550 them. (It turns out that NPN_DestroyStream is the only stream-based
3551 plug-in call we support.)
3553 (CarbonPathFromPOSIXPath): Fixed up a cast to be C++ compatible.
3554 * Plugins/WebBaseNetscapePluginView.mm:
3555 (-[WebBaseNetscapePluginView destroyStream:reason:]): The actual fix.
3556 Use helper method to guard against a plug-in using an NPStream that doesn't
3558 * WebKit.xcodeproj/project.pbxproj: Made WebBaseNetscapePluginView ObjC++
3559 so I could use HashMap.
3561 2007-03-28 Adele Peterson <adele@apple.com>
3567 * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_VITALSOURCE_QUIRK.
3568 * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]):
3569 Added check to only use the VitalSource workaround if the app is not linked on or after
3570 the defined WEBKIT_FIRST_VERSION_WITHOUT_VITALSOURCE_QUIRK version number.
3572 2007-03-28 Adele Peterson <adele@apple.com>
3574 Reviewed by Kevin M.
3576 WebKit part of fix for <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString
3578 Added an app specific workaround for VitalSource Bookshelf that strips "return" from the beginning of their script strings. We used to allow this
3579 but now we throw a JavaScript exception for return statements that aren't in functions.
3581 Filed this evangelism bug so we can notify VitalSource of the problem:
3582 <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString
3584 * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]):
3586 2007-03-27 John Sullivan <sullivan@apple.com>
3590 - fixed <rdar://problem/5092556> Default UA spoofing is always off until explicitly toggled
3592 * WebView/WebView.mm:
3593 (-[WebView _commonInitializationWithFrameName:groupName:]):
3594 initialize the cached value of _private->useSiteSpecificSpoofing here; formerly it would not
3595 be initialized correctly in the common case of WebViews that use [WebPreferences standardPreferences]
3597 2007-03-27 Mark Rowe <mrowe@apple.com>
3599 Reviewed by Dave Harrison.
3601 * Configurations/WebKit.xcconfig: Include UMBRELLA_FRAMEWORKS_DIR in framework search path.
3603 2007-03-26 Antti Koivisto <antti@apple.com>
3607 On Mac, support fine grained wheel events generated by trackpad and Mighty Mouse.
3608 http://bugs.webkit.org/show_bug.cgi?id=13134
3609 <rdar://problem/5076249>
3611 * WebCoreSupport/WebSystemInterface.m:
3612 (InitWebCoreSystemInterface): Expose GetWheelEventDeltas()
3614 2007-03-26 John Sullivan <sullivan@apple.com>
3616 Reviewed by Dave Harrison
3618 - fixed <rdar://problem/4769772> Problem with Find on certain PDF page
3620 * WebView/WebPDFView.mm:
3621 (-[WebPDFView _scaledAttributedString:]):
3622 We were hitting an exception trying to set the font attribute to nil, which was happening because
3623 the result of -[PDFSelection attributedString] had no attributes. That PDFSelection bug is now
3624 filed separately, but this works around the exception.
3626 2007-03-24 David Hyatt <hyatt@apple.com>
3628 Amend the statistics reporting for the WebCore cache to include XSL and to report live/decoded sizes.
3631 (+[WebCache statistics]):
3633 2007-03-24 Brady Eidson <beidson@apple.com>
3637 RetainPtr is no longer in the WebCore namespace
3639 * History/WebBackForwardList.mm:
3640 * WebCoreSupport/WebEditorClient.h:
3641 * WebCoreSupport/WebFrameLoaderClient.h:
3642 * WebView/WebDocumentLoaderMac.h:
3644 2007-03-24 Brady Eidson <beidson@apple.com>
3648 <rdar://problem/5086210> - Move RetainPtr to WTF
3650 * ForwardingHeaders/wtf/RetainPtr.h: Added.
3651 * History/WebBackForwardList.mm: Changed #import to <wtf/RetainPtr.h>
3652 * WebCoreSupport/WebEditorClient.h: Ditto
3653 * WebCoreSupport/WebFrameLoaderClient.h: Ditto
3654 * WebView/WebDocumentLoaderMac.h: Ditto
3656 2007-03-24 John Sullivan <sullivan@apple.com>
3660 - fixed <rdar://problem/5084872> Need to add flickr to spoof list in WebKit
3661 - only do site-specific spoofing if a preference is set
3663 * WebView/WebPreferenceKeysPrivate.h:
3664 added WebKitUseSiteSpecificSpoofingPreferenceKey
3666 * WebView/WebPreferences.m:
3667 (+[WebPreferences initialize]):
3668 initialize WebKitUseSiteSpecificSpoofingPreferenceKey to false
3669 (-[WebPreferences _useSiteSpecificSpoofing]):
3670 get value of WebKitUseSiteSpecificSpoofingPreferenceKey
3671 (-[WebPreferences _setUseSiteSpecificSpoofing:]):
3672 set value of WebKitUseSiteSpecificSpoofingPreferenceKey
3674 * WebView/WebPreferencesPrivate.h:
3675 declare _useSiteSpecificSpoofing and _setUseSiteSpecificSpoofing
3677 * WebView/WebView.mm:
3678 cache the value of WebKitUseSiteSpecificSpoofingPreferenceKey in a bool in _private
3679 (-[WebView _preferencesChangedNotification:]):
3680 update the cached value
3681 (-[WebView setPreferences:]):
3683 (-[WebView WebCore::_userAgentForURL:WebCore::]):
3684 Only spoof here if the new site-specific spoofing preference is enabled. If it is, pass
3685 Safari 2.0.4's user agent string for flickr.com. We can remove this case when 5081617 is addressed.
3687 2007-03-24 Mark Rowe <mrowe@apple.com>
3689 Rubber-stamped by Darin.
3691 * Configurations/WebKit.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
3693 2007-03-23 Mark Rowe <mrowe@apple.com>
3695 Build fix for when BUILDING_ON_TIGER is not defined.
3697 * Misc/WebTypesInternal.h:
3698 * WebView/WebHTMLView.mm:
3700 2007-03-22 David Kilzer <ddkilzer@apple.com>
3704 Use BUILDING_ON_TIGER from WebKitPrefix.h instead of local
3705 MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 tests.
3707 * Misc/WebTypesInternal.h:
3708 * WebView/WebHTMLView.mm:
3710 2007-03-22 Darin Adler <darin@apple.com>
3714 - fix <rdar://problem/5074630> detachChildren call should move from WebKit to WebCore
3716 * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::prepareForDataSourceReplacement):
3717 Remove call to detachChildren. This should be a WebCore responsibility.
3719 2007-03-19 Anders Carlsson <acarlsson@apple.com>
3721 Reviewed by Dave Hyatt.
3723 <rdar://problem/5067983>
3724 iSale: Crash occurs at WebFrameLoaderClient::dispatchDecidePolicyForMIMEType() when attempting to load a HTML template
3726 Restore old behavior (broke in r14533) where the resource load and download delegates are retained for as long as the
3727 data source is loading.
3729 * WebCoreSupport/WebFrameLoaderClient.mm:
3730 (WebFrameLoaderClient::createDocumentLoader):
3731 * WebView/WebDocumentLoaderMac.h:
3732 * WebView/WebDocumentLoaderMac.mm:
3733 (WebDocumentLoaderMac::setDataSource):
3734 (WebDocumentLoaderMac::decreaseLoadCount):
3736 2007-03-19 Geoffrey Garen <ggaren@apple.com>
3738 Speculative fix for why ASSERT_MAIN_THREAD didn't work for me. (The
3739 documentation says "non-zero," not "1."
3741 * Misc/WebKitLogging.m:
3742 (WebKitRunningOnMainThread):
3744 2007-03-19 Andrew Wellington <proton@wiretapped.net>
3748 Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
3750 * WebKit.xcodeproj/project.pbxproj:
3752 2007-03-19 Darin Adler <darin@apple.com>
3754 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
3756 2007-03-19 John Sullivan <sullivan@apple.com>
3760 - fixed <rdar://problem/5071238> REGRESSION: opt-cmd-B to show Bookmarks view does
3761 nothing when form field has focus
3763 * WebView/WebHTMLView.mm:
3764 (-[WebHTMLView _handleStyleKeyEquivalent:]):
3765 we were counting any set of modifiers plus 'b' as the standard key equivalent for
3766 toggling Bold; now we only accept command+'b'
3768 2007-03-19 Adam Roben <aroben@apple.com>
3770 Reviewed by Hyatt and Maciej.
3772 Updated WebCoreStatistics for the conversion of WebCoreJavaScript to
3775 * Misc/WebCoreStatistics.mm:
3776 (+[WebCoreStatistics javaScriptObjectsCount]):
3777 (+[WebCoreStatistics javaScriptInterpretersCount]):
3778 (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
3779 (+[WebCoreStatistics javaScriptRootObjectTypeCounts]): Moved
3780 conversion to NSCountedSet here from WebCore.
3781 (+[WebCoreStatistics garbageCollectJavaScriptObjects]):
3782 (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThread:]):
3783 (+[WebCoreStatistics shouldPrintExceptions]):
3784 (+[WebCoreStatistics setShouldPrintExceptions:]):
3785 (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
3786 (+[WebCoreStatistics javaScriptRootObjectClasses]):
3788 2007-03-18 Andrew Wellington <proton@wiretapped.net>
3790 Reviewed by Mark Rowe
3792 Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
3794 * WebKit.xcodeproj/project.pbxproj:
3796 2007-03-19 Mark Rowe <mrowe@apple.com>
3798 Rubber-stamped by Brady.
3800 Update references to bugzilla.opendarwin.org with bugs.webkit.org.
3802 * WebInspector/webInspector/inspector.css:
3803 * WebView/WebHTMLView.mm:
3804 (-[WebHTMLView firstRectForCharacterRange:]):
3805 * WebView/WebView.mm:
3806 (-[WebView initWithFrame:frameName:groupName:]):
3808 2007-03-18 David Hyatt <hyatt@apple.com>
3810 Move frame borders out of WebKit and into WebCore.
3812 Reviewed by aroben, olliej
3814 * WebCoreSupport/WebFrameBridge.mm:
3815 * WebKit.xcodeproj/project.pbxproj:
3816 * WebView/WebFrameView.mm:
3817 (-[WebFrameView drawRect:]):
3818 (-[WebFrameView setFrameSize:]):
3819 * WebView/WebFrameViewInternal.h:
3821 2007-03-17 John Sullivan <sullivan@apple.com>
3823 Reviewed by Tim Hatcher
3825 Discovered while working on <rdar://problem/5070334> that many WebView calls will crash if called
3826 after -[WebView close] has executed because _private->page is deferenced after it's been set to 0.
3827 It might be silly/wrong to call these methods after -close, but obviously it shouldn't crash. Made
3828 each use of _private->page robust against nil-dereferencing.
3830 * WebView/WebView.mm:
3831 (-[WebView _loadBackForwardListFromOtherView:]):
3832 (-[WebView _updateWebCoreSettingsFromPreferences:]):
3833 (-[WebView _setDashboardBehavior:to:]):
3834 (-[WebView _dashboardBehavior:]):
3835 (-[WebView goBack]):
3836 (-[WebView goForward]):
3837 (-[WebView goToBackForwardItem:]):
3838 (-[WebView canGoBack]):
3839 (-[WebView canGoForward]):
3840 (-[WebView setTabKeyCyclesThroughElements:]):
3841 (-[WebView tabKeyCyclesThroughElements]):
3842 (-[WebView setEditable:]):
3844 2007-03-17 Timothy Hatcher <timothy@apple.com>
3846 Reviewed by Mark Rowe.
3848 Made Version.xcconfig smarter when building for different configurations.
3849 Now uses the 522+ OpenSource version for Debug and Release, while using the
3850 full 522.4 version for Production builds. The system prefix is also computed
3851 based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
3853 * Configurations/Version.xcconfig:
3854 * Configurations/WebKit.xcconfig:
3856 2007-03-16 Oliver Hunt <oliver@apple.com>
3860 The old canSaveAsWebArchive call was necessary as stand alone
3861 images used to be rendered by ImageDocument.
3863 Fixes rdar://problem/5061252
3865 * WebCoreSupport/WebDragClient.h:
3866 * WebCoreSupport/WebDragClient.mm:
3867 (WebDragClient::declareAndWriteDragImage):
3868 * WebKit.xcodeproj/project.pbxproj:
3870 2007-03-15 Brady Eidson <beidson@apple.com>
3874 <rdar://problem/4429701>
3875 Implements a port blocking black list that matches Firefox's
3877 * English.lproj/Localizable.strings: Added localizable string for port blocked error code
3879 * Misc/WebKitErrors.h:
3880 * Misc/WebKitErrors.m:
3881 (registerErrors): Add new port blocked error code to WebKitErrorDomain
3883 * WebCoreSupport/WebFrameLoaderClient.h:
3884 * WebCoreSupport/WebFrameLoaderClient.mm:
3885 (WebFrameLoaderClient::cancelledError): Fixed coding style
3886 (WebFrameLoaderClient::blockedError): Return a ResourceError with the new custom error code
3888 2007-03-15 Timothy Hatcher <timothy@apple.com>
3892 * Fixes: <rdar://problem/4927747> WebKit's Current Library Version number should match the Info.plist Version
3893 * Factored out most of our common build settings into .xcconfig files. Anything that was common in
3894 each build configuration was factored out into the shared .xcconfig file.
3895 * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
3896 * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
3897 * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
3898 * Make WebKit use the same warning flags as the other projects. This required two casts to be added to fix new warnings.
3900 * Configurations/Base.xcconfig: Added.
3901 * Configurations/DebugRelease.xcconfig: Added.
3902 * Configurations/Version.xcconfig: Added.
3903 * Configurations/WebKit.xcconfig: Added.
3905 * Misc/WebKitVersionChecks.h:
3906 * Plugins/WebBaseNetscapePluginStream.m:
3907 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
3908 * WebKit.xcodeproj/project.pbxproj:
3910 2007-03-15 Kevin Decker <kdecker@apple.com>
3914 Fixed: <rdar://problem/5001428> stationery background images do not display
3916 Change 19244 fixed the method -[WebResource _shouldIgnoreWhenUnarchiving], but also broke Mail stationery.
3918 The problem was that with archivedResourceForURL now fixed, the engine will try to decode the images. These images wouldn't decode because
3919 Mail re-encodes and directly manipulates the image data in such a way that prevented WebKit from decoding the image. Because Mail was giving
3920 us bad data, the images wouldn't render. This was never an issue before because archivedResourceForURL (broken) always returned nil, thus the
3921 engine would never attempt to decode the resource, therefore the responsibility was delegated to Mail's protocol handler, which would do the
3922 right thing and load the image.
3924 Since Mail is relying on the fact it can store arbitrary data in WebArchives, I've introduced SPI that acts as a hint for us to ignore certain
3925 subresources while unarchiving. This SPI is -[WebResource _shouldIgnoreWhenUnarchiving].
3927 * WebView/WebResource.mm: Addd private ivar shouldIgnoreWhenUnarchiving.
3928 (-[WebResource _ignoreWhenUnarchiving]): Added.
3929 (-[WebResource _shouldIgnoreWhenUnarchiving]): Added.
3930 * WebView/WebResourcePrivate.h: Added two methods to private header.
3931 * WebView/WebUnarchivingState.m:
3932 (-[WebUnarchivingState archivedResourceForURL:]): Check if we should ignore the resource.
3934 2007-03-15 Mark Rowe <mrowe@apple.com>
3938 Fix for <rdar://problem/5065060> ASSERTION FAILURE: newUsername && newPassword
3939 when submitting an authentication form without password.
3941 * WebCoreSupport/WebFrameLoaderClient.mm:
3942 (WebFrameLoaderClient::dispatchWillSubmitForm): Don't omit form fields with empty values from the dictionary
3943 passed to the delegate.
3945 2007-03-14 Anders Carlsson <acarlsson@apple.com>
3947 Reviewed by Dave Hyatt.
3949 Don't add the data twice, it's also done by didReceiveData.
3951 * WebCoreSupport/WebFrameLoaderClient.mm:
3952 (WebFrameLoaderClient::deliverArchivedResources):
3954 2007-03-14 Anders Carlsson <acarlsson@apple.com>
3956 Fix segmentation fault when running layout tests.
3958 Remove bogus check that that I added on purpose to see how good Geoff is at spotting mistakes when reviewing code.
3959 (Turns out he's not that good!)
3961 * WebView/WebDocumentLoaderMac.mm:
3962 (WebDocumentLoaderMac::increaseLoadCount):
3964 2007-03-14 Anders Carlsson <acarlsson@apple.com>
3968 http://bugs.webkit.org/show_bug.cgi?id=13076
3969 REGRESSION: Multiple loading tabs cause assertion in WebDocumentLoaderMac::decreaseLoadCount(unsigned long)
3971 Store the identifier set in the document loader since identifiers are per-webview and not global.
3973 * WebView/WebDocumentLoaderMac.h:
3974 * WebView/WebDocumentLoaderMac.mm:
3975 (WebDocumentLoaderMac::WebDocumentLoaderMac):
3976 (WebDocumentLoaderMac::attachToFrame):
3977 (WebDocumentLoaderMac::increaseLoadCount):
3978 (WebDocumentLoaderMac::decreaseLoadCount):
3980 2007-03-14 David Harrison <harrison@apple.com>
3984 <rdar://problem/5009625> REGRESSION: Aperture 1.5: Can't select entire line of text after correcting a misspelled word
3986 * WebCoreSupport/WebEditorClient.mm:
3987 (WebEditorClient::respondToChangedSelection):
3988 * WebCoreSupport/WebFrameBridge.mm:
3989 Provide compatibility by not sending WebViewDidChangeSelectionNotification if
3990 the app is Aperture and is linked against WebKit 2.0.
3992 === Safari-5522.4 ===
3994 2007-03-14 Anders Carlsson <acarlsson@apple.com>
3998 <rdar://problem/5058714>
3999 http://bugs.webkit.org/show_bug.cgi?id=13050
4001 World leaks seen on Leopard after opening then closing tab (13050)
4003 Add a hash set to prevent the load count to be increased twice for the same resource.
4005 * WebCoreSupport/WebFrameLoaderClient.mm:
4006 (WebFrameLoaderClient::dispatchWillSendRequest):
4007 (WebFrameLoaderClient::dispatchDidFinishLoading):
4008 (WebFrameLoaderClient::dispatchDidFailLoading):
4009 * WebView/WebDocumentLoaderMac.h:
4010 * WebView/WebDocumentLoaderMac.mm:
4012 (WebDocumentLoaderMac::increaseLoadCount):
4013 (WebDocumentLoaderMac::decreaseLoadCount):
4015 2007-03-14 Adele Peterson <adele@apple.com>
4019 Removed _insertTextWithEvent, _insertNewlineWithEvent, and _insertTextWithEvent.
4020 Instead, use execCommand and insertText methods on the Editor.
4022 * WebView/WebHTMLView.mm:
4023 (-[WebHTMLView insertTab:]):
4024 (-[WebHTMLView insertBacktab:]):
4025 (-[WebHTMLView insertNewline:]):
4026 (-[WebHTMLView insertLineBreak:]):
4027 (-[WebHTMLView insertParagraphSeparator:]):
4028 (-[WebHTMLView insertNewlineIgnoringFieldEditor:]):
4029 (-[WebHTMLView insertTabIgnoringFieldEditor:]):
4030 (-[WebHTMLView yank:]):
4031 (-[WebHTMLView yankAndSelect:]):
4032 (-[WebHTMLView doCommandBySelector:]):
4033 (-[WebHTMLView insertText:]):
4035 2007-03-14 David Hyatt <hyatt@apple.com>
4037 Fixes to ensure that the resource loader's shared buffer can always be used.
4039 Reviewed by olliej, mjs
4041 * Misc/WebIconDatabase.mm:
4042 (-[WebIconDatabase _convertToWebCoreFormat]):
4043 * WebCoreSupport/WebFrameLoaderClient.mm:
4044 (WebFrameLoaderClient::deliverArchivedResources):
4046 2007-03-13 Oliver Hunt <oliver@apple.com>
4050 Modify subresourceForURL to take NSString argument
4051 so we can avoid [NSURL absoluteString]
4053 * WebView/WebDataSource.mm:
4054 (-[WebDataSource subresourceForURL:]):
4056 2007-03-13 Brady Eidson <beidson@apple.com>
4058 Rubberstamped by Alice
4060 Meant to be part of my previous checkin... pruning unused code from WebKit
4062 * WebView/WebFrame.mm: Removed _canCachePage
4063 * WebView/WebFrameInternal.h: Ditto
4065 2007-03-13 Beth Dakin <bdakin@apple.com>
4069 Fix for <rdar://problem/4277074> 8F32: Help Viewer crashed on
4070 clicking link - KHTMLView::viewportMouseReleaseEvent (12647)
4072 Re-set the DocumentLoader's frame when loading it from the page
4073 cache before setting the document view.
4075 * WebCoreSupport/WebFrameLoaderClient.mm:
4076 (WebFrameLoaderClient::setDocumentViewFromPageCache):
4078 2007-03-13 Timothy Hatcher <timothy@apple.com>
4082 <rdar://problem/5057117> Spoof user agent on Yahoo.com with Safari and WebKit as version 4xx
4084 * Plugins/WebBaseNetscapePluginView.mm:
4085 (-[WebBaseNetscapePluginView userAgent]): Stop using the deprecated lossyCString method.
4086 * WebCoreSupport/WebFrameBridge.mm: Removed dead code, userAgentForURL: wasn't used.
4087 * WebCoreSupport/WebFrameLoaderClient.mm:
4088 (WebFrameLoaderClient::userAgent): Call WebView's _userAgentForURL:.
4089 * WebView/WebView.mm:
4090 (-[WebView _cachedResponseForURL:]): Call userAgentForURL: instead of _userAgent.
4091 (-[WebView userAgentForURL:]): Call _userAgentForURL:.
4092 (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): New method to construct a UA.
4093 (-[WebView _computeUserAgent]): Ractored out into _userAgentWithApplicationName:andWebKitVersion:
4094 (-[WebView _userAgentForURL:]): Tail compare for Yahoo.com, and return a UA with an older WebKit version.
4095 * WebView/WebViewInternal.h: Declare _userAgentForURL:.
4097 2007-03-12 David Harrison <harrison@apple.com>
4101 <rdar://problem/4743256> ctrl-y key binding (yank) should do nothing when kill ring is empty
4104 * editing/pasteboard/emacs-cntl-y-001.html:
4106 * WebView/WebHTMLView.mm:
4107 (-[WebHTMLView yank:]):
4108 (-[WebHTMLView yankAndSelect:]):
4109 Do nothing if the killring is empty.
4111 2007-03-12 Darin Adler <darin@apple.com>
4113 Reviewed by Tim Hatcher.
4115 - update for the new naming scheme for the Objective-C wrapper-creation
4116 functions: _wrapElement: instead of _elementWith:, etc.
4118 * WebCoreSupport/WebEditorClient.mm:
4119 (WebEditorClient::textFieldDidBeginEditing):
4120 (WebEditorClient::textFieldDidEndEditing):
4121 (WebEditorClient::textDidChangeInTextField):
4122 (WebEditorClient::doTextFieldCommandFromEvent):
4123 (WebEditorClient::textWillBeDeletedInTextField):
4124 (WebEditorClient::textDidChangeInTextArea):
4125 * WebCoreSupport/WebFrameLoaderClient.mm:
4126 (WebFrameLoaderClient::createPlugin):
4127 (WebFrameLoaderClient::createJavaAppletWidget):
4128 * WebView/WebFrame.mm: (kit):
4129 Use the _wrapElement-style functions.
4131 2007-03-12 Anders Carlsson <acarlsson@apple.com>
4135 <rdar://problem/5057575>
4136 REGRESSION: Repro Crash in FrameLoader::frame loading about:blank in PLT
4138 Always get the web view from the current web frame, since the document loader's frame can have been zeroed out
4139 (for example when detaching the document loader).
4141 * WebCoreSupport/WebFrameLoaderClient.mm:
4142 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
4143 (WebFrameLoaderClient::assignIdentifierToInitialRequest):
4144 (WebFrameLoaderClient::dispatchWillSendRequest):
4145 (WebFrameLoaderClient::dispatchDidReceiveResponse):
4146 (WebFrameLoaderClient::dispatchDidReceiveContentLength):
4147 (WebFrameLoaderClient::dispatchDidFinishLoading):
4149 2007-03-11 Oliver Hunt <oliver@apple.com>
4153 Moved respondToChangedSelection from FrameBridge to EditorClient
4155 * WebCoreSupport/WebEditorClient.h:
4156 * WebCoreSupport/WebEditorClient.mm:
4157 (WebEditorClient::respondToChangedSelection):
4158 * WebCoreSupport/WebFrameBridge.mm:
4159 Removed respondToChangedSelection from bridge
4161 2007-03-11 Darin Adler <darin@apple.com>
4165 - fix http://bugs.webkit.org/show_bug.cgi?id=12964
4166 <rdar://problem/5045717> REGRESSION: crash in -[WebBaseNetscapePluginStream _deliverData]
4167 at simpsonsmovie.com (12964)
4169 * Plugins/WebBaseNetscapePluginStream.m:
4170 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
4171 At every place we call the plug-in, since it could destroy the stream, get pluginView into a local