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

Unified Diff: content/renderer/render_view_browsertest.cc

Issue 7497058: New windows opened in javascript with target = "_blank" should (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 years, 4 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 side-by-side diff with in-line comments
Download patch
« content/renderer/render_view.cc ('K') | « content/renderer/render_view.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_view_browsertest.cc
diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc
index 1c0d0741a387b3b19b007cc065e87043de1c43e1..0f44b7c980a4aab3a6e63b2acd9e8200d0b33c8f 100644
--- a/content/renderer/render_view_browsertest.cc
+++ b/content/renderer/render_view_browsertest.cc
@@ -7,10 +7,16 @@
#include "base/shared_memory.h"
#include "base/string_util.h"
#include "base/utf_string_conversions.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/common/chrome_notification_types.h"
#include "chrome/test/base/render_view_test.h"
+#include "chrome/test/base/in_process_browser_test.h"
+#include "chrome/test/base/ui_test_utils.h"
#include "content/common/native_web_keyboard_event.h"
#include "content/common/view_messages.h"
+#include "content/browser/tab_contents/tab_contents.h"
#include "net/base/net_errors.h"
+#include "net/test/test_server.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebURLError.h"
@@ -850,3 +856,53 @@ TEST_F(RenderViewTest, UpdateTargetURLWithInvalidURL) {
view_->setMouseOverURL(WebKit::WebURL(invalid_gurl));
EXPECT_EQ(invalid_gurl, view_->target_url_);
}
+
+class InProcessRenderViewBrowserTest : public InProcessBrowserTest {
+ public:
+ InProcessRenderViewBrowserTest() {
+ EnableDOMAutomation();
+ }
+ protected:
+ RenderViewHost* render_view_host() {
+ return browser()->GetSelectedTabContents()->render_view_host();
+ }
+
+ bool GetCreatedWindowName(const GURL& url,
+ const wchar_t* function,
+ std::string* window_name) {
+ ui_test_utils::NavigateToURL(browser(), url);
+
+ ui_test_utils::WindowedNotificationObserver observer(
+ chrome::NOTIFICATION_BROWSER_WINDOW_READY,
+ NotificationService::AllSources());
+
+ if (!ui_test_utils::ExecuteJavaScriptAndExtractString(
+ render_view_host(), L"", function, window_name))
+ return false;
+
+ // observer.Wait();
+ return true;
+ }
+};
+
+// Regression test for http://crbug.com/88129
+IN_PROC_BROWSER_TEST_F(InProcessRenderViewBrowserTest, WindowOpen1) {
+ ASSERT_TRUE(test_server()->Start());
+
+ GURL url(test_server()->GetURL("files/window.open.blank.html"));
+ std::string window_name;
+ ASSERT_TRUE(GetCreatedWindowName(url, L"openWindow1();", &window_name));
+
+ EXPECT_EQ(window_name, "blank") << "Actual Window Name: " << window_name;
+}
+
+// Regression test for http://crbug.com/88129
+IN_PROC_BROWSER_TEST_F(InProcessRenderViewBrowserTest, WindowOpen2) {
+ ASSERT_TRUE(test_server()->Start());
+
+ GURL url(test_server()->GetURL("files/window.open.blank.html"));
+ std::string window_name;
+ ASSERT_TRUE(GetCreatedWindowName(url, L"openWindow2();", &window_name));
+
+ EXPECT_EQ(window_name, "") << "Actual Window Name: " << window_name;
+}
« content/renderer/render_view.cc ('K') | « content/renderer/render_view.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698