Upstream version 5.34.92.0
[platform/framework/web/crosswalk.git] / src / xwalk / runtime / renderer / android / xwalk_render_process_observer.cc
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "xwalk/runtime/renderer/android/xwalk_render_process_observer.h"
6
7 #include "ipc/ipc_message_macros.h"
8 #include "third_party/WebKit/public/web/WebCache.h"
9 #include "third_party/WebKit/public/web/WebNetworkStateNotifier.h"
10 #include "xwalk/runtime/common/android/xwalk_render_view_messages.h"
11
12 namespace xwalk {
13
14 XWalkRenderProcessObserver::XWalkRenderProcessObserver()
15   : webkit_initialized_(false) {
16 }
17
18 XWalkRenderProcessObserver::~XWalkRenderProcessObserver() {
19 }
20
21 bool XWalkRenderProcessObserver::OnControlMessageReceived(
22     const IPC::Message& message) {
23   bool handled = true;
24   IPC_BEGIN_MESSAGE_MAP(XWalkRenderProcessObserver, message)
25     IPC_MESSAGE_HANDLER(XWalkViewMsg_SetJsOnlineProperty, OnSetJsOnlineProperty)
26     IPC_MESSAGE_HANDLER(XWalkViewMsg_ClearCache, OnClearCache);
27     IPC_MESSAGE_UNHANDLED(handled = false)
28   IPC_END_MESSAGE_MAP()
29   return handled;
30 }
31
32 void XWalkRenderProcessObserver::WebKitInitialized() {
33   webkit_initialized_ = true;
34 }
35
36 void XWalkRenderProcessObserver::OnSetJsOnlineProperty(bool network_up) {
37   if (webkit_initialized_)
38     blink::WebNetworkStateNotifier::setOnLine(network_up);
39 }
40
41 void XWalkRenderProcessObserver::OnClearCache() {
42   if (webkit_initialized_)
43     blink::WebCache::clear();
44 }
45
46 }  // namespace xwalk