WebKit-https.git
18 years agoWebKit:
sullivan [Thu, 11 Mar 2004 20:12:54 +0000 (20:12 +0000)]
WebKit:

        - fixed <rdar://problem/3585056>: Assertion failure if error page is loaded from
        webView:unableToImplementPolicyWithError:
        - also added HeaderDoc comments to could-be-API-soon methods and fixed a
        conceptual problem with said methods

        Reviewed by Darin.

        * WebView.subproj/WebDataSourcePrivate.h:
        added HeaderDoc comment for -unreachableURL

        * WebView.subproj/WebFramePrivate.h:
        added HeaderDoc comment for -loadAlternateHTMLString:baseURL:forUnreachableURL:;
        also added boolean delegateIsHandlingUnimplementablePolicy ivar to WebFramePrivate
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
        treat delegateIsHandlingUnimplementablePolicy like delegateIsDecidingNavigationPolicy.
        Safari serves up error pages during the latter but clients are equally or more likely
        to do so during the former.
        (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
        set delegateIsHandlingUnimplementablePolicy during delegate callback
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
        tweaked assertion so it doesn't erroneously fire for clients that call
        loadAlternateHTML:baseURL:forUnreachableURL: while processing
        webView:unableToImplementPolicyWithError:

WebBrowser:

        Removed obsolete comment I happened to notice.

        Reviewed by Darin..

        * BrowserWebController.m:
        (-[BrowserWebView webView:unableToImplementPolicyWithError:frame:]):

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

18 years agoTests:
cblu [Thu, 11 Mar 2004 19:32:20 +0000 (19:32 +0000)]
Tests:

Now that WebArchive is a class, refer to it as such.

        Reviewed by kocienda.

        * Blot/BlotApp.m:
        (-[BlotApp handleNewMessageEvent:withReplyEvent:]):
        * Blot/BlotDocument.h:
        * Blot/BlotDocument.m:
        (-[BlotDocument loadWebArchive:]):

WebKit:

Made WebArchive a class instead of a data object. This allows clients to easily get the main resource and subresources from a WebArchive.

        Reviewed by kocienda.

        * WebKit.exp:
        * WebView.subproj/WebDocumentPrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadWebArchive:]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation loadWebArchive]):
        (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]):
        (-[WebHTMLRepresentation webArchiveFromNode:]):
        (-[WebHTMLRepresentation webArchiveFromRange:]):
        * WebView.subproj/WebHTMLRepresentationPrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectedWebArchive:]):
        (-[WebHTMLView _writeSelectionToPasteboard:]):
        (-[WebHTMLView _pasteMarkupFromPasteboard:]):
        * WebView.subproj/WebResource.h:
        * WebView.subproj/WebResource.m:
        (-[WebArchivePrivate dealloc]):
        (-[WebResource _response]):
        (-[WebArchive init]):
        (-[WebArchive initWithMainResource:subresources:]):
        (-[WebArchive initWithData:]):
        (-[WebArchive dealloc]):
        (-[WebArchive mainResource]):
        (-[WebArchive subresources]):
        (-[WebArchive dataRepresentation]):
        * WebView.subproj/WebResourcePrivate.h:

WebBrowser:

Now that WebArchive is a class, refer to it as such.

        Reviewed by kocienda.

        * BrowserDocument.m:
        (-[BrowserDocument dataRepresentationOfType:]):
        (-[BrowserDocument _mailWebArchiveData:withApplicationAtPath:]):
        (-[BrowserDocument mailPage:]):
        (-[BrowserDocument mailPageAddress:]):
        * English.lproj/InfoPlist.strings:

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

18 years ago Fix for 3584646, AxWebArea should encompass all children (its AxSize should).
hyatt [Thu, 11 Mar 2004 02:07:22 +0000 (02:07 +0000)]
Fix for 3584646, AxWebArea should encompass all children (its AxSize should).

        Reviewed by mjs

        * khtml/rendering/render_canvas.cpp:
        (RenderCanvas::absoluteRects):
        * khtml/rendering/render_canvas.h:

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

18 years agoFixed broken build.
rjw [Wed, 10 Mar 2004 22:58:47 +0000 (22:58 +0000)]
Fixed broken build.

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

18 years ago Made changes to support new asychronous approach to calls from
rjw [Wed, 10 Mar 2004 22:25:33 +0000 (22:25 +0000)]
Made changes to support new asychronous approach to calls from
plugin to JavaScript

        Reviewed by Chris.

        * bindings/NP_jsobject.cpp:
        (NP_Call):
        (NP_Evaluate):
        (NP_GetProperty):
        (NP_ToString):
        (NP_GetPropertyAtIndex):
        * bindings/NP_runtime.h:
        * bindings/make_testbindings:
        * bindings/runtime.cpp:
        (Instance::createBindingForLanguageInstance):

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

18 years ago Fixed: INPUT images are not part of web archives.
cblu [Wed, 10 Mar 2004 21:51:28 +0000 (21:51 +0000)]
Fixed: INPUT images are not part of web archives.

        Reviewed by rjw.

        * khtml/html/html_formimpl.cpp:
        (HTMLInputElementImpl::isSubresourceURLAttribute):
        * khtml/html/html_formimpl.h:

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

18 years ago Made dragging of web archives work.
cblu [Wed, 10 Mar 2004 21:50:26 +0000 (21:50 +0000)]
Made dragging of web archives work.

        Reviewed by rjw.

        * English.lproj/StringsNotToBeLocalized.txt: updated
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:didReceiveResponse:]): added a FIXME about working around old Foundations that don't know about web archive files
        * WebView.subproj/WebView.m:
        (+[WebView canShowFile:]): tweak
        (+[WebView suggestedFileExtensionForMIMEType:]): tweak
        (+[WebView _MIMETypeForFile:]): handle web archive files since Foundation may be too old to know about them

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

18 years ago Updated header to include proposed changes from
rjw [Wed, 10 Mar 2004 21:50:02 +0000 (21:50 +0000)]
Updated header to include proposed changes from
plugin-futures list.  Calls from plugin to JavaScript
are now asynchronous.

        Reviewed by Chris.

        * bindings/NP_runtime.h:

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

18 years agoWebKit:
cblu [Wed, 10 Mar 2004 01:33:10 +0000 (01:33 +0000)]
WebKit:

Made web archives use NSPropertyListBinaryFormat_v1_0 instead of NSPropertyListXMLFormat_v1_0 because NSPropertyListBinaryFormat_v1_0 is 3-5 times faster to serialize and parse.

        Reviewed by rjw.

        * WebView.subproj/WebResource.m:
        (+[WebResource _parseWebArchive:mainResource:subresources:]): add timing code
        (+[WebResource _webArchiveWithMainResource:subresources:]): add timing code, use NSPropertyListBinaryFormat_v1_0

WebBrowser:

        Reviewed by rjw.

        * BrowserDocument.m:
        (-[BrowserDocument mailPageAddress:]): call [WebResource _webArchiveWithMainResource:subresources:] and let it handle the property list serialization

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

18 years agoTests:
cblu [Tue, 9 Mar 2004 23:46:28 +0000 (23:46 +0000)]
Tests:

Updated blot to use new SPI's.

        * Blot/BlotApp.m:
        (-[BlotApp handleNewMessageEvent:withReplyEvent:]):
        * Blot/BlotDocument.h:
        * Blot/BlotDocument.m:
        (-[BlotDocument dataRepresentationOfType:]):
        (-[BlotDocument loadWebArchive:]):
        * TestPlugin/TestPlugin.pbproj/project.pbxproj:

WebCore:

Implemented WebCore side of: <rdar://problem/3577508>: API: web archive related API's

        Reviewed by rjw.

        * WebCore-combined.exp:
        * WebCore.exp:
        * kwq/DOM.mm:
        (+[DOMRange _rangeWithImpl:]): made internally accessible
        (-[DOMRange _rangeImpl]): ditto
        * kwq/DOMInternal.h:
        * kwq/KWQStringList.h:
        * kwq/KWQStringList.mm:
        (QStringList::getNSArray): new
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge pasteMarkupString:]): renamed from pasteHTMLString since XML pasting may be possible
        (-[WebCoreBridge selectedRange]): new
        (-[WebCoreBridge _documentTypeString]): new
        (-[WebCoreBridge _stringWithDocumentTypeStringAndMarkupString:]): new
        (-[WebCoreBridge markupStringFromNode:subresourceURLStrings:]): new, needed for WebKit API's
        (-[WebCoreBridge markupStringFromRange:subresourceURLStrings:]): new, needed for WebKit API's

WebKit:

Fixed: <rdar://problem/3577508>: API: web archive related API's
Implemented WebKit side of: <rdar://problem/3144033>: ability to save web sites (images and all)

        Reviewed by rjw.

        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge receivedData:textEncodingName:]): renamed to take a textEncodingName instead of data source. The data source argument is only needed for the textEncodingName.
        * WebKit.exp:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _subresourcesDictionary]): new
        (+[WebDataSource _repTypesAllowImageTypeOmission:]): include "application/x-webarchive"
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDocumentInternal.h:
        * WebView.subproj/WebDocumentPrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadWebArchive:]): renamed, code factored out to [WebResource _parseWebArchive:mainResource:subresources:]
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebFrameView.m:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]): include "application/x-webarchive"
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentationPrivate dealloc]):
        (-[WebHTMLRepresentation _isDisplayingWebArchive]): new
        (-[WebHTMLRepresentation receivedData:withDataSource:]): don't feed data to WebCore if we're displaying a web archive since web archive can't be progressively loaded
        (-[WebHTMLRepresentation loadWebArchive]): new, feeds web archive data to WebCore
        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): call loadWebArchive if necessary
        (-[WebHTMLRepresentation documentSource]): if displaying a web archive, return the HTML source from within the archive
        (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]): new
        (-[WebHTMLRepresentation markupStringFromNode:]): implementation of new API
        (-[WebHTMLRepresentation markupStringFromRange:]): ditto
        (-[WebHTMLRepresentation webArchiveFromNode:]): ditto
        (-[WebHTMLRepresentation webArchiveFromRange:]): ditto
        * WebView.subproj/WebHTMLRepresentationPrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView _selectionPasteboardTypes]): use renamed WebArchivePboardType
        (-[WebHTMLView _selectedWebArchive:]): renamed, call renamed methods
        (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed methods
        (-[WebHTMLView _haveSelection]): indentation tweak
        (-[WebHTMLView _canDelete]): ditto
        (-[WebHTMLView _canPaste]): ditto
        (-[WebHTMLView _pasteMarkupFromPasteboard:]): renamed, call [WebResource _webArchiveWithMainResource:subresources:]
        (-[WebHTMLView initWithFrame:]): use renamed WebArchivePboardType
        (-[WebHTMLView paste:]): call renamed _pasteMarkupFromPasteboard
        (-[WebHTMLView concludeDragOperation:]): call renamed _pasteMarkupFromPasteboard
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient connection:didReceiveResponse:]): modify the MIME type for web archives since Foundation is not yet web archive aware. This is ifdef'd pre-Tiger code.
        * WebView.subproj/WebResource.h:
        * WebView.subproj/WebResource.m:
        (+[WebResource _parseWebArchive:mainResource:subresources:]): new
        (+[WebResource _webArchiveWithMainResource:subresources:]): new
        * WebView.subproj/WebResourcePrivate.h:

WebBrowser:

Fixed: <rdar://problem/3144033>: ability to save web sites (images and all)

        Reviewed by john.

        * BrowserDocument.h: added _dataSourceToSave, _fileFormatAccessoryView, _ fileFormatPopUpButton and _isSavingWithSavePanel ivars
        * BrowserDocument.m:
        (-[BrowserDocument dealloc]): added ASSERTs
        (-[BrowserDocument dataSourceToSave]): new
        (-[BrowserDocument canSaveAsWebArchive]): new
        (-[BrowserDocument isSavingWebArchive]): new
        (-[BrowserDocument MIMETypeForSaving]): take web archives into account
        (-[BrowserDocument filenameForSaving]): new
        (-[BrowserDocument isSavingPlainText]): moved
        (-[BrowserDocument setDataSourceToSave:]): instead of this being a wrapper method around setFileWrapperToSave:MIMEType:, have this set _dataSourceToSave since we need the data source for web archives to work
        (-[BrowserDocument saveDocumentTo:]): don't call setFileWrapperToSave:MIMEType: if there is no file wrapper since this case is handled in the above methods
        (-[BrowserDocument document:didSave:contextInfo:]): added more post-save clean-up
        (-[BrowserDocument allowedFileTypes]): new
        (-[BrowserDocument fileFormatPopUpButtonUpdated:]): new
        (-[BrowserDocument prepareSavePanel:]): attach an accessory view to the save panel if necessary
        (-[BrowserDocument dataRepresentationOfType:]): handle all cases of saving data
        (-[BrowserDocument displayName]): rely on the _isSavingWithSavePanel instead of _fileWrapperToSave for choosing a filename
        (-[BrowserDocument _isDisplayingCompletePage]): new, factored out from validateUserInterfaceItem:
        (-[BrowserDocument validateUserInterfaceItem:]): for mailPage:, makes sure the representation supports web archives
        (-[BrowserDocument _mailWebArchive:withApplicationAtPath:]): mail a web archive instead of a property list
        (-[BrowserDocument mailPage:]): handle the case where the current page is a web archive, call renamed _mailWebArchive::
        (-[BrowserDocument mailPageAddress:]): call renamed _mailWebArchive::
        * PreferenceKeys.h: added keys for the pref of saving a web archive or raw source
        * WebBrowser.pbproj/project.pbxproj:

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

18 years ago Make the AXLinkUIElements attribute always return an array (never return nil).
hyatt [Tue, 9 Mar 2004 22:12:32 +0000 (22:12 +0000)]
Make the AXLinkUIElements attribute always return an array (never return nil).

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject accessibilityAttributeValue:]):

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

18 years agoWebKit:
sullivan [Tue, 9 Mar 2004 21:03:30 +0000 (21:03 +0000)]
WebKit:

        - fixed the following bugs:
        <rdar://problem/3579715>: Going to an error page in back/forward list doesn't work
        correctly in some cases
        <rdar://problem/3581031>: REGRESSION (130+): World Leak of WebFrame after trying
        to load page with unknown scheme

        Reviewed by Darin.

        * WebView.subproj/WebDataSourcePrivate.h:
        renamed __setRequest -> __adoptRequest
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _URLForHistory]):
        updated comment
        (-[WebDataSource __adoptRequest:]):
        Renamed from __setRequest; now takes an NSMutableURLRequest and uses it as-is.
        (-[WebDataSource _setRequest:]):
        now saves a mutable copy, instead of relying on the caller to do so. The
        (only) caller wasn't doing so in all cases, leading to trouble in River City.
        Also, special-case unreachable URL handling to allow alternate content to
        replace a URL in a redirect-like way without sending a redirect callback.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
        renamed after discussion with Richard (was loadPlaceholderHTMLString:baseURL:unreachableURL:)
        (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
        new helper method, returns YES only if we receive a load request for alternate
        content from a delegate for an unreachable URL while we are going back or forward.
        That's a lot of prepositions!
        (-[WebFrame _loadRequest:subresources:]):
        if _shouldReloadToHandleUnreachableURLFromRequest: returns YES, change load type
        to WebFrameLoadTypeReload so b/f list is preserved appropriately.
        (-[WebFrame _transitionToCommitted:]):
        Update currentItem in the unreachableURL case.
        (-[WebFrame _isLoadComplete]):
        Don't reset b/f list before calling provisionalLoadDidFail delegate; instead, determine
        where to reset b/f list beforehand, and then actually reset list afterwards only if we
        didn't start an alternate content load in the delegate. Also, set new boolean ivar so we
        know when we're processing a provisionalLoadDidFail delegate callback.
        (-[WebFrame _loadItem:withLoadType:]):
        don't make extra copy before calling __adoptRequest; just pass it the one we made here.
        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
        If we're loading alternate content for an unreachableURL, don't ask the decision listener,
        just do it. (This avoids problem with nested calls to checking the navigation policy that
        led to a WebFrame leak, and is conceptually the right thing to do also.) Also added some
        asserts that helped me track down the WebFrame leak. Set new boolean ivar so we know
        when we're processing a navigation policy delegate decision.
        (-[WebFrame _currentBackForwardListItemToResetTo]):
        new method, replaces _resetBackForwardListToCurrent. Does the same test as the
        latter but returns a boolean rather than actually resetting.
        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
        save dataSource in a local var before calling stopLoading, and use it for
        _setProvisionalDataSource, because otherwise stopLoading was clobbering the dataSource
        for an unreachable URL handling case.

        * WebView.subproj/WebFramePrivate.h:
        two new boolean ivars

        * WebView.subproj/WebView.m:
        (+[WebView _canHandleRequest:]):
        return YES when we're loading alternate content for an unreachable URL

WebBrowser:

        Reviewed by Darin.

        * BrowserWebController.m:
        (-[BrowserWebView showErrorPageForURL:withTitle:message:]):
        update call to renamed method

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

18 years ago (1) Change root element in a document to have a role of AXWebArea.
hyatt [Tue, 9 Mar 2004 18:50:48 +0000 (18:50 +0000)]
(1) Change root element in a document to have a role of AXWebArea.
(2) Add support for AXURL to links and children of links.
(3) Add support for AXLinkUIElements to the AXWebArea

        Reviewed by john

        * khtml/dom/html_misc.h:
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject role]):
        (-[KWQAccObject roleDescription]):
        (-[KWQAccObject accessibilityAttributeNames]):
        (-[KWQAccObject accessibilityAttributeValue:]):

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

18 years ago Reviewed by nobody.
sullivan [Tue, 9 Mar 2004 14:24:03 +0000 (14:24 +0000)]
    Reviewed by nobody.

        * kwq/KWQKURL.mm:
        (KURL::KURL):
        Fixed broken build by removing wayward "break" statement.

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

18 years ago Reviewed by Maciej.
darin [Tue, 9 Mar 2004 00:14:53 +0000 (00:14 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3554876>: REGRESSION (100-125): cannot upload file if path contains non-ASCII characters

        * kwq/KWQKURL.mm: Remove Colon constant so we can fit in 8 bits again.
        (KURL::KURL): Rewrite so we don't need isSchemeCharOrColon.

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

18 years agoSubmitting Safari-131
kocienda [Mon, 8 Mar 2004 23:46:47 +0000 (23:46 +0000)]
Submitting Safari-131

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

18 years ago2004-03-08 Ken Kocienda <kocienda@apple.com>
kocienda [Mon, 8 Mar 2004 23:46:08 +0000 (23:46 +0000)]
2004-03-08  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        * WebKit.pbproj/project.pbxproj: Added CFBundleName to Info.plist

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

18 years ago2004-03-08 Ken Kocienda <kocienda@apple.com>
kocienda [Mon, 8 Mar 2004 23:45:52 +0000 (23:45 +0000)]
2004-03-08  Ken Kocienda  <kocienda@apple.com>

        Reviewed by Darin

        * WebCore.pbproj/project.pbxproj: Added CFBundleName to Info.plist.

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

18 years agoAdd layout test for first-letter bug.
hyatt [Sat, 6 Mar 2004 01:21:05 +0000 (01:21 +0000)]
Add layout test for first-letter bug.

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

18 years ago Fix for first-line inheritance problem caused by incorrectly inheriting first-line...
hyatt [Sat, 6 Mar 2004 01:19:59 +0000 (01:19 +0000)]
Fix for first-line inheritance problem caused by incorrectly inheriting first-line into floating
blocks.

        Reviewed by kocienda

        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::firstLineBlock):

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

18 years ago Reviewed by me.
kocienda [Fri, 5 Mar 2004 23:34:36 +0000 (23:34 +0000)]
    Reviewed by me.

Forgot to add this when I checked in last time.

        * ForwardingHeaders/css/css_computedstyle.h: Added.

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

18 years ago Reviewed by Dave.
kocienda [Fri, 5 Mar 2004 23:01:26 +0000 (23:01 +0000)]
    Reviewed by Dave.

        Added initial support for retrieving the computed
        style of document elements.

        * WebCore.pbproj/project.pbxproj:
        * khtml/css/css_computedstyle.cpp: Added.
        (DOM::valueForLength): Helper to turn a khtml::Length into a computed value string.
        (DOM::stringForBorderStyle): Helper to turn an EBorderStyle into a computed value string.
        (DOM::stringForTextAlign): Helper to turn an ETextAlign into a computed value string.
        (DOM::CSSComputedStyleDeclarationImpl::CSSComputedStyleDeclarationImpl): New function.
        (DOM::CSSComputedStyleDeclarationImpl::~CSSComputedStyleDeclarationImpl): Ditto.
        (DOM::CSSComputedStyleDeclarationImpl::cssText): Ditto.
        (DOM::CSSComputedStyleDeclarationImpl::setCssText): Ditto.
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Ditto.
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyValue): Ditto.
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyPriority): Ditto.
        (DOM::CSSComputedStyleDeclarationImpl::removeProperty): Ditto.
        (DOM::CSSComputedStyleDeclarationImpl::setProperty): Ditto.
        (DOM::CSSComputedStyleDeclarationImpl::setLengthProperty): Ditto.
        (DOM::CSSComputedStyleDeclarationImpl::item): Ditto.
        (DOM::CSSComputedStyleDeclarationImpl::property): Ditto.
        * khtml/css/css_computedstyle.h: Added.
        * khtml/css/css_valueimpl.cpp:
        (CSSPrimitiveValueImpl::cssText): Fixed some formatting of Rect. Added
        suppoprt for rgba colors.
        * khtml/css/css_valueimpl.h:
        (DOM::CSSStyleDeclarationImpl::node):
        * khtml/ecma/kjs_css.cpp:
        (KJS::getDOMCSSStyleDeclaration):
        * khtml/ecma/kjs_dom.cpp:
        (DOMDocument::getValueProperty): defaultView is a property, used to be a function,
        which was wrong. Fixed.
        (DOMDocumentProtoFunc::tryCall): Ditto.
        * khtml/ecma/kjs_dom.lut.h:
        (KJS::): Regenerated file.
        * khtml/misc/khtmllayout.h:
        (khtml::Length::length): Added an accessor to the value, to promote better coding
        style, rather than peeking and poking the value directly.
        * khtml/rendering/render_style.h:
        (khtml::RenderStyle::borderLeftWidth): BHIDDEN also should be treated like BNONE when it comes
        to returning a zero value. Now it is.
        (khtml::RenderStyle::borderRightWidth): Ditto.
        (khtml::RenderStyle::borderTopWidth): Ditto.
        (khtml::RenderStyle::borderBottomWidth): Ditto.
        (khtml::RenderStyle::outlineWidth): Ditto.
        (khtml::RenderStyle::outlineOffset): Ditto.
        * khtml/xml/dom2_viewsimpl.cpp:
        (AbstractViewImpl::getComputedStyle): Added an implementation for this formerly stubbed out function.

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

18 years ago Fixed: <rdar://problem/3560132>: REGRESSION: Safari crashed in -[NSPasteboard setDat...
cblu [Fri, 5 Mar 2004 21:27:21 +0000 (21:27 +0000)]
Fixed: <rdar://problem/3560132>: REGRESSION: Safari crashed in -[NSPasteboard setData:forType:] dragging a map out of Mapquest.com

        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): declare the pboard types by calling _web_writeURL:::: before calling setData::

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

18 years agoWebKit:
sullivan [Fri, 5 Mar 2004 19:02:10 +0000 (19:02 +0000)]
WebKit:

        First cut at WebKit support for showing error pages for unreachable URLs.
        This doesn't work quite right with the back/forward list yet, but is
        good enough for demos.

        Reviewed by Darin.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate didReceiveResponse:]):
        use new _webDataRequextExternalURL to share code

        * WebView.subproj/WebDataProtocol.h:
        Three new methods (all internal to WebKit):
        -[NSURLRequest _webDataRequestUnreachableURL], -[NSURLRequest _webDataRequestExternalURL],
        -[NSURLRequest _webDataRequestSetUnreachableURL]
        * WebView.subproj/WebDataProtocol.m:
        new unreachableURL field of WebDataRequestParameters
        (-[WebDataRequestParameters copyWithZone:]):
        copy new field
        (-[WebDataRequestParameters dealloc]):
        release new field
        (-[NSURLRequest _webDataRequestUnreachableURL]):
        read new field
        (-[NSURLRequest _webDataRequestExternalURL]):
        new method, returns baseURL or "about:blank" for webdata protocol requests. This
        was done in multiple places previously.
        (-[NSURLRequest _webDataRequestExternalRequest]):
        now calls _webDataRequestExternalURL to share code
        (-[NSMutableURLRequest _webDataRequestSetUnreachableURL:]):
        write new field

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource unreachableURL]):
        new method, might become API; returns the unreachable URL, if any, for which this datasource
        holds placeholder content
        (-[WebDataSource _URLForHistory]):
        new method, returns the URL to be stored in History for this dataSource. This returns nil
        for run-of-the-mill WebDataProtocol URLs (replacing code elsewhere that checked for this
        case) but returns the unreachableURL for the case where this datasource holds placeholder
        content.
        (-[WebDataSource _setTitle:]):
        now calls _URLForHistory

        * WebView.subproj/WebDataSourcePrivate.h:
        added unreachableURL in the should-become-API section, and _URLForHistory elsewhere

        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadPlaceholderHTMLString:baseURL:unreachableURL:]):
        new should-become-API method for displaying an error page for an unreachable URL
        (-[WebFrame loadPropertyList:]):
        updated to pass nil for unreachableURL
        (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
        added unreachableURL parameter, which gets set on the data request
        (-[WebFrame _addBackForwardItemClippedAtTarget:]):
        use _URLForHistory instead of just checking for WebDataProtocol
        (-[WebFrame _createItem:]):
        use unreachableURL if there is one
        (-[WebFrame _transitionToCommitted:]):
        use _URLForHistory instead of just checking for WebDataProtocol
        (-[WebFrame _isLoadComplete]):
        check whether a new load has started in the delegate callback and if so, don't
        reset the loading state here
        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
        added unreachableURL parameter, which gets passed through
        (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
        send nil unreachableURL parameter
        (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
        new bottleneck method for loadHTMLString:baseURL: and loadPlaceholderHTMLString:baseURL:unreachableURL:;
        this is the guts of loadHTMLString:baseURL: with the new unreachableURL parameter passed through
        (-[WebFrame loadHTMLString:baseURL:]):
        now calls new bottleneck method

        * WebView.subproj/WebFramePrivate.h:
        added loadPlaceholderString:baseURL:unreachableURL: to should-be-API section; added unreachableURL
        parameter to _webDataRequestForData:MIMEType:textEncodingName:baseURL:

WebBrowser:

        First cut at WebBrowser support for showing error pages for unreachable URLs.
        This doesn't work quite right with the back/forward list yet, but is
        good enough for demos. The old sheet-using code remains intact, and there's
        a menu item in the Debug menu to try the new way (old way is still default
        for now).

        Reviewed by Darin.

        * PreferenceKeys.h:
        added DebugDisplayErrorsAsPagesPreferenceKey; also deleted a couple of unused
        old preference keys.

        * BrowserWebController.h:
        added showErrorPageForURL:withTitle:message:

        * BrowserWebController.m:
        (-[BrowserWebView webView:unableToImplementPolicyWithError:frame:]):
        use showErrorPageForURL:... if the preference is set that way
        (-[BrowserWebView errorPageHTMLWithTitle:message:]):
        new method, returns an HTML string for the error page. This will eventually be
        done reading resources from disk no doubt, but for now we just display a simple
        page that has the same text as the sheet.
        (-[BrowserWebView showErrorPageForURL:withTitle:message:]):
        new method, uses new loadPlaceholderHTMLString:baseURL:unreachableURL: to put
        up an error page in the webview
        (-[BrowserWebView expectedOrCurrentURL]):
        use unreachableURL if there is one

        * Debug/DebugUtilities.m:
        (-[DebugUtilities createDebugMenu]):
        add menu item "Show Page Load Errors Inline"
        (-[NSApplication validate_toggleDisplayLoadErrorsAsPages:]):
        new method, sets the checkmark on the new menu item appropriately
        (-[NSApplication toggleDisplayLoadErrorsAsPages:]):
        new method, toggles the state of the preference

        * LoadProgressMonitor.m:
        (-[LoadProgressMonitor _createProgressEntryWithRequest:dataSource:]):
        use unreachableURL if there is one
        (-[LoadProgressMonitor webView:resource:didReceiveResponse:fromDataSource:]):
        ditto

        * LocationChangeError.m:
        (-[LocationChangeHandler displayOrRememberLocationChangeError:forDataSource:]):
        use showErrorPage:... if the preference is set that way

        * LocationChangeHandler.m:
        (-[LocationChangeHandler webView:locationChangeDone:forDataSource:]):
        use previously-fetched local variable "frame" rather than getting it from
        the dataSource again. This is not only trivially faster in the normal case,
        but also avoids a bug when the code earlier in this method triggers another
        page load (as in the showErrorPage:... case).

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

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

18 years ago Change by Darin. Reviewed by me.
kocienda [Fri, 5 Mar 2004 18:20:36 +0000 (18:20 +0000)]
    Change by Darin. Reviewed by me.

        * kwq/DOM.mm: Fixed the following functions to deal with
        casting objects derived from NodeImpl back and forth to
        NodeImpl given that the derived classes use multiple
        inheritance.
        (-[DOMDocument _documentImpl]):
        (-[DOMCharacterData _characterDataImpl]):
        (-[DOMAttr _attrImpl]):
        (-[DOMElement _elementImpl]):
        (-[DOMText _textImpl]):
        (-[DOMDocumentType _documentTypeImpl]):
        (-[DOMNotation _notationImpl]):
        (-[DOMEntity _entityImpl]):
        (-[DOMProcessingInstruction _processingInstructionImpl]):

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

18 years ago Implementation of NP_JavaScriptObject. This is the 'C' class
rjw [Fri, 5 Mar 2004 01:34:45 +0000 (01:34 +0000)]
Implementation of NP_JavaScriptObject.  This is the 'C' class
that wraps a JavaScript object.  Still have more stubs to
implement before this is complete.

        Reviewed by Chris.

        * JavaScriptCore.pbproj/project.pbxproj:
        * bindings/NP_jsobject.cpp: Added.
        (coerceValueToNPValueType):
        (convertValueToNPValueType):
        (convertNPValueTypeToValue):
        (listFromNPArray):
        (jsAllocate):
        (jsDeallocate):
        (identiferFromNPIdentifier):
        (NP_Call):
        (NP_Evaluate):
        (NP_GetProperty):
        (NP_SetProperty):
        (NP_RemoveProperty):
        (NP_ToString):
        (NP_GetPropertyAtIndex):
        (NP_SetPropertyAtIndex):
        * bindings/NP_runtime.cpp:
        (NP_ObjectAtIndex):
        * bindings/NP_runtime.h:
        * bindings/runtime_object.h:

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

18 years agoWebKit:
cblu [Thu, 4 Mar 2004 23:34:38 +0000 (23:34 +0000)]
WebKit:

- Made image dragging and copying always work without needing to re-download by using the data source's WebResource of the image instead of relying on the Foundation cache.
- Fixed a "drag to self" problem I introduced in my last check-in. You could drag a URL from a WebHTMLView and drop it on its own WebView which we shouldn't allow.

        Reviewed by rjw.

        * ChangeLog:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge fileWrapperForURL:]): call _fileWrapperForURL on WebDataSource
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _fileWrapperForURL:]): moved from WebView, creates a wrapper from a WebResource
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyImageToClipboard:]): call [WebDataSource _fileWrapperForURL:]
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _handleMouseDragged:]): call [WebDataSource _fileWrapperForURL:]
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebDataSource _fileWrapperForURL:]
        (-[WebHTMLView _dragOperationForDraggingInfo:]): new, factored out from draggingUpdated:
        (-[WebHTMLView draggingEntered:]): call _dragOperationForDraggingInfo:, if NSDragOperationNone, forward to WebView to it can handle the drag
        (-[WebHTMLView draggingUpdated:]): ditto
        (-[WebHTMLView concludeDragOperation:]): ditto
        * WebView.subproj/WebResource.m:
        (-[WebResource _fileWrapperRepresentation]): new
        * WebView.subproj/WebResourcePrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate dealloc]): release draggedTypes, a new ivar that keeps track of drag types that we're currently registered for
        (-[WebView _setDraggedTypes:]): new
        (-[WebView unregisterDraggedTypes]): new, calls _setDraggedTypes then super
        (-[WebView registerForDraggedTypes:]): ditto
        (-[WebView _dragOperationForDraggingInfo:]): new, compares the types on the pasteboard against the types we are currently registered for. Normally the AppKit handles this for us, but since these messages can be forwarded from WebHTMLView, we need to do this comparison ourselves.
        (-[WebView draggingEntered:]): calls _dragOperationForDraggingInfo:
        (-[WebView draggingUpdated:]): ditto
        (-[WebView concludeDragOperation:]): ditto
        * WebView.subproj/WebViewPrivate.h: define new draggedTypes ivar

WebBrowser:

Removed "Download Image" context menus because images no longer need to be re-downloaded.

        Reviewed by rjw.

        * ContextMenuHandler.m:
        (-[WebDataSource isDataLocalForURL:]): new category, moved from the WebView category
        (-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]): call isDataLocalForURL on WebDataSource
        (-[BrowserWebView saveFileWrapperForURLKey:menuItem:]): call _fileWrapperForURL on WebDataSource, use the resource to get the MIME type if possible
        (-[BrowserWebView saveFileWrapperToDownloadsFolderForURLKey:menuItem:]): call _fileWrapperForURL on WebDataSource

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

18 years ago Added NP_Array implementation.
rjw [Thu, 4 Mar 2004 23:24:00 +0000 (23:24 +0000)]
Added NP_Array implementation.

Changed NP_Boolean to just depend on two static instances, no
space is required for values.

        Reviewed by Chris.

        * bindings/NP_runtime.cpp:
        (NP_CreateBoolean):
        (NP_BoolFromBoolean):
        (arrayAllocate):
        (arrayDeallocate):
        (NP_CreateArray):
        (NP_CreateArrayV):
        (NP_ObjectAtIndex):
        * bindings/NP_runtime.h:

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

18 years ago Fixed a typo.
cblu [Thu, 4 Mar 2004 00:39:58 +0000 (00:39 +0000)]
Fixed a typo.

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

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

18 years ago Fixed: <rdar://problem/3576070>: REGRESSION: web view won't accept drag of webloc...
cblu [Thu, 4 Mar 2004 00:29:32 +0000 (00:29 +0000)]
Fixed: <rdar://problem/3576070>: REGRESSION: web view won't accept drag of webloc file

        Reviewed by rjw.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView draggingUpdated:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it
        (-[WebHTMLView concludeDragOperation:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it

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

18 years agoJavaScriptCore:
darin [Wed, 3 Mar 2004 22:56:40 +0000 (22:56 +0000)]
JavaScriptCore:

        Reviewed by Vicki.

        * English.lproj/InfoPlist.strings: Removed. No need to localize the version and
        copyright string, and that's all that was in here.
        * JavaScriptCore.pbproj/project.pbxproj: Removed InfoPlist.strings from build.

WebCore:

        Reviewed by Vicki.

        * English.lproj/InfoPlist.strings: Removed. No need to localize the version and
        copyright string, and that's all that was in here.
        * WebCore.pbproj/project.pbxproj: Removed InfoPlist.strings from build.

WebKit:

        Reviewed by Vicki.

        * English.lproj/InfoPlist.strings: Removed. No need to localize the version and
        copyright string, and that's all that was in here.
        * WebKit.pbproj/project.pbxproj: Removed InfoPlist.strings from build.

WebBrowser:

        Reviewed by Vicki.

        * English.lproj/InfoPlist.strings: Removed version, copyright message, and CFBundleName.
        We won't localize any of these (it's named "Safari" worldwide).

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

18 years ago More 'C' binding implementation. Fleshed out all the
rjw [Wed, 3 Mar 2004 22:50:07 +0000 (22:50 +0000)]
More 'C' binding implementation.  Fleshed out all the
'primitive' data types.

        Reviewed by Chris.

        * bindings/NP_runtime.cpp:
        (NP_ReleaseObject):
        (numberAllocate):
        (stringAllocate):
        (stringDeallocate):
        (NP_CreateStringWithUTF8):
        (NP_CreateStringWithUTF16):
        (NP_UTF8FromString):
        (NP_UTF16FromString):
        (NP_StringLength):
        (booleanAllocate):
        (booleanDeallocate):
        (NP_CreateBoolean):
        (NP_BoolFromBoolean):
        (nullAllocate):
        (nullDeallocate):
        (NP_GetNull):
        (undefinedAllocate):
        (undefinedDeallocate):
        (NP_GetUndefined):
        * bindings/NP_runtime.h:

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

18 years ago More 'C' binding implementation.
rjw [Wed, 3 Mar 2004 20:04:03 +0000 (20:04 +0000)]
More 'C' binding implementation.

        Reviewed by Chris.

        * bindings/NP_runtime.cpp:
        (identifierEqual):
        (identifierHash):
        (getIdentifierDictionary):
        (NP_IdentifierFromUTF8):
        (NP_UTF8FromIdentifier):
        (NP_CreateObject):
        (NP_ReleaseObject):
        (NP_IsKindOfClass):
        (numberCreate):
        (NP_CreateNumberWithInt):
        (NP_CreateNumberWithFloat):
        (NP_CreateNumberWithDouble):
        (NP_IntFromNumber):
        (NP_FloatFromNumber):
        (NP_DoubleFromNumber):
        * bindings/NP_runtime.h:

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

18 years ago Reviewed by Chris
kocienda [Wed, 3 Mar 2004 18:49:22 +0000 (18:49 +0000)]
    Reviewed by Chris

        * copy-webcore-files-to-webkit: Fixed up this script so that
it does not fail if it is running "non-locally", like for
B&I. The idiom is to check these files into WebKit after
copying them from WebCore, hence this script is merely
a convenience to keep the files in sync.

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

18 years ago Speed up access to the children arrays of accessibility objects by caching mutable...
hyatt [Wed, 3 Mar 2004 18:45:52 +0000 (18:45 +0000)]
Speed up access to the children arrays of accessibility objects by caching mutable arrays of children
and nulling them out only when the children change.

        Reviewed by john

        * khtml/rendering/render_container.cpp:
        (RenderContainer::removeChildNode):
        (RenderContainer::appendChildNode):
        (RenderContainer::insertChildNode):
        * kwq/KWQAccObject.h:
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject detach]):
        (-[KWQAccObject accessibilityAttributeValue:]):
        (-[KWQAccObject childrenChanged]):
        (-[KWQAccObject clearChildren]):
        * kwq/KWQAccObjectCache.h:
        * kwq/KWQAccObjectCache.mm:
        (KWQAccObjectCache::childrenChanged):

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

18 years agoTests:
kocienda [Wed, 3 Mar 2004 00:42:49 +0000 (00:42 +0000)]
Tests:

        Reviewed by me

        * Blot/BlotDocument.m:
        (-[BlotDocument webView:didFinishLoadForFrame:]): Remove
        error out parameter from DOM call.

WebCore:

        Reviewed by Darin and me. Coding by Darin and me.

        1) Fix some places that were calling [self class], in at
        least one case calling a method not defined on the class
        (not gonna work).
        2) Add underscore prefix for all non-API method names.
        3) Make DOMObject refuse to init, which might prevent
        problems where people get confused and think they can
        subclass or instantiate it or its subclasses.
        4) Use some C++ mojo to replace NSStringToDOMString and
        DOMStringToNSString with type conversions built into the
        DOMString class.
        5) Removed NSError out parameters from the API. Methods
        now throw NSExceptions.
        6) Exception code local variables now initialized before
        passing to khtml DOM impl calls.
        7) Various other cleanups and tweaks.

        * khtml/dom/dom_string.h
        * khtml/xml/dom_atomicstring.h
        * kwq/DOM.h
        * kwq/DOM.mm
        * kwq/DOMInternal.h
        * kwq/KWQKHTMLPart.mm
        * kwq/WebCoreBridge.mm

WebKit:

        Reviewed by NOBODY (OOPS!).

        * DOM.subproj/DOM.h: Checked in header copied over
        from WebCore.

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

18 years ago Removed retain/release from NP_Class. Classes will not be allowed to implement...
rjw [Wed, 3 Mar 2004 00:20:30 +0000 (00:20 +0000)]
Removed retain/release from NP_Class.  Classes will not be allowed to implement their
own customer retain/release scheme.

        Reviewed by Chris.

        * bindings/NP_runtime.cpp:
        (NP_RetainObject):
        (NP_ReleaseObject):

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

18 years agoWebKit:
rjw [Wed, 3 Mar 2004 00:17:26 +0000 (00:17 +0000)]
WebKit:
Added WebJavaScriptObject API.  The location of this file may
change.

        Reviewed by Chris.

        * Plugins.subproj/NP_objc.h: Added.
        * WebKit.pbproj/project.pbxproj:

WebCore:
Added NP_SAP API.  This API includes the new entry points
used to bind native interfaces to JavaScript.  It's final location
may change.

Made changes to KWQKHTMLPart.mm to reflect changes in names
on RootObject.

        Reviewed by Chris.

        * WebCore.pbproj/project.pbxproj:
        * khtml/ecma/NP_SAP.h: Added.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::cleanupPluginRootObjects):
        * kwq/WebCoreBridge.mm:

JavaScriptCore:
C binding API.  Partial implementation.

Completed ObjectiveC bindings (not based on the C API).  These will re-implemented over the C binding API, but I wanted to get this code in the tree.

Factored root object reference counting scheme.  It is now useful independent
of LiveConnect.

        Reviewed by Chris.

        * JavaScriptCore.pbproj/project.pbxproj:
        * bindings/NP_runtime.cpp: Added.
        (NP_IdentifierFromUTF8):
        (NP_GetIdentifiers):
        (NP_UTF8FromIdentifier):
        (NP_CreateObject):
        (NP_RetainObject):
        (NP_ReleaseObject):
        (NP_IsKindOfClass):
        (NP_SetException):
        (NP_Call):
        (NP_Evaluate):
        (NP_GetProperty):
        (NP_SetProperty):
        (NP_RemoveProperty):
        (NP_ToString):
        (NP_GetPropertyAtIndex):
        (NP_SetPropertyAtIndex):
        (NP_CreateNumberWithInt):
        (NP_CreateNumberWithFloat):
        (NP_CreateNumberWithDouble):
        (NP_IntFromNumber):
        (NP_FloatFromNumber):
        (NP_DoubleFromNumber):
        (NP_CreateStringWithUTF8):
        (NP_CreateStringWithUTF16):
        (NP_UTF8FromString):
        (NP_UTF16FromString):
        (NP_CreateBoolean):
        (NP_BoolFromBoolean):
        (NP_GetNull):
        (NP_GetUndefined):
        (NP_CreateArray):
        (NP_CreateArrayV):
        (NP_ObjectAtIndex):
        * bindings/NP_runtime.h: Added.
        * bindings/jni/jni_jsobject.cpp:
        (JSObject::invoke):
        (JSObject::finalize):
        (JSObject::createNative):
        (JSObject::convertValueToJObject):
        * bindings/jni/jni_jsobject.h:
        * bindings/objc/objc_jsobject.h:
        * bindings/objc/objc_jsobject.mm:
        (rootForView):
        (windowJavaScriptObject):
        (-[JavaScriptObject initWithObjectImp:KJS::root:Bindings::]):
        (-[JavaScriptObject dealloc]):
        (-[JavaScriptObject _convertValueToObjcValue:KJS::]):
        (-[JavaScriptObject call:arguments:]):
        (-[JavaScriptObject evaluate:]):
        (-[JavaScriptObject getMember:]):
        (-[JavaScriptObject setMember:value:]):
        (-[JavaScriptObject removeMember:]):
        (-[JavaScriptObject toString]):
        (-[JavaScriptObject getSlot:]):
        (-[JavaScriptObject setSlot:value:]):
        * bindings/objc/objc_utility.h:
        * bindings/objc/objc_utility.mm:
        (KJS::Bindings::convertValueToObjcValue):
        * bindings/runtime_root.cpp: Added.
        (getReferencesByRootDictionary):
        (getReferencesDictionary):
        (KJS::Bindings::findReferenceDictionary):
        (KJS::Bindings::rootForImp):
        (KJS::Bindings::addNativeReference):
        (KJS::Bindings::removeNativeReference):
        (completedJavaScriptAccess):
        (initializeJavaScriptAccessLock):
        (lockJavaScriptAccess):
        (unlockJavaScriptAccess):
        (RootObject::dispatchToJavaScriptThread):
        (performJavaScriptAccess):
        (RootObject::setFindRootObjectForNativeHandleFunction):
        (RootObject::removeAllNativeReferences):
        * bindings/runtime_root.h: Added.
        (KJS::Bindings::RootObject::RootObject):
        (KJS::Bindings::RootObject::~RootObject):
        (KJS::Bindings::RootObject::setRootObjectImp):
        (KJS::Bindings::RootObject::rootObjectImp):
        (KJS::Bindings::RootObject::setInterpreter):
        (KJS::Bindings::RootObject::interpreter):
        (KJS::Bindings::RootObject::findRootObjectForNativeHandleFunction):
        (KJS::Bindings::RootObject::runLoop):
        (KJS::Bindings::RootObject::performJavaScriptSource):

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

18 years ago Reviewed by Darin.
mjs [Tue, 2 Mar 2004 21:15:12 +0000 (21:15 +0000)]
    Reviewed by Darin.

<rdar://problem/3549201>: repro crash in KHTMLPart::begin inside JavaScript code (gmpartsdirect.com)

Added some null checks. I am not sure why this page attaches a
document that has no view, but these changes make it work
perfectly.

* khtml/khtml_part.cpp:
        (KHTMLPart::begin): Add check for null view before use.  *
khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::close): ditto
        (DocumentImpl::recalcStyle): Add check for null paint device.

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

18 years ago Fixed: <rdar://problem/3575598>: REGRESSION: Safari crashes at IS&T website
cblu [Tue, 2 Mar 2004 20:00:48 +0000 (20:00 +0000)]
Fixed: <rdar://problem/3575598>: REGRESSION: Safari crashes at IS&T website

        Reviewed by darin.

        * WebView.subproj/WebDataSource.m:
        (-[WebDataSourcePrivate dealloc]): don't stop the icon loader here because that can cause an infinite loop
        (-[WebDataSource _stopLoadingInternal]): always stop the icon loader here instead of just when the data source is loading as well.

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

18 years agoChange version number from '130' to '131u'. The tree is open.
vicki [Tue, 2 Mar 2004 18:07:31 +0000 (18:07 +0000)]
Change version number from '130' to '131u'.  The tree is open.

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

18 years agoSafari-130 stamp
vicki [Tue, 2 Mar 2004 17:27:02 +0000 (17:27 +0000)]
Safari-130 stamp

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

18 years agoWebCore:
kocienda [Tue, 2 Mar 2004 17:03:56 +0000 (17:03 +0000)]
WebCore:

        Reviewed by me

        Rollout last night's checkin. The tree was closed.

        * kwq/DOM.h
        * kwq/DOM.mm
        * kwq/DOMInternal.h
        * kwq/KWQKHTMLPart.mm
        * kwq/WebCoreBridge.mm

WebKit:

        Reviewed by me

        * DOM.subproj/DOM.h: Rollout last night's checkin.
        The tree was closed.

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

18 years ago Fixed: <rdar://problem/3574979>: REGRESSION (129-TOT): crash loading macromedia.com
cblu [Tue, 2 Mar 2004 02:59:59 +0000 (02:59 +0000)]
Fixed: <rdar://problem/3574979>: REGRESSION (129-TOT): crash loading macromedia.com

deliverResource was being called after it had already been called in setDefersCallbacks:.

        Reviewed by rjw.

        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate deliverResource]): set deliveredResource to YES
        (-[WebBaseResourceHandleDelegate deliverResourceAfterDelay]): new, calls deliverResource after a delay
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): call deliverResourceAfterDelay
        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResourceAfterDelay

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

18 years agoWebCore:
kocienda [Tue, 2 Mar 2004 02:52:05 +0000 (02:52 +0000)]
WebCore:

        Reviewed by me, changes by Darin.

        Yet another pass at the DOM API, this one by
        Darin to simplify the internal structure of the
        implementation. Little has changed in the API;
        much has changed in the implementation, particularly
        with regard to object creation and data storage and
        the class hierarchy.

        * kwq/DOM.h
        * kwq/DOM.mm
        * kwq/DOMInternal.h
        * kwq/KWQKHTMLPart.mm
        * kwq/WebCoreBridge.mm

WebKit:

        Reviewed by me

        * DOM.subproj/DOM.h: Checked in header copied over
        from WebCore.

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

18 years ago Reviewed by me
kocienda [Tue, 2 Mar 2004 00:39:01 +0000 (00:39 +0000)]
    Reviewed by me

        * DOM.subproj/DOM.h: Oh, it's like the Keystone Cops this afternoon...
Backed out an unintended change to thsi file.

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

18 years ago Reviewed by me
kocienda [Tue, 2 Mar 2004 00:37:26 +0000 (00:37 +0000)]
    Reviewed by me

        * copy-webcore-files-to-webkit: Dumb typing error on my part in making
my previous quick fix. This quick fix works.

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

18 years ago Updated the WebKit project file to 1.1 because a previous check-in reverted to 1.01.
cblu [Tue, 2 Mar 2004 00:27:33 +0000 (00:27 +0000)]
Updated the WebKit project file to 1.1 because a previous check-in reverted to 1.01.

        * WebKit.pbproj/project.pbxproj:

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

18 years ago Reviewed by me
kocienda [Tue, 2 Mar 2004 00:21:55 +0000 (00:21 +0000)]
    Reviewed by me

        * copy-webcore-files-to-webkit: Made this file buildit-compliant

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

18 years ago Found a bug in my last check-in. If a load that originates from a WebResource is...
cblu [Tue, 2 Mar 2004 00:04:20 +0000 (00:04 +0000)]
Found a bug in my last check-in. If a load that originates from a WebResource is cancelled before the data from the WebResource is delivered, callbacks are sent anyway.

        Reviewed by rjw.

        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate cancelWithError:]): cancel the perform request for deliverResource

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

18 years ago Reviewed by darin.
vicki [Mon, 1 Mar 2004 23:55:43 +0000 (23:55 +0000)]
    Reviewed by darin.

        * Misc.subproj/WebIconLoader.m:
        (-[WebIconLoader didFinishLoading]): rejigger handle code to avoid Deployment failure
        * WebKit.pbproj/project.pbxproj:

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

18 years ago Reviewed by NOBODY (OOPS!).
mjs [Mon, 1 Mar 2004 22:23:08 +0000 (22:23 +0000)]
    Reviewed by NOBODY (OOPS!).

- fixed <rdar://problem/3567047>: REGRESSION: repro crash inside KJS (dispatchToBoolean) at www.thedonnas.com
- fixed <rdar://problem/3550461>: REGRESSION: repro crash in JavaScript at www.alaska.com

* khtml/ecma/kjs_window.cpp:
        (Window::getListener): Return Null() when the listener object is
null, indicating the code failed to parse. Otherwise we return a
bad value which can later crash the JS interpreter.

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

18 years ago - Made WebResource loading not use Foundation at all. This allows "Mail Page" and...
cblu [Mon, 1 Mar 2004 22:22:41 +0000 (22:22 +0000)]
- Made WebResource loading not use Foundation at all. This allows "Mail Page" and paste to more directly load subresources without any indirection involving NSURLConnection and the Foundation cache.
- Made WebIconLoader a subclass of WebBaseResourceHandleDelegate. This makes favicons appear in the activity window among other things.

        Reviewed by kocienda.

        * Misc.subproj/WebIconLoader.h:
        * Misc.subproj/WebIconLoader.m: removed connection and data ivars since WebBaseResourceHandleDelegate holds these
        (-[WebIconLoaderPrivate dealloc]): removed calls to deleted ivars
        (-[WebIconLoader URL]): call renamed request ivar
        (-[WebIconLoader startLoading]): call loadWithRequest
        (-[WebIconLoader stopLoading]): call cancel
        (-[WebIconLoader didFinishLoading]):
        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection
        (-[WebNetscapePluginConnectionDelegate didReceiveData:lengthReceived:]): ditto
        (-[WebNetscapePluginConnectionDelegate didFinishLoading]): ditto
        (-[WebNetscapePluginConnectionDelegate didFailWithError:]): ditto
        * WebCoreSupport.subproj/WebSubresourceClient.m:
        (-[WebSubresourceClient didReceiveResponse:]): ditto
        (-[WebSubresourceClient didReceiveData:lengthReceived:]): ditto
        (-[WebSubresourceClient didFinishLoading]): ditto
        (-[WebSubresourceClient didFailWithError:]): ditto
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): instead of storing the resource in the Foundation cache in order to later load it from the cache, deliver the callbacks ourselves after a delay
        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResource if callbacks are turned back on
        (-[WebBaseResourceHandleDelegate deliverResource]): new, calls didReceiveResponse:, didReceiveData:lengthReceived:, and didFinishLoading
        (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection
        (-[WebBaseResourceHandleDelegate didReceiveAuthenticationChallenge:]): ditto
        (-[WebBaseResourceHandleDelegate didCancelAuthenticationChallenge:]): ditto
        (-[WebBaseResourceHandleDelegate didReceiveResponse:]): ditto
        (-[WebBaseResourceHandleDelegate didReceiveData:lengthReceived:]): ditto
        (-[WebBaseResourceHandleDelegate didFinishLoading]): ditto
        (-[WebBaseResourceHandleDelegate didFailWithError:]): ditto
        (-[WebBaseResourceHandleDelegate willCacheResponse:]): ditto
        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): calls connection-less version of this method
        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): ditto
        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): ditto
        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): ditto
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): ditto
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): ditto
        (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): ditto
        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): ditto
        (-[WebBaseResourceHandleDelegate cancelWithError:]): call renamed _completeProgressForConnectionDelegate on WebView
        (-[WebBaseResourceHandleDelegate cancelledError]): tweak
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _loadIcon]): set the data source on the icon loader so it can callback
        * WebView.subproj/WebResource.m:
        (-[WebResource _response]): new, factored out from _cachedResponseRepresentation
        (-[WebResource _cachedResponseRepresentation]): call _response
        * WebView.subproj/WebResourcePrivate.h:
        * WebView.subproj/WebView.m:
        (-[WebView _incrementProgressForConnectionDelegate:response:]): renamed to be connection-less
        (-[WebView _incrementProgressForConnectionDelegate:data:]): ditto
        (-[WebView _completeProgressForConnectionDelegate:]): ditto
        * WebView.subproj/WebViewPrivate.h:

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

18 years ago Reviewed by Vicki.
vicki [Mon, 1 Mar 2004 20:03:46 +0000 (20:03 +0000)]
    Reviewed by Vicki.

        - fixed Tiger build

        * kwq/KWQXmlSimpleReader.mm: (QXmlSimpleReader::parse):
        Changed SAX structure initialization code so it compiles with both the newer
        and older libxml. Not sure this will work right with namespaces with the new
        libxml; we'll have to test.

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

18 years ago Reviewed by me, as suggested by Darin
kocienda [Mon, 1 Mar 2004 17:30:50 +0000 (17:30 +0000)]
    Reviewed by me, as suggested by Darin

        * khtml/misc/htmlattrs.c:
        (getAttrName): Generated code no longer has extraneous semicolon.
        * khtml/misc/htmltags.c: Generated code no longer has extraneous semicolon.
        (getTagName):
        * khtml/misc/makeattrs: Removed extraneous semicolon from end of file.
        * khtml/misc/maketags: Ditto.

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

18 years ago Reviewed by me
kocienda [Mon, 1 Mar 2004 17:24:28 +0000 (17:24 +0000)]
    Reviewed by me

        * kwq/DOMInternal.h: Replaced tabs with spaces.

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

18 years agoTests:
kocienda [Mon, 1 Mar 2004 17:04:26 +0000 (17:04 +0000)]
Tests:

        Reviewed by Darin

Changed all Objective-C DOM classes from protocols to classes

        * Blot/BlotDocument.m:
        (-[BlotDocument webView:didFinishLoadForFrame:]):

WebCore:

        Reviewed by Darin

        Changed all Objective-C DOM classes from protocols to classes, using
        a class cluster-like approach.

        * WebCore.pbproj/project.pbxproj:
        * khtml/dom/html_object.cpp: Put code in DOM namespace.
        * khtml/html/html_headimpl.cpp: Pull in entire DOM namespace in using directive to
        make up for the removal of it from htmlattrs.
        * khtml/html/htmltokenizer.cpp: Add using directives for the DOM classes used.
        * khtml/misc/htmlattrs.c:
        (getAttrName):
        * khtml/misc/htmlattrs.h:
        * khtml/misc/htmltags.c:
        (getTagName):
        * khtml/misc/makeattrs: Some changes here to avoid pulling in the entire DOM namespace.
        Explicitly use DOM namespace scoping for DOMString.
        * khtml/misc/maketags: Explicitly use DOM namespace scoping for DOMString.
        * khtml/rendering/render_form.cpp: Pull in entire DOM namespace in using directive to
        make up for the removal of it from htmlattrs.
        * kwq/DOM-compat.h:
        * kwq/DOM.h:
        * kwq/DOM.mm: Added.
        * kwq/WebCoreDOM.h: Removed.
        * kwq/WebCoreDOM.mm: Removed.

WebKit:

        Reviewed by Darin

        Changed all Objective-C DOM classes from protocols to classes.

        * DOM.subproj/DOM-compat.h:
        * DOM.subproj/DOM.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]):
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        (-[WebFormState initWithForm:values:sourceFrame:]):
        (-[WebFormState form]):
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation DOMDocument]):
        (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]):
        (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
        (-[WebHTMLRepresentation elementWithName:inForm:]):
        (-[WebHTMLRepresentation elementForView:]):
        (-[WebHTMLRepresentation elementDoesAutoComplete:]):
        (-[WebHTMLRepresentation elementIsPassword:]):
        (-[WebHTMLRepresentation formForElement:]):
        (-[WebHTMLRepresentation controlsInForm:]):
        (-[WebHTMLRepresentation searchForLabels:beforeElement:]):
        (-[WebHTMLRepresentation matchLabels:againstElement:]):

WebBrowser:

        Reviewed by Darin

        Changed all Objective-C DOM classes from protocols to classes.

        * BrowserWebController.m:
        (-[FormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
        * Debug/SnippetController.m:
        (lastNode):
        (-[SnippetController loadComplete]):
        * FormCompletionController.h:
        * FormCompletionController.m:
        (+[FormCompletionController loginInfoForForm:inFrame:]):
        (+[FormCompletionController _frame:sourceFrame:willSubmitLoginForm:withValues:formInfo:submissionListener:]):
        (+[FormCompletionController _frame:sourceFrame:willSubmitRegularForm:withValues:]):
        (+[FormCompletionController frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
        (+[FormCompletionController currentFormInFrame:]):
        (+[FormCompletionController currentFrameAndForm:inWebView:]):
        (+[FormCompletionController autoFillInWebView:]):
        (+[FormCompletionController autoFillPasswordInFrame:]):
        (-[FormCompletionController initWithSourceField:frame:]):
        (-[FormCompletionController maxStringLength]):
        (+[AutoFillController autoFillerForFrame:form:create:]):
        (+[AutoFillController abMatchInFrame:form:fieldName:]):
        (+[AutoFillController isContinuationField:inFrame:form:]):
        (+[AutoFillController recordABMatch:inFrame:form:fieldName:]):
        (+[AutoFillController clearAutoFilledView:inFrame:form:]):
        (-[AutoFillController _fieldNameForAutoFillOfView:rep:]):
        (fieldLooksLikeContinuation):
        (-[AutoFillController _reflectMultiFieldMatch:inViews:currIndex:fieldName:]):
        (-[FormToABBinder abPointerForView:rep:useFieldName:foundByPageScan:]):
        * Test/AutoFillTest.m:
        (+[AutoFillTest _dumpFormState:]):

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

18 years ago Reviewed by John.
mjs [Fri, 27 Feb 2004 22:55:54 +0000 (22:55 +0000)]
    Reviewed by John.

<rdar://problem/3514733>: nil-deref in createHTMLEventListener at skiset.com
<rdar://problem/3510676>: nil-deref of view in DocumentImpl::createHTMLEventListener at kirotv.com

* khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::createHTMLEventListener): Don't create the listener if there is no
part. Also, get the part when going through the view. This prevents problems when
handlers are set or removed from the onUnload handler.

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

18 years agoWebKit:
sullivan [Fri, 27 Feb 2004 22:50:55 +0000 (22:50 +0000)]
WebKit:

        - WebKit changes to allow performance improvements to bookmarks

        Reviewed by Darin.

        * History.subproj/WebHistoryItemPrivate.h:
        added notificationsSuppressed/setNotificationsSuppressed, and setURLString
        * History.subproj/WebHistoryItem.m:
        (-[WebHistoryItem setNotificationsSuppressed:]):
        setter for new flag. When this flag is set, making changes to the WebHistoryItem
        will not cause WebHistoryChanged notifications to be sent. This is a big speedup
        for reading bookmarks from disk, since currently each WebBookmarkLeaf object
        keeps around a WebHistoryItem object that isn't really part of history and thus
        doesn't need to send notifications about history changing.
        (-[WebHistoryItem notificationsSuppressed]):
        getter for new flag
        (-[WebHistoryItem setURLString:]):
        new method, extracted from guts of setURL:; this allows callers (though
        currently only callers at Apple) that have a URL string in hand to set
        it directly on the WebHistoryItem rather than converting to a URL and
        back, both relatively slow operations. Also, doesn't sent a notification
        if notifications are suppressed.
        (-[WebHistoryItem setURL:]):
        now calls extracted method
        (-[WebHistoryItem setAlternateTitle:]):
        doesn't send notification if notifications are suppressed
        (-[WebHistoryItem setOriginalURLString:]):
        ditto
        (-[WebHistoryItem setTitle:]):
        ditto
        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
        ditto

WebBrowser:

        - A number of performance improvements to importing bookmarks. Some but not all of
        them also apply to reading our native bookmarks from disk. When I started this,
        importing bookmarks from Netscape's HTML format was actually slower than importing
        bookmarks from our property list format, hard though that might be to imagine. Now
        importing the HTML format takes about half the time it used to, and now it's about
        40% faster than importing the property list format, at least with my 33,000 bookmark
        sample file (and importing our property list format also sped up).

        Reviewed by Darin.

        * BookmarksController.m:
        (-[BookmarksController mergeBuiltInBookmarksIfNecessary]):
        added count to timing log message
        (-[BookmarksController exportBookmarks:]):
        added timing log message
        (-[BookmarksController importFavoritesFrom:intoBookmarksFolder:settingPrefKey:]):
        added count to timing log message, and commented-out calls to start & stop sampling
        for the next time someone works on this. Also, in the case where we're importing
        from a user-chosen file instead of automatically, bypass the merging code because
        the merging code is unnecessarily complicated for the "just shlurp this pile o'
        bookmarks into a new folder" case.

        * BookmarksViewController.m:
        (-[BookmarksViewController changeAddressForBookmark:to:]):
        Use bestURLStringForUserTypedString here (when user manually edits a URL in the
        outline view) so that we don't have to use it in the general case of setting
        a bookmark's URL string, since it's slow. When programmatically setting a bookmark's
        URL string we can often just use an existing string as-is.

        * FormCompletionController.m:
        (+[FormCompletionController _saveCompletionDB:]):
        Fix the way an #ifdef was declared so it compiles in a deployment build that
        has LOG_DISABLED set to 0.

        * WebBookmarkGroupPrivate.h:
        * WebBookmarkGroup.m:
        (-[WebBookmarkGroup _bookmarkChild:wasAddedToParent:]):
        added this private-ish helper method to avoid creating an array in the case
        where we aren't even going to use it because notifications are suppressed
        (-[WebBookmarkGroup _bookmarkChild:wasRemovedFromParent:]):
        ditto

        * WebBookmarkImporter.m:
        (-[WebBookmarkImporter unescapeHTML:]):
        bail out early if there's no ampersand at all in the string (the normal case), to avoid
        creating a mutable string

        * WebBookmarkLeaf.m:
        (-[WebBookmarkLeaf init]):
        suppress notifications on our private WebHistoryItem
        (-[WebBookmarkLeaf setURLString:]):
        call the new setURLString: method on our private WebHistoryItem instead of converting
        to a URL and then calling setURL: (which then converts back to a string)

        * WebBookmarkList.m:
        (-[WebBookmarkList removeChild:]):
        call new -[WebBookmarkGroup _bookmarkChild:wasRemovedFromParent:] so we don't have to
        create an NSArray here
        (-[WebBookmarkList insertChild:atIndex:]):
        call new -[WebBookmarkGroup _bookmarkChild:wasAddedToParent:] so we don't have to
        create an NSArray here

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

18 years ago Reviewed by Dave.
mjs [Fri, 27 Feb 2004 09:25:16 +0000 (09:25 +0000)]
    Reviewed by Dave.

- fixed <rdar://problem/3571356>: REGRESSION: Crash in isPointInsideSelection clicking on link in Apple web directory frame

        * khtml/khtml_part.cpp:
        (KHTMLPart::isPointInsideSelection): Don't crash if innerNode is
NULL, as this can happen mousing over a frame that's in the
process of loading and currently empty. Since such a frame
obviously can't be inside the selection, this seems like a good
enough fix.

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

18 years agoTests:
cblu [Fri, 27 Feb 2004 04:38:09 +0000 (04:38 +0000)]
Tests:

Made Blot support the 'nmsg' event that Safari sends for the "Mail Page" and "Mail Page Address" feature.

        Reviewed by NOBODY (OOPS!).

        * Blot/BlotApp.m:
        (-[BlotApp awakeFromNib]):
        (-[BlotApp handleURLEvent:withReplyEvent:]):
        (-[BlotApp handleNewMessageEvent:withReplyEvent:]):
        * Blot/BlotDocument.h:
        * Blot/BlotDocument.m:
        (-[BlotDocument setSubject:]):
        (-[BlotDocument webView:didFinishLoadForFrame:]):
        (-[BlotDocument loadPropertyList:]):
        * Blot/English.lproj/BlotDocument.nib:
        * Blot/Info.plist:

WebKit:

WebKit side of:
<rdar://problem/3056566>: mail a link to this page
<rdar://problem/2961206>: implement ability to e-mail entire page

        Reviewed by john.

        * English.lproj/StringsNotToBeLocalized.txt:
        * Misc.subproj/WebIconDatabase.m:
        (-[WebIconDatabase _createFileDatabase]): tweaks
        (-[WebIconDatabase _loadIconDictionaries]): fixed an assertion failure I found in Blot. Keep the original list of icon URLs as a separate list when doing the initial clean-up so we don't over release any icons.
        (-[WebIconDatabase _updateFileDatabase]): tweaks
        (-[WebIconDatabase _setIcon:forIconURL:]): tweaks
        (-[WebIconDatabase _releaseIconForIconURLString:]): tweaks
        (-[WebIconDatabase _retainOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list
        (-[WebIconDatabase _releaseOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list
        * Misc.subproj/WebIconDatabasePrivate.h:
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _propertyListWithData:subresourceURLStrings:]): new, code moved from [WebHTMLView _selectedPropertyList:], creates property list rep of data and subresources
        (-[WebDataSource propertyList]): does the above with all the data source data, this is what "Mail Page" uses
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadPropertyList:]): renamed from loadHTMLPropertyList because the property list may contain non-HTML data
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectedPropertyList:]): renamed, code moved to [WebDataSource _propertyListWithData:subresourceURLStrings:]
        (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed _selectedPropertyList

WebBrowser:

Fixed:
<rdar://problem/3056566>: mail a link to this page
<rdar://problem/2961206>: implement ability to e-mail entire page

The above work with Blot if you have that installed and will work with Mail once Mail supports it.

        Reviewed by john.

        * BrowserDocument.m:
        (-[BrowserDocument validateUserInterfaceItem:]): handle mailPage and mailPageAddress
        (-[BrowserDocument _mailPropertyList:]): new, takes a WebKit property list and sends it to your Mail app if it supports it
        (-[BrowserDocument mailPage:]): calls _mailPropertyList with [WebDataSource propertyList]
        (-[BrowserDocument mailPageAddress:]): calls _mailPropertyList with boiler plate HTML
        * BrowserNSWorkspaceExtras.h:
        * BrowserNSWorkspaceExtras.m:
        (-[NSWorkspace launchApplicationAtPath:processSerialNumber:makeFrontmost:alreadyOpen:event:]): rearranged the arguments a little for aesthetic reasons
        * English.lproj/Localizable.strings:
        * English.lproj/MainMenu.nib: added "Mail Page" and "Mail Page Address" to the File menu
        * English.lproj/StringsNotToBeLocalized.txt:
        * Preferences.subproj/AdvancedPreferences.m:
        (-[AdvancedPreferences openProxyPreferences:]): call renamed launchApplicationAtPath:::::
        * WebBrowser.pbproj/project.pbxproj:

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

18 years ago Fix for 3528839, wide table cut off because of shorts being used instead of ints.
hyatt [Fri, 27 Feb 2004 01:37:26 +0000 (01:37 +0000)]
Fix for 3528839, wide table cut off because of shorts being used instead of ints.

        Reviewed by darin

        * khtml/rendering/render_table.cpp:
        (RenderTableSection::layoutRows):
        (RenderTableCell::setWidth):
        * khtml/rendering/table_layout.cpp:
        (FixedTableLayout::calcWidthArray):
        (FixedTableLayout::calcMinMaxWidth):
        (AutoTableLayout::calcMinMaxWidth):

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

18 years ago Fixed a few problems I found with reconstructed source while on my way to implementi...
cblu [Fri, 27 Feb 2004 00:44:42 +0000 (00:44 +0000)]
Fixed a few problems I found with reconstructed source while on my way to implementing "Mail Page".

        Reviewed by hyatt.

        * khtml/html/html_headimpl.cpp:
        (HTMLLinkElementImpl::isSubresourceURLAttribute): only true for stylesheet and icon
        * khtml/html/html_imageimpl.cpp:
        (HTMLAreaElementImpl::isURLAttribute): implement isURLAttribute not isSubresourceURLAttribute
        * khtml/html/html_imageimpl.h:
        * khtml/rendering/render_box.cpp:
        (RenderBox::dirtyLineBoxes): crasher fix that I found using libgmalloc
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::recursive_toHTMLWithOptions): don't escape SCRIPT and TEXTAREA text, write close tags for tags that need them instead of relying on the children check
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge HTMLString:]): call recursive_toHTMLWithOptions on the first child of the document so <#document /> isn't part of the source

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

18 years ago Convert render object widths from short to int. There was a bug on this, but I...
hyatt [Thu, 26 Feb 2004 23:10:44 +0000 (23:10 +0000)]
Convert render object widths from short to int.  There was a bug on this, but I can't find it in Radar.

        Reviewed by john

        * khtml/rendering/render_applet.cpp:
        (RenderApplet::intrinsicWidth):
        (RenderEmptyApplet::intrinsicWidth):
        * khtml/rendering/render_applet.h:
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::calcMinMaxWidth):
        (khtml::RenderBlock::calcInlineMinMaxWidth):
        * khtml/rendering/render_block.h:
        * khtml/rendering/render_box.cpp:
        (RenderBox::contentWidth):
        (RenderBox::width):
        (RenderBox::containingBlockWidth):
        (RenderBox::calcReplacedWidth):
        (RenderBox::setStaticX):
        * khtml/rendering/render_box.h:
        (khtml::RenderBox::minWidth):
        (khtml::RenderBox::maxWidth):
        * khtml/rendering/render_br.h:
        (khtml::RenderBR::minWidth):
        (khtml::RenderBR::maxWidth):
        * khtml/rendering/render_canvas.cpp:
        (RenderCanvas::layout):
        * khtml/rendering/render_flexbox.cpp:
        (khtml::RenderFlexibleBox::calcMinMaxWidth):
        * khtml/rendering/render_frames.cpp:
        (RenderPart::intrinsicWidth):
        (RenderPartObject::layout):
        * khtml/rendering/render_frames.h:
        * khtml/rendering/render_image.cpp:
        (RenderImage::layout):
        (RenderImage::calcReplacedWidth):
        * khtml/rendering/render_image.h:
        * khtml/rendering/render_inline.cpp:
        (RenderInline::width):
        * khtml/rendering/render_inline.h:
        * khtml/rendering/render_layer.cpp:
        (RenderLayer::scrollWidth):
        * khtml/rendering/render_layer.h:
        (khtml::RenderLayer::width):
        (khtml::RenderLayer::setWidth):
        (khtml::RenderLayer::scrollXOffset):
        * khtml/rendering/render_line.h:
        (khtml::InlineBox::setWidth):
        (khtml::InlineBox::width):
        (khtml::InlineBox::setXPos):
        (khtml::InlineBox::xPos):
        * khtml/rendering/render_object.cpp:
        (RenderObject::containingBlockWidth):
        * khtml/rendering/render_object.h:
        (khtml::RenderObject::setStaticX):
        (khtml::RenderObject::contentWidth):
        (khtml::RenderObject::intrinsicWidth):
        (khtml::RenderObject::width):
        (khtml::RenderObject::offsetWidth):
        (khtml::RenderObject::minWidth):
        (khtml::RenderObject::maxWidth):
        * khtml/rendering/render_replaced.h:
        (khtml::RenderReplaced::intrinsicWidth):
        * khtml/rendering/render_table.cpp:
        (RenderTable::calcWidth):
        * khtml/rendering/render_table.h:
        * khtml/rendering/render_text.cpp:
        (RenderText::trimmedMinMaxWidth):
        (RenderText::width):
        * khtml/rendering/render_text.h:
        (khtml::RenderText::minWidth):
        (khtml::RenderText::maxWidth):
        * khtml/rendering/table_layout.cpp:

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

18 years ago 3566668 - REGRESSION (125-128): autofill of popup lists is broken
trey [Thu, 26 Feb 2004 23:00:34 +0000 (23:00 +0000)]
3566668 - REGRESSION (125-128): autofill of popup lists is broken
3571271 - autofill parsing of field names should treat _ as a word separator

        Reviewed by Chris, Darin

        * kwq/KWQComboBox.h:
        * kwq/KWQComboBox.mm:
        (QComboBox::populate):   New virtual method to force any lazy field population to happen.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::matchLabelsAgainstElement):  Change _ to ' ', to make it a word separator.
        * kwq/KWQWidget.h:
        (QWidget::populate):  Implement populate to fill out the menu's data.
        * kwq/WebCoreBridge.mm:
        (viewForElement):    Make sure widget is populated before handing it out.

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

18 years agoWebCore:
kocienda [Thu, 26 Feb 2004 19:16:09 +0000 (19:16 +0000)]
WebCore:

        Reviewed by Chris

        * WebCore.pbproj/project.pbxproj:
        * khtml/xml/dom2_rangeimpl.h: Now includes createInstance glue function as do the other
        khtml DOM objects that we reflect into ObjC.
        * kwq/DOM-compat.h: Added. Compatibility declarations for DOM SPI. Note that this file
        is copied into WebKit by the build system as needed.
        * kwq/DOM.h: Added. New home for DOM SPI. Note that this file is copied into WebKit by the build
        system as needed.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::recordFormValue): Updated usage to new DOM SPI.
        * kwq/WebCoreBridge.h: Updated usage to new DOM SPI.
        * kwq/WebCoreBridge.mm: Updated usage to new DOM SPI. Needed to add DOM range impl include since
        includes jiggered around and this needed header was no longer included indirectly.
        (-[WebCoreBridge elementForView:]): Ditto.
        (inputElementFromDOMElement): Ditto.
        (formElementFromDOMElement): Ditto.
        (-[WebCoreBridge elementWithName:inForm:]): Ditto.
        (-[WebCoreBridge elementDoesAutoComplete:]): Ditto.
        (-[WebCoreBridge elementIsPassword:]): Ditto.
        (-[WebCoreBridge currentForm]): Ditto.
        (-[WebCoreBridge controlsInForm:]): Ditto.
        (-[WebCoreBridge searchForLabels:beforeElement:]): Ditto.
        (-[WebCoreBridge matchLabels:againstElement:]): Ditto.
        (-[WebCoreBridge elementAtPoint:]): Ditto.
        (-[WebCoreBridge DOMDocument]): Ditto.
        (-[WebCoreBridge setSelectionFrom:startOffset:to:endOffset:]): Ditto.
        (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]): Ditto.
        (-[WebCoreBridge selectionStart]): Ditto.
        (-[WebCoreBridge selectionEnd]): Ditto.
        * kwq/WebCoreDOM.h: New home for all private declarations needed for reflecting DOM into ObjC.
        * kwq/WebCoreDOM.mm: Added. New home for all implementations needed for reflecting DOM into ObjC.
        * kwq/WebCoreDOMDocument.mm: Removed. All ObjC DOM implementation now in WebCoreDOM.mm.
        * kwq/WebCoreDOMNode.mm: Removed. All ObjC DOM implementation now in WebCoreDOM.mm.
        * kwq/WebCoreDOMPrivate.h: Removed.
        * kwq/WebDOMDocument.h: Removed.
        * kwq/WebDOMElement.h: Removed.
        * kwq/WebDOMNode.h: Removed.

WebKit:

        Reviewed by Chris

        Updated usage of DOM SPI to use new names and conventions.

        Unless indicated otherwise, the changes were to update protocol names for, which
        changed from using a "WebDOM" prefix to a "DOM" prefix, and changing now need
        only include the DOM.h header from WebKit to get everything.

        * DOM.subproj/DOM-compat.h: Added. This header contains some compatibility declarations
        to work with older clients of our DOM SPI. Though this file is checked into WebKit,
        it really lives and should be updated in WebCore. It is copied into WebKit by the build
        system as needed.
        * DOM.subproj/DOM.h: Added. This file includes the new "guts" of the DOM SPI. As above,
        this file is checked into WebKit, it really lives and should be updated in WebCore.
        It is copied into WebKit by the build system as needed.
        * DOM.subproj/WebDOMDocument.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
        * DOM.subproj/WebDOMDocument.m: Removed.
        * DOM.subproj/WebDOMElement.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
        * DOM.subproj/WebDOMElement.m: Removed.
        * DOM.subproj/WebDOMNode.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
        * DOM.subproj/WebDOMNode.m: Removed.
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:])
        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:])
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        * WebView.subproj/WebFormDelegate.h:
        * WebView.subproj/WebFormDelegate.m:
        (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:])
        * WebView.subproj/WebFrame.h: Unrelated change. Removed -undoManager accessor from public header. Moved to private header.
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:])
        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:])
        (-[WebFrame undoManager]): Moved -undoManager accessor to private category implementation.
        (-[WebFormState initWithForm:values:sourceFrame:])
        (-[WebFormState form])
        (-[WebFrame childFrames])
        * WebView.subproj/WebFramePrivate.h: Moved in -undoManager accessor.
        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation DOMDocument])
        (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:])
        (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:])
        (-[WebHTMLRepresentation elementWithName:inForm:])
        (-[WebHTMLRepresentation elementForView:])
        (-[WebHTMLRepresentation elementDoesAutoComplete:])
        (-[WebHTMLRepresentation elementIsPassword:])
        (-[WebHTMLRepresentation formForElement:])
        (-[WebHTMLRepresentation controlsInForm:])
        (-[WebHTMLRepresentation searchForLabels:beforeElement:])
        (-[WebHTMLRepresentation matchLabels:againstElement:])
        * WebView.subproj/WebHTMLView.m:
        * copy-webcore-files-to-webkit: Added. Copies DOM.h and DOM-compat.h from WebCore when they
        have been updated there.

WebBrowser:

        Reviewed by Chris

        Updated usage of DOM SPI to use new names and conventions.

        In each case, protocol names for DOM objects were changed from using a
        "WebDOM" prefix to a "DOM" prefix, and clients now need only include the
        DOM.h header from WebKit to get everything.

        * BrowserWebController.m:
        (-[FormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:])
        * Debug/SnippetController.m:
        (lastNode)
        (-[SnippetController loadComplete])
        * FormCompletionController.h:
        * FormCompletionController.m:
        (+[FormCompletionController loginInfoForForm:inFrame:])
        (+[FormCompletionController _frame:sourceFrame:willSubmitLoginForm:withValues:formInfo:submissionListener:])
        (+[FormCompletionController _frame:sourceFrame:willSubmitRegularForm:withValues:])
        (+[FormCompletionController frame:sourceFrame:willSubmitForm:withValues:submissionListener:])
        (+[FormCompletionController currentFormInFrame:])
        (+[FormCompletionController currentFrameAndForm:inWebView:])
        (+[FormCompletionController autoFillInWebView:])
        (+[FormCompletionController autoFillPasswordInFrame:])
        (-[FormCompletionController initWithSourceField:frame:])
        (-[FormCompletionController maxStringLength])
        (+[AutoFillController autoFillerForFrame:form:create:])
        (+[AutoFillController abMatchInFrame:form:fieldName:])
        (+[AutoFillController recordABMatch:inFrame:form:fieldName:])
        (+[AutoFillController clearAutoFilledView:inFrame:form:])
        (-[AutoFillController _fieldNameForAutoFillOfView:rep:])
        (-[FormToABBinder abPointerForFieldName:view:rep:foundByPageScan:])

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

18 years agoWebCore:
sullivan [Wed, 25 Feb 2004 16:51:58 +0000 (16:51 +0000)]
WebCore:

        WebCore part of fix for <rdar://problem/3546370>: add a way to tab to menus,
        checkmarks, and buttons without turning on Full Keyboard Acceess

        Reviewed by Ken.

        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::tabsToAllControls):
        now checks for option-tab like tabsToLinks
        (KWQKHTMLPart::partForWidget):
        new method, extracted from bridgeForWidget
        (KWQKHTMLPart::bridgeForWidget):
        now calls extracted method

        * kwq/KWQButton.mm:
        (-[KWQButton canBecomeKeyView]):
        overridden to handle our rules about full keyboard access, different
        than NSView's rules
        * kwq/KWQComboBox.mm:
        (-[KWQPopUpButton canBecomeKeyView]):
        ditto
        * kwq/KWQListBox.mm:
        (-[KWQTableView canBecomeKeyView]):
        ditto

WebKit:

        WebKit part of fix for <rdar://problem/3546370>: add a way to tab to menus,
        checkmarks, and buttons without turning on Full Keyboard Acceess

        Reviewed by Ken.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
        turn on WebCoreKeyboardAccessFull bit whenever we turn on
        WebCoreKeyboardAccessTabsToLinks bit

WebBrowser:

        - WebBrowser part of fix for <rdar://problem/3546370>: add a way to tab to menus,
          checkmarks, and buttons without turning on Full Keyboard Acceess
        - fixed <rdar://problem/3566996>: "Highlight each item" choice in Preferences
          should use a checkbox and have different wording

        Reviewed by Ken.

        * Preferences.subproj/AdvancedPreferences.h:
        * Preferences.subproj/AdvancedPreferences.m:
        (systemIsInFullKeyboardAccessMode):
        new function, reads the state of the Full Keyboard Access setting
        (-[AdvancedPreferences updateTabToAllViews]):
        set checkbox instead of matrix; new wording for fine print; renamed method
        (-[AdvancedPreferences keyboardUIModeDidChange:]):
        notification callback; call updateTabToAllViews
        (-[AdvancedPreferences toggleTabToAll:]):
        new method, replaces takeTabToLinksSettingFrom:
        (-[AdvancedPreferences initializeFromDefaults]):
        call renamed method
        (-[AdvancedPreferences moduleWillBeRemoved]):
        stop observing notification for Full Keyboard Access mode change
        (-[AdvancedPreferences moduleWasInstalled]):
        start observing notification for Full Keyboard Access mode change

        * Preferences.subproj/English.lproj/AdvancedPreferences.nib:
        replace radio buttons with checkbox; rejigger positions

        * English.lproj/Localizable.strings:
        * English.lproj/StringsNotToBeLocalized.txt:
        Updated for these changes

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

18 years ago I forgot to add these files in my last check-in.
cblu [Wed, 25 Feb 2004 03:21:17 +0000 (03:21 +0000)]
I forgot to add these files in my last check-in.

        * WebView.subproj/WebResource.h: Added.
        * WebView.subproj/WebResource.m: Added.
        (-[WebResourcePrivate dealloc]):
        (-[WebResource initWithData:URL:MIMEType:textEncodingName:]):
        (-[WebResource dealloc]):
        (-[WebResource data]):
        (-[WebResource URL]):
        (-[WebResource MIMEType]):
        (-[WebResource textEncodingName]):
        (+[WebResource _resourcesFromPropertyLists:]):
        (+[WebResource _propertyListsFromResources:]):
        (-[WebResource _initWithPropertyList:]):
        (-[WebResource _initWithCachedResponse:originalURL:]):
        (-[WebResource _propertyListRepresentation]):
        (-[WebResource _cachedResponseRepresentation]):
        * WebView.subproj/WebResourcePrivate.h: Added.

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

18 years agoTests:
cblu [Wed, 25 Feb 2004 01:30:14 +0000 (01:30 +0000)]
Tests:

Added support for WebHTMLPboardType.

        Reviewed by rjw.

        * PasteboardViewer/PasteboardViewer.xcode/project.pbxproj:
        * PasteboardViewer/WindowController.m:
        (-[WindowController pasteboardTypes]):
        (-[WindowController reflectSelection]):

WebKit:

Fixed: <rdar://problem/3565476>: design/implement new pasteboard type for HTML that includes subresources

        Reviewed by rjw.

        * Plugins.subproj/WebNetscapePluginStream.m:
        (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): don't manage buffer, WebBaseResourceHandleDelegate does this now
        (-[WebNetscapePluginConnectionDelegate releaseResources]): ditto
        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto
        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebBaseResourceHandleDelegate.h:
        * WebView.subproj/WebBaseResourceHandleDelegate.m:
        (-[WebBaseResourceHandleDelegate releaseResources]): release resourceData and resource
        (-[WebBaseResourceHandleDelegate loadWithRequest:]): check the dataSource for a resource, load that if we have one
        (-[WebBaseResourceHandleDelegate addData:]): new, adds data to resourceData
        (-[WebBaseResourceHandleDelegate saveResource]): new, saves data as a resource on the dataSource
        (-[WebBaseResourceHandleDelegate saveResourceWithCachedResponse:]): new, replaces the resource on the dataSource to save memory
        (-[WebBaseResourceHandleDelegate resourceData]): new
        (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): call addData:
        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): call saveResource
        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): new, calls saveResourceWithCachedResponse:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSourcePrivate dealloc]): release subresources
        (-[WebDataSource subresources]): new, returns the subresources of the data source
        (-[WebDataSource subresourceForURL:]): new, returns a resource for a URL
        (-[WebDataSource addSubresource:]): new
        (-[WebDataSource addSubresources:]): new
        (-[WebDataSource _receivedData:]): added an assert
        (-[WebDataSource _setData:]): replaces the data of the data source
        (-[WebDataSource initWithRequest:]): create subresources
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame loadHTMLPropertyList:]): new, loads a frame from an HTML plist
        (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:]): new, factored out from loadData:MIMEType:textEncodingName:baseURL:
        (-[WebFrame _loadRequest:subresources:]): new, factored out from loadRequest:, handles subresources
        (-[WebFrame loadRequest:]): now just calls _loadRequest:subresources:
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _dataSource]): new internal convenience
        (+[WebHTMLView _selectionPasteboardTypes]): renamed from _pasteboardTypes to be more precise
        (-[WebHTMLView _selectedHTMLPropertyList:]): new, constructs an HTML plist from the selection
        (-[WebHTMLView _writeSelectionToPasteboard:]): calls _selectedHTMLPropertyList to support WebHTMLPboardType
        (-[WebHTMLView _pasteHTMLFromPasteboard:]): added support for pasting WebHTMLPboardType
        (+[WebHTMLView initialize]): call renamed _selectionPasteboardTypes
        (-[WebHTMLView initWithFrame:]): allow WebHTMLPboardType to be dragged in
        (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _selectionPasteboardTypes
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebMainResourceClient.m:
        (-[WebMainResourceClient addData:]): override since the main resource does it's own buffering
        (-[WebMainResourceClient saveResource]): override to do nothing since the main resource is not saved as a subresource
        (-[WebMainResourceClient saveResourceWithCachedResponse:]): override, calls _setData on the data source to
        (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):
        * WebView.subproj/WebResource.h: Added.
        * WebView.subproj/WebResource.m: Added. New class the represents the data, URL, MIME type and textEncodingName of a resource.
        (-[WebResourcePrivate dealloc]):
        (-[WebResource initWithData:URL:MIMEType:textEncodingName:]):
        (-[WebResource dealloc]):
        (-[WebResource data]):
        (-[WebResource URL]):
        (-[WebResource MIMEType]):
        (-[WebResource textEncodingName]):
        (-[WebResource description]):
        (+[WebResource _resourcesFromPropertyLists:]):
        (+[WebResource _propertyListsFromResources:]):
        (-[WebResource _initWithPropertyList:]):
        (-[WebResource _propertyListRepresentation]):
        (-[WebResource _initWithCachedResponse:originalURL:]):
        (-[WebResource _cachedResponseRepresentation]):
        * WebView.subproj/WebResourcePrivate.h: Added.
        * WebView.subproj/WebView.m:

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

18 years agoTests:
darin [Tue, 24 Feb 2004 19:36:39 +0000 (19:36 +0000)]
Tests:

        Reviewed by Ken.

        * qt/qstring-test.cpp: (main): Added an endsWith test.
        * qt/qstring-test.chk: Added the expected result.

WebCore:

        Reviewed by Ken.

        * kwq/KWQString.mm: (QString::endsWith): Fixed broken end of string test, to get rid
        of false positives.

        * WebCore-tests.exp: Added endsWith so it can be tested.
        * WebCore-combined.exp: Regenerated.

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

18 years ago Fix for 3549772, hangs on border collapsing.
hyatt [Mon, 23 Feb 2004 23:33:52 +0000 (23:33 +0000)]
Fix for 3549772, hangs on border collapsing.

        Reviewed by darin

        * khtml/rendering/render_object.cpp:
        (RenderObject::collectBorders):
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_table.cpp:
        (RenderTable::paint):
        (compareBorders):
        (RenderTableCell::paint):
        (addBorderStyle):
        (RenderTableCell::collectBorders):
        * khtml/rendering/render_table.h:

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

18 years agoAdding test for 3560033 fix.
hyatt [Mon, 23 Feb 2004 21:39:44 +0000 (21:39 +0000)]
Adding test for 3560033 fix.

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

18 years agoUpdating layout tests to reflect br fixes.
hyatt [Mon, 23 Feb 2004 21:31:05 +0000 (21:31 +0000)]
Updating layout tests to reflect br fixes.

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

18 years ago Fix for 3558717, make sure that form elements that are removed from a document also...
hyatt [Mon, 23 Feb 2004 21:26:26 +0000 (21:26 +0000)]
Fix for 3558717, make sure that form elements that are removed from a document also remove themselves
from the form.

Reviewed by darin.

        * khtml/html/html_formimpl.cpp:
        (HTMLGenericFormElementImpl::removedFromDocument):
        * khtml/html/html_formimpl.h:
        * khtml/xml/dom_nodeimpl.cpp:
        * khtml/xml/dom_nodeimpl.h:

Implement smarter line layout for faster typing and repainting when individual lines change.

Reviewed by kocienda.

* khtml/khtmlview.cpp:
        (KHTMLViewPrivate::KHTMLViewPrivate):
        (KHTMLViewPrivate::~KHTMLViewPrivate):
        (KHTMLViewPrivate::reset):
        (KHTMLView::addRepaintInfo):
        (KHTMLView::layout):
        * khtml/khtmlview.h:
        * khtml/rendering/bidi.cpp:
        (khtml::Bidinext):
        (khtml::appendRun):
        (khtml::embed):
        (khtml::RenderBlock::constructLine):
        (khtml::RenderBlock::computeHorizontalPositionsForLine):
        (khtml::RenderBlock::computeVerticalPositionsForLine):
        (khtml::RenderBlock::bidiReorderLine):
        (khtml::buildCompactRuns):
        (khtml::RenderBlock::layoutInlineChildren):
        (khtml::RenderBlock::determineStartPosition):
        (khtml::RenderBlock::determineEndPosition):
        (khtml::RenderBlock::matchedEndLine):
        (khtml::RenderBlock::findNextLineBreak):
        * khtml/rendering/render_block.cpp:
        (khtml:::RenderFlow):
        (khtml::RenderBlock::layoutBlock):
        (khtml::RenderBlock::layoutBlockChildren):
        (khtml::RenderBlock::positionNewFloats):
        (khtml::RenderBlock::lowestPosition):
        (khtml::RenderBlock::rightmostPosition):
        (khtml::RenderBlock::leftmostPosition):
        * khtml/rendering/render_block.h:
        (khtml::RenderBlock::firstRootBox):
        (khtml::RenderBlock::lastRootBox):
        (khtml::RenderBlock::setLinesAppended):
        (khtml::RenderBlock::linesAppended):
        * khtml/rendering/render_box.cpp:
        (RenderBox::dirtyLineBoxes):
        (RenderBox::deleteLineBoxWrapper):
        (RenderBox::setInlineBoxWrapper):
        * khtml/rendering/render_box.h:
        * khtml/rendering/render_br.cpp:
        (RenderBR::createInlineBox):
        (RenderBR::position):
        * khtml/rendering/render_br.h:
        * khtml/rendering/render_container.cpp:
        (RenderContainer::appendChildNode):
        (RenderContainer::insertChildNode):
        * khtml/rendering/render_flexbox.cpp:
        (khtml::RenderFlexibleBox::placeChild):
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::extractLineBox):
        (RenderFlow::attachLineBox):
        (RenderFlow::removeLineBox):
        (RenderFlow::dirtyLinesFromChangedChild):
        (RenderFlow::dirtyLineBoxes):
        (RenderFlow::createInlineBox):
        * khtml/rendering/render_flow.h:
        * khtml/rendering/render_line.cpp:
        (InlineBox::dirtyLineBoxes):
        (InlineBox::deleteLine):
        (InlineBox::extractLine):
        (InlineBox::attachLine):
        (InlineBox::adjustVerticalPosition):
        (InlineBox::root):
        (InlineBox::nextOnLineExists):
        (InlineBox::prevOnLineExists):
        (InlineFlowBox::removeChild):
        (InlineFlowBox::deleteLine):
        (InlineFlowBox::extractLine):
        (InlineFlowBox::attachLine):
        (InlineFlowBox::adjustVerticalPosition):
        (InlineFlowBox::verticallyAlignBoxes):
        (InlineFlowBox::adjustMaxAscentAndDescent):
        (RootInlineBox::adjustVerticalPosition):
        (RootInlineBox::childRemoved):
        * khtml/rendering/render_line.h:
        (khtml::InlineBox::m_extracted):
        (khtml::InlineBox::setExtracted):
        (khtml::InlineBox::object):
        (khtml::InlineBox::parent):
        (khtml::InlineBox::isDirty):
        (khtml::InlineBox::markDirty):
        (khtml::InlineFlowBox::prevFlowBox):
        (khtml::InlineFlowBox::nextFlowBox):
        (khtml::RootInlineBox::RootInlineBox):
        (khtml::RootInlineBox::nextRootBox):
        (khtml::RootInlineBox::prevRootBox):
        (khtml::RootInlineBox::setLineBreakInfo):
        (khtml::RootInlineBox::setLineBreakPos):
        (khtml::RootInlineBox::setBlockHeight):
        (khtml::RootInlineBox::setEndsWithBreak):
        (khtml::RootInlineBox::blockHeight):
        (khtml::RootInlineBox::endsWithBreak):
        (khtml::RootInlineBox::lineBreakObj):
        (khtml::RootInlineBox::lineBreakPos):
        * khtml/rendering/render_object.cpp:
        (RenderObject::repaintAfterLayoutIfNeeded):
        (RenderObject::repaintObjectsBeforeLayout):
        (RenderObject::dirtyLinesFromChangedChild):
        (RenderObject::createInlineBox):
        (RenderObject::dirtyLineBoxes):
        (RenderObject::setInlineBoxWrapper):
        (RenderObject::deleteLineBoxWrapper):
        * khtml/rendering/render_object.h:
        (khtml::RenderObject::RepaintInfo::m_repaintRect):
        * khtml/rendering/render_table.cpp:
        (RenderTableSection::layoutRows):
        * khtml/rendering/render_text.cpp:
        (InlineTextBox::deleteLine):
        (InlineTextBox::extractLine):
        (InlineTextBox::attachLine):
        (RenderText::RenderText):
        (RenderText::detach):
        (RenderText::extractTextBox):
        (RenderText::attachTextBox):
        (RenderText::removeTextBox):
        (RenderText::setTextWithOffset):
        (RenderText::setText):
        (RenderText::dirtyLineBoxes):
        (RenderText::createInlineBox):
        * khtml/rendering/render_text.h:
        (khtml::InlineTextBox::start):
        (khtml::InlineTextBox::end):
        (khtml::InlineTextBox::offsetRun):
        * khtml/xml/dom_textimpl.cpp:
        (CharacterDataImpl::setData):
        (CharacterDataImpl::appendData):
        (CharacterDataImpl::insertData):
        (CharacterDataImpl::deleteData):
        (CharacterDataImpl::replaceData):
        (TextImpl::splitText):
        * kwq/KWQRenderTreeDebug.cpp:
        (write):

RenderBlock contains two other fixes.  The first is a fix to rightmost/lowestPosition to properly add in
margins to floats.

Reviewed by mjs

The second fix is to repair a bug in block-level replaced elements with margins.  If the floats they moved to
dodge can fit in their margins, then they don't technically have to move at all.

Reviewed by john

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

18 years ago Reviewed by Darin.
mjs [Sat, 21 Feb 2004 01:06:29 +0000 (01:06 +0000)]
    Reviewed by Darin.

<rdar://problem/3552346>: REGRESSION 100-125: nil-dereference in KHTMLPart::isPointInsideSelection (progz.ru, many other sites)

        * khtml/rendering/render_layer.cpp:
        (RenderLayer::nodeAtPointForLayer): To cover the case of
positioned generated content, make sure to find an element if we
don't have one yet when we get to the layer level.

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

18 years agoset version from '129' to '130u'. the tree is open!
vicki [Sat, 21 Feb 2004 00:51:53 +0000 (00:51 +0000)]
set version from '129' to '130u'.  the tree is open!

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

18 years agoSafari-129 stamp
vicki [Sat, 21 Feb 2004 00:46:42 +0000 (00:46 +0000)]
Safari-129 stamp

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

18 years ago Reviewed by mjs.
vicki [Fri, 20 Feb 2004 23:53:38 +0000 (23:53 +0000)]
    Reviewed by mjs.

- fix build breakage caused by removal of kWindowNoBufferingAttribute.

        * Carbon.subproj/CarbonWindowAdapter.m:
        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
always used a retained backing store type

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

18 years agoTests:
cblu [Fri, 20 Feb 2004 18:57:29 +0000 (18:57 +0000)]
Tests:

        Reviewed by dave.

        * Blot/BlotDocument.m:
        (-[BlotDocument dataRepresentationOfType:]): call renamed HTMLString on WebHTMLRepresentation

WebCore:

Fixed: <rdar://problem/3563402>: when copying HTML, relative URLs should be made absolute

- Added isSubresourceURLAttribute to ElementImpl which is overridden by subclasses determine if an attribute refers to a subresource.
- Added isURLAttribute to ElementImpl which is overridden by subclasses determine if an attribute refers to any kind of URL.

        Reviewed by Dave.

        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::isSubresourceURLAttribute):
        (HTMLFrameElementImpl::isSubresourceURLAttribute):
        (HTMLIFrameElementImpl::openURL):
        (HTMLIFrameElementImpl::isSubresourceURLAttribute):
        * khtml/html/html_baseimpl.h:
        * khtml/html/html_formimpl.cpp:
        (HTMLFormElementImpl::isURLAttribute):
        * khtml/html/html_formimpl.h:
        * khtml/html/html_headimpl.cpp:
        (HTMLLinkElementImpl::isSubresourceURLAttribute):
        (HTMLScriptElementImpl::id):
        (HTMLScriptElementImpl::isSubresourceURLAttribute):
        * khtml/html/html_headimpl.h:
        * khtml/html/html_imageimpl.cpp:
        (HTMLImageElementImpl::isSubresourceURLAttribute):
        (HTMLAreaElementImpl::getRegion):
        (HTMLAreaElementImpl::isSubresourceURLAttribute):
        * khtml/html/html_imageimpl.h:
        * khtml/html/html_inlineimpl.cpp:
        (HTMLAnchorElementImpl::isURLAttribute):
        * khtml/html/html_inlineimpl.h:
        * khtml/html/html_objectimpl.cpp:
        (HTMLEmbedElementImpl::isSubresourceURLAttribute):
        (HTMLObjectElementImpl::isSubresourceURLAttribute):
        (HTMLParamElementImpl::parseHTMLAttribute):
        (HTMLParamElementImpl::isSubresourceURLAttribute):
        * khtml/html/html_objectimpl.h:
        * khtml/html/html_tableimpl.cpp:
        (HTMLTableElementImpl::isSubresourceURLAttribute):
        (HTMLTableCellElementImpl::attach):
        (HTMLTableCellElementImpl::isSubresourceURLAttribute):
        * khtml/html/html_tableimpl.h:
        * khtml/xml/dom2_rangeimpl.cpp:
        (RangeImpl::toHTMLWithOptions): take completeURLs and subresourceURLs arguments
        (RangeImpl::toHTML): call toHTMLWithOptions with default options
        * khtml/xml/dom2_rangeimpl.h:
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::isURLAttribute):
        (ElementImpl::isSubresourceURLAttribute):
        * khtml/xml/dom_elementimpl.h:
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::recursive_toHTMLWithOptions): take completeURLs and subresourceURLs arguments
        (NodeImpl::recursive_toHTML): call recursive_toHTML with default options
        * khtml/xml/dom_nodeimpl.h:
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge selectedHTML:]): renamed to return subresource URL strings

WebKit:

Fixed: <rdar://problem/3563402>: when copying HTML, relative URLs should be made absolute

        Reviewed by dave.

        * WebView.subproj/WebHTMLRepresentation.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation HTMLString]): renamed from reconstructed source to be more analogous with other data get methods
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed selectedHTML on the bridge

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

18 years agoWebKit:
sullivan [Thu, 19 Feb 2004 23:14:55 +0000 (23:14 +0000)]
WebKit:

        - WebKit part of fix for <rdar://problem/3292380>: Cycle Tabs keyboard shortcut
        (cmd-shift-arrows) conflicts with text editing

        Reviewed by Chris.

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView keyDown:]):
        If shift key is down along with an arrow key, call super rather than eating
        event since we don't handle any shifted events here.

WebBrowser:

        - fixed <rdar://problem/3292380>: Cycle Tabs keyboard shortcut
        (cmd-shift-arrows) conflicts with text editing

        Reviewed by Chris.

        * BrowserNSEventExtras.h:
        * BrowserNSEventExtras.m:
        (-[NSEvent isCommandLeftArrowKeyDown]):
        (-[NSEvent isCommandRightArrowKeyDown]):
        New methods

        * BrowserWindow.m:
        (-[BrowserWindow keyDown:]):
        Still honor old shortcuts of command-shift-arrows, but only
        if no other view has intercepted them already.

        * English.lproj/MainMenu.nib:
        Changed keyboard shortcuts for Select Next Tab and
        Select Previous Tab menu items to option-command-] and [

        * Debug/Shortcuts.html:
        Updated for these changes

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

18 years agoFixed Deployment build problem (longjmp clobber warning)
rjw [Thu, 19 Feb 2004 00:14:08 +0000 (00:14 +0000)]
Fixed Deployment build problem (longjmp clobber warning)

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

18 years ago Added NSNumber/Number conversion.
rjw [Wed, 18 Feb 2004 22:30:23 +0000 (22:30 +0000)]
Added NSNumber/Number conversion.

Removed some unnecessary KJS:: namespace specifiers.

        Reviewed by Ken.

        * bindings/objc/objc_utility.mm:
        (KJS::Bindings::convertValueToObjcValue):
        (KJS::Bindings::convertObjcValueToValue):
        * bindings/runtime_array.h:

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

18 years ago Added support for export NSArrays.
rjw [Wed, 18 Feb 2004 21:58:35 +0000 (21:58 +0000)]
Added support for export NSArrays.

Updated valueAt() to take an ExecState so we can throw
JS exceptions.

Implemented excludeSelectorFromJavaScript: in ObjcClass.  This allows
ObjectiveC classes to control the visibility of their methods in
JavaScript.

        Reviewed by Ken.

        * bindings/jni/jni_runtime.cpp:
        (JavaField::valueFromInstance):
        (JavaArray::valueAt):
        * bindings/jni/jni_runtime.h:
        * bindings/objc/objc_class.mm:
        (ObjcClass::methodsNamed):
        * bindings/objc/objc_runtime.h:
        (KJS::Bindings::ObjcArray::getObjcArray):
        * bindings/objc/objc_runtime.mm:
        (ObjcField::valueFromInstance):
        (ObjcField::setValueToInstance):
        (ObjcArray::ObjcArray):
        (ObjcArray::~ObjcArray):
        (ObjcArray::operator=):
        (ObjcArray::setValueAt):
        (ObjcArray::valueAt):
        (ObjcArray::getLength):
        * bindings/objc/objc_utility.mm:
        (KJS::Bindings::convertValueToObjcValue):
        (KJS::Bindings::convertObjcValueToValue):
        * bindings/runtime.cpp:
        (Instance::getValueOfField):
        * bindings/runtime.h:
        * bindings/runtime_array.cpp:
        (RuntimeArrayImp::get):
        * bindings/runtime_object.cpp:
        (RuntimeObjectImp::get):

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

18 years ago Added String <-> NSString conversion.
rjw [Wed, 18 Feb 2004 01:56:51 +0000 (01:56 +0000)]
Added String <-> NSString conversion.
Added tests of String <-> NSString conversion to test program.

        Reviewed by Chris.

        * bindings/objc/objc_utility.mm:
        (KJS::Bindings::convertValueToObjcValue):
        (KJS::Bindings::convertObjcValueToValue):
        * bindings/test.js:
        * bindings/testbindings.mm:
        (-[MyFirstInterface getString]):

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

18 years ago Reviewed by Darin.
mjs [Wed, 18 Feb 2004 00:45:07 +0000 (00:45 +0000)]
    Reviewed by Darin.

<rdar://problem/3537397>: REGRESSION (100-114): Return doesn't work in Japanese input method for some HomePage fields

        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView keyDown:]): Don't send events through DOM when there is marked
text.
        (-[KWQTextAreaTextView keyUp:]): Ditto.
        * kwq/KWQTextField.mm:
        (-[KWQTextField textView:shouldHandleEvent:]): Ditto.
        (-[KWQSecureTextField textView:shouldHandleEvent:]): Ditto.
* khtml/html/html_formimpl.cpp:
        (HTMLInputElementImpl::defaultEventHandler): No need to check for
marked text on "return" any more, because we won't send key events
through the DOM at all when there is marked text.
        * kwq/KWQLineEdit.h:
        * kwq/KWQLineEdit.mm: Removed haveMarkedText method, no longer
used by anything.

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

18 years ago WebCore side of pasting image data.
cblu [Mon, 16 Feb 2004 19:18:41 +0000 (19:18 +0000)]
WebCore side of pasting image data.

        Reviewed by kocienda.

        * khtml/editing/htmlediting.cpp:
        (PasteImageCommand::PasteImageCommand): new
        (PasteImageCommand::~PasteImageCommand): new
        (PasteImageCommand::impl): new
        * khtml/editing/htmlediting.h:
        (khtml::):
        * khtml/editing/htmlediting_impl.cpp:
        (EditCommandImpl::name): added support for PasteImageCommandID
        (CompositeEditCommandImpl::insertNodeAt): new, factored out from PasteHTMLCommandImpl::apply
        (PasteHTMLCommandImpl::apply): call insertNodeAt
        (PasteImageCommandImpl::PasteImageCommandImpl): new
        (PasteImageCommandImpl::~PasteImageCommandImpl): new
        (PasteImageCommandImpl::apply): new
        * khtml/editing/htmlediting_impl.h:
        * khtml/khtml_part.cpp:
        (KHTMLPart::pasteHTMLString): unchanged
        (KHTMLPart::pasteImage): new
        * khtml/khtml_part.h:
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge pasteImageWithURL:]): new

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

18 years ago Reviewed by Ken.
darin [Mon, 16 Feb 2004 18:18:17 +0000 (18:18 +0000)]
    Reviewed by Ken.

        - Fixed some dynamic casts that Dirk complained about to use virtual functions instead.
          Since the virtual functions were already there, this is faster and better in most
          ways anyway.

        * khtml/dom/dom2_events.cpp:
        (UIEvent::keyCode): Use virtual function instead of dynamic_cast.
        (UIEvent::charCode): Ditto.
        (UIEvent::pageX): Ditto.
        (UIEvent::pageY): Ditto.
        (UIEvent::layerX): Ditto.
        (UIEvent::layerY): Ditto.
        (UIEvent::which): Ditto.

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

18 years ago Reviewed by John and Don.
darin [Mon, 16 Feb 2004 16:19:16 +0000 (16:19 +0000)]
    Reviewed by John and Don.

        - discovered that jaguar.com doesn't need spoofing any more, so removed
          the spoofing machinery entirely; if we ever have to bring it back we
          can, but I doubt we will

        * WebView.subproj/WebView.m: Removed include of WebUserAgentSpoofTable.c.
        (-[WebViewPrivate dealloc]): Release the new single userAgent rather than
        the array and userAgentOverride we used to.
        (-[WebView _preferencesChangedNotification:]): Release the single user agent,
        rather than the entire cache. Also only do it when the user agent is not
        overridden.
        (-[WebView setApplicationNameForUserAgent:]): Ditto.
        (-[WebView setCustomUserAgent:]): Set the new userAgentOverridden boolean,
        and also set userAgent itself.
        (-[WebView customUserAgent]): Return userAgent, but only if userAgentOverridden
        is true.
        (-[WebView userAgentForURL:]): Simplify, now that there's no automatic spoofing
        to do. Made even simpler by the fact that custom and computed user agents both
        share the same field now.

        * WebView.subproj/WebViewPrivate.h: Got rid of UserAgentStringType, turned the
        userAgent field into a single item instead of an array, and replaced the
        userAgentOverride field with a boolean userAgentOverridden field.

        * Makefile.am: Removed the rule to build WebUserAgentSpoofTable.c.
        * WebView.subproj/WebUserAgentSpoofTable.c: Removed.
        * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed.

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

18 years ago Reviewed by Dave.
darin [Sun, 15 Feb 2004 19:54:31 +0000 (19:54 +0000)]
    Reviewed by Dave.

        * WebKit.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols,
        and removing redundant settings of things that match defaults in other build styles.

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

18 years ago Reviewed by Dave.
darin [Sun, 15 Feb 2004 19:51:35 +0000 (19:51 +0000)]
    Reviewed by Dave.

        * WebCore.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols,
        and removing redundant settings of things that match defaults in other build styles.

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

18 years ago Reviewed by Dave.
darin [Sun, 15 Feb 2004 19:51:04 +0000 (19:51 +0000)]
    Reviewed by Dave.

        * JavaScriptCore.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols,
        and removing redundant settings of things that match defaults in other build styles.

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

18 years ago Reviewed by Dave.
darin [Sun, 15 Feb 2004 18:50:36 +0000 (18:50 +0000)]
    Reviewed by Dave.

        - fixed 3548533: crash in XMLHttpRequest::slotData using Orkut's rating system

        * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::~XMLHttpRequest):
        Delete the QObject side, which has a side effect of disconnecting the
        signals which seem to be firing after the request is gone. There may be
        another way of addressing the crash by correcting some other problem with
        killing the job, but this demonstrably works and fixes a storage leak.

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

18 years agoWebCore:
mjs [Sat, 14 Feb 2004 02:10:46 +0000 (02:10 +0000)]
WebCore:

        Reviewed by John.

- redo visited link history checking for a 2% speed improvement

        * kwq/KWQKHistoryProvider.mm:
        (KParts::HistoryProvider::contains): Don't make a KURL or an
NSString. Punt on canonicalization and directly pass the internal
Latin1 or unicode buffer.
        * kwq/KWQString.h:
        * kwq/KWQString.mm:
        (QString::hasFastLatin1): New method to check whether getting the
latin1 buffer is fast (doesn't allocate).
        * kwq/WebCoreHistory.h: add new methods to look up by raw latin1
or unicode buffer instead of NSString.

WebKit:

        Reviewed by John.

- redo visited link history checking for a 2% speed improvement

        * History.subproj/WebHistory.m:
        (-[_WebCoreHistoryProvider containsItemForURLString:]): Removed.
        (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]): Implemented.
For https and http URLs with empty path, add a slash. Make a CFString
using the passed-in latin1 buffer without copying.
        (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Ditto
for unicode.
        (matchLetter): New static helper function.
        (matchUnicodeLetter): Ditto.

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

18 years agork towards the JavaScript ObjC bindings. The bindings now work for
rjw [Fri, 13 Feb 2004 22:39:36 +0000 (22:39 +0000)]
rk towards the JavaScript ObjC bindings.  The bindings now work for
simple scalar types.  testbindings.mm is an illustration of how the
bindings work.

        Reviewed by Ken.

        * JavaScriptCore.pbproj/project.pbxproj:
        * Makefile.am:
        * bindings/jni/jni_class.cpp:
        (JavaClass::methodsNamed):
        * bindings/jni/jni_class.h:
        * bindings/jni/jni_instance.cpp:
        (JavaInstance::invokeMethod):
        * bindings/jni/jni_instance.h:
        * bindings/jni/jni_runtime.h:
        (KJS::Bindings::JavaMethod::returnType):
        * bindings/make_testbindings: Added.
        * bindings/objc/objc_class.h: Added.
        (KJS::Bindings::ObjcClass::~ObjcClass):
        (KJS::Bindings::ObjcClass::ObjcClass):
        (KJS::Bindings::ObjcClass::operator=):
        (KJS::Bindings::ObjcClass::constructorAt):
        (KJS::Bindings::ObjcClass::numConstructors):
        * bindings/objc/objc_class.mm: Added.
        (ObjcClass::_commonDelete):
        (ObjcClass::_commonCopy):
        (ObjcClass::_commonInit):
        (_createClassesByIsAIfNecessary):
        (ObjcClass::classForIsA):
        (ObjcClass::ObjcClass):
        (ObjcClass::name):
        (ObjcClass::methodsNamed):
        (ObjcClass::fieldNamed):
        * bindings/objc/objc_header.h: Added.
        * bindings/objc/objc_instance.h: Added.
        (KJS::Bindings::ObjcInstance::getObject):
        * bindings/objc/objc_instance.mm: Added.
        (ObjcInstance::ObjcInstance):
        (ObjcInstance::~ObjcInstance):
        (ObjcInstance::operator=):
        (ObjcInstance::begin):
        (ObjcInstance::end):
        (ObjcInstance::getClass):
        (ObjcInstance::invokeMethod):
        (ObjcInstance::defaultValue):
        (ObjcInstance::stringValue):
        (ObjcInstance::numberValue):
        (ObjcInstance::booleanValue):
        (ObjcInstance::valueOf):
        * bindings/objc/objc_jsobject.h: Added.
        * bindings/objc/objc_jsobject.mm: Added.
        * bindings/objc/objc_runtime.h:
        (KJS::Bindings::ObjcField::~ObjcField):
        (KJS::Bindings::ObjcField::ObjcField):
        (KJS::Bindings::ObjcField::operator=):
        (KJS::Bindings::ObjcMethod::ObjcMethod):
        (KJS::Bindings::ObjcMethod::~ObjcMethod):
        (KJS::Bindings::ObjcMethod::operator=):
        * bindings/objc/objc_runtime.mm: Added.
        (ObjcMethod::ObjcMethod):
        (ObjcMethod::name):
        (ObjcMethod::numParameters):
        (ObjcMethod::getMethodSignature):
        (ObjcField::ObjcField):
        (ObjcField::name):
        (ObjcField::type):
        (ObjcField::valueFromInstance):
        (ObjcField::setValueToInstance):
        * bindings/objc/objc_utility.h: Added.
        (KJS::Bindings::):
        * bindings/objc/objc_utility.mm: Added.
        (KJS::Bindings::JSMethodNameToObjCMethodName):
        (KJS::Bindings::convertValueToObjcValue):
        (KJS::Bindings::convertObjcValueToValue):
        (KJS::Bindings::objcValueTypeForType):
        * bindings/runtime.cpp:
        (MethodList::MethodList):
        (MethodList::operator=):
        (Instance::setValueOfField):
        (Instance::createBindingForLanguageInstance):
        (Instance::createRuntimeObject):
        * bindings/runtime.h:
        * bindings/runtime_method.cpp:
        (RuntimeMethodImp::RuntimeMethodImp):
        (RuntimeMethodImp::get):
        (RuntimeMethodImp::call):
        * bindings/runtime_method.h:
        * bindings/runtime_object.cpp:
        (RuntimeObjectImp::get):
        (RuntimeObjectImp::hasProperty):
        * bindings/test.js: Added.
        * bindings/testbindings.mm: Added.
        (-[MySecondInterface init]):
        (-[MyFirstInterface init]):
        (-[MyFirstInterface dealloc]):
        (+[MyFirstInterface JavaScriptNameForSelector:]):
        (-[MyFirstInterface getInt]):
        (-[MyFirstInterface setInt:]):
        (-[MyFirstInterface getMySecondInterface]):
        (-[MyFirstInterface logMessage:]):
        (GlobalImp::className):
        (readJavaScriptFromFile):
        (main):

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

18 years agoSet version to '129u'. The tree is open!
vicki [Fri, 13 Feb 2004 20:08:08 +0000 (20:08 +0000)]
Set version to '129u'.  The tree is open!

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

18 years agoSafari-128 stamp
vicki [Fri, 13 Feb 2004 20:04:33 +0000 (20:04 +0000)]
Safari-128 stamp

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

18 years ago Fix for 3557850 and 3557607. Make sure to setParent(0) on the body's link declarati...
hyatt [Thu, 12 Feb 2004 23:58:03 +0000 (23:58 +0000)]
Fix for 3557850 and 3557607.  Make sure to setParent(0) on the body's link declaration, so that TreeShared
will delete it.

        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::~HTMLBodyElementImpl):

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

18 years ago Reviewed by Hyatt
kocienda [Thu, 12 Feb 2004 22:40:52 +0000 (22:40 +0000)]
    Reviewed by Hyatt

Refactored object design for edit commands into something that's
starting to feel more solid. Added some accessors to edit
commands.

        * WebCore.pbproj/project.pbxproj:
        * khtml/editing/htmlediting_impl.h: Added.
        * khtml/editing/htmlediting_impl.m: Added.

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

18 years agoAdjust shouldCollapseChild as per dirk's suggestion.
hyatt [Thu, 12 Feb 2004 08:04:00 +0000 (08:04 +0000)]
Adjust shouldCollapseChild as per dirk's suggestion.

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

18 years ago Fix for 3550005, 936 leaks when loading checkbox page of pain. Make sure to nuke...
hyatt [Thu, 12 Feb 2004 01:50:03 +0000 (01:50 +0000)]
Fix for 3550005, 936 leaks when loading checkbox page of pain.  Make sure to nuke the inline box
wrapper when detaching the RenderWidget.

        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::detach):

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