Chromium Code Reviews| Index: chrome/browser/banners/app_banner_debug_log.cc |
| diff --git a/chrome/browser/banners/app_banner_debug_log.cc b/chrome/browser/banners/app_banner_debug_log.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..90c034840c121261367ef9e3ba207ed34463ae39 |
| --- /dev/null |
| +++ b/chrome/browser/banners/app_banner_debug_log.cc |
| @@ -0,0 +1,60 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/banners/app_banner_debug_log.h" |
| + |
| +#include "base/command_line.h" |
| +#include "chrome/common/chrome_switches.h" |
| +#include "chrome/common/render_messages.h" |
| +#include "content/public/browser/render_frame_host.h" |
| +#include "content/public/browser/web_contents.h" |
| +#include "content/public/browser/web_contents_observer.h" |
| + |
| +namespace banners { |
| + |
| +const char kRendererRequestCancel[] = |
| + "renderer has requested the banner prompt be cancelled"; |
| +const char kManifestEmpty[] = "manifest is empty"; |
| +const char kCannotDetermineBestIcon[] = |
| + "could not determine the best icon to use"; |
| +const char kNoMatchingServiceWorker[] = |
| + "no matching service worker detected. You may need to reload the page, or " |
| + "check that the service worker for the current page also controls the " |
| + "start URL from the manifest"; |
| +const char kNoIconAvailable[] = "no icon available to display"; |
| +const char kBannerAlreadyAdded[] = |
| + "the banner has already been added to the homescreen"; |
| +const char kUserNavigatedBeforeBannerShown[] = |
| + "the user navigated before the banner could be shown"; |
| +const char kStartURLNotValid[] = "start URL in manifest is not valid"; |
| +const char kManifestMissingNameOrShortName[] = |
| + "one of manifest name or short name must be specified"; |
| +const char kManifestMissingSuitableIcon[] = |
| + "manifest does not contain a suitable icon - PNG format of at least " |
| + "144x144px is required"; |
| +const char kNotServedFromSecureOrigin[] = |
| + "page not served from a secure origin"; |
| +// The leading space is intentional as another string is prepended. |
| +const char kIgnoredNotSupportedOnAndroid[] = |
| + " application ignored: not supported on Android"; |
| +const char kIgnoredNoId[] = "Play application ignored as there is no id"; |
|
benwells
2015/05/13 02:55:20
I think this one will end up coming out as "App ba
dominickn (DO NOT USE)
2015/05/13 03:08:06
Done.
|
| + |
|
benwells
2015/05/13 02:55:20
Nit: only one blank line here please.
dominickn (DO NOT USE)
2015/05/13 03:08:06
Done.
|
| + |
| +void OutputDeveloperNotShownMessage(content::WebContents* web_contents, |
| + const std::string& message) { |
| + OutputDeveloperDebugMessage(web_contents, "not shown: " + message); |
| +} |
| + |
| +void OutputDeveloperDebugMessage(content::WebContents* web_contents, |
| + const std::string& message) { |
| + std::string log_message = "App banner " + message; |
| + if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| + switches::kBypassAppBannerEngagementChecks) && web_contents) { |
| + web_contents->GetMainFrame()->Send( |
| + new ChromeViewMsg_AppBannerDebugMessageRequest( |
| + web_contents->GetMainFrame()->GetRoutingID(), log_message)); |
| + } |
| +} |
| + |
| +} // namespace banners |