OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "webkit/tools/test_shell/test_shell.h" | 5 #include "webkit/tools/test_shell/test_shell.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 #include <commdlg.h> | 8 #include <commdlg.h> |
9 #include <objbase.h> | 9 #include <objbase.h> |
10 #include <process.h> | 10 #include <process.h> |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 kTestWindowXLocation, kTestWindowYLocation, 0, 0, | 260 kTestWindowXLocation, kTestWindowYLocation, 0, 0, |
261 SWP_NOSIZE | SWP_NOZORDER); | 261 SWP_NOSIZE | SWP_NOZORDER); |
262 shell->ResizeSubViews(); | 262 shell->ResizeSubViews(); |
263 | 263 |
264 if (strstr(params.test_url.c_str(), "loading/") || | 264 if (strstr(params.test_url.c_str(), "loading/") || |
265 strstr(params.test_url.c_str(), "loading\\")) | 265 strstr(params.test_url.c_str(), "loading\\")) |
266 shell->layout_test_controller()->SetShouldDumpFrameLoadCallbacks(true); | 266 shell->layout_test_controller()->SetShouldDumpFrameLoadCallbacks(true); |
267 | 267 |
268 shell->test_is_preparing_ = true; | 268 shell->test_is_preparing_ = true; |
269 shell->set_test_params(¶ms); | 269 shell->set_test_params(¶ms); |
270 std::wstring wstr = UTF8ToWide(params.test_url.c_str()); | 270 shell->LoadURL(GURL(params.test_url)); |
271 shell->LoadURL(wstr.c_str()); | |
272 | 271 |
273 shell->test_is_preparing_ = false; | 272 shell->test_is_preparing_ = false; |
274 shell->WaitTestFinished(); | 273 shell->WaitTestFinished(); |
275 shell->set_test_params(NULL); | 274 shell->set_test_params(NULL); |
276 | 275 |
277 | 276 |
278 return true; | 277 return true; |
279 } | 278 } |
280 | 279 |
281 std::string TestShell::RewriteLocalUrl(const std::string& url) { | 280 std::string TestShell::RewriteLocalUrl(const std::string& url) { |
(...skipping 22 matching lines...) Expand all Loading... |
304 ///////////////////////////////////////////////////////////////////////////// | 303 ///////////////////////////////////////////////////////////////////////////// |
305 // TestShell implementation | 304 // TestShell implementation |
306 | 305 |
307 void TestShell::PlatformCleanUp() { | 306 void TestShell::PlatformCleanUp() { |
308 // When the window is destroyed, tell the Edit field to forget about us, | 307 // When the window is destroyed, tell the Edit field to forget about us, |
309 // otherwise we will crash. | 308 // otherwise we will crash. |
310 win_util::SetWindowProc(m_editWnd, default_edit_wnd_proc_); | 309 win_util::SetWindowProc(m_editWnd, default_edit_wnd_proc_); |
311 win_util::SetWindowUserData(m_editWnd, NULL); | 310 win_util::SetWindowUserData(m_editWnd, NULL); |
312 } | 311 } |
313 | 312 |
314 bool TestShell::Initialize(const std::wstring& startingURL) { | 313 bool TestShell::Initialize(const GURL& starting_url) { |
315 // Perform application initialization: | 314 // Perform application initialization: |
316 m_mainWnd = CreateWindow(g_windowClass, g_windowTitle, | 315 m_mainWnd = CreateWindow(g_windowClass, g_windowTitle, |
317 WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN, | 316 WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN, |
318 CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, | 317 CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, |
319 NULL, NULL, instance_handle_, NULL); | 318 NULL, NULL, instance_handle_, NULL); |
320 win_util::SetWindowUserData(m_mainWnd, this); | 319 win_util::SetWindowUserData(m_mainWnd, this); |
321 | 320 |
322 HWND hwnd; | 321 HWND hwnd; |
323 int x = 0; | 322 int x = 0; |
324 | 323 |
(...skipping 30 matching lines...) Expand all Loading... |
355 default_edit_wnd_proc_ = | 354 default_edit_wnd_proc_ = |
356 win_util::SetWindowProc(m_editWnd, TestShell::EditWndProc); | 355 win_util::SetWindowProc(m_editWnd, TestShell::EditWndProc); |
357 win_util::SetWindowUserData(m_editWnd, this); | 356 win_util::SetWindowUserData(m_editWnd, this); |
358 | 357 |
359 // create webview | 358 // create webview |
360 m_webViewHost.reset( | 359 m_webViewHost.reset( |
361 WebViewHost::Create(m_mainWnd, delegate_.get(), *TestShell::web_prefs_)); | 360 WebViewHost::Create(m_mainWnd, delegate_.get(), *TestShell::web_prefs_)); |
362 delegate_->RegisterDragDrop(); | 361 delegate_->RegisterDragDrop(); |
363 | 362 |
364 // Load our initial content. | 363 // Load our initial content. |
365 if (!startingURL.empty()) | 364 if (starting_url.is_valid()) |
366 LoadURL(startingURL.c_str()); | 365 LoadURL(starting_url); |
367 | 366 |
368 ShowWindow(webViewWnd(), SW_SHOW); | 367 ShowWindow(webViewWnd(), SW_SHOW); |
369 | 368 |
370 bool bIsSVGTest = startingURL.find(L"W3C-SVG-1.1") != std::wstring::npos; | 369 if (IsSVGTestURL(starting_url)) { |
371 | |
372 if (bIsSVGTest) { | |
373 SizeToSVG(); | 370 SizeToSVG(); |
374 } else { | 371 } else { |
375 SizeToDefault(); | 372 SizeToDefault(); |
376 } | 373 } |
377 | 374 |
378 return true; | 375 return true; |
379 } | 376 } |
380 | 377 |
381 void TestShell::TestFinished() { | 378 void TestShell::TestFinished() { |
382 if (!test_is_pending_) | 379 if (!test_is_pending_) |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
493 RECT rc; | 490 RECT rc; |
494 GetClientRect(m_mainWnd, &rc); | 491 GetClientRect(m_mainWnd, &rc); |
495 | 492 |
496 int x = BUTTON_WIDTH * 4; | 493 int x = BUTTON_WIDTH * 4; |
497 MoveWindow(m_editWnd, x, 0, rc.right - x, URLBAR_HEIGHT, TRUE); | 494 MoveWindow(m_editWnd, x, 0, rc.right - x, URLBAR_HEIGHT, TRUE); |
498 | 495 |
499 MoveWindow(webViewWnd(), 0, URLBAR_HEIGHT, rc.right, | 496 MoveWindow(webViewWnd(), 0, URLBAR_HEIGHT, rc.right, |
500 rc.bottom - URLBAR_HEIGHT, TRUE); | 497 rc.bottom - URLBAR_HEIGHT, TRUE); |
501 } | 498 } |
502 | 499 |
503 void TestShell::LoadURLForFrame(const wchar_t* url, | 500 void TestShell::LoadURLForFrame(const GURL& url, |
504 const wchar_t* frame_name) { | 501 const std::wstring& frame_name) { |
505 if (!url) | 502 if (!url.is_valid()) |
506 return; | 503 return; |
507 | 504 |
508 TRACE_EVENT_BEGIN("url.load", this, WideToUTF8(url)); | 505 TRACE_EVENT_BEGIN("url.load", this, url.spec()); |
509 bool bIsSVGTest = wcsstr(url, L"W3C-SVG-1.1") > 0; | |
510 | 506 |
511 if (bIsSVGTest) { | 507 if (IsSVGTestURL(url)) { |
512 SizeToSVG(); | 508 SizeToSVG(); |
513 } else { | 509 } else { |
514 // only resize back to the default when running tests | 510 // only resize back to the default when running tests |
515 if (layout_test_mode()) | 511 if (layout_test_mode()) |
516 SizeToDefault(); | 512 SizeToDefault(); |
517 } | 513 } |
518 | 514 |
519 std::wstring urlString(url); | 515 navigation_controller_->LoadEntry( |
520 if (!urlString.empty() && (PathFileExists(url) || PathIsUNC(url))) { | 516 new TestNavigationEntry(-1, url, std::wstring(), frame_name)); |
521 wchar_t fileURL[INTERNET_MAX_URL_LENGTH]; | |
522 DWORD fileURLLength = INTERNET_MAX_URL_LENGTH; | |
523 if (SUCCEEDED(UrlCreateFromPath(url, fileURL, &fileURLLength, 0))) | |
524 urlString.assign(fileURL); | |
525 } | |
526 | |
527 std::wstring frame_string; | |
528 if (frame_name) | |
529 frame_string = frame_name; | |
530 | |
531 navigation_controller_->LoadEntry(new TestNavigationEntry( | |
532 -1, GURL(urlString), std::wstring(), frame_string)); | |
533 } | 517 } |
534 | 518 |
535 LRESULT CALLBACK TestShell::WndProc(HWND hwnd, UINT message, WPARAM wParam, | 519 LRESULT CALLBACK TestShell::WndProc(HWND hwnd, UINT message, WPARAM wParam, |
536 LPARAM lParam) { | 520 LPARAM lParam) { |
537 TestShell* shell = static_cast<TestShell*>(win_util::GetWindowUserData(hwnd)); | 521 TestShell* shell = static_cast<TestShell*>(win_util::GetWindowUserData(hwnd)); |
538 | 522 |
539 switch (message) { | 523 switch (message) { |
540 case WM_COMMAND: | 524 case WM_COMMAND: |
541 { | 525 { |
542 int wmId = LOWORD(wParam); | 526 int wmId = LOWORD(wParam); |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
605 #define MAX_URL_LENGTH 1024 | 589 #define MAX_URL_LENGTH 1024 |
606 | 590 |
607 LRESULT CALLBACK TestShell::EditWndProc(HWND hwnd, UINT message, | 591 LRESULT CALLBACK TestShell::EditWndProc(HWND hwnd, UINT message, |
608 WPARAM wParam, LPARAM lParam) { | 592 WPARAM wParam, LPARAM lParam) { |
609 TestShell* shell = | 593 TestShell* shell = |
610 static_cast<TestShell*>(win_util::GetWindowUserData(hwnd)); | 594 static_cast<TestShell*>(win_util::GetWindowUserData(hwnd)); |
611 | 595 |
612 switch (message) { | 596 switch (message) { |
613 case WM_CHAR: | 597 case WM_CHAR: |
614 if (wParam == VK_RETURN) { | 598 if (wParam == VK_RETURN) { |
615 wchar_t strPtr[MAX_URL_LENGTH + 1]; // Leave room for adding a NULL; | 599 wchar_t str[MAX_URL_LENGTH + 1]; // Leave room for adding a NULL; |
616 *((LPWORD)strPtr) = MAX_URL_LENGTH; | 600 *((LPWORD)str) = MAX_URL_LENGTH; |
617 LRESULT strLen = SendMessage(hwnd, EM_GETLINE, 0, (LPARAM)strPtr); | 601 LRESULT str_len = SendMessage(hwnd, EM_GETLINE, 0, (LPARAM)str); |
618 if (strLen > 0) { | 602 if (str_len > 0) { |
619 strPtr[strLen] = 0; // EM_GETLINE doesn't NULL terminate. | 603 str[str_len] = 0; // EM_GETLINE doesn't NULL terminate. |
620 shell->LoadURL(strPtr); | 604 shell->LoadURL(GURL(str)); |
621 } | 605 } |
622 | 606 |
623 return 0; | 607 return 0; |
624 } | 608 } |
625 } | 609 } |
626 | 610 |
627 return (LRESULT) CallWindowProc(shell->default_edit_wnd_proc_, hwnd, | 611 return (LRESULT) CallWindowProc(shell->default_edit_wnd_proc_, hwnd, |
628 message, wParam, lParam); | 612 message, wParam, lParam); |
629 } | 613 } |
630 | 614 |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
759 | 743 |
760 bool EnsureFontLoaded(HFONT font) { | 744 bool EnsureFontLoaded(HFONT font) { |
761 return true; | 745 return true; |
762 } | 746 } |
763 | 747 |
764 bool DownloadUrl(const std::string& url, HWND caller_window) { | 748 bool DownloadUrl(const std::string& url, HWND caller_window) { |
765 return false; | 749 return false; |
766 } | 750 } |
767 | 751 |
768 } // namespace webkit_glue | 752 } // namespace webkit_glue |
OLD | NEW |