Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 39 #include "components/translate/core/browser/translate_infobar_delegate.h" | 39 #include "components/translate/core/browser/translate_infobar_delegate.h" |
| 40 #include "content/public/browser/navigation_controller.h" | 40 #include "content/public/browser/navigation_controller.h" |
| 41 #include "content/public/browser/notification_observer.h" | 41 #include "content/public/browser/notification_observer.h" |
| 42 #include "content/public/browser/notification_registrar.h" | 42 #include "content/public/browser/notification_registrar.h" |
| 43 #include "content/public/browser/notification_service.h" | 43 #include "content/public/browser/notification_service.h" |
| 44 #include "content/public/browser/render_view_host.h" | 44 #include "content/public/browser/render_view_host.h" |
| 45 #include "content/public/browser/render_widget_host.h" | 45 #include "content/public/browser/render_widget_host.h" |
| 46 #include "content/public/browser/web_contents.h" | 46 #include "content/public/browser/web_contents.h" |
| 47 #include "content/public/test/browser_test_utils.h" | 47 #include "content/public/test/browser_test_utils.h" |
| 48 #include "content/public/test/test_renderer_host.h" | 48 #include "content/public/test/test_renderer_host.h" |
| 49 #include "net/base/net_errors.h" | |
| 49 #include "net/url_request/test_url_fetcher_factory.h" | 50 #include "net/url_request/test_url_fetcher_factory.h" |
| 51 #include "net/url_request/url_request_status.h" | |
| 50 #include "testing/gmock/include/gmock/gmock.h" | 52 #include "testing/gmock/include/gmock/gmock.h" |
| 51 #include "testing/gtest/include/gtest/gtest.h" | 53 #include "testing/gtest/include/gtest/gtest.h" |
| 52 #include "ui/events/keycodes/keyboard_codes.h" | 54 #include "ui/events/keycodes/keyboard_codes.h" |
| 53 | 55 |
| 54 using base::ASCIIToUTF16; | 56 using base::ASCIIToUTF16; |
| 55 | 57 |
| 56 namespace autofill { | 58 namespace autofill { |
| 57 | 59 |
| 58 static const char kDataURIPrefix[] = "data:text/html;charset=utf-8,"; | 60 static const char kDataURIPrefix[] = "data:text/html;charset=utf-8,"; |
| 59 static const char kTestFormString[] = | 61 static const char kTestFormString[] = |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 214 GetWebContents(), | 216 GetWebContents(), |
| 215 "window.domAutomationController.send(" | 217 "window.domAutomationController.send(" |
| 216 " document.defaultView.getComputedStyle(document.getElementById('" + | 218 " document.defaultView.getComputedStyle(document.getElementById('" + |
| 217 field_name + "')).backgroundColor);", | 219 field_name + "')).backgroundColor);", |
| 218 color)); | 220 color)); |
| 219 } | 221 } |
| 220 | 222 |
| 221 void SimulateURLFetch(bool success) { | 223 void SimulateURLFetch(bool success) { |
| 222 net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0); | 224 net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0); |
| 223 ASSERT_TRUE(fetcher); | 225 ASSERT_TRUE(fetcher); |
| 224 net::URLRequestStatus status; | 226 int error = success ? net::OK : net::ERR_FAILED; |
|
mmenke
2015/06/02 18:41:33
Suggest making these net::Errors - not the current
davidben
2015/06/02 19:19:42
Done. Should I also change URLRequestStatus? I lef
mmenke
2015/06/02 19:22:25
I guess we never store (Or *should* never store) b
| |
| 225 status.set_status(success ? net::URLRequestStatus::SUCCESS : | |
| 226 net::URLRequestStatus::FAILED); | |
| 227 | 227 |
| 228 std::string script = " var google = {};" | 228 std::string script = " var google = {};" |
| 229 "google.translate = (function() {" | 229 "google.translate = (function() {" |
| 230 " return {" | 230 " return {" |
| 231 " TranslateService: function() {" | 231 " TranslateService: function() {" |
| 232 " return {" | 232 " return {" |
| 233 " isAvailable : function() {" | 233 " isAvailable : function() {" |
| 234 " return true;" | 234 " return true;" |
| 235 " }," | 235 " }," |
| 236 " restore : function() {" | 236 " restore : function() {" |
| 237 " return;" | 237 " return;" |
| 238 " }," | 238 " }," |
| 239 " getDetectedLanguage : function() {" | 239 " getDetectedLanguage : function() {" |
| 240 " return \"ja\";" | 240 " return \"ja\";" |
| 241 " }," | 241 " }," |
| 242 " translatePage : function(originalLang, targetLang," | 242 " translatePage : function(originalLang, targetLang," |
| 243 " onTranslateProgress) {" | 243 " onTranslateProgress) {" |
| 244 " document.getElementsByTagName(\"body\")[0].innerHTML = '" + | 244 " document.getElementsByTagName(\"body\")[0].innerHTML = '" + |
| 245 std::string(kTestFormString) + | 245 std::string(kTestFormString) + |
| 246 " ';" | 246 " ';" |
| 247 " onTranslateProgress(100, true, false);" | 247 " onTranslateProgress(100, true, false);" |
| 248 " }" | 248 " }" |
| 249 " };" | 249 " };" |
| 250 " }" | 250 " }" |
| 251 " };" | 251 " };" |
| 252 "})();" | 252 "})();" |
| 253 "cr.googleTranslate.onTranslateElementLoad();"; | 253 "cr.googleTranslate.onTranslateElementLoad();"; |
| 254 | 254 |
| 255 fetcher->set_url(fetcher->GetOriginalURL()); | 255 fetcher->set_url(fetcher->GetOriginalURL()); |
| 256 fetcher->set_status(status); | 256 fetcher->set_status(net::URLRequestStatus::FromError(error)); |
| 257 fetcher->set_response_code(success ? 200 : 500); | 257 fetcher->set_response_code(success ? 200 : 500); |
| 258 fetcher->SetResponseString(script); | 258 fetcher->SetResponseString(script); |
| 259 fetcher->delegate()->OnURLFetchComplete(fetcher); | 259 fetcher->delegate()->OnURLFetchComplete(fetcher); |
| 260 } | 260 } |
| 261 | 261 |
| 262 void FocusFirstNameField() { | 262 void FocusFirstNameField() { |
| 263 bool result = false; | 263 bool result = false; |
| 264 ASSERT_TRUE(content::ExecuteScriptAndExtractBool( | 264 ASSERT_TRUE(content::ExecuteScriptAndExtractBool( |
| 265 GetRenderViewHost(), | 265 GetRenderViewHost(), |
| 266 "if (document.readyState === 'complete')" | 266 "if (document.readyState === 'complete')" |
| (...skipping 1091 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1358 ASSERT_TRUE(content::ExecuteScript( | 1358 ASSERT_TRUE(content::ExecuteScript( |
| 1359 GetRenderViewHost(), | 1359 GetRenderViewHost(), |
| 1360 "document.querySelector('input').autocomplete = 'off';")); | 1360 "document.querySelector('input').autocomplete = 'off';")); |
| 1361 | 1361 |
| 1362 // Press the down arrow to select the suggestion and attempt to preview the | 1362 // Press the down arrow to select the suggestion and attempt to preview the |
| 1363 // autofilled form. | 1363 // autofilled form. |
| 1364 SendKeyToPopupAndWait(ui::VKEY_DOWN); | 1364 SendKeyToPopupAndWait(ui::VKEY_DOWN); |
| 1365 } | 1365 } |
| 1366 | 1366 |
| 1367 } // namespace autofill | 1367 } // namespace autofill |
| OLD | NEW |