1. 04 Dec, 2007 1 commit
    • aroben@apple.com's avatar
      Make the implementation of Frame::setNeedsReapplyStyles cross-platform · 4cfcb8ae
      aroben@apple.com authored
       WebCore:
      
               Make the implementation of Frame::setNeedsReapplyStyles cross-platform
      
               Reviewed by Hyatt.
      
               No change in functionality.
      
               * page/Frame.cpp:
               (WebCore::Frame::setNeedsReapplyStyles): Added. Invalidates the
               FrameView so that FrameView::layout will be called, which ends up
               calling reapplyStyles.
               (WebCore::Frame::needsReapplyStyles): Added.
               (WebCore::Frame::reapplyStyles): Renamed from reparseConfiguration.
               (WebCore::FramePrivate::FramePrivate):
               * page/Frame.h:
               * page/FramePrivate.h: Added new boolean member.
               * page/FrameView.cpp:
               (WebCore::FrameView::layout): Call Frame::reapplyStyles if needed.
               (WebCore::FrameView::needsLayout): Say that we need layout if the
               Frame needs styles reapplied.
               * page/mac/WebCoreFrameBridge.h: Removed setNeedsReapplyStyles.
               * page/mac/WebCoreFrameBridge.mm:
               (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): Updated for
               rename.
      
               * bridge/win/FrameWin.cpp: Removed Frame::setNeedsReapplyStyles.
               * page/gtk/FrameGtk.cpp: Ditto.
               * page/mac/FrameMac.mm: Ditto.
               * page/qt/FrameQt.cpp: Ditto.
               * platform/wx/TemporaryLinkStubs.cpp: Ditto.
      
       WebKit/mac:
      
               Remove -[WebFrameBridge setNeedsReapplyStyles]
      
               This functionality is now WebCore's responsibility.
      
               Reviewed by Hyatt.
      
               * WebCoreSupport/WebFrameBridge.mm:
               * WebKit.order:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28411 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4cfcb8ae
  2. 03 Dec, 2007 1 commit
    • timothy@apple.com's avatar
      Reviewed by Darin. · d840c27d
      timothy@apple.com authored
              Change WebViewGetResourceLoadDelegateImplementations and WebViewGetFrameLoadDelegateImplementations
              to return a pointer to the implementation struct instead of a copy of the struct. This changes
              all of the callers to dereference the pointer to access the struct fields.
      
              * Plugins/WebNullPluginView.mm:
              (-[WebNullPluginView reportFailure]):
              * WebCoreSupport/WebFrameBridge.mm:
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
              (WebFrameLoaderClient::assignIdentifierToInitialRequest):
              (WebFrameLoaderClient::dispatchWillSendRequest):
              (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
              (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
              (WebFrameLoaderClient::dispatchDidReceiveResponse):
              (WebFrameLoaderClient::willCacheResponse):
              (WebFrameLoaderClient::dispatchDidReceiveContentLength):
              (WebFrameLoaderClient::dispatchDidFinishLoading):
              (WebFrameLoaderClient::dispatchDidFailLoading):
              (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
              (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
              (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
              (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
              (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
              (WebFrameLoaderClient::dispatchWillClose):
              (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
              (WebFrameLoaderClient::dispatchDidReceiveTitle):
              (WebFrameLoaderClient::dispatchDidCommitLoad):
              (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
              (WebFrameLoaderClient::dispatchDidFailLoad):
              (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
              (WebFrameLoaderClient::dispatchDidFinishLoad):
              (WebFrameLoaderClient::dispatchDidFirstLayout):
              * WebView/WebView.mm:
              (WebViewGetResourceLoadDelegateImplementations):
              (WebViewGetFrameLoadDelegateImplementations):
              (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
              * WebView/WebViewInternal.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28365 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d840c27d
  3. 08 Nov, 2007 1 commit
    • darin@apple.com's avatar
      WebCore: · 02405e32
      darin@apple.com authored
              Reviewed by Steve.
      
              - cut down on notImplemented() functions on Windows
      
              * bridge/AXObjectCache.h: Put #if around the accessibility
              global.
      
              * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
              Moved here from TemporaryLinkStubs.
      
              * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
              using the ResourceResponse that's now available from the DocumentLoader.
      
              * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
              the Editor instead of the obsolete one on the Frame.
      
              * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
              * loader/FrameLoader.h: Removed overrideMediaType.
      
              * loader/gtk/DocumentLoaderGtk.cpp: Removed.
              * loader/mac/DocumentLoaderMac.mm: Removed.
              * loader/qt/DocumentLoaderQt.cpp: Removed.
      
              * page/Frame.cpp: Removed transpose.
              * page/Frame.h: Ditto.
              * page/FrameView.h: Removed updateBorder.
              * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
              * page/mac/FrameMac.mm: Ditto.
              * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
              overrideMediaType.
              * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
      
              * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
              * platform/qt/TemporaryLinkStubs.cpp: Ditto.
              * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
              * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
              issueTransposeCommand, and overrideMediaType.
      
              * platform/network/cf/ResourceHandleCFNet.cpp:
              (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
              (WebCore::ResourceHandle::willLoadFromCache): Ditto.
              * platform/win/GraphicsContextWin.cpp:
              (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
              * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
              * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
              * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
      
              * WebCore.pro: Updated for removed files.
              * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
      
      WebKit/mac:
      
              Reviewed by Steve.
      
              - removed some unused WebCore bridge methods
      
              * WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
      
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of
              using the bridge object.
      
      WebKit/win:
      
              Reviewed by Steve.
      
              * Interfaces/IWebUIDelegate.idl: Added the functions needed below.
              * WebChromeClient.cpp:
              (WebChromeClient::setMenubarVisible): Eliminated the notImplemented()
              here by calling through the UI delegate.
              (WebChromeClient::menubarVisible): Ditto.
              (WebChromeClient::runDatabaseSizeLimitPrompt): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02405e32
  4. 06 Nov, 2007 1 commit
  5. 15 Oct, 2007 1 commit
    • kdecker's avatar
      Reviewed by Darin Adler. · b4b7eb9b
      kdecker authored
              
              Fixed: <rdar://problem/5520541> REGRESSION: Broken image when forwarding certain email on Tiger
              
              * WebCoreSupport/WebFrameBridge.mm: The problem was that we were loading Mail's WebKit plug-in
              too soon, which borked some necessary housekeeping on behalf of Mail. The fix is to add a quirk
              that treats Tiger Mail's WebKit plug-in like a Netscape plug-in, thus ensuring the plug-in will
              load during first layout and not attach time. For this plug-in, loading at first layout is 
              expected and is consistent with Safari 2 behavior.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@26645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4b7eb9b
  6. 12 Sep, 2007 1 commit
  7. 06 Sep, 2007 1 commit
    • thatcher's avatar
      WebCore: · dcfecc1b
      thatcher authored
              Reviewed by Darin.
      
              Changed the blocked exception log message to match AppKit's blocked exception message.
      
              * platform/mac/BlockExceptions.mm:
              (ReportBlockedObjCException):
      
      WebKit:
      
              Reviewed by Darin.
      
              <rdar://problem/5443883> Uncaught Objective-C exceptions in WebKit clients lead to hard-to-diagnose crashes
      
              Changed all the direct delegate calls to use helper functions that have direct access to
              WebView's delegate objects. These helper methods will catch any ObjC exceptions and call
              ReportDiscardedDelegateException to log the discarded exception. WebView's that have
              catchesDelegateExceptions set to NO will not pay the cost of a @try/@catch. The delegate
              forwarders also have the same behavior.
      
              * Misc/WebKitLogging.h:
              * Misc/WebKitLogging.m:
              (ReportDiscardedDelegateException):
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView loadPluginRequest:]):
              * Plugins/WebNullPluginView.mm:
              (-[WebNullPluginView viewDidMoveToWindow]):
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::createWindow):
              (WebChromeClient::createModalDialog):
              (WebChromeClient::runModal):
              (WebChromeClient::toolbarsVisible):
              (WebChromeClient::statusbarVisible):
              (WebChromeClient::addMessageToConsole):
              (WebChromeClient::canRunBeforeUnloadConfirmPanel):
              (WebChromeClient::runBeforeUnloadConfirmPanel):
              (WebChromeClient::runJavaScriptAlert):
              (WebChromeClient::runJavaScriptConfirm):
              (WebChromeClient::runJavaScriptPrompt):
              (WebChromeClient::shouldInterruptJavaScript):
              (WebChromeClient::setStatusbarText):
              (WebChromeClient::print):
              * WebCoreSupport/WebContextMenuClient.mm:
              (WebContextMenuClient::getCustomMenuFromDefaultItems):
              (WebContextMenuClient::contextMenuItemSelected):
              * WebCoreSupport/WebDragClient.mm:
              (WebDragClient::startDrag):
              * WebCoreSupport/WebEditorClient.mm:
              (WebEditorClient::textFieldDidBeginEditing):
              (WebEditorClient::textFieldDidEndEditing):
              (WebEditorClient::textDidChangeInTextField):
              (WebEditorClient::doTextFieldCommandFromEvent):
              (WebEditorClient::textWillBeDeletedInTextField):
              (WebEditorClient::textDidChangeInTextArea):
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge viewForPluginWithFrame:URL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
              (WebFrameLoaderClient::assignIdentifierToInitialRequest):
              (WebFrameLoaderClient::dispatchWillSendRequest):
              (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
              (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
              (WebFrameLoaderClient::dispatchDidReceiveResponse):
              (WebFrameLoaderClient::willCacheResponse):
              (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::dispatchDidFinishDocumentLoad):
              (WebFrameLoaderClient::dispatchDidFinishLoad):
              (WebFrameLoaderClient::dispatchDidFirstLayout):
              (WebFrameLoaderClient::dispatchCreatePage):
              (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
              (WebFrameLoaderClient::dispatchWillSubmitForm):
              (WebFrameLoaderClient::dispatchDidLoadMainResource):
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView callDelegateDoCommandBySelectorIfNeeded:]):
              (-[WebHTMLView validateUserInterfaceItem:]):
              * WebView/WebPDFView.mm:
              (-[WebPDFView validateUserInterfaceItem:]):
              (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
              * WebView/WebView.mm:
              (-[WebView _openNewWindowWithRequest:]):
              (-[WebView _menuForElement:defaultItems:]):
              (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
              (-[WebView _cacheResourceLoadDelegateImplementations]):
              (-[WebView _cacheFrameLoadDelegateImplementations]):
              (-[WebView _policyDelegateForwarder]):
              (-[WebView _UIDelegateForwarder]):
              (-[WebView _editingDelegateForwarder]):
              (-[WebView _scriptDebugDelegateForwarder]):
              (-[WebView _setCatchesDelegateExceptions:]):
              (-[WebView _catchesDelegateExceptions]):
              (-[_WebSafeForwarder initWithTarget:defaultTarget:]):
              (-[_WebSafeForwarder forwardInvocation:]):
              (-[_WebSafeForwarder methodSignatureForSelector:]):
              (-[WebView _commonInitializationWithFrameName:groupName:]):
              (-[WebView validateUserInterfaceItem:]):
              (-[WebView _headerHeight]):
              (-[WebView _footerHeight]):
              (-[WebView _drawHeaderInRect:]):
              (-[WebView _drawFooterInRect:]):
              (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
              (CallDelegate):
              (CallDelegateReturningFloat):
              (CallDelegateReturningBoolean):
              (CallUIDelegate):
              (CallUIDelegateReturningFloat):
              (CallUIDelegateReturningBoolean):
              (CallFrameLoadDelegate):
              (CallResourceLoadDelegate):
              (CallFormDelegate):
              (CallFormDelegateReturningBoolean):
              * WebView/WebViewInternal.h:
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dcfecc1b
  8. 29 Aug, 2007 1 commit
  9. 28 Aug, 2007 1 commit
    • andersca's avatar
      WebCore: · 878d2ffb
      andersca authored
              Reviewed by Darin.
      
              <rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent
      
              Restore the previous behavior, creating plug-ins on attach, for WebKit plug-ins. Netscape plug-ins
              are still created during the first layout.
              
              * html/HTMLEmbedElement.cpp:
              (WebCore::HTMLEmbedElement::getInstance):
              Only call layout if the renderer doesn't have a widget.
              
              * html/HTMLObjectElement.cpp:
              (WebCore::HTMLObjectElement::getInstance):
              Likewise.
              
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::shouldUsePlugin):
              Update for enum change.
              
              * loader/FrameLoaderTypes.h:
              Add ObjectContentNetscapePlugin and ObjectContentOtherPlugin.
              
              * page/mac/WebCoreFrameBridge.h:
              Get rid of the enum here, we can use the one in FrameLoaderTypes.h
              
              * rendering/RenderPartObject.cpp:
              (WebCore::RenderPartObject::updateWidget):
              Only create the plug-in if it's not a Netscape plug-in.
              
              (WebCore::RenderPartObject::layout):
              Fix indentation.
      
      WebKit:
      
              Reviewed by Darin.
      
              <rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent
              
              * WebCoreSupport/WebFrameBridge.mm:
              Use the enum from FrameLoaderTypes.h.
              
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::objectContentType):
              Return ObjectContentNetscapePlugin and ObjectContentOtherPlugin depending on the plug-in type.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25283 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      878d2ffb
  10. 17 Aug, 2007 1 commit
    • andersca's avatar
      LayoutTests: · f2184b9d
      andersca authored
              Reviewed by Dave Hyatt.
      
              <rdar://problem/5379040>
              REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes
              
              Add test.
              
              * plugins/netscape-plugin-setwindow-size-expected.txt: Added.
              * plugins/netscape-plugin-setwindow-size.html: Added.
      
      WebCore:
      
              Reviewed by Dave Hyatt.
              
              <rdar://problem/5379040>
              REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes
      
              Instantiate plug-ins during the first layout instead of doing so when creating the renderer.
              This ensures that the plug-in widget will have a correct initial size.
              
              * html/HTMLEmbedElement.cpp:
              (WebCore::HTMLEmbedElement::getInstance):
              Force a layout if the plug-in doesn't have an instance.
              
              (WebCore::HTMLEmbedElement::attach):
              Pass true to updateWidget, causing it to only create a widget if it won't be a plug-in.
              
              * html/HTMLIFrameElement.cpp:        
              (WebCore::HTMLIFrameElement::attach):
              Pass false to updateWidget, this will only create subframes anyway.
              
              * html/HTMLObjectElement.cpp:
              (WebCore::HTMLObjectElement::getInstance):
              Force a layout if the plug-in doesn't have an instance.
              
              (WebCore::HTMLObjectElement::attach):
              Pass true to updateWidget, causing it to only create a widget if it won't be a plug-in.
              
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::loadPlugin):
              Get the size from the renderer and pass it to the client.
              
              * loader/FrameLoaderClient.h:
              * page/mac/WebCoreFrameBridge.h:
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyFrameLoaderClient::createPlugin):
              Update declarations.
              
              * rendering/RenderPart.cpp:
              (WebCore::RenderPart::setWidget):
              No need to mark the renderer as dirty here.
              
              * rendering/RenderPartObject.h:
              * rendering/RenderPartObject.cpp:
              (WebCore::RenderPartObject::updateWidget):
              Add a parameter, onlyCreateNonPlugins. If this is true the widget 
              will only be created if it's not a plug-in.
              
              (WebCore::RenderPartObject::layout):
              Call updateWidget here if m_widget is 0, causing the plug-in to be instantiated.
      
      WebKit:
      
              Reviewed by Dave Hyatt.
      
              <rdar://problem/5379040> 
              REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes
              
              Pass the right size when creating the views.
              
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge viewForPluginWithFrame:URL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
              * WebCoreSupport/WebFrameLoaderClient.h:
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::createPlugin):
      
      WebKitTools:
      
              Reviewed by Dave Hyatt.
      
              <rdar://problem/5379040>
              REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes
      
              Add a way for the plug-in to dump the width and height when it gets its  NPP_SetWindow call.
              
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c:
              (pluginAllocate):
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
              * DumpRenderTree/TestNetscapePlugIn.subproj/main.c:
              (NPP_New):
              (NPP_SetWindow):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25128 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f2184b9d
  11. 08 Aug, 2007 1 commit
    • kdecker's avatar
      Reviewed by Anders Carlsson. · 4a959953
      kdecker authored
              Fixed: <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit
              
              #ifdef'd out Netscape style plug-ins on 64-bit because Mac OS X doesn't support for 64-bit Carbon.
              
              * Plugins/WebBaseNetscapePluginStream.h:
              * Plugins/WebBaseNetscapePluginStream.mm:
              * Plugins/WebBaseNetscapePluginView.h:
              * Plugins/WebBaseNetscapePluginView.mm:
              (+[WebBaseNetscapePluginView getCarbonEvent:]):
              (TSMEventHandler):
              * Plugins/WebBaseNetscapePluginViewInternal.h:
              * Plugins/WebBaseNetscapePluginViewPrivate.h:
              * Plugins/WebBasePluginPackage.m:
              (+[WebBasePluginPackage pluginWithPath:]):
              * Plugins/WebNetscapePluginEmbeddedView.h:
              * Plugins/WebNetscapePluginEmbeddedView.mm:
              * Plugins/WebNetscapePluginPackage.h:
              * Plugins/WebNetscapePluginPackage.m:
              * Plugins/WebNetscapePluginStream.h:
              * Plugins/WebNetscapePluginStream.mm:
              * Plugins/WebPluginDatabase.m:
              (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
              * Plugins/npapi.m:
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
              * WebView/WebFrame.mm:
              * WebView/WebFramePrivate.h:
              * WebView/WebHTMLView.mm:
              (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
              * WebView/WebHTMLViewInternal.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4a959953
  12. 07 Aug, 2007 1 commit
    • hyatt's avatar
      Fix a botched backout of the Quicktime plugin clipping fix that broke... · 6de1e04f
      hyatt authored
              Fix a botched backout of the Quicktime plugin clipping fix that broke Java.  The plugin view should not
              be set to autosize with the parent view.  Also, cleanup of script objects was removed accidentally as
              well.
      
              Reviewed by olliej
      
              * Plugins/WebPluginController.mm:
              (-[WebPluginController destroyPlugin:]):
              (-[WebPluginController destroyAllPlugins]):
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24915 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6de1e04f
  13. 18 Jul, 2007 1 commit
    • weinig's avatar
      WebCore: · 62f94be9
      weinig authored
              Rubber-stamped by Adam Roben.
      
              Rename MimeTypeRegistry to MIMETypeRegistry and xmlhttprequest to XMLHttpRequest
      
              * WebCore.exp:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * bindings/js/JSXMLHttpRequest.cpp:
              * bindings/js/kjs_binding.cpp:
              * bindings/js/kjs_dom.cpp:
              * dom/Document.cpp:
              * html/HTMLFormElement.cpp:
              (WebCore::HTMLFormElement::formData):
              * html/HTMLObjectElement.cpp:
              (WebCore::HTMLObjectElement::containsJavaApplet):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::requestObject):
              * loader/mac/LoaderNSURLExtras.m:
              (suggestedFilenameWithMIMEType):
              * platform/MIMETypeRegistry.cpp: Copied from platform/MimeTypeRegistry.cpp.
              (WebCore::initialiseSupportedImageMIMETypes):
              (WebCore::initialiseMIMETypeRegistry):
              (WebCore::MIMETypeRegistry::getMIMETypeForPath):
              (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
              (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
              (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
              (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
              (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
              (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
              * platform/MIMETypeRegistry.h: Copied from platform/MimeTypeRegistry.h.
              * platform/MimeTypeRegistry.cpp: Removed.
              * platform/MimeTypeRegistry.h: Removed.
              * platform/gdk/MIMETypeRegistryGdk.cpp: Copied from platform/gdk/MimeTypeRegistryGdk.cpp.
              (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
              * platform/gdk/MimeTypeRegistryGdk.cpp: Removed.
              * platform/graphics/BitmapImage.cpp:
              * platform/graphics/Image.cpp:
              (WebCore::Image::supportsType):
              * platform/mac/DragDataMac.mm:
              * platform/mac/MIMETypeRegistryMac.mm: Copied from platform/mac/MimeTypeRegistryMac.mm.
              (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
              (WebCore::MIMETypeRegistry::getExtensionsForMIMEType):
              (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
              * platform/mac/MimeTypeRegistryMac.mm: Removed.
              * platform/mac/PasteboardMac.mm:
              (WebCore::Pasteboard::writeImage):
              * platform/qt/MIMETypeRegistryQt.cpp: Copied from platform/qt/MimeTypeRegistryQt.cpp.
              (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
              * platform/qt/MimeTypeRegistryQt.cpp: Removed.
              * platform/win/MIMETypeRegistryWin.cpp: Copied from platform/win/MimeTypeRegistryWin.cpp.
              (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
              (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
              * platform/win/MimeTypeRegistryWin.cpp: Removed.
              * rendering/RenderPartObject.cpp:
              (WebCore::RenderPartObject::updateWidget):
              * xml/xmlhttprequest.cpp: Removed.
              * xml/xmlhttprequest.h: Removed.
              * xml/XMLHttpRequest.cpp: Copied from xml/xmlhttprequest.cpp.
              * xml/XMLHttpRequest.h: Copied from xml/xmlhttprequest.h.
      
      WebKit:
      
              Rubber-stamped by Adam Roben.
      
              Update after renaming MimeTypeRegistry to MIMETypeRegistry.
      
              * Misc/WebNSPasteboardExtras.mm:
              (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
              * WebView/WebDataSource.mm:
              (-[WebDataSource _documentFragmentWithArchive:]):
              * WebView/WebHTMLRepresentation.mm:
              (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
              (+[WebHTMLRepresentation supportedImageMIMETypes]):
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _imageExistsAtPaths:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24417 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      62f94be9
  14. 16 Jul, 2007 1 commit
    • aroben's avatar
      Replace Frame::print with Chrome::print and remove -[WebFrameBridge print] · a64dcca8
      aroben authored
      WebCore:
      
              Replace Frame::print with Chrome::print
      
              This also adds a Frame* parameter to Chrome::print and
              ChromeClient::print so that it knows which Frame to print.
      
              Reviewed by Darin.
      
              All tests pass.
      
              * bindings/js/kjs_window.cpp:
              (KJS::WindowFunc::callAsFunction): Call Chrome::print.
              * editing/JSEditor.cpp: Ditto.
      
              * bridge/win/FrameWin.cpp: Removed Frame::print.
              * page/Frame.h: Ditto.
              * page/mac/FrameMac.mm: Ditto.
              * page/qt/FrameQt.cpp: Ditto.
              * platform/gdk/FrameGdk.cpp: Ditto.
              * page/mac/WebCoreFrameBridge.h: Removed -print.
      
              * page/Chrome.cpp: Added Frame* parameter to Chrome::print and pass it
              up to the ChromeClient.
              * page/Chrome.h: Ditto.
              * page/ChromeClient.h: Ditto.
              * platform/gdk/TemporaryLinkStubs.cpp: Ditto.
              * platform/graphics/svg/SVGImageEmptyClients.h: Ditto.
      
      WebKit:
      
              Move printing from WebFrameBridge to WebChromeClient
      
              Reviewed by Darin.
      
              * WebCoreSupport/WebChromeClient.h: Updated for ChromeClient changes.
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::print): Moved code from WebFrameBridge.
              * WebCoreSupport/WebFrameBridge.mm: Removed -print.
      
      WebKit/win:
      
              Updated WebChromeClient for ChromeClient changes.
      
              Reviewed by Darin.
      
              * WebChromeClient.cpp:
              (WebChromeClient::print): Added a Frame* parameter.
              * WebChromeClient.h: Ditto.
      
      WebKitQt:
      
              Updated ChromeClientQt for ChromeClient changes.
      
              Reviewed by Darin.
      
              * WebCoreSupport/ChromeClientQt.cpp:
              (WebCore::ChromeClientQt::print): Added a Frame* parameter.
              * WebCoreSupport/ChromeClientQt.h: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a64dcca8
  15. 16 Jun, 2007 1 commit
    • hyatt's avatar
      Back out fix for 13972. Quicktime will no longer clip correctly. :( · 42ed3564
      hyatt authored
              Too many regressions in Mail caused by inserting an extra view into the
              hierarchy.  Can revisit later.
      
              Reviewed by olliej
      
              * Plugins/WebPluginController.mm:
              (-[WebPluginController destroyPlugin:]):
              (-[WebPluginController destroyAllPlugins]):
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView addSubview:]):
              (-[WebHTMLView willRemoveSubview:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@23559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42ed3564
  16. 06 Jun, 2007 1 commit
    • hyatt's avatar
      Fix for bug 13972, quicktime doesn't respect CSS clip and overflow properties. · e514edfd
      hyatt authored
              Make sure that calls to [NSView visibleRect] will do the right thing for both
              Netscape plugins and WebKit plugins.
      
              Reviewed by olliej
      
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView visibleRect]):
              (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
              (-[WebBaseNetscapePluginView isOpaque]):
              * Plugins/WebKitPluginContainerView.h: Added.
              * Plugins/WebKitPluginContainerView.mm: Added.
              (-[WebKitPluginContainerView initWithFrame:DOMElement:]):
              (-[WebKitPluginContainerView dealloc]):
              (-[WebKitPluginContainerView visibleRect]):
              * Plugins/WebPluginController.mm:
              (-[WebPluginController destroyAllPlugins]):
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView addSubview:]):
              (-[WebHTMLView willRemoveSubview:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@22019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e514edfd
  17. 25 May, 2007 1 commit
    • ggaren's avatar
      WebCore: · 2e941233
      ggaren authored
              Reviewed by Darin Adler.
      
              Fixed <rdar://problem/5055182> The page cache has no global cap.
              
              Beefed up the PageCache class to track which HistoryItems are 
              cached, and decide how to evict old HistoryItems as new ones are
              added.
      
              * history/BackForwardList.cpp: Removed support for managing the page cache
              through the BackForwardList since this is deprecated in Mac's 
              WebBackForwardList, and doesn't exist on other platforms.
              
              Added a Page* back pointer so that Mac WebBackForwardList can still support 
              its deprecated API, using the new hotness. This isn't a big burden, since 
              Page is responsible for calling BackForwardList::close upon destruction, 
              anyway.
      
              * history/HistoryItem.cpp: Replaced CachedPage* with boolean that tells
              you whether you're in the page cache. This prevents us from having more
              than one persistent repository for cached pages.
      
              * history/PageCache.cpp: If you're playing along at home, this code is 
              the reason for the patch.
      
              * loader/FrameLoader.cpp: If you're playing along at home, the minuses in
              this file are the reason for the patch.
              
              Replaced call to FrameLoaderClient::loadedFromCachedPage with its one-line
              implementation because WebCore calling itself through WebKit is uncivilized.
      
              * page/Settings.cpp: Added support for removing a Page's HistoryItems from
              the page cache.
      
      WebKit:
      
              Reviewed by Darin Adler.
      
              Fixed <rdar://problem/5055182> The page cache has no global cap.
              
              The main WebKit changes are:
                  1. Changed -[WebBackForwardList setPageCacheSize] and -[WebBackForwardList 
                  pageCacheSize] to accomodate the new global page cache model, updating
                  their documentation. 
                  
                  2. Added -[WebPreferences setShouldUsePageCache] and -[WebPreferences 
                  shouldUsePageCache] as pending public API.
                  
                  3. Centralized calculation of object cache and page cache sizes inside
                  WebPreferences. 
                  
                  Cchanged our old behavior of reading a preference and applying a fudge 
                  factor with a new behavior of just using the preference directly. The 
                  old behavior was confusing and often inappropriate. (For example, if 
                  you set a page cache size of 100, a 256MB machine would somewhat 
                  arbitrarily reduce that number to 98. ???)
      
              * WebView/WebView.mm: Added support for two flags to determine whether
              to use the page cache. If either -[WebBackForwardList setPageCacheSize:0]
              or -[WebPreferences setShouldUsePageCache:NO] is called, we don't use
              the page cache.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e941233
  18. 22 May, 2007 1 commit
  19. 21 May, 2007 1 commit
    • mjs's avatar
      Reviewed by Geoff. · 05011d70
      mjs authored
              
              <rdar://problem/5205358> REGRESSION (r21367): All messages appear entirely blank when running Mail off of tip of tree WebKit
              
              The fix is to return nil from [WebFrame dataSource] when it has not loaded anything but the fake
              empty initial document. However, WebKit still needs the real data source internally, so I also
              added a [WebFrame _dataSource] method that skips this check, and made WebKit use it throughout.
      
              * Misc/WebNSAttributedStringExtras.mm:
              (fileWrapperForElement):
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView dataSource]):
              * Plugins/WebNullPluginView.mm:
              (-[WebNullPluginView viewDidMoveToWindow]):
              * Plugins/WebPluginController.mm:
              (-[WebPluginController URLPolicyCheckReferrer]):
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge dataSource]):
              (-[WebFrameBridge redirectDataToPlugin:]):
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::makeDocumentView):
              (WebFrameLoaderClient::forceLayoutForNonHTML):
              (WebFrameLoaderClient::prepareForDataSourceReplacement):
              (WebFrameLoaderClient::canCachePage):
              * WebCoreSupport/WebViewFactory.mm:
              (-[WebViewFactory bridgeForView:]):
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebArchiver.mm:
              (+[WebArchiver archiveFrame:]):
              (+[WebArchiver archiveMainResourceForFrame:]):
              (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
              (+[WebArchiver archiveSelectionInFrame:]):
              * WebView/WebFrame.mm:
              (-[WebFrame _loadURL:referrer:intoChild:]):
              (-[WebFrame _addChild:]):
              (-[WebFrame _dataSource]):
              (-[WebFrame DOMDocument]):
              (-[WebFrame dataSource]):
              * WebView/WebFrameInternal.h:
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
              * WebView/WebRenderNode.mm:
              (-[WebRenderNode initWithWebFrameView:]):
              * WebView/WebView.mm:
              (-[WebView _mainFrameOverrideEncoding]):
              (-[WebView mainFrameURL]):
              (-[WebView mainFrameTitle]):
              (-[WebView mainFrameIcon]):
              (-[WebView validateUserInterfaceItemWithoutDelegate:]):
              (-[WebView replaceSelectionWithArchive:]):
              (-[WebView _isLoading]):
              (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
              (-[WebView _notifyTextSizeMultiplierChanged]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05011d70
  20. 15 May, 2007 2 commits
    • oliver's avatar
      2007-05-15 Oliver Hunt <oliver@apple.com> · 889f22d8
      oliver authored
      WebCore:
      
              Reviewed by Sam and Geoff.
      
              Removing dead code left behind from drag and drop refactoring.
      
              * page/mac/WebCoreFrameBridge.h:
      
      WebKit:
      
              Reviewed by Sam and Geoff.
              
              Removing dead code left behind from drag and drop refactoring.
      
              * WebCoreSupport/WebFrameBridge.mm:
              * WebView/WebHTMLView.mm:
              * WebView/WebHTMLViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      889f22d8
    • 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
  21. 10 May, 2007 1 commit
    • mjs's avatar
      LayoutTests: · 8d620d5e
      mjs authored
              Reviewed by Oliver.
              
              - new test case for:
              <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
              <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
      
              (The test case covers both scenarios.)
      
              * http/tests/misc/frame-access-during-load-expected.checksum: Added.
              * http/tests/misc/frame-access-during-load-expected.png: Added.
              * http/tests/misc/frame-access-during-load-expected.txt: Added.
              * http/tests/misc/frame-access-during-load.html: Added.
      
              - test results beneficially or harmlessly changed as a result of the above fixes
      
              * css2.1/t0801-c412-hz-box-00-b-a-expected.checksum:
              * css2.1/t0801-c412-hz-box-00-b-a-expected.png:
              * css2.1/t0801-c412-hz-box-00-b-a-expected.txt: This reflects an <object> containing
              an image now creating an image renderer.
      
              * dom/xhtml/level2/html/HTMLIFrameElement11-expected.txt: This is updated to a slightly
              less bad failure for access to a frame that's not loaded yet.
      
              The following test results now reflect the frame removal that the test was testing:
              
              * fast/dom/clientWidthAfterDocumentIsRemoved-expected.checksum:
              * fast/dom/clientWidthAfterDocumentIsRemoved-expected.png:
              * fast/dom/clientWidthAfterDocumentIsRemoved-expected.txt:
              * fast/dom/replaceChild-expected.checksum:
              * fast/dom/replaceChild-expected.png:
              * fast/dom/replaceChild-expected.txt:
      
              The following tests results now reflect empty document content for iframes that never load anything:
              
              * fast/events/focusingUnloadedFrame-expected.txt:
              * tables/mozilla_expected_failures/bugs/bug137388-1-expected.txt:
              * tables/mozilla_expected_failures/bugs/bug137388-2-expected.txt:
      
      WebCore:
      
              Reviewed by Oliver.
      
              - WebCore part of fix for:
              <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
              <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
      
              The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
              so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
              
              However, this caused many regressions so I had to fix the fallout.
              
              * WebCore.exp: fix symbol exports
              * bindings/js/kjs_window.cpp:
              (KJS::createNewWindow): useless "created" bool (we don't need it here)
              (KJS::WindowFunc::callAsFunction): detect if we created a new frame, because if so,
              we need to initialize the domain (can't count on it not having a document), also
              don't try to make a new document for it.
              Also, stop properly.
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::CSSStyleSelector): don't count on document having a view here
              * html/HTMLObjectElement.cpp:
              (WebCore::HTMLObjectElement::isImageType): Ask client, to match how other <object> renderer
              decisions are made.
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::FrameLoader): Initialize new data members
              (WebCore::FrameLoader::init): Do the slightly tricky sequence of steps to properly make
              an empty document with everything hooked up.
              (WebCore::FrameLoader::createWindow): Added "created" bool.
              (WebCore::FrameLoader::stopLoading): (whitespace change)
              (WebCore::FrameLoader::begin): Don't try to create an empty document.
              (WebCore::FrameLoader::finishedParsing): If creating an initial empty document, don't
              do any of this work.
              (WebCore::FrameLoader::checkCompleted): Do checkLoadComplete() as well.
              (WebCore::FrameLoader::baseURL): don't check for null document
              (WebCore::FrameLoader::baseTarget): ditto
              (WebCore::FrameLoader::completeURL): ditto
              (WebCore::FrameLoader::didTellBridgeAboutLoad): ditto
              (WebCore::FrameLoader::scheduleLocationChange): determine duringLoad differently; doc won't
              be null.
              (WebCore::FrameLoader::gotoAnchor): don't check for null document
              (WebCore::FrameLoader::canTarget): don't check for null document
              (WebCore::FrameLoader::stopForUserCancel): new method for explicit stops like window.stop().
              (WebCore::FrameLoader::transitionToCommitted): check for pre-loaded state properly
              (WebCore::FrameLoader::createEmptyDocument): removed
              (WebCore::FrameLoader::checkLoadCompleteForThisFrame): don't send delegate callbacks when making initial
              doc.
              (WebCore::FrameLoader::tokenizerProcessedData): Assume document; just checkCompleted now that it
              does checkLoadComplete.
              (WebCore::FrameLoader::receivedMainResourceError): assume document
              (WebCore::FrameLoader::saveDocumentState): Assume there's a document except during initial load
              (WebCore::FrameLoader::mainReceivedCompleteError): do checkCompleted, not checkLoadComplete
              (WebCore::FrameLoader::continueLoadWithData): assume document
              * loader/FrameLoader.h:
              * loader/MainResourceLoader.cpp:
              (WebCore::MainResourceLoader::receivedError): Add more ref protection and do things in a slightly
              different order.
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::document): don't force document creation, just assert there is one.
              * page/Frame.cpp:
              (WebCore::Frame::init): Added init method.
              (WebCore::Frame::pageDestroyed): when a frame is removed, make sure to check if the parent is
              done loading.
              * page/Frame.h:
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): No need to force
              document.
              (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): ditto
              * platform/graphics/svg/SVGImage.cpp:
              (WebCore::SVGImage::dataChanged): init the frame
              * rendering/RenderPart.cpp:
              (WebCore::RenderPart::updateWidgetPosition): If a subframe needs layout, then lay it out even
              if the bounds did not change; the content size might be wrong.
              * rendering/RenderTreeAsText.cpp:
              (WebCore::externalRepresentation): Don't crash if the frame lacks a view.
      
      WebKit:
      
              Reviewed by Oliver.
      
              - WebKit part of fix for:
              <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
              <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
      
              The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
              so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
              
              However, this caused many regressions so I had to fix the fallout.
      
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree
              with initial empty document now).
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame.
              (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
              * WebView/WebFrame.mm:
              (-[WebFrame stopLoading]): use stopForUserCancel().
              * WebView/WebFrameView.mm:
              (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
              * WebView/WebView.mm:
              (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from
              outside the view.
              (-[WebView _becomingFirstResponderFromOutside]): Return this value.
              * WebView/WebViewInternal.h:
      
      WebKitTools:
      
              Reviewed by Oliver.
              
              - don't clear events whenever an EventSendingController goes away, only do it at predictable times, 
              since destroying a subframe can make one go away
              
              (Discovered while fixing:
              
              <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
              <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
      
              * DumpRenderTree/DumpRenderTree.m:
              (runTest): explicitly clear saved events after every page load
              * DumpRenderTree/EventSendingController.h:
              * DumpRenderTree/EventSendingController.m:
              (-[EventSendingController dealloc]): don't clear saved events here...
              (+[EventSendingController clearSavedEvents]): do it here
              * Scripts/check-for-global-initializers:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d620d5e
  22. 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
  23. 18 Mar, 2007 1 commit
    • hyatt's avatar
      WebCore: · 0fa2fbcf
      hyatt authored
              Move frame borders out of WebKit and into WebCore.
      
              Reviewed by aroben, olliej
      
              * bridge/mac/FrameViewMac.mm:
              * css/html4.css:
              * html/HTMLFrameSetElement.cpp:
              (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
              (WebCore::HTMLFrameSetElement::mapToEntry):
              (WebCore::HTMLFrameSetElement::parseMappedAttribute):
              (WebCore::HTMLFrameSetElement::attach):
              * html/HTMLFrameSetElement.h:
              (WebCore::HTMLFrameSetElement::hasBorderColor):
              * page/FrameView.cpp:
              (WebCore::FrameViewPrivate::FrameViewPrivate):
              * page/FrameView.h:
              * page/mac/WebCoreFrameBridge.h:
              * platform/graphics/IntRect.h:
              (WebCore::IntRect::topLeft):
              (WebCore::IntRect::topRight):
              (WebCore::IntRect::bottomLeft):
              (WebCore::IntRect::bottomRight):
              * rendering/RenderFrame.cpp:
              (WebCore::RenderFrame::viewCleared):
              * rendering/RenderFrameSet.cpp:
              (WebCore::borderStartEdgeColor):
              (WebCore::borderEndEdgeColor):
              (WebCore::RenderFrameSet::paintColumnBorder):
              (WebCore::RenderFrameSet::paintRowBorder):
              (WebCore::RenderFrameSet::paint):
              * rendering/RenderFrameSet.h:
              * rendering/RenderPartObject.cpp:
              (WebCore::RenderPartObject::viewCleared):
              * rendering/RenderView.cpp:
              (WebCore::RenderView::repaintViewRectangle):
      
      WebKit:
      
              Move frame borders out of WebKit and into WebCore.
      
              Reviewed by aroben, olliej
      
              * WebCoreSupport/WebFrameBridge.mm:
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebFrameView.mm:
              (-[WebFrameView drawRect:]):
              (-[WebFrameView setFrameSize:]):
              * WebView/WebFrameViewInternal.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20269 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0fa2fbcf
  24. 13 Mar, 2007 1 commit
    • thatcher's avatar
      Reviewed by Geoff. · 2a0b08ae
      thatcher authored
              <rdar://problem/5057117> Spoof user agent on Yahoo.com with Safari and WebKit as version 4xx
      
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView userAgent]): Stop using the deprecated lossyCString method.
              * WebCoreSupport/WebFrameBridge.mm: Removed dead code, userAgentForURL: wasn't used.
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::userAgent): Call WebView's _userAgentForURL:.
              * WebView/WebView.mm:
              (-[WebView _cachedResponseForURL:]): Call userAgentForURL: instead of _userAgent.
              (-[WebView userAgentForURL:]): Call _userAgentForURL:.
              (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): New method to construct a UA.
              (-[WebView _computeUserAgent]): Ractored out into _userAgentWithApplicationName:andWebKitVersion:
              (-[WebView _userAgentForURL:]): Tail compare for Yahoo.com, and return a UA with an older WebKit version.
              * WebView/WebViewInternal.h: Declare _userAgentForURL:.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a0b08ae
  25. 11 Mar, 2007 1 commit
    • oliver's avatar
      2007-03-11 Oliver Hunt <oliver@apple.com> · 7bb7dc3d
      oliver authored
              Reviewed by Adele.
      WebCore:
              Moving Frame{Mac}::respondToChangedSelection to Frame.cpp
              Added new EditorClient method to handle old bridge function
              
              * bridge/EditorClient.h:
                 Added respondToChangedSelection to replace old bridge function
              * editing/Editor.cpp:
              (WebCore::Editor::respondToChangedSelection):
                 Add client call to replace old bridge call from Frame::respondToChangedSelection
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::setSelection):
                 No longer directly call Editor as Frame::respondToChangedSelection
                 makes the call
              * page/Frame.cpp:
              (WebCore::Frame::respondToChangedSelection):
                 Moved from FrameMac, replaced bridge call with call to Editor
              * page/mac/FrameMac.mm:
                 Moved respondToChangedSelection to Frame.cpp
              * page/mac/WebCoreFrameBridge.h:
                 Removed respondToChangedSelection from bridge
              * page/qt/FrameQt.cpp:
                 Remove stub method for respondToChangedSelection
      WebKit:
              Moved respondToChangedSelection from FrameBridge to EditorClient
      
              * WebCoreSupport/WebEditorClient.h:
              * WebCoreSupport/WebEditorClient.mm:
              (WebEditorClient::respondToChangedSelection):
              * WebCoreSupport/WebFrameBridge.mm:
                Removed respondToChangedSelection from bridge
      WebKitQt:
              Stub for EditorClientQt::respondToChangedSelection
      
              * WebCoreSupport/EditorClientQt.cpp:
              (WebCore::EditorClientQt::respondToChangedSelection):
              * WebCoreSupport/EditorClientQt.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7bb7dc3d
  26. 08 Mar, 2007 1 commit
    • thatcher's avatar
      WebCore: · 0c0b046a
      thatcher authored
              Reviewed by John.
      
              <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context
      
              Pass the RenderObject's node to customHighlightLineRect and paintCustomHighlight.
      
              * page/Frame.h:
              * page/mac/FrameMac.mm:
              (WebCore::Frame::customHighlightLineRect):
              (WebCore::Frame::paintCustomHighlight):
              * page/mac/WebCoreFrameBridge.h:
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paintCustomHighlight):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::paintCustomHighlight):
              * rendering/RootInlineBox.cpp:
              (WebCore::RootInlineBox::addHighlightOverflow):
              (WebCore::RootInlineBox::paintCustomHighlight):
      
      WebKit:
      
              Reviewed by John.
      
              <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context
      
              Added new methods to the WebHTMLHighlighter protocol that include the DOMNode being painted.
      
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge customHighlightRect:forLine:representedNode:WebCore::]):
              (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:representedNode:WebCore::]):
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebHTMLViewPrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c0b046a
  27. 22 Feb, 2007 1 commit
  28. 20 Feb, 2007 1 commit
    • thatcher's avatar
      WebCore: · a1d52ddf
      thatcher authored
              Reviewed by Darin.
      
              <rdar://problem/4900579> WebKit -finalize methods are not thread-safe; design change needed
      
              Call WebCoreObjCFinalizeOnMainThread from the initialize method of all the classes
              that have a finalizer that needs called on the main thread.
      
              * WebCore.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/objc/WebScriptObject.mm:
              (+[WebScriptObject initialize]):
              * bridge/mac/WebCoreScriptDebugger.mm:
              (+[WebCoreScriptDebugger initialize]):
              * platform/mac/SharedBufferMac.mm:
              (+[SharedBufferData initialize]):
              * platform/mac/WebCoreObjCExtras.c: Added.
              (WebCoreObjCFinalizeOnMainThread):
              * platform/mac/WebCoreObjCExtras.h: Added.
      
      WebKit:
      
              Reviewed by Darin.
      
              <rdar://problem/4900579> WebKit -finalize methods are not thread-safe; design change needed
      
              Call WebCoreObjCFinalizeOnMainThread from the initialize method of all the classes
              that have a finalizer that needs called on the main thread. Assert in finalize that we
              are on the main thread.
      
              * Carbon/CarbonWindowAdapter.m:
              (+[CarbonWindowAdapter initialize]):
              (-[CarbonWindowAdapter finalize]):
              * History/WebBackForwardList.mm:
              (+[WebBackForwardList initialize]):
              (-[WebBackForwardList finalize]):
              * History/WebHistoryItem.mm:
              (+[WebHistoryItem initialize]):
              * Misc/WebElementDictionary.mm:
              (+[WebElementDictionary initialize]):
              (-[WebElementDictionary finalize]):
              * Plugins/WebBaseNetscapePluginStream.m:
              (+[WebBaseNetscapePluginStream initialize]):
              (-[WebBaseNetscapePluginStream finalize]):
              * Plugins/WebBaseNetscapePluginView.mm:
              (+[WebBaseNetscapePluginView initialize]):
              (-[WebBaseNetscapePluginView finalize]):
              * Plugins/WebBasePluginPackage.m:
              (+[WebBasePluginPackage initialize]):
              (-[WebBasePluginPackage finalize]):
              * Plugins/WebNetscapePluginStream.mm:
              (-[WebNetscapePluginStream finalize]):
              * WebCoreSupport/WebEditorClient.mm:
              (+[WebEditCommand initialize]):
              (-[WebEditCommand finalize]):
              * WebCoreSupport/WebFrameBridge.mm:
              (+[WebFrameBridge initialize]):
              (-[WebFrameBridge finalize]):
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (+[WebFramePolicyListener initialize]):
              (-[WebFramePolicyListener finalize]):
              * WebView/WebHTMLView.mm:
              (+[WebHTMLView initialize]):
              (-[WebHTMLView finalize]):
              * WebView/WebView.mm:
              (+[WebViewPrivate initialize]):
              (-[WebViewPrivate finalize]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1d52ddf
  29. 19 Feb, 2007 1 commit
    • mjs's avatar
      WebCore: · c13fa54c
      mjs authored
              Reviewed by Maciej.
              
              Additional coding by Maciej, additional review by Oliver.
      
              Get rid of the FrameMac and FrameQt classes. Instead
              move all methods into Frame directly, and implement
              some platform specific methods in foo/FrameFoo.cpp.
      
              Some general cleanup in Frame:
              * Move some methods out of Frame, to the place where they 
              belong.
              * Unify the different ways of creating the JavaScript wrappers
              for <object>, <embed> and <applet>
              * Some cleanup of the WebCoreFrameBridge
      
              * ForwardingHeaders/bindings/NP_jsobject.h: Added.
              * ForwardingHeaders/bindings/npruntime_impl.h: Added.
              * ForwardingHeaders/bindings/runtime_root.h: Added.
              * WebCore.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/kjs_binding.cpp:
              (KJS::ScriptInterpreter::shouldInterruptScript):
              * bindings/objc/DOM.mm:
              (-[DOMNode KJS::Bindings::]):
              * bindings/objc/DOMInternal.mm:
              (-[WebScriptObject _initializeScriptDOMNodeImp]):
              * bridge/EditorClient.h:
              * bridge/mac/FrameViewMac.mm:
              (WebCore::FrameView::updateBorder):
              (WebCore::FrameView::updateDashboardRegions):
              * bridge/mac/WebCoreAXObject.mm:
              (-[WebCoreAXObject rendererForView:]):
              * dom/Position.cpp:
              (WebCore::Position::next):
              * editing/CommandByName.cpp:
              (WebCore::Frame::execCopy):
              (WebCore::Frame::execCut):
              (WebCore::Frame::execPaste):
              * editing/Editor.cpp:
              (WebCore::Editor::canEdit):
              (WebCore::Editor::pasteWithPasteboard):
              (WebCore::Editor::paste):
              (WebCore::Editor::pasteAsPlainText):
              * editing/Editor.h:
              * editing/JSEditor.cpp:
              * html/HTMLAppletElement.cpp:
              (WebCore::HTMLAppletElement::getInstance):
              * html/HTMLEmbedElement.cpp:
              (WebCore::HTMLEmbedElement::getInstance):
              * html/HTMLFormElement.cpp:
              (WebCore::HTMLFormElement::formData):
              * html/HTMLObjectElement.cpp:
              (WebCore::HTMLObjectElement::getInstance):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::clear):
              (WebCore::FrameLoader::detachFromParent):
              * loader/mac/ImageDocumentMac.mm:
              (WebCore::finishImageLoad):
              * loader/qt/DocumentLoaderQt.cpp:
              * page/Chrome.cpp:
              (WebCore::Chrome::shouldInterruptJavaScript):
              * page/Chrome.h:
              * page/ChromeClient.h:
              * page/Frame.cpp:
              (WebCore::Frame::~Frame):
              (WebCore::Frame::markedTextRange):
              (WebCore::Frame::shouldChangeSelection):
              (WebCore::Frame::shouldDeleteSelection):
              (WebCore::Frame::isContentEditable):
              (WebCore::Frame::setSecureKeyboardEntry):
              (WebCore::Frame::isSecureKeyboardEntry):
              (WebCore::Frame::bindingRootObject):
              (WebCore::Frame::createRootObject):
              (WebCore::Frame::windowScriptNPObject):
              (WebCore::Frame::cleanupScriptObjects):
              (WebCore::FramePrivate::FramePrivate):
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameView.h:
              * page/mac/EventHandlerMac.mm:
              (WebCore::EventHandler::tabsToLinks):
              (WebCore::EventHandler::tabsToAllControls):
              (WebCore::EventHandler::focusDocumentView):
              (WebCore::EventHandler::passMouseDownEventToWidget):
              (WebCore::EventHandler::handleDrag):
              (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
              (WebCore::EventHandler::keyboardUIMode):
              * page/mac/FrameMac.h: Removed.
              * page/mac/FrameMac.mm:
              (WebCore::Frame::setBridge):
              (WebCore::Frame::bridge):
              (WebCore::Frame::searchForLabelsAboveCell):
              (WebCore::Frame::searchForLabelsBeforeElement):
              (WebCore::Frame::matchLabelsAgainstElement):
              (WebCore::Frame::focusWindow):
              (WebCore::Frame::unfocusWindow):
              (WebCore::Frame::imageFromRect):
              (WebCore::Frame::selectionImage):
              (WebCore::Frame::snapshotDragImage):
              (WebCore::Frame::fontAttributesForSelectionStart):
              (WebCore::Frame::baseWritingDirectionForSelectionStart):
              (WebCore::Frame::print):
              (WebCore::Frame::issuePasteCommand):
              (WebCore::Frame::issueTransposeCommand):
              (WebCore::Frame::respondToChangedSelection):
              (WebCore::Frame::textFieldDidBeginEditing):
              (WebCore::Frame::textFieldDidEndEditing):
              (WebCore::Frame::textDidChangeInTextField):
              (WebCore::Frame::textDidChangeInTextArea):
              (WebCore::Frame::doTextFieldCommandFromEvent):
              (WebCore::Frame::textWillBeDeletedInTextField):
              (WebCore::Frame::setSecureKeyboardEntry):
              (WebCore::Frame::isSecureKeyboardEntry):
              (WebCore::Frame::setMarkedTextRange):
              (WebCore::Frame::dashboardRegionsDictionary):
              (WebCore::Frame::dashboardRegionsChanged):
              (WebCore::Frame::willPopupMenu):
              (WebCore::Frame::isCharacterSmartReplaceExempt):
              (WebCore::Frame::setNeedsReapplyStyles):
              (WebCore::Frame::customHighlightLineRect):
              (WebCore::Frame::paintCustomHighlight):
              (WebCore::Frame::createScriptInstanceForWidget):
              (WebCore::Frame::windowScriptObject):
              (WebCore::Frame::cleanupPlatformScriptObjects):
              * page/mac/WebCoreFrameBridge.h:
              * page/mac/WebCoreFrameBridge.mm:
              (createRootObject):
              (bridge):
              (-[WebCoreFrameBridge _frame]):
              * page/qt/EventHandlerQt.cpp:
              * page/qt/FrameQt.cpp:
              (WebCore::Frame::unfocusWindow):
              (WebCore::Frame::focusWindow):
              (WebCore::Frame::issueTransposeCommand):
              (WebCore::Frame::respondToChangedSelection):
              (WebCore::Frame::print):
              (WebCore::Frame::createScriptInstanceForWidget):
              (WebCore::Frame::cleanupPlatformScriptObjects):
              (WebCore::Frame::isCharacterSmartReplaceExempt):
              * page/qt/FrameQt.h: Removed.
              * platform/MimeTypeRegistry.h:
              * platform/graphics/svg/SVGImage.cpp:
              (WebCore::SVGImage::setData):
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyChromeClient::shouldInterruptJavaScript):
              (WebCore::SVGEmptyEditorClient::shouldChangeSelectedRange):
              * platform/mac/ClipboardMac.h:
              * platform/mac/ClipboardMac.mm:
              (WebCore::ClipboardMac::ClipboardMac):
              * platform/mac/FileChooserMac.mm:
              (-[OpenPanelController beginSheetWithFrame:]):
              * platform/mac/MimeTypeRegistryMac.mm:
              (WebCore::MimeTypeRegistry::getMIMETypeForPath):
              * platform/mac/PopupMenuMac.mm:
              (WebCore::PopupMenu::show):
              * platform/mac/WidgetMac.mm:
              (WebCore::Widget::setFocus):
              (WebCore::Widget::setIsSelected):
              * platform/network/mac/ResourceHandleMac.mm:
              * platform/network/qt/ResourceHandleManagerQt.cpp:
              * platform/network/qt/ResourceHandleQt.cpp:
              (WebCore::ResourceHandle::start):
              * platform/qt/MimeTypeRegistryQt.cpp:
              (WebCore::MimeTypeRegistry::getMIMETypeForPath):
              * platform/qt/PopupMenuQt.cpp:
              * platform/qt/ScrollViewCanvasQt.cpp:
              * platform/qt/ScrollViewQt.cpp:
              * platform/win/TemporaryLinkStubs.cpp:
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paintCustomHighlight):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::paintCustomHighlight):
              * rendering/RootInlineBox.cpp:
              (WebCore::RootInlineBox::addHighlightOverflow):
              (WebCore::RootInlineBox::paintCustomHighlight):
      
      WebKit:
      
              Reviewed by Maciej.
      
              Additional coding by Maciej, additional review by Oliver.
      
              Added implementations for the new callbacks in EditorClient
              and ChromeClient (basically moved from WebFrameBridge).
              Cleaned up some code paths that are not called anymore
              and done fully inside WebCore now.
      
              * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
              * Misc/WebElementDictionary.mm:
              * Misc/WebNSAttributedStringExtras.mm:
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView getVariable:value:]):
              * Plugins/WebNetscapePluginEmbeddedView.mm:
              * Plugins/WebNetscapePluginStream.mm:
              * Plugins/WebPluginContainerCheck.mm:
              * WebCoreSupport/WebChromeClient.h:
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::shouldInterruptJavaScript):
              * WebCoreSupport/WebEditorClient.h:
              * WebCoreSupport/WebEditorClient.mm:
              (WebEditorClient::shouldChangeSelectedRange):
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]):
              (-[WebFrameBridge fini]):
              * WebCoreSupport/WebFrameLoaderClient.mm:
              * WebView/WebArchiver.mm:
              * WebView/WebFrame.mm:
              (core):
              (kit):
              (-[WebFrame _updateBackground]):
              * WebView/WebFrameInternal.h:
              * WebView/WebFrameView.mm:
              * WebView/WebHTMLRepresentation.mm:
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _updateMouseoverWithEvent:]):
              (-[WebHTMLView _isEditable]):
              (-[WebHTMLView validateUserInterfaceItem:]):
              (-[WebHTMLView maintainsInactiveSelection]):
              (-[WebHTMLView scrollWheel:]):
              (-[WebHTMLView acceptsFirstMouse:]):
              (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
              (-[WebHTMLView cut:]):
              (-[WebHTMLView paste:]):
              (-[WebHTMLView selectedAttributedString]):
              * WebView/WebScriptDebugDelegate.mm:
              * WebView/WebView.mm:
              (-[WebView _dashboardRegions]):
              (-[WebView setProhibitsMainFrameScrolling:]):
              (-[WebView _setInViewSourceMode:]):
              (-[WebView _inViewSourceMode]):
              (-[WebView shouldClose]):
              (-[WebView setEditable:]):
      
      WebKitQt:
      
              Reviewed by Maciej.
      
              Additional coding by Maciej, additional review by Oliver.
      
              Add stubs for the new methods in ChormeClient and EditorClient,
              remove all references to FrameQt.
      
              * Api/qwebframe.cpp:
              (QWebFrame::QWebFrame):
              * Api/qwebframe_p.h:
              * Api/qwebpage.cpp:
              * WebCoreSupport/ChromeClientQt.cpp:
              (WebCore::ChromeClientQt::shouldInterruptJavaScript):
              * WebCoreSupport/ChromeClientQt.h:
              * WebCoreSupport/EditorClientQt.cpp:
              (WebCore::EditorClientQt::shouldChangeSelectedRange):
              (WebCore::EditorClientQt::isEditable):
              * WebCoreSupport/EditorClientQt.h:
              * WebCoreSupport/FrameLoaderClientQt.cpp:
              (WebCore::FrameLoaderClientQt::setFrame):
              (WebCore::FrameLoaderClientQt::webFrame):
              * WebCoreSupport/FrameLoaderClientQt.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19702 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c13fa54c
  30. 09 Feb, 2007 1 commit
    • justing's avatar
      LayoutTests: · a1919e50
      justing authored
              Reviewed by darin
      
              * editing/selection/4975120-expected.checksum: Added.
              * editing/selection/4975120-expected.png: Added.
              * editing/selection/4975120-expected.txt: Added.
              * editing/selection/4975120.html: Added.
      
      WebCore:
      
              Reviewed by darin
      
              <rdar://problem/4975120>
              REGRESSION: double-cursor after switching window away/back (11770)
              <http://bugs.webkit.org/show_bug.cgi?id=11328>
              Gmail Editor: Caret can simultaneously appear in both the TO: and message body fields
      
              * page/mac/WebCoreFrameBridge.h: Removed two unused methods
              left over from the old form control implementation.
      
      WebKit:
      
              Reviewed by darin
              
              <rdar://problem/4975120>
              REGRESSION: double-cursor after switching window away/back (11770)
              <http://bugs.webkit.org/show_bug.cgi?id=11328>
              Gmail Editor: Caret can simultaneously appear in both the TO: and message body fields
      
              * WebCoreSupport/WebFrameBridge.mm: Removed unused methods.
              * WebView/WebHTMLView.mm: Ditto.
              (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Don't 
              appear focused if a descendant view is firstResponder.
              (-[WebHTMLView _updateActiveState]): Removed the check for a BOOL
              that was always false.
              * WebView/WebHTMLViewInternal.h: Removed a BOOL that's always false.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1919e50
  31. 07 Feb, 2007 1 commit
    • andersca's avatar
      WebCore: · fe6e4dd1
      andersca authored
              Reviewed by Maciej.
      
              Move shouldInterruptJavaScript to the Chrome.
      
              * bindings/js/kjs_binding.cpp:
              (KJS::ScriptInterpreter::shouldInterruptScript):
              * page/Chrome.cpp:
              (WebCore::Chrome::shouldInterruptJavaScript):
              * page/Chrome.h:
              * page/ChromeClient.h:
              * page/Frame.h:
              * page/mac/FrameMac.h:
              * page/mac/FrameMac.mm:
              * page/mac/WebCoreFrameBridge.h:
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyChromeClient::shouldInterruptJavaScript):
      
      WebKit:
      
              Reviewed by Maciej.
      
              Move shouldInterruptJavaScript to the Chrome.
              
              * WebCoreSupport/WebChromeClient.h:
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::shouldInterruptJavaScript):
              * WebCoreSupport/WebFrameBridge.mm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe6e4dd1
  32. 31 Jan, 2007 1 commit
    • oliver's avatar
      · a485c2f2
      oliver authored
      liver Hunt  <oliver@apple.com>
      
              Reviewed by Adam.
      WebCore:
              Migrate more drag and drop logic to WebCore, start preparing
              to move EventHandler::handleDrag from EventHandlerMac to EventHandler 
      
              * WebCore.exp:   
                updating methods
                          
              * dom/Clipboard.cpp:
              * dom/Clipboard.h:
              (WebCore::Clipboard::Clipboard):
              (WebCore::Clipboard::setDragHasStarted):
              (WebCore::Clipboard::dragStarted): 
                Moving from ClipboardMac to Clipboard 
      
              * dom/EventTargetNode.cpp:
              (WebCore::EventTargetNode::dispatchMouseEvent):
                PlatformMouseEvent no longer lies about button state, however 
                DOM Events don't allow NoButton, so we need to convert NoButton 
                to LeftButton when we create a DOM Event from PlatformMouseEvent
      
              * page/DragClient.h:
                Tidying comment 
      
              * page/DragController.cpp:
              (WebCore::createMouseEvent):
                Updated for new PlatformMouseEvent constructors
              (WebCore::DragController::mayStartDragAtEventLocation):
                Migrated from WebKit
      
              * page/DragController.h:
                Added above function declarations
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::dragState): 
              (WebCore::EventHandler::dragHysteresisExceeded):
              (WebCore::EventHandler::freeClipboard):
              (WebCore::EventHandler::shouldDragAutoNode):
                Moved from EventHandlerMac
              (WebCore::EventHandler::handleMouseMoveEvent):
              (WebCore::EventHandler::eventMayStartDrag):
              (WebCore::EventHandler::handleMousePressEvent):
                Use DragController     
      
              * page/EventHandler.h:
                Added DragState struct definition to EventHandler
      
              * page/mac/EventHandlerMac.mm:
              (WebCore::EventHandler::eventActivatedView):
              (WebCore::EventHandler::handleDrag):
              (WebCore::EventHandler::handleMouseUp):
              (WebCore::EventHandler::mouseDown):
                Update to use DragController and PlatformMouseEvent
      
              * page/mac/WebCoreFrameBridge.h:
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge dragSourceMovedTo:]):
              (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
                Use DragController for state               
      
      WebKit:
              Migrating methods to WebCore
      
              * WebCoreSupport/WebFrameBridge.mm:
              * WebView/WebHTMLView.mm:
              * WebView/WebHTMLViewPrivate.h:
                                               
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a485c2f2
  33. 29 Jan, 2007 1 commit
    • oliver's avatar
      2007-01-25 Oliver Hunt <oliver@apple.com> · e71315c1
      oliver authored
              Reviewed by Adam.
      WebKit:
              Migrated drag state and logic to WebCore, removed superfluous methods
      
              * ChangeLog:
              * WebCoreSupport/WebDragClient.h:
              * WebCoreSupport/WebDragClient.mm:
              (WebDragClient::dragSourceActionMaskForPoint):
              * WebCoreSupport/WebFrameBridge.mm:
                 allowDHTMLDrag move to WebCore::EventHandler
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
              (-[WebHTMLView draggedImage:movedTo:]):
              (-[WebHTMLView draggedImage:endedAt:operation:]):
                dragOffset and dragSourecAction is now stored in WebCore::DragController
                migrated _delegateDragSourceActionMask to WebCore::DragController
              * WebView/WebHTMLViewInternal.h:
                Removed dragOffset declaration, migrated to WebCore::DragController
              * WebView/WebView.mm:
                removed unnecessary method, _loadingDragOperationForDraggingInfo                       
      
      WebKitQt:       
              Reviewed by Adam.
      
              Stub for new DragClient method
      
              * WebCoreSupport/DragClientQt.cpp:
              (WebCore::DragClientQt::dragSourceActionMaskForPoint):
              * WebCoreSupport/DragClientQt.h:                  
      
      WebCore:
              Reviewed by Adam.
      
              Migrated more drag logic and state to WebCore
                                                    
              * page/DragClient.h:       
      
              * page/DragController.cpp:
              (WebCore::DragController::delegateDragSourceAction):
                New forwarding method for the UI delegate
              * page/DragController.h:
              (WebCore::DragController::dragOffset):
                Now store the drag offset -- the offset of the cursor relative to the drag image)
                in DragController
              * page/EventHandler.cpp:
              (WebCore::EventHandler::allowDHTMLDrag):
                Moved from WebFrameBridge
              * page/EventHandler.h:
              * page/mac/EventHandlerMac.mm:
              (WebCore::EventHandler::eventMayStartDrag):
              (WebCore::EventHandler::handleDrag):                  
                EventHandlerMac now uses EventHandler::allowDHTMLDrag rather than the 
                implementation in WebFrameBridge
              * page/mac/WebCoreFrameBridge.h:
                removed definition of allowDHTMLDrag from WebFrameBridge
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyDragClient::dragSourceActionMaskForPoint):
                Updated empty DragClient
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e71315c1
  34. 23 Jan, 2007 2 commits
    • lars's avatar
      Reviewed by Maciej · 1e1dad3d
      lars authored
              Make the last remaining pieces of the FrameLoader platform 
              independent. Move most of the code over to WebFrameLoaderClient.
              Some smaller cleanups in the WebFrameBridge, and moved some
              platform independent functionality over to the shared code
              in WebCore.
      
              Add support for Frames to the Qt build and fix some issues
              in the API classes.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e1dad3d
    • oliver's avatar
      2007-01-23 Oliver Hunt <oliver@apple.com> · 67ff178d
      oliver authored
              Reviewed by Adam.
      
              Drop logic bindings for WebKit
      
              * WebCoreSupport/WebDragClient.h: Added.
              * WebCoreSupport/WebDragClient.mm: Added.
              (WebDragClient::WebDragClient):
              (WebDragClient::actionMaskForDrag):
              (WebDragClient::willPerformDragDestinationAction):
                Standard client impl
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
                Updated to use DragController to track drag state
          
              * WebCoreSupport/WebPasteboardHelper.h: Added.
              (WebPasteboardHelper::WebPasteboardHelper):
                A *temporary* Helper class to access NSPasteboard access and 
                manipulation functions present in WebKit
              * WebCoreSupport/WebPasteboardHelper.mm: Added.
              (WebPasteboardHelper::urlFromPasteboard):
              (WebPasteboardHelper::plainTextFromPasteboard):
              (WebPasteboardHelper::fragmentFromPasteboard):
              (WebPasteboardHelper::insertablePasteboardTypes):
                See header comment
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebDocumentInternal.h:
                Remove unnecessary protocol
              * WebView/WebFrameView.mm:
              (-[WebFrameView _setDocumentView:]):
                Updating to use DragController to track drag state
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
                ditto
              (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
                ditto
              (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
                ditto
              (-[WebHTMLView draggedImage:endedAt:operation:]):
                ditto          
              (-[WebHTMLView _documentFragmentForPasteboard:]):
                Helper method to generate DocumentFragment from NSPasteboard without regressing 
              (-[WebHTMLView _canProcessDragWithDraggingInfo:]):
                Updating to use DragController to track drag state
              (-[WebHTMLView _isMoveDrag:]):
              (-[WebHTMLView _isNSColorDrag:]):
              * WebView/WebHTMLViewInternal.h:
                Removing unnecessary fields and methods
              * WebView/WebView.mm:
              (-[WebViewPrivate dealloc]):
                Remove obsolete ASSERT
              (-[WebView _setInitiatedDrag:]):
                Now passes directly through to DragController
              (-[WebView _commonInitializationWithFrameName:groupName:]):
              (-[WebView _loadingDragOperationForDraggingInfo:]):
                Removed
              (-[WebView draggingEntered:]):
                Updated to use DragController
              (-[WebView draggingUpdated:]):
                ditto
              (-[WebView draggingExited:]):
                ditto
              (-[WebView performDragOperation:]):
                ditto
              (-[WebView _hitTest:dragTypes:]):
              * WebView/WebViewInternal.h:
                remove unnecessary method def
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      67ff178d
  35. 19 Jan, 2007 1 commit
    • andersca's avatar
      WebCore: · 15375c76
      andersca authored
              Reviewed by Adam.
      
              Move JavaScript alert and status bar functions to the chrome.
              
              * bindings/js/kjs_window.cpp:
              (KJS::WindowFunc::callAsFunction):
              * page/Chrome.cpp:
              (WebCore::Chrome::runJavaScriptAlert):
              (WebCore::Chrome::runJavaScriptConfirm):
              (WebCore::Chrome::runJavaScriptPrompt):
              (WebCore::Chrome::setStatusBarText):
              * page/Chrome.h:
              * page/ChromeClient.h:
              * page/Frame.cpp:
              (WebCore::Frame::setJSStatusBarText):
              (WebCore::Frame::setJSDefaultStatusBarText):
              * page/Frame.h:
              * page/mac/FrameMac.h:
              * page/mac/FrameMac.mm:
              * page/mac/WebCoreFrameBridge.h:
              * platform/graphics/svg/SVGImageEmptyClients.h:
              (WebCore::SVGEmptyChromeClient::runJavaScriptAlert):
              (WebCore::SVGEmptyChromeClient::runJavaScriptConfirm):
              (WebCore::SVGEmptyChromeClient::runJavaScriptPrompt):
              (WebCore::SVGEmptyChromeClient::setStatusBarText):
      
      WebKit:
      
              Reviewed by Adam.
      
              Move functions from the bridge to the chrome client.
              
              * WebCoreSupport/WebChromeClient.h:
              * WebCoreSupport/WebChromeClient.mm:
              (WebChromeClient::runJavaScriptAlert):
              (WebChromeClient::runJavaScriptConfirm):
              (WebChromeClient::runJavaScriptPrompt):
              (WebChromeClient::setStatusBarText):
              * WebCoreSupport/WebFrameBridge.mm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      15375c76
  36. 08 Jan, 2007 1 commit
    • andersca's avatar
      WebCore: · b2fc18af
      andersca authored
              Reviewed by Brady.
      
              Move some history related functions off the bridge and into FrameLoader directly.
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::canGoBackOrForward):
              (WebCore::FrameLoader::getHistoryLength):
              (WebCore::FrameLoader::historyURL):
              * loader/mac/FrameLoaderMac.mm:
              * page/mac/WebCoreFrameBridge.h:
      
      WebKit:
      
              Reviewed by Brady.
      
              Remove bridge functions that are implemented directly in FrameLoader now.
              
              * WebCoreSupport/WebFrameBridge.mm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18694 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2fc18af
  37. 04 Jan, 2007 1 commit
    • aroben's avatar
      LayoutTests: · 59245e65
      aroben authored
              Reviewed by Geoff.
      
              Added new tests for tabindex and tabbing into/out of subframes.
      
              * fast/dom/tabindex-clamp-expected.txt: Added.
              * fast/dom/tabindex-clamp.html: Added.
              * fast/events/frame-click-focus-expected.txt: Added.
              * fast/events/frame-click-focus.html: Added.
              * fast/events/frame-tab-focus-expected.txt: Added.
              * fast/events/frame-tab-focus.html: Added.
              * fast/events/resources/frame-tab-focus-child.html: Added.
              * fast/events/resources/frame-tab-focus-empty-child.html: Added.
              * fast/events/resources/frame-tab-focus-empty-middle.html: Added.
              * fast/events/resources/frame-tab-focus-middle.html: Added.
              * fast/events/resources/frame-tab-focus-upper.html: Added.
              * fast/html/tab-order-expected.txt: Added.
              * fast/html/tab-order.html: Added.
      
              Updated test to match new behavior.
      
              * fast/forms/focus2-expected.txt: Updated results.
              * fast/forms/focus2.html: Fixed typo, and reduced the number of tab
              events dispatched now that frames containing focusable elements aren't
              themselves in the tab order.
      
      WebCore:
      
              Reviewed by Geoff.
      
              Fix: <rdar://4800335> REGRESSION: shift-tabbing from location field
              goes to first field rather than last (businessweek.com)
      
              Fix: <rdar://4800373> REGRESSION: tabbing from last control focuses
              nothing visible (busniessweek.com)
      
              Handle tabbing into/out of subframes in WebCore instead of letting
              AppKit do the dirty work. This change also fixes a number of bugs and
              changes some behavior to match other browsers:
                - No frames receive a focus event when the page is first loaded.
                - When a frame is clicked or focused with the keyboard, it receives
                  a focus event and all other frames receive a blur event.
                - tabindex values are clamped to the range of a signed short, rather
                  than overflowing within an unsigned short.
                - tabindex is respected on frame owner elements, even though HTML4
                  says it shouldn't be.
                - Subframes will be focused when tabbing if they don't contain any
                  focusable elements within them (it would be nice to only focus the
                  frame if it has scrollbars).
      
              Renamed SelectionDirection to FocusDirection and put it in its own file.
      
              * page/FocusDirection.h: Added.
              (WebCore::):
              * page/mac/WebCoreFrameBridge.mm: Updated for renames.
              (-[WebCoreFrameBridge nextKeyView]):
              (-[WebCoreFrameBridge previousKeyView]):
              (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
              (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
      
              Moved advanceFocus from EventHandler to FocusController and added
              support for moving into/out of subframes..
      
              * page/EventHandler.cpp: Moved advanceFocus to FocusController.
              * page/EventHandler.h: Ditto.
              * page/FocusController.cpp:
              (WebCore::deepFocusableNode): Static helper function to find focusable
              nodes nested within frames.
              (WebCore::FocusController::advanceFocus): Moved from EventHandler and
              rewritten to handle subframes.
              * page/FocusController.h: Added advanceFocus declaration.
              * dom/EventTargetNode.cpp:
              (WebCore::EventTargetNode::defaultEventHandler): Updated for the move
              of advanceFocus to FocusController.
              * html/HTMLFrameOwnerElement.h:
              (WebCore::HTMLFrameOwnerElement::isFrameOwnerElement): New method.
              (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable): New virtual
              implementation used to trick Document::nextFocusableNode so that we
              can focus frames.
      
              Rewrote/renamed
              Document::nextFocusableNode/Document::previousFocusableNode.
      
              * dom/Document.cpp:
              (WebCore::nextNodeWithExactTabIndex): New static helper
              function.
              (WebCore::previousNodeWithExactTabIndex): Ditto.
              (WebCore::nextNodeWithGreaterTabIndex): Ditto.
              (WebCore::previousNodeWithLowerTabIndex): Ditto.
              (WebCore::Document::nextFocusableNode): Renamed from nextFocusedNode,
              and rewritten with much simpler logic.
              (WebCore::Document::previousFocusableNode): Ditto.
              * dom/Document.h: Updated declarations for renames.
              * page/mac/EventHandlerMac.mm: Updated for rename of SelectionDirection
              to FocusDirection.
              (WebCore::EventHandler::nextKeyViewInFrame): Updated for renames.
              (WebCore::EventHandler::nextKeyViewInFrameHierarchy): Ditto.
              (WebCore::EventHandler::nextKeyView): Ditto.
              (WebCore::EventHandler::focusDocumentView): Added call to
              setFocusedFrame when focusing the document view.
              (WebCore::EventHandler::passMouseDownEventToWidget): Removed LOG_ERROR
              when a nil NSView is returned from AppKit, as this is a fairly common
              occurrence when a RenderWidget has a border.
              (WebCore::EventHandler::passWheelEventToWidget): Added a nil-check of
              the hit-tested NSView.
      
              Changed storage of tabIndex to a signed short, and added clamping of
              tabindex attribute values to match Firefox's behavior.
      
              * dom/Node.h: Use a signed short to store m_tabIndex.
              (WebCore::Node::isFrameOwnerElement): New method.
              (WebCore::Node::tabIndex): Updated for signedness.
              (WebCore::Node::setTabIndex): Ditto.
              * html/HTMLAnchorElement.cpp: Remove implementation of tabIndex() so
              that Node::tabIndex() will be called instead and return the clamped
              value (which matches Firefox's behavior).
              * html/HTMLAnchorElement.h: Ditto.
              * html/HTMLAreaElement.cpp: Ditto.
              * html/HTMLAreaElement.h: Ditto.
              * html/HTMLGenericFormElement.cpp: Ditto.
              * html/HTMLGenericFormElement.h: Ditto.
              * html/HTMLObjectElement.cpp: Ditto.
              * html/HTMLObjectElement.h: Ditto.
              * html/HTMLElement.cpp:
              (WebCore::HTMLElement::parseMappedAttribute): Clamp tabIndex to the
              range of a signed short to match Firefox.
      
              Added two new Chrome methods for transferring focus out of the
              WebView.
      
              * page/Chrome.cpp:
              (WebCore::Chrome::canTakeFocus):
              (WebCore::Chrome::takeFocus):
              * page/Chrome.h:
              * page/ChromeClient.h:
              * platform/graphics/svg/SVGImageEmptyClients.h: Fixed typo "CromeClient" -> "ChromeClient".
              (WebCore::SVGEmptyChromeClient::~SVGEmptyChromeClient):
              (WebCore::SVGEmptyChromeClient::canTakeFocus):
              (WebCore::SVGEmptyChromeClient::takeFocus):
              * platform/graphics/svg/SVGImage.cpp:
              (WebCore::SVGImage::setData): Fixed typo.
      
              Miscellaneous:
      
              * WebCore.exp: Updated/sorted symbols.
              * WebCore.xcodeproj/project.pbxproj: Made FocusController.h Private so
              WebKit can access it.
      
      WebKit:
      
              Reviewed by Geoff.
      
              Remove WebKit/AppKit from handling tabbing between subframes.
      
              * WebCoreSupport/WebChromeClient.h: Added new ChromeClient methods for
              moving focus out of the WebView.
              * WebCoreSupport/WebChromeClient.mm: Ditto.
              (WebChromeClient::canTakeFocus):
              (WebChromeClient::takeFocus):
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge webView]): Added null-check of m_frame.
              * WebView/WebHTMLView.m: Removed -[WebHTMLView nextValidKeyView].
              (-[WebHTMLView _updateActiveState]): Changed to focus the frame if
              WebCore believes it to be the focused frame.
              (-[WebHTMLView becomeFirstResponder]): Rewrote to call into
              FocusController to place focus correctly within the WebView.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59245e65
  38. 02 Jan, 2007 1 commit
    • beidson's avatar
      WebCore: · 50c3bd88
      beidson authored
              Reviewed extensively and repeatedly by Darin
      
              <rdar://problem/4887137> - WebCore Back/Forward Cache
      
              * WebCore.exp:
              * WebCore.xcodeproj/project.pbxproj:
      
              * bridge/mac/WebCorePageState.h: Removed.
              * bridge/mac/WebCorePageState.mm: Removed.
      
              * history/BackForwardList.cpp: Added - This largely emulates the design of WebBackForwardList
              (WebCore::BackForwardList::BackForwardList):
              (WebCore::BackForwardList::~BackForwardList):
              (WebCore::BackForwardList::addItem):
              (WebCore::BackForwardList::goBack):
              (WebCore::BackForwardList::goForward):
              (WebCore::BackForwardList::goToItem):
              (WebCore::BackForwardList::backItem):
              (WebCore::BackForwardList::currentItem):
              (WebCore::BackForwardList::forwardItem):
              (WebCore::BackForwardList::backListWithLimit):
              (WebCore::BackForwardList::forwardListWithLimit):
              (WebCore::BackForwardList::capacity):
              (WebCore::BackForwardList::setCapacity):
              (WebCore::BackForwardList::setPageCacheSize):
              (WebCore::BackForwardList::pageCacheSize):
              (WebCore::BackForwardList::clearPageCache):
              (WebCore::BackForwardList::usesPageCache):
              (WebCore::BackForwardList::backListCount):
              (WebCore::BackForwardList::forwardListCount):
              (WebCore::BackForwardList::itemAtIndex):
              (WebCore::BackForwardList::entries):
              (WebCore::BackForwardList::close):
              (WebCore::BackForwardList::closed):
              (WebCore::BackForwardList::removeItem):
              (WebCore::BackForwardList::containsItem):
              (WebCore::BackForwardList::setDefaultPageCacheSize):
              (WebCore::BackForwardList::defaultPageCacheSize):
              * history/BackForwardList.h: Added.
      
              * history/HistoryItem.cpp: Added - This largely emulates the design of WebBackForwardList
              (WebCore::defaultNotifyHistoryItemChanged):
              (WebCore::HistoryItem::HistoryItem):
              (WebCore::HistoryItem::~HistoryItem):
              (WebCore::HistoryItem::copy):
              (WebCore::HistoryItem::setHasPageCache):
              (WebCore::HistoryItem::retainIconInDatabase):
              (WebCore::HistoryItem::urlString):
              (WebCore::HistoryItem::originalURLString):
              (WebCore::HistoryItem::title):
              (WebCore::HistoryItem::alternateTitle):
              (WebCore::HistoryItem::icon):
              (WebCore::HistoryItem::lastVisitedTime):
              (WebCore::HistoryItem::url):
              (WebCore::HistoryItem::originalURL):
              (WebCore::HistoryItem::target):
              (WebCore::HistoryItem::parent):
              (WebCore::HistoryItem::setAlternateTitle):
              (WebCore::HistoryItem::setURLString):
              (WebCore::HistoryItem::setURL):
              (WebCore::HistoryItem::setOriginalURLString):
              (WebCore::HistoryItem::setTitle):
              (WebCore::HistoryItem::setTarget):
              (WebCore::HistoryItem::setParent):
              (WebCore::HistoryItem::setLastVisitedTime):
              (WebCore::HistoryItem::visitCount):
              (WebCore::HistoryItem::setVisitCount):
              (WebCore::HistoryItem::scrollPoint):
              (WebCore::HistoryItem::setScrollPoint):
              (WebCore::HistoryItem::clearScrollPoint):
              (WebCore::HistoryItem::setDocumentState):
              (WebCore::HistoryItem::documentState):
              (WebCore::HistoryItem::clearDocumentState):
              (WebCore::HistoryItem::isTargetItem):
              (WebCore::HistoryItem::setIsTargetItem):
              (WebCore::HistoryItem::alwaysAttemptToUsePageCache):
              (WebCore::HistoryItem::setAlwaysAttemptToUsePageCache):
              (WebCore::HistoryItem::addChildItem):
              (WebCore::HistoryItem::childItemWithName):
              (WebCore::HistoryItem::recurseToFindTargetItem):
              (WebCore::HistoryItem::targetItem):
              (WebCore::HistoryItem::pageCache):
              (WebCore::HistoryItem::children):
              (WebCore::HistoryItem::hasChildren):
              (WebCore::HistoryItem::formContentType):
              (WebCore::HistoryItem::formReferrer):
              (WebCore::HistoryItem::rssFeedReferrer):
              (WebCore::HistoryItem::setRSSFeedReferrer):
              (WebCore::HistoryItem::setFormInfoFromRequest):
              (WebCore::HistoryItem::formData):
              (WebCore::HistoryItem::mergeAutoCompleteHints):
              (WebCore::HistoryItem::hasPageCache):
              (WebCore::timer): Function to manage the global release timer
              (WebCore::pendingPageCacheToRelease): Function to manage the global queue of caches to be released
              (WebCore::HistoryItem::releasePageCache):
              (WebCore::closeObjectsInPendingPageCaches):
              (WebCore::HistoryItem::releaseAllPendingPageCaches):
              (WebCore::HistoryItem::scheduleRelease):
              (WebCore::HistoryItem::print):
              * history/HistoryItem.h: Added.
              * history/mac/HistoryItemMac.mm: Added.
              (WebCore::HistoryItem::viewState): In the future we need a platform agnostic way to manage the view state
              (WebCore::HistoryItem::setViewState):
              (WebCore::HistoryItem::getTransientProperty): Transient properties are, for now, only a Mac concept
              (WebCore::HistoryItem::setTransientProperty):
      
              * history/HistoryItemTimer.cpp: Added
              (WebCore::HistoryItemTimer::HistoryItemTimer): We need a specific class to be the history item timer because
              WebCore::Timers only work when you have an instance of an object, but the caches pending release is a static concept
              (WebCore::HistoryItemTimer::isActive):
              (WebCore::HistoryItemTimer::schedule):
              (WebCore::HistoryItemTimer::invalidate):
              (WebCore::HistoryItemTimer::callReleasePageCache):
              * history/HistoryItemTimer.h: Added.
      
              * history/PageCache.cpp Added - This is a class that contains the fields that used to be in an NSDictionary in WebKit
              (WebCore::PageCache::PageCache):
              (WebCore::PageCache::setPageState):
              (WebCore::PageCache::~PageCache):
              (WebCore::PageCache::pageState):
              (WebCore::PageCache::setDocumentLoader):
              (WebCore::PageCache::documentLoader):
              (WebCore::PageCache::setTimeStamp):
              (WebCore::PageCache::setTimeStampToNow):
              (WebCore::PageCache::timeStamp):
              * history/PageCache.h: Added.
              * history/mac/PageCacheMac.mm: Added.
              (WebCore::PageCache::close):
              (WebCore::PageCache::setDocumentView): In the future we need a platform agnostic way to manage the documentView
              (WebCore::PageCache::documentView):
      
              * loader/DocumentLoader.cpp:
              (WebCore::DocumentLoader::loadFromPageCache):
              (WebCore::DocumentLoader::setLoadingFromPageCache): 
              (WebCore::DocumentLoader::isLoadingFromPageCache):
              (WebCore::DocumentLoader::originalURL):
              (WebCore::DocumentLoader::requestURL):
              (WebCore::DocumentLoader::responseURL):
              (WebCore::DocumentLoader::responseMIMEType):
              * loader/DocumentLoader.h:
      
              * loader/FrameLoader.cpp: Responsibilities previously scattered in WebKit but concentrated in WebView and WebFrame 
                are now here, where they should be.
              (WebCore::FrameLoader::clear):
              (WebCore::FrameLoader::restoreDocumentState):
              (WebCore::FrameLoader::goBackOrForward):
              (WebCore::FrameLoader::provisionalLoadStarted):
              (WebCore::FrameLoader::canCachePage):
              (WebCore::FrameLoader::commitProvisionalLoad):
              (WebCore::FrameLoader::transitionToCommitted):
              (WebCore::FrameLoader::open):
              (WebCore::FrameLoader::didFirstLayout):
              (WebCore::FrameLoader::dispatchDidChangeLocationWithinPage):
              (WebCore::FrameLoader::dispatchDidFinishLoadToClient):
              (WebCore::FrameLoader::updateGlobalHistoryForStandardLoad): Marked for usage in future GlobalHistory (uses client for now)
              (WebCore::FrameLoader::updateGlobalHistoryForReload): Ditto
              (WebCore::FrameLoader::shouldGoToHistoryItem):
              (WebCore::FrameLoader::addExtraFieldsToRequest):
              (WebCore::FrameLoader::addHistoryItemForFragmentScroll):
              (WebCore::FrameLoader::loadProvisionalItemFromPageCache):
              (WebCore::FrameLoader::createPageCache):
              (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
              (WebCore::FrameLoader::createItem):
              (WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
              (WebCore::FrameLoader::createItemTree):
              (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
              (WebCore::FrameLoader::restoreScrollPositionAndViewState):
              (WebCore::FrameLoader::purgePageCache):
              (WebCore::FrameLoader::invalidateCurrentItemPageCache):
              (WebCore::FrameLoader::saveDocumentState):
              (WebCore::FrameLoader::loadItem):
              (WebCore::FrameLoader::urlsMatchItem):
              (WebCore::FrameLoader::goToItem):
              (WebCore::FrameLoader::recursiveGoToItem):
              (WebCore::FrameLoader::childFramesMatchItem):
              (WebCore::FrameLoader::updateHistoryForStandardLoad):
              (WebCore::FrameLoader::updateHistoryForClientRedirect):
              (WebCore::FrameLoader::updateHistoryForBackForwardNavigation):
              (WebCore::FrameLoader::updateHistoryForReload):
              (WebCore::FrameLoader::updateHistoryForInternalLoad):
              (WebCore::FrameLoader::updateHistoryForCommit):
              (WebCore::FrameLoader::saveDocumentAndScrollState):
              (WebCore::FrameLoader::currentHistoryItem):
              (WebCore::FrameLoader::previousHistoryItem):
              (WebCore::FrameLoader::provisionalHistoryItem):
              (WebCore::FrameLoader::setCurrentHistoryItem):
              (WebCore::FrameLoader::setPreviousHistoryItem):
              (WebCore::FrameLoader::setProvisionalHistoryItem):
              * loader/FrameLoader.h:
      
              * loader/FrameLoaderClient.h:
      
              * loader/mac/DocumentLoaderMac.mm:
              (WebCore::DocumentLoader::DocumentLoader):
              (WebCore::DocumentLoader::getResponseRefreshAndModifiedHeaders):
              (WebCore::DocumentLoader::commitIfReady):
              (WebCore::DocumentLoader::urlForHistory):
      
              * loader/mac/FrameLoaderMac.mm:
              (WebCore::FrameLoader::load):
              (WebCore::FrameLoader::startLoading):
              (WebCore::FrameLoader::receivedMainResourceError):
              (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
              (WebCore::FrameLoader::opened):
              (WebCore::FrameLoader::dataURLBaseFromRequest):
              (WebCore::FrameLoader::didChangeTitle):
              (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
              (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
      
              * page/FrameTree.cpp:
              (WebCore::FrameTree::removeChild):
      
              * page/Page.cpp: Transfered a handful of concepts from WebView
              (WebCore::Page::Page):
              (WebCore::Page::~Page):
              (WebCore::Page::backForwardList):
              (WebCore::Page::goBack):
              (WebCore::Page::goForward):
              (WebCore::Page::goToItem):
              * page/Page.h:
      
              * page/PageState.h:
              * page/mac/FrameMac.h:
              * page/mac/FrameMac.mm:
              * page/mac/WebCoreFrameBridge.h:
              * page/mac/WebCoreFrameBridge.mm:
      
              * platform/KURL.cpp:
              (WebCore::KURL::print):  Added debug only method for debugging convenience
              * platform/KURL.h:
      
              * platform/Logging.cpp:
              (WebCore::): Added some logging channels
              * platform/Logging.h:
      
              * platform/PlatformString.h:
              (WebCore::nsStringNilIfEmpty): Added for WebKit use
      
              * platform/SystemTime.h: Added userIdleTime()
      
              * platform/graphics/svg/SVGImage.cpp:
              * platform/graphics/svg/SVGImageEmptyClients.h: Updated for new FrameLoaderClient methods
              (WebCore::SVGEmptyFrameLoaderClient::setDocumentViewFromPageCache):
              (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistoryForStandardLoad):
              (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistoryForReload):
              (WebCore::SVGEmptyFrameLoaderClient::shouldGoToHistoryItem):
              (WebCore::SVGEmptyFrameLoaderClient::saveScrollPositionAndViewStateToItem):
              (WebCore::SVGEmptyFrameLoaderClient::saveDocumentViewToPageCache):
              (WebCore::SVGEmptyFrameLoaderClient::canCachePage):
              (WebCore::SVGEmptyEditorClient::~SVGEmptyEditorClient):
      
              * platform/mac/LoggingMac.mm:
              (WebCore::InitializeLoggingChannelsIfNecessary):
      
              * platform/mac/SystemTimeMac.cpp:
              (WebCore::userIdleTime):
      
              * platform/mac/WebCoreSystemInterface.h: Added wkSecondsSinceLastInput for use in userIdleTime
              * platform/mac/WebCoreSystemInterface.mm:
      
              * platform/network/FormData.cpp:
              (WebCore::FormData::FormData):
              (WebCore::FormData::copy):
              * platform/network/FormData.h:
      
              * platform/network/ResourceHandle.h:
              * platform/network/mac/ResourceHandleMac.mm:
              (WebCore::ResourceHandle::willLoadFromCache): For "are you sure you want to resubmit?" nag
      
              * platform/qt/TemporaryLinkStubs.cpp:
              (WebCore::userIdleTime):
              * rendering/RenderPart.h:
      
      WebKit:
      
              Reviewed extensively and repeatedly by Darin
      
              <rdar://problem/4887137> - WebCore Back/Forward Cache 
              Most things not specifically commented on in the ChangeLog can be summed up as 
              "Do things exactly the same way as we used to, but just stick in WebCore-land as much as possible"
      
              * History/WebBackForwardList.mm:
              (kitPrivate): Convenience functions to help with subbing "WebBackForwardListPrivate" for WebCore::BackForwardList
              (core):
              (backForwardListWrappers): A HashMap pattern used to map WebCore objects to their WebKit counterpart
              (kit):
              (+[WebBackForwardList setDefaultPageCacheSizeIfNecessary]):
              (-[WebBackForwardList initWithWebCoreBackForwardList:]):
              (-[WebBackForwardList init]):
              (-[WebBackForwardList dealloc]):
              (-[WebBackForwardList finalize]):
              (-[WebBackForwardList _close]):
              (-[WebBackForwardList addItem:]):
              (-[WebBackForwardList removeItem:]):
              (-[WebBackForwardList containsItem:]):
              (-[WebBackForwardList goBack]):
              (-[WebBackForwardList goForward]):
              (-[WebBackForwardList goToItem:]):
              (-[WebBackForwardList backItem]):
              (-[WebBackForwardList currentItem]):
              (-[WebBackForwardList forwardItem]):
              (vectorToNSArray):
              (-[WebBackForwardList backListWithLimit:]):
              (-[WebBackForwardList forwardListWithLimit:]):
              (-[WebBackForwardList capacity]):
              (-[WebBackForwardList setCapacity:]):
              (-[WebBackForwardList description]):
              (-[WebBackForwardList _clearPageCache]):
              (-[WebBackForwardList setPageCacheSize:]):
              (-[WebBackForwardList pageCacheSize]):
              (-[WebBackForwardList _usesPageCache]):
              (-[WebBackForwardList backListCount]):
              (-[WebBackForwardList forwardListCount]):
              (-[WebBackForwardList itemAtIndex:]):
              * History/WebBackForwardListInternal.h: Added.
      
              * History/WebHistory.m: Removed.
              * History/WebHistory.mm: Added - Needed to be .mm to accept C++ header style
              (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]):
              (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]):
      
              * History/WebHistoryItem.mm:
              (kitPrivate): Same pattern as WebBackForwardList
              (core):
              (historyItemWrappers):
              (WKNotifyHistoryItemChanged):
              (-[WebHistoryItem init]):
              (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
              (-[WebHistoryItem dealloc]):
              (-[WebHistoryItem finalize]):
              (-[WebHistoryItem copyWithZone:]):
              (-[WebHistoryItem URLString]):
              (-[WebHistoryItem originalURLString]):
              (-[WebHistoryItem title]):
              (-[WebHistoryItem setAlternateTitle:]):
              (-[WebHistoryItem alternateTitle]):
              (-[WebHistoryItem icon]):
              (-[WebHistoryItem lastVisitedTimeInterval]):
              (-[WebHistoryItem hash]):
              (-[WebHistoryItem isEqual:]):
              (-[WebHistoryItem description]):
              (kit):
              (+[WebHistoryItem entryWithURL:]):
              (+[WebHistoryItem initWindowWatcherIfNecessary]):
              (-[WebHistoryItem initWithURL:target:parent:title:]):
              (-[WebHistoryItem initWithWebCoreHistoryItem:]):
              (-[WebHistoryItem setTitle:]):
              (-[WebHistoryItem setVisitCount:]):
              (-[WebHistoryItem setViewState:]):
              (-[WebHistoryItem _mergeAutoCompleteHints:]):
              (-[WebHistoryItem initFromDictionaryRepresentation:]):
              (-[WebHistoryItem scrollPoint]):
              (-[WebHistoryItem _transientPropertyForKey:]):
              (-[WebHistoryItem _setTransientProperty:forKey:]):
              (-[WebHistoryItem dictionaryRepresentation]):
              (-[WebHistoryItem target]):
              (-[WebHistoryItem isTargetItem]):
              (-[WebHistoryItem visitCount]):
              (-[WebHistoryItem RSSFeedReferrer]):
              (-[WebHistoryItem setRSSFeedReferrer:]):
              (-[WebHistoryItem children]):
              (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
              (-[WebHistoryItem URL]):
              (-[WebHistoryItem _setLastVisitedTimeInterval:]):
              (-[WebHistoryItem _lastVisitedDate]):
              (-[WebHistoryItem targetItem]):
              (+[WebHistoryItem _releaseAllPendingPageCaches]):
              (-[WebWindowWatcher windowWillClose:]):
              * History/WebHistoryItemInternal.h:
              * History/WebHistoryItemPrivate.h:
      
              * WebCoreSupport/WebFrameBridge.mm:
              * WebCoreSupport/WebFrameLoaderClient.h:
              * WebCoreSupport/WebFrameLoaderClient.mm:
              (WebFrameLoaderClient::setDocumentViewFromPageCache):
              (WebFrameLoaderClient::detachedFromParent1):
              (WebFrameLoaderClient::loadedFromPageCache):
              (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad):
              (WebFrameLoaderClient::updateGlobalHistoryForReload):
              (WebFrameLoaderClient::shouldGoToHistoryItem):
              (WebFrameLoaderClient::frameLoadCompleted):
              (WebFrameLoaderClient::saveScrollPositionAndViewStateToItem):
              (WebFrameLoaderClient::restoreScrollPositionAndViewState):
              (WebFrameLoaderClient::provisionalLoadStarted):
              (WebFrameLoaderClient::setTitle):
              (WebFrameLoaderClient::saveDocumentViewToPageCache):
              (WebFrameLoaderClient::canCachePage):
      
              * WebCoreSupport/WebSystemInterface.m:
              (InitWebCoreSystemInterface):
      
              * WebKit.xcodeproj/project.pbxproj:
      
              * WebView/WebDataSource.mm:
              * WebView/WebDataSourceInternal.h:
      
              * WebView/WebFrame.mm:
              (-[WebFramePrivate dealloc]):
              (-[WebFrame _canCachePage]):
              (-[WebFrame _loadURL:referrer:intoChild:]):
              * WebView/WebFrameInternal.h:
      
              * WebView/WebFrameView.mm:
              (-[WebFrameView initWithFrame:]):
              (-[WebFrameView keyDown:]):
      
              * WebView/WebHTMLView.m:
              (-[WebHTMLView closeIfNotCurrentView]): Added for a dirty hack in WebCore that is marked with a FIXME Radar
              * WebView/WebHTMLViewInternal.h:
      
              * WebView/WebView.mm:
              (-[WebViewPrivate init]):
              (-[WebViewPrivate dealloc]):
              (-[WebView _close]):
              (-[WebView _loadBackForwardListFromOtherView:]):
              (-[WebView _commonInitializationWithFrameName:groupName:]):
              (-[WebView initWithCoder:]):
              (-[WebView backForwardList]):
              (-[WebView goBack]):
              (-[WebView goForward]):
              (-[WebView goToBackForwardItem:]):
              (-[WebView canGoBack]):
              (-[WebView canGoForward]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      50c3bd88