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

Side by Side Diff: Source/web/tests/WebPluginContainerTest.cpp

Issue 23506013: Make the embedder responsible for creating the WebFrame (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix lifetime on frame detach Created 7 years, 2 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
« no previous file with comments | « Source/web/tests/WebPageSerializerTest.cpp ('k') | Source/web/tests/WebViewTest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 95
96 WebPluginContainer* getWebPluginContainer(WebView* webView, const WebString& id) 96 WebPluginContainer* getWebPluginContainer(WebView* webView, const WebString& id)
97 { 97 {
98 WebElement element = webView->mainFrame()->document().getElementById(id); 98 WebElement element = webView->mainFrame()->document().getElementById(id);
99 return element.pluginContainer(); 99 return element.pluginContainer();
100 } 100 }
101 101
102 TEST_F(WebPluginContainerTest, WindowToLocalPointTest) 102 TEST_F(WebPluginContainerTest, WindowToLocalPointTest)
103 { 103 {
104 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("plugin_container.html")); 104 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("plugin_container.html"));
105 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "plugi n_container.html", true, new TestPluginWebFrameClient()); 105 FrameTestHelpers::WebViewHelper webViewHelper;
106 WebView* webView = webViewHelper.initializeAndLoad(m_baseURL + "plugin_conta iner.html", true, new TestPluginWebFrameClient());
106 ASSERT(webView); 107 ASSERT(webView);
107 webView->settings()->setPluginsEnabled(true); 108 webView->settings()->setPluginsEnabled(true);
108 webView->resize(WebSize(300, 300)); 109 webView->resize(WebSize(300, 300));
109 webView->layout(); 110 webView->layout();
110 FrameTestHelpers::runPendingTasks(); 111 FrameTestHelpers::runPendingTasks();
111 112
112 WebPluginContainer* pluginContainerOne = getWebPluginContainer(webView, WebS tring::fromUTF8("translated-plugin")); 113 WebPluginContainer* pluginContainerOne = getWebPluginContainer(webView, WebS tring::fromUTF8("translated-plugin"));
113 ASSERT(pluginContainerOne); 114 ASSERT(pluginContainerOne);
114 WebPoint point1 = pluginContainerOne->windowToLocalPoint(WebPoint(10, 10)); 115 WebPoint point1 = pluginContainerOne->windowToLocalPoint(WebPoint(10, 10));
115 ASSERT_EQ(0, point1.x); 116 ASSERT_EQ(0, point1.x);
116 ASSERT_EQ(0, point1.y); 117 ASSERT_EQ(0, point1.y);
117 WebPoint point2 = pluginContainerOne->windowToLocalPoint(WebPoint(100, 100)) ; 118 WebPoint point2 = pluginContainerOne->windowToLocalPoint(WebPoint(100, 100)) ;
118 ASSERT_EQ(90, point2.x); 119 ASSERT_EQ(90, point2.x);
119 ASSERT_EQ(90, point2.y); 120 ASSERT_EQ(90, point2.y);
120 121
121 WebPluginContainer* pluginContainerTwo = getWebPluginContainer(webView, WebS tring::fromUTF8("rotated-plugin")); 122 WebPluginContainer* pluginContainerTwo = getWebPluginContainer(webView, WebS tring::fromUTF8("rotated-plugin"));
122 ASSERT(pluginContainerTwo); 123 ASSERT(pluginContainerTwo);
123 WebPoint point3 = pluginContainerTwo->windowToLocalPoint(WebPoint(0, 10)); 124 WebPoint point3 = pluginContainerTwo->windowToLocalPoint(WebPoint(0, 10));
124 ASSERT_EQ(10, point3.x); 125 ASSERT_EQ(10, point3.x);
125 ASSERT_EQ(0, point3.y); 126 ASSERT_EQ(0, point3.y);
126 WebPoint point4 = pluginContainerTwo->windowToLocalPoint(WebPoint(-10, 10)); 127 WebPoint point4 = pluginContainerTwo->windowToLocalPoint(WebPoint(-10, 10));
127 ASSERT_EQ(10, point4.x); 128 ASSERT_EQ(10, point4.x);
128 ASSERT_EQ(10, point4.y); 129 ASSERT_EQ(10, point4.y);
129
130 webView->close();
131 } 130 }
132 131
133 TEST_F(WebPluginContainerTest, LocalToWindowPointTest) 132 TEST_F(WebPluginContainerTest, LocalToWindowPointTest)
134 { 133 {
135 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("plugin_container.html")); 134 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("plugin_container.html"));
136 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "plugi n_container.html", true, new TestPluginWebFrameClient()); 135 FrameTestHelpers::WebViewHelper webViewHelper;
136 WebView* webView = webViewHelper.initializeAndLoad(m_baseURL + "plugin_conta iner.html", true, new TestPluginWebFrameClient());
137 ASSERT(webView); 137 ASSERT(webView);
138 webView->settings()->setPluginsEnabled(true); 138 webView->settings()->setPluginsEnabled(true);
139 webView->resize(WebSize(300, 300)); 139 webView->resize(WebSize(300, 300));
140 webView->layout(); 140 webView->layout();
141 FrameTestHelpers::runPendingTasks(); 141 FrameTestHelpers::runPendingTasks();
142 142
143 WebPluginContainer* pluginContainerOne = getWebPluginContainer(webView, WebS tring::fromUTF8("translated-plugin")); 143 WebPluginContainer* pluginContainerOne = getWebPluginContainer(webView, WebS tring::fromUTF8("translated-plugin"));
144 ASSERT(pluginContainerOne); 144 ASSERT(pluginContainerOne);
145 WebPoint point1 = pluginContainerOne->localToWindowPoint(WebPoint(0, 0)); 145 WebPoint point1 = pluginContainerOne->localToWindowPoint(WebPoint(0, 0));
146 ASSERT_EQ(10, point1.x); 146 ASSERT_EQ(10, point1.x);
147 ASSERT_EQ(10, point1.y); 147 ASSERT_EQ(10, point1.y);
148 WebPoint point2 = pluginContainerOne->localToWindowPoint(WebPoint(90, 90)); 148 WebPoint point2 = pluginContainerOne->localToWindowPoint(WebPoint(90, 90));
149 ASSERT_EQ(100, point2.x); 149 ASSERT_EQ(100, point2.x);
150 ASSERT_EQ(100, point2.y); 150 ASSERT_EQ(100, point2.y);
151 151
152 WebPluginContainer* pluginContainerTwo = getWebPluginContainer(webView, WebS tring::fromUTF8("rotated-plugin")); 152 WebPluginContainer* pluginContainerTwo = getWebPluginContainer(webView, WebS tring::fromUTF8("rotated-plugin"));
153 ASSERT(pluginContainerTwo); 153 ASSERT(pluginContainerTwo);
154 WebPoint point3 = pluginContainerTwo->localToWindowPoint(WebPoint(10, 0)); 154 WebPoint point3 = pluginContainerTwo->localToWindowPoint(WebPoint(10, 0));
155 ASSERT_EQ(0, point3.x); 155 ASSERT_EQ(0, point3.x);
156 ASSERT_EQ(10, point3.y); 156 ASSERT_EQ(10, point3.y);
157 WebPoint point4 = pluginContainerTwo->localToWindowPoint(WebPoint(10, 10)); 157 WebPoint point4 = pluginContainerTwo->localToWindowPoint(WebPoint(10, 10));
158 ASSERT_EQ(-10, point4.x); 158 ASSERT_EQ(-10, point4.x);
159 ASSERT_EQ(10, point4.y); 159 ASSERT_EQ(10, point4.y);
160
161 webView->close();
162 } 160 }
163 161
164 // Verifies executing the command 'Copy' results in copying to the clipboard. 162 // Verifies executing the command 'Copy' results in copying to the clipboard.
165 TEST_F(WebPluginContainerTest, Copy) 163 TEST_F(WebPluginContainerTest, Copy)
166 { 164 {
167 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("plugin_container.html")); 165 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c _str()), WebString::fromUTF8("plugin_container.html"));
168 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "plugi n_container.html", true, new TestPluginWebFrameClient()); 166 FrameTestHelpers::WebViewHelper webViewHelper;
167 WebView* webView = webViewHelper.initializeAndLoad(m_baseURL + "plugin_conta iner.html", true, new TestPluginWebFrameClient());
169 ASSERT(webView); 168 ASSERT(webView);
170 webView->settings()->setPluginsEnabled(true); 169 webView->settings()->setPluginsEnabled(true);
171 webView->resize(WebSize(300, 300)); 170 webView->resize(WebSize(300, 300));
172 webView->layout(); 171 webView->layout();
173 FrameTestHelpers::runPendingTasks(); 172 FrameTestHelpers::runPendingTasks();
174 173
175 WebElement pluginContainerOneElement = webView->mainFrame()->document().getE lementById(WebString::fromUTF8("translated-plugin")); 174 WebElement pluginContainerOneElement = webView->mainFrame()->document().getE lementById(WebString::fromUTF8("translated-plugin"));
176 EXPECT_TRUE(webView->mainFrame()->executeCommand("Copy", pluginContainerOne Element)); 175 EXPECT_TRUE(webView->mainFrame()->executeCommand("Copy", pluginContainerOne Element));
177 EXPECT_EQ(WebString("x"), Platform::current()->clipboard()->readPlainText(We bClipboard::Buffer())); 176 EXPECT_EQ(WebString("x"), Platform::current()->clipboard()->readPlainText(We bClipboard::Buffer()));
178
179 webView->close();
180 } 177 }
181 178
182 } 179 }
OLDNEW
« no previous file with comments | « Source/web/tests/WebPageSerializerTest.cpp ('k') | Source/web/tests/WebViewTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698