Home | History | Annotate | Download | only in common
      1 // Copyright 2013 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 "content/public/common/url_utils.h"
      6 
      7 #include "base/base_switches.h"
      8 #include "base/command_line.h"
      9 #include "base/logging.h"
     10 #include "build/build_config.h"
     11 #include "content/common/savable_url_schemes.h"
     12 #include "content/public/common/content_switches.h"
     13 #include "content/public/common/url_constants.h"
     14 #include "url/gurl.h"
     15 
     16 namespace content {
     17 
     18 static size_t g_max_url_size = 2 * 1024 * 1024;
     19 
     20 const char* const* GetSavableSchemes() {
     21   return GetSavableSchemesInternal();
     22 }
     23 
     24 bool HasWebUIScheme(const GURL& url) {
     25   return
     26 #if !defined(OS_IOS)
     27          url.SchemeIs(kChromeDevToolsScheme) ||
     28 #endif
     29          url.SchemeIs(kChromeUIScheme);
     30 }
     31 
     32 bool IsSavableURL(const GURL& url) {
     33   for (int i = 0; GetSavableSchemes()[i] != NULL; ++i) {
     34     if (url.SchemeIs(GetSavableSchemes()[i]))
     35       return true;
     36   }
     37   return false;
     38 }
     39 
     40 #if defined(OS_ANDROID)
     41 void SetMaxURLChars(size_t max_chars) {
     42   // Check that it is not used by a multiprocesses embedder
     43   CommandLine* cmd = CommandLine::ForCurrentProcess();
     44   CHECK(cmd->HasSwitch(switches::kSingleProcess));
     45   g_max_url_size = max_chars;
     46 }
     47 #endif
     48 
     49 size_t GetMaxURLChars() {
     50   return g_max_url_size;
     51 }
     52 
     53 }  // namespace content
     54