net::URLRequest* request,
content::ResourceType resource_type,
ResourceThrottleEfl* throttle)
- : policy_decision_(new tizen_webview::PolicyDecision(request->url(),
- request,
- resource_type,
- this)),
+ : policy_decision_(new _Ewk_Policy_Decision(request->url(),
+ request,
+ resource_type,
+ this)),
throttle_(throttle),
render_process_id_(0),
render_frame_id_(0),
}
// Delegate may be retrieved ONLY on UI thread
- policy_decision_->GetImpl()->InitializeOnUIThread();
+ policy_decision_->InitializeOnUIThread();
// web_view_ takes owenership of Ewk_Policy_Decision. This is same as WK2/Tizen
WebViewFromWebContents(web_contents)->
#include "content/public/browser/resource_controller.h"
#include "content/public/common/resource_type.h"
#include "net/base/completion_callback.h"
-#include "tizen_webview/public/tw_policy_decision.h"
+#include "private/ewk_policy_decision_private.h"
+#include "public/ewk_policy_decision.h"
#include "url/gurl.h"
namespace net {
}
class ResourceThrottleEfl;
+class _Ewk_Policy_Decision;
class PolicyResponseDelegateEfl: public base::RefCountedThreadSafe<PolicyResponseDelegateEfl> {
public:
void UseResponseOnIOThread();
void IgnoreResponseOnIOThread();
- scoped_ptr<tizen_webview::PolicyDecision> policy_decision_;
+ scoped_ptr<_Ewk_Policy_Decision> policy_decision_;
// A throttle which blocks response and invokes policy mechanism.
// It is used to cancel or resume response processing.
ResourceThrottleEfl* throttle_;
#include "browser/policy_response_delegate_efl.h"
#include "browser/resource_throttle_efl.h"
-#include "tizen_webview/public/tw_policy_decision.h"
ResourceThrottleEfl::~ResourceThrottleEfl() {
if (policy_delegate_.get()) {
'tizen_webview/public/tw_settings.h',
'tizen_webview/public/tw_context_menu_controller.cc',
- 'tizen_webview/public/tw_policy_decision.cc',
'tizen_webview/public/tw_touch_point.h',
'tizen_webview/public/tw_webview_delegate.cc',
'tizen_webview/public/tw_callbacks.h',
'tizen_webview/public/tw_hit_test.cc',
'tizen_webview/public/tw_webview.cc',
'tizen_webview/public/tw_web_context.cc',
- 'tizen_webview/public/tw_policy_decision.h',
'tizen_webview/public/tw_touch_point.cc',
'renderer/content_renderer_client_efl.cc',
}
}
-void EWebView::InvokePolicyResponseCallback(tizen_webview::PolicyDecision* policy_decision) {
+void EWebView::InvokePolicyResponseCallback(_Ewk_Policy_Decision* policy_decision) {
SmartCallback<EWebViewCallbacks::PolicyResponseDecide>().call(policy_decision);
if (policy_decision->isSuspended())
SmartCallback<EWebViewCallbacks::SaveSessionData>().call();
- scoped_ptr<PolicyDecision> policy_decision(new PolicyDecision(params, rvh));
+ scoped_ptr<_Ewk_Policy_Decision> policy_decision(new _Ewk_Policy_Decision(params, rvh));
SmartCallback<EWebViewCallbacks::NavigationPolicyDecision>().call(policy_decision.get());
if (!policy_decision->isDecided())
policy_decision->Use();
- *handled = policy_decision->GetImpl()->GetNavigationPolicyHandler()->GetDecision() == NavigationPolicyHandlerEfl::Handled;
+ *handled = policy_decision->GetNavigationPolicyHandler()->GetDecision() == NavigationPolicyHandlerEfl::Handled;
}
void EWebView::HandleTouchEvents(Ewk_Touch_Event_Type type, const Eina_List *points, const Evas_Modifier *modifiers)
class WebView;
class WebViewDelegate;
class WebViewEvasEventHandler;
-class PolicyDecision;
}
class ErrorParams;
+class _Ewk_Policy_Decision;
class WebAppScreenshotCapturedCallback : public base::RefCounted<WebAppScreenshotCapturedCallback> {
public:
Evas_Object* GetSnapshot(Eina_Rectangle rect);
bool GetSnapshotAsync(Eina_Rectangle rect, Evas* canvas, tizen_webview::Web_App_Screenshot_Captured_Callback callback, void* user_data);
- void InvokePolicyResponseCallback(tizen_webview::PolicyDecision* policy_decision);
+ void InvokePolicyResponseCallback(_Ewk_Policy_Decision* policy_decision);
void InvokePolicyNavigationCallback(content::RenderViewHost* rvh,
NavigationPolicyParams params, bool* handled);
void UseSettingsFont();
std::string pending_url_request_;
scoped_ptr<Ewk_Settings> settings_;
scoped_ptr<_Ewk_Frame> frame_;
- scoped_ptr<tizen_webview::PolicyDecision> window_policy_;
+ scoped_ptr<_Ewk_Policy_Decision> window_policy_;
Evas_Object* evas_object_;
Evas_Object* native_view_;
bool touch_events_enabled_;
#include "private/ewk_text_style_private.h"
#include "private/ewk_geolocation_private.h"
#include "private/ewk_certificate_private.h"
+#include "private/ewk_policy_decision_private.h"
#include "private/ewk_user_media_private.h"
-#include "tizen_webview/public/tw_policy_decision.h"
typedef struct EwkObject Ewk_Auth_Request;
typedef struct EwkObject Ewk_Download_Job;
DECLARE_EWK_VIEW_CALLBACK(RequestCertificateConfirm, "request,certificate,confirm", _Ewk_Certificate_Policy_Decision*);
DECLARE_EWK_VIEW_CALLBACK(AuthChallenge, "authentication,challenge", _Ewk_Auth_Challenge*);
DECLARE_EWK_VIEW_CALLBACK(SetCertificatePem, "certificate,pem,set", const char*);
-DECLARE_EWK_VIEW_CALLBACK(PolicyResponseDecide, "policy,response,decide", tizen_webview::PolicyDecision*);
+DECLARE_EWK_VIEW_CALLBACK(PolicyResponseDecide, "policy,response,decide", _Ewk_Policy_Decision*);
DECLARE_EWK_VIEW_CALLBACK(ContextMenuCustomize, "contextmenu,customize", _Ewk_Context_Menu*);
DECLARE_EWK_VIEW_CALLBACK(ContextMenuItemSelected, "contextmenu,selected", _Ewk_Context_Menu_Item*);
-DECLARE_EWK_VIEW_CALLBACK(NavigationPolicyDecision, "policy,navigation,decide", tizen_webview::PolicyDecision*);
+DECLARE_EWK_VIEW_CALLBACK(NavigationPolicyDecision, "policy,navigation,decide", _Ewk_Policy_Decision*);
DECLARE_EWK_VIEW_CALLBACK(TextFound, "text,found", unsigned int*);
DECLARE_EWK_VIEW_CALLBACK(TextSelectionMode, "textselection,mode", bool*);
-DECLARE_EWK_VIEW_CALLBACK(NewWindowPolicyDecision, "policy,newwindow,decide", tizen_webview::PolicyDecision*);
+DECLARE_EWK_VIEW_CALLBACK(NewWindowPolicyDecision, "policy,newwindow,decide", _Ewk_Policy_Decision*);
DECLARE_EWK_VIEW_CALLBACK(LoadNonEmptyLayoutFinished, "load,nonemptylayout,finished", void);
DECLARE_EWK_VIEW_CALLBACK(PopupBlocked, "popup,blocked", Eina_Stringshare*);
DECLARE_EWK_VIEW_CALLBACK(PopupReplyWaitStart, "popup,reply,wait,start", void*);
return reinterpret_cast<tw::View_Hit_Test_Request_Callback>(callback);
}
-tw::Policy_Decision_Type to(Ewk_Policy_Decision_Type val)
-{
- GLUE_CAST_START(val)
- GLUE_CAST_TO(EWK_POLICY_DECISION_USE, TW_POLICY_DECISION_USE)
- GLUE_CAST_TO(EWK_POLICY_DECISION_DOWNLOAD, TW_POLICY_DECISION_DOWNLOAD)
- GLUE_CAST_TO(EWK_POLICY_DECISION_IGNORE, TW_POLICY_DECISION_IGNORE)
- GLUE_CAST_END()
-}
-
-Ewk_Policy_Decision_Type from(tw::Policy_Decision_Type val)
-{
- GLUE_CAST_START(val)
- GLUE_CAST_FROM(EWK_POLICY_DECISION_USE, TW_POLICY_DECISION_USE)
- GLUE_CAST_FROM(EWK_POLICY_DECISION_DOWNLOAD, TW_POLICY_DECISION_DOWNLOAD)
- GLUE_CAST_FROM(EWK_POLICY_DECISION_IGNORE, TW_POLICY_DECISION_IGNORE)
- GLUE_CAST_END()
-}
-
-tw::Policy_Navigation_Type to(Ewk_Policy_Navigation_Type val)
-{
- GLUE_CAST_START(val)
- GLUE_CAST_TO(EWK_POLICY_NAVIGATION_TYPE_LINK_CLICKED, TW_POLICY_NAVIGATION_TYPE_LINK_CLICKED)
- GLUE_CAST_TO(EWK_POLICY_NAVIGATION_TYPE_FORM_SUBMITTED, TW_POLICY_NAVIGATION_TYPE_FORM_SUBMITTED)
- GLUE_CAST_TO(EWK_POLICY_NAVIGATION_TYPE_BACK_FORWARD, TW_POLICY_NAVIGATION_TYPE_BACK_FORWARD)
- GLUE_CAST_TO(EWK_POLICY_NAVIGATION_TYPE_RELOAD, TW_POLICY_NAVIGATION_TYPE_RELOAD)
- GLUE_CAST_TO(EWK_POLICY_NAVIGATION_TYPE_FORM_RESUBMITTED, TW_POLICY_NAVIGATION_TYPE_FORM_RESUBMITTED)
- GLUE_CAST_TO(EWK_POLICY_NAVIGATION_TYPE_OTHER, TW_POLICY_NAVIGATION_TYPE_OTHER)
- GLUE_CAST_END()
-}
-
-Ewk_Policy_Navigation_Type from(tw::Policy_Navigation_Type val)
-{
- GLUE_CAST_START(val)
- GLUE_CAST_FROM(EWK_POLICY_NAVIGATION_TYPE_LINK_CLICKED, TW_POLICY_NAVIGATION_TYPE_LINK_CLICKED)
- GLUE_CAST_FROM(EWK_POLICY_NAVIGATION_TYPE_FORM_SUBMITTED, TW_POLICY_NAVIGATION_TYPE_FORM_SUBMITTED)
- GLUE_CAST_FROM(EWK_POLICY_NAVIGATION_TYPE_BACK_FORWARD, TW_POLICY_NAVIGATION_TYPE_BACK_FORWARD)
- GLUE_CAST_FROM(EWK_POLICY_NAVIGATION_TYPE_RELOAD, TW_POLICY_NAVIGATION_TYPE_RELOAD)
- GLUE_CAST_FROM(EWK_POLICY_NAVIGATION_TYPE_FORM_RESUBMITTED, TW_POLICY_NAVIGATION_TYPE_FORM_RESUBMITTED)
- GLUE_CAST_FROM(EWK_POLICY_NAVIGATION_TYPE_OTHER, TW_POLICY_NAVIGATION_TYPE_OTHER)
- GLUE_CAST_END()
-}
-
} // namespace chromium_glue
#include "ewk_context.h"
#include "ewk_settings.h"
#include "ewk_hit_test.h"
-#include "ewk_policy_decision.h"
#include "ewk_touch.h"
#include "ewk_custom_handlers.h"
#include "ewk_view.h"
#include <tizen_webview/public/tw_callbacks.h>
#include <tizen_webview/public/tw_hit_test.h>
-#include <tizen_webview/public/tw_policy_decision.h>
namespace chromium_glue {
tw::View_Hit_Test_Request_Callback to(Ewk_View_Hit_Test_Request_Callback);
-tw::Policy_Decision_Type to(Ewk_Policy_Decision_Type);
-Ewk_Policy_Decision_Type from(tw::Policy_Decision_Type);
-
-tw::Policy_Navigation_Type to(Ewk_Policy_Navigation_Type);
-Ewk_Policy_Navigation_Type from(tw::Policy_Navigation_Type);
-
} // namespace chromium_glue
#endif // CHROMIUM_GLUE_H_
using content::BrowserThread;
using content::RenderFrameHost;
using content::RenderViewHost;
-using namespace tizen_webview;
namespace {
void FreeStringShare(void *data) {
: web_view_(NULL)
, policy_response_delegate_(delegate)
, responseHeaders_(NULL)
- , decisionType_(TW_POLICY_DECISION_USE)
- , navigationType_(TW_POLICY_NAVIGATION_TYPE_OTHER)
+ , decisionType_(EWK_POLICY_DECISION_USE)
+ , navigationType_(EWK_POLICY_NAVIGATION_TYPE_OTHER)
, isDecided_(false)
, isSuspended_(false)
, responseStatusCode_(0)
if (!content::IsResourceTypeFrame(resource_type) &&
!resource_type == content::RESOURCE_TYPE_FAVICON) {
- decisionType_ = TW_POLICY_DECISION_DOWNLOAD;
+ decisionType_ = EWK_POLICY_DECISION_DOWNLOAD;
}
if (request_url.has_password() && request_url.has_username())
, cookie_(params.cookie)
, httpMethod_(params.httpMethod)
, responseHeaders_(NULL)
- , decisionType_(TW_POLICY_DECISION_USE)
- , navigationType_(static_cast<tizen_webview::Policy_Navigation_Type>(params.type))
+ , decisionType_(EWK_POLICY_DECISION_USE)
+ , navigationType_(static_cast<Ewk_Policy_Navigation_Type>(params.type))
, isDecided_(false)
, isSuspended_(false)
, responseStatusCode_(0)
: web_view_(view)
, window_create_callback_(callback)
, responseHeaders_(NULL)
- , decisionType_(TW_POLICY_DECISION_USE)
- , navigationType_(TW_POLICY_NAVIGATION_TYPE_OTHER)
+ , decisionType_(EWK_POLICY_DECISION_USE)
+ , navigationType_(EWK_POLICY_NAVIGATION_TYPE_OTHER)
, isDecided_(false)
, isSuspended_(false)
, responseStatusCode_(0)
NOTREACHED();
break;
}
+
+ if (isSuspended()) {
+ BrowserThread::DeleteSoon(BrowserThread::UI, FROM_HERE, this);
+ }
}
void _Ewk_Policy_Decision::Ignore() {
NOTREACHED();
break;
}
+
+ if (isSuspended()) {
+ BrowserThread::DeleteSoon(BrowserThread::UI, FROM_HERE, this);
+ }
}
void _Ewk_Policy_Decision::Download() {
navigation_policy_handler_->DownloadNavigation();
break;
case _Ewk_Policy_Decision::POLICY_NEWWINDOW:
- Ignore();
+ window_create_callback_.Run(false);
break;
default:
NOTREACHED();
break;
}
+
+ if (isSuspended()) {
+ BrowserThread::DeleteSoon(BrowserThread::UI, FROM_HERE, this);
+ }
}
bool _Ewk_Policy_Decision::Suspend() {
#include "browser/policy_response_delegate_efl.h"
#include "content/public/browser/web_contents_delegate.h"
#include "content/public/common/resource_type.h"
+#include "public/ewk_policy_decision.h"
#include "third_party/WebKit/public/web/WebViewModeEnums.h"
-#include "tizen_webview/public/tw_policy_decision.h"
-#include <tizen_webview/public/tw_policy_decision.h>
// Basic type of authorization - 'type username:password'
#define BASIC_AUTHORIZATION "BASIC"
}
class EWebView;
+class GURL;
struct NavigationPolicyParams;
+class PolicyResponseDelegateEfl;
+class _Ewk_Frame;
namespace content {
class RenderViewHost;
bool isDecided() const { return isDecided_; }
bool isSuspended() const { return isSuspended_; }
- tizen_webview::Policy_Navigation_Type GetNavigationType() const { return navigationType_; }
+ Ewk_Policy_Navigation_Type GetNavigationType() const { return navigationType_; }
const char* GetCookie() const;
const char* GetAuthUser() const;
const char* GetAuthPassword() const;
const char* GetScheme() const;
const char* GetHost() const;
const char* GetResponseMime() const;
- tizen_webview::Policy_Decision_Type GetDecisionType() const { return decisionType_; }
+ Ewk_Policy_Decision_Type GetDecisionType() const { return decisionType_; }
Eina_Hash* GetResponseHeaders() const { return responseHeaders_; }
int GetResponseStatusCode() const { return responseStatusCode_; }
std::string scheme_;
std::string responseMime_;
Eina_Hash* responseHeaders_;
- tizen_webview::Policy_Decision_Type decisionType_;
- tizen_webview::Policy_Navigation_Type navigationType_;
+ Ewk_Policy_Decision_Type decisionType_;
+ Ewk_Policy_Navigation_Type navigationType_;
bool isDecided_;
bool isSuspended_;
int responseStatusCode_;
PolicyType type_;
};
-struct Ewk_Policy_Decision : public tizen_webview::PolicyDecision {
-};
-
#endif // ewk_policy_decision_private_h
Ewk_Policy_Decision_Type ewk_policy_decision_type_get(const Ewk_Policy_Decision* policyDecision)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(policyDecision, EWK_POLICY_DECISION_USE);
- return chromium_glue::from(policyDecision->GetDecisionType());
+ return policyDecision->GetDecisionType();
}
const char* ewk_policy_decision_response_mime_get(const Ewk_Policy_Decision* policyDecision)
Ewk_Policy_Navigation_Type ewk_policy_decision_navigation_type_get(const Ewk_Policy_Decision* policyDecision)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(policyDecision, EWK_POLICY_NAVIGATION_TYPE_OTHER);
- return chromium_glue::from(policyDecision->GetNavigationType());
+ return policyDecision->GetNavigationType();
}
Ewk_Frame_Ref ewk_policy_decision_frame_get(Ewk_Policy_Decision* policyDecision)
};
typedef enum _Ewk_Policy_Decision_Type Ewk_Policy_Decision_Type;
-typedef struct Ewk_Policy_Decision Ewk_Policy_Decision;
+typedef struct _Ewk_Policy_Decision Ewk_Policy_Decision;
enum _Ewk_Policy_Navigation_Type {
EWK_POLICY_NAVIGATION_TYPE_LINK_CLICKED = 0,
+++ /dev/null
-// Copyright (c) 2014 The Chromium Authors. All rights reserved.
-// Copyright 2014 Samsung Electronics. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "tw_policy_decision.h"
-
-#include "tw_webview.h"
-#include "private/ewk_policy_decision_private.h"
-#include "tw_webview.h"
-
-#include "content/public/browser/browser_thread.h"
-
-using content::BrowserThread;
-
-namespace tizen_webview {
-
-
-PolicyDecision::PolicyDecision(
- const GURL& request_url,
- net::URLRequest* request,
- content::ResourceType resource_type,
- PolicyResponseDelegateEfl* delegate)
- : impl_(new Impl(request_url, request, resource_type, delegate)) {
-}
-
-PolicyDecision::PolicyDecision(
- const NavigationPolicyParams ¶ms,
- content::RenderViewHost* rvh)
- : impl_(new Impl(params, rvh)) {
-}
-
-PolicyDecision::PolicyDecision(
- WebView* view,
- content::WebContentsDelegate::NewWindowDecideCallback cb)
- : impl_(new Impl(view->GetImpl(), cb)) {
-}
-
-PolicyDecision::~PolicyDecision() {
- delete impl_;
-}
-
-void PolicyDecision::Use() {
- impl_->Use();
-
- if (isSuspended()) {
- BrowserThread::DeleteSoon(BrowserThread::UI, FROM_HERE, this);
- }
-}
-
-void PolicyDecision::Ignore() {
- impl_->Ignore();
-
- if (isSuspended()) {
- BrowserThread::DeleteSoon(BrowserThread::UI, FROM_HERE, this);
- }
-}
-
-void PolicyDecision::Download() {
- impl_->Download();
-
- if (isSuspended()) {
- BrowserThread::DeleteSoon(BrowserThread::UI, FROM_HERE, this);
- }
-}
-
-bool PolicyDecision::Suspend() {
- return impl_->Suspend();
-}
-
-bool PolicyDecision::isDecided() const {
- return impl_->isDecided();
-}
-
-bool PolicyDecision::isSuspended() const {
- return impl_->isSuspended();
-}
-
-void PolicyDecision::SetUrl(const GURL& target_url) const {
- impl_->ParseUrl(target_url);
-}
-
-const char* PolicyDecision::GetCookie() const {
- return impl_->GetCookie();
-}
-
-const char* PolicyDecision::GetAuthUser() const {
- return impl_->GetAuthUser();
-}
-
-const char* PolicyDecision::GetAuthPassword() const {
- return impl_->GetAuthPassword();
-}
-
-const char* PolicyDecision::GetUrl() const {
- return impl_->GetUrl();
-}
-
-const char* PolicyDecision::GetHttpMethod() const {
- return impl_->GetHttpMethod();
-}
-
-const char* PolicyDecision::GetScheme() const {
- return impl_->GetScheme();
-}
-
-const char* PolicyDecision::GetHost() const {
- return impl_->GetHost();
-}
-
-const char* PolicyDecision::GetResponseMime() const {
- return impl_->GetResponseMime();
-}
-
-tizen_webview::Policy_Navigation_Type PolicyDecision::GetNavigationType() const {
- return impl_->GetNavigationType();
-}
-
-tizen_webview::Policy_Decision_Type PolicyDecision::GetDecisionType() const {
- return impl_->GetDecisionType();
-}
-
-Eina_Hash* PolicyDecision::GetResponseHeaders() const {
- return impl_->GetResponseHeaders();
-}
-
-int PolicyDecision::GetResponseStatusCode() const {
- return impl_->GetResponseStatusCode();
-}
-
-_Ewk_Frame* PolicyDecision::GetFrameRef() const {
- return impl_->GetFrameRef();
-}
-
-} // namespace tizen_webview
+++ /dev/null
-// Copyright (c) 2014 The Chromium Authors. All rights reserved.
-// Copyright 2014 Samsung Electronics. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef TIZEN_WEBVIEW_PUBLIC_TW_POLICY_DECISION_H_
-#define TIZEN_WEBVIEW_PUBLIC_TW_POLICY_DECISION_H_
-
-#include <Eina.h>
-
-#include "base/macros.h"
-#include "content/public/browser/web_contents_delegate.h"
-#include "content/public/common/resource_type.h"
-
-namespace content {
-class RenderViewHost;
-}
-
-namespace net {
-class HttpResponseHeaders;
-class URLRequest;
-}
-
-class NavigationPolicyHandlerEfl;
-class GURL;
-class _Ewk_Policy_Decision;
-struct NavigationPolicyParams;
-class PolicyResponseDelegateEfl;
-class EWebView;
-class _Ewk_Frame;
-
-namespace tizen_webview {
-
-class WebView;
-
-enum Policy_Decision_Type {
- TW_POLICY_DECISION_USE,
- TW_POLICY_DECISION_DOWNLOAD,
- TW_POLICY_DECISION_IGNORE
-};
-
-enum Policy_Navigation_Type {
- TW_POLICY_NAVIGATION_TYPE_LINK_CLICKED = 0,
- TW_POLICY_NAVIGATION_TYPE_FORM_SUBMITTED = 1,
- TW_POLICY_NAVIGATION_TYPE_BACK_FORWARD = 2,
- TW_POLICY_NAVIGATION_TYPE_RELOAD = 3,
- TW_POLICY_NAVIGATION_TYPE_FORM_RESUBMITTED = 4,
- TW_POLICY_NAVIGATION_TYPE_OTHER = 5
-};
-
-// TODO: refactoring required for break dependency to chromium internals
-class PolicyDecision {
- public:
- // for type POLICY_RESPONSE
- PolicyDecision(const GURL& request_url,
- net::URLRequest* request,
- content::ResourceType resource_type,
- PolicyResponseDelegateEfl* delegate);
- // for POLICY_NAVIGATION
- PolicyDecision(const NavigationPolicyParams ¶ms, content::RenderViewHost* rvh);
- // for POLICY_NEWWINDOW
- PolicyDecision(tizen_webview::WebView* view,
- content::WebContentsDelegate::NewWindowDecideCallback);
- ~PolicyDecision();
-
- void Use();
- void Ignore();
- void Download();
- bool Suspend();
-
- bool isDecided() const;
- bool isSuspended() const;
-
- void SetUrl(const GURL& target_url) const;
-
- const char* GetCookie() const;
- const char* GetAuthUser() const;
- const char* GetAuthPassword() const;
- const char* GetUrl() const;
- const char* GetHttpMethod() const;
- const char* GetScheme() const;
- const char* GetHost() const;
- const char* GetResponseMime() const;
- tizen_webview::Policy_Navigation_Type GetNavigationType() const;
- tizen_webview::Policy_Decision_Type GetDecisionType() const;
- Eina_Hash* GetResponseHeaders() const;
- int GetResponseStatusCode() const;
- _Ewk_Frame* GetFrameRef() const;
- private:
- typedef ::_Ewk_Policy_Decision Impl;
- Impl* impl_;
- Impl* GetImpl() { return impl_; }
-
- DISALLOW_COPY_AND_ASSIGN(PolicyDecision);
- friend class ::PolicyResponseDelegateEfl;
- friend class ::EWebView;
-}; // class PolicyDecision
-
-} // namespace tizen_webview
-
-#endif // TIZEN_WEBVIEW_PUBLIC_TW_POLICY_DECISION_H_
bool WebContentsDelegateEfl::ShouldCreateWebContentsAsync(
NewWindowDecideCallback callback, const GURL& target_url) {
// this method is called ONLY when creating new window - no matter what type
- scoped_ptr<tizen_webview::PolicyDecision> pd(
- new tizen_webview::PolicyDecision(web_view_->GetPublicWebView(), callback));
- pd->SetUrl(target_url);
+ scoped_ptr<_Ewk_Policy_Decision> pd(
+ new _Ewk_Policy_Decision(web_view_, callback));
+ pd->ParseUrl(target_url);
web_view_->SmartCallback<EWebViewCallbacks::NewWindowPolicyDecision>().call(pd.get());
if (pd->isSuspended()) {