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 11using blink::WebString; 12 13namespace content { 14 15DBMessageFilter::DBMessageFilter() { 16} 17 18bool 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 33void 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 40void 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 47void DBMessageFilter::OnDatabaseResetSpaceAvailable( 48 const std::string& origin_identifier) { 49 blink::WebDatabase::resetSpaceAvailable( 50 WebString::fromUTF8(origin_identifier)); 51} 52 53void 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