1 === Start merge of feature-branch 2007-10-12 === 2 3 2007-10-03 Andrew Wellington <proton (a] wiretapped.net> 4 5 Reviewed by Mark Rowe. 6 7 Mac build fix for issue introduced in r26027 8 9 * WebCoreSupport/WebSystemInterface.m: 10 (InitWebCoreSystemInterface): 11 12 2007-10-01 Eric Seidel <eric (a] webkit.org> 13 14 Reviewed by Oliver Hunt. 15 16 SVG Subresources will not be saved when creating WebArchives 17 http://bugs.webkit.org/show_bug.cgi?id=15280 18 19 Implement _subresourceURLs methods for more SVGElement types 20 more such methods will be needed as we add support for other 21 external references (such as use, mpath, tref, etc.) 22 23 * DOM/WebDOMOperations.mm: 24 (-[DOMSVGScriptElement _subresourceURLs]): added. 25 (-[DOMSVGCursorElement _subresourceURLs]): added. 26 (-[DOMSVGFEImageElement _subresourceURLs]): added. 27 28 2007-10-01 Eric Seidel <eric (a] webkit.org> 29 30 Reviewed by Oliver Hunt. 31 32 WebArchives do not embed stylesheets referenced by xml-stylesheeet 33 http://bugs.webkit.org/show_bug.cgi?id=15320 34 35 * DOM/WebDOMOperations.mm: 36 (-[DOMProcessingInstruction _stylesheetURL]): needed to access [[self sheet] href] 37 (-[DOMProcessingInstruction _subresourceURLs]): call and return _stylesheetURL 38 39 2007-10-01 Eric Seidel <eric (a] webkit.org> 40 41 Reviewed by Oliver Hunt. 42 43 * DOM/WebDOMOperations.mm: added DOMSVGElementImage _subresources implementation 44 (-[DOMNode _URLsFromSelectors:]): now handles DOMSVGAnimatedString return values 45 (-[DOMSVGImageElement _subresourceURLs]): added. 46 * MigrateHeaders.make: copies DOMSVG* headers into WebKit/PrivateHeaders 47 48 2007-10-01 Oliver Hunt <oliver (a] apple.com> 49 50 Reviewed by Mark. 51 52 Enable Experimental SVG features by default when building from Xcode 53 54 * Configurations/WebKit.xcconfig: 55 56 === End merge of feature-branch 2007-10-12 === 57 58 2007-10-11 Mark Rowe <mrowe (a] apple.com> 59 60 Reviewed by Tim Hatcher. 61 62 Fix for <rdar://problem/5488678>. Disable debugging symbols in production builds for 10.4 63 PowerPC to prevent a huge STABS section from being generated. 64 65 * Configurations/Base.xcconfig: 66 67 2007-10-10 Alice Liu <alice.liu (a] apple.com> 68 69 Reviewed by Geoff Garen. 70 71 Fixed <rdar://5464402> Crash when running fast/frames/onload-remove-iframe-crash.html in DRT 72 createFrame() now returns a RefPtr instead of a raw Frame pointer. 73 Making this change improves the way we handle frames on Windows WebKit. 74 75 * WebCoreSupport/WebFrameLoaderClient.h: 76 * WebCoreSupport/WebFrameLoaderClient.mm: 77 (WebFrameLoaderClient::createFrame): 78 79 2007-10-04 Beth Dakin <bdakin (a] apple.com> 80 81 Reviewed by John Sullivan. 82 83 Fix for <rdar://problem/5441823> REGRESSION (r25142, Tiger only): 84 Vertical scroll bar not redrawn properly when going back in history 85 (15033) 86 87 This fix if-defs r25142 to be Leopard-only since it causes 88 correctness issues on Tiger and does not seem to have any 89 performance impact on Tiger either. 90 91 * WebView/WebDynamicScrollBarsView.m: 92 (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]): 93 (-[WebDynamicScrollBarsView reflectScrolledClipView:]): 94 95 2007-10-04 Mark Rowe <mrowe (a] apple.com> 96 97 Reviewed by Oliver. 98 99 Switch to default level of debugging symbols to resolve <rdar://problem/5488678>. 100 The "full" level appears to offer no observable benefits even though the documentation 101 suggests it be used for dead code stripping. This should also decrease link times. 102 103 * Configurations/Base.xcconfig: 104 105 2007-10-04 Adele Peterson <adele (a] apple.com> 106 107 Reviewed by Darin. 108 109 WebKit part of fix for <rdar://problem/5369017> REGRESSION: Can't tab to webview that doesn't have editable content 110 111 * WebView/WebHTMLView.mm: (-[WebHTMLView becomeFirstResponder]): Pass in the FocusDirection. 112 113 2007-10-04 Darin Adler <darin (a] apple.com> 114 115 * WebView/WebHTMLView.mm: (-[WebHTMLView _updateActiveState]): 116 Removed a bogus comment. 117 118 2007-10-02 Kevin Decker <kdecker (a] apple.com> 119 120 Reviewed by Mark Rowe. 121 122 Re-added _minimumRequiredSafariBuildNumber. It turns out older version of Safari still rely 123 on this method, so we need to keep it around at least until the next major Safari release. 124 125 * StringsNotToBeLocalized.txt: 126 * WebView/WebView.mm: 127 (+[WebView _minimumRequiredSafariBuildNumber]): 128 * WebView/WebViewPrivate.h: 129 130 2007-10-02 Kevin Decker <kdecker (a] apple.com> 131 132 Reviewed by John Sullivan. 133 134 <rdar://problem/5517710> 135 136 * WebView/WebView.mm: Removed -[WebView _minimumRequiredSafariBuildNumber] because newer 137 versions of Safari no longer use this method. This won't break existing Safaris because 138 they always use a respondsToSelector check before calling this. 139 140 * WebView/WebViewPrivate.h: Ditto. 141 142 2007-09-27 John Sullivan <sullivan (a] apple.com> 143 144 Reviewed by Ollie 145 146 - fixed <rdar://problem/5408186> REGRESSION (5522-5523.9): Safari leaks every browser window 147 148 The leak started occurring when we removed the code to clear the delegates and the host window 149 from Safari as part of the fix for 5479443. But it turns out that Safari code was masking a 150 bug here in WebView: setHostWindow:nil needs to be called before setting _private->closed to 151 YES, or it will do nothing at all, causing a world leak due to a circular reference between 152 the window and the WebView. 153 154 I toyed with a more complex fix, but this is the simplest one that retains the fix for 5479443 155 while otherwise restoring the code order to be as close as possible to what it was before 156 5479443 was fixed. 157 158 * WebView/WebView.mm: 159 (-[WebView _close]): 160 Moved the call that sets _private->closed to YES to be after the code that clears the delegates 161 and the host window. Added a comment about this order. 162 163 2007-09-27 Kevin Decker <kdecker (a] apple.com> 164 165 Rubber stamped by Darin. 166 167 <rdar://problem/5493093> 168 169 * WebKit.order: Added. 170 * WebKit.xcodeproj/project.pbxproj: We're changing from using an order file built by 171 another team to using one we actually check into our project repository. Linker settings for 172 Symbol Ordering Flags have been updated accordingly. 173 174 2007-09-26 Geoffrey Garen <ggaren (a] apple.com> 175 176 Reviewed by Adele Peterson. 177 178 Fixed <rdar://problem/5507476> Promote cache model SPI to API 179 180 Promoted cache model SPI to API. This was just a move, with some small 181 edits to the documentation (changing 'application' to 'WebView' in 182 some cases, since the interface is now per-WebView). 183 184 * WebView/WebPreferences.h: 185 * WebView/WebPreferences.m: 186 (-[WebPreferences setCacheModel:]): 187 (-[WebPreferences cacheModel]): 188 * WebView/WebPreferencesPrivate.h: 189 190 2007-09-24 Timothy Hatcher <timothy (a] apple.com> 191 192 Reviewed by Darin. 193 194 <rdar://problem/5498016> Photoshop CS3: Adobe Help Viewer 1.1 crashes in 9A553 195 196 WebKit started calling the mouseDidMoveOverElement delegate method with a nil dictionary in r14982. 197 We originally intended to call this delegate method sometimes with a nil dictionary, but due to 198 a bug dating back to WebKit 1.0 this delegate was never called with nil! Unfortunately we can't 199 start calling this with nil since it will break Adobe Help Viewer, and possibly other clients. 200 201 * WebView/WebView.mm: 202 (-[WebView _mouseDidMoveOverElement:modifierFlags:]): 203 204 2007-09-21 Kevin Decker <kdecker (a] apple.com> 205 206 * Plugins/WebBaseNetscapePluginView.mm: Build fix. 207 The first argument of aglChoosePixelFormat() has changed from const AGLDevice *gdevs on Tiger to 208 const void *gdevs on Leopard. 209 210 2007-09-20 Kevin Decker <kdecker (a] apple.com> 211 212 Reviewed by Darin Adler. 213 214 <rdar://problem/5493093> 215 216 Reduced launch time by lazily linking both the AGL and OpenGL frameworks until they are really needed. 217 218 * Plugins/WebBaseNetscapePluginView.mm: Soft link all AGL and OpenGL functions used by 219 WebBaseNetscapePluginView. 220 221 * WebKit.xcodeproj/project.pbxproj: Removed AGL and OpenGL from the project. 222 223 2007-09-20 John Sullivan <sullivan (a] apple.com> 224 225 Build fix for stoooopid old PPC gcc compiler 226 227 * WebCoreSupport/WebEditorClient.mm: 228 (WebEditorClient::checkSpellingOfString): 229 replace perfectly valid ?: syntax with if/else 230 231 2007-09-19 John Sullivan <sullivan (a] apple.com> 232 233 Reviewed by Darin Adler. 234 235 - WebKit part of speculative fix for <rdar://problem/5490627>, about crashes constructing a 236 String using the values filled in by checkSpellingOfString() 237 238 * WebCoreSupport/WebEditorClient.mm: 239 (WebEditorClient::checkSpellingOfString): 240 convert NSNotFound to -1, since WebCore code expects -1 for this purpose. We already do this 241 in checkGrammarOfString. 242 243 2007-09-19 Kevin Decker <kdecker (a] apple.com> 244 245 Reviewed by Darin Adler. 246 247 <rdar://problem/5491066> soft link Accelerate.framework 248 249 * Misc/WebGraphicsExtras.c: 250 (WebConvertBGRAToARGB): Improve launch time performance and reduce vsize 251 footprint by soft linking the Accelerate.framework. 252 * WebKit.xcodeproj/project.pbxproj: Remove no longer needed frameworks. 253 254 2007-09-18 Geoffrey Garen <ggaren (a] apple.com> 255 256 Reviewed by Darin Adler. 257 258 Fixed <rdar://problem/5490204> In some cases, WebKit can make the 259 Foundation disk cache way too big or way too small 260 261 Use the actual location of the foundation disk cache, rather than 262 the user's home directory, when determining how big to make it. 263 264 * WebView/WebView.mm: 265 (+[WebView _setCacheModel:]): 266 267 2007-09-17 Geoffrey Garen <ggaren (a] apple.com> 268 269 Reviewed by Darin Adler. 270 271 Fixed a hang due to an infinite script running in the window's unload 272 event handler, which may be the cause of <rdar://problem/5479443> 273 REGRESSION: Hang due to infinite JS recursion on close @ engadget.com 274 (onunload-based ad) 275 276 * WebView/WebUIDelegatePrivate.h: Added FIXME. 277 278 * WebView/WebView.h: Clarified headerdoc ambiguity about when delegate 279 methods stop firing. 280 281 * WebView/WebView.mm: 282 (-[WebView _close]): The fix: don't nil out our delegates until after 283 detaching the FrameLoader, because the act of detaching the FrameLoader 284 might fire important delegate methods, like webViewShouldInterruptJavaScript:. 285 Don't do other tear-down either, because the unload event handler needs 286 to run in a fully constructed page. 287 288 This change is fairly low risk because niling out our delegates is a 289 very recent, never-shipped feature in WebKit, so it's unlikely that any 290 apps rely on it in a crazy way. 291 292 2007-09-15 Darin Adler <darin (a] apple.com> 293 294 Reviewed by John Sullivan. 295 296 - fix <rdar://problem/5391540> REGRESSION: Can't drag images from Safari to applications 297 in the dock (Tiger Preview, others in Leopard) 298 299 * Misc/WebNSPasteboardExtras.mm: 300 (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]): 301 Re-implement code here that has been missing for the last couple of years since we 302 did some image refactoring. Was pretty easy now that we can freely call C++ code 303 in WebKit. 304 305 2007-09-14 Mark Rowe <mrowe (a] apple.com> 306 307 Build fix for Tiger. 308 309 * WebView/WebArchive.m: 310 (-[WebArchive initWithCoder:]): Use @catch(id) rather than @catch(...). 311 * WebView/WebPreferences.m: 312 (-[WebPreferences initWithCoder:]): Ditto. 313 * WebView/WebResource.mm: 314 (-[WebResource initWithCoder:]): Ditto. 315 (-[WebResource _initWithPropertyList:]): Ditto. 316 317 2007-09-14 Darin Adler <darin (a] apple.com> 318 319 Reviewed by Geoff Garen and Tim Hatcher. 320 321 - fixed <rdar://problem/5482745> initFromCoder: and initWithPropertyList: functions 322 should guard against incorrect types 323 324 * WebView/WebArchive.m: 325 (isArrayOfClass): Added helper function. 326 (-[WebArchive _initWithPropertyList:]): Tweaked function to remove the need for a 327 type cast. 328 (-[WebArchive initWithCoder:]): Added type checking for the main resource, 329 subresources array, and subframe archives array. Also replaced NS_DURING with @try. 330 * WebView/WebPreferences.m: (-[WebPreferences initWithCoder:]): Added type checking 331 for the identifier and the values dictionary, including ensuring that it's a mutable 332 dictionary. 333 * WebView/WebResource.mm: 334 (-[WebResource initWithCoder:]): Added type checking for all the fields. 335 (-[WebResource _initWithPropertyList:]): Added type checking for the NSURLResponse. 336 337 * WebKit.exp: Removed accidentally exported internal symbol; I checked and it's not 338 used anywhere. 339 340 2007-09-13 Darin Adler <darin (a] apple.com> 341 342 Reviewed by Oliver. 343 344 - fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text 345 <input> elements with maxlength limit 346 347 * WebView/WebHTMLView.mm: 348 (-[WebHTMLView _selectionChanged]): Tweaked code a bit. 349 (-[WebHTMLView markedRange]): Simplified logic, since markedTextNSRange works when there's 350 no composition range. 351 (-[WebHTMLView hasMarkedText]): Call directly to Editor instead of bridge. 352 (-[WebHTMLView unmarkText]): Call new confirmComposition to make it clear that this is 353 confirming text, not just unmarking it to discard it. 354 (extractUnderlines): Added. Converts directly from an NSAttributedString to the 355 CompositionUnderline vector that's used by WebCore. 356 (-[WebHTMLView setMarkedText:selectedRange:]): Changed to use the new setComposition. 357 (-[WebHTMLView insertText:]): Changed to use confirmComposition when appropriate, instead 358 of relying on special behavior of Editor::insertText. 359 (-[WebHTMLView _updateSelectionForInputManager]): Rewrote to use getCompositionSelection 360 and confirmCompositionWithoutDisturbingSelection. 361 362 * WebCoreSupport/WebEditorClient.h: 363 * WebCoreSupport/WebEditorClient.mm: 364 Removed obsolete markedTextAbandoned function. 365 366 2007-09-12 David Kilzer <ddkilzer (a] apple.com> 367 368 Rubber-stamped by Darin and reviewed by Adam. 369 370 Removed import of unused icon database headers. 371 372 * WebCoreSupport/WebFrameBridge.mm: 373 374 2007-09-11 Timothy Hatcher <timothy (a] apple.com> 375 376 Reviewed by Darin. 377 378 Remove the unused class_getMethodImplementation function. 379 380 * Misc/WebNSObjectExtras.h: 381 382 2007-09-11 Geoffrey Garen <ggaren (a] apple.com> 383 384 Reviewed by Oliver Hunt. 385 386 Fixed CFNetwork version check so it actually works. 387 388 * Misc/WebKitVersionChecks.h: 389 * WebView/WebView.mm: 390 (+[WebView _setCacheModel:]): Don't use NSVersionOfLinkTimeLibrary because 391 we don't link against CFNetwork directly, so it returns -1. Also, use 392 the proper hex encoding instead of decimal numbers. 393 394 2007-09-11 Darin Adler <darin (a] apple.com> 395 396 - redo fix for <rdar://problem/5472899> REGRESSION (TOT): Crash in FrameLoadDelegate loading stationery 397 398 * WebView/WebView.mm: 399 (getMethod): Added. 400 (-[WebView _cacheResourceLoadDelegateImplementations]): Use getMethod. 401 (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto. 402 403 2007-09-11 Darin Adler <darin (a] apple.com> 404 405 Rubber-stamped by Dave Harrison. 406 407 * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): 408 Removed wkCreateURLPasteboardFlavorTypeName and wkCreateURLNPasteboardFlavorTypeName. 409 410 2007-09-11 Darin Adler <darin (a] apple.com> 411 412 Reviewed by Mark Rowe. 413 414 - fix <rdar://problem/5472899> REGRESSION (TOT): Crash in FrameLoadDelegate loading stationery 415 416 * Misc/WebNSObjectExtras.h: 417 (class_getMethodImplementation): Added. 418 (method_setImplementation): Added. 419 420 * WebView/WebHTMLView.mm: (+[WebHTMLViewPrivate initialize]): 421 * Carbon/HIViewAdapter.m: (+[HIViewAdapter bindHIViewToNSView:nsView:]): 422 Remove old-ObjC code path, since WebNSObjectExtras.h now implements everything we need. 423 424 * WebView/WebView.mm: 425 (-[WebView _cacheResourceLoadDelegateImplementations]): Don't bother doing a separate 426 respondsToSelector call, since class_getMethodImplementation will return 0 for selectors 427 that we don't respond to. The bug fix is to actually set the cached pointer to 0. 428 Also get rid of the unnecessary use of a macro; instead use the functions from 429 WebNSObjectExtras.h on Tiger and the appropriate function directly on Leopard. 430 (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto. 431 432 2007-09-11 Darin Adler <darin (a] apple.com> 433 434 Reviewed by Sam, Ollie. 435 436 * WebView/WebView.mm: (+[WebView _setCacheModel:]): A slightly cleaner 64-bit 437 fix for the NSURLCache capacity code in this file. 438 439 2007-09-11 Darin Adler <darin (a] apple.com> 440 441 Rubber-stamped by Mark Rowe. 442 443 * Misc/WebNSPasteboardExtras.mm: Fix incorrect strings in my last check-in. 444 The strings I checked in were wrong and were breaking layout tests too. 445 These new ones match what WebKitSystemInterface was returning. 446 447 2007-09-10 Geoffrey Garen <ggaren (a] apple.com> 448 449 Fixed 64-bit build (I think). 450 451 * WebView/WebView.mm: 452 (max): Added. In 64-bit land, -diskCapacity magically starts returning 453 unsigned long instead of unsigned, so we define a custom max() that's 454 willing to compare unsigned to unsigned long. 455 456 2007-09-10 Darin Adler <darin (a] apple.com> 457 458 Reviewed by Tim Hatcher. 459 460 - <rdar://problem/5471082> Removing WebURLPboardType from headers broke SPI-using applications 461 462 Rolled out my fix for bug 4582212 and fixed it in a much simpler way. 463 464 * Misc/WebNSPasteboardExtras.h: 465 * Misc/WebNSPasteboardExtras.mm: 466 * WebCoreSupport/WebPasteboardHelper.mm: 467 * WebKit.exp: 468 * WebView/WebHTMLView.mm: 469 * WebView/WebView.mm: 470 Rolled out the new PasteboardType functions and changed the PboardType globals to be initialized 471 with constant values. 472 473 2007-09-10 Timothy Hatcher <timothy (a] apple.com> 474 475 Reviewed by Darin. 476 477 Always animate when calling _scrollTo. 478 479 * WebView/WebFrameView.mm: 480 (-[WebFrameView _scrollVerticallyBy:]): 481 (-[WebFrameView _scrollHorizontallyBy:]): 482 483 2007-09-08 Brady Eidson <beidson (a] apple.com> 484 485 Reviewed by Darin 486 487 <rdar://problem/5434431> - Asynchronous Icon Database 488 489 WebKit side of things 490 Mainly, there are Notifications WebKit has to listen for now that tell it when to either call back into WebCore 491 for some purpose or to send the webView:didReceiveIcon: delegate call 492 493 Many smaller tweaks as well. 494 495 * Misc/WebIconDatabase.h: 496 * Misc/WebIconDatabase.mm: 497 (defaultClient): 498 (-[WebIconDatabase init]): 499 (+[WebIconDatabase delayDatabaseCleanup]): Accessor so clients can prevent the thread from cleaning up the database 500 before they've done all their necessary retaining of icons. 501 (+[WebIconDatabase allowDatabaseCleanup]): 502 (-[WebIconDatabase removeAllIcons]): 503 (-[WebIconDatabase _isEnabled]): 504 (-[WebIconDatabase _sendNotificationForURL:]): 505 (-[WebIconDatabase _sendDidRemoveAllIconsNotification]): 506 (-[WebIconDatabase _databaseDirectory]): 507 508 (-[ThreadEnabler threadEnablingSelector:]): Quick and dirty class to enabled Cocoa multithreading 509 (+[ThreadEnabler enableThreading]): 510 (importToWebCoreFormat): 511 * Misc/WebIconDatabaseInternal.h: Expose the internal methods of WebIconDatabase that are required by WebIconDatabaseClient 512 513 * Misc/WebNSNotificationCenterExtras.h: Added. - Great utility class whose design was borrowed from Colloquy 514 that allows the posting of a Cocoa notification on the main thread from *any* thread 515 * Misc/WebNSNotificationCenterExtras.m: Added. 516 (-[NSNotificationCenter postNotificationOnMainThreadWithName:object:]): 517 (-[NSNotificationCenter postNotificationOnMainThreadWithName:object:userInfo:]): 518 (-[NSNotificationCenter postNotificationOnMainThreadWithName:object:userInfo:waitUntilDone:]): 519 (+[NSNotificationCenter _postNotificationName:]): 520 521 * WebCoreSupport/WebFrameLoaderClient.h: 522 * WebCoreSupport/WebFrameLoaderClient.mm: 523 (WebFrameLoaderClient::dispatchDidReceiveIcon): Send the webView:didReceiveIcon: delegate call 524 (WebFrameLoaderClient::registerForIconNotification): 525 526 * WebCoreSupport/WebIconDatabaseClient.h: Added. 527 * WebCoreSupport/WebIconDatabaseClient.mm: Added. 528 (WebIconDatabaseClient::performImport): Perform the Safari 2 icon import 529 (WebIconDatabaseClient::dispatchDidRemoveAllIcons): Send the NSNotification 530 (WebIconDatabaseClient::dispatchDidAddIconForPageURL): Ditto 531 532 * WebView/WebView.mm: 533 (-[WebView _receivedIconChangedNotification:]): Check and see if this notification is for this WebView's current URL by 534 calling back into the IconDatabase 535 (-[WebView _registerForIconNotification:]): Support for WebIconDatabaseClient 536 (-[WebView _dispatchDidReceiveIconFromWebFrame:]): Dispatch this delegate call as well as unregister for the notification 537 * WebView/WebViewInternal.h: 538 539 * WebKit.xcodeproj/project.pbxproj: 540 541 2007-09-07 Geoffrey Garen <ggaren (a] apple.com> 542 543 Suggested by Maciej Stachowiak. 544 545 Added wKiosk Browser to the browser list. Pretty sweet app. 546 547 * WebView/WebPreferences.m: 548 (cacheModelForMainBundle): 549 550 2007-09-07 Geoffrey Garen <ggaren (a] apple.com> 551 552 Build fix. 553 554 * WebView/WebView.mm: 555 (+[WebView _setCacheModel:]): 556 557 2007-09-05 Geoffrey Garen <ggaren (a] apple.com> 558 559 Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher. 560 561 Fixed <rdar://problem/5326009> Make non-browser WebKit clients have no 562 memory cache, or a very tiny one 563 564 High level explanation: 565 - Added SPI for specifying a cache model on a per-WebView basis. 566 (Hopefully, this will become API soon.) We balance competing 567 cache models simply by using the largest one that pertains at a 568 given time. 569 570 - Added heuristic for guessing a default cache model in WebViews 571 that don't specify one: 572 1) Default to DocumentViewer for apps linked on or after this 573 WebKit. Default to DocumentBrowser otherwise. 574 575 2) Assign specific defaults to well-known clients based on 576 bundle ID. 577 578 3) Grow the default to DocumentBrowser if a navigation takes 579 place. 580 581 - As a part of the DocumentBrowser & PrimaryWebBrowser settings: 582 1) Make the Foundation disk cache much much bigger than the 583 default 20MB, if space allows. (This is a hedge against a small 584 WebCore cache in DocumentBrowser mode, but also an all-around 585 win for page load speed.) 586 587 2) Scaled the Foundation memory cache's capacity with physical 588 RAM, just like we do with other caches. This is a small win on 589 low memory systems. 590 591 * Misc/WebKitSystemBits.h: 592 * Misc/WebKitSystemBits.m: 593 (WebMemorySize): Renamed from "WebSystemMainMemory." 594 (WebHomeDirectoryFreeSize): Added function to measure the free space 595 on the user's home directory. We use this as a factor in determining 596 the disk cache's cacpacity. 597 598 * Misc/WebKitVersionChecks.h: Support for linked on or after check. 599 600 * WebCoreSupport/WebFrameLoaderClient.h: 601 * WebCoreSupport/WebFrameLoaderClient.mm: 602 (WebFrameLoaderClient::didPerformFirstNavigation): Implementation of 603 heuristic rule #3. 604 605 * WebView/WebPreferenceKeysPrivate.h: 606 * WebView/WebPreferences.m: 607 (cacheModelForMainBundle): Implementation of heuristic rule #2. 608 (-[NSMutableDictionary _web_checkLastReferenceForIdentifier:]): Added 609 notification for when a WebPreferences instance becomes inert. We use 610 this to shrink the cache model back down if possible. Moved this code 611 into a WebPreferences method, since it's not really a feature of 612 NSDictionary. 613 614 * WebView/WebPreferencesPrivate.h: SPI declarations. 615 616 * WebView/WebView.mm: Replaced manual notification posts with calls to 617 the _postPreferencesChangesNotification convenience method. 618 619 (-[WebView _preferencesChangedNotification:]): Merged dispersed code 620 for updating preferences-related settings into this one function. This 621 was needed for an earlier version of the patch, even though the 622 current version could probably do without it. 623 624 (+[WebView _preferencesChangedNotification:]): Added a class-level 625 listener for WebPreferences changes. This listener takes care of 626 modifying the class-level global cache model setting if necessary. 627 628 (+[WebPreferences standardPreferences]): Removed call to 629 _postPreferencesChangesNotification because the notification already 630 posts when you create the WebPreferences object. (I noticed this 631 inefficiency because my new _preferencesChangedNotification: method was 632 called excessively at startup.) 633 634 Also Added explicit tracking of WebPreferences clients, so we know when 635 a WebPreferences instance becomes inert: 636 637 (-[WebPreferences didRemoveFromWebView]): 638 (-[WebPreferences willAddToWebView]): 639 640 (+[WebView _setCacheModel:]): Translates a cache model into actual 641 settings in various APIs. Caches that have unbounded value grow 642 linearly relative to available space. Caches that have bounded value 643 grow inverse-squaredly relative to available space. 644 645 2007-09-05 Timothy Hatcher <timothy (a] apple.com> 646 647 Reviewed by Darin. 648 649 <rdar://problem/5443883> Uncaught Objective-C exceptions in WebKit clients lead to hard-to-diagnose crashes 650 651 Changed all the direct delegate calls to use helper functions that have direct access to 652 WebView's delegate objects. These helper methods will catch any ObjC exceptions and call 653 ReportDiscardedDelegateException to log the discarded exception. WebView's that have 654 catchesDelegateExceptions set to NO will not pay the cost of a @try/@catch. The delegate 655 forwarders also have the same behavior. 656 657 * Misc/WebKitLogging.h: 658 * Misc/WebKitLogging.m: 659 (ReportDiscardedDelegateException): 660 * Plugins/WebBaseNetscapePluginView.mm: 661 (-[WebBaseNetscapePluginView loadPluginRequest:]): 662 * Plugins/WebNullPluginView.mm: 663 (-[WebNullPluginView viewDidMoveToWindow]): 664 * WebCoreSupport/WebChromeClient.mm: 665 (WebChromeClient::createWindow): 666 (WebChromeClient::createModalDialog): 667 (WebChromeClient::runModal): 668 (WebChromeClient::toolbarsVisible): 669 (WebChromeClient::statusbarVisible): 670 (WebChromeClient::addMessageToConsole): 671 (WebChromeClient::canRunBeforeUnloadConfirmPanel): 672 (WebChromeClient::runBeforeUnloadConfirmPanel): 673 (WebChromeClient::runJavaScriptAlert): 674 (WebChromeClient::runJavaScriptConfirm): 675 (WebChromeClient::runJavaScriptPrompt): 676 (WebChromeClient::shouldInterruptJavaScript): 677 (WebChromeClient::setStatusbarText): 678 (WebChromeClient::print): 679 * WebCoreSupport/WebContextMenuClient.mm: 680 (WebContextMenuClient::getCustomMenuFromDefaultItems): 681 (WebContextMenuClient::contextMenuItemSelected): 682 * WebCoreSupport/WebDragClient.mm: 683 (WebDragClient::startDrag): 684 * WebCoreSupport/WebEditorClient.mm: 685 (WebEditorClient::textFieldDidBeginEditing): 686 (WebEditorClient::textFieldDidEndEditing): 687 (WebEditorClient::textDidChangeInTextField): 688 (WebEditorClient::doTextFieldCommandFromEvent): 689 (WebEditorClient::textWillBeDeletedInTextField): 690 (WebEditorClient::textDidChangeInTextArea): 691 * WebCoreSupport/WebFrameBridge.mm: 692 (-[WebFrameBridge viewForPluginWithFrame:URL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]): 693 * WebCoreSupport/WebFrameLoaderClient.mm: 694 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): 695 (WebFrameLoaderClient::assignIdentifierToInitialRequest): 696 (WebFrameLoaderClient::dispatchWillSendRequest): 697 (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): 698 (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge): 699 (WebFrameLoaderClient::dispatchDidReceiveResponse): 700 (WebFrameLoaderClient::willCacheResponse): 701 (WebFrameLoaderClient::dispatchDidReceiveContentLength): 702 (WebFrameLoaderClient::dispatchDidFinishLoading): 703 (WebFrameLoaderClient::dispatchDidFailLoading): 704 (WebFrameLoaderClient::dispatchDidHandleOnloadEvents): 705 (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): 706 (WebFrameLoaderClient::dispatchDidCancelClientRedirect): 707 (WebFrameLoaderClient::dispatchWillPerformClientRedirect): 708 (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): 709 (WebFrameLoaderClient::dispatchWillClose): 710 (WebFrameLoaderClient::dispatchDidReceiveIcon): 711 (WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 712 (WebFrameLoaderClient::dispatchDidReceiveTitle): 713 (WebFrameLoaderClient::dispatchDidCommitLoad): 714 (WebFrameLoaderClient::dispatchDidFailProvisionalLoad): 715 (WebFrameLoaderClient::dispatchDidFailLoad): 716 (WebFrameLoaderClient::dispatchDidFinishDocumentLoad): 717 (WebFrameLoaderClient::dispatchDidFinishLoad): 718 (WebFrameLoaderClient::dispatchDidFirstLayout): 719 (WebFrameLoaderClient::dispatchCreatePage): 720 (WebFrameLoaderClient::dispatchUnableToImplementPolicy): 721 (WebFrameLoaderClient::dispatchWillSubmitForm): 722 (WebFrameLoaderClient::dispatchDidLoadMainResource): 723 * WebView/WebHTMLView.mm: 724 (-[WebHTMLView callDelegateDoCommandBySelectorIfNeeded:]): 725 (-[WebHTMLView validateUserInterfaceItem:]): 726 * WebView/WebPDFView.mm: 727 (-[WebPDFView validateUserInterfaceItem:]): 728 (-[WebPDFView PDFViewSavePDFToDownloadFolder:]): 729 * WebView/WebView.mm: 730 (-[WebView _openNewWindowWithRequest:]): 731 (-[WebView _menuForElement:defaultItems:]): 732 (-[WebView _mouseDidMoveOverElement:modifierFlags:]): 733 (-[WebView _cacheResourceLoadDelegateImplementations]): 734 (-[WebView _cacheFrameLoadDelegateImplementations]): 735 (-[WebView _policyDelegateForwarder]): 736 (-[WebView _UIDelegateForwarder]): 737 (-[WebView _editingDelegateForwarder]): 738 (-[WebView _scriptDebugDelegateForwarder]): 739 (-[WebView _setCatchesDelegateExceptions:]): 740 (-[WebView _catchesDelegateExceptions]): 741 (-[_WebSafeForwarder initWithTarget:defaultTarget:]): 742 (-[_WebSafeForwarder forwardInvocation:]): 743 (-[_WebSafeForwarder methodSignatureForSelector:]): 744 (-[WebView _commonInitializationWithFrameName:groupName:]): 745 (-[WebView validateUserInterfaceItem:]): 746 (-[WebView _headerHeight]): 747 (-[WebView _footerHeight]): 748 (-[WebView _drawHeaderInRect:]): 749 (-[WebView _drawFooterInRect:]): 750 (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]): 751 (CallDelegate): 752 (CallDelegateReturningFloat): 753 (CallDelegateReturningBoolean): 754 (CallUIDelegate): 755 (CallUIDelegateReturningFloat): 756 (CallUIDelegateReturningBoolean): 757 (CallFrameLoadDelegate): 758 (CallResourceLoadDelegate): 759 (CallFormDelegate): 760 (CallFormDelegateReturningBoolean): 761 * WebView/WebViewInternal.h: 762 * WebView/WebViewPrivate.h: 763 764 2007-09-04 Timothy Hatcher <timothy (a] apple.com> 765 766 Reviewed by Darin. 767 768 <rdar://problem/5452908> NIBs saved in the Pre-10.2 format while Safari 3 installed do not work without Safari 3 769 770 This happened because we encoded a new field that the old WebKit does not know how to read. 771 And NSCoder throws an exception if initWithCoder finishes while there is still unread data in the archive. 772 773 The WebViewVersion is now 4 to distinguish that we do not encode/decode allowsUndo. 774 775 * WebView/WebView.mm: 776 (-[WebView initWithCoder:]): Only try to read allowsUndo if the version is 3. 777 (-[WebView encodeWithCoder:]): No longer encode allowsUndo. 778 779 2007-09-04 David Hyatt <hyatt (a] apple.com> 780 781 Fix for <rdar://problem/5271213>, resizing iChat window is slower than in 782 Tiger. This patch implements a fast scaling mode that can be used by 783 WebViews, e.g., during window resizing. 784 785 Reviewed by John Sullivan 786 787 * WebView/WebView.mm: 788 (-[WebView _setUseFastImageScalingMode:]): 789 (-[WebView _inFastImageScalingMode]): 790 * WebView/WebViewPrivate.h: 791 792 2007-09-04 Darin Adler <darin (a] apple.com> 793 794 Reviewed by Hyatt. 795 796 * WebView/WebView.mm: 797 (-[WebView _loadBackForwardListFromOtherView:]): Added missing null check. 798 (-[WebView _setInitiatedDrag:]): Ditto. 799 (-[WebView _clearUndoRedoOperations]): Ditto. 800 (-[WebView encodeWithCoder:]): Ditto. 801 (-[WebView backForwardList]): Ditto. 802 (-[WebView setMaintainsBackForwardList:]): Ditto. 803 804 2007-09-04 Tristan O'Tierney <tristan (a] apple.com> 805 806 Reviewed by John Sullivan. 807 808 <rdar://problem/5454935> Can't reply to this message in Mail -- -[DOMRange webArchive] is throwing an exception 809 810 * WebView/WebArchiver.mm: 811 (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]): 812 Guard the creation of WebResource by ensuring that the passed in 813 responseURL is never nil. 814 815 2007-09-03 Mark Rowe <mrowe (a] apple.com> 816 817 Reviewed by Tim Hatcher. 818 819 <rdar://problem/5452164> Production build with in symbols directory has no debug info 820 821 Enable debug symbol generation on all build configurations. Production builds are stripped 822 of symbols by Xcode during deployment post-processing. 823 824 * Configurations/Base.xcconfig: 825 * WebKit.xcodeproj/project.pbxproj: 826 827 2007-09-02 Brady Eidson <beidson (a] apple.com> 828 829 Reviewed by John Sullivan and Mark Rowe 830 831 Groundwork for support for monitoring IconDatabase in-memory statistics 832 833 * Misc/WebCoreStatistics.h: 834 * Misc/WebCoreStatistics.mm: 835 (+[WebCoreStatistics iconPageURLMappingCount]): 836 (+[WebCoreStatistics iconRetainedPageURLCount]): 837 (+[WebCoreStatistics iconRecordCount]): 838 (+[WebCoreStatistics iconsWithDataCount]): 839 840 2007-09-01 Oliver Hunt <oliver (a] apple.com> 841 842 Reviewed by Sam. 843 844 <rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions 845 846 EditorClient::setInputMethodState stub 847 848 * WebCoreSupport/WebEditorClient.h: 849 * WebCoreSupport/WebEditorClient.mm: 850 (WebEditorClient::setInputMethodState): 851 852 2007-08-30 Maciej Stachowiak <mjs (a] apple.com> 853 854 Reviewed by Tim. 855 856 <rdar://problem/5439953> REGRESSION: Cannot load feeds in widgets in Dashcode due to change in WebKit delegate methods 857 858 * WebView/WebFrame.mm: 859 (-[WebFrame _attachScriptDebugger]): Don't create the debugger object if the frame has not yet 860 created its script interpreter, to avoid premature dispatch of windowScriptObjectAvailable/Cleared 861 delegate methods. The script debugger will be created in any case when the window object does appear. 862 863 2007-08-29 Darin Adler <darin (a] apple.com> 864 865 Reviewed by Tim Hatcher. 866 867 - fix <rdar://problem/4582212> WebKit inappropriately adds +initialize to 868 NSPasteboard via a category, prevents AppKit initialize 869 http://bugs.webkit.org/show_bug.cgi?id=9417 870 871 * Misc/WebNSPasteboardExtras.h: Got rid of the global data objects and replaced 872 them with global functions. 873 874 * Misc/WebNSPasteboardExtras.mm: 875 (initializePasteboardTypes): Changed the initialize method to be this function. 876 (WebURLPasteboardType): Added, calls the initialize function and then returns 877 the value of the global. 878 (WebURLNamePasteboardType): Ditto. 879 (+[NSPasteboard _web_writableTypesForURL]): Changed to call the new function instead 880 of getting at the global directly. 881 (+[NSPasteboard _web_dragTypesForURL]): Ditto. 882 (-[NSPasteboard _web_writeURL:andTitle:types:]): Ditto. 883 * WebCoreSupport/WebPasteboardHelper.mm: 884 (WebPasteboardHelper::urlFromPasteboard): Ditto. 885 * WebView/WebHTMLView.mm: 886 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto. 887 888 * WebView/WebView.mm: 889 (+[WebView initialize]): Added a call to one of the functions to take advantage 890 of the side effect that initializes the globals; this is to help out old versions 891 of Safari. 892 (+[WebView URLTitleFromPasteboard:]): Changed to call the new function instead 893 of getting at the global directly. 894 895 * WebKit.exp: Add exports of the new functions. 896 897 2007-08-29 Adele Peterson <adele (a] apple.com> 898 899 Reviewed by Darin. 900 901 Fix for http://bugs.webkit.org/show_bug.cgi?id=15098 902 <rdar://problem/5440319> REGRESSION (9A530-9A534): Double scroll bar on pdfs 903 904 * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::makeDocumentView): 905 Don't suppress scrollbars before the view creation if we're making the view for a non-html view 906 907 * WebView/WebFrameViewInternal.h: Make _scrollView return a WebDynamicScrollBarsView since so many clients were relying on it being that type anyway. 908 * WebView/WebFrameView.mm: 909 (-[WebFrameView _setDocumentView:]): 910 (-[WebFrameView _scrollView]): 911 (-[WebFrameView setAllowsScrolling:]): 912 (-[WebFrameView allowsScrolling]): 913 * WebView/WebView.mm: 914 (-[WebView setAlwaysShowVerticalScroller:]): 915 (-[WebView alwaysShowVerticalScroller]): 916 (-[WebView setAlwaysShowHorizontalScroller:]): 917 (-[WebView alwaysShowHorizontalScroller]): 918 919 2007-08-29 David Hyatt <hyatt (a] apple.com> 920 921 The method that was swizzled to fix 5441281 does not exist on Tiger. 922 Tiger has to do a double swizzle instead (of resetCursorRects and NSCursor's 923 set method) in order to roughly achieve the same effect. 924 925 Reviewed by darin 926 927 * WebView/WebHTMLView.mm: 928 (resetCursorRects): 929 (setCursor): 930 (+[WebHTMLViewPrivate initialize]): 931 932 2007-08-29 Anders Carlsson <andersca (a] apple.com> 933 934 Fix 64-bit build. 935 936 * WebCoreSupport/WebFrameBridge.mm: 937 938 2007-08-29 David Hyatt <hyatt (a] apple.com> 939 940 Fix for 5441281, remove our dependency on cursor rects and drag margins 941 in AppKit for a large performance boost on the PLT and iBench. 942 943 Reviewed by darin 944 945 * Plugins/WebBaseNetscapePluginView.h: 946 * Plugins/WebBaseNetscapePluginView.mm: 947 (-[WebBaseNetscapePluginView sendNullEvent]): 948 (-[WebBaseNetscapePluginView mouseEntered:]): 949 (-[WebBaseNetscapePluginView mouseExited:]): 950 (-[WebBaseNetscapePluginView stop]): 951 Clean up cursor setting from Netscape plugins. Don't unconditionally mutate 952 the cursor when a plugin stops. 953 954 * WebView/WebFrameView.mm: 955 (-[WebFrameView _setDocumentView:]): 956 Suppress the resetting of drag margins while the new document view is being 957 added to the view hierarchy. 958 959 * WebView/WebHTMLView.mm: 960 (-[NSWindow _web_borderView]): 961 Expose the border view of the NSWindow so that it can be hit tested. 962 963 (setCursorForMouseLocation): 964 Apply a method swizzle to override the private AppKit method, _setCursorForMouseLocation. 965 We have to do this to suppress the cursor rect invalidation handling from resetting 966 the cursor for no reason. 967 968 The swizzle will do a hit test and allow the cursor set to occur if the mouse ends up 969 being over a plugin or over a view other than a WebHTMLView. 970 971 (+[WebHTMLViewPrivate initialize]): 972 The swizzle for setCursorForMouseLocation is set up here. 973 974 (-[WebHTMLView _frameOrBoundsChanged]): 975 Add a 100ms delay to the fake mouse moved event that fires when the view moves 976 under the mouse (without the mouse moving). This happens on iBench when the 977 pages get scrolled. By adding a delay we ensure that even with the mouse inside 978 the window, we don't experience cursor thrashing when pages are updating and 979 scrolling rapidly. 980 981 2007-08-28 Anders Carlsson <andersca (a] apple.com> 982 983 Reviewed by Darin. 984 985 <rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent 986 987 * WebCoreSupport/WebFrameBridge.mm: 988 Use the enum from FrameLoaderTypes.h. 989 990 * WebCoreSupport/WebFrameLoaderClient.mm: 991 (WebFrameLoaderClient::objectContentType): 992 Return ObjectContentNetscapePlugin and ObjectContentOtherPlugin depending on the plug-in type. 993 994 2007-08-28 Mark Rowe <mrowe (a] apple.com> 995 996 Reviewed by Maciej Stachowiak. 997 998 Fix fallout from the fix for <rdar://problem/5437983> (Loading history containing 100,000 entries adds 20s to Safari's startup) 999 in r25275. The array of entries for each day was being maintained in the reverse of the order that was expected. 1000 1001 * History/WebHistory.mm: 1002 (-[WebHistoryPrivate insertItem:forDateKey:]): Maintain the array of entries in descending order. 1003 1004 2007-08-28 Mark Rowe <mrowe (a] apple.com> 1005 1006 Fix the buildbot build. 1007 1008 * History/WebHistory.mm: 1009 (timeIntervalForBeginningOfDay): Explicitly cast to silence compiler warning. 1010 1011 2007-08-28 Mark Rowe <mrowe (a] apple.com> 1012 1013 Reviewed by Darin Adler. 1014 1015 <rdar://problem/5437983> Loading history containing 100,000 entries adds 20s to Safari's startup 1016 1017 Move WebHistoryItemPrivate from using a sorted array of NSCalendarDate's that map to a sorted array of arrays 1018 of WebHistoryItem's over to using a HashMap of NSTimeIntervals and arrays of WebHistoryItems. NSTimeInterval 1019 uses less memory and is substantially cheaper during comparisons than NSCalendarDate. The use of the HashMap 1020 avoids the needs to repeatedly search within an array to locate the array that corresponds to the given days 1021 history items. 1022 1023 The result of these changes is that loading 100,000 history items drops from around 25s to 1.6s. Loading 1024 100 items drops from 0.003s to 0.002s. 1025 1026 * History/WebHistory.mm: 1027 (-[WebHistoryPrivate init]): 1028 (-[WebHistoryPrivate dealloc]): 1029 (timeIntervalForBeginningOfDay): Return the NSTimeInterval representing the beginning of the specified day. 1030 (-[WebHistoryPrivate findKey:forDay:]): 1031 (-[WebHistoryPrivate insertItem:forDateKey:]): Perform a binary search within the day's history items rather than a linear search. 1032 (-[WebHistoryPrivate _removeItemFromDateCaches:]): 1033 (-[WebHistoryPrivate _addItemToDateCaches:]): 1034 (-[WebHistoryPrivate removeAllItems]): 1035 (-[WebHistoryPrivate orderedLastVisitedDays]): Generate and cache the sorted NSArray of NSCalendarDate's exposed in the API. 1036 This cache is invalidated by _removeItemFromDateCaches: and _addItemToDateCaches: when needed. 1037 (-[WebHistoryPrivate orderedItemsLastVisitedOnDay:]): 1038 (-[WebHistoryPrivate arrayRepresentation]): 1039 (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]): Use an autorelease pool to keep the 1040 number of live autoreleased objects generated to a reasonable level. 1041 * History/WebHistoryItem.mm: 1042 (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]): 1043 (-[WebHistoryItem initFromDictionaryRepresentation:]): Use the new HistoryItem constructor that accepts the alternate title 1044 rather than setting it after construction. This prevents a modification notification from being sent for each WebHistoryItem that is loaded. 1045 * History/WebHistoryItemInternal.h: 1046 * History/WebHistoryPrivate.h: 1047 * Misc/WebNSCalendarDateExtras.h: Removed as _webkit_compareDay: is no longer used. 1048 * Misc/WebNSCalendarDateExtras.m: Removed. 1049 * WebKit.xcodeproj/project.pbxproj: 1050 1051 2007-08-28 Anders Carlsson <andersca (a] apple.com> 1052 1053 Reviewed by Darin. 1054 1055 <rdar://problem/5298296> XMLHttpRequest readyState 3 & responseText buffer issues 1056 1057 Expose WKSetNSURLRequestShouldContentSniff to WebCore. 1058 1059 * WebCoreSupport/WebSystemInterface.m: 1060 (InitWebCoreSystemInterface): 1061 1062 2007-08-24 Kevin McCullough <kmccullough (a] apple.com> 1063 1064 Reviewed by Darin. 1065 1066 <rdar://problem/5437038> 1 credential object leaked for each call to credentialWithUser:password:persistence 1067 - Use initWithUser instead of credentialWithUser because credentialWithUser leaks. 1068 1069 * Panels/WebAuthenticationPanel.m: 1070 (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]): 1071 (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]): 1072 1073 2007-08-24 Adele Peterson <adele (a] apple.com> 1074 1075 Fix by Darin, reviewed by Adele. 1076 1077 Fix for <rdar://problem/5433422> Upon quitting, WebKit loads the WebPlugin shared database and immediately closes it 1078 1079 * Plugins/WebPluginDatabase.h: Added closeSharedDatabase, which won't create a new database if we're just trying to close it. 1080 * Plugins/WebPluginDatabase.m: (+[WebPluginDatabase closeSharedDatabase]): Added. 1081 * WebView/WebView.mm: 1082 (-[WebView _close]): Call closeSharedDatabase. 1083 (+[WebView _applicationWillTerminate]): Call closeSharedDatabase. 1084 1085 2007-08-24 Timothy Hatcher <timothy (a] apple.com> 1086 1087 Reviewed by John Sullivan. 1088 1089 <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized 1090 1091 This is a more localized fix for yesterday's change. Now explicitly call _web_layoutIfNeededRecursive inside the 1092 HIWebView Draw() function. Adds a FIXME to explain that we need to do layout before Carbon has decided what regions to draw. 1093 Doing layout in Draw() will potentially cause drawing to happen in two passes, but this has always been a problem in Carbon. 1094 1095 * Carbon/HIWebView.m: 1096 (Draw): Call _web_layoutIfNeededRecursive on the main WebHTMLView. 1097 (SetFocusPart): Fix to work in ObjC++ (now that HIWebView.m is treated as a ObjC++ file.) 1098 * WebView/WebView.mm: Removes the 4 displayIfNeeded methods from yesterday's change. 1099 * WebKit.xcodeproj/project.pbxproj: Force the file type of HIWebView.m to ObjC++ so WebHTMLViewInternal.h can be included. 1100 1101 2007-08-23 Timothy Hatcher <timothy (a] apple.com> 1102 1103 Reviewed by Dave Hyatt. 1104 1105 <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized 1106 1107 The Carbon HIWebView was relying on layout happening when displayIfNeededInRect: was called on the WebView. 1108 This would happen on Tiger because _recursiveDisplayRectIfNeededIgnoringOpacity: would always do a layout if needed. 1109 Doing a layout in _recursiveDisplayRectIfNeededIgnoringOpacity was removed in Leopard in favor of viewWillDraw, and 1110 the fact that adding new dirty rects inside _recursiveDisplayRectIfNeededIgnoringOpacity on Leopard will not 1111 cause a drawRect in the same display loop. 1112 1113 So any client on Leopard calling displayIfNeeded* on the WebView would get a layout and any new dirty rects. So 1114 _web_layoutIfNeededRecursive needs to be called on the main frame's WebHTMLView to make sure we layout and 1115 display anything that is really needed. 1116 1117 * WebView/WebHTMLView.mm: 1118 (-[WebHTMLView _layoutIfNeeded]): 1119 (-[WebHTMLView _web_layoutIfNeededRecursive]): 1120 * WebView/WebHTMLViewInternal.h: 1121 * WebView/WebView.mm: 1122 (-[WebView displayIfNeeded]): Call _web_layoutIfNeededRecursive on the main WebHTMLView. 1123 (-[WebView displayIfNeededIgnoringOpacity]): Ditto. 1124 (-[WebView displayIfNeededInRect:]): Ditto. 1125 (-[WebView displayIfNeededInRectIgnoringOpacity:]): Ditto. 1126 1127 2007-08-22 Timothy Hatcher <timothy (a] apple.com> 1128 1129 Rolling out r25102 for <rdar://problem/5410937> until 1130 <rdar://problem/5429920> is resolved. 1131 1132 * Carbon/CarbonUtils.m: 1133 (WebInitForCarbon): 1134 (PoolCleaner): 1135 * Carbon/CarbonWindowAdapter.h: 1136 * Carbon/CarbonWindowAdapter.m: 1137 * Carbon/CarbonWindowContentView.h: 1138 * Carbon/CarbonWindowContentView.m: 1139 * Carbon/CarbonWindowFrame.h: 1140 * Carbon/CarbonWindowFrame.m: 1141 * Carbon/HIViewAdapter.h: 1142 * Carbon/HIViewAdapter.m: 1143 * Carbon/HIWebView.h: 1144 * Carbon/HIWebView.m: 1145 1146 2007-08-20 John Sullivan <sullivan (a] apple.com> 1147 1148 Reviewed by Adam Roben 1149 1150 WebKit part of fix for: 1151 <rdar://problem/5417777> WebKit focus ring color no longer matches system focus rings 1152 1153 * Misc/WebNSAttributedStringExtras.mm: 1154 now includes <WebCore/ColorMac.h> to account for moved declaration 1155 * WebView/WebFrame.mm: 1156 ditto 1157 1158 * WebView/WebViewPrivate.h: 1159 * WebView/WebView.mm: 1160 (+[WebView _setUsesTestModeFocusRingColor:]): 1161 new SPI, calls through to new WebCore function. This is used by DumpRenderTree to make sure the 1162 focus ring color is always the same when performing layout tests, regardless of OS X version. 1163 (+[WebView _usesTestModeFocusRingColor]): 1164 new SPI, calls through to new WebCore function 1165 1166 2007-08-20 Antti Koivisto <antti (a] apple.com> 1167 1168 Reviewed by John. 1169 1170 Fix <rdar://problem/5378390> 1171 Crash at Range::startContainer() when creating multiple ToDos on the same line 1172 1173 Null check range. 1174 1175 No layout test, this only happens with ObjC API. 1176 1177 * WebView/WebHTMLView.mm: 1178 (-[WebHTMLView _expandSelectionToGranularity:]): 1179 1180 2007-08-20 Maciej Stachowiak <mjs (a] apple.com> 1181 1182 Not reviewed, fix for crash on launch bug in last patch. 1183 1184 * WebView/WebHTMLView.mm: 1185 (-[WebHTMLView setDataSource:]): Remove an assertion, fix code to work right in the 1186 face of that condition. 1187 1188 2007-08-18 Maciej Stachowiak <mjs (a] apple.com> 1189 1190 Reviewed by Darin. 1191 1192 - fixed <rdar://problem/5198272> REGRESSION: PLT 1.5% slower due to r21367 (change to start frames with empty documents) 1193 1194 There were three main cuases of extra time due to creating the initial empty document: 1195 1196 1) Creating an extra WebHTMLView and swapping it for a new one for each frame created. 1197 2) Parsing the minimal markup for the initial document's contents. 1198 3) Clearing the Window object an extra time and dispatching the corresponding delegate method. 1199 1200 The WebKit part of the fixes addresses 1. 1201 1202 * WebCoreSupport/WebFrameLoaderClient.mm: 1203 (WebFrameLoaderClient::makeDocumentView): When switching from the initial 1204 empty document to the first real document, reuse the WebHTMLView. 1205 1206 It might actually be a significant performance improvement to always 1207 reuse the WebHTMLView, but that is a much riskier change and not 1208 needed to fix the regression right now. 1209 1210 2007-08-17 Maciej Stachowiak <mjs (a] apple.com> 1211 1212 Reviewed by Darin. 1213 1214 - WebKit part of fix to scrollbar suppression hack for Leopard 1215 1216 * WebView/WebDynamicScrollBarsView.m: 1217 (-[WebDynamicScrollBarsView reflectScrolledClipView:]): Don't call the superclass method 1218 when scrollbars are suppressed. 1219 (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]): Instead call it 1220 here, when unsuppressing. 1221 1222 2007-08-17 Darin Adler <darin (a] apple.com> 1223 1224 Reviewed by Maciej. 1225 1226 - fix <rdar://problem/5414518> Use root URL as origin URL when quarantining downloads 1227 1228 * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::setOriginalURLForDownload): 1229 Extract only the scheme and host name and make the originating URL from that. 1230 1231 * WebKit/StringsNotToBeLocalized.txt: Updated for recent changes. 1232 1233 2007-08-17 Timothy Hatcher <timothy (a] apple.com> 1234 1235 Reviewed by Darin. 1236 1237 <rdar://problem/5398301> Xcode threw mutation exception while enumerating subviews (GC only) 1238 1239 I was never able to reproduce this exception. But there can be cases where layout will 1240 trigger JavaScript or plugin code that can modify the WebView view hierarchy during a 1241 recursive enumeration of all the subviews. 1242 1243 This patch does two things: 1244 1) Adds a check in debug builds that will LOG when any view is added or removed during layout. 1245 Noting that added views will not recieve layout this round and might paint without first recieving layout. 1246 1247 2) Recursivly builds up an array of descendant WebHTMLViews before calling layout on them. 1248 This matches the behavior of makeObjectsPerformSelector: in the non-GC case (making a copy 1249 before enumerating.) 1250 1251 * WebView/WebHTMLView.mm: 1252 (-[WebHTMLView _web_setPrintingModeRecursive]): Use _web_addDescendantWebHTMLViewsToArray to build up an array 1253 of WebHTMLViews to enumerate. 1254 (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto. 1255 (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto. 1256 (-[WebHTMLView _web_layoutIfNeededRecursive]): Ditto. 1257 (-[WebHTMLView _layoutIfNeeded]): Moved to WebHTMLViewFileInternal category. 1258 (-[WebHTMLView didAddSubview:]): LOG in debug builds. 1259 (-[WebHTMLView willRemoveSubview:]): Ditto. 1260 (-[NSView _web_addDescendantWebHTMLViewsToArray:]): Recursivly build an array of descendant WebHTMLViews. 1261 * WebView/WebHTMLViewInternal.h: Added a BOOL in WebHTMLViewPrivate to track subview changes (debug only.) 1262 1263 2007-08-17 Anders Carlsson <andersca (a] apple.com> 1264 1265 Reviewed by Dave Hyatt. 1266 1267 <rdar://problem/5379040> 1268 REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes 1269 1270 Pass the right size when creating the views. 1271 1272 * WebCoreSupport/WebFrameBridge.mm: 1273 (-[WebFrameBridge viewForPluginWithFrame:URL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]): 1274 * WebCoreSupport/WebFrameLoaderClient.h: 1275 * WebCoreSupport/WebFrameLoaderClient.mm: 1276 (WebFrameLoaderClient::createPlugin): 1277 1278 2007-08-13 Geoffrey Garen <ggaren (a] apple.com> 1279 1280 Reviewed by Dave Hyatt. 1281 1282 WebKit changes to support new cache eviction model in WebCore. 1283 1284 * WebView/WebPreferences.m: 1285 (+[WebPreferences initialize]): Modified to reflect new API in WebCore. 1286 * WebView/WebView.mm: 1287 (+[WebView _initializeCacheSizesIfNecessary]): Slightly increased cache 1288 size on low memory systems to avoid affecting the PLT for now. 1289 1290 2007-08-15 Timothy Hatcher <timothy (a] apple.com> 1291 1292 Reviewed by Darin. 1293 1294 <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized 1295 1296 HIWebViewCreate now just returns a HIViewRef created with HICocoaViewCreate. This eliminates lots of old code and 1297 makes HIWebView a better citizen starting with Leopard. The old code paths are still needed for Tiger, so now 1298 most of the files in the WebKit/Carbon directory are #ifdef BUILDING_ON_TIGER. 1299 1300 The Tiger code is unchanged and dosen't exhibit the invalidation problem when the window resizes. 1301 1302 * Carbon/CarbonUtils.m: 1303 (WebInitForCarbon): #ifdef BUILDING_ON_TIGER portions of this code that is not needed on Leopard. 1304 * Carbon/CarbonWindowAdapter.h: #ifdef BUILDING_ON_TIGER 1305 * Carbon/CarbonWindowAdapter.m: Ditto. 1306 * Carbon/CarbonWindowContentView.h: Ditto. 1307 * Carbon/CarbonWindowContentView.m: Ditto. 1308 * Carbon/CarbonWindowFrame.h: Ditto. 1309 * Carbon/CarbonWindowFrame.m: Ditto. 1310 * Carbon/HIViewAdapter.h: Ditto. 1311 * Carbon/HIViewAdapter.m: Ditto. 1312 * Carbon/HIWebView.h: Consolidate two #ifdef __OBJC__ blocks into one. 1313 * Carbon/HIWebView.m: Implement Leopard specific HIWebViewCreate, HIWebViewCreateWithClass and HIWebViewGetWebView. 1314 (HIWebViewCreate): Call HIWebViewCreateWithClass passing [WebView class]. 1315 (HIWebViewCreateWithClass): Call HICocoaViewCreate with an instance of the class passed in. 1316 (HIWebViewGetWebView): Call HICocoaViewGetView. 1317 1318 2007-08-14 Brady Eidson <beidson (a] apple.com> 1319 1320 Reviewed by Darin, John, Maciej, Oliver, and Tim 1321 1322 <rdar://problem/5394708> - Crash on launch with corrupt icon database 1323 1324 Expose some new SPI to help recover from this case should it happen again 1325 1326 * Misc/WebIconDatabase.mm: 1327 (-[WebIconDatabase init]): Use the new _databaseDirectory to determine where to open the database on disk 1328 (+[WebIconDatabase _checkIntegrityBeforeOpening]): Tell the icon database to check integrity when it opens 1329 (-[WebIconDatabase _databaseDirectory]): Moved the database-directory-determining logic here as it's now used in two places 1330 * Misc/WebIconDatabasePrivate.h: Added _checkIntegrityBeforeOpening SPI for clients to give hints about when the 1331 integrity check should run 1332 1333 2007-08-12 Alexey Proskuryakov <ap (a] webkit.org> 1334 1335 Reviewed by Darin. 1336 1337 http://bugs.webkit.org/show_bug.cgi?id=4648 1338 Shockwave unable to load GZip'd text resources when server sends Content-Length header 1339 1340 * Plugins/WebBaseNetscapePluginStream.mm: 1341 (-[WebBaseNetscapePluginStream startStreamWithResponse:]): Don't trust 1342 -[NSURLResponse expectedContentLength] if Content-Encoding is not identity. 1343 1344 2007-08-10 Timothy Hatcher <timothy (a] apple.com> 1345 1346 Reviewed by Mark Rowe. 1347 1348 <rdar://problem/5403302> HIWebView.h should be #ifdefed out for 64-bit 1349 1350 * Carbon/HIWebView.h: #ifdef out the header in 64-bit. Adds a comment about 32-bit only. 1351 * Carbon/CarbonUtils.h: Ditto. 1352 1353 2007-08-10 Timothy Hatcher <timothy (a] apple.com> 1354 1355 Reviewed by Adam. 1356 1357 <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit 1358 1359 Disable NPObject use in 64-bit on Mac OS X. Also generate the 64-bit export file. 1360 1361 * Configurations/WebKit.xcconfig: Point to the generated 64-bit export file. 1362 * Plugins/WebBasePluginPackage.h: 1363 * Plugins/npfunctions.h: #ifdef out this header in 64-bit on Mac OS X. 1364 * WebKit.LP64.exp: Removed. 1365 * WebKit.xcodeproj/project.pbxproj: Generate the the 64-bit export file. 1366 * WebKitPrefix.h: Define WTF_USE_NPOBJECT. 1367 1368 2007-08-10 Anders Carlsson <andersca (a] apple.com> 1369 1370 Reviewed by Geoff. 1371 1372 <rdar://problem/5390568> 1373 REGRESSION: -[WebFrame loadHTMLString:baseURL:] leaks the data source 1374 1375 If the identifier is not in the map, just bail out instead of asserting. This is a better fix for 1376 <rdar://problem/5133420> because WebCore shouldn't have to worry about the lifetime of WebKit objects. 1377 1378 * WebView/WebDocumentLoaderMac.mm: 1379 (WebDocumentLoaderMac::decreaseLoadCount): 1380 1381 2007-08-10 Oliver Hunt <oliver (a] apple.com> 1382 1383 Reviewed by Darin. 1384 1385 Fixed <rdar://problem/5000470> REGRESSION: ATOK IM: reconvert returns incorrect symbol due to inconsistent range domains in TSM by working around <rdar://problem/5400551> [NSAttributedString(WebKitExtras) _web_attributedStringFromRange:] adds whitespace to the requested range 1386 1387 We truncate the returned string to the expected length. 1388 1389 * WebView/WebHTMLView.mm: 1390 (-[WebHTMLView attributedSubstringFromRange:]): 1391 1392 2007-08-09 Mark Rowe <mrowe (a] apple.com> 1393 1394 Reviewed by Antti. 1395 1396 <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before + 1397 1398 * Configurations/Version.xcconfig: 1399 * WebKit.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between 1400 Version.xcconfig and Info.plist explicit to Xcode. 1401 1402 2007-08-08 Kevin Decker <kdecker (a] apple.com> 1403 1404 Reviewed by Anders Carlsson. 1405 1406 Fixed: <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit 1407 1408 #ifdef'd out Netscape style plug-ins on 64-bit because Mac OS X doesn't support 64-bit Carbon UI. 1409 1410 * Plugins/WebBaseNetscapePluginStream.h: 1411 * Plugins/WebBaseNetscapePluginStream.mm: 1412 * Plugins/WebBaseNetscapePluginView.h: 1413 * Plugins/WebBaseNetscapePluginView.mm: 1414 (+[WebBaseNetscapePluginView getCarbonEvent:]): 1415 (TSMEventHandler): 1416 * Plugins/WebBaseNetscapePluginViewInternal.h: 1417 * Plugins/WebBaseNetscapePluginViewPrivate.h: 1418 * Plugins/WebBasePluginPackage.m: 1419 (+[WebBasePluginPackage pluginWithPath:]): 1420 * Plugins/WebNetscapePluginEmbeddedView.h: 1421 * Plugins/WebNetscapePluginEmbeddedView.mm: 1422 * Plugins/WebNetscapePluginPackage.h: 1423 * Plugins/WebNetscapePluginPackage.m: 1424 * Plugins/WebNetscapePluginStream.h: 1425 * Plugins/WebNetscapePluginStream.mm: 1426 * Plugins/WebPluginDatabase.m: 1427 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): 1428 * Plugins/npapi.m: 1429 * WebCoreSupport/WebFrameBridge.mm: 1430 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]): 1431 * WebView/WebFrame.mm: 1432 * WebView/WebFramePrivate.h: 1433 * WebView/WebHTMLView.mm: 1434 (-[NSArray _web_makePluginViewsPerformSelector:withObject:]): 1435 * WebView/WebHTMLViewInternal.h: 1436 1437 2007-08-07 David Hyatt <hyatt (a] apple.com> 1438 1439 Fix a botched backout of the Quicktime plugin clipping fix that broke Java. The plugin view should not 1440 be set to autosize with the parent view. Also, cleanup of script objects was removed accidentally as 1441 well. 1442 1443 Reviewed by olliej 1444 1445 * Plugins/WebPluginController.mm: 1446 (-[WebPluginController destroyPlugin:]): 1447 (-[WebPluginController destroyAllPlugins]): 1448 * WebCoreSupport/WebFrameBridge.mm: 1449 (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]): 1450 1451 2007-08-03 Brady Eidson <beidson (a] apple.com> 1452 1453 Reviewed by Oliver 1454 1455 Fix for http://bugs.webkit.org/show_bug.cgi?id=14824 and <rdar://problem/5372989> 1456 1457 When unregistering a MIMEType, remove it from the WebCore registry unconditionally 1458 When registrying a MIMEType whose view class is WebHTMLView, add it to the WebCore registry 1459 1460 * WebView/WebView.mm: 1461 (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]): 1462 (+[WebView _registerViewClass:representationClass:forURLScheme:]): 1463 (+[WebView registerViewClass:representationClass:forMIMEType:]): 1464 1465 2007-08-03 Timothy Hatcher <timothy (a] apple.com> 1466 1467 Reviewed by Mark Rowe. 1468 1469 Correct the bundle version check to work in Debug and Release builds too. 1470 1471 * WebKit.xcodeproj/project.pbxproj: 1472 1473 2007-08-02 Brady Eidson <beidson (a] apple.com> 1474 1475 Reviewed by Tim 1476 1477 <rdar://problem/5381463> - setMIMETypesShownAsHTML mutates while enumerating 1478 1479 * WebView/WebView.mm: 1480 (+[WebView setMIMETypesShownAsHTML:]): Copy the dictionary before we work with it. 1481 1482 2007-08-02 Alice Liu <alice.liu (a] apple.com> 1483 1484 Reviewed by Kevin McCullough. 1485 1486 fixed <rdar://problem/5310312> REGRESSION: javascript is mis-escaped at http://labs.zarate.org/passwd causing bookmarklet to break 1487 1488 * Misc/WebNSURLExtras.mm: 1489 (+[NSURL _web_URLWithUserTypedString:relativeToURL:]): 1490 (-[NSURL _web_userVisibleString]): 1491 (-[NSURL _web_URLWithLowercasedScheme]): 1492 (-[NSURL _web_dataForURLComponentType:]): 1493 These 4 changes are just casting changes. 1494 1495 (-[NSString _webkit_stringByReplacingValidPercentEscapes]): 1496 This change replaces the call to an NSURL method with a webcore one that doesn't abort the escaping effort once an illegal character is encountered. 1497 1498 2007-08-01 Anders Carlsson <andersca (a] apple.com> 1499 1500 Fix build. 1501 1502 * Misc/WebNSURLExtras.mm: 1503 (+[NSURL _web_URLWithUserTypedString:relativeToURL:]): 1504 (-[NSURL _web_userVisibleString]): 1505 (-[NSURL _web_URLWithLowercasedScheme]): 1506 (-[NSURL _web_dataForURLComponentType:]): 1507 1508 2007-08-01 Alice Liu <alice.liu (a] apple.com> 1509 1510 Reviewed by . 1511 1512 Making WebNSURLExtras objc++ 1513 1514 * Misc/WebNSURLExtras.m: Removed. 1515 * Misc/WebNSURLExtras.mm: Copied from WebKit/Misc/WebNSURLExtras.m. 1516 * WebKit.xcodeproj/project.pbxproj: 1517 1518 2007-08-01 Darin Adler <darin (a] apple.com> 1519 1520 Reviewed by Anders Carlsson and Kevin Decker. 1521 1522 - fix <rdar://problem/5377432> Removal of MakeDataExecutable from 64-bit breaks WebKit build 1523 1524 The trick was to ifdef out more of the code that's only needed to support CFM, which exists 1525 only for 32-bit PowerPC. 1526 1527 * Plugins/WebNetscapePluginPackage.h: Define a SUPPORT_CFM symbol in this internal header when 1528 we support CFM. We support it only on 32-bit PowerPC. Only define the isBundle, isCFM, and 1529 connID fields when SUPPORT_CFM is on. Also use ResFileRefNum instead of SInt16. 1530 * Plugins/WebNetscapePluginPackage.m: Only compile the function pointer and transition vector 1531 functions when SUPPORT_CFM is on. 1532 (-[WebNetscapePluginPackage openResourceFile]): Put the non-bundle case inside a SUPPORT_CFM 1533 ifdef, since all non-CFM plug-ins are bundles. 1534 (-[WebNetscapePluginPackage closeResourceFile:]): Ditto. 1535 (-[WebNetscapePluginPackage _initWithPath:]): Use SUPPORT_CFM to compile out the code for 1536 non-bundle and bundle-based CFM plug-ins, and code that sets isBundle and isCFM. 1537 (-[WebNetscapePluginPackage executableType]): Put the CFM case inside SUPPORT_CFM. 1538 (-[WebNetscapePluginPackage load]): Put the non-bundle and CFM cases inside SUPPORT_CFM. 1539 There was a bit of dead code here. 1540 (-[WebNetscapePluginPackage _unloadWithShutdown:]): Put the non-bundle case inside 1541 SUPPORT_CFM. 1542 1543 2007-07-31 Timothy Hatcher <timothy (a] apple.com> 1544 1545 Reviewed by Oliver and Beth. 1546 1547 <rdar://problem/5211271> ADOBE Leopard 9A410: At the first Launching InDesign after deactivate, EULA page gets blanked. 1548 1549 Check for more Adobe applications that need the frame reload quirk. Also cache the answer 1550 so the version check dosen't happen more than once. 1551 1552 * WebView/WebView.mm: 1553 (-[WebView _needsAdobeFrameReloadingQuirk]): 1554 (-[WebView _updateWebCoreSettingsFromPreferences:]): 1555 1556 2007-07-30 Adele Peterson <adele (a] apple.com> 1557 1558 Reviewed by Oliver. 1559 1560 Fix for <rdar://problem/5308020> REGRESSION: Command-N with Dvorak-Qwerty keyboard layout stopped working inside web page text fields 1561 1562 * WebView/WebHTMLView.mm: (-[WebHTMLView _handleStyleKeyEquivalent:]): 1563 The input method may have modified the character we get, so don't use charactersIgnoringModifiers to interpret the character we get. 1564 1565 2007-07-30 John Sullivan <sullivan (a] apple.com> 1566 1567 Reviewed by Darin 1568 1569 - fixed <rdar://problem/5216176> Need WebKit SPI to allow clients using embedded WebViews to avoid 1570 clipping ends of some printed pages 1571 1572 This provides Mail, and other clients that print views that embed WebViews, a way to ensure that 1573 the HTML is laid out for printing before pagination occurs. 1574 1575 * WebView/WebHTMLViewPrivate.h: 1576 new SPI method -_layoutForPrinting 1577 1578 * WebView/WebHTMLView.mm: 1579 (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): 1580 new method, just like existing _web_setPrintingModeRecursive except passes YES for adjustViewSize 1581 (-[WebHTMLView _layoutForPrinting]): 1582 new SPI method, sets printing mode temporarily to adjust the view size for printing 1583 (-[NSView _web_setPrintingModeRecursiveAndAdjustViewSize]): 1584 new helper method to do the recursion 1585 1586 2007-07-30 Adele Peterson <adele (a] apple.com> 1587 1588 Reviewed by Darin. 1589 1590 Fix for <rdar://problem/5367919> A crash occurs at WebCore::Frame::isFrameSet() when attempting to print a iframe before it loads at http://www.monster.com/ 1591 1592 * WebView/WebHTMLView.mm: (-[WebHTMLView knowsPageRange:]): Nil check for frame. 1593 1594 2007-07-30 Anders Carlsson <andersca (a] apple.com> 1595 1596 Reviewed by Darin. 1597 1598 <rdar://problem/5370710> 1599 REGRESSION: After switching from Bookmark view, the Find Banner won't appear while displaying a PDF file 1600 1601 Implement hasHTMLView. 1602 1603 * WebCoreSupport/WebFrameLoaderClient.h: 1604 * WebCoreSupport/WebFrameLoaderClient.mm: 1605 (WebFrameLoaderClient::hasHTMLView): 1606 1607 2007-07-30 Justin Garcia <justin.garcia (a] apple.com> 1608 1609 Reviewed by Tristan. 1610 1611 <rdar://problem/5098931> Attachments are lost when they are moved into a ToDo after a delete 1612 1613 Mail needs to be asked if it is OK to do the content movement that happens 1614 after a deleting in a situation like this one: 1615 <div contenteditable="plaintext-only">foo</div><div>^bar</div> 1616 so that they can prevent the move or so that they can save content that 1617 will be stripped by the move. This could have been done with shouldInsertNode 1618 and a new WebViewInsertAction for "moves", but WebKit clients like Mail and 1619 DashCode think that a shouldInsert* means that the user pasted something and 1620 perform actions only appropriate for pastes. This change is less risky because 1621 it won't require those clients to change their code. 1622 1623 * DefaultDelegates/WebDefaultEditingDelegate.m: 1624 (-[WebDefaultEditingDelegate webView:shouldMoveRangeAfterDelete:replacingRange:]): 1625 * WebCoreSupport/WebEditorClient.h: 1626 * WebCoreSupport/WebEditorClient.mm: 1627 (WebEditorClient::shouldMoveRangeAfterDelete): 1628 * WebView/WebEditingDelegatePrivate.h: 1629 1630 2007-07-29 Adele Peterson <adele (a] apple.com> 1631 1632 Reviewed by John. 1633 1634 WebKit part of fix for <rdar://problem/5102522> REGRESSION: Can't tab to webview that doesn't have editable content 1635 1636 * WebView/WebHTMLView.mm: (-[WebHTMLView becomeFirstResponder]): Call new setInitialFocus method instead of advanceFocus. 1637 1638 2007-07-27 Darin Adler <darin (a] apple.com> 1639 1640 - fix build 1641 1642 * WebKitPrefix.h: Removed the USING_WEBCORE_XXX definitions. 1643 * WebView/WebHTMLView.mm: 1644 (-[WebHTMLView delete:]): Fixed this to use WebCore again; I accidentally revived a dead 1645 code path that didn't work in the last patch! 1646 (-[WebHTMLView deleteToMark:]): Ditto. 1647 (-[WebHTMLView copy:]): Removed the unused side of the ifdef. 1648 (-[WebHTMLView cut:]): Ditto. 1649 (-[WebHTMLView paste:]): Ditto. 1650 1651 2007-07-27 Darin Adler <darin (a] apple.com> 1652 1653 Reviewed by Tim Hatcher and Oliver Hunt. 1654 1655 - fix <rdar://problem/5355815> webView:doCommandBySelector: isn't getting called for copy: 1656 1657 Added code so that webView:doCommandBySelector: is called for every command. 1658 1659 * WebView/WebHTMLView.mm: Made 44 of the commands use the WEBCORE_COMMAND macro instead 1660 of being handwritten. For all the others, added invocation of COMMAND_PROLOGUE macro at 1661 the start of the command. 1662 (-[WebHTMLView callDelegateDoCommandBySelectorIfNeeded:]): Added. 1663 (-[WebHTMLView callWebCoreCommand:]): Added. 1664 (-[WebHTMLView delete:]): Removed unused code path -- easy to bring back some day, but 1665 we don't need it compiled in. 1666 (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Changed so this doesn't 1667 call deleteBackward: any more so we don't call the delegate two times. 1668 (-[WebHTMLView deleteToMark:]): Changed so this doesn't call delete: any more so we don't 1669 call the delegate two times. 1670 (-[WebHTMLView selectToMark:]): Changed so this doesn't call setMark: any more so we don't 1671 call the delegate two times. 1672 (-[WebHTMLView doCommandBySelector:]): Added code to set the private variable 1673 selectorForDoCommandBySelector. This allows callDelegateDoCommandBySelectorIfNeeded to 1674 detect that we've already called the delegate and avoids calling it twice. 1675 1676 * WebView/WebHTMLViewInternal.h: Added the selectorForDoCommandBySelector field. 1677 1678 2007-07-26 Alexey Proskuryakov <ap (a] webkit.org> 1679 1680 Reviewed by Oliver. 1681 1682 http://bugs.webkit.org/show_bug.cgi?id=14733 1683 Add a logging channel for text input 1684 <rdar://problem/5364667> 1685 1686 * Misc/WebKitLogging.h: 1687 * Misc/WebKitLogging.m: 1688 (WebKitInitializeLoggingChannelsIfNecessary): 1689 * WebView/WebHTMLView.mm: 1690 (-[WebHTMLView validAttributesForMarkedText]): 1691 (-[WebHTMLView textStorage]): 1692 (-[WebHTMLView characterIndexForPoint:]): 1693 (-[WebHTMLView firstRectForCharacterRange:]): 1694 (-[WebHTMLView selectedRange]): 1695 (-[WebHTMLView markedRange]): 1696 (-[WebHTMLView attributedSubstringFromRange:]): 1697 (-[WebHTMLView hasMarkedText]): 1698 (-[WebHTMLView unmarkText]): 1699 (-[WebHTMLView setMarkedText:selectedRange:]): 1700 (-[WebHTMLView doCommandBySelector:]): 1701 (-[WebHTMLView insertText:]): 1702 1703 2007-07-26 Darin Adler <darin (a] apple.com> 1704 1705 - fix Tiger build 1706 1707 * Misc/WebTypesInternal.h: For use inside the library, use NSInteger and 1708 NSUInteger, just like on Leopard. WebNSInteger and WebNSUInteger are still 1709 present, but they are used in public and private headers only. 1710 1711 * Carbon/CarbonWindowAdapter.m: 1712 * Carbon/CarbonWindowFrame.m: 1713 * DefaultDelegates/WebScriptDebugServer.m: 1714 * History/WebBackForwardList.mm: 1715 * Misc/WebDownload.m: 1716 * Misc/WebSearchableTextView.m: 1717 * Plugins/WebBaseNetscapePluginView.mm: 1718 * WebCoreSupport/WebFrameLoaderClient.mm: 1719 * WebView/WebHTMLView.mm: 1720 * WebView/WebPDFView.mm: 1721 * WebView/WebView.mm: 1722 * WebView/WebViewInternal.h: 1723 Update all implementation files and internal headers to use NSInteger and 1724 NSUInteger rather than WebNSInteger and WebNSUInteger. 1725 1726 2007-07-26 John Sullivan <sullivan (a] apple.com> 1727 1728 Reviewed by Kevin Decker 1729 1730 - fixed <rdar://problem/5362989> Searching a pdf in some modes shows hilights for all instances 1731 of the word, even those not on the current page 1732 1733 It turns out that there were three different issues here, all contributing to incorrect display 1734 of multiple matches for PDF pages in certain display modes. (1) in non-continuous display modes, 1735 we weren't updating the match rects when the displayed page is changed with page up/down (e.g.); 1736 (2) the mechanism to update the match rects on scrolling was busted except for the first scroll 1737 away from 0,0; (3) the PDFKit API returns selection bounds for non-displayed pages in non-continuous 1738 modes just as if they were the displayed pages. This patch fixes all three issues. 1739 1740 * WebView/WebPDFView.h: 1741 made ivar name even longer 1742 1743 * WebView/WebPDFView.mm: 1744 (-[WebPDFView setPDFDocument:]): 1745 updated for ivar name change 1746 (-[WebPDFView viewDidMoveToWindow]): 1747 observe page-change notifications as well as the others; this is necessary because in the 1748 non-continuous modes the view can be completely updated without any scrolling involved (problem 1) 1749 (-[WebPDFView viewWillMoveToWindow:]): 1750 stop observing page-change notifications 1751 (-[WebPDFView rectsForTextMatches]): 1752 skip any pages that aren't visible; this avoids treating matches on non-displayed non-continous 1753 modes as if they were on the displayed page (problem 3) 1754 (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]): 1755 after checking whether scroll position has changed since we last checked it, remember the new 1756 one (d'oh!) (problem 2) 1757 1758 (-[WebPDFView _scaleOrDisplayModeOrPageChanged:]): 1759 renamed to include page changes 1760 1761 (-[WebPDFView _visiblePDFPages]): 1762 new method, returns the set of pages that are at least partly visible 1763 1764 2007-07-24 Oliver Hunt <oliver (a] apple.com> 1765 1766 Reviewed by Adam and Justin. 1767 1768 <rdar://problem/5141779> WebView editableDOMRangeForPoint: & moveDragCaretToPoint: returns last position in DOMText range 1769 1770 editableDOMRangeForPoint:, moveDragCaretToPoint:, and removeDragCaret now call directly into 1771 WebCore without relying on bridge look up through the now removed _bridgeAtPoint:. 1772 1773 * WebKit.xcodeproj/project.pbxproj: 1774 * WebView/WebView.mm: 1775 (-[WebView moveDragCaretToPoint:]): 1776 (-[WebView removeDragCaret]): 1777 (-[WebView editableDOMRangeForPoint:]): 1778 1779 2007-07-24 Kevin Decker <kdecker (a] apple.com> 1780 1781 Reviewed by Anders. 1782 1783 <rdar://problem/4699455> REGRESSION (Safari 2->Safari 3): Adobe Reader 7.0.8 plug-in doesn't work 1784 1785 * Plugins/WebNetscapePluginEmbeddedView.h: Added a #define that renames this class to "WebNetscapePluginDocumentView" 1786 This is necessary because the Adobe 7.x Acrobat plug-in has a hard coded check for a view named "WebNetscapePluginDocumentView" 1787 and will not function correctly if it doesn't find a view in the hierarchy without the old class name. 1788 1789 2007-07-24 Mark Rowe <mrowe (a] apple.com> 1790 1791 Reviewed by Antti. 1792 1793 <rdar://problem/5356666> NSMenuItem's seen leaking on buildbot 1794 1795 * WebCoreSupport/WebContextMenuClient.mm: 1796 (WebContextMenuClient::contextMenuItemSelected): Release platformItem as we were transferred its ownership by releasePlatformDescription. 1797 1798 2007-07-23 Oliver Hunt <oliver (a] apple.com> 1799 1800 Reviewed by Darin. 1801 1802 We have to be able to support insertText: followed by doCommandBySelector: in 1803 order to support the 2- and 3-Set Korean and RuSwitcher IMs at least. 1804 1805 * WebView/WebHTMLView.mm: 1806 (-[WebHTMLView insertText:]): 1807 1808 2007-07-23 Alice Liu <alice.liu (a] apple.com> 1809 1810 Reverting change 24535 now that a solution has been found that doesn't 1811 involve exposing an interface unnecessarily. 1812 1813 * WebView/WebHTMLView.mm: 1814 * WebView/WebHTMLViewPrivate.h: 1815 1816 2007-07-23 Alice Liu <alice.liu (a] apple.com> 1817 1818 Reviewed by Oliver Hunt. 1819 1820 Expose [WebHTMLView hasMarkedText] to 1821 fix <rdar://problem/4830074> autocomplete breaks Japanese typing 1822 1823 * WebView/WebHTMLView.mm: 1824 * WebView/WebHTMLViewPrivate.h: 1825 1826 2007-07-22 Darin Adler <darin (a] apple.com> 1827 1828 * StringsNotToBeLocalized.txt: Updated for recent changes. 1829 1830 2007-07-21 Adam Roben <aroben (a] apple.com> 1831 1832 Fix REGRESSION: Right-click/control-click broken 1833 1834 http://bugs.webkit.org/show_bug.cgi?id=14658 1835 <rdar://problem/5346830> 1836 1837 Reviewed by Mitz. 1838 1839 * WebCoreSupport/WebContextMenuClient.mm: 1840 (fixMenusToSendToOldClients): Update defaultItemsCount after removing 1841 items from the defaultItems array. 1842 1843 2007-07-20 Oliver Hunt <oliver (a] apple.com> 1844 1845 Reviewed by Adele. 1846 1847 <rdar://problem/5319438> REGRESSION: Cannot paste into an active inline input area (14522) 1848 http://bugs.webkit.org/show_bug.cgi?id=14522 1849 1850 AppKit sends noop: to -[WebHTMLView doCommandBySelector:] when an IM does not handle event, 1851 we now check this as it is necessary to work around some IMs that do send messages 1852 (such as insertText: rather than unmarkText: to confirm a composition) 1853 1854 * WebView/WebHTMLView.mm: 1855 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): 1856 (-[WebHTMLView doCommandBySelector:]): 1857 * WebView/WebHTMLViewInternal.h: 1858 1859 2007-07-20 Brady Eidson <beidson (a] apple.com> 1860 1861 Reviewed by Adele and Andersca 1862 1863 <rdar://problem/5336105> - WebBackForwardList created from scratch is unusable (always leads to crash) 1864 1865 * History/WebBackForwardList.mm: 1866 (-[WebBackForwardList init]): Have a default initializer that uses an empty BackFowardList not associated with a page. 1867 1868 * WebView/WebFrame.mm: 1869 (kit): For clarity's sake, this should return nil, not 0 1870 1871 2007-07-20 Justin Garcia <justin.garcia (a] apple.com> 1872 1873 Reviewed by Darin. 1874 1875 <rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it 1876 1877 * WebCoreSupport/WebEditorClient.h: 1878 * WebCoreSupport/WebEditorClient.mm: Removed the method 1879 for enabling/disabling word selection on right click. 1880 * WebView/WebView.mm: Ditto. 1881 * WebView/WebViewPrivate.h: Removed the getter/setter entirely, 1882 it was in a private Category for Mail, but wasn't used by Mail 1883 on Tiger or Leopard, they apparently implement word selection on 1884 their own. 1885 1886 2007-07-20 Timothy Hatcher <timothy (a] apple.com> 1887 1888 Reviewed by Darin. 1889 1890 <rdar://problem/5199812> WebView needs to adopt viewWillDraw (moving off of _propagateDirtyRectsToOpaqueAncestors) 1891 <rdar://problem/5017301> REGRESSION: Scroller in Widget Manager splits down the middle while scrolling 1892 1893 On Leopard _propagateDirtyRectsToOpaqueAncestors is no longer called by AppKit. Also marking new dirty rects 1894 underneath _recursiveDisplayRectIfNeededIgnoringOpacity will wait until the next runloop to draw them, 1895 causing rendering to happen in two steps instead of one as WebCore expected. 1896 1897 * WebView/WebHTMLView.mm: 1898 (-[WebHTMLView _topHTMLView]): Move to the file internal category so we can use it in viewWillDraw. 1899 (-[WebHTMLView _isTopHTMLView]): Ditto. 1900 (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): #ifdef for Tiger only. 1901 (-[WebHTMLView viewWillDraw]): Do a recursive layout if this is the top WebHTMLView. 1902 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): 1903 Don't do layout here on Leopard since viewWillDraw handled it. 1904 (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto. 1905 1906 2007-07-20 Beth Dakin <bdakin (a] apple.com> 1907 1908 Reviewed by Tim and Geoff. 1909 1910 Fix for <rdar://problem/5346855> Mail crashes at 1911 WebCore::RenderTableSection:paint + 846 when attempting to display 1912 a HTML based message 1913 1914 After reapplying styles, the RenderView needs layout. However, 1915 layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize used to 1916 return early if the WebHTMLView itself does not need layout. 1917 Because the WebHTMLView is not necessarily in synch with the 1918 RenderTree, returning early here can get us into a bad situation 1919 where we paint before laying out the Render Tree. This patch checks 1920 both the WebHTMLView and the bridge (which checks the RenderView, 1921 etc), so that we do not return early without laying out the Render 1922 Tree. 1923 1924 Some day, we should phase out WebHTMLView keeping track of 1925 needsLayout at all. But that is a bit beyond the scope of this fix. 1926 1927 * WebView/WebHTMLView.mm: 1928 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): 1929 1930 2007-07-20 John Sullivan <sullivan (a] apple.com> 1931 1932 Reviewed by Darin Adler and David Harrison 1933 1934 - fixed <rdar://problem/5307075> REGRESSION: Bottom of some printed pages are truncated 1935 1936 The "avoid orphan" code I added a year ago was causing the page to be imaged to a larger 1937 height (good), but not shrinking everything to compensate (bad). Bad one-year-ago me! 1938 1939 * WebView/WebHTMLViewInternal.h: 1940 added avoidingPrintOrphan boolean 1941 1942 * WebView/WebHTMLView.mm: 1943 (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): 1944 clear _private->avoidingPrintOrphan when clearing _private->printing 1945 (-[WebHTMLView _scaleFactorForPrintOperation:]): 1946 take _private->avoidingPrintOrphan into account when computing the scale factor 1947 (-[WebHTMLView knowsPageRange:]): 1948 set _private->avoidingPrintOrphan when we're shrinking to avoid an orphan 1949 1950 2007-07-19 Adam Roben <aroben (a] apple.com> 1951 1952 Fix <rdar://problem/5344972> REGRESSION: A error dialog occurs when 1953 attempting to ctrl-click in a iChat message window (webview) 1954 1955 Reviewed by Oliver. 1956 1957 * WebCoreSupport/WebContextMenuClient.mm: 1958 (fixMenusToSendToOldClients): Don't check for the Inspect Element item 1959 if we have fewer than 2 items. 1960 1961 2007-07-18 Geoffrey Garen <ggaren (a] apple.com> 1962 1963 Reviewed by Dave Hyatt. 1964 1965 <rdar://problem/5345099> 1966 1967 Reduced default WebCore cache size from 32 MB to 23 MB on systems below 1968 512 MB RAM. This improves RPRVT usage in the Safari pageout test by 1969 ~10% on a system with 384 MB RAM. 1970 1971 At 23 MB, no extra resources are evicted from the cache during a PLT 1972 run, so this is a safe change PLT-wise. 23 MB is also seems to be a 1973 generous number in real world usage. 1974 1975 * WebView/WebPreferences.m: 1976 (+[WebPreferences initialize]): 1977 1978 2007-07-18 Anders Carlsson <andersca (a] apple.com> 1979 1980 Reviewed by Geoff. 1981 1982 <rdar://problem/5341133> REGRESSION (Safari 2->Safari 3): DjVu plug-in doesn't load in Safari 3 1983 1984 The DjVu plug-in uses the size of the passed in NPNetscapeFuncs struct to copy it over to a NPNetscapeFuncs struct 1985 whose size was determined when DjVu was compiled. This means that when we add extra functions to the vtable, 1986 DjVu will segfault copying it into the (too small) destination struct. 1987 1988 Fix this by special-casing the DjVu plug-in and setting the NPNetscapeFuncs size to be the same size as what DjVu expects. 1989 1990 * Plugins/WebNetscapePluginPackage.m: 1991 (-[WebNetscapePluginPackage _applyDjVuWorkaround]): 1992 (-[WebNetscapePluginPackage load]): 1993 1994 2007-07-18 Timothy Hatcher <timothy (a] apple.com> 1995 1996 Reviewed by Adam. 1997 1998 <rdar://problem/5343767> Should have a way to disable the Web Inspector 1999 2000 Adds a new DisableWebKitDeveloperExtras default that will force the Web Inspector to be disabled. 2001 This overrides the WebKitDeveloperExtras and IncludeDebugMenu default. It also disables 2002 the Web Inspector in Debug builds. 2003 2004 * WebView/WebView.mm: 2005 (+[WebView _developerExtrasEnabled]): Check for the DisableWebKitDeveloperExtras default. 2006 (-[WebView _commonInitializationWithFrameName:groupName:]): Make a new WebInspectorClient when making the Page. 2007 2008 2007-07-18 Anders Carlsson <andersca (a] apple.com> 2009 2010 Build fix. 2011 2012 * Misc/WebNSAttributedStringExtras.mm: 2013 2014 2007-07-18 Sam Weinig <sam (a] webkit.org> 2015 2016 Rubber-stamped by Adam Roben. 2017 2018 Update after renaming MimeTypeRegistry to MIMETypeRegistry. 2019 2020 * Misc/WebNSPasteboardExtras.mm: 2021 (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]): 2022 * WebCoreSupport/WebFrameBridge.mm: 2023 (-[WebFrameBridge determineObjectFromMIMEType:URL:]): 2024 * WebView/WebDataSource.mm: 2025 (-[WebDataSource _documentFragmentWithArchive:]): 2026 * WebView/WebHTMLRepresentation.mm: 2027 (+[WebHTMLRepresentation supportedNonImageMIMETypes]): 2028 (+[WebHTMLRepresentation supportedImageMIMETypes]): 2029 * WebView/WebHTMLView.mm: 2030 (-[WebHTMLView _imageExistsAtPaths:]): 2031 2032 2007-07-18 Tristan O'Tierney <tristan (a] apple.com> 2033 2034 Reviewed by Maciej Stachowiak. 2035 2036 <rdar://problem/5341334> Alt-clicking a link in Safari does not register original URL info with gatekeeper 2037 <rdar://problem/5342570> REGRESSION: A hang occurs when attempting to open a attached file from a .Mac web mail message 2038 2039 * WebCoreSupport/WebFrameLoaderClient.h: 2040 Added a new method, setOriginalURLForDownload, for both download() 2041 and startDownload() to share. 2042 2043 * WebCoreSupport/WebFrameLoaderClient.mm: 2044 (WebFrameLoaderClient::download): 2045 Moved all the gatekeeper code into setOriginalURLForDownload. 2046 2047 (WebFrameLoaderClient::setOriginalURLForDownload): 2048 Same code that was in download() but moved into a single place for both 2049 startDownload and download to use. Also returned the boolean logic 2050 for detecting _wasUserGesture back to it's previous state, since my prior change 2051 was incorrect. Additionally I found a loop index bug with backListCount and fixed it. 2052 2053 (WebFrameLoaderClient::startDownload): 2054 Calls out to setOriginalURLForDownload after a download is created. 2055 2056 * WebView/WebView.mm: 2057 (-[WebView _downloadURL:]): 2058 Changed to return the WebDownload object created inside _downloadURL 2059 2060 * WebView/WebViewInternal.h: 2061 Changed _downloadURL to return the WebDownload it creates. 2062 2063 2007-07-17 Timothy Hatcher <timothy (a] apple.com> 2064 2065 Reviewed by Geoff. 2066 2067 <rdar://problem/5336267> loadData:MIMEType:textEncodingName:baseURL: doesn't like relative URLs 2068 2069 Get the absoluteURL from any user supplied NSURL before we pass it down to WebCore. 2070 2071 * WebView/WebFrame.mm: 2072 (-[WebFrame _loadURL:referrer:intoChild:]): 2073 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): 2074 * WebView/WebView.mm: 2075 (-[WebView userAgentForURL:]): 2076 2077 2007-07-17 Adam Roben <aroben (a] apple.com> 2078 2079 Fix Bug 14324: Cannot remove/customize the "Inspect Element" contextual menu item 2080 http://bugs.webkit.org/show_bug.cgi?id=14324 2081 2082 Only clients linking against new versions of WebKit will see the item. 2083 I've maintained our behavior for old clients of not including the 2084 Inspect Element item in the menu items passed to the UI delegate. 2085 2086 Reviewed by Tim. 2087 2088 * Misc/WebKitVersionChecks.h: Added a new constant. 2089 * WebCoreSupport/WebContextMenuClient.mm: 2090 (isPreInspectElementTagClient): Added. 2091 (fixMenusToSendToOldClients): Return an array of items that should be 2092 appended to the menu received from the delegate. 2093 (fixMenusReceivedFromOldClients): Append the saved items to the array. 2094 (WebContextMenuClient::getCustomMenuFromDefaultItems): Retain/release 2095 the saved items. 2096 2097 2007-07-17 Adam Roben <aroben (a] apple.com> 2098 2099 Remove WebContextMenuClient::shouldIncludeInspectElementItem 2100 2101 Reviewed by Tim. 2102 2103 * WebCoreSupport/WebContextMenuClient.h: 2104 * WebCoreSupport/WebContextMenuClient.mm: 2105 2106 2007-07-17 Adam Roben <aroben (a] apple.com> 2107 2108 Initialize Settings::developerExtrasEnabled 2109 2110 Reviewed by Tim. 2111 2112 * WebView/WebView.mm: 2113 (-[WebView _updateWebCoreSettingsFromPreferences:]): 2114 2115 2007-07-17 Geoffrey Garen <ggaren (a] apple.com> 2116 2117 Build fix. 2118 2119 * WebView/WebFrame.mm: 2120 (-[WebFrame _loadURL:referrer:intoChild:]): 2121 * WebView/WebFramePrivate.h: 2122 2123 2007-07-17 Tristan O'Tierney <tristan (a] apple.com> 2124 2125 Reviewed by Maciej Stachowiak. 2126 2127 <rdar://problem/5294691> Source of file is misrepresented if downloaded by typing in URL in Safari address bar 2128 2129 * WebCoreSupport/WebFrameLoaderClient.h: 2130 * WebCoreSupport/WebFrameLoaderClient.mm: 2131 (WebFrameLoaderClient::download): 2132 Revised code to check the initial request's referrer before assuming it has a history to check. 2133 2134 2007-07-16 Brady Eidson <beidson (a] apple.com> 2135 2136 Reviewed by Adam 2137 2138 Begin the arduous task of localizing FTP directory listings while removing a global initializer! 2139 2140 * English.lproj/Localizable.strings: 2141 * WebCoreSupport/WebViewFactory.mm: 2142 (-[WebViewFactory unknownFileSizeText]): 2143 2144 2007-07-16 Adam Roben <aroben (a] apple.com> 2145 2146 Move printing from WebFrameBridge to WebChromeClient 2147 2148 Reviewed by Darin. 2149 2150 * WebCoreSupport/WebChromeClient.h: Updated for ChromeClient changes. 2151 * WebCoreSupport/WebChromeClient.mm: 2152 (WebChromeClient::print): Moved code from WebFrameBridge. 2153 * WebCoreSupport/WebFrameBridge.mm: Removed -print. 2154 2155 2007-07-16 Darin Adler <darin (a] apple.com> 2156 2157 * StringsNotToBeLocalized.txt: Update for recent changes. 2158 2159 2007-07-16 John Sullivan <sullivan (a] apple.com> 2160 2161 Reviewed by Kevin Decker and Darin Adler 2162 2163 - fixed <rdar://problem/5337529> Holes in Find banner overlay on PDF pages are left in wrong place after changing scale 2164 2165 * WebView/WebPDFView.mm: 2166 (-[WebPDFView _scaleOrDisplayModeChanged:]): 2167 tell UI delegate that the entire PDF view has been redrawn 2168 2169 2007-07-14 Brady Eidson <beidson (a] apple.com> 2170 2171 Reviewed by Sam Weinig 2172 2173 Initial check-in for <rdar://problem/3154486> - Supporting FTP directory listings in the browser 2174 2175 * WebView/WebPreferenceKeysPrivate.h: Added preference keys for the FTP template location, as well as to force 2176 FTP directory listings, bypassing the policy delegate. This is necessary to test the new feature until browser 2177 policy delegate support is added. 2178 2179 * WebView/WebPreferences.m: 2180 (-[WebPreferences _setFTPDirectoryTemplatePath:]): 2181 (-[WebPreferences _ftpDirectoryTemplatePath]): 2182 (-[WebPreferences _setForceFTPDirectoryListings:]): 2183 (-[WebPreferences _forceFTPDirectoryListings]): 2184 * WebView/WebPreferencesPrivate.h: 2185 * WebView/WebView.mm: 2186 (-[WebView _updateWebCoreSettingsFromPreferences:]): 2187 2188 2007-07-13 Anders Carlsson <andersca (a] apple.com> 2189 2190 Reviewed by Maciej. 2191 2192 <rdar://problem/5290103> Assert failure when loading page with multipart resource 2193 2194 Don't try to call the delegate method if the resource object doesn't exist in the 2195 identifier map. When a multipart resource has finished loading one part, it is removed from the 2196 web view identifier map. 2197 2198 This is not an ideal fix, a better fix would be to special-case multipart resources and not remove 2199 them when the first part has finished loading. I've filed <rdar://problem/5335034> to track doing that. 2200 2201 * WebCoreSupport/WebFrameLoaderClient.mm: 2202 (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): 2203 (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge): 2204 (WebFrameLoaderClient::dispatchDidReceiveResponse): 2205 (WebFrameLoaderClient::willCacheResponse): 2206 (WebFrameLoaderClient::dispatchDidReceiveContentLength): 2207 (WebFrameLoaderClient::dispatchDidFinishLoading): 2208 (WebFrameLoaderClient::dispatchDidFailLoading): 2209 2210 2007-07-13 Timothy Hatcher <timothy (a] apple.com> 2211 2212 Reviewed by Oliver Hunt. 2213 2214 <rdar://problem/5333766> Can't include WebEditingDelegatePrivate.h 2215 2216 * WebView/WebEditingDelegatePrivate.h: Changed the include to be a framework include, 2217 so other projects can use this header. 2218 2219 2007-07-12 Anders Carlsson <andersca (a] apple.com> 2220 2221 Reviewed by Darin and Maciej. 2222 2223 <rdar://problem/5271096> panic after Safari stress test, caused by port leak 2224 2225 Replace uses of -[NSObject performSelector:withObject:afterDelay:] with CFRunLoopTimer. performSelector 2226 causes the target (the WebHTMLView in this case) to be retained until the timer fires. Furthermore, when 2227 running the PLT or iBench, the timers will not fire until the main loop is entered (usually after running all tests). 2228 2229 This means that the timers and ports will not be released until after the test has finished running. 2230 2231 * WebView/WebHTMLView.mm: 2232 (-[WebHTMLViewPrivate dealloc]): 2233 (-[WebHTMLView _cancelUpdateMouseoverTimer]): 2234 (-[WebHTMLView _updateMouseoverWithFakeEvent]): 2235 (-[WebHTMLView _updateMouseoverTimerCallback:]): 2236 (-[WebHTMLView _frameOrBoundsChanged]): 2237 (-[WebHTMLView _updateActiveState]): 2238 (-[WebHTMLView _updateActiveStateTimerCallback:]): 2239 (-[WebHTMLView viewWillMoveToWindow:]): 2240 (-[WebHTMLView viewDidMoveToWindow]): 2241 (-[WebHTMLView mouseDown:]): 2242 (-[WebTextCompleteController dealloc]): 2243 * WebView/WebHTMLViewInternal.h: 2244 2245 2007-07-13 Mark Rowe <mrowe (a] apple.com> 2246 2247 Reviewed by Mitz. 2248 2249 Build fix. Stub out WebChromeClient::print. 2250 2251 * WebCoreSupport/WebChromeClient.h: 2252 * WebCoreSupport/WebChromeClient.mm: 2253 (WebChromeClient::print): 2254 2255 2007-07-11 Timothy Hatcher <timothy (a] apple.com> 2256 2257 Reviewed by Oliver. 2258 2259 <rdar://problem/5108789> WEBVIEW: Drawing artifacts when dragging in IB 2260 2261 Interface Builder 3 is relying on KVO notifications for frameOrigin and frameSize, 2262 among other standard NSView keys. Change automaticallyNotifiesObserversForKey to 2263 return NO only for keys WebView manually fires notifications for. 2264 2265 * WebView/WebView.mm: 2266 (+[WebView automaticallyNotifiesObserversForKey:]): Selectivly return NO for keys we manually fire. 2267 (-[WebView _declaredKeys]): Code clean up. 2268 2269 2007-07-10 Antti Koivisto <antti (a] apple.com> 2270 2271 Reviewed by John. 2272 2273 Fix <rdar://problem/4570550> 2274 Hang in layout/layoutBlock/layoutBlockChildren preparing to print certain Mail messages 2275 2276 When printing from Mail, WebHTMLView is a subview of the view that is actually printed and does not 2277 receive calls that would set it to printing mode. Method adjustPageHeightNew is called repeatedly (for each page) during 2278 printing and it enables printing mode temporarily for each call. This triggers two full style recalcs and layouts 2279 each time making printing at least O(n^2). 2280 2281 Instead of enabling printing mode and resetting it back immediatly do the resetting asynchronously, after 2282 all adjustPageHeightNew calls are done. Normal Safari printing is not affected as adjustPageHeightNew is only 2283 called in case WebHTMLView is embedded in the view that is being printed. 2284 2285 No automatic test possible, requires printing and non-Safari client. 2286 2287 * WebView/WebHTMLView.mm: 2288 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): 2289 2290 2007-07-10 Geoffrey Garen <ggaren (a] apple.com> 2291 2292 Reviewed by Maciej Stachowiak. 2293 2294 - Fixed <rdar://problem/5049509> REGRESSION(10.4.9-9A377a): REAP Suite 2295 installer shows empty modal alert window (hangs) if user cancels during 2296 "installing shared components" phase 2297 2298 Added Adobe installers to the family of apps that need a data load 2299 loading quirk. 2300 2301 Added a linked-on-or-after check because this code is no longer 2302 Tiger-only. 2303 2304 I tested this code on Tiger and Leopard. 2305 2306 * Misc/WebKitVersionChecks.h: 2307 * WebKit.xcodeproj/project.pbxproj: 2308 * WebView/WebDocumentLoaderMac.mm: 2309 (needsDataLoadWorkaround): 2310 (WebDocumentLoaderMac::setDataSource): 2311 2312 2007-07-10 Darin Adler <darin (a] apple.com> 2313 2314 - fix build 2315 2316 * WebView/WebHTMLView.mm: Add include of ContextMenu.h. 2317 2318 2007-07-10 Darin Adler <darin (a] apple.com> 2319 2320 Reviewed by John Sullivan. 2321 2322 - <rdar://problem/5321953> remove workaround for fixed AppKit mouse moved bug 2323 2324 * WebView/WebHTMLView.mm: Put the workaround for bug 3429631 inside an 2325 ifdef BUILDING_ON_TIGER. 2326 2327 2007-07-09 Anders Carlsson <andersca (a] apple.com> 2328 2329 Reviewed by Oliver. 2330 2331 <rdar://problem/4954319> 2332 Acrobat 7 / Safari crash: CrashTracer: 99 crashes in Safari at 2333 com.apple.WebCore: WebCore::NetscapePlugInStreamLoader::isDone const + 0 2334 2335 Add a new initWithFrameLoader: method to WebNetscapePluginStream which is to be used when 2336 the stream is a "fake" stream for full frame plug-ins. 2337 2338 * Plugins/WebBaseNetscapePluginView.mm: 2339 (-[WebBaseNetscapePluginView pluginView:receivedResponse:]): 2340 * Plugins/WebNetscapePluginStream.h: 2341 * Plugins/WebNetscapePluginStream.mm: 2342 (-[WebNetscapePluginStream initWithFrameLoader:]): 2343 (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): 2344 (-[WebNetscapePluginStream start]): 2345 (-[WebNetscapePluginStream cancelLoadWithError:]): 2346 (-[WebNetscapePluginStream stop]): 2347 * WebCoreSupport/WebFrameLoaderClient.mm: 2348 (WebFrameLoaderClient::createFrame): 2349 2350 2007-07-09 John Sullivan <sullivan (a] apple.com> 2351 2352 Reviewed by Darin 2353 2354 - fixed <rdar://problem/5320208> WebKit should prevent Time Machine from backing up WebKit clients' icon databases 2355 2356 * Misc/WebIconDatabase.mm: 2357 (-[WebIconDatabase init]): 2358 Re-added the code to exclude the icon database from backups. We now do this at the same time we (try to) import 2359 the old icon database format, which happens only once per icon database's lifetime. 2360 (-[WebIconDatabase _importToWebCoreFormat]): 2361 Assert that we haven't imported yet rather than bailing out. It's now the caller's responsibility to check 2362 whether we've imported yet. 2363 2364 2007-07-08 John Sullivan <sullivan (a] apple.com> 2365 2366 * Misc/WebIconDatabase.mm: 2367 (-[WebIconDatabase init]): 2368 Removed the code to exclude the icon database from backups. We still want to do this, but in a way 2369 that only runs once ever, instead of once per launch, due to performance concerns. 2370 2371 2007-07-07 Darin Adler <darin (a] apple.com> 2372 2373 Reviewed by Maciej. 2374 2375 - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check 2376 2377 * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_MAIN_THREAD_EXCEPTIONS. 2378 2379 * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): In first-time initialization block, 2380 check for binaries linked against older versions of WebKit, and set the default thread violation 2381 behavior to LogOnFirstThreadViolation. 2382 2383 * WebView/WebView.mm: (+[WebView initialize]): Improved comments. 2384 2385 2007-07-06 Oliver Hunt <oliver (a] apple.com> 2386 2387 Reviewed by Maciej. 2388 2389 <rdar://problem/5318756> Need to refactor IM/Marked text code to share logic with windows. 2390 2391 Moved a number of methods from WebHTMLView into WebCore. 2392 Replaced bridge methods with calls directly into WebCore objects. 2393 2394 * WebKit.xcodeproj/project.pbxproj: 2395 * WebView/WebHTMLView.mm: 2396 (-[WebHTMLView setMarkedText:selectedRange:]): 2397 Now calls WebCore object methods directly, rather than calling 2398 via the bridge. 2399 2400 2007-07-06 John Sullivan <sullivan (a] apple.com> 2401 2402 Reviewed by Brady 2403 2404 - WebKit part of fix for: 2405 <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files 2406 2407 * Misc/WebIconDatabase.mm: 2408 (-[WebIconDatabase init]): 2409 Use CSBackupSetItemExcluded to tell Time Machine not to back up the icon database file 2410 2411 2007-07-07 Mark Rowe <mrowe (a] apple.com> 2412 2413 Build fix. Update WebDynamicScrollBarsView.h to include methods added and used in r24060. 2414 2415 * WebView/WebDynamicScrollBarsView.h: 2416 2417 2007-07-05 Timothy Hatcher <timothy (a] apple.com> 2418 2419 Reviewed by John. 2420 2421 <rdar://problem/5236277> REGRESSION-9A458: SPI for setting scroll bar behavior doesn't work 2422 2423 Calling setHorizontalScrollingMode: calls updateScrollers before returning, this will cause 2424 WebCore to reset the scrolling mode based on the CSS overflow rules. So the setAlwaysShowHorizontalScroller: 2425 and setAlwaysShowVerticalScroller: methods needed a way to lock the scrolling mode before 2426 calling updateScrollers. 2427 2428 * WebView/WebDynamicScrollBarsView.m: 2429 (-[WebDynamicScrollBarsView updateScrollers]): 2430 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): 2431 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): 2432 (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): 2433 (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): 2434 (-[WebDynamicScrollBarsView setScrollingMode:]): 2435 (-[WebDynamicScrollBarsView setScrollingMode:andLock:]): 2436 * WebView/WebView.mm: 2437 (-[WebView setAlwaysShowVerticalScroller:]): 2438 (-[WebView setAlwaysShowHorizontalScroller:]): 2439 2440 2007-07-06 Mitz Pettel <mitz (a] webkit.org> 2441 2442 Reviewed by Maciej. 2443 2444 - fix http://bugs.webkit.org/show_bug.cgi?id=10267 2445 Can't scroll page downwards with scroll wheel, when pointer is on top of non-scrolling iframe 2446 2447 * WebView/WebDynamicScrollBarsView.m: 2448 (-[WebDynamicScrollBarsView scrollWheel:]): Override the superclass 2449 implementation to forward the wheel event to the next responder if this view 2450 does not allow scrolling in the event's direction. 2451 2452 2007-07-05 John Sullivan <sullivan (a] apple.com> 2453 2454 Reviewed by Adam 2455 2456 - WebKit part of fix for <rdar://problem/5315033> 2457 2458 * WebView/WebDocumentPrivate.h: 2459 new selectionImageForcingBlackText: method. selectionImageForcingWhiteText: is no longer used and was never 2460 in an official release of WebKit, so it could be removed, except that doing so would cause trouble for people 2461 using nightly WebKit with Safari 3.0 beta. So I left it in, but made it just force black text instead of 2462 white text, which will look different for those nightly WebKit/Safari 3.0 beta people but not break anything. 2463 2464 * Misc/WebSearchableTextView.m: 2465 (-[WebSearchableTextView selectionImageForcingBlackText:]): 2466 new unimplemented protocol method for this obsolete class 2467 2468 * WebView/WebHTMLView.mm: 2469 (-[WebHTMLView selectionImageForcingBlackText:]): 2470 calls through to WebCore the way selectionImageForcingWhiteText: used to 2471 (-[WebHTMLView selectionImageForcingWhiteText:]): 2472 now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name 2473 2474 * WebView/WebPDFView.mm: 2475 (-[WebPDFView selectionImageForcingBlackText:]): 2476 guts of old selectionImageForcingWhiteText:, but with black substituted for white 2477 (-[WebPDFView selectionImageForcingWhiteText:]): 2478 now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name 2479 2480 2007-07-05 Timothy Hatcher <timothy (a] apple.com> 2481 2482 Reviewed by John. 2483 2484 <rdar://problem/5314993> Shiira 2.1 throws an exception open a new window: -[WebInspector window]: unrecognized selector 2485 2486 Add an empty implementation of this method to prevent Shiira from throwing an exception. 2487 Also log that this method is obsolete and the class will be removed. 2488 2489 * WebInspector/WebInspector.mm: 2490 (-[WebInspector window]): 2491 2492 2007-07-04 Adam Roben <aroben (a] apple.com> 2493 2494 Move tooltip logic down into WebCore so that it can be shared cross-platform 2495 2496 Reviewed by Sam. 2497 2498 * WebCoreSupport/WebChromeClient.h: 2499 * WebCoreSupport/WebChromeClient.mm: 2500 (WebChromeClient::setToolTip): Added. 2501 * WebView/WebHTMLView.mm: Removed _resetCachedWebPreferences. 2502 (-[WebHTMLView _updateMouseoverWithEvent:]): Removed tooltip code. 2503 (-[WebHTMLView initWithFrame:]): Removed call to 2504 _resetCachedWebPreferences. 2505 (-[WebHTMLView setDataSource:]): Ditto. 2506 * WebView/WebHTMLViewInternal.h: Removed showsURLsInToolTips ivar. 2507 * WebView/WebHTMLViewPrivate.h: Added declaration for _setTooltip so 2508 that WebChromeClient can call it. 2509 2510 2007-07-04 Adam Roben <aroben (a] apple.com> 2511 2512 Initialize Settings::showsURLsInToolTips 2513 2514 Reviewed by Sam. 2515 2516 * WebView/WebView.mm: 2517 (-[WebView _updateWebCoreSettingsFromPreferences:]): 2518 2519 2007-07-04 Adam Roben <aroben (a] apple.com> 2520 2521 Removed call to mouseDidMoveOverElement now that WebCore handles it 2522 2523 Reviewed by Sam. 2524 2525 * WebView/WebHTMLView.mm: 2526 (-[WebHTMLView _updateMouseoverWithEvent:]): 2527 2528 2007-07-04 Adam Roben <aroben (a] apple.com> 2529 2530 Add WebChromeClient::mouseDidMoveOverElement 2531 2532 This is not called yet. 2533 2534 Reviewed by Sam. 2535 2536 * WebCoreSupport/WebChromeClient.h: 2537 * WebCoreSupport/WebChromeClient.mm: 2538 2539 2007-07-03 Darin Adler <darin (a] apple.com> 2540 2541 * StringsNotToBeLocalized.txt: Updated for recent changes. 2542 2543 2007-07-03 Timothy Hatcher <timothy (a] apple.com> 2544 2545 Reviewed by Darin. 2546 2547 Remove HIWebView in 64-bit. 2548 2549 Also disable a few calls that are now gone in 64-bit and filed these bugs: 2550 2551 <rdar://problem/5311653> WebKit needs to adopt HIGetMousePosition where we used GetGlobalMouse before 2552 <rdar://problem/5311648> WebKit needs to move off of CopyEvent in WebBaseNetscapePluginView 2553 <rdar://problem/5311640> WebKit needs a new solution for HISearchWindowShow on 64-bit 2554 2555 * Carbon/CarbonUtils.m: 2556 * Carbon/CarbonWindowAdapter.m: 2557 * Carbon/CarbonWindowContentView.m: 2558 * Carbon/CarbonWindowFrame.m: 2559 * Carbon/HIViewAdapter.m: 2560 (SetViewNeedsDisplay): 2561 * Carbon/HIWebView.m: 2562 (Draw): 2563 (SyncFrame): 2564 * Configurations/WebKit.xcconfig: 2565 * Plugins/WebBaseNetscapePluginView.mm: 2566 (+[WebBaseNetscapePluginView getCarbonEvent:]): 2567 (TSMEventHandler): 2568 * WebKit.LP64.exp: Added. 2569 * WebView/WebView.mm: 2570 (-[WebView _searchWithSpotlightFromMenu:]): 2571 2572 2007-07-03 Adam Roben <aroben (a] apple.com> 2573 2574 Merge the Windows and Mac localized strings and exceptions files 2575 2576 Reviewed by Darin and Anders. 2577 2578 * English.lproj/Localizable.strings: Added Windows strings. 2579 * StringsNotToBeLocalized.txt: Renamed from WebKit/English.lproj/StringsNotToBeLocalized.txt. 2580 2581 2007-07-03 Adele Peterson <adele (a] apple.com> 2582 2583 Removed printf I accidently left in. 2584 2585 * Misc/WebNSURLExtras.m: (mapHostNames): 2586 2587 2007-07-03 Adele Peterson <adele (a] apple.com> 2588 2589 Reviewed by Darin. 2590 2591 Fix for: <rdar://problem/5292988> domain names shouldn't contain ignorable characters 2592 2593 * Misc/WebNSURLExtras.m: 2594 (isLookalikeCharacter): Renamed. Also excludes any non-printable character, 2595 any character considered as whitespace that isn't already converted to a space by ICU, any ignorable character, 2596 and any character excluded in Mozilla's blacklist: http://kb.mozillazine.org/Network.IDN.blacklist_chars 2597 (allCharactersInIDNScriptWhiteList): 2598 2599 2007-07-03 Darin Adler <darin (a] apple.com> 2600 2601 Reviewed by Maciej. 2602 2603 - fix <rdar://problem/5310848> WebDataSource lifetime problem -- may be cause of the leaks seen on the buildbot 2604 2605 * WebView/WebDataSource.mm: 2606 (-[WebDataSourcePrivate dealloc]): Added a call to the new detachDataSource function. 2607 (-[WebDataSourcePrivate finalize]): Ditto. 2608 2609 * WebView/WebDocumentLoaderMac.h: Added detachDataSource function to be used when the 2610 WebDataSource is deallocated. Added retain/releaseDataSource helper functions to be 2611 used to retain and release the data source object. Replaced the m_hasEverBeenDetached 2612 boolean with a more primitive and hence easier to understand m_isDataSourceRetained boolean. 2613 2614 * WebView/WebDocumentLoaderMac.mm: 2615 (WebDocumentLoaderMac::WebDocumentLoaderMac): Initialize m_isDataSourceRetained to false. 2616 (WebDocumentLoaderMac::setDataSource): Call retainDataSource instead of calling HardRetain 2617 on the dataSource parameter. Also updated a comment. 2618 (WebDocumentLoaderMac::attachToFrame): Call retainDataSource unconditionally rather than 2619 trying to use m_hasEverBeenDetached to decide if a retain is needed. Also got rid of an 2620 assertion that m_loadingResources is empty -- not important any more. 2621 (WebDocumentLoaderMac::detachFromFrame): Call releaseDataSource instead of using 2622 HardRelease, but only if m_loadingResources is empty. If it's non-empty, then we'll 2623 do the releaseDataSource later in decreaseLoadCount. 2624 (WebDocumentLoaderMac::increaseLoadCount): Call retainDataSource unconditionally 2625 rather than calling HardRetain only if the old set of resources was empty. 2626 (WebDocumentLoaderMac::decreaseLoadCount): Call releaseDataSource if m_loadingResources 2627 is empty and we're not attached to a frame. If we are attached to a frame, then 2628 we'll do the releaseDataSource later in detachFromFrame. 2629 (WebDocumentLoaderMac::retainDataSource): Added. Calls CFRetain, but only if the data 2630 source is not already retained (according to the boolean). 2631 (WebDocumentLoaderMac::releaseDataSource): Added. Calls CFRelease, but only if the data 2632 source is currently retained (according to the boolean). 2633 (WebDocumentLoaderMac::detachDataSource): Added. Sets m_dataSource to nil. Since this 2634 is only called from WebDataSource's dealloc and finalize methods, it won't ever be called 2635 when the m_isDataSourceRetained boolean is true. 2636 2637 2007-07-03 Darin Adler <darin (a] apple.com> 2638 2639 - forgot to check in one file in the fix for <rdar://problem/5307880> 2640 some classes need finalize methods because of non-trivial work done in dealloc methods 2641 2642 * WebView/WebView.mm: (-[WebViewPrivate finalize]): Delete identifierMap so it doesn't leak. 2643 2644 2007-07-03 Anders Carlsson <andersca (a] apple.com> 2645 2646 Reviewed by Darin. 2647 2648 * WebView/WebView.mm: 2649 (-[WebView stringByEvaluatingJavaScriptFromString:]): 2650 ASSERT that the value returned isn't nil. It can't be nil when invoked on the main frame. 2651 2652 2007-07-04 Mark Rowe <mrowe (a] apple.com> 2653 2654 Unreviewed 64-bit build fixes. 2655 2656 * WebCoreSupport/WebInspectorClient.mm: Let the compiler know that WebFrameView is a subclass of NSView. 2657 * WebView/WebDocumentInternal.h: Remove our preprocessor macro once we're done with it. 2658 * WebView/WebHTMLView.mm: 2659 (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Fix argument types. 2660 2661 2007-07-02 Darin Adler <darin (a] apple.com> 2662 2663 Reviewed by Kevin Decker and Tim Hatcher. 2664 2665 - fix <rdar://problem/5307880> some classes need finalize methods 2666 because of non-trivial work done in dealloc methods 2667 2668 * DefaultDelegates/WebScriptDebugServer.m: 2669 (-[WebScriptDebugServer dealloc]): Added a comment about how this probably won't 2670 work under GC. 2671 * WebInspector/WebNodeHighlight.m: 2672 (-[WebNodeHighlight dealloc]): Ditto. 2673 2674 * WebView/WebDataSource.mm: 2675 (+[WebDataSourcePrivate initialize]): Added. Makes finalize run on main thread. 2676 (-[WebDataSourcePrivate finalize]): Added. Calls deref on the document loader. 2677 * WebView/WebHTMLView.mm: 2678 (+[WebHTMLViewPrivate initialize]): Added. Makes finalize run on main thread. 2679 (-[WebHTMLViewPrivate finalize]): Added. Calls deref on promisedDragTIFFDataSource. 2680 2681 * WebKit.xcodeproj/project.pbxproj: Let Xcode be Xcode. 2682 2683 2007-07-02 Oliver Hunt <oliver (a] apple.com> 2684 2685 Reviewed by Justin. 2686 2687 Fix for 2688 <rdar://problem/5290113> WebKit does not correctly handle replacement ranges from the IM in -[WebHTMLView insertText:] 2689 http://bugs.webkit.org/show_bug.cgi?id=13664 2690 2691 We replicate the logic of -[WebHTMLView setMarkedText:selectedRange:] to handle the Input Method 2692 feeding us a replacement string through insertText: so we can handle IMs that use insertText to 2693 replace text. 2694 2695 * WebView/WebHTMLView.mm: 2696 (-[WebHTMLView insertText:]): 2697 2698 2007-07-01 Oliver Hunt <oliver (a] apple.com> 2699 2700 Reviewed by Alexey. 2701 2702 Fix for <rdar://problem/5306210> Some events are still passed to WebCore despite being handled by the IM 2703 http://bugs.webkit.org/show_bug.cgi?id=14457 2704 2705 We have to assume that the IM will consume all events, so we remove the dependency 2706 on -[WebHTMLView hasMarkedText]. 2707 2708 * WebView/WebHTMLView.mm: 2709 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): 2710 2711 2007-06-29 John Sullivan <sullivan (a] apple.com> 2712 2713 Reviewed by Oliver Hunt. 2714 2715 - WebKit support for accessing the set of rectangles that encompass the selected text 2716 2717 * WebView/WebDocumentPrivate.h: 2718 added -selectionTextRects to WebDocumentSelection protocol; tweaked comments 2719 2720 * WebView/WebHTMLView.mm: 2721 (-[WebHTMLView _selectionDraggingRect]): 2722 use selectionRect instead of selectionImageRect since they're the same and maybe we can get 2723 rid of selectionImageRect someday 2724 (-[WebHTMLView selectionTextRects]): 2725 added implementation of new protocol method, which calls through to WebCore 2726 2727 * WebView/WebPDFView.mm: 2728 (-[WebPDFView selectionTextRects]): 2729 added simple implementation of new protocol method, which just returns the single selection rect. 2730 PDFKit doesn't support obtaining multiple rects to describe a multi-line selection. 2731 (-[WebPDFView selectionImageForcingWhiteText:]): 2732 use selectionRect instead of selectionImageRect since they're the same and maybe we can get 2733 rid of selectionImageRect someday 2734 2735 * Misc/WebSearchableTextView.m: 2736 (-[WebSearchableTextView selectionTextRects]): 2737 added no-op implementation of new protocol method to this obsolete class 2738 2739 2007-06-28 Timothy Hatcher <timothy (a] apple.com> 2740 2741 Reviewed by Darin. 2742 2743 <rdar://problem/5287569> WEBVIEW: Creating a webview in IB 3.0 (v2.0) NIB later crashes Interface Builder 2.5.4 on Tiger 2744 2745 Prevent encoding any of the WebView subviews. The subviews are ignored by -[WebView initWithCoder:] and will be recreated. 2746 The Tiger 2.0 code crashed when the WebView released the subviews in initWithCoder:, so now there are no subviews to release. 2747 This never happened before because the Tiger 2.0 code and IB wouldn't encode a WebView that has a WebHTMLView. 2748 2749 * WebView/WebView.mm: 2750 (-[WebView encodeWithCoder:]): 2751 2752 2007-06-26 John Sullivan <sullivan (a] apple.com> 2753 2754 Reviewed by Darin 2755 2756 - WebKit support for displaying multiple text matches in PDF views (<rdar://problem/4601967>) 2757 2758 * WebView/WebPDFView.h: 2759 new ivars textMatches and lastScrollPosition; now conforms to WebMultipleTextMatches protocol 2760 2761 * WebView/WebPDFView.mm: 2762 (-[WebPDFView dealloc]): 2763 release textMatches 2764 (-[WebPDFView viewDidMoveToWindow]): 2765 start observing bounds changes in the PDF document's enclosing clip view, so we can notice when 2766 scrolling takes place 2767 (-[WebPDFView viewWillMoveToWindow:]): 2768 stop observing bounds changes in the PDF document's enclosing clip view 2769 (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]): 2770 most of the code here has been moved into the new method _nextMatchFor::::, which this now calls 2771 (-[WebPDFView setMarkedTextMatchesAreHighlighted:]): 2772 implementation of WebMultipleTextMatches protocol method, does nothing useful here because we don't 2773 support inline highlighting of matches in PDF documents 2774 (-[WebPDFView markedTextMatchesAreHighlighted]): 2775 implementation of WebMultipleTextMatches protocol method 2776 (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]): 2777 implementation of WebMultipleTextMatches protocol method; calls _nextMatchFor:::: in a loop until 2778 entire document is searched or limit is hit; records results by saving PDFSelections in textMatches ivar 2779 (-[WebPDFView unmarkAllTextMatches]): 2780 implementation of WebMultipleTextMatches protocol method; clears saved textMatches 2781 (-[WebPDFView rectsForTextMatches]): 2782 implementation of WebMultipleTextMatches protocol method; converts saved PDFSelections into NSValue 2783 objects that represent NSRects 2784 (-[WebPDFView _clipViewForPDFDocumentView]): 2785 new helper method to find the clip view whose bounds determine the current scroll position 2786 (-[WebPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]): 2787 new helper method, extracted from searchFor::::: 2788 (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]): 2789 new notification callback; tells webView's delegate when document has scrolled 2790 (-[WebPDFView _setTextMatches:]): 2791 new helper method, stores value in ivar 2792 2793 2007-06-26 Oliver Hunt <oliver (a] apple.com> 2794 2795 Reviewed by Maciej. 2796 2797 Hopefully fix remainder of the IME issues on Mac. 2798 We now assume that the IME silently consumes any event given 2799 to it during text composition, and only override this assumption 2800 if the NSTextInput or NSResponder callbacks are made. 2801 2802 This prevents us from treating those events that the IME has 2803 consumed internally (eg. candidate window navigation) as unhandled 2804 events that should be bubbled. 2805 2806 This fixes: 2807 <rdar://problem/5107538> Major problems handling key press event with non-english Input Methods 2808 <rdar://problem/4196249> REGRESSION: Mail: Inputting space (U+0020) with IM deletes subsequent line breaks on Mail.app 2809 <rdar://problem/5015544> REGRESSION: Reverse conversion keyboard command does not work in Safari. 2810 <rdar://problem/5045121> REGRESSION: Inline is confirmed after press left/right arrow keys, happens in Mail but not in TextEdit. 2811 <rdar://problem/5076807> REGRESSION: Can't undo conversion of inline text (by hitting ESC) 2812 <rdar://problem/5085781> REGRESSION: Active input area lost "selected" highlight 2813 <rdar://problem/5094200> space key pressed to close the associated words candidate window gets inserted as text 2814 <rdar://problem/5228294> Candidate item for character matrix is sometimes skipped 2815 2816 * WebKit.xcodeproj/project.pbxproj: 2817 * WebView/WebHTMLView.mm: 2818 (-[WebHTMLView launchKeyEvent:]): 2819 (-[WebHTMLView keyDown:]): 2820 (-[WebHTMLView keyUp:]): 2821 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): 2822 (-[WebHTMLView unmarkText]): 2823 (-[WebHTMLView setMarkedText:selectedRange:]): 2824 (-[WebHTMLView doCommandBySelector:]): 2825 (-[WebHTMLView insertText:]): 2826 2827 2007-06-26 Jim Correia <jim.correia (a] pobox.com> 2828 2829 Reviewed by Darin. 2830 2831 Fix http://bugs.webkit.org/show_bug.cgi?id=14411 2832 Bug 14411: WebNetscapePluginPackage overagressively sets CurApRefNum, which affects shipping versions of BBEdit. 2833 <rdar://problem/5297268> 2834 2835 * Plugins/WebNetscapePluginPackage.m: 2836 (+[WebNetscapePluginPackage initialize]): Force the Resource Manager to 2837 lazy initialize, and only set CurApRefNum to the system file if 2838 CurApRefNum is still -1 after that forced lazy initialization. 2839 2840 2007-06-25 Kevin Decker <kdecker (a] apple.com> 2841 2842 Reviewed by Darin. 2843 2844 <rdar://problem/5294036> -[WebView customTextEncodingName] API may return empty string instead of nil 2845 2846 * WebView/WebView.mm: 2847 (-[WebView _mainFrameOverrideEncoding]): Addded the nsStringNilIfEmpty() inline to the data being returned because 2848 our API says "The custom text encoding name or nil if no custom text encoding name has been set." I also verified 2849 the standing Tiger WebKit behavior for this method and it does indeed return nil if a custom encoding wasn't set. 2850 2851 2007-06-25 John Sullivan <sullivan (a] apple.com> 2852 2853 Reviewed by Darin 2854 2855 - WebKit part of <rdar://problem/5293820>, needed to support multiple matches in PDFs 2856 2857 * WebView/WebDocumentInternal.h: 2858 Added WebMultipleTextMatches protocol, containing five methods that were formerly implemented in WebHTMLView 2859 * WebView/WebHTMLViewPrivate.h: 2860 Removed declarations for the methods that are now in WebMultipleTextMatches protocol 2861 2862 * WebView/WebHTMLView.mm: 2863 (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): 2864 moved this method into the WebDocumentInternalProtocols portion of the file 2865 (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): 2866 ditto 2867 (-[WebHTMLView markedTextMatchesAreHighlighted]): 2868 ditto 2869 (-[WebHTMLView unmarkAllTextMatches]): 2870 ditto 2871 (-[WebHTMLView rectsForTextMatches]): 2872 ditto 2873 2874 * WebView/WebView.mm: 2875 (-[WebView canMarkAllTextMatches]): 2876 new method, returns YES only if the documentView of every frame implements WebMultipleTextMatches 2877 (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]): 2878 check for WebMultipleTextMatches protocol instead of checking for WebHTMLView class 2879 (-[WebView unmarkAllTextMatches]): 2880 ditto 2881 (-[WebView rectsForTextMatches]): 2882 ditto 2883 2884 * WebView/WebViewPrivate.h: 2885 declared new method canMarkAllTextMatches 2886 2887 2007-06-25 John Sullivan <sullivan (a] apple.com> 2888 2889 Reviewed by Darin 2890 2891 Fixed <rdar://problem/5292259> Find on Page doesn't work (throws exception) on page that includes PDF in a subframe 2892 2893 * WebView/WebView.mm: 2894 (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]): 2895 We were testing whether the view was an HTMLView, but then running code that assumed it was an HTMLView outside of 2896 that test. That's a bad idea. 2897 2898 2007-06-22 Adele Peterson <adele (a] apple.com> 2899 2900 Reviewed by Geoff and Darin. 2901 2902 Fix for: <rdar://problem/5239236> Other slash characters should not be permitted as part of a domain name 2903 2904 * Misc/WebNSURLExtras.m: 2905 (isSlashOrPeriodLookalike): 2906 (allCharactersInIDNScriptWhiteList): 2907 2908 2007-06-21 Sam Weinig <sam (a] webkit.org> 2909 2910 Reviewed by Antti. 2911 2912 Remove empty directories 2913 2914 * WebInspector/webInspector: directory removed. 2915 * WebInspector/webInspector/Images: directory removed 2916 2917 2007-06-21 Justin Garcia <justin.garcia (a] apple.com> 2918 2919 Reviewed by Tim. 2920 2921 <rdar://problem/5237524> 2922 REGRESSION: Keyboard commands don't work in a message window until you click inside the message 2923 2924 When you open a message in its own window, Mail creates an empty 2925 WebView, makes that WebView firstResponder and then sets off a 2926 load inside that WebView. 2927 2928 When we're asked to create the empty WebView, we put an empty 2929 WebHTMLView inside it (in r21367 we began creating a document 2930 for empty frames). When Mail makes the WebView first responder 2931 we make that empty WebHTMLView firstResponder. Then when the 2932 load finishes we create a new WebHTMLView and set it as the 2933 document view. 2934 2935 Inside _setDocumentView, if the old document view or one of its 2936 descendants was the first responder, we'd makeFirstResponder:nil 2937 so that the window wouldn't be left with a firstResponder that 2938 was no longer inside of it. This change fixes the bug by instead 2939 transferring firstResponder status to the new document view. 2940 2941 We could also fix this by not allowing the WebHTMLView to become 2942 firstResponder when it's in the provisional state mentioned above. 2943 2944 * WebView/WebFrameView.mm: 2945 (-[WebFrameView _setDocumentView:]): 2946 2947 2007-06-21 John Sullivan <sullivan (a] apple.com> 2948 2949 Reviewed by Adele 2950 2951 - fixed <rdar://problem/5268673> REGRESSION: Context menu missing for PDF in frame when there's no selection 2952 2953 This was surprisingly interesting. It turns out that at least for Safari, the method [WebDefaultUIDelegate 2954 webView:contextMenuItemsForElement:defaultMenuItems:] is only exercised from WebPDFView these days. It mimics 2955 some of the code that was moved to WebCore as part of the Great Context Menu Refactoring of 2006, but is 2956 independent of that code. And it was partly broken/incomplete, probably as a result of said refactoring. 2957 2958 * DefaultDelegates/WebDefaultContextMenuDelegate.mm: 2959 (localizedMenuTitleFromAppKit()): 2960 deleted this function since I removed all callers 2961 (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]): 2962 Handle WebMenuItemTagOpenFrameInNewWindow tag, since code later in this file was relying on it. Added 2963 ASSERT_NOT_REACHED to the default case, since returning nil from this method is bad. 2964 Also, use WebKit versions of menu title strings rather than AppKit versions. We added these strings to WebKit 2965 a while back so we don't need to sneakily find them in AppKit anymore. 2966 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): 2967 make the WebView be the target of the Open Frame in New Window item; previously it was self, but that was 2968 just silly (probably a leftover from some code shuffling when context menus were reimplemented) 2969 2970 * WebView/WebView.mm: 2971 (-[WebView _openFrameInNewWindowFromMenu:]): 2972 new method, used by Open Frame in New Window menu item. 2973 2974 * WebView/WebViewInternal.h: 2975 Declare new method used by menu item. This isn't necessary for compilation, but could prevent the accidental 2976 deletion of the method implementation. 2977 2978 2007-06-20 Mark Rowe <mrowe (a] apple.com> 2979 2980 Reviewed by Adam. 2981 2982 Fix http://bugs.webkit.org/show_bug.cgi?id=14255. 2983 Bug 14255: Reproducible crash opening web inspector from debug menu 2984 2985 Reinstate the WebInspector class so WebKit clients that currently depend on it 2986 will build and run correctly. 2987 2988 * WebInspector/WebInspector.h: Added. 2989 * WebInspector/WebInspector.mm: Added. 2990 (+[WebInspector webInspector]): 2991 (-[WebInspector dealloc]): 2992 (-[WebInspector setWebFrame:]): 2993 (-[WebInspector showWindow:]): 2994 * WebKit.exp: 2995 * WebKit.xcodeproj/project.pbxproj: 2996 2997 2007-06-20 Adam Roben <aroben (a] apple.com> 2998 2999 Land the new Inspector. 3000 3001 Co-written with Tim Hatcher. 3002 3003 Reviewed by Anders, Adele, Hyatt, and Sam. 3004 3005 Implement the InspectorClient interface. 3006 3007 * WebCoreSupport/WebInspectorClient.h: Added. 3008 * WebCoreSupport/WebInspectorClient.mm: Added. 3009 (WebInspectorClient::WebInspectorClient): 3010 (WebInspectorClient::inspectorDestroyed): 3011 (WebInspectorClient::createPage): 3012 (WebInspectorClient::showWindow): 3013 (WebInspectorClient::closeWindow): 3014 (WebInspectorClient::attachWindow): 3015 (WebInspectorClient::detachWindow): 3016 (WebInspectorClient::highlight): 3017 (WebInspectorClient::hideHighlight): 3018 (WebInspectorClient::inspectedURLChanged): 3019 (WebInspectorClient::updateWindowTitle): 3020 (-[WebInspectorWindowController init]): 3021 (-[WebInspectorWindowController initWithInspectedWebView:]): 3022 (-[WebInspectorWindowController dealloc]): 3023 (-[WebInspectorWindowController inspectorVisible]): 3024 (-[WebInspectorWindowController webView]): 3025 (-[WebInspectorWindowController window]): 3026 (-[WebInspectorWindowController windowShouldClose:]): 3027 (-[WebInspectorWindowController close]): 3028 (-[WebInspectorWindowController showWindow:]): 3029 (-[WebInspectorWindowController attach]): 3030 (-[WebInspectorWindowController detach]): 3031 (-[WebInspectorWindowController highlightAndScrollToNode:]): 3032 (-[WebInspectorWindowController highlightNode:]): 3033 (-[WebInspectorWindowController hideHighlight]): 3034 (-[WebInspectorWindowController animationDidEnd:]): 3035 3036 Add an easier-to-see highlight. 3037 3038 * Misc/WebNSViewExtras.h: 3039 * Misc/WebNSViewExtras.m: 3040 (-[NSView _web_convertRect:toView:]): 3041 * WebInspector/WebNodeHighlight.h: 3042 * WebInspector/WebNodeHighlight.m: 3043 (-[WebNodeHighlightFadeInAnimation setCurrentProgress:]): 3044 (-[WebNodeHighlight initWithTargetView:]): 3045 (-[WebNodeHighlight setHighlightedNode:]): 3046 (-[WebNodeHighlight highlightedNode]): 3047 (-[WebNodeHighlight dealloc]): 3048 (-[WebNodeHighlight attachHighlight]): 3049 (-[WebNodeHighlight delegate]): 3050 (-[WebNodeHighlight detachHighlight]): 3051 (-[WebNodeHighlight show]): 3052 (-[WebNodeHighlight hide]): 3053 (-[WebNodeHighlight animationDidEnd:]): 3054 (-[WebNodeHighlight ignoresMouseEvents]): 3055 (-[WebNodeHighlight highlightView]): 3056 (-[WebNodeHighlight setDelegate:]): 3057 (-[WebNodeHighlight setHolesNeedUpdateInTargetViewRect:]): 3058 (-[WebNodeHighlight setIgnoresMouseEvents:]): 3059 (-[WebNodeHighlight targetView]): 3060 (-[WebNodeHighlight _computeHighlightWindowFrame]): 3061 (-[WebNodeHighlight _repositionHighlightWindow]): 3062 * WebInspector/WebNodeHighlightView.h: 3063 * WebInspector/WebNodeHighlightView.m: 3064 (-[WebNodeHighlightView initWithWebNodeHighlight:]): 3065 (-[WebNodeHighlightView dealloc]): 3066 (-[WebNodeHighlightView detachFromWebNodeHighlight]): 3067 (-[WebNodeHighlightView drawRect:]): 3068 (-[WebNodeHighlightView webNodeHighlight]): 3069 (-[WebNodeHighlightView fractionFadedIn]): 3070 (-[WebNodeHighlightView setFractionFadedIn:]): 3071 (-[WebNodeHighlightView setHolesNeedUpdateInRect:]): 3072 (-[WebNodeHighlightView _holes]): 3073 3074 WebView changes needed for the new Inspector. 3075 3076 * WebView/WebView.mm: Remove the old _inspectElement method now that 3077 this is handled by WebCore. 3078 (-[WebView _isClosed]): Added. 3079 (-[WebView initWithFrame]): Give each Page an InspectorClient to 3080 enable the Inspector. 3081 * WebView/WebViewPrivate.h: 3082 3083 Updates needed for WebCore changes. 3084 3085 * WebCoreSupport/WebContextMenuClient.h: 3086 * WebCoreSupport/WebContextMenuClient.mm: 3087 * WebCoreSupport/WebViewFactory.mm: 3088 (-[WebViewFactory contextMenuItemTagInspectElement]): 3089 * WebView/WebUIDelegatePrivate.h: 3090 3091 Remove old Inspector code. 3092 3093 * WebCoreSupport/WebFrameLoaderClient.mm: 3094 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): 3095 (WebFrameLoaderClient::assignIdentifierToInitialRequest): 3096 (WebFrameLoaderClient::dispatchDidFinishLoading): 3097 * WebInspector/WebInspector.m: Removed. 3098 * WebInspector/WebInspectorPanel.h: Removed. 3099 * WebInspector/WebInspectorPanel.m: Removed. 3100 * WebInspector/webInspector/Images/button.png: Removed. 3101 * WebInspector/webInspector/Images/buttonDivider.png: Removed. 3102 * WebInspector/webInspector/Images/buttonPressed.png: Removed. 3103 * WebInspector/webInspector/Images/close.png: Removed. 3104 * WebInspector/webInspector/Images/closePressed.png: Removed. 3105 * WebInspector/webInspector/Images/downTriangle.png: Removed. 3106 * WebInspector/webInspector/Images/menu.png: Removed. 3107 * WebInspector/webInspector/Images/menuPressed.png: Removed. 3108 * WebInspector/webInspector/Images/popup.png: Removed. 3109 * WebInspector/webInspector/Images/popupPressed.png: Removed. 3110 * WebInspector/webInspector/Images/resize.png: Removed. 3111 * WebInspector/webInspector/Images/rightTriangle.png: Removed. 3112 * WebInspector/webInspector/Images/scrollThumbBottom.png: Removed. 3113 * WebInspector/webInspector/Images/scrollThumbMiddle.png: Removed. 3114 * WebInspector/webInspector/Images/scrollTrackBottom.png: Removed. 3115 * WebInspector/webInspector/Images/upTriangle.png: Removed. 3116 * WebInspector/webInspector/inspector.css: Removed. 3117 * WebInspector/webInspector/inspector.html: Removed. 3118 * WebInspector/webInspector/inspector.js: Removed. 3119 * WebInspector/webInspector/scrollarea.js: Removed. 3120 * WebInspector/webInspector/scrollbar.js: Removed. 3121 * WebInspector/webInspector/utilities.js: Removed. 3122 * WebView/WebFrame.mm: 3123 (-[WebFramePrivate dealloc]): 3124 * WebView/WebFrameInternal.h: 3125 * WebView/WebHTMLView.mm: 3126 (-[WebHTMLView menuForEvent:]): 3127 3128 Build-fu: 3129 3130 * WebKit.exp: 3131 * WebKit.xcodeproj/project.pbxproj: 3132 3133 2007-06-20 Justin Garcia <justin.garcia (a] apple.com> 3134 3135 Reviewed by Darin. 3136 3137 <rdar://problem/5263541> REGRESSION (Safari 3 Beta 1): Pressing Delete doesn't delete an HTML message in Mail 3138 3139 Mail wasn't receiving the keyDown event because WebFrameView was blocking it. 3140 It blocks the event and moves back/forward on Delete/Shift+Delete if the 3141 back/forward list is enabled. 3142 3143 * WebView/WebFrameView.mm: 3144 (-[WebFrameView keyDown:]): Check to see if the BackForwardList is 3145 enabled. It always exists. 3146 3147 2007-06-19 Anders Carlsson <andersca (a] apple.com> 3148 3149 Reviewed by Kevin Decker. 3150 3151 <rdar://problem/5266289> REGRESSION (Safari 3 Beta 1): Incoming iChat messages are delayed 3152 3153 * WebView/WebDocumentLoaderMac.mm: 3154 (needsAppKitWorkaround): 3155 New function which checks if the frame load delegate belongs to AppKit. 3156 3157 (WebDocumentLoaderMac::setDataSource): 3158 If the frame load delegate belongs to AppKit, set m_deferMainResourceDataLoad to false. 3159 3160 2007-06-19 John Sullivan <sullivan (a] apple.com> 3161 3162 Reviewed by Tim Hatcher 3163 3164 - fixed <rdar://problem/5272011> Hole for find-on-page match in subframe isn't clipped by frame bounds 3165 3166 * WebView/WebView.mm: 3167 (-[WebView rectsForTextMatches]): 3168 intersect the HTMLView's computed rect with the visible rect for that view 3169 3170 2007-06-19 Jim Correia <jim.correia (a] pobox.com> 3171 3172 Reviewed by Kevin Decker 3173 3174 * Carbon/HIWebView.m: 3175 (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. 3176 3177 2007-06-18 Sam Weinig <sam (a] webkit.org> 3178 3179 Reviewed by Beth. 3180 3181 Build fix. 3182 3183 * WebCoreSupport/WebChromeClient.mm: 3184 3185 2007-06-18 Kevin Decker <kdecker (a] apple.com> 3186 3187 * Carbon/HIWebView.m: 3188 (WindowHandler): Fixed the Tiger build; ControlKind wasn't defined. 3189 3190 2007-06-18 Kevin Decker <kdecker (a] apple.com> 3191 3192 Reviewed by Tim Hatcher. 3193 3194 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 3195 3196 * Carbon/HIWebView.m: 3197 (WindowHandler): Because the fix for 5051616 causes Tiger to crash in HIToolbox (but not on Leopard), I reverted back to using GetControlKind 3198 on Tiger only, instead of HIObjectIsOfClass. 3199 3200 2007-06-16 David Hyatt <hyatt (a] apple.com> 3201 3202 Back out fix for 13972. Quicktime will no longer clip correctly. :( 3203 Too many regressions in Mail caused by inserting an extra view into the 3204 hierarchy. Can revisit later. 3205 3206 Reviewed by olliej 3207 3208 * Plugins/WebPluginController.mm: 3209 (-[WebPluginController destroyPlugin:]): 3210 (-[WebPluginController destroyAllPlugins]): 3211 * WebCoreSupport/WebFrameBridge.mm: 3212 (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]): 3213 * WebView/WebHTMLView.mm: 3214 (-[WebHTMLView addSubview:]): 3215 (-[WebHTMLView willRemoveSubview:]): 3216 3217 2007-06-15 Sam Weinig <sam (a] webkit.org> 3218 3219 Reviewed by Darin. 3220 3221 Patch for http://bugs.webkit.org/show_bug.cgi?id=14053 3222 Autogenerate JS binding for Rect 3223 3224 - Fix conflicts by using ::Rect instead of Rect. 3225 3226 * Plugins/WebBaseNetscapePluginView.mm: 3227 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): 3228 (-[WebBaseNetscapePluginView sendEvent:]): 3229 (-[WebBaseNetscapePluginView tellQuickTimeToChill]): 3230 (-[WebBaseNetscapePluginView invalidateRegion:]): 3231 (-[WebBaseNetscapePluginView _printedPluginBitmap]): 3232 3233 2007-06-15 Anders Carlsson <andersca (a] apple.com> 3234 3235 Reviewed by Kevin. 3236 3237 A better fix for <rdar://problem/5271774>. Only try to access the element if the 3238 view has an associated window. This also works with GC. (Fix suggested by Kevin.) 3239 3240 * Plugins/WebKitPluginContainerView.mm: 3241 (-[WebKitPluginContainerView dealloc]): 3242 (-[WebKitPluginContainerView visibleRect]): 3243 3244 2007-06-15 Anders Carlsson <andersca (a] apple.com> 3245 3246 Reviewed by Kevin. 3247 3248 <rdar://problem/5271774> REGRESSION: A crash occurs when closing a window that contains a QT movie 3249 3250 In some cases, calling [super dealloc] might end up calling visibleRect, so make sure to 3251 set _element to 0 so we won't send a message to a freed object and crash. 3252 3253 * Plugins/WebKitPluginContainerView.mm: 3254 (-[WebKitPluginContainerView dealloc]): 3255 (-[WebKitPluginContainerView visibleRect]): 3256 3257 2007-06-14 Anders Carlsson <andersca (a] apple.com> 3258 3259 Reviewed by Geoff. 3260 3261 Call cleanupScriptObjectsForPlugin on the frame after destroying the plug-in. 3262 3263 * Plugins/WebBaseNetscapePluginView.mm: 3264 (-[WebBaseNetscapePluginView _destroyPlugin]): 3265 * Plugins/WebPluginController.mm: 3266 (-[WebPluginController destroyPlugin:]): 3267 (-[WebPluginController destroyAllPlugins]): 3268 3269 2007-06-13 John Sullivan <sullivan (a] apple.com> 3270 3271 Reviewed by Adele Peterson 3272 3273 - fixed <rdar://problem/5267607> Clicking the "Save to Downloads" button in 3274 PDF overlay too soon results in corrupt file 3275 3276 * WebView/WebPDFView.mm: 3277 (-[WebPDFView PDFViewSavePDFToDownloadFolder:]): 3278 Just beep if the document isn't available yet, since trying to save it as a file 3279 really isn't a good idea. 3280 3281 2007-06-12 Oliver Hunt <oliver (a] apple.com> 3282 3283 Reviewed by Darin. 3284 3285 Use correct size for BITMAPINFOHEADER -- whoops. 3286 3287 * win/WebIconDatabase.cpp: 3288 (createDIB): 3289 (WebIconDatabase::getOrCreateDefaultIconBitmap): 3290 3291 2007-06-10 David Hyatt <hyatt (a] apple.com> 3292 3293 Fix for bug 14037, make sure respondsToSelector does the write thing 3294 when invoked on a WebKit plugin's container view. 3295 3296 Reviewed by Mark Rowe 3297 3298 * Plugins/WebKitPluginContainerView.mm: 3299 (-[WebKitPluginContainerView respondsToSelector:]): 3300 3301 2007-06-08 John Sullivan <sullivan (a] apple.com> 3302 3303 * WebView/WebViewPrivate.h: 3304 Added a FIXME 3305 3306 2007-06-07 Justin Garcia <justin.garcia (a] apple.com> 3307 3308 Reviewed by Tristan. 3309 3310 <rdar://problem/5250997> A crash occurs when selecting Undo Typing for a page that has been closed in tab 3311 3312 * WebView/WebView.mm: 3313 (-[WebView _clearUndoRedoOperations]): Added. 3314 * WebView/WebViewPrivate.h: 3315 3316 2007-06-07 Oliver Hunt <oliver (a] apple.com> 3317 3318 Reviewed by Sam "The Intern" Weinig. 3319 3320 Don't be overzealous with the input checks, firstRectForCharacterRange 3321 can be determined even when there is not an active editable region. 3322 3323 This unbreaks editing/input/range-for-empty-document which was broken 3324 by aforementioned overzealousness. 3325 3326 * WebView/WebHTMLView.mm: 3327 (-[WebHTMLView firstRectForCharacterRange:]): 3328 3329 2007-06-07 Oliver Hunt <oliver (a] apple.com> 3330 3331 Reviewed by Justin. 3332 3333 Add checks to make sure we don't try to create, use 3334 or return invalid ranges to TSM when it calls us despite 3335 not currently being in an editable region. 3336 3337 * WebView/WebHTMLView.mm: 3338 (isTextInput): 3339 (-[WebHTMLView textStorage]): 3340 (-[WebHTMLView firstRectForCharacterRange:]): 3341 (-[WebHTMLView selectedRange]): 3342 (-[WebHTMLView attributedSubstringFromRange:]): 3343 3344 2007-06-06 David Hyatt <hyatt (a] apple.com> 3345 3346 Make sure to hand back a script object for webkit plugins (the container 3347 view forwards to its plugin child). 3348 3349 Reviewed by sullivan 3350 3351 * Plugins/WebKitPluginContainerView.h: 3352 * Plugins/WebKitPluginContainerView.mm: 3353 (-[WebKitPluginContainerView objectForWebScript]): 3354 3355 2007-06-06 David Hyatt <hyatt (a] apple.com> 3356 3357 Fix for bug 13972, quicktime doesn't respect CSS clip and overflow properties. 3358 Make sure that calls to [NSView visibleRect] will do the right thing for both 3359 Netscape plugins and WebKit plugins. 3360 3361 Reviewed by olliej 3362 3363 * Plugins/WebBaseNetscapePluginView.mm: 3364 (-[WebBaseNetscapePluginView visibleRect]): 3365 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): 3366 (-[WebBaseNetscapePluginView isOpaque]): 3367 * Plugins/WebKitPluginContainerView.h: Added. 3368 * Plugins/WebKitPluginContainerView.mm: Added. 3369 (-[WebKitPluginContainerView initWithFrame:DOMElement:]): 3370 (-[WebKitPluginContainerView dealloc]): 3371 (-[WebKitPluginContainerView visibleRect]): 3372 * Plugins/WebPluginController.mm: 3373 (-[WebPluginController destroyAllPlugins]): 3374 * WebCoreSupport/WebFrameBridge.mm: 3375 (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]): 3376 * WebKit.xcodeproj/project.pbxproj: 3377 * WebView/WebHTMLView.mm: 3378 (-[WebHTMLView addSubview:]): 3379 (-[WebHTMLView willRemoveSubview:]): 3380 3381 2007-06-04 Oliver Hunt <oliver (a] apple.com> 3382 3383 Reviewed by Geoff and Justin. 3384 3385 Fix for <rdar://problem/5246941> Clicking URL field on 3386 Safari causes halt for a minute when using input methods. 3387 and <rdar://problem/5245964> Safari hangs for several 3388 seconds when trying to select text using mouse 3389 3390 This is a by product of the textStorage hack used to fix 3391 rdar://problem/5000470 -- TSM calls textStorage repeatedly 3392 when changing focus, on certain mouse events, etc. If there 3393 is no selection/editable region we repeatedly create an 3394 NSAttributedString from the full document. If the document is 3395 sufficiently long this starts consuming an inordinate amount of 3396 time. 3397 3398 This check should really have been present in the original 3399 patch. 3400 3401 * WebKit.xcodeproj/project.pbxproj: 3402 * WebView/WebHTMLView.mm: 3403 (-[WebHTMLView textStorage]): 3404 3405 2007-05-31 David Hyatt <hyatt (a] apple.com> 3406 3407 Fix for 11768, Flash plugin does not respect clips set by CSS. 3408 3409 Reviewed by olliej 3410 3411 * Plugins/WebBaseNetscapePluginView.mm: 3412 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): 3413 3414 2007-05-30 Mark Rowe <mrowe (a] apple.com> 3415 3416 Build fixes after r21889. 3417 3418 * ForwardingHeaders/kjs/function.h: Added. 3419 3420 2007-05-29 Mark Rowe <mrowe (a] apple.com> 3421 3422 Reviewed by Geoff. 3423 3424 64-bit build fix. Ensure that use of WebNSUInteger in headers is matched by WebNSUInteger in implementations. 3425 3426 * DefaultDelegates/WebScriptDebugServer.h: 3427 * DefaultDelegates/WebScriptDebugServer.m: 3428 (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]): 3429 (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]): 3430 * DefaultDelegates/WebScriptDebugServerPrivate.h: 3431 * History/WebBackForwardList.mm: 3432 (-[WebBackForwardList setPageCacheSize:]): 3433 (-[WebBackForwardList pageCacheSize]): 3434 * WebView/WebView.mm: 3435 (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]): 3436 3437 2007-05-26 Darin Adler <darin (a] apple.com> 3438 3439 Reviewed by Tim Hatcher. 3440 3441 * MigrateHeaders.make: Added dependency on this makefile itself, which is 3442 useful when you change the sed command or other aspect of this file. My build 3443 failed until I made this fix. 3444 3445 2007-05-25 Geoffrey Garen <ggaren (a] apple.com> 3446 3447 Reviewed by Darin Adler. 3448 3449 Fixed <rdar://problem/5055182> The page cache has no global cap. 3450 3451 The main WebKit changes are: 3452 1. Changed -[WebBackForwardList setPageCacheSize] and -[WebBackForwardList 3453 pageCacheSize] to accomodate the new global page cache model, updating 3454 their documentation. 3455 3456 2. Added -[WebPreferences setShouldUsePageCache] and -[WebPreferences 3457 shouldUsePageCache] as pending public API. 3458 3459 3. Centralized calculation of object cache and page cache sizes inside 3460 WebPreferences. 3461 3462 Cchanged our old behavior of reading a preference and applying a fudge 3463 factor with a new behavior of just using the preference directly. The 3464 old behavior was confusing and often inappropriate. (For example, if 3465 you set a page cache size of 100, a 256MB machine would somewhat 3466 arbitrarily reduce that number to 98. ???) 3467 3468 * WebView/WebView.mm: Added support for two flags to determine whether 3469 to use the page cache. If either -[WebBackForwardList setPageCacheSize:0] 3470 or -[WebPreferences setShouldUsePageCache:NO] is called, we don't use 3471 the page cache. 3472 3473 2007-05-25 Timothy Hatcher <timothy (a] apple.com> 3474 3475 Reviewed by Kevin Decker. 3476 3477 <rdar://problem/5219089> Changes for migration of DictionaryServices 3478 3479 * WebView/WebHTMLView.mm: 3480 (-[WebHTMLView _lookUpInDictionaryFromMenu:]): look for the HIDictionaryWindowShow symbol in HIToolbox 3481 3482 2007-05-25 Geoffrey Garen <ggaren (a] apple.com> 3483 3484 Reviewed by Oliver Hunt. 3485 3486 Fixed global initializer (like you fix a dog). 3487 3488 I'm not sure how our script missed this. I tested, and it generally doesn't 3489 seem to work very well. 3490 3491 * WebView/WebHTMLView.mm: Allocate lazily to avoid the performance hit of 3492 a global initializer. 3493 (promisedDataClient): 3494 (-[WebHTMLViewPrivate dealloc]): 3495 (-[WebHTMLViewPrivate clear]): 3496 (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]): 3497 3498 2007-05-25 Brady Eidson <beidson (a] apple.com> 3499 3500 Reviewed by Darin 3501 3502 <rdar://problem/5228371> - REGRESSION - Certain mail message bodies display as empty 3503 3504 This is due to http://trac.webkit.org/projects/webkit/changeset/21480 which unintentionally 3505 made applewebdata urls result in check.call(false) instead of check.call(true) 3506 3507 Best place for a fix is to have the FrameLoaderClient::canHandleRequest() call return true, which 3508 really is rooted in WebView 3509 3510 <rdar://problem/5229587> tracks adding a layout test 3511 3512 * WebView/WebView.mm: 3513 (+[WebView _canHandleRequest:]): Return true for applewebdata URLs 3514 3515 2007-05-25 Geoffrey Garen <ggaren (a] apple.com> 3516 3517 Reviewed by Darin Adler, Tim Hatcher. 3518 3519 "unsigned" => "WebNSUInteger" in public API. 3520 3521 * History/WebBackForwardList.h: 3522 * WebView/WebScriptDebugDelegate.h: 3523 * WebView/WebUIDelegate.h: 3524 * WebView/WebViewPrivate.h: 3525 3526 2007-05-25 Geoffrey Garen <ggaren (a] apple.com> 3527 3528 Reviewed by Darin Adler. 3529 3530 Moved JavaScriptCore-related pending public API to public API. 3531 3532 * MigrateHeaders.make: Hack to prevent <JavaScriptCore/JSBase.h> from 3533 automatically converting to <WebKit/JSBase.h> 3534 3535 Moved -windowObject and -globalContext 3536 3537 * WebView/WebFramePrivate.h: from here 3538 * WebView/WebFrame.h: to here 3539 * WebView/WebFrame.mm: and out of its temporary category 3540 3541 Moved -didClearWindowObject:forFrame: 3542 3543 * WebView/WebViewPrivate.h: from here 3544 * WebView/WebFrameLoadDelegate.h: to here 3545 3546 2007-05-25 John Sullivan <sullivan (a] apple.com> 3547 3548 Reviewed by Anders and Tim 3549 3550 - fixed <rdar://problem/5226000> REGRESSION: In Gmail and Mail, a hang occurs when attempting 3551 to grammar/spellcheck a word in a reply 3552 3553 * WebCoreSupport/WebEditorClient.mm: 3554 (WebEditorClient::checkGrammarOfString): 3555 Fixed recently-introduced false assumption that NSNotFound == -1 3556 3557 2007-05-24 dethbakin <bdakin (a] apple.com> 3558 3559 Reviewed by Geoff. 3560 3561 Fix for <rdar://problem/5023545> QuickBooks Pro 2007:hang/crash 3562 after closing QuickBooks Tutorial Center with Leopard9A377 3563 3564 We can hit a race condition where drawRect will be called after the 3565 WebView has closed. Quickbooks does not properly close the WebView 3566 and set the UIDelegate to nil, so the UIDelegate is stale and we 3567 crash. This is a regression because the code that uses the 3568 UIDelegate in the drawRect code path was only added recently. The 3569 method that the UIDelegate calls into is new -- it does not exist 3570 on Tiger -- so there is no harm in not running this code for 3571 applications linked against older WebKits. Other applications may 3572 run into this same bug so I am not doing a bundle 3573 check...particularly because, as I mentioned, the new UIDelegate 3574 call would not be implemented by older clients anyway. 3575 3576 * Misc/WebKitVersionChecks.h: 3577 * WebView/WebHTMLView.mm: 3578 (-[WebHTMLView drawSingleRect:]): 3579 3580 2007-05-24 Darin Adler <darin (a] apple.com> 3581 3582 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 3583 3584 2007-05-24 Oliver Hunt <oliver (a] apple.com> 3585 3586 Reviewed by Adam, Darin, and Geoff. 3587 3588 Fix for <rdar://problem/5000470> REGRESSION: The IM reconvert 3589 function returns incorrect symbol due to inconsistent range 3590 domains in TSM 3591 3592 Text Services Management uses ranges provided by the 3593 NSTextInput API to index into the string return by 3594 -[WebHTMLView string]. As a result some input methods 3595 incorrectly get their candidate text from the beginning 3596 of the document instead of from the input element. 3597 3598 TSM prefers to query -textStorage over -string so as a 3599 workaround we provide an implementation of -textStorage that 3600 returns the content of the current text input. TSM only ever 3601 queries the result of textStorage as an NSAttributedString so 3602 we do not need to implement a fake NSTextStorage class 3603 3604 This should not cause harm to anything else as textStorage is 3605 actually a method on NSTextView, which we clearly are not. TSM 3606 only queries the method because it uses respondsToSelector to 3607 control behaviour. 3608 3609 * WebView/WebHTMLView.mm: 3610 (-[WebHTMLView textStorage]): 3611 3612 3613 2007-05-24 David Harrison <harrison (a] apple.com> 3614 3615 Reviewed by Tim Hatcher. 3616 3617 <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() 3618 3619 _private->loader->frameLoader() was not being nil checked. 3620 * WebView/WebDataSource.mm: 3621 (-[WebDataSource request]): 3622 Add nil check for _private->loader->frameLoader() 3623 3624 2007-05-23 Anders Carlsson <andersca (a] apple.com> 3625 3626 Reviewed by Geoff. 3627 3628 <rdar://problem/3663808> Resize large images to fit in the browser window 3629 3630 Add new WebPreferences SPI. 3631 3632 * WebView/WebPreferenceKeysPrivate.h: 3633 * WebView/WebPreferences.m: 3634 (+[WebPreferences initialize]): 3635 (-[WebPreferences enableAutomaticImageResizing]): 3636 (-[WebPreferences setEnableAutomaticImageResizing:]): 3637 * WebView/WebPreferencesPrivate.h: 3638 * WebView/WebView.mm: 3639 (-[WebView _updateWebCoreSettingsFromPreferences:]): 3640 3641 2007-05-23 Sam Weinig <sam (a] webkit.org> 3642 3643 Reviewed by Darin. 3644 3645 Patch for http://bugs.webkit.org/show_bug.cgi?id=13830 3646 Auto-generate JS DOM bindings for HTMLDocument and most of the rest 3647 of HTMLElement 3648 3649 * MigrateHeaders.make: add DOMHTMLDocumentPrivate.h 3650 * WebKit.xcodeproj/project.pbxproj: 3651 3652 2007-05-23 Oliver Hunt <oliver (a] apple.com> 3653 3654 Reviewed by Geoff. 3655 3656 Fix for <rdar://problem/5223782> REGRESSION: Can't drag and drop a standalone image 3657 3658 The main resource for a standalone image webarchive has the same mimetype as the 3659 underlying image. 3660 3661 * Misc/WebNSPasteboardExtras.mm: 3662 (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]): 3663 3664 2007-05-22 Sam Weinig <sam (a] webkit.org> 3665 3666 Reviewed by Adam. 3667 3668 Patch for http://bugs.webkit.org/show_bug.cgi?id=13833 3669 Add ObjC DOM binding for HTMLMarqeeElement 3670 3671 - Also adds missing DOMHTMLFramePrivate. 3672 3673 * MigrateHeaders.make: 3674 3675 2007-05-22 Darin Adler <darin (a] apple.com> 3676 3677 Reviewed by Geoff. 3678 3679 * WebInspector/webInspector/treeoutline.js: Use ownerDocument instead of non-standard 3680 document property. 3681 3682 2007-05-22 Adele Peterson <adele (a] apple.com> 3683 3684 Reviewed by Darin. 3685 3686 Adding some asserts to help detect other cases of <rdar://problem/5171145> 3687 3688 * WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge makeFirstResponder:]): 3689 3690 2007-05-22 Brady Eidson <beidson (a] apple.com> 3691 3692 Reviewed by Kevin (Sarge) 3693 3694 <rdar://problem/5219885> - Crash after closing a inline popup ad at http://news.yahoo.com/ 3695 3696 This regressed in http://trac.webkit.org/projects/webkit/changeset/21618 3697 3698 * WebView/WebFrame.mm: 3699 (-[WebFrame dataSource]): Null check the frameloader 3700 3701 2007-05-21 Adele Peterson <adele (a] apple.com> 3702 3703 Fix by Darin, reviewed by me. 3704 3705 Fix for <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts 3706 3707 * WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): If the old view is the first responder, 3708 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. 3709 3710 2007-05-21 Brady Eidson <beidson (a] apple.com> 3711 3712 Making the importance of my last change more clear 3713 3714 * WebView/WebViewPrivate.h: "Leave for Dashboard, people!" 3715 3716 2007-05-21 Brady Eidson <beidson (a] apple.com> 3717 3718 Reviewed by Kevin (Sarge) 3719 3720 <rdar://problem/5217124> - Re-add mistakenly removed SPI 3721 3722 * WebView/WebView.mm: 3723 (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]): 3724 * WebView/WebViewPrivate.h: 3725 3726 2007-05-21 Anders Carlsson <andersca (a] apple.com> 3727 3728 Reviewed by Ada. 3729 3730 <rdar://problem/5200816> REGRESSION: With Shiira 1.2.2 , I can't open embedded link in flash object by clicking (http:/www.adobe.com ) 3731 3732 Null check the request. 3733 3734 * WebView/WebView.mm: 3735 (+[WebView _canHandleRequest:]): 3736 3737 2007-05-19 Maciej Stachowiak <mjs (a] apple.com> 3738 3739 Reviewed by Geoff. 3740 3741 <rdar://problem/5205358> REGRESSION (r21367): All messages appear entirely blank when running Mail off of tip of tree WebKit 3742 3743 The fix is to return nil from [WebFrame dataSource] when it has not loaded anything but the fake 3744 empty initial document. However, WebKit still needs the real data source internally, so I also 3745 added a [WebFrame _dataSource] method that skips this check, and made WebKit use it throughout. 3746 3747 * Misc/WebNSAttributedStringExtras.mm: 3748 (fileWrapperForElement): 3749 * Plugins/WebBaseNetscapePluginView.mm: 3750 (-[WebBaseNetscapePluginView dataSource]): 3751 * Plugins/WebNullPluginView.mm: 3752 (-[WebNullPluginView viewDidMoveToWindow]): 3753 * Plugins/WebPluginController.mm: 3754 (-[WebPluginController URLPolicyCheckReferrer]): 3755 * WebCoreSupport/WebFrameBridge.mm: 3756 (-[WebFrameBridge dataSource]): 3757 (-[WebFrameBridge redirectDataToPlugin:]): 3758 * WebCoreSupport/WebFrameLoaderClient.mm: 3759 (WebFrameLoaderClient::makeDocumentView): 3760 (WebFrameLoaderClient::forceLayoutForNonHTML): 3761 (WebFrameLoaderClient::prepareForDataSourceReplacement): 3762 (WebFrameLoaderClient::canCachePage): 3763 * WebCoreSupport/WebViewFactory.mm: 3764 (-[WebViewFactory bridgeForView:]): 3765 * WebKit.xcodeproj/project.pbxproj: 3766 * WebView/WebArchiver.mm: 3767 (+[WebArchiver archiveFrame:]): 3768 (+[WebArchiver archiveMainResourceForFrame:]): 3769 (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]): 3770 (+[WebArchiver archiveSelectionInFrame:]): 3771 * WebView/WebFrame.mm: 3772 (-[WebFrame _loadURL:referrer:intoChild:]): 3773 (-[WebFrame _addChild:]): 3774 (-[WebFrame _dataSource]): 3775 (-[WebFrame DOMDocument]): 3776 (-[WebFrame dataSource]): 3777 * WebView/WebFrameInternal.h: 3778 * WebView/WebHTMLView.mm: 3779 (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): 3780 * WebView/WebRenderNode.mm: 3781 (-[WebRenderNode initWithWebFrameView:]): 3782 * WebView/WebView.mm: 3783 (-[WebView _mainFrameOverrideEncoding]): 3784 (-[WebView mainFrameURL]): 3785 (-[WebView mainFrameTitle]): 3786 (-[WebView mainFrameIcon]): 3787 (-[WebView validateUserInterfaceItemWithoutDelegate:]): 3788 (-[WebView replaceSelectionWithArchive:]): 3789 (-[WebView _isLoading]): 3790 (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]): 3791 (-[WebView _notifyTextSizeMultiplierChanged]): 3792 3793 2007-05-18 Oliver Hunt <oliver (a] apple.com> 3794 3795 Reviewed by Sam. 3796 3797 Fix for http://bugs.webkit.org/show_bug.cgi?id=13782 3798 REGRESSION (r21528-r21533): Failing editing/selection/drag-in-iframe in pixel mode 3799 3800 r21533 made used a DOMElement as the source for promise data, this meant it had to 3801 clear the dragging pasteboard following the drag. In DRT a drag is non-blocking 3802 so this resulted in us prematurely clearing the pasteboard. 3803 3804 This patch avoids this problem by referencing the source CachedImage rather than the 3805 DOMElement, so we don't need to worry about retaining an entire document forever, so 3806 we don't need to clear the dragging pasteboard following the drag. 3807 3808 * Misc/WebNSPasteboardExtras.mm: 3809 (imageFromElement): 3810 Extract the underlying CachedImage from a DOMElement 3811 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]): 3812 Use a CachedImage instead of a DOMElement 3813 3814 * WebCoreSupport/WebDragClient.mm: 3815 (WebDragClient::startDrag): 3816 3817 * WebKit.xcodeproj/project.pbxproj: 3818 3819 * WebView/WebHTMLView.mm: 3820 (-[WebHTMLViewPrivate dealloc]): 3821 (-[WebHTMLViewPrivate clear]): 3822 (-[WebHTMLView pasteboardChangedOwner:]): 3823 (-[WebHTMLView pasteboard:provideDataForType:]): 3824 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): 3825 (-[WebHTMLView WebCore::]): 3826 (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]): 3827 Use CachedImage rather than DOMElement as promised data source 3828 3829 * WebView/WebHTMLViewInternal.h: 3830 * WebView/WebHTMLViewPrivate.h: 3831 3832 2007-05-18 Tristan O'Tierney <tristan (a] apple.com> 3833 3834 Reviewed by Brady E. 3835 3836 * WebCoreSupport/WebFrameLoaderClient.mm: 3837 (WebFrameLoaderClient::download): 3838 asked the webframeloaderclient for its webview's history and 3839 injected the originated url into the created WebDownload 3840 3841 2007-05-18 John Sullivan <sullivan (a] apple.com> 3842 3843 Reviewed by Kevin Decker 3844 3845 Improvement to WebKit part of fix for 5201499 based on more modern understanding. (That is, 3846 a couple of hours more modern.) 3847 3848 * WebView/WebUIDelegatePrivate.h: 3849 add showPanel: parameter to just-introduced delegate method webView:saveFrameView: 3850 3851 * WebView/WebPDFView.mm: 3852 (-[WebPDFView PDFViewSavePDFToDownloadFolder:]): 3853 pass NO for new showPanel: parameter, and update comment 3854 3855 2007-05-18 Maciej Stachowiak <mjs (a] apple.com> 3856 3857 Reviewed by John. 3858 3859 <rdar://problem/5204792> REGRESSION (r21367): System widgets are drawn with vertical/horizontal scroll bars 3860 3861 No test because the bug requires calling setAllowsScrolling: to reproduce. 3862 3863 * WebView/WebFrameView.mm: 3864 (-[WebFrameView setAllowsScrolling:]): Update the FrameView's scroll state as well as the one 3865 on WebDynamicScrollBarsView, otherwise this setting won't stick if the frame has already loaded 3866 a document. 3867 3868 2007-05-18 Geoffrey Garen <ggaren (a] apple.com> 3869 3870 Fixed spelling error. 3871 3872 * WebView/WebViewPrivate.h: 3873 3874 2007-05-18 John Sullivan <sullivan (a] apple.com> 3875 3876 Reviewed by Kevin Decker 3877 3878 WebKit part of fix for 5201499 (support for PDFKit UI for saving PDFs to disk) 3879 3880 Also, the PDFKit mechanism for notifying clients about "Open File Externally" was 3881 changed from a notification to a delegate method. The notification was new to 3882 Leopard, so removing it doesn't affect clients in the field. 3883 3884 * WebView/WebUIDelegatePrivate.h: 3885 Declared new UI delegate method webView:saveFrameView:, analogous to the existing 3886 webView:printFrameView: 3887 3888 * WebView/WebPDFView.mm: 3889 removed declaration of _webkit_PDFKitLaunchNotification 3890 (-[WebPDFView viewDidMoveToWindow]): 3891 don't observe _webkit_PDFKitLaunchNotification 3892 (-[WebPDFView viewWillMoveToWindow:]): 3893 ditto 3894 (-[WebPDFView PDFViewOpenPDFInNativeApplication:]): 3895 new PDFKit delegate method, replaces our use of _webkit_PDFKitLaunchNotification 3896 (-[WebPDFView PDFViewSavePDFToDownloadFolder:]): 3897 new PDFKit delegate method, calls through to new WebKit UI delegate method 3898 3899 2007-05-17 Oliver Hunt <oliver (a] apple.com> 3900 3901 Reviewed by Justin. 3902 3903 Fix for <rdar://problem/4244861> Safari fails to create image file 3904 after releasing dragged image that has changed on source page 3905 3906 This patch fixes this bug by manually creating an NSFileWrapper from 3907 the TIFF promise data for a drag if it is available. This bypasses 3908 the problem of the required resource no longer being held due to page 3909 loads or other constraints. 3910 3911 We need to leave the old path in place to allow for the case where 3912 the promised data is not available. 3913 3914 * WebCoreSupport/WebDragClient.mm: 3915 (WebDragClient::declareAndWriteDragImage): 3916 Always use the top WebHTMLView as the pasteboard owner, this is 3917 safe as we only use the owner for resolving promised types. 3918 * WebView/WebHTMLView.mm: 3919 (-[WebHTMLView _writeSelectionToPasteboard:]): 3920 (-[WebHTMLView writeSelectionToPasteboard:types:]): 3921 Always use the top WebHTMLView as the pasteboard owner. 3922 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): 3923 Add path to create NSFileWrapper from promise data. 3924 3925 2007-05-17 Oliver Hunt <oliver (a] apple.com> 3926 3927 Reviewed by Adam. 3928 3929 Fix for <rdar://problem/4343832> Trying to drag a large 6.2MB jpeg image 3930 out of Safari is unexpectedly slow (4 copies of image plus RTF document on pasteboard) 3931 3932 This patch causes the construction of the RTF and TIFF data to be delayed until requested. 3933 3934 We delay TIFF construction from a DOMElement as this may require generating TIFF data 3935 from the CachedImage, which is slow. To allow the TIFF data to be created later the 3936 it's necessary to add a reference to the source DOMElement to the view. 3937 3938 * Misc/WebNSPasteboardExtras.h: 3939 * Misc/WebNSPasteboardExtras.mm: 3940 (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]): 3941 Implements the delayed write of RTF data 3942 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]): 3943 Set up the pasteboard to allow the data writing to be delayed 3944 (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]): 3945 Now we need to pass the WebHTMLView on to _web_writeImage:element:URL:title:archive:types:source: 3946 * WebCoreSupport/WebDragClient.mm: 3947 (WebDragClient::startDrag): 3948 Clear the dragging pasteboard once the drag has ended to ensure we don't hold references 3949 to anything longer than we need to. 3950 (WebDragClient::declareAndWriteDragImage): 3951 3952 * WebView/WebHTMLView.mm: 3953 (-[WebHTMLViewPrivate dealloc]): 3954 (-[WebHTMLViewPrivate clear]): 3955 (-[WebHTMLView pasteboardChangedOwner:]): 3956 Make sure we clear out the DOMElement reference once it is no longer needed 3957 (-[WebHTMLView pasteboard:provideDataForType:]): 3958 Provide delayed data 3959 (-[WebHTMLView _writeSelectionToPasteboard:]): 3960 Make sure we set pasteboard ownership correctly 3961 (-[WebHTMLView promisedDragTIFFDataSource]): 3962 (-[WebHTMLView setPromisedDragTIFFDataSource:]): 3963 (-[WebHTMLView writeSelectionToPasteboard:types:]): 3964 * WebView/WebHTMLViewInternal.h: 3965 * WebView/WebHTMLViewPrivate.h: 3966 3967 * WebView/WebView.mm: 3968 (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]): 3969 3970 2007-05-16 Anders Carlsson <andersca (a] apple.com> 3971 3972 Reviewed by Darin. 3973 3974 <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari 3975 3976 Update for WebCore changes. 3977 3978 * WebView/WebFrame.mm: 3979 (-[WebFrame _loadURL:referrer:intoChild:]): 3980 3981 2007-05-15 Oliver Hunt <oliver (a] apple.com> 3982 3983 Reviewed by Sam and Geoff. 3984 3985 Removing dead code left behind from drag and drop refactoring. 3986 3987 * WebCoreSupport/WebFrameBridge.mm: 3988 * WebView/WebHTMLView.mm: 3989 * WebView/WebHTMLViewPrivate.h: 3990 3991 2007-05-15 Bruce Q Hammond <bruceq (a] apple.com> 3992 3993 Reviewed by Darin. 3994 3995 Correction of previous patch for http://bugs.webkit.org/show_bug.cgi?id=13578 3996 This corrects the sign of the Y-Axis origin adjustment. 3997 3998 * Plugins/WebBaseNetscapePluginView.mm: 3999 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): 4000 4001 2007-05-15 Geoffrey Garen <ggaren (a] apple.com> 4002 4003 Reviewed by Maciej Stachowiak. 4004 4005 Patch: fixed <rdar://problem/5198890> .5% performance regression caused 4006 by r21307 4007 4008 The only code r21307 added that runs during the PLT is a frame load delegate 4009 -respondsToSelector: call inside windowObjectCleared(), so it seems like 4010 our message dispatch overhead for the frame load delegate is significant. 4011 4012 This patch is a straight port of Maciej's fix for the same problem in the 4013 resource load delegate. The solution is simple enough: don't use Objective-C. 4014 Instead, use a special structure that caches which methods the delegate 4015 implements, along with pointers to those methods. 4016 4017 I verified each frame load delegate callback in the debugger, except for 4018 -webView:didFailLoadWithError:forFrame:, which is not implemented by Safari 4019 or DumpRenderTree. 4020 4021 * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.h: Removed. 4022 * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.m: Removed. 4023 4024 * WebCoreSupport/WebFrameBridge.mm: 4025 (-[WebFrameBridge windowObjectCleared]): I also removed a misleading 4026 comment here. The JS debugger caches the windowScriptObject, so you do 4027 need to re-create the debugger every time you invalidate the old 4028 WebScriptObject wrapper for the window object and create a new one, or 4029 the debugger will stop working. We could fix this in a number of ways, 4030 but <rdar://problem/4608404> is not the key issue. 4031 4032 2007-05-15 Maciej Stachowiak <mjs (a] apple.com> 4033 4034 Reviewed by Hyatt and Lars. 4035 4036 - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window 4037 4038 * WebView/WebDataSource.mm: 4039 (-[WebDataSource request]): Return nil when we are still showing the initial empty doc 4040 4041 2007-05-14 Geoffrey Garen <ggaren (a] apple.com> 4042 4043 Reviewed by Darin Adler. 4044 4045 Updated for WebCore move to PageCache singleton. Also removed some WebCore:: 4046 prefixes and replaced them with 'using namespace WebCore'. 4047 4048 * History/WebHistoryItem.mm: 4049 (+[WebHistoryItem _releaseAllPendingPageCaches]): 4050 (-[WebWindowWatcher windowWillClose:]): 4051 4052 2007-05-13 Darin Adler <darin (a] apple.com> 4053 4054 - one more retain/release for a tiny bit more robustness 4055 4056 * WebView/WebPDFView.mm: 4057 (-[WebPDFView _updatePreferences:]): [prefs release] 4058 (-[WebPDFView _updatePreferencesSoon]): [prefs retain] 4059 4060 2007-05-13 Darin Adler <darin (a] apple.com> 4061 4062 Reviewed by Geoff. 4063 4064 - fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site 4065 4066 * WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL. 4067 Also remove unneeded @public that gives other classes access to our dataSource member. 4068 4069 * WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the 4070 _cancelUpdatePreferencesTimer method. 4071 (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer. 4072 (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems 4073 where the dataSource is no longer present by not looking at the dataSource field at all. 4074 Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon 4075 to NO and added a release to balance a retain I did in _updatePreferencesSoon. 4076 (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of 4077 an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to 4078 the dataSource when the timer fires. 4079 4080 2007-05-10 Geoffrey Garen <ggaren (a] apple.com> 4081 4082 Reviewed by Darin Adler. 4083 4084 "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness. 4085 4086 2007-05-10 Adele Peterson <adele (a] apple.com> 4087 4088 Reviewed by Hyatt. 4089 4090 WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result 4091 4092 Updated to use selectionRect instead of visibleSelectionRect. selectionRect() now returns the visible rect by default. 4093 4094 * WebView/WebHTMLView.mm: 4095 (-[WebHTMLView _lookUpInDictionaryFromMenu:]): 4096 (-[WebHTMLView selectionImageRect]): 4097 4098 2007-05-10 dethbakin <bdakin (a] apple.com> 4099 4100 Reviewed by Darin. 4101 4102 Fix for <rdar://problem/5191941> Leopard: Adobe Acrobat 8: 4103 Distiller 8 needs same check fix as 4992521 4104 4105 * WebView/WebView.mm: 4106 (-[WebView _updateWebCoreSettingsFromPreferences:]): Adobe 4107 Distiller needs the same quirk. 4108 4109 2007-05-10 Maciej Stachowiak <mjs (a] apple.com> 4110 4111 Reviewed by Oliver. 4112 4113 - WebKit part of fix for: 4114 <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load) 4115 <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465) 4116 4117 The basic approach is to have Frames start out containing an empty document instead of absolutely nothing, 4118 so there is no need to initialize them on demand. Various side effects of that cause both of these bugs. 4119 4120 However, this caused many regressions so I had to fix the fallout. 4121 4122 * WebCoreSupport/WebChromeClient.mm: 4123 (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree 4124 with initial empty document now). 4125 * WebCoreSupport/WebFrameBridge.mm: 4126 (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame. 4127 (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate 4128 * WebView/WebFrame.mm: 4129 (-[WebFrame stopLoading]): use stopForUserCancel(). 4130 * WebView/WebFrameView.mm: 4131 (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available. 4132 * WebView/WebView.mm: 4133 (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from 4134 outside the view. 4135 (-[WebView _becomingFirstResponderFromOutside]): Return this value. 4136 * WebView/WebViewInternal.h: 4137 4138 2007-05-09 Oliver Hunt <oliver (a] apple.com> 4139 4140 rs=Adele. 4141 4142 The previous patch (r21346) broke editing, rolling out 4143 4144 * WebView/WebHTMLView.mm: 4145 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): 4146 (-[WebHTMLView doCommandBySelector:]): 4147 4148 2007-05-09 Adele Peterson <adele (a] apple.com> 4149 4150 Reviewed by Oliver. 4151 4152 Re-applying fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons 4153 http://bugs.webkit.org/show_bug.cgi?id=13263 4154 4155 We don't need to call interpretKeyEvents for cmd-key events as 4156 they events will be interpreted by performKeyEquivalent. 4157 4158 * WebView/WebHTMLView.mm: 4159 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): 4160 (-[WebHTMLView doCommandBySelector:]): 4161 4162 2007-05-09 Mark Rowe <mrowe (a] apple.com> 4163 4164 Build fix to keep the buildbot happy. 4165 4166 * Plugins/WebBaseNetscapePluginView.mm: 4167 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): 4168 4169 2007-05-08 Bruce Q Hammond <bruceq (a] apple.com> 4170 4171 Reviewed by Darin. 4172 4173 http://bugs.webkit.org/show_bug.cgi?id=13578 4174 Bug 13578: When QD plugins draw to an offscreen bitmap the origin is not correct 4175 4176 Now we have correct handling of the origin when QD plugins draw to 4177 offscreen bitmaps. 4178 Also the clipping code for this path was doing unnecessary work which 4179 caused incorrect results; it has been removed. 4180 4181 This change should not affect Safari and in general will only affect 4182 plugins (e.g. Flash) drawing to a CGBitmapContext. 4183 4184 * Plugins/WebBaseNetscapePluginView.mm: 4185 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): 4186 4187 2007-05-08 Steve Falkenburg <sfalken (a] apple.com> 4188 4189 Reviewed by Darin. 4190 4191 Implemented spelling/grammar related WebEditorClient methods. 4192 4193 * WebCoreSupport/WebEditorClient.h: 4194 * WebCoreSupport/WebEditorClient.mm: 4195 (WebEditorClient::ignoreWordInSpellDocument): Added. Call through to NSSpellChecker. 4196 (WebEditorClient::learnWord): Added. Call through to NSSpellChecker. 4197 (WebEditorClient::checkSpellingOfString): Added. Call through to NSSpellChecker. 4198 (WebEditorClient::checkGrammarOfString): Added. Call through to NSSpellChecker. 4199 (WebEditorClient::updateSpellingUIWithGrammarString): Added. Call through to NSSpellChecker. 4200 (WebEditorClient::updateSpellingUIWithMisspelledWord): Added. Call through to NSSpellChecker. 4201 (WebEditorClient::showSpellingUI): Added. Call through to NSSpellChecker. 4202 (WebEditorClient::spellingUIIsShowing): Added. Call through to NSSpellChecker. 4203 (WebEditorClient::getGuessesForWord): Added. Call through to NSSpellChecker. 4204 4205 2007-05-08 Steve Falkenburg <sfalken (a] apple.com> 4206 4207 Reviewed by Ada. 4208 4209 Slight modification to last editor method fix. 4210 4211 * WebCoreSupport/WebEditorClient.h: 4212 (WebEditorClient::updateSpellingUIWithGrammarString): 4213 4214 2007-05-07 Geoffrey Garen <ggaren (a] apple.com> 4215 4216 Reviewed by Maciej Stachowiak. 4217 4218 Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from 4219 WebView or WebFrame 4220 4221 Added -[WebFrame windowObject] and -[WebFrame globalContext], along with 4222 a new frame load delegate method, - (void)webView:(WebView *)webView 4223 didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame. 4224 This is all to support briding between the WebScriptObject and JavaScriptCore 4225 APIs. 4226 4227 Also fixed more of <rdar://problem/4395622> API: WebScriptObject.h incorrectly 4228 reports that -isSelectorExcludedFromWebScript returns NO by default, and 4229 generally cleaned up the WebScriptObject headerdoc. 4230 4231 * WebCoreSupport/WebFrameBridge.mm: 4232 (-[WebFrameBridge windowObjectCleared]): 4233 * WebView/WebFrame.mm: 4234 (-[WebFrame windowObject]): 4235 (-[WebFrame globalContext]): 4236 * WebView/WebFramePrivate.h: 4237 * WebView/WebViewPrivate.h: 4238 4239 2007-05-07 Timothy Hatcher <timothy (a] apple.com> 4240 4241 Reviewed by Darin. 4242 4243 <rdar://problem/5180384> webView:validateUserInterfaceItem:defaultValidation: does not get called on WebUIDelegates 4244 4245 Call the delegate when the one of our views gets a validateUserInterfaceItem: call. 4246 4247 * WebView/WebHTMLView.mm: 4248 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate. 4249 (-[WebHTMLView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:. 4250 * WebView/WebPDFView.mm: 4251 (-[WebPDFView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate. 4252 (-[WebPDFView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:. 4253 * WebView/WebView.mm: 4254 (-[WebView _responderValidateUserInterfaceItem:]): Call validateUserInterfaceItemWithoutDelegate: to prevent asking the delegate twice. 4255 (-[WebView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate. 4256 (-[WebView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:. 4257 4258 2007-05-07 Brady Eidson <beidson (a] apple.com> 4259 4260 Actually finish the code move from my last checkin 4261 4262 * History/WebHistoryItem.mm: 4263 (-[WebHistoryItem _transientPropertyForKey:]): 4264 (-[WebHistoryItem _setTransientProperty:forKey:]): 4265 4266 2007-05-07 Brady Eidson <beidson (a] apple.com> 4267 4268 Rubberstamped by Kevin (Sarge) 4269 4270 Make _transientPropertyForKey: and _setTransientProperty:forKey: SPI 4271 4272 * History/WebHistoryItemInternal.h: 4273 * History/WebHistoryItemPrivate.h: 4274 4275 2007-05-04 Geoffrey Garen <ggaren (a] apple.com> 4276 4277 Reviewed by Tim Hatcher. 4278 4279 First step in fixing <rdar://problem/5055182> The back cache has no global cap 4280 4281 Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely 4282 on the underlying back cache. 4283 4284 I left -setAlwaysAttemptToUsePageCache: as an empty stub because we don't 4285 want to break Safari 2.0, but I removed its header declaration so nobody 4286 else starts using it. 4287 4288 * History/WebHistoryItem.mm: 4289 (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]): 4290 * History/WebHistoryItemPrivate.h: 4291 4292 2007-05-04 Geoffrey Garen <ggaren (a] apple.com> 4293 4294 Reviewed by Brady Eidson. 4295 4296 Some cleanup in preparation for fixing <rdar://problem/5055182> The 4297 back/forward cache has no global cap 4298 4299 Unified naming of WebKit/WebCore b/f lists -- instead of the potpourri 4300 of webBackForwardList, backForwardList, list, kitList, coreList, listWrapper, 4301 and webCoreBackForwardList, we use webBackForwardList for WebKit and 4302 backForwardList for WebCore, matching their respective class names. 4303 4304 Removed "private" versions of kit() and core() -- kit() and core() are 4305 canonically used for converting between WebKit API objects and WebCore 4306 API objects. I think it's clearer to have only one way to do this. 4307 4308 Removed COMPUTE_DEFAULT_PAGE_CACHE_SIZE, since it was unused. 4309 4310 Removed _clearPageCache, since it was unused and it duplicated -setPageCacheSize:0. 4311 4312 Removed _usesPageCache, since it was unused and it duplicated -pageCacheSize. 4313 4314 2007-05-04 Brady Eidson <beidson (a] apple.com> 4315 4316 Reviewed by Mark Rowe 4317 4318 Added main thread assertion to WebHTMLView to help make sure 3rd party clients aren't trying 4319 to draw on secondary threads 4320 4321 * WebView/WebHTMLView.mm: 4322 (-[WebHTMLView drawRect:]): Added ASSERT_MAIN_THREAD() 4323 4324 2007-05-04 Anders Carlsson <andersca (a] apple.com> 4325 4326 Reviewed by Antti. 4327 4328 <rdar://problem/5179977> Use the correct URLs when dispatching delegate methods for data loads. 4329 4330 * WebView/WebFrame.mm: 4331 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): 4332 If the base URL is nil, set it to "about:blank", and set the response URL to a generated applewebdata URL. 4333 4334 * WebView/WebView.mm: 4335 (+[WebView _canHandleRequest:]): 4336 No need to special-case applewebdata URLs here anymore, they're only used in responses. 4337 4338 2007-05-03 Steve Falkenburg <sfalken (a] apple.com> 4339 4340 Reviewed by Oliver. 4341 4342 Add missing user description parameter to spelling-related editor client method. 4343 4344 * WebCoreSupport/WebEditorClient.h: 4345 (WebEditorClient::updateSpellingUIWithGrammarString): 4346 4347 2007-05-03 TImothy Hatcher <timothy (a] apple.com> 4348 4349 Reviewed by Kevin. 4350 4351 <rdar://problem/4975212> REGRESSION: With NetNewsWire 2.1.1, the contextual menu shows extra menu items when focus 4352 is placed in input or textarea field 4353 4354 The NetNewsWire UI delegate isn't expecting calls for form controls, so we need to do a linked-on-or-after check. 4355 If the application was linked against Tiger or earlier and the element is a text form control, just return the 4356 default menu items and bypass the delegate call completely. 4357 4358 * WebCoreSupport/WebContextMenuClient.mm: 4359 (isPreVersion3Client): Cache the result of the WebKitLinkedOnOrAfter call 4360 (fixMenusToSendToOldClients): Call the new isPreVersion3Client() 4361 (fixMenusReceivedFromOldClients): Ditto. 4362 (WebContextMenuClient::getCustomMenuFromDefaultItems): Return the default menu items if the element is a text form control. 4363 4364 2007-05-03 Mark Rowe <mrowe (a] apple.com> 4365 4366 Reviewed by Geoff and Kevin. 4367 4368 <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients 4369 4370 Second shot at fixing this error. Stub out the macros rather than forwarding to JavaScriptCore, which would 4371 leave clients using this header trying to resolve JavaScriptCore symbols against WebKit when linking. This 4372 should only happen in production builds when assertions should be disabled anyway as anyone building a 4373 development configuration should be in a position to move away from using this header. 4374 4375 * Misc/WebAssertions.h: 4376 4377 2007-05-03 Timothy Hatcher <timothy (a] apple.com> 4378 4379 Reviewed by Kevin. 4380 4381 <rdar://problem/5067707> REGRESSION: "Open Link" contextual menu item appears twice in Mail 4382 4383 Remove the check for Mail in fixMenusToSendToOldClients and fixMenusReceivedFromOldClients 4384 when linked on or after Leopard. The isAppleMail() function is still used for Tiger Mail fixups. 4385 4386 * WebCoreSupport/WebContextMenuClient.mm: 4387 (fixMenusToSendToOldClients): 4388 (fixMenusReceivedFromOldClients): 4389 4390 2007-05-02 Anders Carlsson <andersca (a] apple.com> 4391 4392 Reviewed by Brady. 4393 4394 <rdar://problem/5151113> Assertion firing in [FrameProgressEntry addChild:forDataSource:] when navigating cnn.com 4395 4396 The assertion fired because a plug-in was trying to load a subresource when a new load had started but not yet 4397 committed. The check that would have prevented this was removed in order to fix <rdar://problem/5085897>. 4398 4399 This puts back the check but changes it to allow loads where the target is the same frame as the plugin's parent frame. 4400 4401 * Plugins/WebBaseNetscapePluginView.mm: 4402 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): 4403 4404 2007-04-27 Timothy Hatcher <timothy (a] apple.com> 4405 4406 Reviewed by Darin. 4407 4408 There were only a couple calls to ResourceLoadDelegate forwarder left, 4409 this removes the calls and adds a new cached method for didFailLoad. 4410 4411 * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.h: Removed. 4412 * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.m: Removed. 4413 * WebKit/Plugins/WebNullPluginView.mm: Call the resource load delegate directly. 4414 * WebKit/WebCoreSupport/WebFrameLoaderClient.mm: Call the cached didFailLoad delegate function. 4415 * WebKit/WebKit.xcodeproj/project.pbxproj: Remove WebDefaultResourceLoadDelegate. 4416 * WebKit/WebView/WebDataSource.mm: Remove the #import for WebDefaultResourceLoadDelegate.h 4417 * WebKit/WebView/WebView.mm: Remove the ResourceLoadDelegate forwarder, and remove a method that isn't used. 4418 * WebKit/WebView/WebViewInternal.h: Ditto. 4419 * WebKit/WebView/WebViewPrivate.h: Remove a method that is no longer used. 4420 4421 2007-04-27 David Harrison <harrison (a] apple.com> 4422 4423 Reviewed by Darin. 4424 4425 <rdar://problem/5160627> Export JS list creation support as ObjC SPI for Mail 4426 4427 * WebKit.xcodeproj/project.pbxproj: 4428 * WebView/WebHTMLView.mm: 4429 (-[WebHTMLView _selectedRange]): 4430 (-[WebHTMLView _shouldDeleteRange:]): 4431 (-[WebHTMLView _canEdit]): 4432 (-[WebHTMLView _canEditRichly]): 4433 (-[WebHTMLView _hasSelection]): 4434 (-[WebHTMLView _hasSelectionOrInsertionPoint]): 4435 (-[WebHTMLView _hasInsertionPoint]): 4436 (-[WebHTMLView _isEditable]): 4437 Condense the check for nil [self frame]. 4438 Remove canEditRichly checks and rely on the editor to do the check instead. 4439 4440 (-[WebHTMLView _insertOrderedList]): 4441 (-[WebHTMLView _insertUnorderedList]): 4442 New. 4443 4444 (-[WebHTMLView _canIncreaseSelectionListLevel]): 4445 (-[WebHTMLView _canDecreaseSelectionListLevel]): 4446 (-[WebHTMLView _increaseSelectionListLevel]): 4447 (-[WebHTMLView _increaseSelectionListLevelOrdered]): 4448 (-[WebHTMLView _increaseSelectionListLevelUnordered]): 4449 (-[WebHTMLView _decreaseSelectionListLevel]): 4450 Moved from bridge to frame editor. 4451 4452 * WebView/WebHTMLViewPrivate.h: 4453 Add _insertOrderedList and _insertUnorderedList to WebHTMLView(WebPrivate) 4454 4455 2007-04-27 Brady Eidson <beidson (a] apple.com> 4456 4457 Rubberstamped by Mark 4458 4459 Remove default implementation of UIDelegate method that was removed 4460 4461 I have also been instructed to give Tim a hard time about this one - apparently 4462 it was his job to clean it out and he failed... failed miserably. 4463 4464 :) 4465 4466 * DefaultDelegates/WebDefaultUIDelegate.m: Removed webViewPrint: 4467 4468 2007-04-27 Maciej Stachowiak <mjs (a] apple.com> 4469 4470 Reviewed by Mark. 4471 4472 <rdar://problem/5154113> Repro ASSERT (would be crash) in KJS::GCLock::GCLock (13462) 4473 http://bugs.webkit.org/show_bug.cgi?id=13462 4474 4475 * WebInspector/WebInspector.m: 4476 (-[WebInspectorPrivate dealloc]): Delay release of WebView to avoid GC re-entrancy. 4477 4478 2007-04-27 Anders Carlsson <andersca (a] apple.com> 4479 4480 Reviewed by Mitz. 4481 4482 <rdar://problem/5165755> 4483 View Source is broken; empty window is shown 4484 4485 Return YES for applewebdata URLs. 4486 4487 * WebView/WebView.mm: 4488 (+[WebView _canHandleRequest:]): 4489 4490 2007-04-26 Oliver Hunt <oliver (a] apple.com> 4491 4492 Reviewed by Adam. 4493 4494 Fix <rdar://problem/5061252> REGRESSION: In Gmail, image fails 4495 to be inserted into message field after dragging 4496 4497 Don't try to create <img> tags for local image files as it results 4498 in the potential to submit forms that look like they have an image, 4499 when in reality they don't. 4500 4501 * WebView/WebHTMLView.mm: 4502 (-[WebHTMLView _documentFragmentWithPaths:]): 4503 4504 2007-04-26 Anders Carlsson <andersca (a] apple.com> 4505 4506 Reviewed by Maciej. 4507 4508 <rdar://problem/5049099> documents no longer have a default base URL 4509 4510 If the base URL is nil, then create a unique applewebdata URL to match what Tiger WebKit does. 4511 4512 * WebView/WebFrame.mm: 4513 (createUniqueWebDataURL): 4514 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): 4515 4516 2007-04-25 Oliver Hunt <oliver (a] apple.com> 4517 4518 Rubber stamped by Adele. 4519 4520 Roll out WebKit changes from from r21052 to fix regression noted in 4521 <rdar://problem/5159556> REGRESSION: In Mail, pressing option-command- ' doesn't decrease block quote in selection 4522 4523 * WebView/WebHTMLView.mm: 4524 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): 4525 (-[WebHTMLView doCommandBySelector:]): 4526 4527 2007-04-25 Steve Falkenburg <sfalken (a] apple.com> 4528 4529 Reviewed by Adam. 4530 4531 Mac callbacks for new spelling methods in WebEditorClient. 4532 Not used yet. 4533 4534 * WebCoreSupport/WebEditorClient.h: 4535 (WebEditorClient::ignoreWordInSpellDocument): 4536 (WebEditorClient::learnWord): 4537 (WebEditorClient::checkSpellingOfString): 4538 (WebEditorClient::checkGrammarOfString): 4539 (WebEditorClient::updateSpellingUIWithGrammarString): 4540 (WebEditorClient::updateSpellingUIWithMisspelledWord): 4541 (WebEditorClient::showSpellingUI): 4542 (WebEditorClient::spellingUIIsShowing): 4543 (WebEditorClient::getGuessesForWord): 4544 4545 2007-04-24 Geoffrey Garen <ggaren (a] apple.com> 4546 4547 Reviewed by Darin Adler, Tim Hatcher. 4548 4549 Fixed a few NSAutoreleasePool issues I noticed while reviewing Brady's patch. 4550 4551 * Carbon/CarbonUtils.m: 4552 (PoolCleaner): Call -drain instead of -release, since -release is a 4553 no-op in a GC world. 4554 4555 * Misc/WebKitErrors.m: 4556 (registerErrors): Condensed onto one line. 4557 4558 * Plugins/WebPluginDatabase.m: 4559 (-[WebPluginDatabase refresh]): Call -drain instead of -release, since 4560 -release is a no-op in a GC world. 4561 4562 * WebCoreSupport/WebChromeClient.mm: 4563 (WebChromeClient::setStatusbarText): 4564 4565 * WebInspector/WebNodeHighlightView.m: 4566 (-[WebNodeHighlightView initWithHighlight:andRects:forView:]): Don't drain 4567 and then release because drain deallocates the receiver, so the release 4568 is an over-release. 4569 4570 * WebView/WebView.mm: 4571 (-[WebView rectsForTextMatches]): Re-allocate the pool after draining it, 4572 because drain deallocates the receiver, so the drain would leave you without 4573 any autorelease pool, causing a leak and then an over-release at the bottom 4574 of the loop. 4575 4576 2007-04-24 Brady Eidson <beidson (a] apple.com> 4577 4578 Reviewed by Beth, Hyatt, Ada, and Darin 4579 4580 <rdar://problem/5011477> and <rdar://problem/5011514> 4581 Provide support for the icon.db to be moved to a different directory from the old WebKit-style 4582 icons, and remove the old directory if that is the case 4583 4584 * Misc/WebIconDatabase.mm: 4585 (-[WebIconDatabase init]): 4586 (-[WebIconDatabase _importToWebCoreFormat]): Check "imported()" to determine if a conversion is needed 4587 - Look for WebIconDatabaseImportDirectoryDefaultsKey for the source location for the conversion 4588 - Set "imported" to true in the Icons.db 4589 - If the new Icons.db isn't in the same patch as the old icons, delete the entire directory when finished 4590 - Move old icon.db to Icons.db to reflect rename 4591 * Misc/WebIconDatabasePrivate.h: Add WebIconDatabaseImportDirectoryDefaultsKey so a WebKit client can tell WebKit 4592 where to look for the old icons if their location is different from the icon.db 4593 * WebKit.exp: 4594 4595 2007-04-24 Mitz Pettel <mitz (a] webkit.org> 4596 4597 Reviewed by Oliver Hunt. 4598 4599 Changed an apostrophe (') into a right single quotation mark (U+2019). 4600 4601 * WebInspector/webInspector/inspector.js: 4602 4603 2007-04-24 Mitz Pettel <mitz (a] webkit.org> 4604 4605 Reviewed by Timothy Hatcher. 4606 4607 - fix http://bugs.webkit.org/show_bug.cgi?id=13459 4608 The "mapped style" link next to an attribute doesn't work 4609 4610 * WebInspector/webInspector/inspector.js: Added a check that the rule is 4611 mapped from an attribute. 4612 4613 2007-04-23 Adele Peterson <adele (a] apple.com> 4614 4615 Fixed and reviewed by Darin, Adele, and Oliver. 4616 4617 WebKit part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons 4618 http://bugs.webkit.org/show_bug.cgi?id=13263 4619 4620 * WebView/WebHTMLView.mm: 4621 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): If we have no command after calling interpretKeyEvents, we assume the input method handled the key. 4622 (-[WebHTMLView doCommandBySelector:]): Add noop: to the command vector, but then when actually performing actions, ignore it. 4623 4624 2007-04-23 Timothy Hatcher <timothy (a] apple.com> 4625 4626 Reviewed by Darin. 4627 4628 <rdar://problem/5124364> IB3 crashes when loading a nib containing a WebView that has a WebHTMLView encoded inside 4629 4630 Since WebView's initWithCoder throws away all the decoded subviews, the WebHTMLView gets dealoced while it has a nil _private pointer. 4631 Checking for a nil _private in WehHTMLView's close fixes this crash. No need to implement a full initWithCoder for WebHTMLView since 4632 it will be thrown away by the WebView anyway. 4633 4634 * WebView/WebHTMLView.mm: 4635 (-[WebHTMLView close]): Return earily if _priviate is nil. 4636 (-[WebHTMLView initWithFrame:]): Unrelated change that removes an AppKit version check that predates Tiger. 4637 4638 2007-04-23 Timothy Hatcher <timothy (a] apple.com> 4639 4640 Reviewed by Mark Rowe. 4641 4642 Remove the "No Selection" message after leaving search mode. 4643 This was a regression caused by the inspector refresh. 4644 4645 * WebInspector/webInspector/inspector.js: 4646 4647 2007-04-23 Timothy Hatcher <timothy (a] apple.com> 4648 4649 Reviewed by Darin. 4650 4651 Bug 6658: World leak when closing inspected window 4652 http://bugs.webkit.org/show_bug.cgi?id=6658 and <rdar://problem/4411863> 4653 4654 Removes over-retains of the inspector WebView, WebInspector and WebInspectorPanel. 4655 4656 * WebInspector/WebInspector.m: 4657 (+[WebInspector sharedWebInspector]): Return the global sharedWebInspector variable. 4658 (-[WebInspector window]): Release the window after calling setWindow:. 4659 (-[WebInspector windowWillClose:]): Set the JavaScript Inspector variable to null and expire the current highlight. 4660 Also clear the global sharedWebInspector variable and release it if self equals sharedWebInspector. 4661 (-[WebInspector showWindow:]): Set the JavaScript Inspector variable back to self. 4662 * WebInspector/WebInspectorInternal.h: Remove the isSharedInspector member variable. 4663 * WebView/WebView.mm: 4664 (-[WebView windowScriptObject]): Return nil if core([self mainFrame]) is NULL. 4665 4666 2007-04-23 Darin Adler <darin (a] apple.com> 4667 4668 Reviewed by Hyatt. 4669 4670 - rename box-sizing to -webkit-box-sizing 4671 4672 * WebInspector/webInspector/inspector.css: Here. 4673 * WebInspector/webInspector/inspector.js: And here, in the expected default CSS values list. 4674 4675 2007-04-22 Timothy Hatcher <timothy (a] apple.com> 4676 4677 Reviewed by Darin. 4678 4679 The fix for <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject 4680 was #ifdefed out in Production builds. 4681 4682 * WebView/WebView.mm: 4683 (+[WebView initialize]): Move the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM inside initialize around the specific code 4684 (+[WebView _applicationWillTerminate]): Moved outside the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM block 4685 4686 2007-04-22 Timothy Hatcher <timothy (a] apple.com> 4687 4688 Reviewed by Mitz. 4689 4690 Bug 13436: Make Option-clicking a disclosure triangle expand the entire subtree 4691 http://bugs.webkit.org/show_bug.cgi?id=13436 4692 4693 Makes option-click recursively expand and collapse the sub-tree. Pressing option-left 4694 and -right also recursively expands and collapses the sub-tree. 4695 4696 * WebInspector/webInspector/treeoutline.js: 4697 4698 2007-04-22 Timothy Hatcher <timothy (a] apple.com> 4699 4700 Reviewed by Mitz. 4701 4702 Bug 13437: Inspector does not update when navigating to a different page 4703 http://bugs.webkit.org/show_bug.cgi?id=13437 4704 4705 * WebInspector/webInspector/inspector.js: Correctly update to a new root node 4706 if the new focus node and the old focus node don't have a common ancestor. 4707 4708 2007-04-22 Darin Adler <darin (a] apple.com> 4709 4710 Reviewed by Adele. 4711 4712 - fix for <rdar://problem/5100240> REGRESSION: Control-O broken 4713 4714 * WebView/WebHTMLView.mm: 4715 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Update to handle a vector of 4716 command names instead of a single command. 4717 (-[WebHTMLView doCommandBySelector:]): Change logic so that we add the command to a vector 4718 and also so that the interpretKeyEvents parameters are still intact for a second call to 4719 doCommandBySelector:, since the key bindings mechanism can do more than one. 4720 (-[WebHTMLView insertText:]): Added comment. 4721 4722 2007-04-21 Darin Adler <darin (a] apple.com> 4723 4724 Reviewed by Oliver. 4725 4726 - fix some problems I ran into using the inspector 4727 4728 * WebInspector/webInspector/inspector.js: Add some null checks. 4729 4730 2007-04-20 Timothy Hatcher <timothy (a] apple.com> 4731 4732 Reviewed by Darin. 4733 4734 Merge over the WebInspectorRefresh branch. This change removes the NSOutlineView and 4735 is replaced with a HTML/JavaScript tree. Most of the inspector logic is now in the JavaScript. 4736 4737 A few bugs are fixed by these changes: 4738 4739 Bug 6615: Parent node drop-down list is upside-down 4740 http://bugs.webkit.org/show_bug.cgi?id=6615 4741 4742 Bug 6643: REGRESSION: Tree view repaints lines without erasing them first 4743 http://bugs.webkit.org/show_bug.cgi?id=6643 4744 4745 Bug 6650: Web Inspector HTML Hierarchy can't be scrolled with scrollwheel 4746 http://bugs.webkit.org/show_bug.cgi?id=6650 4747 4748 Bug 6677: Can't drag inspector when tree view has focus 4749 http://bugs.webkit.org/show_bug.cgi?id=6677 4750 4751 Bug 7326: Web Inspector tree scrollbar always shows up when resizing the top pane down 4752 http://bugs.webkit.org/show_bug.cgi?id=7326 4753 4754 * WebInspector/WebInspector.h: Removed the searchQuery methods. 4755 * WebInspector/WebInspector.m: Removed the DOMNode category and code for the old outline view. 4756 * WebInspector/WebInspectorOutlineView.h: Removed. 4757 * WebInspector/WebInspectorOutlineView.m: Removed. 4758 * WebInspector/WebInspectorInternal.h: Remove some methods and instance variables. 4759 * WebInspector/webInspector/Images/resize.png: Added. 4760 * WebInspector/webInspector/inspector.css: 4761 * WebInspector/webInspector/inspector.html: Include the new classes and remove the plugin. 4762 * WebInspector/webInspector/inspector.js: Changes to use the new tree outline and other fixes. 4763 * WebInspector/webInspector/scrollarea.js: Copied from the Dashboard widget resources. 4764 * WebInspector/webInspector/scrollbar.js: Ditto. 4765 * WebInspector/webInspector/treeoutline.js: New tree outline class. 4766 * WebInspector/webInspector/utilities.js: DOM and String prototype additions. 4767 * WebKit.xcodeproj/project.pbxproj: Remove WebInspectorOutlineView. 4768 4769 2007-04-20 Brady Eidson <beidson (a] apple.com> 4770 4771 Reviewed by Oliver (Black Sheep) 4772 4773 <rdar://problem/3559794> 4774 [WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches 4775 4776 * WebView/WebView.mm: Remove _private->useBackForwardList 4777 (-[WebView _setInitiatedDrag:]): Use _private->page instead of [self page] 4778 (-[WebView initWithCoder:]): Manipulate the flag that is now in WebCore::BackForwardList 4779 (-[WebView encodeWithCoder:]): Ditto 4780 (-[WebView backForwardList]): Use _private->page instead of [self page] 4781 (-[WebView setMaintainsBackForwardList:]): Manipulate the flag that is now in WebCore::BackForwardList 4782 4783 2007-04-20 Anders Carlsson <andersca (a] apple.com> 4784 4785 Reviewed by Maciej. 4786 4787 <rdar://problem/5085897> REGRESSION: Some Flash links at www.jumpskyhigh.com just reload the page 4788 4789 Get rid of the check that would prevent plugin requests from being loaded if a new page load was underway. 4790 www.jumpskyhigh.com had a flash movie that was embedded inside an <a> tag and clicking on the plug-in would cause the 4791 URL pointed to by the <a> tag to start loading and thus preventing the plug-in from loading the real URL. 4792 4793 This check was added by Maciej and we should be able to remove it with the loader changes that have happened now, 4794 (mainly the fact that resource loaders are handled by the document loader instead of the frame loader). 4795 4796 * Plugins/WebBaseNetscapePluginView.mm: 4797 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): 4798 4799 2007-04-19 Oliver Hunt <oliver (a] apple.com> 4800 4801 Reviewed by Adam. 4802 4803 Fix for <rdar://problem/4960912> -- REGRESSION: Content-Disposition: 4804 filename is ignored for drag-and-drop. 4805 4806 * WebView/WebResource.mm: 4807 (-[WebResource _fileWrapperRepresentation]): 4808 When creating the NSFileWrapper check the response for a preferred 4809 filename, rather than just blindly hoping for the best. 4810 4811 2007-04-19 Anders Carlsson <andersca (a] apple.com> 4812 4813 Reviewed by John. 4814 4815 <rdar://problem/5137002> 4816 REGRESSION (r20812): [WebFrame DOMDocument] is returning non-nil value in bookmarks view, causing trouble in Safari 4817 4818 Put back the MIME type check as a workaround. 4819 * WebView/WebFrame.mm: 4820 (-[WebFrame DOMDocument]): 4821 4822 2007-04-19 Mark Rowe <mrowe (a] apple.com> 4823 4824 Reviewed by Oliver and Adam. 4825 4826 <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients. 4827 4828 * Misc/WebAssertions.h: Added. 4829 * WebKit.xcodeproj/project.pbxproj: 4830 4831 2007-04-17 Brady Eidson <beidson (a] apple.com> 4832 4833 Reviewed by Tim 4834 4835 <rdar://problem/5008925> 4836 Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate 4837 4838 * WebCoreSupport/WebFrameLoaderClient.h: 4839 * WebCoreSupport/WebFrameLoaderClient.mm: 4840 (WebFrameLoaderClient::willCacheResponse): Call 4841 [WebResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:]; 4842 4843 * WebView/WebView.mm: 4844 (-[WebView _cacheResourceLoadDelegateImplementations]): Pull out the willCacheResponse impl 4845 4846 * WebView/WebViewPrivate.h: Add WebResourceLoadDelegatePrivate category for this new SPI 4847 4848 2007-04-18 John Sullivan <sullivan (a] apple.com> 4849 4850 Reviewed by Adam 4851 4852 - fixed <rdar://problem/5103009> REGRESSION: Activity window shows blank name for untitled pages 4853 4854 * WebView/WebHTMLRepresentation.mm: 4855 (-[WebHTMLRepresentation title]): 4856 return nil for empty string, to match old behavior 4857 4858 2007-04-17 John Sullivan <sullivan (a] apple.com> 4859 4860 Reviewed by Tim Hatcher 4861 4862 - fixed <rdar://problem/5138492> Safari doesn't remember some changes to the PDF scale and display mode 4863 4864 Some of the user interactions that could change the PDF scale and display mode were not going through 4865 the proxy mechanism in WebPDFView that updates preferences. Now we also listen to PDFKit notifications 4866 in order to catch the other cases. 4867 4868 * WebView/WebPDFView.h: 4869 new _ignoreScaleAndDisplayModeNotifications and _updatePreferencesTimer ivars 4870 4871 * WebView/WebPDFView.mm: 4872 (-[WebPDFView setPDFDocument:]): 4873 ignore scale and display mode notifications while we're setting up a fresh document 4874 (-[WebPDFView dealloc]): 4875 cancel the new timer (which releases it) 4876 (-[WebPDFView viewDidMoveToWindow]): 4877 listen for two PDFKit notifications 4878 (-[WebPDFView viewWillMoveToWindow:]): 4879 stop listening to the two PDFKit notifications 4880 (-[WebPDFView _applyPDFDefaults]): 4881 white space change 4882 (-[WebPDFView _cancelUpdatePreferencesTimer]): 4883 invalidate, release, and nil out the timer 4884 (-[WebPDFView _scaleOrDisplayModeChanged:]): 4885 update preferences soon, unless deliberately ignoring these notifications 4886 (-[WebPDFView _updatePreferencesNow]): 4887 cancel timer, then save data to preferences (code for saving the data was extracted from 4888 -[PDFPrefUpdatingProxy forwardInvocation:]) 4889 (-[WebPDFView _updatePreferencesSoon]): 4890 use timer to consolidate multiple calls into one action; formerly we were setting preferences 4891 multiple times for some atomic user actions 4892 (-[PDFPrefUpdatingProxy forwardInvocation:]): 4893 call _updatePreferencesSoon where we used to immediately set preferences 4894 4895 2007-04-17 John Sullivan <sullivan (a] apple.com> 4896 4897 Reviewed by Kevin Decker 4898 4899 - fixed <rdar://problem/4184640> "Look Up in Dictionary" item is always disabled for PDF pages 4900 4901 * WebView/WebPDFView.mm: 4902 (-[WebPDFView validateUserInterfaceItem:]): 4903 enable "Look Up in Dictionary" only if we're using a version of PDFKit that knows how to do so 4904 (-[WebPDFView _canLookUpInDictionary]): 4905 use respondsToSelector to test whether the current version of PDFKit supports this non-API feature 4906 (-[WebPDFView _lookUpInDictionaryFromMenu:]): 4907 implement this method, which WebKit includes in the context menu when there's selected text 4908 (-[WebPDFView _menuItemsFromPDFKitForEvent:]): 4909 updated comment for this change 4910 4911 2007-04-16 Darin Adler <darin (a] apple.com> 4912 4913 Rubber stamped by Tim Hatcher. 4914 4915 * WebKit.xcodeproj/project.pbxproj: Added Radar bug number to the error message 4916 for the "version number ending in 4" check so folks from Apple can find the 4917 original bug that motivated for this. To summarize what's in that bug, it says that 4918 <http://my.fedex.com> was failing, that it was because of the OpenCube DHTML Menu, 4919 and that some other affected sites were not using OpenCube (so the error is presumably 4920 more widespread). 4921 4922 2007-04-16 Darin Adler <darin (a] apple.com> 4923 4924 Reviewed by John Sullivan. 4925 4926 - fix http://bugs.webkit.org/show_bug.cgi?id=13303 4927 <rdar://problem/5126341> REGRESSION: controls in a background Safari window 4928 maintain active appearance if the address bar has focus (13303) 4929 4930 * WebView/WebHTMLView.mm: (-[WebHTMLView _windowChangedKeyState]): 4931 Added. Calls FrameView::updateControlTints. 4932 4933 2007-04-13 Oliver Hunt <oliver (a] apple.com> 4934 4935 Reviewed by Adam. 4936 4937 Due to rdar://problem/5133910 -- WebArchives should not be constructed 4938 using resource from the cache -- We may try to create a potentially 4939 incorrect WebArchive when dragging an image multiple times. 4940 4941 This patch retains the assertion for invalid behaviour, but adds a 4942 branch to make sure we don't try to do anything with the WebArchive 4943 in release builds. 4944 4945 * Misc/WebNSPasteboardExtras.mm: 4946 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): 4947 4948 2007-04-13 Timothy Hatcher <timothy (a] apple.com> 4949 4950 Reviewed by Dave Harrison. 4951 4952 <rdar://problem/5132727> Soho Mail build fails because of renamed SPI 4953 4954 * WebView/WebUIDelegatePrivate.h: define WebMenuItemTagSearchInGoogle as OldWebMenuItemTagSearchWeb 4955 4956 2007-04-13 Mark Rowe <mrowe (a] apple.com> 4957 4958 Reviewed by Oliver. 4959 4960 <rdar://problem/5130686> Using WebPreferencesPrivate.h requires modifying framework search path 4961 4962 * WebView/WebPreferencesPrivate.h: Remove unneeded #ifdef. 4963 4964 2007-04-12 Deneb Meketa <dmeketa (a] adobe.com> 4965 4966 Reviewed by Darin Adler. 4967 4968 http://bugs.webkit.org/show_bug.cgi?id=13029 4969 rdar://problem/4994849 4970 Bug 13029: Permit NPAPI plug-ins to see HTTP response headers. 4971 4972 * Plugins/WebBaseNetscapePluginStream.h: declarations. 4973 * Plugins/WebBaseNetscapePluginStream.mm: main implementation. 4974 (-[WebBaseNetscapePluginStream dealloc]): cleanup. 4975 (-[WebBaseNetscapePluginStream finalize]): cleanup. 4976 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): 4977 Pass headers along. 4978 (-[WebBaseNetscapePluginStream startStreamWithResponse:]): 4979 Main work is here. Extract headers from NSHTTPURLResponse object into a byte sequence. 4980 See comments here about how it would be nice to have low-level access to the HTTP response. 4981 (-[WebBaseNetscapePluginStream _destroyStream]): cleanup. 4982 * Plugins/WebBaseNetscapePluginView.mm: 4983 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): 4984 Conform to new startStream params. Not applicable here, pass nil. 4985 4986 2007-04-12 Brady Eidson <beidson (a] apple.com> 4987 4988 Build fix for case sensitive file systems 4989 4990 * Misc/WebNSPasteboardExtras.mm: 4991 * WebCoreSupport/WebPasteboardHelper.mm: 4992 4993 2007-04-11 John Sullivan <sullivan (a] apple.com> 4994 4995 Reviewed by Anders 4996 4997 - WebKit part of fix for: 4998 <rdar://problem/5128697> REGRESSION: At least one PDF context menu item isn't appearing on Leopard 4999 5000 * Misc/WebNSArrayExtras.h: Added. 5001 * Misc/WebNSArrayExtras.m: Added. 5002 (-[NSMutableArray _webkit_removeUselessMenuItemSeparators]): 5003 New file, includes this method to strip leading, trailing, and duplicate separators from arrays 5004 of NSMenuItems (copied from Safari) 5005 5006 * WebView/WebUIDelegatePrivate.h: 5007 new MenuItemTag enum values for new PDFKit context menu items 5008 5009 * WebKit.xcodeproj/project.pbxproj: 5010 updated for new files 5011 5012 * WebView/WebPDFView.mm: 5013 (-[WebPDFView _anyPDFTagsFoundInMenu:]): 5014 check for new PDFKit context menu items 5015 (-[WebPDFView _menuItemsFromPDFKitForEvent:]): 5016 associate new PDFKit context menu item selectors with the new tags; skip certain selectors that 5017 correspond to menu items that WebKit already includes; remove useless menu item separators when 5018 we're done, since we might have removed arbitrarily-placed menu items 5019 5020 2007-04-11 Oliver Hunt <oliver (a] apple.com> 5021 5022 Reviewed by Maciej. 5023 5024 Adding RetainPtr to the many global obj-c pointers we use in 5025 C/C++ methods. This is necessary to prevent GC from collecting 5026 globals we want to keep around. 5027 5028 We use RetainPtr in obj-c++ and c++ files, and CFRetain/Release in pure 5029 obj-c. 5030 5031 This fixes <rdar://problem/5058731> -- Crash in 5032 WebCore::DragData::containsCompatibleContent due to early release 5033 of types array 5034 5035 * Misc/WebLocalizableStrings.m: 5036 (WebLocalizedString): 5037 * Misc/WebNSPasteboardExtras.mm: 5038 (+[NSPasteboard _web_writableTypesForURL]): 5039 (_writableTypesForImageWithoutArchive): 5040 (_writableTypesForImageWithArchive): 5041 * Misc/WebNSURLExtras.m: 5042 (applyHostNameFunctionToMailToURLString): 5043 (applyHostNameFunctionToURLString): 5044 * Misc/WebStringTruncator.m: 5045 (defaultMenuFont): 5046 (fontFromNSFont): 5047 * WebCoreSupport/WebPasteboardHelper.mm: 5048 (WebPasteboardHelper::insertablePasteboardTypes): 5049 5050 2007-04-11 MorganL <morganl.webkit (a] yahoo.com> 5051 5052 Reviewed by Maciej. 5053 5054 Add a Frame pointer to ChromeClient methods: 5055 http://bugs.webkit.org/show_bug.cgi?id=13127 5056 5057 * COM/ChromeClientWin.cpp: 5058 (ChromeClientWin::createWindow): 5059 (ChromeClientWin::createModalDialog): 5060 * COM/ChromeClientWin.h: 5061 * WebCoreSupport/WebChromeClient.h: 5062 * WebCoreSupport/WebChromeClient.mm: 5063 (WebChromeClient::createWindow): 5064 (WebChromeClient::createModalDialog): 5065 5066 2007-04-10 Brady Eidson <beidson (a] apple.com> 5067 5068 Reviewed by Darin 5069 5070 <rdar://problem/4887095> - PageCache and PageState should be combined 5071 5072 WebKit side of the change to reflect the new object name of CachedPage and new Client method names 5073 5074 * History/WebHistoryItem.mm: 5075 (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]): 5076 (+[WebHistoryItem _releaseAllPendingPageCaches]): 5077 (-[WebWindowWatcher windowWillClose:]): 5078 5079 * WebCoreSupport/WebFrameLoaderClient.h: 5080 * WebCoreSupport/WebFrameLoaderClient.mm: 5081 (WebFrameLoaderClient::setDocumentViewFromCachedPage): 5082 (WebFrameLoaderClient::loadedFromCachedPage): 5083 (WebFrameLoaderClient::saveDocumentViewToCachedPage): 5084 5085 2007-04-09 Geoffrey Garen <ggaren (a] apple.com> 5086 5087 Reviewed by Maciej Stachowiak. 5088 5089 Support for fixing fast/forms/textarea-paste-newline.html. 5090 5091 Added SPI for specifying whether a WebView should allow pasting through the 5092 DOM API. 5093 5094 * ChangeLog: 5095 * WebKit.xcodeproj/project.pbxproj: 5096 * WebView/WebPreferenceKeysPrivate.h: 5097 * WebView/WebPreferences.m: 5098 (+[WebPreferences standardPreferences]): 5099 (-[WebPreferences isDOMPasteAllowed]): 5100 (-[WebPreferences setDOMPasteAllowed:]): 5101 * WebView/WebPreferencesPrivate.h: 5102 * WebView/WebView.mm: 5103 (-[WebView _updateWebCoreSettingsFromPreferences:]): 5104 5105 2007-04-09 Anders Carlsson <andersca (a] apple.com> 5106 5107 Reviewed by John. 5108 5109 <rdar://problem/5081860> 5110 REGRESSION: Select All for standalone image has no visible effect but does change state 5111 5112 <rdar://problem/5081840> 5113 REGRESSION: context menu in white space beyond standalone image is different after Select All 5114 5115 Have validateUserInterface emulate the old behavior for full-frame images and plugins, which is: 5116 5117 - For full-frame plugins, always return false. 5118 - For images, only return true if the selector is copy: and the image has finished loading. 5119 5120 * WebView/WebHTMLView.mm: 5121 (-[WebHTMLView validateUserInterfaceItem:]): 5122 5123 2007-04-09 Anders Carlsson <andersca (a] apple.com> 5124 5125 Reviewed by Darin. 5126 5127 <rdar://problem/5026893> 5128 REGRESSION: "Mail Contents of this Page" for standalone image in Safari results in a broken image in Mail 5129 5130 * WebView/WebFrame.mm: 5131 (-[WebFrame DOMDocument]): 5132 We can't check for _isHTMLDocument here since image and plugin documents inherit from HTMLDocument. Instead, 5133 check for those two document types explicitly. 5134 5135 2007-04-09 Anders Carlsson <andersca (a] apple.com> 5136 5137 Reviewed by Geoff, Ada and John. 5138 5139 <rdar://problem/4600978> Would like a way to test whether a WebView is displaying a standalone image 5140 5141 * WebView/WebFrame.mm: 5142 (-[WebFrame _isDisplayingStandaloneImage]): 5143 * WebView/WebFramePrivate.h: 5144 Add _isDisplayingStandaloneImage SPI. 5145 5146 2007-04-06 Timothy Hatcher <timothy (a] apple.com> 5147 5148 Reviewed by Mark Rowe. 5149 5150 Adds a build phase script that ensures WebKit's version dosen't end in a 4. 5151 If our version ends in 4, some sites might think we are Netscape 4 in their 5152 user agent checks. 5153 5154 * Configurations/Version.xcconfig: 5155 * WebKit.xcodeproj/project.pbxproj: 5156 5157 2007-04-05 Anders Carlsson <andersca (a] apple.com> 5158 5159 Reviewed by Adam. 5160 5161 <rdar://problem/5083023> 5162 REGRESSION: In Real Player (10.1.0), video continues to play after closing window 5163 5164 This broke in revision 18422 because now the plugin isn't stopped when the window is closed. Since the window is retained 5165 by the plugin view for as long as it is running (so that removeTrackingRect works even though the window has been closed), 5166 we would end up with a reference cycle (NSWindow -> WebView -> PluginView -> NSWindow) and stopping the plug-in when the window 5167 was closed would break that cycle. 5168 5169 Applications that call -[WebView close] when closing aren't affected, but RealPlayer doesn't do this. 5170 5171 The bug that 18422 was supposed to fix was fixed by 19275, which is why it's safe to add back the check. 5172 5173 * Plugins/WebBaseNetscapePluginView.mm: 5174 (-[WebBaseNetscapePluginView addWindowObservers]): 5175 (-[WebBaseNetscapePluginView removeWindowObservers]): 5176 (-[WebBaseNetscapePluginView windowWillClose:]): 5177 5178 2007-04-05 Kevin McCullough <kmccullough (a] apple.com> 5179 5180 Reviewed by Darin. 5181 5182 - Moved registerURLSchemeAsLocal to the public API. 5183 5184 * WebView/WebView.h: 5185 * WebView/WebView.mm: 5186 (+[WebView registerURLSchemeAsLocal:]): 5187 * WebView/WebViewPrivate.h: 5188 5189 === Safari-5522.6 === 5190 5191 2007-04-04 Anders Carlsson <andersca (a] apple.com> 5192 5193 Reviewed by John. 5194 5195 <rdar://problem/5107536> 5196 http://bugs.webkit.org/show_bug.cgi?id=13264 5197 REGRESSION: Crash when canceling about:blank in Activity viewer 5198 5199 * WebView/WebFrame.mm: 5200 (-[WebFrame stopLoading]): 5201 Add a null check for the frame loader - it can be null when the frame has been disconnected 5202 from the web page. 5203 5204 2007-04-03 Anders Carlsson <andersca (a] apple.com> 5205 5206 Reviewed by Darin. 5207 5208 <rdar://problem/5028178> 5209 Crash occurs at WebCore::FrameLoader::activeDocumentLoader() after loading Froggster widget 5210 5211 * Plugins/WebNetscapePluginStream.mm: 5212 (-[WebNetscapePluginStream start]): 5213 If load returns no the plugin loader has already been removed by the didFail callback. 5214 5215 2007-04-02 Anders Carlsson <andersca (a] apple.com> 5216 5217 Reviewed by Geoff. 5218 5219 Fix crash when running plugins/destroy-stream-twice.html under GuardMalloc 5220 5221 * Plugins/WebBaseNetscapePluginStream.h: 5222 * Plugins/WebBaseNetscapePluginStream.mm: 5223 (+[WebBaseNetscapePluginStream ownerForStream:]): 5224 (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): 5225 (-[WebBaseNetscapePluginStream dealloc]): 5226 (-[WebBaseNetscapePluginStream finalize]): 5227 Change the streams hash map to contain an NPStream*, and change ownerForStream to take an NPStream*. 5228 5229 * Plugins/WebBaseNetscapePluginView.mm: 5230 (-[WebBaseNetscapePluginView destroyStream:reason:]): 5231 Check that the NPStream pointer is valid before accessing stream->ndata. 5232 5233 2007-04-02 Darin Adler <darin (a] apple.com> 5234 5235 Reviewed by Geoff. 5236 5237 - fix http://bugs.webkit.org/show_bug.cgi?id=13026 5238 <rdar://problem/5061026> incomplete render of menu 5239 (assertion failing in -[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]) 5240 5241 - fix http://bugs.webkit.org/show_bug.cgi?id=13120 5242 <rdar://problem/5080339> Plug-ins that draw through the QuickDraw interface may crash 5243 by hanging onto old GWorlds. 5244 5245 - set clip path for CoreGraphics plug-ins in the same way we do for QuickDraw plug-ins 5246 this is a better fix for <rdar://problem/4939511> WebKit should set the the CG clip 5247 path for plug-ins that draw using Core Graphics 5248 5249 Incorporates changes from a patch by Mark Ambachtsheer. 5250 5251 Here are the changes: 5252 5253 1) Don't try to use the offscreen code path if GGBitmapContextGetData returns 0. 5254 2) Handle kCGBitmapByteOrderDefault when computing the QD pixel format, even though 5255 we don't have any evidence that this happens in practice. 5256 3) Keep the GWorld around until we create a new one or the plug-in is destroyed. 5257 4) Use the GWorld pointer itself as a flag to indicate whether we are using an 5258 offscreen GWorld. 5259 5) Set up clipping for CoreGraphics in the same way we do for QuickDraw; remove an 5260 earlier attempt that handled CoreGraphics differently. 5261 5262 * Plugins/WebBaseNetscapePluginView.h: Added a field named offscreenGWorld to hold 5263 the GWorld until it's needed. 5264 * Plugins/WebBaseNetscapePluginView.mm: 5265 (getQDPixelFormatForBitmapContext): Replaced QDPixelFormatFromCGBitmapInfo. Used the 5266 "get" prefix so we don't intrude on the QD namespace. Added code to handle the 5267 kCGBitmapByteOrderDefault case, although I'm not sure it will really come up in 5268 practice -- it wasn't really coming up in the buggy case. 5269 (getNPRect): Added helper functions. Used to make the code below clearer. 5270 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Use getNPRect to 5271 streamline code. Use GetGWorld to save the port since we use SetGWorld to restore 5272 it later. Store the GWorld we create in the offscreenGWorld field and dispose the 5273 existing one. Don't treat the CGBitmapContext as an offscreen bitmap if it 5274 has a data pointer of 0. Set up the clip based on the result of 5275 -[NSView getRectsBeingDrawn:count] when setting up the port for CoreGraphics 5276 (after saving the port state). 5277 (-[WebBaseNetscapePluginView restorePortState:]): Remove now-unneeded code to 5278 destroy the offscreen GWorld, and simplified the code that restores the port so we 5279 don't need a separate case for offscreen. 5280 (-[WebBaseNetscapePluginView fini]): Renamed from freeAttributeKeysAndValues, since 5281 this method now does more than just the attributes. This is the shared method that 5282 does things needed in both dealloc and finalize. Added a call to DisposeGWorld here. 5283 (-[WebBaseNetscapePluginView dealloc]): Updated for name change. 5284 (-[WebBaseNetscapePluginView finalize]): Ditto. 5285 (-[WebBaseNetscapePluginView drawRect:]): Removed code to set clip. This is done in 5286 the saveAndSetNewPortStateForUpdate: method instead. 5287 5288 2007-03-30 Adele Peterson <adele (a] apple.com> 5289 5290 Reviewed by Darin. 5291 5292 Call execCommand for deleteWordForward and deleteWordBackward instead of calling 5293 deleteWithDirection directly. 5294 5295 * WebView/WebHTMLView.mm: 5296 (-[WebHTMLView deleteWordForward:]): 5297 (-[WebHTMLView deleteWordBackward:]): 5298 5299 2007-03-30 Anders Carlsson <andersca (a] apple.com> 5300 5301 Reviewed by Geoff. 5302 5303 * Plugins/WebNetscapePluginPackage.m: 5304 (-[WebNetscapePluginPackage load]): 5305 Initialize pushpopupsenabledstate, poppopupsenabledstate and enumerate. 5306 5307 * Plugins/npapi.m: 5308 (NPN_PushPopupsEnabledState): 5309 (NPN_PopPopupsEnabledState): 5310 Add stubs for these functions. 5311 5312 * Plugins/npfunctions.h: 5313 Add new methods to NPNetscapeFuncs. 5314 5315 2007-03-29 Geoffrey Garen <ggaren (a] apple.com> 5316 5317 Reviewed by Beth Dakin, reviewed by Maciej Stachowiak. 5318 5319 Layout test for <rdar://problem/5091330> REGRESSION: Repro crash in 5320 -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:] 5321 navigating away from page with DivX movie plug-in (13203) 5322 5323 Changed LOG_ERROR to LOG so the layout test doesn't produce console spew 5324 every time you run it. 5325 5326 * Plugins/WebBaseNetscapePluginView.mm: 5327 (-[WebBaseNetscapePluginView destroyStream:reason:]): 5328 5329 2007-03-29 Beth Dakin <bdakin (a] apple.com> 5330 5331 Reviewed by Brady. 5332 5333 Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text 5334 blinks when mouse is moved, and is invisible otherwise 5335 5336 -and- 5337 5338 <rdar://problem/4992521> Please adjust WebKit's Acrobat-workaround 5339 methodology 5340 5341 The fix for the first bug is to compare against the bundle 5342 identifiers for Adobe Reader and the non-Pro Adobe Acrobat in 5343 addition to Adobe Acrobat Pro. The fix for the second bug is to 5344 check the version number of Acrobat/Reader through 5345 WebKitSystemInterface instead of checking which version of WebKit 5346 it has been linked against. 5347 5348 * English.lproj/StringsNotToBeLocalized.txt: Two new bundle 5349 identifiers. 5350 * Misc/WebKitVersionChecks.h: Remove Acrobat quirk constant. 5351 * WebView/WebView.mm: 5352 (-[WebView _updateWebCoreSettingsFromPreferences:]): 5353 5354 2007-03-29 Geoffrey Garen <ggaren (a] apple.com> 5355 5356 Rubber stamped by Beth Dakin. 5357 5358 WebBaseNetscapePluginStream.m => WebBaseNetscapePluginStream.mm, since 5359 it's ObjC++ now. 5360 5361 * Plugins/WebBaseNetscapePluginStream.m: Removed. 5362 * WebKit.xcodeproj/project.pbxproj: 5363 5364 2007-03-27 Geoffrey Garen <ggaren (a] apple.com> 5365 5366 Reluctantly tolerated by Darin Adler. 5367 5368 Fixed <rdar://problem/5091330> REGRESSION: Repro crash in 5369 -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:] 5370 navigating away from page with DivX movie plug-in (13203) 5371 5372 The problem was that the DivX plug-in would ask us to destroy an NPStream 5373 that had already been destroyed, causing us to wander off into freed 5374 memory. (I believe the reason this was a regression was that we never used 5375 to destroy plug-in streams, period.) 5376 5377 The solution here is to track the NPStreams belonging to a plug-in, and 5378 guard against plug-ins making calls with NPStreams that don't belong to 5379 them. (It turns out that NPN_DestroyStream is the only stream-based 5380 plug-in call we support.) 5381 5382 (CarbonPathFromPOSIXPath): Fixed up a cast to be C++ compatible. 5383 * Plugins/WebBaseNetscapePluginView.mm: 5384 (-[WebBaseNetscapePluginView destroyStream:reason:]): The actual fix. 5385 Use helper method to guard against a plug-in using an NPStream that doesn't 5386 belong to it. 5387 * WebKit.xcodeproj/project.pbxproj: Made WebBaseNetscapePluginView ObjC++ 5388 so I could use HashMap. 5389 5390 2007-03-28 Adele Peterson <adele (a] apple.com> 5391 5392 Reviewed by Brady. 5393 5394 Update to last fix. 5395 5396 * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_VITALSOURCE_QUIRK. 5397 * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]): 5398 Added check to only use the VitalSource workaround if the app is not linked on or after 5399 the defined WEBKIT_FIRST_VERSION_WITHOUT_VITALSOURCE_QUIRK version number. 5400 5401 2007-03-28 Adele Peterson <adele (a] apple.com> 5402 5403 Reviewed by Kevin M. 5404 5405 WebKit part of fix for <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString 5406 5407 Added an app specific workaround for VitalSource Bookshelf that strips "return" from the beginning of their script strings. We used to allow this 5408 but now we throw a JavaScript exception for return statements that aren't in functions. 5409 5410 Filed this evangelism bug so we can notify VitalSource of the problem: 5411 <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString 5412 5413 * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]): 5414 5415 2007-03-27 John Sullivan <sullivan (a] apple.com> 5416 5417 Reviewed by Tim 5418 5419 - fixed <rdar://problem/5092556> Default UA spoofing is always off until explicitly toggled 5420 5421 * WebView/WebView.mm: 5422 (-[WebView _commonInitializationWithFrameName:groupName:]): 5423 initialize the cached value of _private->useSiteSpecificSpoofing here; formerly it would not 5424 be initialized correctly in the common case of WebViews that use [WebPreferences standardPreferences] 5425 5426 2007-03-27 Mark Rowe <mrowe (a] apple.com> 5427 5428 Reviewed by Dave Harrison. 5429 5430 * Configurations/WebKit.xcconfig: Include UMBRELLA_FRAMEWORKS_DIR in framework search path. 5431 5432 2007-03-26 Antti Koivisto <antti (a] apple.com> 5433 5434 Reviewed by Darin. 5435 5436 On Mac, support fine grained wheel events generated by trackpad and Mighty Mouse. 5437 http://bugs.webkit.org/show_bug.cgi?id=13134 5438 <rdar://problem/5076249> 5439 5440 * WebCoreSupport/WebSystemInterface.m: 5441 (InitWebCoreSystemInterface): Expose GetWheelEventDeltas() 5442 5443 2007-03-26 John Sullivan <sullivan (a] apple.com> 5444 5445 Reviewed by Dave Harrison 5446 5447 - fixed <rdar://problem/4769772> Problem with Find on certain PDF page 5448 5449 * WebView/WebPDFView.mm: 5450 (-[WebPDFView _scaledAttributedString:]): 5451 We were hitting an exception trying to set the font attribute to nil, which was happening because 5452 the result of -[PDFSelection attributedString] had no attributes. That PDFSelection bug is now 5453 filed separately, but this works around the exception. 5454 5455 2007-03-24 David Hyatt <hyatt (a] apple.com> 5456 5457 Amend the statistics reporting for the WebCore cache to include XSL and to report live/decoded sizes. 5458 5459 * Misc/WebCache.mm: 5460 (+[WebCache statistics]): 5461 5462 2007-03-24 Brady Eidson <beidson (a] apple.com> 5463 5464 Reviewed by Adam 5465 5466 RetainPtr is no longer in the WebCore namespace 5467 5468 * History/WebBackForwardList.mm: 5469 * WebCoreSupport/WebEditorClient.h: 5470 * WebCoreSupport/WebFrameLoaderClient.h: 5471 * WebView/WebDocumentLoaderMac.h: 5472 5473 2007-03-24 Brady Eidson <beidson (a] apple.com> 5474 5475 Reviewed by Adam 5476 5477 <rdar://problem/5086210> - Move RetainPtr to WTF 5478 5479 * ForwardingHeaders/wtf/RetainPtr.h: Added. 5480 * History/WebBackForwardList.mm: Changed #import to <wtf/RetainPtr.h> 5481 * WebCoreSupport/WebEditorClient.h: Ditto 5482 * WebCoreSupport/WebFrameLoaderClient.h: Ditto 5483 * WebView/WebDocumentLoaderMac.h: Ditto 5484 5485 2007-03-24 John Sullivan <sullivan (a] apple.com> 5486 5487 Reviewed by Adele 5488 5489 - fixed <rdar://problem/5084872> Need to add flickr to spoof list in WebKit 5490 - only do site-specific spoofing if a preference is set 5491 5492 * WebView/WebPreferenceKeysPrivate.h: 5493 added WebKitUseSiteSpecificSpoofingPreferenceKey 5494 5495 * WebView/WebPreferences.m: 5496 (+[WebPreferences initialize]): 5497 initialize WebKitUseSiteSpecificSpoofingPreferenceKey to false 5498 (-[WebPreferences _useSiteSpecificSpoofing]): 5499 get value of WebKitUseSiteSpecificSpoofingPreferenceKey 5500 (-[WebPreferences _setUseSiteSpecificSpoofing:]): 5501 set value of WebKitUseSiteSpecificSpoofingPreferenceKey 5502 5503 * WebView/WebPreferencesPrivate.h: 5504 declare _useSiteSpecificSpoofing and _setUseSiteSpecificSpoofing 5505 5506 * WebView/WebView.mm: 5507 cache the value of WebKitUseSiteSpecificSpoofingPreferenceKey in a bool in _private 5508 (-[WebView _preferencesChangedNotification:]): 5509 update the cached value 5510 (-[WebView setPreferences:]): 5511 ditto 5512 (-[WebView WebCore::_userAgentForURL:WebCore::]): 5513 Only spoof here if the new site-specific spoofing preference is enabled. If it is, pass 5514 Safari 2.0.4's user agent string for flickr.com. We can remove this case when 5081617 is addressed. 5515 5516 2007-03-24 Mark Rowe <mrowe (a] apple.com> 5517 5518 Rubber-stamped by Darin. 5519 5520 * Configurations/WebKit.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS. 5521 5522 2007-03-23 Mark Rowe <mrowe (a] apple.com> 5523 5524 Build fix for when BUILDING_ON_TIGER is not defined. 5525 5526 * Misc/WebTypesInternal.h: 5527 * WebView/WebHTMLView.mm: 5528 5529 2007-03-22 David Kilzer <ddkilzer (a] apple.com> 5530 5531 Reviewed by Darin. 5532 5533 Use BUILDING_ON_TIGER from WebKitPrefix.h instead of local 5534 MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 tests. 5535 5536 * Misc/WebTypesInternal.h: 5537 * WebView/WebHTMLView.mm: 5538 5539 2007-03-22 Darin Adler <darin (a] apple.com> 5540 5541 Reviewed by Adele. 5542 5543 - fix <rdar://problem/5074630> detachChildren call should move from WebKit to WebCore 5544 5545 * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::prepareForDataSourceReplacement): 5546 Remove call to detachChildren. This should be a WebCore responsibility. 5547 5548 2007-03-19 Anders Carlsson <acarlsson (a] apple.com> 5549 5550 Reviewed by Dave Hyatt. 5551 5552 <rdar://problem/5067983> 5553 iSale: Crash occurs at WebFrameLoaderClient::dispatchDecidePolicyForMIMEType() when attempting to load a HTML template 5554 5555 Restore old behavior (broke in r14533) where the resource load and download delegates are retained for as long as the 5556 data source is loading. 5557 5558 * WebCoreSupport/WebFrameLoaderClient.mm: 5559 (WebFrameLoaderClient::createDocumentLoader): 5560 * WebView/WebDocumentLoaderMac.h: 5561 * WebView/WebDocumentLoaderMac.mm: 5562 (WebDocumentLoaderMac::setDataSource): 5563 (WebDocumentLoaderMac::decreaseLoadCount): 5564 5565 2007-03-19 Geoffrey Garen <ggaren (a] apple.com> 5566 5567 Speculative fix for why ASSERT_MAIN_THREAD didn't work for me. (The 5568 documentation says "non-zero," not "1." 5569 5570 * Misc/WebKitLogging.m: 5571 (WebKitRunningOnMainThread): 5572 5573 2007-03-19 Andrew Wellington <proton (a] wiretapped.net> 5574 5575 Reviewed by Maciej. 5576 5577 Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html) 5578 5579 * WebKit.xcodeproj/project.pbxproj: 5580 5581 2007-03-19 Darin Adler <darin (a] apple.com> 5582 5583 * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes. 5584 5585 2007-03-19 John Sullivan <sullivan (a] apple.com> 5586 5587 Reviewed by Justin 5588 5589 - fixed <rdar://problem/5071238> REGRESSION: opt-cmd-B to show Bookmarks view does 5590 nothing when form field has focus 5591 5592 * WebView/WebHTMLView.mm: 5593 (-[WebHTMLView _handleStyleKeyEquivalent:]): 5594 we were counting any set of modifiers plus 'b' as the standard key equivalent for 5595 toggling Bold; now we only accept command+'b' 5596 5597 2007-03-19 Adam Roben <aroben (a] apple.com> 5598 5599 Reviewed by Hyatt and Maciej. 5600 5601 Updated WebCoreStatistics for the conversion of WebCoreJavaScript to 5602 C++. 5603 5604 * Misc/WebCoreStatistics.mm: 5605 (+[WebCoreStatistics javaScriptObjectsCount]): 5606 (+[WebCoreStatistics javaScriptInterpretersCount]): 5607 (+[WebCoreStatistics javaScriptProtectedObjectsCount]): 5608 (+[WebCoreStatistics javaScriptRootObjectTypeCounts]): Moved 5609 conversion to NSCountedSet here from WebCore. 5610 (+[WebCoreStatistics garbageCollectJavaScriptObjects]): 5611 (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThread:]): 5612 (+[WebCoreStatistics shouldPrintExceptions]): 5613 (+[WebCoreStatistics setShouldPrintExceptions:]): 5614 (+[WebCoreStatistics javaScriptReferencedObjectsCount]): 5615 (+[WebCoreStatistics javaScriptRootObjectClasses]): 5616 5617 2007-03-18 Andrew Wellington <proton (a] wiretapped.net> 5618 5619 Reviewed by Mark Rowe 5620 5621 Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html) 5622 5623 * WebKit.xcodeproj/project.pbxproj: 5624 5625 2007-03-19 Mark Rowe <mrowe (a] apple.com> 5626 5627 Rubber-stamped by Brady. 5628 5629 Update references to bugzilla.opendarwin.org with bugs.webkit.org. 5630 5631 * WebInspector/webInspector/inspector.css: 5632 * WebView/WebHTMLView.mm: 5633 (-[WebHTMLView firstRectForCharacterRange:]): 5634 * WebView/WebView.mm: 5635 (-[WebView initWithFrame:frameName:groupName:]): 5636 5637 2007-03-18 David Hyatt <hyatt (a] apple.com> 5638 5639 Move frame borders out of WebKit and into WebCore. 5640 5641 Reviewed by aroben, olliej 5642 5643 * WebCoreSupport/WebFrameBridge.mm: 5644 * WebKit.xcodeproj/project.pbxproj: 5645 * WebView/WebFrameView.mm: 5646 (-[WebFrameView drawRect:]): 5647 (-[WebFrameView setFrameSize:]): 5648 * WebView/WebFrameViewInternal.h: 5649 5650 2007-03-17 John Sullivan <sullivan (a] apple.com> 5651 5652 Reviewed by Tim Hatcher 5653 5654 Discovered while working on <rdar://problem/5070334> that many WebView calls will crash if called 5655 after -[WebView close] has executed because _private->page is deferenced after it's been set to 0. 5656 It might be silly/wrong to call these methods after -close, but obviously it shouldn't crash. Made 5657 each use of _private->page robust against nil-dereferencing. 5658 5659 * WebView/WebView.mm: 5660 (-[WebView _loadBackForwardListFromOtherView:]): 5661 (-[WebView _updateWebCoreSettingsFromPreferences:]): 5662 (-[WebView _setDashboardBehavior:to:]): 5663 (-[WebView _dashboardBehavior:]): 5664 (-[WebView goBack]): 5665 (-[WebView goForward]): 5666 (-[WebView goToBackForwardItem:]): 5667 (-[WebView canGoBack]): 5668 (-[WebView canGoForward]): 5669 (-[WebView setTabKeyCyclesThroughElements:]): 5670 (-[WebView tabKeyCyclesThroughElements]): 5671 (-[WebView setEditable:]): 5672 5673 2007-03-17 Timothy Hatcher <timothy (a] apple.com> 5674 5675 Reviewed by Mark Rowe. 5676 5677 Made Version.xcconfig smarter when building for different configurations. 5678 Now uses the 522+ OpenSource version for Debug and Release, while using the 5679 full 522.4 version for Production builds. The system prefix is also computed 5680 based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard. 5681 5682 * Configurations/Version.xcconfig: 5683 * Configurations/WebKit.xcconfig: 5684 5685 2007-03-16 Oliver Hunt <oliver (a] apple.com> 5686 5687 Reviewed by Hyatt. 5688 5689 The old canSaveAsWebArchive call was necessary as stand alone 5690 images used to be rendered by ImageDocument. 5691 5692 Fixes rdar://problem/5061252 5693 5694 * WebCoreSupport/WebDragClient.h: 5695 * WebCoreSupport/WebDragClient.mm: 5696 (WebDragClient::declareAndWriteDragImage): 5697 * WebKit.xcodeproj/project.pbxproj: 5698 5699 2007-03-15 Brady Eidson <beidson (a] apple.com> 5700 5701 Reviewed by Maciej 5702 5703 <rdar://problem/4429701> 5704 Implements a port blocking black list that matches Firefox's 5705 5706 * English.lproj/Localizable.strings: Added localizable string for port blocked error code 5707 5708 * Misc/WebKitErrors.h: 5709 * Misc/WebKitErrors.m: 5710 (registerErrors): Add new port blocked error code to WebKitErrorDomain 5711 5712 * WebCoreSupport/WebFrameLoaderClient.h: 5713 * WebCoreSupport/WebFrameLoaderClient.mm: 5714 (WebFrameLoaderClient::cancelledError): Fixed coding style 5715 (WebFrameLoaderClient::blockedError): Return a ResourceError with the new custom error code 5716 5717 2007-03-15 Timothy Hatcher <timothy (a] apple.com> 5718 5719 Reviewed by John. 5720 5721 * Fixes: <rdar://problem/4927747> WebKit's Current Library Version number should match the Info.plist Version 5722 * Factored out most of our common build settings into .xcconfig files. Anything that was common in 5723 each build configuration was factored out into the shared .xcconfig file. 5724 * Adds a Version.xcconfig file to define the current framework version, to be used in other places. 5725 * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist. 5726 * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION). 5727 * Make WebKit use the same warning flags as the other projects. This required two casts to be added to fix new warnings. 5728 5729 * Configurations/Base.xcconfig: Added. 5730 * Configurations/DebugRelease.xcconfig: Added. 5731 * Configurations/Version.xcconfig: Added. 5732 * Configurations/WebKit.xcconfig: Added. 5733 * Info.plist: 5734 * Misc/WebKitVersionChecks.h: 5735 * Plugins/WebBaseNetscapePluginStream.m: 5736 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): 5737 * WebKit.xcodeproj/project.pbxproj: 5738 5739 2007-03-15 Kevin Decker <kdecker (a] apple.com> 5740 5741 Reviewed by Anders. 5742 5743 Fixed: <rdar://problem/5001428> stationery background images do not display 5744 5745 Change 19244 fixed the method -[WebResource _shouldIgnoreWhenUnarchiving], but also broke Mail stationery. 5746 5747 The problem was that with archivedResourceForURL now fixed, the engine will try to decode the images. These images wouldn't decode because 5748 Mail re-encodes and directly manipulates the image data in such a way that prevented WebKit from decoding the image. Because Mail was giving 5749 us bad data, the images wouldn't render. This was never an issue before because archivedResourceForURL (broken) always returned nil, thus the 5750 engine would never attempt to decode the resource, therefore the responsibility was delegated to Mail's protocol handler, which would do the 5751 right thing and load the image. 5752 5753 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 5754 subresources while unarchiving. This SPI is -[WebResource _shouldIgnoreWhenUnarchiving]. 5755 5756 * WebView/WebResource.mm: Addd private ivar shouldIgnoreWhenUnarchiving. 5757 (-[WebResource _ignoreWhenUnarchiving]): Added. 5758 (-[WebResource _shouldIgnoreWhenUnarchiving]): Added. 5759 * WebView/WebResourcePrivate.h: Added two methods to private header. 5760 * WebView/WebUnarchivingState.m: 5761 (-[WebUnarchivingState archivedResourceForURL:]): Check if we should ignore the resource. 5762 5763 2007-03-15 Mark Rowe <mrowe (a] apple.com> 5764 5765 Reviewed by Antti. 5766 5767 Fix for <rdar://problem/5065060> ASSERTION FAILURE: newUsername && newPassword 5768 when submitting an authentication form without password. 5769 5770 * WebCoreSupport/WebFrameLoaderClient.mm: 5771 (WebFrameLoaderClient::dispatchWillSubmitForm): Don't omit form fields with empty values from the dictionary 5772 passed to the delegate. 5773 5774 2007-03-14 Anders Carlsson <acarlsson (a] apple.com> 5775 5776 Reviewed by Dave Hyatt. 5777 5778 Don't add the data twice, it's also done by didReceiveData. 5779 5780 * WebCoreSupport/WebFrameLoaderClient.mm: 5781 (WebFrameLoaderClient::deliverArchivedResources): 5782 5783 2007-03-14 Anders Carlsson <acarlsson (a] apple.com> 5784 5785 Fix segmentation fault when running layout tests. 5786 5787 Remove bogus check that that I added on purpose to see how good Geoff is at spotting mistakes when reviewing code. 5788 (Turns out he's not that good!) 5789 5790 * WebView/WebDocumentLoaderMac.mm: 5791 (WebDocumentLoaderMac::increaseLoadCount): 5792 5793 2007-03-14 Anders Carlsson <acarlsson (a] apple.com> 5794 5795 Reviewed by Geoff. 5796 5797 http://bugs.webkit.org/show_bug.cgi?id=13076 5798 REGRESSION: Multiple loading tabs cause assertion in WebDocumentLoaderMac::decreaseLoadCount(unsigned long) 5799 5800 Store the identifier set in the document loader since identifiers are per-webview and not global. 5801 5802 * WebView/WebDocumentLoaderMac.h: 5803 * WebView/WebDocumentLoaderMac.mm: 5804 (WebDocumentLoaderMac::WebDocumentLoaderMac): 5805 (WebDocumentLoaderMac::attachToFrame): 5806 (WebDocumentLoaderMac::increaseLoadCount): 5807 (WebDocumentLoaderMac::decreaseLoadCount): 5808 5809 2007-03-14 David Harrison <harrison (a] apple.com> 5810 5811 Reviewed by Maciej. 5812 5813 <rdar://problem/5009625> REGRESSION: Aperture 1.5: Can't select entire line of text after correcting a misspelled word 5814 5815 * WebCoreSupport/WebEditorClient.mm: 5816 (WebEditorClient::respondToChangedSelection): 5817 * WebCoreSupport/WebFrameBridge.mm: 5818 Provide compatibility by not sending WebViewDidChangeSelectionNotification if 5819 the app is Aperture and is linked against WebKit 2.0. 5820 5821 === Safari-5522.4 === 5822 5823 2007-03-14 Anders Carlsson <acarlsson (a] apple.com> 5824 5825 Reviewed by Geoff. 5826 5827 <rdar://problem/5058714> 5828 http://bugs.webkit.org/show_bug.cgi?id=13050 5829 5830 World leaks seen on Leopard after opening then closing tab (13050) 5831 5832 Add a hash set to prevent the load count to be increased twice for the same resource. 5833 5834 * WebCoreSupport/WebFrameLoaderClient.mm: 5835 (WebFrameLoaderClient::dispatchWillSendRequest): 5836 (WebFrameLoaderClient::dispatchDidFinishLoading): 5837 (WebFrameLoaderClient::dispatchDidFailLoading): 5838 * WebView/WebDocumentLoaderMac.h: 5839 * WebView/WebDocumentLoaderMac.mm: 5840 (loadingResources): 5841 (WebDocumentLoaderMac::increaseLoadCount): 5842 (WebDocumentLoaderMac::decreaseLoadCount): 5843 5844 2007-03-14 Adele Peterson <adele (a] apple.com> 5845 5846 Reviewed by Darin. 5847 5848 Removed _insertTextWithEvent, _insertNewlineWithEvent, and _insertTextWithEvent. 5849 Instead, use execCommand and insertText methods on the Editor. 5850 5851 * WebView/WebHTMLView.mm: 5852 (-[WebHTMLView insertTab:]): 5853 (-[WebHTMLView insertBacktab:]): 5854 (-[WebHTMLView insertNewline:]): 5855 (-[WebHTMLView insertLineBreak:]): 5856 (-[WebHTMLView insertParagraphSeparator:]): 5857 (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): 5858 (-[WebHTMLView insertTabIgnoringFieldEditor:]): 5859 (-[WebHTMLView yank:]): 5860 (-[WebHTMLView yankAndSelect:]): 5861 (-[WebHTMLView doCommandBySelector:]): 5862 (-[WebHTMLView insertText:]): 5863 5864 2007-03-14 David Hyatt <hyatt (a] apple.com> 5865 5866 Fixes to ensure that the resource loader's shared buffer can always be used. 5867 5868 Reviewed by olliej, mjs 5869 5870 * Misc/WebIconDatabase.mm: 5871 (-[WebIconDatabase _convertToWebCoreFormat]): 5872 * WebCoreSupport/WebFrameLoaderClient.mm: 5873 (WebFrameLoaderClient::deliverArchivedResources): 5874 5875 2007-03-13 Oliver Hunt <oliver (a] apple.com> 5876 5877 Reviewed by Brady. 5878 5879 Modify subresourceForURL to take NSString argument 5880 so we can avoid [NSURL absoluteString] 5881 5882 * WebView/WebDataSource.mm: 5883 (-[WebDataSource subresourceForURL:]): 5884 5885 2007-03-13 Brady Eidson <beidson (a] apple.com> 5886 5887 Rubberstamped by Alice 5888 5889 Meant to be part of my previous checkin... pruning unused code from WebKit 5890 5891 * WebView/WebFrame.mm: Removed _canCachePage 5892 * WebView/WebFrameInternal.h: Ditto 5893 5894 2007-03-13 Beth Dakin <bdakin (a] apple.com> 5895 5896 Reviewed by Maciej. 5897 5898 Fix for <rdar://problem/4277074> 8F32: Help Viewer crashed on 5899 clicking link - KHTMLView::viewportMouseReleaseEvent (12647) 5900 5901 Re-set the DocumentLoader's frame when loading it from the page 5902 cache before setting the document view. 5903 5904 * WebCoreSupport/WebFrameLoaderClient.mm: 5905 (WebFrameLoaderClient::setDocumentViewFromPageCache): 5906 5907 2007-03-13 Timothy Hatcher <timothy (a] apple.com> 5908 5909 Reviewed by Geoff. 5910 5911 <rdar://problem/5057117> Spoof user agent on Yahoo.com with Safari and WebKit as version 4xx 5912 5913 * Plugins/WebBaseNetscapePluginView.mm: 5914 (-[WebBaseNetscapePluginView userAgent]): Stop using the deprecated lossyCString method. 5915 * WebCoreSupport/WebFrameBridge.mm: Removed dead code, userAgentForURL: wasn't used. 5916 * WebCoreSupport/WebFrameLoaderClient.mm: 5917 (WebFrameLoaderClient::userAgent): Call WebView's _userAgentForURL:. 5918 * WebView/WebView.mm: 5919 (-[WebView _cachedResponseForURL:]): Call userAgentForURL: instead of _userAgent. 5920 (-[WebView userAgentForURL:]): Call _userAgentForURL:. 5921 (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): New method to construct a UA. 5922 (-[WebView _computeUserAgent]): Ractored out into _userAgentWithApplicationName:andWebKitVersion: 5923 (-[WebView _userAgentForURL:]): Tail compare for Yahoo.com, and return a UA with an older WebKit version. 5924 * WebView/WebViewInternal.h: Declare _userAgentForURL:. 5925 5926 2007-03-12 David Harrison <harrison (a] apple.com> 5927 5928 Reviewed by Darin. 5929 5930 <rdar://problem/4743256> ctrl-y key binding (yank) should do nothing when kill ring is empty 5931 5932 Test updated: 5933 * editing/pasteboard/emacs-cntl-y-001.html: 5934 5935 * WebView/WebHTMLView.mm: 5936 (-[WebHTMLView yank:]): 5937 (-[WebHTMLView yankAndSelect:]): 5938 Do nothing if the killring is empty. 5939 5940 2007-03-12 Darin Adler <darin (a] apple.com> 5941 5942 Reviewed by Tim Hatcher. 5943 5944 - update for the new naming scheme for the Objective-C wrapper-creation 5945 functions: _wrapElement: instead of _elementWith:, etc. 5946 5947 * WebCoreSupport/WebEditorClient.mm: 5948 (WebEditorClient::textFieldDidBeginEditing): 5949 (WebEditorClient::textFieldDidEndEditing): 5950 (WebEditorClient::textDidChangeInTextField): 5951 (WebEditorClient::doTextFieldCommandFromEvent): 5952 (WebEditorClient::textWillBeDeletedInTextField): 5953 (WebEditorClient::textDidChangeInTextArea): 5954 * WebCoreSupport/WebFrameLoaderClient.mm: 5955 (WebFrameLoaderClient::createPlugin): 5956 (WebFrameLoaderClient::createJavaAppletWidget): 5957 * WebView/WebFrame.mm: (kit): 5958 Use the _wrapElement-style functions. 5959 5960 2007-03-12 Anders Carlsson <acarlsson (a] apple.com> 5961 5962 Reviewed by Maciej. 5963 5964 <rdar://problem/5057575> 5965 REGRESSION: Repro Crash in FrameLoader::frame loading about:blank in PLT 5966 5967 Always get the web view from the current web frame, since the document loader's frame can have been zeroed out 5968 (for example when detaching the document loader). 5969 5970 * WebCoreSupport/WebFrameLoaderClient.mm: 5971 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): 5972 (WebFrameLoaderClient::assignIdentifierToInitialRequest): 5973 (WebFrameLoaderClient::dispatchWillSendRequest): 5974 (WebFrameLoaderClient::dispatchDidReceiveResponse): 5975 (WebFrameLoaderClient::dispatchDidReceiveContentLength): 5976 (WebFrameLoaderClient::dispatchDidFinishLoading): 5977 5978 2007-03-11 Oliver Hunt <oliver (a] apple.com> 5979 5980 Reviewed by Adele. 5981 5982 Moved respondToChangedSelection from FrameBridge to EditorClient 5983 5984 * WebCoreSupport/WebEditorClient.h: 5985 * WebCoreSupport/WebEditorClient.mm: 5986 (WebEditorClient::respondToChangedSelection): 5987 * WebCoreSupport/WebFrameBridge.mm: 5988 Removed respondToChangedSelection from bridge 5989 5990 2007-03-11 Darin Adler <darin (a] apple.com> 5991 5992 Reviewed by Adele. 5993 5994 - fix http://bugs.webkit.org/show_bug.cgi?id=12964 5995 <rdar://problem/5045717> REGRESSION: crash in -[WebBaseNetscapePluginStream _deliverData] 5996 at simpsonsmovie.com (12964) 5997 5998 * Plugins/WebBaseNetscapePluginStream.m: 5999 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): 6000 At every place we call the plug-in, since it could destroy the stream, get pluginView into a local 6001 variable; it will be set to nil if the stream is destroyed. 6002 (-[WebBaseNetscapePluginStream _destroyStream]): Added calls to retain/release to handle the case where 6003 one of the calls to the plug-in destroys the stream. Added a call to cancelPreviousPerformRequestsWithTarget 6004 in case _deliverData has been scheduled but not yet delivered. Also get pluginView into a local variable 6005 as mentioned above, and check at strategic points and exit if the stream was already destroyed to avoid 6006 multiple calls to NPP_DestroyStream or NPP_URLNotify. 6007 (-[WebBaseNetscapePluginStream _deliverData]): Ditto. 6008 6009 2007-03-10 Geoffrey Garen <ggaren (a] apple.com> 6010 6011 Reviewed by Darin Adler. 6012 6013 Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and 6014 JSCore causes a hang @ www.panoramas.dk 6015 6016 See JavaScriptCore ChangeLog for details. 6017 6018 Drop the JSLock before making calls through the plug-in API from functions 6019 that may have been called by JavaScript. 6020 6021 * Plugins/WebBaseNetscapePluginView.mm: 6022 (-[WebBaseNetscapePluginView sendEvent:]): 6023 (-[WebBaseNetscapePluginView setWindowIfNecessary]): 6024 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]): 6025 (-[WebBaseNetscapePluginView createPluginScriptableObject]): 6026 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): 6027 (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): 6028 (-[WebBaseNetscapePluginView loadPluginRequest:]): 6029 (-[WebBaseNetscapePluginView _printedPluginBitmap]): 6030 * Plugins/WebPluginController.mm: 6031 (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): 6032 (-[WebPluginController startAllPlugins]): 6033 (-[WebPluginController stopAllPlugins]): 6034 (-[WebPluginController addPlugin:]): 6035 (-[WebPluginController destroyPlugin:]): 6036 (-[WebPluginController destroyAllPlugins]): 6037 6038 2007-03-10 David Kilzer <ddkilzer (a] webkit.org> 6039 6040 Reviewed by Darin. 6041 6042 - fix http://bugs.webkit.org/show_bug.cgi?id=9609 6043 REGRESSION: Missing image icon needs to be moved back to WebKit 6044 6045 * WebView/WebHTMLView.mm: 6046 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): 6047 Use WebCore::Image::loadPlatformResource(const char*) to load the missingImage image. 6048 6049 2007-03-10 Mark Rowe <mrowe (a] apple.com> 6050 6051 Reviewed by John. 6052 6053 <rdar://problem/5051827> HIWebView handling of kEventControlGetData is broken in 64-bit 6054 6055 On Leopard the kEventParamControlDataBufferSize event parameter is of type typeByteCount. 6056 The 32-bit implementation of GetEventParameter will coerce between integer types and 6057 typeByteCount while the 64-bit version will return a failure. As typeByteCount is new 6058 in Leopard we must continue using typeSInt32 when building for Tiger. 6059 6060 * Carbon/HIWebView.m: 6061 (HIWebViewEventHandler): 6062 6063 2007-03-09 Timothy Hatcher <timothy (a] apple.com> 6064 6065 Reviewed by Darin. 6066 6067 <rdar://problem/4976254> Please get off _NSSoftLinkingGetFrameworkFuncPtr 6068 6069 Use dlopen and dlsym to access the DCSShowDictionaryServiceWindow function. 6070 6071 * WebView/WebHTMLView.mm: 6072 (-[WebHTMLView _lookUpInDictionaryFromMenu:]): 6073 6074 2007-03-09 Darin Adler <darin (a] apple.com> 6075 6076 Reviewed by Justin. 6077 6078 - fix http://bugs.webkit.org/show_bug.cgi?id=8928 6079 <rdar://problem/5045708> REPRODUCIBLE ASSERT: Cannot paste HTML into a 6080 contenteditable region in an XHTML document (8928) 6081 6082 * WebView/WebHTMLView.mm: 6083 (-[WebHTMLView _hasHTMLDocument]): Added. 6084 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): 6085 Don't call AppKit's conversion from the DOM to an attributed string if the document 6086 is not an HTML document, to work around an AppKit limitation (Radar 5052390). 6087 6088 2007-03-09 Darin Adler <darin (a] apple.com> 6089 6090 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes. 6091 6092 2007-03-08 Mark Rowe <mrowe (a] apple.com> 6093 6094 Reviewed by Tim Hatcher. 6095 6096 <rdar://problem/5051616> Mouse clicks and movement are ignored in HIWebView on 64-bit 6097 6098 Mouse events are not being handled correctly as GetControlKind is returning an error 6099 on 64-bit. The more modern HIObjectIsOfClass behaves correctly for this use. 6100 6101 * Carbon/HIWebView.m: 6102 (HIWebViewDestructor): 6103 (WindowHandler): Use HIObjectIsOfClass in place of GetControlKind. 6104 (HIWebViewEventHandler): Don't leak the NSEvent. 6105 6106 2007-03-08 Bruce Q Hammond <bruceq (a] apple.com> 6107 6108 Reviewed by Darin. 6109 6110 Fix for http://bugs.webkit.org/show_bug.cgi?id=13009 6111 Console spews "CGContextGetType: invalid context" non-stop on web site 6112 6113 * Plugins/WebBaseNetscapePluginView.mm: 6114 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): 6115 (-[WebBaseNetscapePluginView restorePortState:]): 6116 6117 2007-03-08 Mark Rowe <mrowe (a] apple.com> 6118 6119 Reviewed by Tim Hatcher. 6120 6121 <rdar://problem/4561772> HIWebView does not exist for 64-bit 6122 6123 Update HIWebView and friends to work without QuickDraw. 6124 6125 Changes are gleaned from the 64-bit support inside HICocoaView. The main 6126 fact of interest are that all Carbon windows must have compositing enabled 6127 so the code paths that aren't accessible are #ifdef'd out. Conveniently 6128 these are the exact code paths that make use of QuickDraw. 6129 6130 There are currently minor event-handling and invalidation issues running as 6131 64-bit that are not present in 32-bit. 6132 6133 * Carbon/CarbonUtils.m: 6134 * Carbon/CarbonWindowAdapter.m: 6135 * Carbon/CarbonWindowFrame.m: 6136 * Carbon/HIViewAdapter.m: 6137 (SetViewNeedsDisplay): 6138 * Carbon/HIWebView.m: 6139 (Draw): 6140 (Click): 6141 (SyncFrame): 6142 (StartUpdateObserver): 6143 (StopUpdateObserver): 6144 (UpdateObserver): 6145 * WebKit.LP64.exp: Removed. 6146 * WebKit.xcodeproj/project.pbxproj: Always use WebKit.exp. 6147 6148 2007-03-08 Timothy Hatcher <timothy (a] apple.com> 6149 6150 Reviewed by John. 6151 6152 <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context 6153 6154 Added new methods to the WebHTMLHighlighter protocol that include the DOMNode being painted. 6155 6156 * WebCoreSupport/WebFrameBridge.mm: 6157 (-[WebFrameBridge customHighlightRect:forLine:representedNode:WebCore::]): 6158 (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:representedNode:WebCore::]): 6159 * WebKit.xcodeproj/project.pbxproj: 6160 * WebView/WebHTMLViewPrivate.h: 6161 6162 2007-03-08 Anders Carlsson <acarlsson (a] apple.com> 6163 6164 Try fixing the buildbot build. 6165 6166 * Plugins/WebBaseNetscapePluginView.mm: 6167 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): 6168 6169 2007-03-07 Anders Carlsson <acarlsson (a] apple.com> 6170 6171 Leopard build fix. 6172 6173 * Plugins/WebBaseNetscapePluginView.mm: 6174 6175 2007-03-07 Bruce Q Hammond <bruceq (a] apple.com> 6176 6177 Reviewed by Darin. 6178 6179 - fix http://bugs.webkit.org/show_bug.cgi?id=12515 6180 Plug-ins that draw through the Quickdraw interface fail in a CGBitmapContex. 6181 <rdar://problem/4975122> 6182 6183 This fixes a problem with Netscape-style Plug-ins which draw through the Quickdraw APIs 6184 being unable to render into offscreen bitmap contexts. 6185 6186 This patches both saveAndSetNewPortStateForUpdate: and restorePortState: 6187 These methods now check the current context and see if appropriate setup/cleanup needs to be done 6188 for offscreen rendering. 6189 6190 * Plugins/WebBaseNetscapePluginView.mm: 6191 (QDPixelFormatFromCGBitmapInfo): 6192 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): 6193 (-[WebBaseNetscapePluginView restorePortState:]): 6194 6195 2007-03-07 Anders Carlsson <acarlsson (a] apple.com> 6196 6197 Reviewed by Darin. 6198 6199 Use HardRetain/HardRelease. 6200 6201 * WebView/WebDocumentLoaderMac.mm: 6202 (WebDocumentLoaderMac::setDataSource): 6203 (WebDocumentLoaderMac::attachToFrame): 6204 (WebDocumentLoaderMac::detachFromFrame): 6205 (WebDocumentLoaderMac::increaseLoadCount): 6206 (WebDocumentLoaderMac::decreaseLoadCount): 6207 6208 2007-03-07 Anders Carlsson <acarlsson (a] apple.com> 6209 6210 Reviewed by Maciej. 6211 6212 <rdar://problem/4961259> 6213 REGRESSION: Bumper Car 2.1.1 - Crash at WebCore::FrameLoader::receivedMainResourceError when encountering a invalid URL address 6214 6215 (The crash was already fixed, this actually makes Bumper Car load the error page correctly.) 6216 6217 This adds a "load counter" to the document loader and keeps the data source retained for as long as something is loading. 6218 6219 * WebCoreSupport/WebFrameLoaderClient.mm: 6220 (WebFrameLoaderClient::dispatchWillSendRequest): 6221 Increase the load counter. 6222 6223 (WebFrameLoaderClient::dispatchDidFinishLoading): 6224 (WebFrameLoaderClient::dispatchDidFailLoading): 6225 Decrease the load counter, 6226 6227 * WebView/WebDocumentLoaderMac.h: 6228 * WebView/WebDocumentLoaderMac.mm: 6229 (WebDocumentLoaderMac::WebDocumentLoaderMac): 6230 6231 (WebDocumentLoaderMac::attachToFrame): 6232 If the document loader has been detached, make sure to retain its data source here. 6233 6234 (WebDocumentLoaderMac::detachFromFrame): 6235 Release the data source. 6236 6237 (WebDocumentLoaderMac::increaseLoadCount): 6238 Retain the data source if load count was 0. 6239 6240 (WebDocumentLoaderMac::decreaseLoadCount): 6241 Release the data source if load count becomes 0 6242 6243 2007-03-07 Adele Peterson <adele (a] apple.com> 6244 6245 Reviewed by Darin. 6246 6247 WebKit part of fix for: 6248 http://bugs.webkit.org/show_bug.cgi?id=10871 6249 http://bugs.webkit.org/show_bug.cgi?id=12677 6250 <rdar://problem/4823129> REGRESSION: IME key events different in nightly 6251 <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri 6252 6253 * WebView/WebHTMLView.mm: 6254 (-[WebHTMLView _interceptEditingKeyEvent: shouldSaveCommand:]): Added shouldSaveCommand field to WebHTMLViewInterpretKeyEventsParameters. 6255 When shouldSaveCommand is true, we call interpretKeyEvents and in doCommandBySelector and insertText, we just save the information without performing any action. 6256 When shouldSaveCommand is false, we used the saved information and call doCommandBySelector and insertText directly. 6257 If there's no saved command data in the KeyboardEvent, call interpretKeyEvents, and honor the shouldSaveCommand argument. This allows repeating keypress events 6258 to function normally. 6259 (-[WebHTMLView doCommandBySelector:]): If the WebHTMLViewInterpretKeyEventsParameters shouldSaveCommand field is set, then 6260 just save the selector information in the KeyboardEvent, and don't perform the action. 6261 (-[WebHTMLView insertText:]): ditto. 6262 insertText can be called from an input method or from normal key event processing 6263 If its from an input method, then we should go ahead and insert the text now. 6264 The only way we know if its from an input method is to check hasMarkedText. There might be a better way to do this. 6265 6266 * WebView/WebHTMLViewInternal.h: Added shouldSaveCommand argument. 6267 * WebView/WebViewInternal.h: ditto. 6268 6269 * WebCoreSupport/WebEditorClient.h: 6270 * WebCoreSupport/WebEditorClient.mm: 6271 (WebEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress. Call _interceptEditingKeyEvent with shouldSaveCommand:NO. 6272 (WebEditorClient::handleInputMethodKeypress): Call _interceptEditingKeyEvent with shouldSaveCommand:YES. 6273 6274 2007-03-07 Anders Carlsson <acarlsson (a] apple.com> 6275 6276 Reviewed by Brady. 6277 6278 Update to match WebCore. 6279 6280 * Plugins/WebNetscapePluginStream.mm: 6281 (-[WebNetscapePluginStream start]): 6282 6283 2007-03-07 Jim Correia <jim.correia (a] pobox.com> 6284 6285 Reviewed by Darin. 6286 6287 - WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=12463 6288 WebArchiver - attempt to insert nil exception when archive empty iframe 6289 6290 When dealing with an iframe element with no src attribute, the element contains 6291 a src attribute in the DOM with a URL of "about:blank" and some HTML to implement 6292 the blank page. In the original page source, however, the iframe element does 6293 not include a src attribute, which caused a nil archive to be returned for the 6294 childFrameArchive and thus caused the bug. The fix is a simple nil check. 6295 6296 Test: webarchive/archive-empty-frame-source.html 6297 6298 * WebView/WebArchiver.mm: 6299 (+ (NSArray *)_subframeArchivesForFrame:(WebFrame *)frame): Don't add childFrameArchive 6300 to the subframeArchives array if it is nil. 6301 6302 2007-03-06 John Sullivan <sullivan (a] apple.com> 6303 6304 Reviewed by Darin 6305 6306 Made WebAuthenticationHandler.h SPI so Safari can call it directly. 6307 6308 * WebKit.exp: 6309 added .objc_class_name_WebPanelAuthenticationHandler 6310 * WebKit.xcodeproj/project.pbxproj: 6311 changed status of WebAuthenticationHandler.h from "project" to "private" 6312 6313 2007-03-06 Kevin McCullough <kmccullough (a] apple.com> 6314 6315 Reviewed by Darin. 6316 6317 - Rename a function to clarify its purpose. 6318 6319 * WebView/WebView.mm: 6320 (+[WebView registerURLSchemeAsLocal:]): 6321 * WebView/WebViewPrivate.h: 6322 6323 2007-03-06 Anders Carlsson <acarlsson (a] apple.com> 6324 6325 Reviewed by Adam. 6326 6327 Update for WebCore changes. 6328 6329 * WebCoreSupport/WebFrameLoaderClient.h: 6330 * WebCoreSupport/WebFrameLoaderClient.mm: 6331 (WebFrameLoaderClient::userAgent): 6332 6333 2007-03-05 Anders Carlsson <acarlsson (a] apple.com> 6334 6335 Reviewed by Adam, Darin. 6336 6337 <rdar://problem/5025212> 6338 In Mail, a crash occurs at WebCore::Frame::tree() when clicking on embedded flash object 6339 6340 * Plugins/WebBaseNetscapePluginView.mm: 6341 (-[WebBaseNetscapePluginView loadPluginRequest:]): 6342 Handle the case where the web view returned from the delegate method is null. Also, send out an error notification 6343 in that case so we can catch it. 6344 6345 2007-03-05 John Sullivan <sullivan (a] apple.com> 6346 6347 Reviewed by Darin and Kevin D 6348 6349 - fixed <rdar://problem/5038087> Header and footer on printed page are too large after certain steps 6350 6351 * WebView/WebView.mm: 6352 (-[WebView _adjustPrintingMarginsForHeaderAndFooter]): 6353 This method was modifying the margins in the NSPrintInfo object without any sort of check whether 6354 this had already been done. In some cases this can be called multiple times with the same 6355 NSPrintInfo, so now we stash information in the NSPrintInfo's dictionary such that we always 6356 start with a fresh copy of the original margins. 6357 6358 2007-03-02 Kevin McCullough <kmccullough (a] apple.com> 6359 6360 Reviewed by Geoff. 6361 6362 - rdar://problem/4922454 6363 - This fixes a security issue by making remote referrers not able to access local 6364 resources, unless they register their schemes to be treated as local. The result is 6365 that those schemes can access local resources and cannot be accessed by remote 6366 referrers. 6367 Because this behavior is new a link-on-or-after check is made to determine if the 6368 app should use the older, less safe, behavior. 6369 6370 * Misc/WebKitVersionChecks.h: added linked-on-or-after check 6371 * Misc/WebNSAttributedStringExtras.mm: Moved functionalit into the base class. 6372 (fileWrapperForElement): 6373 * Plugins/WebNetscapePluginStream.mm: uses new canLoad functions 6374 * Plugins/WebPluginContainerCheck.mm: uses new canLoad functions 6375 (-[WebPluginContainerCheck _isForbiddenFileLoad]): 6376 * WebView/WebView.mm: make linked-on-or-after check and cache value, exposes SPI 6377 for registering a scheme as local. 6378 (-[WebView _commonInitializationWithFrameName:groupName:]): 6379 (+[WebView registerSchemeAsLocal:]): 6380 * WebView/WebViewPrivate.h: exposes SPI for registering a scheme as local. 6381 6382 2007-03-01 Justin Garcia <justin.garcia (a] apple.com> 6383 6384 Reviewed by harrison 6385 6386 <rdar://problem/4838199> 6387 Integrate Mail and WebKit paste operations 6388 6389 Provide subresources used to create the fragment as a 6390 convenience. 6391 6392 * WebView/WebHTMLView.mm: 6393 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]): 6394 Update the calls to the changed method. 6395 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): 6396 Give the caller the subresources in the WebArchive and RTF cases. 6397 * WebView/WebHTMLViewPrivate.h: 6398 6399 2007-02-28 Oliver Hunt <oliver (a] apple.com> 6400 6401 Reviewed by Maciej. 6402 6403 Fixes <rdar://problem/5012009> 6404 6405 When looking for a requested resource we should also check 6406 the set of manually added subresources if WebCore can't find it. 6407 6408 * WebView/WebDataSource.mm: 6409 (-[WebDataSource subresourceForURL:]): 6410 6411 2007-02-28 Brady Eidson <beidson (a] apple.com> 6412 6413 Reviewed by Beth 6414 6415 Start using the Thread Safety Check implemented in WebCore for the DOM bindings in the rest of 6416 the WebKit API instead of the ASSERT_MAIN_THREAD() hack 6417 6418 * History/WebBackForwardList.mm: 6419 (-[WebBackForwardList initWithWebCoreBackForwardList:]): 6420 (-[WebBackForwardList init]): 6421 (-[WebBackForwardList dealloc]): 6422 (-[WebBackForwardList finalize]): 6423 * History/WebHistoryItem.mm: 6424 (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]): 6425 (-[WebHistoryItem dealloc]): 6426 (-[WebHistoryItem finalize]): 6427 (-[WebHistoryItem copyWithZone:]): 6428 (-[WebHistoryItem initWithWebCoreHistoryItem:]): 6429 * Misc/WebIconDatabase.mm: 6430 (-[WebIconDatabase init]): 6431 6432 2007-02-28 Adele Peterson <adele (a] apple.com> 6433 6434 Reviewed by Beth. 6435 6436 Fix for <rdar://problem/4887423> REGRESSION: search results popup menu strings are not localized 6437 and <rdar://problem/3517227> accessibility-related strings in WebCore are not localized 6438 6439 * WebCoreSupport/WebViewFactory.mm: 6440 (-[WebViewFactory searchMenuNoRecentSearchesText]): 6441 (-[WebViewFactory searchMenuRecentSearchesText]): 6442 (-[WebViewFactory searchMenuClearRecentSearchesText]): 6443 (-[WebViewFactory AXWebAreaText]): 6444 (-[WebViewFactory AXLinkText]): 6445 (-[WebViewFactory AXListMarkerText]): 6446 (-[WebViewFactory AXImageMapText]): 6447 (-[WebViewFactory AXHeadingText]): 6448 6449 2007-02-28 Mark Rowe <mrowe (a] apple.com> 6450 6451 Reviewed by Maciej. 6452 6453 <rdar://problem/5028473> WebKit allocates a huge number of NSCalendarDates while loading history file 6454 6455 * History/WebHistory.mm: 6456 (-[WebHistoryPrivate insertItem:atDateIndex:]): Use lastVisitedTimeInterval rather than _lastVisitedDate to avoid allocating NSCalendarDates. 6457 6458 2007-02-28 Mark Rowe <mrowe (a] apple.com> 6459 6460 Reviewed by Tim Hatcher. 6461 6462 <rdar://problem/4985524> Problem with Blot and ToT WebKit (decoding WebCoreScrollView) 6463 6464 References to WebCoreScrollView as a subview of a WebHTMLView may be present in some NIB 6465 files, so NSUnarchiver must be still able to look up the WebCoreScrollView class. 6466 6467 * WebKit.exp: Export WebCoreScrollView symbol. 6468 * WebView/WebHTMLView.mm: Add empty WebCoreScrollView class. 6469 6470 2007-02-27 Adam Roben <aroben (a] apple.com> 6471 6472 Reviewed by Beth. 6473 6474 Fix <rdar://problem/5011905> REGRESSION: "Open Link" contextual menu 6475 item appears twice 6476 6477 * WebCoreSupport/WebContextMenuClient.mm: 6478