Home | History | Annotate | Download | only in mac
      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