[M47_2526] Chromium upversion to m47_2526 branch
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / efl_integration / browser / mime_override_manager_efl.cc
1 // Copyright 2014 Samsung Electronics. 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 "mime_override_manager_efl.h"
6 #include "base/memory/singleton.h"
7
8 MimeOverrideManagerEfl* MimeOverrideManagerEfl::GetInstance() {
9   return base::Singleton<MimeOverrideManagerEfl>::get();
10 }
11
12 void MimeOverrideManagerEfl::PushOverriddenMime(
13     const std::string& url_spec, const std::string& new_mime_type) {
14   base::AutoLock locker(lock_);
15   MimeOverrideMap::iterator it = mime_override_map_.find(url_spec);
16   if (it == mime_override_map_.end()) {
17     mime_override_map_.insert(std::pair<std::string,
18                                         std::string>(url_spec, new_mime_type));
19   } else {
20     it->second.assign(new_mime_type);
21   }
22 }
23
24 bool MimeOverrideManagerEfl::PopOverriddenMime(const std::string& url_spec,
25                                                std::string& new_mime_type) {
26   base::AutoLock locker(lock_);
27   bool result = false;
28   MimeOverrideMap::iterator it = mime_override_map_.find(url_spec);
29   if (it != mime_override_map_.end()) {
30     new_mime_type.assign(it->second);
31     mime_override_map_.erase(it);
32     result = true;
33   }
34   return result;
35 }