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

Unified Diff: chrome/browser/extensions/api/preference/preference_apitest.cc

Issue 1803143002: Replace BrowserProces::AddRefModule/RemoveModule by ScopedKeepAlive (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/preference/preference_apitest.cc
diff --git a/chrome/browser/extensions/api/preference/preference_apitest.cc b/chrome/browser/extensions/api/preference/preference_apitest.cc
index a8f8438c9894e1a354626cfca81ab8b842bfde63..f6e7e40c537e82963a5b97e85264072b647316cd 100644
--- a/chrome/browser/extensions/api/preference/preference_apitest.cc
+++ b/chrome/browser/extensions/api/preference/preference_apitest.cc
@@ -2,7 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/bind_helpers.h"
#include "base/location.h"
+#include "base/memory/scoped_ptr.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/utf_string_conversions.h"
#include "base/thread_task_runner_handle.h"
@@ -10,6 +12,8 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/extension_apitest.h"
+#include "chrome/browser/lifetime/keep_alive_types.h"
+#include "chrome/browser/lifetime/scoped_keep_alive.h"
#include "chrome/browser/net/prediction_options.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
@@ -28,14 +32,6 @@
#include "extensions/test/extension_test_message_listener.h"
#include "extensions/test/result_catcher.h"
-namespace {
-
-void ReleaseBrowserProcessModule() {
- g_browser_process->ReleaseModule();
-}
-
-} // namespace
-
class ExtensionPreferenceApiTest : public ExtensionApiTest {
protected:
ExtensionPreferenceApiTest() : profile_(NULL) {}
@@ -90,20 +86,23 @@ class ExtensionPreferenceApiTest : public ExtensionApiTest {
// Closing the last browser window also releases a module reference. Make
// sure it's not the last one, so the message loop doesn't quit
// unexpectedly.
- g_browser_process->AddRefModule();
+ keep_alive_.reset(new ScopedKeepAlive(KeepAliveOrigin::BROWSER,
+ KeepAliveRestartOption::DISABLED));
}
void TearDownOnMainThread() override {
- // ReleaseBrowserProcessModule() needs to be called in a message loop, so we
- // post a task to do it, then run the message loop.
+ // BrowserProcess::Shutdown() needs to be called in a message loop, so we
+ // post a task to release the keep alive, then run the message loop.
base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE, base::Bind(&ReleaseBrowserProcessModule));
+ FROM_HERE, base::Bind(&scoped_ptr<ScopedKeepAlive>::reset,
+ base::Unretained(&keep_alive_), nullptr));
content::RunAllPendingInMessageLoop();
ExtensionApiTest::TearDownOnMainThread();
}
Profile* profile_;
+ scoped_ptr<ScopedKeepAlive> keep_alive_;
};
// http://crbug.com/177163

Powered by Google App Engine
This is Rietveld 408576698