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

Side by Side Diff: chrome/test/base/ui_test_utils.cc

Issue 10827357: Add NaCl smoke test to browser_tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: VS2010 fix? Created 8 years, 4 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 | « chrome/test/base/ui_test_utils.h ('k') | chrome/test/data/nacl/DEPS » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/test/base/ui_test_utils.h" 5 #include "chrome/test/base/ui_test_utils.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #endif 9 #endif
10 10
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/bind.h" 13 #include "base/bind.h"
14 #include "base/bind_helpers.h" 14 #include "base/bind_helpers.h"
15 #include "base/callback.h" 15 #include "base/callback.h"
16 #include "base/command_line.h" 16 #include "base/command_line.h"
17 #include "base/file_path.h" 17 #include "base/file_path.h"
18 #include "base/file_util.h"
18 #include "base/json/json_reader.h" 19 #include "base/json/json_reader.h"
19 #include "base/memory/scoped_ptr.h" 20 #include "base/memory/scoped_ptr.h"
20 #include "base/message_loop.h" 21 #include "base/message_loop.h"
21 #include "base/path_service.h" 22 #include "base/path_service.h"
22 #include "base/test/test_timeouts.h" 23 #include "base/test/test_timeouts.h"
23 #include "base/time.h" 24 #include "base/time.h"
24 #include "base/utf_string_conversions.h" 25 #include "base/utf_string_conversions.h"
25 #include "base/values.h" 26 #include "base/values.h"
26 #include "chrome/browser/bookmarks/bookmark_model.h" 27 #include "chrome/browser/bookmarks/bookmark_model.h"
27 #include "chrome/browser/browser_process.h" 28 #include "chrome/browser/browser_process.h"
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 FilePath GetTestFilePath(const FilePath& dir, const FilePath& file) { 309 FilePath GetTestFilePath(const FilePath& dir, const FilePath& file) {
309 FilePath path; 310 FilePath path;
310 PathService::Get(chrome::DIR_TEST_DATA, &path); 311 PathService::Get(chrome::DIR_TEST_DATA, &path);
311 return path.Append(dir).Append(file); 312 return path.Append(dir).Append(file);
312 } 313 }
313 314
314 GURL GetTestUrl(const FilePath& dir, const FilePath& file) { 315 GURL GetTestUrl(const FilePath& dir, const FilePath& file) {
315 return net::FilePathToFileURL(GetTestFilePath(dir, file)); 316 return net::FilePathToFileURL(GetTestFilePath(dir, file));
316 } 317 }
317 318
319 bool GetRelativeBuildDirectory(FilePath* build_dir) {
320 // This function is used to find the build directory so TestServer can serve
321 // built files (nexes, etc). TestServer expects a path relative to the source
322 // root.
323 FilePath exe_dir = CommandLine::ForCurrentProcess()->GetProgram().DirName();
324 FilePath src_dir;
325 if (!PathService::Get(base::DIR_SOURCE_ROOT, &src_dir))
326 return false;
327
328 // We must first generate absolute paths to SRC and EXE and from there
329 // generate a relative path.
330 if (!exe_dir.IsAbsolute())
331 file_util::AbsolutePath(&exe_dir);
332 if (!src_dir.IsAbsolute())
333 file_util::AbsolutePath(&src_dir);
334 if (!exe_dir.IsAbsolute())
335 return false;
336 if (!src_dir.IsAbsolute())
337 return false;
338
339 size_t match, exe_size, src_size;
340 std::vector<FilePath::StringType> src_parts, exe_parts;
341
342 // Determine point at which src and exe diverge.
343 exe_dir.GetComponents(&exe_parts);
344 src_dir.GetComponents(&src_parts);
345 exe_size = exe_parts.size();
346 src_size = src_parts.size();
347 for (match = 0; match < exe_size && match < src_size; ++match) {
348 if (exe_parts[match] != src_parts[match])
349 break;
350 }
351
352 // Create a relative path.
353 *build_dir = FilePath();
354 for (size_t tmp_itr = match; tmp_itr < src_size; ++tmp_itr)
355 *build_dir = build_dir->Append(FILE_PATH_LITERAL(".."));
356 for (; match < exe_size; ++match)
357 *build_dir = build_dir->Append(exe_parts[match]);
358 return true;
359 }
360
318 AppModalDialog* WaitForAppModalDialog() { 361 AppModalDialog* WaitForAppModalDialog() {
319 content::WindowedNotificationObserver observer( 362 content::WindowedNotificationObserver observer(
320 chrome::NOTIFICATION_APP_MODAL_DIALOG_SHOWN, 363 chrome::NOTIFICATION_APP_MODAL_DIALOG_SHOWN,
321 content::NotificationService::AllSources()); 364 content::NotificationService::AllSources());
322 observer.Wait(); 365 observer.Wait();
323 return content::Source<AppModalDialog>(observer.source()).ptr(); 366 return content::Source<AppModalDialog>(observer.source()).ptr();
324 } 367 }
325 368
326 int FindInPage(TabContents* tab_contents, const string16& search_string, 369 int FindInPage(TabContents* tab_contents, const string16& search_string,
327 bool forward, bool match_case, int* ordinal) { 370 bool forward, bool match_case, int* ordinal) {
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 int state, 703 int state,
661 const base::Closure& followup) { 704 const base::Closure& followup) {
662 if (!followup.is_null()) 705 if (!followup.is_null())
663 ui_controls::SendMouseEventsNotifyWhenDone(button, state, followup); 706 ui_controls::SendMouseEventsNotifyWhenDone(button, state, followup);
664 else 707 else
665 ui_controls::SendMouseEvents(button, state); 708 ui_controls::SendMouseEvents(button, state);
666 } 709 }
667 710
668 } // namespace internal 711 } // namespace internal
669 } // namespace ui_test_utils 712 } // namespace ui_test_utils
OLDNEW
« no previous file with comments | « chrome/test/base/ui_test_utils.h ('k') | chrome/test/data/nacl/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698