1 // Copyright (c) 2011 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_TAB_APPLESCRIPT_H_ 6 #define CHROME_BROWSER_UI_COCOA_APPLESCRIPT_TAB_APPLESCRIPT_H_ 7 8 #import <Cocoa/Cocoa.h> 9 10 #import "chrome/browser/ui/cocoa/applescript/element_applescript.h" 11 12 class TabContentsWrapper; 13 14 // Represents a tab scriptable item in applescript. 15 @interface TabAppleScript : ElementAppleScript { 16 @private 17 TabContentsWrapper* tabContents_; // weak. 18 // Contains the temporary URL when a user creates a new folder/item with 19 // url specified like 20 // |make new tab with properties {url:"http://google.com"}|. 21 NSString* tempURL_; 22 } 23 24 // Doesn't actually create the tab here but just assigns the ID, tab is created 25 // when it calls insertInTabs: of a particular window, it is used in cases 26 // where user assigns a tab to a variable like |set var to make new tab|. 27 - (id)init; 28 29 // Does not create a new tab but uses an existing one. 30 - (id)initWithTabContent:(TabContentsWrapper*)aTabContent; 31 32 // Assigns a tab, sets its unique ID and also copies temporary values. 33 - (void)setTabContent:(TabContentsWrapper*)aTabContent; 34 35 // Return the URL currently visible to the user in the location bar. 36 - (NSString*)URL; 37 38 // Sets the URL, returns an error if it is invalid. 39 - (void)setURL:(NSString*)aURL; 40 41 // The title of the tab. 42 - (NSString*)title; 43 44 // Is the tab loading any resource? 45 - (NSNumber*)loading; 46 47 // Standard user commands. 48 - (void)handlesUndoScriptCommand:(NSScriptCommand*)command; 49 - (void)handlesRedoScriptCommand:(NSScriptCommand*)command; 50 51 // Edit operations on the page. 52 - (void)handlesCutScriptCommand:(NSScriptCommand*)command; 53 - (void)handlesCopyScriptCommand:(NSScriptCommand*)command; 54 - (void)handlesPasteScriptCommand:(NSScriptCommand*)command; 55 56 // Selects all contents on the page. 57 - (void)handlesSelectAllScriptCommand:(NSScriptCommand*)command; 58 59 // Navigation operations. 60 - (void)handlesGoBackScriptCommand:(NSScriptCommand*)command; 61 - (void)handlesGoForwardScriptCommand:(NSScriptCommand*)command; 62 - (void)handlesReloadScriptCommand:(NSScriptCommand*)command; 63 - (void)handlesStopScriptCommand:(NSScriptCommand*)command; 64 65 // Used to print a tab. 66 - (void)handlesPrintScriptCommand:(NSScriptCommand*)command; 67 68 // Used to save a tab, if no file is specified, prompts the user to enter it. 69 - (void)handlesSaveScriptCommand:(NSScriptCommand*)command; 70 71 // Displays the HTML of the tab in a new tab. 72 - (void)handlesViewSourceScriptCommand:(NSScriptCommand*)command; 73 74 // Executes a piece of javascript in the tab. 75 - (id)handlesExecuteJavascriptScriptCommand:(NSScriptCommand*)command; 76 77 @end 78 79 #endif// CHROME_BROWSER_UI_COCOA_APPLESCRIPT_TAB_APPLESCRIPT_H_ 80