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