| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/memory/singleton.h" | 6 #include "base/memory/singleton.h" |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "base/strings/string_split.h" | 8 #include "base/strings/string_split.h" |
| 9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 #include "net/test/spawned_test_server/spawned_test_server.h" | 38 #include "net/test/spawned_test_server/spawned_test_server.h" |
| 39 #include "third_party/WebKit/public/web/WebInputEvent.h" | 39 #include "third_party/WebKit/public/web/WebInputEvent.h" |
| 40 | 40 |
| 41 using blink::WebInputEvent; | 41 using blink::WebInputEvent; |
| 42 using blink::WebMouseEvent; | 42 using blink::WebMouseEvent; |
| 43 using content::BrowserPluginEmbedder; | 43 using content::BrowserPluginEmbedder; |
| 44 using content::BrowserPluginGuest; | 44 using content::BrowserPluginGuest; |
| 45 using content::BrowserPluginHostFactory; | 45 using content::BrowserPluginHostFactory; |
| 46 using content::WebContentsImpl; | 46 using content::WebContentsImpl; |
| 47 | 47 |
| 48 namespace { | |
| 49 | |
| 50 const char kHTMLForGuest[] = | 48 const char kHTMLForGuest[] = |
| 51 "data:text/html,<html><body>hello world</body></html>"; | 49 "data:text/html,<html><body>hello world</body></html>"; |
| 50 |
| 52 const char kHTMLForGuestTouchHandler[] = | 51 const char kHTMLForGuestTouchHandler[] = |
| 53 "data:text/html,<html><body><div id=\"touch\">With touch</div></body>" | 52 "data:text/html,<html><body><div id=\"touch\">With touch</div></body>" |
| 54 "<script type=\"text/javascript\">" | 53 "<script type=\"text/javascript\">" |
| 55 "function handler() {}" | 54 "function handler() {}" |
| 56 "function InstallTouchHandler() { " | 55 "function InstallTouchHandler() { " |
| 57 " document.getElementById(\"touch\").addEventListener(\"touchstart\", " | 56 " document.getElementById(\"touch\").addEventListener(\"touchstart\", " |
| 58 " handler);" | 57 " handler);" |
| 59 "}" | 58 "}" |
| 60 "function UninstallTouchHandler() { " | 59 "function UninstallTouchHandler() { " |
| 61 " document.getElementById(\"touch\").removeEventListener(\"touchstart\", " | 60 " document.getElementById(\"touch\").removeEventListener(\"touchstart\", " |
| 62 " handler);" | 61 " handler);" |
| 63 "}" | 62 "}" |
| 64 "</script></html>"; | 63 "</script></html>"; |
| 65 const char kHTMLForGuestWithTitle[] = | 64 |
| 66 "data:text/html," | |
| 67 "<html><head><title>%s</title></head>" | |
| 68 "<body>hello world</body>" | |
| 69 "</html>"; | |
| 70 const char kHTMLForGuestAcceptDrag[] = | 65 const char kHTMLForGuestAcceptDrag[] = |
| 71 "data:text/html,<html><body>" | 66 "data:text/html,<html><body>" |
| 72 "<script>" | 67 "<script>" |
| 73 "function dropped() {" | 68 "function dropped() {" |
| 74 " document.title = \"DROPPED\";" | 69 " document.title = \"DROPPED\";" |
| 75 "}" | 70 "}" |
| 76 "</script>" | 71 "</script>" |
| 77 "<textarea id=\"text\" style=\"width:100%; height: 100%\"" | 72 "<textarea id=\"text\" style=\"width:100%; height: 100%\"" |
| 78 " ondrop=\"dropped();\">" | 73 " ondrop=\"dropped();\">" |
| 79 "</textarea>" | 74 "</textarea>" |
| 80 "</body></html>"; | 75 "</body></html>"; |
| 76 |
| 81 const char kHTMLForGuestWithSize[] = | 77 const char kHTMLForGuestWithSize[] = |
| 82 "data:text/html," | 78 "data:text/html," |
| 83 "<html>" | 79 "<html>" |
| 84 "<body style=\"margin: 0px;\">" | 80 "<body style=\"margin: 0px;\">" |
| 85 "<img style=\"width: 100%; height: 400px;\"/>" | 81 "<img style=\"width: 100%; height: 400px;\"/>" |
| 86 "</body>" | 82 "</body>" |
| 87 "</html>"; | 83 "</html>"; |
| 88 | 84 |
| 89 std::string GetHTMLForGuestWithTitle(const std::string& title) { | |
| 90 return base::StringPrintf(kHTMLForGuestWithTitle, title.c_str()); | |
| 91 } | |
| 92 | |
| 93 } // namespace | |
| 94 | |
| 95 namespace content { | 85 namespace content { |
| 96 | 86 |
| 97 // Test factory for creating test instances of BrowserPluginEmbedder and | 87 // Test factory for creating test instances of BrowserPluginEmbedder and |
| 98 // BrowserPluginGuest. | 88 // BrowserPluginGuest. |
| 99 class TestBrowserPluginHostFactory : public BrowserPluginHostFactory { | 89 class TestBrowserPluginHostFactory : public BrowserPluginHostFactory { |
| 100 public: | 90 public: |
| 101 virtual BrowserPluginGuestManager* | 91 virtual BrowserPluginGuestManager* |
| 102 CreateBrowserPluginGuestManager() OVERRIDE { | 92 CreateBrowserPluginGuestManager() OVERRIDE { |
| 103 guest_manager_instance_count_++; | 93 guest_manager_instance_count_++; |
| 104 if (message_loop_runner_.get()) | 94 if (message_loop_runner_.get()) |
| (...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 814 // Attempt a navigation to chrome-guest://abc123, which is a valid URL. But it | 804 // Attempt a navigation to chrome-guest://abc123, which is a valid URL. But it |
| 815 // should be blocked because the scheme isn't web-safe or a pseudo-scheme. | 805 // should be blocked because the scheme isn't web-safe or a pseudo-scheme. |
| 816 ExecuteSyncJSFunction( | 806 ExecuteSyncJSFunction( |
| 817 test_embedder()->web_contents()->GetRenderViewHost(), | 807 test_embedder()->web_contents()->GetRenderViewHost(), |
| 818 base::StringPrintf("SetSrc('%s://abc123');", kGuestScheme)); | 808 base::StringPrintf("SetSrc('%s://abc123');", kGuestScheme)); |
| 819 EXPECT_TRUE(delegate->load_aborted()); | 809 EXPECT_TRUE(delegate->load_aborted()); |
| 820 EXPECT_TRUE(delegate->load_aborted_url().is_valid()); | 810 EXPECT_TRUE(delegate->load_aborted_url().is_valid()); |
| 821 } | 811 } |
| 822 | 812 |
| 823 } // namespace content | 813 } // namespace content |
| OLD | NEW |