Changeset 141583 in webkit
- Timestamp:
- Feb 1, 2013 5:08:17 AM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r141581 r141583 1 2013-02-01 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 2 3 [EFL][WK2] EwkContext should be based on C WK2 API 4 https://bugs.webkit.org/show_bug.cgi?id=107666 5 6 Reviewed by Andreas Kling. 7 8 EwkContext should be based on C WK2 API so that API layering is not violated. 9 10 * UIProcess/API/efl/EwkView.cpp: 11 (EwkView::EwkView): 12 * UIProcess/API/efl/ewk_context.cpp: 13 (EwkContext::EwkContext): 14 (EwkContext::create): 15 (EwkContext::cookieManager): 16 (EwkContext::ensureFaviconDatabase): 17 (EwkContext::setFaviconDatabaseDirectoryPath): 18 (EwkContext::addVisitedLink): 19 (EwkContext::setCacheModel): 20 (EwkContext::cacheModel): 21 (EwkContext::setAdditionalPluginPath): 22 (EwkContext::clearResourceCache): 23 * UIProcess/API/efl/ewk_context_private.h: 24 (EwkContext): 25 * UIProcess/API/efl/ewk_view.cpp: 26 (ewk_view_base_add): 27 1 28 2013-02-01 Christophe Dumez <christophe.dumez@intel.com> 2 29 -
trunk/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
r141543 r141583 118 118 #endif 119 119 , m_pageClient(behavior == DefaultBehavior ? PageClientDefaultImpl::create(this) : PageClientLegacyImpl::create(this)) 120 , m_pageProxy( m_context->webContext()->createWebPage(m_pageClient.get(), pageGroup.get()))120 , m_pageProxy(toImpl(m_context->wkContext())->createWebPage(m_pageClient.get(), pageGroup.get())) 121 121 , m_pageLoadClient(PageLoadClientEfl::create(this)) 122 122 , m_pagePolicyClient(PagePolicyClientEfl::create(this)) -
trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp
r141389 r141583 24 24 #include "BatteryProvider.h" 25 25 #include "ContextHistoryClientEfl.h" 26 #include "DownloadManagerEfl.h" 26 27 #include "NetworkInfoProvider.h" 27 28 #include "RequestManagerClientEfl.h" 28 29 #include "WKAPICast.h" 29 #include "WKContext.h"30 30 #include "WKContextSoup.h" 31 31 #include "WKNumber.h" 32 #include "WKRetainPtr.h"33 32 #include "WKString.h" 34 #include "WebContext.h"35 #include "WebCookieManagerProxy.h"36 33 #include "WebIconDatabase.h" 37 #include "WebResourceCacheManagerProxy.h"38 #include "WebSoupRequestManagerProxy.h"39 34 #include "ewk_context_private.h" 40 35 #include "ewk_cookie_manager_private.h" … … 57 52 using namespace WebKit; 58 53 59 typedef HashMap<W ebContext*, EwkContext*> ContextMap;54 typedef HashMap<WKContextRef, EwkContext*> ContextMap; 60 55 61 56 static inline ContextMap& contextMap() … … 65 60 } 66 61 67 EwkContext::EwkContext( PassRefPtr<WebContext>context)62 EwkContext::EwkContext(WKContextRef context) 68 63 : m_context(context) 69 , m_databaseManager(EwkDatabaseManager::create(WKContextGetDatabaseManager( toAPI(m_context.get()))))70 , m_storageManager(EwkStorageManager::create(WKContextGetKeyValueStorageManager( toAPI(m_context.get()))))64 , m_databaseManager(EwkDatabaseManager::create(WKContextGetDatabaseManager(context))) 65 , m_storageManager(EwkStorageManager::create(WKContextGetKeyValueStorageManager(context))) 71 66 #if ENABLE(BATTERY_STATUS) 72 , m_batteryProvider(BatteryProvider::create( m_context))67 , m_batteryProvider(BatteryProvider::create(toImpl(context))) 73 68 #endif 74 69 #if ENABLE(NETWORK_INFO) 75 , m_networkInfoProvider(NetworkInfoProvider::create( m_context))76 #endif 77 , m_downloadManager(DownloadManagerEfl::create( toAPI(m_context.get())))78 , m_requestManagerClient(RequestManagerClientEfl::create( toAPI(m_context.get())))79 , m_historyClient(ContextHistoryClientEfl::create( toAPI(m_context.get())))80 { 81 ContextMap::AddResult result = contextMap().add( m_context.get(), this);70 , m_networkInfoProvider(NetworkInfoProvider::create(toImpl(context))) 71 #endif 72 , m_downloadManager(DownloadManagerEfl::create(context)) 73 , m_requestManagerClient(RequestManagerClientEfl::create(context)) 74 , m_historyClient(ContextHistoryClientEfl::create(context)) 75 { 76 ContextMap::AddResult result = contextMap().add(context, this); 82 77 ASSERT_UNUSED(result, result.isNewEntry); 83 78 … … 87 82 88 83 if (!initializeMemorySampler && getenv(environmentVariable)) { 89 m_context->startMemorySampler(0.0);84 WKContextStartMemorySampler(context, adoptWK(WKDoubleCreate(0.0)).get()); 90 85 initializeMemorySampler = true; 91 86 } … … 107 102 } 108 103 109 PassRefPtr<EwkContext> EwkContext::create( PassRefPtr<WebContext>context)110 { 111 if (contextMap().contains(context .get()))112 return contextMap().get(context .get()); // Will be ref-ed automatically.104 PassRefPtr<EwkContext> EwkContext::create(WKContextRef context) 105 { 106 if (contextMap().contains(context)) 107 return contextMap().get(context); // Will be ref-ed automatically. 113 108 114 109 return adoptRef(new EwkContext(context)); … … 117 112 PassRefPtr<EwkContext> EwkContext::create() 118 113 { 119 return create( WebContext::create(String()));114 return create(adoptWK(WKContextCreate()).get()); 120 115 } 121 116 … … 125 120 return 0; 126 121 127 return create(WebContext::create(injectedBundlePath)); 122 WKRetainPtr<WKStringRef> path = adoptWK(toCopiedAPI(injectedBundlePath)); 123 124 return create(adoptWK(WKContextCreateWithInjectedBundlePath(path.get())).get()); 128 125 } 129 126 … … 138 135 { 139 136 if (!m_cookieManager) 140 m_cookieManager = EwkCookieManager::create(WKContextGetCookieManager( toAPI(m_context.get())));137 m_cookieManager = EwkCookieManager::create(WKContextGetCookieManager(m_context.get())); 141 138 142 139 return m_cookieManager.get(); … … 153 150 return; 154 151 155 m_faviconDatabase = EwkFaviconDatabase::create(WKContextGetIconDatabase( toAPI(m_context.get())));152 m_faviconDatabase = EwkFaviconDatabase::create(WKContextGetIconDatabase(m_context.get())); 156 153 } 157 154 … … 159 156 { 160 157 ensureFaviconDatabase(); 158 // FIXME: Hole in WK2 API layering must be fixed when C API is available. 159 WebIconDatabase* iconDatabase = toImpl(WKContextGetIconDatabase(m_context.get())); 161 160 162 161 // The database path is already open so its path was 163 162 // already set. 164 if ( m_context->iconDatabase()->isOpen())163 if (iconDatabase->isOpen()) 165 164 return false; 166 165 167 166 // If databaseDirectory is empty, we use the default database path for the platform. 168 String databasePath = databaseDirectory.isEmpty() ? m_context->iconDatabasePath() : pathByAppendingComponent(databaseDirectory, WebCore::IconDatabase::defaultDatabaseFilename());169 m_context->setIconDatabasePath(databasePath);167 String databasePath = databaseDirectory.isEmpty() ? toImpl(m_context.get())->iconDatabasePath() : pathByAppendingComponent(databaseDirectory, WebCore::IconDatabase::defaultDatabaseFilename()); 168 toImpl(m_context.get())->setIconDatabasePath(databasePath); 170 169 171 170 return true; … … 192 191 void EwkContext::addVisitedLink(const String& visitedURL) 193 192 { 194 m_context->addVisitedLink(visitedURL);193 WKContextAddVisitedLink(m_context.get(), adoptWK(toCopiedAPI(visitedURL)).get()); 195 194 } 196 195 197 196 void EwkContext::setCacheModel(Ewk_Cache_Model cacheModel) 198 197 { 199 m_context->setCacheModel(static_cast<WebKit::CacheModel>(cacheModel));198 WKContextSetCacheModel(m_context.get(), static_cast<WebKit::CacheModel>(cacheModel)); 200 199 } 201 200 202 201 Ewk_Cache_Model EwkContext::cacheModel() const 203 202 { 204 return static_cast<Ewk_Cache_Model>( m_context->cacheModel());203 return static_cast<Ewk_Cache_Model>(WKContextGetCacheModel(m_context.get())); 205 204 } 206 205 … … 208 207 void EwkContext::setAdditionalPluginPath(const String& path) 209 208 { 210 m_context->setAdditionalPluginsDirectory(path); 209 // FIXME: Hole in WK2 API layering must be fixed when C API is available. 210 toImpl(m_context.get())->setAdditionalPluginsDirectory(path); 211 211 } 212 212 #endif … … 214 214 void EwkContext::clearResourceCache() 215 215 { 216 m_context->supplement<WebResourceCacheManagerProxy>()->clearCacheForAllOrigins(AllResourceCaches);216 WKResourceCacheManagerClearCacheForAllOrigins(WKContextGetResourceCacheManager(m_context.get()), WKResourceCachesToClearAll); 217 217 } 218 218 -
trunk/Source/WebKit2/UIProcess/API/efl/ewk_context_private.h
r138554 r141583 21 21 #define ewk_context_private_h 22 22 23 #include "DownloadManagerEfl.h"24 #include "WKAPICast.h"25 #include "WKRetainPtr.h"26 #include "WebContext.h"27 23 #include "ewk_context.h" 28 24 #include "ewk_object_private.h" 25 #include <WebKit2/WKBase.h> 26 #include <WebKit2/WKRetainPtr.h> 27 #include <wtf/PassOwnPtr.h> 28 #include <wtf/RefPtr.h> 29 #include <wtf/text/WTFString.h> 29 30 30 31 using namespace WebKit; … … 35 36 namespace WebKit { 36 37 class ContextHistoryClientEfl; 38 class DownloadManagerEfl; 37 39 class RequestManagerClientEfl; 38 40 #if ENABLE(BATTERY_STATUS) … … 48 50 EWK_OBJECT_DECLARE(EwkContext) 49 51 50 static PassRefPtr<EwkContext> create( PassRefPtr<WebContext>context);52 static PassRefPtr<EwkContext> create(WKContextRef context); 51 53 static PassRefPtr<EwkContext> create(); 52 54 static PassRefPtr<EwkContext> create(const String& injectedBundlePath); … … 73 75 Ewk_Cache_Model cacheModel() const; 74 76 75 PassRefPtr<WebContext> webContext() { return m_context; }77 WKContextRef wkContext() const { return m_context.get(); } 76 78 77 79 WebKit::DownloadManagerEfl* downloadManager() const; … … 86 88 87 89 private: 88 explicit EwkContext( PassRefPtr<WebContext>);90 explicit EwkContext(WKContextRef); 89 91 90 92 void ensureFaviconDatabase(); 91 93 92 RefPtr<WebContext> m_context;94 WKRetainPtr<WKContextRef> m_context; 93 95 94 96 OwnPtr<EwkCookieManager> m_cookieManager; -
trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
r141439 r141583 534 534 Evas_Object* ewk_view_base_add(Evas* canvas, WKContextRef contextRef, WKPageGroupRef pageGroupRef, EwkView::ViewBehavior behavior) 535 535 { 536 return createEwkView(canvas, createEwkViewSmartClass(), contextRef ? EwkContext::create( toImpl(contextRef)) : EwkContext::defaultContext(), pageGroupRef, behavior);536 return createEwkView(canvas, createEwkViewSmartClass(), contextRef ? EwkContext::create(contextRef) : EwkContext::defaultContext(), pageGroupRef, behavior); 537 537 } 538 538 -
trunk/Source/WebKit2/UIProcess/efl/PageClientBase.cpp
r141543 r141583 28 28 29 29 #include "CoordinatedLayerTreeHostProxy.h" 30 #include "DownloadManagerEfl.h" 30 31 #include "DrawingAreaProxyImpl.h" 31 32 #include "EwkView.h"
Note: See TracChangeset
for help on using the changeset viewer.