#include "browser/vibration/vibration_provider_client.h"
#include "components/password_manager/core/browser/password_manager.h"
#include "content/common/render_messages_efl.h"
+#include "private/ewk_favicon_database_private.h"
#include "private/ewk_security_origin_private.h"
#include "wrt/wrt_widget_host.h"
// Notification Service gets init in BrowserMainRunner init,
// so cache manager can register for notifications only after that.
web_cache_manager_.reset(new WebCacheManagerEfl(browser_context_.get()));
+ ewk_favicon_database_.reset(new EwkFaviconDatabase(this));
notification_cb_.reset(
new EWebContextNotificationCallback(nullptr, nullptr, nullptr, nullptr));
tizen_extensible_.reset(TizenExtensible::create());
return FaviconDatabase::Instance()->SetPath(path);
}
-FaviconDatabase* EWebContext::GetFaviconDatabase() {
- return FaviconDatabase::Instance();
-}
-
Evas_Object *EWebContext::AddFaviconObject(const char* uri, Evas* canvas) const {
if (uri == NULL || canvas == NULL) {
return NULL;
class CookieManager;
class Ewk_Wrt_Message_Data;
class TizenExtensible;
-class FaviconDatabase;
+class EwkFaviconDatabase;
namespace content {
class BrowserContextEfl;
void ClearCandidateData();
void ClearPasswordData();
- FaviconDatabase* GetFaviconDatabase();
+ EwkFaviconDatabase* GetFaviconDatabase() const {
+ return ewk_favicon_database_.get();
+ }
unsigned int InspectorServerStart(unsigned int port);
bool InspectorServerStop();
scoped_ptr<content::BrowserContextEfl> browser_context_;
scoped_ptr<Ewk_Cookie_Manager> ewk_cookie_manager_;
scoped_ptr<TizenExtensible> tizen_extensible_;
+ scoped_ptr<EwkFaviconDatabase> ewk_favicon_database_;
std::string proxy_uri_;
std::string injected_bundle_path_;
// widget info
return impl->SetFaviconDatabasePath(path);
}
-FaviconDatabase* Ewk_Context::GetFaviconDatabase() {
+EwkFaviconDatabase* Ewk_Context::GetFaviconDatabase() const {
return impl->GetFaviconDatabase();
}
class CookieManager;
class Ewk_Cookie_Manager;
class EWebContext;
-class FaviconDatabase;
+class EwkFaviconDatabase;
class GURL;
namespace content {
// Note: Do not use outside chromium
EWebContext* GetImpl() { return impl; }
- FaviconDatabase* GetFaviconDatabase();
+ EwkFaviconDatabase* GetFaviconDatabase() const;
unsigned int InspectorServerStart(unsigned int port) const;
bool InspectorServerStop() const;
#ifndef ewk_favicon_database_private_h
#define ewk_favicon_database_private_h
-#include <Evas.h>
+class EWebContext;
-#include "browser/favicon/favicon_database.h"
-#include "private/ewk_context_private.h"
-
-struct EwkFaviconDatabase {
+class EwkFaviconDatabase {
public:
- static EwkFaviconDatabase *Instance()
- {
- static EwkFaviconDatabase database;
- return &database;
- }
-
- EwkFaviconDatabase()
- :favicon_database(NULL)
- {
- }
-
- ~EwkFaviconDatabase()
- {
- if (favicon_database)
- delete favicon_database;
- favicon_database = NULL;
- }
+ explicit EwkFaviconDatabase(EWebContext* eweb_context)
+ : eweb_context_(eweb_context) {}
- void InitEwkFaviconDatabase(const Ewk_Context* ewkContext)
- {
- if (!favicon_database)
- favicon_database = const_cast<Ewk_Context*>(ewkContext)->GetFaviconDatabase();
- return;
- }
private:
- FaviconDatabase* favicon_database;
+ EWebContext* eweb_context_;
};
#endif // ewk_favicon_database_private_h
Ewk_Favicon_Database* ewk_context_favicon_database_get(const Ewk_Context* ewkContext)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(ewkContext, 0);
- Ewk_Favicon_Database *favicon_database = Ewk_Favicon_Database::Instance();
- favicon_database->InitEwkFaviconDatabase(ewkContext);
- return favicon_database;
+ return ewkContext->GetFaviconDatabase();
}
void ewk_context_resource_cache_clear(Ewk_Context* ewkContext)