From be4b0a84e193605c9398798bbaf091f939bf3ef2 Mon Sep 17 00:00:00 2001 From: Tong Date: Fri, 25 Sep 2015 16:10:06 +0200 Subject: [PATCH] Move to src/ --- chrome/BrowsingData.hx | 47 ----- chrome/ContextMenus.hx | 61 ------ chrome/DeclerativeContent.hx | 16 -- chrome/Event.hx | 14 -- chrome/Extension.hx | 24 --- chrome/Identity.hx | 16 -- chrome/Location.hx | 27 --- chrome/MessageSender.hx | 7 - chrome/PacScript.hx | 7 - chrome/Permissions.hx | 17 -- chrome/Port.hx | 9 - chrome/Preference.hx | 9 - chrome/Privacy.hx | 27 --- chrome/Process.hx | 35 --- chrome/Processes.hx | 15 -- chrome/PushMessaging.hx | 17 -- chrome/Runtime.hx | 67 ------ chrome/Sessions.hx | 26 --- chrome/Storage.hx | 31 --- chrome/Tab.hx | 21 -- chrome/Tabs.hx | 80 ------- chrome/TopSites.hx | 12 -- chrome/WebNavigation.hx | 99 --------- chrome/WebRequest.hx | 162 -------------- chrome/Webstore.hx | 14 -- chrome/Window.hx | 17 -- chrome/WindowType.hx | 8 - chrome/Windows.hx | 65 ------ chrome/devtools/Resource.hx | 9 - chrome/experimental/Discovery.hx | 10 - chrome/experimental/devtools/Audits.hx | 34 --- chrome/experimental/devtools/Console.hx | 17 -- chrome/experimental/devtools/Severity.hx | 12 -- chrome/system/Network.hx | 13 -- chrome/types/ChromeSetting.hx | 10 - chrome/types/ImageDetails.hx | 11 - .../chrome}/AccessibilityFeatures.hx | 3 + {chrome => src/chrome}/Alarms.hx | 10 +- {chrome => src/chrome}/Bookmarks.hx | 32 +-- {chrome => src/chrome}/BrowserAction.hx | 15 +- src/chrome/BrowsingData.hx | 47 +++++ {chrome => src/chrome}/Commands.hx | 4 +- {chrome => src/chrome}/ContentSetting.hx | 14 +- src/chrome/ContextMenus.hx | 103 +++++++++ {chrome => src/chrome}/Cookies.hx | 22 +- {chrome => src/chrome}/Debugger.hx | 26 +-- src/chrome/DeclerativeContent.hx | 50 +++++ {chrome => src/chrome}/DesktopCapture.hx | 8 +- src/chrome/DocumentScan.hx | 7 + {chrome => src/chrome}/Downloads.hx | 129 +++++++++--- {chrome => src/chrome}/Events.hx | 12 ++ src/chrome/Extension.hx | 23 ++ src/chrome/ExtensionTypes.hx | 25 +++ {chrome => src/chrome}/FileBrowserHandler.hx | 7 +- src/chrome/FileSystemProvider.hx | 119 +++++++++++ {chrome => src/chrome}/FontSettings.hx | 40 ++-- {chrome => src/chrome}/GCM.hx | 4 +- {chrome => src/chrome}/History.hx | 34 +-- {chrome => src/chrome}/I18n.hx | 2 +- src/chrome/Identity.hx | 20 ++ {chrome => src/chrome}/Idle.hx | 6 +- src/chrome/Location.hx | 26 +++ {chrome => src/chrome}/Management.hx | 34 +-- {chrome => src/chrome}/Notifications.hx | 42 ++-- {chrome => src/chrome}/Omnibox.hx | 20 +- {chrome => src/chrome}/PageAction.hx | 10 +- {chrome => src/chrome}/PageCapture.hx | 0 src/chrome/Permissions.hx | 19 ++ src/chrome/PlatformKeys.hx | 22 ++ {chrome => src/chrome}/Power.hx | 2 +- src/chrome/PrinterProvider.hx | 19 ++ src/chrome/Privacy.hx | 27 +++ {chrome => src/chrome}/Proxy.hx | 27 +-- src/chrome/Runtime.hx | 100 +++++++++ src/chrome/Sessions.hx | 30 +++ src/chrome/SignedInDevices.hx | 36 ++++ src/chrome/Storage.hx | 40 ++++ {chrome => src/chrome}/TTS.hx | 38 ++-- {chrome => src/chrome}/TTSEngine.hx | 13 +- {chrome => src/chrome}/TabCapture.hx | 27 +-- src/chrome/Tabs.hx | 93 ++++++++ src/chrome/TopSites.hx | 13 ++ src/chrome/Types.hx | 26 +++ src/chrome/VpnProvider.hx | 24 +++ src/chrome/Wallpaper.hx | 13 ++ src/chrome/WebNavigation.hx | 43 ++++ src/chrome/WebRequest.hx | 199 ++++++++++++++++++ src/chrome/Webstore.hx | 36 ++++ src/chrome/Windows.hx | 92 ++++++++ .../chrome}/devtools/InspectedWindow.hx | 12 +- {chrome => src/chrome}/devtools/Network.hx | 8 +- {chrome => src/chrome}/devtools/Panels.hx | 10 +- src/chrome/enterprise/PlatformKeys.hx | 18 ++ {chrome => src/chrome}/input/Ime.hx | 56 +++-- src/chrome/networking/Config.hx | 28 +++ {chrome => src/chrome}/system/Cpu.hx | 4 +- {chrome => src/chrome}/system/Memory.hx | 4 +- {chrome => src/chrome}/system/Storage.hx | 13 +- 98 files changed, 1733 insertions(+), 1319 deletions(-) delete mode 100644 chrome/BrowsingData.hx delete mode 100644 chrome/ContextMenus.hx delete mode 100644 chrome/DeclerativeContent.hx delete mode 100644 chrome/Event.hx delete mode 100644 chrome/Extension.hx delete mode 100644 chrome/Identity.hx delete mode 100644 chrome/Location.hx delete mode 100644 chrome/MessageSender.hx delete mode 100644 chrome/PacScript.hx delete mode 100644 chrome/Permissions.hx delete mode 100644 chrome/Port.hx delete mode 100644 chrome/Preference.hx delete mode 100644 chrome/Privacy.hx delete mode 100644 chrome/Process.hx delete mode 100644 chrome/Processes.hx delete mode 100644 chrome/PushMessaging.hx delete mode 100644 chrome/Runtime.hx delete mode 100644 chrome/Sessions.hx delete mode 100644 chrome/Storage.hx delete mode 100644 chrome/Tab.hx delete mode 100755 chrome/Tabs.hx delete mode 100644 chrome/TopSites.hx delete mode 100644 chrome/WebNavigation.hx delete mode 100644 chrome/WebRequest.hx delete mode 100644 chrome/Webstore.hx delete mode 100644 chrome/Window.hx delete mode 100644 chrome/WindowType.hx delete mode 100644 chrome/Windows.hx delete mode 100644 chrome/devtools/Resource.hx delete mode 100644 chrome/experimental/Discovery.hx delete mode 100644 chrome/experimental/devtools/Audits.hx delete mode 100644 chrome/experimental/devtools/Console.hx delete mode 100644 chrome/experimental/devtools/Severity.hx delete mode 100644 chrome/system/Network.hx delete mode 100644 chrome/types/ChromeSetting.hx delete mode 100644 chrome/types/ImageDetails.hx rename {chrome => src/chrome}/AccessibilityFeatures.hx (90%) rename {chrome => src/chrome}/Alarms.hx (61%) rename {chrome => src/chrome}/Bookmarks.hx (60%) rename {chrome => src/chrome}/BrowserAction.hx (56%) create mode 100644 src/chrome/BrowsingData.hx rename {chrome => src/chrome}/Commands.hx (75%) rename {chrome => src/chrome}/ContentSetting.hx (69%) create mode 100644 src/chrome/ContextMenus.hx rename {chrome => src/chrome}/Cookies.hx (66%) rename {chrome => src/chrome}/Debugger.hx (69%) create mode 100644 src/chrome/DeclerativeContent.hx rename {chrome => src/chrome}/DesktopCapture.hx (65%) create mode 100644 src/chrome/DocumentScan.hx rename {chrome => src/chrome}/Downloads.hx (57%) rename {chrome => src/chrome}/Events.hx (64%) create mode 100644 src/chrome/Extension.hx create mode 100644 src/chrome/ExtensionTypes.hx rename {chrome => src/chrome}/FileBrowserHandler.hx (69%) create mode 100644 src/chrome/FileSystemProvider.hx rename {chrome => src/chrome}/FontSettings.hx (74%) rename {chrome => src/chrome}/GCM.hx (96%) rename {chrome => src/chrome}/History.hx (64%) rename {chrome => src/chrome}/I18n.hx (70%) create mode 100644 src/chrome/Identity.hx rename {chrome => src/chrome}/Idle.hx (60%) create mode 100644 src/chrome/Location.hx rename {chrome => src/chrome}/Management.hx (64%) rename {chrome => src/chrome}/Notifications.hx (66%) rename {chrome => src/chrome}/Omnibox.hx (52%) rename {chrome => src/chrome}/PageAction.hx (59%) rename {chrome => src/chrome}/PageCapture.hx (100%) create mode 100644 src/chrome/Permissions.hx create mode 100644 src/chrome/PlatformKeys.hx rename {chrome => src/chrome}/Power.hx (81%) create mode 100644 src/chrome/PrinterProvider.hx create mode 100644 src/chrome/Privacy.hx rename {chrome => src/chrome}/Proxy.hx (63%) create mode 100644 src/chrome/Runtime.hx create mode 100644 src/chrome/Sessions.hx create mode 100644 src/chrome/SignedInDevices.hx create mode 100644 src/chrome/Storage.hx rename {chrome => src/chrome}/TTS.hx (76%) rename {chrome => src/chrome}/TTSEngine.hx (68%) rename {chrome => src/chrome}/TabCapture.hx (60%) create mode 100644 src/chrome/Tabs.hx create mode 100644 src/chrome/TopSites.hx create mode 100644 src/chrome/Types.hx create mode 100644 src/chrome/VpnProvider.hx create mode 100644 src/chrome/Wallpaper.hx create mode 100644 src/chrome/WebNavigation.hx create mode 100644 src/chrome/WebRequest.hx create mode 100644 src/chrome/Webstore.hx create mode 100644 src/chrome/Windows.hx rename {chrome => src/chrome}/devtools/InspectedWindow.hx (60%) rename {chrome => src/chrome}/devtools/Network.hx (59%) rename {chrome => src/chrome}/devtools/Panels.hx (79%) create mode 100644 src/chrome/enterprise/PlatformKeys.hx rename {chrome => src/chrome}/input/Ime.hx (65%) create mode 100644 src/chrome/networking/Config.hx rename {chrome => src/chrome}/system/Cpu.hx (56%) mode change 100755 => 100644 rename {chrome => src/chrome}/system/Memory.hx (50%) rename {chrome => src/chrome}/system/Storage.hx (54%) diff --git a/chrome/BrowsingData.hx b/chrome/BrowsingData.hx deleted file mode 100644 index 7795e07..0000000 --- a/chrome/BrowsingData.hx +++ /dev/null @@ -1,47 +0,0 @@ -package chrome; - -typedef OriginTypes = { - @:optional var unprotectedWeb : Bool; - @:optional var protectedWeb : Bool; - @:optional var extension : Bool; -} - -typedef RemovalOptions = { - @:optional var since : Float; - var originTypes : OriginTypes; -} - -typedef DataTypeSet = { - @:optional var appcache : Bool; - @:optional var cache : Bool; - @:optional var cookies : Bool; - @:optional var downloads : Bool; - @:optional var fileSystems : Bool; - @:optional var formData : Bool; - @:optional var history : Bool; - @:optional var indexedDB : Bool; - @:optional var localStorage : Bool; - @:optional var serverBoundCertificates : Bool; - @:optional var pluginData : Bool; - @:optional var passwords : Bool; - @:optional var webSQL : Bool; -} - -@:require(chrome_ext) -@:native("chrome.browsingData") -extern class BrowsingData { - static function settings( f : {options:RemovalOptions,dataToRemove:DataTypeSet,dataRemovalPermitted:DataTypeSet}->Void ) : Void; - static function remove( options : RemovalOptions, dataToRemove : DataTypeSet, ?f : Void->Void ) : Void; - static function removeAppcache( options : RemovalOptions, ?f : Void->Void ) : Void; - static function removeCache( options : RemovalOptions, ?f : Void->Void ) : Void; - static function removeCookies( options : RemovalOptions, ?f : Void->Void ) : Void; - static function removeDownloads( options : RemovalOptions, ?f : Void->Void ) : Void; - static function removeFileSystems( options : RemovalOptions, ?f : Void->Void ) : Void; - static function removeFormData( options : RemovalOptions, ?f : Void->Void ) : Void; - static function removeHistory( options : RemovalOptions, ?f : Void->Void ) : Void; - static function removeIndexedDB( options : RemovalOptions, ?f : Void->Void ) : Void; - static function removeLocalStorage( options : RemovalOptions, ?f : Void->Void ) : Void; - static function removePluginData( options : RemovalOptions, ?f : Void->Void ) : Void; - static function removePasswords( options : RemovalOptions, ?f : Void->Void ) : Void; - static function removeWebSQL( options : RemovalOptions, ?f : Void->Void ) : Void; -} diff --git a/chrome/ContextMenus.hx b/chrome/ContextMenus.hx deleted file mode 100644 index fdbc9de..0000000 --- a/chrome/ContextMenus.hx +++ /dev/null @@ -1,61 +0,0 @@ -package chrome; - -@:enum abstract ContextMenuType(String) { - var normal = "normal"; - var checkbox = "checkbox"; - var radio = "radio"; - var separator = "separator"; -} - -@:enum abstract Contexts(String) { - var all = "all"; - var page = "page"; - var frame = "frame"; - var selection = "selection"; - var link = "link"; - var editable = "editable"; - var image = "image"; - var video = "video"; - var audio = "audio"; - var launcher = "launcher"; -} - -typedef OnClickData = Dynamic; //TODO - -@:require(chrome) -@:native("chrome.contextMenus") -extern class ContextMenus { - - static function create( - createProperties : { - ?type : ContextMenuType, - ?id : String, - ?title : String, - ?checked : Bool, - ?contexts : Contexts, - ?onclick : {info:OnClickData,tab:Tab}->Void, - ?parentId : Int, - ?documentUrlPatterns : Array, - ?targetUrlPatterns : Array, - ?enabled : Bool - }, - ?f : Void->Void ) : Void; - static function update( - id : Int, - updateProperties : { - ?type : ContextMenuType, - ?title : String, - ?checked : Bool, - ?contexts : Contexts, - ?onclick : Void->Void, - ?parentId : Int, - ?documentUrlPatterns : Array, - ?targetUrlPatterns : Array, - ?enabled : Bool - }, - ?f : Void->Void ) : Void; - static function remove( menuItemId : Int, ?f : Void->Void ) : Void; - static function removeAll( ?f : Void->Void ) : Void; - - var onClicked(default,null) : EventVoid>; -} diff --git a/chrome/DeclerativeContent.hx b/chrome/DeclerativeContent.hx deleted file mode 100644 index 1c05230..0000000 --- a/chrome/DeclerativeContent.hx +++ /dev/null @@ -1,16 +0,0 @@ -package chrome; - -import chrome.Events; - -typedef PageStateMatcher = { - @:optional var pageUrl : UrlFilter; - @:optional var css : Array; -} - -typedef ShowPageAction = Dynamic; - -@:require(chrome_ext) -@:native("chrome.declerativeContent") -extern class DeclerativeContent { - static var onPageChanged(default,null) : Event; //TODO -} diff --git a/chrome/Event.hx b/chrome/Event.hx deleted file mode 100644 index 7adb85d..0000000 --- a/chrome/Event.hx +++ /dev/null @@ -1,14 +0,0 @@ -package chrome; - -import chrome.Events; - -@:require(chrome) -typedef Event = { - function addListener( a : Dynamic, ?b : Dynamic, ?c : Dynamic, ?d : Dynamic, ?e : Dynamic ) : Void; - function removeListener( f : T ) : Void; - function hasListener( f : T ) : Bool; - function hasListeners( f : T ) : Bool; - function addRules( rules : Array, ?f : Array->Void ) : Void; - function getRules( ?ruleIdentifiers : Array, f : Array->Void ) : Void; - function removeRules( ?ruleIdentifiers : Array, f : Void->Void ) : Void; -} diff --git a/chrome/Extension.hx b/chrome/Extension.hx deleted file mode 100644 index 0788be9..0000000 --- a/chrome/Extension.hx +++ /dev/null @@ -1,24 +0,0 @@ -package chrome; - -@:enum abstract FetchPropertyType(String) { - var tab = "tab"; - var infobar = "infobar"; - var notification = "notification"; - var popup = "popup"; -} - -@:require(chrome_ext) -@:native("chrome.extension") -extern class Extension { - static var lastError : { message : String }; - static var inIncognitoContext : Bool; - static function sendRequest( ?extensionId : String, request : Dynamic, ?f : Dynamic->Void ) : Void; - static function getURL( path : String ) : String; - static function getViews( ?fetchProperties : { ?type : FetchPropertyType, ?windowId : Int } ) : Array; - static function getBackgroundPage() : Window; - static function isAllowedIncognitoAccess( f : Bool->Void ) : Void; - static function isAllowedFileSchemeAccess( f : Bool->Void ) : Void; - static function setUpdateUrlData( data : String ) : Void; - static var onRequest(default,null) : EventMessageSender->(Dynamic->Void)->Void>; - static var onRequestExternal(default,null) : EventMessageSender->(Dynamic->Void)->Void>; -} diff --git a/chrome/Identity.hx b/chrome/Identity.hx deleted file mode 100644 index 5b6e332..0000000 --- a/chrome/Identity.hx +++ /dev/null @@ -1,16 +0,0 @@ -package chrome; - -typedef AccountInfo = { - var id : String; -} - -@:require(chrome) -@:native("chrome.identity") -extern class Identity { - static function getAccounts( f : Array->Void ) : Void; - static function getAuthToken( ?details : {?interactive:Bool}, f : String->Void ) : Void; - static function removeCachedAuthToken( details : {token:String}, f : Void->Void ) : Void; - static function launchWebAuthFlow( details : {url:String,?interactive:Bool}, f : String->Void ) : Void; - static function getRedirectURL( ?path : String ) : String; - static var onSignInChanged(default,null) : EventBool->Void>; -} diff --git a/chrome/Location.hx b/chrome/Location.hx deleted file mode 100644 index 13e073c..0000000 --- a/chrome/Location.hx +++ /dev/null @@ -1,27 +0,0 @@ -package chrome; - -typedef Coords = { - var latitude : Float; - var longitude : Float; - @:optional var altitude : Float; - var accuracy : Float; - @:optional var altitudeAccuracy : Float; - @:optional var heading : Float; - @:optional var speed : Float; -} - -typedef LocationUpdate = { - var name : String; - var coords : Coords; - var timestamp : Float; -} - -@:require(chrome_ext) -@:require(chrome_experimental) -@:native("chrome.location") -extern class Location { - static function watchLocation( name : String, requestInfo : {?minDistanceInMeters:Float,?minTimeInMilliseconds:Float,?maximumAge:Float} ) : Void; - static function clearWatch( name : String ) : Void; - static var onLocationUpdate(default,null) : EventVoid>; - static var onLocationError(default,null) : EventVoid>; -} \ No newline at end of file diff --git a/chrome/MessageSender.hx b/chrome/MessageSender.hx deleted file mode 100644 index 1ba2a16..0000000 --- a/chrome/MessageSender.hx +++ /dev/null @@ -1,7 +0,0 @@ -package chrome; - -typedef MessageSender = { - @:optional var tab : Tab; - var id : String; - @:optional var url : String; -} diff --git a/chrome/PacScript.hx b/chrome/PacScript.hx deleted file mode 100644 index 0a74da4..0000000 --- a/chrome/PacScript.hx +++ /dev/null @@ -1,7 +0,0 @@ -package chrome; - -typedef PacScript = { - @:optional var url : String; - @:optional var data : String; - @:optional var mandatory : Bool; -} diff --git a/chrome/Permissions.hx b/chrome/Permissions.hx deleted file mode 100644 index f8b1d0f..0000000 --- a/chrome/Permissions.hx +++ /dev/null @@ -1,17 +0,0 @@ -package chrome; - -typedef PermissionsData = { - @:optional var permissions : Array; - @:optional var origins : Array; -} - -@:require(chrome) -@:native("chrome.permissions") -extern class Permissions { - static function getAll( f : PermissionsData->Void ) : Void; - static function contains( permissions : PermissionsData, f : Bool->Void ) : Void; - static function request( permissions : PermissionsData, ?f : Bool->Void ) : Void; - static function remove( permissions : PermissionsData, ?f : Bool->Void ) : Void; - static var onAdded(default,never) : EventVoid>; - static var onRemoved(default,never) : EventVoid>; -} diff --git a/chrome/Port.hx b/chrome/Port.hx deleted file mode 100644 index 96319f5..0000000 --- a/chrome/Port.hx +++ /dev/null @@ -1,9 +0,0 @@ -package chrome; - -typedef Port = { - var name : String; - var sender : MessageSender; - var onMessage : Dynamic; //Event; //TODO - var onDisconnect : Dynamic; // EventVoid>; //TODO - function postMessage( data : Dynamic ) : Void; -} diff --git a/chrome/Preference.hx b/chrome/Preference.hx deleted file mode 100644 index e06dd97..0000000 --- a/chrome/Preference.hx +++ /dev/null @@ -1,9 +0,0 @@ -package chrome; - -@:require(chrome) -@:native("chrome.preference") -extern class Preference { - function clear( details : Dynamic, ?f : Void->Void ) : Void; - function get( details : Dynamic, f : Dynamic->Void ) : Void; - function set( details : Dynamic, ?f : Void->Void ) : Void; -} diff --git a/chrome/Privacy.hx b/chrome/Privacy.hx deleted file mode 100644 index 6db23d3..0000000 --- a/chrome/Privacy.hx +++ /dev/null @@ -1,27 +0,0 @@ -package chrome; - -import chrome.types.ChromeSetting; - -private typedef Services = { - var alternateErrorPagesEnabled : ChromeSetting; - var autofillEnabled : ChromeSetting; - var safeBrowsingEnabled : ChromeSetting; - var searchSuggestEnabled : ChromeSetting; - var spellingServiceEnabled : ChromeSetting; - var translationServiceEnabled : ChromeSetting; -} - -private typedef Websites = { - var thirdPartyCookiesAllowed : ChromeSetting; - var hyperlinkAuditingEnabled : ChromeSetting; - var referrersEnabled : ChromeSetting; - var protectedContentEnabled : ChromeSetting; -} - -@:require(chrome_ext) -@:native("chrome.privacy") -extern class Privacy { - static var network(default,never) : { networkPredictionEnabled : ChromeSetting }; - static var services(default,never) : Services; - static var websites(default,never) : Websites; -} diff --git a/chrome/Process.hx b/chrome/Process.hx deleted file mode 100644 index 815067e..0000000 --- a/chrome/Process.hx +++ /dev/null @@ -1,35 +0,0 @@ -package chrome; - -@:fakeEnum(String) -enum ProcessType { - browser; - renderer; - extension; - notification; - plugin; - worker; - nacl; - utility; - gpu; - other; -} - -private typedef Cache = { - var size : Float; - var liveSize : Float; -} - -typedef Process = { - var id : Int; - var type : ProcessType; - @:optional var cpu : Float; - @:optional var network : Float; - @:optional var privateMemory : Float; - @:optional var jsMemoryAllocated : Float; - @:optional var jsMemoryUsed : Float; - @:optional var sqliteMemory : Float; - @:optional var fps : Float; - @:optional var imageCache : Cache; - @:optional var scriptCache : Float; - @:optional var cssCache : Float; -} diff --git a/chrome/Processes.hx b/chrome/Processes.hx deleted file mode 100644 index a698b35..0000000 --- a/chrome/Processes.hx +++ /dev/null @@ -1,15 +0,0 @@ -package chrome; - -@:require(chrome_ext) -@:require(chrome_experimental) -@:native("chrome.processes") -extern class Processes { - static function terminate( processId : Int, ?f : Bool->Void ) : Void; - static function getProcessIdForTab( tabId : Int, f : Int->Void ) : Void; - static function getProcessInfo( processIds : Int, includeMemory : Bool, f : Dynamic->Void ) : Void; - static var onUpdated(default,null) : EventVoid>; - static var onUpdatedWithMemory(default,null) : EventVoid>; - static var onCreated(default,null) : EventVoid>; - static var onUnresponsive(default,null) : EventVoid>; - static var onExited(default,null) : Event<{processId:Int,exitType:Int,exitCode:Int}->Void>; -} \ No newline at end of file diff --git a/chrome/PushMessaging.hx b/chrome/PushMessaging.hx deleted file mode 100644 index c3e92ce..0000000 --- a/chrome/PushMessaging.hx +++ /dev/null @@ -1,17 +0,0 @@ -package chrome; - -typedef Message = { - var subchannelId : Int; - var payload : String; -} - -typedef ChannelIdResult = { - var channelId : Int; -} - -@:require(chrome) -@:native("chrome.pushMessaging") -extern class PushMessaging { - static function getChannelId( ?interactive : Bool, f : {channelId:String}->Void ) : Void; - static var onMessage(default,null) : EventVoid>; -} diff --git a/chrome/Runtime.hx b/chrome/Runtime.hx deleted file mode 100644 index 22b4dc4..0000000 --- a/chrome/Runtime.hx +++ /dev/null @@ -1,67 +0,0 @@ -package chrome; - -@:enum abstract OS(String) { - var mac = "mac"; - var win = "win"; - var android = "android"; - var cros = "cros"; - var linux = "linux"; - var openbsd = "openbsd"; -} - -@:enum abstract Arch(String) { - var arm = "arm"; - var x86_32 = "x86-32"; - var x86_64 = "x86-64"; -} - -typedef PlatformInfo = { - var os : OS; - var arch : Arch; - var nacl_arch : Arch; -} - -@:enum abstract RestartReason(String) { - var app_update = "app_update"; - var os_update = "os_update"; - var periodic = "periodic"; -} - -typedef DirectoryEntry = Dynamic; //TODO - -@:enum abstract InstallReason(String) { - var install = "install"; - var update = "update"; - var chrome_update = "chrome_update"; -} - -@:require(chrome) -@:native("chrome.runtime") -extern class Runtime { - static var lastError : String; - static var id : String; - static function getBackgroundPage( f : Window->Void ) : Void; - static function getManifest( f : Dynamic->Void ) : Void; - static function getURL( path : String ) : String; - static function setUninstallURL( url : String ) : Void; - static function reload() : Void; - static function requestUpdateCheck( f : String->Dynamic->Void ) : Void; - static function restart() : Void; - static function connect( ?extensionId : String, ?connectInfo : {?name:String,?includeTlsChannelId:Bool} ) : Port; - static function connectNative( application : String ) : Port; - static function sendMessage( ?extensionId : String, message : Dynamic, ?options : {?includeTlsChannelId:Bool}, f : Dynamic->Void ) : Port; - static function sendNativeMessage( ?application : String, message : Dynamic, f : Dynamic->Void ) : Port; - static function getPlatformInfo( f : PlatformInfo->Void ) : Port; - static function getPackageDirectoryEntry( f : DirectoryEntry->Void ) : Port; - static var onStartup(default,null) : EventVoid>; - static var onInstalled(default,null) : Event<{reason:InstallReason,?previousVersion:String}->Void>; - static var onSuspend(default,null) : EventVoid>; - static var onSuspendCanceled(default,null) : EventVoid>; - static var onUpdateAvailable(default,null) : Event<{version:String}->Void>; - static var onBrowserUpdateAvailable(default,null) : EventVoid>; - static var onConnect(default,null) : EventVoid>; - static var onConnectExternal(default,null) : EventVoid>; - static var onMessage(default,null) : EventMessageSender->{sendResponse:Void->Void}->Void>; - static var onMessageExternal(default,null) : EventMessageSender->{sendResponse:Void->Void}->Void>; - static var onRestartRequired(default,null) : EventVoid>; -} diff --git a/chrome/Sessions.hx b/chrome/Sessions.hx deleted file mode 100644 index fa8fb1a..0000000 --- a/chrome/Sessions.hx +++ /dev/null @@ -1,26 +0,0 @@ -package chrome; - -typedef Filter = { - @:optional var maxResults : Int; -} - -typedef Session = { - var lastModified : Int; - @:optional var tab : Tab; - @:optional var window : Window; -} - -typedef Device = { - var info : String; - var sessions : Array; -} - -@:require(chrome_ext) -@:require(chrome_experimental) -@:native("chrome.sessions") -extern class Sessions { - static var MAX_SESSION_RESULTS(default,never) : Int; - static function getRecentlyClosed( ?filter : Filter, f : Array->Void ) : Void; - static function getDevices( ?filter : Filter, f : Array->Void ) : Void; - static function restore( ?sessionId : String, ?f : Session->Void ) : Void; -} \ No newline at end of file diff --git a/chrome/Storage.hx b/chrome/Storage.hx deleted file mode 100644 index e4ff6e3..0000000 --- a/chrome/Storage.hx +++ /dev/null @@ -1,31 +0,0 @@ -package chrome; - -typedef StorageChange = { - @:optional var oldValue : Dynamic; - @:optional var newValue : Dynamic; -} - -typedef StorageArea = { - - @:overload(function( ?keys : Dynamic, f : Dynamic->Void ):Void{}) - function get( ?keys : Array, f : Dynamic->Void ) : Void; - - @:overload(function( ?keys : Array, f : Int->Void ):Void{}) - function getBytesInUse( ?keys : String, f : Int->Void ) : Void; - - function set( items : Dynamic, ?f : Void->Void ) : Void; - - @:overload(function( ?keys : Array, ?f : Void->Void ):Void{}) - function remove( keys : String, ?f : Void->Void ) : Void; - - function clear( ?f : Void->Void ) : Void; -} - -@:require(chrome) -@:native("chrome.storage") -extern class Storage { - static var sync : StorageArea; - static var local : StorageArea; - static var managed : StorageArea; - static var onChanged(default,null) : EventString->Void>; -} diff --git a/chrome/Tab.hx b/chrome/Tab.hx deleted file mode 100644 index badbd56..0000000 --- a/chrome/Tab.hx +++ /dev/null @@ -1,21 +0,0 @@ -package chrome; - -@:require(chrome_ext) -typedef Tab = { - @:optional var id : Int; - var index : Int; - var windowId : Int; - @:optional var openerTabId : Int; - var selected : Bool; - var highlighted : Bool; - var active : Bool; - var pinned : Bool; - @:optional var url : String; - @:optional var title : String; - @:optional var favIconUrl : String; - @:optional var status : String; - var incognito : Bool; - @:optional var width : Int; - @:optional var height : Int; - @:optional var sessionId : String; -} diff --git a/chrome/Tabs.hx b/chrome/Tabs.hx deleted file mode 100755 index e11f6df..0000000 --- a/chrome/Tabs.hx +++ /dev/null @@ -1,80 +0,0 @@ -package chrome; - -import chrome.types.ImageDetails; - -@:enum abstract QueryStatus(String) { - var loading = "loading"; - var complete = "complete"; -} - -/* -@:enum abstract WindowType(String) { - var normal = "normal"; - var popup = "popup"; - var panel = "panel"; - var app = "app"; -} -*/ - -@:enum abstract RunAt(String) { - var document_start = "document_start"; - var document_end = "document_end"; - var document_idle = "document_idle"; -} - -typedef InjectDetails = { - @:optional var code : String; - @:optional var file : String; - @:optional var allFrames : Bool; - @:optional var matchAboutBlank : Bool; - @:optional var runAt : RunAt; -} - -typedef UpdateInfo = { - @:optional var status : String; - @:optional var url : String; - @:optional var pinned : String; - @:optional var favIconUrl : String; -} - -typedef MoveInfo = { - @:optional var windowId : Int; - @:optional var fromIndex : Int; - @:optional var toIndex : Int; -} - -typedef ActiveInfo = { - @:optional var tabId : Int; - @:optional var windowId : Int; -} - -@:require(chrome_ext) -@:native("chrome.tabs") -extern class Tabs { - static function get( tabId : Int, f : Tab->Void ) : Void; - static function getCurrent( f : Tab->Void ) : Void; - static function connect( tabId : Int, connectInfo : {?name:String} ) : chrome.Port; - static function sendMessage( tabId : Int, message : Dynamic, f : Dynamic->Void ) : Void; - static function create( createProperties : {?windowId:Int,?index:Int,?url:String,?active:Bool,?pinned:Bool,openerTabId:Int}, f : Tab->Void ) : Void; - static function duplicate( tabId : Int, f : Tab->Void ) : Void; - static function query( queryInfo : {?active:Bool,?pinned:Bool,?highlighted:Bool,?currentWindow:Bool,?status:QueryStatus,?title:String,?url:String,?windowId:Int,windowType:WindowType,?index:Int}, f : Array->Void ) : Void; - static function highlight( highlightInfo : {?windowId:Int,tabs:Array}, f : Window->Void ) : Void; - static function update( ?tabId : Int, updateProperties : {?url:String,?active:Bool,?highlighted:Bool,?pinned:Bool,?openerTabId:Int}, ?f : Tab->Void ) : Void; - static function move( ?tabId : Int, moveProperties : {?windowId:Int,?index:Int}, ?f : Tab->Void ) : Void; - static function reload( ?tabId : Int, reloadProperties : {?bypassCache:Bool}, ?f : Void->Void ) : Void; - static function remove( ?tabId : Int, ?f : Void->Void ) : Void; - static function detectLanguage( ?tabId : Int, f : String->Void ) : Void; - static function captureVisibleTab( ?windowId : Int, options : ImageDetails, f : String->Void ) : Void; - static function executeScript( ?tabId : Int, details : InjectDetails, ?f : Array->Void ) : Void; - static function insertCSS( ?tabId : Int, details : InjectDetails, ?f : Void->Void ) : Void; - static var onCreated(default,null) : EventVoid>; - static var onUpdated(default,null) : EventUpdateInfo->Tab->Void>; - static var onMoved(default,null) : Event(Int->MoveInfo->Int)->Void>; - static var onActivated(default,null) : EventVoid>; - static var onHighlightChanged(default,null) : Event<(Int->Array)->Void>; - static var onHighlighted(default,null) : Event<(Int->Array)->Void>; - static var onDetached(default,null) : Event(Int->Int)->Void>; - static var onAttached(default,null) : Event(Int->Int)->Void>; - static var onRemoved(default,null) : Event(Int->Bool)->Void>; - static var onReplaced(default,null) : EventInt->Void>; -} diff --git a/chrome/TopSites.hx b/chrome/TopSites.hx deleted file mode 100644 index 7f82ce9..0000000 --- a/chrome/TopSites.hx +++ /dev/null @@ -1,12 +0,0 @@ -package chrome; - -private typedef MostVisitedURL = { - var url : String; - var title : String; -} - -@:require(chrome_ext) -@:native("chrome.topSites") -extern class TopSites { - static function get( f : Array->Void ) : Void; -} diff --git a/chrome/WebNavigation.hx b/chrome/WebNavigation.hx deleted file mode 100644 index 64524f1..0000000 --- a/chrome/WebNavigation.hx +++ /dev/null @@ -1,99 +0,0 @@ -package chrome; - -@:enum abstract TransitionType(String) { - var link = "link"; - var typed = "typed"; - var auto_bookmark = "auto_bookmark"; - var auto_subframe = "auto_subframe"; - var manual_subframe = "manual_subframe"; - var generated = "generated"; - var start_page = "start_page"; - var form_submit = "form_submit"; - var reload = "reload"; - var keyword = "keyword"; - var keyword_generated = "keyword_generated"; -} - -@:enum abstract TransitionQualifiers(String) { - var client_redirect = "client_redirect"; - var server_redirect = "server_redirect"; - var forward_back = "forward_back"; - var from_address_bar = "from_address_bar"; -} - -private typedef OnBeforeNavigateEventDetails = { - var tabId : Int; - var url : String; - var processId : Int; - var frameId : Int; - var parentFrameId : Int; - var timeStamp : Float; -} - -private typedef OnCommittedEventDetails = { - var tabId : Int; - var url : String; - var processId : Int; - var frameId : Int; - var transitionType : TransitionType; - var transitionQualifiers : TransitionQualifiers; - var timeStamp : Float; -} - -private typedef OnDOMContentLoadedEventDetails = { - var tabId : Int; - var url : String; - var processId : Int; - var frameId : Int; - var timeStamp : Float; -} - -private typedef OnCompletedEventDetails = { - var tabId : Int; - var url : String; - var processId : Int; - var frameId : Int; - var timeStamp : Float; -} - -private typedef OnErrorOccurredEventDetails = { - var tabId : Int; - var url : String; - var processId : Int; - var frameId : Int; - var error : String; - var timeStamp : Float; -} - -private typedef OnCreatedNavigationTargetEventDetails = { - var sourceTabId : Int; - var sourceProcessId : Int; - var sourceFrameId : Int; - var url : String; - var tabId : Int; - var timeStamp : Float; -} - -private typedef OnReferenceFragmentUpdatedEventDetails = { - var tabId : Int; - var url : String; - var processId : Int; - var frameId : Int; - var transitionType : TransitionType; - var transitionQualifiers : TransitionQualifiers; - var timeStamp : Float; -} - -@:require(chrome_ext) -@:native("chrome.webNavigation") -extern class WebNavigation { - static function getFrame( details : { tabId : Int, processId : Int, frameId : Int }, f : {errorOccurred:Bool,url:String,parentFrameId:Int}->Void ) : Void; - static function getAllFrames( details : { tabId : Int }, f : Array<{errorOccurred:Bool,processId:Int,frameId:Int,parentFrameId:Int,url:String}>->Void ) : Void; - static var onBeforeNavigate(default,null) : EventVoid>; - static var onCommitted(default,null) : EventVoid>; - static var onDOMContentLoaded(default,null) : EventVoid>; - static var onCompleted(default,null) : EventVoid>; - static var onErrorOccurred(default,null) : EventVoid>; - static var onCreatedNavigationTarget(default,null) : EventVoid>; - static var onReferenceFragmentUpdated(default,null) : EventVoid>; -} diff --git a/chrome/WebRequest.hx b/chrome/WebRequest.hx deleted file mode 100644 index 15fa562..0000000 --- a/chrome/WebRequest.hx +++ /dev/null @@ -1,162 +0,0 @@ -package chrome; - -typedef UploadData = { - @:optional var bytes : Dynamic; - @:optional var file : String; -} - -typedef HttpHeaders = Array; - -@:enum abstract RequestType(String) { - var main_frame = "main_frame"; - var sub_frame = "sub_frame"; - var stylesheet = "stylesheet"; - var script = "script"; - var image = "image"; - var object = "object"; - var xmlhttprequest = "xmlhttprequest"; - var other = "other"; -} - -private typedef OnBeforeRequestEventDetails = { - var requestId : String; - var url : String; - var method : String; - var frameId : Int; - var parentFrameId : Int; - @:optional var requestBody : {?error:String,?formData:Dynamic,?raw:Array}; - var tabId : Int; - var type : RequestType; - var timeStamp : Float; -} - -private typedef OnBeforeSendHeadersEventDetails = { - var requestId : String; - var url : String; - var method : String; - var frameId : Int; - var parentFrameId : Int; - var tabId : Int; - var type : RequestType; - var timeStamp : Float; - @:optional var requestHeaders : HttpHeaders; -} - -private typedef OnSendHeadersEventDetails = { - var requestId : String; - var url : String; - var method : String; - var frameId : Int; - var parentFrameId : Int; - var tabId : Int; - var type : RequestType; - var timeStamp : Float; - @:optional var requestHeaders : HttpHeaders; -} - -private typedef OnHeadersReceivedEventDetails = { - var requestId : String; - var url : String; - var method : String; - var frameId : Int; - var parentFrameId : Int; - var tabId : Int; - var type : RequestType; - var timeStamp : Float; - var statusLine : String; - var responseHeaders : HttpHeaders; -} - -private typedef OnAuthRequiredEventDetails = { - var requestId : String; - var url : String; - var method : String; - var frameId : Int; - var parentFrameId : Int; - var tabId : Int; - var type : RequestType; - var timeStamp : Float; - var scheme : String; - @:optional var realm : String; - var challenger : Dynamic; - var isProxy : Bool; - @:optional var responseHeaders : HttpHeaders; - var statusLine : String; -} - -private typedef OnResponseStartedEventDetails = { - var requestId : String; - var url : String; - var method : String; - var frameId : Int; - var parentFrameId : Int; - var tabId : Int; - var type : RequestType; - var timeStamp : Float; - @:optional var ip : String; - var fromCache : Bool; - var statusCode : Int; - @:optional var responseHeaders : HttpHeaders; - var statusLine : String; -} - -private typedef OnBeforeRedirectEventDetails = { - var requestId : String; - var url : String; - var method : String; - var frameId : Int; - var parentFrameId : Int; - var tabId : Int; - var type : RequestType; - var timeStamp : Float; - @:optional var ip : String; - var fromCache : Bool; - var statusCode : Int; - @:optional var responseHeaders : HttpHeaders; - var statusLine : String; -} - -private typedef OnCompletedEventDetails = { - var requestId : String; - var url : String; - var method : String; - var frameId : Int; - var parentFrameId : Int; - var tabId : Int; - var type : RequestType; - var timeStamp : Float; - @:optional var ip : String; - var fromCache : Bool; - var statusCode : Int; - @:optional var responseHeaders : HttpHeaders; - var statusLine : String; -} - -private typedef OnErrorOccurredEventDetails = { - var requestId : String; - var url : String; - var method : String; - var frameId : Int; - var parentFrameId : Int; - var tabId : Int; - var type : RequestType; - var timeStamp : Float; - @:optional var ip : String; - var fromCache : Bool; - var error : String; -} - -@:require(chrome_ext) -@:native("chrome.webRequest") -extern class WebRequest { - static function handlerBehaviorChanged( ?f : Void->Void ) : Void; - static var onBeforeRequest(default,never) : EventVoid>; - static var onBeforeSendHeaders(default,never) : EventVoid>; - static var onSendHeaders(default,never) : Event; - static var onHeadersReceived(default,never) : Event; - static var onAuthRequired(default,never) : Event; - static var onResponseStarted(default,never) : Event; - static var onBeforeRedirect(default,never) : Event; - static var onCompleted(default,never) : Event; - static var onErrorOccurred(default,never) : Event; -} diff --git a/chrome/Webstore.hx b/chrome/Webstore.hx deleted file mode 100644 index 6271a20..0000000 --- a/chrome/Webstore.hx +++ /dev/null @@ -1,14 +0,0 @@ -package chrome; - -@:enum abstract InstallStage(String) { - var installing = "installing"; - var downloading = "downloading"; -} - -@:require(chrome) -@:native("chrome.webstore") -extern class Webstore { - static function install( ?url : String, ?successCallback : Void->Void, ?failureCallback : String->Void ) : Void; - static var onInstallStageChanged(default,null) : EventVoid>; - static var onDownloadProgress(default,null) : EventVoid>; -} diff --git a/chrome/Window.hx b/chrome/Window.hx deleted file mode 100644 index 572d356..0000000 --- a/chrome/Window.hx +++ /dev/null @@ -1,17 +0,0 @@ -package chrome; - -import chrome.Windows; - -typedef Window = { - id : Int, - focused : Bool, - top : Int, - left : Int, - width : Int, - height : Int, - ?tabs : Array, - incognito : Bool, - type : String, - state : String, - alwaysOnTop : Bool -} diff --git a/chrome/WindowType.hx b/chrome/WindowType.hx deleted file mode 100644 index e5b54b3..0000000 --- a/chrome/WindowType.hx +++ /dev/null @@ -1,8 +0,0 @@ -package chrome; - -@:enum abstract WindowType(String) { - var normal = "normal"; - var popup = "popup"; - var panel = "panel"; - var app = "app"; -} diff --git a/chrome/Windows.hx b/chrome/Windows.hx deleted file mode 100644 index e00ec36..0000000 --- a/chrome/Windows.hx +++ /dev/null @@ -1,65 +0,0 @@ -package chrome; - -@:enum abstract WindowState(String) { - var normal = "normal"; - var minimized = "minimized"; - var maximized = "maximized"; -} - -@:require(chrome_ext) -@:native("chrome.windows") -extern class Windows { - - static var WINDOW_ID_NONE(default,never) : Int; - static var WINDOW_ID_CURRENT(default,never) : Int; - - static function create( - ?createData : { - ?url : String, - ?tabId : Int, - ?left : Int, - ?top : Int, - ?width : Int, - ?height : Int, - ?focused : Bool, - ?incognito : Bool, - ?type : WindowType, - }, - ?f : Window->Void - ) : Void; - - static function get( - windowId : Int, - ?getInfo : { ?populate : Bool }, - f : Window->Void - ) : Void; - - static function getAll( - ?getInfo : { ?populate : Bool }, - f : Array->Void - ) : Void; - - static function getCurrent( ?getInfo : { ?populate : Bool }, f : Window->Void ) : Void; - - static function getLastFocused( ?getInfo : { ?populate : Bool }, f : Window->Void ) : Void; - - static function remove( windowId : Int, ?f : Void->Void ) : Void; - - static function update( - windowId : Int, - updateInfo : { - ?left : Int, - ?top : Int, - ?width : Int, - ?height : Int, - ?focused : Bool, - ?drawAttention : Bool, - ?state : WindowState - }, - ?f : Window->Void - ) : Void; - - static var onCreated(default,null) : EventVoid>; - static var onFocusChanged(default,null) : EventVoid>; - static var onRemoved(default,null) : EventVoid>; -} diff --git a/chrome/devtools/Resource.hx b/chrome/devtools/Resource.hx deleted file mode 100644 index 213e41d..0000000 --- a/chrome/devtools/Resource.hx +++ /dev/null @@ -1,9 +0,0 @@ -package chrome.devtools; - -@:require(chrome_ext) -@:native('chrome.devtools.resource') -extern class Resource { - static var url : String; - static function getContent( f : String->String->Void ) : Void; - static function setContent( content : String, commit : Bool, ?f : Dynamic->Void ) : Void; -} diff --git a/chrome/experimental/Discovery.hx b/chrome/experimental/Discovery.hx deleted file mode 100644 index 0191650..0000000 --- a/chrome/experimental/Discovery.hx +++ /dev/null @@ -1,10 +0,0 @@ -package chrome.experimental; - -@:require(chrome_exp) -@:require(chrome_experimental) -@:native("chrome.experimental.discovery") -extern class Discovery { - static function suggest( details : { linkText : String, linkUrl : String, ?urlImage : String, ?score : Float } ) : Void; - static function removeSuggestion( linkUrl : String ) : Void; - static function clearAllSuggestions() : Void; -} diff --git a/chrome/experimental/devtools/Audits.hx b/chrome/experimental/devtools/Audits.hx deleted file mode 100644 index f2edc74..0000000 --- a/chrome/experimental/devtools/Audits.hx +++ /dev/null @@ -1,34 +0,0 @@ -package chrome.experimental.devtools; - -typedef FormattedValue = Dynamic; -typedef AuditResultNode = Dynamic; - -@:fakeEnum(String) -enum AuditResultSeverity{ - Info; - Warning; - Severe; -} - -typedef AuditResults = { - var severity : Severity; - var text : String; - @:optional var children : Array; - @:optional var expanded : Bool; - function addResult( displayName : String, description : String, severity : AuditResultSeverity, ?details : AuditResultNode ) : AuditResults; - function createResult( content : FormattedValue ) : AuditResultNode; - function done() : AuditResults; - function createURL( href : String, ?displayText : String ) : FormattedValue; - function createSnippet( text : String ) : FormattedValue; -} - -typedef AuditCategory = { - var onAuditStarted : chrome.Event; -} - -@:require(chrome_ext) -@:require(chrome_experimental) -@:native("chrome.experimental.devtools.audits") -extern class Audits { - static function addCategory( displayName : String, resultCount : Float ) : AuditCategory; -} diff --git a/chrome/experimental/devtools/Console.hx b/chrome/experimental/devtools/Console.hx deleted file mode 100644 index e7c4989..0000000 --- a/chrome/experimental/devtools/Console.hx +++ /dev/null @@ -1,17 +0,0 @@ -package chrome.experimental.devtools; - -typedef ConsoleMessage = { - var severity : Severity; - var text : String; - @:optional var url : String; - @:optional var line : Float; -} - -@:require(chrome_ext) -@:require(chrome_experimental) -@:native("chrome.experimental.devtools.console") -extern class Console { - static function addMessage( severity : Severity, text : String ) : Void; - static function getMessages( f : Array ) : Void; - static var onMessageAdded : chrome.Event; -} diff --git a/chrome/experimental/devtools/Severity.hx b/chrome/experimental/devtools/Severity.hx deleted file mode 100644 index 8a8a41b..0000000 --- a/chrome/experimental/devtools/Severity.hx +++ /dev/null @@ -1,12 +0,0 @@ -package chrome.experimental.devtools; - -@:require(chrome_ext) -@:require(chrome_experimental) -@:fakeEnum(String) -enum Severity{ - Tip; - Debug; - Log; - Warning; - Error; -} diff --git a/chrome/system/Network.hx b/chrome/system/Network.hx deleted file mode 100644 index ef4e5f3..0000000 --- a/chrome/system/Network.hx +++ /dev/null @@ -1,13 +0,0 @@ -package chrome.system; - -private typedef NetworkInterface = { - var name : String; - var address : String; - var prefixLength : Int; -} - -@:require(chrome_app) -@:native('chrome.system.network') -extern class Network { - static function getNetworkInterfaces( f : Array->Void ) : Void; -} diff --git a/chrome/types/ChromeSetting.hx b/chrome/types/ChromeSetting.hx deleted file mode 100644 index 38afad1..0000000 --- a/chrome/types/ChromeSetting.hx +++ /dev/null @@ -1,10 +0,0 @@ -package chrome.types; - -@:require(chrome) -@:native("chrome.types.chromeSetting") -extern class ChromeSetting { - function clear( details : Dynamic, ?cb : Void->Void ) : Void; - function get( details : Dynamic, cb : Dynamic->Void ) : Void; - function set( details : Dynamic, ?cb : Void->Void ) : Void; - var onChange : EventVoid>; -} diff --git a/chrome/types/ImageDetails.hx b/chrome/types/ImageDetails.hx deleted file mode 100644 index 6ccd310..0000000 --- a/chrome/types/ImageDetails.hx +++ /dev/null @@ -1,11 +0,0 @@ -package chrome.types; - -@:enum abstract ImageFormat(String) { - var jpeg = "jpeg"; - var png = "png"; -} - -typedef ImageDetails = { - @:optional var format : ImageFormat; - @:optional var quality : Int; -} diff --git a/chrome/AccessibilityFeatures.hx b/src/chrome/AccessibilityFeatures.hx similarity index 90% rename from chrome/AccessibilityFeatures.hx rename to src/chrome/AccessibilityFeatures.hx index 7d59335..023bb9a 100644 --- a/chrome/AccessibilityFeatures.hx +++ b/src/chrome/AccessibilityFeatures.hx @@ -1,5 +1,8 @@ package chrome; +import chrome.Types; + +@:require(chrome) @:native("chrome.accessibilityFeatures") extern class AcessibilityFeatures { static var spokenFeedback : ChromeSetting; diff --git a/chrome/Alarms.hx b/src/chrome/Alarms.hx similarity index 61% rename from chrome/Alarms.hx rename to src/chrome/Alarms.hx index 212fdc9..d2fc8f3 100644 --- a/chrome/Alarms.hx +++ b/src/chrome/Alarms.hx @@ -1,5 +1,7 @@ package chrome; +import chrome.Events; + typedef Alarm = { var name : String; var scheduledTime : Float; @@ -16,9 +18,9 @@ typedef AlarmCreateInfo = { @:native("chrome.alarms") extern class Alarms { static function create( ?name : String, alarmInfo : AlarmCreateInfo ) : Void; - static function get( ?name : String, f : Alarm->Void ) : Void; - static function getAll( f : Array->Void ) : Void; - static function clear( ?name : String, ?f : Bool->Void ) : Void; - static function clearAll( ?f : Bool->Void ) : Void; + static function get( ?name : String, callback : Alarm->Void ) : Void; + static function getAll( callback : Array->Void ) : Void; + static function clear( ?name : String, ?callback : Bool->Void ) : Void; + static function clearAll( ?callback : Bool->Void ) : Void; static var onAlarm(default,null) : EventVoid>; } diff --git a/chrome/Bookmarks.hx b/src/chrome/Bookmarks.hx similarity index 60% rename from chrome/Bookmarks.hx rename to src/chrome/Bookmarks.hx index 252ffe2..44b563f 100644 --- a/chrome/Bookmarks.hx +++ b/src/chrome/Bookmarks.hx @@ -1,5 +1,7 @@ package chrome; +import chrome.Events; + typedef BookmarkTreeNode = { var id : String; @:optional var parentId : Null; @@ -53,22 +55,22 @@ typedef BookmarkRemoveInfo = { @:native("chrome.bookmarks") extern class Bookmarks { - static var MAX_WRITE_OPERATIONS_PER_HOUR(default,null) : Int; - static var MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE(default,null) : Int; + static var MAX_WRITE_OPERATIONS_PER_HOUR(default,never) : Int; + static var MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE(default,never) : Int; + + @:overload(function( ?idList:Array, callback : Array->Void ) : Void {} ) + static function get( id : String, callback : Array->Void ) : Void; + static function getChildren( id : String, callback : Array->Void ) : Void; + static function getRecent( numberOfItems : Int, callback : Array->Void ) : Void; + static function getTree( callback : Array->Void ) : Void; + static function getSubTree( id : String, callback : Array->Void ) : Void; + static function search( query : String, callback : Array->Void ) : Void; + static function create( bookmark : Bookmark, ?callback : BookmarkTreeNode->Void ) : Void; + static function move( id : String, destination : BookmarkDestination, ?callback : BookmarkTreeNode->Void ) : Void; + static function update( id : String, changes : BookmarkChanges, ?callback : Array->Void ) : Void; + static function remove( id : String, ?callback : Void->Void ) : Void; + static function removeTree( id : String, ?callback : Void->Void ) : Void; - @:overload(function( ?idList:Array, f : Array->Void ) : Void {} ) - static function get( id : String, f : Array->Void ) : Void; - static function getChildren( id : String, f : Array->Void ) : Void; - static function getRecent( numberOfItems : Int, f : Array->Void ) : Void; - static function getTree( f : Array->Void ) : Void; - static function getSubTree( id : String, f : Array->Void ) : Void; - static function search( query : String, f : Array->Void ) : Void; - static function create( bookmark : Bookmark, ?f : BookmarkTreeNode->Void ) : Void; - static function move( id : String, destination : BookmarkDestination, ?f : BookmarkTreeNode->Void ) : Void; - static function update( id : String, changes : BookmarkChanges, ?f : Array->Void ) : Void; - static function remove( id : String, ?f : Void->Void ) : Void; - static function removeTree( id : String, ?f : Void->Void ) : Void; - static var onCreated(default,null) : EventBookmarkTreeNode->Void>; static var onRemoved(default,null) : EventBookmarkRemoveInfo->Void>; static var onChanged(default,null) : EventBookmarkChangeInfo->Void>; diff --git a/chrome/BrowserAction.hx b/src/chrome/BrowserAction.hx similarity index 56% rename from chrome/BrowserAction.hx rename to src/chrome/BrowserAction.hx index 6ec8445..50b8f66 100644 --- a/chrome/BrowserAction.hx +++ b/src/chrome/BrowserAction.hx @@ -1,20 +1,23 @@ package chrome; +import js.html.ImageData; +import chrome.Events; +import chrome.Tabs; + typedef ColorArray = Array; -private typedef ImageDataType = Dynamic; //TODO @:require(chrome_ext) @:native("chrome.browserAction") extern class BrowserAction { static function setTitle( details : { title : String, ?tabId : Int } ) : Void; - static function getTitle( details : { ?tabId : Int }, f : String->Void ) : Void; - static function setIcon( details : { ?imageData : ImageDataType, ?path : Dynamic, ?tabId : Int }, ?f : Void->Void ) : Void; + static function getTitle( details : { ?tabId : Int }, callback : String->Void ) : Void; + static function setIcon( details : { ?imageData : ImageData, ?path : Dynamic, ?tabId : Int }, ?callback : Void->Void ) : Void; static function setPopup( details : { ?tabId : Int, popup : String } ) : Void; - static function getPopup( details : { ?tabId : Int }, f : String->Void ) : Void; + static function getPopup( details : { ?tabId : Int }, callback : String->Void ) : Void; static function setBadgeText( details : { text : String, ?tabId : Int } ) : Void; - static function getBadgeText( details : { ?tabId : Int }, f : String->Void ) : Void; + static function getBadgeText( details : { ?tabId : Int }, callback : String->Void ) : Void; static function setBadgeBackgroundColor( details : { color : ColorArray, ?tabId : Int } ) : Void; - static function getBadgeBackgroundColor( details : { ?tabId : Int }, f : ColorArray->Void ) : Void; + static function getBadgeBackgroundColor( details : { ?tabId : Int }, callback : ColorArray->Void ) : Void; static function enable( ?tabId : Int ) : Void; static function disable( ?tabId : Int ) : Void; static var onClicked(default,null) : EventVoid>; diff --git a/src/chrome/BrowsingData.hx b/src/chrome/BrowsingData.hx new file mode 100644 index 0000000..2e7076c --- /dev/null +++ b/src/chrome/BrowsingData.hx @@ -0,0 +1,47 @@ +package chrome; + +typedef OriginTypes = { + @:optional var unprotectedWeb : Bool; + @:optional var protectedWeb : Bool; + @:optional var extension : Bool; +} + +typedef RemovalOptions = { + @:optional var since : Float; + var originTypes : OriginTypes; +} + +typedef DataTypeSet = { + @:optional var appcache : Bool; + @:optional var cache : Bool; + @:optional var cookies : Bool; + @:optional var downloads : Bool; + @:optional var fileSystems : Bool; + @:optional var formData : Bool; + @:optional var history : Bool; + @:optional var indexedDB : Bool; + @:optional var localStorage : Bool; + @:optional var serverBoundCertificates : Bool; + @:optional var pluginData : Bool; + @:optional var passwords : Bool; + @:optional var webSQL : Bool; +} + +@:require(chrome_ext) +@:native("chrome.browsingData") +extern class BrowsingData { + static function settings( f : {options:RemovalOptions,dataToRemove:DataTypeSet,dataRemovalPermitted:DataTypeSet}->Void ) : Void; + static function remove( options : RemovalOptions, dataToRemove : DataTypeSet, ?callback : Void->Void ) : Void; + static function removeAppcache( options : RemovalOptions, ?callback : Void->Void ) : Void; + static function removeCache( options : RemovalOptions, ?callback : Void->Void ) : Void; + static function removeCookies( options : RemovalOptions, ?callback : Void->Void ) : Void; + static function removeDownloads( options : RemovalOptions, ?callback : Void->Void ) : Void; + static function removeFileSystems( options : RemovalOptions, ?callback : Void->Void ) : Void; + static function removeFormData( options : RemovalOptions, ?callback : Void->Void ) : Void; + static function removeHistory( options : RemovalOptions, ?callback : Void->Void ) : Void; + static function removeIndexedDB( options : RemovalOptions, ?callback : Void->Void ) : Void; + static function removeLocalStorage( options : RemovalOptions, ?callback : Void->Void ) : Void; + static function removePluginData( options : RemovalOptions, ?callback : Void->Void ) : Void; + static function removePasswords( options : RemovalOptions, ?callback : Void->Void ) : Void; + static function removeWebSQL( options : RemovalOptions, ?callback : Void->Void ) : Void; +} diff --git a/chrome/Commands.hx b/src/chrome/Commands.hx similarity index 75% rename from chrome/Commands.hx rename to src/chrome/Commands.hx index ffbf472..26aa485 100644 --- a/chrome/Commands.hx +++ b/src/chrome/Commands.hx @@ -1,5 +1,7 @@ package chrome; +import chrome.Events; + typedef Command = { @:optional var name : String; @:optional var description : String; @@ -9,6 +11,6 @@ typedef Command = { @:require(chrome) @:native("chrome.commands") extern class Commands { - static function getAll( ?f : Array->Void ) : Void; + static function getAll( ?callback : Array->Void ) : Void; static var onCommand(default,null) : EventVoid>; } diff --git a/chrome/ContentSetting.hx b/src/chrome/ContentSetting.hx similarity index 69% rename from chrome/ContentSetting.hx rename to src/chrome/ContentSetting.hx index b2d1620..c0e5266 100644 --- a/chrome/ContentSetting.hx +++ b/src/chrome/ContentSetting.hx @@ -5,7 +5,7 @@ typedef ResourceIdentifier = { @:optional var description : String; } -@:enum abstract Scope(String) { +@:enum abstract Scope(String) from String to String{ var regular = "regular"; var incognito_session_only = "incognito_session_only"; } @@ -13,16 +13,16 @@ typedef ResourceIdentifier = { @:require(chrome_ext) @:native("chrome.contentSetting") extern class ContentSetting { - + static var cookies(default,never) : String; static var images(default,never) : String; static var javascript(default,never) : String; static var plugins(default,never) : String; static var popups(default,never) : String; static var notifications(default,never) : String; - - static function clear( details : { ?scope : Scope }, ?f : Void->Void ) : Void; - static function get( details : { primaryUrl : String, secondaryUrl : String, ?resourceIdentifier : ResourceIdentifier, ?incognito : Bool }, f : Dynamic->Void ) : Void; - static function set( details : { primaryPattern : String, secondaryPattern : String, ?resourceIdentifier : ResourceIdentifier, setting : Dynamic, ?scope : Scope }, f : Dynamic->Void ) : Void; - static function getResourceIdentifiers( f : Array->Void ) : Void; + + static function clear( details : { ?scope : Scope }, ?callback : Void->Void ) : Void; + static function get( details : { primaryUrl : String, secondaryUrl : String, ?resourceIdentifier : ResourceIdentifier, ?incognito : Bool }, callback : Dynamic->Void ) : Void; + static function set( details : { primaryPattern : String, secondaryPattern : String, ?resourceIdentifier : ResourceIdentifier, setting : Dynamic, ?scope : Scope }, callback : Dynamic->Void ) : Void; + static function getResourceIdentifiers( callback : Array->Void ) : Void; } diff --git a/src/chrome/ContextMenus.hx b/src/chrome/ContextMenus.hx new file mode 100644 index 0000000..2a6fc17 --- /dev/null +++ b/src/chrome/ContextMenus.hx @@ -0,0 +1,103 @@ +package chrome; + +import haxe.extern.EitherType; +import chrome.Events; +import chrome.Tabs; + +@:enum abstract ItemType(String) from String to String { + var normal = "normal"; + var checkbox = "checkbox"; + var radio = "radio"; + var separator = "separator"; +} + +@:enum abstract ContextType(String) from String to String { + var all = "all"; + var page = "page"; + var frame = "frame"; + var selection = "selection"; + var link = "link"; + var editable = "editable"; + var image = "image"; + var video = "video"; + var audio = "audio"; + var launcher = "launcher"; +} + +@:require(chrome) +@:native("chrome.contextMenus") +extern class ContextMenus { + + static var ACTION_MENU_TOP_LEVEL_LIMIT(default,never) : Int; + + static function create( + createProperties : { + ?type : ItemType, + ?id : String, + ?title : String, + ?checked : Bool, + ?contexts: Array, + ?onclick : { + menuItemId : EitherType, + ?parentMenuItemId : EitherType, + ?mediaType : String, + ?linkUrl : String, + ?srcUrl : String, + ?pageUrl : String, + ?frameUrl : String, + ?selectionText : String, + editable : Bool, + ?wasChecked : Bool, + ?checked : Bool, + }->Tab->Void, + ?parentId : Int, + ?documentUrlPatterns : Array, + ?targetUrlPatterns : Array, + ?enabled : Bool + }, + ?callback : Void->Void ) : Void; + + static function update( + id : EitherType, + updateProperties : { + ?type : ItemType, + ?title : String, + ?checked : Bool, + ?contexts : Array, + ?onclick : { + menuItemId : EitherType, + ?parentMenuItemId : EitherType, + ?mediaType : String, + ?linkUrl : String, + ?srcUrl : String, + ?pageUrl : String, + ?frameUrl : String, + ?selectionText : String, + editable : Bool, + ?wasChecked : Bool, + ?checked : Bool + }->Tab->Void, + ?parentId : Int, + ?documentUrlPatterns : Array, + ?targetUrlPatterns : Array, + ?enabled : Bool + }, + ?callback : Void->Void ) : Void; + + static function remove( menuItemId : EitherType, ?callback : Void->Void ) : Void; + static function removeAll( ?callback : Void->Void ) : Void; + + static var onClicked(default,null) : Event<{ + menuItemId : EitherType, + ?parentMenuItemId : EitherType, + ?mediaType : String, + ?linkUrl : String, + ?srcUrl : String, + ?pageUrl : String, + ?frameUrl : String, + ?selectionText : String, + editable : Bool, + ?wasChecked : Bool, + ?checked : Bool + }->?Tab->Void>; +} diff --git a/chrome/Cookies.hx b/src/chrome/Cookies.hx similarity index 66% rename from chrome/Cookies.hx rename to src/chrome/Cookies.hx index 1329ab7..cc48768 100644 --- a/chrome/Cookies.hx +++ b/src/chrome/Cookies.hx @@ -1,5 +1,7 @@ package chrome; +import chrome.Events; + typedef Cookie = { var name : String; var value : String; @@ -18,7 +20,7 @@ typedef CookieStore = { var tabIds : Array; } -@:enum abstract CookieChangeInfoCause(String) { +@:enum abstract OnChangedCause(String) from String to String { var evicted = "evicted"; var expired = "expired"; var explicit = "explicit"; @@ -26,19 +28,13 @@ typedef CookieStore = { var overwrite = "overwrite"; } -typedef CookieChangeInfo = { - var removed : Bool; - var cookie : Cookie; - var cause : CookieChangeInfoCause; -} - @:require(chrome_ext) @:native("chrome.cookies") extern class Cookies { - static function get( details : { url : String, name : String, ?storeId : String }, f : ?Cookie->Void ) : Void; - static function getAll( details : { ?url : String, ?name : String, ?domain : String, ?path : String, ?secure : Bool, ?session : Bool, ?storeId : String }, f : Array->Void ) : Void; - static function set( details : { url : String, ?name : String, ?value : String, ?domain : String, ?path : String, ?secure : Bool, ?httpOnly : Bool, ?expirationDate : Float, ?storeId : String }, f : ?Cookie->Void ) : Void; - static function remove( details : { url : String, name : String, ?storeId : String }, f : {url:String,name:String,storeId:String}->Void ) : Void; - static function getAllCookieStores( f : Array->Void ) : Void; - static var onChanged(default,null) : EventVoid>; + static function get( details : { url : String, name : String, ?storeId : String }, callback : ?Cookie->Void ) : Void; + static function getAll( details : { ?url : String, ?name : String, ?domain : String, ?path : String, ?secure : Bool, ?session : Bool, ?storeId : String }, callback : Array->Void ) : Void; + static function set( details : { url : String, ?name : String, ?value : String, ?domain : String, ?path : String, ?secure : Bool, ?httpOnly : Bool, ?expirationDate : Float, ?storeId : String }, callback : ?Cookie->Void ) : Void; + static function remove( details : { url : String, name : String, ?storeId : String }, callback : {url:String,name:String,storeId:String}->Void ) : Void; + static function getAllCookieStores( callback : Array->Void ) : Void; + static var onChanged(default,null) : Event<(Bool->Cookie->OnChangedCause)->Void>; } diff --git a/chrome/Debugger.hx b/src/chrome/Debugger.hx similarity index 69% rename from chrome/Debugger.hx rename to src/chrome/Debugger.hx index 276bbb2..8db48d2 100644 --- a/chrome/Debugger.hx +++ b/src/chrome/Debugger.hx @@ -1,20 +1,28 @@ package chrome; +import chrome.Events; + typedef Debuggee = { @:optional var tabId : Int; @:optional var extensionId : String; @:optional var targetId : String; } -@:enum abstract TargetType(String) { +@:enum abstract TargetInfoType(String) from String to String { var page = "page"; var background_page = "background_page"; var worker = "worker"; var other = "other"; } +@:enum abstract DetachReason(String) from String to String { + var target_closed = "target_closed"; + var canceled_by_user = "canceled_by_user"; + var replaced_with_devtools = "replaced_with_devtools"; +} + typedef TargetInfo = { - var type : TargetType; + var type : TargetInfoType; var id : String; @:optional var tabId : Int; @:optional var extensionId : String; @@ -24,19 +32,13 @@ typedef TargetInfo = { @:optional var faviconUrl : String; } -@:enum abstract DetachReason(String) { - var target_closed = "target_closed"; - var canceled_by_user = "canceled_by_user"; - var replaced_with_devtools = "replaced_with_devtools"; -} - @:require(chrome_ext) @:native("chrome.debugger") extern class Debugger { - static function attach( target : Debuggee, requiredVersion : String, ?f : Void->Void ) : Void; - static function detach( target : Debuggee, ?f : Void->Void ) : Void; - static function sendCommand( target : Debuggee, method : String, ?commandParams : Dynamic, ?f : Dynamic->Void ) : Void; - static function getTargets( ?f : Array->Void ) : Void; + static function attach( target : Debuggee, requiredVersion : String, ?callback : Void->Void ) : Void; + static function detach( target : Debuggee, ?callback : Void->Void ) : Void; + static function sendCommand( target : Debuggee, method : String, ?commandParams : Dynamic, ?callback : Dynamic->Void ) : Void; + static function getTargets( ?callback : Array->Void ) : Void; static var onEvent(default,null) : EventString->?Dynamic->Void>; static var onDetach(default,null) : EventDetachReason->Void>; } diff --git a/src/chrome/DeclerativeContent.hx b/src/chrome/DeclerativeContent.hx new file mode 100644 index 0000000..cf6239e --- /dev/null +++ b/src/chrome/DeclerativeContent.hx @@ -0,0 +1,50 @@ +package chrome; + +import js.html.ImageData; +import haxe.extern.EitherType; +import chrome.Events; + +typedef PageStateMatcher = { + @:optional var pageUrl : { + ?hostContains : String, + ?hostEquals : String, + ?hostPrefix : String, + ?hostSuffix : String, + ?pathContains : String, + ?pathEquals : String, + ?pathPrefix : String, + ?pathSuffix : String, + ?queryContains : String, + ?queryEquals : String, + ?queryPrefix : String, + ?querySuffix : String, + ?urlContains : String, + ?urlEquals : String, + ?urlMatches : String, + ?originAndPathMatches : String, + ?urlPrefix : String, + ?urlSuffix : String, + ?schemes : Array, + ?ports : Array + }; + @:optional var css : Array; +} + +typedef ShowPageAction = Dynamic; + +typedef SetIcon = { + @:optional var imageData : EitherType; +}; + +typedef RequestContentScript = { + @:optional var css : Array; + @:optional var js : Array; + @:optional var allFrames : Bool; + @:optional var matchAboutBlank : Bool; +} + +@:require(chrome_ext) +@:native("chrome.declerativeContent") +extern class DeclerativeContent { + static var onPageChanged(default,null) : Event; //TODO +} diff --git a/chrome/DesktopCapture.hx b/src/chrome/DesktopCapture.hx similarity index 65% rename from chrome/DesktopCapture.hx rename to src/chrome/DesktopCapture.hx index a248311..cb37639 100644 --- a/chrome/DesktopCapture.hx +++ b/src/chrome/DesktopCapture.hx @@ -1,14 +1,16 @@ package chrome; -@:enum abstract DesktopCaptureSourceType(String) { +import chrome.Tabs; + +@:enum abstract DesktopCaptureSourceType(String) from String to String { var screen = "screen"; var window = "window"; var tab = "tab"; -} +} @:require(chrome_ext) @:native("chrome.desktopCapture") extern class DesktopCapture { - static function chooseDesktopMedia( sources : Array, ?targetTab : Tab, f : String->Void ) : Void; + static function chooseDesktopMedia( sources : Array, ?targetTab : Tab, callback : String->Void ) : Void; static function cancelChooseDesktopMedia( desktopMediaRequestId : Int ) : Void; } diff --git a/src/chrome/DocumentScan.hx b/src/chrome/DocumentScan.hx new file mode 100644 index 0000000..008e887 --- /dev/null +++ b/src/chrome/DocumentScan.hx @@ -0,0 +1,7 @@ +package chrome; + +@:require(chrome_ext) +@:native("chrome.documentScan") +extern class DocumentScan { + static function scan( options : { ?mimeType : Array, ?maxImages : Int }, callback : { dataUrls : Array, mimeType : String }->Void ) : Void; +} diff --git a/chrome/Downloads.hx b/src/chrome/Downloads.hx similarity index 57% rename from chrome/Downloads.hx rename to src/chrome/Downloads.hx index 437962f..148054f 100644 --- a/chrome/Downloads.hx +++ b/src/chrome/Downloads.hx @@ -1,12 +1,14 @@ package chrome; -@:enum abstract FilenameConflictAction(String) { +import chrome.Events; + +@:enum abstract FilenameConflictAction(String) from String to String { var uniquify = "uniquify"; var overwrite = "overwrite"; var prompt = "prompt"; } -@:enum abstract InterruptReason(String) { +@:enum abstract InterruptReason(String) from String to String { var FILE_FAILED = "FILE_FAILED"; var FILE_ACCESS_DENIED = "FILE_ACCESS_DENIED"; var FILE_NO_SPACE = "FILE_NO_SPACE"; @@ -31,12 +33,12 @@ package chrome; var CRASH = "CRASH"; } -@:enum abstract Method(String) { +@:enum abstract Method(String) from String to String { var GET = "GET"; var POST = "POST"; } -@:enum abstract DangerType(String) { +@:enum abstract DangerType(String) from String to String { var file = "file"; var url = "url"; var content = "content"; @@ -47,7 +49,7 @@ package chrome; var accepted = "accepted"; } -@:enum abstract State(String) { +@:enum abstract State(String) from String to String { var in_progress = "in_progress"; var interrupted = "interrupted"; var complete = "complete"; @@ -98,9 +100,12 @@ typedef DownloadQuery = { @:optional var state : State; @:optional var paused : Bool; @:optional var error : InterruptReason; - @:optional var totalBytes : Float; - @:optional var fileSize : Float; - @:optional var exists : Bool; + var bytesReceived : Float; + var totalBytes : Float; + var fileSize : Float; + var exists : Bool; + @:optional var byExtensionId : String; + @:optional var byExtensionName : String; } typedef StringDelta = { @@ -108,16 +113,16 @@ typedef StringDelta = { @:optional var current : String; } -typedef BooleanDelta = { - @:optional var previous : Bool; - @:optional var current : Bool; -} - typedef DoubleDelta = { @:optional var previous : Float; @:optional var current : Float; } +typedef BooleanDelta = { + @:optional var previous : Bool; + @:optional var current : Bool; +} + typedef DownloadDelta = { var id : Int; @:optional var url : StringDelta; @@ -138,22 +143,98 @@ typedef DownloadDelta = { @:require(chrome_ext) @:native("chrome.downloads") extern class Downloads { - static function download( options : {url:String,?filename:String,?conflictAction:FilenameConflictAction,?saveAs:Bool,?method:Method,?headers:Array,?body:String}, ?f : Int->Void ) : Void; - static function search( query : DownloadQuery, f : Array->Void ) : Void; - static function pause( downloadId : Int, ?f : Void->Void ) : Void; - static function resume( downloadId : Int, ?f : Void->Void ) : Void; - static function cancel( downloadId : Int, ?f : Void->Void ) : Void; - static function getFileIcon( downloadId : Int, options : {downloadId:Int,?options:Dynamic}, ?f : String->Void ) : Void; + static function download( + options : { + url:String, + ?filename:String, + ?conflictAction:FilenameConflictAction, + ?saveAs:Bool, + ?method:Method, + ?headers:Array<{name:String,value:String}>, + ?body:String + }, + ?callback : Int->Void ) : Void; + static function search( query : { + ?query : Array, + ?startedBefore : String, + ?startedAfter : String, + ?endedBefore : String, + ?endedAfter : String, + ?totalBytesGreater : Float, + ?totalBytesLess : Float, + ?filenameRegex : String, + ?urlRegex : String, + ?limit : Int, + ?orderBy : Array, + ?id : Int, + ?url : String, + ?filename : String, + ?danger : DangerType, + ?mime : String, + ?startTime : String, + ?endTime : String, + ?state : State, + ?paused : Bool, + ?error : InterruptReason, + ?bytesReceived : Float, + ?totalBytes : Float, + ?fileSize : Float, + ?exists : Bool + }, callback : Array->Void ) : Void; + static function pause( downloadId : Int, ?callback : Void->Void ) : Void; + static function resume( downloadId : Int, ?callback : Void->Void ) : Void; + static function cancel( downloadId : Int, ?callback : Void->Void ) : Void; + static function getFileIcon( downloadId : Int, options : {?size:Int}, ?callback : String->Void ) : Void; static function open( downloadId : Int ) : Void; static function show( downloadId : Int ) : Void; static function showDefaultFolder() : Void; - static function erase( query : DownloadQuery, ?f : Array ) : Void; - static function removeFile( downloadId : Int, ?f : Void->Void ) : Void; - static function acceptDanger( downloadId : Int, ?f : Void->Void ) : Void; + static function erase( query : { + ?query : Array, + ?startedBefore : String, + ?startedAfter : String, + ?endedBefore : String, + ?endedAfter : String, + ?totalBytesGreater : Float, + ?totalBytesLess : Float, + ?filenameRegex : String, + ?urlRegex : String, + ?limit : Int, + ?orderBy : Array, + ?id : Int, + ?url : String, + ?filename : String, + ?danger : DangerType, + ?mime : String, + ?startTime : String, + ?endTime : String, + ?state : State, + ?paused : Bool, + ?error : InterruptReason, + ?bytesReceived : Float, + ?totalBytes : Float, + ?fileSize : Float, + ?exists : Bool + }, ?callback : Array ) : Void; + static function removeFile( downloadId : Int, ?callback : Void->Void ) : Void; + static function acceptDanger( downloadId : Int, ?callback : Void->Void ) : Void; static function drag( downloadId : Int ) : Void; static function setShelfEnabled( enabled : Bool ) : Void; static var onCreated(default,null) : EventVoid>; static var onErased(default,null) : EventVoid>; - static var onChanged(default,null) : EventVoid>; - static var onDeterminingFilename(default,null) : Event(Void->Void)->Void>; + static var onChanged(default,null) : Event<{ + ?url : StringDelta, + ?filename : StringDelta, + ?danger : StringDelta, + ?mime : StringDelta, + ?startTime : StringDelta, + ?endTime : StringDelta, + ?state : StringDelta, + ?canResume : BooleanDelta, + ?paused : BooleanDelta, + ?error : StringDelta, + ?totalBytes : DoubleDelta, + ?fileSize : DoubleDelta, + ?exists : BooleanDelta + }->Void>; + static var onDeterminingFilename(default,null) : Event(?{filename:String,?conflictAction:FilenameConflictAction}->Void)->Void>; } diff --git a/chrome/Events.hx b/src/chrome/Events.hx similarity index 64% rename from chrome/Events.hx rename to src/chrome/Events.hx index a737f17..c76012b 100644 --- a/chrome/Events.hx +++ b/src/chrome/Events.hx @@ -9,6 +9,18 @@ typedef Rule = { @:optional var priority : Int; } +@:require(chrome) +typedef Event = { + //function addListener( a : Dynamic, ?b : Dynamic, ?c : Dynamic, ?d : Dynamic, ?e : Dynamic ) : Void; + function addListener( callback : T ) : Void; + function removeListener( f : T ) : Void; + function hasListener( f : T ) : Bool; + function hasListeners( f : T ) : Bool; + function addRules( rules : Array, ?callback : Array->Void ) : Void; + function getRules( ?ruleIdentifiers : Array, callback : Array->Void ) : Void; + function removeRules( ?ruleIdentifiers : Array, callback : Void->Void ) : Void; +} + @:require(chrome) typedef UrlFilter = { @:optional var hostContains : String; diff --git a/src/chrome/Extension.hx b/src/chrome/Extension.hx new file mode 100644 index 0000000..f495c17 --- /dev/null +++ b/src/chrome/Extension.hx @@ -0,0 +1,23 @@ +package chrome; + +@:enum abstract ViewType(String) from String to String { + var tab = "tab"; + var notification = "notification"; + var popup = "popup"; +} + +@:require(chrome_ext) +@:native("chrome.extension") +extern class Extension { + static var lastError : { message : String }; + static var inIncognitoContext : Bool; + //static function sendRequest( ?extensionId : String, request : Dynamic, ?f : Dynamic->Void ) : Void; + static function getURL( path : String ) : String; + static function getViews( ?fetchProperties : { ?type : ViewType, ?windowId : Int } ) : Array; + static function getBackgroundPage() : js.html.Window; + static function isAllowedIncognitoAccess( callback : Bool->Void ) : Void; + static function isAllowedFileSchemeAccess( callback : Bool->Void ) : Void; + static function setUpdateUrlData( data : String ) : Void; + //static var onRequest(default,null) : EventMessageSender->(Dynamic->Void)->Void>; + //static var onRequestExternal(default,null) : EventMessageSender->(Dynamic->Void)->Void>; +} diff --git a/src/chrome/ExtensionTypes.hx b/src/chrome/ExtensionTypes.hx new file mode 100644 index 0000000..0c4354b --- /dev/null +++ b/src/chrome/ExtensionTypes.hx @@ -0,0 +1,25 @@ +package chrome; + +@:enum abstract ImageFormat(String) from String to String { + var jpeg = "jpeg"; + var png = "png"; +} + +typedef ImageDetails = { + @:optional var format : ImageFormat; + @:optional var quality : Int; +} + +@:enum abstract RunAt(String) from String to String { + var document_start = "document_start"; + var document_end = "document_end"; + var document_idle = "document_idle"; +} + +typedef InjectDetails = { + @:optional var code : String; + @:optional var file : String; + @:optional var allFrames : Bool; + @:optional var matchAboutBlank : Bool; + @:optional var runAt : RunAt; +} diff --git a/chrome/FileBrowserHandler.hx b/src/chrome/FileBrowserHandler.hx similarity index 69% rename from chrome/FileBrowserHandler.hx rename to src/chrome/FileBrowserHandler.hx index c59d3c3..d31640c 100644 --- a/chrome/FileBrowserHandler.hx +++ b/src/chrome/FileBrowserHandler.hx @@ -1,14 +1,15 @@ package chrome; -@:require(chrome_os) +import chrome.Events; + typedef FileHandlerExecuteEventDetails = { var entries : Array; - @:optional var tab_id : Null; + @:optional var tab_id : Int; } @:require(chrome_os) @:native("chrome.fileBrowserHandler") extern class FileBrowserHandler { - static function selectFile( selectionParams : {suggestedName:String,?allowedFileExtensions:Array}, f : {success:Bool,?entry:Dynamic}->Void ) : Void; + static function selectFile( selectionParams : {suggestedName:String,?allowedFileExtensions:Array}, callback : {success:Bool,?entry:Dynamic}->Void ) : Void; static var onExecute(default,never) : EventFileHandlerExecuteEventDetails->Void>; } diff --git a/src/chrome/FileSystemProvider.hx b/src/chrome/FileSystemProvider.hx new file mode 100644 index 0000000..4c32516 --- /dev/null +++ b/src/chrome/FileSystemProvider.hx @@ -0,0 +1,119 @@ +package chrome; + +import js.html.ArrayBuffer; +import chrome.Events; + +@:enum abstract ProviderError(String) from String to String { + var OK = "OK"; + var FAILED = "FAILED"; + var IN_USE = "IN_USE"; + var EXISTS = "EXISTS"; + var NOT_FOUND = "NOT_FOUND"; + var ACCESS_DENIED = "ACCESS_DENIED"; + var TOO_MANY_OPENED = "TOO_MANY_OPENED"; + var NO_MEMORY = "NO_MEMORY"; + var NO_SPACE = "NO_SPACE"; + var NOT_A_DIRECTORY = "NOT_A_DIRECTORY"; + var INVALID_OPERATION = "INVALID_OPERATION"; + var SECURITY = "SECURITY"; + var ABORT = "ABORT"; + var NOT_A_FILE = "NOT_A_FILE"; + var NOT_EMPTY = "NOT_EMPTY"; + var INVALID_URL = "INVALID_URL"; + var IO = "IO"; +} + +@:enum abstract OpenFileMode(String) from String to String { + var READ = "READ"; + var WRITE = "WRITE"; +} + +@:enum abstract ChangeType(String) from String to String { + var CHANGED = "CHANGED"; + var DELETED = "DELETED"; +} + +@:enum abstract CommonActionId(String) from String to String { + var SAVE_FOR_OFFLINE = "SAVE_FOR_OFFLINE"; + var OFFLINE_NOT_NECESSARY = "OFFLINE_NOT_NECESSARY"; + var SHARE = "SHARE"; +} + +typedef EntryMetadata = { + var isDirectory : Bool; + var name : String; + var size : Float; + var modificationTime : Date; + @:optional var mimeType : String; + @:optional var thumbnail : String; +} + +typedef FileSystemInfo = { + var fileSystemId : String; + var displayName : String; + var writable : Bool; + var openedFilesLimit : Int; + var openedFiles : Array<{openRequestId:Int,filePath:String,mode:OpenFileMode}>; + @:optional var supportsNotifyTag : Bool; + var watchers : Array<{entryPath:String,recursive:Bool,?lastTag:String}>; +} + +typedef GetActionsRequestedOptions = { + var fileSystemId : String; + var requestId : Int; + var entryPath : String; +} + +typedef Action = { + var id : String; + @:optional var title : String; +} + +typedef ExecuteActionRequestedOptions = { + var fileSystemId : String; + var requestId : Int; + var entryPath : String; + var actionId : String; +} + + +@:require(chrome_ext) +@:native("chrome.fileSystemProvider") +extern class FileSystemProvider { + static function mount( options : { + fileSystemId : String, + displayName : String, + ?writable : Bool, + ?openedFilesLimit : Int, + ?supportsNotifyTag : Bool + }, ?callback : Void->Void) : Void; + static function unmount( options : {fileSystemId:String}, ?callback : Void->Void ) : Void; + static function getAll( options : {fileSystemId:String}, ?callback : Void->Void ) : Void; + static function get( fileSystemId : String, callback : FileSystemInfo->Void ) : Void; + static function notify( options : { + fileSystemId : String, + observedPath : String, + recursive : Bool, + changeType : ChangeType, + changes : Array<{entryPath:String,changeType:ChangeType,?tag:String}> + }, + ?callback : Void->Void ) : Void; + static var onUnmountRequested(default,null) : Event<{fileSystemId:String,requestId:Int}->(Void->Void)->(ProviderError->Void)->Void>; + static var onGetMetadataRequested(default,null) : Event<{fileSystemId:String,requestId:Int,entryPath:String,thumbnail:Bool}->(Void->Void)->(ProviderError->Void)->Void>; + static var onReadDirectoryRequested(default,null) : Event<{fileSystemId:String,requestId:Int,directoryPath:String}->(Array->Bool->Void)->(ProviderError->Void)->Void>; + static var onOpenFileRequested(default,null) : Event<{fileSystemId:String,requestId:Int,filePath:String,mode:OpenFileMode}->(Void->Void)->(ProviderError->Void)->Void>; + static var onCloseFileRequested(default,null) : Event<{fileSystemId:String,requestId:Int,openRequestId:Int}->(Void->Void)->(ProviderError->Void)->Void>; + static var onReadFileRequested(default,null) : Event<{fileSystemId:String,requestId:Int,openRequestId:Int,offset:Float,length:Float}->(ArrayBuffer->Bool->Void)->(ProviderError->Void)->Void>; + static var onCreateDirectoryRequested(default,null) : Event<{fileSystemId:String,requestId:Int,directoryPath:String,recursive:Bool}->(Void->Void)->(ProviderError->Void)->Void>; + static var onDeleteEntryRequested(default,null) : Event<{fileSystemId:String,requestId:Int,entryPath:String,recursive:Bool}->(Void->Void)->(ProviderError->Void)->Void>; + static var onCreateFileRequested(default,null) : Event<{fileSystemId:String,requestId:Int,filePath:String}->(Void->Void)->(ProviderError->Void)->Void>; + static var onCopyEntryRequested(default,null) : Event<{fileSystemId:String,sourcePath:String,targetPath:String}->(Void->Void)->(ProviderError->Void)->Void>; + static var onMoveEntryRequested(default,null) : Event<{fileSystemId:String,requestId:Int,sourcePath:String,targetPath:String}->(Void->Void)->(ProviderError->Void)->Void>; + static var onTruncateRequested(default,null) : Event<{fileSystemId:String,requestId:Int,filePath:String,length:Float}->(Void->Void)->(ProviderError->Void)->Void>; + static var onWriteFileRequested(default,null) : Event<{fileSystemId:String,requestId:Int,openRequestId:Int,offset:Int,data:ArrayBuffer}->(Void->Void)->(ProviderError->Void)->Void>; + static var onAbortRequested(default,null) : Event<{fileSystemId:String,requestId:Int,operationRequestId:Int}->(Void->Void)->(ProviderError->Void)->Void>; + static var onConfigureRequested(default,null) : Event<{fileSystemId:String,requestId:Int}->(Void->Void)->(ProviderError->Void)->Void>; + static var onMountRequested(default,null) : Event<(Void->Void)->(ProviderError->Void)->Void>; + static var onAddWatcherRequested(default,null) : Event<{fileSystemId:String,requestId:Int,entryPath:String,recursive:Bool}->(Void->Void)->(ProviderError->Void)->Void>; + static var onRemoveWatcherRequested(default,null) : Event<{fileSystemId:String,requestId:Int,entryPath:String,recursive:Bool}->(Void->Void)->(ProviderError->Void)->Void>; +} diff --git a/chrome/FontSettings.hx b/src/chrome/FontSettings.hx similarity index 74% rename from chrome/FontSettings.hx rename to src/chrome/FontSettings.hx index c7d4f1d..5e5df40 100644 --- a/chrome/FontSettings.hx +++ b/src/chrome/FontSettings.hx @@ -1,11 +1,14 @@ package chrome; +import chrome.Events; +import chrome.Types; + typedef FontName = { var fontId : String; var displayName : String; } -@:enum abstract ScriptCode(String) { +@:enum abstract ScriptCode(String) from String to String { var Afak = "Afak"; var Arab = "Arab"; var Armi = "Armi"; @@ -160,7 +163,7 @@ typedef FontName = { var Zyyy = "Zyyy"; } -@:enum abstract GenericFamily(String) { +@:enum abstract GenericFamily(String) from String to String { var standard = "standard"; var sansserif = "sansserif"; var serif = "serif"; @@ -169,30 +172,33 @@ typedef FontName = { var fantasy = "fantasy"; } -@:enum abstract LevelOfControl(String) { +/* +@:enum abstract LevelOfControl(String) from String to String { var not_controllable = "not_controllable"; var controlled_by_other_extensions = "controlled_by_other_extensions"; var controllable_by_this_extension = "controllable_by_this_extension"; var controlled_by_this_extension = "controlled_by_this_extension"; } +*/ @:require(chrome_ext) @:native("chrome.fontSettings") extern class FontSettings { - static function clearFont( details : {?script:ScriptCode,genericFamily:GenericFamily}, ?f : Void->Void ) : Void; - static function getFont( details : {?script:ScriptCode,genericFamily:GenericFamily}, f : {fontId:String,levelOfControl:LevelOfControl}->Void ) : Void; - static function setFont( details : {?script:ScriptCode,genericFamily:GenericFamily,fontId:String}, ?f : Void->Void ) : Void; - static function getFontList( f : Array->Void ) : Void; - static function clearDefaultFontSize( ?details : Dynamic, ?f : Void->Void ) : Void; - static function getDefaultFontSize( ?details : Dynamic, ?f : {pixelSize:Int,levelOfControl:LevelOfControl}->Void ) : Void; - static function setDefaultFontSize( details : {pixelSize:Int}, ?f : Void->Void ) : Void; - static function clearDefaultFixedFontSize( ?details : Dynamic, ?f : Void->Void ) : Void; - static function getDefaultFixedFontSize( ?details : Dynamic, ?f : {pixelSize:Int,levelOfControl:LevelOfControl}->Void ) : Void; - static function setDefaultFixedFontSize( details : {pixelSize:Int}, ?f : Void->Void ) : Void; - static function clearMinimumFontSize( ?details : Dynamic, ?f : Void->Void ) : Void; - static function getMinimumFontSize( ?details : Dynamic, ?f : Dynamic->Void ) : Void; - static function setMinimumFontSize( details : {pixelSize:Int}, ?f : Void->Void ) : Void; - static var onChanged(default,null) : Event<{fontId:String,script:ScriptCode,genericFamily:GenericFamily,levelOfControl:LevelOfControl}->Void>; + static function clearFont( details : {?script:ScriptCode,genericFamily:GenericFamily}, ?callback : Void->Void ) : Void; + static function getFont( details : {?script:ScriptCode,genericFamily:GenericFamily}, callback : {fontId:String,levelOfControl:LevelOfControl}->Void ) : Void; + static function setFont( details : {?script:ScriptCode,genericFamily:GenericFamily,fontId:String}, ?callback : Void->Void ) : Void; + static function getFontList( callback : Array->Void ) : Void; + static function clearDefaultFontSize( ?details : Dynamic, ?callback : Void->Void ) : Void; + static function getDefaultFontSize( ?details : Dynamic, ?callback : {pixelSize:Int,levelOfControl:LevelOfControl}->Void ) : Void; + static function setDefaultFontSize( details : {pixelSize:Int}, ?callback : Void->Void ) : Void; + static function clearDefaultFixedFontSize( ?details : Dynamic, ?callback : Void->Void ) : Void; + static function getDefaultFixedFontSize( ?details : Dynamic, ?callback : {pixelSize:Int,levelOfControl:LevelOfControl}->Void ) : Void; + static function setDefaultFixedFontSize( details : {pixelSize:Int}, ?callback : Void->Void ) : Void; + static function clearMinimumFontSize( ?details : Dynamic, ?callback : Void->Void ) : Void; + static function getMinimumFontSize( ?details : Dynamic, ?callback : Dynamic->Void ) : Void; + static function setMinimumFontSize( details : {pixelSize:Int}, ?callback : Void->Void ) : Void; + static var onFontChanged(default,null) : Event<{fontId:String,?script:ScriptCode,genericFamily:GenericFamily,levelOfControl:LevelOfControl}->Void>; static var onDefaultFontSizeChanged(default,null) : Event<{pixelSize:Int,levelOfControl:LevelOfControl}->Void>; + static var onDefaultFixedFontSizeChanged(default,null) : Event<{pixelSize:Int,levelOfControl:LevelOfControl}->Void>; static var onMinimumFontSizeChanged(default,null) : Event<{pixelSize:Int,levelOfControl:LevelOfControl}->Void>; } diff --git a/chrome/GCM.hx b/src/chrome/GCM.hx similarity index 96% rename from chrome/GCM.hx rename to src/chrome/GCM.hx index a71823c..5838997 100644 --- a/chrome/GCM.hx +++ b/src/chrome/GCM.hx @@ -1,5 +1,7 @@ package chrome; +import chrome.Events; + @:require(chrome) @:native("chrome.gcm") extern class GCM { @@ -10,4 +12,4 @@ extern class GCM { static var onMessage(default,null) : Event<{data:Dynamic}->Void>; static var onMessagesDeleted(default,null) : EventVoid>; static var onSendError(default,null) : Event<{errorMessage:String,?messageId:String,details:Dynamic}->Void>; -} \ No newline at end of file +} diff --git a/chrome/History.hx b/src/chrome/History.hx similarity index 64% rename from chrome/History.hx rename to src/chrome/History.hx index c22397d..f45dabb 100644 --- a/chrome/History.hx +++ b/src/chrome/History.hx @@ -1,15 +1,8 @@ package chrome; -typedef HistoryItem = { - var id : String; - @:optional var url : String; - @:optional var title : String; - @:optional var lastVisitTime : Float; - @:optional var visitCount : Int; - @:optional var typedCount : Int; -} +import chrome.Events; -@:enum abstract Transition(String) { +@:enum abstract TransitionType(String) from String to String { var link = "link"; var typed = "typed"; var auto_bookmark = "auto_bookmark"; @@ -23,23 +16,32 @@ typedef HistoryItem = { var keyword_generated = "keyword_generated"; } +typedef HistoryItem = { + var id : String; + @:optional var url : String; + @:optional var title : String; + @:optional var lastVisitTime : Float; + @:optional var visitCount : Int; + @:optional var typedCount : Int; +} + typedef VisitItem = { var id : String; var visitId : String; @:optional var visitTime : Float; var referringVisitId : String; - var transition : Transition; + var transition : TransitionType; } @:require(chrome_ext) @:native("chrome.history") extern class History { - static function search( query : { text : String, ?startTime : Float, ?endTime : Float, ?maxResults : Int }, f : Array->Void ) : Void; - static function getVisits( details : { url : String }, f : Array->Void ) : Void; - static function addUrl( details : { url : String }, ?f : Void->Void ) : Void; - static function deleteUrl( details : { url : String }, ?f : Void->Void ) : Void; - static function deleteRange( range : { startTime : Float, endTime : Float }, f : Void->Void ) : Void; - static function deleteAll( f : Void->Void ) : Void; + static function search( query : { text : String, ?startTime : Float, ?endTime : Float, ?maxResults : Int }, callback : Array->Void ) : Void; + static function getVisits( details : { url : String }, callback : Array->Void ) : Void; + static function addUrl( details : { url : String }, ?callback : Void->Void ) : Void; + static function deleteUrl( details : { url : String }, ?callback : Void->Void ) : Void; + static function deleteRange( range : { startTime : Float, endTime : Float }, callback : Void->Void ) : Void; + static function deleteAll( callback : Void->Void ) : Void; static var onVisited(default,null) : EventVoid>; static var onVisitRemoved(default,null) : Event<{allHistory:Bool,?urls:Array}->Void>; } diff --git a/chrome/I18n.hx b/src/chrome/I18n.hx similarity index 70% rename from chrome/I18n.hx rename to src/chrome/I18n.hx index 041ae03..a84a1f7 100644 --- a/chrome/I18n.hx +++ b/src/chrome/I18n.hx @@ -3,7 +3,7 @@ package chrome; @:require(chrome) @:native("chrome.i18n") extern class I18n { - static function getAcceptLanguages( f : Array->Void ) : Void; + static function getAcceptLanguages( callback : Array->Void ) : Void; static function getMessage( messageName : String, ?substitutions : Dynamic ) : String; static function getUILanguage() : String; } diff --git a/src/chrome/Identity.hx b/src/chrome/Identity.hx new file mode 100644 index 0000000..415e564 --- /dev/null +++ b/src/chrome/Identity.hx @@ -0,0 +1,20 @@ +package chrome; + +import chrome.Events; + +typedef AccountInfo = { + var id : String; +} + +@:require(chrome) +@:native("chrome.identity") +extern class Identity { + @:require(chrome_dev) + static function getAccounts( callback : Array->Void ) : Void; + static function getAuthToken( ?details : {?interactive:Bool,?account:AccountInfo,scopes:Array}, ?callback : String->Void ) : Void; + static function getProfileUserInfo( ?callback : {email:String,id:String}->Void ) : Void; + static function removeCachedAuthToken( details : {token:String}, ?callback : Void->Void ) : Void; + static function launchWebAuthFlow( details : {url:String,?interactive:Bool}, callback : String->Void ) : Void; + static function getRedirectURL( ?path : String ) : String; + static var onSignInChanged(default,null) : EventBool->Void>; +} diff --git a/chrome/Idle.hx b/src/chrome/Idle.hx similarity index 60% rename from chrome/Idle.hx rename to src/chrome/Idle.hx index 0c9d61d..4d39712 100644 --- a/chrome/Idle.hx +++ b/src/chrome/Idle.hx @@ -1,6 +1,8 @@ package chrome; -@:enum abstract IdleState(String) { +import chrome.Events; + +@:enum abstract IdleState(String) from String to String { var active = "active"; var idle = "idle"; var locked = "locked"; @@ -9,7 +11,7 @@ package chrome; @:require(chrome) @:native("chrome.idle") extern class Idle { - static function queryState( detectionIntervalInSeconds : Int, f : IdleState->Void ) : Void; + static function queryState( detectionIntervalInSeconds : Int, callback : IdleState->Void ) : Void; static function setDetectionInterval( intervalInSeconds : Int ) : Void; static var onStateChanged : EventVoid>; } diff --git a/src/chrome/Location.hx b/src/chrome/Location.hx new file mode 100644 index 0000000..f6c3d28 --- /dev/null +++ b/src/chrome/Location.hx @@ -0,0 +1,26 @@ +package chrome; + +import chrome.Events; + +@:require(chrome) +@:require(chrome_ext) +@:require(chrome_dev) +@:native("chrome.location") +extern class Location { + static function watchLocation( name : String, requestInfo : {?minDistanceInMeters:Float,?minTimeInMilliseconds:Float,?maximumAge:Float} ) : Void; + static function clearWatch( name : String ) : Void; + static var onLocationUpdate(default,null) : Event<{ + name : String, + coords : { + latitude : Float, + longitude : Float, + ?altitude : Float, + ?accuracy : Float, + ?altitudeAccuracy : Float, + ?heading : Float, + ?speed : Float, + }, + timestamp : Float + }->Void>; + static var onLocationError(default,null) : EventVoid>; +} diff --git a/chrome/Management.hx b/src/chrome/Management.hx similarity index 64% rename from chrome/Management.hx rename to src/chrome/Management.hx index abde8a2..ad044d8 100644 --- a/chrome/Management.hx +++ b/src/chrome/Management.hx @@ -1,23 +1,25 @@ package chrome; +import chrome.Events; + typedef IconInfo = { var size : Int; var url : String; } -@:enum abstract LaunchType(String) { +@:enum abstract LaunchType(String) from String to String { var OPEN_AS_REGULAR_TAB = "OPEN_AS_REGULAR_TAB"; var OPEN_AS_PINNED_TAB = "OPEN_AS_PINNED_TAB"; var OPEN_AS_WINDOW = "OPEN_AS_WINDOW"; var OPEN_FULL_SCREEN = "OPEN_FULL_SCREEN"; } -@:enum abstract DisabledReason(String) { +@:enum abstract ExtensionDisabledReason(String) from String to String { var unknown = "unknown"; var permissions_increase = "permissions_increase"; } -@:enum abstract ExtensionType(String) { +@:enum abstract ExtensionType(String) from String to String { var extension = "extension"; var hosted_app = "hosted_app"; var packaged_app = "packaged_app"; @@ -25,7 +27,7 @@ typedef IconInfo = { var theme = "theme"; } -@:enum abstract ExtensionInstallType(String) { +@:enum abstract ExtensionInstallType(String) from String to String { var admin = "admin"; var development = "development"; var normal = "normal"; @@ -41,7 +43,7 @@ typedef ExtensionInfo = { var version : String; var mayDisable : Bool; var enabled : Bool; - @:optional var disabledReason : DisabledReason; + @:optional var disabledReason : ExtensionDisabledReason; var isApp : Bool; var type : ExtensionType; @:optional var appLaunchUrl : String; @@ -60,17 +62,17 @@ typedef ExtensionInfo = { @:require(chrome_ext) @:native("chrome.management") extern class Management { - static function getAll( ?f : Array->Void ) : Void; - static function get( id : String, ?f : ExtensionInfo->Void ) : Void; - static function getPermissionWarningsById( id : String, ?f : Array->Void ) : Void; - static function getPermissionWarningsByManifest( manifestStr : String, ?f : Array->Void ) : Void; - static function setEnabled( id : String, enabled : Bool, ?f : Void->Void ) : Void; - static function uninstall( id : String, ?options : { ?showConfirmDialog : Bool }, ?f : Void->Void ) : Void; - static function uninstallSelf( ?options : { ?showConfirmDialog : Bool }, ?f : Void->Void ) : Void; - static function launchApp( id : String, ?f : Void->Void ) : Void; - static function createAppShortcut( id : String, ?f : Void->Void ) : Void; - static function setLaunchType( id : String, launchType : LaunchType, ?f : Void->Void ) : Void; - static function generateAppForLink( url : String, title : String, ?f : ExtensionInfo->Void ) : Void; + static function getAll( ?callback : Array->Void ) : Void; + static function get( id : String, ?callback : ExtensionInfo->Void ) : Void; + static function getPermissionWarningsById( id : String, ?callback : Array->Void ) : Void; + static function getPermissionWarningsByManifest( manifestStr : String, ?callback : Array->Void ) : Void; + static function setEnabled( id : String, enabled : Bool, ?callback : Void->Void ) : Void; + static function uninstall( id : String, ?options : { ?showConfirmDialog : Bool }, ?callback : Void->Void ) : Void; + static function uninstallSelf( ?options : { ?showConfirmDialog : Bool }, ?callback : Void->Void ) : Void; + static function launchApp( id : String, ?callback : Void->Void ) : Void; + static function createAppShortcut( id : String, ?callback : Void->Void ) : Void; + static function setLaunchType( id : String, launchType : LaunchType, ?callback : Void->Void ) : Void; + static function generateAppForLink( url : String, title : String, ?callback : ExtensionInfo->Void ) : Void; static var onInstalled(default,null) : EventVoid>; static var onUninstalled(default,null) : EventVoid>; static var onEnabled(default,null) : EventVoid>; diff --git a/chrome/Notifications.hx b/src/chrome/Notifications.hx similarity index 66% rename from chrome/Notifications.hx rename to src/chrome/Notifications.hx index c716497..ae7c384 100644 --- a/chrome/Notifications.hx +++ b/src/chrome/Notifications.hx @@ -1,50 +1,54 @@ package chrome; -@:enum abstract TemplateType(String) { +import chrome.Events; + +@:enum abstract TemplateType(String) from String to String { var basic = "basic"; var image = "image"; var list = "list"; var progress = "progress"; } -typedef NotificationButton = { - var title : String; - @:optional var iconUrl : String; -} - -typedef NotificationItem = { - var title : String; - var message : String; +@:enum abstract PermissionLevel(String) from String to String { + var granted = "granted"; + var denied = "denied"; } typedef NotificationOptions = { @:optional var type : TemplateType; @:optional var iconUrl : String; + @:optional var appIconMaskUrl : String; @:optional var title : String; @:optional var message : String; @:optional var contextMessage : String; @:optional var priority : Int; @:optional var eventTime : Float; - @:optional var buttons : Array; + @:optional var buttons : Array<{title:String,?iconUrl:String}>; @:optional var imageUrl : String; - @:optional var items : Array; + @:optional var items : Array<{title:String,message:String}>; @:optional var progress : Int; @:optional var isClickable : Bool; } +/* +typedef NotificationButton = { + var title : String; + @:optional var iconUrl : String; +} -@:enum abstract PermissionLevel(String) { - var granted = "granted"; - var denied = "denied"; +typedef NotificationItem = { + var title : String; + var message : String; } +*/ @:require(chrome) @:native("chrome.notifications") extern class Notifications { - static function create( notificationId : String, options : NotificationOptions, f : String->Void ) : Void; - static function update( notificationId : String, options : NotificationOptions, f : Bool->Void ) : Void; - static function clear( notificationId : String, f : Bool->Void ) : Void; - static function getAll( f : Dynamic->Void ) : Void; - static function getPermissionLevel( f : PermissionLevel->Void ) : Void; + static function create( notificationId : String, options : NotificationOptions, callback : String->Void ) : Void; + static function update( notificationId : String, options : NotificationOptions, callback : Bool->Void ) : Void; + static function clear( notificationId : String, callback : Bool->Void ) : Void; + static function getAll( callback : Dynamic->Void ) : Void; + static function getPermissionLevel( callback : PermissionLevel->Void ) : Void; static var onClosed(default,never) : EventBool->Void>; static var onClicked(default,never) : EventVoid>; static var onButtonClicked(default,never) : EventInt->Void>; diff --git a/chrome/Omnibox.hx b/src/chrome/Omnibox.hx similarity index 52% rename from chrome/Omnibox.hx rename to src/chrome/Omnibox.hx index fc2c2bd..d35b4af 100644 --- a/chrome/Omnibox.hx +++ b/src/chrome/Omnibox.hx @@ -1,18 +1,28 @@ package chrome; -typedef SuggestResult = { - var content : String; - var description : String; +import chrome.Events; + +@:enum abstract DescriptionStyleType(String) from String to String { + var url = "url"; + var match = "match"; + var dim = "dim"; } -private typedef Suggestion = { +@:enum abstract OnInputEnteredDisposition(String) from String to String { + var currentTab = "currentTab"; + var newForegroundTab = "newForegroundTab"; + var newBackgroundTab = "newBackgroundTab"; +} + +typedef SuggestResult = { + var content : String; var description : String; } @:require(chrome_ext) @:native("chrome.omnibox") extern class Omnibox { - static function setDefaultSuggestion( suggestion : Suggestion ) : Void; + static function setDefaultSuggestion( suggestion : {suggestion:String} ) : Void; static var onInputStarted(default,never) : EventVoid>; static var onInputChanged(default,never) : Event(Array->Void)->Void>; static var onInputEntered(default,never) : EventString->Void>; diff --git a/chrome/PageAction.hx b/src/chrome/PageAction.hx similarity index 59% rename from chrome/PageAction.hx rename to src/chrome/PageAction.hx index 23894fc..8be5ec3 100644 --- a/chrome/PageAction.hx +++ b/src/chrome/PageAction.hx @@ -1,6 +1,8 @@ package chrome; -private typedef ImageDataType = Dynamic; //TODO +import js.html.ImageData; +import chrome.Events; +import chrome.Tabs; @:require(chrome_ext) @:native("chrome.pageAction") @@ -8,9 +10,9 @@ extern class PageAction { static function show( tabId : Int ) : Void; static function hide( tabId : Int ) : Void; static function setTitle( details : { tabId : Int, title : String } ) : Void; - static function getTitle( details : { tabId : Int }, f : String->Void ) : Void; - static function setIcon( details : { tabId : Int, ?imageData : ImageDataType, ?path : Dynamic, ?iconIndex : Int }, ?f : Void->Void ) : Void; + static function getTitle( details : { tabId : Int }, callback : String->Void ) : Void; + static function setIcon( details : { tabId : Int, ?imageData : ImageData, ?path : Dynamic, ?iconIndex : Int }, ?callback : Void->Void ) : Void; static function setPopup( details : { tabId : Int, popup : String } ) : Void; - static function getPopup( details : { tabId : Int }, f : String->Void ) : Void; + static function getPopup( details : { tabId : Int }, callback : String->Void ) : Void; static var onClicked(default,null) : EventVoid>; } diff --git a/chrome/PageCapture.hx b/src/chrome/PageCapture.hx similarity index 100% rename from chrome/PageCapture.hx rename to src/chrome/PageCapture.hx diff --git a/src/chrome/Permissions.hx b/src/chrome/Permissions.hx new file mode 100644 index 0000000..0ea53f4 --- /dev/null +++ b/src/chrome/Permissions.hx @@ -0,0 +1,19 @@ +package chrome; + +import chrome.Events; + +typedef PermissionsData = { + @:optional var permissions : Array; + @:optional var origins : Array; +} + +@:require(chrome) +@:native("chrome.permissions") +extern class Permissions { + static function getAll( callback : PermissionsData->Void ) : Void; + static function contains( permissions : PermissionsData, callback : Bool->Void ) : Void; + static function request( permissions : PermissionsData, ?callback : Bool->Void ) : Void; + static function remove( permissions : PermissionsData, ?callback : Bool->Void ) : Void; + static var onAdded(default,never) : EventVoid>; + static var onRemoved(default,never) : EventVoid>; +} diff --git a/src/chrome/PlatformKeys.hx b/src/chrome/PlatformKeys.hx new file mode 100644 index 0000000..01bd63a --- /dev/null +++ b/src/chrome/PlatformKeys.hx @@ -0,0 +1,22 @@ +package chrome; + +import js.html.ArrayBuffer; + +typedef Match = { + var certificate : ArrayBuffer; + var keyAlgorithm : Dynamic; +} + +@:enum abstract CertificateTypes(String) from String to String { + var rsaSign = "rsaSign"; + var ecdsaSign = "ecdsaSign"; +} + +@:require(chrome) +@:native("chrome.platformKeys") +extern class PlatformKeys { + static function getAll( request : {certificateTypes:CertificateTypes,?certificateAuthorities:Array}, callback : Array->Void ) : Void; + static function getKeyPair( certificate : ArrayBuffer, parameters : Dynamic, callback : Dynamic->?Dynamic->Void ) : Void; + static function subtleCrypto() : js.html.SubtleCrypto; + static function verifyTLSServerCertificate( details : { serverCertificateChain : Array, hostname : String }, callback : Bool->Array->Void ) : Void; +} diff --git a/chrome/Power.hx b/src/chrome/Power.hx similarity index 81% rename from chrome/Power.hx rename to src/chrome/Power.hx index 475bd1c..8e580f6 100644 --- a/chrome/Power.hx +++ b/src/chrome/Power.hx @@ -1,6 +1,6 @@ package chrome; -@:enum abstract Level(String) { +@:enum abstract Level(String) from String to String { var system = "system"; var display = "display"; } diff --git a/src/chrome/PrinterProvider.hx b/src/chrome/PrinterProvider.hx new file mode 100644 index 0000000..e6112fc --- /dev/null +++ b/src/chrome/PrinterProvider.hx @@ -0,0 +1,19 @@ +package chrome; + +import chrome.Events; + +typedef PrinterInfo = { + var id : String; + var name : String; + @:optional var description : String; +} + +@:require(chrome) +@:native("chrome.printerProvider") +extern class PrinterProvider { + static var onGetPrintersRequested(default,null) : Event<(Array->Void)->Void>; + //TODO static var onGetUsbPrinterInfoRequested(default,null) : Event<(chrome.usb.Device->PrinterInfo->Void)->Void>; + static var onGetUsbPrinterInfoRequested(default,null) : Event<(Dynamic->PrinterInfo->Void)->Void>; + static var onGetCapabilityRequested(default,null) : EventVoid>; + static var onPrintRequested(default,null) : Event<{printerId:String,title:String,ticket:Dynamic,contentType:String,document:js.html.Blob}->(String->Void)->Void>; +} diff --git a/src/chrome/Privacy.hx b/src/chrome/Privacy.hx new file mode 100644 index 0000000..3504bc9 --- /dev/null +++ b/src/chrome/Privacy.hx @@ -0,0 +1,27 @@ +package chrome; + +import chrome.Types; + +private typedef Services = { + alternateErrorPagesEnabled : ChromeSetting, + autofillEnabled : ChromeSetting, + safeBrowsingEnabled : ChromeSetting, + searchSuggestEnabled : ChromeSetting, + spellingServiceEnabled : ChromeSetting, + translationServiceEnabled : ChromeSetting +} + +private typedef Websites = { + thirdPartyCookiesAllowed : ChromeSetting, + hyperlinkAuditingEnabled : ChromeSetting, + referrersEnabled : ChromeSetting, + protectedContentEnabled : ChromeSetting +} + +@:require(chrome_ext) +@:native("chrome.privacy") +extern class Privacy { + static var network(default,never) : { networkPredictionEnabled : ChromeSetting, webRTCMultipleRoutesEnabled : Dynamic }; + static var services(default,never) : Services; + static var websites(default,never) : Websites; +} diff --git a/chrome/Proxy.hx b/src/chrome/Proxy.hx similarity index 63% rename from chrome/Proxy.hx rename to src/chrome/Proxy.hx index 2a73ac3..42ed7ba 100644 --- a/chrome/Proxy.hx +++ b/src/chrome/Proxy.hx @@ -1,16 +1,8 @@ package chrome; -import chrome.types.ChromeSetting; +import chrome.Events; -/* -private typedef ProxyError = { - var fatal : Bool; - var error : String; - var details : String; -} -*/ - -@:enum abstract ProxyServerScheme(String) { +@:enum abstract ProxyServerScheme(String) from String to String { var http = "http"; var https = "https"; var quic = "quic"; @@ -33,8 +25,13 @@ typedef ProxyRules = { @:optional var bypassList : Array; } +typedef PacScript = { + @:optional var url : String; + @:optional var data : String; + @:optional var mandatory : Bool; +} -@:enum abstract ProxyConfigMode(String) { +@:enum abstract ProxyConfigMode(String) from String to String { var direct = "direct"; var auto_detect = "auto_detect"; var pac_script = "pac_script"; @@ -45,12 +42,16 @@ typedef ProxyRules = { typedef ProxyConfig = { @:optional var rules : ProxyRules; @:optional var pacScript : PacScript; - @:optional var mode : PacScript; + var mode : PacScript; } @:require(chrome_ext) @:native("chrome.proxy") extern class Proxy { - static var settings : ChromeSetting; + static var settings : { + get : { details:{?incognito:Bool}, callback : String->?Bool->Void }->Void, + set : { details:{any:Dynamic,?scope:String}, ?callback : Void->Void }->Void, + clear : { details:{?scope:String}, ?callback : Void->Void }->Void + }; static var onProxyError(default,never) : Event<{fatal:Bool,error:String,details:String}->Void>; } diff --git a/src/chrome/Runtime.hx b/src/chrome/Runtime.hx new file mode 100644 index 0000000..2ddeba2 --- /dev/null +++ b/src/chrome/Runtime.hx @@ -0,0 +1,100 @@ +package chrome; + +import chrome.Events; +import chrome.Tabs; + +typedef MessageSender = { + @:optional var tab : Tab; + @:optional var frameId : Int; + @:optional var id : String; + @:optional var url : String; + @:optional var tlsChannelId : String; +} + +typedef Port = { + var name : String; + var disconnect : Void->Void; + var onDisconnect : Dynamic; + var onMessage : Dynamic; + var postMessage : Void->Void; + @:optional var sender : Void->Void; +} + +@:enum abstract PlatformOs(String) from String to String { + var mac = "mac"; + var win = "win"; + var android = "android"; + var cros = "cros"; + var linux = "linux"; + var openbsd = "openbsd"; +} + +@:enum abstract PlatformArch(String) from String to String { + var arm = "arm"; + var x86_32 = "x86-32"; + var x86_64 = "x86-64"; +} + +@:enum abstract PlatformNaclArch(String) from String to String { + var arm = "arm"; + var x86_32 = "x86-32"; + var x86_64 = "x86-64"; +} + +typedef PlatformInfo = { + var os : PlatformOs; + var arch : PlatformArch; + var nacl_arch : PlatformNaclArch; +} + +@:enum abstract RequestUpdateCheckStatus(String) from String to String { + var throttled = "throttled"; + var no_update = "no_update"; + var update_available = "update_available"; +} + +@:enum abstract OnInstalledReason(String) from String to String { + var install = "install"; + var update = "update"; + var shared_module_update = "shared_module_update"; +} + +@:enum abstract OnRestartRequiredReason(String) from String to String { + var app_update = "app_update"; + var os_update = "os_update"; + var periodic = "periodic"; +} + +typedef DirectoryEntry = Dynamic; //TODO + +@:require(chrome) +@:native("chrome.runtime") +extern class Runtime { + static var lastError : {?message:String}; + static var id : String; + static function getBackgroundPage( callback : js.html.Window->Void ) : Void; + static function openOptionsPage( ?callback : Void->Void ) : Void; + static function getManifest( callback : Dynamic->Void ) : Void; + static function getURL( path : String ) : String; + static function setUninstallURL( url : String, ?callback : Void->Void ) : Void; + static function reload() : Void; + static function requestUpdateCheck( callback : RequestUpdateCheckStatus->?{version:String}->Void ) : Void; + static function restart() : Void; + static function connect( ?extensionId : String, ?connectInfo : {?name:String,?includeTlsChannelId:Bool} ) : Port; + static function connectNative( application : String ) : Port; + static function sendMessage( ?extensionId : String, message : Dynamic, ?options : {?includeTlsChannelId:Bool}, ?callback : Dynamic->Void ) : Port; + static function sendNativeMessage( ?application : String, message : Dynamic, ?callback : Dynamic->Void ) : Port; + static function getPlatformInfo( callback : PlatformInfo->Void ) : Port; + static function getPackageDirectoryEntry( callback : DirectoryEntry->Void ) : Port; + static var onStartup(default,null) : EventVoid>; + static var onInstalled(default,null) : Event<{reason:OnInstalledReason,?previousVersion:String,?id:String}->Void>; + static var onSuspend(default,null) : EventVoid>; + static var onSuspendCanceled(default,null) : EventVoid>; + static var onUpdateAvailable(default,null) : Event<{version:String}->Void>; + //static var onBrowserUpdateAvailable(default,null) : EventVoid>; + static var onConnect(default,null) : EventVoid>; + static var onConnectExternal(default,null) : EventVoid>; + static var onMessage(default,null) : EventMessageSender->(Void->Void)->Void>; + static var onMessageExternal(default,null) : EventMessageSender->(Void->Void)->Void>; + static var onRestartRequired(default,null) : EventVoid>; +} diff --git a/src/chrome/Sessions.hx b/src/chrome/Sessions.hx new file mode 100644 index 0000000..160d4dd --- /dev/null +++ b/src/chrome/Sessions.hx @@ -0,0 +1,30 @@ +package chrome; + +import chrome.Events; +import chrome.Tabs; +import chrome.Windows; + +typedef Filter = { + @:optional var maxResults : Int; +} + +typedef Session = { + var lastModified : Int; + @:optional var tab : Tab; + @:optional var window : Window; +} + +typedef SessionDevice = { + var deviceName : String; + var sessions : Array; +} + +@:require(chrome_ext) +@:native("chrome.sessions") +extern class Sessions { + static var MAX_SESSION_RESULTS(default,never) : Int; + static function getRecentlyClosed( ?filter : Filter, callback : Array->Void ) : Void; + static function getDevices( ?filter : Filter, callback : Array->Void ) : Void; + static function restore( ?sessionId : String, ?callback : Session->Void ) : Void; + static var onChanged(default,null) : EventVoid>; +} diff --git a/src/chrome/SignedInDevices.hx b/src/chrome/SignedInDevices.hx new file mode 100644 index 0000000..b76b6e3 --- /dev/null +++ b/src/chrome/SignedInDevices.hx @@ -0,0 +1,36 @@ +package chrome; + +import chrome.Events; + +@:enum abstract OS(String) from String to String { + var win = "win"; + var mac = "mac"; + var linux = "linux"; + var chrome_os = "chrome_os"; + var android = "android"; + var ios = "ios"; + var unknown = "unknown"; +} + +@:enum abstract SignedInDeviceType(String) from String to String { + var desktop_or_laptop = "desktop_or_laptop"; + var phone = "phone"; + var tablet = "tablet"; + var unknown = "unknown"; +} + +typedef DeviceInfo = { + var name : String; + var id : String; + var os : OS; + var type : SignedInDeviceType; + var chromeVersion : String; +} + +@:require(chrome) +@:require(chrome_dev) +@:native("chrome.signedInDevices") +extern class SignedInDevices { + static function get( ?isLocal : Bool, callback : Array->Void ) : Void; + static var onDeviceInfoChange(default,null) : Event->Void>; +} diff --git a/src/chrome/Storage.hx b/src/chrome/Storage.hx new file mode 100644 index 0000000..9f78630 --- /dev/null +++ b/src/chrome/Storage.hx @@ -0,0 +1,40 @@ +package chrome; + +import chrome.Events; + +typedef StorageChange = { + @:optional var oldValue : Dynamic; + @:optional var newValue : Dynamic; +} + +typedef StorageArea = { + + @:overload(function( ?keys : Dynamic, ?callback : Dynamic->Void ):Void{}) + @:overload(function( ?keys : String, ?callback : Dynamic->Void ):Void{}) + function get( ?keys : Array, ?callback : Dynamic->Void ) : Void; + + @:overload(function( ?keys : Array, callback : Int->Void ):Void{}) + function getBytesInUse( ?keys : String, callback : Int->Void ) : Void; + + function set( items : Dynamic, ?callback : Void->Void ) : Void; + + @:overload(function( ?keys : Array, ?callback : Void->Void ):Void{}) + function remove( keys : String, ?callback : Void->Void ) : Void; + + function clear( ?callback : Void->Void ) : Void; +} + +@:enum abstract StorageAreaName(String) from String to String { + var sync = "sync"; + var local = "local"; + var managed = "managed"; +} + +@:require(chrome) +@:native("chrome.storage") +extern class Storage { + static var sync(default,null) : StorageArea; + static var local(default,null) : StorageArea; + static var managed(default,null) : StorageArea; + static var onChanged(default,null) : EventString->Void>; +} diff --git a/chrome/TTS.hx b/src/chrome/TTS.hx similarity index 76% rename from chrome/TTS.hx rename to src/chrome/TTS.hx index 55d89df..44c1b40 100644 --- a/chrome/TTS.hx +++ b/src/chrome/TTS.hx @@ -1,19 +1,6 @@ package chrome; -@:enum abstract TtsGender(String) { - var male = "male"; - var female = "female"; -} - -typedef TtsVoice = { - @:optional var voiceName : String; - @:optional var lang : String; - @:optional var gender : TtsGender; - @:optional var extensionId : String; - @:optional var eventTypes : Array; -} - -@:enum abstract TtsEventType(String) { +@:enum abstract TtsEventType(String) from String to String { var start = "start"; var end = "end"; var word = "word"; @@ -29,12 +16,25 @@ typedef TtsVoice = { typedef TtsEvent = { var type : TtsEventType; @:optional var charIndex : Float; - @:optional var errorMessage : String; + @:optional var errorMessage : String; +} + +@:enum abstract TtsGender(String) from String to String { + var male = "male"; + var female = "female"; +} + +typedef TtsVoice = { + @:optional var voiceName : String; + @:optional var lang : String; + @:optional var gender : TtsGender; + @:optional var extensionId : String; + @:optional var eventTypes : Array; } @:require(chrome) @:native("chrome.tts") -extern class TTS { +extern class Tts { static function speak( utterance : String, ?options : { @@ -50,11 +50,11 @@ extern class TTS { ?desiredEventTypes : Array, ?onEvent : TtsEvent->Void }, - ?f : Void->Void + ?callback : Void->Void ) : Void; static function stop() : Void; static function pause() : Void; static function resume() : Void; - static function isSpeaking( ?f : Bool->Void ) : Void; - static function getVoices( ?f : Array->Void ) : Void; + static function isSpeaking( ?callback : Bool->Void ) : Void; + static function getVoices( ?callback : Array->Void ) : Void; } diff --git a/chrome/TTSEngine.hx b/src/chrome/TTSEngine.hx similarity index 68% rename from chrome/TTSEngine.hx rename to src/chrome/TTSEngine.hx index c4aca9f..482c3f4 100644 --- a/chrome/TTSEngine.hx +++ b/src/chrome/TTSEngine.hx @@ -1,14 +1,15 @@ package chrome; +import chrome.Events; import chrome.TTS; typedef TTSEngineListenerOptions = { - @:optional var voiceName : String; - @:optional var lang : String; - @:optional var gender : TtsGender; - @:optional var rate : Float; - @:optional var pitch : Float; - @:optional var volume : Float; + ?voiceName : String, + ?lang : String, + ?gender : TtsGender, + ?rate : Float, + ?pitch : Float, + ?volume : Float } @:require(chrome) diff --git a/chrome/TabCapture.hx b/src/chrome/TabCapture.hx similarity index 60% rename from chrome/TabCapture.hx rename to src/chrome/TabCapture.hx index 1dee9bc..51e9c73 100644 --- a/chrome/TabCapture.hx +++ b/src/chrome/TabCapture.hx @@ -1,37 +1,40 @@ package chrome; -typedef LocalMediaStream = Dynamic; //TODO +import js.html.LocalMediaStream; +import chrome.Events; + +/* +typedef CaptureInfo = { + var tabId : Int; + var status : CaptureStatus; + var fullscreen : Bool; +} + +*/ typedef MediaStreamConstraint = { var mandatory : Dynamic; @:optional var optional : Dynamic; } -typedef CaptureOptions = { +private typedef CaptureOptions = { @:optional var audio : Bool; @:optional var video : Bool; @:optional var audioConstraints : MediaStreamConstraint; @:optional var videoConstraints : MediaStreamConstraint; } -@:enum abstract CaptureStatus(String) { +@:enum abstract CaptureInfo(String) from String to String { var pending = "pending"; var active = "active"; var stopped = "stopped"; var error = "error"; } -typedef CaptureInfo = { - var tabId : Int; - var status : CaptureStatus; - var fullscreen : Bool; -} - - @:require(chrome_ext) @:native("chrome.tabCapture") extern class TabCapture { - static function capture( options : CaptureOptions, f : LocalMediaStream->Void ) : Void; - static function getCapturedTabs( f : Array->Void ) : Void; + static function capture( options : {?audio:Bool,?video:Bool,?audioConstraints:MediaStreamConstraint,?videoConstraints:MediaStreamConstraint}, callback : LocalMediaStream->Void ) : Void; + static function getCapturedTabs( callback : Array->Void ) : Void; static var onStatusChanged(default,null) : EventVoid>; } diff --git a/src/chrome/Tabs.hx b/src/chrome/Tabs.hx new file mode 100644 index 0000000..33467d2 --- /dev/null +++ b/src/chrome/Tabs.hx @@ -0,0 +1,93 @@ +package chrome; + +import chrome.Runtime; +import chrome.Types; +import chrome.Windows; +import chrome.Events; +import chrome.ExtensionTypes; + +@:enum abstract MutedInfoReason(String) from String to String { + var user = "user"; + var capture = "capture"; + var extension = "extension"; +} + +typedef Tab = { + @:optional var id : Int; + var index : Int; + var windowId : Int; + @:optional var openerTabId : Int; + @:optional var highlighted : Bool; + var active : Bool; + var pinned : Bool; + @:optional var audible : Bool; + @:requires(chrome_dev) + //@:optional var mutedInfo : MutedInfo; + @:optional var url : String; + @:optional var title : String; + @:optional var favIconUrl : String; + @:optional var status : String; + @:optional var incognito : Bool; + @:optional var width : Int; + @:optional var height : Int; + @:optional var sessionId : String; +} + +@:enum abstract ZoomSettingsMode(String) from String to String { + var automatic = "automatic"; + var manual = "manual"; + var disabled = "disabled"; +} + +@:enum abstract ZoomSettingsScope(String) from String to String { + var per_origin = "per-origin"; + var per_tab = "per-tab"; +} + +typedef ZoomSettings = { + @:optional var mode : ZoomSettingsMode; + @:optional var scope : ZoomSettingsScope; + @:optional var defaultZoomFactor : Float; +} + +@:enum abstract TabStatus(String) from String to String { + var loading = "loading"; + var complete = "complete"; +} + +@:require(chrome_ext) +@:native("chrome.tabs") +extern class Tabs { + static function get( tabId : Int, callback : Tab->Void ) : Void; + static function getCurrent( callback : Tab->Void ) : Void; + static function connect( tabId : Int, connectInfo : {?name:String} ) : chrome.Port; + static function sendMessage( tabId : Int, message : Dynamic, callback : Dynamic->Void ) : Void; + static function create( createProperties : {?windowId:Int,?index:Int,?url:String,?active:Bool,?pinned:Bool,openerTabId:Int}, callback : Tab->Void ) : Void; + static function duplicate( tabId : Int, ?callback : Tab->Void ) : Void; + static function query( queryInfo : {?active:Bool,?pinned:Bool,?audible:Bool,?muted:Bool,?highlighted:Bool,?lastFocusedWindow:Bool,?currentWindow:Bool,?status:TabStatus,?title:String,?url:String,?windowId:Int,windowType:WindowType,?index:Int}, callback : Array->Void ) : Void; + static function highlight( highlightInfo : {?windowId:Int,tabs:Array}, ?callback : Window->Void ) : Void; + static function update( ?tabId : Int, updateProperties : {?url:String,?active:Bool,?highlighted:Bool,?pinned:Bool,?muted:Bool,?openerTabId:Int}, ?callback : Tab->Void ) : Void; + @:overload(function( ?tabId : Int, moveProperties : {?windowId:Int,?index:Int}, ?callback : Array->Void ) : Void {}) + static function move( ?tabId : Int, moveProperties : {?windowId:Int,?index:Int}, ?callback : Tab->Void ) : Void; + static function reload( ?tabId : Int, reloadProperties : {?bypassCache:Bool}, ?callback : Void->Void ) : Void; + @:overload(function( ?tabId : Array, ?callback : Void->Void ) : Void {}) + static function remove( ?tabId : Int, ?callback : Void->Void ) : Void; + static function detectLanguage( ?tabId : Int, callback : String->Void ) : Void; + static function captureVisibleTab( ?windowId : Int, ?options : {?format:ImageDetails,?auality:Int}, callback : String->Void ) : Void; + static function executeScript( ?tabId : Int, details : {?code:String,?file:String,?allFrames:Bool,?matchAboutBlank:Bool,?runAt:String}, ?callback : Array->Void ) : Void; + static function insertCSS( ?tabId : Int, details : {?code:String,?file:String,?allFrames:Bool,?matchAboutBlank:Bool,?runAt:String}, ?callback : Void->Void ) : Void; + static function setZoom( ?tabId : Int, zoomFactor : Float, ?callback : Void->Void ) : Void; + static function getZoom( ?tabId : Int, callback : Float->Void ) : Void; + static function setZoomSettings( ?tabId : Int, zoomSettings : ZoomSettings, ?callback : Void->Void ) : Void; + static function getZoomSettings( ?tabId : Int, callback : ZoomSettings->Void ) : Void; + static var onCreated(default,null) : EventVoid>; + static var onUpdated(default,null) : Event{?status:String,?url:String,?pinned:Bool,?audible:Bool,?favIconUrl:String}->Tab->Void>; + static var onMoved(default,null) : Event{windowId:Int,fromIndex:Int,toIndex:Int}->Void>; + static var onActivated(default,null) : Event<{tabId:Int,windowId:Int}->Void>; + static var onHighlighted(default,null) : Event<{windowId:Int,tabIds:Array}->Void>; + static var onDetached(default,null) : Event<{oldWindowId:Int,oldPosition:Int}->Void>; + static var onAttached(default,null) : Event<{newWindowId:Int,newPosition:Int}->Void>; + static var onRemoved(default,null) : Event{windowId:Int,isWindowClosing:Bool}->Void>; + static var onReplaced(default,null) : EventInt->Void>; + static var onZoomChange(default,null) : Event<{tabId:Int,oldZoomFactor:Float,newZoomFactor:Float,zoomSettings:ZoomSettings}->Void>; +} diff --git a/src/chrome/TopSites.hx b/src/chrome/TopSites.hx new file mode 100644 index 0000000..686b057 --- /dev/null +++ b/src/chrome/TopSites.hx @@ -0,0 +1,13 @@ +package chrome; + +typedef MostVisitedURL = { + var url : String; + var title : String; +} + +@:require(chrome) +@:require(chrome_ext) +@:native("chrome.topSites") +extern class TopSites { + static function get( callback : Array->Void ) : Void; +} diff --git a/src/chrome/Types.hx b/src/chrome/Types.hx new file mode 100644 index 0000000..07dbb3d --- /dev/null +++ b/src/chrome/Types.hx @@ -0,0 +1,26 @@ +package chrome; + +import chrome.Events; + +@:enum abstract ChromeSettingScope(String) from String to String { + var regular = "regular"; + var regular_only = "regular_only"; + var incognito_persistent = "incognito_persistent"; + var incognito_session_only = "incognito_session_only"; +} + +@:enum abstract LevelOfControl(String) from String to String { + var not_controllable = "not_controllable"; + var controlled_by_other_extensions = "controlled_by_other_extensions"; + var controllable_by_this_extension = "controllable_by_this_extension"; + var controlled_by_this_extension = "controlled_by_this_extension"; +} + +@:require(chrome) +@:native("chrome.types.chromeSetting") +extern class ChromeSetting { + function get( details : {?incognito:Bool}, callback : {value:Dynamic,levelOfControl:LevelOfControl,?incognitoSpecific:Bool}->Void ) : Void; + function set( details : {value:Dynamic,?scope:ChromeSettingScope}, ?callback : Void->Void ) : Void; + function clear( details : {?scope:ChromeSettingScope}, ?callback : Void->Void ) : Void; + var onChange : Event<{value:Dynamic,levelOfControl:LevelOfControl,?incognitoSpecific:Bool}->Void>; +} diff --git a/src/chrome/VpnProvider.hx b/src/chrome/VpnProvider.hx new file mode 100644 index 0000000..1e88037 --- /dev/null +++ b/src/chrome/VpnProvider.hx @@ -0,0 +1,24 @@ +package chrome; + +import js.html.ArrayBuffer; +import chrome.Events; + +@:enum abstract ConnectionState(String) from String to String { + var connected = "connected"; + var failure = "failure"; +} + +@:require(chrome_os) +@:native("chrome.vpnProvider") +extern class VpnProvider { + static function createConfig( name : String, callback : String->Void ) : Void; + static function destroyConfig( id : String, ?callback : Void->Void ) : Void; + static function setParameters( parameters : {address:String,?broadcastAddress:String,?mtu:String,exclusionList:Array,inclusionList:Array,?domainSearch:Array,dnsServers:Array}, callback : Void->Void ) : Void; + static function sendPacket( data : ArrayBuffer, ?callback : Void->Void ) : Void; + static function notifyConnectionStateChanged( state : ConnectionState, ?callback : Void->Void ) : Void; + static var onPlatformMessage(default,null) : EventString->String->Void>; + static var onPacketReceived(default,null) : EventVoid>; + static var onConfigRemoved(default,null) : EventVoid>; + static var onConfigCreated(default,null) : EventString->Dynamic->Void>; + static var onUIEvent(default,null) : Event?String->Void>; +} diff --git a/src/chrome/Wallpaper.hx b/src/chrome/Wallpaper.hx new file mode 100644 index 0000000..2e3d809 --- /dev/null +++ b/src/chrome/Wallpaper.hx @@ -0,0 +1,13 @@ +package chrome; + +@:enum abstract WallpaperLayout(String) from String to String { + var STRETCH = "STRETCH"; + var CENTER = "CENTER"; + var CENTER_CROPPED = "CENTER_CROPPED"; +} + +@:require(chrome_os) +@:native("chrome.wallpaper") +extern class Wallpaper { + static function setWallpaper( details : {?data:Dynamic,?url:String,layout:WallpaperLayout,filename:String,?thumbnail:Bool}, callback : Dynamic->Void ) : Void; +} diff --git a/src/chrome/WebNavigation.hx b/src/chrome/WebNavigation.hx new file mode 100644 index 0000000..f68ca6a --- /dev/null +++ b/src/chrome/WebNavigation.hx @@ -0,0 +1,43 @@ +package chrome; + +import chrome.Events; +import chrome.History; + +/* +@:enum abstract TransitionType(String) from String to String { + var link = "link"; + var typed = "typed"; + var auto_bookmark = "auto_bookmark"; + var auto_subframe = "auto_subframe"; + var manual_subframe = "manual_subframe"; + var generated = "generated"; + var start_page = "start_page"; + var form_submit = "form_submit"; + var reload = "reload"; + var keyword = "keyword"; + var keyword_generated = "keyword_generated"; +} +*/ + +@:enum abstract TransitionQualifier(String) from String to String { + var client_redirect = "client_redirect"; + var server_redirect = "server_redirect"; + var forward_back = "forward_back"; + var from_address_bar = "from_address_bar"; +} + +@:require(chrome_ext) +@:native("chrome.webNavigation") +extern class WebNavigation { + static function getFrame( details : { tabId : Int, processId : Int, frameId : Int }, callback : {errorOccurred:Bool,url:String,parentFrameId:Int}->Void ) : Void; + static function getAllFrames( details : { tabId : Int }, callback : Array<{errorOccurred:Bool,processId:Int,frameId:Int,parentFrameId:Int,url:String}>->Void ) : Void; + static var onBeforeNavigate(default,null) : Event<{?hostContains:String,?hostEquals:String,?hostPrefix:String,?hostSuffix:String,?pathContains:String,?pathEquals:String,?pathPrefix:String,?pathSuffix:String,?queryContains:String,?queryEquals:String,?queryPrefix:String,?querySuffix:String,?urlContains:String,?urlEquals:String,?urlMatches:String,?originAndPathMatches:String,?urlPrefix:String,?urlSuffix:String,?schemes:Array,?ports:Array}->Void>; + static var onCommitted(default,null) : Event<{?hostContains:String,?hostEquals:String,?hostPrefix:String,?hostSuffix:String,?pathContains:String,?pathEquals:String,?pathPrefix:String,?pathSuffix:String,?queryContains:String,?queryEquals:String,?queryPrefix:String,?querySuffix:String,?urlContains:String,?urlEquals:String,?urlMatches:String,?originAndPathMatches:String,?urlPrefix:String,?urlSuffix:String,?schemes:Array,?ports:Array}->Void>; + static var onDOMContentLoaded(default,null) : Event<{?hostContains:String,?hostEquals:String,?hostPrefix:String,?hostSuffix:String,?pathContains:String,?pathEquals:String,?pathPrefix:String,?pathSuffix:String,?queryContains:String,?queryEquals:String,?queryPrefix:String,?querySuffix:String,?urlContains:String,?urlEquals:String,?urlMatches:String,?originAndPathMatches:String,?urlPrefix:String,?urlSuffix:String,?schemes:Array,?ports:Array}->Void>; + static var onCompleted(default,null) : Event<{?hostContains:String,?hostEquals:String,?hostPrefix:String,?hostSuffix:String,?pathContains:String,?pathEquals:String,?pathPrefix:String,?pathSuffix:String,?queryContains:String,?queryEquals:String,?queryPrefix:String,?querySuffix:String,?urlContains:String,?urlEquals:String,?urlMatches:String,?originAndPathMatches:String,?urlPrefix:String,?urlSuffix:String,?schemes:Array,?ports:Array}->Void>; + static var onErrorOccurred(default,null) : Event<{?hostContains:String,?hostEquals:String,?hostPrefix:String,?hostSuffix:String,?pathContains:String,?pathEquals:String,?pathPrefix:String,?pathSuffix:String,?queryContains:String,?queryEquals:String,?queryPrefix:String,?querySuffix:String,?urlContains:String,?urlEquals:String,?urlMatches:String,?originAndPathMatches:String,?urlPrefix:String,?urlSuffix:String,?schemes:Array,?ports:Array}->Void>; + static var onCreatedNavigationTarget(default,null) : Event<{?hostContains:String,?hostEquals:String,?hostPrefix:String,?hostSuffix:String,?pathContains:String,?pathEquals:String,?pathPrefix:String,?pathSuffix:String,?queryContains:String,?queryEquals:String,?queryPrefix:String,?querySuffix:String,?urlContains:String,?urlEquals:String,?urlMatches:String,?originAndPathMatches:String,?urlPrefix:String,?urlSuffix:String,?schemes:Array,?ports:Array}->Void>; + static var onReferenceFragmentUpdated(default,null) : Event<{?hostContains:String,?hostEquals:String,?hostPrefix:String,?hostSuffix:String,?pathContains:String,?pathEquals:String,?pathPrefix:String,?pathSuffix:String,?queryContains:String,?queryEquals:String,?queryPrefix:String,?querySuffix:String,?urlContains:String,?urlEquals:String,?urlMatches:String,?originAndPathMatches:String,?urlPrefix:String,?urlSuffix:String,?schemes:Array,?ports:Array}->Void>; + static var onTabReplaced(default,null) : Event<{replacedTabId:Int,tabId:Int,timeStamp:Float}->Void>; + static var onHistoryStateUpdated(default,null) : Event<{?hostContains:String,?hostEquals:String,?hostPrefix:String,?hostSuffix:String,?pathContains:String,?pathEquals:String,?pathPrefix:String,?pathSuffix:String,?queryContains:String,?queryEquals:String,?queryPrefix:String,?querySuffix:String,?urlContains:String,?urlEquals:String,?urlMatches:String,?originAndPathMatches:String,?urlPrefix:String,?urlSuffix:String,?schemes:Array,?ports:Array}->Void>; +} diff --git a/src/chrome/WebRequest.hx b/src/chrome/WebRequest.hx new file mode 100644 index 0000000..b4ee4b4 --- /dev/null +++ b/src/chrome/WebRequest.hx @@ -0,0 +1,199 @@ +package chrome; + +import chrome.Events; + +@:enum abstract ResourceType(String) from String to String { + var main_frame = "main_frame"; + var sub_frame = "sub_frame"; + var stylesheet = "stylesheet"; + var script = "script"; + var image = "image"; + var object = "object"; + var xmlhttprequest = "xmlhttprequest"; + var other = "other"; +} + +@:enum abstract OnBeforeRequestOptions(String) from String to String { + var blocking = "blocking"; + var requestBody = "requestBody"; +} + +@:enum abstract OnBeforeSendHeadersOptions(String) from String to String { + var requestHeaders = "requestHeaders"; + var blocking = "blocking"; +} + +@:enum abstract OnSendHeadersOptions(String) from String to String { + //TODO missing in documentation + var blocking = "blocking"; +} + +@:enum abstract OnHeadersReceivedOptions(String) from String to String { + var blocking = "blocking"; + var responseHeaders = "responseHeaders"; +} + +@:enum abstract OnAuthRequiredOptions(String) from String to String { + var responseHeaders = "responseHeaders"; + var blocking = "blocking"; + var asyncBlocking = "asyncBlocking"; +} + +@:enum abstract OnResponseStartedOptions(String) from String to String { + //TODO missing in documentation + var responseHeaders = "responseHeaders"; +} + +@:enum abstract OnBeforeRedirectOptions(String) from String to String { + //TODO missing in documentation + var responseHeaders = "responseHeaders"; +} + +@:enum abstract OnCompletedOptions(String) from String to String { + //TODO missing in documentation + var responseHeaders = "responseHeaders"; +} + +typedef RequestFilter = { + var urls : Array; + @:optional var types : Array; + @:optional var tabId : Int; + @:optional var windowId : Int; +} + +typedef HttpHeaders = Array; + +typedef BlockingResponse = { + @:optional var cancel : Bool; + @:optional var redirectUrl : String; + @:optional var requestHeaders : HttpHeaders; + @:optional var responseHeaders : HttpHeaders; + @:optional var windauthCredentialsowId : Dynamic; +} + +typedef UploadData = { + @:optional var bytes : Dynamic; + @:optional var file : String; +} + +@:require(chrome_ext) +@:native("chrome.webRequest") +extern class WebRequest { + static var MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES(default,never) : Int; + static function handlerBehaviorChanged( callback : Void->Void ) : Void; + static var onBeforeRequest(default,null) : Event<{ + requestId : String, + url : String, + method : String, + frameId : Int, + parentFrameId : Int, + ?requestBody : { + ?error : String, + ?formData : Dynamic, + ?raw : Array, + }, + tabId : Int, + type : ResourceType, + timeStamp : Float, + }->Void>; + static var onBeforeSendHeaders(default,null) : Event<{ + requestId : String, + url : String, + method : String, + frameId : Int, + parentFrameId : Int, + tabId : Int, + type : ResourceType, + timeStamp : Float, + ?requestHeaders : HttpHeaders + }->Void>; + static var onHeadersReceived(default,null) : Event<{ + requestId : String, + url : String, + method : String, + frameId : Int, + parentFrameId : Int, + tabId : Int, + type : ResourceType, + timeStamp : Float, + statusLine : String, + ?responseHeaders : HttpHeaders, + statusCode : Int + }->Void>; + static var onAuthRequired(default,null) : Event<{ + requestId : String, + url : String, + method : String, + frameId : Int, + parentFrameId : Int, + tabId : Int, + type : ResourceType, + timeStamp : Float, + scheme : String, + ?realm : String, + ?challenger : Dynamic, + isProxy : Bool, + ?responseHeaders : HttpHeaders, + statusLine : String, + statusCode : Int + }->?(BlockingResponse->Void)->Void>; + static var onResponseStarted(default,null) : Event<{ + requestId : String, + url : String, + method : String, + frameId : Int, + parentFrameId : Int, + tabId : Int, + type : ResourceType, + timeStamp : Float, + ?ip : String, + ?fromCache : Bool, + statusCode : Int, + ?responseHeaders : HttpHeaders, + statusLine : String + }->Void>; + static var onBeforeRedirect(default,null) : Event<{ + requestId : String, + url : String, + method : String, + frameId : Int, + parentFrameId : Int, + tabId : Int, + type : ResourceType, + timeStamp : Float, + ?ip : String, + ?fromCache : Bool, + statusCode : Int, + redirectUrl : String, + ?responseHeaders : HttpHeaders, + statusLine : String + }->Void>; + static var onCompleted(default,null) : Event<{ + requestId : String, + url : String, + method : String, + frameId : Int, + parentFrameId : Int, + tabId : Int, + type : ResourceType, + timeStamp : Float, + ?ip : String, + ?fromCache : Bool, + statusCode : Int, + ?responseHeaders : HttpHeaders, + statusLine : String + }->Void>; + static var onErrorOccurred(default,null) : Event<{ + requestId : String, + url : String, + method : String, + frameId : Int, + parentFrameId : Int, + tabId : Int, + type : ResourceType, + timeStamp : Float, + ?ip : String, + fromCache : Bool, + error : String + }->Void>; +} diff --git a/src/chrome/Webstore.hx b/src/chrome/Webstore.hx new file mode 100644 index 0000000..cd0e76e --- /dev/null +++ b/src/chrome/Webstore.hx @@ -0,0 +1,36 @@ +package chrome; + +import chrome.Events; + +@:enum abstract InstallStage(String) from String to String { + var installing = "installing"; + var downloading = "downloading"; +} + +@:enum abstract ErrorCode(String) from String to String { + var otherError = "otherError"; + var aborted = "aborted"; + var installInProgress = "installInProgress"; + var notPermitted = "notPermitted"; + var invalidId = "invalidId"; + var webstoreRequestError = "webstoreRequestError"; + var invalidWebstoreResponse = "invalidWebstoreResponse"; + var invalidManifest = "invalidManifest"; + var iconError = "iconError"; + var userCanceled = "userCanceled"; + var blacklisted = "blacklisted"; + var missingDependencies = "missingDependencies"; + var requirementViolations = "requirementViolations"; + var blockedByPolicy = "blockedByPolicy"; + var launchFeatureDisabled = "launchFeatureDisabled"; + var launchUnsupportedExtensionType = "launchUnsupportedExtensionType"; + var launchInProgress = "launchInProgress"; +} + +@:require(chrome) +@:native("chrome.webstore") +extern class Webstore { + static function install( ?url : String, ?successCallback : Void->Void, ?failureCallback : String->?ErrorCode->Void ) : Void; + static var onInstallStageChanged(default,null) : EventVoid>; + static var onDownloadProgress(default,null) : EventVoid>; +} diff --git a/src/chrome/Windows.hx b/src/chrome/Windows.hx new file mode 100644 index 0000000..8a9b7d6 --- /dev/null +++ b/src/chrome/Windows.hx @@ -0,0 +1,92 @@ +package chrome; + +import chrome.Events; +import chrome.Tabs; + +@:enum abstract WindowType(String) from String to String { + var normal = "normal"; + var popup = "popup"; + var panel = "panel"; + var app = "app"; + var devtools = "devtools"; +} + +@:enum abstract WindowState(String) from String to String { + var normal = "normal"; + var minimized = "minimized"; + var maximized = "maximized"; + var fullscreen = "fullscreen"; + var docked = "docked"; +} + +typedef Window = { + @:optional var id : Int; + var focused : Bool; + @:optional var top : Int; + @:optional var left : Int; + @:optional var width : Int; + @:optional var height : Int; + @:optional var tabs : Array; + var incognito : Bool; + @:optional var type : WindowType; + @:optional var state : WindowState; + var alwaysOnTop : Bool; + @:optional var sessionId : String; +} + +@:enum abstract CreateType(String) from String to String { + var normal = "normal"; + var popup = "popup"; + var panel = "panel"; + var detached_panel = "detached_panel"; +} + +@:require(chrome_ext) +@:native("chrome.windows") +extern class Windows { + + static var WINDOW_ID_NONE(default,never) : Int; + static var WINDOW_ID_CURRENT(default,never) : Int; + + static function get( + windowId : Int, + ?getInfo : { ?populate : Bool, ?windowTypes : Array }, + callback : Window->Void + ) : Void; + static function getCurrent( ?getInfo : { ?populate : Bool, ?windowTypes : Array }, callback : Window->Void ) : Void; + static function getLastFocused( ?getInfo : { ?populate : Bool, ?windowTypes : Array }, callback : Window->Void ) : Void; + static function getAll( ?getInfo : { ?populate : Bool, ?windowTypes : Array }, callback : Array->Void ) : Void; + static function create( + ?createData : { + ?url : String, + ?tabId : Int, + ?left : Int, + ?top : Int, + ?width : Int, + ?height : Int, + ?focused : Bool, + ?incognito : Bool, + ?type : WindowType, + ?state : WindowState, + }, + ?callback : ?Window->Void + ) : Void; + static function update( + windowId : Int, + updateInfo : { + ?left : Int, + ?top : Int, + ?width : Int, + ?height : Int, + ?focused : Bool, + ?drawAttention : Bool, + ?state : WindowState + }, + ?callback : Window->Void + ) : Void; + static function remove( windowId : Int, ?callback : Void->Void ) : Void; + + static var onCreated(default,null) : EventVoid>; + static var onRemoved(default,null) : EventVoid>; + static var onFocusChanged(default,null) : EventVoid>; +} diff --git a/chrome/devtools/InspectedWindow.hx b/src/chrome/devtools/InspectedWindow.hx similarity index 60% rename from chrome/devtools/InspectedWindow.hx rename to src/chrome/devtools/InspectedWindow.hx index c4a9c75..692b1e1 100644 --- a/chrome/devtools/InspectedWindow.hx +++ b/src/chrome/devtools/InspectedWindow.hx @@ -1,9 +1,19 @@ package chrome.devtools; +import chrome.Events; + +@:require(chrome_ext) +@:native('chrome.devtools.resource') +extern class Resource { + static var url : String; + static function getContent( callback : String->String->Void ) : Void; + static function setContent( content : String, commit : Bool, ?callback : Dynamic->Void ) : Void; +} + @:require(chrome_ext) @:native("chrome.devtools.inspectedWindow") extern class InspectedWindow { - static var tabId : Int; + static var tabId(default,never) : Int; static function eval( expression : String, ?f : Dynamic->Bool->Void ) : Void; static function reload( reloadOptions : {?ignoreCache:Bool,?userAgent:String,?injectedScript:String} ) : Void; static function getResources( f : Array->Void ) : Void; diff --git a/chrome/devtools/Network.hx b/src/chrome/devtools/Network.hx similarity index 59% rename from chrome/devtools/Network.hx rename to src/chrome/devtools/Network.hx index f8ac7d9..a1ced44 100644 --- a/chrome/devtools/Network.hx +++ b/src/chrome/devtools/Network.hx @@ -1,13 +1,15 @@ package chrome.devtools; -private typedef Request = { - function getContent( f : String->String->Void ) : Void; +import chrome.Events; + +typedef Request = { + function getContent( callback : String->String->Void ) : Void; } @:require(chrome_ext) @:native("chrome.devtools.network") extern class Network { - static function getHAR( f : Dynamic->Void ) : Void; + static function getHAR( callback : Dynamic->Void ) : Void; static var onRequestFinished(default,null) : EventVoid>; static var onNavigated(default,null) : EventVoid>; } diff --git a/chrome/devtools/Panels.hx b/src/chrome/devtools/Panels.hx similarity index 79% rename from chrome/devtools/Panels.hx rename to src/chrome/devtools/Panels.hx index 5c8fb70..5b99cb5 100644 --- a/chrome/devtools/Panels.hx +++ b/src/chrome/devtools/Panels.hx @@ -1,9 +1,11 @@ package chrome.devtools; import js.html.DOMWindow; +import chrome.Events; +import chrome.devtools.InspectedWindow; typedef ElementsPanel = { - function createSidebarPane( title : String, ?f : ExtensionSidebarPane->Void ) : Void; + function createSidebarPane( title : String, ?callback : ExtensionSidebarPane->Void ) : Void; var onSelectionChanged(default,null) : EventVoid>; } @@ -16,8 +18,8 @@ typedef ExtensionPanel = { typedef ExtensionSidebarPane = { function setHeight( height : String ) : Button; - function setExpression( expression : String, ?rootTitle : String, ?f : Void->Void ) : Void; - function setObject( jsonObject : String, ?rootTitle : String, ?f : Void->Void ) : Void; + function setExpression( expression : String, ?rootTitle : String, ?callback : Void->Void ) : Void; + function setObject( jsonObject : String, ?rootTitle : String, ?callback : Void->Void ) : Void; function setPage( path : String ) : Void; } @@ -31,6 +33,6 @@ private typedef Button = { @:native("chrome.devtools.panels") extern class Panels { static var elements : ElementsPanel; - static function create( title : String, iconPath : String, pagePath : String, ?f : ExtensionPanel->Void ) : Void; + static function create( title : String, iconPath : String, pagePath : String, ?callback : ExtensionPanel->Void ) : Void; static function setOpenResourceHandler( ?f : Resource->Void ) : Void; } diff --git a/src/chrome/enterprise/PlatformKeys.hx b/src/chrome/enterprise/PlatformKeys.hx new file mode 100644 index 0000000..9112cf6 --- /dev/null +++ b/src/chrome/enterprise/PlatformKeys.hx @@ -0,0 +1,18 @@ +package chrome.enterprise; + +import js.html.ArrayBuffer; +import js.html.SubtleCrypto; + +typedef Token = { + var id : String; + var subtleCrypto : SubtleCrypto; +} + +@:require(chrome) +@:native("chrome.platformKeys") +extern class PlatformKeys { + static function getTokens( callback : Array->Void ) : Void; + static function getCertificates( tokenId : String, callback : Array->Void ) : Void; + static function importCertificate( tokenId : String, certificate : ArrayBuffer, ?callback : Void->Void ) : Void; + static function removeCertificate( tokenId : String, certificate : ArrayBuffer, ?callback : Void->Void ) : Void; +} diff --git a/chrome/input/Ime.hx b/src/chrome/input/Ime.hx similarity index 65% rename from chrome/input/Ime.hx rename to src/chrome/input/Ime.hx index 138a92b..6c7d9df 100644 --- a/chrome/input/Ime.hx +++ b/src/chrome/input/Ime.hx @@ -1,6 +1,8 @@ package chrome.input; -@:enum abstract KeyboardEventType(String) { +import chrome.Events; + +@:enum abstract KeyboardEventType(String) from String to String { var keyup = "keyup"; var keydown = "keydown"; } @@ -17,21 +19,25 @@ typedef KeyboardEvent = { @:optional var capsLock : Bool; } -@:enum abstract InputContextType(String) { +@:enum abstract InputContextType(String) from String to String { var text = "text"; var search = "search"; var tel = "tel"; var url = "url"; var email = "email"; var number = "number"; + var password = "password"; } typedef InputContext = { var contextID : Int; var type : InputContextType; + var autoCorrect : Bool; + var autoComplete : Bool; + var spellCheck : Bool; } -@:enum abstract MenuItemStyle(String) { +@:enum abstract MenuItemStyle(String) from String to String { var check = "check"; var radio = "radio"; var separator = "separator"; @@ -46,36 +52,54 @@ typedef MenuItem = { @:optional var enabled : Bool; } -@:enum abstract SegmentStyle(String) { +@:enum abstract UnderlineStyle(String) from String to String { var underline = "underline"; var doubleUnderline = "doubleUnderline"; + var noUnderline = "noUnderline"; } -@:enum abstract WindowPosition(String) { +@:enum abstract WindowPosition(String) from String to String { var cursor = "cursor"; var composition = "composition"; } -@:enum abstract MouseButton(String) { +@:enum abstract ScreenType(String) from String to String { + var normal = "normal"; + var login = "login"; + var lock = "lock"; + var secondary_login = "secondary-login"; +} + +@:enum abstract CallbackStyle(String) from String to String { + //TODO is missing in documentation + var async = "async"; +} + +@:enum abstract MouseButton(String) from String to String { var left = "left"; var middle = "middle"; var right = "right"; } +@:enum abstract SegmentStyle(String) from String to String { + var underline = "underline"; + var doubleUnderline = "doubleUnderline"; +} + @:require(chrome_ext) @:native("chrome.input.ime") extern class Ime { - static function setComposition( parameters : { contextID : Int, text : String, ?selectionStart : Int, ?selectionEnd : Int,cursor : Int, ?segments : Array<{start:Int,end:Int,style:SegmentStyle}>, }, ?f : Bool->Void ) : Void; - static function clearComposition( parameters : { contextID : Int }, ?f : Bool->Void ) : Void; - static function commitText( parameters : { contextID : Int, text : String }, ?f : Bool->Void ) : Void; - static function sendKeyEvents( parameters : { contextID : Int, keyData : Array }, ?f : Void->Void ) : Void; + static function setComposition( parameters : { contextID : Int, text : String, ?selectionStart : Int, ?selectionEnd : Int,cursor : Int, ?segments : Array<{start:Int,end:Int,style:SegmentStyle}>, }, ?callback : Bool->Void ) : Void; + static function clearComposition( parameters : { contextID : Int }, ?callback : Bool->Void ) : Void; + static function commitText( parameters : { contextID : Int, text : String }, ?callback : Bool->Void ) : Void; + static function sendKeyEvents( parameters : { contextID : Int, keyData : Array }, ?callback : Void->Void ) : Void; static function hideInputView() : Void; - static function setCandidateWindowProperties( parameters : {?visible:Bool,?cursorVisible:Bool,?vertial:Bool,?pageSize:Int,?auxiliaryText:String,?auxiliaryTextVisible:Bool,?windowPosition:WindowPosition}, ?f : Bool->Void ) : Void; - static function setCandidates( parameters : {contextID:Int,candidates:Array<{candidate:String,id:Int,?parentId:Int,?label:String,?annotation:String,?usage:Dynamic}>}, ?f : Bool->Void ) : Void; - static function setCursorPosition( parameters : { contextID : Int, candidateID : Int },?f : Bool->Void ) : Void; - static function setMenuItems( parameters : { engineID : String, items : Array }, ?f : Void->Void ) : Void; - static function updateMenuItems( parameters : { engineID : String, items : Array }, ?f : Void->Void ) : Void; - static function deleteSurroundingText( parameters : { engineID : String, contextID : Int, offset : Int, length : Int }, ?f : Void->Void ) : Void; + static function setCandidateWindowProperties( parameters : {?visible:Bool,?cursorVisible:Bool,?vertial:Bool,?pageSize:Int,?auxiliaryText:String,?auxiliaryTextVisible:Bool,?windowPosition:WindowPosition}, ?callback : Bool->Void ) : Void; + static function setCandidates( parameters : {contextID:Int,candidates:Array<{candidate:String,id:Int,?parentId:Int,?label:String,?annotation:String,?usage:Dynamic}>}, ?callback : Bool->Void ) : Void; + static function setCursorPosition( parameters : { contextID : Int, candidateID : Int },?callback : Bool->Void ) : Void; + static function setMenuItems( parameters : { engineID : String, items : Array }, ?callback : Void->Void ) : Void; + static function updateMenuItems( parameters : { engineID : String, items : Array }, ?callback : Void->Void ) : Void; + static function deleteSurroundingText( parameters : { engineID : String, contextID : Int, offset : Int, length : Int }, ?callback : Void->Void ) : Void; static function keyEventHandled( requestId : String, response : Bool ) : Void; static var onActivate(default,null) : EventVoid>; static var onDeactivated(default,null) : EventVoid>; diff --git a/src/chrome/networking/Config.hx b/src/chrome/networking/Config.hx new file mode 100644 index 0000000..0f1e802 --- /dev/null +++ b/src/chrome/networking/Config.hx @@ -0,0 +1,28 @@ +package chrome.networking; + +import chrome.Events; + +typedef NetworkInfo = { + var type : String; //enum Type; //TODO is missing in documentation + @:optional var GUID : String; + @:optional var HexSSID : String; + @:optional var SSID : String; + @:optional var BSSID : String; + @:optional var Security : String; +} + +@:enum abstract Result(String) from String to String { + var unhandled = "unhandled"; + var succeeded = "succeeded"; + var rejected = "rejected"; + var failed = "failed"; +} + +@:require(chrome) +@:require(chrome_app) +@:native("chrome.networking.Config") +extern class Config { + static function setNetworkFilter( networks : Array, callback : Void->Void ) : Void; + static function finishAuthentication( GUID : String, result : Result, ?callback : Void->Void ) : Void; + static var onCaptivePortalDetected(default,null) : EventVoid>; +} diff --git a/chrome/system/Cpu.hx b/src/chrome/system/Cpu.hx old mode 100755 new mode 100644 similarity index 56% rename from chrome/system/Cpu.hx rename to src/chrome/system/Cpu.hx index 5dbe1de..d55f519 --- a/chrome/system/Cpu.hx +++ b/src/chrome/system/Cpu.hx @@ -12,6 +12,6 @@ private typedef Processor = { @:require(chrome) @:native("chrome.system.cpu") extern class Cpu { - static function getInfo( f : {numOfProcessors:Int,archName:String,modelName:String,features:Array,processors:Array}->Void ) : Void; + static function getInfo( callback : {numOfProcessors:Int,archName:String,modelName:String,features:Array,processors:Array}->Void ) : Void; -} \ No newline at end of file +} diff --git a/chrome/system/Memory.hx b/src/chrome/system/Memory.hx similarity index 50% rename from chrome/system/Memory.hx rename to src/chrome/system/Memory.hx index aef9f8f..99a735b 100644 --- a/chrome/system/Memory.hx +++ b/src/chrome/system/Memory.hx @@ -3,6 +3,6 @@ package chrome.system; @:require(chrome) @:native("chrome.system.memory") extern class Memory { - static function getInfo( f : {capacity:Float,availableCapacity:Float}->Void ) : Void; + static function getInfo( callback : {capacity:Float,availableCapacity:Float}->Void ) : Void; -} \ No newline at end of file +} diff --git a/chrome/system/Storage.hx b/src/chrome/system/Storage.hx similarity index 54% rename from chrome/system/Storage.hx rename to src/chrome/system/Storage.hx index 4ee8c80..7d6e99c 100644 --- a/chrome/system/Storage.hx +++ b/src/chrome/system/Storage.hx @@ -1,6 +1,8 @@ package chrome.system; -@:enum abstract StorageUnitType(String) { +import chrome.Events; + +@:enum abstract StorageUnitType(String) from String to String { var fixed = "fixed"; var removable = "removable"; var unknown = "unknown"; @@ -13,7 +15,7 @@ typedef StorageUnitInfo = { var capacity : Float; } -@:enum abstract StorageEjectResult(String) { +@:enum abstract StorageEjectResult(String) from String to String { var success = "success"; var in_use = "in_use"; var no_such_device = "no_such_device"; @@ -23,9 +25,10 @@ typedef StorageUnitInfo = { @:require(chrome) @:native('chrome.system.storage') extern class Storage { - static function getInfo( f : Array->Void ) : Void; - static function ejectDevice( id : String, f : StorageEjectResult->Void ) : Void; - static function getAvailableCapacity( id : String, f : {id:String,availableCapacity:Float}->Void ) : Void; + static function getInfo( callback : Array->Void ) : Void; + static function ejectDevice( id : String, callback : StorageEjectResult->Void ) : Void; + @:require(chrome_dev) + static function getAvailableCapacity( id : String, callback : {id:String,availableCapacity:Float}->Void ) : Void; static var onAttached(default,null) : EventVoid>; static var onDetached(default,null) : EventVoid>; }