OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "ui/base/win/osk_display_manager.h" | 5 #include "ui/base/win/osk_display_manager.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 #include <shellapi.h> | 8 #include <shellapi.h> |
9 #include <shlobj.h> | 9 #include <shlobj.h> |
10 #include <shobjidl.h> // Must be before propkey. | 10 #include <shobjidl.h> // Must be before propkey. |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 } | 230 } |
231 | 231 |
232 void OnScreenKeyboardDetector::HandleKeyboardHidden() { | 232 void OnScreenKeyboardDetector::HandleKeyboardHidden() { |
233 osk_visible_notification_received_ = false; | 233 osk_visible_notification_received_ = false; |
234 FOR_EACH_OBSERVER(OnScreenKeyboardObserver, observers_, | 234 FOR_EACH_OBSERVER(OnScreenKeyboardObserver, observers_, |
235 OnKeyboardHidden(osk_rect_pixels_)); | 235 OnKeyboardHidden(osk_rect_pixels_)); |
236 ClearObservers(); | 236 ClearObservers(); |
237 } | 237 } |
238 | 238 |
239 void OnScreenKeyboardDetector::ClearObservers() { | 239 void OnScreenKeyboardDetector::ClearObservers() { |
240 base::ObserverListBase<OnScreenKeyboardObserver>::Iterator iter(&observers_); | 240 for (auto& observer : observers_) |
241 for (OnScreenKeyboardObserver* observer = iter.GetNext(); observer; | 241 RemoveObserver(&observer); |
242 observer = iter.GetNext()) { | |
243 RemoveObserver(observer); | |
244 } | |
245 } | 242 } |
246 | 243 |
247 // OnScreenKeyboardDisplayManager member definitions. | 244 // OnScreenKeyboardDisplayManager member definitions. |
248 OnScreenKeyboardDisplayManager::OnScreenKeyboardDisplayManager() {} | 245 OnScreenKeyboardDisplayManager::OnScreenKeyboardDisplayManager() {} |
249 | 246 |
250 OnScreenKeyboardDisplayManager::~OnScreenKeyboardDisplayManager() {} | 247 OnScreenKeyboardDisplayManager::~OnScreenKeyboardDisplayManager() {} |
251 | 248 |
252 OnScreenKeyboardDisplayManager* OnScreenKeyboardDisplayManager::GetInstance() { | 249 OnScreenKeyboardDisplayManager* OnScreenKeyboardDisplayManager::GetInstance() { |
253 static OnScreenKeyboardDisplayManager* instance = nullptr; | 250 static OnScreenKeyboardDisplayManager* instance = nullptr; |
254 if (!instance) { | 251 if (!instance) { |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
357 return false; | 354 return false; |
358 } | 355 } |
359 common_program_files_path = common_program_files; | 356 common_program_files_path = common_program_files; |
360 } | 357 } |
361 osk_path->insert(common_program_files_offset, common_program_files_path); | 358 osk_path->insert(common_program_files_offset, common_program_files_path); |
362 } | 359 } |
363 return !osk_path->empty(); | 360 return !osk_path->empty(); |
364 } | 361 } |
365 | 362 |
366 } // namespace ui | 363 } // namespace ui |
OLD | NEW |