| Index: content/browser/host_zoom_map_impl.cc
|
| diff --git a/content/browser/host_zoom_map_impl.cc b/content/browser/host_zoom_map_impl.cc
|
| index b6595b97bd1de766c53569d57591f1bef0d728e2..4260bbf2397444f1a79a2e64e840adaef273a6d3 100644
|
| --- a/content/browser/host_zoom_map_impl.cc
|
| +++ b/content/browser/host_zoom_map_impl.cc
|
| @@ -136,6 +136,11 @@ void HostZoomMapImpl::CopyFrom(HostZoomMap* copy_interface) {
|
|
|
| double HostZoomMapImpl::GetZoomLevelForHost(const std::string& host) const {
|
| base::AutoLock auto_lock(lock_);
|
| + return GetZoomLevelForHostInternal(host);
|
| +}
|
| +
|
| +double HostZoomMapImpl::GetZoomLevelForHostInternal(
|
| + const std::string& host) const {
|
| HostZoomLevels::const_iterator i(host_zoom_levels_.find(host));
|
| return (i == host_zoom_levels_.end()) ? default_zoom_level_ : i->second;
|
| }
|
| @@ -156,20 +161,25 @@ bool HostZoomMapImpl::HasZoomLevel(const std::string& scheme,
|
| return i != zoom_levels.end();
|
| }
|
|
|
| -double HostZoomMapImpl::GetZoomLevelForHostAndScheme(
|
| +double HostZoomMapImpl::GetZoomLevelForHostAndSchemeInternal(
|
| const std::string& scheme,
|
| const std::string& host) const {
|
| - {
|
| - base::AutoLock auto_lock(lock_);
|
| - SchemeHostZoomLevels::const_iterator scheme_iterator(
|
| - scheme_host_zoom_levels_.find(scheme));
|
| - if (scheme_iterator != scheme_host_zoom_levels_.end()) {
|
| - HostZoomLevels::const_iterator i(scheme_iterator->second.find(host));
|
| - if (i != scheme_iterator->second.end())
|
| - return i->second;
|
| - }
|
| + SchemeHostZoomLevels::const_iterator scheme_iterator(
|
| + scheme_host_zoom_levels_.find(scheme));
|
| + if (scheme_iterator != scheme_host_zoom_levels_.end()) {
|
| + HostZoomLevels::const_iterator i(scheme_iterator->second.find(host));
|
| + if (i != scheme_iterator->second.end())
|
| + return i->second;
|
| }
|
| - return GetZoomLevelForHost(host);
|
| +
|
| + return GetZoomLevelForHostInternal(host);
|
| +}
|
| +
|
| +double HostZoomMapImpl::GetZoomLevelForHostAndScheme(
|
| + const std::string& scheme,
|
| + const std::string& host) const {
|
| + base::AutoLock auto_lock(lock_);
|
| + return GetZoomLevelForHostAndSchemeInternal(scheme, host);
|
| }
|
|
|
| HostZoomMap::ZoomLevelVector HostZoomMapImpl::GetAllZoomLevels() const {
|
| @@ -365,6 +375,19 @@ void HostZoomMapImpl::SetTemporaryZoomLevel(int render_process_id,
|
| zoom_level_changed_callbacks_.Notify(change);
|
| }
|
|
|
| +double HostZoomMapImpl::GetZoomLevelForView(const GURL& url,
|
| + int render_process_id,
|
| + int render_view_id) const {
|
| + RenderViewKey key(render_process_id, render_view_id);
|
| + base::AutoLock auto_lock(lock_);
|
| +
|
| + if (ContainsKey(temporary_zoom_levels_, key))
|
| + return temporary_zoom_levels_.find(key)->second;
|
| +
|
| + return GetZoomLevelForHostAndSchemeInternal(url.scheme(),
|
| + net::GetHostOrSpecFromURL(url));
|
| +}
|
| +
|
| void HostZoomMapImpl::Observe(int type,
|
| const NotificationSource& source,
|
| const NotificationDetails& details) {
|
|
|