1. 06 Jan, 2009 1 commit
    • ddkilzer@apple.com's avatar
      BUILD FIX (r39641): Try to fix build error · 55c91bb8
      ddkilzer@apple.com authored
              Try to fix the following build errors:
      
                  WebIconDatabase.cpp
                  ..\WebIconDatabase.cpp(255) : error C3861: 'shutDownIconDatabase': identifier not found
                  ..\WebIconDatabase.cpp(258) : error C3861: 'startUpIconDatabase': identifier not found
      
              * WebIconDatabase.h:
              (WebIconDatabase::startUpIconDatabase): Make protected.
              (WebIconDatabase::shutDownIconDatabase): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55c91bb8
  2. 05 Jan, 2009 1 commit
    • ddkilzer@apple.com's avatar
      WebKit/mac: · c75c1a00
      ddkilzer@apple.com authored
      2009-01-05  David Kilzer  <ddkilzer@apple.com>
      
              Add SPI to enable, disable and check state of WebIconDatabase
      
              Reviewed by Darin Adler & Timothy Hatcher.
      
              Add -[WebIconDatabase isEnabled] and -[WebIconDatabase setEnabled:]
              SPI to make it possible to enable, disable and check the state of
              the icon database.
      
              * Misc/WebIconDatabase.mm:
              (-[WebIconDatabase init]): Extracted code into -_startUpIconDatabase.
              (-[WebIconDatabase iconForURL:withSize:cache:]): Switched to use
              -isEnabled instead of -_isEnabled.
              (-[WebIconDatabase iconURLForURL:]): Ditto.
              (-[WebIconDatabase retainIconForURL:]): Ditto.
              (-[WebIconDatabase releaseIconForURL:]): Ditto.
              (-[WebIconDatabase isEnabled]): Renamed from -_isEnabled in
              WebInternal category.
              (-[WebIconDatabase setEnabled:]): Added.  Takes care of changing
              the enabled/disabled state of the icon database.
              (-[WebIconDatabase removeAllIcons]): Switched to use -isEnabled
              instead of -_isEnabled.
              (-[WebIconDatabase _startUpIconDatabase]): Added.  Extrated from
              -init.
              (-[WebIconDatabase _shutDownIconDatabase]): Added.  Remove
              observers when the icon database is disabled.
              * Misc/WebIconDatabaseInternal.h: Added declarations for
              -_startUpIconDatabase and -_shutDownIconDatabase.
              * Misc/WebIconDatabasePrivate.h: Added declarations for
              -isEnabled and -setEnabled:.
      
      WebKit/win:
      
      2009-01-05  David Kilzer  <ddkilzer@apple.com>
      
              Add API to enable, disable and check state of WebIconDatabase
      
              Reviewed by Darin Adler & Timothy Hatcher.
      
              Add WebIconDatabase::isEnabled() and WebIconDatabase::setEnabled()
              API to make it possible to enable, disable and check the state of
              the icon database.
      
              * Interfaces/IWebIconDatabase.idl: Declared isEnabled() and
              setEnabled() methods.
              * WebIconDatabase.cpp:
              (WebIconDatabase::init): Extracted code into startUpIconDatabase().
              (WebIconDatabase::startUpIconDatabase): Added.  Extracted from
              init().
              (WebIconDatabase::shutDownIconDatabase): Added.  Method is empty
              since there is nothing to do yet on Windows.
              (isEnabled): Added.
              (setEnabled): Added.
              * WebIconDatabase.h: Added method declarations.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c75c1a00
  3. 23 Feb, 2008 1 commit
  4. 12 Feb, 2008 1 commit
    • sfalken@apple.com's avatar
      Changes to support merged MIDL output. · cd922019
      sfalken@apple.com authored
              All COM interfaces are now generated to WebKit.h.
      
              Reviewed by Sam, Ada.
      
              * DOMCSSClasses.h:
              * DOMCoreClasses.h:
              * DOMEventsClasses.h:
              * DOMHTMLClasses.h:
              * DefaultDownloadDelegate.h:
              * DefaultPolicyDelegate.cpp:
              * DefaultPolicyDelegate.h:
              * GEN_DOMObject.h:
              * Interfaces/DOMCSS.idl:
              * Interfaces/DOMCore.idl:
              * Interfaces/DOMEvents.idl:
              * Interfaces/DOMExtensions.idl:
              * Interfaces/DOMHTML.idl:
              * Interfaces/DOMPrivate.idl:
              * Interfaces/DOMRange.idl:
              * Interfaces/DOMWindow.idl:
              * Interfaces/IGEN_DOMObject.idl:
              * Interfaces/IWebArchive.idl:
              * Interfaces/IWebBackForwardList.idl:
              * Interfaces/IWebBackForwardListPrivate.idl:
              * Interfaces/IWebCache.idl:
              * Interfaces/IWebDataSource.idl:
              * Interfaces/IWebDatabaseManager.idl:
              * Interfaces/IWebDocument.idl:
              * Interfaces/IWebDownload.idl:
              * Interfaces/IWebEditingDelegate.idl:
              * Interfaces/IWebError.idl:
              * Interfaces/IWebErrorPrivate.idl:
              * Interfaces/IWebFormDelegate.idl:
              * Interfaces/IWebFrame.idl:
              * Interfaces/IWebFrameLoadDelegate.idl:
              * Interfaces/IWebFrameLoadDelegatePrivate.idl:
              * Interfaces/IWebFramePrivate.idl:
              * Interfaces/IWebFrameView.idl:
              * Interfaces/IWebHTMLRepresentation.idl:
              * Interfaces/IWebHTTPURLResponse.idl:
              * Interfaces/IWebHistory.idl:
              * Interfaces/IWebHistoryItem.idl:
              * Interfaces/IWebHistoryItemPrivate.idl:
              * Interfaces/IWebIconDatabase.idl:
              * Interfaces/IWebInspector.idl:
              * Interfaces/IWebJavaScriptCollector.idl:
              * Interfaces/IWebKitStatistics.idl:
              * Interfaces/IWebMutableURLRequest.idl:
              * Interfaces/IWebMutableURLRequestPrivate.idl:
              * Interfaces/IWebNotification.idl:
              * Interfaces/IWebNotificationCenter.idl:
              * Interfaces/IWebNotificationObserver.idl:
              * Interfaces/IWebPolicyDelegate.idl:
              * Interfaces/IWebPreferences.idl:
              * Interfaces/IWebPreferencesPrivate.idl:
              * Interfaces/IWebResource.idl:
              * Interfaces/IWebResourceLoadDelegate.idl:
              * Interfaces/IWebResourceLoadDelegatePrivate.idl:
              * Interfaces/IWebScriptCallFrame.idl:
              * Interfaces/IWebScriptDebugListener.idl:
              * Interfaces/IWebScriptDebugServer.idl:
              * Interfaces/IWebScriptObject.idl:
              * Interfaces/IWebScriptScope.idl:
              * Interfaces/IWebScrollBarDelegatePrivate.idl:
              * Interfaces/IWebScrollBarPrivate.idl:
              * Interfaces/IWebSecurityOrigin.idl:
              * Interfaces/IWebTextRenderer.idl:
              * Interfaces/IWebUIDelegate.idl:
              * Interfaces/IWebUIDelegatePrivate.idl:
              * Interfaces/IWebURLAuthenticationChallenge.idl:
              * Interfaces/IWebURLRequest.idl:
              * Interfaces/IWebURLResponse.idl:
              * Interfaces/IWebURLResponsePrivate.idl:
              * Interfaces/IWebUndoManager.idl:
              * Interfaces/IWebUndoTarget.idl:
              * Interfaces/IWebView.idl:
              * Interfaces/IWebViewPrivate.idl:
              * Interfaces/WebKit.idl:
              * WebActionPropertyBag.cpp:
              * WebBackForwardList.h:
              * WebCache.h:
              * WebDataSource.cpp:
              * WebDataSource.h:
              * WebDatabaseManager.h:
              * WebDownload.h:
              * WebEditorClient.cpp:
              * WebEditorClient.h:
              * WebError.h:
              * WebFrame.cpp:
              * WebFrame.h:
              * WebFramePolicyListener.h:
              * WebHTMLRepresentation.cpp:
              * WebHTMLRepresentation.h:
              * WebHistory.cpp:
              * WebHistory.h:
              * WebHistoryItem.h:
              * WebIconDatabase.h:
              * WebInspector.h:
              * WebJavaScriptCollector.h:
              * WebKit.vcproj/Interfaces.vcproj:
              * WebKit.vcproj/WebKitGUID.vcproj:
              * WebKitDLL.cpp:
              * WebKitStatistics.h:
              * WebMutableURLRequest.cpp:
              * WebMutableURLRequest.h:
              * WebNotification.h:
              * WebNotificationCenter.h:
              * WebPreferences.h:
              * WebResource.h:
              * WebScriptCallFrame.h:
              * WebScriptDebugServer.cpp:
              * WebScriptDebugServer.h:
              * WebScriptDebugger.cpp:
              * WebScriptDebugger.h:
              * WebScriptObject.h:
              * WebScrollBar.h:
              * WebSecurityOrigin.h:
              * WebTextRenderer.h:
              * WebURLAuthenticationChallenge.h:
              * WebURLAuthenticationChallengeSender.h:
              * WebURLCredential.h:
              * WebURLProtectionSpace.h:
              * WebURLResponse.h:
              * WebView.cpp:
              * WebView.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30180 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd922019
  5. 01 Feb, 2008 1 commit
    • darin@apple.com's avatar
      WebCore: · 381f8145
      darin@apple.com authored
              Reviewed by Geoff and Brady.
      
              - fix <rdar://problem/5680469> Each database worker thread takes a JSLock,
                which slows down all JavaScript execution until the thread terminates
      
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
              Explicitly gcProtect, since we aren't using ProtectedPtr any more.
              (WebCore::unprotectOnMainThread): Added.
              (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
              Use unprotectOnMainThread rather than doing a gcUnprotect here.
              * bindings/js/JSCustomSQLTransactionCallback.h: Changed m_callback from
              a ProtectedPtr to a plain old JSObject*; we gcProtect by hand now.
      
              * loader/icon/IconDatabase.cpp:
              (WebCore::IconDatabase::notifyPendingLoadDecisionsOnMainThread):
              Renamed. Changed to takea a void* with the icon database pointer.
              (WebCore::IconDatabase::notifyPendingLoadDecisions): Renamed.
              (WebCore::IconDatabase::performURLImport): Updated name, and pass the
              icon database pointer in.
              * loader/icon/IconDatabase.h: Renamed and added void* parameter.
      
              * platform/Threading.h: Changed callOnMainThread to take a function with a
              single parameter rather than a function with no parameters. Added a typedef.
      
              * platform/gtk/ThreadingGtk.cpp:
              (WebCore::callFunctionOnMainThread): Changed to use a structure with both
              a function pointer and a context pointer, and delete it after calling.
              (WebCore::callOnMainThread): Changed to create the structure with both
              the function and context pointer.
      
              * platform/mac/Threading.mm:
              (-[WebCoreFunctionWrapper initWithFunction:context:]): Added context.
              (-[WebCoreFunctionWrapper invoke]): Updated to do both function and context.
              Renamed from _call.
              (WebCore::callOnMainThread): Updated to take both function and context.
      
              * platform/qt/ThreadingQt.cpp:
              (WebCore::PerformFunctionEvent::PerformFunctionEvent): Added context.
              (WebCore::PerformFunctionEvent::invoke): Added. Calls function with context pointer.
              (WebCore::MainThreadInvoker::event): Changed to call invoke.
              (WebCore::callOnMainThread): Updated to take both function and context.
      
              * platform/win/ThreadingWin.cpp: Added FunctionWithContext.
              (WebCore::callFunctionsOnMainThread): Changed to pass call function with context.
              (WebCore::callOnMainThread): Updated to queue both function and context.
      
              * platform/wx/ThreadingWx.cpp:
              (WebCore::callOnMainThread): Updated to take both function and context.
      
              * storage/Database.cpp:
              (WebCore::Database::scheduleTransactionCallback): Pass 0 for context.
              (WebCore::Database::deliverAllPendingCallbacks): Changed to take ignored context pointer.
              * storage/Database.h: Added void* parameter to deliverAllPendingCallbacks.
      
              * storage/DatabaseTracker.cpp:
              (WebCore::DatabaseTracker::scheduleForNotification): Pass 0 for context.
              (WebCore::DatabaseTracker::notifyDatabasesChanged): Changed to take ignored context pointer.
              * storage/DatabaseTracker.h: Added void* parameter to notifyDatabasesChanged.
      
      WebKit/win:
      
              - fix <rdar://problem/5680469> Each database worker thread takes a JSLock,
                which slows down all JavaScript execution until the thread terminates
      
              * WebIconDatabase.cpp:
              (WebIconDatabase::scheduleNotificationDelivery): Updated for new callOnMainThread.
              (WebIconDatabase::deliverNotifications): Ditto.
              * WebIconDatabase.h: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      381f8145
  6. 14 Dec, 2007 1 commit
  7. 03 Oct, 2007 1 commit
  8. 19 Sep, 2007 1 commit
    • beidson's avatar
      Reviewed by Adam · b40879d6
      beidson authored
              Final part of <rdar://problem/5471308> - Hook up async icon database on Windows        
      
              * CFDictionaryPropertyBag.cpp:
              (CFDictionaryPropertyBag::CFDictionaryPropertyBag): Took the opportunity to rewrite with a RetainPtr
                since it became available after the initial implementation
              (CFDictionaryPropertyBag::setDictionary):
              (CFDictionaryPropertyBag::dictionary): Added accessor to the CFDictionaryRef to ease use within WebKit
              (CFDictionaryPropertyBag::QueryInterface): Added IID_CFDictionaryPropertyBag accessor
              (CFDictionaryPropertyBag::Read):
              (CFDictionaryPropertyBag::Write):
              * CFDictionaryPropertyBag.h: Added IID_CFDictionaryPropertyBag
             
              * WebFrame.cpp:
              (WebFrame::url): Added accessor, gets the current URL from WebCore
              (WebFrame::dispatchDidReceiveIcon): Calls through to the WebView
              (WebFrame::registerForIconNotification): Ditto
              * WebFrame.h:        
      
              * WebIconDatabase.cpp:
              (WebIconDatabase::iconDatabaseDidAddIconNotification):
              (WebIconDatabase::iconDatabaseNotificationUserInfoURLKey):
              (WebIconDatabase::iconDatabaseDidRemoveAllIconsNotification):
              (postDidRemoveAllIconsNotification):
              (postDidAddIconNotification):
              * WebIconDatabase.h:        
      
              * WebView.cpp:
              (WebView::close): Unregister for the notification, just in case
              (WebView::notifyDidAddIcon): Called when the webview gets the didAddIcon notification, compares the url
                in the notification to the current main frame URL.  If they match, calls to dispatchDidReceiveIconFromWebFrame
              (WebView::registerForIconNotification): 
              (WebView::dispatchDidReceiveIconFromWebFrame): Dispatches the FrameLoadDelegate call.  Once the delegate call is dispatched,
                either via the FrameLoaderClient interface of by listening for a notification, we know that our info is up to date in the 
                IconDatabase and we don't need to listen for the generic notification any long, so we unregister for it here, as well.
              (WebView::onNotify): The WebView listens for two notifications now, so make the decision which was received
              * WebView.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b40879d6
  9. 18 Sep, 2007 1 commit
    • beidson's avatar
      Reviewed by Ada and Geoff · 29465429
      beidson authored
              Part of <rdar://problem/5471308> - Get async Icon Database fully hooked up on Windows
              
              Hook up main thread delivery of Icon Database notifications from the secondary thread
              
              * WebIconDatabase.cpp:
              (WebIconDatabase::WebIconDatabase): Initialize m_deliveryRequested
              (WebIconDatabase::init): Set the IconDatabaseClient to the shared WebIconDatabase
              (WebIconDatabase::dispatchDidRemoveAllIcons): Queue the notification to be delivered on the main thread then
                ask for the delivery
              (WebIconDatabase::dispatchDidAddIconForPageURL): Ditto
              (WebIconDatabase::scheduleNotificationDelivery): If the m_deliveryRequested hasn't been set, then set it
                and perform the callOnMainThread() for WebIconDatabase::deliverNotifications
              (postDidRemoveAllIconsNotification):
              (postDidAddIconNotification):
              (WebIconDatabase::deliverNotifications): Deliver all notifications in the current queue
              * WebIconDatabase.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      29465429
  10. 12 Jun, 2007 1 commit
  11. 10 Jul, 2006 1 commit
  12. 02 Jun, 2006 1 commit
    • sfalken's avatar
      2006-06-02 Steve Falkenburg <sfalken@apple.com> · fa2897ed
      sfalken authored
              Reviewed by darin.
      
              New hosting for Spinneret to avoid static linking
      
              * COM: Added.
              * COM/Interfaces: Added.
              * COM/Interfaces/DOMCSS.idl: Added.
              * COM/Interfaces/DOMCore.idl: Added.
              * COM/Interfaces/DOMHTML.idl: Added.
              * COM/Interfaces/DOMRange.idl: Added.
              * COM/Interfaces/IWebArchive.idl: Added.
              * COM/Interfaces/IWebAttributedString.idl: Added.
              * COM/Interfaces/IWebBackForwardList.idl: Added.
              * COM/Interfaces/IWebDataSource.idl: Added.
              * COM/Interfaces/IWebDocument.idl: Added.
              * COM/Interfaces/IWebDownload.idl: Added.
              * COM/Interfaces/IWebEditingDelegate.idl: Added.
              * COM/Interfaces/IWebError.idl: Added.
              * COM/Interfaces/IWebFrame.idl: Added.
              * COM/Interfaces/IWebFrameLoadDelegate.idl: Added.
              * COM/Interfaces/IWebFrameView.idl: Added.
              * COM/Interfaces/IWebHistoryItem.idl: Added.
              * COM/Interfaces/IWebIconDatabase.idl: Added.
              * COM/Interfaces/IWebImage.idl: Added.
              * COM/Interfaces/IWebMutableURLRequest.idl: Added.
              * COM/Interfaces/IWebNotification.idl: Added.
              * COM/Interfaces/IWebPolicyDelegate.idl: Added.
              * COM/Interfaces/IWebPreferences.idl: Added.
              * COM/Interfaces/IWebResource.idl: Added.
              * COM/Interfaces/IWebResourceLoadDelegate.idl: Added.
              * COM/Interfaces/IWebScriptObject.idl: Added.
              * COM/Interfaces/IWebUIDelegate.idl: Added.
              * COM/Interfaces/IWebURLAuthenticationChallenge.idl: Added.
              * COM/Interfaces/IWebURLRequest.idl: Added.
              * COM/Interfaces/IWebURLResponse.idl: Added.
              * COM/Interfaces/IWebUndoManager.idl: Added.
              * COM/Interfaces/IWebView.idl: Added.
              * COM/Interfaces/WebKit.idl: Added.
              * COM/WebBackForwardList.cpp: Added.
              (WebBackForwardList::WebBackForwardList):
              (WebBackForwardList::~WebBackForwardList):
              (WebBackForwardList::createInstance):
              (WebBackForwardList::QueryInterface):
              (WebBackForwardList::AddRef):
              (WebBackForwardList::Release):
              (WebBackForwardList::addItem):
              (WebBackForwardList::goBack):
              (WebBackForwardList::goForward):
              (WebBackForwardList::goToItem):
              (WebBackForwardList::backItem):
              (WebBackForwardList::currentItem):
              (WebBackForwardList::forwardItem):
              (WebBackForwardList::backListWithLimit):
              (WebBackForwardList::forwardListWithLimit):
              (WebBackForwardList::capacity):
              (WebBackForwardList::setCapacity):
              (WebBackForwardList::backListCount):
              (WebBackForwardList::forwardListCount):
              (WebBackForwardList::containsItem):
              (WebBackForwardList::itemAtIndex):
              (WebBackForwardList::setPageCacheSize):
              (WebBackForwardList::pageCacheSize):
              * COM/WebBackForwardList.h: Added.
              * COM/WebDataSource.cpp: Added.
              (WebDataSource::WebDataSource):
              (WebDataSource::~WebDataSource):
              (WebDataSource::createInstance):
              (WebDataSource::QueryInterface):
              (WebDataSource::AddRef):
              (WebDataSource::Release):
              (WebDataSource::initWithRequest):
              (WebDataSource::data):
              (WebDataSource::representation):
              (WebDataSource::webFrame):
              (WebDataSource::initialRequest):
              (WebDataSource::request):
              (WebDataSource::response):
              (WebDataSource::textEncodingName):
              (WebDataSource::isLoading):
              (WebDataSource::pageTitle):
              (WebDataSource::unreachableURL):
              (WebDataSource::webArchive):
              (WebDataSource::mainResource):
              (WebDataSource::subresources):
              (WebDataSource::subresourceForURL):
              (WebDataSource::addSubresource):
              * COM/WebDataSource.h: Added.
              * COM/WebFrame.cpp: Added.
              (WebFrame::WebFramePrivate::WebFramePrivate):
              (WebFrame::WebFramePrivate::~WebFramePrivate):
              (WebFrame::WebFrame):
              (WebFrame::~WebFrame):
              (WebFrame::createInstance):
              (WebFrame::QueryInterface):
              (WebFrame::AddRef):
              (WebFrame::Release):
              (WebFrame::initWithName):
              (WebFrame::name):
              (WebFrame::webView):
              (WebFrame::frameView):
              (WebFrame::DOMDocument):
              (WebFrame::frameElement):
              (WebFrame::loadRequest):
              (WebFrame::loadData):
              (WebFrame::loadHTMLString):
              (WebFrame::loadAlternateHTMLString):
              (WebFrame::loadArchive):
              (WebFrame::dataSource):
              (WebFrame::provisionalDataSource):
              (WebFrame::stopLoading):
              (WebFrame::reload):
              (WebFrame::findFrameNamed):
              (WebFrame::parentFrame):
              (WebFrame::childFrames):
              (WebFrame::paint):
              (WebFrame::impl):
              (WebFrame::loadDataSource):
              (WebFrame::loading):
              (WebFrame::goToItem):
              (WebFrame::loadItem):
              (WebSystemMainMemory):
              (WebFrame::getObjectCacheSize):
              (WebFrame::receivedRedirect):
              (WebFrame::receivedResponse):
              (WebFrame::receivedData):
              (WebFrame::receivedAllData):
              (WebFrame::openURL):
              (WebFrame::submitForm):
              (WebFrame::setTitle):
              (WebFrame::setStatusText):
              * COM/WebFrame.h: Added.
              * COM/WebHistoryItem.cpp: Added.
              (WebHistoryItem::WebHistoryItem):
              (WebHistoryItem::~WebHistoryItem):
              (WebHistoryItem::createInstance):
              (WebHistoryItem::QueryInterface):
              (WebHistoryItem::AddRef):
              (WebHistoryItem::Release):
              (WebHistoryItem::initWithURLString):
              (WebHistoryItem::originalURLString):
              (WebHistoryItem::URLString):
              (WebHistoryItem::title):
              (WebHistoryItem::lastVisitedTimeInterval):
              (WebHistoryItem::setAlternateTitle):
              (WebHistoryItem::alternateTitle):
              (WebHistoryItem::icon):
              * COM/WebHistoryItem.h: Added.
              * COM/WebIconDatabase.cpp: Added.
              (WebIconDatabase::WebIconDatabase):
              (WebIconDatabase::~WebIconDatabase):
              (WebIconDatabase::createInstance):
              (WebIconDatabase::QueryInterface):
              (WebIconDatabase::AddRef):
              (WebIconDatabase::Release):
              (WebIconDatabase::sharedIconDatabase):
              (WebIconDatabase::iconForURL):
              (WebIconDatabase::defaultIconWithSize):
              (WebIconDatabase::retainIconForURL):
              (WebIconDatabase::releaseIconForURL):
              (WebIconDatabase::delayDatabaseCleanup):
              (WebIconDatabase::allowDatabaseCleanup):
              * COM/WebIconDatabase.h: Added.
              * COM/WebKitClassFactory.cpp: Added.
              (WebKitClassFactory::WebKitClassFactory):
              (WebKitClassFactory::~WebKitClassFactory):
              (WebKitClassFactory::QueryInterface):
              (WebKitClassFactory::AddRef):
              (WebKitClassFactory::Release):
              (WebKitClassFactory::CreateInstance):
              (WebKitClassFactory::LockServer):
              * COM/WebKitClassFactory.h: Added.
              * COM/WebKitDLL.cpp: Added.
              (DllMain):
              (DllGetClassObject):
              (DllCanUnloadNow):
              (DllUnregisterServer):
              (DllRegisterServer):
              * COM/WebKitDLL.h: Added.
              * COM/WebMutableURLRequest.cpp: Added.
              (WebMutableURLRequest::WebMutableURLRequest):
              (WebMutableURLRequest::~WebMutableURLRequest):
              (WebMutableURLRequest::createInstance):
              (WebMutableURLRequest::QueryInterface):
              (WebMutableURLRequest::AddRef):
              (WebMutableURLRequest::Release):
              (WebMutableURLRequest::requestWithURL):
              (WebMutableURLRequest::allHTTPHeaderFields):
              (WebMutableURLRequest::cachePolicy):
              (WebMutableURLRequest::HTTPBody):
              (WebMutableURLRequest::HTTPBodyStream):
              (WebMutableURLRequest::HTTPMethod):
              (WebMutableURLRequest::HTTPShouldHandleCookies):
              (WebMutableURLRequest::initWithURL):
              (WebMutableURLRequest::mainDocumentURL):
              (WebMutableURLRequest::timeoutInterval):
              (WebMutableURLRequest::URL):
              (WebMutableURLRequest::valueForHTTPHeaderField):
              (WebMutableURLRequest::addValue):
              (WebMutableURLRequest::setAllHTTPHeaderFields):
              (WebMutableURLRequest::setCachePolicy):
              (WebMutableURLRequest::setHTTPBody):
              (WebMutableURLRequest::setHTTPBodyStream):
              (WebMutableURLRequest::setHTTPMethod):
              (WebMutableURLRequest::setHTTPShouldHandleCookies):
              (WebMutableURLRequest::setMainDocumentURL):
              (WebMutableURLRequest::setTimeoutInterval):
              (WebMutableURLRequest::setURL):
              (WebMutableURLRequest::setValue):
              (WebMutableURLRequest::setFormData):
              (WebMutableURLRequest::formData):
              * COM/WebMutableURLRequest.h: Added.
              * COM/WebView.cpp: Added.
              (WebView::WebView):
              (WebView::~WebView):
              (WebView::createInstance):
              (WebView::mouseMoved):
              (WebView::mouseDown):
              (WebView::mouseUp):
              (WebView::mouseDoubleClick):
              (WebView::keyPress):
              (registerWebView):
              (WebViewWndProc):
              (calculateScrollDelta):
              (scrollMessageForKey):
              (WebView::goToItem):
              (WebView::QueryInterface):
              (WebView::AddRef):
              (WebView::Release):
              (WebView::canShowMIMEType):
              (WebView::canShowMIMETypeAsHTML):
              (WebView::MIMETypesShownAsHTML):
              (WebView::setMIMETypesShownAsHTML):
              (WebView::URLFromPasteboard):
              (WebView::URLTitleFromPasteboard):
              (WebView::initWithFrame):
              (WebView::setUIDelegate):
              (WebView::uiDelegate):
              (WebView::setResourceLoadDelegate):
              (WebView::resourceLoadDelegate):
              (WebView::setDownloadDelegate):
              (WebView::downloadDelegate):
              (WebView::setFrameLoadDelegate):
              (WebView::frameLoadDelegate):
              (WebView::setPolicyDelegate):
              (WebView::policyDelegate):
              (WebView::mainFrame):
              (WebView::backForwardList):
              (WebView::setMaintainsBackForwardList):
              (WebView::goBack):
              (WebView::goForward):
              (WebView::goToBackForwardItem):
              (WebView::setTextSizeMultiplier):
              (WebView::textSizeMultiplier):
              (WebView::setApplicationNameForUserAgent):
              (WebView::applicationNameForUserAgent):
              (WebView::setCustomUserAgent):
              (WebView::customUserAgent):
              (WebView::userAgentForURL):
              (WebView::supportsTextEncoding):
              (WebView::setCustomTextEncodingName):
              (WebView::customTextEncodingName):
              (WebView::setMediaStyle):
              (WebView::mediaStyle):
              (WebView::stringByEvaluatingJavaScriptFromString):
              (WebView::windowScriptObject):
              (WebView::setPreferences):
              (WebView::preferences):
              (WebView::setPreferencesIdentifier):
              (WebView::preferencesIdentifier):
              (WebView::setHostWindow):
              (WebView::hostWindow):
              (WebView::searchFor):
              (WebView::registerViewClass):
              (WebView::takeStringURLFrom):
              (WebView::stopLoading):
              (WebView::reload):
              (WebView::canGoBack):
              (WebView::canGoForward):
              (WebView::canMakeTextLarger):
              (WebView::makeTextLarger):
              (WebView::canMakeTextSmaller):
              (WebView::makeTextSmaller):
              (WebView::computedStyleForElement):
              (WebView::editableDOMRangeForPoint):
              (WebView::setSelectedDOMRange):
              (WebView::selectedDOMRange):
              (WebView::selectionAffinity):
              (WebView::setEditable):
              (WebView::isEditable):
              (WebView::setTypingStyle):
              (WebView::typingStyle):
              (WebView::setSmartInsertDeleteEnabled):
              (WebView::smartInsertDeleteEnabled):
              (WebView::setContinuousSpellCheckingEnabled):
              (WebView::isContinuousSpellCheckingEnabled):
              (WebView::spellCheckerDocumentTag):
              (WebView::undoManager):
              (WebView::setEditingDelegate):
              (WebView::editingDelegate):
              (WebView::styleDeclarationWithText):
              (WebView::replaceSelectionWithNode):
              (WebView::replaceSelectionWithText):
              (WebView::replaceSelectionWithMarkupString):
              (WebView::replaceSelectionWithArchive):
              (WebView::deleteSelection):
              (WebView::applyStyle):
              (WebView::copy):
              (WebView::cut):
              (WebView::paste):
              (WebView::copyFont):
              (WebView::pasteFont):
              (WebView::delete_):
              (WebView::pasteAsPlainText):
              (WebView::pasteAsRichText):
              (WebView::changeFont):
              (WebView::changeAttributes):
              (WebView::changeDocumentBackgroundColor):
              (WebView::changeColor):
              (WebView::alignCenter):
              (WebView::alignJustified):
              (WebView::alignLeft):
              (WebView::alignRight):
              (WebView::checkSpelling):
              (WebView::showGuessPanel):
              (WebView::performFindPanelAction):
              (WebView::startSpeaking):
              (WebView::stopSpeaking):
              (WebView::viewWindow):
              * COM/WebView.h: Added.
              * WebKit.vcproj: Added.
              * WebKit.vcproj/Interfaces.vcproj: Added.
              * WebKit.vcproj/WebKit.def: Added.
              * WebKit.vcproj/WebKit.rc: Added.
              * WebKit.vcproj/WebKit.sln: Added.
              * WebKit.vcproj/WebKit.vcproj: Added.
              * WebKit.vcproj/WebKitGUID.vcproj: Added.
              * WebKit.vcproj/autoversion.h: Added.
              * WebKit.vcproj/resource.h: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14688 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fa2897ed
  13. 04 Apr, 2006 1 commit
    • darin's avatar
      - fixed properties on a bunch of files · 8e8fb9ca
      darin authored
                (removed allow-tabs and svn:executable from many)
      
              * css/css_base.cpp:
              * html/html_headimpl.cpp:
              * khtml/ecma/kjs_traversal.cpp:
              * kwq/DeprecatedPtrListImpl.cpp:
              * kwq/DeprecatedValueListImpl.cpp:
              * loader/CachedScript.h:
              * platform/ArrayImpl.cpp:
              * platform/StringImpl.cpp:
              * rendering/DataRef.h:
              * rendering/RenderContainer.cpp:
              * rendering/RenderTableCell.cpp:
              * rendering/bidi.h:
              * rendering/render_list.cpp:
              * rendering/render_style.cpp:
              * rendering/table_layout.h:
              Converted tabs to spaces.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13674 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8e8fb9ca
  14. 06 Feb, 2006 1 commit
  15. 31 Jan, 2006 1 commit
    • darin's avatar
      WebCore: · ffd93c32
      darin authored
              Reviewed by Hyatt.
      
              - added a Timer class
              - used the Timer class for the redirection timer
              - moved Frame, FrameView, MacFrame, and FrameNodeTree into WebCore namespace
              - removed more KWQ
      
              * ForwardingHeaders/khtml_factory.h: Removed.
              * kwq/KWQKHTMLFactory.cpp: Removed.
              * kwq/KWQKHTMLFactory.h: Removed.
      
              * platform/Timer.h: Added.
              * platform/mac/Timer.cpp: Added.
      
              * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for added and removed files.
              * WebCore.xcodeproj/project.pbxproj: Ditto.
      
              * page/Frame.h:
              * page/Frame.cpp:
              (WebCore::Frame::init): Remove code to set up slotRedirect.
              (WebCore::Frame::checkCompleted): Call start/stopRedirectionTimer instead of using
              the redirection timer directly.
              (WebCore::Frame::scheduleRedirection): Ditto.
              (WebCore::Frame::scheduleLocationChange): Ditto.
              (WebCore::Frame::scheduleHistoryNavigation): Ditto.
              (WebCore::Frame::cancelRedirection): Ditto.
              (WebCore::Frame::redirectionTimerFired): Renamed from slotRedirect.
              (WebCore::Frame::slotParentCompleted): More startRedirectionTimer.
              (WebCore::Frame::startRedirectionTimer): Added. Virtual bottleneck to start the
              redirection timer.
              (WebCore::Frame::stopRedirectionTimer): Added. Virtual bottleneck to stop the
              redirection timer.
      
              * page/FramePrivate.h: Changed m_redirectionTimer from a QTimer to a Timer.
      
              * bridge/mac/MacFrame.mm:
              (WebCore::MacFrame::startRedirectionTimer): Added. Avoids the need for the QTimer
              "monitor" feature that I had added a while back to implement the client-redirected
              callback.
              (WebCore::MacFrame::stopRedirectionTimer): Ditto.
      
              * kwq/KWQSlot.cpp: Removed slotRedirected.
      
              * ForwardingHeaders/ksvg2/KSVGPart.h: Removed using to put Frame into various
              namespaces (all of which are WebCore now anyway).
      
              * bindings/objc/DOMInternal.mm:
              * bridge/mac/BrowserExtensionMac.h:
              * bridge/mac/KWQKHTMLView.cpp:
              * bridge/mac/MacFrame.h:
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              * bridge/mac/WebCorePageBridge.h:
              * bridge/mac/WebCorePageBridge.mm:
              * css/cssstyleselector.cpp:
              * css/cssstyleselector.h:
              * khtml/ecma/kjs_binding.cpp:
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_navigator.cpp:
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_proxy.h:
              * khtml/ecma/kjs_window.h:
              * khtml/editing/SelectionController.h:
              * khtml/editing/jsediting.h:
              * khtml/html/html_baseimpl.h:
              * khtml/html/html_documentimpl.cpp:
              * khtml/html/html_documentimpl.h:
              * khtml/html/html_headimpl.h:
              * khtml/html/htmlparser.h:
              * khtml/html/htmltokenizer.h:
              * khtml/xml/DOMImplementationImpl.h:
              * khtml/xml/DocumentImpl.h:
              * khtml/xml/dom2_eventsimpl.h:
              * khtml/xml/xml_tokenizer.h:
              * khtml/xsl/xslt_processorimpl.h:
              * ksvg2/svg/SVGDocumentImpl.cpp:
              * kwq/KWQClipboard.h:
              * kwq/KWQComboBox.mm:
              * kwq/KWQFileButton.h:
              * kwq/KWQFrame.mm:
              * kwq/KWQKJavaAppletWidget.h:
              * kwq/KWQListBox.mm:
              * kwq/KWQSignalStubs.cpp:
              * kwq/KWQSlider.mm:
              * kwq/KWQTextField.mm:
              * kwq/KWQWidget.mm:
              * kwq/WebCoreSettings.mm:
              * kwq/WebCoreTextRendererFactory.mm:
              * loader/DocLoader.h:
              * page/FrameTreeNode.cpp:
              * page/FrameTreeNode.h:
              * page/FrameView.cpp:
              * page/FrameView.h:
              * page/Page.cpp:
              * page/Page.h:
              * rendering/InlineTextBox.h:
              * rendering/font.cpp:
              * rendering/render_canvas.h:
              * rendering/render_frames.h:
              * rendering/render_object.h:
              * rendering/render_replaced.h:
              Updated for namespace and header changes.
      
      WebKit:
      
              Reviewed by Hyatt.
      
              * WebCoreSupport.subproj/WebFrameBridge.m:
              (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
              Updated for name change.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffd93c32
  16. 23 Jan, 2006 1 commit
    • mjs's avatar
      Reviewed by Darin. · 3823c585
      mjs authored
              
              - Set up Page class and invert Frame / WebCoreFrameBridge ownership
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6577
      
              * bridge/mac/MacFrame.h:
              * bridge/mac/MacFrame.mm:
              (MacFrame::MacFrame): Initialize _bridge
              (MacFrame::~MacFrame): Clear the bridge's frame pointer and release it.
              (Frame::frameDetached): Reverse order of removing from old-style frames
              array and calling frameDetached.
              (MacFrame::createPart): Don't ref the part when creating it, since the child
              bridge is no longer going to own a ref.
              (MacFrame::setBridge): KWQRetain / KWQRelease since we know own the bridge.
              (MacFrame::detachFromView): New method; clear out the view.
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (Bridge): Helper method to get a WebCoreFrameBridge from a Frame.
              (-[WebCoreFrameBridge firstChild]): Call through Frame.
              (-[WebCoreFrameBridge lastChild]): ditto
              (-[WebCoreFrameBridge childCount]): ditto
              (-[WebCoreFrameBridge previousSibling]): ditto
              (-[WebCoreFrameBridge nextSibling]): ditto
              (-[WebCoreFrameBridge isDescendantOfFrame:]): No need to cast parent
              pointer.
              (-[WebCoreFrameBridge appendChild:]): Call through Frame.
              (-[WebCoreFrameBridge _clearRenderPart]): New helper method to free
              the renderPart when removing a child.
              (-[WebCoreFrameBridge removeChild:]): Clear child's render part
              and call through to Frame.
              (-[WebCoreFrameBridge dealloc]): Remove unneeded m_frame-related code.
              (-[WebCoreFrameBridge finalize]): ditto
              (-[WebCoreFrameBridge clearFrame]): New helper method, needed now that
              bridge can outlive frame.
              (-[WebCoreFrameBridge handleFallbackContent]): Make safe against a null
              frame.
              (-[WebCoreFrameBridge removeFromFrame]): ditto
              * bridge/mac/WebCorePageBridge.h:
              * bridge/mac/WebCorePageBridge.mm:
              (-[WebCorePageBridge initWithMainFrame:]): Create a Page instance.
              (-[WebCorePageBridge dealloc]): Delete the Page.
              (-[WebCorePageBridge mainFrame]): Get the main frame from the Page.
              * khtml/ecma/kjs_binding.cpp:
              (KJS::ScriptInterpreter::globalExec): Override; keep frame alive, then
              call superclass.
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_proxy.cpp:
              (KJSProxyImpl::clear): Don't pass exec to window.
              (KJSProxyImpl::interpreter): Don't do keepAlive.
              * khtml/ecma/kjs_window.cpp:
              (KJS::Window::isSafeScript): If the active part's document is gone, use the frame's
              URL for security check purposes.
              (KJS::Window::clear): Don't take an ExecState parameter any more - it
              wasn't used.
              * khtml/ecma/kjs_window.h:
              * khtml/xml/DocumentImpl.cpp:
              (WebCore::DocumentImpl::implicitOpen): If we've got a tokenizer, delete
              it before closing - you don't ever want to fire an onload handler because of
              an open.
              * page/Frame.cpp:
              (Frame::init): Pass `this' to FramePrivate constructor.
              (FrameCounter::~FrameCounter): Added debug counting of leftover
              Frame objects on exit.
              (Frame::Frame): Moved out-of-line. Increment debug counter.
              (Frame::~Frame): Assert that there is no life support going, either at the
              start or end of this method. Decrement frame counter.
              (Frame::stopLoading): tweaked for the fact that ChildFrame::m_frame is now
              a RefPtr.
              (Frame::clear): ditto
              (Frame::stop): ditto
              (Frame::stopAnimations): ditto
              (Frame::checkEmitLoadEvent): ditto
              (Frame::processObjectRequest): ditto
              (Frame::childFrame): ditto
              (Frame::findFrame): ditto
              (Frame::setZoomFactor): ditto
              (Frame::frames): ditto
              (Frame::connectChild): ditto
              (Frame::disconnectChild): ditto
              (Frame::endAllLifeSupport): Method that, in debug mode, will clear
              all life suppor timers so the Frame exit counter works.
              (Frame::keepAlive): In debug mode, add proper support for
              endAllLifeSupport
              (Frame::slotEndLifeSupport): ditto
              (Frame::setPolicyBaseURL): Update for the fact that ChildFrame::m_frame is now
              a RefPtr.
              (Frame::treeNode): New helper method, get the FrameTreeNode class that implements
              frame tree traversal.
              (Frame::nextSibling): Simple wrapper that calls through to treeNode().
              (Frame::previousSibling): ditto
              (Frame::firstChild): ditto
              (Frame::lastChild): ditto
              (Frame::childCount): ditto
              (Frame::appendChild): ditto
              (Frame::removeChild): ditto
              (Frame::detachFromView): no-op, just a virtual base for the MAcFrame method.
              * page/Frame.h:
              * page/FramePrivate.h:
              (FramePrivate::FramePrivate): Add FrameTreeNode member.
              * page/FrameTreeNode.cpp: Added.
              (FrameTreeNode::~FrameTreeNode): detach all children from their view
              (FrameTreeNode::appendChild): implemented
              (FrameTreeNode::removeChild): implemented - make sure to detach child
              from its view.
              * page/FrameTreeNode.h: Added.
              (FrameTreeNode::FrameTreeNode): New; initialize fields tht need it.
              (FrameTreeNode::nextSibling): Trivial inline.
              (FrameTreeNode::previousSibling): ditto
              (FrameTreeNode::firstChild): ditto
              (FrameTreeNode::lastChild): ditto
              (FrameTreeNode::childCount): ditto
              * page/Page.cpp: Added.
              (Page::Page): Initialize mainFrame and bump pageCount appropriately.
              (Page::~Page): Detach main frame from view, handle ending life support
              when last frame is destroyed.
              * page/Page.h: Added.
              (Page::mainFrame): Trivial inline.
              * WebCore.xcodeproj/project.pbxproj: Add new files.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3823c585
  17. 14 Jan, 2006 1 commit
    • mjs's avatar
      WebCore: · e2913e52
      mjs authored
              Reviewed by Eric.
      
              - added bridging infrastructure for Page class
              
              The Page class itself is coming very soon.
      
              * WebCore.exp: Export WebCorePageBridge.
              * WebCore.xcodeproj/project.pbxproj: Add new files.
              * bridge/mac/WebCorePageBridge.h: Added.
              * bridge/mac/WebCorePageBridge.mm: Added.
              (-[WebCorePageBridge initWithMainFrame:]): Added new class, obvious
              (-[WebCorePageBridge dealloc]): ditto
              (-[WebCorePageBridge mainFrame]): ditto
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge init]): Fixed style a bit.
      
      WebKit:
      
              Reviewed by Eric.
      
              - added bridging infrastructure for Page class
              
              * WebCoreSupport.subproj/WebPageBridge.h: Added.
              * WebCoreSupport.subproj/WebPageBridge.m: Added.
              (-[WebPageBridge initWithMainFrameName:view:]): New class, somewhat obvious.
              * WebKit.xcodeproj/project.pbxproj:
              * WebView.subproj/WebView.m:
              (-[WebViewPrivate dealloc]): Don't use _mainFrameBrige, use _pageBridge
              (-[WebView _close]): ditto
              (-[WebView _commonInitializationWithFrameName:groupName:]): ditto
              (-[WebView mainFrame]): ditto
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e2913e52
  18. 18 Oct, 2005 1 commit
    • mjs's avatar
      Reviewed and landed by Maciej. · cf6bf06b
      mjs authored
              - some simple changes that amount to a < 1% speedup.
      
              * khtml/css/cssstyleselector.cpp:
              (khtml::CSSStyleSelector::applyProperty):
              * khtml/rendering/bidi.cpp:
              (khtml::BidiIterator::direction):
              * kwq/KWQKURL.mm:
              (hasSlashDotOrDotDot):
              * kwq/KWQString.mm:
              (QString::~QString):
              * kwq/WebCoreTextRendererFactory.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf6bf06b
  19. 06 Oct, 2005 1 commit
    • darin's avatar
      LayoutTests: · 8a6127da
      darin authored
              - updated test result for synthetic bold
      
              * editing/pasteboard/paste-text-011-expected.checksum: Regenerated.
              * editing/pasteboard/paste-text-011-expected.png: Ditto.
              * editing/pasteboard/paste-text-011-expected.txt: Ditto.
      
              - updated test result that was incorrect
      
              * fast/dom/namednodemap-namelookup-expected.txt: Added trailing newlines
      
      WebCore:
      
              Reviewed by Hyatt.
      
              - fixed <rdar://problem/3217793> Monaco bold comes out as Helvetica bold, very bad if you choose Monaco as your fixed-width font
              - fixed <rdar://problem/3256269> CSS1: bold/italic font styles not programmatically created if font doesn't include them (3231)
                also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3231>
      
              * kwq/WebCoreTextRendererFactory.h: Added WebCoreFont structure, and made this header work for
              non-Objective-C compiles. Changed all the methods to take and return WebCoreFont instead of
              NSFont *.
              * kwq/WebCoreTextRendererFactory.mm:
              (WebCoreInitializeFont): Added.
              (-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]): Updated to use ERROR so we notice
              cases where the subclass does not override these methods.
              (-[WebCoreTextRendererFactory isFontFixedPitch:]): Ditto.
              (-[WebCoreTextRendererFactory rendererWithFont:]): Ditto.
      
              * WebCore.exp: Added WebCoreInititalizeFont.
      
              * kwq/KWQFont.h: Added WebCoreFont support.
              * kwq/KWQFont.mm:
              (QFont::QFont): Change to use WebCoreFont.
              (QFont::~QFont): Ditto.
              (QFont::operator=): Ditto.
              (QFont::setFamily): Ditto.
              (QFont::setFirstFamily): Ditto.
              (QFont::setPixelSize): Ditto.
              (QFont::setWeight): Ditto.
              (QFont::setItalic): Ditto.
              (QFont::determinePitch): Ditto.
              (QFont::getWebCoreFont): Added.
      
              * kwq/KWQComboBox.mm: (QComboBox::sizeHint): Pass in WebCoreFont when creating text renderer.
              * kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getRenderer): Ditto.
              * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Ditto.
              * kwq/KWQListBox.mm:
              (itemTextRenderer): Ditto.
              (groupLabelTextRenderer): Ditto.
              (QListBox::sizeForNumberOfLines): Changed non-system-font case to use QFont rather than NSFont
              to add boldness, so that group label fonts are bolded even if it's synthesiized bold.
              (-[KWQTableView drawRow:clipRect:]): Ditto.
              * kwq/KWQPainter.mm: (QPainter::_updateRenderer): Pass in WebCoreFont when creating text renderer.
      
      WebKit:
      
              Reviewed by Hyatt.
      
              - fixed <rdar://problem/3217793> Monaco bold comes out as Helvetica bold, very bad if you choose Monaco as your fixed-width font
              - fixed <rdar://problem/3256269> CSS1: bold/italic font styles not programmatically created if font doesn't include them (3231)
                also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3231>
      
              * WebCoreSupport.subproj/WebTextRenderer.h: Removed public declarations of private structures that are not
              used in the header. Removed the separate 16-bit character map; the difference in code size is only a few
              bytes per page and there's no measurable performance difference by always using the 32-bit character version.
              Removed substitute font width maps altogether, since we now use the width map in the substitute font's renderer.
              Also removed a few more now-unused fields and methods. Changed initWithFont to take WebCoreFont. Changed
              the setAlwaysUseATSU: method to remove the underscore prefix.
      
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (getUncachedWidth): Get font from WebCoreFont directly instead of taking a parameter, since we now use only
              one NSFont per WebTextRenderer.
              (widthFromMap): Removed NSFont parameter for same reason as above; simplified.
              (widthForGlyph): Ditto.
              (overrideLayoutOperation): Updated for change to WebCoreFont.
              (-[WebTextRenderer initWithFont:]): Changed to use WebCoreFont. Removed code to deal with substitute font maps.
              Changed lineGap computation to use floats instead of doubles. Added code to compute a synthetic bold offset.
              Currently this is the font size divided by 24 and then rounded up to an integer.
              (-[WebTextRenderer dealloc]): Updated for change to WebCoreFont and other related changes.
              (-[WebTextRenderer finalize]): Ditto.
              (-[WebTextRenderer xHeight]): Ditto.
              (-[WebTextRenderer drawRun:style:geometry:]): Remove small caps case here; no longer needed. Also updated as above.
              (-[WebTextRenderer floatWidthForRun:style:widths:]): Ditto.
              (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto.
              (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto.
              (+[WebTextRenderer setAlwaysUseATSU:]): Renamed to remove underscore prefix.
              (-[WebTextRenderer smallCapsRenderer]): Ditto. Changed to create a renderer for the smaller sized font.
              (-[WebTextRenderer _substituteFontForString:families:]): Reorganized this to be more readable and to call
              the new rendererForAlternateFont method.
              (-[WebTextRenderer rendererForAlternateFont:]): Added. Used to select an alternate font taking into account
              bold and italic synthesis.
              (-[WebTextRenderer substituteRendererForCharacters:length:families:]): Renamed to remove underscore prefix.
              Updated to use rendererForAlternateFont.
              (-[WebTextRenderer _computeWidthForSpace]): Updated for name changes and to remove unnecessary parameters.
              (-[WebTextRenderer setUpFont]): Renamed to remove underscore prefix. Added code to get printer or screen
              font as specified by WebCoreFont so calers don't need to do this.
              (drawGlyphs): Renamed to remove underscore prefix. Added code for synthetic oblique (14 degree slant), and
              synthetic bold (add offset and draw text a second time).
              (-[WebTextRenderer _CG_drawRun:style:geometry:]): Keep an array of substitute renderers instead of fonts.
              Changed around the loop to reverse the run to be a single loop instead of 3.
              (-[WebTextRenderer floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]):
              Renamed to remove the underscore prefix.
              (-[WebTextRenderer _CG_floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]):
              Changed to use subsitute renderers rather than fonts.
              (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:substituteRenderer:]): Renamed to remove underscore
              prefix and changed to use a substitute renderer rather than a substitute NSFont.
              (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Updated to work with all characters, both ones
              that fit into 16-bit and ones that don't.
              (-[WebTextRenderer _extendGlyphToWidthMapToInclude:]): Removed NSFont parameter and simplified. This fixes
              a bug where numberOfGlyphs was accidentally used from the main font instead of "subFont".
              (glyphForCharacter): Changed to use subsitute renderers instead of substitute fonts.
              (widthForNextCharacter): Ditto. Also removed small caps code no longer needed here and replaced it with
              simpler small caps code that no longer assumes glyphs match.
              (shouldUseATSU): Changed the code to check ranges in order to slightly reduce the number of cases and
              to create earlier exit for lower character codes.
      
              * WebCoreSupport.subproj/WebTextRendererFactory.h: Added caches for synthesized font and oblique
              variants so we can still use the NSFont as the dictionary key. Removed coalesceTextDrawing methods.
              Changed methods to use WebCoreFont as the parameters and results instead of NSFont.
              * WebCoreSupport.subproj/WebTextRendererFactory.m:
              (-[WebTextRendererFactory clearCaches]): Clear all 8 caches.
              (-[WebTextRendererFactory isFontFixedPitch:]): Changed code slightly so there's only one call to
              the CFDictionarySetValue function.
              (-[WebTextRendererFactory init]): Create all 8 caches.
              (-[WebTextRendererFactory dealloc]): Release all 8 caches.
              (-[WebTextRendererFactory rendererWithFont:]): Select the appropriate cache based on 3 booleans:
              synthetic bold, synthetic oblique, and printer. Use WebCoreFont instead of NSFont.
              (-[WebTextRendererFactory fontWithFamilies:traits:size:]): Set the synthetic bold and oblique flags
              when returning a WebCoreFont based on requested traits that are not present in the NSFont.
              (acceptableChoice): Ignore the synthesizable traits when deciding if a chosen font is acceptable.
              (betterChoice): Rather than assuming that every font has all the desired traits, implement a rule
              that says a font with an unwanted trait loses out over a font that does not have an unwanted trait.
              This lets us chose a bold font over a non-bold font that could use synthesized bold but treat both
              as candidates.
      
              * WebCoreSupport.subproj/WebGlyphBuffer.h: Removed.
              * WebCoreSupport.subproj/WebGlyphBuffer.m: Removed.
              * WebKit.xcodeproj/project.pbxproj: Removed WebGlyphBuffer source files.
      
              * Misc.subproj/WebKitNSStringExtras.m:
              (-[NSString _web_drawAtPoint:font:textColor:]): Update to use WebCoreFont.
              (-[NSString _web_widthWithFont:]): Ditto.
              * Misc.subproj/WebStringTruncator.m:
              (truncateString): Ditto.
              (+[WebStringTruncator widthOfString:font:]): Ditto.
      
              * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Removed text drawing coalesce method calls.
              * WebView.subproj/WebTextView.m: (-[WebTextView setFixedWidthFont]): Updated to use cachedFontFromFamily
              method, which we still have, rather than fontWithFamilies method which we don't (since it now uses WebCoreFont).
              * WebView.subproj/WebView.m: (+[WebView _setAlwaysUseATSU:]): Updated for name change to underlying method.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a6127da
  20. 30 Aug, 2004 1 commit
    • darin's avatar
      WebCore: · 3cab7ba6
      darin authored
              Reviewed by John.
      
              - fixed <rdar://problem/3637519> REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com
      
              * kwq/KWQListBox.h: Added a clearCachedTextRenderers function.
              * kwq/KWQListBox.mm:
              (itemTextRenderer): Change to use globals that are outside the function, and added retain calls.
              (groupLabelTextRenderer): Ditto.
              (QListBox::clearCachedTextRenderers): Release global text renderers and nil out the globals.
      
              * kwq/WebCoreBridge.h: Removed updateAllViews; not needed any more.
              * kwq/WebCoreBridge.mm: Ditto.
      
              * kwq/WebCoreTextRendererFactory.h: Added a clearCaches method.
              * kwq/WebCoreTextRendererFactory.mm:
              (-[WebCoreTextRendererFactory clearCaches]): Added. Tells all the views to repaint after clearing the cached
              text renderers from KWQListBox. To be more elegant, we could generalize the KWQListBox trick, but for now why bother?
      
              * kwq/WebCoreTextRendererFactory.m: Removed. I needed to put some C++ code in here, so changed the extension to .mm.
              * WebCore.pbproj/project.pbxproj: Removed WebCoreTextRendererFactory.m, and added WebCoreTextRendererFactory.mm.
      
      WebKit:
      
              Reviewed by John.
      
              - part of fix for <rdar://problem/3637519> REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com
      
              * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory clearCaches]):
              Call [super clearCaches].
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@7409 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3cab7ba6
  21. 04 Apr, 2003 1 commit
    • darin's avatar
      WebCore: · ca030762
      darin authored
              Reviewed by Ken.
      
              - fixed 3217687 -- REGRESSION: printing uses widths from screen fonts, messing up layout
      
              To get the style machinery working for me instead of against me, I had to introduce both
              FontDef and QFont to the screen/printer font dichotomy. Just following that through took
              care of the bugs we were seeing.
      
              * khtml/rendering/font.h: Add a usePrinterFont field to FontDef (in APPLE_CHANGES).
              * khtml/rendering/font.cpp: (Font::update): Set the new "printer font" field on the QFont
              (in APPLE_CHANGES).
      
              * khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle): Set usePrinterFont field on the
              document's fontDef (in APPLE_CHANGES).
      
              * kwq/KWQFont.h: Add isPrinterFont, setter, getter.
              * kwq/KWQFont.mm:
              (QFont::QFont): Default isPrinterFont to false, copy when copying.
              (QFont::operator=): Copy isPrinterFont.
              (QFont::setPrinterFont): Added.
              (QFont::operator==): Compare isPrinterFont.
      
              * kwq/KWQFontMetrics.mm: Remove the _rendererUsesPrinterFont field and associated code.
              This was only needed when the same QFont could be both printer and screen font, but now
              the QFont itself is different.
              * kwq/KWQPainter.mm: (QPainter::_updateRenderer): Remove textRendererUsesPrinterFont field
              and associated code, for same reason as above.
      
              * kwq/WebCoreBridge.mm: (-[WebCoreBridge reapplyStylesForDeviceType:]): Set the document's
              paint device.
      
              * kwq/WebCoreTextRendererFactory.h: Remove global setUsingPrinterFonts: and
              usingPrinterFonts methods. We now handle this at the document level. Add a usingPrinterFont:
              parameter to rendererWithFont:, which is now how KHTML tells the text rendering code which
              kind to use.
              * kwq/WebCoreTextRendererFactory.m: Removed KWQTextRendererFactoryUsingPrinterFonts.
              (-[WebCoreTextRendererFactory rendererWithFont:usingPrinterFont:]): Added parameter.
      
              - other changes
      
              * kwq/KWQPaintDevice.h: Store the device type instead of using a virtual function.
              * kwq/KWQPrinter.h: Set device type in constructor instead of overriding devType function.
              * kwq/KWQPixmap.h: Changed destructor back to non-virtual (and entire class back to
              non-polymorphic), now that QPaintDevice doesn't use virtual functions any more.
      
              * kwq/KWQPaintDeviceMetrics.h: Remove unused width() and height().
              * kwq/KWQPaintDeviceMetrics.mm: Ditto.
      
              * WebCore.pbproj/project.pbxproj: Removed KWQTextRendererFactory.h.
              * kwq/KWQTextRendererFactory.h: Removed.
      
      WebKit:
      
              Reviewed by Ken.
      
              - fixed 3217687 -- REGRESSION: printing uses widths from screen fonts, messing up layout
      
              * WebCoreSupport.subproj/WebTextRendererFactory.m: Removed now-unused rendererWithFont:
              which called, the now-removed usingPrinterFonts method. WebCore now calls the one with
              the usingPrinterFont parameter.
      
              * WebView.subproj/WebHTMLView.m:
              (-[WebHTMLView drawRect:]): Remove setUsingPrinterFonts: calls. This is now handled by the
              document on the WebCore side.
              (-[WebHTMLView _setPrinting:]): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ca030762
  22. 24 Mar, 2003 1 commit
    • darin's avatar
      WebCore: · 8bf65515
      darin authored
              Reviewed by John.
      
              - fixed 3203869 -- Monaco 9 looks different in Safari than in TextEdit (uses outline instead of bitmap)
      
              * kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getRenderer): Get a new renderer
              if the one we have is wrong printer-vs-screen-wise. For speed, use a global
              variable rather than methods.
              * kwq/KWQPainter.mm: (QPainter::_updateRenderer): Get a new renderer if the
              one we have is wrong printer-vs-screen-wise. For speed, use a global variable
              rather than methods.
      
              * kwq/KWQTextRendererFactory.h: Added. Exposes a global variable that tells whether we are
              in global "using printer font" mode.
              * kwq/WebCoreTextRendererFactory.h: Added setUsingPrinterFonts: and usingPrinterFonts methods.
              * kwq/WebCoreTextRendererFactory.m:
              (-[WebCoreTextRendererFactory setUsingPrinterFonts:]): Added. Sets global.
              (-[WebCoreTextRendererFactory usingPrinterFonts]): Added. Returns value of global.
      
              * WebCore.pbproj/project.pbxproj: Added KWQTextRendererFactory.h.
      
      WebKit:
      
              Reviewed by John.
      
              - fixed 3203869 -- Monaco 9 looks different in Safari than in TextEdit (uses outline instead of bitmap)
      
              * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]):
              Pass usingPrinterFont:NO, since this is used exclusively for on-screen text, not printing.
              * Misc.subproj/WebStringTruncator.m: (truncateString): Ditto.
      
              * WebCoreSupport.subproj/WebTextRenderer.h: Add usingPrinterFont boolean field and parameter to init.
              * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:forScreen:]):
              Add usingPrinterFont parameter, and get the screen font if it's NO, also store the boolean
              for later use.
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding: attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
              Pass the usingPrinterFont parameter through when getting a substitute font.
      
              * WebCoreSupport.subproj/WebTextRendererFactory.h: Add separate caches for screen and printing text
              renderers. Add usingPrinterFont parameter to our rendererWithFont: method (the one inherited from WebCore
              still has no parameter).
              * WebCoreSupport.subproj/WebTextRendererFactory.m:
              (-[WebTextRendererFactory init]): Create both caches.
              (-[WebTextRendererFactory dealloc]): Release both caches.
              (-[WebTextRendererFactory rendererWithFont:]): Call the new rendererWithFont:usingPrinterFont: method,
              passing usingPrinterFonts from the WebCore side. Thus any fonts fetched by WebCore during printing
              are printing fonts, and otherwise they are screen fonts.
              (-[WebTextRendererFactory rendererWithFont:usingPrinterFont:]): Added. Has the code from the old
              rendererWithFont: method, but passes the usingPrinterFont parameter through to the WebTextRenderer
              init method.
      
              * WebView.subproj/WebHTMLView.m:
              (-[WebHTMLView initWithFrame:]): Don't set unused canDragTo and canDragFrom fields.
              (-[WebHTMLView drawRect:]): Call -[WebTextRendererFactory setUsingPrinterFonts:] here if we are printing,
              as indicated by the usingPrinterFonts field. The reason we do this only inside drawRect is so we don't
              affect redraws of other HTML views that are not being printed that might be in "needs display" state when
              printing began.
              (-[WebHTMLView _setUsingPrinterFonts:]): Added. Calls _setUsingPrinterFonts on all WebHTMLViews inside
              this one, then does the work for this one. Uses the frame hierarchy rather than the view hierarchy, but
              either would work. If printer font state is changing, then sets the WebTextRendererFactory mode, then
              forces a layout and application of styles, but without triggering display.
              (-[WebHTMLView beginDocument]): Do an explicit display so this view does not have to be displayed while
              it is in "use printer fonts" mode. Then call _setUsingPrinterFonts:YES so that drawRect will use printer
              fonts, and also that the WebCore data structures and layout will be updated to reflect printer fonts as
              opposed to screen fonts.
              (-[WebHTMLView endDocument]): Call _setUsingPrinterFonts:NO to restore things to normal after printing.
              * WebView.subproj/WebHTMLViewPrivate.h: Removed unused canDragTo, canDragFrom, and liveAllowsScrolling
              fields. Added usingPrinterFonts field.
      
              * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8bf65515
  23. 21 Jan, 2003 1 commit
  24. 03 Jan, 2003 1 commit
    • rjw's avatar
      WebCore: · b026936c
      rjw authored
              Fixed 3138743, 3138678, and 3138854.  Removed the RenderText
              widths cache, replaced it with a much simply monospace character
              cache.  Should be much faster for covered cases too!  Also fixed
              buffer overrun problem causing the crash in 3138854.
      
              Reviewed by darin.
      
              * khtml/rendering/font.cpp:
              (Font::isFixedPitch):
              * khtml/rendering/font.h:
              * khtml/rendering/render_text.cpp:
              (TextSlave::checkSelectionPoint):
              (RenderText::RenderText):
              (RenderText::setStyle):
              (RenderText::~RenderText):
              (RenderText::shouldUseMonospaceCache):
              (RenderText::cacheWidths):
              (RenderText::widthFromCache):
              (RenderText::trimmedMinMaxWidth):
              (RenderText::calcMinMaxWidth):
              (RenderText::setText):
              (RenderText::width):
              * khtml/rendering/render_text.h:
              * kwq/KWQFont.h:
              * kwq/KWQFont.mm:
              (QFont::isFixedPitch):
              * kwq/WebCoreTextRendererFactory.h:
              * kwq/WebCoreTextRendererFactory.m:
              (-[WebCoreTextRendererFactory isFontFixedPitch:]):
      
      WebKit:
              Support for fixes to 3138743, 3138678.  Added
              isFontFixedPitch used to determine if font is fixed
              pitch.  Makes use of appkit private _isFakeFixedPitch
              (detects courier and monoca).  Updated our fakey test
              to use the appkit's version.
      
              Reviewed by darin.
      
              * WebCoreSupport.subproj/WebTextRenderer.m:
              * WebCoreSupport.subproj/WebTextRendererFactory.m:
              (-[WebTextRendererFactory isFontFixedPitch:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b026936c
  25. 04 Dec, 2002 1 commit
    • rjw's avatar
      WebCore · 8be12a98
      rjw authored
              Cache the NSFont in QFont after doing family based lookup.
              Use that cached font to find a text renderer.
      
              Reviewed by: Darin
      
              * kwq/KWQFont.h:
              * kwq/KWQFont.mm:
              (QFont::QFont):
              (QFont::~QFont):
              (QFont::setFamily):
              (QFont::setFirstFamily):
              (QFont::setPixelSize):
              (QFont::setWeight):
              (QFont::setItalic):
              (QFont::getNSFont):
              * kwq/KWQFontMetrics.mm:
              * kwq/KWQPainter.mm:
              (QPainter::_updateRenderer):
              * kwq/WebCoreTextRendererFactory.h:
              * kwq/WebCoreTextRendererFactory.m:
              (-[WebCoreTextRendererFactory rendererWithFont:]):
      
      WebKit
              Cache the fallback font in the same way we cache other
              fonts.
      
              Reviewed by: Darin
      
              * WebCoreSupport.subproj/WebTextRendererFactory.h:
              * WebCoreSupport.subproj/WebTextRendererFactory.m:
              (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
              (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
              (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8be12a98
  26. 03 Dec, 2002 1 commit
    • rjw's avatar
      Fixed 3019986. Use an array of font families instead of a single · a56a61fe
      rjw authored
              font family to support CSS family lists.
              r=hyatt
      
              * Misc.subproj/WebKitNSStringExtras.m:
              (-[NSString _web_widthForString:font:]):
              * Misc.subproj/WebStringTruncator.m:
              (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
              (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
              * WebCoreSupport.subproj/WebTextRenderer.h:
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer substituteFontForString:families:]):
              (-[WebTextRenderer substituteFontForCharacters:length:families:]):
              (-[WebTextRenderer widthForCharacters:length:]):
              (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:fontFamilies:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:fontFamilies:]):
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
              * WebCoreSupport.subproj/WebTextRendererFactory.h:
              * WebCoreSupport.subproj/WebTextRendererFactory.m:
              (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
              (-[WebTextRendererFactory fontWithFamily:traits:size:]):
              (+[WebTextRendererFactory fallbackFontWithTraits:size:]):
              (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
              (-[WebTextRendererFactory cachedFontFromFamilies:traits:size:]):
              (-[WebTextRendererFactory rendererWithFamilies:traits:size:]):
      
              Fixed 3019986.  Use an array of font families instead of a single
              font family to support CSS family lists.
              r=hyatt
      
              * kwq/KWQFont.h:
              * kwq/KWQFont.mm:
              (QFont::getNSFont):
              * kwq/KWQFontMetrics.mm:
              (QFontMetrics::width):
              (QFontMetrics::floatWidth):
              (QFontMetrics::floatCharacterWidths):
              * kwq/KWQPainter.mm:
              (QPainter::drawText):
              (QPainter::drawUnderlineForText):
              * kwq/WebCoreTextRenderer.h:
              * kwq/WebCoreTextRendererFactory.h:
              * kwq/WebCoreTextRendererFactory.m:
              (-[WebCoreTextRendererFactory rendererWithFamilies:traits:size:]):
              (-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2915 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a56a61fe
  27. 08 Aug, 2002 2 commits
    • rjw's avatar
      Added flag to turn on/off buffered text drawing to help · 285f059c
      rjw authored
              determine if we get any speed boost.  Run from console
              with "-BufferTextDrawing YES" to enable buffered text
              drawing.
      
              Moved buffered text drawing out of web core.
      
              * WebCoreSupport.subproj/WebTextRenderer.h:
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (+[WebTextRenderer shouldBufferTextDrawing]):
              (+[WebTextRenderer initialize]):
              (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
              * WebCoreSupport.subproj/WebTextRendererFactory.h:
              * WebView.subproj/WebHTMLView.m:
              (-[WebHTMLView drawRect:]):
      
              Move stuff out of core into kit.
      
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge drawRect:withPainter:]):
              * kwq/WebCoreTextRendererFactory.h:
              * kwq/WebCoreTextRendererFactory.m:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1779 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      285f059c
    • rjw's avatar
      Changes to coalesce all drawing calls of the same text · 31cc0952
      rjw authored
              style and color into one call to CG.  Significantly
              improves drawing time.  My tests should about 7-8% on
              ALL pages.  Disabled the code for now until I can verify
              on speed improvements on Ken's test rig.
      
              * WebCoreSupport.subproj/WebGlyphBuffer.h: Added.
              * WebCoreSupport.subproj/WebGlyphBuffer.m: Added.
              (-[WebGlyphBuffer initWithFont:color:]):
              (-[WebGlyphBuffer font]):
              (-[WebGlyphBuffer color]):
              (-[WebGlyphBuffer reset]):
              (-[WebGlyphBuffer dealloc]):
              (-[WebGlyphBuffer drawInView:]):
              (-[WebGlyphBuffer addGlyphs:advances:count:at::]):
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
              * WebCoreSupport.subproj/WebTextRendererFactory.h:
              * WebCoreSupport.subproj/WebTextRendererFactory.m:
              (-[WebTextRendererFactory coalesceTextDrawing]):
              (-[WebTextRendererFactory startCoalesceTextDrawing]):
              (-[WebTextRendererFactory endCoalesceTextDrawing]):
              (-[WebTextRendererFactory glyphBufferForFont:andColor:]):
              (-[WebTextRendererFactory dealloc]):
              * WebKit.pbproj/project.pbxproj:
      
              Changes to coalesce all drawing calls of the same text
              style and color into one call to CG.  Significantly
              improves drawing time.  My tests should about 7-8% on
              ALL pages.  Disabled the code for now until I can verify
              on speed improvements on Ken's test rig.
      
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge drawRect:withPainter:]):
              * kwq/WebCoreTextRendererFactory.h:
              * kwq/WebCoreTextRendererFactory.m:
              (-[WebCoreTextRendererFactory endCoalesceTextDrawing]):
              (-[WebCoreTextRendererFactory startCoalesceTextDrawing]):
      
              Made WebQueue a private class.
      
              * WebFoundation.exp:
              * WebFoundation.pbproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1775 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31cc0952
  28. 02 Aug, 2002 1 commit
    • hyatt's avatar
      Lots of form control changes. · 03307b00
      hyatt authored
      	- Inputs and textareas now respond to setFont and can have their font set by the Web page
      	explicitly.  These fields emulate the WinIE behavior of defaulting to the UI system font
      	and only picking up new fonts if they are explicitly specified on the element itself.
      	- Buttons and selects use the small versions now.
      	- Stopped trying to align controls along baselines of their interior text.  Konqueror is
      	the only browser that does this, and it looks bad on many pages.  With this patch controls
      	align along their bottom borders (which extend slightly below the baseline of surrounding
      	text).  This matches Gecko, MacIE, and WinIE behavior.
      	- Stopped using monospace for textareas and inputs.
      	- Fixed a bug with inputs not calling setScrollable on their cells.
      
              * khtml/css/html4.css:
              * khtml/rendering/render_form.cpp:
              (RenderSubmitButton::calcMinMaxWidth):
              (RenderSubmitButton::baselinePosition):
              (RenderLineEdit::baselinePosition):
              (RenderSelect::baselinePosition):
              * khtml/rendering/render_form.h:
              * kwq/KWQButton.mm:
              (QButton::QButton):
              (QButton::sizeHint):
              * kwq/KWQComboBox.mm:
              (QComboBox::init):
              * kwq/KWQLineEdit.mm:
              (QLineEdit::cursorPosition):
              (QLineEdit::setFont):
              * kwq/KWQNSTextField.mm:
              (-[KWQNSTextField initWithFrame:widget:]):
              * kwq/KWQView.mm:
              (-[KWQNSButtonCell cellSizeForBounds:]):
              (+[KWQNSButton initialize]):
              * kwq/WebCoreTextRendererFactory.h:
              * kwq/WebCoreTextRendererFactory.m:
              (-[WebCoreTextRendererFactory fontWithFamily:traits:size:]):
              * kwq/qt/qbutton.h:
              * kwq/qt/qlineedit.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03307b00
  29. 22 Jul, 2002 1 commit
    • darin's avatar
      * khtml/rendering/render_text.cpp: · 1e039cff
      darin authored
              (TextSlave::printSelection): Add comments to APPLE_CHANGES.
              (TextSlave::printDecoration): Add comments to APPLE_CHANGES.
              (TextSlave::checkSelectionPoint): Add comments to APPLE_CHANGES.
      
              * khtml/xml/dom_stringimpl.cpp: Add comments to APPLE_CHANGES.
      
              * khtml/xml/xml_tokenizer.cpp: (XMLTokenizer::end): Remove APPLE_CHANGES.
              * kwq/KWQsignals.mm: Add a new signal dummy function.
      
              * kwq/WebCoreJavaScript.h: Fix header.
              * kwq/WebCoreJavaScript.mm: Fix header.
      
              * kwq/WebCoreSettings.h: Added. Not used yet.
              * kwq/WebCoreSettings.m: Added. Not used yet.
              * WebCore.pbproj/project.pbxproj: Added WebCoreSettings.h and .m.
      
              * English.lproj/InfoPlist.strings: Fixed a spelling error.
      
              * kwq/WebCoreTextRendererFactory.h: Tweak.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e039cff
  30. 07 May, 2002 1 commit
    • darin's avatar
      WebCore: · 1267f07a
      darin authored
      	Move more plugin code into WebKit.
      
      	Stop using IF for anything in WebCore to help make it clear what's part of
      	the BSD licensed stuff and what's part of our proprietary stuff.
      
      	* libwebcore.exp: Names of what exported changed.
      	* kwq/Makefile.am: Source file names changed.
      
      	* kwq/IFTextRenderer.h: Renamed to WebCoreTextRenderer.
      	* kwq/IFTextRendererFactory.h: Renamed to WebCoreTextRendererFactory.
      	* kwq/IFTextRendererFactory.m: Renamed to WebCoreTextRendererFactory.
      	* kwq/WebCoreTextRenderer.h: Renamed from IFTextRenderer.
      	* kwq/WebCoreTextRendererFactory.h: Renamed from IFTextRendererFactory.
      	* kwq/WebCoreTextRendererFactory.m: Renamed from IFTextRendererFactory.
      
      	* kwq/KWQFontMetrics.mm:
      	* kwq/KWQPainter.mm:
      	Updated for IF -> WebCore name change.
      
      	* kwq/WebCoreViewFactory.h: Added.
      	* kwq/WebCoreViewFactory.m: Added.
      
      	* kwq/KWQKConfigBase.mm: (KConfig::readEntry): (KConfig::readNumEntry):
      	Use the new [WebCoreViewFactory pluginsInfo] so we don't have to have
      	the plugin database in WebCore any more.
      
      	* kwq/WCJavaAppletWidget.h:
      	* kwq/WCJavaAppletWidget.mm: (IFJavaAppletWidgetCreate):
      	* kwq/WCPluginWidget.h:
      	* kwq/WCPluginWidget.mm: (IFPluginWidgetCreate):
      	Remove creation function machinery, and use the WebCoreViewFactory instead.
      
      	* kwq/WCPlugin.h: Moved to WebKit.
      	* kwq/WCPlugin.mm: Moved to WebKit.
      	* kwq/WCPluginDatabase.h: Moved to WebKit.
      	* kwq/WCPluginDatabase.mm: Moved to WebKit.
      	* kwq/npapi.h: Moved to WebKit.
      	* kwq/npapi.mm: Moved to WebKit.
      
      WebKit:
      
      	Move more plugin code here from WebCore.
      
      	* IFWebCoreViewFactory.h: Added.
      	* IFWebCoreViewFactory.m: Added.
      
      	* Plugins.subproj/IFPlugin.h: Moved from WebCore.
      	* Plugins.subproj/IFPlugin.m: Moved from WebCore.
      	* Plugins.subproj/IFPluginDatabase.h: Moved from WebCore.
      	* Plugins.subproj/IFPluginDatabase.m: Moved from WebCore.
      	* Plugins.subproj/npapi.h: Moved from WebCore.
      	* Plugins.subproj/npapi.m: Moved from WebCore.
      
      	* WebKit.pbproj/project.pbxproj: Source file names changed
      
      	* MIME.subproj/IFMIMEDatabase.m:
      	* MIME.subproj/IFMIMEHandler.m:
      	* Plugins.subproj/IFPluginView.h:
      	* Plugins.subproj/IFPluginView.mm:
      	Updated for WC -> IF name change.
      
      	* WebCoreSupport.subproj/IFCachedTextRenderer.h: Renamed to IFTextRenderer.
      	* WebCoreSupport.subproj/IFCachedTextRenderer.m: Renamed to IFTextRenderer.
      	* WebCoreSupport.subproj/IFCachedTextRendererFactory.h: Renamed to IFTextRendererFactory.
      	* WebCoreSupport.subproj/IFCachedTextRendererFactory.m: Renamed to IFTextRendererFactory.
      	* WebCoreSupport.subproj/IFTextRenderer.h: Renamed from IFCachedTextRenderer.
      	* WebCoreSupport.subproj/IFTextRenderer.m: Renamed from IFCachedTextRenderer.
      	* WebCoreSupport.subproj/IFTextRendererFactory.h: Renamed from IFCachedTextRendererFactory.
      	* WebCoreSupport.subproj/IFTextRendererFactory.m: Renamed from IFCachedTextRendererFactory.
      	Renamed to take "Cached" out of the name now that the simpler name is
      	available.
      
      	* WebView.subproj/IFWebView.mm:
      	(-[IFWebView initWithFrame:]): Create shared IFWebCoreViewFactory.
      	(-[IFWebView delayLayout:]): Use WEBKITDEBUG, not KWQDEBUG.
      	(-[IFWebView notificationReceived:]): Use WEBKITDEBUG, not KWQDEBUG.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1267f07a
  31. 03 May, 2002 1 commit
    • darin's avatar
      WebCore: · 458becea
      darin authored
      	* kwq/IFTextRenderer.h: Added.
      	* kwq/IFTextRendererFactory.h: Added.
      	* kwq/IFTextRendererFactory.m: Added.
      	These three are the new API for supplying text rendering machinery for WebCore.
      	The implementation is in WebKit. Later we might want to flesh out the default
      	implementation in WebCore so that it works OK by itself.
      
      	* khtml/rendering/font.cpp: (Font::width): Function is now "width" without
      	an underscore. We don't really need to hide the overload we added in this
      	case.
      
      	* kwq/qt/qfont.h: Simplify a lot. Doesn't hold an NSFont any more.
      	* kwq/KWQFont.mm:
      	(QFont::QFont): Eliminated the concept of "default font". Also, a QFont no
      	longer holds an NSFont object. That's handled inside IFTextRenderer machinery.
      	(QFont::~QFont): Simplify since we don't have an NSFont.
      	(QFont::setFamily): Simplify since we don't have an NSFont.
      	(QFont::setPixelSize): Simplify since we don't have an NSFont.
      	(QFont::setPixelSizeFloat): Simplify since we don't have an NSFont.
      	(QFont::setWeight): Simplify since we don't have an NSFont.
      	(QFont::weight): Fix a bug where it would return Normal for a QFont that was
      	both bold and italic.
      	(QFont::setItalic): Simplify since we don't have an NSFont.
      	(QFont::italic): Simplify since we have real "bool".
      	(QFont::bold): Simplify since we have real "bool".
      	(QFont::operator=): Simplify since we don't have an NSFont.
      	(QFont::operator==): Rewrite since we don't have an NSFont.
      
      	* kwq/qt/qfontmetrics.h: Simplify a little. The _width() method is now just an
      	overload of the width() method. The main change was removing the include of Cocoa.h.
      	* kwq/KWQFontMetrics.mm:
      	Move most of the code out of here into WebKit.
      	(QFontMetrics::ascent): Get it from the renderer.
      	(QFontMetrics::descent): Get it from the renderer.
      	(QFontMetrics::lineSpacing): Get it from the renderer.
      	(QFontMetrics::width): Get it from the renderer.
      	(QFontMetrics::boundingRect): Combine width and height that came from the renderer.
      	(QFontMetrics::size): Combine width and height that came from the renderer.
      
      	* kwq/Makefile.am: Add IFTextRendererFactory.m, remove KWQTextStorage.mm and KWQTextContainer.mm.
      	* kwq/KWQMetrics.h: Removed.
      	* kwq/KWQTextContainer.h: Removed.
      	* kwq/KWQTextContainer.mm: Removed.
      	* kwq/KWQTextStorage.h: Removed.
      	* kwq/KWQTextStorage.mm: Removed.
      
      	* kwq/KWQPainter.mm:
      	Move most of the code out of here into WebKit.
      	(QPainter::drawText): Call the renderer to do it.
      	(QPainter::drawUnderlineForText): Call the renderer to do it.
      
      	* libwebcore.exp: Export the IFTextRendererFactory class.
      
      WebKit:
      
      	* Misc.subproj/WebKitDebug.h: Add WEBKIT_LOG_MEMUSAGE, WEBKIT_LOG_FONTCACHE, and
      	WEBKIT_LOG_FONTCACHECHARMISS for font code moved here from WebCore.
      
      	* Resources/url_icon.tiff: New URL icon?
      
      	* WebCoreSupport.subproj/IFCachedTextRenderer.h: Added.
      	* WebCoreSupport.subproj/IFCachedTextRenderer.m: Added.
      	* WebCoreSupport.subproj/IFCachedTextRendererFactory.h: Added.
      	* WebCoreSupport.subproj/IFCachedTextRendererFactory.m: Added.
      	This has code moved here from WebCore.
      
      	* WebKit.pbproj/project.pbxproj: Add the new source files.
      
      	* Bookmarks.subproj/IFBookmarkLeaf.m:
      	(-[IFBookmarkLeaf setURLString:]): Use copy instead of initWithString.
      	* Bookmarks.subproj/IFBookmarkList.m:
      	(-[IFBookmarkList initWithTitle:image:group:]): Use copy instead of stringWithString.
      	(-[IFBookmarkList setTitle:]): Use copy instead of stringWithString.
      	* WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
      	Use mutableCopy instead of stringWithString.
      	* WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): Use copy instead
      	of stringWithString.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      458becea
  32. 19 Nov, 2001 1 commit
  33. 09 Oct, 2001 1 commit
  34. 04 Oct, 2001 1 commit
  35. 27 Sep, 2001 1 commit
  36. 19 Sep, 2001 2 commits
  37. 10 Sep, 2001 1 commit
  38. 27 Aug, 2001 1 commit