Fixes for Android GN build input/outputs
[chromium-blink-merge.git] / mojo / shell / fetcher.cc
blobd9a4e60574b8f83c428f2c0f026b0c3019fb55ac
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.
5 #include "mojo/shell/fetcher.h"
7 #include "url/gurl.h"
9 namespace mojo {
10 namespace shell {
12 const char Fetcher::kMojoMagic[] = "#!mojo ";
13 const size_t Fetcher::kMaxShebangLength = 2048;
15 Fetcher::Fetcher(const FetchCallback& loader_callback)
16 : loader_callback_(loader_callback) {
19 Fetcher::~Fetcher() {
22 bool Fetcher::PeekContentHandler(std::string* mojo_shebang,
23 GURL* mojo_content_handler_url) {
24 // TODO(aa): I guess this should just go in ApplicationManager now.
25 std::string shebang;
26 if (HasMojoMagic() && PeekFirstLine(&shebang)) {
27 GURL url(shebang.substr(arraysize(kMojoMagic) - 1, std::string::npos));
28 if (url.is_valid()) {
29 *mojo_shebang = shebang;
30 *mojo_content_handler_url = url;
31 return true;
34 return false;
37 } // namespace shell
38 } // namespace mojo