OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/mime_registry_impl.h" | 5 #include "content/browser/mime_registry_impl.h" |
6 | 6 |
7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "content/public/browser/browser_thread.h" | 8 #include "content/public/browser/browser_thread.h" |
9 #include "mojo/common/common_type_converters.h" | 9 #include "mojo/common/common_type_converters.h" |
| 10 #include "mojo/public/cpp/bindings/strong_binding.h" |
10 #include "net/base/mime_util.h" | 11 #include "net/base/mime_util.h" |
11 | 12 |
12 namespace content { | 13 namespace content { |
13 | 14 |
| 15 MimeRegistryImpl::MimeRegistryImpl() = default; |
| 16 |
| 17 MimeRegistryImpl::~MimeRegistryImpl() = default; |
| 18 |
14 // static | 19 // static |
15 void MimeRegistryImpl::Create(blink::mojom::MimeRegistryRequest request) { | 20 void MimeRegistryImpl::Create(blink::mojom::MimeRegistryRequest request) { |
16 DCHECK_CURRENTLY_ON(BrowserThread::FILE); | 21 DCHECK_CURRENTLY_ON(BrowserThread::FILE); |
17 new MimeRegistryImpl(std::move(request)); | 22 mojo::MakeStrongBinding(base::MakeUnique<MimeRegistryImpl>(), |
| 23 std::move(request)); |
18 } | 24 } |
19 | 25 |
20 MimeRegistryImpl::MimeRegistryImpl(blink::mojom::MimeRegistryRequest request) | |
21 : binding_(this, std::move(request)) {} | |
22 | |
23 MimeRegistryImpl::~MimeRegistryImpl() = default; | |
24 | |
25 void MimeRegistryImpl::GetMimeTypeFromExtension( | 26 void MimeRegistryImpl::GetMimeTypeFromExtension( |
26 const mojo::String& extension, | 27 const mojo::String& extension, |
27 const GetMimeTypeFromExtensionCallback& callback) { | 28 const GetMimeTypeFromExtensionCallback& callback) { |
28 DCHECK_CURRENTLY_ON(BrowserThread::FILE); | 29 DCHECK_CURRENTLY_ON(BrowserThread::FILE); |
29 std::string mime_type; | 30 std::string mime_type; |
30 net::GetMimeTypeFromExtension(extension.To<base::FilePath::StringType>(), | 31 net::GetMimeTypeFromExtension(extension.To<base::FilePath::StringType>(), |
31 &mime_type); | 32 &mime_type); |
32 callback.Run(mime_type); | 33 callback.Run(mime_type); |
33 } | 34 } |
34 | 35 |
35 } // namespace content | 36 } // namespace content |
OLD | NEW |