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

Side by Side Diff: chrome/browser/ui/startup/startup_browser_creator_browsertest.cc

Issue 1940153002: Use std::unique_ptr to express ownership of base::Value in PolicyMap::Entry (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: another-fix Created 4 years, 7 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/files/file_path.h" 11 #include "base/files/file_path.h"
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/memory/ptr_util.h"
13 #include "base/strings/utf_string_conversions.h" 14 #include "base/strings/utf_string_conversions.h"
14 #include "base/test/histogram_tester.h" 15 #include "base/test/histogram_tester.h"
15 #include "build/build_config.h" 16 #include "build/build_config.h"
16 #include "chrome/browser/browser_process.h" 17 #include "chrome/browser/browser_process.h"
17 #include "chrome/browser/extensions/extension_browsertest.h" 18 #include "chrome/browser/extensions/extension_browsertest.h"
18 #include "chrome/browser/extensions/extension_service.h" 19 #include "chrome/browser/extensions/extension_service.h"
19 #include "chrome/browser/extensions/extension_util.h" 20 #include "chrome/browser/extensions/extension_util.h"
20 #include "chrome/browser/extensions/launch_util.h" 21 #include "chrome/browser/extensions/launch_util.h"
21 #include "chrome/browser/first_run/first_run.h" 22 #include "chrome/browser/first_run/first_run.h"
22 #include "chrome/browser/infobars/infobar_service.h" 23 #include "chrome/browser/infobars/infobar_service.h"
(...skipping 1541 matching lines...) Expand 10 before | Expand all | Expand 10 after
1564 // } 1565 // }
1565 ASSERT_TRUE(embedded_test_server()->Start()); 1566 ASSERT_TRUE(embedded_test_server()->Start());
1566 StartupBrowserCreator browser_creator; 1567 StartupBrowserCreator browser_creator;
1567 browser()->profile()->GetPrefs()->SetBoolean( 1568 browser()->profile()->GetPrefs()->SetBoolean(
1568 prefs::kSignInPromoShowOnFirstRunAllowed, true); 1569 prefs::kSignInPromoShowOnFirstRunAllowed, true);
1569 1570
1570 // Set the following user policies: 1571 // Set the following user policies:
1571 // * RestoreOnStartup = RestoreOnStartupIsURLs 1572 // * RestoreOnStartup = RestoreOnStartupIsURLs
1572 // * RestoreOnStartupURLs = [ "/title1.html" ] 1573 // * RestoreOnStartupURLs = [ "/title1.html" ]
1573 policy_map_.Set( 1574 policy_map_.Set(
1574 policy::key::kRestoreOnStartup, 1575 policy::key::kRestoreOnStartup, policy::POLICY_LEVEL_MANDATORY,
1575 policy::POLICY_LEVEL_MANDATORY, 1576 policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
1576 policy::POLICY_SCOPE_USER, 1577 base::WrapUnique(
1577 policy::POLICY_SOURCE_CLOUD, 1578 new base::FundamentalValue(SessionStartupPref::kPrefValueURLs)),
1578 new base::FundamentalValue(SessionStartupPref::kPrefValueURLs), 1579 nullptr);
1579 NULL);
1580 base::ListValue startup_urls; 1580 base::ListValue startup_urls;
1581 startup_urls.Append(new base::StringValue( 1581 startup_urls.Append(new base::StringValue(
1582 embedded_test_server()->GetURL("/title1.html").spec())); 1582 embedded_test_server()->GetURL("/title1.html").spec()));
1583 policy_map_.Set(policy::key::kRestoreOnStartupURLs, 1583 policy_map_.Set(policy::key::kRestoreOnStartupURLs,
1584 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, 1584 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
1585 policy::POLICY_SOURCE_CLOUD, startup_urls.DeepCopy(), 1585 policy::POLICY_SOURCE_CLOUD, startup_urls.CreateDeepCopy(),
1586 nullptr); 1586 nullptr);
1587 provider_.UpdateChromePolicy(policy_map_); 1587 provider_.UpdateChromePolicy(policy_map_);
1588 base::RunLoop().RunUntilIdle(); 1588 base::RunLoop().RunUntilIdle();
1589 1589
1590 // Do a process-startup browser launch. 1590 // Do a process-startup browser launch.
1591 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); 1591 base::CommandLine dummy(base::CommandLine::NO_PROGRAM);
1592 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, 1592 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator,
1593 chrome::startup::IS_FIRST_RUN); 1593 chrome::startup::IS_FIRST_RUN);
1594 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true)); 1594 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true));
1595 1595
1596 // This should have created a new browser window. 1596 // This should have created a new browser window.
1597 Browser* new_browser = FindOneOtherBrowser(browser()); 1597 Browser* new_browser = FindOneOtherBrowser(browser());
1598 ASSERT_TRUE(new_browser); 1598 ASSERT_TRUE(new_browser);
1599 1599
1600 // Verify that the URL specified through policy is shown and no sync promo has 1600 // Verify that the URL specified through policy is shown and no sync promo has
1601 // been added. 1601 // been added.
1602 TabStripModel* tab_strip = new_browser->tab_strip_model(); 1602 TabStripModel* tab_strip = new_browser->tab_strip_model();
1603 ASSERT_EQ(1, tab_strip->count()); 1603 ASSERT_EQ(1, tab_strip->count());
1604 EXPECT_EQ("title1.html", 1604 EXPECT_EQ("title1.html",
1605 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName()); 1605 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName());
1606 } 1606 }
1607 1607
1608 #endif // !defined(OS_CHROMEOS) 1608 #endif // !defined(OS_CHROMEOS)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698