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

Side by Side Diff: chrome/test/base/extension_load_waiter_one_shot.h

Issue 880063002: Ensure WebView notifies desktop automation on creation, destruction, and change (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix leaks? Created 5 years, 10 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
« no previous file with comments | « chrome/test/base/extension_js_browser_test.h ('k') | ui/views/controls/webview/webview.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #ifndef CHROME_TEST_BASE_EXTENSION_LOAD_WAITER_ONE_SHOT_H_ 5 #ifndef CHROME_TEST_BASE_EXTENSION_LOAD_WAITER_ONE_SHOT_H_
6 #define CHROME_TEST_BASE_EXTENSION_LOAD_WAITER_ONE_SHOT_H_ 6 #define CHROME_TEST_BASE_EXTENSION_LOAD_WAITER_ONE_SHOT_H_
7 7
8 #include "base/callback_forward.h" 8 #include "base/callback_forward.h"
9 #include "content/public/browser/notification_observer.h" 9 #include "content/public/browser/notification_observer.h"
10 #include "content/public/browser/notification_registrar.h" 10 #include "content/public/browser/notification_registrar.h"
11 #include "content/public/test/test_utils.h" 11 #include "content/public/test/test_utils.h"
12 12
13 namespace content { 13 namespace content {
14 class BrowserContext; 14 class BrowserContext;
15 } // namespace content 15 } // namespace content
16 16
17 // A class used to wait for an extension to load. Callers provide a load 17 // A class used to wait for an extension to load. Callers provide a load
18 // callback and can block until the extension loads. 18 // callback and can block until the extension loads.
19 class ExtensionLoadWaiterOneShot : public content::NotificationObserver { 19 class ExtensionLoadWaiterOneShot : public content::NotificationObserver {
20 public: 20 public:
21 ExtensionLoadWaiterOneShot(); 21 ExtensionLoadWaiterOneShot();
22 virtual ~ExtensionLoadWaiterOneShot(); 22 ~ExtensionLoadWaiterOneShot() override;
23 23
24 // Waits for extension with |extension_id| to load. The id should be a pointer 24 // Waits for extension with |extension_id| to load. The id should be a pointer
25 // to a static char array. 25 // to a static char array.
26 void WaitForExtension(const char* extension_id, const base::Closure& load_cb); 26 void WaitForExtension(const char* extension_id, const base::Closure& load_cb);
27 27
28 // content::NotificationObserver overrides. 28 // content::NotificationObserver overrides.
29 virtual void Observe(int type, 29 void Observe(int type,
30 const content::NotificationSource& source, 30 const content::NotificationSource& source,
31 const content::NotificationDetails& details) override; 31 const content::NotificationDetails& details) override;
32 32
33 // Get the browser context associated with the loaded extension. Returns 33 // Get the browser context associated with the loaded extension. Returns
34 // NULL if |WaitForExtension| was not previously called. 34 // NULL if |WaitForExtension| was not previously called.
35 content::BrowserContext* browser_context() { return browser_context_; } 35 content::BrowserContext* browser_context() { return browser_context_; }
36 36
37 // Get the id of the loaded extension. 37 // Get the id of the loaded extension.
38 const char* extension_id() { return extension_id_; } 38 const char* extension_id() { return extension_id_; }
39 39
40 private: 40 private:
41 content::NotificationRegistrar registrar_; 41 content::NotificationRegistrar registrar_;
42 scoped_refptr<content::MessageLoopRunner> load_looper_; 42 scoped_refptr<content::MessageLoopRunner> load_looper_;
43 const char* extension_id_; 43 const char* extension_id_;
44 content::BrowserContext* browser_context_; 44 content::BrowserContext* browser_context_;
45 45
46 DISALLOW_COPY_AND_ASSIGN(ExtensionLoadWaiterOneShot); 46 DISALLOW_COPY_AND_ASSIGN(ExtensionLoadWaiterOneShot);
47 }; 47 };
48 48
49 #endif // CHROME_TEST_BASE_EXTENSION_LOAD_WAITER_ONE_SHOT_H_ 49 #endif // CHROME_TEST_BASE_EXTENSION_LOAD_WAITER_ONE_SHOT_H_
OLDNEW
« no previous file with comments | « chrome/test/base/extension_js_browser_test.h ('k') | ui/views/controls/webview/webview.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698