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