"public/ewk_window_features_internal.h",
"renderer/content_renderer_client_efl.cc",
"renderer/content_renderer_client_efl.h",
+ "renderer/content_settings_client_efl.cc",
+ "renderer/content_settings_client_efl.h",
"renderer/editorclient_agent.cc",
"renderer/editorclient_agent.h",
"renderer/print_web_view_helper_efl.cc",
currentNodeIndex, prevState, nextState);
}
+ void OnDidNotAllowScript() {
+ if (web_view_)
+ web_view_->SmartCallback<EWebViewCallbacks::DidNotAllowScript>().call();
+ }
+
void Observe(int type, const content::NotificationSource& source,
const content::NotificationDetails& details) override {
DCHECK_EQ(content::NOTIFICATION_WEB_CONTENTS_DESTROYED, type);
#endif
IPC_MESSAGE_FORWARD(EwkHostMsg_RequestSelectCollectionInformationUpdateACK,
private_, WebViewBrowserMessageFilterPrivate::OnRequestSelectCollectionInformationUpdateACK)
+ IPC_MESSAGE_FORWARD(EwkHostMsg_DidNotAllowScript, private_,
+ WebViewBrowserMessageFilterPrivate::OnDidNotAllowScript)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
GURL) // result: url
IPC_MESSAGE_CONTROL1(WrtMsg_SendWrtMessage,
- Ewk_Wrt_Message_Data /* data */);
+ Ewk_Wrt_Message_Data /* data */)
IPC_SYNC_MESSAGE_ROUTED1_1(EwkHostMsg_WrtSyncMessage,
Ewk_Wrt_Message_Data /* data */,
- std::string /*result*/);
+ std::string /*result*/)
IPC_MESSAGE_ROUTED1(EwkHostMsg_WrtMessage,
- Ewk_Wrt_Message_Data /* data */);
+ Ewk_Wrt_Message_Data /* data */)
IPC_MESSAGE_CONTROL2(EwkViewHostMsg_HitTestReply,
int, /* render_view_id */
IPC_MESSAGE_ROUTED1(EwkFrameMsg_MoveToNextOrPreviousSelectElement,
bool /* next */)
-IPC_MESSAGE_ROUTED0(EwkFrameMsg_RequestSelectCollectionInformation);
+IPC_MESSAGE_ROUTED0(EwkFrameMsg_RequestSelectCollectionInformation)
IPC_MESSAGE_ROUTED4(EwkHostMsg_RequestSelectCollectionInformationUpdateACK,
int /* formElementCount */,
int /* currentNodeIndex */,
bool /* prevState */,
bool /* nextState */)
+
+IPC_MESSAGE_ROUTED0(EwkHostMsg_DidNotAllowScript)
#if defined(OS_TIZEN)
NewWindowNavigationPolicyDecision,
#endif // OS_TIZEN
- URIChanged
+ URIChanged,
+ DidNotAllowScript
};
template <CallbackType>
DECLARE_EWK_VIEW_CALLBACK(StatusBarVisible, "statusbar,visible", bool*);
DECLARE_EWK_VIEW_CALLBACK(ToolbarVisible, "toolbar,visible", bool*);
DECLARE_EWK_VIEW_CALLBACK(WindowResizable, "window,resizable", bool*);
-
+DECLARE_EWK_VIEW_CALLBACK(DidNotAllowScript, "did,not,allow,script", void);
}
#endif
#include "content/public/renderer/render_view.h"
#include "content/renderer/loader/request_extra_data.h"
#include "content/renderer/render_view_impl.h"
+#include "renderer/content_settings_client_efl.h"
#include "renderer/editorclient_agent.h"
#include "renderer/plugins/plugin_placeholder_efl.h"
#include "renderer/render_frame_observer_efl.h"
void ContentRendererClientEfl::RenderFrameCreated(content::RenderFrame* render_frame) {
new content::RenderFrameObserverEfl(render_frame);
+ new content::ContentSettingsClientEfl(render_frame);
#if defined(TIZEN_AUTOFILL_SUPPORT)
PasswordAutofillAgent* password_autofill_agent =
--- /dev/null
+// Copyright 2016 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 "renderer/content_settings_client_efl.h"
+
+#include "common/render_messages_ewk.h"
+#include "content/public/renderer/render_frame.h"
+#include "third_party/blink/public/web/web_local_frame.h"
+
+namespace content {
+
+ContentSettingsClientEfl::ContentSettingsClientEfl(RenderFrame* render_frame)
+ : RenderFrameObserver(render_frame) {
+ render_frame->GetWebFrame()->SetContentSettingsClient(this);
+}
+
+ContentSettingsClientEfl::~ContentSettingsClientEfl() {}
+
+void ContentSettingsClientEfl::DidNotAllowScript() {
+ Send(new EwkHostMsg_DidNotAllowScript(routing_id()));
+}
+
+void ContentSettingsClientEfl::OnDestruct() {
+ delete this;
+}
+
+} // namespace content
--- /dev/null
+// Copyright 2016 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 CONTENT_SETTINGS_CLIENT_EFL_H_
+#define CONTENT_SETTINGS_CLIENT_EFL_H_
+
+#include "content/public/renderer/render_frame_observer.h"
+#include "third_party/blink/public/platform/web_content_settings_client.h"
+
+namespace content {
+
+class ContentSettingsClientEfl : public RenderFrameObserver,
+ public blink::WebContentSettingsClient {
+ public:
+ explicit ContentSettingsClientEfl(RenderFrame* render_view);
+ ~ContentSettingsClientEfl() override;
+
+ // content::RenderFrameObserver implementation.
+ void OnDestruct() override;
+
+ // blink::WebContentSettingsClient implementation.
+ void DidNotAllowScript() override;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ContentSettingsClientEfl);
+};
+
+} // namespace content
+
+#endif // CONTENT_SETTINGS_CLIENT_EFL_H