| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |  | 
| 2 // Use of this source code is governed by a BSD-style license that can be |  | 
| 3 // found in the LICENSE file. |  | 
| 4 |  | 
| 5 #include "chrome/browser/banners/app_banner_debug_log.h" |  | 
| 6 |  | 
| 7 #include "base/strings/stringprintf.h" |  | 
| 8 #include "content/public/browser/render_frame_host.h" |  | 
| 9 #include "content/public/browser/web_contents.h" |  | 
| 10 |  | 
| 11 namespace banners { |  | 
| 12 |  | 
| 13 static const char kRendererRequestCancelMessage[] = |  | 
| 14     "page has requested the banner prompt be cancelled"; |  | 
| 15 static const char kManifestEmptyMessage[] = |  | 
| 16     "manifest could not be fetched, is empty, or could not be parsed"; |  | 
| 17 static const char kNoManifestMessage[] = |  | 
| 18     "site has no manifest <link> URL"; |  | 
| 19 static const char kNoIconMatchingRequirementsMessage[] = |  | 
| 20     "%spx square icon is required, but no supplied icon is at least this size"; |  | 
| 21 static const char kCannotDownloadIconMessage[] = |  | 
| 22     "could not download the specified icon"; |  | 
| 23 static const char kNoMatchingServiceWorkerMessage[] = |  | 
| 24     "no matching service worker detected. You may need to reload the page, or " |  | 
| 25     "check that the service worker for the current page also controls the " |  | 
| 26     "start URL from the manifest"; |  | 
| 27 static const char kNoIconAvailableMessage[] = |  | 
| 28     "no icon available to display"; |  | 
| 29 static const char kUserNavigatedBeforeBannerShownMessage[] = |  | 
| 30     "the user navigated before the banner could be shown"; |  | 
| 31 static const char kStartURLNotValidMessage[] = |  | 
| 32     "start URL in manifest is not valid"; |  | 
| 33 static const char kManifestDisplayStandaloneFullscreenMessage[] = |  | 
| 34     "manifest display property must be set to 'standalone' or 'fullscreen'"; |  | 
| 35 static const char kManifestMissingNameOrShortNameMessage[] = |  | 
| 36     "one of manifest name or short name must be specified"; |  | 
| 37 static const char kManifestMissingSuitableIconMessage[] = |  | 
| 38     "manifest does not contain a suitable icon - PNG format of at least " |  | 
| 39     "144x144px is required, and the sizes attribute must be set"; |  | 
| 40 static const char kNotLoadedInMainFrameMessage[] = |  | 
| 41     "page not loaded in the main frame"; |  | 
| 42 static const char kNotServedFromSecureOriginMessage[] = |  | 
| 43     "page not served from a secure origin"; |  | 
| 44 // The leading space is intentional as another string is prepended. |  | 
| 45 static const char kIgnoredNotSupportedOnAndroidMessage[] = |  | 
| 46     "%s application is not supported on Android"; |  | 
| 47 static const char kIgnoredNoIdMessage[] = |  | 
| 48     "no Play store ID provided"; |  | 
| 49 static const char kIgnoredIdsDoNotMatchMessage[] = |  | 
| 50     "a Play app URL and Play store ID were specified in the manifest, but they" |  | 
| 51     " do not match"; |  | 
| 52 |  | 
| 53 void OutputDeveloperNotShownMessage(content::WebContents* web_contents, |  | 
| 54                                     OutputDeveloperMessageCode code, |  | 
| 55                                     bool is_debug_mode) { |  | 
| 56   OutputDeveloperNotShownMessage(web_contents, code, std::string(), |  | 
| 57                                  is_debug_mode); |  | 
| 58 } |  | 
| 59 |  | 
| 60 void OutputDeveloperNotShownMessage(content::WebContents* web_contents, |  | 
| 61                                     OutputDeveloperMessageCode code, |  | 
| 62                                     const std::string& param, |  | 
| 63                                     bool is_debug_mode) { |  | 
| 64   if (!is_debug_mode || !web_contents) |  | 
| 65     return; |  | 
| 66 |  | 
| 67   const char* pattern; |  | 
| 68   content::ConsoleMessageLevel severity = content::CONSOLE_MESSAGE_LEVEL_ERROR; |  | 
| 69   switch (code) { |  | 
| 70     case kRendererRequestCancel: |  | 
| 71       pattern = kRendererRequestCancelMessage; |  | 
| 72       severity = content::CONSOLE_MESSAGE_LEVEL_LOG; |  | 
| 73       break; |  | 
| 74     case kManifestEmpty: |  | 
| 75       pattern = kManifestEmptyMessage; |  | 
| 76       break; |  | 
| 77     case kNoManifest: |  | 
| 78       pattern = kNoManifestMessage; |  | 
| 79       break; |  | 
| 80     case kNoIconMatchingRequirements: |  | 
| 81       pattern = kNoIconMatchingRequirementsMessage; |  | 
| 82       break; |  | 
| 83     case kCannotDownloadIcon: |  | 
| 84       pattern = kCannotDownloadIconMessage; |  | 
| 85       break; |  | 
| 86     case kNoMatchingServiceWorker: |  | 
| 87       pattern = kNoMatchingServiceWorkerMessage; |  | 
| 88       break; |  | 
| 89     case kNoIconAvailable: |  | 
| 90       pattern = kNoIconAvailableMessage; |  | 
| 91       break; |  | 
| 92     case kUserNavigatedBeforeBannerShown: |  | 
| 93       pattern = kUserNavigatedBeforeBannerShownMessage; |  | 
| 94       severity = content::CONSOLE_MESSAGE_LEVEL_WARNING; |  | 
| 95       break; |  | 
| 96     case kStartURLNotValid: |  | 
| 97       pattern = kStartURLNotValidMessage; |  | 
| 98       break; |  | 
| 99     case kManifestDisplayStandaloneFullscreen: |  | 
| 100       pattern = kManifestDisplayStandaloneFullscreenMessage; |  | 
| 101       break; |  | 
| 102     case kManifestMissingNameOrShortName: |  | 
| 103       pattern = kManifestMissingNameOrShortNameMessage; |  | 
| 104       break; |  | 
| 105     case kManifestMissingSuitableIcon: |  | 
| 106       pattern = kManifestMissingSuitableIconMessage; |  | 
| 107       break; |  | 
| 108     case kNotLoadedInMainFrame: |  | 
| 109       pattern = kNotLoadedInMainFrameMessage; |  | 
| 110       break; |  | 
| 111     case kNotServedFromSecureOrigin: |  | 
| 112       pattern = kNotServedFromSecureOriginMessage; |  | 
| 113       break; |  | 
| 114     case kIgnoredNotSupportedOnAndroid: |  | 
| 115       pattern = kIgnoredNotSupportedOnAndroidMessage; |  | 
| 116       severity = content::CONSOLE_MESSAGE_LEVEL_WARNING; |  | 
| 117       break; |  | 
| 118     case kIgnoredNoId: |  | 
| 119       pattern = kIgnoredNoIdMessage; |  | 
| 120       break; |  | 
| 121     case kIgnoredIdsDoNotMatch: |  | 
| 122       pattern = kIgnoredIdsDoNotMatchMessage; |  | 
| 123       break; |  | 
| 124     default: |  | 
| 125       NOTREACHED(); |  | 
| 126       return; |  | 
| 127   } |  | 
| 128   std::string message = param.empty() ? |  | 
| 129       pattern : base::StringPrintf(pattern, param.c_str()); |  | 
| 130   web_contents->GetMainFrame()->AddMessageToConsole( |  | 
| 131       severity, "App banner not shown: " + message); |  | 
| 132 |  | 
| 133 } |  | 
| 134 |  | 
| 135 }  // namespace banners |  | 
| OLD | NEW | 
|---|