| Index: chrome/browser/chrome_browser_main_unittest.cc
|
| diff --git a/chrome/browser/chrome_browser_main_unittest.cc b/chrome/browser/chrome_browser_main_unittest.cc
|
| index e3c99b75426cc537a92d846efa014f3446b98641..9bcd07f0b4118cfdd3e1968f97463f6b5b5f0ab6 100644
|
| --- a/chrome/browser/chrome_browser_main_unittest.cc
|
| +++ b/chrome/browser/chrome_browser_main_unittest.cc
|
| @@ -6,6 +6,7 @@
|
| #include <vector>
|
| #include "base/command_line.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/memory/scoped_vector.h"
|
| #include "chrome/browser/chrome_browser_main.h"
|
| #include "chrome/browser/chrome_content_browser_client.h"
|
| #include "chrome/common/chrome_switches.h"
|
| @@ -34,30 +35,37 @@ TEST_F(BrowserMainTest, WarmConnectionFieldTrial_WarmestSocket) {
|
|
|
| scoped_ptr<MainFunctionParams> params(
|
| new MainFunctionParams(command_line_, *sandbox_init_wrapper_, NULL));
|
| - scoped_ptr<content::BrowserMainParts> bw(
|
| - content::GetContentClient()->browser()->CreateBrowserMainParts(
|
| - *params));
|
| -
|
| - ChromeBrowserMainParts* cbw = static_cast<ChromeBrowserMainParts*>(bw.get());
|
| - cbw->WarmConnectionFieldTrial();
|
| -
|
| - EXPECT_EQ(0, net::GetSocketReusePolicy());
|
| + ScopedVector<content::BrowserMainParts> bwv;
|
| + content::GetContentClient()->browser()->CreateBrowserMainParts(
|
| + *params, &(bwv.get()));
|
| + ChromeBrowserMainParts* cbw = NULL;
|
| + if (bwv.size() >= 1)
|
| + cbw = static_cast<ChromeBrowserMainParts*>(bwv[0]);
|
| + EXPECT_TRUE(cbw);
|
| + if (cbw) {
|
| + cbw->WarmConnectionFieldTrial();
|
| + EXPECT_EQ(0, net::GetSocketReusePolicy());
|
| + }
|
| }
|
|
|
| TEST_F(BrowserMainTest, WarmConnectionFieldTrial_Random) {
|
| scoped_ptr<MainFunctionParams> params(
|
| new MainFunctionParams(command_line_, *sandbox_init_wrapper_, NULL));
|
| - scoped_ptr<content::BrowserMainParts> bw(
|
| - content::GetContentClient()->browser()->CreateBrowserMainParts(
|
| - *params));
|
| - ChromeBrowserMainParts* cbw = static_cast<ChromeBrowserMainParts*>(bw.get());
|
| -
|
| - const int kNumRuns = 1000;
|
| - for (int i = 0; i < kNumRuns; i++) {
|
| - cbw->WarmConnectionFieldTrial();
|
| - int val = net::GetSocketReusePolicy();
|
| - EXPECT_LE(val, 2);
|
| - EXPECT_GE(val, 0);
|
| + ScopedVector<content::BrowserMainParts> bwv;
|
| + content::GetContentClient()->browser()->CreateBrowserMainParts(
|
| + *params, &(bwv.get()));
|
| + ChromeBrowserMainParts* cbw = NULL;
|
| + if (bwv.size() >= 1)
|
| + cbw = static_cast<ChromeBrowserMainParts*>(bwv[0]);
|
| + EXPECT_TRUE(cbw);
|
| + if (cbw) {
|
| + const int kNumRuns = 1000;
|
| + for (int i = 0; i < kNumRuns; i++) {
|
| + cbw->WarmConnectionFieldTrial();
|
| + int val = net::GetSocketReusePolicy();
|
| + EXPECT_LE(val, 2);
|
| + EXPECT_GE(val, 0);
|
| + }
|
| }
|
| }
|
|
|
| @@ -68,20 +76,25 @@ TEST_F(BrowserMainTest, WarmConnectionFieldTrial_Invalid) {
|
| new MainFunctionParams(command_line_, *sandbox_init_wrapper_, NULL));
|
| // This test ends up launching a new process, and that doesn't initialize the
|
| // ContentClient interfaces.
|
| - scoped_ptr<content::BrowserMainParts> bw;
|
| + ScopedVector<content::BrowserMainParts> bwv;
|
| if (content::GetContentClient()) {
|
| - bw.reset(content::GetContentClient()->browser()->CreateBrowserMainParts(
|
| - *params));
|
| + content::GetContentClient()->browser()->CreateBrowserMainParts(
|
| + *params, &(bwv.get()));
|
| } else {
|
| chrome::ChromeContentBrowserClient ccbc;
|
| - bw.reset(ccbc.CreateBrowserMainParts(*params));
|
| + ccbc.CreateBrowserMainParts(*params, &(bwv.get()));
|
| }
|
| - ChromeBrowserMainParts* cbw = static_cast<ChromeBrowserMainParts*>(bw.get());
|
| + ChromeBrowserMainParts* cbw = NULL;
|
| + if (bwv.size() >= 1)
|
| + cbw = static_cast<ChromeBrowserMainParts*>(bwv[0]);
|
| + EXPECT_TRUE(cbw);
|
| + if (cbw) {
|
| #if defined(NDEBUG) && defined(DCHECK_ALWAYS_ON)
|
| - EXPECT_DEATH(cbw->WarmConnectionFieldTrial(),
|
| - "Not a valid socket reuse policy group");
|
| + EXPECT_DEATH(cbw->WarmConnectionFieldTrial(),
|
| + "Not a valid socket reuse policy group");
|
| #else
|
| - EXPECT_DEBUG_DEATH(cbw->WarmConnectionFieldTrial(),
|
| - "Not a valid socket reuse policy group");
|
| + EXPECT_DEBUG_DEATH(cbw->WarmConnectionFieldTrial(),
|
| + "Not a valid socket reuse policy group");
|
| #endif
|
| + }
|
| }
|
|
|