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

Side by Side Diff: chrome/browser/extensions/api/tabs/tabs_test.cc

Issue 1015123003: Extension window.create API accepts state. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: grammer Created 5 years, 8 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 5
6 #include <string> 6 #include <string>
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 23 matching lines...) Expand all
34 #include "extensions/common/test_util.h" 34 #include "extensions/common/test_util.h"
35 #include "net/test/spawned_test_server/spawned_test_server.h" 35 #include "net/test/spawned_test_server/spawned_test_server.h"
36 #include "ui/gfx/geometry/rect.h" 36 #include "ui/gfx/geometry/rect.h"
37 37
38 namespace extensions { 38 namespace extensions {
39 39
40 namespace keys = tabs_constants; 40 namespace keys = tabs_constants;
41 namespace utils = extension_function_test_utils; 41 namespace utils = extension_function_test_utils;
42 42
43 namespace { 43 namespace {
44 44 using ExtensionTabsTest = InProcessBrowserTest;
45 class ExtensionTabsTest : public InProcessBrowserTest { 45 using ExtensionWindowCreateTest = InProcessBrowserTest;
46 };
47
48 } 46 }
49 47
50 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetWindow) { 48 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetWindow) {
51 int window_id = ExtensionTabUtil::GetWindowId(browser()); 49 int window_id = ExtensionTabUtil::GetWindowId(browser());
52 50
53 // Invalid window ID error. 51 // Invalid window ID error.
54 scoped_refptr<WindowsGetFunction> function = new WindowsGetFunction(); 52 scoped_refptr<WindowsGetFunction> function = new WindowsGetFunction();
55 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension()); 53 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension());
56 function->set_extension(extension.get()); 54 function->set_extension(extension.get());
57 EXPECT_TRUE(MatchPattern( 55 EXPECT_TRUE(MatchPattern(
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 function = new WindowsUpdateFunction(); 555 function = new WindowsUpdateFunction();
558 function->set_extension(extension.get()); 556 function->set_extension(extension.get());
559 EXPECT_TRUE(MatchPattern( 557 EXPECT_TRUE(MatchPattern(
560 utils::RunFunctionAndReturnError( 558 utils::RunFunctionAndReturnError(
561 function.get(), 559 function.get(),
562 base::StringPrintf(kArgsMaximizedWithBounds, window_id), 560 base::StringPrintf(kArgsMaximizedWithBounds, window_id),
563 browser()), 561 browser()),
564 keys::kInvalidWindowStateError)); 562 keys::kInvalidWindowStateError));
565 } 563 }
566 564
565 IN_PROC_BROWSER_TEST_F(ExtensionWindowCreateTest, AcceptState) {
566 scoped_refptr<WindowsCreateFunction> function(new WindowsCreateFunction());
567 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension());
568 function->set_extension(extension.get());
569
570 scoped_ptr<base::DictionaryValue> result(
571 utils::ToDictionary(utils::RunFunctionAndReturnSingleResult(
572 function.get(), "[{\"state\": \"fullscreen\"}]", browser(),
573 utils::INCLUDE_INCOGNITO)));
574 int window_id = api_test_utils::GetInteger(result.get(), "id");
575 std::string error;
576 Browser* new_window = ExtensionTabUtil::GetBrowserFromWindowID(
577 function.get(), window_id, &error);
578 EXPECT_TRUE(new_window->window()->IsFullscreen());
579 EXPECT_TRUE(error.empty());
580
581 function = new WindowsCreateFunction();
582 function->set_extension(extension.get());
583 result.reset(utils::ToDictionary(utils::RunFunctionAndReturnSingleResult(
584 function.get(), "[{\"state\": \"minimized\"}]", browser(),
585 utils::INCLUDE_INCOGNITO)));
586 window_id = api_test_utils::GetInteger(result.get(), "id");
587 new_window = ExtensionTabUtil::GetBrowserFromWindowID(function.get(),
588 window_id, &error);
589 EXPECT_TRUE(error.empty());
590 #if !defined(OS_LINUX) || defined(OS_CHROMEOS)
591 // DesktopWindowTreeHostX11::IsMinimized() relies on an asynchronous update
592 // from the window server.
593 EXPECT_TRUE(new_window->window()->IsMinimized());
594 #endif
595 }
596
567 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, DuplicateTab) { 597 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, DuplicateTab) {
568 content::OpenURLParams params(GURL(url::kAboutBlankURL), 598 content::OpenURLParams params(GURL(url::kAboutBlankURL),
569 content::Referrer(), 599 content::Referrer(),
570 NEW_FOREGROUND_TAB, 600 NEW_FOREGROUND_TAB,
571 ui::PAGE_TRANSITION_LINK, 601 ui::PAGE_TRANSITION_LINK,
572 false); 602 false);
573 content::WebContents* web_contents = browser()->OpenURL(params); 603 content::WebContents* web_contents = browser()->OpenURL(params);
574 int tab_id = ExtensionTabUtil::GetTabId(web_contents); 604 int tab_id = ExtensionTabUtil::GetTabId(web_contents);
575 int window_id = ExtensionTabUtil::GetWindowIdOfTab(web_contents); 605 int window_id = ExtensionTabUtil::GetWindowIdOfTab(web_contents);
576 int tab_index = -1; 606 int tab_index = -1;
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
1085 // Test chrome.tabs.setZoom(). 1115 // Test chrome.tabs.setZoom().
1086 error = RunSetZoomExpectError(tab_id, 3.14159); 1116 error = RunSetZoomExpectError(tab_id, 3.14159);
1087 EXPECT_TRUE(MatchPattern(error, manifest_errors::kCannotAccessChromeUrl)); 1117 EXPECT_TRUE(MatchPattern(error, manifest_errors::kCannotAccessChromeUrl));
1088 1118
1089 // chrome.tabs.setZoomSettings(). 1119 // chrome.tabs.setZoomSettings().
1090 error = RunSetZoomSettingsExpectError(tab_id, "manual", "per-tab"); 1120 error = RunSetZoomSettingsExpectError(tab_id, "manual", "per-tab");
1091 EXPECT_TRUE(MatchPattern(error, manifest_errors::kCannotAccessChromeUrl)); 1121 EXPECT_TRUE(MatchPattern(error, manifest_errors::kCannotAccessChromeUrl));
1092 } 1122 }
1093 1123
1094 } // namespace extensions 1124 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/tabs/tabs_api.cc ('k') | chrome/common/extensions/api/windows.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698