| Index: chrome/browser/ui/webui/sync_promo/sync_promo_ui.cc
|
| ===================================================================
|
| --- chrome/browser/ui/webui/sync_promo/sync_promo_ui.cc (revision 147566)
|
| +++ chrome/browser/ui/webui/sync_promo/sync_promo_ui.cc (working copy)
|
| @@ -43,6 +43,7 @@
|
|
|
| const char kSyncPromoQueryKeyNextPage[] = "next_page";
|
| const char kSyncPromoQueryKeySource[] = "source";
|
| +const char kSyncPromoQueryKeyAutoClose[] = "auto_close";
|
|
|
| // The maximum number of times we want to show the sync promo at startup.
|
| const int kSyncPromoShowAtStartupMaximum = 10;
|
| @@ -205,13 +206,18 @@
|
| }
|
|
|
| // static
|
| -GURL SyncPromoUI::GetSyncPromoURL(const GURL& next_page, Source source) {
|
| +GURL SyncPromoUI::GetSyncPromoURL(const GURL& next_page,
|
| + Source source,
|
| + bool auto_close) {
|
| DCHECK_NE(SOURCE_UNKNOWN, source);
|
|
|
| std::stringstream stream;
|
| stream << chrome::kChromeUISyncPromoURL << "?"
|
| << kSyncPromoQueryKeySource << "=" << static_cast<int>(source);
|
|
|
| + if (auto_close)
|
| + stream << "&" << kSyncPromoQueryKeyAutoClose << "=1";
|
| +
|
| if (!next_page.spec().empty()) {
|
| url_canon::RawCanonOutputT<char> output;
|
| url_util::EncodeURIComponent(
|
| @@ -246,3 +252,15 @@
|
| }
|
| return SOURCE_UNKNOWN;
|
| }
|
| +
|
| +// static
|
| +bool SyncPromoUI::GetAutoCloseForSyncPromoURL(const GURL& url) {
|
| + std::string value;
|
| + if (chrome_common_net::GetValueForKeyInQuery(
|
| + url, kSyncPromoQueryKeyAutoClose, &value)) {
|
| + int source = 0;
|
| + base::StringToInt(value, &source);
|
| + return (source == 1);
|
| + }
|
| + return false;
|
| +}
|
|
|