summaryrefslogtreecommitdiff
path: root/chromium/content/browser/mime_registry_message_filter.cc
blob: f23cc004e4be7c48fe227db0ee5fdeba66c8184b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Copyright (c) 2011 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/browser/mime_registry_message_filter.h"

#include "content/common/mime_registry_messages.h"
#include "net/base/mime_util.h"

namespace content {

MimeRegistryMessageFilter::MimeRegistryMessageFilter() {
}

MimeRegistryMessageFilter::~MimeRegistryMessageFilter() {
}

void MimeRegistryMessageFilter::OverrideThreadForMessage(
    const IPC::Message& message,
    BrowserThread::ID* thread) {
  if (IPC_MESSAGE_CLASS(message) == MimeRegistryMsgStart)
    *thread = BrowserThread::FILE;
}

bool MimeRegistryMessageFilter::OnMessageReceived(const IPC::Message& message,
                                                  bool* message_was_ok) {
  bool handled = true;
  IPC_BEGIN_MESSAGE_MAP_EX(MimeRegistryMessageFilter, message, *message_was_ok)
    IPC_MESSAGE_HANDLER(MimeRegistryMsg_GetMimeTypeFromExtension,
                        OnGetMimeTypeFromExtension)
    IPC_MESSAGE_HANDLER(MimeRegistryMsg_GetMimeTypeFromFile,
                        OnGetMimeTypeFromFile)
    IPC_MESSAGE_UNHANDLED(handled = false)
  IPC_END_MESSAGE_MAP()
  return handled;
}

void MimeRegistryMessageFilter::OnGetMimeTypeFromExtension(
    const base::FilePath::StringType& ext, std::string* mime_type) {
  net::GetMimeTypeFromExtension(ext, mime_type);
}

void MimeRegistryMessageFilter::OnGetMimeTypeFromFile(
    const base::FilePath& file_path, std::string* mime_type) {
  net::GetMimeTypeFromFile(file_path, mime_type);
}

}  // namespace content