1. 21 May, 2007 2 commits
  2. 18 May, 2007 1 commit
  3. 15 May, 2007 1 commit
    • ggaren's avatar
      Reviewed by Maciej Stachowiak. · 3bc4bff5
      ggaren authored
              
              Patch: fixed <rdar://problem/5198890> .5% performance regression caused 
              by r21307
              
              The only code r21307 added that runs during the PLT is a frame load delegate
              -respondsToSelector: call inside windowObjectCleared(), so it seems like 
              our message dispatch overhead for the frame load delegate is significant.
              
              This patch is a straight port of Maciej's fix for the same problem in the
              resource load delegate. The solution is simple enough: don't use Objective-C. 
              Instead, use a special structure that caches which methods the delegate 
              implements, along with pointers to those methods.
              
              I verified each frame load delegate callback in the debugger, except for
              -webView:didFailLoadWithError:forFrame:, which is not implemented by Safari
              or DumpRenderTree.
      
              * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.h: Removed.
              * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.m: Removed.
      
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge windowObjectCleared]): I also removed a misleading 
              comment here. The JS debugger caches the windowScriptObject, so you do
              need to re-create the debugger every time you invalidate the old 
              WebScriptObject wrapper for the window object and create a new one, or
              the debugger will stop working. We could fix this in a number of ways, 
              but <rdar://problem/4608404> is not the key issue.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3bc4bff5
  4. 08 May, 2007 1 commit
    • ggaren's avatar
      WebCore: · 87df2721
      ggaren authored
              Reviewed by Maciej Stachowiak.
      
              Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from 
              WebView or WebFrame
              
              Added support for new -[WebScriptObject JSObject] and -[WebFrame globalContext]
              APIs.
              
              Also fixed some more cases of <rdar://problem/4395622> API: 
              WebScriptObject.h incorrectly reports that -isSelectorExcludedFromWebScript 
              returns NO by default, and generally cleaned up that documentation.
      
              * WebCore.exp: A lot of the diff here is from sorting.
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/objc/WebScriptObject.h:
              * bindings/objc/WebScriptObject.mm:
              (-[WebScriptObject JSObject]):
              * bindings/objc/WebScriptObjectPendingPublic.h: Added.
      
      WebKit:
      
              Reviewed by Maciej Stachowiak.
              
              Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from 
              WebView or WebFrame
              
              Added -[WebFrame windowObject] and -[WebFrame globalContext], along with
              a new frame load delegate method, - (void)webView:(WebView *)webView 
              didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame.
              This is all to support briding between the WebScriptObject and JavaScriptCore
              APIs.
      
              Also fixed more of <rdar://problem/4395622> API: WebScriptObject.h incorrectly 
              reports that -isSelectorExcludedFromWebScript returns NO by default, and
              generally cleaned up the WebScriptObject headerdoc.
      
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge windowObjectCleared]):
              * WebView/WebFrame.mm:
              (-[WebFrame windowObject]):
              (-[WebFrame globalContext]):
              * WebView/WebFramePrivate.h:
              * WebView/WebViewPrivate.h:
      
      WebKitTools:
      
              Reviewed by Maciej Stachowiak.
              
              Added tests for new APIs: -[WebFrame windowObject], -[WebFrame globalContext], 
              and - (void)webView:(WebView *)webView didClearWindowObject:(WebScriptObject *)windowObject 
              forFrame:(WebFrame *)frame, in the form of ASSERTs.
              
              * DumpRenderTree/DumpRenderTree.m:
              (runJavaScriptThread): Fixed quote mismatch that prepare-changelog likes
              to complain about.
      
              (-[WaitUntilDoneDelegate webView:windowScriptObjectAvailable:]):
              (-[WaitUntilDoneDelegate webView:didClearWindowObject:forFrame:]):
              * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87df2721
  5. 27 Apr, 2007 1 commit
    • thatcher's avatar
      2007-04-27 Timothy Hatcher <timothy@apple.com> · 68c2493c
      thatcher authored
              Reviewed by Darin.
      
              There were only a couple calls to ResourceLoadDelegate forwarder left,
              this removed the calls and added a new cached method for didFailLoad.
      
              * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.h: Removed.
              * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.m: Removed.
              * WebKit/Plugins/WebNullPluginView.mm: Call the resource load delegate directly.
              * WebKit/WebCoreSupport/WebFrameLoaderClient.mm: Call the cached didFailLoad delegate function.
              * WebKit/WebKit.xcodeproj/project.pbxproj: Remove WebDefaultResourceLoadDelegate.
              * WebKit/WebView/WebDataSource.mm: Remove the #import for WebDefaultResourceLoadDelegate.h
              * WebKit/WebView/WebView.mm: Remove the ResourceLoadDelegate forwarder, and remove a method that isn't used.
              * WebKit/WebView/WebViewInternal.h: Ditto.
              * WebKit/WebView/WebViewPrivate.h: Remove a method that is no longer used.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      68c2493c
  6. 18 Apr, 2007 1 commit
    • beidson's avatar
      LayoutTests: · a5e83332
      beidson authored
              Reviewed by Tim
      
              <rdar://problem/5008925>
              Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate
      
              * http/tests/misc/willCacheResponse-delegate-callback-expected.txt: Added.
              * http/tests/misc/willCacheResponse-delegate-callback.html: Added.
      
      WebCore:
      
              Reviewed by Tim
      
              <rdar://problem/5008925>
              Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate
      
              * WebCore.xcodeproj/project.pbxproj: Added ResourceLoaderMac.mm
      
              * loader/FrameLoaderClient.h: Add the willCacheResponse SPI for WebKit to implement
      
              * loader/ResourceLoader.h:
              * loader/mac/ResourceLoaderMac.mm: Added.
              (WebCore::ResourceLoader::willCacheResponse): Return the new cachedResponse from the client
      
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyFrameLoaderClient::willCacheResponse): Stub
      
              * platform/network/ResourceHandleClient.h:
              (WebCore::ResourceHandleClient::willCacheResponse):  Return the new cachedResponse from the client
      
              * platform/network/mac/ResourceHandleMac.mm:
              (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Call to get the new 
                cachedURLResponse before calling for the cache policy
      
      WebKit:
      
              Reviewed by Tim
      
              <rdar://problem/5008925>
              Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate
      
              * WebCoreSupport/WebFrameLoaderClient.h:
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::willCacheResponse): Call 
                [WebResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:];
      
              * WebView/WebView.mm:
              (-[WebView _cacheResourceLoadDelegateImplementations]): Pull out the willCacheResponse impl
      
              * WebView/WebViewPrivate.h: Add WebResourceLoadDelegatePrivate category for this new SPI
      
      WebKitTools:
      
              Reviewed by Tim
      
              <rdar://problem/5008925>
              Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate
      
              * DumpRenderTree/ResourceLoadDelegate.m:
              (-[ResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:]): 
                Add the willCacheResponse delegate call
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5e83332
  7. 05 Apr, 2007 1 commit
    • kmccullo's avatar
      LayoutTests: · 23d362f0
      kmccullo authored
              Reviewed by Darin.
      
              - Now we add a console message when local resources are blocked.
      
              * http/tests/security/local-CSS-from-remote-expected.txt:
              * http/tests/security/local-JavaScript-from-remote-expected.txt:
              * http/tests/security/local-iFrame-from-remote-expected.txt:
              * http/tests/security/local-image-from-remote-expected.txt:
      
      WebCore:
      
              Reviewed by Darin.
      
              - Added reportLocalLoadFailed to FrameLoader to send an error to the console when
              calls to canLoad fail. 
      
              * loader/Cache.cpp:
              (WebCore::Cache::requestResource):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::loadSubframe):
              (WebCore::FrameLoader::loadPlugin):
              (WebCore::FrameLoader::load):
              (WebCore::FrameLoader::reportLocalLoadFailed):
              * loader/FrameLoader.h:
              * loader/SubresourceLoader.cpp:
              (WebCore::SubresourceLoader::create):
      
      WebKit:
      
              Reviewed by Darin.
      
              - Moved registerURLSchemeAsLocal to the public API.
      
              * WebView/WebView.h:
              * WebView/WebView.mm:
              (+[WebView registerURLSchemeAsLocal:]):
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23d362f0
  8. 06 Mar, 2007 1 commit
  9. 02 Mar, 2007 1 commit
    • kmccullo's avatar
      LayoutTests: · adfd67da
      kmccullo authored
              Reviewed by Geoff.
      
              - rdar://problem/4922454
              - This fixes a security issue by making remote referrers not able to access local
              resources, unless they register their schemes to be treated as local. The result is
              that those schemes can access local resources and cannot be accessed by remote
              referrers.
              Because this behavior is new a link-on-or-after check is made to determine if the
              app should use the older, less safe, behavior.
      
              * fast/loader/local-CSS-from-local-expected.txt: Added.
              * fast/loader/local-CSS-from-local.html: Added.
              * fast/loader/local-JavaScript-from-local-expected.txt: Added.
              * fast/loader/local-JavaScript-from-local.html: Added.
              * fast/loader/local-iFrame-source-from-local-expected.txt: Added.
              * fast/loader/local-iFrame-source-from-local.html: Added.
              * fast/loader/local-image-from-local-expected.txt: Added.
              * fast/loader/local-image-from-local.html: Added.
              * http/tests/security/local-CSS-from-remote-expected.txt: Added.
              * http/tests/security/local-CSS-from-remote.html: Added.
              * http/tests/security/local-JavaScript-from-remote-expected.txt: Added.
              * http/tests/security/local-JavaScript-from-remote.html: Added.
              * http/tests/security/local-iFrame-from-remote-expected.txt: Added.
              * http/tests/security/local-iFrame-from-remote.html: Added.
              * http/tests/security/local-image-from-remote-expected.txt: Added.
              * http/tests/security/local-image-from-remote.html: Added.
              * http/tests/security/resources/compass.jpg: Added.
              * http/tests/security/resources/cssStyle.css: Added.
              * http/tests/security/resources/localPage.html: Added.
              * http/tests/security/resources/localScript.js: Added.
      
      WebCore:
      
              Reviewed by Geoff.
      
              - rdar://problem/4922454
              - This fixes a security issue by making remote referrers not able to access local
              resources, unless they register their schemes to be treated as local. The result is
              that those schemes can access local resources and cannot be accessed by remote
              referrers.
              Because this behavior is new a link-on-or-after check is made to determine if the
              app should use the older, less safe, behavior.
      
              * WebCore.exp: added exported functions
              * bindings/objc/DOM.mm: consolodated function to base class
              (-[DOMElement image]):
              (-[DOMElement _imageTIFFRepresentation]):
              * dom/Document.cpp: Cache the document's ability to load local resources.
              (WebCore::Document::Document):
              (WebCore::Document::setURL):
              (WebCore::Document::shouldBeAllowedToLoadLocalResources):
              (WebCore::Document::stylesheetLoaded):
              * dom/Document.h: Cache the docuent's ability to load local resources.
              (WebCore::Document::getPendingSheet):
              (WebCore::Document::isAllowedToLoadLocalResources):
              * html/HTMLImageLoader.cpp: Moved functionality into base class.
              (WebCore::HTMLImageLoader::updateFromElement):
              (WebCore::HTMLImageLoader::dispatchLoadEvent):
              * html/HTMLLinkElement.cpp: Handles null returns correctly now.
              * html/HTMLTokenizer.cpp: Moved functionality into base class.
              (WebCore::HTMLTokenizer::notifyFinished):
              * ksvg2/misc/SVGImageLoader.cpp: Moved functionality into base class.
              (WebCore::SVGImageLoader::dispatchLoadEvent):
              * loader/Cache.cpp: Checks if the cached resource can be loaded.
              (WebCore::Cache::requestResource):
              * loader/CachedCSSStyleSheet.cpp: Moved functionality into base class.
              (WebCore::CachedCSSStyleSheet::ref):
              (WebCore::CachedCSSStyleSheet::error):
              * loader/CachedImage.cpp: Moved functionality into base class.
              (WebCore::CachedImage::CachedImage):
              * loader/CachedImage.h: Moved functionality into base class.
              (WebCore::CachedImage::canRender):
              * loader/CachedResource.cpp: Cache if the CachedResource should be treated as local
              (WebCore::CachedResource::CachedResource):
              * loader/CachedResource.h: Moved functionality into base class.
              (WebCore::CachedResource::errorOccurred):
              (WebCore::CachedResource::shouldTreatAsLocal):
              * loader/CachedScript.cpp: Moved functionality into base class.
              (WebCore::CachedScript::CachedScript):
              * loader/CachedScript.h: Moved functionality into base class.
              (WebCore::CachedScript::schedule):
              * loader/CachedXBLDocument.cpp: Moved functionality into base class.
              (WebCore::CachedXBLDocument::error):
              * loader/CachedXSLStyleSheet.cpp: Moved functionality into base class.
              (WebCore::CachedXSLStyleSheet::error):
              * loader/FrameLoader.cpp: See comments for each function below.
              (WebCore::FrameLoader::loadSubframe): Use new canLoad.
              (WebCore::FrameLoader::restrictAccessToLocal): return value of linked-on-or-after check.
              (WebCore::FrameLoader::setRestrictAccessToLocal): set value for linked-on-or-after check.
              (WebCore::localSchemes): Return set of schemes that are to be treated as local.
              (WebCore::FrameLoader::loadPlugin): Use new canLoad.
              (WebCore::FrameLoader::canLoad): Now multiple functions that each do the same work but some can take advantage of the cached values, if they were computed previously.
              (WebCore::FrameLoader::shouldHideReferrer): Extracted out the logic to determine if the referrer should be hidden so it is only calculated when needed.
              (WebCore::FrameLoader::loadResourceSynchronously): No longer calls canLoad to get hideReferrer info.
              (WebCore::FrameLoader::registerSchemeAsLocal): Functionality to register a scheme to be treated as local.
              (WebCore::FrameLoader::treatURLAsLocal): Given a URL this function determines if it should be treated as local.
              * loader/FrameLoader.h: Declared functions for this security fix.  See above.
              * loader/MainResourceLoader.cpp: Optized order of bools to regain performance.
              (WebCore::MainResourceLoader::continueAfterContentPolicy):
              * loader/SubresourceLoader.cpp: Now restricts remote from loading local resources.
              (WebCore::SubresourceLoader::create):
              * page/EventHandler.cpp: Moved functionality into base class.
              (WebCore::selectCursor):
              * platform/KURL.cpp: KURLs need to check all the registered schemes now.
              (WebCore::KURL::isLocalFile):
              * rendering/HitTestResult.cpp: Moved functionality into base class.
              (WebCore::HitTestResult::image):
              * rendering/RenderImage.cpp: Moved functionality into base class.
              (WebCore::RenderImage::setCachedImage):
              (WebCore::RenderImage::imageChanged):
              (WebCore::RenderImage::paint):
              (WebCore::RenderImage::layout):
              (WebCore::RenderImage::calcAspectRatioWidth):
              (WebCore::RenderImage::calcAspectRatioHeight):
              * rendering/RenderImage.h: Moved functionality into base class.
              (WebCore::RenderImage::errorOccurred):
              * rendering/RenderListItem.cpp: Moved functionality into base class.
              (WebCore::RenderListItem::setStyle):
              * rendering/RenderListMarker.cpp: Moved functionality into base class.
              (WebCore::RenderListMarker::isImage):
              * xml/xmlhttprequest.cpp: Check doc's cached value instead of determining independently.
              (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
      
      WebKit:
      
              Reviewed by Geoff.
      
              - rdar://problem/4922454
              - This fixes a security issue by making remote referrers not able to access local
              resources, unless they register their schemes to be treated as local. The result is
              that those schemes can access local resources and cannot be accessed by remote
              referrers.
              Because this behavior is new a link-on-or-after check is made to determine if the
              app should use the older, less safe, behavior.
      
              * Misc/WebKitVersionChecks.h: added linked-on-or-after check
              * Misc/WebNSAttributedStringExtras.mm: Moved functionalit into the base class.
              (fileWrapperForElement):
              * Plugins/WebNetscapePluginStream.mm: uses new canLoad functions
              * Plugins/WebPluginContainerCheck.mm: uses new canLoad functions
              (-[WebPluginContainerCheck _isForbiddenFileLoad]):
              * WebView/WebView.mm: make linked-on-or-after check and cache value, exposes SPI
              for registering a scheme as local. 
              (-[WebView _commonInitializationWithFrameName:groupName:]):
              (+[WebView registerSchemeAsLocal:]):
              * WebView/WebViewPrivate.h: exposes SPI for registering a scheme as local.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      adfd67da
  10. 31 Jan, 2007 1 commit
    • bdash's avatar
      2007-01-31 Mark Rowe <mrowe@apple.com> · b2988705
      bdash authored
              Reviewed by Oliver.
      
              Enable -Wundef in WebKit, and change misuses of #if to #ifdef or #ifndef as appropriate.
      
              * Misc/WebKitLogging.h:
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebFrame.mm:
              * WebView/WebFrameInternal.h:
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView validateUserInterfaceItem:]):
              (-[WebHTMLView delete:]):
              (-[WebHTMLView showGuessPanel:]):
              (-[WebHTMLView copy:]):
              (-[WebHTMLView cut:]):
              (-[WebHTMLView paste:]):
              * WebView/WebHTMLViewInternal.h:
              * WebView/WebView.mm:
              (-[WebViewPrivate init]):
              (-[WebView validateUserInterfaceItem:]):
              * WebView/WebViewPrivate.h:
      
      2007-01-31  Mark Rowe  <mrowe@apple.com>
      
              Reviewed by Oliver.
      
              * dom/Document.h: Change #if XSLT_SUPPORT to #ifdef XSLT_SUPPORT.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19292 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2988705
  11. 29 Jan, 2007 1 commit
    • bdash's avatar
      2007-01-29 Jim Correia <jim.correia@pobox.com> · 78827b4a
      bdash authored
              Reviewed by Mark.
      
              Added support for -allowsUndo/-setAllowsUndo: to allow editable WebView
              clients to completely disable undo registration. This is functionally
              equivalent to the methods with the same names on NSTextView.
      
              * WebView/WebView.mm:
              (-[WebViewPrivate init]):
              (-[WebView initWithCoder:]):
              (-[WebView encodeWithCoder:]):
              (-[WebView allowsUndo]):
              (-[WebView setAllowsUndo:]):
              (-[WebView undoManager]):
              * WebView/WebViewPrivate.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      78827b4a
  12. 19 Jan, 2007 1 commit
    • sullivan's avatar
      WebCore: · 6eae6c01
      sullivan authored
              Reviewed by Darin
      
              - WebCore part of fix for: <rdar://problem/4451715> REGRESSION: On some sites, have to 
                type a character before username/password autofill kicks in
      
              * loader/FrameLoaderClient.h:
              new dispatchDidFinishDocumentLoad call
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::finishedParsing):
              call dispatchDidFinishDocumentLoad
              
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishDocumentLoad):
              empty implementation for dispatchDidFinishDocumentLoad
      
      WebKit:
      
              Reviewed by Darin
      
              - WebKit part of fix for: <rdar://problem/4451715> REGRESSION: On some sites, have to 
                type a character before username/password autofill kicks in
                
              Added new webView:didFinishDocumentLoadForFrame: SPI and wired it up
      
              * WebView/WebViewPrivate.h:
              declare new delegate method
      
              * WebCoreSupport/WebFrameLoaderClient.h:
              declare dispatchDidFinishDocumentLoad()
      
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
              new method, calls new delegate method
      
              * DefaultDelegates/WebDefaultFrameLoadDelegate.m:
              (-[WebDefaultFrameLoadDelegate webView:didFinishDocumentLoadForFrame:]):
              empty default implementation of new delegate method
      
      WebKitQt:
      
              Added stubs for new callbacks, to try to avoid breaking the Qt port.
      
              * WebCoreSupport/FrameLoaderClientQt.cpp:
              (WebCore::FrameLoaderClientQt::dispatchDidFinishDocumentLoad):
              * WebCoreSupport/FrameLoaderClientQt.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6eae6c01
  13. 17 Jan, 2007 1 commit
    • sullivan's avatar
      WebCore: · aaa7b63b
      sullivan authored
              Reviewed by Darin
      
              - WebCore part of fix for <rdar://problem/4462420> REGRESSION: Mail hangs during 
                Replace All if the replacement string contains the search string
              
              * page/Frame.h:
              * page/Frame.cpp:
              (WebCore::Frame::findString):
              new startInSelection parameter -- if true, search starts looking in selection; if false,
              search starts looking after the selection
              
              * page/mac/WebCoreFrameBridge.h:
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:startInSelection:]):
              new startInSelection parameter, passed through to Frame::findString()
      
              * editing/JSEditor.cpp:
              pass false for new findString parameter, to match old behavior
      
      WebKit:
      
              Reviewed by Darin
      
              - WebKit part of fix for <rdar://problem/4462420> REGRESSION: Mail hangs during 
                Replace All if the replacement string contains the search string
      
              * Misc/WebKitVersionChecks.h:
              Added extern "C" so this can be used from .mm files. I don't need this change anymore for
              this fix, but it's still worth fixing now so it doesn't bite anyone later.
      
              * WebView/WebDocumentPrivate.h:
              Invented new private protocol WebDocumentIncrementalSearching, that has one method. The one
              method is just like the one WebDocumentSearching method, but with an additional parameter.
              We hope to eliminate this dependence on protocols someday, but adding another one as SPI
              seems like it won't make anything worse.
              
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
              now calls through to new method that has one additional parameter, passing NO to match old behavior
              (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
              pass new parameter to bridge
              
              * WebView/WebPDFView.h:
              Declare conformance to WebDocumentIncrementalSearching protocol
              
              * WebView/WebPDFView.mm:
              (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
              now calls through to new method that has one additional parameter, passing NO to match old behavior
              (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
              new method, former guts of searchFor:direction:caseSensitive:wrap: but now handles startInSelection
              parameter
              
              * WebView/WebViewPrivate.h:
              Declare new searchFor:direction:caseSensitive:wrap:startInSelection: method, just like existing
              method but with one additional parameter
      
              * WebView/WebView.mm:
              (-[WebView searchFor:direction:caseSensitive:wrap:]):
              now calls through to new method that has one additional parameter, passing NO to match old behavior
              (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]):
              new method, former guts of searchFor:direction:caseSensitive:wrap: but now handles startInSelection
              parameter
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aaa7b63b
  14. 25 Dec, 2006 1 commit
    • ggaren's avatar
      WebCore: · 64f3f21d
      ggaren authored
              Reviewed by Oliver Hunt.
      
              Removed WebCoreSettings, cleaned up WebCore::Settings.
      
              * WebCore.exp: Exported Settings for use by WebKit, removed WebCoreSettings class.
              
              * WebCore.xcodeproj/project.pbxproj: Removed WebCoreSetttings.h/.mm.
              Added Settings.cpp.
      
              * page/Frame.cpp: Removed cruft that duplicated Settings data. Callers now call
              through to Settings to get Settings data.
      
              * page/Page.cpp: Added Settings data member, to replace the one that WebView
              used to hold.
      
              * page/Settings.cpp: Added.
              * page/Settings.h:
                  - Renamed all functions to match WebKit API. Renamed all variables to
                  match functions. Favorite old name: "isPluginsEnabled."
                  - Moved EditableLinkBehavior outside of the class. Having it inside
                  just made it harder to type.
                  - Merged in old WebCoreSettings functionality, like guarding against re-setting
                  to the same value, and making sure to update page layout.
                  - Paired setters and getters, putting setters first.            
      
      WebKit:
      
              Reviewed by Oliver Hunt.
              
              Removed WebCoreSettings, cleaned up WebCore::Settings.
      
              * WebView/WebFrame.mm: Added helper functions for converting between
              WebKitEditableLinkBehavior and WebCore::EditableLinkBehavior. I'm not sure
              that this is the best place for these functions, but it's where all the
              other functions like them reside.
              (core):
              (kit):
              * WebView/WebFrameInternal.h:
      
              * WebView/WebView.mm: Removed uses of WebCoreSettings. Replaced with direct
              use of underlying page's settings.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18417 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64f3f21d
  15. 22 Dec, 2006 1 commit
    • sullivan's avatar
      Reviewed by Geoff Garen · 92211a40
      sullivan authored
              - improved concept and implementation of my previous checkin after discussing with Darin
      
              * WebView/WebViewPrivate.h:
              * WebView/WebView.mm:
              (-[WebView setHoverFeedbackSuspended:]):
              renamed from setIgnoresMouseMovedEvents, and now tells the main WebHTMLView (if any) that this state has
              changed. Telling just the main WebHTMLView is a bit of an implementation hack. Hopefully someday we can
              rework the document architecture and make this kind of thing less hacky (but this is following existing
              customs, so I don't feel too bad)
              (-[WebView isHoverFeedbackSuspended]):
              renamed from ignoresMouseMovedEvents
      
              * WebView/WebHTMLViewInternal.h:
              declare _hoverFeedbackSuspendedChanged
      
              * WebView/WebHTMLView.m:
              (-[WebHTMLView _updateMouseoverWithEvent:]):
              test the webView's state of the hit-tested WebHTMLView rather than self 
              (-[WebHTMLView _hoverFeedbackSuspendedChanged]):
              generate a fake mouse-moved event, which simulates the mouse moving away from
              the current element or back over it
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18388 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      92211a40
  16. 21 Dec, 2006 1 commit
    • sullivan's avatar
      Reviewed by Geoff Garen · 18bb7c66
      sullivan authored
              - added WebKit support for making a web page temporarily ignore mouse movements
      
              * WebView/WebViewPrivate.h:
              declare ignoresMouseMovedEvents and setIgnoresMouseMovedEvents:
      
              * WebView/WebView.mm:
              added ignoresMouseMovedEvents boolean field to _private data structure
              (-[WebView setIgnoresMouseMovedEvents:]):
              set new boolean field
              (-[WebView ignoresMouseMovedEvents]):
              return new boolean field
      
              * WebView/WebHTMLView.m:
              (-[WebHTMLView _updateMouseoverWithEvent:]):
              bail out right away if [[self _webView] ignoresMouseMovedEvents]
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      18bb7c66
  17. 05 Dec, 2006 1 commit
  18. 04 Dec, 2006 1 commit
    • ggaren's avatar
      LayoutTests: · 5859f461
      ggaren authored
              Reviewed by Darin Adler.
              
              Removed Dashboard quirk from expected results. Now that we have a Dashboard
              quirks mode, there's no reason to keep the old, bad behavior in the browser.
      
              * http/tests/xmlhttprequest/exceptions-expected.txt:
              * http/tests/xmlhttprequest/exceptions.html:
      
      WebCore:
      
              Reviewed by Darin Adler.
              
              Added support for Dashboard backward compatibility mode.
              
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::stroke): Added support for old behavior
              of automatically clearing the stroke path buffer after a call to stroke().
              * html/HTMLCanvasElement.cpp: Added supoprt for old behavior of the canvas
              tag being self-closing.
              (WebCore::HTMLCanvasElement::endTagRequirement):
              (WebCore::HTMLCanvasElement::tagPriority):
              * html/HTMLCanvasElement.h:
              * html/HTMLParser.cpp: Ditto.
              (WebCore::HTMLParser::canvasCreateErrorCheck):
              * xml/xmlhttprequest.cpp: Added support for old behavior of silently ignoring
              a call to setRequestHeader() if it preceded a call to open() or followed a call
              to send().
              (WebCore::XMLHttpRequest::setRequestHeader):
      
      WebKit:
      
              Reviewed by Darin Adler.
              
              Added SPI for enabling Dashboard backward compatibility mode. For now,
              we enable it unconditionally for Dashboard and Dashcode. Once they 
              implement specific support for the backward compatibility mode behavior,
              we can change that.
              
              Set the default WebDashboardBehaviorUseBackwardCompatibilityModeEnabled
              to YES in order to turn this code on.
      
              * WebView/WebView.mm:
              (-[WebView _setDashboardBehavior:to:]):
              (-[WebView _dashboardBehavior:]):
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5859f461
  19. 08 Nov, 2006 1 commit
    • bdakin's avatar
      WebCore: · b45f4a5c
      bdakin authored
              Reviewed by Adam.
      
              Add ability to HitTestResult to ask if the inner non-shared node is 
              content editable.
      
              * WebCore.exp: Export HitTestResult::isContentEditable()
              * rendering/HitTestResult.cpp:
              (WebCore::HitTestResult::isContentEditable):
              * rendering/HitTestResult.h:
      
      WebKit:
              Reviewed by Adam.
      
              Add WebElementIsContentEditableKey to the WebElementDictionary, and 
              use it!
      
              * DefaultDelegates/WebDefaultContextMenuDelegate.m:
              (-[WebDefaultUIDelegate 
              webView:contextMenuItemsForElement:defaultMenuItems:]): Use new 
              WebElementIsContentEditableKey.
              * Misc/WebElementDictionary.m:
              (+[WebElementDictionary initializeLookupTable]):
              (-[WebElementDictionary _isContentEditable]): Call into 
              HitTestResult::isContentEditable()
              * WebView/WebView.mm: Add new key.
              * WebView/WebViewPrivate.h: Add new key.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b45f4a5c
  20. 06 Nov, 2006 1 commit
    • gdennis's avatar
      WebCore: · 10acb93c
      gdennis authored
              Reviewed by Tim Hatcher.
      
              Part of patch for http://bugs.webkit.org/show_bug.cgi?id=11323
              Link dragging behaviour does not obey WebKitEditableLinkBehavior WebPref
              
              No layout tests added as this must be tested manually by the test
              WebCore/manual-tests/contenteditable-link.html
      
              * WebCore.exp: Exported HitTestResult::isLiveLink().
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::HTMLAnchorElement):
              (WebCore::HTMLAnchorElement::defaultEventHandler):
              (WebCore::HTMLAnchorElement::isLiveLink):
              * html/HTMLAnchorElement.h: added m_wasShiftKeyDownOnMouseDown variable
              to track shift key status.
              * manual-tests/contenteditable-link.html: Added description about link
              dragging behaviour.
              * rendering/HitTestResult.cpp:
              (WebCore::HitTestResult::isLiveLink): Added.
              * rendering/HitTestResult.h:
      
      WebKit:
      
              Reviewed by Tim Hatcher.
      
              Part of patch for http://bugs.webkit.org/show_bug.cgi?id=11323
              Link dragging behaviour does not obey WebKitEditableLinkBehavior WebPref
      
              * DefaultDelegates/WebDefaultUIDelegate.m:
              (-[NSApplication webView:dragSourceActionMaskForPoint:]): Logic moved to 
              WebHTMLView's _mayStartDragAtEventLocation
              * Misc/WebElementDictionary.m: added isLiveLink
              (+[WebElementDictionary initializeLookupTable]):
              (-[WebElementDictionary _isLiveLink]):
              * WebView/WebHTMLView.m: 
              (-[WebHTMLView _mayStartDragAtEventLocation:]): Editable links should
              only be followed if isLiveLink is true
              (-[WebHTMLView _isMoveDrag:]): A drag of a live editable link is not
              a move
              (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]):
              (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
              * WebView/WebView.mm: added WebElementLinkIsLiveKey
              * WebView/WebViewPrivate.h: ditto
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      10acb93c
  21. 02 Nov, 2006 2 commits
  22. 31 Oct, 2006 1 commit
    • sullivan's avatar
      WebCore: · bfd6daba
      sullivan authored
              Reviewed by Beth and Adam
      
              Support for displaying tooltips for bad grammar. Currently this always displays the same tooltip; 
              next I'll make it use a string that's relevant for a specific grammar error.
      
              * WebCore.exp:
              export symbol for spellingToolTip function
              
              * rendering/HitTestResult.h:
              * rendering/HitTestResult.cpp:
              (WebCore::HitTestResult::spellingToolTip):
              new function, returns the string to be used in a tool tip that describes the questionable grammar
              
              * rendering/InlineTextBox.h:
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
              now takes a style and font, needed to compute the rect representing the range containing
              questionable grammar. Computes the rect and associates it with the marker.
              (WebCore::InlineTextBox::paintDocumentMarkers):
              Pass in the style and font now needed by paintSpellingOrGrammarMarker
      
      WebKit:
      
              Reviewed by Beth and Adam
              
              Display a tooltip when hovering over marked bad grammar.
      
              * Misc/WebElementDictionary.m:
              (+[WebElementDictionary initializeLookupTable]):
              support spelling tool tip
              (-[WebElementDictionary _spellingToolTip]):
              new method, calls through to HitTestResult
              
              * WebView/WebHTMLView.m:
              (-[WebHTMLView _updateMouseoverWithEvent:]):
              Check for a spelling tool tip; if found, prefer it over the other possible tool tips.
              Check for empty strings instead of just nil strings being, since values from 
              WebElementDictionary are empty strings.
              
              * WebView/WebViewPrivate.h:
              declare new string constant WebElementSpellingToolTipKey
              * WebView/WebView.mm:
              define new string constant WebElementSpellingToolTipKey
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfd6daba
  23. 29 Oct, 2006 1 commit
    • darin's avatar
      JavaScriptCore: · e4d34c61
      darin authored
              Reviewed by Maciej.
      
              - renamed PassRefPtr::release to releaseRef to make it clearer that
                it's the counterpart of adoptRef, and to make it harder to confuse
                it with the safer-to-use RefPtr::release
      
              * kjs/identifier.cpp:
              (KJS::CStringTranslator::translate):
              (KJS::UCharBufferTranslator::translate):
              * kjs/ustring.cpp:
              (KJS::UString::Rep::create):
              * wtf/PassRefPtr.h:
              (WTF::PassRefPtr::PassRefPtr):
              (WTF::PassRefPtr::~PassRefPtr):
              (WTF::PassRefPtr::get):
              (WTF::PassRefPtr::releaseRef):
              (WTF::PassRefPtr::operator->):
              (WTF::PassRefPtr::operator=):
              (WTF::adoptRef):
              (WTF::static_pointer_cast):
              (WTF::const_pointer_cast):
              * wtf/RefPtr.h:
              (WTF::RefPtr::RefPtr):
              (WTF::RefPtr::operator=):
      
      WebCore:
      
              Reviewed by Maciej.
      
              - eliminated the use of Objective-C for the policy decider
                machinery, obviating the need for WebPolicyDecider,
                WebCoreFrameLoaderAsDelegate, and
                WebCoreMainResourceLoaderAsPolicyDelegate
      
              - grouped the state related to policy decisions into a PolicyCheck
                class to simplify the FrameLoader logic
      
              - removed six methods from the bridge, reducing FrameLoader's use of
                the bridge to a single method
      
              - changed form state to always use HashMap instead of NSDictionary
      
              - moved the defersLoading flag from WebView to WebCore::Page
                and changed code to consistently call it defersLoading rather
                than defersCallbacks
      
              - updated for rename of PassRefPtr::release to releaseRef
              - replaced all uses of __APPLE__ with appropriate PLATFORM defines
              - cleaned up kjs_binding.h a bit
              - cleaned up FrameMac.h a bit
      
              * loader/mac/WebPolicyDecider.h: Removed.
              * loader/mac/WebPolicyDecider.mm: Removed.
              * WebCore.xcodeproj/project.pbxproj: Updated for removal.
      
              * WebCore.exp:
              * bindings/js/kjs_binding.cpp:
              (KJS::ScriptInterpreter::ScriptInterpreter):
              (KJS::ScriptInterpreter::wasRunByUserGesture):
              * bindings/js/kjs_binding.h:
              (KJS::ScriptInterpreter::setCurrentEvent):
              (KJS::ScriptInterpreter::setInlineCode):
              (KJS::ScriptInterpreter::setProcessingTimerCallback):
              (KJS::ScriptInterpreter::getCurrentEvent):
              (KJS::cacheDOMObject):
              (KJS::DOMExceptionTranslator::DOMExceptionTranslator):
              * bridge/AXObjectCache.h:
              * bridge/mac/BrowserExtensionMac.mm:
              (WebCore::BrowserExtensionMac::createNewWindow):
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::loadRequest):
              (WebCore::FrameMac::submitForm):
              (WebCore::FrameMac::urlSelected):
              (WebCore::FrameMac::userAgent):
              (WebCore::FrameMac::passMouseDownEventToWidget):
              (WebCore::FrameMac::handleMouseMoveEvent):
              * bridge/mac/PageMac.mm:
              (WebCore::Page::Page):
              * bridge/mac/WebCoreEditCommand.mm:
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
              (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::):
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              * css/CSSPrimitiveValue.cpp:
              (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
              (WebCore::CSSPrimitiveValue::cleanup):
              (WebCore::CSSPrimitiveValue::cssText):
              * css/CSSPrimitiveValue.h:
              (WebCore::CSSPrimitiveValue::):
              * css/CSSValueList.cpp:
              (WebCore::CSSValueList::append):
              * css/cssparser.cpp:
              (WebCore::CSSParser::parseValue):
              * css/cssparser.h:
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::applyProperty):
              * dom/Document.cpp:
              (WebCore::Document::Document):
              (WebCore::Document::updateSelection):
              (WebCore::Document::implicitClose):
              (WebCore::Document::setFocusNode):
              * dom/Document.h:
              * editing/ReplaceSelectionCommand.h:
              * html/HTMLParser.cpp:
              (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
              * loader/mac/FrameLoader.h:
              (WebCore::PolicyCheck::request):
              * loader/mac/FrameLoader.mm:
              (WebCore::FrameLoader::~FrameLoader):
              (WebCore::FrameLoader::safeLoad):
              (WebCore::FrameLoader::load):
              (WebCore::FrameLoader::open):
              (WebCore::FrameLoader::stopLoading):
              (WebCore::setAllDefersLoading):
              (WebCore::FrameLoader::setDefersLoading):
              (WebCore::FrameLoader::willSendRequest):
              (WebCore::FrameLoader::receivedMainResourceError):
              (WebCore::FrameLoader::callContinueFragmentScrollAfterNavigationPolicy):
              (WebCore::FrameLoader::commitProvisionalLoad):
              (WebCore::FrameLoader::checkNavigationPolicy):
              (WebCore::FrameLoader::checkContentPolicy):
              (WebCore::FrameLoader::cancelContentPolicyCheck):
              (WebCore::FrameLoader::stopPolicyCheck):
              (WebCore::FrameLoader::checkNewWindowPolicy):
              (WebCore::FrameLoader::continueAfterNewWindowPolicy):
              (WebCore::FrameLoader::continueAfterNavigationPolicy):
              (WebCore::FrameLoader::continueAfterContentPolicy):
              (WebCore::FrameLoader::continueAfterWillSubmitForm):
              (WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy):
              (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
              (WebCore::FrameLoader::closeDocument):
              (WebCore::FrameLoader::transitionToCommitted):
              (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
              (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
              (WebCore::FrameLoader::post):
              (WebCore::FrameLoader::detachFromParent):
              (WebCore::FrameLoader::addExtraFieldsToRequest):
              (WebCore::PolicyCheck::PolicyCheck):
              (WebCore::PolicyCheck::clear):
              (WebCore::PolicyCheck::set):
              (WebCore::PolicyCheck::call):
              (WebCore::PolicyCheck::dropRequest):
              (WebCore::FrameLoaderClient::~FrameLoaderClient):
              * loader/mac/WebFormState.h:
              * loader/mac/WebFormState.mm:
              * loader/mac/WebFrameLoaderClient.h:
              * loader/mac/WebLoader.h:
              (WebCore::WebResourceLoader::defersLoading):
              * loader/mac/WebLoader.mm:
              (WebCore::WebResourceLoader::WebResourceLoader):
              (WebCore::WebResourceLoader::load):
              (WebCore::WebResourceLoader::setDefersLoading):
              * loader/mac/WebMainResourceLoader.h:
              * loader/mac/WebMainResourceLoader.mm:
              (WebCore::MainResourceLoader::MainResourceLoader):
              (WebCore::MainResourceLoader::releaseDelegate):
              (WebCore::MainResourceLoader::didCancel):
              (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
              (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
              (WebCore::MainResourceLoader::willSendRequest):
              (WebCore::MainResourceLoader::callContinueAfterContentPolicy):
              (WebCore::MainResourceLoader::continueAfterContentPolicy):
              (WebCore::MainResourceLoader::didReceiveResponse):
              (WebCore::MainResourceLoader::didReceiveData):
              (WebCore::MainResourceLoader::didFinishLoading):
              (WebCore::MainResourceLoader::didFail):
              (WebCore::MainResourceLoader::loadNow):
              (WebCore::MainResourceLoader::load):
              (WebCore::MainResourceLoader::setDefersLoading):
              * page/Frame.cpp:
              (WebCore::Frame::paint):
              * page/FrameView.cpp:
              (WebCore::FrameView::layout):
              * page/FrameView.h:
              * page/Page.cpp:
              (WebCore::Page::setDefersLoading):
              * page/Page.h:
              (WebCore::Page::defersLoading):
              * platform/DeprecatedString.h:
              * platform/DeprecatedStringList.h:
              * platform/FontFallbackList.h:
              * platform/PlatformKeyboardEvent.h:
              * platform/PlatformMouseEvent.h:
              * platform/PlatformWheelEvent.h:
              * platform/mac/ClipboardMac.h:
              * platform/mac/ClipboardMac.mm:
              (WebCore::ClipboardMac::setDragImage):
              (WebCore::ClipboardMac::dragNSImage):
              (WebCore::ClipboardMac::sourceOperation):
              (WebCore::ClipboardMac::destinationOperation):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::setStyle):
              * rendering/break_lines.cpp:
              (WebCore::nextBreakablePosition):
      
      WebKit:
      
              Reviewed by Maciej.
      
              - eliminated the use of Objective-C for the policy decider
                machinery, obviating the need for WebPolicyDeciderMac
      
              - moved the defersLoading flag from WebView to WebCore::Page
      
              - removed unused copies of four methods that in the frame bridge;
                the actually-used copies are in the page bridge
      
              - updated for rename of PassRefPtr::release to releaseRef
      
              * WebView/WebPolicyDeciderMac.h: Removed.
              * WebView/WebPolicyDeciderMac.m: Removed.
              * WebKit.xcodeproj/project.pbxproj: Updated for removal.
      
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView sendEvent:]):
              * Plugins/WebNetscapePluginStream.mm:
              * WebCoreSupport/WebFrameBridge.mm:
              * WebCoreSupport/WebFrameLoaderClient.h:
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (getWebView):
              (WebFrameLoaderClient::WebFrameLoaderClient):
              (WebFrameLoaderClient::willCloseDocument):
              (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
              (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
              (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
              (WebFrameLoaderClient::cancelPolicyCheck):
              (WebFrameLoaderClient::dispatchWillSubmitForm):
              (WebFrameLoaderClient::setDefersLoading):
              (WebFrameLoaderClient::setTitle):
              (WebFrameLoaderClient::deliverArchivedResourcesAfterDelay):
              (WebFrameLoaderClient::deliverArchivedResources):
              (WebFrameLoaderClient::setUpPolicyListener):
              (WebFrameLoaderClient::receivedPolicyDecison):
              (WebFrameLoaderClient::userAgent):
              (-[WebFramePolicyListener initWithWebCoreFrame:]):
              (-[WebFramePolicyListener invalidate]):
              (-[WebFramePolicyListener dealloc]):
              (-[WebFramePolicyListener finalize]):
              (-[WebFramePolicyListener receivedPolicyDecision:]):
              (-[WebFramePolicyListener ignore]):
              (-[WebFramePolicyListener download]):
              (-[WebFramePolicyListener use]):
              (-[WebFramePolicyListener continue]):
              * WebCoreSupport/WebPageBridge.mm:
              (-[WebPageBridge runModal]):
              * WebView/WebArchiver.m:
              (+[WebArchiver archiveSelectionInFrame:]):
              * WebView/WebFormDelegate.h:
              * WebView/WebFormDelegate.m:
              (+[WebFormDelegate _sharedWebFormDelegate]):
              (-[WebFormDelegate textFieldDidBeginEditing:inFrame:]):
              (-[WebFormDelegate textFieldDidEndEditing:inFrame:]):
              (-[WebFormDelegate textDidChangeInTextField:inFrame:]):
              (-[WebFormDelegate textDidChangeInTextArea:inFrame:]):
              (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
              * WebView/WebFrame.mm:
              (-[WebFrame _loadURL:referrer:intoChild:]):
              (-[WebFrame _isFrameSet]):
              * WebView/WebFrameInternal.h:
              * WebView/WebFrameView.mm:
              (-[WebFrameView _shouldDrawBorder]):
              * WebView/WebHTMLView.m:
              (-[NSArray knowsPageRange:]):
              * WebView/WebView.mm:
              (-[WebView _formDelegate]):
              * WebView/WebViewInternal.h:
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e4d34c61
  24. 27 Oct, 2006 1 commit
    • mjs's avatar
      WebCore: · e9af5cc3
      mjs authored
              Reviewed by John & Adam.
      
              - assorted speedups to fix perf regression from fixing correctness regression
      
              * WebCore.exp: exported new methods.
              * WebCore.xcodeproj/project.pbxproj: Added CachedResourceMac.mm
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              * loader/CachedResource.cpp: Removed now obsolete getCFURL.
              * loader/CachedResource.h:
              * loader/mac/CachedResourceMac.mm: Added.
              (WebCore::CachedResource::getNSURLRequest): New method; the NSURLRequest is
              now cached in the CachedObject.
              * loader/mac/FrameLoader.h:
              * loader/mac/FrameLoader.mm:
              (WebCore::FrameLoader::loadedResourceFromMemoryCache): New method - lets
              the WebKit side do faster dispatch for clients that implement the fast path delegate. 
              * loader/mac/LoaderFunctionsMac.mm:
              (WebCore::CheckCacheObjectStatus): Instead of calling several FrameLoader methods,
              just call loadedResourceFromMemoryCache.
              * loader/mac/WebFrameLoaderClient.h:
      
      WebKit:
      
              Reviewed by John & Adam.
              
              - various performance improvements for resource delegate dispatch.
              
              - avoid any ObjC messaging when fetching the WebView
              - avoid ObjC calls to WebView to get resource load delegate and impl cache
              - cache actual method pointers, not just the fact that the method is present
              - added a new SPI resource load delegate method which allows clients to get
                just one message in case of synchronously loading from memory cache; if this
                is implemented you don't get the normal delegate calls in that case.
              - various other minor tweaks
      
              * WebCoreSupport/WebFrameBridge.h:
              * WebCoreSupport/WebFrameLoaderClient.h:
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (getWebView):
              (WebFrameLoaderClient::hasBackForwardList):
              (WebFrameLoaderClient::resetBackForwardList):
              (WebFrameLoaderClient::privateBrowsingEnabled):
              (WebFrameLoaderClient::updateHistoryForStandardLoad):
              (WebFrameLoaderClient::resetAfterLoadError):
              (WebFrameLoaderClient::download):
              (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
              (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
              (WebFrameLoaderClient::dispatchWillSendRequest):
              (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
              (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
              (WebFrameLoaderClient::dispatchDidReceiveResponse):
              (WebFrameLoaderClient::dispatchDidReceiveContentLength):
              (WebFrameLoaderClient::dispatchDidFinishLoading):
              (WebFrameLoaderClient::dispatchDidFailLoading):
              (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
              (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
              (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
              (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
              (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
              (WebFrameLoaderClient::dispatchWillClose):
              (WebFrameLoaderClient::dispatchDidReceiveIcon):
              (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
              (WebFrameLoaderClient::dispatchDidReceiveTitle):
              (WebFrameLoaderClient::dispatchDidCommitLoad):
              (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
              (WebFrameLoaderClient::dispatchDidFailLoad):
              (WebFrameLoaderClient::dispatchDidFinishLoad):
              (WebFrameLoaderClient::dispatchDidFirstLayout):
              (WebFrameLoaderClient::dispatchCreatePage):
              (WebFrameLoaderClient::dispatchShow):
              (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
              (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
              (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
              (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
              (WebFrameLoaderClient::dispatchWillSubmitForm):
              (WebFrameLoaderClient::dispatchDidLoadMainResource):
              (WebFrameLoaderClient::progressStarted):
              (WebFrameLoaderClient::progressCompleted):
              (WebFrameLoaderClient::incrementProgress):
              (WebFrameLoaderClient::completeProgress):
              (WebFrameLoaderClient::setMainFrameDocumentReady):
              (WebFrameLoaderClient::startDownload):
              (WebFrameLoaderClient::willChangeTitle):
              (WebFrameLoaderClient::didChangeTitle):
              (WebFrameLoaderClient::mainFrameURL):
              (WebFrameLoaderClient::frameLoadCompleted):
              * WebCoreSupport/WebPageBridge.h:
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebFrame.mm:
              (frame):
              (core):
              (kit):
              (getWebView):
              (-[WebFrame _addBackForwardItemClippedAtTarget:]):
              (-[WebFrame _canCachePage]):
              (-[WebFrame _purgePageCache]):
              (-[WebFrame _loadItem:withLoadType:]):
              (-[WebFrame _goToItem:withLoadType:]):
              (-[WebFrame _updateBackground]):
              (-[WebFrame _clearSelectionInOtherFrames]):
              (-[WebFrame _isMainFrame]):
              (-[WebFrame webView]):
              * WebView/WebResourceLoadDelegatePrivate.h: Added.
              * WebView/WebView.mm:
              (-[WebView _cacheResourceLoadDelegateImplementations]):
              (WebViewGetResourceLoadDelegate):
              (WebViewGetResourceLoadDelegateImplementations):
              * WebView/WebViewInternal.h:
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e9af5cc3
  25. 24 Oct, 2006 1 commit
    • sullivan's avatar
      Reviewed by Darin · 96eff63b
      sullivan authored
              
              Initial plumbing for grammar checking. No actual grammar are checked at this time.
      
              * English.lproj/WebViewEditingContextMenu.nib/classes.nib:
              * English.lproj/WebViewEditingContextMenu.nib/info.nib:
              * English.lproj/WebViewEditingContextMenu.nib/objects.nib:
              Added grammar-checking item, reworded to match changes in framework. This will be used
              post-Tiger.
      
              * English.lproj/WebViewEditingContextMenuOld.nib/classes.nib: Added.
              * English.lproj/WebViewEditingContextMenuOld.nib/info.nib: Added.
              * English.lproj/WebViewEditingContextMenuOld.nib/objects.nib: Added.
              Copy of WebViewEditingContextMenu.nib, unchanged. This will be used on Tiger.
      
              * DefaultDelegates/WebDefaultContextMenuDelegate.m:
              (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
              Choose the right context menu based on BUILDING_ON_TIGER.
              
              * WebView/WebPreferenceKeysPrivate.h:
              declare grammar-related NSUserDefault value
      
              * WebView/WebViewPrivate.h:
              declare grammar-related methods
      
              * WebView/WebView.mm:
              declare static BOOL grammarCheckingEnabled
              (-[WebViewPrivate init]):
              initialize grammarCheckingEnabled to NSUserDefaults value
              (-[WebView validateUserInterfaceItem:]):
              validate toggleGrammarChecking: menu item
              (-[WebView isGrammarCheckingEnabled]):
              return value of grammarCheckingEnabled
              (-[WebView setGrammarCheckingEnabled:]):
              set value of grammarCheckingEnabled, call frame to remove existing bad grammar markers
              (-[WebView toggleGrammarChecking:]):
              flip the value
              
              * WebView/WebFrameInternal.h:
              * WebView/WebFrame.mm:
              (-[WebFrame _unmarkAllBadGrammar]):
              new placeholder method, does nothing yet
              
              * WebView/WebHTMLViewInternal.h:
              declare grammar-related methods
      
              * WebView/WebHTMLView.m:
              (-[NSArray validateUserInterfaceItem:]):
              validate toggleGrammarChecking: menu item
              (-[WebHTMLView isGrammarCheckingEnabled]):
              new method, calls through to WebView
              (-[WebHTMLView setGrammarCheckingEnabled:]):
              ditto
              (-[WebHTMLView toggleGrammarChecking:]):
              ditto
                      
              * English.lproj/StringsNotToBeLocalized.txt:
              Updated for these changes
              
              * WebKit.xcodeproj/project.pbxproj:
              updated for new files        
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17255 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      96eff63b
  26. 03 Oct, 2006 1 commit
  27. 26 Sep, 2006 1 commit
    • sullivan's avatar
      WebCore: · caf3550b
      sullivan authored
              Reviewed by Darin
      
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:limit:]):
              Added limit parameter, passed down to Frame
              
              * page/Frame.h:
              * page/Frame.cpp:
              (WebCore::Frame::markAllMatchesForText):
              Added limit parameter. Stop the search if it hits limit.
      
      WebKit:
      
              Reviewed by Darin
      
              * WebView/WebHTMLViewPrivate.h:
              * WebView/WebHTMLView.m:
              (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
              Added limit parameter, passed over the bridge. Stop the search if it hits limit.
      
              * WebView/WebViewPrivate.h:
              * WebView/WebView.m:
              (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
              Added limit parameter, passed to WebHTMLView.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      caf3550b
  28. 24 Aug, 2006 1 commit
    • thatcher's avatar
      WebCore: · 7122a90b
      thatcher authored
              Reviewed by Hyatt.
      
              Allow changing the background color WebCore draws under transparent page backgrounds.
              No automated way to test. All tests pass, no performance regression.
      
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge setBaseBackgroundColor:]):
              * page/FrameView.cpp:
              (WebCore::FrameViewPrivate::FrameViewPrivate):
              (WebCore::FrameView::baseBackgroundColor):
              (WebCore::FrameView::setBaseBackgroundColor):
              * page/FrameView.h:
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::paintBackgroundExtended):
              * rendering/RenderView.cpp:
              (WebCore::RenderView::paintBoxDecorations):
      
      WebKit:
      
              Reviewed by Hyatt.
      
              WebView API to allow changing the background color that draws under transparent page backgrounds.
      
              * WebView/WebFrame.m:
              (-[WebFrame _makeDocumentView]):
              (-[WebFrame _updateBackground]):
              * WebView/WebFrameInternal.h:
              * WebView/WebFrameView.m:
              (-[WebFrameView drawRect:]):
              * WebView/WebView.m:
              (-[WebView setBackgroundColor:]):
              (-[WebView backgroundColor]):
              (-[WebView _commonInitializationWithFrameName:groupName:]):
              (-[WebView setDrawsBackground:]):
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7122a90b
  29. 25 Jul, 2006 1 commit
    • harrison's avatar
      WebCore: · 977d1be2
      harrison authored
              Reviewed by timo and Darin.
      
              <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
              
              * WebCore.xcodeproj/project.pbxproj:
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
              Add matchStyle parameter for use by WebKit.
      
      WebKit:
      
              Reviewed by timo and Darin.
      
              <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
              
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebView.m:
              (-[WebView replaceSelectionWithNode:]):
              (-[WebView _replaceSelectionWithNode:matchStyle:]):
              * WebView/WebViewPrivate.h:
              (-[WebView _replaceSelectionWithNode:matchStyle::]):
              New SPI that is same as replaceSelectionWithNode: with added parameter whether to match existing style.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      977d1be2
  30. 17 Jul, 2006 1 commit
    • tomernic's avatar
      WebCore: · f917f147
      tomernic authored
              Reviewed by Maciej.
      
              <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
              by script
      
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge setProhibitsScrolling:]):
              * page/Frame.cpp:
              (WebCore::Frame::prohibitsScrolling):
              (WebCore::Frame::setProhibitsScrolling):
              * page/Frame.h:
              * page/FramePrivate.h:
              (WebCore::FramePrivate::FramePrivate):
              * page/FrameView.cpp:
              (WebCore::FrameView::scrollPointRecursively):
              (WebCore::FrameView::setContentsPos):
              * page/FrameView.h:
              * platform/ScrollView.h:
      
      WebKit:
      
              Reviewed by Maciej.
      
              <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
              by script
      
              * WebView/WebViewPrivate.h:
              * WebView/WebView.m:
              (-[WebView setProhibitsMainFrameScrolling:]):
              New method.  Prohibits scrolling in the WebView's main frame.  Used to "lock" a WebView to a specific
              scroll position.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f917f147
  31. 09 Jul, 2006 1 commit
    • thatcher's avatar
      Reviewed by Darin. · aa6e9031
      thatcher authored
              Bug 9814: Move new WebView API that has been through API review to public headers
              http://bugzilla.opendarwin.org/show_bug.cgi?id=9814
      
              * WebView/WebView.h:
              * WebView/WebView.m:
              (-[WebView close]):
              (-[WebView setShouldCloseWithWindow:]):
              (-[WebView shouldCloseWithWindow]):
              (-[WebView selectedFrame]):
              (-[WebView setMainFrameURL:]):
              (-[WebView mainFrameURL]):
              (-[WebView isLoading]):
              (-[WebView mainFrameTitle]):
              (-[WebView mainFrameIcon]):
              (-[WebView mainFrameDocument]):
              (-[WebView setDrawsBackground:]):
              (-[WebView drawsBackground]):
              (-[WebView toggleSmartInsertDelete:]):
              (-[WebView toggleContinuousSpellChecking:]):
              (-[WebView canMakeTextStandardSize]):
              (-[WebView makeTextStandardSize:]):
              (-[WebView maintainsInactiveSelection]):
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa6e9031
  32. 30 Jun, 2006 1 commit
    • thatcher's avatar
      WebCore: · a6df3ece
      thatcher authored
              Reviewed by Darin.
      
              <rdar://problem/3694163> -[KWQPageState finalize] is incorrect; design change needed
              <rdar://problem/3694165> -[WebCoreFrameBridge finalize] is incorrect; design change needed
      
              Added close methods that need to be called before these
              objects can be released. This ensures proper tear-down under GC.
      
              * WebCore.xcodeproj/project.pbxproj:
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge dealloc]):
              (-[WebCoreFrameBridge finalize]):
              (-[WebCoreFrameBridge close]):
              * bridge/mac/WebCorePageBridge.h:
              * bridge/mac/WebCorePageBridge.mm:
              (-[WebCorePageBridge setMainFrame:]):
              (-[WebCorePageBridge dealloc]):
              (-[WebCorePageBridge finalize]):
              (-[WebCorePageBridge close]):
              (-[WebCorePageBridge mainFrame]):
              (-[WebCorePageBridge setGroupName:]):
              (-[WebCorePageBridge groupName]):
              * kwq/KWQPageState.h:
              * kwq/KWQPageState.mm:
              (-[KWQPageState dealloc]):
              (-[KWQPageState finalize]):
              (-[KWQPageState close]):
      
      WebKit:
      
              Reviewed by Darin.
      
              <rdar://problem/4484405> WebKit leaks, improper tear-down
              <rdar://problem/3694059> -[WebBackForwardList finalize] is incorrect; design change needed
              <rdar://problem/3694103> -[WebFrame finalize] is incorrect; design change needed
              <rdar://problem/3694104> -[WebHTMLView finalize] is incorrect; design change needed
      
              Adds a close method to WebView, this needs to be called when the 
              WebView is no longer needed. To make this easier for the common cases
              there is now an "auto close" on WebView that listens to the view's
              parent window. If the parent window closes and the WebView has no
              hostWindow then the WebView is automatically closed if autoClose is YES.
              To manage WebView closing yourself call setAutoClose: and pass NO.
      
              When a WebView closes it will tear-down and not be usable anymore.
              Close will will called on various other internal objects as a part
              of this, to ensure proper tear-down in GC without relying on finalize.
      
              * History/WebBackForwardList.m:
              (-[WebBackForwardList dealloc]):
              (-[WebBackForwardList finalize]):
              (-[WebBackForwardList _close]):
              * History/WebHistoryItem.m:
              (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
              (+[WebHistoryItem _releaseAllPendingPageCaches]):
              * History/WebHistoryItemPrivate.h:
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge close]):
              (-[WebFrameBridge saveDocumentToPageCache:]):
              (-[WebFrameBridge canGoBackOrForward:]):
              * WebView/WebFrame.m:
              (-[WebFrame _detachFromParent]):
              (-[WebFrame dealloc]):
              (-[WebFrame finalize]):
              * WebView/WebFrameView.m:
              (-[WebFrameView _setWebFrame:]):
              (-[WebFrameView finalize]):
              * WebView/WebHTMLView.m:
              (-[WebHTMLView close]):
              (-[NSArray dealloc]):
              (-[NSArray finalize]):
              * WebView/WebHTMLViewInternal.h:
              * WebView/WebHTMLViewPrivate.h:
              * WebView/WebScriptDebugDelegate.m:
              (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]):
              (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
              (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
              (-[WebScriptCallFrame hitStatement:sourceId:line:]):
              (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
              * WebView/WebScriptDebugDelegatePrivate.h:
              * WebView/WebView.m:
              (-[WebViewPrivate init]):
              (-[WebView _close]):
              (-[WebView dealloc]):
              (-[WebView finalize]):
              (-[WebView viewWillMoveToWindow:]):
              (-[WebView _windowWillClose:]):
              (-[WebView setPreferencesIdentifier:]):
              (-[WebView mainFrame]):
              (-[WebView setHostWindow:]):
              (-[WebView searchFor:direction:caseSensitive:wrap:]):
              (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
              (-[WebView close]):
              (-[WebView setAutoClose:]):
              (-[WebView autoClose]):
              (-[WebView _frameViewAtWindowPoint:]):
              * WebView/WebViewPrivate.h:
      
      WebKitTools:
      
              Reviewed by Darin.
      
              Need to call window close so WebView tears-down completly.
      
              * DumpRenderTree/DumpRenderTree.m:
              (main): call [window close]
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a6df3ece
  33. 29 Jun, 2006 2 commits
    • kdecker's avatar
      Reviewed by mjs and timo. · 0717d842
      kdecker authored
              
              Fixed: <rdar://problem/4609119> handleAuthenticationFromResource was removed; needed by the Dashboard
      
              * WebView/WebViewPrivate.h: Added handleAuthenticationFromResource back into the header. Needed by the
              Dashboard, but was removed in r.14028 on 2006-04-23. 
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0717d842
    • thatcher's avatar
      Reviewed by Harrison. · eb1db16a
      thatcher authored
              Smart insert and delete, continuous spell checking and autoscroll
              can now be used for any WebView, not just editable ones. All of
              these make sense for documents that might contain content editable 
              areas or our new text fields. Autoscroll is usefull for dragging
              for file input controls also.
      
              Added a SPI to toggle WebViews tab key behavior, tabKeyCyclesThroughElements.
              WebHTMLView's _interceptEditingKeyEvent now uses WebView's
              tabKeyCyclesThroughElements state to determine whether or not
              to process tab key events. The idea here is that tabKeyCyclesThroughElements
              will be YES when this WebView is being used in a browser, and we
              desire the behavior where tab moves to the next element in tab order.
              If tabKeyCyclesThroughElements is NO, it is likely that the WebView
              is being embedded as the whole view, as in Mail, and tabs should input
              tabs as expected in a text editor. Using Option-Tab always cycles
              through elements.
      
              * WebView/WebHTMLRepresentation.m:
              (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
              * WebView/WebHTMLView.m:
              (-[NSArray _interceptEditingKeyEvent:]):
              * WebView/WebView.m:
              (-[WebViewPrivate init]):
              (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
              (-[WebView _shouldAutoscrollForDraggingInfo:]):
              (-[WebView validateUserInterfaceItem:]):
              (-[WebView toggleSmartInsertDelete:]):
              (-[WebView toggleContinuousSpellChecking:]):
              (-[WebView setTabKeyCyclesThroughElements:]):
              (-[WebView tabKeyCyclesThroughElements]):
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15093 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb1db16a
  34. 26 Jun, 2006 1 commit
  35. 23 Jun, 2006 1 commit
    • thatcher's avatar
      Reviewed by Geoff. · 437307be
      thatcher authored
              script debugger should only attach to JavaScriptCore when there are listeners
              http://bugzilla.opendarwin.org/show_bug.cgi?id=9552
      
              Attaches the debugger to all WebFrames when the first listener
              is added. Detaches when the last listener is removed.
              Also detach when the script debug delegate is set to nil.
      
              * DefaultDelegates/WebScriptDebugServer.m:
              (+[WebScriptDebugServer listenerCount]):
              (-[WebScriptDebugServer dealloc]):
              (-[WebScriptDebugServer attachScriptDebuggerToAllWebViews]):
              (-[WebScriptDebugServer detachScriptDebuggerFromAllWebViews]):
              (-[WebScriptDebugServer listenerConnectionDidDie:]):
              (-[WebScriptDebugServer addListener:]):
              (-[WebScriptDebugServer removeListener:]):
              * DefaultDelegates/WebScriptDebugServerPrivate.h:
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge windowObjectCleared]):
              * WebView/WebFrame.m:
              (-[WebFrame _attachScriptDebugger]):
              (-[WebFrame _detachScriptDebugger]):
              * WebView/WebFramePrivate.h:
              * WebView/WebScriptDebugDelegate.m:
              (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
              (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
              (-[WebScriptCallFrame hitStatement:sourceId:line:]):
              (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
              * WebView/WebView.m:
              (-[WebView _attachScriptDebuggerToAllFrames]):
              (-[WebView _detachScriptDebuggerFromAllFrames]):
              (-[WebView setScriptDebugDelegate:]):
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14990 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      437307be
  36. 21 Jun, 2006 1 commit
    • tomernic's avatar
      Reviewed by Geoff Garen. · 2c361f73
      tomernic authored
              <rdar://problem/4564131> WebPluginDatabase setAdditionalWebPlugInPaths needs to be per WebView
      
              Added some WebView SPI so that individual WebViews may have different plugin search paths.  There are some 
              limitations with the approach taken here:
      
              - JavaScript may only access the global plugin DB.
              - When this SPI is in use, certain WebView methods may not give accurate results, such as +canShowMIMEType:.
              - This only works for plugins referenced using the <object> or <embed> tags; plugins that reside in non-standard
              file system locations may not be loaded directly into frames.
              
              None of these issues are important to the client that needs this SPI.  Rather than re-architect our entire
              plugin database, I think it is better to simply accept these limitations for now.
      
              * Plugins/WebPluginDatabase.h:
              Added "plugInPaths" ivar, so different plugin databases can have different search paths.
              * Plugins/WebPluginDatabase.m:
              (+[WebPluginDatabase installedPlugins]):
              Give the global plugin database the default plugin search paths.
              (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
              Removed static global; this method now sets the plugin paths on the global plugin database.
              (-[WebPluginDatabase setPlugInPaths:]):
              Setter method for plugin paths.
              (-[WebPluginDatabase close]):
              New method; called when the plugin database is no longer needed (when its WebView is being destroyed).
              (-[WebPluginDatabase init]):
              Don't refresh in -init, so that callers can set the DB's plugin path array before it refreshes.
              (-[WebPluginDatabase dealloc]):
              Moved here from near the bottom of the file.  Release new ivar.
              (-[WebPluginDatabase refresh]):
              Use the plugInPaths ivar instead of calling pluginLocations().
              Notify plugin packages when they are added to and removed from a plugin database.  A plugin package will
              unload itself when it is removed from all of its plugin databases.
              The only really tricky thing here is that the global MIME <-> view class registrations are only modified
              by the shared plugin DB.
              (+[WebPluginDatabase _defaultPlugInPaths]):
              Refactored from the old pluginLocations() function; returns the default set of plugin search paths.
      
              * Plugins/WebBasePluginPackage.h:
              * Plugins/WebBasePluginPackage.m:
              (-[WebBasePluginPackage dealloc]):
              Assert that this package has been removed from all of its containing plugin databases.
              (-[WebBasePluginPackage finalize]):
              ditto
              (-[WebBasePluginPackage wasAddedToPluginDatabase:]):
              Add plugin database to set.
              (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
              Remove plugin database from set.  If it was the last DB, then unload the plugin package.
      
              * WebView/WebViewInternal.h:
              Added instance methods to find the view class or plugin package, given a MIME type or file extension.
              * WebView/WebViewPrivate.h:
              Added SPI to set plugin search paths per WebView.
              * WebView/WebView.m:
              (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
              New method; tries the global MIME <-> view map first; failing that, it checks the WebView's plugin DB.
              (-[WebView _close]):
              Close the plugin DB.
              (-[WebView _setAdditionalWebPlugInPaths:]):
              Create the plugin DB if necessary, and set its plugin paths.
              (-[WebView _pluginForMIMEType:]):
              Checks global plugin DB, falls back on WebView DB.
              (-[WebView _pluginForExtension:]):
              ditto
              (-[WebView _isMIMETypeRegisteredAsPlugin:]):
              ditto
      
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
              Use new WebView instance methods to look for plugins.
              (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
              ditto
              (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
              ditto
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2c361f73
  37. 16 Jun, 2006 1 commit
    • thatcher's avatar
      Reviewed by Tim O. · 411d752a
      thatcher authored
              Exposes a distributed objects server for clients to register for script debugger calls.
              For preformance concerns this is disabled by default, you will need to enable this per application.
              To enable for Safari do this: defaults write com.apple.Safari WebKitScriptDebuggerEnabled -bool true
      
              Clients will need to listen to the following distributed notification to discover servers:
              WebScriptDebugServerDidLoadNotification
      
              To discover servers that previously loaded before the client, the client needs to send the following notification:
              WebScriptDebugServerQueryNotification
      
              All servers will reply with the WebScriptDebugServerQueryReplyNotification notification that contains the
              registered server connection name to use with distributed objects.
      
              * DefaultDelegates/WebScriptDebugServer.h: Added.
              * DefaultDelegates/WebScriptDebugServer.m: Added.
              (+[WebScriptDebugServer sharedScriptDebugServer]):
              (-[WebScriptDebugServer init]):
              (-[WebScriptDebugServer dealloc]):
              (-[WebScriptDebugServer serverQuery:]):
              (-[WebScriptDebugServer listenerConnectionDidDie:]):
              (-[WebScriptDebugServer addListener:]):
              (-[WebScriptDebugServer removeListener:]):
              (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
              (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
              (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
              (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
              * DefaultDelegates/WebScriptDebugServerPrivate.h: Added.
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge windowObjectCleared]):
              * WebKit.exp:
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebScriptDebugDelegate.m:
              (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
              (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
              (-[WebScriptCallFrame hitStatement:sourceId:line:]):
              (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
              * WebView/WebView.m:
              (+[WebView _developerExtrasEnabled]):
              (+[WebView _scriptDebuggerEnabled]):
              (-[WebView _menuForElement:defaultItems:]):
              (-[WebView _commonInitializationWithFrameName:groupName:]):
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      411d752a