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()14AwRenderProcessObserver::AwRenderProcessObserver() 15 : webkit_initialized_(false) { 16 } 17 ~AwRenderProcessObserver()18AwRenderProcessObserver::~AwRenderProcessObserver() { 19 } 20 OnControlMessageReceived(const IPC::Message & message)21bool 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()32void AwRenderProcessObserver::WebKitInitialized() { 33 webkit_initialized_ = true; 34 } 35 OnClearCache()36void AwRenderProcessObserver::OnClearCache() { 37 if (webkit_initialized_) 38 blink::WebCache::clear(); 39 } 40 OnSetJsOnlineProperty(bool network_up)41void AwRenderProcessObserver::OnSetJsOnlineProperty(bool network_up) { 42 if (webkit_initialized_) 43 blink::WebNetworkStateNotifier::setOnLine(network_up); 44 } 45 46 } // nanemspace android_webview 47