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     : BrowserMessageFilter(MimeRegistryMsgStart) {
     14 }
     15 
     16 MimeRegistryMessageFilter::~MimeRegistryMessageFilter() {
     17 }
     18 
     19 void MimeRegistryMessageFilter::OverrideThreadForMessage(
     20     const IPC::Message& message,
     21     BrowserThread::ID* thread) {
     22   if (IPC_MESSAGE_CLASS(message) == MimeRegistryMsgStart)
     23     *thread = BrowserThread::FILE;
     24 }
     25 
     26 bool MimeRegistryMessageFilter::OnMessageReceived(const IPC::Message& message) {
     27   bool handled = true;
     28   IPC_BEGIN_MESSAGE_MAP(MimeRegistryMessageFilter, message)
     29     IPC_MESSAGE_HANDLER(MimeRegistryMsg_GetMimeTypeFromExtension,
     30                         OnGetMimeTypeFromExtension)
     31     IPC_MESSAGE_HANDLER(MimeRegistryMsg_GetMimeTypeFromFile,
     32                         OnGetMimeTypeFromFile)
     33     IPC_MESSAGE_UNHANDLED(handled = false)
     34   IPC_END_MESSAGE_MAP()
     35   return handled;
     36 }
     37 
     38 void MimeRegistryMessageFilter::OnGetMimeTypeFromExtension(
     39     const base::FilePath::StringType& ext, std::string* mime_type) {
     40   net::GetMimeTypeFromExtension(ext, mime_type);
     41 }
     42 
     43 void MimeRegistryMessageFilter::OnGetMimeTypeFromFile(
     44     const base::FilePath& file_path, std::string* mime_type) {
     45   net::GetMimeTypeFromFile(file_path, mime_type);
     46 }
     47 
     48 }  // namespace content
     49