Home | History | Annotate | Download | only in browser
      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 
     10 namespace content {
     11 
     12 MimeRegistryMessageFilter::MimeRegistryMessageFilter() {
     13 }
     14 
     15 MimeRegistryMessageFilter::~MimeRegistryMessageFilter() {
     16 }
     17 
     18 void MimeRegistryMessageFilter::OverrideThreadForMessage(
     19     const IPC::Message& message,
     20     BrowserThread::ID* thread) {
     21   if (IPC_MESSAGE_CLASS(message) == MimeRegistryMsgStart)
     22     *thread = BrowserThread::FILE;
     23 }
     24 
     25 bool 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 
     40 void MimeRegistryMessageFilter::OnGetMimeTypeFromExtension(
     41     const base::FilePath::StringType& ext, std::string* mime_type) {
     42   net::GetMimeTypeFromExtension(ext, mime_type);
     43 }
     44 
     45 void MimeRegistryMessageFilter::OnGetMimeTypeFromFile(
     46     const base::FilePath& file_path, std::string* mime_type) {
     47   net::GetMimeTypeFromFile(file_path, mime_type);
     48 }
     49 
     50 void MimeRegistryMessageFilter::OnGetPreferredExtensionForMimeType(
     51     const std::string& mime_type, base::FilePath::StringType* extension) {
     52   net::GetPreferredExtensionForMimeType(mime_type, extension);
     53 }
     54 
     55 }  // namespace content
     56