1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file.
4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include <string>
6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
7513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch#include "chrome/app/chrome_command_ids.h"
8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/net/url_fixer_upper.h"
9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/common/url_constants.h"
10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/test/automation/tab_proxy.h"
11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/test/automation/browser_proxy.h"
12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/test/ui/ui_test.h"
133345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "net/test/test_server.h"
14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace {
16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
173345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickconst FilePath::CharType kDocRoot[] = FILE_PATH_LITERAL("chrome/test/data");
18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}  // namespace
20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochtypedef UITest CollectedCookiesTest;
22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Crashing on Windows, see http://crbug.com/79331
24ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#if defined(OS_WIN)
25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#define MAYBE_DoubleDisplay DISABLED_DoubleDisplay
26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#else
27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#define MAYBE_DoubleDisplay DoubleDisplay
28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#endif
29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenTEST_F(CollectedCookiesTest, MAYBE_DoubleDisplay) {
303345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  net::TestServer test_server(net::TestServer::TYPE_HTTP, FilePath(kDocRoot));
313345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  ASSERT_TRUE(test_server.Start());
323345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  ASSERT_TRUE(browser.get());
35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  scoped_refptr<TabProxy> tab(browser->GetTab(0));
37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  ASSERT_TRUE(tab.get());
38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Disable cookies.
40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  ASSERT_TRUE(browser->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES,
41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                                                CONTENT_SETTING_BLOCK));
42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
43c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Load a page with cookies.
443345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  ASSERT_TRUE(tab->NavigateToURL(test_server.GetURL("files/cookie1.html")));
45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Click on the info link twice.
47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  ASSERT_TRUE(tab->ShowCollectedCookiesDialog());
48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  ASSERT_TRUE(tab->ShowCollectedCookiesDialog());
49c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}
50c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
51ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Crashing on Windows, see http://crbug.com/79331
52ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#if defined(OS_WIN)
53ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#define MAYBE_NavigateAway DISABLED_NavigateAway
54ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#else
55ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#define MAYBE_NavigateAway NavigateAway
56ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#endif
57ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenTEST_F(CollectedCookiesTest, MAYBE_NavigateAway) {
583345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  net::TestServer test_server(net::TestServer::TYPE_HTTP, FilePath(kDocRoot));
593345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  ASSERT_TRUE(test_server.Start());
603345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
61c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
62c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  ASSERT_TRUE(browser.get());
63c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
64c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  scoped_refptr<TabProxy> tab(browser->GetTab(0));
65c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  ASSERT_TRUE(tab.get());
66c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
67c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Disable cookies.
68c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  ASSERT_TRUE(browser->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES,
69c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                                                CONTENT_SETTING_BLOCK));
70c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
71c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Load a page with cookies.
723345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  ASSERT_TRUE(tab->NavigateToURL(test_server.GetURL("files/cookie1.html")));
73c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
74c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Click on the info link.
75c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  ASSERT_TRUE(tab->ShowCollectedCookiesDialog());
76c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
77c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Navigate to another page.
783345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  ASSERT_TRUE(tab->NavigateToURL(test_server.GetURL("files/cookie2.html")));
79c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}
80