1 // Copyright 2013 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 "content/child/db_message_filter.h" 6 7 #include "content/common/database_messages.h" 8 #include "third_party/WebKit/public/platform/WebString.h" 9 #include "third_party/WebKit/public/web/WebDatabase.h" 10 11 using blink::WebString; 12 13 namespace content { 14 15 DBMessageFilter::DBMessageFilter() { 16 } 17 18 bool DBMessageFilter::OnMessageReceived(const IPC::Message& message) { 19 bool handled = true; 20 IPC_BEGIN_MESSAGE_MAP(DBMessageFilter, message) 21 IPC_MESSAGE_HANDLER(DatabaseMsg_UpdateSize, OnDatabaseUpdateSize) 22 IPC_MESSAGE_HANDLER(DatabaseMsg_UpdateSpaceAvailable, 23 OnDatabaseUpdateSpaceAvailable) 24 IPC_MESSAGE_HANDLER(DatabaseMsg_ResetSpaceAvailable, 25 OnDatabaseResetSpaceAvailable) 26 IPC_MESSAGE_HANDLER(DatabaseMsg_CloseImmediately, 27 OnDatabaseCloseImmediately) 28 IPC_MESSAGE_UNHANDLED(handled = false) 29 IPC_END_MESSAGE_MAP() 30 return handled; 31 } 32 33 void DBMessageFilter::OnDatabaseUpdateSize(const std::string& origin_identifier, 34 const base::string16& database_name, 35 int64 database_size) { 36 blink::WebDatabase::updateDatabaseSize( 37 WebString::fromUTF8(origin_identifier), database_name, database_size); 38 } 39 40 void DBMessageFilter::OnDatabaseUpdateSpaceAvailable( 41 const std::string& origin_identifier, 42 int64 space_available) { 43 blink::WebDatabase::updateSpaceAvailable( 44 WebString::fromUTF8(origin_identifier), space_available); 45 } 46 47 void DBMessageFilter::OnDatabaseResetSpaceAvailable( 48 const std::string& origin_identifier) { 49 blink::WebDatabase::resetSpaceAvailable( 50 WebString::fromUTF8(origin_identifier)); 51 } 52 53 void DBMessageFilter::OnDatabaseCloseImmediately( 54 const std::string& origin_identifier, 55 const base::string16& database_name) { 56 blink::WebDatabase::closeDatabaseImmediately( 57 WebString::fromUTF8(origin_identifier), database_name); 58 } 59 60 } // namespace content 61