Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(828)

Side by Side Diff: content/browser/webui/web_ui_mojo_browsertest.cc

Issue 215743002: Mojo: update web ui for the addition of connection.js and router.js (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/browser/webui/web_ui_data_source_impl.cc ('k') | content/content_resources.grd » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/file_util.h" 6 #include "base/file_util.h"
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 30 matching lines...) Expand all
41 base::FilePath file_path; 41 base::FilePath file_path;
42 PathService::Get(CHILD_PROCESS_EXE, &file_path); 42 PathService::Get(CHILD_PROCESS_EXE, &file_path);
43 return file_path.DirName().AppendASCII(binding_path); 43 return file_path.DirName().AppendASCII(binding_path);
44 } 44 }
45 45
46 // The bindings for the page are generated from a .mojom file. This code looks 46 // The bindings for the page are generated from a .mojom file. This code looks
47 // up the generated file from disk and returns it. 47 // up the generated file from disk and returns it.
48 bool GetResource(const std::string& id, 48 bool GetResource(const std::string& id,
49 const WebUIDataSource::GotDataCallback& callback) { 49 const WebUIDataSource::GotDataCallback& callback) {
50 // These are handled by the WebUIDataSource that AddMojoDataSource() creates. 50 // These are handled by the WebUIDataSource that AddMojoDataSource() creates.
51 if (id == mojo::kCodecModuleName || id == mojo::kConnectorModuleName) 51 if (id == mojo::kCodecModuleName ||
52 id == mojo::kConnectionModuleName ||
53 id == mojo::kConnectorModuleName ||
54 id == mojo::kRouterModuleName)
52 return false; 55 return false;
53 56
54 std::string contents; 57 std::string contents;
55 CHECK(base::ReadFileToString(GetFilePathForJSResource(id), &contents, 58 CHECK(base::ReadFileToString(GetFilePathForJSResource(id), &contents,
56 std::string::npos)); 59 std::string::npos));
57 base::RefCountedString* ref_contents = new base::RefCountedString; 60 base::RefCountedString* ref_contents = new base::RefCountedString;
58 ref_contents->data() = contents; 61 ref_contents->data() = contents;
59 callback.Run(ref_contents); 62 callback.Run(ref_contents);
60 return true; 63 return true;
61 } 64 }
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 TestWebUIControllerFactory* factory() { return &factory_; } 162 TestWebUIControllerFactory* factory() { return &factory_; }
160 163
161 private: 164 private:
162 TestWebUIControllerFactory factory_; 165 TestWebUIControllerFactory factory_;
163 166
164 DISALLOW_COPY_AND_ASSIGN(WebUIMojoTest); 167 DISALLOW_COPY_AND_ASSIGN(WebUIMojoTest);
165 }; 168 };
166 169
167 // Loads a webui page that contains mojo bindings and verifies a message makes 170 // Loads a webui page that contains mojo bindings and verifies a message makes
168 // it from the browser to the page and back. 171 // it from the browser to the page and back.
169 // http://crbug.com/357308 172 IN_PROC_BROWSER_TEST_F(WebUIMojoTest, EndToEnd) {
170 IN_PROC_BROWSER_TEST_F(WebUIMojoTest, DISABLED_EndToEnd) {
171 // Currently there is no way to have a generated file included in the isolate 173 // Currently there is no way to have a generated file included in the isolate
172 // files. If the bindings file doesn't exist assume we're on such a bot and 174 // files. If the bindings file doesn't exist assume we're on such a bot and
173 // pass. 175 // pass.
174 // TODO(sky): remove this conditional when isolates support copying from gen. 176 // TODO(sky): remove this conditional when isolates support copying from gen.
175 const base::FilePath test_file_path( 177 const base::FilePath test_file_path(
176 GetFilePathForJSResource( 178 GetFilePathForJSResource(
177 "content/test/data/web_ui_test_mojo_bindings.mojom")); 179 "content/test/data/web_ui_test_mojo_bindings.mojom"));
178 if (!base::PathExists(test_file_path)) { 180 if (!base::PathExists(test_file_path)) {
179 LOG(WARNING) << " mojom binding file doesn't exist, assuming on isolate"; 181 LOG(WARNING) << " mojom binding file doesn't exist, assuming on isolate";
180 return; 182 return;
181 } 183 }
182 184
183 got_message = false; 185 got_message = false;
184 ASSERT_TRUE(test_server()->Start()); 186 ASSERT_TRUE(test_server()->Start());
185 base::RunLoop run_loop; 187 base::RunLoop run_loop;
186 factory()->set_run_loop(&run_loop); 188 factory()->set_run_loop(&run_loop);
187 GURL test_url(test_server()->GetURL("files/web_ui_mojo.html")); 189 GURL test_url(test_server()->GetURL("files/web_ui_mojo.html"));
188 NavigateToURL(shell(), test_url); 190 NavigateToURL(shell(), test_url);
189 // RunLoop is quit when message received from page. 191 // RunLoop is quit when message received from page.
190 run_loop.Run(); 192 run_loop.Run();
191 EXPECT_TRUE(got_message); 193 EXPECT_TRUE(got_message);
192 } 194 }
193 195
194 } // namespace 196 } // namespace
195 } // namespace content 197 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/webui/web_ui_data_source_impl.cc ('k') | content/content_resources.grd » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698