• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "android_webview/renderer/aw_render_process_observer.h"
6 
7 #include "android_webview/common/render_view_messages.h"
8 #include "ipc/ipc_message_macros.h"
9 #include "third_party/WebKit/public/web/WebCache.h"
10 #include "third_party/WebKit/public/web/WebNetworkStateNotifier.h"
11 
12 namespace android_webview {
13 
AwRenderProcessObserver()14 AwRenderProcessObserver::AwRenderProcessObserver()
15   : webkit_initialized_(false) {
16 }
17 
~AwRenderProcessObserver()18 AwRenderProcessObserver::~AwRenderProcessObserver() {
19 }
20 
OnControlMessageReceived(const IPC::Message & message)21 bool AwRenderProcessObserver::OnControlMessageReceived(
22     const IPC::Message& message) {
23   bool handled = true;
24   IPC_BEGIN_MESSAGE_MAP(AwRenderProcessObserver, message)
25     IPC_MESSAGE_HANDLER(AwViewMsg_ClearCache, OnClearCache)
26     IPC_MESSAGE_HANDLER(AwViewMsg_SetJsOnlineProperty, OnSetJsOnlineProperty)
27     IPC_MESSAGE_UNHANDLED(handled = false)
28   IPC_END_MESSAGE_MAP()
29   return handled;
30 }
31 
WebKitInitialized()32 void AwRenderProcessObserver::WebKitInitialized() {
33   webkit_initialized_ = true;
34 }
35 
OnClearCache()36 void AwRenderProcessObserver::OnClearCache() {
37   if (webkit_initialized_)
38     blink::WebCache::clear();
39 }
40 
OnSetJsOnlineProperty(bool network_up)41 void AwRenderProcessObserver::OnSetJsOnlineProperty(bool network_up) {
42   if (webkit_initialized_)
43     blink::WebNetworkStateNotifier::setOnLine(network_up);
44 }
45 
46 }  // nanemspace android_webview
47