| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "content/child/db_message_filter.h" |
| |
| #include "content/common/database_messages.h" |
| #include "third_party/WebKit/public/platform/WebString.h" |
| #include "third_party/WebKit/public/web/WebDatabase.h" |
| |
| using blink::WebString; |
| |
| namespace content { |
| |
| DBMessageFilter::DBMessageFilter() { |
| } |
| |
| bool DBMessageFilter::OnMessageReceived(const IPC::Message& message) { |
| bool handled = true; |
| IPC_BEGIN_MESSAGE_MAP(DBMessageFilter, message) |
| IPC_MESSAGE_HANDLER(DatabaseMsg_UpdateSize, OnDatabaseUpdateSize) |
| IPC_MESSAGE_HANDLER(DatabaseMsg_UpdateSpaceAvailable, |
| OnDatabaseUpdateSpaceAvailable) |
| IPC_MESSAGE_HANDLER(DatabaseMsg_ResetSpaceAvailable, |
| OnDatabaseResetSpaceAvailable) |
| IPC_MESSAGE_HANDLER(DatabaseMsg_CloseImmediately, |
| OnDatabaseCloseImmediately) |
| IPC_MESSAGE_UNHANDLED(handled = false) |
| IPC_END_MESSAGE_MAP() |
| return handled; |
| } |
| |
| void DBMessageFilter::OnDatabaseUpdateSize(const std::string& origin_identifier, |
| const base::string16& database_name, |
| int64_t database_size) { |
| blink::WebDatabase::updateDatabaseSize( |
| WebString::fromUTF8(origin_identifier), database_name, database_size); |
| } |
| |
| void DBMessageFilter::OnDatabaseUpdateSpaceAvailable( |
| const std::string& origin_identifier, |
| int64_t space_available) { |
| blink::WebDatabase::updateSpaceAvailable( |
| WebString::fromUTF8(origin_identifier), space_available); |
| } |
| |
| void DBMessageFilter::OnDatabaseResetSpaceAvailable( |
| const std::string& origin_identifier) { |
| blink::WebDatabase::resetSpaceAvailable( |
| WebString::fromUTF8(origin_identifier)); |
| } |
| |
| void DBMessageFilter::OnDatabaseCloseImmediately( |
| const std::string& origin_identifier, |
| const base::string16& database_name) { |
| blink::WebDatabase::closeDatabaseImmediately( |
| WebString::fromUTF8(origin_identifier), database_name); |
| } |
| |
| } // namespace content |