From 3edc30d9d03e435f469846bb0fd93af741af4854 Mon Sep 17 00:00:00 2001
From: Piotr Sieduszewski
Date: Wed, 16 Apr 2014 15:25:37 +0200
Subject: [PATCH] Implement EWebContext::Delete
Issue: CBWEBVIEW-226
Change-Id: Ic452609615301162d09944a36f68fffb8dd4330f
---
tizen_src/impl/eweb_context.cc | 16 ++++++++++++++++
tizen_src/impl/eweb_context.h | 1 +
2 files changed, 17 insertions(+)
diff --git a/tizen_src/impl/eweb_context.cc b/tizen_src/impl/eweb_context.cc
index b70633c..f69ef2e 100644
--- a/tizen_src/impl/eweb_context.cc
+++ b/tizen_src/impl/eweb_context.cc
@@ -232,6 +232,20 @@ EWebContext* EWebContext::DefaultContext() {
return default_context_;
}
+void EWebContext::Delete(EWebContext*const context) {
+ if (!context)
+ return;
+
+ if (context == default_context_ && context->HasOneRef()) {
+ // With chromium engine there is only single context
+ // which is default context hence this delete
+ // function will not be implemented
+ NOTIMPLEMENTED();
+ return;
+ }
+ context->Release();
+}
+
EWebContext::EWebContext()
: browser_context_(new BrowserContextEfl(this))
, m_pixmap(0) {
@@ -244,6 +258,8 @@ EWebContext::EWebContext()
EWebContext::~EWebContext() {
VibrationProviderClient::DeleteInstance();
+ if (this == default_context_)
+ default_context_= NULL;
}
// static
diff --git a/tizen_src/impl/eweb_context.h b/tizen_src/impl/eweb_context.h
index d0aaee2..83d7ea5 100644
--- a/tizen_src/impl/eweb_context.h
+++ b/tizen_src/impl/eweb_context.h
@@ -60,6 +60,7 @@ class EWebContext : public EWebObject {
EWebContext();
static EWebContext* DefaultContext();
+ static void Delete(EWebContext*);
content::BrowserContextEfl* browser_context() const { return browser_context_.get(); }
--
2.7.4