WebKit-https.git
16 years ago - updated
mjs [Mon, 6 Jun 2005 12:48:34 +0000 (12:48 +0000)]
- updated

        * WebKitSystemInterface.h:
        * libWebKitSystemInterface.a:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9303 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - remove use of AX SPI
mjs [Mon, 6 Jun 2005 12:48:06 +0000 (12:48 +0000)]
    - remove use of AX SPI

        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[WebViewFactory objectIsTextMarker:]):
        (-[WebViewFactory objectIsTextMarkerRange:]):
        (-[WebViewFactory textMarkerWithBytes:length:]):
        (-[WebViewFactory getBytes:fromTextMarker:length:]):
        (-[WebViewFactory textMarkerRangeWithStart:end:]):
        (-[WebViewFactory startOfTextMarkerRange:]):
        (-[WebViewFactory endOfTextMarkerRange:]):
        (-[WebViewFactory accessibilityHandleFocusChanged]):
        (-[WebViewFactory AXUIElementForElement:]):
        (-[WebViewFactory unregisterUniqueIdForUIElement:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9302 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - removed more SPI
mjs [Mon, 6 Jun 2005 12:16:15 +0000 (12:16 +0000)]
    - removed more SPI

        * Carbon.subproj/CarbonUtils.m:
        (WebInitForCarbon):
        (PoolCleaner):
        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView _postFlagsChangedEvent:]):
        (-[WebHTMLView _autoscroll]):
        (-[WebHTMLView addMouseMovedObserver]):
        (-[WebHTMLView removeMouseMovedObserver]):
        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
        (-[WebHTMLView _interceptEditingKeyEvent:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9301 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - updated
mjs [Mon, 6 Jun 2005 12:14:44 +0000 (12:14 +0000)]
    - updated

        * WebKitSystemInterface.h:
        * libWebKitSystemInterface.a:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9300 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - more SPI use removal
mjs [Mon, 6 Jun 2005 11:43:50 +0000 (11:43 +0000)]
    - more SPI use removal

        * Misc.subproj/WebDownload.h:
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _webkit_canonicalize]):
        * WebView.subproj/WebMainResourceClient.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient initWithDataSource:]):
        * WebView.subproj/WebView.m:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9299 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - updated
mjs [Mon, 6 Jun 2005 11:42:55 +0000 (11:42 +0000)]
    - updated

        * WebKitSystemInterface.h:
        * libWebKitSystemInterface.a:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9298 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - remove unneeded header include
mjs [Mon, 6 Jun 2005 11:16:11 +0000 (11:16 +0000)]
- remove unneeded header include

        * WebCoreSupport.subproj/WebImageRenderer.m:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9297 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - removed even more SPI use
mjs [Mon, 6 Jun 2005 11:12:32 +0000 (11:12 +0000)]
    - removed even more SPI use

        * Misc.subproj/WebDownload.m:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _imageSourceOptions]):
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (WebCGColorSpaceCreateRGB):
        (WebCGColorSpaceCreateGray):
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate loadWithRequest:]):
        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient didReceiveResponse:]):
        (-[WebMainResourceClient didReceiveData:lengthReceived:]):
        (-[WebMainResourceClient didFinishLoading]):
        (-[WebMainResourceClient didFailWithError:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9296 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - updated
mjs [Mon, 6 Jun 2005 11:11:26 +0000 (11:11 +0000)]
    - updated

        * WebKitSystemInterface.h:
        * libWebKitSystemInterface.a:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9295 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago * DumpRenderTree/DumpRenderTree.xcode/project.pbxproj: Tweak, simplify.
darin [Mon, 6 Jun 2005 06:05:01 +0000 (06:05 +0000)]
    * DumpRenderTree/DumpRenderTree.xcode/project.pbxproj: Tweak, simplify.
        * Scripts/build-dumprendertree: Added.
        * Scripts/build-webkit: Build All in the JavaScriptCore directory.
        * Scripts/run-webkit-tests: Build DumpRenderTree before running.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9294 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoChange layout test #10 to use a smaller bullet image.
hyatt [Mon, 6 Jun 2005 05:46:40 +0000 (05:46 +0000)]
Change layout test #10 to use a smaller bullet image.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9293 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Hyatt.
darin [Mon, 6 Jun 2005 05:15:21 +0000 (05:15 +0000)]
    Reviewed by Hyatt.

        - fixed hang we were seeing in Safari and layout tests

        * Misc.subproj/WebNSUserDefaultsExtras.m:
        (+[NSUserDefaults _webkit_ensureAndLockPreferredLanguageLock]): Change name to avoid conflict with Foundation
        function. This was causing the hang.
        (+[NSUserDefaults _webkit_defaultsDidChange]): Update caller.
        (+[NSUserDefaults _webkit_preferredLanguageCode]): Ditto.

        * WebCoreSupport.subproj/WebGraphicsBridge.m: Remove some unneeded includes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9292 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Hyatt.
darin [Mon, 6 Jun 2005 03:44:54 +0000 (03:44 +0000)]
    Reviewed by Hyatt.

        - fixed crash in Acid2 layout test

        * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage dealloc]): Added nil check for CFBundleRef.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9291 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Hyatt.
darin [Mon, 6 Jun 2005 03:25:06 +0000 (03:25 +0000)]
    Reviewed by Hyatt.

- remove more SPI usage

        * Carbon.subproj/CarbonWindowAdapter.m: Remove a bunch of stuff.
        (+[CarbonWindowAdapter frameViewClassForStyleMask:]):
        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
        (-[CarbonWindowAdapter reconcileToCarbonWindowBounds]):
        (-[CarbonWindowAdapter _oldPlaceWindow:]):
        (-[CarbonWindowAdapter _termWindowIfOwner]):
        (-[CarbonWindowAdapter _windowMovedToRect:]):
        (-[CarbonWindowAdapter makeKeyWindow]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9290 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - remove another forgotten include
mjs [Mon, 6 Jun 2005 02:39:21 +0000 (02:39 +0000)]
    - remove another forgotten include

        * Plugins.subproj/WebPluginDatabase.m:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9289 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - remove include that I forgot in last checkin
mjs [Mon, 6 Jun 2005 02:27:42 +0000 (02:27 +0000)]
- remove include that I forgot in last checkin

        * Misc.subproj/WebNSPasteboardExtras.m:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9288 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - added a few more bits of SPI
mjs [Mon, 6 Jun 2005 02:21:58 +0000 (02:21 +0000)]
    - added a few more bits of SPI

        * WebKitSystemInterface.h:
        * libWebKitSystemInterface.a:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9287 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Don.
mjs [Mon, 6 Jun 2005 02:21:19 +0000 (02:21 +0000)]
    Reviewed by Don.

- remove more SPI usage
- fix <rdar://problem/3446192> CoreTranslation SPI is going away

        * History.subproj/WebHistoryItem.m:
        (+[WebHistoryItem _releasePageCache:]):
        * Misc.subproj/WebNSPasteboardExtras.m:
        (+[NSPasteboard initialize]):
        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebCoreSupport.subproj/WebTextRenderer.m:
        (-[WebTextRenderer _setupFont]):
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences _systemCFStringEncoding]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9286 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago*** empty log message ***
mjs [Mon, 6 Jun 2005 02:00:54 +0000 (02:00 +0000)]
*** empty log message ***

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9285 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago * Scripts/run-safari: Fix path to Safari executable. Add check for frameworks.
darin [Mon, 6 Jun 2005 00:34:58 +0000 (00:34 +0000)]
    * Scripts/run-safari: Fix path to Safari executable. Add check for frameworks.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9284 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Darin.
mjs [Mon, 6 Jun 2005 00:15:12 +0000 (00:15 +0000)]
    Reviewed by Darin.

- use WebKitSystemInterface wrappers for NSURLFileTypeMappings and NSURLResponse SPI

        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _webkit_suggestedFilenameWithMIMEType:]):
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]):
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]):
        * Plugins.subproj/WebPluginDatabase.m:
        (-[WebPluginDatabase pluginForExtension:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge expiresTimeForResponse:]):
        (-[WebBridge determineObjectFromMIMEType:URL:]):
        (-[WebBridge MIMETypeForPath:]):
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory supportedMIMETypes]):
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate _canUseResourceWithResponse:]):
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _commitIfReady:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _imageExistsAtPaths:]):
        (-[WebHTMLView _documentFragmentWithPaths:]):
        (-[WebHTMLView resourceForData:preferredFilename:]):
        * WebView.subproj/WebMainResourceClient.m:
        * WebView.subproj/WebView.m:
        (+[WebView _supportedFileExtensions]):
        (+[WebView suggestedFileExtensionForMIMEType:]):
        (+[WebView _MIMETypeForFile:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9283 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - added file type and NSURLResponse caching SPI
mjs [Mon, 6 Jun 2005 00:12:47 +0000 (00:12 +0000)]
    - added file type and NSURLResponse caching SPI

        * WebKitSystemInterface.h:
        * libWebKitSystemInterface.a:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9282 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - add run-webkit-tests script; not working yet but the pieces are there
darin [Sun, 5 Jun 2005 23:34:52 +0000 (23:34 +0000)]
    - add run-webkit-tests script; not working yet but the pieces are there

        * Scripts/run-webkit-tests: Added.

        * DumpRenderTree/DumpRenderTree.m: Added.
        * DumpRenderTree/DumpRenderTree.xcode/.cvsignore: Added.
        * DumpRenderTree/DumpRenderTree.xcode/project.pbxproj: Added.
        * DumpRenderTree/DumpRenderTreePrefix.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9281 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - created module, first cut at Web Kit Open Source Project scripts
darin [Sun, 5 Jun 2005 23:14:19 +0000 (23:14 +0000)]
    - created module, first cut at Web Kit Open Source Project scripts

        * ChangeLog: Added.
        * Scripts/build-webkit: Added.
        * Scripts/run-safari: Added.
        * Scripts/update-webkit: Added.
        * checkout: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9280 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - initial checkin of WebKitSystemInterface binary
mjs [Sun, 5 Jun 2005 21:17:15 +0000 (21:17 +0000)]
- initial checkin of WebKitSystemInterface binary

        * WebKitSystemInterface.h: Added.
        * libWebKitSystemInterface.a: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9279 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Hyatt.
darin [Sun, 5 Jun 2005 20:57:29 +0000 (20:57 +0000)]
    Reviewed by Hyatt.

        - fixed build that I broke with the license change (some includes of WebException were still around)

        * WebKit.pbproj/project.pbxproj: Removed references to WebException.h/m.
        * WebView.subproj/WebDataSource.m: Removed include of WebException.h.
        * WebView.subproj/WebHTMLView.m: Ditto.
        * WebView.subproj/WebView.m: Ditto.

        - fixed build under gcc 4.0 (some code moved here from Foundation had warnings)

        * Misc.subproj/WebNSDataExtras.m:
        (-[NSString _web_capitalizeRFC822HeaderFieldName]): Use char instead of UInt8.
        (-[NSData _webkit_guessedMIMEType]):  Use char instead of UInt8, and take out now-
        unneeded type casts.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9278 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Don.
mjs [Sun, 5 Jun 2005 20:42:32 +0000 (20:42 +0000)]
    Reviewed by Don.

- remove security code and use the stuff from WebKitSystemInterface instead

        * WebCoreSupport.subproj/WebKeyGenerator.m:
        (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]):
        (-[WebKeyGenerator addCertificatesToKeychainFromData:]):
        * WebCoreSupport.subproj/WebNewKeyGeneration.c: Removed.
        * WebCoreSupport.subproj/WebNewKeyGeneration.h: Removed.
        * WebKit.pbproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9277 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - added appropriate license headers to most files and updated copyright to...
darin [Sun, 5 Jun 2005 17:54:49 +0000 (17:54 +0000)]
    - added appropriate license headers to most files and updated copyright to reflect publication dates

        * LICENSE: Added.
        * <lots of files>: Added license header.

        * WebKit.pbproj/project.pbxproj: Removed references to NP_objc.h.

        * API-Issues.rtf: Removed.
        * Misc.subproj/WebException.h: Removed.
        * Misc.subproj/WebException.m: Removed.
        * Plugins.subproj/NP_objc.h: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9276 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Hyatt.
mjs [Sun, 5 Jun 2005 09:22:25 +0000 (09:22 +0000)]
    Reviewed by Hyatt.

- link against libWebKitSystemInterface and use the first function in it.

        * Misc.subproj/WebNSUserDefaultsExtras.m:
        (-[NSString _webkit_HTTPStyleLanguageCode]): use WKCopyCFLocalizationPreferredName
        * Plugins.subproj/WebBasePluginPackage.m:
        (+[WebBasePluginPackage preferredLocalizationName]): ditto
        * WebKit.pbproj/project.pbxproj: link in libWebKitSystemInterface.a and find headers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9275 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoWebCore:
darin [Sun, 5 Jun 2005 07:06:58 +0000 (07:06 +0000)]
WebCore:

        Reviewed by Don.

        - got rid of the rest of the dependencies on Apple Internal headers

        * kwq/WebCoreBridge.mm: Remove include of unused SPI header.

        * kwq/KWQAccObjectCache.h: Remove include of SPI header. Change use of AXTextMarkerRef to
        use WebCoreTextMarker instead. Also ifdef less.
        * kwq/KWQAccObjectCache.mm:
        (KWQAccObjectCache::textMarkerForVisiblePosition): Change types, call new WebCoreViewFactory methods.
        (KWQAccObjectCache::visiblePositionForTextMarker): Ditto.
        (KWQAccObjectCache::handleFocusedUIElementChanged): Ditto.

        * kwq/WebCoreViewFactory.h: Add new methods we can use instead of Accessibility SPI.

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject detach]): Call new WebCoreViewFactory method instead of SPI.
        (-[KWQAccObject accessibilityAttributeNames]): Use strings instead of constants only in SPI header.
        (-[KWQAccObject textMarkerRangeFromMarkers:andEndMarker:]): Change parameter types from SPI type to
        a new type defined by WebCoreViewFactory, use WebCoreViewFactory method.
        (-[KWQAccObject textMarkerForVisiblePosition:]): Ditto.
        (-[KWQAccObject visiblePositionForTextMarker:]): Ditto.
        (-[KWQAccObject visiblePositionForStartOfTextMarkerRange:]): Ditto.
        (-[KWQAccObject visiblePositionForEndOfTextMarkerRange:]): Ditto.
        (-[KWQAccObject textMarkerRangeFromVisiblePositions:andEndPos:]): Just change type.
        (-[KWQAccObject textMarkerRange]): Ditto.
        (-[KWQAccObject accessibilityAttributeValue:]): String instead of constant.
        (-[KWQAccObject accessibilityParameterizedAttributeNames]): Ditto.
        (-[KWQAccObject doAXUIElementForTextMarker:]): Just change type.
        (-[KWQAccObject doAXLineForTextMarker:]): Ditto.
        (-[KWQAccObject doAXStringForTextMarkerRange:]): Ditto.
        (-[KWQAccObject doAXBoundsForTextMarkerRange:]): Ditto.
        (AXAttributeStringSetElement): Call new method.
        (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]): Just change type.
        (-[KWQAccObject doAXTextMarkerRangeForUnorderedTextMarkers:]): Ditto.
        (-[KWQAccObject doAXNextTextMarkerForTextMarker:]): Ditto.
        (-[KWQAccObject doAXPreviousTextMarkerForTextMarker:]): Ditto.
        (-[KWQAccObject doAXLeftWordTextMarkerRangeForTextMarker:]): Ditto.
        (-[KWQAccObject doAXRightWordTextMarkerRangeForTextMarker:]): Ditto.
        (-[KWQAccObject doAXLeftLineTextMarkerRangeForTextMarker:]): Ditto.
        (-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]): Ditto.
        (-[KWQAccObject doAXSentenceTextMarkerRangeForTextMarker:]): Ditto.
        (-[KWQAccObject doAXParagraphTextMarkerRangeForTextMarker:]): Ditto.
        (-[KWQAccObject doAXNextWordEndTextMarkerForTextMarker:]): Ditto.
        (-[KWQAccObject doAXPreviousWordStartTextMarkerForTextMarker:]): Ditto.
        (-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]): Ditto.
        (-[KWQAccObject doAXPreviousLineStartTextMarkerForTextMarker:]): Ditto.
        (-[KWQAccObject doAXNextSentenceEndTextMarkerForTextMarker:]): Ditto.
        (-[KWQAccObject doAXPreviousSentenceStartTextMarkerForTextMarker:]): Ditto.
        (-[KWQAccObject doAXNextParagraphEndTextMarkerForTextMarker:]): Ditto.
        (-[KWQAccObject doAXPreviousParagraphStartTextMarkerForTextMarker:]): Ditto.
        (-[KWQAccObject doAXLengthForTextMarkerRange:]): Ditto.
        (-[KWQAccObject accessibilityAttributeValue:forParameter:]): Change types, use new methods, use strings
        instead of constants.
        (-[KWQAccObject accessibilityIsAttributeSettable:]): String instead of constant.
        (-[KWQAccObject doSetAXSelectedTextMarkerRange:]): New type.
        (-[KWQAccObject accessibilitySetValue:forAttribute:]): New types, methods.

WebKit:

        Reviewed by Don.

        - did some work to move SPI use from WebCore here (to be moved from here into WebKitSystemInterface)
        - fixed so we can compile ICU includes without Apple Internal headers installed

        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[WebViewFactory objectIsTextMarker:]): Added.
        (-[WebViewFactory objectIsTextMarkerRange:]): Added.
        (-[WebViewFactory textMarkerWithBytes:length:]): Added.
        (-[WebViewFactory getBytes:fromTextMarker:length:]): Added.
        (-[WebViewFactory textMarkerRangeWithStart:end:]): Added.
        (-[WebViewFactory startOfTextMarkerRange:]): Added.
        (-[WebViewFactory endOfTextMarkerRange:]): Added.
        (-[WebViewFactory accessibilityHandleFocusChanged]): Added.
        (-[WebViewFactory AXUIElementForElement:]): Added.
        (-[WebViewFactory unregisterUniqueIdForUIElement:]): Added.

        * WebKit.pbproj/project.pbxproj: Added icu to the header search files.
        Removed bogus DSTROOT thing from the framework paths (I meant to remove that a while back).

        * icu/README: Added.
        * icu/unicode/parseerr.h: Added.
        * icu/unicode/platform.h: Added.
        * icu/unicode/uchar.h: Added.
        * icu/unicode/uconfig.h: Added.
        * icu/unicode/uidna.h: Added.
        * icu/unicode/uiter.h: Added.
        * icu/unicode/umachine.h: Added.
        * icu/unicode/unorm.h: Added.
        * icu/unicode/urename.h: Added.
        * icu/unicode/uscript.h: Added.
        * icu/unicode/utf.h: Added.
        * icu/unicode/utf16.h: Added.
        * icu/unicode/utf8.h: Added.
        * icu/unicode/utf_old.h: Added.
        * icu/unicode/utypes.h: Added.
        * icu/unicode/uversion.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9274 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoFix silly ChangeLog typo.
darin [Sun, 5 Jun 2005 00:44:59 +0000 (00:44 +0000)]
Fix silly ChangeLog typo.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9273 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Maciej.
darin [Sun, 5 Jun 2005 00:42:43 +0000 (00:42 +0000)]
    Reviewed by Maciej.

        - first fix on the road to can compile without Apple Internal headers installed

        * WebCore.pbproj/project.pbxproj: Added icu directory to header search path.

        * icu/README: Added.
        * icu/unicode/parseerr.h: Added.
        * icu/unicode/platform.h: Added.
        * icu/unicode/putil.h: Added.
        * icu/unicode/ubrk.h: Added.
        * icu/unicode/uchar.h: Added.
        * icu/unicode/uconfig.h: Added.
        * icu/unicode/uenum.h: Added.
        * icu/unicode/uidna.h: Added.
        * icu/unicode/uiter.h: Added.
        * icu/unicode/uloc.h: Added.
        * icu/unicode/umachine.h: Added.
        * icu/unicode/urename.h: Added.
        * icu/unicode/ustring.h: Added.
        * icu/unicode/utf.h: Added.
        * icu/unicode/utf16.h: Added.
        * icu/unicode/utf8.h: Added.
        * icu/unicode/utf_old.h: Added.
        * icu/unicode/utypes.h: Added.
        * icu/unicode/uversion.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9272 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Maciej.
darin [Sun, 5 Jun 2005 00:41:00 +0000 (00:41 +0000)]
    Reviewed by Maciej.

        - fixed so we can compile without Apple Internal headers installed

        * JavaScriptCore.pbproj/project.pbxproj: Added icu directory to header search path.

        * icu/README: Added.
        * icu/unicode/platform.h: Added.
        * icu/unicode/uchar.h: Added.
        * icu/unicode/uconfig.h: Added.
        * icu/unicode/umachine.h: Added.
        * icu/unicode/urename.h: Added.
        * icu/unicode/utf.h: Added.
        * icu/unicode/utf16.h: Added.
        * icu/unicode/utf8.h: Added.
        * icu/unicode/utf_old.h: Added.
        * icu/unicode/utypes.h: Added.
        * icu/unicode/uversion.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9271 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Vicki.
mjs [Sat, 4 Jun 2005 22:46:55 +0000 (22:46 +0000)]
    Reviewed by Vicki.

- replace more use of CGCompositeOperation that I missed.

        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _checkSolidColor:]):
        (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]):
        (-[WebImageData tileInRect:fromPoint:context:]):
        (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebInternalImage _PDFDrawFromRect:toRect:operation:alpha:flipped:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9270 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by NOBODY (OOPS!).
mjs [Fri, 3 Jun 2005 23:25:27 +0000 (23:25 +0000)]
    Reviewed by NOBODY (OOPS!).

- replace use of CGCompositeOperation SPI with NSCompositingOperation API

        * WebCoreSupport.subproj/WebImageData.h:
        * WebCoreSupport.subproj/WebImageData.m:
        (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]):
        (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer drawImageInRect:fromRect:]):
        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
        * WebCoreSupport.subproj/WebImageRendererFactory.m:
        (-[WebImageRendererFactory CGCompositeOperationInContext:]):
        (-[WebImageRendererFactory setCGCompositeOperation:inContext:]):
        (-[WebImageRendererFactory setCGCompositeOperationFromString:inContext:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9269 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Kevin.
mjs [Fri, 3 Jun 2005 05:56:50 +0000 (05:56 +0000)]
    Reviewed by Kevin.

- removed dependencies on NSError SPI

        * Misc.subproj/WebKitErrors.m:
        (-[NSError _webkit_initWithDomain:code:URL:]):
        (+[NSError _webkit_errorWithDomain:code:URL:]):
        (+[NSError _webKitErrorWithDomain:code:URL:]):
        (+[NSError _webKitErrorWithCode:failingURL:]):
        (+[NSError _webkit_addErrorsWithCodesAndDescriptions:inDomain:]):
        (registerErrors):
        * Plugins.subproj/WebNetscapePluginRepresentation.m:
        * Plugins.subproj/WebNetscapePluginStream.m:
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient didFailWithError:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9265 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Vicki.
mjs [Fri, 3 Jun 2005 04:46:40 +0000 (04:46 +0000)]
    Reviewed by Vicki.

- remove use of _cfBundle SPI

        * Plugins.subproj/WebBasePluginPackage.h:
        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage initWithPath:]):
        (-[WebBasePluginPackage load]):
        (-[WebBasePluginPackage dealloc]):
        * Plugins.subproj/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage openResourceFile]):
        (-[WebNetscapePluginPackage closeResourceFile:]):
        (-[WebNetscapePluginPackage initWithPath:]):
        (-[WebNetscapePluginPackage unloadWithoutShutdown]):
        (-[WebNetscapePluginPackage load]):
        * Plugins.subproj/WebPluginPackage.m:
        (-[WebPluginPackage initWithPath:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9264 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Adele.
mjs [Fri, 3 Jun 2005 04:16:44 +0000 (04:16 +0000)]
    Reviewed by Adele.

- remove use of NSURLRequest and NSUserDefaults SPI

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem _setFormInfoFromRequest:]):
        * Misc.subproj/WebNSURLRequestExtras.h: Added.
        * Misc.subproj/WebNSURLRequestExtras.m: Added.
        (-[NSURLRequest _web_HTTPReferrer]):
        (-[NSURLRequest _web_HTTPContentType]):
        (-[NSMutableURLRequest _web_setHTTPContentType:]):
        (-[NSMutableURLRequest _web_setHTTPReferrer:]):
        (-[NSMutableURLRequest _web_setHTTPUserAgent:]):
        * Misc.subproj/WebNSUserDefaultsExtras.h: Added.
        * Misc.subproj/WebNSUserDefaultsExtras.m: Added.
        (-[NSString _webkit_HTTPStyleLanguageCode]):
        (makeLock):
        (+[NSUserDefaults _ensureAndLockPreferredLanguageLock]):
        (+[NSUserDefaults _webkit_defaultsDidChange]):
        (addDefaultsChangeObserver):
        (+[NSUserDefaults _webkit_addDefaultsChangeObserver]):
        (+[NSUserDefaults _webkit_preferredLanguageCode]):
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView requestWithURLCString:]):
        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
        (-[WebNetscapePluginEmbeddedView didStart]):
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createWindowWithURL:frameName:]):
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        (-[WebBridge incomingReferrer]):
        (-[WebBridge createModalDialogWithURL:]):
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
        * WebCoreSupport.subproj/WebViewFactory.m:
        (-[WebViewFactory defaultLanguageCode]):
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate openNewWindowWithURL:element:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadItem:withLoadType:]):
        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        * WebView.subproj/WebMainResourceClient.m:
        * WebView.subproj/WebView.m:
        (-[WebView _cachedResponseForURL:]):
        (-[WebView userAgentForURL:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9263 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Don.
mjs [Fri, 3 Jun 2005 03:36:32 +0000 (03:36 +0000)]
    Reviewed by Don.

- move private gunk from header to implementation file.

        * WebCoreSupport.subproj/WebNewKeyGeneration.c:
        * WebCoreSupport.subproj/WebNewKeyGeneration.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9262 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Kevin.
mjs [Fri, 3 Jun 2005 03:12:20 +0000 (03:12 +0000)]
    Reviewed by Kevin.

- remove dependency on NSFileManager and NSCalendarDate private extras from WebFou

        * History.subproj/WebHistory.m:
        (-[WebHistoryPrivate findIndex:forDay:]):
        (-[WebHistoryPrivate arrayRepresentation]):
        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
        * Misc.subproj/WebFileDatabase.m:
        (-[WebFileDatabase _truncateToSizeLimit:]):
        (-[WebFileDatabase removeAllObjects]):
        (-[WebFileDatabase performSetObject:forKey:]):
        (-[WebFileDatabase performRemoveObjectForKey:]):
        (-[WebFileDatabase open]):
        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _webkit_fixedCarbonPOSIXPath]):
        * Misc.subproj/WebNSCalendarDateExtras.h: Added.
        * Misc.subproj/WebNSCalendarDateExtras.m: Added.
        (-[NSCalendarDate _webkit_compareDay:]):
        * Misc.subproj/WebNSDataExtras.h:
        * Misc.subproj/WebNSDictionaryExtras.h:
        * Misc.subproj/WebNSFileManagerExtras.h: Added.
        * Misc.subproj/WebNSFileManagerExtras.m: Added.
        (-[NSFileManager _webkit_fileExistsAtPath:isDirectory:traverseLink:]):
        (-[NSFileManager _webkit_createIntermediateDirectoriesForPath:attributes:]):
        (-[NSFileManager _webkit_createDirectoryAtPathWithIntermediateDirectories:attributes:]):
        (-[NSFileManager _webkit_createFileAtPathWithIntermediateDirectories:contents:attributes:directoryAttributes:]):
        (-[NSFileManager _webkit_removeFileOnlyAtPath:]):
        (-[NSFileManager _webkit_backgroundRemoveFileAtPath:]):
        (-[NSFileManager _webkit_backgroundRemoveLeftoverFiles:]):
        (-[NSFileManager _webkit_carbonPathForPath:]):
        (-[NSFileManager _webkit_startupVolumeName]):
        (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]):
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
        * WebView.subproj/WebImageView.m:
        (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9261 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Adele.
mjs [Thu, 2 Jun 2005 23:54:31 +0000 (23:54 +0000)]
    Reviewed by Adele.

- remove dependencies on NSDictionary and NSURL extras

        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem initFromDictionaryRepresentation:]):
        * Misc.subproj/WebKitNSStringExtras.h:
        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _webkit_hasCaseInsensitiveSuffix:]):
        (-[NSString _webkit_hasCaseInsensitiveSubstring:]):
        (-[NSString _webkit_filenameByFixingIllegalCharacters]):
        * Misc.subproj/WebNSDictionaryExtras.h: Added.
        * Misc.subproj/WebNSDictionaryExtras.m: Added.
        (-[NSDictionary _webkit_numberForKey:]):
        (-[NSDictionary _webkit_intForKey:]):
        (-[NSDictionary _webkit_stringForKey:]):
        (-[NSDictionary _webkit_objectForMIMEType:]):
        (-[NSMutableDictionary _webkit_setObject:forUncopiedKey:]):
        (-[NSMutableDictionary _webkit_setInt:forKey:]):
        (-[NSMutableDictionary _webkit_setBool:forKey:]):
        * Misc.subproj/WebNSPasteboardExtras.m:
        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _webkit_URLByRemovingFragment]):
        (-[NSURL _webkit_scriptIfJavaScriptURL]):
        (-[NSURL _webkit_isFileURL]):
        (-[NSURL _web_hostString]):
        (-[NSURL _webkit_suggestedFilenameWithMIMEType:]):
        * Misc.subproj/WebNSViewExtras.m:
        * Panels.subproj/WebPanelAuthenticationHandler.m:
        * Plugins.subproj/WebBaseNetscapePluginStream.m:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
        (-[WebBaseNetscapePluginView loadPluginRequest:]):
        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
        * WebCoreSupport.subproj/WebBridge.m:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDataSource.m:
        * WebView.subproj/WebFrame.m:
        * WebView.subproj/WebFrameView.m:
        * WebView.subproj/WebHTMLView.m:
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences _setIntegerValue:forKey:]):
        (-[WebPreferences _setBoolValue:forKey:]):
        * WebView.subproj/WebResource.m:
        (-[WebResource _initWithPropertyList:]):
        (-[WebResource _fileWrapperRepresentation]):
        * WebView.subproj/WebView.m:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9260 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Vicki.
mjs [Thu, 2 Jun 2005 22:09:33 +0000 (22:09 +0000)]
    Reviewed by Vicki.

- remove dependencies on NSString and NSData extras from Foundation

        * Misc.subproj/WebKitNSStringExtras.h:
        * Misc.subproj/WebKitNSStringExtras.m:
        (-[NSString _webkit_isCaseInsensitiveEqualToString:]):
        (-[NSString _webkit_hasCaseInsensitivePrefix:]):
        (-[NSString _webkit_stringByTrimmingWhitespace]):
        (-[NSString _webkit_stringByCollapsingNonPrintingCharacters]):
        (-[NSString _webkit_fixedCarbonPOSIXPath]):
        * Misc.subproj/WebNSDataExtras.h:
        * Misc.subproj/WebNSDataExtras.m:
        (-[NSString _web_capitalizeRFC822HeaderFieldName]):
        (-[NSData _web_isCaseInsensitiveEqualToCString:]):
        (_findEOL):
        (-[NSData _web_parseRFC822HeaderFields]):
        (-[NSData _webkit_guessedMIMETypeForXML]):
        (-[NSData _webkit_guessedMIMEType]):
        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_bestURL]):
        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (applyHostNameFunctionToURLString):
        (+[NSURL _web_URLWithUserTypedString:relativeToURL:]):
        (+[NSURL _web_URLWithDataAsString:relativeToURL:]):
        (-[NSURL _webkit_shouldLoadAsEmptyDocument]):
        (-[NSString _webkit_isJavaScriptURL]):
        (-[NSString _webkit_isFileURL]):
        (-[NSString _webkit_isFTPDirectoryURL]):
        (-[NSString _web_encodeHostName]):
        (-[NSString _webkit_rangeOfURLScheme]):
        (-[NSString _webkit_looksLikeAbsoluteURL]):
        (-[NSString _webkit_URLFragment]):
        * Misc.subproj/WebNSViewExtras.m:
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
        * Plugins.subproj/WebPluginDatabase.m:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setTitle:]):
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _setTitle:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadItem:withLoadType:]):
        * WebView.subproj/WebPreferences.m:
        (-[WebPreferences userStyleSheetLocation]):
        * WebView.subproj/WebView.m:
        (+[WebView _MIMETypeForFile:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9259 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by John.
mjs [Thu, 2 Jun 2005 21:19:05 +0000 (21:19 +0000)]
    Reviewed by John.

- first stage of cleaning up SPI usage in WebKit

        * Carbon.subproj/CarbonUtils.m:
        * DOM.subproj/WebDOMOperations.m:
        (-[DOMHTMLLinkElement _subresourceURLs]):
        (-[DOMHTMLParamElement _subresourceURLs]):
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem _setFormInfoFromRequest:]):
        * Misc.subproj/WebDatabase.m:
        (-[WebDatabase setObject:forKey:]):
        (-[WebDatabase removeObjectForKey:]):
        (-[WebDatabase removeAllObjects]):
        (-[WebDatabase objectForKey:]):
        (-[WebDatabase open]):
        (-[WebDatabase close]):
        (-[WebDatabase sync]):
        (-[WebDatabase count]):
        (-[WebDatabase setSizeLimit:]):
        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase iconForURL:withSize:cache:]):
        (-[WebIconDatabase _iconForFileURL:withSize:]):
        * Misc.subproj/WebKitNSStringExtras.h:
        * Misc.subproj/WebKitNSStringExtras.m:
        (+[NSString _web_encodingForResource:]):
        (-[NSString _webkit_isCaseInsensitiveEqualToString:]):
        * Misc.subproj/WebNSEventExtras.h:
        * Misc.subproj/WebNSEventExtras.m:
        (-[NSEvent _web_isTabKeyEvent]):
        * Misc.subproj/WebNSURLExtras.h:
        * Misc.subproj/WebNSURLExtras.m:
        (-[NSURL _webkit_isFileURL]):
        (-[NSString _webkit_isJavaScriptURL]):
        (-[NSString _webkit_isFileURL]):
        * Panels.subproj/WebPanelAuthenticationHandler.m:
        (-[NSMutableDictionary _webkit_setObject:forUncopiedKey:]):
        (-[WebPanelAuthenticationHandler enqueueChallenge:forWindow:]):
        (-[WebPanelAuthenticationHandler startAuthentication:window:]):
        * Plugins.subproj/WebBaseNetscapePluginView.m:
        * Plugins.subproj/WebBasePluginPackage.m:
        (-[WebBasePluginPackage isQuickTimePlugIn]):
        (-[WebBasePluginPackage isJavaPlugIn]):
        * Plugins.subproj/WebPluginPackage.m:
        (-[WebPluginPackage initWithPath:]):
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge canTargetLoadInFrame:]):
        (-[WebBridge valueForKey:keys:values:]):
        * WebCoreSupport.subproj/WebGlyphBuffer.m:
        * WebCoreSupport.subproj/WebImageDecodeItem.h:
        * WebCoreSupport.subproj/WebImageDecodeItem.m:
        * WebCoreSupport.subproj/WebImageDecoder.h:
        * WebCoreSupport.subproj/WebImageDecoder.m:
        * WebCoreSupport.subproj/WebTextRenderer.h:
        * WebKitPrefix.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate _canUseResourceForRequest:]):
        * WebView.subproj/WebDataProtocol.m:
        (+[WebDataProtocol _webIsDataProtocolURL:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _shouldAllowAccessFrom:]):
        (-[WebFrame reload]):
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation _isDisplayingWebArchive]):
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
        (-[WebMainResourceClient didReceiveResponse:]):
        * WebView.subproj/WebPDFView.m:
        * WebView.subproj/WebView.m:
        (+[WebView _MIMETypeForFile:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9258 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoWebCore:
darin [Wed, 1 Jun 2005 23:49:50 +0000 (23:49 +0000)]
WebCore:

        Reviewed by John Sullivan.
        No layout tests added because showModalDialog won't work in DumpRenderTree at the moment.

        - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog

        * khtml/ecma/kjs_window.cpp:
        (KJS::allowPopUp): Added. Used by showModalDialog now and should be used by window.open later.
        (KJS::parseFeatures): Ditto.
        (KJS::boolFeature): Ditto.
        (KJS::intFeature): Ditto.
        (KJS::createNewWindow): Ditto.
        (KJS::canShowModalDialog): Added.
        (KJS::canShowModalDialogNow): Added.
        (KJS::showModalDialog): Added.
        (KJS::Window::get): Return the showModalDialog function object if the extension can run modal.
        (KJS::Window::clear): Add code to store the return value for the case where the window is a modal dialog.
        (KJS::WindowFunc::tryCall): Add the call to the showModalDialog function.

        * khtml/ecma/kjs_window.h: Add setReturnValueSlot function so showModalDialog can get the return
        value from the dialog it creates. Also add a data member to keep track of the pointer and a constant
        for the ShowModalDialog method.

        * khtml/khtml_part.h: Added new changeLocation member function. Made setOpener, openedByJS, and
        setOpenedByJS public.

        * khtml/khtml_part.cpp:
        (KHTMLPart::changeLocation): Broke out the part of slotRedirect that actually does the location change
        into a separate function so it can be called when needed. The case using it now is to load the content
        of a new window in KJS::createNewWindow.
        (KHTMLPart::slotRedirect): Call changeLocation to do most of the work.
        (KHTMLPart::urlSelected): Fixed a broken case where the "lack of referrer" in a new window would cause
        the referrer passed in by JavaScript to be ignored when opening a new window -- match logic elsewhere
        that leaves the referrer in the args alone if one is not set in the window.

        * khtml/khtmlpart_p.h: Initialize m_bCleared to true to avoid an unnecessary clear before loading the
        first URL in a new window. This change is needed to avoid blowing away the "dialogArguments" value in
        a modal dialog window, but it also avoid unnecessary work for each new window.

        * kwq/KWQApplication.h: Add availableGeometry function for QDesktopWidget. Used by the showModalDialog
        function inside kjs_window.cpp (and should be used elsewhere eventually too). Matches a Qt function that
        we just didn't have implemented before.
        * kwq/KWQApplication.mm: (QDesktopWidget::availableGeometry): Added.

        * kwq/KWQKHTMLPartBrowserExtension.h: Added new canRunModal, canRunModalNow, and runModal functions.
        * kwq/KWQKHTMLPartBrowserExtension.mm:
        (KHTMLPartBrowserExtension::createNewWindow): Call createModalDialogWithURL on the bridge if the
        new window is a dialog. Also fixed the early return case for when the bridge returns nil.
        (KHTMLPartBrowserExtension::canRunModal): Added. Calls bridge.
        (KHTMLPartBrowserExtension::canRunModalNow): Ditto.
        (KHTMLPartBrowserExtension::runModal): Ditto.

        * kwq/KWQKPartsBrowserExtension.h:
        (KParts::URLArgs::URLArgs): Initialize m_lockHistory to false.
        (KParts::WindowArgs::WindowArgs): Add a dialog boolean.

        * kwq/WebCoreBridge.h: Declared canRunModal, canRunModalNow, createModalDialogWithURL, and runModal methods.

WebKit:

        Reviewed by John Sullivan.

        - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge createModalDialogWithURL:]): Added. Calls the UI delegate, falling back to the generic
        "create WebView" method.
        (-[WebBridge canRunModal]): Added. Checks the UI delegate to see if it implements runModal.
        (-[WebBridge canRunModalNow]): Added. Checks the "inConnectionCallback" field so we can prevent
        deadlock since we can't do any I/O while inside a connection callback until this aspect of NSURLConnection
        is changed.
        (-[WebBridge runModal]): Added. Sets "defersCallbacks" on all other web views in the group, then
        calls runModal on the UI delegate.

        * WebView.subproj/WebBaseResourceHandleDelegate.h: Added inConnectionCallback class method.
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Bump count and then
        decrement count so we can tell if we are in a callback.
        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): Ditto.
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): Ditto.
        (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): Ditto.
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Ditto.
        (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): Ditto.
        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): Ditto.
        (+[WebBaseResourceHandleDelegate inConnectionCallback]): Added. Return YES if count is not 0.

        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient receivedError:]): Changed to use the method without the connection: parameter
        in the base class, since we no longer are overriding the connection: version.
        (-[WebMainResourceClient willSendRequest:redirectResponse:]): Change to override the version without
        the connection prefix/parameter; now only the base class overrides the actual connection delegate methods.
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
        (-[WebMainResourceClient didReceiveResponse:]): Ditto.
        (-[WebMainResourceClient didReceiveData:lengthReceived:]): Ditto.
        (-[WebMainResourceClient didFinishLoading]): Ditto.
        (-[WebMainResourceClient didFailWithError:]): Ditto.
        (-[WebMainResourceClient loadWithRequestNow:]): Call the method without the connection parameter.

        * WebView.subproj/WebUIDelegatePrivate.h: Added new SPI here that WebBrowser implements.

WebBrowser:

        Reviewed by John.

        - WebBrowser part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog

        * AppController.m: (-[AppController validateUserInterfaceItem:]): Disable the find panel
        when there's a modal panel up.
        * BrowserApplication.m: (-[BrowserApplication nextEventMatchingMask:untilDate:inMode:dequeue:]):
        Force the event loop to use the default run loop mode instead of the modal panel mode for
        modal BrowserWindows. This is required to work around the WebFoundation issue where it will
        only give us data in the default run loop mode.
        * BrowserDocument.m:
        (-[BrowserDocument canAddBookmark]): Return NO when a modal window is up.
        (-[BrowserDocument canViewSource]): Ditto.
        (-[BrowserDocument canMailPage]): Ditto.
        (-[BrowserDocument canMailPageAddress]): Ditto.
        (-[BrowserDocument canOpenInDashboard]): Ditto.
        (-[BrowserDocument canSave]): Ditto.
        (-[BrowserDocument validateUserInterfaceItem:]): Disable save commands when modal window is up.
        Also implement validation for all three of the save commands that we implement.
        * BrowserDocumentController.m: (-[BrowserDocumentController validateUserInterfaceItem:]):
        Disable newTab: when modal window is up.
        * BrowserWebView.m:
        (-[BrowserWebView webView:createWebViewModalDialogWithRequest:]): Added. Creates a window that
        has no toolbar, which is an efficient way to disable all the toolbar-related commands for that
        window, even ones built into AppKit which otherwise would be difficult to disable.
        (-[BrowserWebView webViewRunModal:]): Added. Currently just calls -[NSApplication runModalForWindow:]
        but could do more in the future. More importantly, having this implemented is how the Web Kit can
        tell that this application supports modal web dialogs.
        (-[BrowserWebView validateUserInterfaceItem:]): Disable setPageForSnapBackToCurrentPage: for
        modal windows.
        * BrowserWindow.m: (-[BrowserWindow close]): Abort the modal session if the window being closed is
        the modal window. This is the only way we return from webViewRunModal:.
        * BrowserWindowController.m:
        (-[BrowserWindowController canShowInputFields]): Return no when this window is modal.
        (-[BrowserWindowController validateUserInterfaceItem:]): Disable newTab: and newBookmarkFolder: when
        modal window is up.
        (-[BrowserWindowController validateMenuItem:]): Disable Show/Hide of address bar, bookmarks bar,
        bookmarks collection, and toggleFullScreen: when modal window is up.
        (-[BrowserWindowController showWindow:]): Change code so that a new window always comes up behind
        a modal window. Also rearranged things so that setWindowFocusDisabled:YES will be called in any
        case where the window does not start out as key.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9250 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago fix for <rdar://problem/4135705> REGRESSION (412-TOT) crash in TV Tracker...
adele [Wed, 1 Jun 2005 22:23:58 +0000 (22:23 +0000)]
    fix for <rdar://problem/4135705> REGRESSION (412-TOT) crash in TV Tracker widget - KJS::XMLHttpRequest::removeFromRequestsByDocument()

        Reviewed by Darin.

        Synchronous loads don't get added to our requestsByDocument dictionary, so we should try to remove the request in this case.

        * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::removeFromRequestsByDocument): added checks to make sure request exists before trying to remove it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9243 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by John (fix for Radar bug) and Vicki (all the rest).
darin [Tue, 31 May 2005 05:48:41 +0000 (05:48 +0000)]
    Reviewed by John (fix for Radar bug) and Vicki (all the rest).

        - fixed <rdar://problem/4105097> REGRESSION (138-139): Hitting Enter on a checkbox toggles check mark instead of submitting form
        - fixed other problems discovered while trying to make a layout test to test this work:
            - added newer DOM 3 event type constants
            - fixed prototype setup bug preventing event initialization functions from being called
            - fixed bug where any function taking an event parameter would crash with a nil-deref
            - fixed incorrect ref/deref bug in MutationEventImpl that would cause a crash crash

        Test cases added:
        * layout-tests/fast/forms/check-box-enter-key-expected.txt: Added.
        * layout-tests/fast/forms/check-box-enter-key.html: Added.
        * layout-tests/fast/events/event-creation-expected.txt: Added.
        * layout-tests/fast/events/event-creation.html: Added.

        * khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::defaultEventHandler): Separate the checks for
        the space bar and the Enter key and make Enter submit the form on a check box or radio button.

        * khtml/ecma/kjs_events.cpp:
        (KJS::toEvent): Fixed bug where this was checking for DOMNode rather than DOMEvent, so always returning 0.
        Without this, both test cases above will crash.
        (KJS::DOMUIEvent::DOMUIEvent): Set prototype; without this, the event-creation test case will fail.
        (KJS::DOMMouseEvent::DOMMouseEvent): Set prototype; without this, the event-creation test case will fail.
        (KJS::DOMKeyboardEvent::DOMKeyboardEvent): Set prototype; without this, both test cases above will fail.
        (KJS::DOMMutationEvent::DOMMutationEvent): Set prototype; without this, both test cases above will fail.

        * khtml/xml/dom2_eventsimpl.cpp:
        (MutationEventImpl::MutationEventImpl): Fix typo where the wrong object was ref'd.
        (MutationEventImpl::initMutationEvent): Ditto. This was causing the layout tests to crash with the new tests above.

        * khtml/xml/dom_docimpl.cpp: (DocumentImpl::createEvent): Added new event types to match the current DOM
        Level 3 specification. The test above tests both the new event types and the old ones.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9232 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by John.
darin [Tue, 31 May 2005 03:08:35 +0000 (03:08 +0000)]
    Reviewed by John.
        No test case added because our layout test system doesn't allow us to do inline input.

        - fixed <rdar://problem/4094066> REGRESSION (1.2.5-1.3): unconfirmed inline input is ignored in <textarea>, lost when form is submitted

        * kwq/KWQTextArea.mm: (-[KWQTextArea _createTextView]): Call setWantsNotificationForMarkedText:YES.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9231 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Darin.
mjs [Tue, 31 May 2005 01:20:46 +0000 (01:20 +0000)]
    Reviewed by Darin.

- fixed <rdar://problem/4125222> Dashboard heap size grows over time (leak caused by JavaScript DOM node wrappers?)

- changed per-document DOMObject caching to work with DOMNodes, since that is all it was used for anyway.

        Test cases added: (these tests actually ensure that DOM wrappers
are sufficiently protected from GC to match other browsers, they
do not verify that the leak is fixed since there's no way to test
that with layout tests).

        * layout-tests/fast/dom/gc-1-expected.txt: Added.
        * layout-tests/fast/dom/gc-1.html: Added.
        * layout-tests/fast/dom/gc-2-expected.txt: Added.
        * layout-tests/fast/dom/gc-2.html: Added.
        * layout-tests/fast/dom/gc-3-expected.txt: Added.
        * layout-tests/fast/dom/gc-3.html: Added.

        * khtml/ecma/kjs_binding.cpp:
        (KJS::ScriptInterpreter::forgetDOMObjectForDocument): New function - allows nodes
that get removed from the document to go away from the cache if not referenced.
        (KJS::ScriptInterpreter::mark): Don't mark nodes that aren't in the document,
they can stay in the cache but only if they have another source of life.
        (KJS::ScriptInterpreter::domNodesPerDocument): Renamed and changed parameter types.
        (KJS::ScriptInterpreter::getDOMNodeForDocument): Renamed and changed parameter types.
        (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Renamed and changed parameter types.
        (KJS::ScriptInterpreter::putDOMNodeForDocument): Renamed and changed parameter types.
        (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Renamed and changed parameter types.
        (KJS::ScriptInterpreter::updateDOMNodeDocument): Renamed and changed parameter types.
        * khtml/ecma/kjs_binding.h:
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::~DOMNode): call forgetDOMObjectForDocument.
        (KJS::DOMNode::mark): If the node is not in the document, make sure to mark
all wrappers in its detached piece of the tree.
        (KJS::getDOMNode): Updated for renames
        * khtml/ecma/kjs_dom.h:
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::~DocumentImpl): Updated for renames.
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::checkAddChild): Updated for renames.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9230 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by John.
darin [Tue, 31 May 2005 00:15:52 +0000 (00:15 +0000)]
    Reviewed by John.
        Could not figure out how to make an <object> fallback, so for now, no layout test.

        - fixed <rdar://problem/4134124> REGRESSION (tip of tree): crash in QWidget::getView handling onunload event (yahoo.com)

        * khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::getObjectInstance):
        Check type of RenderObject to be sure it is a RenderWidget before calling widget() on it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9229 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Change by Darin, reviewed by me.
adele [Sat, 28 May 2005 00:42:55 +0000 (00:42 +0000)]
    Change by Darin, reviewed by me.

        fix for <rdar://problem/4067761> 8A425: reload stock widget over and over and crash in XMLHttpRequest::changeState

        * khtml/khtml_part.cpp: (KHTMLPart::closeURL): now cancels XMLHttpRequests
        * khtml/ecma/xmlhttprequest.h: Added cancelRequests, addToRequestsByDocument, and RemoveFromRequestsByDocument methods. Added requestsByDocument dictionary.
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::send): calls addToRequestsByDocument
        (KJS::XMLHttpRequest::abort): calls removeFromRequestsByDocument
        (KJS::XMLHttpRequest::slotFinished): calls removeFromRequestsByDocument
        (KJS::XMLHttpRequest::requestsByDocument):  creates dictionary to manage requests.
        (KJS::XMLHttpRequest::addToRequestsByDocument): adds this request to dict.
        (KJS::XMLHttpRequest::removeFromRequestsByDocument): removes this request from dict.
        (KJS::XMLHttpRequest::cancelRequests): goes and cancels requests in the doc

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9228 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by me, done by Darin.
adele [Sat, 28 May 2005 00:26:29 +0000 (00:26 +0000)]
    Reviewed by me, done by Darin.

        - Darin fixed a regression I found from Darin's recent DOM change that broke GMail

        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::get): Added nil check for document.
        (KJS::Window::hasProperty): Ditto.

        Test cases added: None (Darin should write one).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9227 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Darin.
adele [Fri, 27 May 2005 22:55:24 +0000 (22:55 +0000)]
    Reviewed by Darin.

        fix for <rdar://problem/4121747> Cannot log into Cingular.com account page (load event delivered while still processing incoming data)

        * khtml/misc/loader.cpp:
        (DocLoader::DocLoader): Initialized m_loadInProgress to false.
        (DocLoader::setLoadInProgress): Added.
        (Loader::slotFinished): sets the m_loadInProgress flag to reflect the fact that we're not really done loading this request until we emit the signal with the request status.
        (Loader::numRequests): If there's a load in progress, we increment the number of requests so it doesn't seem like the load is done.
        * khtml/misc/loader.h: (khtml::DocLoader::loadInProgress): Added.

        Test cases added:
        * layout-tests/fast/loader/loadInProgress.html: Added
        * layout-tests/fast/loader/loadInProgress-expected.html: Added

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9226 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Vicki.
darin [Fri, 27 May 2005 22:48:07 +0000 (22:48 +0000)]
    Reviewed by Vicki.

        - fixed <rdar://problem/4125212> form submission delayed until you are on the next page on XML/XSL page (security hole)

        * khtml/xsl/xslt_processorimpl.cpp: (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
        Call setParsing(false) explicitly here. It's really annoying that setParsing(true) is done
        inside DOM::DocumentImpl and setParsing(false) is done by KHTMLPart, so that should be fixed
        some day, but for now this is the way to do it.

        Test cases added:
        * layout-tests/fast/events/xsl-onload-expected.txt: Added.
        * layout-tests/fast/events/xsl-onload.xhtml: Added.
        * layout-tests/fast/events/xsl-onload.xsl: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9225 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Darin
sullivan [Fri, 27 May 2005 21:39:39 +0000 (21:39 +0000)]
    Reviewed by Darin

        * WebCore-tests.exp:
        took out symbol __ZNK5QChar7isPunctEv; it was obsolete and causing build trouble

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9224 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Adele.
darin [Fri, 27 May 2005 20:54:21 +0000 (20:54 +0000)]
    Reviewed by Adele.

        - remove HAVE_ICU_LIBRARY ifdefs

        * khtml/rendering/render_text.cpp: Just use ICU all the time; no ifdef.
        * kwq/KWQKURL.mm: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9223 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by me, patch by Mitz Pettel.
darin [Fri, 27 May 2005 01:17:32 +0000 (01:17 +0000)]
    Reviewed by me, patch by Mitz Pettel.

        - fixed <rdar://problem/4106907> bidi algorithm bug fixed for KHTML should be fixed in WebCore too

        * khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): Integrated the patch that Mitz did
        for the KDE bug, details at <http://www.mitzpettel.com/software/WebCorePatch2.html>.

        Test cases added:
        * layout-tests/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt: Added.
        * layout-tests/fast/text/international/bidi-neutral-directionality-paragraph-start.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9222 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by John.
darin [Fri, 27 May 2005 00:03:03 +0000 (00:03 +0000)]
    Reviewed by John.

        - fix build failure from when I removed WebCoreUnicode

        * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of WebUnicode.h that I missed.
        (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Switch from our own macros
        to the ICU macros for surrogate pairs.
        (widthForNextCharacter): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9221 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
harrison [Thu, 26 May 2005 22:48:36 +0000 (22:48 +0000)]
    <rdar://problem/4120518> Mail: control-T in an empty message crashes mail

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge issueTransposeCommand]):
        New, to support transpose in JS.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9220 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agotop level:
darin [Thu, 26 May 2005 22:15:57 +0000 (22:15 +0000)]
top level:

        Reviewed by Richard and Dave Harrison.

        * configure.in: Turn off exceptions and RTTI for C++ test programs.
        This makes them work with WebCore, which now has them off, under gcc 4.0.

Tests:

        Reviewed by Richard and Dave Harrison.

        * qt/Makefile.am: Add -licucore so we can continue to compile with the changed QChar.

WebCore:

        Reviewed by Richard and Dave Harrison.
        No new test cases needed for this change.

        - eliminate WebCoreUnicode and use ICU directly instead
        - fixed compiling with gcc 4.0 (was broken for Development only)

        * WebCore.exp: Removed the WebCoreXXXFunction exports.
        * WebCore-tests.exp: Removed some QChar functions that are now inlines.
        Removed some typeinfo exports that are no longer appropriate since we use -fno-rtti.

        * kwq/KWQString.h:
        (QChar::isDigit): Changed to call u_isdigit when non-ASCII. We should probably phase
        this out since it's only used in places where we don't want to handle non-ASCII decimal digits.
        (QChar::isLetter): Changed to call u_isalpha when non-ASCII.
        (QChar::isNumber): Changed to call u_isdigit when non-ASCII. This probably should be removed, since
        we always want to call isDigit instead.
        (QChar::isLetterOrNumber): Changed to call u_isalnum when non-ASCII.
        (QChar::isPunct): Changed to call u_ispunct when non-ASCII.
        (QChar::digitValue): Changed to call u_charDigitValue when not '0'-'9'. We should probably phase
        this out since it's only used in places where we don't want to handle non-ASCII decimal digits.
        (QChar::lower): Changed to call u_tolower when non-ASCII.
        (QChar::upper): Changed to call u_toupper when non-ASCII.
        (QChar::direction): Made inline. Calls u_charDirection.
        (QChar::mirrored): Made inline. Calls u_isMirrored.
        (QChar::mirroredChar): Made inline. Calls u_charMirror.

        * kwq/KWQChar.mm: Removed.
        * kwq/WebCoreUnicode.cpp: Removed.
        * kwq/WebCoreUnicode.h: Removed.

        * WebCore.pbproj/project.pbxproj: Removed files.

WebKit:

        Reviewed by Richard and Dave Harrison.

        - eliminate WebCoreUnicode and use ICU directly instead

        * Misc.subproj/WebKitNSStringExtras.m: (canUseFastRenderer): Use u_charDirection directly.
        * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of <WebCore/WebCoreUnicode.h>.
        * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): Removed call to WebKitInitializeUnicode.

        * Misc.subproj/WebUnicode.h: Removed.
        * Misc.subproj/WebUnicode.m: Removed.
        * Misc.subproj/WebUnicodeTables.m: Removed.

        * WebKit.pbproj/project.pbxproj: Removed files.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9219 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoMissed this in previous commit.
harrison [Thu, 26 May 2005 20:32:01 +0000 (20:32 +0000)]
Missed this in previous commit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9218 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by John.
harrison [Thu, 26 May 2005 20:30:12 +0000 (20:30 +0000)]
    Reviewed by John.

        <rdar://problem/4120518> Mail: control-T in an empty message crashes mail

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge rangeOfCharactersAroundCaret]):
        Nil-check result of VisiblePosition previous() and next().

        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::previous):
        (khtml::VisiblePosition::previousVisiblePosition):
        Make sure previous() does not return the original position.  Also, simplified.
        Commented odd, but required, behavior in previousVisiblePosition().

        * khtml/editing/visible_units.cpp:
        (khtml::startOfEditableContent):
        (khtml::endOfEditableContent):
        Removed redundant check for isEditableContent().

        * khtml/editing/jsediting.cpp:
        * khtml/khtml_part.cpp:
        (KHTMLPart::transpose):
        * khtml/khtml_part.h:
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::issueTransposeCommand):
        * layout-tests/editing/editing.js:
        * kwq/WebCoreBridge.h:
        Add support for transpose command in JavaScript and therefore layout tests.

        * layout-tests/editing/deleting/transpose-empty-expected.txt: Added.
        * layout-tests/editing/deleting/transpose-empty.html: Added.
        New test for this bug.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9217 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Fixed <rdar://problem/4127061> <canvas> backing store should be zero filled
rjw [Wed, 25 May 2005 01:33:22 +0000 (01:33 +0000)]
Fixed <rdar://problem/4127061> <canvas> backing store should be zero filled

Use calloc instead of malloc to ensure zero filled backing store.

        Reviewed by Darin.

        * khtml/rendering/render_canvasimage.cpp:
        (RenderCanvasImage::createDrawingContext):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9213 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Fixed <rdar://problem/4097289> -[WebView elementAtPoint:] failing when WebView is...
rjw [Wed, 25 May 2005 01:28:14 +0000 (01:28 +0000)]
Fixed <rdar://problem/4097289> -[WebView elementAtPoint:] failing when WebView is nested and offset

Code to determine the correct frame under the window point was
converting the point incorrectly.

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        (-[WebView _frameViewAtWindowPoint:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9212 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Dave Hyatt.
sullivan [Tue, 24 May 2005 23:49:24 +0000 (23:49 +0000)]
    Reviewed by Dave Hyatt.

        - fixed these bugs:
        <rdar://problem/4118510> Textareas with a vertical scroll bar should have their resize corner under the scroll bar
        <rdar://problem/4118523> Resize image in textareas is drawn repeatedly when scrolling vertically with scrollbar

        Test cases added: none; doesn't affect page layout

        * kwq/KWQTextArea.h:
        added inInitWithFrame ivar
        * kwq/KWQTextArea.mm:
        (+[KWQTextArea _resizeCornerImage]):
        moved here from KWQTextAreaTextView; now it's a class method so we only look up the image once.
        (-[KWQTextArea initWithFrame:]):
        set and clear inInitWithFrame ivar, used by -tile
        (-[KWQTextArea _isResizableByUser]):
        renamed with an underscore for consistency
        (-[KWQTextArea _textViewShouldHandleResizing]):
        new method, returns YES if the textarea is user-resizable and the enclosed textview is responsible for drawing
        and tracking the resize corner.
        (-[KWQTextArea tile]):
        shrink the vertical scroller if appropriate to account for the resize corner
        (-[KWQTextArea _resizeCornerRect]):
        new method, returns the bottom-right corner rect, where the resize image goes
        (-[KWQTextArea _trackResizeFromMouseDown:]):
        moved here from KWQTextAreaTextView. The only changes were to move the [NSCursor set] call inside here (was in
        the caller), and to use self where it was using [self _enclosingTextArea], and to move a comment in here that
        was in the caller
        (-[KWQTextArea mouseDown:]):
        track resizing if appropriate
        (-[KWQTextArea drawRect:]):
        draw the resize corner if appropriate
        (-[KWQTextAreaTextView _resizeCornerRect]):
        get the resize image from KWQTextArea
        (-[KWQTextAreaTextView resetCursorRects]):
        check _textViewShouldHandleResizing
        (-[KWQTextAreaTextView drawRect:]):
        ditto
        (-[KWQTextAreaTextView mouseDown:]):
        ditto; also, make the textarea handle the resize tracking now

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9210 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoAdded a missing bug number.
darin [Tue, 24 May 2005 21:25:18 +0000 (21:25 +0000)]
Added a missing bug number.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9203 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago - another gcc 4.0 fix
darin [Tue, 24 May 2005 21:16:29 +0000 (21:16 +0000)]
    - another gcc 4.0 fix

        No new test cases needed.

        * khtml/dom/dom2_events.cpp: Moved constants out of the KHTML_NO_CPLUSPLUS_DOM #if.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9202 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Vicki.
darin [Tue, 24 May 2005 21:16:03 +0000 (21:16 +0000)]
    Reviewed by Vicki.

        * WebCore.exp: Added exports for many classes in the public DOM headers that were omitted before.
        Also removed one symbol that was listed twice.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9201 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by John.
mjs [Tue, 24 May 2005 17:44:19 +0000 (17:44 +0000)]
    Reviewed by John.

- fixed <rdar://problem/3598589> onunload handler doesn't fire when a window is closed

        Test cases added:
        * layout-tests/fast/events/onunload-expected.txt: Added.
        * layout-tests/fast/events/onunload.html: Added.

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::detach): Don't remove all event handlers from the document here...
        * khtml/khtml_part.cpp:
        (KHTMLPart::closeURL): ...instead do it here, after firing the unload event, but only
if the document is not in the back/forward cache...
        * kwq/KWQPageState.mm:
        (-[KWQPageState finalize]): ...and take care of the back/forward cache case here.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9200 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoAdded missing file.
mjs [Tue, 24 May 2005 17:37:22 +0000 (17:37 +0000)]
Added missing file.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9199 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoWebCore:
sullivan [Tue, 24 May 2005 17:20:36 +0000 (17:20 +0000)]
WebCore:

        Reviewed by Kevin.

        - WebCore part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable

        * kwq/KWQKHTMLSettings.h:
        (KHTMLSettings::textAreasAreResizable):
        new getter
        (KHTMLSettings::setTextAreasAreResizable):
        new setter

        * kwq/KWQTextArea.h:
        * kwq/KWQTextArea.mm:
        eliminated ALLOW_RESIZING_TEXT_AREAS #define in favor of using runtime setting
        (-[KWQTextArea isResizableByUser]):
        get value from settings, and cache it in KWQTextArea instance
        (-[KWQTextAreaTextView _enclosingTextArea]):
        new convenience method, extracted from _trackResizeFromMouseDown:
        (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
        now uses extracted method

        (-[KWQTextAreaTextView drawRect:]):
        now checks isResizableByUser
        (-[KWQTextAreaTextView mouseDown:]):
        ditto

        * kwq/WebCoreSettings.h:
        * kwq/WebCoreSettings.mm:
        (-[WebCoreSettings setTextAreasAreResizable:]):
        new setter
        (-[WebCoreSettings textAreasAreResizable]):
        new getter

WebKit:

        Reviewed by Kevin.

        - WebKit part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable

        * WebView.subproj/WebPreferencesPrivate.h:
        added private-for-now getter and setter for new preference
        * WebView.subproj/WebPreferenceKeysPrivate.h:
        added private preference key controlling whether textareas are resizable
        * WebView.subproj/WebPreferences.m:
        (+[WebPreferences initialize]):
        initial value of new preference is NO, so other clients' behavior doesn't change
        (-[WebPreferences textAreasAreResizable]):
        new getter
        (-[WebPreferences setTextAreasAreResizable:]):
        new setter

        * WebView.subproj/WebView.m:
        (-[WebView _updateWebCoreSettingsFromPreferences:]):
        update this new setting in WebCore

        * English.lproj/StringsNotToBeLocalized.txt:
        updated for these changes

WebBrowser:

        Reviewed by Kevin.

        - added debug menu item to toggle resizable textareas

        * Debug/DebugUtilities.m:
        (-[DebugUtilities createDebugMenu]):
        add "Allow Resizing Text Areas" item and separator
        (-[BrowserDocument toggleAllowResizingTextAreas:]):
        toggle WebPreferences setting
        (-[BrowserDocument validate_toggleAllowResizingTextAreas:]):
        sync checkmark with setting

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9198 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by John.
mjs [Tue, 24 May 2005 07:21:47 +0000 (07:21 +0000)]
    Reviewed by John.

- split remaining editing command classes out of htmlediting.cpp
- rename InsertParagraphSeparatorInQuotedContentCommand to BreakBlockquoteCommand

No layout tests needed - this is a pure refactoring change.

        * WebCore.pbproj/project.pbxproj:
        * khtml/editing/apply_style_command.cpp:
        * khtml/editing/break_blockquote_command.cpp: Added.
        * khtml/editing/break_blockquote_command.h: Added.
        * khtml/editing/composite_edit_command.cpp:
        * khtml/editing/delete_selection_command.cpp:
        * khtml/editing/edit_command.cpp:
        * khtml/editing/htmlediting.cpp:
        * khtml/editing/htmlediting.h:
        * khtml/editing/insert_line_break_command.cpp: Added.
        * khtml/editing/insert_line_break_command.h: Added.
        * khtml/editing/insert_paragraph_separator_command.cpp: Added.
        * khtml/editing/insert_paragraph_separator_command.h: Added.
        * khtml/editing/insert_text_command.cpp: Added.
        * khtml/editing/insert_text_command.h: Added.
        * khtml/editing/join_text_nodes_command.cpp: Added.
        * khtml/editing/join_text_nodes_command.h: Added.
        * khtml/editing/merge_identical_elements_command.cpp: Added.
        * khtml/editing/merge_identical_elements_command.h: Added.
        * khtml/editing/move_selection_command.cpp: Added.
        * khtml/editing/move_selection_command.h: Added.
        * khtml/editing/rebalance_whitespace_command.cpp: Added.
        * khtml/editing/rebalance_whitespace_command.h: Added.
        * khtml/editing/remove_css_property_command.cpp: Added.
        * khtml/editing/remove_css_property_command.h: Added.
        * khtml/editing/remove_node_attribute_command.cpp: Added.
        * khtml/editing/remove_node_attribute_command.h: Added.
        * khtml/editing/remove_node_command.cpp: Added.
        * khtml/editing/remove_node_command.h: Added.
        * khtml/editing/remove_node_preserving_children_command.cpp: Added.
        * khtml/editing/remove_node_preserving_children_command.h: Added.
        * khtml/editing/replace_selection_command.cpp: Added.
        * khtml/editing/replace_selection_command.h: Added.
        * khtml/editing/set_node_attribute_command.cpp: Added.
        * khtml/editing/set_node_attribute_command.h: Added.
        * khtml/editing/split_element_command.cpp: Added.
        * khtml/editing/split_element_command.h: Added.
        * khtml/editing/split_text_node_command.cpp: Added.
        * khtml/editing/split_text_node_command.h: Added.
        * khtml/editing/split_text_node_containing_element_command.h: Added.
        * khtml/editing/typing_command.cpp: Added.
        * khtml/editing/typing_command.h: Added.
        * khtml/editing/wrap_contents_in_dummy_span_command.cpp: Added.
        * khtml/editing/wrap_contents_in_dummy_span_command.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9196 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago * WebCore.exp: Sorted file for more readable diffs.
darin [Tue, 24 May 2005 00:34:30 +0000 (00:34 +0000)]
    * WebCore.exp: Sorted file for more readable diffs.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9191 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Darin.
adele [Mon, 23 May 2005 21:09:51 +0000 (21:09 +0000)]
    Reviewed by Darin.

        fix for <rdar://problem/4122661> Regression: 10.3.8-10.3.9: Next lesson doesn't work on Dale Carnegie Action Systems page

        * khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::tryCall): added checks for NaN, in case it is passed into window.open for screenx, screeny, left, top, height, or width.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9189 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Changed type for identifier parameter in WebResourceLoadDelegate-related calls to...
cblu [Mon, 23 May 2005 21:03:51 +0000 (21:03 +0000)]
Changed type for identifier parameter in WebResourceLoadDelegate-related calls to id from NSString.

        Reviewed by kevin.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _opened]):
        (-[WebFrame _requestFromDelegateForRequest:identifier:error:]):
        (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
        (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]):
        * WebView.subproj/WebFrameInternal.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9188 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Darin.
harrison [Mon, 23 May 2005 20:39:16 +0000 (20:39 +0000)]
    Reviewed by Darin.

Prevent crash when going from no selection to selection with mispelling checks enabled.

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::markMisspellings):
        Repair check for null searchRange.  Was inadvertently broken in recent checkin.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9187 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Dave Hyatt.
sullivan [Mon, 23 May 2005 20:30:39 +0000 (20:30 +0000)]
    Reviewed by Dave Hyatt.

        - fixed <rdar://problem/4123592> Can't resize textareas that have a width specified by a style

        * kwq/KWQTextArea.mm:
        (-[KWQTextArea getNumColumns:andNumRows:forSize:]):
        removed this method, which I had added earlier to set cols and rows correctly
        (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
        set width and height instead of cols and rows; handle the intrinsic margin that sometimes appears
        on form elements

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9186 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Maciej.
adele [Mon, 23 May 2005 00:57:42 +0000 (00:57 +0000)]
    Reviewed by Maciej.

        fix for <rdar://problem/4127101> REGRESSION(412-TOT) crash when creating Option element

        * khtml/ecma/kjs_html.cpp: (KJS::OptionConstructorImp::construct):
        Changed ElementImpl pointer to a SharedPtr because it was getting destroyed before we were done with it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9185 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Chris.
sullivan [Fri, 20 May 2005 21:03:00 +0000 (21:03 +0000)]
    Reviewed by Chris.

        - fixed <rdar://problem/4126160> Crash sending mouse-exited event after reloading
        page with resizable textarea

        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView resetCursorRects]):
        This was some side effect of tracking rect code used for resizable textareas. I discovered
        that I didn't need the tracking rect code at all (at least to achieve the level of only-somewhat-working
        cursor behavior that I already had). Removing it caused the bug to vanish.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9184 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess...
cblu [Fri, 20 May 2005 20:50:20 +0000 (20:50 +0000)]
Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted

Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits.

        Reviewed by sullivan.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then
[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate
methods are called and the data is saved as a WebResource for resources in the WebCore cache.

        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:],
respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]
for synchronous loads

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then
[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called
for subresrources in the page cache

(-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
This method calls identifierForInitialRequest and willSendRequest.

        (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
This method calls the remaining resource load delegate messages.

        (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls
[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]

        * WebView.subproj/WebFrameInternal.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9183 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoJavaScriptCore:
darin [Thu, 19 May 2005 21:57:36 +0000 (21:57 +0000)]
JavaScriptCore:

        Reviewed by Maciej.

        - turned off exceptions and RTTI; seems to cut JavaScriptCore code size by about 22%

        * JavaScriptCore.pbproj/project.pbxproj: Turn off exceptions and RTTI for both
        the framework and testkjs tool.

WebCore:

        Reviewed by Maciej.

        - turned off exceptions and RTTI; seems to cut WebCore code size by about 35%

        * WebCore.pbproj/project.pbxproj: Turn off exceptions and RTTI for the framework.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9182 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Chris Petersen.
darin [Thu, 19 May 2005 18:32:27 +0000 (18:32 +0000)]
    Reviewed by Chris Petersen.

        - fixed a mistake I introduced in my previous check-in that caused a Deployment build failure

        * kwq/DOM.mm: (-[DOMDocument createTreeWalker::::]): Initialize cppFilter to 0, which fixes both
        the build failure and a potential bug!

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9181 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Maciej.
darin [Thu, 19 May 2005 00:53:37 +0000 (00:53 +0000)]
    Reviewed by Maciej.

        - got rid of code that depended on RTTI

        * kjs/collector.cpp:
        (KJS::className): Added. Gets class name in a KJS way, rather than a C++ RTTI way.
        (KJS::Collector::rootObjectClasses): Use className instead of typeid names.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9180 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Maciej.
darin [Thu, 19 May 2005 00:50:10 +0000 (00:50 +0000)]
    Reviewed by Maciej.

        - fix a failure seen in the Mozilla JavaScript tests where a live object was garbage-collected
          when the only reference to it was in an argList on the stack

        * kjs/list.h: Moved the operator= function into the .cpp file since it's too big to be
        a good choice to inline.
        * kjs/list.cpp: (KJS::List::operator=): Moved this formerly-inline function into a separate
        file and added missing code to update valueRefCount. It's the latter that fixes the bug.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9179 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Maciej.
darin [Wed, 18 May 2005 21:10:26 +0000 (21:10 +0000)]
    Reviewed by Maciej.
        No new layout tests required.

        - remove all dependencies on exceptions and RTTI (but don't turn them off yet, that will be in a later patch)

        * WebCore.pbproj/project.pbxproj: Set a new KHTML_NO_CPLUSPLUS_DOM define.
        Removed all C++ DOM wrapper files that we don't need to compile any more.

        * khtml/dom/css_stylesheet.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any
        headers when including this file.

        * khtml/dom/dom2_events.h: Fixed up KHTML_NO_CPLUSPLUS_DOM checks so that everything but EventListener
        is turned off when that's on. Also moved the public so that the constants from KeyboardEvent are public.
        * khtml/dom/dom2_events.cpp: Put everything except for EventListener inside KHTML_NO_CPLUSPLUS_DOM.

        * khtml/dom/dom2_range.h: Added KHTML_NO_CPLUSPLUS_DOM checks so that only the constants are defined,
        no classes.

        * khtml/dom/dom2_traversal.cpp: Put everything except for NodeFilterCondition inside KHTML_NO_CPLUSPLUS_DOM.

        * khtml/dom/dom_node.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any
        headers when including this file.

        * khtml/ecma/kjs_binding.cpp:
        (KJS::DOMObject::get): Removed exception-handling code. Now we can eliminate tryGet altogether.
        (KJS::DOMObject::put): Ditto.
        (KJS::DOMFunction::get): Ditto.
        (KJS::DOMFunction::call): Ditto.

        * khtml/editing/visible_text.h: Added an include of <qstring.h>.

        * khtml/misc/loader.h: Added isKHTMLLoader.
        * khtml/misc/loader.cpp: (Loader::isKHTMLLoader): Added. Poor-man's replacement for dynamic_cast.

        * khtml/rendering/render_form.h:
        * khtml/rendering/render_form.cpp: (RenderFormElement::slotTextChanged): Added. Hack to make KWQSlot work
        for this function.

        * khtml/xml/dom2_rangeimpl.h: Added a forward declaration of class DOMString, needed now that the C++
        DOM wrappers aren't defining it.

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::defaultEventHandler): Changed to call handleEventImpl so we don't have to make the
        C++ DOM wrapper for the event.
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::handleLocalEvents): Ditto.
        (ContainerNodeImpl::insertBefore): Used SharedPtr<NodeImpl> rather than Node to protect the child node.
        (ContainerNodeImpl::replaceChild): Ditto.
        (ContainerNodeImpl::appendChild): Ditto.
        (ContainerNodeImpl::addChild): Ditto.

        * kwq/DOM.mm:
        (ObjCNodeFilterCondition::acceptNode): Update to add a KHTML_NO_CPLUSPLUS_DOM check since FilterCondition
        has a different API depending on the state.
        (-[DOMDocument createNodeIterator::::]): Rewrote to use NodeFilterImpl instead of NodeFilter.
        (-[DOMDocument createTreeWalker::::]): Ditto.

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject role]): Use identifier instead of casting to Node and using elementId.
        (-[KWQAccObject title]): Ditto.
        (-[KWQAccObject accessibilityIsIgnored]): Ditto.
        (-[KWQAccObject rendererForView:]): Ditto.

        * kwq/KWQFrame.mm: (QFrame::setFrameStyle): Use isKHTMLView instead of dynamic_cast.

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::currentForm): Use focusNode instead of activeNode.
        (KWQKHTMLPart::nextKeyViewInFrame): Use isWidget instead of dynamic_cast.
        (KWQKHTMLPart::currentEventIsMouseDownInWidget): Use KHTMLView's nodeUnderMouse instead of our public one
        that uses a DOM C++ wrapper.
        (KWQKHTMLPart::partForWidget): Use isKHTMLView instead of dynamic_cast.
        (KWQKHTMLPart::passSubframeEventToSubframe): Use isWidget instead of dynamic_cast.

        * kwq/KWQObject.h: Made isXXX functions all public since we use them in a few more places now.
        Also added isKHTMLLoader.
        * kwq/KWQObject.mm: (QObject::isKHTMLLoader): Added. Returns false by default.

        * kwq/KWQSlot.mm: Removed all uses of dynamic_cast.

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge stringForRange:]): Used plainText instead of text.
        (-[WebCoreBridge copyRenderNode:copier:]): Used isWidget instead of dynamic_cast.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9178 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with...
cblu [Tue, 17 May 2005 17:55:47 +0000 (17:55 +0000)]
Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control

        Reviewed by mjs.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer]
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
        * WebView.subproj/WebTextView.m:
        (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9177 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoWebKit:
cblu [Tue, 17 May 2005 16:28:20 +0000 (16:28 +0000)]
WebKit:

Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead

        Reviewed by mjs.

        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error

WebBrowser:

Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead

        * BrowserWebView.m:
        (-[BrowserWebView webView:decidePolicyForMIMEType:request:frame:decisionListener:]): download remote web archives

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9176 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoWebCore:
darin [Mon, 16 May 2005 22:11:48 +0000 (22:11 +0000)]
WebCore:

        - attempt to get things building under "Saffron" development tools

        * WebCore.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.

WebKit:

        - attempt to get things building under "Saffron" development tools

        * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9175 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoTests:
adele [Mon, 16 May 2005 22:03:49 +0000 (22:03 +0000)]
Tests:

        Changes by Darin. Reviewed by myself.

        Added new layoutTestController method to dump the document as text.

        * DumpRenderTree/main.m:
        (-[LayoutTestController dumpAsText]): new method on layoutTestController to dump the innerText
        of the body instead of dumping the render tree; better for tests that are not really about layout
        (+[LayoutTestController isSelectorExcludedFromWebScript:]): added new dumpAsText selector
        (dump): changed name of showRenderTree since it now sometimes dumps text instead
        (-[WaitUntilDoneDelegate webView:locationChangeDone:forDataSource:]): calls new dump function
        (-[LayoutTestController notifyDone]): calls new dump function
        (dumpRenderTree): initializes global variables dumpAsText and waitLayoutTest

WebCore:

        Changes by Darin. Reviewed by myself.

        Changed the Render Tree debug code to write out an indication that the affinity is upstream
        when writing out caret position. Updated the one layout test with output affected by the change.
        Also updated one test to use the new dumpAsText method in dumpRenderTree.

        * kwq/KWQRenderTreeDebug.cpp: (writeSelection): writes out affinity if it's upstream in the caret case
        * layout-tests/editing/style/create-block-for-style-004-expected.txt: new results that contain the affinity
        * layout-tests/fast/js/char-at.html: now calls layoutController.dumpAsText()
        * layout-tests/fast/js/char-at-expected.txt: plain text result (replaces old render tree result)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9174 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Adele.
darin [Mon, 16 May 2005 19:19:38 +0000 (19:19 +0000)]
    Reviewed by Adele.

        - fixed issues preventing us from compiling with newer versions of gcc 4.0

        * khtml/dom/dom2_events.cpp: Add definitions of some static data member constants, as required
        by the C++ standard and the gcc 4.0 compiler.

        * khtml/editing/selection.h: Specified KHTMLPart friend class as ::KHTMLPart, since if it's
        not explicitly qualified, it means DOM::KHTMLPart.

        * khtml/dom/dom_string.cpp:
        (DOM::strcasecmp): Removed redundant and illegal DOM:: prefix.
        (DOM::operator==): Ditto.
        * khtml/ecma/kjs_binding.cpp:
        (KJS::getStringOrNull): Removed redundant and illegal KJS:: prefix.
        (KJS::ValueToVariant): Ditto.
        * khtml/ecma/kjs_css.cpp:
        (KJS::getCSSRuleConstructor): Ditto.
        (KJS::getCSSValueConstructor): Ditto.
        (KJS::getCSSPrimitiveValueConstructor): Ditto.
        * khtml/ecma/kjs_events.cpp:
        (KJS::getEventConstructor): Ditto.
        (KJS::getEventExceptionConstructor): Ditto.
        (KJS::getMutationEventConstructor): Ditto.
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::getNodeFilterConstructor): Ditto.

        * khtml/misc/loader_client.h: Added an empty virtual destructor to CachedObjectClient
        to quiet the compiler. This doesn't really do any good, but also does no harm.
        * khtml/misc/loader.cpp: (CachedObjectClient::~CachedObjectClient): Added.

        * khtml/rendering/render_block.cpp: (khtml::RenderBlock::fillBlockSelectionGaps):
        Initialize a couple of variables that should have been initialized to 0.
        Not just about making the compiler happy -- warning found a real bug!

        * kwq/KWQTextArea.mm: (RangeOfParagraph): Change else structure to work around compiler
        warning bug.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9173 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Adele.
darin [Mon, 16 May 2005 18:57:29 +0000 (18:57 +0000)]
    Reviewed by Adele.

        - fixed issues preventing us from compiling with newer versions of gcc 4.0

        * kjs/ustring.cpp:
        (KJS::operator==): Remove redundant and illegal KJS:: prefix on this function's definition.
        (KJS::operator<): Ditto.
        (KJS::compare): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9172 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago * kwq/KWQTextArea.mm:
sullivan [Fri, 13 May 2005 18:44:17 +0000 (18:44 +0000)]
    * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
        added Radar numbers to FIXMEs about resizable textareas
        (-[KWQTextAreaTextView resetCursorRects]):
        ditto
        (-[KWQTextAreaTextView mouseDown:]):
        ditto

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Kevin.
sullivan [Fri, 13 May 2005 17:23:27 +0000 (17:23 +0000)]
    Reviewed by Kevin.

        - fixed <rdar://problem/4093306> Safari crashes if Esc key is held down during series
        of authentication sheets

        * Panels.subproj/WebAuthenticationPanel.m:
        (-[WebAuthenticationPanel cancel:]):
        retain and autorelease self. This is a workaround for an AppKit key-handling issue, which I wrote up as:
        <rdar://problem/4118422> Key-down events can be sent to a closed window if a key is kept pressed down

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Chris Blumenberg.
darin [Fri, 13 May 2005 16:48:51 +0000 (16:48 +0000)]
    Reviewed by Chris Blumenberg.

        - more "getting off the C++ DOM wrappers" changes
          This pass involves replacing uses of DOM::Range with use of DOM::RangeImpl
          plus some more use of DOM::DocumentImpl instead of DOM::Document.

        * khtml/dom/dom2_range.cpp:
        * khtml/dom/dom2_range.h:
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::get):
        (KJS::WindowFunc::tryCall):
        (KJS::Window::updateLayout):
        (KJS::ScheduledAction::execute):
        (KJS::Selection::toString):
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequestProtoFunc::tryCall):
        * khtml/editing/htmlediting.cpp:
        (khtml::InsertLineBreakCommand::doApply):
        * khtml/editing/selection.cpp:
        (khtml::Selection::Selection):
        (khtml::Selection::moveTo):
        (khtml::Selection::toRange):
        * khtml/editing/selection.h:
        * khtml/editing/visible_position.cpp:
        (khtml::makeRange):
        (khtml::startVisiblePosition):
        (khtml::endVisiblePosition):
        (khtml::setStart):
        (khtml::setEnd):
        * khtml/editing/visible_position.h:
        * khtml/editing/visible_range.h:
        * khtml/editing/visible_text.cpp:
        (khtml::TextIterator::TextIterator):
        (khtml::TextIterator::range):
        (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
        (khtml::SimplifiedBackwardsTextIterator::range):
        (khtml::CharacterIterator::CharacterIterator):
        (khtml::CharacterIterator::range):
        (khtml::WordAwareIterator::WordAwareIterator):
        (khtml::WordAwareIterator::advance):
        (khtml::TextIterator::rangeLength):
        (khtml::TextIterator::rangeFromLocationAndLength):
        (khtml::plainText):
        (khtml::findPlainText):
        * khtml/editing/visible_text.h:
        (khtml::WordAwareIterator::range):
        * khtml/editing/visible_units.cpp:
        (khtml::previousBoundary):
        (khtml::nextBoundary):
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::innerText):
        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::scriptExecution):
        * khtml/khtml_part.cpp:
        (KHTMLPart::text):
        (KHTMLPart::selectedText):
        (KHTMLPart::shouldBeginEditing):
        (KHTMLPart::shouldEndEditing):
        (KHTMLPart::selectionComputedStyle):
        * khtml/khtml_part.h:
        * khtml/khtmlview.h:
        * khtml/rendering/render_text.cpp:
        (InlineTextBox::paint):
        * khtml/xml/dom2_rangeimpl.cpp:
        (DOM::operator==):
        (DOM::rangeOfContents):
        * khtml/xml/dom2_rangeimpl.h:
        (DOM::operator!=):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::relinquishesEditingFocus):
        (DocumentImpl::acceptsEditingFocus):
        (DocumentImpl::addMarker):
        (DocumentImpl::removeMarker):
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_position.cpp:
        (DOM::startPosition):
        * khtml/xml/dom_position.h:
        * kwq/DOMHTML.mm:
        (-[DOMHTMLLinkElement href]):
        (-[DOMHTMLBaseElement href]):
        (-[DOMHTMLInputElement src]):
        (-[DOMHTMLAnchorElement href]):
        (-[DOMHTMLImageElement src]):
        (-[DOMHTMLAreaElement href]):
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject textUnderElement]):
        (-[KWQAccObject value]):
        (-[KWQAccObject doAXStringForTextMarkerRange:]):
        (-[KWQAccObject doAXAttributedStringForTextMarkerRange:]):
        * kwq/KWQKHTMLPart.h:
        (KWQKHTMLPart::markedTextRange):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::findString):
        (KWQKHTMLPart::advanceToNextMisspelling):
        (KWQKHTMLPart::fontForSelection):
        (KWQKHTMLPart::markMisspellings):
        (KWQKHTMLPart::respondToChangedSelection):
        (KWQKHTMLPart::shouldBeginEditing):
        (KWQKHTMLPart::shouldEndEditing):
        (convertAttributesToUnderlines):
        (KWQKHTMLPart::setMarkedTextRange):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementAtPoint:]):
        (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
        (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
        (-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:]):
        (-[WebCoreBridge selectedDOMRange]):
        (-[WebCoreBridge convertToNSRange:DOM::]):
        (-[WebCoreBridge convertToDOMRange:]):
        (-[WebCoreBridge convertToObjCDOMRange:]):
        (-[WebCoreBridge selectNSRange:]):
        (-[WebCoreBridge selectedNSRange]):
        (-[WebCoreBridge markDOMRange]):
        (-[WebCoreBridge markedTextDOMRange]):
        (-[WebCoreBridge markedTextNSRange]):
        (-[WebCoreBridge replaceMarkedTextWithText:]):
        (-[WebCoreBridge smartDeleteRangeForProposedRange:]):
        (-[WebCoreBridge dragCaretDOMRange]):
        (-[WebCoreBridge editableDOMRangeForPoint:]):
        (-[WebCoreBridge rangeOfCharactersAroundCaret]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9169 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Dave.
mjs [Fri, 13 May 2005 08:37:15 +0000 (08:37 +0000)]
    Reviewed by Dave.

- more splitting up of htmlediting.cpp

        * WebCore.pbproj/project.pbxproj:
        * khtml/editing/composite_edit_command.cpp:
        * khtml/editing/delete_from_text_node_command.cpp: Added.
        * khtml/editing/delete_from_text_node_command.h: Added.
        * khtml/editing/delete_selection_command.cpp: Added.
        * khtml/editing/delete_selection_command.h: Added.
        * khtml/editing/htmlediting.cpp:
        * khtml/editing/htmlediting.h:
        * khtml/editing/insert_into_text_node_command.cpp: Added.
        * khtml/editing/insert_into_text_node_command.h: Added.
        * khtml/editing/insert_node_before_command.cpp: Added.
        * khtml/editing/insert_node_before_command.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Maciej.
adele [Fri, 13 May 2005 00:57:52 +0000 (00:57 +0000)]
    Reviewed by Maciej.

        fix for  <rdar://problem/4117656> deleting an input element in its onBlur handler crashes Safari

        * khtml/rendering/render_form.cpp: (RenderLineEdit::handleFocusOut): added nil check for element

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9167 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years agoWebCore:
sullivan [Thu, 12 May 2005 21:31:10 +0000 (21:31 +0000)]
WebCore:

        Reviewed by Kevin.

        - rolled in changes from experimental-ui-branch to support resizable textareas
        and find-as-you-type. The files/functions modified are listed just below. After
        that are the ChangeLog comments from the branch.

        * Resources/textAreaResizeCorner.tiff: Added.
        * WebCore.pbproj/project.pbxproj:
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::findString):
        * kwq/KWQTextArea.mm:
        (-[KWQTextArea textDidChange:]):
        (-[KWQTextAreaTextView _resizeCornerImage]):
        (-[KWQTextAreaTextView _resizeCornerRect]):
        (-[KWQTextAreaTextView resetCursorRects]):
        (-[KWQTextAreaTextView drawRect:]):
        (-[KWQTextAreaTextView mouseDown:]):
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):

        2005-05-05  John Sullivan  <sullivan@apple.com>

                Reviewed by Chris.

                * kwq/KWQTextArea.mm:
                (-[KWQTextAreaTextView _resizeCornerRect]):
                Get corner rect from enclosing clipView, rather than using visibleRect.
                VisibleRect would return the wrong result when the textarea was clipped
                by the bottom of the window, leading to redraw schmutz among other things.

        2005-05-02  John Sullivan  <sullivan@apple.com>

                Reviewed by Chris.

                Improvements to resizable textarea experiment:
                - resize image is now drawn in the resize corner
                - cursor sometimes tracks to arrow when over resize corner (but usually not)
                - cursor changes to arrow on mouse down in any case

                * Resources/textAreaResizeCorner.tiff: Added.
                * WebCore.pbproj/project.pbxproj:
                updated for added image file

                * kwq/KWQTextArea.mm:
                (-[KWQTextAreaTextView _resizeCornerImage]):
                new method, reads resize image once and caches it
                (-[KWQTextAreaTextView _resizeCornerRect]):
                new method, computes rect from image
                (-[KWQTextAreaTextView resetCursorRects]):
                overridden to attempt to make the cursor change to an arrow when over this
                corner. Only works sometimes, as explained in comments.
                (-[KWQTextAreaTextView drawRect:]):
                overridden to draw resize image
                (-[KWQTextAreaTextView mouseDown:]):
                now uses _resizeCornerRect, and sets cursor to arrow when pressed in resize corner

        2005-04-18  John Sullivan  <sullivan@apple.com>

                WebCore support for notifying a form delegate when a
                textarea's contents have changed (as opposed to a
                textfield, which was already handled).

                Reviewed by Maciej.

                * kwq/WebCoreBridge.h:
                add textDidChange: method

                * kwq/KWQTextArea.mm:
                (-[KWQTextArea textDidChange:]):
                call through to bridge

        2005-04-07  John Sullivan  <sullivan@apple.com>

                WebCore support for find-as-you-type; needed an additional parameter
                to findString and searchFor:...

                Reviewed by Dave Hyatt.

                * kwq/KWQKHTMLPart.h:
                * kwq/KWQKHTMLPart.mm:
                (KWQKHTMLPart::findString):
                new findInSelection parameter; if true, start from the beginning of the selection
                when searching forward, or the end of the selection when searching backward

                * kwq/WebCoreBridge.h:
                * kwq/WebCoreBridge.mm:
                (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:findInSelection:]):
                new findInSelection parameter; passed through to findString

WebKit:

        Reviewed by Kevin.

        - rolled in changes from experimental-ui-branch to support resizable textareas
        and find-as-you-type and confirming unsubmitted form changes. The files/functions
        modified are listed just below. After that are the ChangeLog comments from the branch.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge textDidChange:]):
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate textDidChange:inFrame:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView maintainsInactiveSelection]):
        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
        (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
        * WebView.subproj/WebView.m:
        (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
        (-[WebView searchFor:direction:caseSensitive:wrap:]):
        (-[WebView makeTextStandardSize:]):
        (-[WebView maintainsInactiveSelection]):
        * WebView.subproj/WebViewPrivate.h:

        2005-04-18  John Sullivan  <sullivan@apple.com>

                WebKit support for notifying a form delegate when a
                textarea's contents have changed (as opposed to a
                textfield, which was already handled).

                Reviewed by Maciej.

                * WebView.subproj/WebFormDelegate.h:
                * WebView.subproj/WebFormDelegate.m:
                (-[WebFormDelegate textDidChange:inFrame:]):
                new form delegate method

                * WebCoreSupport.subproj/WebBridge.m:
                (-[WebBridge textDidChange:]):
                new method, calls through to form delegate

        2005-04-11  John Sullivan  <sullivan@apple.com>

                Fixed inability to wrap around in Find in Page

                * WebView.subproj/WebView.m:
                (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
                changed wrapFlag from NO to YES on two lines (copy/paste error)

        2005-04-07  John Sullivan  <sullivan@apple.com>

                WebKit support for find-as-you-type. Needed an additional parameter on
                a method from WebDocumentSearching protocol. Since that's a public protocol,
                I couldn't just add the parameter. For now I hacked it with an undeclared
                internal method that's discovered via respondsToSelector. Probably the right
                long-term approach is to deprecate the WebDocumentSearching protocol and introduce
                a replacement that has a more flexible set of parameters for possible future
                expansion.

                Reviewed by Dave Hyatt.

                * WebView.subproj/WebHTMLView.m:
                (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
                now calls new one-more-parameter version passing NO for new parameter to match old behavior
                (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
                new method, adds findInSelection parameter and passes it through to bridge

                * WebView.subproj/WebView.m:
                (-[WebView searchFor:direction:caseSensitive:wrap:]):
                now calls new one-more-parameter version passing NO for new parameter to match old behavior
                (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
                new method, adds findInSelection parameter and passes it through

        2005-04-07  John Sullivan  <sullivan@apple.com>

                WebKit support to allow clients to control whether the selection is still
                drawn when the first responder is elsewhere. Formerly this was hardwired
                to be true only when -[WebView isEditable] was true.

                Reviewed by Darin.

                * WebView.subproj/WebHTMLView.m:
                (-[WebHTMLView maintainsInactiveSelection]):
                check [WebView maintainsInactiveSelection] rather than just [WebView isEditable]

                * WebView.subproj/WebViewPrivate.h:
                * WebView.subproj/WebView.m:
                (-[WebView maintainsInactiveSelection]):
                new method for clients to override, returns -[self isEditable]

WebBrowser:

        Reviewed by Kevin.

        - rolled in changes from experimental-ui-branch to support resizable textareas
        and find-as-you-type and confirmations when closing tab/window/app and full screen
        mode. I renamed "WebPageBannner" to just "Banner" at the same time, since
        the banner will have to be used on non-webpages (source documents) too. The
        files/functions modified are listed just below. After that are the ChangeLog
        comments from the branch. Note that I did not roll over the LabelBanner stuff,
        though we can of course do so later if we decide to.

        * AppController.h:
        * AppController.m:
        (-[AppController _OKToCloseBrowserWindows]):
        (-[AppController applicationShouldTerminate:]):
        (-[AppController validateUserInterfaceItem:]):
        * Banner.h: Added.
        * Banner.m: Added.
        (-[Banner init]):
        (-[Banner dealloc]):
        (-[Banner bannerView]):
        (-[Banner standardBannerColor]):
        (-[Banner bannerNibName]):
        (_loadCloseButtonImages):
        (-[Banner _closeButtonClicked:]):
        (-[Banner _createCloseButton]):
        (-[Banner _populateBannerViewFromNib:]):
        (-[Banner createBannerView]):
        (-[Banner _advanceAnimation]):
        (-[Banner _moveBannerIntoPlace:withAnimation:]):
        (-[Banner didInstallBannerView]):
        (-[Banner installIntoWebView:withAnimation:]):
        (-[Banner uninstallFromWebViewWithAnimation:]):
        * BarBackground.h:
        * BarBackground.m:
        (+[BarBackground defaultBottomBorderLineColor]):
        (-[BarBackground drawRect:]):
        (-[BarBackground setBackgroundColor:]):
        (-[BarBackground setBottomBorderColor:]):
        * BrowserDocument.h:
        * BrowserDocument.m:
        (-[BrowserDocument saveDocumentTo:]):
        (-[BrowserDocument showFindPanel:]):
        (-[BrowserDocument findNext:]):
        (-[BrowserDocument findPrevious:]):
        (-[BrowserDocument reportBugToApple:]):
        (-[BrowserDocument printWebFrameView:showingPrintPanel:useSheet:]):
        (-[BrowserDocument proposeBookmarkRespectingProvisionalPage:]):
        (-[BrowserDocument validateUserInterfaceItem:]):
        (-[BrowserDocument mailPage:]):
        (-[BrowserDocument _reportLaunchFailureForMailApplicationAtPath:]):
        (-[BrowserDocument mailPageAddress:]):
        * BrowserDocumentController.h:
        * BrowserDocumentController.m:
        (-[BrowserDocumentController tabsWithUnsubmittedFormText]):
        * BrowserTabViewItem.h:
        * BrowserTabViewItem.m:
        (-[BrowserTabViewItem setView:]):
        (-[BrowserTabViewItem webView]):
        * BrowserWebController.h:
        * BrowserWebController.m:
        (-[BrowserWebView initWithDocument:request:frameName:]):
        (-[BrowserWebView dealloc]):
        (-[BrowserWebView findInPageBanner]):
        (-[BrowserWebView currentBanner]):
        (-[BrowserWebView setCurrentBanner:]):
        (-[BrowserWebView addFavoriteForParentControlledPageInFrame:]):
        (-[BrowserWebView containsEditedForm]):
        (-[BrowserWebView maintainsInactiveSelection]):
        (-[BrowserWebView dataSourceHasChanged:forFrame:]):
        (-[FormDelegate initWithDocument:]):
        (-[FormDelegate _setFormWasEdited:]):
        (-[FormDelegate controlTextDidChange:inFrame:]):
        (-[FormDelegate textDidChange:inFrame:]):
        (-[FormDelegate frameLayoutHasChanged:]):
        (-[FormDelegate dataSourceHasChangedForFrame:]):
        (-[FormDelegate formWasEdited]):
        * BrowserWindow.m:
        (-[BrowserWindow canBecomeKeyWindow]):
        (-[BrowserWindow canBecomeMainWindow]):
        * BrowserWindowController.h:
        * BrowserWindowController.m:
        (-[BrowserWindowController _makeFirstResponder:]):
        (-[BrowserWindowController mainWebFrameView]):
        (-[BrowserWindowController updateKeyboardLoop]):
        (-[BrowserWindowController webViewBannerHasChanged:]):
        (-[BrowserWindowController updateLabelForTab:evenIfTabBarHidden:]):
        (-[BrowserWindowController setUpTabForWebView:addToRightSide:]):
        (-[BrowserWindowController windowDidLoad]):
        (-[BrowserWindowController dealloc]):
        (-[BrowserWindowController _confirmCloseWindowDidEnd:returnCode:contextInfo:]):
        (-[BrowserWindowController _displayCloseConfirmation]):
        (-[BrowserWindowController windowShouldClose:]):
        (-[BrowserWindowController showLocationBarTemporarilyIfHidden]):
        (-[BrowserWindowController toggleTabBarWithAnimation:]):
        (-[BrowserWindowController _closeTabWithoutConfirming:]):
        (-[BrowserWindowController _confirmCloseTabForEditedFormDidEnd:returnCode:contextInfo:]):
        (-[BrowserWindowController _confirmClosingEditedTab:]):
        (-[BrowserWindowController closeTab:]):
        (-[BrowserWindowController closeOtherTabs:]):
        (-[BrowserWindowController reloadTabsMatchingURLs:]):
        (-[BrowserWindowController didSelectTabViewItem]):
        (-[BrowserWindowController findTabForWebView:]):
        (-[BrowserWindowController tabBarView:menuForClippedTabViewItems:]):
        (-[BrowserWindowController reloadTab:]):
        (-[BrowserWindowController reloadParentallyRestrictedFrames]):
        (-[BrowserWindowController updateDocumentIsEdited]):
        (-[BrowserWindowController defaultsDidChange]):
        (-[BrowserWindowController windowDidResignKey:]):
        (-[BrowserWindowController replaceTabSwitcher:]):
        (-[BrowserWindowController releaseTabSwitcher:]):
        (-[BrowserWindowController replaceTabURLs:usingTabLabelsFromBookmarks:]):
        (-[BrowserWindowController orderedTabs]):
        (-[BrowserWindowController tabBarView:performDragOperationForTabViewItem:URL:]):
        (-[BrowserWindowController tabsWithUnsubmittedFormText]):
        (-[BrowserWindowController canReloadTab:]):
        (-[BrowserWindowController canReloadAllTabs]):
        (-[BrowserWindowController validateMenuItem:]):
        (-[BrowserWindowController isFullScreen]):
        (-[BrowserWindowController firstResponderView]):
        (-[BrowserWindowController setFullScreen:]):
        (-[BrowserWindowController toggleFullScreen:]):
        (-[BrowserWindowController windowForSheet]):
        (-[NSTabView makeWebViewsPerformSelector:withObject:]):
        * CoachMark.h: Added.
        * CoachMark.m: Added.
        (-[CoachMark initWithBounds:forView:]):
        (-[CoachMark dealloc]):
        (-[CoachMark width]):
        (-[CoachMark setWidth:]):
        (-[CoachMark duration]):
        (-[CoachMark setDuration:]):
        (-[CoachMark fractionComplete]):
        (-[CoachMark invalidate]):
        (getHostTime):
        (-[CoachMark redrawTimer:]):
        * CoachMarkController.h: Added.
        * CoachMarkController.m: Added.
        (+[CoachMarkController sharedCoachMarkController]):
        (-[CoachMarkController init]):
        (-[CoachMarkController dealloc]):
        (-[CoachMarkController addCoachMarkWithBounds:forView:]):
        (-[CoachMarkController coachMarkExpired:]):
        * CoachMarkView.h: Added.
        * CoachMarkView.m: Added.
        (-[CoachMarkView dealloc]):
        (-[CoachMarkView setCoach:]):
        (-[CoachMarkView width]):
        (-[CoachMarkView setWidth:]):
        (-[CoachMarkView _color]):
        (-[CoachMarkView roundedRect:withRadius:]):
        (-[CoachMarkView drawRect:]):
        * ContextMenuHandler.m:
        (-[BrowserWebView downloadURLUsingSavePanel:]):
        (-[BrowserWebView reportErrorForBadFileWrapper:]):
        (-[BrowserWebView saveFileWrapperToDownloadsFolder:]):
        (-[BrowserWebView reportiPhotoErrorWithMessage:]):
        * Debug/DebugUtilities.m:
        (-[DebugUtilities createDebugMenu]):
        (-[BrowserDocument toggleTransparentWindow:]):
        (-[BrowserDocument validate_toggleUseThreadedImageDecoding:]):
        (-[BrowserDocument toggleConfirmUnsubmittedFormText:]):
        (-[BrowserDocument toggleConfirmClosingMultiplePages:]):
        (-[BrowserDocument toggleUseFindBanner:]):
        (-[BrowserDocument toggleGradient:]):
        (-[BrowserDocument validate_toggleGradient:]):
        (-[BrowserDocument showFindBannerSettings:]):
        (-[BrowserDocument validate_toggleConfirmUnsubmittedFormText:]):
        (-[BrowserDocument validate_toggleConfirmClosingMultiplePages:]):
        (-[BrowserDocument validate_toggleUseFindBanner:]):
        * Debug/FindBannerSettings.nib: Added.
        * Debug/FindBannerSettingsController.h: Added.
        * Debug/FindBannerSettingsController.m: Added.
        (+[FindBannerSettingsController sharedController]):
        (-[FindBannerSettingsController windowNibName]):
        (-[FindBannerSettingsController colorFromPopUp]):
        (-[FindBannerSettingsController selectOtherColor:]):
        (-[FindBannerSettingsController setOutlineColorFromSelectedItem]):
        (-[FindBannerSettingsController colorPickedInColorPanel:]):
        (-[FindBannerSettingsController takeOutlineColorFrom:]):
        (-[FindBannerSettingsController takeDurationFrom:]):
        (-[FindBannerSettingsController updateColorViews]):
        (-[FindBannerSettingsController toggleUseFadingOutline:]):
        (-[FindBannerSettingsController updateViews]):
        (-[FindBannerSettingsController windowDidLoad]):
        * Defaults.plist:
        * English.lproj/FindBanner.nib: Added.
        * English.lproj/Localizable.strings:
        * English.lproj/MainMenu.nib:
        * English.lproj/StringsNotToBeLocalized.txt:
        * FindBanner.h: Added.
        * FindBanner.m: Added.
        (-[FindBanner bannerNibName]):
        (-[FindBanner _updateNextAndPreviousButtons]):
        (-[FindBanner _makeSearchFieldFirstResponder]):
        (-[FindBanner didInstallBannerView]):
        (-[FindBanner controlTextDidChange:]):
        (-[FindBanner _updateFindPasteboardFromSearchField]):
        (-[FindBanner _updateSearchFieldFromFindPasteboard]):
        (-[FindBanner _searchString]):
        (-[FindBanner _searchTarget]):
        (-[FindBanner _doSearchForString:direction:caseSensitive:findInSelection:inTarget:]):
        (-[FindBanner readyToFind]):
        (-[FindBanner _setStatus:]):
        (-[FindBanner _callAttentionToSelectedText]):
        (-[FindBanner _findWithDirection:caseSensitive:findInSelection:]):
        (-[FindBanner findFromSearchField:]):
        (-[FindBanner findNext:]):
        (-[FindBanner findPrevious:]):
        (-[FindBanner focusOrHide]):
        * FormCompletionController.m:
        (+[FormCompletionController autoFillInWebView:]):
        * LocationChangeHandler.m:
        (-[LocationChangeHandler handleCertificateError:forDataSource:]):
        * PreferenceKeys.h:
        * RendezvousController.m:
        (-[RendezvousController reportErrorForServiceName:]):
        * WebBrowser.pbproj/project.pbxproj:

        2005-05-05  John Sullivan  <sullivan@apple.com>

                Reviewed by Chris.

                - preserve the first responder when going to full screen and back.

                * BrowserWindowController.m:
                (-[BrowserWindowController firstResponderView]):
                new method, full of hideous AppKit inside knowledge, that returns the view that
                is first responder, if any. If the first responder is a field editor, this returns
                the associated control. The hideous AppKit inside knowledge is all straight from
                Andrew Platzer and Mike Engber.
                (-[BrowserWindowController setFullScreen:]):
                get the first responder before switching, then reset it if it was a view that
                survived the journey to the new window. Do some special case tomfoolery to
                restore the selected range also.

        2005-05-03  John Sullivan  <sullivan@apple.com>

                Reviewed by Darin.

                - make the full screen window textured so the bookmarks bar, tab bar,
                and status bar use the same background as in a standard browser window.

                * BrowserWindowController.m:
                (-[BrowserWindowController setFullScreen:]):
                include textured window flag in style mask

        2005-05-02  John Sullivan  <sullivan@apple.com>

                Reviewed by Chris.

                Improvements to Find in Page experiment:
                - get the close button images from NSSearchField. These look better in this context
                  than the ones used for tabs.
                - move close box to right side of banner.

                * English.lproj/FindBanner.nib:
                Move views around to account for close button being moved to right side

                * WebPageBanner.m:
                (_loadCloseButtonImages):
                get images from an NSSearchFieldCell
                (-[WebPageBanner _populateBannerViewFromNib:]):
                account for close button being on right side now

        2005-04-22  John Sullivan  <sullivan@apple.com>

                 Reviewed by John.

                - first cut at full screen mode

                * BrowserWindowController.h: Added _normalWindow and _fullScreenWindow fields, toggleFullScreen:, windowForSheet,
                setFullScreen:, and isFullScreen methods.
                * BrowserWindowController.m:
                (-[BrowserWindowController _makeFirstResponder:]): Removed assertion that we end up stumbling over when switching
                to/from full screen mode. I think we can do without it.
                (-[BrowserWindowController dealloc]): Release the two new fields.
                (-[BrowserWindowController showLocationBarTemporarilyIfHidden]): Pop out of full screen mode whenever we would show
                the location bar, since right now it's not compatible with full screen.
                (-[BrowserWindowController windowDidResignKey:]): Pop out of full screen mode when a window comes in front of us.
                (-[BrowserWindowController validateMenuItem:]): Set state of toggle menu item based on current state of window.
                (-[BrowserWindowController isFullScreen]): Added.
                (-[BrowserWindowController setFullScreen:]): Added. This does the real bulk of the work.
                (-[BrowserWindowController toggleFullScreen:]): Added.
                (-[BrowserWindowController windowForSheet]): Added. Turns off full screen mode and then returns the window.

                * BrowserWindow.m:
                (-[BrowserWindow canBecomeKeyWindow]): Override to return YES. Harmless for normal window, needed for full screen window.
                (-[BrowserWindow canBecomeMainWindow]): Ditto.

                * BrowserDocument.m:
                (-[BrowserDocument saveDocumentTo:]): Get out of full screen mode before running a sheet.
                (-[BrowserDocument reportBugToApple:]): Use windowForSheet to get out of full screen mode before running a sheet.
                (-[BrowserDocument printWebFrameView:showingPrintPanel:useSheet:]): Ditto.
                (-[BrowserDocument proposeBookmarkRespectingProvisionalPage:]): Ditto.
                (-[BrowserDocument mailPage:]): Ditto.
                (-[BrowserDocument _reportLaunchFailureForMailApplicationAtPath:]): Ditto.
                (-[BrowserDocument mailPageAddress:]): Ditto.

                * BrowserWebController.m:
                (-[BrowserWebView addFavoriteForParentControlledPageInFrame:]): Ditto.

                * ContextMenuHandler.m:
                (-[BrowserWebView downloadURLUsingSavePanel:]): Use windowForSheet to get out of full screen mode before running a sheet.
                (-[BrowserWebView reportErrorForBadFileWrapper:]): Ditto.
                (-[BrowserWebView saveFileWrapperToDownloadsFolder:]): Ditto.
                (-[BrowserWebView reportiPhotoErrorWithMessage:]): Ditto.

                * Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]): Include a Full-Screen-toggling menu item.

                * FormCompletionController.m:
                (+[FormCompletionController autoFillInWebView:]): Use windowForSheet to get out of full screen mode before running a sheet.
                * LocationChangeHandler.m:
                (-[LocationChangeHandler handleCertificateError:forDataSource:]): Ditto.
                * RendezvousController.m:
                (-[RendezvousController reportErrorForServiceName:]): Ditto.

        2005-04-21  John Sullivan  <sullivan@apple.com>

                Added confirmation on closing window with multiple tabs or quitting Safari
                with multiple windows or tabs. This confirmation can be turned on and off
                from the Debug menu; it defaults to on. Made state of "dirty dot" update
                appropriately when the pref for confirming unsubmitted form text is toggled.
                Fixed a few other bugs in this confirmation stuff.

                Reviewed by Adele.

                * PreferenceKeys.h:
                added new preference DebugConfirmClosingMultiplePagesPreferenceKey
                * Defaults.plist:
                initial value for new preference is true

                * AppController.m:
                (-[AppController _OKToCloseBrowserWindows]):
                Renamed from _OKToAbandonUnsubmittedFormText. Now considers multiple windows/tabs in
                addition to unsubmitted form text. Lots and lots of variations of the message text.
                (-[AppController applicationShouldTerminate:]):
                updated for name change

                * BrowserWebController.m:
                (-[FormDelegate _setFormWasEdited:]):
                only turn on the "dirty dot" if the pref for confirming unsubmitted form text is on

                * BrowserWindowController.h:
                added _confirmUnsubmittedFormText to cache value of this pref to avoid looking it up
                over and over
                * BrowserWindowController.m:
                (-[BrowserWindowController windowDidLoad]):
                set value of _confirmUnsubmittedFormText from NSUserDefaults
                (-[BrowserWindowController _confirmCloseWindowDidEnd:returnCode:contextInfo:]):
                changed name from _confirmCloseForEditedFormDidEnd...
                (-[BrowserWindowController _displayCloseConfirmation]):
                Changed name from _displayConfirmationSheetForUnsubmittedFormText. Now considers
                multiple tabs in addition to unsubmitted form text.
                (-[BrowserWindowController windowShouldClose:]):
                updated for name change
                (-[BrowserWindowController _confirmClosingEditedTab:]):
                removed some extraneous periods following question marks in user messages
                (-[BrowserWindowController closeTab:]):
                fixed bug where the close-tab confirmation was being put up even in the case where
                the tab was closed with no confirmation (d'oh!)
                (-[BrowserWindowController updateDocumentIsEdited]):
                new method, synchronizes the "dirty dot" with current preferences and state
                (-[BrowserWindowController defaultsDidChange]):
                now calls updateDocumentIsEdited

                * Debug/DebugUtilities.m:
                (-[DebugUtilities createDebugMenu]):
                added menu item "Confirm Closing Multiple Pages"
                (-[BrowserDocument toggleConfirmClosingMultiplePages:]):
                new method, toggles the pref
                (-[BrowserDocument validate_toggleConfirmClosingMultiplePages:]):
                new method, syncs check mark on menu item

                * English.lproj/Localizable.strings:
                updated for these changes

        2005-04-20  John Sullivan  <sullivan@apple.com>

                More work on confirmations for unsubmitted form text. Now it confirms for the current page
                of any tab when closing a window. Now it confirms when closing a single tab rather than
                closing the window. Now it confirms when quitting. Now it displays the "dirty dot" in the
                close box if the window has unsubmitted form text in the current page of any tab.

                Reviewed by Adele.

                * AppController.m:
                (-[AppController _OKToAbandonUnsubmittedFormText]):
                new method, puts up app-modal dialog if necessary to confirm abandoning unsubmitted
                form text. Names one such page by title, and mentions how many others there are.
                (-[AppController applicationShouldTerminate:]):
                Check for unsubmitted form text before checking for downloads in progress.

                * BrowserDocumentController.h:
                * BrowserDocumentController.m:
                (-[BrowserDocumentController tabsWithUnsubmittedFormText]):
                new method, returns an array collected from all open windows.

                * BrowserWebController.m:
                (-[BrowserWebView initWithDocument:request:frameName:]):
                now passes self's document as an init parameter to FormDelegate
                (-[FormDelegate initWithDocument:]):
                now takes a document as an init parameter
                (-[FormDelegate _setFormWasEdited:]):
                new method, sets the local flag and also tells the window controller to
                update its UI (the "dirty dot")
                (-[FormDelegate controlTextDidChange:inFrame:]):
                call new setter method rather than setting _formWasEdited ivar directly
                (-[FormDelegate textDidChange:inFrame:]):
                ditto
                (-[FormDelegate dataSourceHasChangedForFrame:]):
                ditto

                * BrowserWindowController.h:
                new public method -tabsWithUnsubmittedFormText
                * BrowserWindowController.m:
                (-[BrowserWindowController _displayConfirmationSheetForUnsubmittedFormText]):
                renamed from _confirmCloseForEditedForm; now handles the logic about whether confirmation
                is necessary that was formerly handled by the caller. Now names page by title instead of
                URL. Now handles 1, 2, and 3-or-more dirty tab cases (used to only check frontmost tab).
                Now brings dirty tab to front before showing sheet, if necessary.
                (-[BrowserWindowController windowShouldClose:]):
                moved some code into _displayConfirmationSheetForUnsubmittedFormText
                (-[BrowserWindowController _closeTabWithoutConfirming:]):
                new method, contains code formerly in -closeTab:
                (-[BrowserWindowController _confirmCloseTabForEditedFormDidEnd:returnCode:contextInfo:]):
                new method, called when sheet is dismissed. Closes the tab without confirming or does nothing.
                (-[BrowserWindowController _confirmClosingEditedTab:]):
                new method, puts up confirmation sheet for edited tab
                (-[BrowserWindowController closeTab:]):
                now checks whether confirmation is necessary instead of closing immediately as it did before
                (-[BrowserWindowController tabsWithUnsubmittedFormText]):
                new method, returns an array of tabs from this window; used when closing the window and when quitting

                * English.lproj/Localizable.strings:
                updated for these changes

        2005-04-18  John Sullivan  <sullivan@apple.com>

                Added Debug menu item to control whether to confirm before closing a window that
                contains unsubmitted form text.

                Reviewed by Kevin.

                * PreferenceKeys.h:
                new default DebugConfirmTossingUnsubmittedFormTextPreferenceKey
                * Defaults.plist:
                initial value of new default is true

                * BrowserWindowController.m:
                (-[BrowserWindowController windowShouldClose:]):
                only confirm if the preference is set

                * Debug/DebugUtilities.m:
                (-[DebugUtilities createDebugMenu]):
                add menu item "Confirm Unsubmitted Form Text"
                (-[BrowserDocument toggleConfirmUnsubmittedFormText:]):
                callback from menu item, toggles the default value
                (-[BrowserDocument validate_toggleConfirmUnsubmittedFormText:]):
                validate the menu item by adding a checkmark if appropriate

        2005-04-18  John Sullivan  <sullivan@apple.com>

                Made form-text-changed confirmation work for textareas as well as textfields.

                Reviewed by Maciej.

                * BrowserWebController.m:
                (-[FormDelegate textDidChange:inFrame:]):
                implement this new FormDelegate method to set the dirty bit

        2005-04-18  John Sullivan  <sullivan@apple.com>

                First cut at confirming before closing a window that contains edited form text.

                Reviewed by Adele.

                * BrowserWebController.h:
                new method -containsEditedForm

                * BrowserWebController.m:
                (-[BrowserWebView containsEditedForm]):
                new method; asks FormDelegate object
                (-[BrowserWebView dataSourceHasChanged:forFrame:]):
                now calls dataSourceHasChangedForFrame: rather than frameLayoutHasChanged: on
                FormDelegate object
                (-[FormDelegate controlTextDidChange:inFrame:]):
                set _formWasEdited bit
                (-[FormDelegate dataSourceHasChangedForFrame:]):
                new method; calls frameLayoutHasChanged (to match old behavior), clears _formWasEdited bit
                (-[FormDelegate formWasEdited]):
                new method; returns _formWasEdited bit

                * BrowserWindowController.m:
                (-[BrowserWindowController _confirmCloseForEditedFormDidEnd:returnCode:contextInfo:]):
                if user hit Close button, close the window now, else do nothing
                (-[BrowserWindowController _confirmCloseForEditedForm]):
                put up a confirmation sheet
                (-[BrowserWindowController windowShouldClose:]):
                if the current page returns yes for containsEditedForm

                * English.lproj/Localizable.strings:
                Updated for text in confirmation sheet.

        2005-04-13  John Sullivan  <sullivan@apple.com>

                Added a close box to all banners (using same art as tabs, which is pretty
                ugly; we'll have to prettify this).
                Fixed a small redraw bug with the sliding-in/out animation.

                Reviewed by Dave Hyatt.

                * WebPageBanner.m:
                (_loadCloseButtonImages):
                new function, loads the three images used by the close button into static
                variables so we don't load from the bundle every time a banner is used.
                (-[WebPageBanner _closeButtonClicked:]):
                new method, closes the banner
                (-[WebPageBanner _createCloseButton]):
                new method, creates a RolloverImageButton with the right attributes, images,
                and size
                (-[WebPageBanner _populateBannerViewFromNib:]):
                put the close button in as first subview, at a standard location
                (-[WebPageBanner _advanceAnimation]):
                use setFocusRingNeedsDisplayInRect: instead of just setNeedsDisplay: to avoid
                focus ring schmutz from being left behind during the animation

        2005-04-13  John Sullivan  <sullivan@apple.com>

                Added support for tabbing through banners, and made it work for the Find banner.

                Reviewed by Chris.

                * BrowserWindowController.h:
                new webViewBannerHasChanged: method for BrowserWebView to call
                * BrowserWindowController.m:
                (-[BrowserWindowController updateKeyboardLoop]):
                insert the current banner into the keyboard loop
                (-[BrowserWindowController webViewBannerHasChanged:]):
                call updateKeyboardLoop

                * BrowserWebController.m:
                (-[BrowserWebView setCurrentBanner:]):
                call webViewBannerHasChanged:

                * WebPageBanner.h:
                new outlets for first and last subviews for keyboard loop
                * WebPageBanner.m:
                (-[WebPageBanner _populateBannerViewFromNib:]):
                use new outlets and BarBackgrounds support for keyboard loops to wire
                the subviews into the keyboard loop

                * English.lproj/FindBanner.nib:
                Wired the nextKeyView connections up, and wired up the new firstChildSubview and
                lastChildSubview outlets.

        2005-04-12  John Sullivan  <sullivan@apple.com>

                Made banners animate into and out of place (no animation occurs if
                one banner is switching to another).

                Reviewed by Maciej.

                * WebPageBanner.h:
                added animation parameters to install and uninstall methods; some new
                animation-related ivars

                * WebPageBanner.m:
                (-[WebPageBanner _advanceAnimation]):
                new method, repositions banner and resizes webview based on fraction
                complete of animation
                (-[WebPageBanner _moveBannerIntoPlace:withAnimation:]):
                new method, initializes and starts animation
                (-[WebPageBanner didInstallBannerView]):
                new method for subviews to override; does nothing here
                (-[WebPageBanner installIntoWebView:withAnimation:]):
                added withAnimation: parameter; removed the webView-sizing code that's
                now done in _advanceAnimation; calls didInstallBannerView right before
                animating
                (-[WebPageBanner uninstallFromWebViewWithAnimation:]):
                ditto

                * FindBanner.m:
                (-[FindBanner didInstallBannerView]):
                set up initial state here rather than in installIntoWebView: so that views
                look correct during the animation

                * BrowserWebController.m:
                (-[BrowserWebView setCurrentBanner:]):
                animate unless we're switching from one banner to another

        2005-04-12  John Sullivan  <sullivan@apple.com>

                Disable Next/Previous buttons in Find banner appropriately.
                Also, Command-F now focuses the find-in-page search field in all cases except
                when it's already focused; in that case it hides the banner.

                Reviewed by Chris.

                * BrowserDocument.m:
                (-[BrowserDocument showFindPanel:]):
                If the Find banner is already showing, call new focusOrHide method on it.

                * FindBanner.h:
                declare new focusOrHide method
                * FindBanner.m:
                (-[FindBanner _updateNextAndPreviousButtons]):
                new method, enables the Next/Previous buttons if readyToFind returns YES
                (-[FindBanner _makeSearchFieldFirstResponder]):
                new method, extracted from installIntoWebView
                (-[FindBanner installIntoWebView:]):
                now calls extracted method; also now calls _updateNextAndPreviousButtons
                (-[FindBanner controlTextDidChange:]):
                new method, calls _updateNextAndPreviousButtons
                (-[FindBanner _updateFindPasteboardFromSearchField]):
                renamed to start with underscore for consistency (though I didn't make all
                the other ones consistent yet)
                (-[FindBanner _findWithDirection:caseSensitive:findInSelection:]):
                updated for name change
                (-[FindBanner findFromSearchField:]):
                ditto
                (-[FindBanner focusOrHide]):
                new method, hides the banner if the search field is focused, otherwise
                focuses the search field. (Makes Command-F do what seems natural to me.)

                * WebPageBanner.h:
                Declare _webView a BrowserWebView*, not just a WebView*. Replace #import of
                WebView.h with a @class declaration of BrowserWebView
                * WebPageBanner.m:
                add #import of BrowserWebController.h
                (-[WebPageBanner installIntoWebView:]):
                change parameter from WebView* to BrowserWebView* to match superclass

        2005-04-12  John Sullivan  <sullivan@apple.com>

                Added slider to Find Banner Settings window to control fading-outline duration.
                Made Next and Previous buttons in Find banner highlight on Command-G and Command-Shift-G

                Reviewed by Vicki.

                * PreferenceKeys.h:
                * Defaults.plist:
                new preference DebugFindOutlineDurationPreferenceKey

                * CoachMark.m:
                (-[CoachMark initWithBounds:forView:]):
                Read the duration from preferences

                * Debug/FindBannerSettings.nib:
                added Duration slider

                * Debug/FindBannerSettingsController.h:
                * Debug/FindBannerSettingsController.m:
                (-[FindBannerSettingsController takeDurationFrom:]):
                new method, sets preference from duration slider
                (-[FindBannerSettingsController updateViews]):
                sets slider value from preferences

                * English.lproj/FindBanner.nib:
                Added key equivalents for Next and Previous buttons

        2005-04-11  Kevin Decker  <kdecker@apple.com>

                Reviewed by John.

                * BarBackground.h: Need to be able to specify a different bottom line color. Added ivar and method to do this.
                * BarBackground.m: Ditto
                (+[BarBackground defaultBottomBorderLineColor]): Renamed method.
                (-[BarBackground drawRect:]): If bottom border color hasn't been specified, use the default.
                (-[BarBackground setBottomBorderColor:]): Added
                * Debug/DebugUtilities.m: Created a toggle for a gradient filled version of our banner.
                (-[DebugUtilities createDebugMenu]):
                (-[BrowserDocument toggleGradient:]): Added.
                (-[BrowserDocument validate_toggleGradient:]): Added.
                * PreferenceKeys.h: Added DebugGradientBannerKey.
                * Resources/Images/BannerBackground.tiff: Added.
                * WebPageBanner.h:
                * WebPageBanner.m:  Checked user preferences for the gradient look.
                (-[WebPageBanner dealloc]): Deallocate the gradient NSImageView.
                (-[WebPageBanner _populateBannerViewFromNib:]):
                (-[WebPageBanner createBannerView]): Checked user preferences for the gradient look. Also adds a one pixel border to the bottom of the banner.

        2005-04-11  John Sullivan  <sullivan@apple.com>

                Added Debug-menu window to tweak with Find in Page settings. The new initial
                setting is a bright red fading round rect. I think this works much better than
                the "Alternate Selection Color" fading round rect that was used before (still a
                choice in the settings window).

                Reviewed by Chris.

                * PreferenceKeys.h:
                * Defaults.plist:
                New NSUserDefaults keys:
                DebugUseFindOutlinePreferenceKey
                DebugFindOutlineIsSelectionColorPreferenceKey
                DebugFindOutlineIsAlternateSelectionColorPreferenceKey
                DebugFindOutlineCustomColorPreferenceKey

                * CoachMark.m:
                (-[CoachMark initWithBounds:forView:]):
                just added a comment

                * CoachMarkView.m:
                (-[CoachMarkView _color]):
                new method, determines color by checking various new preferences
                (-[CoachMarkView drawRect:]):
                call new method

                * Debug/DebugUtilities.m:
                (-[DebugUtilities createDebugMenu]):
                add "Show Find Banner Settings" item
                (-[BrowserDocument showFindBannerSettings:]):
                new method, opens Find Banner Settings window

                * Debug/FindBannerSettings.nib: Added.
                Nib for Find Banner Settings window. I'll be adding more stuff to this, but for
                now it has a checkbox for drawing the fading outlines, and a pop-up menu to
                choose a color.

                * Debug/FindBannerSettingsController.h: Added.
                * Debug/FindBannerSettingsController.m: Added.
                (+[FindBannerSettingsController sharedController]):
                new method, returns single instance
                (-[FindBannerSettingsController windowNibName]):
                returns name of nib file
                (-[FindBannerSettingsController colorFromPopUp]):
                new method, determines an NSColor from the selected item in the popup menu
                (-[FindBannerSettingsController selectOtherColor:]):
                new method, used by "Other..." item
                (-[FindBannerSettingsController setOutlineColorFromSelectedItem]):
                new method, sets the new preference based on the selected item in the popup
                (-[FindBannerSettingsController colorPickedInColorPanel:]):
                new method, updates the "Other" color
                (-[FindBannerSettingsController takeOutlineColorFrom:]):
                new method, callback from selected menu item in color menu
                (-[FindBannerSettingsController updateColorViews]):
                new method, synchronizes the color menu and  with prefs values
                (-[FindBannerSettingsController toggleUseFadingOutline:]):
                new method, toggles pref that controls fading outline (CoachMark)
                (-[FindBannerSettingsController updateViews]):
                new method, just calls updateColorViews (will do more later)
                (-[FindBannerSettingsController windowDidLoad]):
                new method, sets up color menu and views

                * FindBanner.m:
                (-[FindBanner _callAttentionToSelectedText]):
                new method, extracted from _findWithDirection:... Now respects new preference.
                (-[FindBanner _findWithDirection:caseSensitive:findInSelection:]):
                Now calls extracted method.

                * WebBrowser.pbproj/project.pbxproj:
                updated for new files

        2005-04-08  John Sullivan  <sullivan@apple.com>

                First cut at using the fading-oval approach to highlighting the found text. Kinda cool;
                probably needs some tweaking.

                Reviewed by Kevin.

                * CoachMark.m:
                (getHostTime):
                remove cast to eliminate compiler warning

                * FindBanner.m:
                (-[FindBanner _findWithDirection:caseSensitive:findInSelection:]):
                hackily determine the selection rect after finding text, and slap a fading oval around it.

        2005-04-08  John Sullivan  <sullivan@apple.com>

                Checked in the CoachMark classes stolen from Preview.
                I'll be using these as a Find in Page feedback experiment.
                I checked these files in verbatim, and they aren't yet
                used anywhere.

                * CoachMark.h: Added.
                * CoachMark.m: Added.
                (-[CoachMark initWithBounds:forView:]):
                (-[CoachMark dealloc]):
                (-[CoachMark width]):
                (-[CoachMark setWidth:]):
                (-[CoachMark duration]):
                (-[CoachMark setDuration:]):
                (-[CoachMark fractionComplete]):
                (-[CoachMark invalidate]):
                (getHostTime):
                (-[CoachMark redrawTimer:]):
                * CoachMarkController.h: Added.
                * CoachMarkController.m: Added.
                (+[CoachMarkController sharedCoachMarkController]):
                (-[CoachMarkController init]):
                (-[CoachMarkController dealloc]):
                (-[CoachMarkController addCoachMarkWithBounds:forView:]):
                (-[CoachMarkController coachMarkExpired:]):
                * CoachMarkView.h: Added.
                * CoachMarkView.m: Added.
                (-[CoachMarkView dealloc]):
                (-[CoachMarkView setCoach:]):
                (-[CoachMarkView width]):
                (-[CoachMarkView setWidth:]):
                (-[CoachMarkView roundedRect:withRadius:]):
                (-[CoachMarkView drawRect:]):

                * WebBrowser.pbproj/project.pbxproj:
                updated for new files

        2005-04-07  John Sullivan  <sullivan@apple.com>

                Fixed problem where each letter typed in find-as-you-type would jump to
                the next instance of the text to find, instead of extending the selection
                when appropriate.

                Reviewed by Dave Hyatt.

                * FindBanner.m:
                (-[FindBanner _doSearchForString:direction:caseSensitive:findInSelection:inTarget:]):
                added findInSelection parameter, passes through to WebKit
                (-[FindBanner _findWithDirection:caseSensitive:findInSelection:]):
                added findInSelection parameter, passes through to _doSearchForString:
                (-[FindBanner findFromSearchField:]):
                pass YES for findInSelection parameter
                (-[FindBanner findNext:]):
                pass NO for findInSelection parameter
                (-[FindBanner findPrevious:]):
                pass NO for findInSelection parameter

        2005-04-07  John Sullivan  <sullivan@apple.com>

                First draft at search-as-you-type using the Find banner. There are some
                obvious flaws, perhaps the most obvious being that adding a letter will start
                the new search from the end of the current selection. But it works well enough
                to start seeing the flaws, so that's a good thing.

                Reviewed by Darin.

                * BrowserDocument.h:
                declare findNext: and findPrevious: methods
                * BrowserDocument.m:
                (-[BrowserDocument findNext:]):
                call through to FindBanner (or AppController if the pref is set to not use banner)
                (-[BrowserDocument findPrevious:]):
                ditto
                (-[BrowserDocument validateUserInterfaceItem:]):
                findNext: and findPrevious: are enabled if the Find banner returns YES
                for readyToFind

                * BrowserWebController.h:
                the findInPageBanner is now declared as a FindBanner*
                * BrowserWebController.m:
                (-[BrowserWebView findInPageBanner]):
                now returns a FindBanner* rather than just a WebPageBanner*
                (-[BrowserWebView maintainsInactiveSelection]):
                override this new WebView method to return YES if the first responder
                is in a banner on the page.

                * English.lproj/FindBanner.nib:
                Turn off the "sendsWholeSearchString" bit so the searching is as-you-type

                * English.lproj/MainMenu.nib:
                make "Find Again" and "Find Previous" target the first responder rather
                than the AppController, so BrowserDocument can intercept them.

                * FindBanner.h:
                made -readyToFind public so it can be used in -[BrowserDocument validateUserInterfaceItem:]
                * FindBanner.m:
                (-[FindBanner _findWithDirection:caseSensitive:]):
                remove the #if guards around the code that forces the first responder to
                stay in the textfield as you type.

        2005-04-06  John Sullivan  <sullivan@apple.com>

                Refactored the code that populates the Find banner from the nib so
                that other WebPageBanners can do the same thing. Kevin will take
                advantage of this shortly.

                Reviewed by Maciej.

                * WebPageBanner.h:
                added bannerContents IBOutlet and -bannerNibName method, both used in nib loading
                * WebPageBanner.m:
                (-[WebPageBanner bannerNibName]):
                new method, returns nil, subclasses can override to use built-in view population method
                (-[WebPageBanner _populateBannerViewFromNib:]):
                new method, generalized from FindBanner code, extracts all the subviews of a given
                nib object and sticks 'em in the banner
                (-[WebPageBanner createBannerView]):
                now calls _populateBannerViewFromNib:

                * English.lproj/FindBanner.nib:
                wired up new bannerContents outlet

                * FindBanner.m:
                removed override of createBannerView since superclass does this now
                (-[FindBanner bannerNibName]):
                implement this one-liner in its place

        2005-04-06  John Sullivan  <sullivan@apple.com>

                First cut at making the Find Banner actually find. I copied/pasted/simplified
                code from the existing Find dialog (which would eventually go away if we
                adopt this new model, so I didn't feel guilty about duplicating the code).
                I haven't cleaned this all up nicely yet, but I wanted to get this semi-working
                version in. It's only semi-working because it doesn't do find-as-you-type, only
                find-when-you-hit-return. That's because the found text is only drawn as selected
                when the webview is first responder, which makes find-as-you-type useless. I'll
                add WebKit support for showing the selection when not first responder soon, and
                then make find-as-you-type work.

                Reviewed by Kevin.

                * English.lproj/FindBanner.nib: Added. Contains the views that will be in the banner.

                * WebPageBanner.m:
                (-[WebPageBanner createBannerView]):
                used #defines for initial width and standard height for clarity
                (-[WebPageBanner installIntoWebView:]):
                removed obsolete comment

                * FindBanner.h: Added.
                * FindBanner.m: Added.
                (-[FindBanner createBannerView]):
                overridden to install subviews from nib
                (-[FindBanner installIntoWebView:]):
                overridden to set focus on search field

                The following methods are all copied/pasted from FindPanelController,
                then tweaked (mostly simplified) to work here.
                (-[FindBanner updateFindPasteboardFromSearchField]):
                (-[FindBanner _updateSearchFieldFromFindPasteboard]):
                (-[FindBanner _searchString]):
                (-[FindBanner _searchTarget]):
                (-[FindBanner _doSearchForString:direction:caseSensitive:inTarget:]):
                (-[FindBanner readyToFind]):
                (-[FindBanner _setStatus:]):
                (-[FindBanner _findWithDirection:caseSensitive:]):
                (-[FindBanner findFromSearchField:]):
                (-[FindBanner findNext:]):
                (-[FindBanner findPrevious:]):

                * BrowserWebController.m:
                (-[BrowserWebView findInPageBanner]):
                Create a FindBanner, not just a generic WebPageBanner. Took out the temporary
                hack contents.

                * WebBrowser.pbproj/project.pbxproj:
                updated for new files

        2005-04-05  John Sullivan  <sullivan@apple.com>

                Some work in the direction of making Find in the Edit menu
                use the Find banner. The Debug menu now has a toggle item
                that controls whether Find in Page (command-F) uses the
                banner or not. I've left the Find dialog in for now so we
                can compare behaviors easily.

                Reviewed by Kevin.

                * PreferenceKeys.h:
                new preference key to control whether Command-F "Find" uses Find bar

                * AppController.h:
                declare NSUserInterfaceValidations protocol so other code can call
                through to [AppController validateUserInterfaceItem:] without making
                the compiler upset.
                * AppController.m:
                (-[AppController validateUserInterfaceItem:]):
                Reset menu title and state to the old as-in-nib versions ("Find�, unchecked)

                * BrowserDocument.h:
                declare showFindPanel: IBAction
                * BrowserDocument.m:
                (-[BrowserDocument showFindPanel:]):
                if the new pref isn't set, just call through to AppController. if it is, toggle
                the Find panel (using code formerly in DebugUtilities)
                (-[BrowserDocument validateUserInterfaceItem:]):
                When Find banner is not showing, use "Find in Page�, unchecked. When Find banner
                is showing, use "Find in Page", checked. Probably we can come up with something
                less weird.

                * Debug/DebugUtilities.m:
                (-[DebugUtilities createDebugMenu]):
                remove menu item for toggling Find bar; add menu item for toggling preference
                that controls whether Command-F "Find" uses Find bar
                (-[BrowserDocument toggleUseFindBanner:]):
                new method, toggles preference
                (-[BrowserDocument validate_toggleUseFindBanner:]):
                new method, checks or unchecks according to preference

                * English.lproj/Localizable.strings:
                updated for these changes

                * English.lproj/MainMenu.nib:
                changed target of "Find� menu item to be FirstResponder rather than AppController

        2005-04-05  John Sullivan  <sullivan@apple.com>

                More work on banner mechanism. Made each BrowserWebView have its own
                Find In Page banner (no content yet), in order to enable hiding that
                particular banner rather than hiding whatever banner happened to be
                showing. Renamed some methods and variables for clarity.

                Reviewed by Kevin.

                * BrowserWebController.h:
                added _findInPageBanner, renamed _banner -> _currentBanner; added
                -findInPageBanner, renamed -banner -> -currentBanner and -setBanner:
                -> -setCurrentBanner:
                * BrowserWebController.m:
                (-[BrowserWebView dealloc]):
                updated for renamings, and now releases _findInPageBanner
                (-[BrowserWebView findInPageBanner]):
                new method, lazily creates banner that will be used for Find in Page
                (-[BrowserWebView currentBanner]):
                updated for renamings
                (-[BrowserWebView setCurrentBanner:]):
                ditto

                * Debug/DebugUtilities.m:
                (-[DebugUtilities createDebugMenu]):
                changed Show/Hide Test Banner to Show/Hide Find Banner (this will go away
                entirely when I hook the Find banner up to the existing Find menu item)
                (-[BrowserDocument toggleFindInPageBanner:]):
                renamed from toggleBanner:; the code to create the banner is now in
                BrowserWebView. This method now checks for the specific banner rather
                than hiding whatever banner is showing.
                (-[BrowserDocument validate_toggleFindInPageBanner:]):
                updated for renamings, and now checks for the specific banner

        2005-04-04  John Sullivan  <sullivan@apple.com>

                Reviewed by Maciej.

                * BrowserTabViewItem.h:
                added _webView ivar
                * BrowserTabViewItem.m:
                (-[BrowserTabViewItem setView:]):
                find webView inside passed-in view, stash in ivar
                (-[BrowserTabViewItem webView]):
                return cached webview

                * BrowserWindowController.m:
                (-[BrowserWindowController setUpTabForWebView:addToRightSide:]):
                make tab item's view be a container holding the webview, rather
                than the webview itself. That way we can insert the banner later
                in a per-tab manner.

                * Debug/DebugUtilities.m:
                (-[BrowserDocument toggleBanner:]):
                don't use a static banner anymore since there can be more than one.

                * WebPageBanner.m:
                (-[WebPageBanner installIntoWebView:]):
                added support for unflipped parent view, works with generic NSView.
                I could have flipped the container view created in the tab, but this
                way is more general.
                (-[WebPageBanner uninstallFromWebView]):
                ditto

        2005-04-04  John Sullivan  <sullivan@apple.com>

                To make the blue banners work with tabs, I'll have to make the BrowserTabItem's view
                not be the webView itself but rather a new container view that holds the webView and
                optionally a banner. This checkin refactors the code that assumes that
                [BrowserTabItem view] is a webView to not assume that. I'll make the actual view
                hierarchy change in a separate checkin.

                * BrowserTabViewItem.h:
                Made -webView a public method. This method was implemented but not public and not
                used internally, so I guess it was either going to be public or used to be public.
                But regardless of the past, I wanted it public again, so public it shall be.

                * BrowserWindowController.m:
                (-[BrowserWindowController mainWebFrameView]):
                replaced code that casts [BrowserTabViewItem view] to a WebView with code
                to call [BrowserTabViewItem webView], since soon [BrowserTabViewItem view]
                won't be a webView.
                (-[BrowserWindowController updateKeyboardLoop]):
                (-[BrowserWindowController updateLabelForTab:evenIfTabBarHidden:]):
                (-[BrowserWindowController toggleTabBarWithAnimation:]):
                (-[BrowserWindowController closeTab:]):
                (-[BrowserWindowController closeOtherTabs:]):
                (-[BrowserWindowController reloadTabsMatchingURLs:]):
                (-[BrowserWindowController didSelectTabViewItem]):
                (-[BrowserWindowController findTabForWebView:]):
                (-[BrowserWindowController tabBarView:menuForClippedTabViewItems:]):
                (-[BrowserWindowController reloadTab:]):
                (-[BrowserWindowController reloadParentallyRestrictedFrames]):
                (-[BrowserWindowController replaceTabSwitcher:]):
                (-[BrowserWindowController releaseTabSwitcher:]):
                (-[BrowserWindowController replaceTabURLs:usingTabLabelsFromBookmarks:]):
                (-[BrowserWindowController orderedTabs]):
                (-[BrowserWindowController tabBarView:performDragOperationForTabViewItem:URL:]):
                (-[BrowserWindowController canReloadTab:]):
                (-[BrowserWindowController canReloadAllTabs]):
                (-[NSTabView makeWebViewsPerformSelector:withObject:]):
                ditto

                * WebPageBanner.m:
                (-[WebPageBanner standardBannerColor]):
                Made #defines for the RGB values

        2005-04-04  John Sullivan  <sullivan@apple.com>

                - first cut at transient blue bar to be used for page metadata, find, and
                pop-up banner experiments. It doesn't do anything yet other than show and
                hide itself on demand. It doesn't yet work with multiple tabs (I'll fix
                that next.)

                I made the bar use the blue color that Kevin extracted from Mail's mailbox
                tableview. To see a demo, choose "Show Banner" and then "Hide Banner" from
                the Debug menu.

                Reviewed by Kevin. (Reviews not strictly required for experimental checkins,
                but it's never a bad idea.)

                * WebPageBanner.h: Added.
                * WebPageBanner.m: Added.
                (-[WebPageBanner init]):
                calls createBannerView
                (-[WebPageBanner dealloc]):
                cleans up
                (-[WebPageBanner bannerView]):
                returns ivar
                (-[WebPageBanner standardBannerColor]):
                returns standard color in case subclasses want to use it in a createBannerView override
                (-[WebPageBanner createBannerView]):
                creates new BarBackground with the standard color. Clients can add subviews to this
                view, or could subclass and override to create the view a completely different way.
                (-[WebPageBanner installIntoWebView:]):
                squeezes itself above the webview (no animation yet)
                (-[WebPageBanner uninstallFromWebView]):
                removes itself and restores webview (no animation yet)

                * BrowserWebController.h:
                * BrowserWebController.m:
                (-[BrowserWebView dealloc]):
                release _banner ivar
                (-[BrowserWebView banner]):
                returns ivar
                (-[BrowserWebView setBanner:]):
                sets the banner; call with nil to hide the banner. Currently only one banner can
                be showing at a time.

                * Debug/DebugUtilities.m:
                (-[DebugUtilities createDebugMenu]):
                add menu item to test banner
                (-[BrowserDocument toggleBanner:]):
                show or hide banner
                (-[BrowserDocument validate_toggleBanner:]):
                change menu item text to "Show Banner" or "Hide Banner"

                * WebBrowser.pbproj/project.pbxproj:
                updated for new class files

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9166 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Maciej (except for some parts outside the ECMA directory).
darin [Thu, 12 May 2005 17:11:22 +0000 (17:11 +0000)]
    Reviewed by Maciej (except for some parts outside the ECMA directory).

        - switch KJS wrappers over to using the DOM impl. classes rather than using
          the DOM wrappers; will allow us to not even compile the DOM wrappers and
          make the code smaller

        * khtml/css/css_valueimpl.h: Added CSSStyleDeclarationImpl::isPropertyName,
        removed CSSStyleDeclarationImpl::propertyID.
        * khtml/css/css_valueimpl.cpp:
        (DOM::propertyID): Added. Gets property ID given a DOM string. Replaces the
        previous version that had hacks that we want to leave in the JS wrapper for now.
        (DOM::CSSStyleDeclarationImpl::isPropertyName): Added.

        * khtml/css/cssproperties.in: Fixed up comments.

        * khtml/css/makeprop: Added new maxCSSPropertyNameLength constant, used for
        buffer size in the propertyID function.

        * khtml/dom/dom2_events.h: Added handleEventImpl, making it easier to call
        handleEvent in a way that works either with or without the C++ DOM wrappers.
        * khtml/dom/dom2_events.cpp: (EventListener::handleEventImpl): Added.

        * khtml/dom/dom2_views.cpp: Added now-needed include.
        * khtml/dom/dom_doc.cpp: Added now-needed include.
        * khtml/dom/dom_element.cpp: Tweaked includes.

        * khtml/editing/htmlediting.cpp: Removed now-unneeded include.
        * khtml/html/html_baseimpl.cpp: Ditto.
        * khtml/html/html_formimpl.h: Ditto.
        * khtml/rendering/render_form.h: Ditto.
        * khtml/rendering/render_style.h: Ditto.
        * khtml/xml/dom2_eventsimpl.cpp: Ditto.
        * khtml/xml/dom2_viewsimpl.h: Ditto.
        * khtml/xml/dom_elementimpl.h: Ditto.
        * khtml/xml/dom_stringimpl.h: Ditto.
        * kwq/DOM.mm: Ditto.
        * kwq/DOMHTML.mm: Ditto.

        * khtml/khtml_part.cpp: Tweaked incluudes.
        * khtml/khtmlpart_p.h: Ditto.

        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::canCachePage): Change to use DOM impl. rather
        than C++ DOM.

        * khtml/xml/dom_docimpl.cpp:
        (DOMImplementationImpl::createDocumentType): Disabled the calls to the not-implemented
        name checks in the C++ DOM wrappers. If we add name changes, we'll want them inside the
        impl, not in the wrappers.
        (DOMImplementationImpl::createDocument): Ditto.
        * khtml/xml/dom_nodeimpl.cpp: (NodeImpl::checkSetPrefix): Ditto.

        * khtml/ecma/kjs_binding.cpp:
        (KJS::ScriptInterpreter::wasRunByUserGesture):
        (KJS::KJS::ValueToVariant):
        (KJS::setDOMException):
        * khtml/ecma/kjs_binding.h:
        (KJS::ScriptInterpreter::setCurrentEvent):
        (KJS::ScriptInterpreter::getCurrentEvent):
        (KJS::cacheDOMObject):
        (KJS::DOMExceptionTranslator::DOMExceptionTranslator):
        (KJS::DOMExceptionTranslator::~DOMExceptionTranslator):
        (KJS::DOMExceptionTranslator::operator int &):
        (KJS::cacheGlobalObject):
        * khtml/ecma/kjs_css.cpp:
        (KJS::cssPropertyName):
        (KJS::isCSSPropertyName):
        (KJS::DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
        (KJS::DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration):
        (KJS::DOMCSSStyleDeclaration::hasProperty):
        (KJS::DOMCSSStyleDeclaration::tryGet):
        (KJS::DOMCSSStyleDeclaration::tryPut):
        (KJS::DOMCSSStyleDeclarationProtoFunc::tryCall):
        (KJS::getDOMCSSStyleDeclaration):
        (KJS::DOMStyleSheet::~DOMStyleSheet):
        (KJS::DOMStyleSheet::getValueProperty):
        (KJS::DOMStyleSheet::tryPut):
        (KJS::getDOMStyleSheet):
        (KJS::DOMStyleSheetList::~DOMStyleSheetList):
        (KJS::DOMStyleSheetList::tryGet):
        (KJS::getDOMStyleSheetList):
        (KJS::DOMStyleSheetListFunc::tryCall):
        (KJS::DOMMediaList::DOMMediaList):
        (KJS::DOMMediaList::~DOMMediaList):
        (KJS::DOMMediaList::tryGet):
        (KJS::DOMMediaList::tryPut):
        (KJS::getDOMMediaList):
        (KJS::KJS::DOMMediaListProtoFunc::tryCall):
        (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet):
        (KJS::DOMCSSStyleSheet::tryGet):
        (KJS::DOMCSSStyleSheetProtoFunc::tryCall):
        (KJS::DOMCSSRuleList::~DOMCSSRuleList):
        (KJS::DOMCSSRuleList::tryGet):
        (KJS::DOMCSSRuleListFunc::tryCall):
        (KJS::getDOMCSSRuleList):
        (KJS::DOMCSSRule::~DOMCSSRule):
        (KJS::DOMCSSRule::classInfo):
        (KJS::DOMCSSRule::tryGet):
        (KJS::DOMCSSRule::getValueProperty):
        (KJS::DOMCSSRule::putValue):
        (KJS::DOMCSSRuleFunc::tryCall):
        (KJS::getDOMCSSRule):
        (KJS::DOMCSSValue::~DOMCSSValue):
        (KJS::DOMCSSValue::tryGet):
        (KJS::DOMCSSValue::tryPut):
        (KJS::getDOMCSSValue):
        (KJS::DOMCSSPrimitiveValue::DOMCSSPrimitiveValue):
        (KJS::DOMCSSPrimitiveValue::tryGet):
        (KJS::DOMCSSPrimitiveValueProtoFunc::tryCall):
        (KJS::DOMCSSValueList::DOMCSSValueList):
        (KJS::DOMCSSValueList::tryGet):
        (KJS::DOMCSSValueListFunc::tryCall):
        (KJS::DOMRGBColor::getValueProperty):
        (KJS::getDOMRGBColor):
        (KJS::DOMRect::~DOMRect):
        (KJS::DOMRect::getValueProperty):
        (KJS::getDOMRect):
        (KJS::DOMCounter::~DOMCounter):
        (KJS::DOMCounter::getValueProperty):
        (KJS::getDOMCounter):
        * khtml/ecma/kjs_css.h:
        (KJS::DOMCSSStyleDeclaration::impl):
        (KJS::DOMStyleSheet::DOMStyleSheet):
        (KJS::DOMStyleSheet::impl):
        (KJS::DOMStyleSheetList::DOMStyleSheetList):
        (KJS::DOMStyleSheetList::impl):
        (KJS::DOMMediaList::impl):
        (KJS::DOMCSSStyleSheet::):
        (KJS::DOMCSSRuleList::DOMCSSRuleList):
        (KJS::DOMCSSRuleList::impl):
        (KJS::DOMCSSRule::DOMCSSRule):
        (KJS::DOMCSSRule::impl):
        (KJS::DOMCSSValue::DOMCSSValue):
        (KJS::DOMCSSValue::impl):
        (KJS::DOMCSSValueList::):
        (KJS::DOMRGBColor::DOMRGBColor):
        (KJS::DOMRect::DOMRect):
        (KJS::DOMCounter::DOMCounter):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNodeListFunc::):
        (KJS::DOMNode::DOMNode):
        (KJS::DOMNode::toBoolean):
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNode::putValue):
        (KJS::DOMNode::toPrimitive):
        (KJS::DOMNode::toString):
        (KJS::DOMNode::setListener):
        (KJS::DOMNode::getListener):
        (KJS::DOMNodeProtoFunc::tryCall):
        (KJS::toNode):
        (KJS::DOMNodeList::~DOMNodeList):
        (KJS::DOMNodeList::toPrimitive):
        (KJS::DOMNodeList::tryGet):
        (KJS::DOMNodeList::tryCall):
        (KJS::DOMNodeListFunc::tryCall):
        (KJS::DOMAttr::DOMAttr):
        (KJS::DOMAttr::getValueProperty):
        (KJS::DOMAttr::putValue):
        (KJS::toAttr):
        (KJS::DOMDocument::DOMDocument):
        (KJS::DOMDocument::~DOMDocument):
        (KJS::DOMDocument::getValueProperty):
        (KJS::DOMDocument::putValue):
        (KJS::DOMDocumentProtoFunc::tryCall):
        (KJS::DOMElement::DOMElement):
        (KJS::DOMElement::tryGet):
        (KJS::DOMElementProtoFunc::tryCall):
        (KJS::toElement):
        (KJS::DOMDOMImplementation::DOMDOMImplementation):
        (KJS::DOMDOMImplementation::~DOMDOMImplementation):
        (KJS::DOMDOMImplementationProtoFunc::tryCall):
        (KJS::DOMDocumentType::DOMDocumentType):
        (KJS::DOMDocumentType::getValueProperty):
        (KJS::toDocumentType):
        (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
        (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
        (KJS::DOMNamedNodeMap::tryGet):
        (KJS::DOMNamedNodeMapProtoFunc::tryCall):
        (KJS::DOMProcessingInstruction::DOMProcessingInstruction):
        (KJS::DOMProcessingInstruction::getValueProperty):
        (KJS::DOMProcessingInstruction::tryPut):
        (KJS::DOMNotation::DOMNotation):
        (KJS::DOMNotation::getValueProperty):
        (KJS::DOMEntity::DOMEntity):
        (KJS::DOMEntity::getValueProperty):
        (KJS::getDOMDocumentNode):
        (KJS::checkNodeSecurity):
        (KJS::getDOMNode):
        (KJS::getDOMNamedNodeMap):
        (KJS::getRuntimeObject):
        (KJS::getDOMNodeList):
        (KJS::getDOMDOMImplementation):
        (KJS::getNodeConstructor):
        (KJS::getDOMExceptionConstructor):
        (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
        (KJS::DOMNamedNodesCollection::tryGet):
        (KJS::DOMCharacterData::DOMCharacterData):
        (KJS::DOMCharacterData::getValueProperty):
        (KJS::DOMCharacterData::tryPut):
        (KJS::DOMCharacterDataProtoFunc::tryCall):
        (KJS::DOMText::DOMText):
        (KJS::DOMTextProtoFunc::tryCall):
        * khtml/ecma/kjs_dom.h:
        (KJS::DOMNode::impl):
        (KJS::DOMNodeList::DOMNodeList):
        (KJS::DOMNodeList::impl):
        (KJS::DOMDOMImplementation::impl):
        (KJS::DOMNamedNodeMap::impl):
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        (KJS::JSLazyEventListener::handleEvent):
        (KJS::getNodeEventListener):
        (KJS::DOMEvent::DOMEvent):
        (KJS::DOMEvent::~DOMEvent):
        (KJS::DOMEvent::getValueProperty):
        (KJS::DOMEvent::putValue):
        (KJS::DOMEventProtoFunc::tryCall):
        (KJS::getDOMEvent):
        (KJS::toEvent):
        (KJS::DOMUIEvent::DOMUIEvent):
        (KJS::DOMUIEvent::getValueProperty):
        (KJS::DOMUIEventProtoFunc::tryCall):
        (KJS::DOMMouseEvent::DOMMouseEvent):
        (KJS::DOMMouseEvent::getValueProperty):
        (KJS::DOMMouseEventProtoFunc::tryCall):
        (KJS::DOMKeyboardEvent::DOMKeyboardEvent):
        (KJS::DOMKeyboardEvent::getValueProperty):
        (KJS::DOMKeyboardEventProtoFunc::tryCall):
        (KJS::DOMMutationEvent::DOMMutationEvent):
        (KJS::DOMMutationEvent::getValueProperty):
        (KJS::DOMMutationEventProtoFunc::tryCall):
        (KJS::DOMWheelEvent::DOMWheelEvent):
        (KJS::DOMWheelEvent::getValueProperty):
        (KJS::ClipboardProtoFunc::tryCall):
        * khtml/ecma/kjs_events.h:
        (KJS::DOMEvent::impl):
        (KJS::DOMUIEvent::):
        (KJS::DOMMouseEvent::):
        (KJS::DOMKeyboardEvent::):
        (KJS::DOMMutationEvent::):
        * khtml/ecma/kjs_html.cpp:
        (KJS::KJS::HTMLDocFunction::tryCall):
        (KJS::HTMLDocument::HTMLDocument):
        (KJS::HTMLDocument::hasProperty):
        (KJS::HTMLDocument::tryGet):
        (KJS::KJS::HTMLDocument::putValue):
        (KJS::KJS::HTMLElement::classInfo):
        (KJS::HTMLElement::HTMLElement):
        (KJS::KJS::HTMLElement::tryGet):
        (KJS::KJS::HTMLElement::implementsCall):
        (KJS::KJS::HTMLElement::call):
        (KJS::KJS::HTMLElement::getValueProperty):
        (KJS::KJS::HTMLElement::hasProperty):
        (KJS::KJS::HTMLElement::toString):
        (KJS::getForm):
        (KJS::KJS::HTMLElement::pushEventHandlerScope):
        (KJS::KJS::HTMLElementFunction::tryCall):
        (KJS::KJS::HTMLElement::tryPut):
        (KJS::HTMLElement::putValue):
        (KJS::toHTMLElement):
        (KJS::toHTMLTableCaptionElement):
        (KJS::toHTMLTableSectionElement):
        (KJS::HTMLCollection::HTMLCollection):
        (KJS::HTMLCollection::~HTMLCollection):
        (KJS::KJS::HTMLCollection::tryGet):
        (KJS::KJS::HTMLCollection::tryCall):
        (KJS::KJS::HTMLCollection::getNamedItems):
        (KJS::KJS::HTMLCollectionProtoFunc::tryCall):
        (KJS::HTMLSelectCollection::HTMLSelectCollection):
        (KJS::KJS::HTMLSelectCollection::tryGet):
        (KJS::KJS::HTMLSelectCollection::tryPut):
        (KJS::OptionConstructorImp::OptionConstructorImp):
        (KJS::OptionConstructorImp::construct):
        (KJS::ImageConstructorImp::ImageConstructorImp):
        (KJS::ImageConstructorImp::construct):
        (KJS::Image::notifyFinished):
        (KJS::Image::Image):
        (KJS::KJS::Context2DFunction::tryCall):
        (KJS::):
        (KJS::colorRefFromValue):
        (KJS::colorFromValue):
        (KJS::Context2D::putValue):
        (KJS::Context2D::Context2D):
        (KJS::Context2D::mark):
        (KJS::GradientFunction::tryCall):
        (KJS::ImagePattern::tryGet):
        (KJS::getHTMLCollection):
        (KJS::getSelectHTMLCollection):
        * khtml/ecma/kjs_html.h:
        (KJS::HTMLDocument::):
        (KJS::HTMLElement::):
        (KJS::HTMLCollection::impl):
        * khtml/ecma/kjs_navigator.cpp:
        * khtml/ecma/kjs_proxy.cpp:
        (KJSProxyImpl::evaluate):
        (KJSProxyImpl::finishedWithEvent):
        * khtml/ecma/kjs_proxy.h:
        * khtml/ecma/kjs_range.cpp:
        (KJS::DOMRange::DOMRange):
        (KJS::DOMRange::~DOMRange):
        (KJS::DOMRange::tryGet):
        (KJS::DOMRange::getValueProperty):
        (KJS::DOMRangeProtoFunc::tryCall):
        (KJS::getDOMRange):
        (KJS::RangeConstructor::tryGet):
        (KJS::getRangeConstructor):
        (KJS::toRange):
        * khtml/ecma/kjs_range.h:
        (KJS::DOMRange::impl):
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::DOMNodeIterator::DOMNodeIterator):
        (KJS::DOMNodeIterator::~DOMNodeIterator):
        (KJS::DOMNodeIterator::getValueProperty):
        (KJS::DOMNodeIteratorProtoFunc::tryCall):
        (KJS::getDOMNodeIterator):
        (KJS::DOMNodeFilter::DOMNodeFilter):
        (KJS::DOMNodeFilter::~DOMNodeFilter):
        (KJS::DOMNodeFilterProtoFunc::tryCall):
        (KJS::getDOMNodeFilter):
        (KJS::toNodeFilter):
        (KJS::DOMTreeWalker::DOMTreeWalker):
        (KJS::DOMTreeWalker::~DOMTreeWalker):
        (KJS::DOMTreeWalker::getValueProperty):
        (KJS::DOMTreeWalker::tryPut):
        (KJS::DOMTreeWalkerProtoFunc::tryCall):
        (KJS::getDOMTreeWalker):
        (KJS::JSNodeFilterCondition::acceptNode):
        * khtml/ecma/kjs_traversal.h:
        (KJS::DOMNodeIterator::impl):
        (KJS::DOMNodeFilter::impl):
        (KJS::DOMTreeWalker::impl):
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractView::~DOMAbstractView):
        (KJS::DOMAbstractView::tryGet):
        (KJS::DOMAbstractViewFunc::tryCall):
        (KJS::getDOMAbstractView):
        (KJS::toAbstractView):
        * khtml/ecma/kjs_views.h:
        (KJS::DOMAbstractView::DOMAbstractView):
        (KJS::DOMAbstractView::impl):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::get):
        (KJS::Window::hasProperty):
        (KJS::Window::put):
        (KJS::Window::setListener):
        (KJS::Window::getListener):
        (KJS::Window::setCurrentEvent):
        (KJS::WindowFunc::tryCall):
        (KJS::Location::put):
        (KJS::LocationFunc::tryCall):
        (KJS::Selection::get):
        (KJS::SelectionFunc::tryCall):
        * khtml/ecma/kjs_window.h:
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequestConstructorImp::XMLHttpRequestConstructorImp):
        (KJS::XMLHttpRequestConstructorImp::~XMLHttpRequestConstructorImp):
        (KJS::XMLHttpRequestConstructorImp::construct):
        (KJS::XMLHttpRequest::getValueProperty):
        (KJS::XMLHttpRequest::XMLHttpRequest):
        (KJS::XMLHttpRequest::changeState):
        (KJS::XMLHttpRequest::open):
        (KJS::XMLHttpRequestProtoFunc::tryCall):
        * khtml/ecma/xmlhttprequest.h:
        * khtml/ecma/xmlserializer.cpp:
        (KJS::XMLSerializerProtoFunc::tryCall):
        * khtml/ecma/xmlserializer.h:
        * kwq/DOMInternal.mm:
        (-[WebScriptObject _initializeScriptDOMNodeImp]):
        * kwq/DOMUtility.mm:
        (KJS::ScriptInterpreter::createObjcInstanceForValue):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9165 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Improve the display of apple.com. innerWidth and innerHeight refer to the size...
hyatt [Thu, 12 May 2005 07:47:43 +0000 (07:47 +0000)]
Improve the display of apple.com.  innerWidth and innerHeight refer to the size of the visible view and
so they do not need to do a layout in order to yield correct values from JS.  Removing this stops an
early layout and paint before the apple.com images are typically loaded.

This is an improvement of the fix for wired.com's FOUC.  For that bug I eliminated the need to ignore pending
stylesheets, but now I'm going further and just eliminating the layout all together.  This means that the old
updateLayout function can be reverted to how it was before the wired.com fix.

        Reviewed by john

        * khtml/ecma/kjs_window.cpp:
        (Window::get):
        (Window::updateLayout):
        * khtml/ecma/kjs_window.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Kevin.
mjs [Thu, 12 May 2005 04:00:20 +0000 (04:00 +0000)]
    Reviewed by Kevin.

- split some more individual classes out of htmlediting.cpp
(CompositeEditcommand, AppendnodeCommand, ApplyStyleCommand)

Also moves StyleChange directly into ApplyStyleCommand
implementation file, it doesn't need to be in a header at all.

        * WebCore.pbproj/project.pbxproj:
        * khtml/editing/append_node_command.cpp: Added.
        * khtml/editing/append_node_command.h: Added.
        * khtml/editing/apply_style_command.cpp: Added.
        * khtml/editing/apply_style_command.h: Added.
        * khtml/editing/composite_edit_command.cpp: Added.
        * khtml/editing/composite_edit_command.h: Added.
        * khtml/editing/edit_command.cpp: Minor clean-ups.
        * khtml/editing/edit_command.h:
        * khtml/editing/htmlediting.cpp:
        * khtml/editing/htmlediting.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

16 years ago Reviewed by Darin.
adele [Thu, 12 May 2005 01:16:01 +0000 (01:16 +0000)]
    Reviewed by Darin.

        fix for <rdar://problem/4061979> crash in DOM::ElementImpl::setAttribute at www.nitto-kohki.co.jp

        * khtml/html/html_imageimpl.cpp: (HTMLImageLoader::updateFromElement): added a nil check for the document
        * khtml/xml/dom_nodeimpl.h: (DOM::NodeImpl::inDocument): added check for document in case the document has been destroyed before the node has been removed.  A lot of code already assumes that if inDocument returns true, a document exists.

        * layout-tests/fast/events/onload-re-entry.html: removed alert.
        * layout-tests/fast/events/onload-re-entry-expected.txt: updated.
        * layout-tests/fast/dom/attr_dead_doc-expected.txt: Added.
        * layout-tests/fast/dom/attr_dead_doc.html: Added.
        * layout-tests/fast/dom/resources/apple.gif: Added.
        * layout-tests/fast/dom/resources/mozilla.gif: Added.
        * layout-tests/fast/dom/resources/top.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9162 268f45cc-cd09-0410-ab3c-d52691b4dbfc