#include <i_runnable_widget_object.h>
#include <core_module.h>
#include <dpl/fast_delegate.h>
+#include <Core/BoxSchemeHandler.h>
#include <Core/View/IRenderView.h>
#include <Core/View/IPdHelper.h>
#include <Core/View/PdHelper.h>
cbs->bufferUnset = DPL::MakeDelegate(this, &AppBoxRenderView::unsetBufferCallback);
cbs->windowCreateBefore = DPL::MakeDelegate(this, &AppBoxRenderView::createWindowBeforeCallback);
cbs->windowCreateAfter = DPL::MakeDelegate(this, &AppBoxRenderView::createWindowAfterCallback);
+ cbs->navigationDecide = DPL::MakeDelegate(this, &AppBoxRenderView::decideNavigationCallback);
m_view->SetUserDelegates(cbs);
// set base webview
LogD("enter");
evas_object_hide(webview);
}
+
+void AppBoxRenderView::decideNavigationCallback(Evas_Object* webview, std::string& uri)
+{
+ LogD("enter");
+
+ // navigation of box scheme should be ignored
+ if(BoxSchemeHandler::Instance()->isBoxScheme(uri)) {
+ LogD("box scheme");
+ BoxSchemeHandler::Instance()->process(m_instanceId, uri);
+ }
+}
void createWindowAfterCallback(Evas_Object* parent, Evas_Object* child);
void setBufferCallback(Evas_Object* webview);
void unsetBufferCallback(Evas_Object* webview);
+ void decideNavigationCallback(Evas_Object* webview, std::string& uri);
// constructor
explicit AppBoxRenderView(