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.
5 #include "content/public/common/url_utils.h"
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"
18 static size_t g_max_url_size
= 2 * 1024 * 1024;
20 const char* const* GetSavableSchemes() {
21 return GetSavableSchemesInternal();
24 bool HasWebUIScheme(const GURL
& url
) {
27 url
.SchemeIs(kChromeDevToolsScheme
) ||
29 url
.SchemeIs(kChromeUIScheme
);
32 bool IsSavableURL(const GURL
& url
) {
33 for (int i
= 0; GetSavableSchemes()[i
] != NULL
; ++i
) {
34 if (url
.SchemeIs(GetSavableSchemes()[i
]))
40 #if defined(OS_ANDROID)
41 void SetMaxURLChars(size_t max_chars
) {
42 // Check that it is not used by a multiprocesses embedder
43 base::CommandLine
* cmd
= base::CommandLine::ForCurrentProcess();
44 CHECK(cmd
->HasSwitch(switches::kSingleProcess
));
45 g_max_url_size
= max_chars
;
49 size_t GetMaxURLChars() {
50 return g_max_url_size
;
53 } // namespace content