Update mojo sdk to rev 1dc8a9a5db73d3718d99917fadf31f5fb2ebad4f
[chromium-blink-merge.git] / third_party / closure_compiler / externs / developer_private.js
blob338120f87ddbf50701b6edbc4da064790e457370
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 /** @fileoverview Externs generated from namespace: developerPrivate */
7 /**
8  * @const
9  */
10 chrome.developerPrivate = {};
12 /**
13  * @enum {string}
14  * @see https://developer.chrome.com/extensions/developerPrivate#type-ItemType
15  */
16 chrome.developerPrivate.ItemType = {
17   HOSTED_APP: 'hosted_app',
18   PACKAGED_APP: 'packaged_app',
19   LEGACY_PACKAGED_APP: 'legacy_packaged_app',
20   EXTENSION: 'extension',
21   THEME: 'theme',
24 /**
25  * @typedef {{
26  *   path: string,
27  *   render_process_id: number,
28  *   render_view_id: number,
29  *   incognito: boolean,
30  *   generatedBackgroundPage: boolean
31  * }}
32  * @see https://developer.chrome.com/extensions/developerPrivate#type-ItemInspectView
33  */
34 var ItemInspectView;
36 /**
37  * @typedef {{
38  *   extension_id: string,
39  *   render_process_id: (string|number),
40  *   render_view_id: (string|number),
41  *   incognito: boolean
42  * }}
43  * @see https://developer.chrome.com/extensions/developerPrivate#type-InspectOptions
44  */
45 var InspectOptions;
47 /**
48  * @typedef {{
49  *   message: string
50  * }}
51  * @see https://developer.chrome.com/extensions/developerPrivate#type-InstallWarning
52  */
53 var InstallWarning;
55 /**
56  * @enum {string}
57  * @see https://developer.chrome.com/extensions/developerPrivate#type-ExtensionType
58  */
59 chrome.developerPrivate.ExtensionType = {
60   HOSTED_APP: 'HOSTED_APP',
61   PLATFORM_APP: 'PLATFORM_APP',
62   LEGACY_PACKAGED_APP: 'LEGACY_PACKAGED_APP',
63   EXTENSION: 'EXTENSION',
64   THEME: 'THEME',
65   SHARED_MODULE: 'SHARED_MODULE',
68 /**
69  * @enum {string}
70  * @see https://developer.chrome.com/extensions/developerPrivate#type-Location
71  */
72 chrome.developerPrivate.Location = {
73   FROM_STORE: 'FROM_STORE',
74   UNPACKED: 'UNPACKED',
75   THIRD_PARTY: 'THIRD_PARTY',
76   UNKNOWN: 'UNKNOWN',
79 /**
80  * @enum {string}
81  * @see https://developer.chrome.com/extensions/developerPrivate#type-ViewType
82  */
83 chrome.developerPrivate.ViewType = {
84   APP_WINDOW: 'APP_WINDOW',
85   BACKGROUND_CONTENTS: 'BACKGROUND_CONTENTS',
86   EXTENSION_BACKGROUND_PAGE: 'EXTENSION_BACKGROUND_PAGE',
87   EXTENSION_DIALOG: 'EXTENSION_DIALOG',
88   EXTENSION_POPUP: 'EXTENSION_POPUP',
89   LAUNCHER_PAGE: 'LAUNCHER_PAGE',
90   PANEL: 'PANEL',
91   TAB_CONTENTS: 'TAB_CONTENTS',
92   VIRTUAL_KEYBOARD: 'VIRTUAL_KEYBOARD',
95 /**
96  * @enum {string}
97  * @see https://developer.chrome.com/extensions/developerPrivate#type-ErrorType
98  */
99 chrome.developerPrivate.ErrorType = {
100   MANIFEST: 'MANIFEST',
101   RUNTIME: 'RUNTIME',
105  * @enum {string}
106  * @see https://developer.chrome.com/extensions/developerPrivate#type-ErrorLevel
107  */
108 chrome.developerPrivate.ErrorLevel = {
109   LOG: 'LOG',
110   WARN: 'WARN',
111   ERROR: 'ERROR',
115  * @enum {string}
116  * @see https://developer.chrome.com/extensions/developerPrivate#type-ExtensionState
117  */
118 chrome.developerPrivate.ExtensionState = {
119   ENABLED: 'ENABLED',
120   DISABLED: 'DISABLED',
121   TERMINATED: 'TERMINATED',
125  * @typedef {{
126  *   isEnabled: boolean,
127  *   isActive: boolean
128  * }}
129  * @see https://developer.chrome.com/extensions/developerPrivate#type-AccessModifier
130  */
131 var AccessModifier;
134  * @typedef {{
135  *   lineNumber: number,
136  *   columnNumber: number,
137  *   url: string,
138  *   functionName: string
139  * }}
140  * @see https://developer.chrome.com/extensions/developerPrivate#type-StackFrame
141  */
142 var StackFrame;
145  * @typedef {{
146  *   type: !chrome.developerPrivate.ErrorType,
147  *   extensionId: string,
148  *   fromIncognito: boolean,
149  *   source: string,
150  *   message: string,
151  *   id: number,
152  *   manifestKey: string,
153  *   manifestSpecific: (string|undefined)
154  * }}
155  * @see https://developer.chrome.com/extensions/developerPrivate#type-ManifestError
156  */
157 var ManifestError;
160  * @typedef {{
161  *   type: !chrome.developerPrivate.ErrorType,
162  *   extensionId: string,
163  *   fromIncognito: boolean,
164  *   source: string,
165  *   message: string,
166  *   id: number,
167  *   severity: !chrome.developerPrivate.ErrorLevel,
168  *   contextUrl: string,
169  *   occurrences: number,
170  *   renderViewId: number,
171  *   renderProcessId: number,
172  *   canInspect: boolean,
173  *   stackTrace: !Array<StackFrame>
174  * }}
175  * @see https://developer.chrome.com/extensions/developerPrivate#type-RuntimeError
176  */
177 var RuntimeError;
180  * @typedef {{
181  *   suspiciousInstall: boolean,
182  *   corruptInstall: boolean,
183  *   updateRequired: boolean
184  * }}
185  * @see https://developer.chrome.com/extensions/developerPrivate#type-DisableReasons
186  */
187 var DisableReasons;
190  * @typedef {{
191  *   openInTab: boolean,
192  *   url: string
193  * }}
194  * @see https://developer.chrome.com/extensions/developerPrivate#type-OptionsPage
195  */
196 var OptionsPage;
199  * @typedef {{
200  *   url: string,
201  *   specified: boolean
202  * }}
203  * @see https://developer.chrome.com/extensions/developerPrivate#type-HomePage
204  */
205 var HomePage;
208  * @typedef {{
209  *   url: string,
210  *   renderProcessId: number,
211  *   renderViewId: number,
212  *   incognito: boolean,
213  *   type: !chrome.developerPrivate.ViewType
214  * }}
215  * @see https://developer.chrome.com/extensions/developerPrivate#type-ExtensionView
216  */
217 var ExtensionView;
220  * @enum {string}
221  */
222 chrome.developerPrivate.ControllerType = {
223   POLICY: 'POLICY',
224   CHILD_CUSTODIAN: 'CHILD_CUSTODIAN',
225   SUPERVISED_USER_CUSTODIAN: 'SUPERVISED_USER_CUSTODIAN',
229  * @typedef {{
230  *   type: !chrome.developerPrivate.ControllerType,
231  *   text: string
232  * }}
233  */
234 var ControlledInfo;
237  * @typedef {{
238  *   actionButtonHidden: boolean,
239  *   blacklistText: (string|undefined),
240  *   controlledInfo: (ControlledInfo|undefined),
241  *   dependentExtensions: !Array<string>,
242  *   description: string,
243  *   disableReasons: DisableReasons,
244  *   errorCollection: AccessModifier,
245  *   fileAccess: AccessModifier,
246  *   homePage: HomePage,
247  *   iconUrl: string,
248  *   id: string,
249  *   incognitoAccess: AccessModifier,
250  *   installWarnings: !Array<string>,
251  *   launchUrl: (string|undefined),
252  *   location: !chrome.developerPrivate.Location,
253  *   locationText: (string|undefined),
254  *   manifestErrors: !Array<ManifestError>,
255  *   mustRemainInstalled: boolean,
256  *   name: string,
257  *   offlineEnabled: boolean,
258  *   optionsPage: (OptionsPage|undefined),
259  *   path: (string|undefined),
260  *   prettifiedPath: (string|undefined),
261  *   runOnAllUrls: AccessModifier,
262  *   runtimeErrors: !Array<RuntimeError>,
263  *   runtimeWarnings: !Array<string>,
264  *   state: !chrome.developerPrivate.ExtensionState,
265  *   type: !chrome.developerPrivate.ExtensionType,
266  *   updateUrl: string,
267  *   userMayModify: boolean,
268  *   version: string,
269  *   views: !Array<ExtensionView>
270  * }}
271  * @see https://developer.chrome.com/extensions/developerPrivate#type-ExtensionInfo
272  */
273 var ExtensionInfo;
276  * @typedef {{
277  *   appInfoDialogEnabled: boolean,
278  *   canLoadUnpacked: boolean,
279  *   inDeveloperMode: boolean,
280  *   isIncognitoAvailable: boolean,
281  *   isSupervised: boolean
282  * }}
283  * @see https://developer.chrome.com/extensions/developerPrivate#type-ProfileInfo
284  */
285 var ProfileInfo;
288  * @typedef {{
289  *   id: string,
290  *   name: string,
291  *   version: string,
292  *   description: string,
293  *   may_disable: boolean,
294  *   enabled: boolean,
295  *   isApp: boolean,
296  *   type: !chrome.developerPrivate.ItemType,
297  *   allow_activity: boolean,
298  *   allow_file_access: boolean,
299  *   wants_file_access: boolean,
300  *   incognito_enabled: boolean,
301  *   is_unpacked: boolean,
302  *   allow_reload: boolean,
303  *   terminated: boolean,
304  *   allow_incognito: boolean,
305  *   icon_url: string,
306  *   path: (string|undefined),
307  *   options_url: (string|undefined),
308  *   app_launch_url: (string|undefined),
309  *   homepage_url: (string|undefined),
310  *   update_url: (string|undefined),
311  *   install_warnings: !Array<InstallWarning>,
312  *   manifest_errors: !Array<*>,
313  *   runtime_errors: !Array<*>,
314  *   offline_enabled: boolean,
315  *   views: !Array<ItemInspectView>
316  * }}
317  * @see https://developer.chrome.com/extensions/developerPrivate#type-ItemInfo
318  */
319 var ItemInfo;
322  * @typedef {{
323  *   includeDisabled: (boolean|undefined),
324  *   includeTerminated: (boolean|undefined)
325  * }}
326  * @see https://developer.chrome.com/extensions/developerPrivate#type-GetExtensionsInfoOptions
327  */
328 var GetExtensionsInfoOptions;
331  * @typedef {{
332  *   extensionId: string,
333  *   fileAccess: (boolean|undefined),
334  *   incognitoAccess: (boolean|undefined),
335  *   errorCollection: (boolean|undefined),
336  *   runOnAllUrls: (boolean|undefined),
337  *   showActionButton: (boolean|undefined)
338  * }}
339  * @see https://developer.chrome.com/extensions/developerPrivate#type-ExtensionConfigurationUpdate
340  */
341 var ExtensionConfigurationUpdate;
344  * @typedef {{
345  *   inDeveloperMode: (boolean|undefined)
346  * }}
347  * @see https://developer.chrome.com/extensions/developerPrivate#type-ProfileConfigurationUpdate
348  */
349 var ProfileConfigurationUpdate;
352  * @typedef {{
353  *   failQuietly: (boolean|undefined)
354  * }}
355  * @see https://developer.chrome.com/extensions/developerPrivate#type-ReloadOptions
356  */
357 var ReloadOptions;
360  * @typedef {{
361  *   failQuietly: (boolean|undefined)
362  * }}
363  * @see https://developer.chrome.com/extensions/developerPrivate#type-LoadUnpackedOptions
364  */
365 var LoadUnpackedOptions;
368  * @enum {string}
369  * @see https://developer.chrome.com/extensions/developerPrivate#type-PackStatus
370  */
371 chrome.developerPrivate.PackStatus = {
372   SUCCESS: 'SUCCESS',
373   ERROR: 'ERROR',
374   WARNING: 'WARNING',
378  * @enum {string}
379  * @see https://developer.chrome.com/extensions/developerPrivate#type-FileType
380  */
381 chrome.developerPrivate.FileType = {
382   LOAD: 'LOAD',
383   PEM: 'PEM',
387  * @enum {string}
388  * @see https://developer.chrome.com/extensions/developerPrivate#type-SelectType
389  */
390 chrome.developerPrivate.SelectType = {
391   FILE: 'FILE',
392   FOLDER: 'FOLDER',
396  * @enum {string}
397  * @see https://developer.chrome.com/extensions/developerPrivate#type-EventType
398  */
399 chrome.developerPrivate.EventType = {
400   INSTALLED: 'INSTALLED',
401   UNINSTALLED: 'UNINSTALLED',
402   LOADED: 'LOADED',
403   UNLOADED: 'UNLOADED',
404   VIEW_REGISTERED: 'VIEW_REGISTERED',
405   VIEW_UNREGISTERED: 'VIEW_UNREGISTERED',
406   ERROR_ADDED: 'ERROR_ADDED',
407   ERRORS_REMOVED: 'ERRORS_REMOVED',
408   PREFS_CHANGED: 'PREFS_CHANGED',
409   WARNINGS_CHANGED: 'WARNINGS_CHANGED',
413  * @typedef {{
414  *   message: string,
415  *   item_path: string,
416  *   pem_path: string,
417  *   override_flags: number,
418  *   status: !chrome.developerPrivate.PackStatus
419  * }}
420  * @see https://developer.chrome.com/extensions/developerPrivate#type-PackDirectoryResponse
421  */
422 var PackDirectoryResponse;
425  * @typedef {{
426  *   name: string
427  * }}
428  * @see https://developer.chrome.com/extensions/developerPrivate#type-ProjectInfo
429  */
430 var ProjectInfo;
433  * @typedef {{
434  *   event_type: !chrome.developerPrivate.EventType,
435  *   item_id: string,
436  *   extensionInfo: (ExtensionInfo|undefined)
437  * }}
438  * @see https://developer.chrome.com/extensions/developerPrivate#type-EventData
439  */
440 var EventData;
443  * @typedef {{
444  *   extensionId: string,
445  *   pathSuffix: string,
446  *   message: string,
447  *   manifestKey: (string|undefined),
448  *   manifestSpecific: (string|undefined),
449  *   lineNumber: (number|undefined)
450  * }}
451  * @see https://developer.chrome.com/extensions/developerPrivate#type-RequestFileSourceProperties
452  */
453 var RequestFileSourceProperties;
456  * @typedef {{
457  *   highlight: string,
458  *   beforeHighlight: string,
459  *   afterHighlight: string,
460  *   title: string,
461  *   message: string
462  * }}
463  * @see https://developer.chrome.com/extensions/developerPrivate#type-RequestFileSourceResponse
464  */
465 var RequestFileSourceResponse;
468  * @typedef {{
469  *   extensionId: (string|undefined),
470  *   renderViewId: number,
471  *   renderProcessId: number,
472  *   incognito: (boolean|undefined),
473  *   url: (string|undefined),
474  *   lineNumber: (number|undefined),
475  *   columnNumber: (number|undefined)
476  * }}
477  * @see https://developer.chrome.com/extensions/developerPrivate#type-OpenDevToolsProperties
478  */
479 var OpenDevToolsProperties;
482  * @typedef {{
483  *   extensionId: string,
484  *   errorIds: (!Array<number>|undefined),
485  *   type: (!chrome.developerPrivate.ErrorType|undefined)
486  * }}
487  * @see https://developer.chrome.com/extensions/developerPrivate#type-DeleteExtensionErrorsProperties
488  */
489 var DeleteExtensionErrorsProperties;
492  * Runs auto update for extensions and apps immediately.
493  * @param {function(boolean):void=} callback Called with the boolean result,
494  *     true if autoUpdate is successful.
495  * @see https://developer.chrome.com/extensions/developerPrivate#method-autoUpdate
496  */
497 chrome.developerPrivate.autoUpdate = function(callback) {};
500  * Returns information of all the extensions and apps installed.
501  * @param {GetExtensionsInfoOptions=} options Options to restrict the items
502  *     returned.
503  * @param {function(!Array<ExtensionInfo>):void=} callback Called with
504  *     extensions info.
505  * @see https://developer.chrome.com/extensions/developerPrivate#method-getExtensionsInfo
506  */
507 chrome.developerPrivate.getExtensionsInfo = function(options, callback) {};
510  * Returns information of a particular extension.
511  * @param {string} id The id of the extension.
512  * @param {function(ExtensionInfo):void=} callback Called with the result.
513  * @see https://developer.chrome.com/extensions/developerPrivate#method-getExtensionInfo
514  */
515 chrome.developerPrivate.getExtensionInfo = function(id, callback) {};
518  * Returns information of all the extensions and apps installed.
519  * @param {boolean} includeDisabled include disabled items.
520  * @param {boolean} includeTerminated include terminated items.
521  * @param {function(!Array<ItemInfo>):void} callback Called with items info.
522  * @deprecated Use getExtensionsInfo
523  * @see https://developer.chrome.com/extensions/developerPrivate#method-getItemsInfo
524  */
525 chrome.developerPrivate.getItemsInfo = function(includeDisabled, includeTerminated, callback) {};
528  * Returns the current profile's configuration.
529  * @param {function(ProfileInfo):void} callback
530  * @see https://developer.chrome.com/extensions/developerPrivate#method-getProfileConfiguration
531  */
532 chrome.developerPrivate.getProfileConfiguration = function(callback) {};
535  * Updates the active profile.
536  * @param {ProfileConfigurationUpdate} update The parameters for updating the
537  *     profile's configuration.  Any     properties omitted from |update| will
538  *     not be changed.
539  * @param {function():void=} callback
540  * @see https://developer.chrome.com/extensions/developerPrivate#method-updateProfileConfiguration
541  */
542 chrome.developerPrivate.updateProfileConfiguration = function(update, callback) {};
545  * Opens a permissions dialog.
546  * @param {string} extensionId The id of the extension to show permissions for.
547  * @param {function():void=} callback
548  * @see https://developer.chrome.com/extensions/developerPrivate#method-showPermissionsDialog
549  */
550 chrome.developerPrivate.showPermissionsDialog = function(extensionId, callback) {};
553  * Reloads a given extension.
554  * @param {string} extensionId The id of the extension to reload.
555  * @param {ReloadOptions=} options Additional configuration parameters.
556  * @param {function():void=} callback
557  * @see https://developer.chrome.com/extensions/developerPrivate#method-reload
558  */
559 chrome.developerPrivate.reload = function(extensionId, options, callback) {};
562  * Modifies an extension's current configuration.
563  * @param {ExtensionConfigurationUpdate} update The parameters for updating the
564  *     extension's configuration.     Any properties omitted from |update| will
565  *     not be changed.
566  * @param {function():void=} callback
567  * @see https://developer.chrome.com/extensions/developerPrivate#method-updateExtensionConfiguration
568  */
569 chrome.developerPrivate.updateExtensionConfiguration = function(update, callback) {};
572  * Loads a user-selected unpacked item.
573  * @param {LoadUnpackedOptions=} options Additional configuration parameters.
574  * @param {function():void=} callback
575  * @see https://developer.chrome.com/extensions/developerPrivate#method-loadUnpacked
576  */
577 chrome.developerPrivate.loadUnpacked = function(options, callback) {};
580  * Loads an extension / app.
581  * @param {Object} directory The directory to load the extension from.
582  * @param {function(string):void} callback
583  * @see https://developer.chrome.com/extensions/developerPrivate#method-loadDirectory
584  */
585 chrome.developerPrivate.loadDirectory = function(directory, callback) {};
588  * Open Dialog to browse to an entry.
589  * @param {!chrome.developerPrivate.SelectType} selectType Select a file or a
590  *     folder.
591  * @param {!chrome.developerPrivate.FileType} fileType Required file type. For
592  *     example, pem type is for private key and load type is for an unpacked
593  *     item.
594  * @param {function(string):void} callback called with selected item's path.
595  * @see https://developer.chrome.com/extensions/developerPrivate#method-choosePath
596  */
597 chrome.developerPrivate.choosePath = function(selectType, fileType, callback) {};
600  * Pack an extension.
601  * @param {string} path
602  * @param {string=} privateKeyPath The path of the private key, if one is given.
603  * @param {number=} flags Special flags to apply to the loading process, if any.
604  * @param {function(PackDirectoryResponse):void=} callback called with the
605  *     success result string.
606  * @see https://developer.chrome.com/extensions/developerPrivate#method-packDirectory
607  */
608 chrome.developerPrivate.packDirectory = function(path, privateKeyPath, flags, callback) {};
611  * Returns true if the profile is managed.
612  * @param {function(boolean):void} callback
613  * @see https://developer.chrome.com/extensions/developerPrivate#method-isProfileManaged
614  */
615 chrome.developerPrivate.isProfileManaged = function(callback) {};
618  * Reads and returns the contents of a file related to an extension which caused
619  * an error.
620  * @param {RequestFileSourceProperties} properties
621  * @param {function(RequestFileSourceResponse):void} callback
622  * @see https://developer.chrome.com/extensions/developerPrivate#method-requestFileSource
623  */
624 chrome.developerPrivate.requestFileSource = function(properties, callback) {};
627  * Open the developer tools to focus on a particular error.
628  * @param {OpenDevToolsProperties} properties
629  * @param {function():void=} callback
630  * @see https://developer.chrome.com/extensions/developerPrivate#method-openDevTools
631  */
632 chrome.developerPrivate.openDevTools = function(properties, callback) {};
635  * Delete reported extension erors.
636  * @param {DeleteExtensionErrorsProperties} properties The properties specifying
637  *     the errors to remove.
638  * @param {function():void=} callback
639  * @see https://developer.chrome.com/extensions/developerPrivate#method-deleteExtensionErrors
640  */
641 chrome.developerPrivate.deleteExtensionErrors = function(properties, callback) {};
644  * Repairs the extension specified.
645  * @param {string} extensionId The id of the extension to repair.
646  * @param {function():void=} callback
647  * @see https://developer.chrome.com/extensions/developerPrivate#method-repairExtension
648  */
649 chrome.developerPrivate.repairExtension = function(extensionId, callback) {};
652  * Shows the options page for the extension specified.
653  * @param {string} extensionId The id of the extension to show the options page
654  *     for.
655  * @param {function():void=} callback
656  * @see https://developer.chrome.com/extensions/developerPrivate#method-showOptions
657  */
658 chrome.developerPrivate.showOptions = function(extensionId, callback) {};
661  * Shows the path of the extension specified.
662  * @param {string} extensionId The id of the extension to show the path for.
663  * @param {function():void=} callback
664  * @see https://developer.chrome.com/extensions/developerPrivate#method-showPath
665  */
666 chrome.developerPrivate.showPath = function(extensionId, callback) {};
669  * @param {string} id
670  * @param {boolean} enabled
671  * @param {function():void=} callback
672  * @deprecated Use management.setEnabled
673  * @see https://developer.chrome.com/extensions/developerPrivate#method-enable
674  */
675 chrome.developerPrivate.enable = function(id, enabled, callback) {};
678  * @param {string} extensionId
679  * @param {boolean} allow
680  * @param {function():void=} callback
681  * @deprecated Use updateExtensionConfiguration
682  * @see https://developer.chrome.com/extensions/developerPrivate#method-allowIncognito
683  */
684 chrome.developerPrivate.allowIncognito = function(extensionId, allow, callback) {};
687  * @param {string} extensionId
688  * @param {boolean} allow
689  * @param {function():void=} callback
690  * @deprecated Use updateExtensionConfiguration
691  * @see https://developer.chrome.com/extensions/developerPrivate#method-allowFileAccess
692  */
693 chrome.developerPrivate.allowFileAccess = function(extensionId, allow, callback) {};
696  * @param {InspectOptions} options
697  * @param {function():void=} callback
698  * @deprecated Use openDevTools
699  * @see https://developer.chrome.com/extensions/developerPrivate#method-inspect
700  */
701 chrome.developerPrivate.inspect = function(options, callback) {};
704  * Fired when a item state is changed.
705  * @type {!ChromeEvent}
706  * @see https://developer.chrome.com/extensions/developerPrivate#event-onItemStateChanged
707  */
708 chrome.developerPrivate.onItemStateChanged;
711  * Fired when the profile's state has changed.
712  * @type {!ChromeEvent}
713  * @see https://developer.chrome.com/extensions/developerPrivate#event-onProfileStateChanged
714  */
715 chrome.developerPrivate.onProfileStateChanged;