// 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 "content/public/browser/render_frame_host.h" #include "content/public/browser/web_contents.h" namespace banners { const char kRendererRequestCancel[] = "renderer has requested the banner prompt be cancelled"; const char kManifestEmpty[] = "manifest could not be fetched, is empty, or could not be parsed"; const char kNoManifest[] = "site has no manifest URL"; 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[] = "site requesting the banner has already been added"; 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, and the sizes attribute must be set"; 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: no id provided"; const char kIgnoredIdsDoNotMatch[] = "play application ignored: app URL and id fields were specified in the " "manifest, but they do not match"; 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()->AddMessageToConsole( content::CONSOLE_MESSAGE_LEVEL_DEBUG, log_message); } } } // namespace banners