| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/string16.h" | 10 #include "base/string16.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 #include "chrome/browser/ui/browser_window.h" | 21 #include "chrome/browser/ui/browser_window.h" |
| 22 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 22 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
| 23 #include "chrome/common/chrome_notification_types.h" | 23 #include "chrome/common/chrome_notification_types.h" |
| 24 #include "chrome/common/render_messages.h" | 24 #include "chrome/common/render_messages.h" |
| 25 #include "chrome/renderer/translate_helper.h" | 25 #include "chrome/renderer/translate_helper.h" |
| 26 #include "chrome/test/base/in_process_browser_test.h" | 26 #include "chrome/test/base/in_process_browser_test.h" |
| 27 #include "chrome/test/base/ui_test_utils.h" | 27 #include "chrome/test/base/ui_test_utils.h" |
| 28 #include "content/browser/renderer_host/mock_render_process_host.h" | 28 #include "content/browser/renderer_host/mock_render_process_host.h" |
| 29 #include "content/browser/renderer_host/render_view_host.h" | 29 #include "content/browser/renderer_host/render_view_host.h" |
| 30 #include "content/browser/tab_contents/tab_contents.h" | 30 #include "content/browser/tab_contents/tab_contents.h" |
| 31 #include "content/public/browser/notification_service.h" |
| 31 #include "content/test/test_url_fetcher_factory.h" | 32 #include "content/test/test_url_fetcher_factory.h" |
| 32 #include "testing/gtest/include/gtest/gtest.h" | 33 #include "testing/gtest/include/gtest/gtest.h" |
| 33 #include "ui/base/keycodes/keyboard_codes.h" | 34 #include "ui/base/keycodes/keyboard_codes.h" |
| 34 | 35 |
| 35 static const char* kDataURIPrefix = "data:text/html;charset=utf-8,"; | 36 static const char* kDataURIPrefix = "data:text/html;charset=utf-8,"; |
| 36 static const char* kTestFormString = | 37 static const char* kTestFormString = |
| 37 "<form action=\"http://www.example.com/\" method=\"POST\">" | 38 "<form action=\"http://www.example.com/\" method=\"POST\">" |
| 38 "<label for=\"firstname\">First name:</label>" | 39 "<label for=\"firstname\">First name:</label>" |
| 39 " <input type=\"text\" id=\"firstname\"" | 40 " <input type=\"text\" id=\"firstname\"" |
| 40 " onFocus=\"domAutomationController.send(true)\"><br>" | 41 " onFocus=\"domAutomationController.send(true)\"><br>" |
| (...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 660 | 661 |
| 661 // Simulate translation button press. | 662 // Simulate translation button press. |
| 662 infobar->Translate(); | 663 infobar->Translate(); |
| 663 | 664 |
| 664 // Simulate the translate script being retrieved. | 665 // Simulate the translate script being retrieved. |
| 665 // Pass fake google.translate lib as the translate script. | 666 // Pass fake google.translate lib as the translate script. |
| 666 SimulateURLFetch(true); | 667 SimulateURLFetch(true); |
| 667 | 668 |
| 668 ui_test_utils::WindowedNotificationObserver translation_observer( | 669 ui_test_utils::WindowedNotificationObserver translation_observer( |
| 669 chrome::NOTIFICATION_PAGE_TRANSLATED, | 670 chrome::NOTIFICATION_PAGE_TRANSLATED, |
| 670 NotificationService::AllSources()); | 671 content::NotificationService::AllSources()); |
| 671 | 672 |
| 672 // Simulate translation to kick onTranslateElementLoad. | 673 // Simulate translation to kick onTranslateElementLoad. |
| 673 // But right now, the call stucks here. | 674 // But right now, the call stucks here. |
| 674 // Once click the text field, it starts again. | 675 // Once click the text field, it starts again. |
| 675 ASSERT_TRUE(ui_test_utils::ExecuteJavaScript( | 676 ASSERT_TRUE(ui_test_utils::ExecuteJavaScript( |
| 676 render_view_host(), L"", | 677 render_view_host(), L"", |
| 677 L"cr.googleTranslate.onTranslateElementLoad();")); | 678 L"cr.googleTranslate.onTranslateElementLoad();")); |
| 678 | 679 |
| 679 // Simulate the render notifying the translation has been done. | 680 // Simulate the render notifying the translation has been done. |
| 680 translation_observer.Wait(); | 681 translation_observer.Wait(); |
| 681 | 682 |
| 682 TryBasicFormFill(); | 683 TryBasicFormFill(); |
| 683 } | 684 } |
| OLD | NEW |