From 5be7da24155466bf0e9bf2e5fda1a581e549df8d Mon Sep 17 00:00:00 2001 From: "pkasting@chromium.org" Date: Fri, 20 Nov 2009 23:16:26 +0000 Subject: Use AutoReset (formerly ScopedBool) where possible. This frequently saves a tiny bit of code, but even when it doesn't I think it's more future-proof (less error-prone). BUG=none TEST=none Review URL: http://codereview.chromium.org/399096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32708 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/plugin/plugin_channel_base.cc | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'chrome/plugin') diff --git a/chrome/plugin/plugin_channel_base.cc b/chrome/plugin/plugin_channel_base.cc index 7da4560..026b9e5 100644 --- a/chrome/plugin/plugin_channel_base.cc +++ b/chrome/plugin/plugin_channel_base.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,6 +6,7 @@ #include +#include "base/auto_reset.h" #include "base/hash_tables.h" #include "base/lazy_instance.h" #include "chrome/common/child_process.h" @@ -186,17 +187,15 @@ void PluginChannelBase::RemoveRoute(int route_id) { DCHECK(plugin_count_ >= 0); if (!plugin_count_) { - ListenerMap::iterator npobj_iter = npobject_listeners_.begin(); - in_remove_route_ = true; - while (npobj_iter != npobject_listeners_.end()) { + AutoReset auto_reset_in_remove_route(&in_remove_route_, true); + for (ListenerMap::iterator npobj_iter = npobject_listeners_.begin(); + npobj_iter != npobject_listeners_.end(); ++npobj_iter) { if (npobj_iter->second) npobj_iter->second->OnChannelError(); - npobj_iter++; } - in_remove_route_ = false; - PluginChannelMap::iterator iter = g_plugin_channels_.begin(); - while (iter != g_plugin_channels_.end()) { + for (PluginChannelMap::iterator iter = g_plugin_channels_.begin(); + iter != g_plugin_channels_.end(); ++iter) { if (iter->second == this) { #if defined(OS_POSIX) if (channel_valid()) { @@ -206,8 +205,6 @@ void PluginChannelBase::RemoveRoute(int route_id) { g_plugin_channels_.erase(iter); return; } - - iter++; } NOTREACHED(); -- cgit v1.1