1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2010 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 "base/command_line.h" 6ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "base/utf_string_conversions.h" 7ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/bookmarks/bookmark_model.h" 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/extensions/extension_apitest.h" 9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/extensions/extension_bookmark_manager_api.h" 10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/prefs/pref_service.h" 11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/profiles/profile.h" 12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/ui/browser.h" 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/common/chrome_switches.h" 14ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/common/pref_names.h" 15ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/test/ui_test_utils.h" 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochIN_PROC_BROWSER_TEST_F(ExtensionApiTest, BookmarkManager) { 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch CommandLine::ForCurrentProcess()->AppendSwitch( 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch switches::kEnableExperimentalExtensionApis); 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 21ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen ASSERT_TRUE(RunExtensionTest("bookmark_manager/standard")) << message_; 22ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 24ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenIN_PROC_BROWSER_TEST_F(ExtensionApiTest, BookmarkManagerEditDisabled) { 25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen CommandLine::ForCurrentProcess()->AppendSwitch( 26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen switches::kEnableExperimentalExtensionApis); 27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen Profile* profile = browser()->profile(); 29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen // Provide some testing data here, since bookmark editing will be disabled 31ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen // within the extension. 32ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BookmarkModel* model = profile->GetBookmarkModel(); 33ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen ui_test_utils::WaitForBookmarkModelToLoad(model); 34ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const BookmarkNode* bar = model->GetBookmarkBarNode(); 35ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const BookmarkNode* folder = model->AddFolder(bar, 0, ASCIIToUTF16("Folder")); 36ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const BookmarkNode* node = model->AddURL(bar, 1, ASCIIToUTF16("AAA"), 37ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen GURL("http://aaa.example.com")); 38ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen node = model->AddURL(folder, 0, ASCIIToUTF16("BBB"), 39ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen GURL("http://bbb.example.com")); 40ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 41ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen profile->GetPrefs()->SetBoolean(prefs::kEditBookmarksEnabled, false); 42ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 43ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen ASSERT_TRUE(RunExtensionTest("bookmark_manager/edit_disabled")) << message_; 44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 45