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 #ifndef CHROME_BROWSER_UI_COCOA_APPLESCRIPT_BROWSERCRAPPLICATION_APPLESCRIPT_H_ 6 #define CHROME_BROWSER_UI_COCOA_APPLESCRIPT_BROWSERCRAPPLICATION_APPLESCRIPT_H_ 7 8 #import <Cocoa/Cocoa.h> 9 10 #import "chrome/browser/chrome_browser_application_mac.h" 11 12 @class BookmarkFolderAppleScript; 13 @class WindowAppleScript; 14 15 // Represent the top level application scripting object in applescript. 16 @interface BrowserCrApplication (AppleScriptAdditions) 17 18 // Application window manipulation methods. 19 // Returns an array of |WindowAppleScript*| of all windows present in the 20 // application. 21 - (NSArray*)appleScriptWindows; 22 23 // Inserts a window at the beginning. 24 - (void)insertInAppleScriptWindows:(WindowAppleScript*)aWindow; 25 26 // Inserts a window at some position in the list. 27 // Called by applescript which takes care of bounds checking, make sure of it 28 // before calling directly. 29 - (void)insertInAppleScriptWindows:(WindowAppleScript*)aWindow 30 atIndex:(int)index; 31 32 // Removes a window from the list. 33 // Called by applescript which takes care of bounds checking, make sure of it 34 // before calling directly. 35 - (void)removeFromAppleScriptWindowsAtIndex:(int)index; 36 37 // Always returns nil to indicate that it is the root container object. 38 - (NSScriptObjectSpecifier*)objectSpecifier; 39 40 // Returns the other bookmarks bookmark folder, 41 // returns nil if there is an error. 42 - (BookmarkFolderAppleScript*)otherBookmarks; 43 44 // Returns the bookmarks bar bookmark folder, return nil if there is an error. 45 - (BookmarkFolderAppleScript*)bookmarksBar; 46 47 // Returns the Bookmarks Bar and Other Bookmarks Folders, each is of type 48 // |BookmarkFolderAppleScript*|. 49 - (NSArray*)bookmarkFolders; 50 51 // Required functions, even though bookmarkFolders is declared as 52 // read-only, cocoa scripting does not currently prevent writing. 53 - (void)insertInBookmarksFolders:(id)aBookmarkFolder; 54 - (void)insertInBookmarksFolders:(id)aBookmarkFolder atIndex:(int)index; 55 - (void)removeFromBookmarksFoldersAtIndex:(int)index; 56 57 @end 58 59 #endif// CHROME_BROWSER_UI_COCOA_APPLESCRIPT_BROWSERCRAPPLICATION_APPLESCRIPT_H_ 60