Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(502)

Side by Side Diff: content/browser/host_zoom_map_impl.cc

Issue 1000373002: favor DCHECK_CURRENTLY_ON for better logs in content/browser/[f-p]* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase on master Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/host_zoom_map_impl.h" 5 #include "content/browser/host_zoom_map_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/strings/string_piece.h" 10 #include "base/strings/string_piece.h"
(...skipping 13 matching lines...) Expand all
24 #include "content/public/browser/storage_partition.h" 24 #include "content/public/browser/storage_partition.h"
25 #include "content/public/common/page_zoom.h" 25 #include "content/public/common/page_zoom.h"
26 #include "content/public/common/url_constants.h" 26 #include "content/public/common/url_constants.h"
27 #include "net/base/net_util.h" 27 #include "net/base/net_util.h"
28 28
29 namespace content { 29 namespace content {
30 30
31 namespace { 31 namespace {
32 32
33 std::string GetHostFromProcessView(int render_process_id, int render_view_id) { 33 std::string GetHostFromProcessView(int render_process_id, int render_view_id) {
34 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 34 DCHECK_CURRENTLY_ON(BrowserThread::UI);
35 RenderViewHost* render_view_host = 35 RenderViewHost* render_view_host =
36 RenderViewHost::FromID(render_process_id, render_view_id); 36 RenderViewHost::FromID(render_process_id, render_view_id);
37 if (!render_view_host) 37 if (!render_view_host)
38 return std::string(); 38 return std::string();
39 39
40 WebContents* web_contents = WebContents::FromRenderViewHost(render_view_host); 40 WebContents* web_contents = WebContents::FromRenderViewHost(render_view_host);
41 41
42 NavigationEntry* entry = 42 NavigationEntry* entry =
43 web_contents->GetController().GetLastCommittedEntry(); 43 web_contents->GetController().GetLastCommittedEntry();
44 if (!entry) 44 if (!entry)
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 registrar_.Add( 118 registrar_.Add(
119 this, NOTIFICATION_RENDER_VIEW_HOST_WILL_CLOSE_RENDER_VIEW, 119 this, NOTIFICATION_RENDER_VIEW_HOST_WILL_CLOSE_RENDER_VIEW,
120 NotificationService::AllSources()); 120 NotificationService::AllSources());
121 } 121 }
122 122
123 void HostZoomMapImpl::CopyFrom(HostZoomMap* copy_interface) { 123 void HostZoomMapImpl::CopyFrom(HostZoomMap* copy_interface) {
124 // This can only be called on the UI thread to avoid deadlocks, otherwise 124 // This can only be called on the UI thread to avoid deadlocks, otherwise
125 // UI: a.CopyFrom(b); 125 // UI: a.CopyFrom(b);
126 // IO: b.CopyFrom(a); 126 // IO: b.CopyFrom(a);
127 // can deadlock. 127 // can deadlock.
128 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 128 DCHECK_CURRENTLY_ON(BrowserThread::UI);
129 HostZoomMapImpl* copy = static_cast<HostZoomMapImpl*>(copy_interface); 129 HostZoomMapImpl* copy = static_cast<HostZoomMapImpl*>(copy_interface);
130 base::AutoLock auto_lock(lock_); 130 base::AutoLock auto_lock(lock_);
131 base::AutoLock copy_auto_lock(copy->lock_); 131 base::AutoLock copy_auto_lock(copy->lock_);
132 host_zoom_levels_. 132 host_zoom_levels_.
133 insert(copy->host_zoom_levels_.begin(), copy->host_zoom_levels_.end()); 133 insert(copy->host_zoom_levels_.begin(), copy->host_zoom_levels_.end());
134 for (SchemeHostZoomLevels::const_iterator i(copy-> 134 for (SchemeHostZoomLevels::const_iterator i(copy->
135 scheme_host_zoom_levels_.begin()); 135 scheme_host_zoom_levels_.begin());
136 i != copy->scheme_host_zoom_levels_.end(); ++i) { 136 i != copy->scheme_host_zoom_levels_.end(); ++i) {
137 scheme_host_zoom_levels_[i->first] = HostZoomLevels(); 137 scheme_host_zoom_levels_[i->first] = HostZoomLevels();
138 scheme_host_zoom_levels_[i->first]. 138 scheme_host_zoom_levels_[i->first].
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 }; 220 };
221 result.push_back(change); 221 result.push_back(change);
222 } 222 }
223 } 223 }
224 } 224 }
225 return result; 225 return result;
226 } 226 }
227 227
228 void HostZoomMapImpl::SetZoomLevelForHost(const std::string& host, 228 void HostZoomMapImpl::SetZoomLevelForHost(const std::string& host,
229 double level) { 229 double level) {
230 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 230 DCHECK_CURRENTLY_ON(BrowserThread::UI);
231 231
232 { 232 {
233 base::AutoLock auto_lock(lock_); 233 base::AutoLock auto_lock(lock_);
234 234
235 if (ZoomValuesEqual(level, default_zoom_level_)) 235 if (ZoomValuesEqual(level, default_zoom_level_))
236 host_zoom_levels_.erase(host); 236 host_zoom_levels_.erase(host);
237 else 237 else
238 host_zoom_levels_[host] = level; 238 host_zoom_levels_[host] = level;
239 } 239 }
240 240
241 // TODO(wjmaclean) Should we use a GURL here? crbug.com/384486 241 // TODO(wjmaclean) Should we use a GURL here? crbug.com/384486
242 SendZoomLevelChange(std::string(), host, level); 242 SendZoomLevelChange(std::string(), host, level);
243 243
244 HostZoomMap::ZoomLevelChange change; 244 HostZoomMap::ZoomLevelChange change;
245 change.mode = HostZoomMap::ZOOM_CHANGED_FOR_HOST; 245 change.mode = HostZoomMap::ZOOM_CHANGED_FOR_HOST;
246 change.host = host; 246 change.host = host;
247 change.zoom_level = level; 247 change.zoom_level = level;
248 248
249 zoom_level_changed_callbacks_.Notify(change); 249 zoom_level_changed_callbacks_.Notify(change);
250 } 250 }
251 251
252 void HostZoomMapImpl::SetZoomLevelForHostAndScheme(const std::string& scheme, 252 void HostZoomMapImpl::SetZoomLevelForHostAndScheme(const std::string& scheme,
253 const std::string& host, 253 const std::string& host,
254 double level) { 254 double level) {
255 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 255 DCHECK_CURRENTLY_ON(BrowserThread::UI);
256 { 256 {
257 base::AutoLock auto_lock(lock_); 257 base::AutoLock auto_lock(lock_);
258 scheme_host_zoom_levels_[scheme][host] = level; 258 scheme_host_zoom_levels_[scheme][host] = level;
259 } 259 }
260 260
261 SendZoomLevelChange(scheme, host, level); 261 SendZoomLevelChange(scheme, host, level);
262 262
263 HostZoomMap::ZoomLevelChange change; 263 HostZoomMap::ZoomLevelChange change;
264 change.mode = HostZoomMap::ZOOM_CHANGED_FOR_SCHEME_AND_HOST; 264 change.mode = HostZoomMap::ZOOM_CHANGED_FOR_SCHEME_AND_HOST;
265 change.host = host; 265 change.host = host;
266 change.scheme = scheme; 266 change.scheme = scheme;
267 change.zoom_level = level; 267 change.zoom_level = level;
268 268
269 zoom_level_changed_callbacks_.Notify(change); 269 zoom_level_changed_callbacks_.Notify(change);
270 } 270 }
271 271
272 double HostZoomMapImpl::GetDefaultZoomLevel() const { 272 double HostZoomMapImpl::GetDefaultZoomLevel() const {
273 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 273 DCHECK_CURRENTLY_ON(BrowserThread::UI);
274 return default_zoom_level_; 274 return default_zoom_level_;
275 } 275 }
276 276
277 void HostZoomMapImpl::SetDefaultZoomLevel(double level) { 277 void HostZoomMapImpl::SetDefaultZoomLevel(double level) {
278 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 278 DCHECK_CURRENTLY_ON(BrowserThread::UI);
279 default_zoom_level_ = level; 279 default_zoom_level_ = level;
280 } 280 }
281 281
282 scoped_ptr<HostZoomMap::Subscription> 282 scoped_ptr<HostZoomMap::Subscription>
283 HostZoomMapImpl::AddZoomLevelChangedCallback( 283 HostZoomMapImpl::AddZoomLevelChangedCallback(
284 const ZoomLevelChangedCallback& callback) { 284 const ZoomLevelChangedCallback& callback) {
285 return zoom_level_changed_callbacks_.Add(callback); 285 return zoom_level_changed_callbacks_.Add(callback);
286 } 286 }
287 287
288 double HostZoomMapImpl::GetZoomLevelForWebContents( 288 double HostZoomMapImpl::GetZoomLevelForWebContents(
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 RenderViewKey key(render_process_id, render_view_id); 388 RenderViewKey key(render_process_id, render_view_id);
389 if (!ContainsKey(temporary_zoom_levels_, key)) 389 if (!ContainsKey(temporary_zoom_levels_, key))
390 return 0; 390 return 0;
391 391
392 return temporary_zoom_levels_.find(key)->second; 392 return temporary_zoom_levels_.find(key)->second;
393 } 393 }
394 394
395 void HostZoomMapImpl::SetTemporaryZoomLevel(int render_process_id, 395 void HostZoomMapImpl::SetTemporaryZoomLevel(int render_process_id,
396 int render_view_id, 396 int render_view_id,
397 double level) { 397 double level) {
398 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 398 DCHECK_CURRENTLY_ON(BrowserThread::UI);
399 399
400 { 400 {
401 RenderViewKey key(render_process_id, render_view_id); 401 RenderViewKey key(render_process_id, render_view_id);
402 base::AutoLock auto_lock(lock_); 402 base::AutoLock auto_lock(lock_);
403 temporary_zoom_levels_[key] = level; 403 temporary_zoom_levels_[key] = level;
404 } 404 }
405 405
406 RenderViewHost* host = 406 RenderViewHost* host =
407 RenderViewHost::FromID(render_process_id, render_view_id); 407 RenderViewHost::FromID(render_process_id, render_view_id);
408 host->Send(new ViewMsg_SetZoomLevelForView(render_view_id, true, level)); 408 host->Send(new ViewMsg_SetZoomLevelForView(render_view_id, true, level));
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 484
485 void HostZoomMapImpl::SendErrorPageZoomLevelRefresh() { 485 void HostZoomMapImpl::SendErrorPageZoomLevelRefresh() {
486 GURL error_url(kUnreachableWebDataURL); 486 GURL error_url(kUnreachableWebDataURL);
487 std::string host = net::GetHostOrSpecFromURL(error_url); 487 std::string host = net::GetHostOrSpecFromURL(error_url);
488 double error_page_zoom_level = GetZoomLevelForHost(host); 488 double error_page_zoom_level = GetZoomLevelForHost(host);
489 489
490 SendZoomLevelChange(std::string(), host, error_page_zoom_level); 490 SendZoomLevelChange(std::string(), host, error_page_zoom_level);
491 } 491 }
492 492
493 HostZoomMapImpl::~HostZoomMapImpl() { 493 HostZoomMapImpl::~HostZoomMapImpl() {
494 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 494 DCHECK_CURRENTLY_ON(BrowserThread::UI);
495 } 495 }
496 496
497 } // namespace content 497 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/histogram_synchronizer.cc ('k') | content/browser/indexed_db/indexed_db_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698