0

ObserverList::HasObserver now takes a const pointer.

Updated all clients that wrap HasObserver and expose it to also take a
const pointer. This change avoids further propagation of non-constness
(which was previously required when using HasObserver methods).

BUG=429588
TBR=michaeln@chromium.org,nyquist@chromium.org,pkotwicz@chromium.org,satorux@chromium.org,sky@chromium.org,zea@chromium.org

Review URL: https://codereview.chromium.org/697953002

Cr-Commit-Position: refs/heads/master@{#303428}
This commit is contained in:
mgiuca
2014-11-09 22:44:23 -08:00
committed by Commit bot
parent d2b6be4e2e
commit 64ccf236e6
56 changed files with 81 additions and 67 deletions

@ -85,7 +85,7 @@ void LockStateController::RemoveObserver(LockStateObserver* observer) {
observers_.RemoveObserver(observer);
}
bool LockStateController::HasObserver(LockStateObserver* observer) {
bool LockStateController::HasObserver(const LockStateObserver* observer) const {
return observers_.HasObserver(observer);
}

@ -149,7 +149,7 @@ class ASH_EXPORT LockStateController : public aura::WindowTreeHostObserver,
void AddObserver(LockStateObserver* observer);
void RemoveObserver(LockStateObserver* observer);
bool HasObserver(LockStateObserver* observer);
bool HasObserver(const LockStateObserver* observer) const;
// Starts locking (with slow animation) that can be cancelled.
// After locking and |kLockToShutdownTimeoutMs| StartShutdownAnimation()

@ -100,7 +100,8 @@ class ObserverListBase
// Remove an observer from the list if it is in the list.
void RemoveObserver(ObserverType* obs);
bool HasObserver(ObserverType* observer) const;
// Determine whether a particular observer is in the list.
bool HasObserver(const ObserverType* observer) const;
void Clear();
@ -176,7 +177,8 @@ void ObserverListBase<ObserverType>::RemoveObserver(ObserverType* obs) {
}
template <class ObserverType>
bool ObserverListBase<ObserverType>::HasObserver(ObserverType* observer) const {
bool ObserverListBase<ObserverType>::HasObserver(
const ObserverType* observer) const {
for (size_t i = 0; i < observers_.size(); ++i) {
if (observers_[i] == observer)
return true;

@ -182,6 +182,9 @@ TEST(ObserverListTest, BasicTest) {
observer_list.AddObserver(&a);
observer_list.AddObserver(&b);
EXPECT_TRUE(observer_list.HasObserver(&a));
EXPECT_FALSE(observer_list.HasObserver(&c));
FOR_EACH_OBSERVER(Foo, observer_list, Observe(10));
observer_list.AddObserver(&evil);

@ -100,7 +100,7 @@ void DeviceSettingsTestHelper::AddObserver(Observer* observer) {}
void DeviceSettingsTestHelper::RemoveObserver(Observer* observer) {}
bool DeviceSettingsTestHelper::HasObserver(Observer* observer) {
bool DeviceSettingsTestHelper::HasObserver(const Observer* observer) const {
return false;
}

@ -87,7 +87,7 @@ class DeviceSettingsTestHelper : public SessionManagerClient {
override;
virtual void AddObserver(Observer* observer) override;
virtual void RemoveObserver(Observer* observer) override;
virtual bool HasObserver(Observer* observer) override;
virtual bool HasObserver(const Observer* observer) const override;
virtual void EmitLoginPromptVisible() override;
virtual void RestartJob(int pid, const std::string& command_line) override;
virtual void StartSession(const std::string& user_email) override;

@ -35,7 +35,7 @@ class MockDialService : public DialService {
MOCK_METHOD0(Discover, bool());
MOCK_METHOD1(AddObserver, void(DialService::Observer*));
MOCK_METHOD1(RemoveObserver, void(DialService::Observer*));
MOCK_METHOD1(HasObserver, bool(DialService::Observer*));
MOCK_CONST_METHOD1(HasObserver, bool(const DialService::Observer*));
};
class MockDialRegistry : public DialRegistry {

@ -407,7 +407,7 @@ void DialServiceImpl::RemoveObserver(Observer* observer) {
observer_list_.RemoveObserver(observer);
}
bool DialServiceImpl::HasObserver(Observer* observer) {
bool DialServiceImpl::HasObserver(const Observer* observer) const {
DCHECK(thread_checker_.CalledOnValidThread());
return observer_list_.HasObserver(observer);
}

@ -89,7 +89,7 @@ class DialService {
// Called by listeners to this service to add/remove themselves as observers.
virtual void AddObserver(Observer* observer) = 0;
virtual void RemoveObserver(Observer* observer) = 0;
virtual bool HasObserver(Observer* observer) = 0;
virtual bool HasObserver(const Observer* observer) const = 0;
};
// Implements DialService.
@ -108,7 +108,7 @@ class DialServiceImpl : public DialService,
bool Discover() override;
void AddObserver(Observer* observer) override;
void RemoveObserver(Observer* observer) override;
bool HasObserver(Observer* observer) override;
bool HasObserver(const Observer* observer) const override;
private:
// Represents a socket binding to a single network interface.

@ -78,7 +78,7 @@ void InstantUnitTestBase::NotifyGoogleBaseURLUpdate(
}
bool InstantUnitTestBase::IsInstantServiceObserver(
InstantServiceObserver* observer) {
const InstantServiceObserver* observer) const {
return instant_service_->observers_.HasObserver(observer);
}

@ -42,7 +42,7 @@ class InstantUnitTestBase : public BrowserWithTestWindowTest {
// tests, so this is required.
void NotifyGoogleBaseURLUpdate(const std::string& new_google_base_url);
bool IsInstantServiceObserver(InstantServiceObserver* observer);
bool IsInstantServiceObserver(const InstantServiceObserver* observer) const;
InstantService* instant_service_;
TemplateURLService* template_url_service_;

@ -75,7 +75,7 @@ void BackendMigrator::AddMigrationObserver(MigrationObserver* observer) {
}
bool BackendMigrator::HasMigrationObserver(
MigrationObserver* observer) const {
const MigrationObserver* observer) const {
return migration_observers_.HasObserver(observer);
}

@ -58,7 +58,7 @@ class BackendMigrator {
void MigrateTypes(syncer::ModelTypeSet types);
void AddMigrationObserver(MigrationObserver* observer);
bool HasMigrationObserver(MigrationObserver* observer) const;
bool HasMigrationObserver(const MigrationObserver* observer) const;
void RemoveMigrationObserver(MigrationObserver* observer);
State state() const;

@ -2439,7 +2439,7 @@ void ProfileSyncService::GetAllNodes(
}
bool ProfileSyncService::HasObserver(
ProfileSyncServiceBase::Observer* observer) const {
const ProfileSyncServiceBase::Observer* observer) const {
return observers_.HasObserver(observer);
}

@ -289,7 +289,8 @@ class ProfileSyncService : public ProfileSyncServiceBase,
syncer::ModelTypeSet GetActiveDataTypes() const override;
void AddObserver(ProfileSyncServiceBase::Observer* observer) override;
void RemoveObserver(ProfileSyncServiceBase::Observer* observer) override;
bool HasObserver(ProfileSyncServiceBase::Observer* observer) const override;
bool HasObserver(
const ProfileSyncServiceBase::Observer* observer) const override;
void AddProtocolEventObserver(browser_sync::ProtocolEventObserver* observer);
void RemoveProtocolEventObserver(

@ -51,7 +51,7 @@ class ProfileSyncServiceBase {
virtual void RemoveObserver(Observer* observer) = 0;
// Returns true if |observer| has already been added as an observer.
virtual bool HasObserver(Observer* observer) const = 0;
virtual bool HasObserver(const Observer* observer) const = 0;
};
#endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_BASE_H_

@ -535,7 +535,8 @@ void ScreenshotTaker::RemoveObserver(ScreenshotTakerObserver* observer) {
observers_.RemoveObserver(observer);
}
bool ScreenshotTaker::HasObserver(ScreenshotTakerObserver* observer) const {
bool ScreenshotTaker::HasObserver(
const ScreenshotTakerObserver* observer) const {
return observers_.HasObserver(observer);
}

@ -67,7 +67,7 @@ class ScreenshotTaker : public ash::ScreenshotDelegate {
void AddObserver(ScreenshotTakerObserver* observer);
void RemoveObserver(ScreenshotTakerObserver* observer);
bool HasObserver(ScreenshotTakerObserver* observer) const;
bool HasObserver(const ScreenshotTakerObserver* observer) const;
private:
friend class ash::test::ScreenshotTakerTest;

@ -36,7 +36,7 @@ class CrasAudioClientImpl : public CrasAudioClient {
observers_.RemoveObserver(observer);
}
virtual bool HasObserver(Observer* observer) override {
virtual bool HasObserver(const Observer* observer) const override {
return observers_.HasObserver(observer);
}

@ -49,7 +49,7 @@ class CHROMEOS_EXPORT CrasAudioClient : public DBusClient {
virtual void AddObserver(Observer* observer) = 0;
virtual void RemoveObserver(Observer* observer) = 0;
// Returns true if this object has the given observer.
virtual bool HasObserver(Observer* observer) = 0;
virtual bool HasObserver(const Observer* observer) const = 0;
// GetVolumeStateCallback is used for GetVolumeState method. It receives
// 2 arguments, |volume_state| which containing both input and output volume

@ -68,7 +68,7 @@ void FakeCrasAudioClient::RemoveObserver(Observer* observer) {
observers_.RemoveObserver(observer);
}
bool FakeCrasAudioClient::HasObserver(Observer* observer) {
bool FakeCrasAudioClient::HasObserver(const Observer* observer) const {
return observers_.HasObserver(observer);
}

@ -22,7 +22,7 @@ class CHROMEOS_EXPORT FakeCrasAudioClient : public CrasAudioClient {
virtual void Init(dbus::Bus* bus) override;
virtual void AddObserver(Observer* observer) override;
virtual void RemoveObserver(Observer* observer) override;
virtual bool HasObserver(Observer* observer) override;
virtual bool HasObserver(const Observer* observer) const override;
virtual void GetVolumeState(const GetVolumeStateCallback& callback) override;
virtual void GetNodes(const GetNodesCallback& callback,
const ErrorCallback& error_callback) override;

@ -34,7 +34,7 @@ void FakePowerManagerClient::RemoveObserver(Observer* observer) {
observers_.RemoveObserver(observer);
}
bool FakePowerManagerClient::HasObserver(Observer* observer) {
bool FakePowerManagerClient::HasObserver(const Observer* observer) const {
return false;
}

@ -37,7 +37,7 @@ class FakePowerManagerClient : public PowerManagerClient {
virtual void Init(dbus::Bus* bus) override;
virtual void AddObserver(Observer* observer) override;
virtual void RemoveObserver(Observer* observer) override;
virtual bool HasObserver(Observer* observer) override;
virtual bool HasObserver(const Observer* observer) const override;
virtual void DecreaseScreenBrightness(bool allow_off) override;
virtual void IncreaseScreenBrightness() override;
virtual void SetScreenBrightnessPercent(

@ -35,7 +35,7 @@ void FakeSessionManagerClient::RemoveObserver(Observer* observer) {
observers_.RemoveObserver(observer);
}
bool FakeSessionManagerClient::HasObserver(Observer* observer) {
bool FakeSessionManagerClient::HasObserver(const Observer* observer) const {
return observers_.HasObserver(observer);
}

@ -28,7 +28,7 @@ class FakeSessionManagerClient : public SessionManagerClient {
virtual void SetStubDelegate(StubDelegate* delegate) override;
virtual void AddObserver(Observer* observer) override;
virtual void RemoveObserver(Observer* observer) override;
virtual bool HasObserver(Observer* observer) override;
virtual bool HasObserver(const Observer* observer) const override;
virtual void EmitLoginPromptVisible() override;
virtual void RestartJob(int pid, const std::string& command_line) override;
virtual void StartSession(const std::string& user_email) override;

@ -21,7 +21,7 @@ void FakeSystemClockClient::AddObserver(Observer* observer) {
void FakeSystemClockClient::RemoveObserver(Observer* observer) {
}
bool FakeSystemClockClient::HasObserver(Observer* observer) {
bool FakeSystemClockClient::HasObserver(const Observer* observer) const {
return false;
}

@ -19,7 +19,7 @@ class CHROMEOS_EXPORT FakeSystemClockClient : public SystemClockClient {
virtual void Init(dbus::Bus* bus) override;
virtual void AddObserver(Observer* observer) override;
virtual void RemoveObserver(Observer* observer) override;
virtual bool HasObserver(Observer* observer) override;
virtual bool HasObserver(const Observer* observer) const override;
virtual void SetTime(int64 time_in_seconds) override;
virtual bool CanSetTime() override;

@ -29,7 +29,7 @@ void FakeUpdateEngineClient::RemoveObserver(Observer* observer) {
observers_.RemoveObserver(observer);
}
bool FakeUpdateEngineClient::HasObserver(Observer* observer) {
bool FakeUpdateEngineClient::HasObserver(const Observer* observer) const {
return observers_.HasObserver(observer);
}

@ -25,7 +25,7 @@ class FakeUpdateEngineClient : public UpdateEngineClient {
virtual void Init(dbus::Bus* bus) override;
virtual void AddObserver(Observer* observer) override;
virtual void RemoveObserver(Observer* observer) override;
virtual bool HasObserver(Observer* observer) override;
virtual bool HasObserver(const Observer* observer) const override;
virtual void RequestUpdateCheck(const UpdateCheckCallback& callback) override;
virtual void RebootAfterUpdate() override;
virtual void Rollback() override;

@ -21,7 +21,7 @@ class MockSessionManagerClient : public SessionManagerClient {
MOCK_METHOD1(SetStubDelegate, void(StubDelegate* delegate));
MOCK_METHOD1(AddObserver, void(Observer*));
MOCK_METHOD1(RemoveObserver, void(Observer*));
MOCK_METHOD1(HasObserver, bool(Observer*));
MOCK_CONST_METHOD1(HasObserver, bool(const Observer*));
MOCK_METHOD0(EmitLoginPromptVisible, void(void));
MOCK_METHOD2(RestartJob, void(int, const std::string&));
MOCK_METHOD1(StartSession, void(const std::string&));

@ -78,7 +78,7 @@ class PowerManagerClientImpl : public PowerManagerClient {
observers_.RemoveObserver(observer);
}
virtual bool HasObserver(Observer* observer) override {
virtual bool HasObserver(const Observer* observer) const override {
return observers_.HasObserver(observer);
}
@ -780,7 +780,7 @@ class PowerManagerClientStubImpl : public PowerManagerClient {
observers_.RemoveObserver(observer);
}
virtual bool HasObserver(Observer* observer) override {
virtual bool HasObserver(const Observer* observer) const override {
return observers_.HasObserver(observer);
}

@ -100,7 +100,7 @@ class CHROMEOS_EXPORT PowerManagerClient : public DBusClient {
// Adds and removes the observer.
virtual void AddObserver(Observer* observer) = 0;
virtual void RemoveObserver(Observer* observer) = 0;
virtual bool HasObserver(Observer* observer) = 0;
virtual bool HasObserver(const Observer* observer) const = 0;
// Decreases the screen brightness. |allow_off| controls whether or not
// it's allowed to turn off the back light.

@ -84,7 +84,7 @@ class SessionManagerClientImpl : public SessionManagerClient {
observers_.RemoveObserver(observer);
}
virtual bool HasObserver(Observer* observer) override {
virtual bool HasObserver(const Observer* observer) const override {
return observers_.HasObserver(observer);
}
@ -583,7 +583,7 @@ class SessionManagerClientStubImpl : public SessionManagerClient {
virtual void RemoveObserver(Observer* observer) override {
observers_.RemoveObserver(observer);
}
virtual bool HasObserver(Observer* observer) override {
virtual bool HasObserver(const Observer* observer) const override {
return observers_.HasObserver(observer);
}
virtual void EmitLoginPromptVisible() override {}

@ -63,7 +63,7 @@ class CHROMEOS_EXPORT SessionManagerClient : public DBusClient {
// Adds and removes the observer.
virtual void AddObserver(Observer* observer) = 0;
virtual void RemoveObserver(Observer* observer) = 0;
virtual bool HasObserver(Observer* observer) = 0;
virtual bool HasObserver(const Observer* observer) const = 0;
// Kicks off an attempt to emit the "login-prompt-visible" upstart signal.
virtual void EmitLoginPromptVisible() = 0;

@ -35,7 +35,7 @@ class SystemClockClientImpl : public SystemClockClient {
observers_.RemoveObserver(observer);
}
virtual bool HasObserver(Observer* observer) override {
virtual bool HasObserver(const Observer* observer) const override {
return observers_.HasObserver(observer);
}

@ -35,7 +35,7 @@ class CHROMEOS_EXPORT SystemClockClient : public DBusClient {
// Removes the given observer if this object has the observer.
virtual void RemoveObserver(Observer* observer) = 0;
// Returns true if this object has the given observer.
virtual bool HasObserver(Observer* observer) = 0;
virtual bool HasObserver(const Observer* observer) const = 0;
// Sets the system clock.
virtual void SetTime(int64 time_in_seconds) = 0;

@ -98,7 +98,7 @@ class UpdateEngineClientImpl : public UpdateEngineClient {
observers_.RemoveObserver(observer);
}
virtual bool HasObserver(Observer* observer) override {
virtual bool HasObserver(const Observer* observer) const override {
return observers_.HasObserver(observer);
}
@ -412,7 +412,9 @@ class UpdateEngineClientStubImpl : public UpdateEngineClient {
virtual void Init(dbus::Bus* bus) override {}
virtual void AddObserver(Observer* observer) override {}
virtual void RemoveObserver(Observer* observer) override {}
virtual bool HasObserver(Observer* observer) override { return false; }
virtual bool HasObserver(const Observer* observer) const override {
return false;
}
virtual void RequestUpdateCheck(
const UpdateCheckCallback& callback) override {
@ -467,7 +469,7 @@ class UpdateEngineClientFakeImpl : public UpdateEngineClientStubImpl {
observers_.RemoveObserver(observer);
}
virtual bool HasObserver(Observer* observer) override {
virtual bool HasObserver(const Observer* observer) const override {
return observers_.HasObserver(observer);
}

@ -75,7 +75,7 @@ class CHROMEOS_EXPORT UpdateEngineClient : public DBusClient {
virtual void AddObserver(Observer* observer) = 0;
virtual void RemoveObserver(Observer* observer) = 0;
// Returns true if this object has the given observer.
virtual bool HasObserver(Observer* observer) = 0;
virtual bool HasObserver(const Observer* observer) const = 0;
// Called once RequestUpdateCheck() is complete. Takes one parameter:
// - UpdateCheckResult: the result of the update check.

@ -116,7 +116,7 @@ void InvalidationLogger::UnregisterObserver(
}
bool InvalidationLogger::IsObserverRegistered(
InvalidationLoggerObserver* debug_observer) {
const InvalidationLoggerObserver* debug_observer) const {
return observer_list_.HasObserver(debug_observer);
}
} // namespace invalidation

@ -60,7 +60,8 @@ class InvalidationLogger {
// Add and remove observers listening for messages.
void RegisterObserver(InvalidationLoggerObserver* debug_observer);
void UnregisterObserver(InvalidationLoggerObserver* debug_observer);
bool IsObserverRegistered(InvalidationLoggerObserver* debug_observer);
bool IsObserverRegistered(
const InvalidationLoggerObserver* debug_observer) const;
private:
// Send to every Observer a OnStateChange event with the latest state.

@ -135,7 +135,7 @@ InvalidatorRegistrar::GetSanitizedHandlersIdsMap() {
}
bool InvalidatorRegistrar::IsHandlerRegisteredForTest(
InvalidationHandler* handler) const {
const InvalidationHandler* handler) const {
DCHECK(thread_checker_.CalledOnValidThread());
return handlers_.HasObserver(handler);
}

@ -76,7 +76,7 @@ class INVALIDATION_EXPORT InvalidatorRegistrar {
// to display every registered handlers and its objectsIds.
std::map<std::string, ObjectIdSet> GetSanitizedHandlersIdsMap();
bool IsHandlerRegisteredForTest(InvalidationHandler* handler) const;
bool IsHandlerRegisteredForTest(const InvalidationHandler* handler) const;
// Needed for death tests.
void DetachFromThreadForTest();

@ -219,7 +219,9 @@ void AppCacheGroup::RunQueuedUpdates() {
}
}
bool AppCacheGroup::FindObserver(UpdateObserver* find_me,
// static
bool AppCacheGroup::FindObserver(
const UpdateObserver* find_me,
const ObserverList<UpdateObserver>& observer_list) {
return observer_list.HasObserver(find_me);
}

@ -122,8 +122,8 @@ class CONTENT_EXPORT AppCacheGroup
// Update cannot be processed at this time. Queue it for a later run.
void QueueUpdate(AppCacheHost* host, const GURL& new_master_resource);
void RunQueuedUpdates();
bool FindObserver(UpdateObserver* find_me,
const ObserverList<UpdateObserver>& observer_list);
static bool FindObserver(const UpdateObserver* find_me,
const ObserverList<UpdateObserver>& observer_list);
void ScheduleUpdateRestart(int delay_ms);
void HostDestructionImminent(AppCacheHost* host);

@ -283,7 +283,7 @@ void ModelTypeRegistry::UnregisterDirectoryTypeDebugInfoObserver(
}
bool ModelTypeRegistry::HasDirectoryTypeDebugInfoObserver(
syncer::TypeDebugInfoObserver* observer) {
const syncer::TypeDebugInfoObserver* observer) const {
return type_debug_info_observers_.HasObserver(observer);
}

@ -97,7 +97,7 @@ class SYNC_EXPORT_PRIVATE ModelTypeRegistry
void UnregisterDirectoryTypeDebugInfoObserver(
syncer::TypeDebugInfoObserver* observer);
bool HasDirectoryTypeDebugInfoObserver(
syncer::TypeDebugInfoObserver* observer);
const syncer::TypeDebugInfoObserver* observer) const;
void RequestEmitDebugInfo();
base::WeakPtr<SyncContext> AsWeakPtr();

@ -75,8 +75,8 @@ class AppListModelTest : public testing::Test {
void TearDown() override { model_.RemoveObserver(&observer_); }
protected:
bool ItemObservedByFolder(AppListFolderItem* folder,
AppListItem* item) {
static bool ItemObservedByFolder(AppListFolderItem* folder,
const AppListItem* item) {
return item->observers_.HasObserver(folder->folder_image());
}

@ -663,7 +663,7 @@ void Window::RemoveObserver(WindowObserver* observer) {
observers_.RemoveObserver(observer);
}
bool Window::HasObserver(WindowObserver* observer) {
bool Window::HasObserver(const WindowObserver* observer) const {
return observers_.HasObserver(observer);
}

@ -223,7 +223,7 @@ class AURA_EXPORT Window : public ui::LayerDelegate,
// Add/remove observer.
void AddObserver(WindowObserver* observer);
void RemoveObserver(WindowObserver* observer);
bool HasObserver(WindowObserver* observer);
bool HasObserver(const WindowObserver* observer) const;
void set_ignore_events(bool ignore_events) { ignore_events_ = ignore_events; }
bool ignore_events() const { return ignore_events_; }

@ -312,7 +312,7 @@ void Compositor::RemoveObserver(CompositorObserver* observer) {
observer_list_.RemoveObserver(observer);
}
bool Compositor::HasObserver(CompositorObserver* observer) {
bool Compositor::HasObserver(const CompositorObserver* observer) const {
return observer_list_.HasObserver(observer);
}
@ -326,7 +326,8 @@ void Compositor::RemoveAnimationObserver(
animation_observer_list_.RemoveObserver(observer);
}
bool Compositor::HasAnimationObserver(CompositorAnimationObserver* observer) {
bool Compositor::HasAnimationObserver(
const CompositorAnimationObserver* observer) const {
return animation_observer_list_.HasObserver(observer);
}

@ -216,11 +216,11 @@ class COMPOSITOR_EXPORT Compositor
// observer to remove itself when it is done observing.
void AddObserver(CompositorObserver* observer);
void RemoveObserver(CompositorObserver* observer);
bool HasObserver(CompositorObserver* observer);
bool HasObserver(const CompositorObserver* observer) const;
void AddAnimationObserver(CompositorAnimationObserver* observer);
void RemoveAnimationObserver(CompositorAnimationObserver* observer);
bool HasAnimationObserver(CompositorAnimationObserver* observer);
bool HasAnimationObserver(const CompositorAnimationObserver* observer) const;
// Creates a compositor lock. Returns NULL if it is not possible to lock at
// this time (i.e. we're waiting to complete a previous unlock).

@ -393,7 +393,7 @@ void Widget::RemoveObserver(WidgetObserver* observer) {
observers_.RemoveObserver(observer);
}
bool Widget::HasObserver(WidgetObserver* observer) {
bool Widget::HasObserver(const WidgetObserver* observer) const {
return observers_.HasObserver(observer);
}
@ -405,7 +405,7 @@ void Widget::RemoveRemovalsObserver(WidgetRemovalsObserver* observer) {
removals_observers_.RemoveObserver(observer);
}
bool Widget::HasRemovalsObserver(WidgetRemovalsObserver* observer) {
bool Widget::HasRemovalsObserver(const WidgetRemovalsObserver* observer) const {
return removals_observers_.HasObserver(observer);
}

@ -364,12 +364,12 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// Add/remove observer.
void AddObserver(WidgetObserver* observer);
void RemoveObserver(WidgetObserver* observer);
bool HasObserver(WidgetObserver* observer);
bool HasObserver(const WidgetObserver* observer) const;
// Add/remove removals observer.
void AddRemovalsObserver(WidgetRemovalsObserver* observer);
void RemoveRemovalsObserver(WidgetRemovalsObserver* observer);
bool HasRemovalsObserver(WidgetRemovalsObserver* observer);
bool HasRemovalsObserver(const WidgetRemovalsObserver* observer) const;
// Returns the accelerator given a command id. Returns false if there is
// no accelerator associated with a given id, which is a common condition.

@ -59,7 +59,8 @@ UserActivityDetector* UserActivityDetector::Get() {
return g_instance;
}
bool UserActivityDetector::HasObserver(UserActivityObserver* observer) const {
bool UserActivityDetector::HasObserver(
const UserActivityObserver* observer) const {
return observers_.HasObserver(observer);
}

@ -36,7 +36,7 @@ class WM_EXPORT UserActivityDetector : public ui::EventHandler {
void set_now_for_test(base::TimeTicks now) { now_for_test_ = now; }
bool HasObserver(UserActivityObserver* observer) const;
bool HasObserver(const UserActivityObserver* observer) const;
void AddObserver(UserActivityObserver* observer);
void RemoveObserver(UserActivityObserver* observer);