mime_registry_message_filter.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2011 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/browser/mime_registry_message_filter.h"
6
7#include "content/common/mime_registry_messages.h"
8#include "net/base/mime_util.h"
9
10namespace content {
11
12MimeRegistryMessageFilter::MimeRegistryMessageFilter() {
13}
14
15MimeRegistryMessageFilter::~MimeRegistryMessageFilter() {
16}
17
18void MimeRegistryMessageFilter::OverrideThreadForMessage(
19    const IPC::Message& message,
20    BrowserThread::ID* thread) {
21  if (IPC_MESSAGE_CLASS(message) == MimeRegistryMsgStart)
22    *thread = BrowserThread::FILE;
23}
24
25bool MimeRegistryMessageFilter::OnMessageReceived(const IPC::Message& message,
26                                                  bool* message_was_ok) {
27  bool handled = true;
28  IPC_BEGIN_MESSAGE_MAP_EX(MimeRegistryMessageFilter, message, *message_was_ok)
29    IPC_MESSAGE_HANDLER(MimeRegistryMsg_GetMimeTypeFromExtension,
30                        OnGetMimeTypeFromExtension)
31    IPC_MESSAGE_HANDLER(MimeRegistryMsg_GetMimeTypeFromFile,
32                        OnGetMimeTypeFromFile)
33    IPC_MESSAGE_HANDLER(MimeRegistryMsg_GetPreferredExtensionForMimeType,
34                        OnGetPreferredExtensionForMimeType)
35    IPC_MESSAGE_UNHANDLED(handled = false)
36  IPC_END_MESSAGE_MAP()
37  return handled;
38}
39
40void MimeRegistryMessageFilter::OnGetMimeTypeFromExtension(
41    const FilePath::StringType& ext, std::string* mime_type) {
42  net::GetMimeTypeFromExtension(ext, mime_type);
43}
44
45void MimeRegistryMessageFilter::OnGetMimeTypeFromFile(
46    const FilePath& file_path, std::string* mime_type) {
47  net::GetMimeTypeFromFile(file_path, mime_type);
48}
49
50void MimeRegistryMessageFilter::OnGetPreferredExtensionForMimeType(
51    const std::string& mime_type, FilePath::StringType* extension) {
52  net::GetPreferredExtensionForMimeType(mime_type, extension);
53}
54
55}  // namespace content
56