| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 
|  | 2 // Use of this source code is governed by a BSD-style license that can be | 
|  | 3 // found in the LICENSE file. | 
|  | 4 | 
|  | 5 #include "base/logging.h" | 
|  | 6 #include "base/utf_string_conversions.h" | 
|  | 7 #include "chrome/browser/bookmarks/bookmark_model.h" | 
|  | 8 #include "chrome/browser/browser.h" | 
|  | 9 #include "chrome/browser/browser_window.h" | 
|  | 10 #include "chrome/browser/cocoa/view_id_util.h" | 
|  | 11 #include "chrome/browser/download/download_shelf.h" | 
|  | 12 #include "chrome/browser/pref_service.h" | 
|  | 13 #include "chrome/common/pref_names.h" | 
|  | 14 #include "chrome/common/url_constants.h" | 
|  | 15 #include "chrome/test/in_process_browser_test.h" | 
|  | 16 #include "chrome/test/ui_test_utils.h" | 
|  | 17 | 
|  | 18 // Basic sanity check of ViewID use on the mac. | 
|  | 19 class ViewIDTest : public InProcessBrowserTest { | 
|  | 20  public: | 
|  | 21   ViewIDTest() : root_window_(nil) {} | 
|  | 22 | 
|  | 23   void CheckViewID(ViewID view_id, bool should_have) { | 
|  | 24     if (!root_window_) | 
|  | 25       root_window_ = browser()->window()->GetNativeHandle(); | 
|  | 26 | 
|  | 27     ASSERT_TRUE(root_window_); | 
|  | 28     NSView* view = view_id_util::GetView(root_window_, view_id); | 
|  | 29     EXPECT_EQ(should_have, !!view) << " Failed id=" << view_id; | 
|  | 30   } | 
|  | 31 | 
|  | 32   void DoTest() { | 
|  | 33     // Make sure FindBar is created to test | 
|  | 34     // VIEW_ID_FIND_IN_PAGE_TEXT_FIELD and VIEW_ID_FIND_IN_PAGE. | 
|  | 35     browser()->ShowFindBar(); | 
|  | 36 | 
|  | 37     // Make sure docked devtools is created to test VIEW_ID_DEV_TOOLS_DOCKED | 
|  | 38     browser()->profile()->GetPrefs()->SetBoolean(prefs::kDevToolsOpenDocked, | 
|  | 39                                                  true); | 
|  | 40     browser()->ToggleDevToolsWindow(DEVTOOLS_TOGGLE_ACTION_INSPECT); | 
|  | 41 | 
|  | 42     // Make sure download shelf is created to test VIEW_ID_DOWNLOAD_SHELF | 
|  | 43     browser()->window()->GetDownloadShelf()->Show(); | 
|  | 44 | 
|  | 45     // Create a bookmark to test VIEW_ID_BOOKMARK_BAR_ELEMENT | 
|  | 46     BookmarkModel* bookmark_model = browser()->profile()->GetBookmarkModel(); | 
|  | 47     if (bookmark_model) { | 
|  | 48       if (!bookmark_model->IsLoaded()) | 
|  | 49         ui_test_utils::WaitForBookmarkModelToLoad(bookmark_model); | 
|  | 50 | 
|  | 51       bookmark_model->SetURLStarred(GURL(chrome::kAboutBlankURL), | 
|  | 52                                     UTF8ToUTF16("about"), true); | 
|  | 53     } | 
|  | 54 | 
|  | 55     for (int i = VIEW_ID_TOOLBAR; i < VIEW_ID_PREDEFINED_COUNT; ++i) { | 
|  | 56       // Extension shelf is being removed, http://crbug.com/30178. | 
|  | 57       if (i == VIEW_ID_DEV_EXTENSION_SHELF) | 
|  | 58         continue; | 
|  | 59 | 
|  | 60       // Mac implementation does not support following ids yet. | 
|  | 61       if (i == VIEW_ID_STAR_BUTTON || | 
|  | 62           i == VIEW_ID_PAGE_MENU || | 
|  | 63           i == VIEW_ID_AUTOCOMPLETE || | 
|  | 64           i == VIEW_ID_CONTENTS_SPLIT) { | 
|  | 65         continue; | 
|  | 66       } | 
|  | 67 | 
|  | 68       CheckViewID(static_cast<ViewID>(i), true); | 
|  | 69     } | 
|  | 70 | 
|  | 71     CheckViewID(VIEW_ID_TAB, true); | 
|  | 72     CheckViewID(VIEW_ID_TAB_STRIP, true); | 
|  | 73     CheckViewID(VIEW_ID_PREDEFINED_COUNT, false); | 
|  | 74   } | 
|  | 75 | 
|  | 76  private: | 
|  | 77   NSWindow* root_window_; | 
|  | 78 }; | 
|  | 79 | 
|  | 80 IN_PROC_BROWSER_TEST_F(ViewIDTest, Basic) { | 
|  | 81   ASSERT_NO_FATAL_FAILURE(DoTest()); | 
|  | 82 } | 
|  | 83 | 
|  | 84 IN_PROC_BROWSER_TEST_F(ViewIDTest, Fullscreen) { | 
|  | 85   browser()->window()->SetFullscreen(true); | 
|  | 86   ASSERT_NO_FATAL_FAILURE(DoTest()); | 
|  | 87 } | 
|  | 88 | 
|  | 89 IN_PROC_BROWSER_TEST_F(ViewIDTest, Tab) { | 
|  | 90   CheckViewID(VIEW_ID_TAB_0, true); | 
|  | 91   CheckViewID(VIEW_ID_TAB_LAST, true); | 
|  | 92 | 
|  | 93   // Open 9 new tabs. | 
|  | 94   for (int i = 1; i <= 9; ++i) { | 
|  | 95     CheckViewID(static_cast<ViewID>(VIEW_ID_TAB_0 + i), false); | 
|  | 96     browser()->OpenURL(GURL(chrome::kAboutBlankURL), GURL(), | 
|  | 97                        NEW_BACKGROUND_TAB, PageTransition::TYPED); | 
|  | 98     CheckViewID(static_cast<ViewID>(VIEW_ID_TAB_0 + i), true); | 
|  | 99     // VIEW_ID_TAB_LAST should always be available. | 
|  | 100     CheckViewID(VIEW_ID_TAB_LAST, true); | 
|  | 101   } | 
|  | 102 | 
|  | 103   // Open the 11th tab. | 
|  | 104   browser()->OpenURL(GURL(chrome::kAboutBlankURL), GURL(), | 
|  | 105                      NEW_BACKGROUND_TAB, PageTransition::TYPED); | 
|  | 106   CheckViewID(VIEW_ID_TAB_LAST, true); | 
|  | 107 } | 
| OLD | NEW | 
|---|