1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270 |
- // SSSSSSSSSSSSSSS TTTTTTTTTTTTTTTTTTTTTTT OOOOOOOOO PPPPPPPPPPPPPPPPP
- // SS:::::::::::::::ST:::::::::::::::::::::T OO:::::::::OO P::::::::::::::::P
- // S:::::SSSSSS::::::ST:::::::::::::::::::::T OO:::::::::::::OO P::::::PPPPPP:::::P
- // S:::::S SSSSSSST:::::TT:::::::TT:::::TO:::::::OOO:::::::OPP:::::P P:::::P
- // S:::::S TTTTTT T:::::T TTTTTTO::::::O O::::::O P::::P P:::::P
- // S:::::S T:::::T O:::::O O:::::O P::::P P:::::P
- // S::::SSSS P::::PPPPPP:::::P
- // SS::::::SSSSS This file is generated. To update it, P:::::::::::::PP
- // SSS::::::::SS run roll_closure_compiler. P::::PPPPPPPPP
- // SSSSSS::::S P::::P
- // S:::::S T:::::T O:::::O O:::::O P::::P
- // S:::::S T:::::T O::::::O O::::::O P::::P
- // SSSSSSS S:::::S TT:::::::TT O:::::::OOO:::::::OPP::::::PP
- // S::::::SSSSSS:::::S T:::::::::T OO:::::::::::::OO P::::::::P
- // S:::::::::::::::SS T:::::::::T OO:::::::::OO P::::::::P
- // SSSSSSSSSSSSSSS TTTTTTTTTTT OOOOOOOOO PPPPPPPPPP
- /*
- * Copyright 2009 The Closure Compiler Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- /**
- * @fileoverview Definitions for the Chromium extensions API.
- *
- * This is the externs file for the Chrome Extensions API.
- * See http://developer.chrome.com/extensions/
- *
- * There are several problematic issues regarding Chrome extension APIs and
- * this externs files, including:
- * A. When to add packages to this file
- * B. Optional parameters
- * C. Pseudo-types
- * D. Events
- * E. Nullability
- * F. Private APIs
- * G. Enums
- *
- * The best practices for each are described in more detail below. It should be
- * noted that, due to historical reasons, and the evolutionary nature of this
- * file, much this file currently violates the best practices described below.
- * As changes are made, the changes should adhere to the best practices.
- *
- * A. When to Add Packages to this File?
- * Packages in chrome.experimental.* should *not* be added to this file. The
- * experimental APIs change very quickly, so rather than add them here, make a
- * separate externs file for your project, then move the API here when it moves
- * out of experimental.
- *
- * Some non-experimental APIs are still evolving or are not full documented. It
- * is still advantageous to include these in this file as doing so avoids a
- * proliferation of project-private externs files containing duplicated info. In
- * these cases, use comments to describe the situation.
- *
- * B. Optional Parameters
- * The Chrome extension APIs make extensive use of interior optional parameters
- * that are not at the end of the parameter list, while the JS Compiler's type
- * system requires optional parameters to be at the end. This creates a bit of
- * tension:
- *
- * 1. If a method has N required params, then the parameter declarations
- * should have N required params.
- * 2. If, due to interior optional params, a parameter can be of more than
- * one type, its at-param should:
- * a. be named to indicate both possibilities, eg, extensionIdOrRequest,
- * or getInfoOrCallback.
- * b. the type should include both types, in the same order as the parts
- * of the name, even when one type subsumes the other, eg, {string|*}
- * or {Object|function(string)}.
- * See chrome.runtime.sendMessage for a complex example as sendMessage takes
- * three params with the first and third being optional.
- *
- * C. Pseudo-types
- * The Chrome APIs define many types that are actually pseudo-types, that
- * is, they can't be instantiated by name. The extension APIs also pass untyped
- * objects (a bag of properties) to callbacks.
- *
- * The Chrome extension APIs include at least three different situations:
- *
- * 1. an object that must be created by an extension developer and passed
- * into a Chrome extension API and for which there is no constructor.
- * 2. an instance of a type that is created inside the extension libraries
- * and passed out to a callback/listener or returned by an extension API
- * (the constructor implicity lives within the library).
- * 3. like #2, but a bag-of-properties object that is passed out to a
- * callback/listener or returned by an extension API so there is no
- * defined type.
- *
- * For #1, use a record type so object literals and objects created via
- * goog.object are acceptable. (Note: a named record type may be declared using
- * the at-record syntax; an anonymous record type may be described using the
- * {foo: !Foo, ...} syntax. Anonymous record types may be named using an
- * at-typedef annotation. See
- * https://github.com/google/closure-compiler/wiki/Types-in-the-Closure-Type-System
- * for more information.) For example, the Permissions type defined at
- * http://developer.chrome.com/extensions/permissions.html#type-Permissions
- * could be:
- *
- * / **
- * * at-typedef {?{
- * * permissions: (!Array<string>|undefined),
- * * origins: (!Array<string>|undefined),
- * * }}
- * * /
- * chrome.permissions.Permissions;
- *
- * Using record types provides type-safety for the fields that are defined in
- * the object literal and also defined in the record type. Note that record
- * types define a minimal interface and will not complain about extraneous
- * (often misspelled) fields.
- *
- * Also, record types are non-nullable by default. The "{?{"
- * creates a nullable record-type typedef so ! has the same meaning in usages
- * as it does for real types.
- *
- * For #2, use a standard constructor, even though no constructor is provided
- * and extension writers will never instantiate an instance, as using a first
- * class type provides the strongest type checking. For example, see the Port
- * type defined at http://developer.chrome.com/apps/runtime.html#type-Port.
- * Always qualify the type name to reduce top-level pollution in this file:
- *
- * Do:
- * chrome.runtime.Port = function() {}
- * Don't:
- * function Port() {}
- *
- * Note that, unfortunately, the actual Port class definition in this file
- * does not follow this recommendation.
- *
- * For #3, the introduction of arrow functions that are frequently used for
- * callbacks has changed things. Prior to arrow functions, the Best Practices
- * recommended using !Object since that's what in the docs. It was tempting to
- * define a real type within this file and treat this situation as identical to
- * #2, but that meant a new type was being defined in this file and developers
- * did not expect to find required new types in extension files.
- *
- * Arrow functions change things. The common use of them does not include
- * specifying a type for the callback's param, so the compiler infers the type
- * from the externs file. This is good and happens automatically with no actions
- * required of the developer. Futhermore, since the param has a type, field
- * references can use dot access, obj.someField, vs bracket access,
- * obj['someField'] as required for !Object.
- *
- * So, for #3, the best practice is to define a record type for the parameter.
- * See chrome.proxy.settings.GetResponse for an example. As mentioned above in
- * the section for #1, there are three common ways to introduce a record type
- * and any of them are acceptable. Of course, if a type is going to be used more
- * than once, it should be named.
- *
- * While the externs file will define an undocumented record type for a
- * callback's param, using !Object as specified in the docs will continue to
- * work. This is crucial when a callback is a regular function, as opposed to an
- * arrow function (whose parameter's type can be inferred).
- *
- * D. Events
- * Most packages define a set of events with the standard set of methods:
- * addListener, removeListener, hasListener and hasListeners. ChromeVoidEvent
- * is the appropriate type when an event's listeners do not take any
- * parameters, however, many events take parameters specific to that event.
- *
- * For those cases, create a record type for the event that extends
- * ChromeBaseEvent with the correct listener function type filled in.
- * See any of the Event type definitions below that extend ChromeBaseEvent for
- * an example.
- *
- * In some cases the addListener method takes more than one argument, so
- * inheritance from ChromeBaseEvent will not work. In those cases extend
- * ChromeBaseEventNoListeners instead and add the listener interfaces
- * explicitly. See any of the Event type definitions below that extend
- * ChromeBaseEventNoListeners for an example.
- *
- * E. Nullability
- * We treat the Chrome Extension API pages as "the truth". Not-null types should
- * be used in the following situations:
- *
- * 1. Parameters and return values that are not explicitly declared to handle
- * null.
- * 2. Static event instances, for example, chrome.runtime.onConnect's type
- * should be: !chrome.runtime.PortEvent.
- * 3. Optional params as there is little value to passing null when the
- * parameter can be omitted, of course, if null is explicitly declared
- * to be meaningful, then a nullable type should be used.
- *
- * F. Private APIs
- * Private Chrome APIs (such as those that end in "Private") should go at the
- * bottom of this file.
- *
- * G. Enums
- * An enum's type name and the name of its members must be included in an
- * externs file, but the values of its members are ignored by the compiler.
- * To make it clear enums are not being *defined* in this file, we set
- * string enum values to the empty string (at this time, there are no
- * known enums of other types).
- *
- * As of Mar 2016, the chrome extension docs are incomplete wrt to enums
- * as they don't list the member names, only their string values. This means
- * extension authors will tend to use string literals. Therefore, whereever
- * an enum type should be used, we support either the enum or a string. Once
- * the docs are complete, new uses of enums will no longer need the "or string"
- * portion of the type.
- *
- * Finally, most places in this file where enums should be used are using only
- * string. This is historical and is no longer the recommended practice.
- *
- * See enum chrome.wallpaper.WallpaperLayout and chrome.wallpaper.setWallpaper's
- * param for examples.
- *
- * @externs
- *
- */
- /*
- * Ensure projects don't execute this file.
- * The throw is to catch executions of this file, however, without the guard,
- * the compiler's flow analysis stops at the throw, even for an externs file.
- * Therefore, the Math.random() guard fools the compiler during externs
- * processing.
- */
- if (Math.random() < 1) { // always true but the compiler doesn't know that
- throw 'Externs file "chrome_extensions.js" should not be executed';
- }
- /**
- * @const
- * @see http://developer.chrome.com/apps/app.runtime.html
- */
- chrome.app.runtime = {};
- /**
- * @constructor
- * @see http://developer.chrome.com/apps/app_runtime.html
- */
- chrome.app.runtime.LaunchItem = function() {};
- /** @type {!FileEntry} */
- chrome.app.runtime.LaunchItem.prototype.entry;
- /** @type {string} */
- chrome.app.runtime.LaunchItem.prototype.type;
- /** @type {!ChromeObjectEvent} */
- chrome.app.runtime.onEmbedRequested;
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/app_runtime#event-onLaunched
- */
- chrome.app.runtime.LaunchData = function() {};
- /** @type {!Array<{entry: !FileEntry, type: (string|undefined)}>|undefined} */
- chrome.app.runtime.LaunchData.prototype.items;
- /** @type {boolean|undefined} */
- chrome.app.runtime.LaunchData.prototype.isKioskSession;
- /** @type {string|undefined} */
- chrome.app.runtime.LaunchData.prototype.source;
- /** @type {!ChromeBaseEvent<function(!chrome.app.runtime.LaunchData)>} */
- chrome.app.runtime.onLaunched;
- /**
- * @type {!ChromeEvent}
- * @see http://developer.chrome.com/apps/app.runtime.html#event-onRestarted
- */
- chrome.app.runtime.onRestarted;
- /**
- * @const
- * @see http://developer.chrome.com/apps/app.window.html
- */
- chrome.app.window = {};
- /**
- * @see https://developer.chrome.com/apps/app_window#method-getAll
- * @return {!Array<!chrome.app.window.AppWindow>}
- */
- chrome.app.window.getAll = function() {};
- /**
- * @see https://developer.chrome.com/apps/app_window#method-get
- * @param {string} id
- * @return {chrome.app.window.AppWindow}
- */
- chrome.app.window.get = function(id) {};
- /**
- * @constructor
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- */
- chrome.app.window.AppWindow = function() {};
- /**
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.focus = function() {};
- /**
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.fullscreen = function() {};
- /**
- * @return {boolean}
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- */
- chrome.app.window.AppWindow.prototype.isFullscreen = function() {};
- /**
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.minimize = function() {};
- /**
- * @return {boolean}
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- */
- chrome.app.window.AppWindow.prototype.isMinimized = function() {};
- /**
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.maximize = function() {};
- /**
- * @return {boolean}
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- */
- chrome.app.window.AppWindow.prototype.isMaximized = function() {};
- /**
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.restore = function() {};
- /**
- * @param {number} left The new left position, in pixels.
- * @param {number} top The new top position, in pixels.
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.moveTo = function(left, top) {};
- /**
- * @param {number} width The new width, in pixels.
- * @param {number} height The new height, in pixels.
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.resizeTo = function(width, height) {};
- /**
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.drawAttention = function() {};
- /**
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.clearAttention = function() {};
- /**
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.close = function() {};
- /**
- * @param {boolean=} opt_focus Should the window be focused? Defaults to true.
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.show = function(opt_focus) {};
- /**
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.hide = function() {};
- /**
- * @return {!chrome.app.window.ContentBounds} The current window bounds.
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- */
- chrome.app.window.AppWindow.prototype.getBounds = function() {};
- /**
- * @param {!chrome.app.window.ContentBounds} bounds The new window bounds.
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.setBounds = function(bounds) {};
- /**
- * @return {boolean}
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- */
- chrome.app.window.AppWindow.prototype.isAlwaysOnTop = function() {};
- /**
- * @param {boolean} alwaysOnTop Set whether the window should stay above most
- * other windows.
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.setAlwaysOnTop = function(alwaysOnTop) {};
- /**
- * @param {boolean} alwaysVisible Set whether the window is visible on all
- * workspaces.
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.setVisibleOnAllWorkspaces = function(
- alwaysVisible) {};
- /**
- * @param {boolean} wantAllKeys Set whether the window should get all keyboard
- * events including system keys that are usually not sent.
- * @see http://developer.chrome.com/apps/app.window.html#type-AppWindow
- * @return {undefined}
- */
- chrome.app.window.AppWindow.prototype.setInterceptAllKeys = function(
- wantAllKeys) {};
- /** @type {!ChromeEvent} */
- chrome.app.window.AppWindow.prototype.onBoundsChanged;
- /** @type {!ChromeEvent} */
- chrome.app.window.AppWindow.prototype.onClosed;
- /** @type {!ChromeEvent} */
- chrome.app.window.AppWindow.prototype.onFullscreened;
- /** @type {!ChromeEvent} */
- chrome.app.window.AppWindow.prototype.onMinimized;
- /** @type {!ChromeEvent} */
- chrome.app.window.AppWindow.prototype.onMaximized;
- /** @type {!ChromeEvent} */
- chrome.app.window.AppWindow.prototype.onRestored;
- /** @type {!Window} */
- chrome.app.window.AppWindow.prototype.contentWindow;
- /** @type {string} */
- chrome.app.window.AppWindow.prototype.id;
- /** @type {!chrome.app.window.Bounds} */
- chrome.app.window.AppWindow.prototype.innerBounds;
- /** @type {!chrome.app.window.Bounds} */
- chrome.app.window.AppWindow.prototype.outerBounds;
- /**
- * @typedef {?{
- * left: number,
- * top: number,
- * width: number,
- * height: number,
- * minWidth: (number|undefined),
- * minHeight: (number|undefined),
- * maxWidth: (number|undefined),
- * maxHeight: (number|undefined),
- * setPosition: function(number, number),
- * setSize: function(number, number),
- * setMinimumSize: function(number, number),
- * setMaximumSize: function(number, number)
- * }}
- * @see http://developer.chrome.com/apps/app.window.html#type-Bounds
- */
- chrome.app.window.Bounds;
- /**
- * @typedef {?{
- * left: (number|undefined),
- * top: (number|undefined),
- * width: (number|undefined),
- * height: (number|undefined),
- * minWidth: (number|undefined),
- * minHeight: (number|undefined),
- * maxWidth: (number|undefined),
- * maxHeight: (number|undefined)
- * }}
- * @see http://developer.chrome.com/apps/app_window#type-BoundsSpecification
- */
- chrome.app.window.BoundsSpecification;
- /**
- * @typedef {?{
- * left: (number|undefined),
- * top: (number|undefined),
- * width: (number|undefined),
- * height: (number|undefined)
- * }}
- * @see http://developer.chrome.com/apps/app_window#type-ContentBounds
- */
- chrome.app.window.ContentBounds;
- /**
- * @typedef {?{
- * type: (string|undefined),
- * color: (string|undefined),
- * activeColor: (string|undefined),
- * inactiveColor: (string|undefined)
- * }}
- * @see http://developer.chrome.com/apps/app_window#type-FrameOptions
- */
- chrome.app.window.FrameOptions;
- /**
- * @typedef {?{
- * id: (string|undefined),
- * innerBounds: (!chrome.app.window.BoundsSpecification|undefined),
- * outerBounds: (!chrome.app.window.BoundsSpecification|undefined),
- * minWidth: (number|undefined),
- * minHeight: (number|undefined),
- * maxWidth: (number|undefined),
- * maxHeight: (number|undefined),
- * frame: (!chrome.app.window.FrameOptions|string|undefined),
- * bounds: (!chrome.app.window.ContentBounds|undefined),
- * state: (string|undefined),
- * hidden: (boolean|undefined),
- * resizable: (boolean|undefined),
- * singleton: (boolean|undefined),
- * alwaysOnTop: (boolean|undefined),
- * focused: (boolean|undefined),
- * visibleOnAllWorkspaces: (boolean|undefined)
- * }}
- * @see http://developer.chrome.com/apps/app.window.html#method-create
- */
- chrome.app.window.CreateWindowOptions;
- /**
- * @param {string} url URL to create.
- * @param {!chrome.app.window.CreateWindowOptions=} opt_options The options for
- * the new window.
- * @param {function(!chrome.app.window.AppWindow)=} opt_createWindowCallback
- * Callback to be run.
- * @see http://developer.chrome.com/apps/app.window.html#method-create
- * @return {undefined}
- */
- chrome.app.window.create = function(
- url, opt_options, opt_createWindowCallback) {};
- /**
- * Returns an AppWindow object for the current script context (ie JavaScript
- * 'window' object).
- * @return {!chrome.app.window.AppWindow}
- * @see http://developer.chrome.com/apps/app.window.html#method-current
- */
- chrome.app.window.current = function() {};
- /**
- * @type {!ChromeEvent}
- * @see http://developer.chrome.com/apps/app.window.html#event-onBoundsChanged
- */
- chrome.app.window.onBoundsChanged;
- /**
- * @type {!ChromeEvent}
- * @see http://developer.chrome.com/apps/app.window.html#event-onClosed
- */
- chrome.app.window.onClosed;
- /**
- * @type {!ChromeEvent}
- * @see http://developer.chrome.com/apps/app.window.html#event-onFullscreened
- */
- chrome.app.window.onFullscreened;
- /**
- * @type {!ChromeEvent}
- * @see http://developer.chrome.com/apps/app.window.html#event-onMaximized
- */
- chrome.app.window.onMaximized;
- /**
- * @type {!ChromeEvent}
- * @see http://developer.chrome.com/apps/app.window.html#event-onMinimized
- */
- chrome.app.window.onMinimized;
- /**
- * @type {!ChromeEvent}
- * @see http://developer.chrome.com/apps/app.window.html#event-onRestored
- */
- chrome.app.window.onRestored;
- /**
- * Private API.
- *
- * @const
- * @see https://code.google.com/p/chromium/codesearch#chromium/src/chrome/common/extensions/api/audio_modem.idl
- * @see go/chrome-modem
- */
- chrome.audioModem = {};
- /**
- * @typedef {?{
- * tokenLength: number,
- * crc: (boolean|undefined),
- * parity: (boolean|undefined)
- * }}
- */
- chrome.audioModem.TokenEncoding;
- /**
- * @typedef {?{
- * timeoutMillis: number,
- * band: string,
- * encoding: !chrome.audioModem.TokenEncoding
- * }}
- */
- chrome.audioModem.RequestParams;
- /** @constructor */
- chrome.audioModem.ReceivedToken = function() {};
- /** @type {!ArrayBuffer} */
- chrome.audioModem.ReceivedToken.prototype.token;
- /** @type {string} */
- chrome.audioModem.ReceivedToken.prototype.band;
- /**
- * @param {!chrome.audioModem.RequestParams} params
- * @param {!ArrayBuffer} token
- * @param {function(string)} callback
- * @return {undefined}
- */
- chrome.audioModem.transmit = function(params, token, callback) {};
- /**
- * @param {string} band
- * @param {function(string)} callback
- * @return {undefined}
- */
- chrome.audioModem.stopTransmit = function(band, callback) {};
- /**
- * @param {!chrome.audioModem.RequestParams} params
- * @param {function(string)} callback
- * @return {undefined}
- */
- chrome.audioModem.receive = function(params, callback) {};
- /**
- * @param {string} band
- * @param {function(string)} callback
- * @return {undefined}
- */
- chrome.audioModem.stopReceive = function(band, callback) {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<function(!Array<!chrome.audioModem.ReceivedToken>)>}
- */
- chrome.audioModem.ReceivedEvent = function() {};
- /** @type {!chrome.audioModem.ReceivedEvent} */
- chrome.audioModem.onReceived;
- /** @type {!ChromeStringEvent} */
- chrome.audioModem.onTransmitFail;
- /**
- * @see https://developer.chrome.com/apps/bluetooth
- */
- chrome.bluetooth = {};
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/bluetooth#type-AdapterState
- */
- chrome.bluetooth.AdapterState = function() {};
- /** @type {string} */
- chrome.bluetooth.AdapterState.prototype.address;
- /** @type {string} */
- chrome.bluetooth.AdapterState.prototype.name;
- /** @type {boolean} */
- chrome.bluetooth.AdapterState.prototype.powered;
- /** @type {boolean} */
- chrome.bluetooth.AdapterState.prototype.available;
- /** @type {boolean} */
- chrome.bluetooth.AdapterState.prototype.discovering;
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/bluetooth#type-Device
- */
- chrome.bluetooth.Device = function() {};
- /** @type {string} */
- chrome.bluetooth.Device.prototype.address;
- /** @type {string|undefined} */
- chrome.bluetooth.Device.prototype.name;
- /** @type {number|undefined} */
- chrome.bluetooth.Device.prototype.deviceClass;
- /** @type {string|undefined} */
- chrome.bluetooth.Device.prototype.vendorIdSource;
- /** @type {string|undefined} */
- chrome.bluetooth.Device.prototype.vendorId;
- /** @type {number|undefined} */
- chrome.bluetooth.Device.prototype.productId;
- /** @type {number|undefined} */
- chrome.bluetooth.Device.prototype.deviceId;
- /** @type {string|undefined} */
- chrome.bluetooth.Device.prototype.type;
- /** @type {boolean|undefined} */
- chrome.bluetooth.Device.prototype.paired;
- /** @type {boolean|undefined} */
- chrome.bluetooth.Device.prototype.connected;
- /** @type {boolean|undefined} */
- chrome.bluetooth.Device.prototype.connecting;
- /** @type {boolean|undefined} */
- chrome.bluetooth.Device.prototype.connectable;
- /** @type {!Array<string>|undefined} */
- chrome.bluetooth.Device.prototype.uuids;
- /** @type {number|undefined} */
- chrome.bluetooth.Device.prototype.inquiryRssi;
- /** @type {number|undefined} */
- chrome.bluetooth.Device.prototype.inquiryTxPower;
- /**
- * @param {function(!chrome.bluetooth.AdapterState)} callback
- * @see https://developer.chrome.com/apps/bluetooth#method-getAdapterState
- * @return {undefined}
- */
- chrome.bluetooth.getAdapterState = function(callback) {};
- /**
- * @param {string} deviceAddress
- * @param {function(!chrome.bluetooth.Device)} callback
- * @see https://developer.chrome.com/apps/bluetooth#method-getDevice
- * @return {undefined}
- */
- chrome.bluetooth.getDevice = function(deviceAddress, callback) {};
- /**
- * @param {function(!Array<!chrome.bluetooth.Device>)} callback
- * @see https://developer.chrome.com/apps/bluetooth#method-getDevices
- * @return {undefined}
- */
- chrome.bluetooth.getDevices = function(callback) {};
- /**
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetooth#method-startDiscovery
- * @return {undefined}
- */
- chrome.bluetooth.startDiscovery = function(opt_callback) {};
- /**
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetooth#method-stopDiscovery
- * @return {undefined}
- */
- chrome.bluetooth.stopDiscovery = function(opt_callback) {};
- /**
- * Event whose listeners take an AdapaterState parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.bluetooth.AdapterState)>}
- */
- chrome.bluetooth.AdapterStateEvent = function() {};
- /**
- * @type {!chrome.bluetooth.AdapterStateEvent}
- * @see https://developer.chrome.com/apps/bluetooth#event-onAdapterStateChanged
- */
- chrome.bluetooth.onAdapterStateChanged;
- /**
- * Event whose listeners take an Device parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.bluetooth.Device)>}
- */
- chrome.bluetooth.DeviceEvent = function() {};
- /**
- * @type {!chrome.bluetooth.DeviceEvent}
- * @see https://developer.chrome.com/apps/bluetooth#event-onDeviceAdded
- */
- chrome.bluetooth.onDeviceAdded;
- /**
- * @type {!chrome.bluetooth.DeviceEvent}
- * @see https://developer.chrome.com/apps/bluetooth#event-onDeviceChanged
- */
- chrome.bluetooth.onDeviceChanged;
- /**
- * @type {!chrome.bluetooth.DeviceEvent}
- * @see https://developer.chrome.com/apps/bluetooth#event-onDeviceRemoved
- */
- chrome.bluetooth.onDeviceRemoved;
- /**
- * @const
- * @see https://developer.chrome.com/apps/bluetoothSocket
- */
- chrome.bluetoothSocket = {};
- /**
- * @typedef {{
- * persistent: (boolean|undefined),
- * name: (string|undefined),
- * bufferSize: (number|undefined)
- * }}
- * @see https://developer.chrome.com/apps/bluetoothSocket#type-SocketProperties
- */
- chrome.bluetoothSocket.SocketProperties;
- /**
- * @typedef {{
- * channel: (number|undefined),
- * psm: (number|undefined),
- * backlog: (number|undefined)
- * }}
- * @see https://developer.chrome.com/apps/bluetoothSocket#type-ListenOptions
- */
- chrome.bluetoothSocket.ListenOptions;
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/bluetoothSocket#type-SocketInfo
- */
- chrome.bluetoothSocket.SocketInfo = function() {};
- /** @type {number} */
- chrome.bluetoothSocket.SocketInfo.prototype.socketId;
- /** @type {boolean} */
- chrome.bluetoothSocket.SocketInfo.prototype.persistent;
- /** @type {string|undefined} */
- chrome.bluetoothSocket.SocketInfo.prototype.name;
- /** @type {number|undefined} */
- chrome.bluetoothSocket.SocketInfo.prototype.bufferSize;
- /** @type {boolean} */
- chrome.bluetoothSocket.SocketInfo.prototype.paused;
- /** @type {boolean} */
- chrome.bluetoothSocket.SocketInfo.prototype.connected;
- /** @type {string|undefined} */
- chrome.bluetoothSocket.SocketInfo.prototype.address;
- /** @type {string|undefined} */
- chrome.bluetoothSocket.SocketInfo.prototype.uuid;
- /**
- * @param {!chrome.bluetoothSocket.SocketProperties|
- * function(!{socketId: number})} propertiesOrCallback
- * @param {function(!{socketId: number})=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothSocket#method-create
- * @return {undefined}
- */
- chrome.bluetoothSocket.create = function(propertiesOrCallback, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {!chrome.bluetoothSocket.SocketProperties} properties
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothSocket#method-update
- * @return {undefined}
- */
- chrome.bluetoothSocket.update = function(socketId, properties, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {boolean} paused
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothSocket#method-setPaused
- * @return {undefined}
- */
- chrome.bluetoothSocket.setPaused = function(socketId, paused, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {string} uuid
- * @param {!chrome.bluetoothSocket.ListenOptions|function()} optionsOrCallback
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothSocket#method-listenUsingRfcomm
- * @return {undefined}
- */
- chrome.bluetoothSocket.listenUsingRfcomm = function(
- socketId, uuid, optionsOrCallback, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {string} uuid
- * @param {!chrome.bluetoothSocket.ListenOptions|function()} optionsOrCallback
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothSocket#method-listenUsingL2cap
- * @return {undefined}
- */
- chrome.bluetoothSocket.listenUsingL2cap = function(
- socketId, uuid, optionsOrCallback, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {string} address
- * @param {string} uuid
- * @param {function()} callback
- * @see https://developer.chrome.com/apps/bluetoothSocket#method-connect
- * @return {undefined}
- */
- chrome.bluetoothSocket.connect = function(socketId, address, uuid, callback) {};
- /**
- * @param {number} socketId
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothSocket#method-disconnect
- * @return {undefined}
- */
- chrome.bluetoothSocket.disconnect = function(socketId, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothSocket#method-close
- * @return {undefined}
- */
- chrome.bluetoothSocket.close = function(socketId, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {!ArrayBuffer} data
- * @param {function(number)=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothSocket#method-send
- * @return {undefined}
- */
- chrome.bluetoothSocket.send = function(socketId, data, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {function(!chrome.bluetoothSocket.SocketInfo)} callback
- * @see https://developer.chrome.com/apps/bluetoothSocket#method-getInfo
- * @return {undefined}
- */
- chrome.bluetoothSocket.getInfo = function(socketId, callback) {};
- /**
- * @param {function(!Array<!chrome.bluetoothSocket.SocketInfo>)} callback
- * @see https://developer.chrome.com/apps/bluetoothSocket#method-getSockets
- * @return {undefined}
- */
- chrome.bluetoothSocket.getSockets = function(callback) {};
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/bluetoothSocket#event-onAccept
- */
- chrome.bluetoothSocket.AcceptEventData = function() {};
- /** @type {number} */
- chrome.bluetoothSocket.AcceptEventData.prototype.socketId;
- /** @type {number} */
- chrome.bluetoothSocket.AcceptEventData.prototype.clientSocketId;
- /**
- * Event whose listeners take a AcceptEventData parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.bluetoothSocket.AcceptEventData)>}
- */
- chrome.bluetoothSocket.AcceptEvent = function() {};
- /** @type {!chrome.bluetoothSocket.AcceptEvent} */
- chrome.bluetoothSocket.onAccept;
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/bluetoothSocket#event-onAcceptError
- */
- chrome.bluetoothSocket.AcceptErrorEventData = function() {};
- /** @type {number} */
- chrome.bluetoothSocket.AcceptErrorEventData.prototype.socketId;
- /** @type {string} */
- chrome.bluetoothSocket.AcceptErrorEventData.prototype.errorMessage;
- /** @type {string} */
- chrome.bluetoothSocket.AcceptErrorEventData.prototype.error;
- /**
- * Event whose listeners take a AcceptErrorEventData parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.bluetoothSocket.AcceptErrorEventData)>}
- */
- chrome.bluetoothSocket.AcceptErrorEvent = function() {};
- /** @type {!chrome.bluetoothSocket.AcceptErrorEvent} */
- chrome.bluetoothSocket.onAcceptError;
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/bluetoothSocket#event-onReceive
- */
- chrome.bluetoothSocket.ReceiveEventData = function() {};
- /** @type {number} */
- chrome.bluetoothSocket.ReceiveEventData.prototype.socketId;
- /** @type {!ArrayBuffer} */
- chrome.bluetoothSocket.ReceiveEventData.prototype.data;
- /**
- * Event whose listeners take a ReceiveEventData parameter.
- * @interface
- * @extends
- * {ChromeBaseEvent<function(!chrome.bluetoothSocket.ReceiveEventData)>}
- */
- chrome.bluetoothSocket.ReceiveEvent = function() {};
- /** @type {!chrome.bluetoothSocket.ReceiveEvent} */
- chrome.bluetoothSocket.onReceive;
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/bluetoothSocket#event-onReceiveError
- */
- chrome.bluetoothSocket.ReceiveErrorEventData = function() {};
- /** @type {number} */
- chrome.bluetoothSocket.ReceiveErrorEventData.prototype.socketId;
- /** @type {string} */
- chrome.bluetoothSocket.ReceiveErrorEventData.prototype.errorMessage;
- /** @type {string} */
- chrome.bluetoothSocket.ReceiveErrorEventData.prototype.error;
- /**
- * Event whose listeners take a ReceiveErrorEventData parameter.
- * @interface
- * @extends {ChromeBaseEvent<
- * function(!chrome.bluetoothSocket.ReceiveErrorEventData)>}
- */
- chrome.bluetoothSocket.ReceiveErrorEvent = function() {};
- /** @type {!chrome.bluetoothSocket.ReceiveErrorEvent} */
- chrome.bluetoothSocket.onReceiveError;
- /**
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy
- * @const
- */
- chrome.bluetoothLowEnergy = {};
- /**
- * @typedef {?{
- * uuid: string,
- * isPrimary: boolean,
- * instanceId: (string|undefined),
- * deviceAddress: (string|undefined)
- * }}
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#type-Service
- */
- chrome.bluetoothLowEnergy.Service;
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#type-Request
- */
- chrome.bluetoothLowEnergy.Request = function() {};
- /** @type {number} */
- chrome.bluetoothLowEnergy.Request.prototype.requestId;
- /** @type {!Object} */
- chrome.bluetoothLowEnergy.Request.prototype.device;
- /** @type {!ArrayBuffer|undefined} */
- chrome.bluetoothLowEnergy.Request.prototype.value;
- /**
- * @typedef {?{
- * uuid: string,
- * service: (!chrome.bluetoothLowEnergy.Service|undefined),
- * properties: !Array<string>,
- * instanceId: (string|undefined),
- * value: (!ArrayBuffer|undefined)
- * }}
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#type-Characteristic
- */
- chrome.bluetoothLowEnergy.Characteristic;
- /**
- * @typedef {?{
- * uuid: string,
- * characteristic: (!chrome.bluetoothLowEnergy.Characteristic|undefined),
- * permissions: !Array<string>,
- * instanceId: (string|undefined),
- * value: (!ArrayBuffer|undefined)
- * }}
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#type-Descriptor
- */
- chrome.bluetoothLowEnergy.Descriptor;
- /**
- * @typedef {?{
- * persistent: boolean
- * }}
- */
- chrome.bluetoothLowEnergy.ConnectionProperties;
- /**
- * @param {string} deviceAddress
- * @param {!chrome.bluetoothLowEnergy.ConnectionProperties|function()}
- * propertiesOrCallback
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-connect
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.connect = function(
- deviceAddress, propertiesOrCallback, opt_callback) {};
- /**
- * @param {string} deviceAddress
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-disconnect
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.disconnect = function(deviceAddress, opt_callback) {};
- /**
- * @param {string} serviceId
- * @param {function(!chrome.bluetoothLowEnergy.Service)} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getService
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.getService = function(serviceId, callback) {};
- /**
- * @param {!chrome.bluetoothLowEnergy.Service} service
- * @param {function(string)} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-createService
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.createService = function(service, callback) {};
- /**
- * @param {string} deviceAddress
- * @param {function(!Array<!chrome.bluetoothLowEnergy.Service>)} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getServices
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.getServices = function(deviceAddress, callback) {};
- /**
- * @param {string} characteristicId
- * @param {function(!chrome.bluetoothLowEnergy.Characteristic)} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getCharacteristic
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.getCharacteristic = function(
- characteristicId, callback) {};
- /**
- * @param {!chrome.bluetoothLowEnergy.Characteristic} characteristic
- * @param {string} serviceId
- * @param {function(string)} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-createCharacteristic
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.createCharacteristic = function(
- characteristic, serviceId, callback) {};
- /**
- * @param {string} serviceId
- * @param {function(!Array<!chrome.bluetoothLowEnergy.Characteristic>)}
- * callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getCharacteristics
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.getCharacteristics = function(serviceId, callback) {};
- /**
- * @param {string} serviceId
- * @param {function(!Array<!chrome.bluetoothLowEnergy.Service>)} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getIncludedServices
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.getIncludedServices = function(
- serviceId, callback) {};
- /**
- * @param {string} descriptorId
- * @param {function(!chrome.bluetoothLowEnergy.Descriptor)} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getDescriptor
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.getDescriptor = function(descriptorId, callback) {};
- /**
- * @param {!chrome.bluetoothLowEnergy.Descriptor} descriptor
- * @param {string} characteristicId
- * @param {function(string)} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-createDescriptor
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.createDescriptor = function(
- descriptor, characteristicId, callback) {};
- /**
- * @param {string} characteristicId
- * @param {function(!Array<!chrome.bluetoothLowEnergy.Descriptor>)} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-getDescriptors
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.getDescriptors = function(
- characteristicId, callback) {};
- /**
- * @param {string} characteristicId
- * @param {function(!chrome.bluetoothLowEnergy.Characteristic)} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-readCharacteristicValue
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.readCharacteristicValue = function(
- characteristicId, callback) {};
- /**
- * @param {string} characteristicId
- * @param {!ArrayBuffer} value
- * @param {function()} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-writeCharacteristicValue
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.writeCharacteristicValue = function(
- characteristicId, value, callback) {};
- /**
- * @typedef {?{
- * persistent: boolean
- * }}
- */
- chrome.bluetoothLowEnergy.NotificationSessionProperties;
- /**
- * @param {string} characteristicId
- * @param {!chrome.bluetoothLowEnergy.NotificationSessionProperties|function()}
- * propertiesOrCallback
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-startCharacteristicNotifications
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.startCharacteristicNotifications = function(
- characteristicId, propertiesOrCallback, opt_callback) {};
- /**
- * @param {string} characteristicId
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-stopCharacteristicNotifications
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.stopCharacteristicNotifications = function(
- characteristicId, opt_callback) {};
- /**
- * @typedef {?{
- * value: !ArrayBuffer,
- * shouldIndicate: (boolean|undefined)
- * }}
- */
- chrome.bluetoothLowEnergy.NotificationIndication;
- /**
- * @param {string} characteristicId
- * @param {!chrome.bluetoothLowEnergy.NotificationIndication} notification
- * @param {function()} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-notifyCharacteristicValueChanged
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.notifyCharacteristicValueChanged = function(
- characteristicId, notification, callback) {};
- /**
- * @param {string} descriptorId
- * @param {function(!chrome.bluetoothLowEnergy.Descriptor)} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-readDescriptorValue
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.readDescriptorValue = function(
- descriptorId, callback) {};
- /**
- * @param {string} descriptorId
- * @param {!ArrayBuffer} value
- * @param {function()} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-writeDescriptorValue
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.writeDescriptorValue = function(
- descriptorId, value, callback) {};
- /**
- * @param {string} serviceId
- * @param {function()} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-registerService
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.registerService = function(serviceId, callback) {};
- /**
- * @param {string} serviceId
- * @param {function()} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-unregisterService
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.unregisterService = function(serviceId, callback) {};
- /**
- * @param {string} serviceId
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-removeService
- * @return {undefined}
- */
- chrome.bluetoothLowEnergy.removeService = function(serviceId, opt_callback) {};
- /**
- * @typedef {?{
- * type: string,
- * serviceUuids: (!Array<string>|undefined),
- * manufacturerData: (!Array<{id: number, data: !Array<number>}>|undefined),
- * solicitUuids: (!Array<string>|undefined),
- * serviceData: (!Array<{uuid: string, data: !Array<number>}>|undefined)
- * }}
- */
- chrome.bluetoothLowEnergy.Advertisement;
- /**
- * @param {!chrome.bluetoothLowEnergy.Advertisement} advertisement
- * @param {function(number)} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-registerAdvertisement
- */
- chrome.bluetoothLowEnergy.registerAdvertisement = function(
- advertisement, callback) {};
- /**
- * @param {number} advertisementId
- * @param {function()} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-unregisterAdvertisement
- */
- chrome.bluetoothLowEnergy.unregisterAdvertisement = function(
- advertisementId, callback) {};
- /**
- * @param {function()} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-resetAdvertising
- */
- chrome.bluetoothLowEnergy.resetAdvertising = function(callback) {};
- /**
- * @param {number} minInterval
- * @param {number} maxInterval
- * @param {function()} callback
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#method-setAdvertisingInterval
- */
- chrome.bluetoothLowEnergy.setAdvertisingInterval = function(
- minInterval, maxInterval, callback) {};
- /**
- * @typedef {?{
- * requestId: number,
- * isError: boolean,
- * value: (!ArrayBuffer|undefined)
- * }}
- */
- chrome.bluetoothLowEnergy.RequestResponse;
- /** @param {!chrome.bluetoothLowEnergy.RequestResponse} response */
- chrome.bluetoothLowEnergy.sendRequestResponse = function(response) {};
- /**
- * Event whose listeners take a Service parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.bluetoothLowEnergy.Service)>}
- */
- chrome.bluetoothLowEnergy.ServiceEvent = function() {};
- /**
- * @type {!chrome.bluetoothLowEnergy.ServiceEvent}
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onServiceAdded
- */
- chrome.bluetoothLowEnergy.onServiceAdded;
- /**
- * @type {!chrome.bluetoothLowEnergy.ServiceEvent}
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onServiceChanged
- */
- chrome.bluetoothLowEnergy.onServiceChanged;
- /**
- * @type {!chrome.bluetoothLowEnergy.ServiceEvent}
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onServiceRemoved
- */
- chrome.bluetoothLowEnergy.onServiceRemoved;
- /**
- * Event whose listeners take a Characteristic parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.bluetoothLowEnergy.Characteristic)>}
- */
- chrome.bluetoothLowEnergy.CharacteristicEvent = function() {};
- /**
- * @type {!chrome.bluetoothLowEnergy.CharacteristicEvent}
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onCharacteristicValueChanged
- */
- chrome.bluetoothLowEnergy.onCharacteristicValueChanged;
- /**
- * Event whose listeners take a Descriptor parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.bluetoothLowEnergy.Descriptor)>}
- */
- chrome.bluetoothLowEnergy.DescriptorEvent = function() {};
- /**
- * @type {!chrome.bluetoothLowEnergy.DescriptorEvent}
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onDescriptorValueChanged
- */
- chrome.bluetoothLowEnergy.onDescriptorValueChanged;
- /**
- * Event whose listeners take a Request parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.bluetoothLowEnergy.Request,
- * string)>}
- */
- chrome.bluetoothLowEnergy.RequestEvent = function() {};
- /**
- * @type {!chrome.bluetoothLowEnergy.RequestEvent}
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onCharacteristicReadRequest
- */
- chrome.bluetoothLowEnergy.onCharacteristicReadRequest;
- /**
- * @type {!chrome.bluetoothLowEnergy.RequestEvent}
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onCharacteristicWriteRequest
- */
- chrome.bluetoothLowEnergy.onCharacteristicWriteRequest;
- /**
- * @type {!chrome.bluetoothLowEnergy.RequestEvent}
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onDescriptorReadRequest
- */
- chrome.bluetoothLowEnergy.onDescriptorReadRequest;
- /**
- * @type {!chrome.bluetoothLowEnergy.RequestEvent}
- * @see https://developer.chrome.com/apps/bluetoothLowEnergy#event-onDescriptorWriteRequest
- */
- chrome.bluetoothLowEnergy.onDescriptorWriteRequest;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/browsingData
- */
- chrome.browsingData = {};
- /**
- * @typedef {?{
- * since: (number|undefined),
- * originTypes: ({
- * unprotectedWeb: (boolean|undefined),
- * protectedWeb: (boolean|undefined),
- * extension: (boolean|undefined)
- * }|undefined),
- * }}
- * @see https://developer.chrome.com/extensions/browsingData#type-RemovalOptions
- */
- chrome.browsingData.RemovalOptions;
- /**
- * @typedef {?{
- * appcache: (boolean|undefined),
- * cache: (boolean|undefined),
- * cookies: (boolean|undefined),
- * downloads: (boolean|undefined),
- * fileSystems: (boolean|undefined),
- * formData: (boolean|undefined),
- * history: (boolean|undefined),
- * indexedDB: (boolean|undefined),
- * localStorage: (boolean|undefined),
- * serverBoundCertificates: (boolean|undefined),
- * passwords: (boolean|undefined),
- * pluginData: (boolean|undefined),
- * serviceWorkers: (boolean|undefined),
- * webSQL: (boolean|undefined),
- * }}
- * @see https://developer.chrome.com/extensions/browsingData#type-DataTypeSet
- */
- chrome.browsingData.DataTypeSet;
- /**
- * @typedef {?{
- * options: !chrome.browsingData.RemovalOptions,
- * dataToRemove: !chrome.browsingData.DataTypeSet,
- * dataRemovalPermitted: !chrome.browsingData.DataTypeSet,
- * }}
- */
- chrome.browsingData.SettingsResponse;
- /**
- * @param {function(!chrome.browsingData.SettingsResponse): void} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-settings
- */
- chrome.browsingData.settings = function(callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {!chrome.browsingData.DataTypeSet} dataToRemove
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-remove
- */
- chrome.browsingData.remove = function(options, dataToRemove, callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-removeAppcache
- */
- chrome.browsingData.removeAppcache = function(options, callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-removeCache
- */
- chrome.browsingData.removeCache = function(options, callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-removeCookies
- */
- chrome.browsingData.removeCookies = function(options, callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-removeDownloads
- */
- chrome.browsingData.removeDownloads = function(options, callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-removeFileSystems
- */
- chrome.browsingData.removeFileSystems = function(options, callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-removeFormData
- */
- chrome.browsingData.removeFormData = function(options, callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-removeHistory
- */
- chrome.browsingData.removeHistory = function(options, callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-removeIndexedDB
- */
- chrome.browsingData.removeIndexedDB = function(options, callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-removeLocalStorage
- */
- chrome.browsingData.removeLocalStorage = function(options, callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-removePluginData
- */
- chrome.browsingData.removePluginData = function(options, callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-removePasswords
- */
- chrome.browsingData.removePasswords = function(options, callback) {};
- /**
- * @param {!chrome.browsingData.RemovalOptions} options
- * @param {function(): void=} callback
- * @see https://developer.chrome.com/extensions/browsingData#method-removeWebSQL
- */
- chrome.browsingData.removeWebSQL = function(options, callback) {};
- /**
- * @see http://developer.chrome.com/extensions/commands.html
- * @const
- */
- chrome.commands = {};
- /**
- * @param {function(Array<string>): void} callback Callback function.
- * @return {undefined}
- */
- chrome.commands.getAll = function(callback) {};
- /** @type {!ChromeEvent} */
- chrome.commands.onCommand;
- /**
- * @see https://developer.chrome.com/apps/copresence
- * @const
- */
- chrome.copresence = {};
- /**
- * @typedef {?{
- * lowPower: (boolean|undefined),
- * onlyBroadcast: (boolean|undefined),
- * onlyScan: (boolean|undefined),
- * audible: (boolean|undefined)
- * }}
- * @see https://developer.chrome.com/apps/copresence#type-Strategy
- */
- chrome.copresence.Strategy;
- /**
- * @typedef {?{
- * type: string,
- * payload: ArrayBuffer
- * }}
- * @see https://developer.chrome.com/apps/copresence#type-Message
- */
- chrome.copresence.Message;
- /**
- * @typedef {?{
- * onlyEarshot: (boolean|undefined)
- * }}
- * https://developer.chrome.com/apps/copresence#type-AccessPolicy
- */
- chrome.copresence.AccessPolicy;
- /**
- * @typedef {?{
- * id: string,
- * message: !chrome.copresence.Message,
- * timeToLiveMillis: (number|undefined),
- * policy: (!chrome.copresence.AccessPolicy|undefined),
- * strategies: (!chrome.copresence.Strategy|undefined)
- * }}
- * @see https://developer.chrome.com/apps/copresence#type-PublishOperation
- */
- chrome.copresence.PublishOperation;
- /** @typedef {?{type: string}} */
- chrome.copresence.SubscriptionFilter;
- /**
- * @typedef {?{
- * id: string,
- * filter: !chrome.copresence.SubscriptionFilter,
- * timeToLiveMillis: (number|undefined),
- * strategies: (!chrome.copresence.Strategy|undefined)
- * }}
- * @see https://developer.chrome.com/apps/copresence#type-SubscribeOperation
- */
- chrome.copresence.SubscribeOperation;
- /**
- * @typedef {?{
- * unpublishId: string
- * }}
- * @see https://developer.chrome.com/apps/copresence#type-UnpublishOperation
- */
- chrome.copresence.UnpublishOperation;
- /**
- * @typedef {?{
- * unsubscribeId: string
- * }}
- * @see https://developer.chrome.com/apps/copresence#type-UnsubscribeOperation
- */
- chrome.copresence.UnsubscribeOperation;
- /**
- * @typedef {?{
- * publish: (!chrome.copresence.PublishOperation|undefined),
- * subscribe: (!chrome.copresence.SubscribeOperation|undefined),
- * unpublish: (!chrome.copresence.UnpublishOperation|undefined),
- * unsubscribe: (!chrome.copresence.UnsubscribeOperation|undefined)
- * }}
- * @see https://developer.chrome.com/apps/copresence#type-Operation
- */
- chrome.copresence.Operation;
- /**
- * @param {!Array<!chrome.copresence.Operation>} operations
- * @param {function(string): void} callback
- * @see https://developer.chrome.com/apps/copresence#method-execute
- * @return {undefined}
- */
- chrome.copresence.execute = function(operations, callback) {};
- /**
- * Event whose listeners take a subscription id and received messages as a
- * parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(string,
- * !Array<!chrome.copresence.Message>)>}
- * @see https://developer.chrome.com/apps/copresence#event-onMessagesReceived
- */
- chrome.copresence.MessagesReceivedEvent = function() {};
- /**
- * @type {!chrome.copresence.MessagesReceivedEvent}
- * @see https://developer.chrome.com/apps/copresence#event-onMessagesReceived
- */
- chrome.copresence.onMessagesReceived;
- /**
- * @type {!ChromeStringEvent}
- * @see https://developer.chrome.com/apps/copresence#event-onStatusUpdated
- */
- chrome.copresence.onStatusUpdated;
- /** @const */
- chrome.devtools = {};
- /**
- * @see https://developer.chrome.com/extensions/devtools_inspectedWindow
- * @const
- */
- chrome.devtools.inspectedWindow = {};
- /**
- * @constructor
- * @see https://developer.chrome.com/extensions/devtools_inspectedWindow#type-Resource
- */
- chrome.devtools.inspectedWindow.Resource = function() {};
- /** @type {string} */
- chrome.devtools.inspectedWindow.Resource.prototype.url;
- /** @param {function(string, string): void} callback */
- chrome.devtools.inspectedWindow.Resource.prototype.getContent = function(
- callback) {};
- /**
- * @param {string} content
- * @param {boolean} commit
- * @param {function(!Object): void=} callback
- */
- chrome.devtools.inspectedWindow.Resource.prototype.setContent = function(
- content, commit, callback) {};
- /**
- * @type {number}
- * @see https://developer.chrome.com/extensions/devtools_inspectedWindow#property-tabId
- */
- chrome.devtools.inspectedWindow.tabId;
- /**
- * @typedef {?{
- * frameUrl: (string|undefined),
- * useContentScriptContext: (boolean|undefined),
- * contextSecurityOrigin: (string|undefined)
- * }}
- */
- chrome.devtools.inspectedWindow.EvalOptions;
- /**
- * @param {string} expression
- * @param {!chrome.devtools.inspectedWindow.EvalOptions=} options
- * @param {function(!Object, !Object): void=} callback
- * @see https://developer.chrome.com/extensions/devtools_inspectedWindow#method-eval
- */
- chrome.devtools.inspectedWindow.eval = function(
- expression, options, callback) {};
- /**
- * @typedef {?{
- * ignoreCache: (boolean|undefined),
- * userAgent: (string|undefined),
- * injectedScript: (string|undefined)
- * }}
- */
- chrome.devtools.inspectedWindow.ReloadOptions;
- /**
- * @param {!chrome.devtools.inspectedWindow.ReloadOptions=} reloadOptions
- * @see https://developer.chrome.com/extensions/devtools_inspectedWindow#method-reload
- */
- chrome.devtools.inspectedWindow.reload = function(reloadOptions) {};
- /**
- * @param {function(!Array<!chrome.devtools.inspectedWindow.Resource>): void}
- * callback
- * @see https://developer.chrome.com/extensions/devtools_inspectedWindow#method-getResources
- */
- chrome.devtools.inspectedWindow.getResources = function(callback) {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<
- * function(!chrome.devtools.inspectedWindow.Resource)>}
- */
- chrome.devtools.inspectedWindow.ResourceEvent = function() {};
- /**
- * @see https://developer.chrome.com/extensions/devtools_inspectedWindow#event-onResourceAdded
- * @type {!chrome.devtools.inspectedWindow.ResourceEvent}
- */
- chrome.devtools.inspectedWindow.onResourceAdded;
- /**
- * @interface
- * @extends {ChromeBaseEvent<
- * function(!chrome.devtools.inspectedWindow.Resource, string)>}
- */
- chrome.devtools.inspectedWindow.ResourceContentEvent = function() {};
- /**
- * @see https://developer.chrome.com/extensions/devtools_inspectedWindow#event-onResourceContentCommitted
- * @type {!chrome.devtools.inspectedWindow.ResourceContentEvent}
- */
- chrome.devtools.inspectedWindow.onResourceContentCommitted;
- /**
- * @see https://developer.chrome.com/docs/extensions/reference/devtools_network/
- * @const
- */
- chrome.devtools.network = {};
- /**
- * @see https://developer.chrome.com/docs/extensions/reference/devtools_network/#type-Request
- * @constructor
- */
- chrome.devtools.network.Request = function() {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<
- * function(!chrome.devtools.network.Request)>}
- */
- chrome.devtools.network.RequestEvent = function() {};
- /**
- * @see https://developer.chrome.com/docs/extensions/reference/devtools_network/#event-onRequestFinished
- * @type {!chrome.devtools.network.RequestEvent}
- */
- chrome.devtools.network.onRequestFinished
- /**
- * @see https://developer.chrome.com/extensions/enterprise_platformKeys
- * @const
- */
- chrome.enterprise = {};
- /**
- * @constructor
- * deviceAttributes allows for reading device attributes.
- * @see https://developer.chrome.com/extensions/enterprise_deviceAttributes.
- */
- chrome.enterprise.deviceAttributes = function() {};
- /**
- * @param {function(string): void} callback Called with the device identifier
- * of the directory API when received.
- * @return {undefined}
- */
- chrome.enterprise.deviceAttributes.getDirectoryDeviceId = function(callback) {};
- /**
- * @param {function(string): void} callback Called with the serial number of the
- * device.
- * @return {undefined}
- */
- chrome.enterprise.deviceAttributes.getDeviceSerialNumber = function(
- callback) {};
- /**
- * @param {function(string): void} callback Called with the Asset ID of the
- * device.
- * @return {undefined}
- */
- chrome.enterprise.deviceAttributes.getDeviceAssetId = function(callback) {};
- /**
- * @param {function(string): void} callback Called with the Annotated Location
- * of the device.
- * @return {undefined}
- */
- chrome.enterprise.deviceAttributes.getDeviceAnnotatedLocation = function(
- callback) {};
- /**
- * @constructor
- * platformKeys allows for generating hardware-backed keys and the installation
- * of certificates for these keys.
- * @see https://developer.chrome.com/extensions/enterprise_platformKeys.
- */
- chrome.enterprise.platformKeys = function() {};
- /**
- * @constructor
- * @see https://developer.chrome.com/extensions/enterprise_platformKeys#type-Token
- */
- chrome.enterprise.Token = function() {};
- /**
- * @type {string} Unique id for the Token, either "user" or "system."
- */
- chrome.enterprise.Token.prototype.id;
- /**
- * @type {!webCrypto.SubtleCrypto} Implements the WebCrypto's
- * SubtleCrypto interface. The cryptographic operations, including key
- * generation, are hardware-backed.
- */
- chrome.enterprise.Token.prototype.subtleCrypto;
- /**
- * @param {!ArrayBuffer} challenge A challenge as emitted by the Verified Access
- * Web API.
- * @param {boolean|function(!ArrayBuffer): void} registerKeyOrCallback Either a
- * flag indicating whether to register the key, in which case the callback
- * is passed as the next arg, or the callback. If a flag is set, the current
- * Enterprise Machine Key is registered with the "system" token and
- * relinquishes the Enterprise Machine Key role. The key can then be
- * associated with a certificate and used like any other signing key. This
- * key is 2048-bit RSA. Subsequent calls to this function will then generate
- * a new Enterprise Machine Key.
- * @param {function(!ArrayBuffer=): void=} callback The callback (called back
- * with the challenge response), if arg2 was the registerKey flag.
- * @return {undefined}
- */
- chrome.enterprise.platformKeys.challengeMachineKey = function(
- challenge, registerKeyOrCallback, callback) {};
- /**
- * @param {!ArrayBuffer} challenge A challenge as emitted by the Verified Access
- * Web API.
- * @param {boolean} registerKey If set, the current Enterprise User Key is
- * registered with the "user" token and relinquishes the Enterprise User
- * Key role. The key can then be associated with a certificate and used like
- * any other signing key. This key is 2048-bit RSA. Subsequent calls to this
- * function will then generate a new Enterprise User Key.
- * @param {function(!ArrayBuffer): void} callback Called back with the
- * challenge response.
- * @return {undefined}
- */
- chrome.enterprise.platformKeys.challengeUserKey = function(
- challenge, registerKey, callback) {};
- /**
- * @param {function(!Array<!chrome.enterprise.Token>): void} callback Called
- * with an array of Tokens.
- * @return {undefined}
- */
- chrome.enterprise.platformKeys.getTokens = function(callback) {};
- /**
- * @param {string} tokenId Id of cetificate token either "user" or "system".
- * @param {(function(!Array<!ArrayBuffer>): void)} callback Array of DER
- * encoded x.509 certificates.
- * @return {undefined}
- */
- chrome.enterprise.platformKeys.getCertificates = function(tokenId, callback) {};
- /**
- * @param {string} tokenId The id of a Token returned by getTokens.
- * @param {!ArrayBuffer} certificate The DER encoding of a X.509 certificate.
- * @param {function(): void=} opt_callback Called back when this operation is
- * finished.
- * @return {undefined}
- */
- chrome.enterprise.platformKeys.importCertificate = function(
- tokenId, certificate, opt_callback) {};
- /**
- * @param {string} tokenId The id of a Token returned by getTokens.
- * @param {!ArrayBuffer} certificate The DER encoding of a X.509 certificate.
- * @param {(function(): void)=} opt_callback Called back when this operation is
- * finished.
- * @return {undefined}
- */
- chrome.enterprise.platformKeys.removeCertificate = function(
- tokenId, certificate, opt_callback) {};
- /**
- * reportingPrivate is a Private API for reporting Chrome browser status to
- * admin console.
- * @see https://cs.chromium.org/chromium/src/chrome/common/extensions/api/enterprise_reporting_private.idl
- */
- chrome.enterprise.reportingPrivate = {};
- /**
- * Uploads the status of Chrome browser to the admin console by sending
- * request to the DMServer. Sets runtime.lastError on failure.
- * @param {!Object} report Object to report to admin console.
- * @param {(function(): void)=} callback Called back when this operation is
- * finished.
- */
- chrome.enterprise.reportingPrivate.uploadChromeDesktopReport = function(
- report, callback) {};
- /**
- * Gets the identity of device that Chrome browser is running on. The ID is
- * retrieved from the local device and used by the Google admin console.
- * @param {(function(!string): void)=} callback Called with the device ID.
- */
- chrome.enterprise.reportingPrivate.getDeviceId = function(callback) {};
- /**
- * Returns a random secret stored in a platform specific storage.
- * @param {(function(!ArrayBuffer): void)=} callback Called with the result.
- */
- chrome.enterprise.reportingPrivate.getPersistentSecret = function(callback) {};
- /**
- * Returns byte string associated with the data item stored in a platform
- * specific storage.
- * @param {!string} item Item name (can have containers separated by '/').
- * @param {(function((!ArrayBuffer|undefined)): void)=} callback Called back with the
- * response.
- */
- chrome.enterprise.reportingPrivate.getDeviceData = function(item, callback) {};
- /**
- * Stores byte string associated with the data item in a platform
- * specific storage.
- * @param {!string} item Item name (can have containers separated by '/').
- * @param {!ArrayBuffer|undefined} data Byte string to associate with the data item.
- * @param {(function(): void)=} callback Called back with the response.
- */
- chrome.enterprise.reportingPrivate.setDeviceData = function(
- item, data, callback) {};
- /**
- * Represents a device info property type.
- * @enum {string}
- */
- chrome.enterprise.reportingPrivate.SettingValue = {
- UNKNOWN: '',
- DISABLED: '',
- ENABLED: '',
- };
- /**
- * Type of the object returned by getDeviceInfo.
- * @typedef {?{
- * osName: string,
- * osVersion: string,
- * deviceHostName: string,
- * deviceModel: string,
- * serialNumber: string,
- * screenLockSecured: chrome.enterprise.reportingPrivate.SettingValue,
- * diskEncrypted: chrome.enterprise.reportingPrivate.SettingValue,
- * macAddresses: (!Array<string>|undefined),
- * }}
- */
- chrome.enterprise.reportingPrivate.DeviceInfo;
- /**
- * Returns the device information object.
- * @param {(function(!chrome.enterprise.reportingPrivate.DeviceInfo): void)=}
- * callback Called back with the response.
- */
- chrome.enterprise.reportingPrivate.getDeviceInfo = function(callback) {};
- /**
- * Represents possible states for the EnterpriseRealTimeUrlCheckMode policy
- * @enum {number}
- */
- chrome.enterprise.reportingPrivate.RealtimeUrlCheckMode = {
- DISABLED: 0,
- ENABLED_MAIN_FRAME: 0,
- };
- /**
- * Type of the object returned by getContextInfo.
- * @typedef {?{
- * browserAffiliationIds: (!Array<string>|undefined),
- * profileAffiliationIds: (!Array<string>|undefined),
- * onFileAttachedProviders: (!Array<string>|undefined),
- * onFileDownloadedProviders: (!Array<string>|undefined),
- * onBulkDataEntryProviders: (!Array<string>|undefined),
- * onSecurityEventProviders: (!Array<string>|undefined),
- * realtimeUrlCheckMode: chrome.enterprise.reportingPrivate.RealtimeUrlCheckMode,
- * browserVersion: string,
- * }}
- */
- chrome.enterprise.reportingPrivate.ContextInfo;
- /**
- * Returns the context information object.
- * @param {(function(!chrome.enterprise.reportingPrivate.ContextInfo): void)}
- * callback Called back with the response.
- */
- chrome.enterprise.reportingPrivate.getContextInfo = function(callback) {};
- /**
- * Possible states for the Certificate status.
- * @enum {number}
- */
- chrome.enterprise.reportingPrivate.CertificateStatus = {
- OK: 0,
- POLICY_UNSET: 1,
- };
- /**
- * Type of the object returned by getCertificate.
- * @typedef {?{
- * status: chrome.enterprise.reportingPrivate.CertificateStatus,
- * encodedCertificate: (!ArrayBuffer|undefined),
- * }}
- */
- chrome.enterprise.reportingPrivate.Certificate;
- /**
- * Returns the certificate object.
- * @param {!string} url URL for which certificate needs to be fetched.
- * @param {(function(!chrome.enterprise.reportingPrivate.Certificate): void)}
- * callback Called back with the response.
- */
- chrome.enterprise.reportingPrivate.getCertificate = function(url, callback) {};
- /**
- * Metadata describing the type of event being reported
- * @enum {number}
- */
- chrome.enterprise.reportingPrivate.EventType = {
- DEVICE: 0,
- USER: 1
- };
- /**
- * Composite object that captures the information needed to report events.
- * @typedef {?{
- * recordData: !ArrayBufferView,
- * priority: number,
- * eventType: chrome.enterprise.reportingPrivate.EventType
- * }}
- */
- chrome.enterprise.reportingPrivate.EnqueueRecordRequest;
- /**
- * Enqueues a record to be reported
- * @param {!chrome.enterprise.reportingPrivate.EnqueueRecordRequest} request
- * @param {(function(): void)=} callback Callback triggered after completion
- */
- chrome.enterprise.reportingPrivate.enqueueRecord = function(
- request, callback) {};
- /**
- * @see https://developer.chrome.com/extensions/extension.html
- * @const
- */
- chrome.extension = {};
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/extension#type-ViewType
- */
- chrome.extension.ViewType = {
- TAB: '',
- POPUP: '',
- };
- /** @type {{message:(string|undefined)}|undefined} */
- chrome.extension.lastError = {};
- /** @type {boolean|undefined} */
- chrome.extension.inIncognitoContext;
- // TODO: change Object to !Object when it's clear nobody is passing in null
- // TODO: change Port to !Port since it should never be null
- /**
- * @param {string|Object<string>=} opt_extensionIdOrConnectInfo Either the
- * extensionId to connect to, in which case connectInfo params can be
- * passed in the next optional argument, or the connectInfo params.
- * @param {Object<string>=} opt_connectInfo The connectInfo object,
- * if arg1 was the extensionId to connect to.
- * @return {Port} New port.
- */
- chrome.extension.connect = function(
- opt_extensionIdOrConnectInfo, opt_connectInfo) {};
- /**
- * @return {Window} The global JS object for the background page.
- */
- chrome.extension.getBackgroundPage = function() {};
- /**
- * @param {string} path A path to a resource within an extension expressed
- * relative to it's install directory.
- * @return {string} The fully-qualified URL to the resource.
- */
- chrome.extension.getURL = function(path) {};
- /**
- * @typedef {?{
- * type: (!chrome.extension.ViewType|string|undefined),
- * windowId: (number|undefined),
- * tabId: (number|undefined)
- * }}
- */
- chrome.extension.ViewInfo;
- /**
- * @param {?chrome.extension.ViewInfo=} opt_fetchProperties
- * @return {Array<Window>} The global JS objects for each content view.
- */
- chrome.extension.getViews = function(opt_fetchProperties) {};
- /**
- * @param {function(boolean): void} callback Callback function.
- * @return {undefined}
- */
- chrome.extension.isAllowedFileSchemeAccess = function(callback) {};
- /**
- * @param {function(boolean): void} callback Callback function.
- * @return {undefined}
- */
- chrome.extension.isAllowedIncognitoAccess = function(callback) {};
- /**
- * @param {string|*} extensionIdOrRequest Either the extensionId to send the
- * request to, in which case the request is passed as the next arg, or the
- * request.
- * @param {*=} opt_request The request value, if arg1 was the extensionId.
- * @param {function(*): void=} opt_callback The callback function which
- * takes a JSON response object sent by the handler of the request.
- * @return {undefined}
- */
- chrome.extension.sendMessage = function(
- extensionIdOrRequest, opt_request, opt_callback) {};
- /**
- * @param {number|*=} opt_arg1 Either the extensionId to send the request to,
- * in which case the request is passed as the next arg, or the request.
- * @param {*=} opt_request The request value, if arg1 was the extensionId.
- * @param {function(*): void=} opt_callback The callback function which
- * takes a JSON response object sent by the handler of the request.
- * @return {undefined}
- */
- chrome.extension.sendRequest = function(opt_arg1, opt_request, opt_callback) {};
- /**
- * @param {string} data
- * @return {undefined}
- */
- chrome.extension.setUpdateUrlData = function(data) {};
- /** @type {!ChromeEvent} */
- chrome.extension.onConnect;
- /** @type {!ChromeEvent} */
- chrome.extension.onConnectExternal;
- /** @type {!ChromeEvent} */
- chrome.extension.onMessage;
- /** @type {!ChromeEvent} */
- chrome.extension.onRequest;
- /** @type {!ChromeEvent} */
- chrome.extension.onRequestExternal;
- /**
- * @see https://developer.chrome.com/extensions/runtime.html
- * @const
- */
- chrome.runtime = {};
- /** @type {{message:(string|undefined)}|undefined} */
- chrome.runtime.lastError;
- /**
- * @param {string|!Object=} opt_extensionIdOrConnectInfo Either the
- * extensionId to connect to, in which case connectInfo params can be
- * passed in the next optional argument, or the connectInfo params.
- * @param {!Object=} opt_connectInfo The connectInfo object,
- * if arg1 was the extensionId to connect to.
- * @return {!Port} New port.
- */
- chrome.runtime.connect = function(
- opt_extensionIdOrConnectInfo, opt_connectInfo) {};
- /**
- * @param {string|*} extensionIdOrMessage Either the extensionId to send the
- * message to, in which case the message is passed as the next arg, or the
- * message itself.
- * @param {(*|!Object|function(*): void)=} opt_messageOrOptsOrCallback
- * One of:
- * The message, if arg1 was the extensionId.
- * The options for message sending, if arg1 was the message and this
- * argument is not a function.
- * The callback, if arg1 was the message and this argument is a function.
- * @param {(!Object|function(*): void)=} opt_optsOrCallback
- * Either the options for message sending, if arg2 was the message,
- * or the callback.
- * @param {function(*): void=} opt_callback The callback function which
- * takes a JSON response object sent by the handler of the request.
- * @return {undefined}
- */
- chrome.runtime.sendMessage = function(
- extensionIdOrMessage, opt_messageOrOptsOrCallback, opt_optsOrCallback,
- opt_callback) {};
- /** @type {string} */
- chrome.runtime.id;
- /**
- * @param {function(!Window=): void} callback Callback function.
- * @return {undefined}
- */
- chrome.runtime.getBackgroundPage = function(callback) {};
- /**
- * @param {function(): void=} opt_callback Callback function.
- * @return {undefined}
- */
- chrome.runtime.openOptionsPage = function(opt_callback) {};
- /**
- * Manifest information returned from chrome.runtime.getManifest. See
- * https://developer.chrome.com/extensions/manifest.html and
- * https://developer.chrome.com/apps/manifest.html
- *
- * Note that:
- * 1) There are several other fields not included here. They should be
- * added to these externs as needed.
- * 2) There are some distinct fields for app vs extension manifests. The
- * below manifest definition contains the union of all fields; unique
- * fields should be annotated as such (see e.g. kiosk_only property
- * below).
- * @constructor
- */
- chrome.runtime.Manifest = function() {};
- /** @type {string} */
- chrome.runtime.Manifest.prototype.name;
- /** @type {string} */
- chrome.runtime.Manifest.prototype.version;
- /** @type {string|undefined} */
- chrome.runtime.Manifest.prototype.version_name;
- /** @type {number|undefined} */
- chrome.runtime.Manifest.prototype.manifest_version;
- /** @type {string|undefined} */
- chrome.runtime.Manifest.prototype.description;
- /** @type {!Object<string, string>} */
- chrome.runtime.Manifest.prototype.icons;
- /** @type {!chrome.runtime.Manifest.Oauth2|undefined} */
- chrome.runtime.Manifest.prototype.oauth2;
- /** @type {!Array<(string|!Object)>} */
- chrome.runtime.Manifest.prototype.permissions;
- /**
- * App-only manifest field.
- * @see https://developer.chrome.com/apps/manifest
- * @type {boolean|undefined}
- */
- chrome.runtime.Manifest.prototype.kiosk_only;
- /**
- * App-only manifest field.
- * @see https://developer.chrome.com/apps/manifest
- * @type {boolean|undefined}
- */
- chrome.runtime.Manifest.prototype.kiosk_enabled;
- /** @type {string|undefined} */
- chrome.runtime.Manifest.prototype.replacement_web_app;
- /**
- * Oauth2 info in the manifest.
- * See http://developer.chrome.com/apps/app_identity.html#update_manifest.
- * @constructor
- */
- chrome.runtime.Manifest.Oauth2 = function() {};
- /** @type {string} */
- chrome.runtime.Manifest.Oauth2.prototype.client_id;
- /**@type {!Array<string>} */
- chrome.runtime.Manifest.Oauth2.prototype.scopes;
- /**
- * https://developer.chrome.com/extensions/runtime.html#method-getManifest
- * https://developer.chrome.com/apps/runtime#method-getManifest
- * @return {!chrome.runtime.Manifest} The full manifest file of the app or
- * extension.
- */
- chrome.runtime.getManifest = function() {};
- /**
- * @param {string} path A path to a resource within an extension expressed
- * relative to it's install directory.
- * @return {string} The fully-qualified URL to the resource.
- */
- chrome.runtime.getURL = function(path) {};
- /**
- * @param {string} url This may be used to clean up server-side data, do
- * analytics, and implement surveys. Maximum 255 characters.
- * @return {undefined}
- */
- chrome.runtime.setUninstallURL = function(url) {};
- /**
- * Reloads the app or extension.
- * @return {undefined}
- */
- chrome.runtime.reload = function() {};
- /**
- * @see https://developer.chrome.com/apps/runtime#method-requestUpdateCheck
- * @param {function(string, !{version: string}=): void} callback Called with
- * "throttled", "no_update", or "update_available". If an update is
- * available, the object contains more information about the available
- * update.
- * @return {undefined}
- */
- chrome.runtime.requestUpdateCheck = function(callback) {};
- /**
- * Restart the ChromeOS device when the app runs in kiosk mode. Otherwise, it's
- * no-op.
- * @return {undefined}
- */
- chrome.runtime.restart = function() {};
- /**
- * @see https://developer.chrome.com/extensions/runtime#method-restartAfterDelay
- * @param {number} seconds Time to wait in seconds before rebooting the device,
- * or -1 to cancel a scheduled reboot.
- * @param {function():void=} opt_callback A callback to be invoked when a
- * restart request was successfully rescheduled.
- * @return {undefined}
- */
- chrome.runtime.restartAfterDelay = function(seconds, opt_callback) {};
- /**
- * @see http://developer.chrome.com/extensions/runtime.html#method-connectNative
- * @param {string} application Name of the registered native messaging host to
- * connect to, like 'com.google.your_product'.
- * @return {!Port} New port.
- */
- chrome.runtime.connectNative = function(application) {};
- /**
- * @see http://developer.chrome.com/extensions/runtime.html#method-sendNativeMessage
- * @param {string} application Name of the registered native messaging host to
- * connect to, like 'com.google.your_product'.
- * @param {Object} message The message that will be passed to the native
- * messaging host.
- * @param {function(*)=} opt_callback Called with the response message sent by
- * the native messaging host. If an error occurs while connecting to the
- * native messaging host, the callback will be called with no arguments and
- * chrome.runtime.lastError will be set to the error message.
- * @return {undefined}
- */
- chrome.runtime.sendNativeMessage = function(
- application, message, opt_callback) {};
- /**
- * The operating system chrome is running on.
- * @see https://developer.chrome.com/apps/runtime#type-PlatformOs
- * @enum {string}
- */
- chrome.runtime.PlatformOs = {
- ANDROID: '',
- CROS: '',
- LINUX: '',
- MAC: '',
- OPENBSD: '',
- WIN: '',
- };
- /**
- * The machine's processor architecture.
- * @see https://developer.chrome.com/apps/runtime#type-PlatformArch
- * @enum {string}
- */
- chrome.runtime.PlatformArch = {
- ARM: '',
- ARM64: '',
- MIPS: '',
- MIPS64: '',
- X86_32: '',
- X86_64: '',
- };
- /**
- * The native client architecture.
- * @see https://developer.chrome.com/apps/runtime#type-PlatformNaclArch
- * @enum {string}
- */
- chrome.runtime.PlatformNaclArch = {
- ARM: '',
- MIPS: '',
- MIPS64: '',
- X86_32: '',
- X86_64: '',
- };
- /**
- * @see https://developer.chrome.com/apps/runtime#type-PlatformInfo
- * @typedef {{
- * os: !chrome.runtime.PlatformOs,
- * arch: !chrome.runtime.PlatformArch,
- * nacl_arch: !chrome.runtime.PlatformNaclArch,
- * }}
- */
- chrome.runtime.PlatformInfo;
- /**
- * @see https://developer.chrome.com/extensions/runtime#type-PlatformInfo
- * @param {function(!chrome.runtime.PlatformInfo)} callback
- * @return {undefined}
- */
- chrome.runtime.getPlatformInfo = function(callback) {};
- /**
- * @param {function(!DirectoryEntry)} callback
- * @return {undefined}
- */
- chrome.runtime.getPackageDirectoryEntry = function(callback) {};
- /** @type {!chrome.runtime.PortEvent} */
- chrome.runtime.onConnect;
- /** @type {!chrome.runtime.PortEvent} */
- chrome.runtime.onConnectExternal;
- /** @type {!chrome.runtime.PortEvent} */
- chrome.runtime.onConnectNative;
- /** @type {!ChromeObjectEvent} */
- chrome.runtime.onInstalled;
- /** @type {!chrome.runtime.MessageSenderEvent} */
- chrome.runtime.onMessage;
- /** @type {!chrome.runtime.MessageSenderEvent} */
- chrome.runtime.onMessageExternal;
- /** @type {!ChromeEvent} */
- chrome.runtime.onStartup;
- /** @type {!ChromeEvent} */
- chrome.runtime.onSuspend;
- /** @type {!ChromeEvent} */
- chrome.runtime.onSuspendCanceled;
- /** @type {!ChromeObjectEvent} */
- chrome.runtime.onUpdateAvailable;
- /** @type {!ChromeStringEvent} */
- chrome.runtime.onRestartRequired;
- /**
- * Event whose listeners take a Port parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!Port)>}
- */
- chrome.runtime.PortEvent = function() {};
- /**
- * Event whose listeners take a MessageSender and additional parameters.
- * @see http://developer.chrome.com/dev/apps/runtime.html#event-onMessage
- * @interface
- * @extends {ChromeBaseEvent<function(*, !MessageSender, function(*): void):
- * (boolean|undefined)>}
- */
- chrome.runtime.MessageSenderEvent = function() {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/tabs
- */
- chrome.tabs = {};
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/tabs#type-TabStatus
- */
- chrome.tabs.TabStatus = {
- COMPLETE: '',
- LOADING: '',
- };
- /**
- * @const {number}
- * @see https://developer.chrome.com/extensions/tabs#property-TAB_ID_NONE
- */
- chrome.tabs.TAB_ID_NONE = -1;
- /**
- * @typedef {?{
- * code: (string|undefined),
- * file: (string|undefined),
- * allFrames: (boolean|undefined),
- * matchAboutBlank: (boolean|undefined),
- * runAt: (string|undefined)
- * }}
- */
- chrome.tabs.InjectDetails;
- /**
- * @see https://developer.chrome.com/extensions/tabs#method-captureVisibleTab
- * @param {number|!chrome.types.ImageDetails|function(string):void}
- * windowIdOrOptionsOrCallback One of:
- * The target window.
- * An object defining details about the format and quality of an image, in
- * which case the window defaults to the current window.
- * A callback function which accepts the data URL string of a JPEG encoding
- * of the visible area of the captured tab.
- * @param {(!chrome.types.ImageDetails|function(string):void)=}
- * opt_optionsOrCallback Either an object defining details about the
- * format and quality of an image, or a callback function which accepts the
- * data URL string of a JPEG encoding of the visible area of the captured
- * tab.
- * @param {function(string):void=} opt_callback A callback function which
- * accepts the data URL string of a JPEG encoding of the visible area of the
- * captured tab.
- * @return {undefined}
- */
- chrome.tabs.captureVisibleTab = function(
- windowIdOrOptionsOrCallback, opt_optionsOrCallback, opt_callback) {};
- /**
- * @param {number} tabId Tab Id.
- * @param {{name: (string|undefined)}=} connectInfo Info Object.
- * @return {Port} New port.
- */
- chrome.tabs.connect = function(tabId, connectInfo) {};
- /**
- * @typedef {?{
- * windowId: (number|undefined),
- * index: (number|undefined),
- * url: (string|undefined),
- * active: (boolean|undefined),
- * pinned: (boolean|undefined),
- * openerTabId: (number|undefined)
- * }}
- */
- chrome.tabs.CreateProperties;
- /**
- * @param {!chrome.tabs.CreateProperties} createProperties Info object.
- * @param {function(!Tab): void=} opt_callback The callback function.
- * @return {undefined}
- */
- chrome.tabs.create = function(createProperties, opt_callback) {};
- /**
- * @see https://developer.chrome.com/extensions/tabs#method-detectLanguage
- * @param {number|function(string): void} tabIdOrCallback The tab id, or a
- * callback function that will be invoked with the language of the active
- * tab in the current window.
- * @param {function(string): void=} opt_callback An optional callback function
- * that will be invoked with the language of the tab specified as first
- * argument.
- * @return {undefined}
- */
- chrome.tabs.detectLanguage = function(tabIdOrCallback, opt_callback) {};
- /**
- * @see https://developer.chrome.com/extensions/tabs#method-discard
- * @param {number|function(!Tab): void} tabIdOrCallback
- * @param {function(!Tab): void=} opt_callback
- */
- chrome.tabs.discard;
- /**
- * @see https://developer.chrome.com/extensions/tabs#method-executeScript
- * @param {number|!chrome.tabs.InjectDetails} tabIdOrDetails
- * Either the id of the tab in which to run the script, or an object
- * containing the details of the script to run, in which case the script
- * will be executed in the active tab of the current window.
- * @param {(!chrome.tabs.InjectDetails|function(!Array<*>):void)=}
- * opt_detailsOrCallback Either an object containing the details of the
- * script to run, if the tab id was speficied as first argument, or a
- * callback that will be invoked with the result of the execution of the
- * script in every injected frame.
- * @param {function(!Array<*>):void=} opt_callback A callback that will be
- * invoked with the result of the execution of the script in every
- * injected frame.
- * @return {undefined}
- */
- chrome.tabs.executeScript = function(
- tabIdOrDetails, opt_detailsOrCallback, opt_callback) {};
- /**
- * @param {number} tabId Tab id.
- * @param {function(!Tab): void} callback Callback.
- * @return {undefined}
- */
- chrome.tabs.get = function(tabId, callback) {};
- /**
- * Note (2014-05-21): Because this function is deprecated, the types of it's
- * parameters were not upgraded to make the first parameter optional and to mark
- * the Array and Tab in the callback as non-null.
- *
- * @param {number?} windowId Window id.
- * @param {function(Array<Tab>): void} callback Callback.
- * @deprecated Please use tabs.query {windowId: windowId}.
- * @return {undefined}
- */
- chrome.tabs.getAllInWindow = function(windowId, callback) {};
- /**
- * @param {function(!Tab=): void} callback Callback.
- * @return {undefined}
- */
- chrome.tabs.getCurrent = function(callback) {};
- /**
- * Note (2014-05-21): Because this function is deprecated, the types of it's
- * parameters were not upgraded to make the first parameter optional and to mark
- * the Array and Tab in the callback as non-null.
- *
- * @param {number?} windowId Window id.
- * @param {function(Tab): void} callback Callback.
- * @deprecated Please use tabs.query({active: true}).
- * @return {undefined}
- */
- chrome.tabs.getSelected = function(windowId, callback) {};
- /**
- * @see https://developer.chrome.com/extensions/tabs#method-getZoom
- * @param {number|function(number): void} tabIdOrCallback
- * @param {function(number): void=} opt_callback
- * @return {undefined}
- */
- chrome.tabs.getZoom = function(tabIdOrCallback, opt_callback) {};
- /**
- * @see https://developer.chrome.com/extensions/tabs#type-ZoomSettings
- * @typedef {?{
- * mode: (string|undefined),
- * scope: (string|undefined),
- * defaultZoomFactor: (number|undefined),
- * }}
- */
- chrome.tabs.ZoomSettings;
- /**
- * @see https://developer.chrome.com/extensions/tabs#method-getZoomSettings
- * @param {number|function(!chrome.tabs.ZoomSettings): void} tabIdOrCallback
- * @param {function(!chrome.tabs.ZoomSettings): void=} opt_callback
- */
- chrome.tabs.getZoomSettings = function(tabIdOrCallback, opt_callback) {};
- /**
- * @typedef {?{
- * windowId: (number|undefined),
- * tabs: (number|!Array<number>)
- * }}
- */
- chrome.tabs.HighlightInfo;
- /**
- * @see https://developer.chrome.com/extensions/tabs#method-highlight
- * @param {!chrome.tabs.HighlightInfo} highlightInfo
- * @param {function(!ChromeWindow): void=} callback Callback function invoked
- * for each window whose tabs were highlighted.
- * @return {undefined}
- */
- chrome.tabs.highlight = function(highlightInfo, callback) {};
- /**
- * @link https://developer.chrome.com/extensions/tabs#method-insertCSS
- * @param {number|!chrome.tabs.InjectDetails} tabIdOrDetails
- * Either the id of the tab in which to run the script, or an object
- * containing the details of the CSS to insert, in which case the script
- * will be executed in the active tab of the current window.
- * @param {(!chrome.tabs.InjectDetails|function():void)=}
- * opt_detailsOrCallback Either an object containing the details of the
- * CSS to insert, if the tab id was speficied as first argument, or a
- * callback that will be invoked after the CSS has been injected.
- * @param {function():void=} opt_callback A callback that will be invoked after
- * the CSS has been injected.
- * @return {undefined}
- */
- chrome.tabs.insertCSS = function(
- tabIdOrDetails, opt_detailsOrCallback, opt_callback) {};
- /**
- * @typedef {?{
- * windowId: (number|undefined),
- * index: number
- * }}
- */
- chrome.tabs.MoveProperties;
- /**
- * @param {number|!Array<number>} tabId Tab id or array of tab ids.
- * @param {!chrome.tabs.MoveProperties} moveProperties
- * @param {function((!Tab|!Array<!Tab>)): void=} opt_callback Callback.
- * @return {undefined}
- */
- chrome.tabs.move = function(tabId, moveProperties, opt_callback) {};
- /**
- * @typedef {?{
- * active: (boolean|undefined),
- * pinned: (boolean|undefined),
- * audible: (boolean|undefined),
- * muted: (boolean|undefined),
- * highlighted: (boolean|undefined),
- * discarded: (boolean|undefined),
- * autoDiscardable: (boolean|undefined),
- * currentWindow: (boolean|undefined),
- * lastFocusedWindow: (boolean|undefined),
- * status: (!chrome.tabs.TabStatus|string|undefined),
- * title: (string|undefined),
- * url: (!Array<string>|string|undefined),
- * windowId: (number|undefined),
- * windowType: (string|undefined),
- * index: (number|undefined)
- * }}
- */
- chrome.tabs.QueryInfo;
- /**
- * @param {!chrome.tabs.QueryInfo} queryInfo
- * @param {function(!Array<!Tab>): void} callback Callback.
- * @return {undefined}
- */
- chrome.tabs.query = function(queryInfo, callback) {};
- /**
- * @see https://developer.chrome.com/extensions/tabs#method-query
- * @param {number} tabId The ID of the tab which is to be duplicated.
- * @param {(function(!Tab=):void)=} opt_callback A callback to be invoked with
- * details about the duplicated tab.
- * @return {undefined}
- */
- chrome.tabs.duplicate = function(tabId, opt_callback) {};
- /**
- * @typedef {?{
- * bypassCache: (boolean|undefined)
- * }}
- */
- chrome.tabs.ReloadProperties;
- /**
- * @see https://developer.chrome.com/extensions/tabs#method-reload
- * @param {(number|!chrome.tabs.ReloadProperties|function():void)=}
- * opt_tabIdOrReloadPropertiesOrCallback One of:
- * The ID of the tab to reload; defaults to the selected tab of the current
- * window.
- * An object specifying boolean flags to customize the reload operation.
- * A callback to be invoked when the reload is complete.
- * @param {(!chrome.tabs.ReloadProperties|function():void)=}
- * opt_reloadPropertiesOrCallback Either an object specifying boolean flags
- * to customize the reload operation, or a callback to be invoked when the
- * reload is complete, if no object needs to be specified.
- * @param {function():void=} opt_callback A callback to be invoked when the
- * reload is complete.
- * @return {undefined}
- */
- chrome.tabs.reload = function(
- opt_tabIdOrReloadPropertiesOrCallback, opt_reloadPropertiesOrCallback,
- opt_callback) {};
- /**
- * @param {number|!Array<number>} tabIds A tab ID or an array of tab IDs.
- * @param {function(): void=} opt_callback Callback.
- * @return {undefined}
- */
- chrome.tabs.remove = function(tabIds, opt_callback) {};
- /**
- * @typedef {?{
- * frameId: (number|undefined)
- * }}
- */
- chrome.tabs.SendMessageOptions;
- /**
- * @param {number} tabId Tab id.
- * @param {*} request The request value of any type.
- * @param {(!chrome.tabs.SendMessageOptions|function(*): void)=}
- * opt_optionsOrCallback The object with an optional "frameId" or the
- * callback function.
- * @param {function(*): void=} opt_callback The callback function which
- * takes a JSON response object sent by the handler of the request.
- * @return {undefined}
- */
- chrome.tabs.sendMessage = function(
- tabId, request, opt_optionsOrCallback, opt_callback) {};
- /**
- * @param {number} tabId Tab id.
- * @param {*} request The request value of any type.
- * @param {function(*): void=} opt_callback The callback function which
- * takes a JSON response object sent by the handler of the request.
- * @deprecated Please use runtime.sendMessage.
- * @return {undefined}
- */
- chrome.tabs.sendRequest = function(tabId, request, opt_callback) {};
- /**
- * @see https://developer.chrome.com/extensions/tabs#method-setZoom
- * @param {number} tabIdOrZoomFactor
- * @param {(number|function(): void)=} opt_zoomFactorOrCallback
- * @param {function(): void=} opt_callback
- * @return {undefined}
- */
- chrome.tabs.setZoom = function(
- tabIdOrZoomFactor, opt_zoomFactorOrCallback, opt_callback) {};
- /**
- * @see https://developer.chrome.com/extensions/tabs#method-setZoomSettings
- * @param {number|!chrome.tabs.ZoomSettings} tabIdOrZoomSettings
- * @param {(!chrome.tabs.ZoomSettings|function(): void)=}
- * opt_zoomSettingsOrCallback
- * @param {function(): void=} opt_callback
- */
- chrome.tabs.setZoomSettings = function(
- tabIdOrZoomSettings, opt_zoomSettingsOrCallback, opt_callback) {};
- /**
- * @typedef {?{
- * url: (string|undefined),
- * active: (boolean|undefined),
- * highlighted: (boolean|undefined),
- * pinned: (boolean|undefined),
- * openerTabId: (number|undefined)
- * }}
- */
- chrome.tabs.UpdateProperties;
- /**
- * @see https://developer.chrome.com/extensions/tabs#method-update
- * @param {number|!chrome.tabs.UpdateProperties} tabIdOrUpdateProperties
- * Either the id of the tab to update, or an object with new property
- * values, in which case the selected tab of the current window will be
- * updated.
- * @param {(!chrome.tabs.UpdateProperties|function(Tab):void)=}
- * opt_updatePropertiesOrCallback Either an object with new property values,
- * if the tabId was specified as first parameter, or an optional callback
- * that will be invoked with information about the tab being updated.
- * @param {function(!Tab=): void=} opt_callback An optional callback that will
- * be invoked with information about the tab being updated.
- * @return {undefined}
- */
- chrome.tabs.update = function(
- tabIdOrUpdateProperties, opt_updatePropertiesOrCallback, opt_callback) {};
- /**
- * @type {!ChromeEvent}
- * @deprecated Please use tabs.onActivated.
- */
- chrome.tabs.onActiveChanged;
- /** @type {!ChromeEvent} */
- chrome.tabs.onActivated;
- /** @type {!ChromeEvent} */
- chrome.tabs.onAttached;
- /** @type {!ChromeEvent} */
- chrome.tabs.onCreated;
- /** @type {!ChromeEvent} */
- chrome.tabs.onDetached;
- /**
- * @type {!ChromeEvent}
- * @deprecated Please use tabs.onHighlighted.
- */
- chrome.tabs.onHighlightChanged;
- /**
- * @type {!ChromeEvent}
- */
- chrome.tabs.onHighlighted;
- /** @type {!ChromeEvent} */
- chrome.tabs.onMoved;
- /** @type {!ChromeEvent} */
- chrome.tabs.onRemoved;
- /** @type {!ChromeEvent} */
- chrome.tabs.onUpdated;
- /** @type {!ChromeEvent} */
- chrome.tabs.onReplaced;
- // DEPRECATED:
- // TODO(user): Remove once all usage has been confirmed to have ended.
- /**
- * @type {!ChromeEvent}
- * @deprecated Please use tabs.onActivated.
- */
- chrome.tabs.onSelectionChanged;
- /**
- * @see https://developer.chrome.com/extensions/tabs#event-onZoomChange
- * @type {!ChromeObjectEvent}
- */
- chrome.tabs.onZoomChange;
- /**
- * @see https://developer.chrome.com/extensions/topSites
- * @const
- */
- chrome.topSites = {};
- /**
- * @constructor
- * @see https://developer.chrome.com/extensions/topSites#type-MostVisitedURL
- */
- chrome.topSites.MostVisitedURL = function() {};
- /** @type {string} */
- chrome.topSites.MostVisitedURL.prototype.url;
- /** @type {string} */
- chrome.topSites.MostVisitedURL.prototype.title;
- /**
- * Gets a list of top sites.
- * @param {function(!Array<!chrome.topSites.MostVisitedURL>)} callback Invoked
- * with a list of most visited URLs.
- * @see https://developer.chrome.com/extensions/topSites#method-get
- * @return {undefined}
- */
- chrome.topSites.get = function(callback) {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/windows.html
- */
- chrome.windows = {};
- /**
- * @param {Object=} opt_createData May have many keys to specify parameters.
- * Or the callback.
- * @param {function(ChromeWindow): void=} opt_callback Callback.
- * @return {undefined}
- */
- chrome.windows.create = function(opt_createData, opt_callback) {};
- /**
- * @param {number} id Window id.
- * @param {Object=} opt_getInfo May have 'populate' key. Or the callback.
- * @param {function(!ChromeWindow): void=} opt_callback Callback when
- * opt_getInfo is an object.
- * @return {undefined}
- */
- chrome.windows.get = function(id, opt_getInfo, opt_callback) {};
- /**
- * @param {Object=} opt_getInfo May have 'populate' key. Or the callback.
- * @param {function(!Array<!ChromeWindow>): void=} opt_callback Callback.
- * @return {undefined}
- */
- chrome.windows.getAll = function(opt_getInfo, opt_callback) {};
- /**
- * @param {Object=} opt_getInfo May have 'populate' key. Or the callback.
- * @param {function(ChromeWindow): void=} opt_callback Callback.
- * @return {undefined}
- */
- chrome.windows.getCurrent = function(opt_getInfo, opt_callback) {};
- /**
- * @param {Object=} opt_getInfo May have 'populate' key. Or the callback.
- * @param {function(ChromeWindow): void=} opt_callback Callback.
- * @return {undefined}
- */
- chrome.windows.getLastFocused = function(opt_getInfo, opt_callback) {};
- /**
- * @param {number} tabId Tab Id.
- * @param {function(): void=} opt_callback Callback.
- * @return {undefined}
- */
- chrome.windows.remove = function(tabId, opt_callback) {};
- /**
- * @param {number} tabId Tab Id.
- * @param {Object} updateProperties An object which may have many keys for
- * various options.
- * @param {function(!ChromeWindow): void=} opt_callback Callback.
- * @return {undefined}
- */
- chrome.windows.update = function(tabId, updateProperties, opt_callback) {};
- /** @type {!ChromeEvent} */
- chrome.windows.onCreated;
- /** @type {!ChromeEvent} */
- chrome.windows.onFocusChanged;
- /** @type {!ChromeEvent} */
- chrome.windows.onRemoved;
- /**
- * @see https://developer.chrome.com/extensions/windows.html#property-WINDOW_ID_NONE
- * @type {number}
- */
- chrome.windows.WINDOW_ID_NONE;
- /**
- * @see https://developer.chrome.com/extensions/windows.html#property-WINDOW_ID_CURRENT
- * @type {number}
- */
- chrome.windows.WINDOW_ID_CURRENT;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/i18n.html
- */
- chrome.i18n = {};
- /**
- * @param {function(Array<string>): void} callback The callback function which
- * accepts an array of the accept languages of the browser, such as
- * 'en-US','en','zh-CN'.
- * @return {undefined}
- */
- chrome.i18n.getAcceptLanguages = function(callback) {};
- /**
- * @param {string} messageName
- * @param {(string|Array<string>)=} opt_args
- * @param {{escapeLt: boolean}=} opt_options
- * @return {string}
- * @see https://developer.chrome.com/extensions/i18n#method-getMessage
- */
- chrome.i18n.getMessage = function(messageName, opt_args, opt_options) {};
- /**
- * @return {string}
- */
- chrome.i18n.getUILanguage = function() {};
- /**
- * @param {string} text User input string to be detected.
- * @param {function(!Object)} callback The callback for passing back the
- * language detection result.
- * @return {undefined}
- */
- chrome.i18n.detectLanguage = function(text, callback) {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/pageAction.html
- */
- chrome.pageAction = {};
- /**
- * @param {number} tabId Tab Id.
- * @return {undefined}
- */
- chrome.pageAction.hide = function(tabId) {};
- /**
- * @param {Object} details An object which has 'tabId' and either
- * 'imageData' or 'path'.
- * @param {(function(): void)=} callback The callback function. If an error
- * occurs setting the icon, chrome.runtime.lastError will be set to the error
- * message.
- * @return {undefined}
- */
- chrome.pageAction.setIcon = function(details, callback) {};
- /**
- * @param {Object} details An object which may have 'popup' or 'tabId' as keys.
- * @return {undefined}
- */
- chrome.pageAction.setPopup = function(details) {};
- /**
- * @param {Object} details An object which has 'tabId' and 'title'.
- * @return {undefined}
- */
- chrome.pageAction.setTitle = function(details) {};
- /**
- * @param {number} tabId Tab Id.
- * @param {(function(): void)=} callback The callback function. If an error
- * occurs showing the pageAction, chrome.runtime.lastError will be set to the
- * error message.
- * @return {undefined}
- */
- chrome.pageAction.show = function(tabId, callback) {};
- /** @type {!ChromeEvent} */
- chrome.pageAction.onClicked;
- /**
- * @const
- * @see https://developer.chrome.com/apps/browser
- */
- chrome.browser = {};
- /**
- * @param {{url: string}} details An object with a single 'url' key.
- * @param {(function(): void)=} opt_callback The callback function. If an error
- * occurs opening the URL, chrome.runtime.lastError will be set to the error
- * message.
- * @return {undefined}
- */
- chrome.browser.openTab = function(details, opt_callback) {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/browserAction.html
- */
- chrome.browserAction = {};
- /**
- * @typedef {?{
- * tabId: (number|undefined)
- * }}
- */
- chrome.browserAction.Tab;
- /**
- * @typedef {Array<number>}
- * @see https://developer.chrome.com/extensions/browserAction#type-ColorArray
- */
- chrome.browserAction.ColorArray;
- /**
- * @typedef {{
- * imageData: (!ImageData|!Object<number, !ImageData>|undefined),
- * path: (string|!Object<number, string>|undefined),
- * tabId: (number|undefined)
- * }}
- */
- chrome.browserAction.SetIconImageData;
- /**
- * @param {{
- * title: string,
- * tabId: (number|undefined)
- * }} details
- * @see https://developer.chrome.com/extensions/browserAction#method-setTitle
- * @return {undefined}
- */
- chrome.browserAction.setTitle = function(details) {};
- /**
- * @param {!chrome.browserAction.Tab} details
- * @param {function(string): void} callback
- * @see https://developer.chrome.com/extensions/browserAction#method-getTitle
- * @return {undefined}
- */
- chrome.browserAction.getTitle = function(details, callback) {};
- /**
- * @param {!chrome.browserAction.SetIconImageData} details
- * @param {function(): void=} opt_callback
- * @see https://developer.chrome.com/extensions/browserAction#method-setIcon
- * @return {undefined}
- */
- chrome.browserAction.setIcon = function(details, opt_callback) {};
- /**
- * @param {{
- * tabId: (number|undefined),
- * popup: string
- * }} details
- * @see https://developer.chrome.com/extensions/browserAction#method-setPopup
- * @return {undefined}
- */
- chrome.browserAction.setPopup = function(details) {};
- /**
- * @param {!chrome.browserAction.Tab} details
- * @param {function(string): void} callback
- * @see https://developer.chrome.com/extensions/browserAction#method-getPopup
- * @return {undefined}
- */
- chrome.browserAction.getPopup = function(details, callback) {};
- /**
- * @param {{
- * text: string,
- * tabId: (number|undefined)
- * }} details
- * @see https://developer.chrome.com/extensions/browserAction#method-setBadgeText
- * @return {undefined}
- */
- chrome.browserAction.setBadgeText = function(details) {};
- /**
- * @param {!chrome.browserAction.Tab} details
- * @param {function(string): void} callback
- * @see https://developer.chrome.com/extensions/browserAction#method-getBadgeText
- * @return {undefined}
- */
- chrome.browserAction.getBadgeText = function(details, callback) {};
- /**
- * @param {{
- * color: (string|chrome.browserAction.ColorArray),
- * tabId: (number|undefined)
- * }} details
- * @see https://developer.chrome.com/extensions/browserAction#method-setBadgeBackgroundColor
- * @return {undefined}
- */
- chrome.browserAction.setBadgeBackgroundColor = function(details) {};
- /**
- * @param {!chrome.browserAction.Tab} details
- * @param {function(chrome.browserAction.ColorArray): void} callback
- * @see https://developer.chrome.com/extensions/browserAction#method-getBadgeBackgroundColor
- * @return {undefined}
- */
- chrome.browserAction.getBadgeBackgroundColor = function(details, callback) {};
- /**
- * @param {number=} opt_tabId
- * @see https://developer.chrome.com/extensions/browserAction#method-enable
- * @return {undefined}
- */
- chrome.browserAction.enable = function(opt_tabId) {};
- /**
- * @param {number=} opt_tabId
- * @see https://developer.chrome.com/extensions/browserAction#method-disable
- * @return {undefined}
- */
- chrome.browserAction.disable = function(opt_tabId) {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<function(!Tab)>}
- */
- chrome.browserAction.BrowserActionTabEvent = function() {};
- /**
- * @type {!chrome.browserAction.BrowserActionTabEvent}
- * @see https://developer.chrome.com/extensions/browserAction#event-onClicked
- */
- chrome.browserAction.onClicked;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/bookmarks.html
- */
- chrome.bookmarks = {};
- /**
- * @typedef {?{
- * parentId: (string|undefined),
- * index: (number|undefined),
- * url: (string|undefined),
- * title: (string|undefined)
- * }}
- * @see https://developer.chrome.com/extensions/bookmarks#method-create
- */
- chrome.bookmarks.CreateDetails;
- /**
- * @typedef {?{
- * query: (string|undefined),
- * url: (string|undefined),
- * title: (string|undefined)
- * }}
- * @see https://developer.chrome.com/extensions/bookmarks#method-search
- */
- chrome.bookmarks.SearchDetails;
- /**
- * @param {(string|Array<string>)} idOrIdList
- * @param {function(Array<BookmarkTreeNode>): void} callback The
- * callback function which accepts an array of BookmarkTreeNode.
- * @return {Array<BookmarkTreeNode>}
- */
- chrome.bookmarks.get = function(idOrIdList, callback) {};
- /**
- * @param {string} id
- * @param {function(Array<BookmarkTreeNode>): void} callback The
- * callback function which accepts an array of BookmarkTreeNode.
- * @return {Array<BookmarkTreeNode>}
- */
- chrome.bookmarks.getChildren = function(id, callback) {};
- /**
- * @param {number} numberOfItems The number of items to return.
- * @param {function(Array<BookmarkTreeNode>): void} callback The
- * callback function which accepts an array of BookmarkTreeNode.
- * @return {Array<BookmarkTreeNode>}
- */
- chrome.bookmarks.getRecent = function(numberOfItems, callback) {};
- /**
- * @param {function(Array<BookmarkTreeNode>): void} callback The
- * callback function which accepts an array of BookmarkTreeNode.
- * @return {Array<BookmarkTreeNode>}
- */
- chrome.bookmarks.getTree = function(callback) {};
- /**
- * @param {string} id The ID of the root of the subtree to retrieve.
- * @param {function(Array<BookmarkTreeNode>): void} callback The
- * callback function which accepts an array of BookmarkTreeNode.
- * @return {Array<BookmarkTreeNode>}
- */
- chrome.bookmarks.getSubTree = function(id, callback) {};
- /**
- * @param {string|!chrome.bookmarks.SearchDetails} query
- * @param {function(Array<BookmarkTreeNode>): void} callback
- * @return {Array<BookmarkTreeNode>}
- */
- chrome.bookmarks.search = function(query, callback) {};
- /**
- * @param {chrome.bookmarks.CreateDetails} bookmark
- * @param {function(BookmarkTreeNode): void=} opt_callback The
- * callback function which accepts a BookmarkTreeNode object.
- * @return {undefined}
- */
- chrome.bookmarks.create = function(bookmark, opt_callback) {};
- /**
- * @param {string} id
- * @param {Object} destination An object which has optional 'parentId' and
- * optional 'index'.
- * @param {function(BookmarkTreeNode): void=} opt_callback
- * The callback function which accepts a BookmarkTreeNode object.
- * @return {undefined}
- */
- chrome.bookmarks.move = function(id, destination, opt_callback) {};
- /**
- * @param {string} id
- * @param {Object} changes An object which may have 'title' as a key.
- * @param {function(BookmarkTreeNode): void=} opt_callback The
- * callback function which accepts a BookmarkTreeNode object.
- * @return {undefined}
- */
- chrome.bookmarks.update = function(id, changes, opt_callback) {};
- /**
- * @param {string} id
- * @param {function(): void=} opt_callback
- * @return {undefined}
- */
- chrome.bookmarks.remove = function(id, opt_callback) {};
- /**
- * @param {string} id
- * @param {function(): void=} opt_callback
- * @return {undefined}
- */
- chrome.bookmarks.removeTree = function(id, opt_callback) {};
- /**
- * @param {function(): void=} opt_callback
- * @return {undefined}
- */
- chrome.bookmarks.import = function(opt_callback) {};
- /**
- * @param {function(): void=} opt_callback
- * @return {undefined}
- */
- chrome.bookmarks.export = function(opt_callback) {};
- /** @type {!ChromeEvent} */
- chrome.bookmarks.onChanged;
- /** @type {!ChromeEvent} */
- chrome.bookmarks.onChildrenReordered;
- /** @type {!ChromeEvent} */
- chrome.bookmarks.onCreated;
- /** @type {!ChromeEvent} */
- chrome.bookmarks.onImportBegan;
- /** @type {!ChromeEvent} */
- chrome.bookmarks.onImportEnded;
- /** @type {!ChromeEvent} */
- chrome.bookmarks.onMoved;
- /** @type {!ChromeEvent} */
- chrome.bookmarks.onRemoved;
- /**
- * @typedef {?{
- * content: string,
- * description: string
- * }}
- */
- var SuggestResult;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/omnibox.html
- */
- chrome.omnibox = {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<function(string,
- * function(!Array<!SuggestResult>))>}
- */
- chrome.omnibox.InputChangedEvent = function() {};
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/omnibox#type-OnInputEnteredDisposition
- */
- chrome.omnibox.OnInputEnteredDisposition = {
- CURRENT_TAB: '',
- NEW_BACKGROUND_TAB: '',
- NEW_FOREGROUND_TAB: '',
- };
- /**
- * @interface
- * @extends {ChromeBaseEvent<
- * function(string,!chrome.omnibox.OnInputEnteredDisposition)>}
- */
- chrome.omnibox.InputEnteredEvent = function() {};
- /**
- * @param {{description: string}} suggestion A partial SuggestResult object.
- * @return {undefined}
- */
- chrome.omnibox.setDefaultSuggestion = function(suggestion) {};
- /** @type {!ChromeEvent} */
- chrome.omnibox.onInputCancelled;
- /** @type {!chrome.omnibox.InputChangedEvent} */
- chrome.omnibox.onInputChanged;
- /** @type {!chrome.omnibox.InputEnteredEvent} */
- chrome.omnibox.onInputEntered;
- /** @type {!ChromeEvent} */
- chrome.omnibox.onInputStarted;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/dev/contextMenus.html
- */
- chrome.contextMenus = {};
- /**
- * @typedef {?{
- * type: (string|undefined),
- * id: (string|undefined),
- * title: (string|undefined),
- * checked: (boolean|undefined),
- * contexts: (!Array<string>|undefined),
- * onclick: (function(!Object, !Tab)|undefined),
- * parentId: (number|string|undefined),
- * documentUrlPatterns: (!Array<string>|undefined),
- * targetUrlPatterns: (!Array<string>|undefined),
- * enabled: (boolean|undefined)
- * }}
- * @see https://developer.chrome.com/extensions/contextMenus#method-create
- */
- chrome.contextMenus.CreateProperties;
- /**
- * @typedef {?{
- * type: (string|undefined),
- * title: (string|undefined),
- * checked: (boolean|undefined),
- * contexts: (!Array<string>|undefined),
- * onclick: (function(!Object, !Tab)|undefined),
- * parentId: (number|string|undefined),
- * documentUrlPatterns: (!Array<string>|undefined),
- * targetUrlPatterns: (!Array<string>|undefined),
- * enabled: (boolean|undefined)
- * }}
- * @see https://developer.chrome.com/extensions/contextMenus#method-update
- */
- chrome.contextMenus.UpdateProperties;
- /**
- * @param {!chrome.contextMenus.CreateProperties} createProperties
- * @param {function()=} opt_callback
- * @return {(number|string)} The id of the newly created window.
- * @see https://developer.chrome.com/extensions/contextMenus#method-create
- */
- chrome.contextMenus.create = function(createProperties, opt_callback) {};
- /**
- * @param {(number|string)} id
- * @param {!chrome.contextMenus.UpdateProperties} updateProperties
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/extensions/contextMenus#method-update
- * @return {undefined}
- */
- chrome.contextMenus.update = function(id, updateProperties, opt_callback) {};
- /**
- * @param {(number|string)} menuItemId
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/extensions/contextMenus#method-remove
- * @return {undefined}
- */
- chrome.contextMenus.remove = function(menuItemId, opt_callback) {};
- /**
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/extensions/contextMenus#method-removeAll
- * @return {undefined}
- */
- chrome.contextMenus.removeAll = function(opt_callback) {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<function(!OnClickData, !Tab=)>}
- * @see https://developer.chrome.com/extensions/contextMenus#event-onClicked
- */
- chrome.contextMenus.ClickedEvent = function() {};
- /**
- * @type {!chrome.contextMenus.ClickedEvent}
- * @see https://developer.chrome.com/extensions/contextMenus#event-onClicked
- */
- chrome.contextMenus.onClicked;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/dev/cookies.html
- */
- chrome.cookies = {};
- /**
- * This typedef is used for the parameters to chrome.cookies.get,
- * chrome.cookies.remove, and for the parameter to remove's callback. These uses
- * all identify a single cookie uniquely without specifying its content, and the
- * objects are identical except for the storeId being optional vs required.
- * If greater divergence occurs, then going to two typedefs is recommended.
- *
- * @typedef {?{
- * url: string,
- * name: string,
- * storeId: (string|undefined)
- * }}
- */
- chrome.cookies.CookieIdentifier;
- /**
- * @param {!chrome.cookies.CookieIdentifier} details
- * @param {function(Cookie=): void} callback
- * @return {undefined}
- */
- chrome.cookies.get = function(details, callback) {};
- /**
- * @param {Object} details
- * @param {function(Array<Cookie>): void} callback
- * @return {undefined}
- */
- chrome.cookies.getAll = function(details, callback) {};
- /**
- * @param {function(Array<CookieStore>): void} callback
- * @return {undefined}
- */
- chrome.cookies.getAllCookieStores = function(callback) {};
- /**
- * @param {!chrome.cookies.CookieIdentifier} details
- * @param {function(chrome.cookies.CookieIdentifier): void=} opt_callback If
- * removal failed for any reason, the parameter will be "null", and
- * "chrome.runtime.lastError" will be set.
- * @return {undefined}
- */
- chrome.cookies.remove = function(details, opt_callback) {};
- /**
- * @typedef {?{
- * url: string,
- * name: (string|undefined),
- * value: (string|undefined),
- * domain: (string|undefined),
- * path: (string|undefined),
- * secure: (boolean|undefined),
- * httpOnly: (boolean|undefined),
- * expirationDate: (number|undefined),
- * storeId: (string|undefined)
- * }}
- */
- chrome.cookies.CookieSetDetails;
- /**
- * @param {!chrome.cookies.CookieSetDetails} details
- * @param {function(Cookie): void=} opt_callback If setting failed for any
- * reason, the parameter will be "null", and "chrome.runtime.lastError" will
- * be set.
- * @return {undefined}
- */
- chrome.cookies.set = function(details, opt_callback) {};
- /**
- * @see https://developer.chrome.com/extensions/cookies.html#event-onChanged
- * @type {!ChromeEvent}
- */
- chrome.cookies.onChanged;
- /** @constructor */
- function CookieChangeInfo() {}
- /** @type {boolean} */
- CookieChangeInfo.prototype.removed;
- /** @type {Cookie} */
- CookieChangeInfo.prototype.cookie;
- /** @type {string} */
- CookieChangeInfo.prototype.cause;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/management
- */
- chrome.management = {};
- /**
- * @typedef {?{
- * showConfirmDialog: (boolean|undefined)
- * }}
- */
- chrome.management.InstallOptions;
- /**
- * @param {function(!Array<!ExtensionInfo>): void=} opt_callback Optional
- * callback function.
- * @return {undefined}
- */
- chrome.management.getAll = function(opt_callback) {};
- /**
- * @param {string} id
- * @param {function(!ExtensionInfo): void=} opt_callback Optional callback
- * function.
- * @return {undefined}
- */
- chrome.management.get = function(id, opt_callback) {};
- /**
- * @param {function(!ExtensionInfo): void=} opt_callback Optional
- * callback function
- * @return {undefined}
- */
- chrome.management.getSelf = function(opt_callback) {};
- /**
- * @param {string} id The id of an already installed extension.
- * @param {function(!Array<string>)=} opt_callback Optional callback function.
- * @return {undefined}
- */
- chrome.management.getPermissionWarningsById = function(id, opt_callback) {};
- /**
- * @param {string} manifestStr Extension's manifest JSON string.
- * @param {function(!Array<string>)=} opt_callback Optional callback function.
- * @return {undefined}
- */
- chrome.management.getPermissionWarningsByManifest = function(
- manifestStr, opt_callback) {};
- /**
- * @param {string} id The id of an already installed extension.
- * @param {boolean} enabled Whether this item should be enabled.
- * @param {function(): void=} opt_callback Optional callback function.
- * @return {undefined}
- */
- chrome.management.setEnabled = function(id, enabled, opt_callback) {};
- /**
- * @param {string} id The id of an already installed extension.
- * @param {(!chrome.management.InstallOptions|function(): void)=}
- * opt_optionsOrCallback An optional uninstall options object or an optional
- * callback function.
- * @param {function(): void=} opt_callback Optional callback function.
- * @return {undefined}
- */
- chrome.management.uninstall = function(
- id, opt_optionsOrCallback, opt_callback) {};
- /**
- * @param {(!chrome.management.InstallOptions|function(): void)=}
- * opt_optionsOrCallback An optional uninstall options object or an optional
- * callback function.
- * @param {function(): void=} opt_callback An optional callback function.
- * @return {undefined}
- */
- chrome.management.uninstallSelf = function(
- opt_optionsOrCallback, opt_callback) {};
- /**
- * @param {string} id The id of an already installed extension.
- * @param {function(): void=} opt_callback Optional callback function.
- * @return {undefined}
- */
- chrome.management.launchApp = function(id, opt_callback) {};
- /**
- * @param {string} id The id of an already installed extension.
- * @param {function(): void=} opt_callback Optional callback function.
- * @return {undefined}
- */
- chrome.management.createAppShortcut = function(id, opt_callback) {};
- /**
- * @param {string} id The id of an already installed extension.
- * @param {string} launchType The LaunchType enum value to set. Make sure this
- * value is in ExtensionInfo.availableLaunchTypes because the available
- * launch types vary on different platforms and configurations.
- * @param {function(): void=} opt_callback Optional callback function.
- * @return {undefined}
- */
- chrome.management.setLaunchType = function(id, launchType, opt_callback) {};
- /**
- * @param {string} url The URL of a web page. The scheme of the URL can only be
- * "http" or "https".
- * @param {string} title The title of the generated app.
- * @param {function(!ExtensionInfo): void=} opt_callback Optional callback
- * function.
- * @return {undefined}
- */
- chrome.management.generateAppForLink = function(url, title, opt_callback) {};
- /**
- * @param {function():void=} callback
- * @return {undefined}
- */
- chrome.management.installReplacementWebApp = function(callback) {};
- /**
- * Event whose listeners take an ExtensionInfo parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!ExtensionInfo)>}
- */
- function ChromeExtensionInfoEvent() {};
- /** @type {!ChromeExtensionInfoEvent} */
- chrome.management.onInstalled;
- /** @type {!ChromeStringEvent} */
- chrome.management.onUninstalled;
- /** @type {!ChromeExtensionInfoEvent} */
- chrome.management.onEnabled;
- /** @type {!ChromeExtensionInfoEvent} */
- chrome.management.onDisabled;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/idle.html
- */
- chrome.idle = {};
- /**
- * @param {number} thresholdSeconds Threshold in seconds, used to determine
- * when a machine is in the idle state.
- * @param {function(string): void} callback Callback to handle the state.
- * @return {undefined}
- */
- chrome.idle.queryState = function(thresholdSeconds, callback) {};
- /**
- * @param {number} intervalInSeconds Threshold, in seconds, used to determine
- * when the system is in an idle state.
- * @return {undefined}
- */
- chrome.idle.setDetectionInterval = function(intervalInSeconds) {};
- /**
- * @param {function(number): void} callback Callback to receive the delay
- * @return {undefined}
- */
- chrome.idle.getAutoLockDelay = function(callback) {};
- /** @type {!ChromeEvent} */
- chrome.idle.onStateChanged;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/contentSettings.html
- */
- chrome.contentSettings = {};
- /** @type {!ContentSetting} */
- chrome.contentSettings.cookies;
- /** @type {!ContentSetting} */
- chrome.contentSettings.images;
- /** @type {!ContentSetting} */
- chrome.contentSettings.javascript;
- /** @type {!ContentSetting} */
- chrome.contentSettings.plugins;
- /** @type {!ContentSetting} */
- chrome.contentSettings.popups;
- /** @type {!ContentSetting} */
- chrome.contentSettings.notifications;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/fileBrowserHandler
- */
- chrome.fileBrowserHandler = {};
- /**
- * @typedef {?{
- * suggestedName: string,
- * allowedFileExtensions: (!Array<string>|undefined)
- * }}
- */
- chrome.fileBrowserHandler.SelectFileSelectionParams;
- /**
- * Prompts user to select file path under which file should be saved.
- * @see https://developer.chrome.com/extensions/fileBrowserHandler#method-selectFile
- * @param {!chrome.fileBrowserHandler.SelectFileSelectionParams} selectionParams
- * Parameters that will be used while selecting the file.
- * @param {function(!Object)} callback Function called upon completion.
- * @return {undefined}
- */
- chrome.fileBrowserHandler.selectFile = function(selectionParams, callback) {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<function(string, !FileHandlerExecuteEventDetails)>}
- * @see https://developer.chrome.com/extensions/fileBrowserHandler#event-onExecute
- */
- chrome.fileBrowserHandler.ExecuteEvent = function() {};
- /**
- * Fired when file system action is executed from ChromeOS file browser.
- * @see https://developer.chrome.com/extensions/fileBrowserHandler#event-onExecute
- * @type {!chrome.fileBrowserHandler.ExecuteEvent}
- */
- chrome.fileBrowserHandler.onExecute;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/gcm
- */
- chrome.gcm = {};
- /**
- * @see https://developer.chrome.com/extensions/gcm#property-MAX_MESSAGE_SIZE
- * @type {number}
- */
- chrome.gcm.MAX_MESSAGE_SIZE;
- /**
- * Registers the application with GCM. The registration ID will be returned by
- * the callback. If register is called again with the same list of senderIds,
- * the same registration ID will be returned.
- * @see https://developer.chrome.com/extensions/gcm#method-register
- * @param {!Array<string>} senderIds A list of server IDs that are allowed to
- * send messages to the application.
- * @param {function(string): void} callback Function called when
- * registration completes with registration ID as argument.
- * @return {undefined}
- */
- chrome.gcm.register = function(senderIds, callback) {};
- /**
- * Unregisters the application from GCM.
- * @see https://developer.chrome.com/extensions/gcm#method-unregister
- * @param {function(): void} callback Called when unregistration is done.
- * @return {undefined}
- */
- chrome.gcm.unregister = function(callback) {};
- /**
- * Sends an upstream message using GCM.
- * @see https://developer.chrome.com/extensions/gcm#method-send
- * @param {!chrome.gcm.Message} message Message to be sent.
- * @param {function(string): void} callback Called with message ID.
- * @return {undefined}
- */
- chrome.gcm.send = function(message, callback) {};
- /**
- * Outgoing message.
- * @typedef {?{
- * destinationId: string,
- * messageId: string,
- * timeToLive: (number|undefined),
- * data: !Object<string, string>
- * }}
- */
- chrome.gcm.Message;
- /**
- * An event, fired when a message is received through GCM.
- * @see https://developer.chrome.com/extensions/gcm#event-onMessage
- * @type {!chrome.gcm.OnMessageEvent}
- */
- chrome.gcm.onMessage;
- /**
- * An event, fired when GCM server had to delete messages to the application
- * from its queue in order to manage its size.
- * @see https://developer.chrome.com/extensions/gcm#event-onMessagesDeleted
- * @type {!ChromeEvent}
- */
- chrome.gcm.onMessagesDeleted;
- /**
- * An event indicating problems with sending messages.
- * @see https://developer.chrome.com/extensions/gcm#event-onSendError
- * @type {!chrome.gcm.OnSendErrorEvent}
- */
- chrome.gcm.onSendError;
- /**
- * @interface
- * @extends {ChromeBaseEvent<function(!Object)>}
- */
- chrome.gcm.OnMessageEvent = function() {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<function(!Object)>}
- */
- chrome.gcm.OnSendErrorEvent = function() {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/history.html
- */
- chrome.history = {};
- /**
- * @param {Object<string, string>} details Object with a 'url' key.
- * @return {undefined}
- */
- chrome.history.addUrl = function(details) {};
- /**
- * @param {function(): void} callback Callback function.
- * @return {undefined}
- */
- chrome.history.deleteAll = function(callback) {};
- /**
- * @param {Object<string, string>} range Object with 'startTime'
- * and 'endTime' keys.
- * @param {function(): void} callback Callback function.
- * @return {undefined}
- */
- chrome.history.deleteRange = function(range, callback) {};
- /**
- * @param {Object<string, string>} details Object with a 'url' key.
- * @return {undefined}
- */
- chrome.history.deleteUrl = function(details) {};
- /**
- * @param {Object<string, string>} details Object with a 'url' key.
- * @param {function(!Array<!VisitItem>): void} callback Callback function.
- * @return {!Array<!VisitItem>}
- */
- chrome.history.getVisits = function(details, callback) {};
- /**
- * @param {Object<string, string>} query Object with a 'text' (string)
- * key and optional 'startTime' (number), 'endTime' (number) and
- * 'maxResults' keys.
- * @param {function(!Array<!HistoryItem>): void} callback Callback function.
- * @return {!Array<!HistoryItem>}
- */
- chrome.history.search = function(query, callback) {};
- /** @type {!ChromeEvent} */
- chrome.history.onVisitRemoved;
- /** @type {!ChromeEvent} */
- chrome.history.onVisited;
- /**
- * @const
- * @see http://developer.chrome.com/apps/identity.html
- */
- chrome.identity = {};
- /** @typedef {?{id: string}} */
- chrome.identity.AccountInfo;
- /**
- * @param {function(!Array<!chrome.identity.AccountInfo>): void} callback
- * @return {undefined}
- */
- chrome.identity.getAccounts = function(callback) {};
- /**
- * @param {(!chrome.identity.TokenDetails|function(string=): void)}
- * detailsOrCallback Token options or a callback function if no options are
- * specified.
- * @param {function(string=): void=} opt_callback A callback function if options
- * are specified.
- * @return {undefined}
- */
- chrome.identity.getAuthToken = function(detailsOrCallback, opt_callback) {};
- /**
- * @typedef {?{
- * interactive: (boolean|undefined),
- * account: (!chrome.identity.AccountInfo|undefined),
- * scopes: (!Array<string>|undefined)
- * }}
- */
- chrome.identity.TokenDetails;
- /**
- * @param {!chrome.identity.InvalidTokenDetails} details
- * @param {function(): void=} opt_callback
- * @return {undefined}
- */
- chrome.identity.removeCachedAuthToken = function(details, opt_callback) {};
- /** @typedef {?{token: string}} */
- chrome.identity.InvalidTokenDetails;
- /**
- * @param {!chrome.identity.WebAuthFlowDetails} details
- * @param {function(string=): void} callback
- * @return {undefined}
- */
- chrome.identity.launchWebAuthFlow = function(details, callback) {};
- /** @typedef {?{url: string, interactive: (boolean|undefined)}} */
- chrome.identity.WebAuthFlowDetails;
- /** @typedef {?{id: string, email: string}} */
- chrome.identity.ProfileUserInfo;
- /**
- * @enum {string}
- * See https://developer.chrome.com/docs/extensions/reference/identity/#type-AccountStatus
- */
- chrome.identity.AccountStatus = {
- SYNC: '',
- ANY: '',
- };
- /**
- * See https://developer.chrome.com/docs/extensions/reference/identity/#type-ProfileDetails
- * @typedef {{accountStatus: (!chrome.identity.AccountStatus|undefined)}}
- */
- chrome.identity.ProfileDetails;
- /**
- * @param {!chrome.identity.ProfileDetails|function(!chrome.identity.ProfileUserInfo):void} accountStatusOrCallback
- * Either the accountStatus of the primary profile account or the callback
- * @param {function(!chrome.identity.ProfileUserInfo):void=} opt_callback if
- * the accountStatus is provided
- * @return {undefined}
- */
- chrome.identity.getProfileUserInfo = function(accountStatusOrCallback, opt_callback) {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.identity.AccountInfo, boolean)>}
- */
- chrome.identity.OnSignInChangedEvent = function() {};
- /** @type {!chrome.identity.OnSignInChangedEvent} */
- chrome.identity.onSignInChanged;
- /**
- * @param {string=} opt_path
- * @return {string}
- */
- chrome.identity.getRedirectURL = function(opt_path) {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/input.ime.html
- */
- chrome.input = {};
- /** @const */
- chrome.input.ime = {};
- /**
- * @typedef {?{
- * left: number,
- * top: number,
- * width: number,
- * height: number
- * }}
- * @see https://developer.chrome.com/extensions/input_ime#type-CreateWindowOptions
- */
- chrome.input.ime.Bounds;
- /**
- * @typedef {?{
- * windowType: chrome.input.ime.WindowType,
- * url: (string|undefined),
- * bounds: (chrome.input.ime.Bounds|undefined)
- * }}
- * @see https://developer.chrome.com/extensions/input_ime#type-CreateWindowOptions
- */
- chrome.input.ime.CreateWindowOptions;
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/system.display#type-MirrorMode
- */
- chrome.input.ime.WindowType = {
- NORMAL: '',
- FOLLOW_CURSOR: '',
- };
- /**
- * The OnKeyEvent event takes an extra argument.
- *
- * The addListener() method for this class takes more than one argument, so it
- * isn't possible to just extend ChromeBaseEvent here.
- * @interface
- * @extends {ChromeBaseEventNoListeners}
- */
- function ChromeInputImeOnKeyEventEvent() {}
- /**
- * @param {function(string, !ChromeKeyboardEvent): (boolean|undefined)} callback
- * callback.
- * @param {Array<string>=} opt_extraInfoSpec Array of extra information.
- * @return {undefined}
- */
- ChromeInputImeOnKeyEventEvent.prototype.addListener = function(
- callback, opt_extraInfoSpec) {};
- /**
- * @param {function(string, !ChromeKeyboardEvent): (boolean|undefined)} callback
- * callback.
- * @return {undefined}
- */
- ChromeInputImeOnKeyEventEvent.prototype.removeListener = function(callback) {};
- /**
- * @param {function(string, !ChromeKeyboardEvent): (boolean|undefined)} callback
- * callback.
- * @return {boolean}
- */
- ChromeInputImeOnKeyEventEvent.prototype.hasListener = function(callback) {};
- /**
- * @return {boolean}
- */
- ChromeInputImeOnKeyEventEvent.prototype.hasListeners = function() {};
- /**
- * @param {function(boolean): void=} callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.activate = function(callback) {};
- /**
- * @param {!Object<string,number>} parameters An object with a
- * 'contextID' (number) key.
- * @param {function(boolean): void=} callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.clearComposition = function(parameters, callback) {};
- /**
- * @param {!Object<string,(string|number)>} parameters An object with
- * 'contextID' (number) and 'text' (string) keys.
- * @param {function(boolean): void=} opt_callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.commitText = function(parameters, opt_callback) {};
- /**
- * @param {!chrome.input.ime.CreateWindowOptions} options Options of the created
- * IME window.
- * @param {function(Window): void=} callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.createWindow = function(options, callback) {};
- /**
- * @param {function(boolean): void} callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.deactivate = function(callback) {};
- /**
- * @param {!Object<string,(string|number)>} parameters An object with
- * 'contextID' (number) and 'text' (string) keys.
- * @param {function(boolean): void=} opt_callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.deleteSurroundingText = function(parameters, opt_callback) {};
- /**
- * @return {undefined}
- */
- chrome.input.ime.hideInputView = function() {};
- /**
- * @param {function(boolean): void=} callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.hideWindow = function(callback) {};
- /**
- * @param {!Object<number,Array<KeyboardEvent>>}
- * parameters An object with 'contextID' (number) and 'keyData'
- * (Array<KeyboardEvent>) keys.
- * @param {function(boolean): void=} callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.sendKeyEvents = function(parameters, callback) {};
- /**
- * @param {!Object<string,(number|Object<string,(string|number|boolean)>)>}
- * parameters An object with 'engineID' (string) and 'properties'
- * (Object) keys.
- * @param {function(boolean): void=} opt_callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.setCandidateWindowProperties = function(
- parameters, opt_callback) {};
- /**
- * @param {!Object<string,(number|Object<string,(string|number)>)>}
- * parameters An object with 'contextID' (number) and 'candidates'
- * (array of object) keys.
- * @param {function(boolean): void=} opt_callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.setCandidates = function(parameters, opt_callback) {};
- /**
- * @param {!Object<string,(string|number|Object<string,(string|number)>)>}
- * parameters An object with 'contextID' (number), 'text' (string),
- * 'selectionStart (number), 'selectionEnd' (number), 'cursor' (number),
- * and 'segments' (array of object) keys.
- * @param {function(boolean): void=} opt_callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.setComposition = function(parameters, opt_callback) {};
- /**
- * @param {!Object<string,number>} parameters An object with
- * 'contextID' (number) and 'candidateID' (number) keys.
- * @param {function(boolean): void=} opt_callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.setCursorPosition = function(parameters, opt_callback) {};
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/input.ime#type-AssistiveWindowType
- */
- chrome.input.ime.AssistiveWindowType = {
- UNDO: '',
- };
- /**
- * Properties of the assistive window.
- * @typedef {{
- * type: !chrome.input.ime.AssistiveWindowType,
- * visible: boolean
- * }}
- * @see https://developer.chrome.com/extensions/input.ime#type-AssistiveWindowProperties
- */
- chrome.input.ime.AssistiveWindowProperties;
- /**
- * Shows/Hides an assistive window with the given properties.
- * @param {{
- * contextID: number,
- * properties: !chrome.input.ime.AssistiveWindowProperties
- * }} parameters
- * @param {function(boolean): void=} callback Called when the operation
- * completes.
- * @see https://developer.chrome.com/extensions/input.ime#method-setAssistiveWindowProperties
- */
- chrome.input.ime.setAssistiveWindowProperties = function(
- parameters, callback) {};
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/input.ime#type-AssistiveWindowButton
- */
- chrome.input.ime.AssistiveWindowButton = {
- UNDO: '',
- ADD_TO_DICTIONARY: '',
- };
- /**
- * This event is sent when a button in an assistive window is clicked.
- * @type {!ChromeEvent}
- * @see https://developer.chrome.com/extensions/input.ime#event-onAssistiveWindowButtonClicked
- */
- chrome.input.ime.onAssistiveWindowButtonClicked;
- /**
- * @param {!Object<string,(string|Array<Object<string,(string|boolean)>>)>}
- * parameters An object with 'engineID' (string) and 'items'
- * (array of object) keys.
- * @param {function(): void=} opt_callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.setMenuItems = function(parameters, opt_callback) {};
- /**
- * @param {function(boolean): void=} callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.showWindow = function(callback) {};
- /**
- * @param {!Object<string,(string|Array<Object<string,(string|boolean)>>)>}
- * parameters An object with 'engineID' (string) and 'items'
- * (array of object) keys.
- * @param {function(): void=} opt_callback Callback function.
- * @return {undefined}
- */
- chrome.input.ime.updateMenuItems = function(parameters, opt_callback) {};
- /**
- * @param {string} requestId Request id of the event that was handled. This
- * should come from keyEvent.requestId.
- * @param {boolean} response True if the keystroke was handled, false if not.
- * @return {undefined}
- */
- chrome.input.ime.keyEventHandled = function(requestId, response) {};
- /** @type {!ChromeEvent} */
- chrome.input.ime.onActivate;
- /** @type {!ChromeEvent} */
- chrome.input.ime.onBlur;
- /** @type {!ChromeEvent} */
- chrome.input.ime.onCandidateClicked;
- /** @type {!ChromeEvent} */
- chrome.input.ime.onDeactivated;
- /** @type {!ChromeEvent} */
- chrome.input.ime.onFocus;
- /** @type {!ChromeEvent} */
- chrome.input.ime.onInputContextUpdate;
- /** @type {!ChromeInputImeOnKeyEventEvent} */
- chrome.input.ime.onKeyEvent;
- /** @type {!ChromeEvent} */
- chrome.input.ime.onMenuItemActivated;
- /** @type {!ChromeEvent} */
- chrome.input.ime.onReset;
- /** @type {!ChromeEvent} */
- chrome.input.ime.onSurroundingTextChanged;
- /**
- * namespace
- * @see http://developer.chrome.com/apps/mediaGalleries
- * @const
- */
- chrome.mediaGalleries = {};
- /**
- * @param {{interactive: (string|undefined)}|function(!Array<!FileSystem>)}
- * detailsOrCallback A details object for whether the request should be
- * interactive if permissions haven't been granted yet or the callback.
- * @param {function(!Array<!FileSystem>)=} opt_callback A success callback if
- * no details were supplied as arg1.
- * @return {undefined}
- */
- chrome.mediaGalleries.getMediaFileSystems = function(
- detailsOrCallback, opt_callback) {};
- /**
- * @param {function(!Array<!FileSystem>, string)} callback Callback function.
- * @return {undefined}
- */
- chrome.mediaGalleries.addUserSelectedFolder = function(callback) {};
- /**
- * @param {string} galleryId ID of the media gallery.
- * @param {function()=} opt_callback Optional callback function.
- * @return {undefined}
- */
- chrome.mediaGalleries.dropPermissionForMediaFileSystem = function(
- galleryId, opt_callback) {};
- chrome.mediaGalleries.startMediaScan = function() {};
- chrome.mediaGalleries.cancelMediaScan = function() {};
- /**
- * @param {function(!Array<!FileSystem>)} callback Callback function.
- * @return {undefined}
- */
- chrome.mediaGalleries.addScanResults = function(callback) {};
- /**
- * @typedef {{
- * name: string,
- * galleryId: string,
- * deviceId: (string|undefined),
- * isRemovable: boolean,
- * isMediaDevice: boolean,
- * isAvailable: boolean
- * }}
- */
- chrome.mediaGalleries.MediaFileSystemMetadata;
- /**
- * @param {!FileSystem} mediaFileSystem The file system to get metadata for.
- * @return {!chrome.mediaGalleries.MediaFileSystemMetadata}
- */
- chrome.mediaGalleries.getMediaFileSystemMetadata = function(mediaFileSystem) {};
- /**
- * @param {function(!Array<!chrome.mediaGalleries.MediaFileSystemMetadata>)}
- * callback Callback function.
- * @return {undefined}
- */
- chrome.mediaGalleries.getAllMediaFileSystemMetadata = function(callback) {};
- /**
- * @typedef {{
- * mimeType: string,
- * height: (number|undefined),
- * width: (number|undefined),
- * xResolution: (number|undefined),
- * yResolution: (number|undefined),
- * duration: (number|undefined),
- * rotation: (number|undefined),
- * cameraMake: (string|undefined),
- * cameraModel: (string|undefined),
- * exposureTimeSeconds: (number|undefined),
- * flashFired: (boolean|undefined),
- * fNumber: (number|undefined),
- * focalLengthMm: (number|undefined),
- * isoEquivalent: (number|undefined),
- * album: (string|undefined),
- * artist: (string|undefined),
- * comment: (string|undefined),
- * copyright: (string|undefined),
- * disc: (number|undefined),
- * genre: (string|undefined),
- * language: (string|undefined),
- * title: (string|undefined),
- * track: (number|undefined),
- * rawTags: !Array<!chrome.mediaGalleries.metadata.RawTag>,
- * attachedImages: !Array<!Blob>
- * }}
- */
- chrome.mediaGalleries.MetaData;
- /** @const */
- chrome.mediaGalleries.metadata = {};
- /** @constructor */
- chrome.mediaGalleries.metadata.RawTag = function() {};
- /** @type {string} */
- chrome.mediaGalleries.metadata.RawTag.prototype.type;
- /** @type {!Object<string, string>} */
- chrome.mediaGalleries.metadata.RawTag.prototype.tags;
- /**
- * @param {!Blob} mediaFile The media file for which to get metadata.
- * @param {{metadataType: (string|undefined)}|
- * function(!chrome.mediaGalleries.MetaData)} optionsOrCallback The options
- * for the metadata to retrieve or the callback to invoke with the metadata.
- * The metadataType should either be 'all' or 'mimeTypeOnly'. Defaults to
- * 'all' if the metadataType is omitted.
- * @param {function(!chrome.mediaGalleries.MetaData)=} opt_callback If options
- * were passed as arg2, the callback to invoke with the metadata.
- * @return {undefined}
- */
- chrome.mediaGalleries.getMetadata = function(
- mediaFile, optionsOrCallback, opt_callback) {};
- /**
- * @typedef {function({galleryId: string, success: boolean}): void}
- */
- chrome.mediaGalleries.AddGalleryWatchCallback;
- /**
- * @param {string} galleryId The media gallery's ID.
- * @param {!chrome.mediaGalleries.AddGalleryWatchCallback} callback Fired with
- * success or failure result.
- * @return {undefined}
- */
- chrome.mediaGalleries.addGalleryWatch = function(galleryId, callback) {};
- /**
- * @param {string} galleryId The media gallery's ID.
- * @return {undefined}
- */
- chrome.mediaGalleries.removeGalleryWatch = function(galleryId) {};
- /**
- * @param {function(!Array<string>): void} callback Callback function notifies
- * which galleries are being watched.
- * @return {undefined}
- */
- chrome.mediaGalleries.getAllGalleryWatch = function(callback) {};
- chrome.mediaGalleries.removeAllGalleryWatch = function() {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<!chrome.mediaGalleries.GalleryChangeCallback>}
- */
- chrome.mediaGalleries.GalleryChangeEvent = function() {};
- /**
- * @typedef {function({type: string, galleryId: string}): void}
- */
- chrome.mediaGalleries.GalleryChangeCallback;
- /**
- * @type {!chrome.mediaGalleries.GalleryChangeEvent}
- */
- chrome.mediaGalleries.onGalleryChanged;
- /**
- * @typedef {{
- * type: string,
- * galleryCount: (number|undefined),
- * audioCount: (number|undefined),
- * imageCount: (number|undefined),
- * videoCount: (number|undefined)
- * }}
- */
- chrome.mediaGalleries.OnScanProgressDetails;
- /**
- * Event whose listeners take a chrome.mediaGalleries.OnScanProgressDetails
- * parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.mediaGalleries.OnScanProgressDetails)>}
- */
- chrome.mediaGalleries.ScanProgressEvent = function() {};
- /** @type {!chrome.mediaGalleries.ScanProgressEvent} */
- chrome.mediaGalleries.onScanProgress;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/pageCapture.html
- */
- chrome.pageCapture = {};
- /**
- * @param {Object<string, number>} details Object with a 'tabId' (number) key.
- * @param {function(Blob=): void} callback Callback function.
- * @return {undefined}
- */
- chrome.pageCapture.saveAsMHTML = function(details, callback) {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/permissions.html
- */
- chrome.permissions = {};
- /**
- * @typedef {{
- * permissions: (Array<string>|undefined),
- * origins: (Array<string>|undefined)
- * }}
- * @see http://developer.chrome.com/extensions/permissions.html#type-Permissions
- */
- chrome.permissions.Permissions;
- /**
- * @param {!chrome.permissions.Permissions} permissions
- * @param {function(boolean): void} callback Callback function.
- * @return {undefined}
- */
- chrome.permissions.contains = function(permissions, callback) {};
- /**
- * @param {function(!chrome.permissions.Permissions): void} callback
- * Callback function.
- * @return {undefined}
- */
- chrome.permissions.getAll = function(callback) {};
- /**
- * @param {!chrome.permissions.Permissions} permissions
- * @param {function(boolean): void=} opt_callback Callback function.
- * @return {undefined}
- */
- chrome.permissions.remove = function(permissions, opt_callback) {};
- /**
- * @param {!chrome.permissions.Permissions} permissions
- * @param {function(boolean): void=} opt_callback Callback function.
- * @return {undefined}
- */
- chrome.permissions.request = function(permissions, opt_callback) {};
- /** @type {!ChromeEvent} */
- chrome.permissions.onAdded;
- /** @type {!ChromeEvent} */
- chrome.permissions.onRemoved;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/platformKeys
- */
- chrome.platformKeys = {};
- /**
- * @see https://developer.chrome.com/extensions/platformKeys#type-Match
- * @constructor
- */
- chrome.platformKeys.Match = function() {};
- /** @type {!ArrayBuffer} */
- chrome.platformKeys.Match.prototype.certificate;
- /** @type {!Object} */
- chrome.platformKeys.Match.prototype.keyAlgorithm;
- /**
- * @typedef {?{
- * certificateTypes: !Array<string>,
- * certificateAuthorities: !Array<!ArrayBuffer>
- * }}
- */
- chrome.platformKeys.SelectCertificateDetailRequest;
- /**
- * @typedef {?{
- * request: !chrome.platformKeys.SelectCertificateDetailRequest,
- * clientCerts: (!Array<!ArrayBuffer>|undefined),
- * interactive: boolean
- * }}
- *
- * @see https://developer.chrome.com/extensions/platformKeys#method-selectClientCertificates
- */
- chrome.platformKeys.SelectCertificateDetails;
- /**
- * @param {!chrome.platformKeys.SelectCertificateDetails} details
- * @param {!function(!Array<!chrome.platformKeys.Match>)} callback
- */
- chrome.platformKeys.selectClientCertificates = function(details, callback) {};
- /**
- * @param {!ArrayBuffer} certificate
- * @param {!Object} parameters
- * @param {!function(!Object, ?Object)} callback
- */
- chrome.platformKeys.getKeyPair = function(certificate, parameters, callback) {};
- /**
- * @return {!Object}
- */
- chrome.platformKeys.subtleCrypto = function() {};
- /**
- * @typedef {?{
- * serverCertificateChain: !Array<!ArrayBuffer>,
- * hostname: string
- * }}
- *
- * @see https://developer.chrome.com/extensions/platformKeys#method-verifyTLSServerCertificate
- */
- chrome.platformKeys.VerifyServerCertificateDetails;
- /**
- * @param {!chrome.platformKeys.VerifyServerCertificateDetails} details
- * @param {!function(!Object)} callback
- */
- chrome.platformKeys.verifyTLSServerCertificate = function(details, callback) {};
- /**
- * @const
- * @see http://developer.chrome.com/dev/extensions/power.html
- */
- chrome.power = {};
- /**
- * @param {string} level A string describing the degree to which power
- * management should be disabled, should be either "system" or "display".
- * @return {undefined}
- */
- chrome.power.requestKeepAwake = function(level) {};
- /**
- * Releases a request previously made via requestKeepAwake().
- * @return {undefined}
- */
- chrome.power.releaseKeepAwake = function() {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/privacy.html
- */
- chrome.privacy = {};
- /** @type {!Object<string,!ChromeSetting>} */
- chrome.privacy.network;
- /** @type {!Object<string,!ChromeSetting>} */
- chrome.privacy.services;
- /** @type {!Object<string,!ChromeSetting>} */
- chrome.privacy.websites;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/proxy.html
- */
- chrome.proxy = {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/proxy#property-settings
- */
- chrome.proxy.settings = {};
- /**
- * @typedef {?{
- * incognito: (boolean|undefined),
- * }}
- */
- chrome.proxy.settings.GetParameter;
- /**
- * @typedef {{
- * value: *,
- * levelOfControl: string,
- * incognitoSpecific: (boolean|undefined),
- * }}
- */
- chrome.proxy.settings.GetResponse;
- /**
- * @param {!chrome.proxy.settings.GetParameter} details
- * @param {(function(!chrome.proxy.settings.GetResponse): void)=} callback
- */
- chrome.proxy.settings.get = function(details, callback) {};
- /**
- * @param {{
- * value: *,
- * scope: (string|undefined),
- * }} details
- * @param {(function(): void)=} callback
- */
- chrome.proxy.settings.set = function(details, callback) {};
- /**
- * @param {{
- * scope: (string|undefined),
- * }} details
- * @param {(function(): void)=} callback
- */
- chrome.proxy.settings.clear = function(details, callback) {};
- /** @type {!ChromeEvent} */
- chrome.proxy.onProxyError;
- /**
- * @const
- * @see http://developer.chrome.com/apps/socket.html
- */
- chrome.socket = {};
- /**
- * @constructor
- */
- chrome.socket.CreateInfo = function() {};
- /** @type {number} */
- chrome.socket.CreateInfo.prototype.socketId;
- /**
- * @constructor
- */
- chrome.socket.ReadInfo = function() {};
- /** @type {number} */
- chrome.socket.ReadInfo.prototype.resultCode;
- /** @type {!ArrayBuffer} */
- chrome.socket.ReadInfo.prototype.data;
- /**
- * @constructor
- */
- chrome.socket.WriteInfo = function() {};
- /** @type {number} */
- chrome.socket.WriteInfo.prototype.bytesWritten;
- /**
- * @constructor
- */
- chrome.socket.RecvFromInfo = function() {};
- /** @type {number} */
- chrome.socket.RecvFromInfo.prototype.resultCode;
- /** @type {!ArrayBuffer} */
- chrome.socket.RecvFromInfo.prototype.data;
- /** @type {string} */
- chrome.socket.RecvFromInfo.prototype.address;
- /** @type {number} */
- chrome.socket.RecvFromInfo.prototype.port;
- /**
- * @constructor
- */
- chrome.socket.AcceptInfo = function() {};
- /** @type {number} */
- chrome.socket.AcceptInfo.prototype.resultCode;
- /** @type {(number|undefined)} */
- chrome.socket.AcceptInfo.prototype.socketId;
- /**
- * @constructor
- */
- chrome.socket.SocketInfo = function() {};
- /** @type {string} */
- chrome.socket.SocketInfo.prototype.socketType;
- /** @type {boolean} */
- chrome.socket.SocketInfo.prototype.connected;
- /** @type {(string|undefined)} */
- chrome.socket.SocketInfo.prototype.peerAddress;
- /** @type {(number|undefined)} */
- chrome.socket.SocketInfo.prototype.peerPort;
- /** @type {(string|undefined)} */
- chrome.socket.SocketInfo.prototype.localAddress;
- /** @type {(number|undefined)} */
- chrome.socket.SocketInfo.prototype.localPort;
- /**
- * @constructor
- */
- chrome.socket.NetworkAdapterInfo = function() {};
- /** @type {string} */
- chrome.socket.NetworkAdapterInfo.prototype.name;
- /** @type {string} */
- chrome.socket.NetworkAdapterInfo.prototype.address;
- /**
- * @param {string} type The type of socket to create. Must be 'tcp' or 'udp'.
- * @param {(Object|function(!chrome.socket.CreateInfo))} optionsOrCallback The
- * socket options or callback.
- * @param {function(!chrome.socket.CreateInfo)=} opt_callback Called when the
- * socket has been created.
- * @return {undefined}
- */
- chrome.socket.create = function(type, optionsOrCallback, opt_callback) {};
- /**
- * @param {number} socketId The id of the socket to destroy.
- * @return {undefined}
- */
- chrome.socket.destroy = function(socketId) {};
- /**
- * @param {number} socketId The id of the socket.
- * @param {string} hostname The hostname or IP address of the remote machine.
- * @param {number} port The port of the remote machine.
- * @param {function(number)} callback Called when the connection attempt is
- * complete.
- * @return {undefined}
- */
- chrome.socket.connect = function(socketId, hostname, port, callback) {};
- /**
- * @param {number} socketId The id of the socket.
- * @param {string} address The address of the local machine.
- * @param {number} port The port of the local machine.
- * @param {function(number)} callback Called when the bind attempt is complete.
- * @return {undefined}
- */
- chrome.socket.bind = function(socketId, address, port, callback) {};
- /**
- * @param {number} socketId The id of the socket to disconnect.
- * @return {undefined}
- */
- chrome.socket.disconnect = function(socketId) {};
- /**
- * @param {number} socketId The id of the socket to read from.
- * @param {(number|function(!chrome.socket.ReadInfo))} bufferSizeOrCallback The
- * read buffer size or the callback.
- * @param {function(!chrome.socket.ReadInfo)=} opt_callback Called with data
- * that was available to be read without blocking.
- * @return {undefined}
- */
- chrome.socket.read = function(socketId, bufferSizeOrCallback, opt_callback) {};
- /**
- * @param {number} socketId The id of the socket to write to.
- * @param {!ArrayBuffer} data The data to write.
- * @param {function(!chrome.socket.WriteInfo)} callback Called when the write
- * operation completes without blocking or an error occurs.
- * @return {undefined}
- */
- chrome.socket.write = function(socketId, data, callback) {};
- /**
- * @param {number} socketId The id of the socket to read from.
- * @param {(number|function(!chrome.socket.RecvFromInfo))} bufferSizeOrCallback
- * The read buffer size or the callback.
- * @param {function(!chrome.socket.RecvFromInfo)=} opt_callback Called with data
- * that was available to be read without blocking.
- * @return {undefined}
- */
- chrome.socket.recvFrom = function(
- socketId, bufferSizeOrCallback, opt_callback) {};
- /**
- * @param {number} socketId The id of the socket to write to.
- * @param {!ArrayBuffer} data The data to write.
- * @param {string} address The address of the remote machine.
- * @param {number} port The port of the remote machine.
- * @param {function(!chrome.socket.WriteInfo)} callback Called when the write
- * operation completes without blocking or an error occurs.
- * @return {undefined}
- */
- chrome.socket.sendTo = function(socketId, data, address, port, callback) {};
- /**
- * @param {number} socketId The id of the socket to listen on.
- * @param {string} address The address of the local machine to listen on. Use
- * '0' to listen on all addresses.
- * @param {number} port The port of the local machine.
- * @param {(number|function(number))} backlogOrCallback The length of the
- * socket's listen queue or the callback.
- * @param {function(number)=} opt_callback Called when the listen operation
- * completes.
- * @return {undefined}
- */
- chrome.socket.listen = function(
- socketId, address, port, backlogOrCallback, opt_callback) {};
- /**
- * @param {number} socketId The id of the socket to accept a connection on.
- * @param {function(!chrome.socket.AcceptInfo)} callback Called when a new
- * socket is accepted.
- * @return {undefined}
- */
- chrome.socket.accept = function(socketId, callback) {};
- /**
- * @param {number} socketId The id of the socket to listen on.
- * @param {boolean} enable If true, enable keep-alive functionality.
- * @param {(number|function(boolean))} delayOrCallback The delay in seconds
- * between the last packet received and the first keepalive probe (default
- * is 0) or the callback
- * @param {function(boolean)=} opt_callback Called when the setKeepAlive attempt
- * is complete.
- * @return {undefined}
- */
- chrome.socket.setKeepAlive = function(
- socketId, enable, delayOrCallback, opt_callback) {};
- /**
- * @param {number} socketId The id of the socket to listen on.
- * @param {boolean} noDelay If true, disables Nagle's algorithm.
- * @param {function(boolean)} callback Called when the setNoDelay attempt is
- * complete.
- * @return {undefined}
- */
- chrome.socket.setNoDelay = function(socketId, noDelay, callback) {};
- /**
- * @param {number} socketId The id of the socket.
- * @param {function(!chrome.socket.SocketInfo)} callback Called when the state
- * is available.
- * @return {undefined}
- */
- chrome.socket.getInfo = function(socketId, callback) {};
- /**
- * @param {function(!Array<!chrome.socket.NetworkAdapterInfo>)} callback Called
- * when local adapter information is available.
- * @return {undefined}
- */
- chrome.socket.getNetworkList = function(callback) {};
- /**
- * @param {number} socketId The id of the socket.
- * @param {string} address The group address to join. Domain names are not
- * supported.
- * @param {function(number)} callback Called when the join operation is done.
- * @return {undefined}
- */
- chrome.socket.joinGroup = function(socketId, address, callback) {};
- /**
- * @param {number} socketId The id of the socket.
- * @param {string} address The group address to leave. Domain names are not
- * supported.
- * @param {function(number)} callback Called when the leave operation is done.
- * @return {undefined}
- */
- chrome.socket.leaveGroup = function(socketId, address, callback) {};
- /**
- * @param {number} socketId The id of the socket.
- * @param {number} ttl The time-to-live value.
- * @param {function(number)} callback Called when the configuration operation is
- * done.
- * @return {undefined}
- */
- chrome.socket.setMulticastTimeToLive = function(socketId, ttl, callback) {};
- /**
- * @param {number} socketId The id of the socket.
- * @param {boolean} enabled True to enable loopback mode.
- * @param {function(number)} callback Called when the configuration operation is
- * done.
- * @return {undefined}
- */
- chrome.socket.setMulticastLoopbackMode = function(
- socketId, enabled, callback) {};
- /**
- * @param {number} socketId The id of the socket.
- * @param {function(!Array<string>)} callback Called with an array of string
- * groups.
- * @return {undefined}
- */
- chrome.socket.getJoinedGroups = function(socketId, callback) {};
- /**
- * @const
- */
- chrome.sockets = {};
- /**
- * @const
- * @see https://developer.chrome.com/apps/sockets_tcp
- */
- chrome.sockets.tcp = {};
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/sockets_tcp#type-SocketInfo
- */
- chrome.sockets.tcp.SocketInfo = function() {};
- /** @type {number} */
- chrome.sockets.tcp.SocketInfo.prototype.socketId;
- /** @type {boolean} */
- chrome.sockets.tcp.SocketInfo.prototype.persistent;
- /** @type {string|undefined} */
- chrome.sockets.tcp.SocketInfo.prototype.name;
- /** @type {number|undefined} */
- chrome.sockets.tcp.SocketInfo.prototype.bufferSize;
- /** @type {boolean} */
- chrome.sockets.tcp.SocketInfo.prototype.paused;
- /** @type {boolean} */
- chrome.sockets.tcp.SocketInfo.prototype.connected;
- /** @type {string|undefined} */
- chrome.sockets.tcp.SocketInfo.prototype.localAddress;
- /** @type {number|undefined} */
- chrome.sockets.tcp.SocketInfo.prototype.localPort;
- /** @type {string|undefined} */
- chrome.sockets.tcp.SocketInfo.prototype.peerAddress;
- /** @type {number|undefined} */
- chrome.sockets.tcp.SocketInfo.prototype.peerPort;
- /**
- * @typedef {?{
- * persistent: (boolean|undefined),
- * name: (string|undefined),
- * bufferSize: (number|undefined)
- * }}
- * @see https://developer.chrome.com/apps/sockets_tcp#type-SocketProperties
- */
- chrome.sockets.tcp.SocketProperties;
- /**
- * @typedef {?{
- * min: (string|undefined),
- * max: (string|undefined)
- * }}
- * @see https://developer.chrome.com/apps/sockets_tcp#method-secure
- */
- chrome.sockets.tcp.SecurePropertiesTlsVersion;
- /**
- * @typedef {?{
- * tlsVersion: (chrome.sockets.tcp.SecurePropertiesTlsVersion|undefined)
- * }}
- * @see https://developer.chrome.com/apps/sockets_tcp#method-secure
- */
- chrome.sockets.tcp.SecureProperties;
- /**
- * @param {!chrome.sockets.tcp.SocketProperties|
- * function(!Object)} propertiesOrCallback
- * @param {function(!Object)=} opt_callback
- * @see https://developer.chrome.com/apps/sockets_tcp#method-create
- * @return {undefined}
- */
- chrome.sockets.tcp.create = function(propertiesOrCallback, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {!chrome.sockets.tcp.SocketProperties} properties
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/sockets_tcp#method-update
- * @return {undefined}
- */
- chrome.sockets.tcp.update = function(socketId, properties, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {boolean} paused
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/sockets_tcp#method-setPaused
- * @return {undefined}
- */
- chrome.sockets.tcp.setPaused = function(socketId, paused, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {boolean} enable
- * @param {(number|function(number))} delayOrCallback
- * @param {function(number)=} opt_callback
- * @see https://developer.chrome.com/apps/sockets_tcp#method-setKeepAlive
- * @return {undefined}
- */
- chrome.sockets.tcp.setKeepAlive = function(
- socketId, enable, delayOrCallback, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {boolean} noDelay
- * @param {function(number)} callback
- * @see https://developer.chrome.com/apps/sockets_tcp#method-setNoDelay
- * @return {undefined}
- */
- chrome.sockets.tcp.setNoDelay = function(socketId, noDelay, callback) {};
- /**
- * @param {number} socketId
- * @param {string} peerAddress
- * @param {number} peerPort
- * @param {function(number)} callback
- * @see https://developer.chrome.com/apps/sockets_tcp#method-connect
- * @return {undefined}
- */
- chrome.sockets.tcp.connect = function(
- socketId, peerAddress, peerPort, callback) {};
- /**
- * @param {number} socketId The id of the socket to disconnect.
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/sockets_tcp#method-disconnect
- * @return {undefined}
- */
- chrome.sockets.tcp.disconnect = function(socketId, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {!chrome.sockets.tcp.SecureProperties|function(number)}
- * optionsOrCallback
- * @param {function(number)=} opt_callback
- * @see https://developer.chrome.com/apps/sockets_tcp#method-secure
- * @return {undefined}
- */
- chrome.sockets.tcp.secure = function(
- socketId, optionsOrCallback, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {!ArrayBuffer} data
- * @param {function(!Object)} callback
- * @see https://developer.chrome.com/apps/sockets_tcp#method-send
- * @return {undefined}
- */
- chrome.sockets.tcp.send = function(socketId, data, callback) {};
- /**
- * @param {number} socketId
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/sockets_tcp#method-close
- * @return {undefined}
- */
- chrome.sockets.tcp.close = function(socketId, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {function(!chrome.sockets.tcp.SocketInfo)} callback
- * @see https://developer.chrome.com/apps/sockets_tcp#method-getInfo
- * @return {undefined}
- */
- chrome.sockets.tcp.getInfo = function(socketId, callback) {};
- /**
- * @param {function(!Array<!chrome.sockets.tcp.SocketInfo>)} callback
- * @see https://developer.chrome.com/apps/sockets_tcp#method-getSockets
- * @return {undefined}
- */
- chrome.sockets.tcp.getSockets = function(callback) {};
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/sockets_tcp#event-onReceive
- */
- chrome.sockets.tcp.ReceiveEventData = function() {};
- /** @type {number} */
- chrome.sockets.tcp.ReceiveEventData.prototype.socketId;
- /** @type {!ArrayBuffer} */
- chrome.sockets.tcp.ReceiveEventData.prototype.data;
- /**
- * Event whose listeners take a ReceiveEventData parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.sockets.tcp.ReceiveEventData)>}
- */
- chrome.sockets.tcp.ReceiveEvent = function() {};
- /** @type {!chrome.sockets.tcp.ReceiveEvent} */
- chrome.sockets.tcp.onReceive;
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/sockets_tcp#event-onReceiveError
- */
- chrome.sockets.tcp.ReceiveErrorEventData = function() {};
- /** @type {number} */
- chrome.sockets.tcp.ReceiveErrorEventData.prototype.socketId;
- /** @type {number} */
- chrome.sockets.tcp.ReceiveErrorEventData.prototype.resultCode;
- /**
- * Event whose listeners take a ReceiveErrorEventData parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.sockets.tcp.ReceiveErrorEventData)>}
- */
- chrome.sockets.tcp.ReceiveErrorEvent = function() {};
- /** @type {!chrome.sockets.tcp.ReceiveErrorEvent} */
- chrome.sockets.tcp.onReceiveError;
- /**
- * @const
- * @see https://developer.chrome.com/apps/sockets_tcpServer
- */
- chrome.sockets.tcpServer = {};
- /**
- * @typedef {?{
- * persistent: (boolean|undefined),
- * name: (string|undefined),
- * }}
- * @see https://developer.chrome.com/apps/sockets_tcpServer#type-SocketProperties
- */
- chrome.sockets.tcpServer.SocketProperties;
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/sockets_tcpServer#type-SocketInfo
- */
- chrome.sockets.tcpServer.SocketInfo = function() {};
- /** @type {number} */
- chrome.sockets.tcpServer.SocketInfo.prototype.socketId;
- /** @type {boolean} */
- chrome.sockets.tcpServer.SocketInfo.prototype.persistent;
- /** @type {string|undefined} */
- chrome.sockets.tcpServer.SocketInfo.prototype.name;
- /** @type {boolean} */
- chrome.sockets.tcpServer.SocketInfo.prototype.paused;
- /** @type {string|undefined} */
- chrome.sockets.tcpServer.SocketInfo.prototype.localAddress;
- /** @type {number|undefined} */
- chrome.sockets.tcpServer.SocketInfo.prototype.localPort;
- /**
- * @param {
- * (!chrome.sockets.tcpServer.SocketProperties|function(!Object))
- * } propertiesOrCallback
- * @param {function(!Object)=} opt_callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_tcpServer#method-create
- */
- chrome.sockets.tcpServer.create = function(
- propertiesOrCallback, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {!chrome.sockets.tcpServer.SocketProperties} properties
- * @param {function(): void=} opt_callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_tcpServer#method-update
- */
- chrome.sockets.tcpServer.update = function(
- socketId, properties, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {boolean} paused
- * @param {function(): void=} opt_callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_tcpServer#method-setPaused
- */
- chrome.sockets.tcpServer.setPaused = function(
- socketId, paused, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {string} address
- * @param {number} port
- * @param {number|function(number)} backlogOrCallback
- * @param {function(number)=} opt_callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_tcpServer#method-listen
- */
- chrome.sockets.tcpServer.listen = function(
- socketId, address, port, backlogOrCallback, opt_callback) {};
- /**
- * @param {number} socketId The id of the socket to disconnect.
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/sockets_tcpServer#method-disconnect
- * @return {undefined}
- */
- chrome.sockets.tcpServer.disconnect = function(socketId, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {function()=} opt_callback
- * @see https://developer.chrome.com/apps/sockets_tcpServer#method-close
- * @return {undefined}
- */
- chrome.sockets.tcpServer.close = function(socketId, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {function(!chrome.sockets.tcpServer.SocketInfo)} callback
- * @see https://developer.chrome.com/apps/sockets_tcpServer#method-getInfo
- * @return {undefined}
- */
- chrome.sockets.tcpServer.getInfo = function(socketId, callback) {};
- /**
- * @param {function(!Array<!chrome.sockets.tcpServer.SocketInfo>)} callback
- * @see https://developer.chrome.com/apps/sockets_tcpServerp#method-getSockets
- * @return {undefined}
- */
- chrome.sockets.tcpServer.getSockets = function(callback) {};
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/sockets_tcpServer#event-onAccept
- */
- chrome.sockets.tcpServer.AcceptEventData = function() {};
- /** @type {number} */
- chrome.sockets.tcpServer.AcceptEventData.prototype.socketId;
- /** @type {number} */
- chrome.sockets.tcpServer.AcceptEventData.prototype.clientSocketId;
- /**
- * Event whose listeners take a AcceptEventData parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.sockets.tcpServer.AcceptEventData)>}
- */
- chrome.sockets.tcpServer.AcceptEvent = function() {};
- /** @type {!chrome.sockets.tcpServer.AcceptEvent} */
- chrome.sockets.tcpServer.onAccept;
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/sockets_tcpServer#event-onAcceptError
- */
- chrome.sockets.tcpServer.AcceptErrorEventData = function() {};
- /** @type {number} */
- chrome.sockets.tcpServer.AcceptErrorEventData.prototype.socketId;
- /** @type {number} */
- chrome.sockets.tcpServer.AcceptErrorEventData.prototype.resultCode;
- /**
- * Event whose listeners take a AcceptErrorEventData parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.sockets.tcpServer.AcceptErrorEventData)>}
- */
- chrome.sockets.tcpServer.AcceptErrorEvent = function() {};
- /** @type {!chrome.sockets.tcpServer.AcceptErrorEvent} */
- chrome.sockets.tcpServer.onAcceptError;
- /**
- * @see https://developer.chrome.com/apps/sockets_udp
- * @const
- */
- chrome.sockets.udp = {};
- /**
- * @typedef {?{
- * persistent: (boolean|undefined),
- * name: (string|undefined),
- * bufferSize: (number|undefined)
- * }}
- * @see https://developer.chrome.com/apps/sockets_udp#type-SocketProperties
- */
- chrome.sockets.udp.SocketProperties;
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/sockets_udp#type-SocketInfo
- */
- chrome.sockets.udp.SocketInfo = function() {};
- /** @type {number} */
- chrome.sockets.udp.SocketInfo.prototype.socketId;
- /** @type {boolean} */
- chrome.sockets.udp.SocketInfo.prototype.persistent;
- /** @type {string|undefined} */
- chrome.sockets.udp.SocketInfo.prototype.name;
- /** @type {number|undefined} */
- chrome.sockets.udp.SocketInfo.prototype.bufferSize;
- /** @type {boolean} */
- chrome.sockets.udp.SocketInfo.prototype.paused;
- /** @type {string|undefined} */
- chrome.sockets.udp.SocketInfo.prototype.localAddress;
- /** @type {number|undefined} */
- chrome.sockets.udp.SocketInfo.prototype.localPort;
- /**
- * @param {
- * (!chrome.sockets.udp.SocketProperties|function(!Object))
- * } propertiesOrCallback
- * @param {function(!Object)=} opt_callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-create
- */
- chrome.sockets.udp.create = function(propertiesOrCallback, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {!chrome.sockets.udp.SocketProperties} properties
- * @param {function(): void=} opt_callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-update
- */
- chrome.sockets.udp.update = function(socketId, properties, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {boolean} paused
- * @param {function(): void=} opt_callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-setPaused
- */
- chrome.sockets.udp.setPaused = function(socketId, paused, opt_callback) {};
- /**
- * @param {number} socketId
- * @param {string} address
- * @param {number} port
- * @param {function(number): void} callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-bind
- */
- chrome.sockets.udp.bind = function(socketId, address, port, callback) {};
- /**
- * @param {number} socketId
- * @param {!ArrayBuffer} data
- * @param {string} address
- * @param {number} port
- * @param {function(!Object): void} callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-send
- */
- chrome.sockets.udp.send = function(socketId, data, address, port, callback) {};
- /**
- * @param {number} socketId
- * @param {function()} callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-close
- */
- chrome.sockets.udp.close = function(socketId, callback) {};
- /**
- * @param {number} socketId
- * @param {function(!chrome.sockets.udp.SocketInfo): void} callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-getInfo
- */
- chrome.sockets.udp.getInfo = function(socketId, callback) {};
- /**
- * @param {function(!Array<!chrome.sockets.udp.SocketInfo>): void} callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-getSockets
- */
- chrome.sockets.udp.getSockets = function(callback) {};
- /**
- * @param {number} socketId
- * @param {string} address
- * @param {function(number): void} callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-joinGroup
- */
- chrome.sockets.udp.joinGroup = function(socketId, address, callback) {};
- /**
- * @param {number} socketId
- * @param {string} address
- * @param {function(number): void} callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-leaveGroup
- */
- chrome.sockets.udp.leaveGroup = function(socketId, address, callback) {};
- /**
- * @param {number} socketId
- * @param {number} ttl
- * @param {function(number): void} callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-setMulticastTimeToLive
- */
- chrome.sockets.udp.setMulticastTimeToLive = function(
- socketId, ttl, callback) {};
- /**
- * @param {number} socketId
- * @param {boolean} enabled
- * @param {function(number): void} callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-setMulticastLoopbackMode
- */
- chrome.sockets.udp.setMulticastLoopbackMode = function(
- socketId, enabled, callback) {};
- /**
- * @param {number} socketId
- * @param {function(!Array<string>): void} callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-getJoinedGroups
- */
- chrome.sockets.udp.getJoinedGroups = function(socketId, callback) {};
- /**
- * @param {number} socketId
- * @param {boolean} enabled
- * @param {function(number): void} callback
- * @return {undefined}
- * @see https://developer.chrome.com/apps/sockets_udp#method-send
- */
- chrome.sockets.udp.setBroadcast = function(socketId, enabled, callback) {};
- /**
- * @type {!ChromeObjectEvent}
- * @see https://developer.chrome.com/apps/sockets_udp#event-onReceive
- */
- chrome.sockets.udp.onReceive;
- /**
- * @type {!ChromeObjectEvent}
- * @see https://developer.chrome.com/apps/sockets_udp#event-onReceiveError
- */
- chrome.sockets.udp.onReceiveError;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/storage.html
- */
- chrome.storage = {};
- /** @type {!StorageArea} */
- chrome.storage.sync;
- /** @type {!StorageArea} */
- chrome.storage.local;
- /** @type {!StorageArea} */
- chrome.storage.managed;
- /** @type {!StorageChangeEvent} */
- chrome.storage.onChanged;
- /** @const */
- chrome.system = {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/system_cpu.html
- */
- chrome.system.cpu = {};
- /**
- * @typedef {?{
- * user: number,
- * kernel: number,
- * idle: number,
- * total: number,
- * }}
- */
- chrome.system.cpu.CpuTime;
- /**
- * @typedef {?{
- * usage: !chrome.system.cpu.CpuTime,
- * }}
- */
- chrome.system.cpu.ProcessorInfo;
- /**
- * @typedef {?{
- * numOfProcessors: number,
- * archName: string,
- * modelName: string,
- * features: !Array<string>,
- * processors: !Array<!chrome.system.cpu.ProcessorInfo>,
- * temperatures: !Array<number>,
- * }}
- */
- chrome.system.cpu.CpuInfo;
- /**
- * @param {function(!chrome.system.cpu.CpuInfo)} callback
- * @return {undefined}
- */
- chrome.system.cpu.getInfo = function(callback) {};
- /**
- * @const
- * @see http://developer.chrome.com/apps/system_display.html
- */
- chrome.system.display = {};
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/system.display#type-MirrorMode
- */
- chrome.system.display.MirrorMode = {
- OFF: '',
- NORMAL: '',
- MIXED: '',
- };
- /**
- * @typedef {!{
- * left: number,
- * top: number,
- * width: number,
- * height: number
- * }}
- * @see https://developer.chrome.com/extensions/system.display#type-Bounds
- */
- chrome.system.display.Bounds;
- /**
- * @typedef {!{
- * left: number,
- * top: number,
- * right: number,
- * bottom: number
- * }}
- * @see https://developer.chrome.com/extensions/system.display#type-Insets
- */
- chrome.system.display.Insets;
- /**
- * @typedef {!{
- * x: number,
- * y: number
- * }}
- * @see https://developer.chrome.com/extensions/system.display#type-Point
- */
- chrome.system.display.Point;
- /**
- * @typedef {!{
- * displayPoint: !chrome.system.display.Point,
- * touchPoint: !chrome.system.display.Point
- * }}
- * @see https://developer.chrome.com/extensions/system.display#type-TouchCalibrationPair
- */
- chrome.system.display.TouchCalibrationPair;
- /**
- * @typedef {!{
- * pair1: !chrome.system.display.TouchCalibrationPair,
- * pair2: !chrome.system.display.TouchCalibrationPair,
- * pair3: !chrome.system.display.TouchCalibrationPair,
- * pair4: !chrome.system.display.TouchCalibrationPair
- * }}
- * @see https://developer.chrome.com/extensions/system.display#type-TouchCalibrationPairQuad
- */
- chrome.system.display.TouchCalibrationPairQuad;
- /**
- * @typedef {!{
- * width: number,
- * height: number,
- * widthInNativePixels: number,
- * heightInNativePixels: number,
- * uiScale: number,
- * deviceScaleFactor: number,
- * isNative: boolean,
- * isSelected: boolean
- * }}
- * @see https://developer.chrome.com/extensions/system.display#type-DisplayMode
- */
- chrome.system.display.DisplayMode;
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/system.display#type-LayoutPosition
- */
- chrome.system.display.LayoutPosition = {
- TOP: '',
- RIGHT: '',
- BOTTOM: '',
- LEFT: '',
- };
- /**
- * @typedef {!{
- * id: string,
- * parentId: string,
- * position: (!chrome.system.display.LayoutPosition|string),
- * offset: number
- * }}
- * @see https://developer.chrome.com/extensions/system.display#type-DisplayLayout
- */
- chrome.system.display.DisplayLayout;
- /**
- * @typedef {!{
- * isUnified: (boolean|undefined),
- * mirroringSourceId: (string|undefined),
- * mirroringDestinationIds: (!Array<string>|undefined),
- * isPrimary: (boolean|undefined),
- * overscan: (!chrome.system.display.Insets|undefined),
- * rotation: (number|undefined),
- * boundsOriginX: (number|undefined),
- * boundsOriginY: (number|undefined),
- * displayMode: (!chrome.system.display.DisplayMode|undefined),
- * availableDisplayZoomFactors: (!Array<number>|undefined),
- * displayZoomFactor: (number|undefined)
- * }}
- * @see https://developer.chrome.com/extensions/system.display#type-DisplayProperties
- */
- chrome.system.display.DisplayProperties;
- /**
- * @typedef {!{
- * singleUnified: (boolean|undefined)
- * }}
- * @see https://developer.chrome.com/extensions/system.display#type-GetInfoFlags
- */
- chrome.system.display.GetInfoFlags;
- /**
- * @typedef {!{
- * mode: (!chrome.system.display.MirrorMode|string),
- * mirroringSourceId: (string|undefined),
- * mirroringDestinationIds: (!Array<string>|undefined),
- * }}
- * @see https://developer.chrome.com/extensions/system.display#type-MirrorModeInfo
- */
- chrome.system.display.MirrorModeInfo;
- /**
- * @typedef {!{
- * manufacturerId: string,
- * productId: string,
- * yearOfManufacture: number,
- * }}
- */
- chrome.system.display.Edid;
- /**
- * An undocumented type that defines the objects passed to getInfo()'s callback.
- * @constructor
- */
- chrome.system.display.DisplayUnitInfo = function() {};
- /** @type {string} */
- chrome.system.display.DisplayUnitInfo.prototype.id;
- /** @type {string} */
- chrome.system.display.DisplayUnitInfo.prototype.name;
- /** @type {!chrome.system.display.Edid|undefined} */
- chrome.system.display.DisplayUnitInfo.prototype.edid;
- /** @type {string} */
- chrome.system.display.DisplayUnitInfo.prototype.mirroringSourceId;
- /** @type {!Array<string>} */
- chrome.system.display.DisplayUnitInfo.prototype.mirroringDestinationIds;
- /** @type {boolean} */
- chrome.system.display.DisplayUnitInfo.prototype.isPrimary;
- /** @type {boolean} */
- chrome.system.display.DisplayUnitInfo.prototype.isInternal;
- /** @type {boolean} */
- chrome.system.display.DisplayUnitInfo.prototype.isEnabled;
- /** @type {number} */
- chrome.system.display.DisplayUnitInfo.prototype.dpiX;
- /** @type {number} */
- chrome.system.display.DisplayUnitInfo.prototype.dpiY;
- /** @type {number} */
- chrome.system.display.DisplayUnitInfo.prototype.rotation;
- /** @type {!chrome.system.display.Bounds} */
- chrome.system.display.DisplayUnitInfo.prototype.bounds;
- /** @type {!chrome.system.display.Insets} */
- chrome.system.display.DisplayUnitInfo.prototype.overscan;
- /** @type {!chrome.system.display.Bounds} */
- chrome.system.display.DisplayUnitInfo.prototype.workArea;
- /** @type {!Array<!chrome.system.display.DisplayMode>} */
- chrome.system.display.DisplayUnitInfo.prototype.modes;
- /** @type {boolean} */
- chrome.system.display.DisplayUnitInfo.prototype.hasTouchSupport;
- /** @type {!Array<number>} */
- chrome.system.display.DisplayUnitInfo.prototype.availableDisplayZoomFactors;
- /** @type {number} */
- chrome.system.display.DisplayUnitInfo.prototype.displayZoomFactor;
- /**
- * @param {!chrome.system.display.GetInfoFlags|
- * function(!Array<!chrome.system.display.DisplayUnitInfo>):void}
- * flags Options affecting how the information is returned.
- * @param {function(!Array<!chrome.system.display.DisplayUnitInfo>):void=}
- * callback The callback to invoke with the results.
- * @return {undefined}
- * @see https://developer.chrome.com/extensions/system.display#method-getInfo
- */
- chrome.system.display.getInfo = function(flags, callback) {};
- /**
- * @param {function(!Array<!chrome.system.display.DisplayLayout>):void} callback
- * The callback to invoke with the results.
- * @see https://developer.chrome.com/extensions/system.display#method-getDisplayLayout
- */
- chrome.system.display.getDisplayLayout = function(callback) {};
- /**
- * @param {string} id The display's unique identifier.
- * @param {!chrome.system.display.DisplayProperties} info The information about
- * display properties that should be changed. A property will be changed
- * only if a new value for it is specified in info.
- * @param {function():void=} callback Empty function called when the function
- * finishes. To find out whether the function succeeded, runtime.lastError
- * should be queried.
- * @see https://developer.chrome.com/extensions/system.display#method-setDisplayProperties
- */
- chrome.system.display.setDisplayProperties = function(id, info, callback) {};
- /**
- * @param {!Array<!chrome.system.display.DisplayLayout>} layouts The layout
- * information, required for all displays except the primary display.
- * @param {function():void=} callback Empty function called when the function
- * finishes. To find out whether the function succeeded, runtime.lastError
- * should be queried.
- * @see https://developer.chrome.com/extensions/system.display#method-setDisplayLayout
- */
- chrome.system.display.setDisplayLayout = function(layouts, callback) {};
- /**
- * @param {!chrome.system.display.MirrorModeInfo} info The information of the
- * mirror mode that should be applied to the display mode.
- * @param {function():void=} callback Empty function called when the function
- * finishes. To find out whether the function succeeded,
- * $(ref:runtime.lastError) should be queried.
- * @see https://developer.chrome.com/extensions/system.display#method-setMirrorMode
- */
- chrome.system.display.setMirrorMode = function(info, callback) {};
- /**
- * @param {boolean} enabled True if unified desktop should be enabled.
- * @see https://developer.chrome.com/extensions/system.display#method-enableUnifiedDesktop
- */
- chrome.system.display.enableUnifiedDesktop = function(enabled) {};
- /**
- * @param {string} id The display's unique identifier.
- * @see https://developer.chrome.com/extensions/system.display#method-overscanCalibrationStart
- */
- chrome.system.display.overscanCalibrationStart = function(id) {};
- /**
- * @param {string} id The display's unique identifier.
- * @param {!chrome.system.display.Insets} delta The amount to change the
- * overscan insets.
- * @see https://developer.chrome.com/extensions/system.display#method-overscanCalibrationAdjust
- */
- chrome.system.display.overscanCalibrationAdjust = function(id, delta) {};
- /**
- * @param {string} id The display's unique identifier.
- * @see https://developer.chrome.com/extensions/system.display#method-overscanCalibrationReset
- */
- chrome.system.display.overscanCalibrationReset = function(id) {};
- /**
- * @param {string} id The display's unique identifier.
- * @see https://developer.chrome.com/extensions/system.display#method-overscanCalibrationComplete
- */
- chrome.system.display.overscanCalibrationComplete = function(id) {};
- /**
- * @param {string} id The display's unique identifier.
- * @param {function(boolean):void=} callback Optional callback to inform the
- * caller that the touch calibration has ended. The argument of the callback
- * informs if the calibration was a success or not.
- * @see https://developer.chrome.com/extensions/system.display#method-showNativeTouchCalibration
- */
- chrome.system.display.showNativeTouchCalibration = function(id, callback) {};
- /**
- * @param {string} id The display's unique identifier.
- * @see https://developer.chrome.com/extensions/system.display#method-startCustomTouchCalibration
- */
- chrome.system.display.startCustomTouchCalibration = function(id) {};
- /**
- * @param {!chrome.system.display.TouchCalibrationPairQuad} pairs The pairs of
- * point used to calibrate the display.
- * @param {!chrome.system.display.Bounds} bounds Bounds of the display when the
- * touch calibration was performed. |bounds.left| and |bounds.top| values
- * are ignored.
- * @see https://developer.chrome.com/extensions/system.display#method-completeCustomTouchCalibration
- */
- chrome.system.display.completeCustomTouchCalibration = function(
- pairs, bounds) {};
- /**
- * @param {string} id The display's unique identifier.
- * @see https://developer.chrome.com/extensions/system.display#method-clearTouchCalibration
- */
- chrome.system.display.clearTouchCalibration = function(id) {};
- /**
- * @type {!ChromeEvent}
- * @see https://developer.chrome.com/extensions/system.display#event-onDisplayChanged
- */
- chrome.system.display.onDisplayChanged;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/system_memory
- */
- chrome.system.memory = {};
- /**
- * Get physical memory information.
- * @param {function(!chrome.system.memory.MemoryInfo)} callback
- * @return {undefined}
- */
- chrome.system.memory.getInfo = function(callback) {};
- /**
- * @constructor
- */
- chrome.system.memory.MemoryInfo = function() {};
- /** @type {number} */
- chrome.system.memory.MemoryInfo.prototype.capacity;
- /** @type {number} */
- chrome.system.memory.MemoryInfo.prototype.availableCapacity;
- /**
- * @const
- * @see http://developer.chrome.com/apps/system_network.html
- */
- chrome.system.network = {};
- /**
- * @param {function(!Array<!chrome.system.network.NetworkInterface>)} callback
- * @return {undefined}
- */
- chrome.system.network.getNetworkInterfaces = function(callback) {};
- /**
- * @interface
- */
- chrome.system.network.NetworkInterface = function() {};
- /**
- * @const {string} The underlying name of the adapter. On *nix, this will
- * typically be "eth0", "wlan0", etc.
- */
- chrome.system.network.NetworkInterface.prototype.name;
- /** @const {string} The available IPv4/6 address. */
- chrome.system.network.NetworkInterface.prototype.address;
- /** @const {number} The prefix length */
- chrome.system.network.NetworkInterface.prototype.prefixLength;
- /**
- * @const
- */
- chrome.types = {};
- /**
- * @typedef {?{
- * format: (string|undefined),
- * quality: (number|undefined)
- * }}
- */
- chrome.types.ImageDetails;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/types.html
- */
- chrome.chromeSetting = {};
- /** @type {!ChromeEvent} */
- chrome.chromeSetting.onChange;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/webNavigation.html
- */
- chrome.webNavigation = {};
- /**
- * @param {Object} details Object with a 'tabId' (number) key.
- * @param {function(!Array<Object<string, (boolean|number|string)>>)} callback
- * Callback function.
- * @return {undefined}
- */
- chrome.webNavigation.getAllFrames = function(details, callback) {};
- /**
- * @param {Object} details Object with 'tabId' (number) and 'frameId' (number)
- * keys.
- * @param {function(Object<string, (boolean|string)>)} callback
- * Callback function.
- * @return {undefined}
- */
- chrome.webNavigation.getFrame = function(details, callback) {};
- /** @type {!ChromeEvent} */
- chrome.webNavigation.onBeforeNavigate;
- /** @type {!ChromeEvent} */
- chrome.webNavigation.onCommitted;
- /** @type {!ChromeEvent} */
- chrome.webNavigation.onDOMContentLoaded;
- /** @type {!ChromeEvent} */
- chrome.webNavigation.onCompleted;
- /** @type {!ChromeEvent} */
- chrome.webNavigation.onErrorOccurred;
- /** @type {!ChromeEvent} */
- chrome.webNavigation.onCreatedNavigationTarget;
- /** @type {!ChromeEvent} */
- chrome.webNavigation.onReferenceFragmentUpdated;
- /** @type {!ChromeEvent} */
- chrome.webNavigation.onTabReplaced;
- /** @type {!ChromeEvent} */
- chrome.webNavigation.onHistoryStateUpdated;
- /**
- * Base event type for WebRequest-releated events.
- *
- * The `addListener()` methods for these take more than one argument, so they
- * cannot just extend `ChromeBaseEvent`.
- * @interface
- * @extends {ChromeBaseEventNoListeners}
- * @template LISTENER
- */
- function WebRequestBaseEvent() {}
- /**
- * @param {LISTENER} listener Listener function.
- * @param {!RequestFilter} filter A set of filters that restrict
- * the events that will be sent to this listener.
- * @param {!Array<string>=} opt_extraInfoSpec Array of extra information
- * that should be passed to the listener function.
- * @return {undefined}
- */
- WebRequestBaseEvent.prototype.addListener = function(
- listener, filter, opt_extraInfoSpec) {};
- /**
- * @param {LISTENER} listener Listener function.
- * @return {undefined}
- */
- WebRequestBaseEvent.prototype.removeListener = function(listener) {};
- /**
- * @param {LISTENER} listener Listener function.
- * @return {boolean}
- */
- WebRequestBaseEvent.prototype.hasListener = function(listener) {};
- /**
- * @return {boolean}
- */
- WebRequestBaseEvent.prototype.hasListeners = function() {};
- /**
- * Most event listeners for WebRequest take extra arguments.
- * @see https://developer.chrome.com/extensions/webRequest
- * @interface
- * @extends {WebRequestBaseEvent<function(!Object)>}
- */
- function WebRequestEvent() {}
- /**
- * Some event listeners can be optionally synchronous.
- * @see https://developer.chrome.com/extensions/webRequest
- * @interface
- * @extends {WebRequestBaseEvent<function(!Object):
- * (undefined|!BlockingResponse)>}
- */
- function WebRequestOptionallySynchronousEvent() {}
- /**
- * The onAuthRequired event listener can be optionally synchronous, and can also
- * optionally take a callback.
- * @see https://developer.chrome.com/extensions/webRequest
- * @interface
- * @extends {WebRequestBaseEvent<
- * function(
- * !Object,
- * function(!BlockingResponse)=): (undefined|!BlockingResponse)>}
- */
- function WebRequestOnAuthRequiredEvent() {}
- /**
- * The onErrorOccurred event takes one fewer parameter than the others.
- *
- * The `addListener()` methods for these take more than one argument, so they
- * cannot just extend `ChromeBaseEvent`.
- * @see https://developer.chrome.com/extensions/webRequest
- * @interface
- * @extends {ChromeBaseEventNoListeners}
- */
- function WebRequestOnErrorOccurredEvent() {}
- /**
- * @param {function(!Object): void} listener Listener function.
- * @param {!RequestFilter} filter A set of filters that restrict
- * the events that will be sent to this listener.
- * @return {undefined}
- */
- WebRequestOnErrorOccurredEvent.prototype.addListener = function(
- listener, filter) {};
- /**
- * @param {function(!Object): void} listener Listener function.
- * @return {undefined}
- */
- WebRequestOnErrorOccurredEvent.prototype.removeListener = function(listener) {};
- /**
- * @param {function(!Object): void} listener Listener function.
- * @return {boolean}
- */
- WebRequestOnErrorOccurredEvent.prototype.hasListener = function(listener) {};
- /**
- * @return {boolean}
- */
- WebRequestOnErrorOccurredEvent.prototype.hasListeners = function() {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/webRequest
- */
- chrome.webRequest = {};
- /**
- * @param {function(): void=} opt_callback Callback function.
- * @return {undefined}
- */
- chrome.webRequest.handlerBehaviorChanged = function(opt_callback) {};
- /** @type {!WebRequestOnAuthRequiredEvent} */
- chrome.webRequest.onAuthRequired;
- /** @type {!WebRequestEvent} */
- chrome.webRequest.onBeforeRedirect;
- /** @type {!WebRequestOptionallySynchronousEvent} */
- chrome.webRequest.onBeforeRequest;
- /** @type {!WebRequestOptionallySynchronousEvent} */
- chrome.webRequest.onBeforeSendHeaders;
- /** @type {!WebRequestEvent} */
- chrome.webRequest.onCompleted;
- /** @type {!WebRequestOnErrorOccurredEvent} */
- chrome.webRequest.onErrorOccurred;
- /** @type {!WebRequestOptionallySynchronousEvent} */
- chrome.webRequest.onHeadersReceived;
- /** @type {!WebRequestEvent} */
- chrome.webRequest.onResponseStarted;
- /** @type {!WebRequestEvent} */
- chrome.webRequest.onSendHeaders;
- // Classes
- /**
- * @see https://developer.chrome.com/extensions/management.html
- * @constructor
- */
- function ExtensionInfo() {}
- /** @type {string} */
- ExtensionInfo.prototype.id;
- /** @type {string} */
- ExtensionInfo.prototype.name;
- /** @type {string} */
- ExtensionInfo.prototype.shortName;
- /** @type {string} */
- ExtensionInfo.prototype.description;
- /** @type {string} */
- ExtensionInfo.prototype.version;
- /** @type {boolean} */
- ExtensionInfo.prototype.mayDisable;
- /** @type {boolean} */
- ExtensionInfo.prototype.enabled;
- /** @type {string|undefined} */
- ExtensionInfo.prototype.disabledReason;
- /** @type {boolean} */
- ExtensionInfo.prototype.isApp;
- /** @type {string} */
- ExtensionInfo.prototype.type;
- /** @type {string|undefined} */
- ExtensionInfo.prototype.appLaunchUrl;
- /** @type {string|undefined} */
- ExtensionInfo.prototype.homepageUrl;
- /** @type {string|undefined} */
- ExtensionInfo.prototype.updateUrl;
- /** @type {boolean} */
- ExtensionInfo.prototype.offlineEnabled;
- /** @type {string} */
- ExtensionInfo.prototype.optionsUrl;
- /** @type {!Array<!IconInfo>|undefined} */
- ExtensionInfo.prototype.icons;
- /** @type {!Array<string>} */
- ExtensionInfo.prototype.permissions;
- /** @type {!Array<string>} */
- ExtensionInfo.prototype.hostPermissions;
- /** @type {string} */
- ExtensionInfo.prototype.installType;
- /** @type {string|undefined} */
- ExtensionInfo.prototype.launchType;
- /** @type {!Array<string>|undefined} */
- ExtensionInfo.prototype.availableLaunchTypes;
- /**
- * @see https://developer.chrome.com/extensions/management.html
- * @constructor
- */
- function IconInfo() {}
- /** @type {number} */
- IconInfo.prototype.size;
- /** @type {string} */
- IconInfo.prototype.url;
- /**
- * @see https://developer.chrome.com/extensions/windows.html
- * @constructor
- */
- function ChromeWindow() {}
- /** @type {number} */
- ChromeWindow.prototype.id;
- /** @type {boolean} */
- ChromeWindow.prototype.focused;
- /** @type {number} */
- ChromeWindow.prototype.top;
- /** @type {number} */
- ChromeWindow.prototype.left;
- /** @type {number} */
- ChromeWindow.prototype.width;
- /** @type {number} */
- ChromeWindow.prototype.height;
- /** @type {Array<Tab>} */
- ChromeWindow.prototype.tabs;
- /** @type {boolean} */
- ChromeWindow.prototype.incognito;
- /** @type {string} */
- ChromeWindow.prototype.type;
- /** @type {string} */
- ChromeWindow.prototype.state;
- /** @type {boolean} */
- ChromeWindow.prototype.alwaysOnTop;
- /**
- * @see http://developer.chrome.com/extensions/pushMessaging.html
- * @const
- */
- chrome.pushMessaging = {};
- /**
- * @type {!chrome.pushMessaging.PushMessageEvent}
- */
- chrome.pushMessaging.onMessage;
- /**
- * @param {boolean|function(!chrome.pushMessaging.ChannelIdResult)}
- * interactiveOrCallback Either a flag(optional), if set to true, user will
- * be asked to log in if they are not already logged in, or, when he flag is
- * not given, the callback.
- * @param {function(!chrome.pushMessaging.ChannelIdResult)=} opt_callback
- * Callback.
- * @return {undefined}
- */
- chrome.pushMessaging.getChannelId = function(
- interactiveOrCallback, opt_callback) {};
- /**
- * Event whose listeners take a chrome.pushMessaging.Message parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.pushMessaging.Message)>}
- */
- chrome.pushMessaging.PushMessageEvent = function() {};
- /**
- * @see https://developer.chrome.com/extensions/bookmarks.html#type-BookmarkTreeNode
- * @constructor
- */
- function BookmarkTreeNode() {}
- /** @type {string} */
- BookmarkTreeNode.prototype.id;
- /** @type {string|undefined} */
- BookmarkTreeNode.prototype.parentId;
- /** @type {number|undefined} */
- BookmarkTreeNode.prototype.index;
- /** @type {string|undefined} */
- BookmarkTreeNode.prototype.url;
- /** @type {string} */
- BookmarkTreeNode.prototype.title;
- /** @type {number|undefined} */
- BookmarkTreeNode.prototype.dateAdded;
- /** @type {number|undefined} */
- BookmarkTreeNode.prototype.dateGroupModified;
- /** @type {string|undefined} */
- BookmarkTreeNode.prototype.unmodifiable;
- /** @type {!Array<!BookmarkTreeNode>|undefined} */
- BookmarkTreeNode.prototype.children;
- /**
- * @see https://developer.chrome.com/extensions/dev/cookies.html#type-Cookie
- * @constructor
- */
- function Cookie() {}
- /** @type {string} */
- Cookie.prototype.name;
- /** @type {string} */
- Cookie.prototype.value;
- /** @type {string} */
- Cookie.prototype.domain;
- /** @type {boolean} */
- Cookie.prototype.hostOnly;
- /** @type {string} */
- Cookie.prototype.path;
- /** @type {boolean} */
- Cookie.prototype.secure;
- /** @type {boolean} */
- Cookie.prototype.httpOnly;
- /** @type {boolean} */
- Cookie.prototype.session;
- /** @type {number} */
- Cookie.prototype.expirationDate;
- /** @type {string} */
- Cookie.prototype.storeId;
- /**
- * @see https://developer.chrome.com/extensions/dev/cookies.html#type-CookieStore
- * @constructor
- */
- function CookieStore() {}
- /** @type {string} */
- CookieStore.prototype.id;
- /** @type {Array<number>} */
- CookieStore.prototype.tabIds;
- /**
- * @see https://developer.chrome.com/docs/extensions/reference/contextMenus/#type-OnClickData
- * @constructor
- */
- function OnClickData() {}
- /** @type {number|string} */
- OnClickData.prototype.menuItemId;
- /** @type {number|string} */
- OnClickData.prototype.parentMenuItemId;
- /** @type {string} */
- OnClickData.prototype.mediaType;
- /** @type {string} */
- OnClickData.prototype.linkUrl;
- /** @type {string} */
- OnClickData.prototype.srcUrl;
- /** @type {string} */
- OnClickData.prototype.pageUrl;
- /** @type {string} */
- OnClickData.prototype.frameUrl;
- /** @type {number} */
- OnClickData.prototype.frameId;
- /** @type {string} */
- OnClickData.prototype.selectionText;
- /** @type {boolean} */
- OnClickData.prototype.editable;
- /** @type {boolean} */
- OnClickData.prototype.wasChecked;
- /** @type {boolean} */
- OnClickData.prototype.checked;
- /**
- * @see https://developer.chrome.com/extensions/debugger.html#type-Debuggee
- * @constructor
- */
- function Debuggee() {}
- /** @type {number} */
- Debuggee.prototype.tabId;
- /**
- * @see https://developer.chrome.com/extensions/contentSettings.html#type-ResourceIdentifier
- * @constructor
- */
- function ResourceIdentifier() {}
- /** @type {string} */
- ResourceIdentifier.prototype.id;
- /** @type {string} */
- ResourceIdentifier.prototype.description;
- /**
- * @see https://developer.chrome.com/extensions/contentSettings.html#type-ContentSetting
- * @constructor
- */
- function ContentSetting() {}
- /**
- * @param {!Object<string,string>} details Settings details.
- * @param {function(): void=} opt_callback Callback function.
- * @return {undefined}
- */
- ContentSetting.prototype.clear = function(details, opt_callback) {};
- /**
- * @param {!Object<string,(string|boolean|ResourceIdentifier)>} details
- * Settings details.
- * @param {function({setting: *}): void} callback Callback function.
- * @return {undefined}
- */
- ContentSetting.prototype.get = function(details, callback) {};
- /**
- * @param {function(): void} callback Callback function.
- * @return {undefined}
- */
- ContentSetting.prototype.getResourceIdentifiers = function(callback) {};
- /**
- * @param {!Object<string,(string|ResourceIdentifier)>} details
- * Settings details.
- * @param {function(): void=} opt_callback Callback function.
- * @return {undefined}
- */
- ContentSetting.prototype.set = function(details, opt_callback) {};
- /**
- * @see https://developer.chrome.com/extensions/history.html#type-HistoryItem
- * @constructor
- */
- function HistoryItem() {}
- /** @type {string} */
- HistoryItem.prototype.id;
- /** @type {string} */
- HistoryItem.prototype.url;
- /** @type {string} */
- HistoryItem.prototype.title;
- /** @type {number} */
- HistoryItem.prototype.lastVisitTime;
- /** @type {number} */
- HistoryItem.prototype.visitCount;
- /** @type {number} */
- HistoryItem.prototype.typedCount;
- /**
- * @see https://developer.chrome.com/extensions/history.html#type-VisitItem
- * @constructor
- */
- function VisitItem() {}
- /** @type {string} */
- VisitItem.prototype.id;
- /** @type {string} */
- VisitItem.prototype.visitId;
- /** @type {number} */
- VisitItem.prototype.visitTime;
- /** @type {string} */
- VisitItem.prototype.referringVisitId;
- /** @type {string} */
- VisitItem.prototype.transition;
- /**
- * @see https://developer.chrome.com/extensions/fileBrowserHandler.html#type-FileHandlerExecuteEventDetails
- * @constructor
- */
- function FileHandlerExecuteEventDetails() {}
- /** @type {!Array<!FileEntry>} */
- FileHandlerExecuteEventDetails.prototype.entries;
- /** @type {number|undefined} */
- FileHandlerExecuteEventDetails.prototype.tab_id;
- /**
- * @see https://developer.chrome.com/extensions/input.ime.html#type-KeyboardEvent
- * @constructor
- */
- function ChromeKeyboardEvent() {}
- /** @type {string} */
- ChromeKeyboardEvent.prototype.type;
- /** @type {string} */
- ChromeKeyboardEvent.prototype.requestId;
- /** @type {string|undefined} */
- ChromeKeyboardEvent.prototype.extensionId;
- /** @type {string} */
- ChromeKeyboardEvent.prototype.key;
- /** @type {string} */
- ChromeKeyboardEvent.prototype.code;
- /** @type {number|undefined} */
- ChromeKeyboardEvent.prototype.keyCode;
- /** @type {boolean|undefined} */
- ChromeKeyboardEvent.prototype.altKey;
- /** @type {boolean|undefined} */
- ChromeKeyboardEvent.prototype.altgrKey;
- /** @type {boolean|undefined} */
- ChromeKeyboardEvent.prototype.ctrlKey;
- /** @type {boolean|undefined} */
- ChromeKeyboardEvent.prototype.shiftKey;
- /** @type {boolean|undefined} */
- ChromeKeyboardEvent.prototype.capsLock;
- /**
- * @see https://developer.chrome.com/extensions/input.ime.html#type-InputContext
- * @constructor
- */
- chrome.input.ime.InputContext = function() {};
- /** @type {number} */
- chrome.input.ime.InputContext.prototype.contextID;
- /** @type {string} */
- chrome.input.ime.InputContext.prototype.type;
- /** @type {boolean} */
- chrome.input.ime.InputContext.prototype.autoCorrect;
- /** @type {boolean} */
- chrome.input.ime.InputContext.prototype.autoComplete;
- /** @type {string} */
- chrome.input.ime.InputContext.prototype.autoCapitalize;
- /** @type {boolean} */
- chrome.input.ime.InputContext.prototype.spellCheck;
- /** @type {boolean} */
- chrome.input.ime.InputContext.prototype.shouldDoLearning;
- /**
- * @see https://developer.chrome.com/extensions/proxy.html#type-ProxyServer
- * @constructor
- */
- function ProxyServer() {}
- /** @type {string} */
- ProxyServer.prototype.scheme;
- /** @type {string} */
- ProxyServer.prototype.host;
- /** @type {number} */
- ProxyServer.prototype.port;
- /**
- * @see https://developer.chrome.com/extensions/proxy.html#type-ProxyRules
- * @constructor
- */
- function ProxyRules() {}
- /** @type {ProxyServer} */
- ProxyRules.prototype.singleProxy;
- /** @type {ProxyServer} */
- ProxyRules.prototype.proxyForHttp;
- /** @type {ProxyServer} */
- ProxyRules.prototype.proxyForHttps;
- /** @type {ProxyServer} */
- ProxyRules.prototype.proxyForFtp;
- /** @type {ProxyServer} */
- ProxyRules.prototype.fallbackProxy;
- /** @type {!Array<string>} */
- ProxyRules.prototype.bypassList;
- /**
- * @see https://developer.chrome.com/extensions/proxy.html#type-PacScript
- * @constructor
- */
- function PacScript() {}
- /** @type {string} */
- PacScript.prototype.url;
- /** @type {string} */
- PacScript.prototype.data;
- /** @type {boolean} */
- PacScript.prototype.mandatory;
- /**
- * @see https://developer.chrome.com/extensions/proxy.html#type-ProxyConfig
- * @constructor
- */
- function ProxyConfig() {}
- /** @type {ProxyRules} */
- ProxyConfig.prototype.rules;
- /** @type {PacScript} */
- ProxyConfig.prototype.pacScript;
- /** @type {string} */
- ProxyConfig.prototype.mode;
- /**
- * The event listener for Storage receives an Object mapping each
- * key that changed to its corresponding StorageChange for that item.
- *
- * Listener will receive an object that maps each key to its StorageChange,
- * and the namespace ("sync" or "local") of the storage area the changes
- * are for.
- * @see https://developer.chrome.com/extensions/storage#event-onChanged
- * @interface
- * @extends {ChromeBaseEvent<function(!Object<string, !StorageChange>, string)>}
- */
- function StorageChangeEvent() {}
- /**
- * The event listener for StorageArea receives an Object mapping each
- * key that changed to its corresponding StorageChange for that item.
- *
- * Listener will receive an object that maps each key to its StorageChange.
- * @see https://developer.chrome.com/extensions/storage#type-StorageArea
- * @interface
- * @extends {ChromeBaseEvent<function(!Object<string, !StorageChange>)>}
- */
- function StorageAreaChangeEvent() {}
- /**
- * @see https://developer.chrome.com/extensions/storage.html#type-StorageChange
- * @constructor
- */
- function StorageChange() {}
- /** @type {?} */
- StorageChange.prototype.oldValue;
- /** @type {?} */
- StorageChange.prototype.newValue;
- /**
- * @see https://developer.chrome.com/extensions/storage.html#type-StorageArea
- * @constructor
- */
- function StorageArea() {}
- /**
- * @param {(string|!Array<string>|!Object|null|function(!Object))=}
- * keysOrCallback
- * A single key to get, list of keys to get, or a dictionary
- * specifying default values (see description of the
- * object). An empty list or object will return an empty
- * result object. Pass in null to get the entire contents of storage.
- * @param {function(!Object)=} opt_callback Callback with storage items, or null
- * on failure.
- * @return {undefined}
- */
- StorageArea.prototype.get = function(keysOrCallback, opt_callback) {};
- /**
- * @param {(string|!Array<string>|null|function(!Object))=} keysOrCallback
- * A single key or list of keys to get the total usage for. An empty list
- * will return 0. Pass in null to get the total usage of all of storage.
- * @param {function(number)=} opt_callback
- * Callback with the amount of space being used by storage.
- * @return {undefined}
- */
- StorageArea.prototype.getBytesInUse = function(keysOrCallback, opt_callback) {};
- /**
- * @param {!Object<string>} items
- * Object specifying items to augment storage
- * with. Values that cannot be serialized (functions, etc) will be ignored.
- * @param {function()=} opt_callback Callback.
- * @return {undefined}
- */
- StorageArea.prototype.set = function(items, opt_callback) {};
- /**
- * @param {(string|!Array<string>)} keys
- * A single key or a list of keys for items to remove.
- * @param {function()=} opt_callback Callback.
- * @return {undefined}
- */
- StorageArea.prototype.remove = function(keys, opt_callback) {};
- /**
- * Removes all items from storage.
- * @param {function(): void=} opt_callback Callback function.
- * @return {undefined}
- */
- StorageArea.prototype.clear = function(opt_callback) {};
- /**
- * Fired when one or more items change.
- * @type {!StorageAreaChangeEvent}
- */
- StorageArea.prototype.onChanged;
- /**
- * @see https://developer.chrome.com/extensions/types.html#type-ChromeSetting
- * @constructor
- */
- function ChromeSetting() {}
- /**
- * @param {Object} details Object with a 'scope' (string) key.
- * @param {function(): void=} opt_callback Callback function.
- * @return {undefined}
- */
- ChromeSetting.prototype.clear = function(details, opt_callback) {};
- /**
- * @param {Object} details Object with an 'incognito' (boolean) key.
- * @param {function(Object<string, *>): void} callback Callback function.
- * @return {undefined}
- */
- ChromeSetting.prototype.get = function(details, callback) {};
- /**
- * @param {Object} details Object with a 'value' (*) key and an optional
- * 'scope' (string) key.
- * @param {function(): void=} opt_callback Callback function.
- * @return {undefined}
- */
- ChromeSetting.prototype.set = function(details, opt_callback) {};
- /** @type {!ChromeObjectEvent} */
- ChromeSetting.prototype.onChange;
- /**
- * @see https://developer.chrome.com/extensions/webRequest#type-RequestFilter
- * @typedef {?{
- * urls: !Array<string>,
- * types: (!Array<string>|undefined),
- * tabId: (number|undefined),
- * windowId: (number|undefined),
- * }}
- */
- var RequestFilter;
- /**
- * @see https://developer.chrome.com/extensions/webRequest#type-HttpHeaders
- * @typedef {?{
- * name: string,
- * value: (string|undefined),
- * binaryValue: (!Array<number>|undefined),
- * }}
- */
- var HttpHeader;
- /**
- * @see https://developer.chrome.com/extensions/webRequest#type-HttpHeaders
- * @typedef {?Array<!HttpHeader>}
- */
- chrome.webRequest.HttpHeaders;
- /**
- * @see https://developer.chrome.com/extensions/webRequest#type-BlockingResponse
- * @typedef {?{
- * cancel: (boolean|undefined),
- * redirectUrl: (string|undefined),
- * requestHeaders: (!chrome.webRequest.HttpHeaders|undefined),
- * responseHeaders: (!chrome.webRequest.HttpHeaders|undefined),
- * authCredentials: (!{username: string, password: string}|undefined),
- * }}
- */
- var BlockingResponse;
- /**
- * @see http://developer.chrome.com/extensions/pushMessaging.html#type-Message
- * @constructor
- */
- chrome.pushMessaging.Message = function() {};
- /**
- * @type {number}
- */
- chrome.pushMessaging.Message.prototype.subchannelId;
- /**
- * @type {string}
- */
- chrome.pushMessaging.Message.prototype.payload;
- /**
- * @see http://developer.chrome.com/extensions/pushMessaging.html#type-ChannelIdResult
- * @constructor
- */
- chrome.pushMessaging.ChannelIdResult = function() {};
- /**
- * @type {string}
- */
- chrome.pushMessaging.ChannelIdResult.prototype.channelId;
- /**
- * The `chrome.fileSystem` API makes use of the Entry and FileEntry types
- * defined in {@code javascript/externs/fileapi.js}.
- * @const
- * @see http://developer.chrome.com/apps/fileSystem.html
- */
- chrome.fileSystem = {};
- /**
- * @param {!Entry} entry The entry to get the display path for. The entry can
- * originally be obtained through
- * `chrome.fileSystem.chooseEntry` or
- * `chrome.fileSystem.restoreEntry`.
- * @param {function(string)} callback A success callback.
- * @see http://developer.chrome.com/apps/fileSystem.html#method-getDisplayPath
- * @return {undefined}
- */
- chrome.fileSystem.getDisplayPath = function(entry, callback) {};
- /**
- * @param {!Entry} entry The entry to get a writable entry for.
- * @param {function(!Entry)} callback A success callback.
- * @see http://developer.chrome.com/apps/fileSystem.html#method-getWritableEntry
- * @return {undefined}
- */
- chrome.fileSystem.getWritableEntry = function(entry, callback) {};
- /**
- * @param {!Entry} entry The entry to query writability.
- * @param {function(boolean)} callback A success callback.
- * @see http://developer.chrome.com/apps/fileSystem.html#method-isWritableEntry
- * @return {undefined}
- */
- chrome.fileSystem.isWritableEntry = function(entry, callback) {};
- /**
- * @typedef {{
- * description: (string|undefined),
- * mimeTypes: (!Array<string>|undefined),
- * extensions: (!Array<string>|undefined)
- * }}
- * @see http://developer.chrome.com/apps/fileSystem.html#method-chooseEntry
- */
- chrome.fileSystem.AcceptsOption;
- /**
- * @typedef {{
- * type: (string|undefined),
- * suggestedName: (string|undefined),
- * accepts: (!Array<!chrome.fileSystem.AcceptsOption>|undefined),
- * acceptsAllTypes: (boolean|undefined),
- * acceptsMultiple: (boolean|undefined)
- * }}
- * @see http://developer.chrome.com/apps/fileSystem.html#method-chooseEntry
- */
- chrome.fileSystem.ChooseEntryOptions;
- /**
- * @typedef {?{
- * volumeId: string,
- * writable: (boolean|undefined)
- * }}
- * @see http://developer.chrome.com/apps/fileSystem.html#method-requestFileSystem
- */
- chrome.fileSystem.RequestFileSystemOptions;
- /**
- * @see http://developer.chrome.com/apps/fileSystem.html#method-getVolumeList
- * @constructor
- */
- chrome.fileSystem.Volume = function() {};
- /** @type {string} */
- chrome.fileSystem.Volume.prototype.volumeId;
- /** @type {boolean} */
- chrome.fileSystem.Volume.prototype.writable;
- /**
- * @param {!chrome.fileSystem.ChooseEntryOptions|
- * function(Entry=, !Array<!FileEntry>=)} optionsOrCallback The
- * options for the file prompt or the callback.
- * @param {function(Entry=, !Array<!FileEntry>=)=} opt_callback A success
- * callback, if arg1 is options.
- * @see http://developer.chrome.com/apps/fileSystem.html#method-chooseEntry
- * @return {undefined}
- */
- chrome.fileSystem.chooseEntry = function(optionsOrCallback, opt_callback) {};
- /**
- * @param {string} id The ID of the file entry to restore.
- * @param {function(!Entry)} callback A success callback.
- * @see http://developer.chrome.com/apps/fileSystem.html#method-restoreEntry
- * @return {undefined}
- */
- chrome.fileSystem.restoreEntry = function(id, callback) {};
- /**
- * @param {string} id The ID of the file entry to query restorability.
- * @param {function(boolean)} callback A success callback.
- * @see http://developer.chrome.com/apps/fileSystem.html#method-isRestorable
- * @return {undefined}
- */
- chrome.fileSystem.isRestorable = function(id, callback) {};
- /**
- * @param {!Entry} entry The entry to regain access to.
- * @return {string} The ID that can be passed to restoreEntry to regain access
- * to the given file entry.
- * @see http://developer.chrome.com/apps/fileSystem.html#method-retainEntry
- */
- chrome.fileSystem.retainEntry = function(entry) {};
- /**
- * @param {!chrome.fileSystem.RequestFileSystemOptions} options Options for the
- * request.
- * @param {function(!FileSystem=)} callback A completion callback with the file
- * system in case of a success. Otherwise the error is passed as
- * chrome.runtime.lastError.
- * @see http://developer.chrome.com/apps/fileSystem.html#method-requestFileSystem
- * @return {undefined}
- */
- chrome.fileSystem.requestFileSystem = function(options, callback) {};
- /**
- * @param {function(!Array<!chrome.fileSystem.Volume>=)} callback A completion
- * callback with the file system list in case of a success. Otherwise the
- * error is passed as chrome.runtime.lastError.
- * @see http://developer.chrome.com/apps/fileSystem.html#method-getVolumeList
- * @return {undefined}
- */
- chrome.fileSystem.getVolumeList = function(callback) {};
- /**
- * @const
- * @see https://developer.chrome.com/apps/syncFileSystem
- */
- chrome.syncFileSystem = {};
- /**
- * Returns a syncable filesystem backed by Google Drive. The returned
- * DOMFileSystem instance can be operated on in the same way as
- * the Temporary and Persistent file systems (see
- * http://www.w3.org/TR/file-system-api/), except that the filesystem
- * object returned for Sync FileSystem does NOT support directory
- * operations (yet). You can get a list of file entries by reading
- * the root directory (by creating a new DirectoryReader),
- * but cannot create a new directory in it.
- *
- * <p>Calling this multiple times from the same app will return the same
- * handle to the same file system.
- *
- * <p>Note this call can fail. For example, if the user is not signed in
- * to Chrome or if there is no network operation. To handle these errors
- * it is important chrome.runtime.lastError is checked in the callback.
- *
- * @param {function(!FileSystem)} callback A callback type for
- * requestFileSystem.
- * @see https://developer.chrome.com/apps/syncFileSystem#method-requestFileSystem
- * @return {undefined}
- */
- chrome.syncFileSystem.requestFileSystem = function(callback) {};
- /**
- * Sets the default conflict resolution policy for the 'syncable' file
- * storage for the app. By default it is set to 'last_write_win'.
- * When conflict resolution policy is set to 'last_write_win' conflicts
- * for existing files are automatically resolved next time the file is updated.
- * `callback` can be optionally given to know if the request has
- * succeeded or not.
- *
- * @param {string} policy Any of 'last_write_win' or 'manual'
- * @param {function()=} opt_callback
- *
- * @see https://developer.chrome.com/apps/syncFileSystem#method-setConflictResolutionPolicy
- * @return {undefined}
- */
- chrome.syncFileSystem.setConflictResolutionPolicy = function(
- policy, opt_callback) {};
- /**
- * Gets the current conflict resolution policy.
- *
- * @param {function(string)} callback Accepting any of 'last_write_win'
- * or 'manual'.
- * @see https://developer.chrome.com/apps/syncFileSystem#method-getConflictResolutionPolicy
- * @return {undefined}
- */
- chrome.syncFileSystem.getConflictResolutionPolicy = function(callback) {};
- /**
- * Returns the current usage and quota in bytes for the 'syncable' file
- * storage for the app.
- *
- * @param {!FileSystem} fileSystem
- * @param {function(!Object)} callback Taking an object substantially similar
- * to {@code {'usageBytes': number, quotaBytes: number}}.
- * @see https://developer.chrome.com/apps/syncFileSystem#method-getUsageAndQuota
- * @return {undefined}
- */
- chrome.syncFileSystem.getUsageAndQuota = function(fileSystem, callback) {};
- /**
- * Returns the FileStatus for the given fileEntry. The status value can be
- * 'synced', 'pending' or 'conflicting'. Note that 'conflicting' state only
- * happens when the service's conflict resolution policy is set to 'manual'.
- *
- * @param {!Entry} fileEntry
- * @param {function(string)} callback Called with any of 'synced', 'pending'
- * or 'conflicting'.
- *
- * @see https://developer.chrome.com/apps/syncFileSystem#method-getFileStatus
- * @return {undefined}
- */
- chrome.syncFileSystem.getFileStatus = function(fileEntry, callback) {};
- /**
- * Returns each FileStatus for the given fileEntry array. Typically called
- * with the result from dirReader.readEntries().
- *
- * @param {!Array<!FileEntry>} fileEntries
- * @param {function(!Array<!Object>)} callback Each object will look like:
- * {@code {'fileEntry': Entry, 'status': string, 'error': string?}}.
- *
- * @see https://developer.chrome.com/apps/syncFileSystem#method-getFileStatuses
- * @return {undefined}
- */
- chrome.syncFileSystem.getFileStatuses = function(fileEntries, callback) {};
- /**
- * Since Chrome 31.
- *
- * <p>Returns the current sync backend status.
- *
- * @param {function(string)} callback Arg is any of 'initializing', 'running',
- * 'authentication_required', 'temporary_unavailable', or 'disabled'.
- *
- * @see https://developer.chrome.com/apps/syncFileSystem#method-getServiceStatus
- * @return {undefined}
- */
- chrome.syncFileSystem.getServiceStatus = function(callback) {};
- /**
- * Fired when an error or other status change has happened in the sync
- * backend (for example, when the sync is temporarily disabled due
- * to network or authentication error).
- *
- * @type {!ChromeObjectEvent}
- *
- * @see https://developer.chrome.com/apps/syncFileSystem#event-onServiceStatusChanged
- */
- chrome.syncFileSystem.onServiceStatusChanged;
- /**
- * Fired when a file has been updated by the background sync service.
- *
- * @type {!ChromeObjectEvent}
- *
- * @see https://developer.chrome.com/apps/syncFileSystem#event-onFileStatusChanged
- */
- chrome.syncFileSystem.onFileStatusChanged;
- /**
- * @const
- * @see http://developer.chrome.com/extensions/alarms.html
- */
- chrome.alarms = {};
- /**
- * Creates an alarm. Near the time(s) specified by alarmInfo, the onAlarm event
- * is fired. If there is another alarm with the same name (or no name if none is
- * specified), it will be cancelled and replaced by this alarm.
- * @param {string|!chrome.alarms.AlarmCreateInfo} nameOrAlarmCreateInfo Either
- * the name to identify this alarm or the info used to create the alarm. If
- * no name is passed, the empty string is used to identify the alarm.
- * @param {!chrome.alarms.AlarmCreateInfo=} opt_alarmInfo If a name was passed
- * as arg1, the info used to create the alarm.
- * @see http://developer.chrome.com/extensions/alarms.html#method-create
- * @return {undefined}
- */
- chrome.alarms.create = function(nameOrAlarmCreateInfo, opt_alarmInfo) {};
- /**
- * Retrieves details about the specified alarm.
- * @param {string|function(!chrome.alarms.Alarm)} nameOrCallback The name
- * of the alarm to get or the callback to invoke with the alarm. If no name
- * is passed, the empty string is used to get the alarm.
- * @param {function(!chrome.alarms.Alarm)=} opt_callback If a name was passed
- * as arg1, the callback to invoke with the alarm.
- * @see http://developer.chrome.com/extensions/alarms.html#method-get
- * @return {undefined}
- */
- chrome.alarms.get = function(nameOrCallback, opt_callback) {};
- /**
- * Gets an array of all the alarms.
- * @param {function(!Array<!chrome.alarms.Alarm>)} callback
- * @see http://developer.chrome.com/extensions/alarms.html#method-getAll
- * @return {undefined}
- */
- chrome.alarms.getAll = function(callback) {};
- /**
- * Clears the alarm with the given name.
- * @param {string=} opt_name
- * @param {function(boolean)=} opt_callback A callback that will be called with
- * a boolean for whether the alarm was cleared.
- * @see http://developer.chrome.com/extensions/alarms.html#method-clear
- * @return {undefined}
- */
- chrome.alarms.clear = function(opt_name, opt_callback) {};
- /**
- * Clears all alarms.
- * @param {function(boolean)=} opt_callback A callback that will be called with
- * a boolean for whether the alarms were cleared.
- * @see http://developer.chrome.com/extensions/alarms.html#method-clearAll
- * @return {undefined}
- */
- chrome.alarms.clearAll = function(opt_callback) {};
- /**
- * Fired when an alarm has elapsed. Useful for event pages.
- * @type {!chrome.alarms.AlarmEvent}
- * @see http://developer.chrome.com/extensions/alarms.html#event-onAlarm
- */
- chrome.alarms.onAlarm;
- /**
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.alarms.Alarm)>}
- */
- chrome.alarms.AlarmEvent = function() {};
- /**
- * @interface
- * @see http://developer.chrome.com/extensions/alarms.html#type-Alarm
- */
- chrome.alarms.Alarm = function() {};
- /**
- * Name of this alarm.
- * @type {string}
- */
- chrome.alarms.Alarm.prototype.name;
- /**
- * Time at which this alarm was scheduled to fire, in milliseconds past the
- * epoch (e.g. Date.now() + n). For performance reasons, the alarm may have been
- * delayed an arbitrary amount beyond this.
- * @type {number}
- */
- chrome.alarms.Alarm.prototype.scheduledTime;
- /**
- * If not null, the alarm is a repeating alarm and will fire again in
- * periodInMinutes minutes.
- * @type {?number}
- */
- chrome.alarms.Alarm.prototype.periodInMinutes;
- /**
- * @typedef {{
- * when: (number|undefined),
- * delayInMinutes: (number|undefined),
- * periodInMinutes: (number|undefined)
- * }}
- * @see http://developer.chrome.com/extensions/alarms.html#method-create
- */
- chrome.alarms.AlarmCreateInfo;
- /**
- * @see https://developer.chrome.com/apps/hid
- * @const
- */
- chrome.hid = {};
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/hid#type-DeviceFilter
- */
- chrome.hid.DeviceFilter = function() {};
- /**
- * Device vendor ID.
- * @type {number|undefined}
- */
- chrome.hid.DeviceFilter.prototype.vendorId;
- /**
- * Device product ID, only checked if the vendor ID matches.
- * @type {number|undefined}
- */
- chrome.hid.DeviceFilter.prototype.productId;
- /**
- * HID usage page identifier.
- * @type {number|undefined}
- */
- chrome.hid.DeviceFilter.prototype.usagePage;
- /**
- * HID usage identifier, checked only if the HID usage page matches.
- * @type {number|undefined}
- */
- chrome.hid.DeviceFilter.prototype.usage;
- /**
- * @typedef {?{
- * vendorId: (number|undefined),
- * productId: (number|undefined),
- * filters: (!Array<!chrome.hid.DeviceFilter>|undefined)
- * }}
- * Deprecated since Chrome 39: vendorId, productId
- * Since Chrome 39: filters
- * @see https://developer.chrome.com/apps/hid#method-getDevices
- */
- chrome.hid.HidGetDevicesOptions;
- /**
- * @typedef {?{
- * multiple: (boolean|undefined),
- * filters: (!Array<!chrome.hid.DeviceFilter>|undefined)
- * }}
- * @see https://developer.chrome.com/apps/hid#method-getUserSelectedDevices
- */
- chrome.hid.HidGetUserSelectedDevicesOptions;
- /**
- * @typedef {?{
- * usagePage: number,
- * usage: number,
- * reportIds: !Array<number>
- * }}
- * @see https://developer.chrome.com/apps/hid#method-getDevices
- */
- chrome.hid.HidDeviceUsage;
- /**
- * @constructor
- * @see https://developer.chrome.com/apps/hid#type-HidDeviceInfo
- */
- chrome.hid.HidDeviceInfo = function() {};
- /**
- * Opaque device ID.
- * @type {number}
- */
- chrome.hid.HidDeviceInfo.prototype.deviceId;
- /**
- * Vendor ID.
- * @type {number}
- */
- chrome.hid.HidDeviceInfo.prototype.vendorId;
- /**
- * Product ID.
- * @type {number}
- */
- chrome.hid.HidDeviceInfo.prototype.productId;
- /**
- * The product name read from the device, if available.
- * Since Chrome 46.
- * @type {string}
- */
- chrome.hid.HidDeviceInfo.prototype.productName;
- /**
- * The serial number read from the device, if available.
- * Since Chrome 46.
- * @type {string}
- */
- chrome.hid.HidDeviceInfo.prototype.serialNumber;
- /**
- * Top-level collections from this device's report descriptors.
- * @type {!Array<!chrome.hid.HidDeviceUsage>}
- */
- chrome.hid.HidDeviceInfo.prototype.collections;
- /**
- * Top-level collection's maximum input report size.
- * @type {number}
- */
- chrome.hid.HidDeviceInfo.prototype.maxInputReportSize;
- /**
- * Top-level collection's maximum output report size.
- * @type {number}
- */
- chrome.hid.HidDeviceInfo.prototype.maxOutputReportSize;
- /**
- * Top-level collection's maximum feature report size.
- * @type {number}
- */
- chrome.hid.HidDeviceInfo.prototype.maxFeatureReportSize;
- /**
- * Raw device report descriptor (not available on Windows).
- * Since Chrome 42.
- * @type {!ArrayBuffer}
- */
- chrome.hid.HidDeviceInfo.prototype.reportDescriptor;
- /**
- * @typedef {?{
- * connectionId: number
- * }}
- * @see https://developer.chrome.com/apps/hid#method-connect
- */
- chrome.hid.HidConnectInfo;
- /**
- * @see https://developer.chrome.com/apps/hid#method-getDevices
- * Enumerates all the connected HID devices specified by the
- * vendorId/productId/interfaceId tuple.
- * @param {!chrome.hid.HidGetDevicesOptions} options The properties to search
- * for on target devices.
- * @param {function(!Array<!chrome.hid.HidDeviceInfo>)} callback Invoked with a
- * list of |HidDeviceInfo|s on complete.
- * @return {undefined}
- */
- chrome.hid.getDevices = function(options, callback) {};
- /**
- * @see https://developer.chrome.com/apps/hid#method-getUserSelectedDevices
- * Presents a device picker to the user and returns HidDeviceInfo objects for
- * the devices selected. If the user cancels the picker devices will be empty. A
- * user gesture is required for the dialog to display. Without a user gesture,
- * the callback will run as though the user cancelled. If multiple filters are
- * provided devices matching any filter will be displayed.
- * @param {!chrome.hid.HidGetUserSelectedDevicesOptions} options
- * @param {function(!Array<!chrome.hid.HidDeviceInfo>)} callback Invoked with a
- * list of |HidDeviceInfo|s on complete.
- * @return {undefined}
- */
- chrome.hid.getUserSelectedDevices = function(options, callback) {};
- /**
- * @see https://developer.chrome.com/apps/hid#method-connect
- * Opens a connection to a HID device for communication.
- * @param {number} deviceId The ID of the device to open.
- * @param {function(!Object=)} callback Invoked with an |HidConnectInfo| if the
- * connection succeeds, or undefined if it fails.
- * @return {undefined}
- */
- chrome.hid.connect = function(deviceId, callback) {};
- /**
- * @see https://developer.chrome.com/apps/hid#method-disconnect
- * Disconnects from a device.
- * @param {number} connectionId The connection to close.
- * @param {function()=} opt_callback The callback to invoke once the connection
- * is closed.
- * @return {undefined}
- */
- chrome.hid.disconnect = function(connectionId, opt_callback) {};
- /**
- * @see https://developer.chrome.com/apps/hid#method-receive
- * Receives an input report from an HID device.
- * @param {number} connectionId The connection from which to receive the report.
- * @param {function(number, !ArrayBuffer)} callback The callback to invoke with
- * the received report.
- * @return {undefined}
- */
- chrome.hid.receive = function(connectionId, callback) {};
- /**
- * @see https://developer.chrome.com/apps/hid#method-send
- * Sends an output report to an HID device.
- * @param {number} connectionId The connection to which to send the report.
- * @param {number} reportId The report ID to use, or 0 if none.
- * @param {!ArrayBuffer} data The report data.
- * @param {function()} callback The callback to invoke once the write is
- * finished.
- * @return {undefined}
- */
- chrome.hid.send = function(connectionId, reportId, data, callback) {};
- /**
- * @see https://developer.chrome.com/apps/hid#method-receiveFeatureReport
- * Receives a feature report from the device.
- * @param {number} connectionId The connection from which to read the feature
- * report.
- * @param {number} reportId The report ID to use, or 0 if none.
- * @param {number} size The size of the feature report to receive.
- * @param {function(!ArrayBuffer)} callback The callback to invoke with the
- * received report.
- * @return {undefined}
- */
- chrome.hid.receiveFeatureReport = function(
- connectionId, reportId, size, callback) {};
- /**
- * @see https://developer.chrome.com/apps/hid#method-sendFeatureReport
- * Sends a feature report to the device.
- * @param {number} connectionId The connection to which to send the feature
- * report.
- * @param {number} reportId The report ID to use, or 0 if none.
- * @param {!ArrayBuffer} data The report data.
- * @param {function()} callback The callback to invoke once the write is
- * finished.
- * @return {undefined}
- */
- chrome.hid.sendFeatureReport = function(
- connectionId, reportId, data, callback) {};
- /**
- * Event whose listeners take an HidDeviceInfo parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.hid.HidDeviceInfo)>}
- */
- chrome.hid.DeviceAddedEvent = function() {};
- /**
- * @type {!chrome.hid.DeviceAddedEvent}
- * @see https://developer.chrome.com/apps/hid#event-onDeviceAdded
- */
- chrome.hid.onDeviceAdded;
- /**
- * @type {!ChromeNumberEvent}
- * @see https://developer.chrome.com/apps/hid#event-onDeviceRemoved
- */
- chrome.hid.onDeviceRemoved;
- /**
- * @see http://developer.chrome.com/extensions/notifications.html
- * @const
- */
- chrome.notifications = {};
- /**
- * @typedef {{
- * title: string,
- * iconUrl: (string|undefined)
- * }}
- * @see http://developer.chrome.com/extensions/notifications.html#type-NotificationOptions
- */
- chrome.notifications.NotificationButton;
- /**
- * @typedef {{
- * title: string,
- * message: string
- * }}
- * @see http://developer.chrome.com/extensions/notifications.html#type-NotificationOptions
- */
- chrome.notifications.NotificationItem;
- /**
- * @typedef {{
- * type: (string|undefined),
- * iconUrl: (string|undefined),
- * appIconMaskUrl: (string|undefined),
- * title: (string|undefined),
- * message: (string|undefined),
- * contextMessage: (string|undefined),
- * priority: (number|undefined),
- * eventTime: (number|undefined),
- * buttons: (!Array<!chrome.notifications.NotificationButton>|undefined),
- * imageUrl: (string|undefined),
- * items: (!Array<!chrome.notifications.NotificationItem>|undefined),
- * progress: (number|undefined),
- * isClickable: (boolean|undefined),
- * requireInteraction: (boolean|undefined),
- * silent: (boolean|undefined)
- * }}
- * @see http://developer.chrome.com/extensions/notifications.html#type-NotificationOptions
- */
- chrome.notifications.NotificationOptions;
- /**
- * @typedef {function(boolean): void}
- * @see http://developer.chrome.com/extensions/notifications.html#method-update
- * @see http://developer.chrome.com/extensions/notifications.html#method-clear
- */
- chrome.notifications.BooleanCallback;
- /**
- * @typedef {function(!Object): void}
- * @see http://developer.chrome.com/extensions/notifications.html#method-getAll
- */
- chrome.notifications.ObjectCallback;
- /**
- * @typedef {function(string, boolean): void}
- * @see http://developer.chrome.com/extensions/notifications.html#event-onClosed
- */
- chrome.notifications.ClosedCallback;
- /**
- * @typedef {function(string, number): void}
- * @see http://developer.chrome.com/extensions/notifications.html#event-onButtonClicked
- */
- chrome.notifications.ButtonCallback;
- /**
- * @param {string|!chrome.notifications.NotificationOptions}
- * notificationIdOrOptions
- * @param {(!chrome.notifications.NotificationOptions|function(string): void)=}
- * opt_optionsOrCallback
- * @param {(function(string): void)=} opt_callback
- * @see http://developer.chrome.com/extensions/notifications.html#method-create
- * @return {undefined}
- */
- chrome.notifications.create = function(
- notificationIdOrOptions, opt_optionsOrCallback, opt_callback) {};
- /**
- * @param {string} notificationId
- * @param {!chrome.notifications.NotificationOptions} options
- * @param {chrome.notifications.BooleanCallback=} opt_callback
- * @see http://developer.chrome.com/extensions/notifications.html#method-update
- * @return {undefined}
- */
- chrome.notifications.update = function(
- notificationId, options, opt_callback) {};
- /**
- * @param {string} notificationId
- * @param {!chrome.notifications.BooleanCallback=} opt_callback
- * @see http://developer.chrome.com/extensions/notifications.html#method-clear
- * @return {undefined}
- */
- chrome.notifications.clear = function(notificationId, opt_callback) {};
- /**
- * @see http://developer.chrome.com/extensions/notifications.html#method-getAll
- * @param {!chrome.notifications.ObjectCallback} callback
- * @return {undefined}
- */
- chrome.notifications.getAll = function(callback) {};
- /**
- * @see http://developer.chrome.com/extensions/notifications.html#method-getPermissionLevel
- * @param {function(string): void} callback takes 'granted' or 'denied'
- * @return {undefined}
- */
- chrome.notifications.getPermissionLevel = function(callback) {};
- /**
- * @type {!chrome.notifications.ClosedEvent}
- * @see http://developer.chrome.com/extensions/notifications.html#event-onClosed
- */
- chrome.notifications.onClosed;
- /**
- * The user clicked a non-button area of the notification. Callback receives a
- * notificationId.
- * @type {!ChromeStringEvent}
- * @see http://developer.chrome.com/extensions/notifications.html#event-onClicked
- */
- chrome.notifications.onClicked;
- /**
- * @type {!chrome.notifications.ButtonClickedEvent}
- * @see http://developer.chrome.com/extensions/notifications.html#event-onButtonClicked
- */
- chrome.notifications.onButtonClicked;
- /**
- * Indicates permission level change. Callback should expect 'granted' or
- * 'denied'.
- * @type {!ChromeStringEvent}
- * @see http://developer.chrome.com/extensions/notifications.html#event-onPermissionLevelChanged
- */
- chrome.notifications.onPermissionLevelChanged;
- /**
- * @type {!ChromeEvent}
- * @see http://developer.chrome.com/extensions/notifications.html#event-onShowSettings
- */
- chrome.notifications.onShowSettings;
- /**
- * @interface
- * @extends {ChromeBaseEvent<!chrome.notifications.ClosedCallback>}
- * @see http://developer.chrome.com/extensions/notifications.html#event-onClosed
- */
- chrome.notifications.ClosedEvent = function() {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<!chrome.notifications.ButtonCallback>}
- * @see http://developer.chrome.com/extensions/notifications.html#event-onButtonClicked
- */
- chrome.notifications.ButtonClickedEvent = function() {};
- /**
- * @const
- * @see http://developer.chrome.com/apps/system_storage.html
- */
- chrome.system.storage = {};
- /** @constructor */
- chrome.system.storage.StorageUnitInfo = function() {};
- /** @type {string} */
- chrome.system.storage.StorageUnitInfo.prototype.id;
- /** @type {string} */
- chrome.system.storage.StorageUnitInfo.prototype.name;
- /** @type {string} Any of 'fixed', 'removable', or 'unknown' */
- chrome.system.storage.StorageUnitInfo.prototype.type;
- /** @type {number} */
- chrome.system.storage.StorageUnitInfo.prototype.capacity;
- /**
- * Event whose listeners take a StorageUnitInfoEvent parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.system.storage.StorageUnitInfo)>}
- */
- chrome.system.storage.StorageUnitInfoEvent = function() {};
- /** @type {chrome.system.storage.StorageUnitInfoEvent} */
- chrome.system.storage.onAttached;
- /** @type {!ChromeStringEvent} */
- chrome.system.storage.onDetached;
- /**
- * Gets the storage information from the system.
- * @param {function(!Array<!chrome.system.storage.StorageUnitInfo>)} callback
- * @return {undefined}
- */
- chrome.system.storage.getInfo = function(callback) {};
- /**
- * Ejects a removable storage device.
- * @param {string} id The transient device ID from StorageUnitInfo.
- * @param {function(string)} callback Callback function where the value
- * is any of: "success", "in_use", "no_such_device", "failure"
- * @return {undefined}
- */
- chrome.system.storage.ejectDevice = function(id, callback) {};
- /**
- * Gets the available capacity of a specified storage device.
- * @param {string} id The transient device ID from StorageUnitInfo.
- * @param {function(Object<string, number>)} callback A callback function that
- * accepts an object with `id` and `availableCapacity` fields.
- * @return {undefined}
- */
- chrome.system.storage.getAvailableCapacity = function(id, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html
- * @const
- */
- chrome.usb = {};
- /** @constructor */
- chrome.usb.Device = function Device() {};
- /** @type {number} */
- chrome.usb.Device.prototype.device;
- /** @type {number} */
- chrome.usb.Device.prototype.vendorId;
- /** @type {number} */
- chrome.usb.Device.prototype.productId;
- /** @type {number} */
- chrome.usb.Device.prototype.version;
- /**
- * The product name read from the device, if available.
- * Since Chrome 46.
- * @type {string}
- */
- chrome.usb.Device.prototype.productName;
- /**
- * The manufacturer name read from the device, if available.
- * Since Chrome 46.
- * @type {string}
- */
- chrome.usb.Device.prototype.manufacturerName;
- /**
- * The serial number read from the device, if available.
- * Since Chrome 46.
- * @type {string}
- */
- chrome.usb.Device.prototype.serialNumber;
- /** @constructor */
- chrome.usb.ConnectionHandle = function ConnectionHandle() {};
- /** @type {number} */
- chrome.usb.ConnectionHandle.prototype.handle;
- /** @type {number} */
- chrome.usb.ConnectionHandle.prototype.vendorId;
- /** @type {number} */
- chrome.usb.ConnectionHandle.prototype.productId;
- /**
- * @typedef {?{
- * direction: string,
- * endpoint: number,
- * length: (number|undefined),
- * data: (!ArrayBuffer|undefined),
- * timeout: (number|undefined)
- * }}
- */
- chrome.usb.GenericTransferInfo;
- /**
- * @typedef {?{
- * direction: string,
- * recipient: string,
- * requestType: string,
- * request: number,
- * value: number,
- * index: number,
- * length: (number|undefined),
- * data: (!ArrayBuffer|undefined),
- * timeout: (number|undefined)
- * }}
- */
- chrome.usb.ControlTransferInfo;
- /** @constructor */
- chrome.usb.TransferResultInfo = function() {};
- /** @type {number|undefined} */
- chrome.usb.TransferResultInfo.prototype.resultCode;
- /** @type {!ArrayBuffer|undefined} */
- chrome.usb.TransferResultInfo.prototype.data;
- /**
- * @typedef {?{
- * vendorId: number,
- * productId: number,
- * interfaceId: (number|undefined)
- * }}
- */
- chrome.usb.FindDevicesOptions;
- /**
- * @typedef {?{
- * vendorId: (number|undefined),
- * productId: (number|undefined),
- * interfaceClass: (number|undefined),
- * interfaceSubclass: (number|undefined),
- * interfaceProtocol: (number|undefined)
- * }}
- */
- chrome.usb.DeviceFilter;
- /**
- * @typedef {?{
- * vendorId: (number|undefined),
- * productId: (number|undefined),
- * filters: (!Array<!chrome.usb.DeviceFilter>|undefined)
- * }}
- */
- chrome.usb.GetDevicesOptions;
- /**
- * @typedef {?{
- * multiple: (boolean|undefined),
- * filters: (!Array<!chrome.usb.DeviceFilter>|undefined)
- * }}
- */
- chrome.usb.GetUserSelectedDevicesOptions;
- /**
- * @typedef {?{
- * transferInfo: !chrome.usb.GenericTransferInfo,
- * packets: number,
- * packetLength: number
- * }}
- */
- chrome.usb.IsochronousTransferInfo;
- /** @constructor */
- chrome.usb.EndpointDescriptor = function() {};
- /** @type {number} */
- chrome.usb.EndpointDescriptor.prototype.address;
- /** @type {string} */
- chrome.usb.EndpointDescriptor.prototype.type;
- /** @type {string} */
- chrome.usb.EndpointDescriptor.prototype.direction;
- /** @type {number} */
- chrome.usb.EndpointDescriptor.prototype.maximumPacketSize;
- /** @type {(string|undefined)} */
- chrome.usb.EndpointDescriptor.prototype.synchronization;
- /** @type {(string|undefined)} */
- chrome.usb.EndpointDescriptor.prototype.usage;
- /** @type {(number|undefined)} */
- chrome.usb.EndpointDescriptor.prototype.pollingInterval;
- /** @type {!ArrayBuffer} */
- chrome.usb.EndpointDescriptor.prototype.extra_data;
- /** @constructor */
- chrome.usb.InterfaceDescriptor = function() {};
- /** @type {number} */
- chrome.usb.InterfaceDescriptor.prototype.interfaceNumber;
- /** @type {number} */
- chrome.usb.InterfaceDescriptor.prototype.alternateSetting;
- /** @type {number} */
- chrome.usb.InterfaceDescriptor.prototype.interfaceClass;
- /** @type {number} */
- chrome.usb.InterfaceDescriptor.prototype.interfaceSubclass;
- /** @type {number} */
- chrome.usb.InterfaceDescriptor.prototype.interfaceProtocol;
- /** @type {(string|undefined)} */
- chrome.usb.InterfaceDescriptor.prototype.description;
- /** @type {!Array.<!chrome.usb.EndpointDescriptor>} */
- chrome.usb.InterfaceDescriptor.prototype.endpoints;
- /** @type {!ArrayBuffer} */
- chrome.usb.InterfaceDescriptor.prototype.extra_data;
- /** @constructor */
- chrome.usb.ConfigDescriptor = function() {};
- /** @type {boolean} */
- chrome.usb.ConfigDescriptor.prototype.active;
- /** @type {number} */
- chrome.usb.ConfigDescriptor.prototype.configurationValue;
- /** @type {string|undefined} */
- chrome.usb.ConfigDescriptor.prototype.description;
- /** @type {boolean} */
- chrome.usb.ConfigDescriptor.prototype.selfPowered;
- /** @type {boolean} */
- chrome.usb.ConfigDescriptor.prototype.remoteWakeup;
- /** @type {number} */
- chrome.usb.ConfigDescriptor.prototype.maxPower;
- /** @type {!Array<!chrome.usb.InterfaceDescriptor>} */
- chrome.usb.ConfigDescriptor.prototype.interfaces;
- /** @type {!ArrayBuffer} */
- chrome.usb.ConfigDescriptor.prototype.extra_data;
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-getDevices
- * @param {!chrome.usb.GetDevicesOptions} options The properties to
- * search for on target devices.
- * @param {function(!Array<!chrome.usb.Device>)} callback Invoked with a list
- * of |Device|s on complete.
- * @return {undefined}
- */
- chrome.usb.getDevices = function(options, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-getUserSelectedDevices
- * @param {!chrome.usb.GetUserSelectedDevicesOptions} options Configuration of
- * the device picker dialog box.
- * @param {function(!Array<!chrome.usb.Device>)} callback Invoked with a list
- * of |Device|s on complete.
- * @return {undefined}
- */
- chrome.usb.getUserSelectedDevices = function(options, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-getConfigurations
- * @param {!chrome.usb.Device} device The device to fetch descriptors from.
- * @param {function(!Array<!chrome.usb.ConfigDescriptor>)} callback Invoked with
- * the full set of device configuration descriptors.
- * @return {undefined}
- */
- chrome.usb.getConfigurations = function(device, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-requestAccess
- * @param {!chrome.usb.Device} device The device to request access to.
- * @param {number} interfaceId
- * @param {function(boolean)} callback
- * @return {undefined}
- */
- chrome.usb.requestAccess = function(device, interfaceId, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-openDevice
- * @param {!chrome.usb.Device} device The device to open.
- * @param {function(!chrome.usb.ConnectionHandle)} callback Invoked with the
- * created ConnectionHandle on complete.
- * @return {undefined}
- */
- chrome.usb.openDevice = function(device, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-findDevices
- * @param {!chrome.usb.FindDevicesOptions} options The properties to search for
- * on target devices.
- * @param {function(!Array<!chrome.usb.ConnectionHandle>)} callback Invoked
- * with the opened ConnectionHandle on complete.
- * @return {undefined}
- */
- chrome.usb.findDevices = function(options, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-closeDevice
- * @param {!chrome.usb.ConnectionHandle} handle The connection handle to close.
- * @param {function()=} opt_callback The callback to invoke once the device is
- * closed.
- * @return {undefined}
- */
- chrome.usb.closeDevice = function(handle, opt_callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-setConfiguration
- * @param {!chrome.usb.ConnectionHandle} handle The connection handle for which
- * to select a device configuration.
- * @param {number} configurationValue The configuration to select.
- * @param {function()} callback The callback to invoke on complete.
- * @return {undefined}
- */
- chrome.usb.setConfiguration = function(handle, configurationValue, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-getConfiguration
- * @param {!chrome.usb.ConnectionHandle} handle The connection handle for which
- * to get the current device configuration descriptor.
- * @param {function(!chrome.usb.ConfigDescriptor)} callback The callback to
- * invoke on complete.
- * @return {undefined}
- */
- chrome.usb.getConfiguration = function(handle, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-listInterfaces
- * @param {!chrome.usb.ConnectionHandle} handle The device from which the
- * interfaces should be listed.
- * @param {function(!Array<!chrome.usb.InterfaceDescriptor>)} callback The
- * callback to invoke when the interfaces are enumerated.
- * @return {undefined}
- */
- chrome.usb.listInterfaces = function(handle, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-claimInterface
- * @param {!chrome.usb.ConnectionHandle} handle The device on which the
- * interface is to be claimed.
- * @param {number} interfaceNumber
- * @param {function()} callback The callback to invoke once the interface is
- * claimed.
- * @return {undefined}
- */
- chrome.usb.claimInterface = function(handle, interfaceNumber, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-releaseInterface
- * @param {!chrome.usb.ConnectionHandle} handle The device on which the
- * interface is to be released.
- * @param {number} interfaceNumber
- * @param {function()} callback The callback to invoke once the interface is
- * released.
- * @return {undefined}
- */
- chrome.usb.releaseInterface = function(handle, interfaceNumber, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-setInterfaceAlternateSetting
- * @param {!chrome.usb.ConnectionHandle} handle The device on which the
- * interface settings are to be set.
- * @param {number} interfaceNumber
- * @param {number} alternateSetting The alternate setting to set.
- * @param {function()} callback The callback to invoke once the interface
- * setting is set.
- * @return {undefined}
- */
- chrome.usb.setInterfaceAlternateSetting = function(
- handle, interfaceNumber, alternateSetting, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-controlTransfer
- * @param {!chrome.usb.ConnectionHandle} handle A connection handle to make the
- * transfer on.
- * @param {!chrome.usb.ControlTransferInfo} transferInfo The parameters to the
- * transfer.
- * @param {function(!chrome.usb.TransferResultInfo)} callback Invoked once the
- * transfer has completed.
- * @return {undefined}
- */
- chrome.usb.controlTransfer = function(handle, transferInfo, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-bulkTransfer
- * @param {!chrome.usb.ConnectionHandle} handle A connection handle to make
- * the transfer on.
- * @param {!chrome.usb.GenericTransferInfo} transferInfo The parameters to the
- * transfer. See GenericTransferInfo.
- * @param {function(!chrome.usb.TransferResultInfo)} callback Invoked once the
- * transfer has completed.
- * @return {undefined}
- */
- chrome.usb.bulkTransfer = function(handle, transferInfo, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-interruptTransfer
- * @param {!chrome.usb.ConnectionHandle} handle A connection handle to make the
- * transfer on.
- * @param {!chrome.usb.GenericTransferInfo} transferInfo The parameters to the
- * transfer. See GenericTransferInfo.
- * @param {function(!chrome.usb.TransferResultInfo)} callback Invoked once the
- * transfer has completed.
- * @return {undefined}
- */
- chrome.usb.interruptTransfer = function(handle, transferInfo, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-isochronousTransfer
- * @param {!chrome.usb.ConnectionHandle} handle A connection handle to make the
- * transfer on.
- * @param {!chrome.usb.IsochronousTransferInfo} transferInfo The parameters to
- * the transfer.
- * @param {function(!chrome.usb.TransferResultInfo)} callback Invoked once the
- * transfer has been completed.
- * @return {undefined}
- */
- chrome.usb.isochronousTransfer = function(handle, transferInfo, callback) {};
- /**
- * @see http://developer.chrome.com/apps/usb.html#method-resetDevice
- * @param {!chrome.usb.ConnectionHandle} handle A connection handle to reset.
- * @param {function(boolean)} callback Invoked once the device is reset with a
- * boolean indicating whether the reset completed successfully.
- * @return {undefined}
- */
- chrome.usb.resetDevice = function(handle, callback) {};
- /**
- * Event whose listeners take an chrome.usb.Device parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.usb.Device)>}
- */
- chrome.usb.DeviceEvent = function() {};
- /**
- * @type {!chrome.usb.DeviceEvent}
- * @see https://developer.chrome.com/apps/usb#event-onDeviceAdded
- */
- chrome.usb.onDeviceAdded;
- /**
- * @type {!chrome.usb.DeviceEvent}
- * @see https://developer.chrome.com/apps/usb#event-onDeviceRemoved
- */
- chrome.usb.onDeviceRemoved;
- /**
- * @see https://developer.chrome.com/apps/serial
- * @const
- */
- chrome.serial = {};
- /**
- * @typedef {?{
- * persistent: (boolean|undefined),
- * name: (string|undefined),
- * bufferSize: (number|undefined),
- * bitrate: (number|undefined),
- * dataBits: (string|undefined),
- * parityBit: (string|undefined),
- * stopBits: (string|undefined),
- * ctsFlowControl: (boolean|undefined),
- * receiveTimeout: (number|undefined),
- * sendTimeout: (number|undefined)
- * }}
- * @see https://developer.chrome.com/apps/serial#type-ConnectionOptions
- */
- chrome.serial.ConnectionOptions;
- /**
- * @typedef {?{
- * connectionId: number,
- * paused: boolean,
- * persistent: boolean,
- * name: string,
- * bufferSize: number,
- * receiveTimeout: number,
- * sendTimeout: number,
- * bitrate: (number|undefined),
- * dataBits: (string|undefined),
- * parityBit: (string|undefined),
- * stopBits: (string|undefined),
- * ctsFlowControl: (boolean|undefined)
- * }}
- * @see https://developer.chrome.com/apps/serial#type-ConnectionInfo
- */
- chrome.serial.ConnectionInfo;
- /**
- * Returns information about available serial devices on the system. The
- * list is regenerated each time this method is called.
- * @param {function(!Array<!Object>)} callback Invoked with a
- * list of ports on complete.
- * @see https://developer.chrome.com/apps/serial#method-getDevices
- * @return {undefined}
- */
- chrome.serial.getDevices = function(callback) {};
- /**
- * Connects to a given serial port.
- * @param {string} path The system path of the serial port to open.
- * @param {!chrome.serial.ConnectionOptions|
- * function(!chrome.serial.ConnectionInfo)} optionsOrCallback
- * Port configuration options, or the callback invoked with the created
- * ConnectionInfo on complete.
- * @param {function(!chrome.serial.ConnectionInfo)=} opt_callback Invoked with
- * the created ConnectionInfo on complete.
- * @see https://developer.chrome.com/apps/serial#method-connect
- * @return {undefined}
- */
- chrome.serial.connect = function(path, optionsOrCallback, opt_callback) {};
- /**
- * Update the option settings on an open serial port connection.
- * @param {number} connectionId The id of the opened connection.
- * @param {!chrome.serial.ConnectionOptions} options Port configuration
- * options.
- * @param {function(boolean)} callback Called when the configuration has
- * completed.
- * @see https://developer.chrome.com/apps/serial#method-update
- * @return {undefined}
- */
- chrome.serial.update = function(connectionId, options, callback) {};
- /**
- * Disconnects from a serial port.
- * @param {number} connectionId The id of the opened connection.
- * @param {function(boolean)} callback Called when the connection
- * has been closed.
- * @see https://developer.chrome.com/apps/serial#method-disconnect
- * @return {undefined}
- */
- chrome.serial.disconnect = function(connectionId, callback) {};
- /**
- * Pauses or unpauses an open connection.
- * @param {number} connectionId The id of the opened connection.
- * @param {boolean} paused Flag to indicate whether to pause or unpause.
- * @param {function()} callback Called when the configuration has completed.
- * @see https://developer.chrome.com/apps/serial#method-setPaused
- * @return {undefined}
- */
- chrome.serial.setPaused = function(connectionId, paused, callback) {};
- /**
- * Retrieves the state of a given connection.
- * @param {number} connectionId The id of the opened connection.
- * @param {function(!chrome.serial.ConnectionInfo)} callback
- * Called with connection state information when available.
- * @see https://developer.chrome.com/apps/serial#method-getInfo
- * @return {undefined}
- */
- chrome.serial.getInfo = function(connectionId, callback) {};
- /**
- * Retrieves the list of currently opened serial port connections owned by
- * the application.
- * @param {function(!Array<!chrome.serial.ConnectionInfo>)} callback
- * Called with the list of |ConnectionInfo|s when available.
- * @see https://developer.chrome.com/apps/serial#method-getConnections
- * @return {undefined}
- */
- chrome.serial.getConnections = function(callback) {};
- /**
- * Writes data to the given connection.
- * @param {number} connectionId The id of the opened connection.
- * @param {!ArrayBuffer} data The data to send.
- * @param {function(!Object)} callback Called when the operation has
- * completed.
- * @see https://developer.chrome.com/apps/serial#method-send
- * @return {undefined}
- */
- chrome.serial.send = function(connectionId, data, callback) {};
- /**
- * Flushes all bytes in the given connection's input and output buffers.
- * @param {number} connectionId The id of the opened connection.
- * @param {function(boolean)} callback
- * @see https://developer.chrome.com/apps/serial#method-flush
- * @return {undefined}
- */
- chrome.serial.flush = function(connectionId, callback) {};
- /**
- * Retrieves the state of control signals on a given connection.
- * @param {number} connectionId The id of the opened connection.
- * @param {function(!Object)} callback
- * @see https://developer.chrome.com/apps/serial#method-getControlSignals
- * @return {undefined}
- */
- chrome.serial.getControlSignals = function(connectionId, callback) {};
- /**
- * @typedef {?{
- * dtr: (boolean|undefined),
- * rts: (boolean|undefined)
- * }}
- */
- chrome.serial.ControlSignals;
- /**
- * Sets the state of control signals on a given connection.
- * @param {number} connectionId The id of the opened connection.
- * @param {!chrome.serial.ControlSignals} signals
- * The set of signal changes to send to the device.
- * @param {function(boolean)} callback Called once the control signals
- * have been set.
- * @see https://developer.chrome.com/apps/serial#method-setControlSignals
- * @return {undefined}
- */
- chrome.serial.setControlSignals = function(connectionId, signals, callback) {};
- /**
- * Event raised when data has been read from the connection.
- * @type {!ChromeObjectEvent}
- * @see https://developer.chrome.com/apps/serial#event-onReceive
- */
- chrome.serial.onReceive;
- /**
- * Event raised when an error occurred while the runtime was waiting for
- * data on the serial port. Once this event is raised, the connection may
- * be set to paused. A "timeout" error does not pause the connection.
- * @type {!ChromeObjectEvent}
- * @see https://developer.chrome.com/apps/serial#event-onReceiveError
- */
- chrome.serial.onReceiveError;
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////// Chrome Private APIs ////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /**
- * @const
- */
- chrome.musicManagerPrivate = {};
- /**
- * @param {function(string): void} callback
- * @return {undefined}
- */
- chrome.musicManagerPrivate.getDeviceId = function(callback) {};
- /**
- * @const
- */
- chrome.mediaGalleriesPrivate = {};
- /**
- * @typedef {function({deviceId: string, deviceName: string}): void}
- */
- chrome.mediaGalleriesPrivate.DeviceCallback;
- /**
- * @typedef {function({galleryId: string}): void}
- */
- chrome.mediaGalleriesPrivate.GalleryChangeCallback;
- /**
- * @typedef {function({galleryId: string, success: boolean}): void}
- */
- chrome.mediaGalleriesPrivate.AddGalleryWatchCallback;
- /**
- * @param {string} galleryId
- * @param {!chrome.mediaGalleriesPrivate.AddGalleryWatchCallback} callback
- * @return {undefined}
- */
- chrome.mediaGalleriesPrivate.addGalleryWatch = function(galleryId, callback) {};
- /**
- * @type {!chrome.mediaGalleriesPrivate.DeviceEvent}
- * @deprecated Use {chrome.system.storage.onAttach}.
- */
- chrome.mediaGalleriesPrivate.onDeviceAttached;
- /**
- * @type {!chrome.mediaGalleriesPrivate.DeviceEvent}
- * @deprecated Use {chrome.system.storage.onDetach}.
- */
- chrome.mediaGalleriesPrivate.onDeviceDetached;
- /**
- * @type {!chrome.mediaGalleriesPrivate.GalleryChangeEvent}
- */
- chrome.mediaGalleriesPrivate.onGalleryChanged;
- /**
- * @interface
- * @extends {ChromeBaseEvent<!chrome.mediaGalleriesPrivate.DeviceCallback>}
- * @deprecated Use {chrome.system.storage.DeviceEvent}.
- */
- chrome.mediaGalleriesPrivate.DeviceEvent = function() {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<!chrome.mediaGalleriesPrivate.GalleryChangeCallback>}
- */
- chrome.mediaGalleriesPrivate.GalleryChangeEvent = function() {};
- /**
- * safeBrowsingPrivate is a Private API for observing events and retrieving a
- * referrer chain.
- * @see https://cs.chromium.org/chromium/src/chrome/common/extensions/api/safe_browsing_private.idl
- */
- chrome.safeBrowsingPrivate = {};
- /**
- * @enum {string}
- */
- chrome.safeBrowsingPrivate.URLType = {
- EVENT_URL: '',
- LANDING_PAGE: '',
- LANDING_REFERRER: '',
- CLIENT_REDIRECT: '',
- RECENT_NAVIGATION: '',
- REFERRER: '',
- };
- /**
- * @enum {string}
- */
- chrome.safeBrowsingPrivate.NavigationInitiation = {
- BROWSER_INITIATED: '',
- RENDERER_INITIATED_WITHOUT_USER_GESTURE: '',
- RENDERER_INITIATED_WITH_USER_GESTURE: '',
- };
- /**
- * @typedef {{
- * url: string,
- * userName: string,
- * isPhishingUrl: boolean
- * }}
- */
- chrome.safeBrowsingPrivate.PolicySpecifiedPasswordReuse;
- /**
- * @typedef {{
- * url: string,
- * fileName: string,
- * downloadDigestSha256: string,
- * userName: string
- * }}
- */
- chrome.safeBrowsingPrivate.DangerousDownloadInfo;
- /**
- * @typedef {{
- * url: string,
- * reason: string,
- * netErrorCode: (string|undefined),
- * userName: string
- * }}
- */
- chrome.safeBrowsingPrivate.InterstitialInfo;
- /**
- * @typedef {{
- * url: (string|undefined)
- * }}
- */
- chrome.safeBrowsingPrivate.ServerRedirect;
- /**
- * @typedef {{
- * url: string,
- * mainFrameUrl: (string|undefined),
- * urlType: !chrome.safeBrowsingPrivate.URLType,
- * ipAddresses: (!Array<string>|undefined),
- * referrerUrl: (string|undefined),
- * referrerMainFrameUrl: (string|undefined),
- * isRetargeting: (boolean|undefined),
- * navigationTimeMs: (number|undefined),
- * serverRedirectChain:
- * (!Array<!chrome.safeBrowsingPrivate.ServerRedirect>|undefined),
- * navigationInitiation:
- * (!chrome.safeBrowsingPrivate.NavigationInitiation|undefined),
- * maybeLaunchedByExternalApp: (boolean|undefined)
- * }}
- */
- chrome.safeBrowsingPrivate.ReferrerChainEntry;
- /**
- * Gets referrer chain for the specified tab.
- * @param {number} tabId Id of the tab from which to retrieve the referrer.
- * @param {function(!Array<!chrome.safeBrowsingPrivate.ReferrerChainEntry>):void}
- * callback Called with the list of referrer chain entries.
- */
- chrome.safeBrowsingPrivate.getReferrerChain = function(tabId, callback) {};
- /**
- * Fired when Chrome detects a reuse of a policy specified password.
- * @type {!ChromeObjectEvent}
- */
- chrome.safeBrowsingPrivate.onPolicySpecifiedPasswordReuseDetected;
- /**
- * Fired when the user changed their policy specified password.
- * @type {!ChromeStringEvent}
- */
- chrome.safeBrowsingPrivate.onPolicySpecifiedPasswordChanged;
- /**
- * Fired when the user opened a dangerous download.
- * @type {!ChromeObjectEvent}
- */
- chrome.safeBrowsingPrivate.onDangerousDownloadOpened;
- /**
- * Fired when a security interstitial is shown to the user.
- * @type {!ChromeObjectEvent}
- */
- chrome.safeBrowsingPrivate.onSecurityInterstitialShown;
- /**
- * Fired when the user clicked-through a security interstitial.
- * @type {!ChromeObjectEvent}
- */
- chrome.safeBrowsingPrivate.onSecurityInterstitialProceeded;
- /**
- * WARNING(2014/08/14): This API is still under active initial development and
- * unstable. The types are not well defined or documented, and this API
- * definition here should not be used as an example for other APIs added to this
- * file. Please contact mednik@ for questions on and maintenance for this API.
- * @const
- * @see http://goo.gl/afV8wB
- */
- chrome.mdns = {};
- /**
- * Data type sent to the event handler of chrome.mdns.onServiceList.
- * @constructor
- */
- chrome.mdns.MdnsService = function() {};
- /** @type {string} */
- chrome.mdns.MdnsService.prototype.serviceName;
- /** @type {string} */
- chrome.mdns.MdnsService.prototype.serviceHostPort;
- /** @type {string} */
- chrome.mdns.MdnsService.prototype.ipAddress;
- /** @type {!Array<string>} */
- chrome.mdns.MdnsService.prototype.serviceData;
- /**
- * Event whose listeners take an array of MdnsService parameter.
- *
- * The `addListener()` methods for these take more than one argument, so they
- * cannot just extend `ChromeBaseEvent`.
- * @interface
- * @extends {ChromeBaseEventNoListeners}
- */
- chrome.mdns.ServiceListEvent = function() {};
- /**
- * @param {function(!Array<!chrome.mdns.MdnsService>): void} callback
- * @param {!Object=} opt_filter
- * @return {undefined}
- */
- chrome.mdns.ServiceListEvent.prototype.addListener = function(
- callback, opt_filter) {};
- /**
- * @param {function(!Array<!chrome.mdns.MdnsService>): void} callback
- * @return {undefined}
- */
- chrome.mdns.ServiceListEvent.prototype.removeListener = function(callback) {};
- /**
- * @param {function(!Array<!chrome.mdns.MdnsService>): void} callback
- * @return {boolean}
- */
- chrome.mdns.ServiceListEvent.prototype.hasListener = function(callback) {};
- /** @return {boolean} */
- chrome.mdns.ServiceListEvent.prototype.hasListeners = function() {};
- /** @type {!chrome.mdns.ServiceListEvent} */
- chrome.mdns.onServiceList;
- /**
- * @param {function()} callback
- * @return {undefined}
- */
- chrome.mdns.forceDiscovery = function(callback) {};
- /**
- * @const
- * @see http://goo.gl/79p5h5
- */
- chrome.gcdPrivate = {};
- /**
- * Represents a GCD device discovered locally or registered to a given user.
- * deviceId: Opaque device identifier to be passed to API.
- * setupType: How this device was discovered.
- * cloudId: Cloud identifier string.
- * deviceName: Device human readable name.
- * deviceType: Device type (camera, printer, etc).
- * deviceDescription: Device human readable description.
- * @typedef {?{
- * deviceId: string,
- * setupType: string,
- * cloudId: (string|undefined),
- * deviceType: string,
- * deviceName: string,
- * deviceDescription: string
- * }}
- */
- chrome.gcdPrivate.Device;
- /**
- * Returns the list of cloud devices visible locally or available in the
- * cloud for user account.
- * @param {function(!Array<!chrome.gcdPrivate.Device>): void} callback
- * @return {undefined}
- */
- chrome.gcdPrivate.getCloudDeviceList = function(callback) {};
- /**
- * Queries network for local devices. Triggers onDeviceStateChanged and
- * onDeviceRemoved events. Call this function *only* after registering for
- * onDeviceStateChanged and onDeviceRemoved events, or it will do nothing.
- * @return {undefined}
- */
- chrome.gcdPrivate.queryForNewLocalDevices = function() {};
- /**
- * Cache the WiFi password in the browser process for use during
- * provisioning. This is done to allow the gathering of the wifi password to
- * not be done while connected to the device's network. Callback is called
- * with true if wifi password was cached and false if it was unavailable.
- * @param {string} ssid
- * @param {function(boolean): void} callback
- * @return {undefined}
- */
- chrome.gcdPrivate.prefetchWifiPassword = function(ssid, callback) {};
- /**
- * Returns local device information.
- * @param {string} serviceName The mDNS service name of the device.
- * @param {function(string, !Object): void}
- * callback Called when when the device info is available or on error.
- * |status|: The status of the operation (success or type of error).
- * |deviceInfo|: Content of /privet/info response.
- * https://developers.google.com/cloud-devices/v1/reference/local-api/info
- * @return {undefined}
- */
- chrome.gcdPrivate.getDeviceInfo = function(serviceName, callback) {};
- /**
- * Create new pairing session.
- * @param {string} serviceName The mDNS service name of the device.
- * @param {function(number, string, !Array<string>): void}
- * callback Called when the session is established or on error. 1st param,
- * |sessionId|, is the session ID (identifies the session for future calls).
- * 2nd param, |status|, is the status (success or type of error). 3rd param,
- * |pairingTypes|, is a list of pairing types supported by this device.
- * @return {undefined}
- */
- chrome.gcdPrivate.createSession = function(serviceName, callback) {};
- /**
- * Start pairing with the selected method.
- * @param {number} sessionId
- * @param {string} pairingType
- * @param {function(string): void} callback
- * @return {undefined}
- */
- chrome.gcdPrivate.startPairing = function(sessionId, pairingType, callback) {};
- /**
- * Confirm pairing code.
- * @param {number} sessionId
- * @param {string} code
- * @param {function(string): void} callback
- * @return {undefined}
- */
- chrome.gcdPrivate.confirmCode = function(sessionId, code, callback) {};
- /**
- * Send an encrypted message to the device. If the message is a setup message
- * with a wifi ssid specified but no password, the password cached from
- * prefetchWifiPassword() will be used and the call will fail if it's not
- * available. For open networks use an empty string as the password.
- * @param {number} sessionId
- * @param {string} api The API path.
- * @param {!Object} input The input message to be sent over the encrypted
- * channel.
- * @param {function(string, ?Object): void} callback
- * @return {undefined}
- */
- chrome.gcdPrivate.sendMessage = function(sessionId, api, input, callback) {};
- /**
- * Terminate the session with the device.
- * @param {number} sessionId
- * @return {undefined}
- */
- chrome.gcdPrivate.terminateSession = function(sessionId) {};
- /**
- * Returns command definitions.
- * @param {string} deviceId The device to get command definitions for.
- * @param {function(!Object): void} callback The result callback.
- * @return {undefined}
- */
- chrome.gcdPrivate.getCommandDefinitions = function(deviceId, callback) {};
- /**
- * Creates and sends a new command.
- * @param {string} deviceId The device to send the command to.
- * @param {number} expireInMs The number of milliseconds since now before the
- * command expires. An expired command should not be executed by the device.
- * Acceptable values are 10 sec (10000 ms) to 30 days (2592000000 ms),
- * inclusive. All values outside that range will be replaced by 30 days.
- * @param {!Object} command Described at
- * https://developers.google.com/cloud-devices/v1/reference/commands.
- * @param {function(!Object): void} callback The result callback.
- * @return {undefined}
- */
- chrome.gcdPrivate.insertCommand = function(
- deviceId, expireInMs, command, callback) {};
- /**
- * Returns a particular command.
- * @param {string} commandId Unique command ID.
- * @param {function(!Object): void} callback The result callback.
- * @return {undefined}
- */
- chrome.gcdPrivate.getCommand = function(commandId, callback) {};
- /**
- * Cancels a command.
- * @param {string} commandId Unique command ID.
- * @param {function(!Object): void} callback The result callback.
- * @return {undefined}
- */
- chrome.gcdPrivate.cancelCommand = function(commandId, callback) {};
- /**
- * Lists all commands in order of creation.
- * @param {string} deviceId The device to send the command to.
- * @param {string} byUser List all the commands issued by the user. Special
- * value 'me' can be used to list by the current user.
- * @param {string} state Command state.
- * @param {function(!Array<!Object>): void} callback The result callback.
- * @return {undefined}
- */
- chrome.gcdPrivate.getCommandsList = function(
- deviceId, byUser, state, callback) {};
- /**
- * Event whose listeners take a chrome.gcdPrivate.Device.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.gcdPrivate.Device)>}
- */
- chrome.gcdPrivate.DeviceEvent = function() {};
- /**
- * Fires when a device's state changes. When a listener is first added, this
- * event fires for all known devices on the network. Afterwards, it will fire
- * with device status updates.
- * @type {!chrome.gcdPrivate.DeviceEvent}
- */
- chrome.gcdPrivate.onDeviceStateChanged;
- /**
- * Fires when a given device disappears.
- * |deviceId| The device that has disappeared.
- * @type {!ChromeStringEvent}
- */
- chrome.gcdPrivate.onDeviceRemoved;
- /**
- * @const
- * @see https://cs.chromium.org/chromium/src/extensions/common/api/bluetooth_private.idl
- */
- chrome.bluetoothPrivate = {};
- /** @constructor */
- chrome.bluetoothPrivate.PairingEvent = function() {};
- /** @type {string} */
- chrome.bluetoothPrivate.PairingEvent.prototype.pairing;
- /** @type {!chrome.bluetooth.Device} */
- chrome.bluetoothPrivate.PairingEvent.prototype.device;
- /** @type {string|undefined} */
- chrome.bluetoothPrivate.PairingEvent.prototype.pincode;
- /** @type {number|undefined} */
- chrome.bluetoothPrivate.PairingEvent.prototype.passkey;
- /** @type {number|undefined} */
- chrome.bluetoothPrivate.PairingEvent.prototype.enteredKey;
- /**
- * @typedef {{
- * name: (string|undefined),
- * powered: (boolean|undefined),
- * discoverable: (boolean|undefined)
- * }}
- */
- chrome.bluetoothPrivate.NewAdapterState;
- /**
- * @typedef {{
- * device: !chrome.bluetooth.Device,
- * response: (string|undefined),
- * pincode: (string|undefined),
- * passkey: (number|undefined),
- * enteredKey: (number|undefined)
- * }}
- */
- chrome.bluetoothPrivate.SetPairingResponseOptions;
- /**
- * @param {!chrome.bluetoothPrivate.NewAdapterState} adapterState
- * @param {function()} callback
- * @return {undefined}
- */
- chrome.bluetoothPrivate.setAdapterState = function(adapterState, callback) {};
- /**
- * @param {!chrome.bluetoothPrivate.SetPairingResponseOptions} options
- * @param {function()} callback
- * @return {undefined}
- */
- chrome.bluetoothPrivate.setPairingResponse = function(options, callback) {};
- /**
- * @param {string} deviceAddress
- * @param {function():void=} callback
- */
- chrome.bluetoothPrivate.disconnectAll = function(deviceAddress, callback) {};
- /**
- * @param {string} deviceAddress
- * @param {function():void=} callback
- * @return {undefined}
- */
- chrome.bluetoothPrivate.forgetDevice = function(deviceAddress, callback) {};
- /**
- * @typedef {{
- * transport: (!chrome.bluetoothPrivate.TransportType|undefined),
- * uuids: ((string|!Array<string>)|undefined),
- * rssi: (number|undefined),
- * pathloss: (number|undefined)
- * }}
- */
- chrome.bluetoothPrivate.DiscoveryFilter;
- /**
- * Set or clear discovery filter.
- * @param {!chrome.bluetoothPrivate.DiscoveryFilter} discoveryFilter
- * @param {function():void=} callback
- */
- chrome.bluetoothPrivate.setDiscoveryFilter = function(
- discoveryFilter, callback) {};
- /**
- * Event whose listeners take a PairingEvent parameter.
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.bluetoothPrivate.PairingEvent)>}
- */
- chrome.bluetoothPrivate.PairingEventEvent = function() {};
- /** @type {!chrome.bluetoothPrivate.PairingEventEvent} */
- chrome.bluetoothPrivate.onPairing;
- /**
- * @param {string} deviceAddress
- * @param {function(): void=} callback
- */
- chrome.bluetoothPrivate.pair = function(deviceAddress, callback) {};
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/bluetoothPrivate#type-PairingResponse
- */
- chrome.bluetoothPrivate.PairingResponse = {
- CONFIRM: '',
- REJECT: '',
- CANCEL: '',
- };
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/bluetoothPrivate#type-PairingEventType
- */
- chrome.bluetoothPrivate.PairingEventType = {
- REQUEST_PINCODE: '',
- DISPLAY_PINCODE: '',
- REQUEST_PASSKEY: '',
- DISPLAY_PASSKEY: '',
- KEYS_ENTERED: '',
- CONFIRM_PASSKEY: '',
- REQUEST_AUTHORIZATION: '',
- COMPLETE: '',
- };
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/bluetoothPrivate#type-ConnectResultType
- */
- chrome.bluetoothPrivate.ConnectResultType = {
- ALREADY_CONNECTED: '',
- ATTRIBUTE_LENGTH_INVALID: '',
- AUTH_CANCELED: '',
- AUTH_FAILED: '',
- AUTH_REJECTED: '',
- AUTH_TIMEOUT: '',
- CONNECTION_CONGESTED: '',
- FAILED: '',
- IN_PROGRESS: '',
- INSUFFICIENT_ENCRYPTION: '',
- OFFSET_INVALID: '',
- READ_NOT_PERMITTED: '',
- REQUEST_NOT_SUPPORTED: '',
- SUCCESS: '',
- UNKNOWN_ERROR: '',
- UNSUPPORTED_DEVICE: '',
- WRITE_NOT_PERMITTED: '',
- };
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/bluetoothPrivate#type-TransportType
- */
- chrome.bluetoothPrivate.TransportType = {
- LE: '',
- BREDR: '',
- DUAL: '',
- };
- /**
- * Connects to the given device. This will only throw an error if the device
- * address is invalid or the device is already connected. Otherwise this will
- * succeed and invoke |callback| with ConnectResultType.
- * @param {string} deviceAddress
- * @param {function(!chrome.bluetoothPrivate.ConnectResultType):void=} callback
- */
- chrome.bluetoothPrivate.connect = function(deviceAddress, callback) {};
- /**
- * @const
- * @see http://goo.gl/XmVdHm
- */
- chrome.inlineInstallPrivate = {};
- /**
- * Installs the given app ID.
- * @param {string} id
- * @param {function(string, string): void=} opt_callback Response callback that
- * returns two string: (1) an error string (or empty string on success) and
- * (2) an error code in case of error
- * @return {undefined}
- */
- chrome.inlineInstallPrivate.install = function(id, opt_callback) {};
- /**
- * @const
- * @see https://goo.gl/7dvJFW
- */
- chrome.wallpaper = {};
- /**
- * @enum {string}
- * @see https://goo.gl/7dvJFW#type-WallpaperLayout
- */
- chrome.wallpaper.WallpaperLayout = {
- STRETCH: '',
- CENTER: '',
- CENTER_CROPPED: '',
- };
- /**
- * Sets wallpaper to the image at url or wallpaperData with the specified
- * layout.
- * @param {{
- * data: (ArrayBuffer|undefined),
- * url: (string|undefined),
- * layout: (chrome.wallpaper.WallpaperLayout|string),
- * filename: string,
- * thumbnail: (boolean|undefined)
- * }} details
- * @param {function(ArrayBuffer=)} callback
- * @return {undefined}
- * @see https://goo.gl/7dvJFW#method-setWallpaper
- */
- chrome.wallpaper.setWallpaper = function(details, callback) {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/downloads
- */
- chrome.downloads = {};
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/downloads#type-FilenameConflictAction
- */
- chrome.downloads.FilenameConflictAction = {
- UNIQUIFY: '',
- OVERWRITE: '',
- PROMPT: ''
- };
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/downloads#type-InterruptReason
- */
- chrome.downloads.InterruptReason = {
- FILE_FAILED: '',
- FILE_ACCESS_DENIED: '',
- FILE_NO_SPACE: '',
- FILE_NAME_TOO_LONG: '',
- FILE_TOO_LARGE: '',
- FILE_VIRUS_INFECTED: '',
- FILE_TRANSIENT_ERROR: '',
- FILE_BLOCKED: '',
- FILE_SECURITY_CHECK_FAILED: '',
- FILE_TOO_SHORT: '',
- FILE_HASH_MISMATCH: '',
- NETWORK_FAILED: '',
- NETWORK_TIMEOUT: '',
- NETWORK_DISCONNECTED: '',
- NETWORK_SERVER_DOWN: '',
- NETWORK_INVALID_REQUEST: '',
- SERVER_FAILED: '',
- SERVER_NO_RANGE: '',
- SERVER_BAD_CONTENT: '',
- SERVER_UNAUTHORIZED: '',
- SERVER_CERT_PROBLEM: '',
- SERVER_FORBIDDEN: '',
- SERVER_UNREACHABLE: '',
- USER_CANCELED: '',
- USER_SHUTDOWN: '',
- CRASH: '',
- };
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/downloads#type-DangerType
- */
- chrome.downloads.DangerType = {
- FILE: '',
- URL: '',
- CONTENT: '',
- UNCOMMON: '',
- HOST: '',
- UNWANTED: '',
- SAFE: '',
- ACCEPTED: ''
- };
- /**
- * @enum {string}
- * @see https://developer.chrome.com/extensions/downloads#type-State
- */
- chrome.downloads.State = {
- IN_PROGRESS: '',
- INTERRUPTED: '',
- COMPLETE: '',
- };
- /**
- * @constructor
- * @see https://developer.chrome.com/extensions/downloads#type-DownloadItem
- */
- chrome.downloads.DownloadItem = function() {};
- /** @type {number} */
- chrome.downloads.DownloadItem.prototype.id;
- /** @type {string} */
- chrome.downloads.DownloadItem.prototype.url;
- /** @type {string} */
- chrome.downloads.DownloadItem.prototype.finalUrl;
- /** @type {string} */
- chrome.downloads.DownloadItem.prototype.referrer;
- /** @type {string} */
- chrome.downloads.DownloadItem.prototype.filename;
- /** @type {boolean} */
- chrome.downloads.DownloadItem.prototype.incognito;
- /** @type {!chrome.downloads.DangerType|string} */
- chrome.downloads.DownloadItem.prototype.danger;
- /** @type {string} */
- chrome.downloads.DownloadItem.prototype.mime;
- /** @type {string} */
- chrome.downloads.DownloadItem.prototype.startTime;
- /** @type {?string} */
- chrome.downloads.DownloadItem.prototype.endTime;
- /** @type {?string} */
- chrome.downloads.DownloadItem.prototype.estimatedEndTime;
- /** @type {!chrome.downloads.State|string} */
- chrome.downloads.DownloadItem.prototype.state;
- /** @type {boolean} */
- chrome.downloads.DownloadItem.prototype.paused;
- /** @type {boolean} */
- chrome.downloads.DownloadItem.prototype.canResume;
- /** @type {!chrome.downloads.InterruptReason|string|undefined} */
- chrome.downloads.DownloadItem.prototype.error;
- /** @type {number} */
- chrome.downloads.DownloadItem.prototype.bytesReceived;
- /** @type {number} */
- chrome.downloads.DownloadItem.prototype.totalBytes;
- /** @type {number} */
- chrome.downloads.DownloadItem.prototype.fileSize;
- /** @type {boolean} */
- chrome.downloads.DownloadItem.prototype.exists;
- /** @type {?string} */
- chrome.downloads.DownloadItem.prototype.byExtensionId;
- /** @type {?string} */
- chrome.downloads.DownloadItem.prototype.byExtensionName;
- /**
- * @constructor
- * @see https://developer.chrome.com/extensions/downloads#type-StringDelta
- */
- chrome.downloads.StringDelta = function() {};
- /** @type {?string} */
- chrome.downloads.StringDelta.prototype.previous;
- /** @type {?string} */
- chrome.downloads.StringDelta.prototype.current;
- /**
- * @constructor
- * @see https://developer.chrome.com/extensions/downloads#type-DoubleDelta
- */
- chrome.downloads.DoubleDelta = function() {};
- /** @type {?number} */
- chrome.downloads.DoubleDelta.prototype.previous;
- /** @type {?number} */
- chrome.downloads.DoubleDelta.prototype.current;
- /**
- * @constructor
- * @see https://developer.chrome.com/extensions/downloads#type-BooleanDelta
- */
- chrome.downloads.BooleanDelta = function() {};
- /** @type {?boolean} */
- chrome.downloads.BooleanDelta.prototype.previous;
- /** @type {?boolean} */
- chrome.downloads.BooleanDelta.prototype.current;
- /**
- * @param {{
- * url: string,
- * filename: (string|undefined),
- * conflictAction:
- * (!chrome.downloads.FilenameConflictAction|string|undefined),
- * saveAs: (boolean|undefined),
- * method: (string|undefined),
- * headers: (!Array<{name:string, value:string}>|undefined),
- * body: (string|undefined)
- * }} details
- * @param {function(number)=} opt_callback
- * @see https://developer.chrome.com/extensions/downloads#method-download
- */
- chrome.downloads.download = function(details, opt_callback) {};
- /**
- * @typedef {?{
- * query: (!Array<string>|undefined),
- * startedBefore: (string|undefined),
- * startedAfter: (string|undefined),
- * endedBefore: (string|undefined),
- * endedAfter: (string|undefined),
- * totalBytesGreater: (number|undefined),
- * totalBytesLess: (number|undefined),
- * filenameRegex: (string|undefined),
- * urlRegex: (string|undefined),
- * finalUrlRegex: (string|undefined),
- * limit: (number|undefined),
- * orderedBy: (!Array<string>|undefined),
- * id: (number|undefined),
- * url: (string|undefined),
- * finalUrl: (string|undefined),
- * filename: (string|undefined),
- * danger: (!chrome.downloads.DangerType|string|undefined),
- * mime: (string|undefined),
- * startTime: (string|undefined),
- * endTime: (string|undefined),
- * state: (!chrome.downloads.State|string|undefined),
- * paused: (boolean|undefined),
- * error: (!chrome.downloads.InterruptReason|string|undefined),
- * bytesReceived: (number|undefined),
- * totalBytes: (number|undefined),
- * fileSize: (number|undefined),
- * exists: (boolean|undefined)
- * }}
- */
- chrome.downloads.Query;
- /**
- * @param {!chrome.downloads.Query} query
- * @param {function(!Array<!chrome.downloads.DownloadItem>)} callback
- * @see https://developer.chrome.com/extensions/downloads#method-search
- */
- chrome.downloads.search = function(query, callback) {};
- /**
- * @param {number} id
- * @param {function()=} opt_callback
- *
- * @see https://developer.chrome.com/extensions/downloads#method-pause
- */
- chrome.downloads.pause = function(id, opt_callback) {};
- /**
- * @param {number} id
- * @param {function()=} opt_callback
- *
- * @see https://developer.chrome.com/extensions/downloads#method-resume
- */
- chrome.downloads.resume = function(id, opt_callback) {};
- /**
- * @param {number} id
- * @param {function()=} opt_callback
- *
- * @see https://developer.chrome.com/extensions/downloads#method-cancel
- */
- chrome.downloads.cancel = function(id, opt_callback) {};
- /**
- * @param {number} id
- * @param {{size:(number|undefined)}|function(string)} optionsOrCallback
- * @param {function(string)=} opt_callback
- *
- * @see https://developer.chrome.com/extensions/downloads#method-getFileIcon
- */
- chrome.downloads.getFileIcon = function(id, optionsOrCallback, opt_callback) {};
- /**
- * @param {number} id
- * @see https://developer.chrome.com/extensions/downloads#method-open
- */
- chrome.downloads.open = function(id) {};
- /**
- * @param {number} id
- * @see https://developer.chrome.com/extensions/downloads#method-show
- */
- chrome.downloads.show = function(id) {};
- /**
- * @see https://developer.chrome.com/extensions/downloads#method-showDefaultFolder
- */
- chrome.downloads.showDefaultFolder = function() {};
- /**
- * @param {!chrome.downloads.Query} query
- * @param {function(!Array<number>)} callback
- * @see https://developer.chrome.com/extensions/downloads#method-erase
- */
- chrome.downloads.erase = function(query, callback) {};
- /**
- * @param {number} id
- * @param {function()=} opt_callback
- *
- * @see https://developer.chrome.com/extensions/downloads#method-removeFile
- */
- chrome.downloads.removeFile = function(id, opt_callback) {};
- /**
- * @param {number} id
- * @param {function()=} opt_callback
- *
- * @see https://developer.chrome.com/extensions/downloads#method-acceptDanger
- */
- chrome.downloads.acceptDanger = function(id, opt_callback) {};
- /**
- * @param {number} id
- *
- * @see https://developer.chrome.com/extensions/downloads#method-drag
- */
- chrome.downloads.drag = function(id) {};
- /**
- * @param {boolean} enabled
- *
- * @see https://developer.chrome.com/extensions/downloads#method-setShelfEnabled
- */
- chrome.downloads.setShelfEnabled = function(enabled) {};
- /**
- * @interface
- * @extends {ChromeBaseEvent<function(!chrome.downloads.DownloadItem)>}
- * @see https://developer.chrome.com/extensions/downloads#event-onCreated
- */
- chrome.downloads.CreatedEvent = function() {};
- /**
- * @type {!chrome.downloads.CreatedEvent}
- * https://developer.chrome.com/extensions/downloads#event-onCreated
- */
- chrome.downloads.onCreated;
- /**
- * @type {!ChromeNumberEvent}
- * https://developer.chrome.com/extensions/downloads#event-onErased
- */
- chrome.downloads.onErased;
- /**
- * @type {!ChromeObjectEvent}
- * https://developer.chrome.com/extensions/downloads#event-onChanged
- */
- chrome.downloads.onChanged;
- /**
- * @typedef {?{
- * filename: string,
- * conflictAction: (!chrome.downloads.FilenameConflictAction|undefined)
- * }}
- * @see https://developer.chrome.com/extensions/downloads#event-onDeterminingFilename
- */
- chrome.downloads.FilenameSuggestion;
- /**
- * @interface
- * @extends {ChromeBaseEvent<
- * function(
- * !chrome.downloads.DownloadItem,
- * function(!chrome.downloads.FilenameSuggestion=))>}
- * @see https://developer.chrome.com/extensions/downloads#event-onDeterminingFilename
- */
- chrome.downloads.DeterminingFilenameEvent = function() {};
- /**
- * @type {!chrome.downloads.DeterminingFilenameEvent}
- * https://developer.chrome.com/extensions/downloads#event-onDeterminingFilename
- */
- chrome.downloads.onDeterminingFilename;
- /**
- * @const
- * @see https://developer.chrome.com/extensions/declarativeContent
- */
- chrome.declarativeContent = {};
- /**
- * @typedef {!{
- * pageUrl: (!UrlFilter|undefined),
- * css: (!Array<string>|undefined),
- * isBookmarked: (boolean|undefined)
- * }}
- * @see https://developer.chrome.com/extensions/declarativeContent#type-PageStateMatcher
- */
- chrome.declarativeContent.PageStateMatcherLiteral;
- /**
- * @constructor
- * @param {!chrome.declarativeContent.PageStateMatcherLiteral=} literalValue
- * @see https://developer.chrome.com/extensions/declarativeContent#type-PageStateMatcher
- */
- chrome.declarativeContent.PageStateMatcher = function(literalValue) {};
- /**
- * @constructor
- * @see https://developer.chrome.com/extensions/declarativeContent#type-ShowPageAction
- */
- chrome.declarativeContent.ShowPageAction = function() {};
- /**
- * @typedef {!{
- * imageData: (!ImageData|!Object<number, !ImageData>|undefined)
- * }}
- * @see https://developer.chrome.com/extensions/declarativeContent#type-SetIcon
- */
- chrome.declarativeContent.SetIconLiteral;
- /**
- * @constructor
- * @param {!chrome.declarativeContent.SetIconLiteral} literalValue
- * @see https://developer.chrome.com/extensions/declarativeContent#type-SetIcon
- */
- chrome.declarativeContent.SetIcon = function(literalValue) {};
- /**
- * @typedef {!{
- * css: (!Array<string>|undefined),
- * js: (!Array<string>|undefined),
- * allFrames: (boolean|undefined),
- * matchAboutBlank: (boolean|undefined)
- * }}
- * @see https://developer.chrome.com/extensions/declarativeContent#type-RequestContentScript
- */
- chrome.declarativeContent.RequestContentScriptLiteral;
- /**
- * @constructor
- * @param {!chrome.declarativeContent.RequestContentScriptLiteral=} literalValue
- * @see https://developer.chrome.com/extensions/declarativeContent#type-RequestContentScript
- */
- chrome.declarativeContent.RequestContentScript = function(literalValue) {};
- /**
- * @type {!ChromeVoidEvent}
- * @see https://developer.chrome.com/extensions/declarativeContent#event-onPageChanged
- */
- chrome.declarativeContent.onPageChanged;
- /**
- * @see https://developer.chrome.com/extensions/instanceID
- * @const
- */
- chrome.instanceID = {};
- /**
- * @param {function(string)} callback
- * @see https://developer.chrome.com/extensions/instanceID#method-getID
- */
- chrome.instanceID.getID = function(callback) {};
- /**
- * @param {function(number)} callback
- * @see https://developer.chrome.com/extensions/instanceID#method-getCreationTime
- */
- chrome.instanceID.getCreationTime = function(callback) {};
- /**
- * @typedef {{
- * authorizedEntity: string,
- * scope: string,
- * options: (!Object|undefined)
- * }}
- */
- chrome.instanceID.GetTokenParams;
- /**
- * @param {!chrome.instanceID.GetTokenParams} getTokenParams
- * @param {function(string)} callback
- * @see https://developer.chrome.com/extensions/instanceID#method-getToken
- */
- chrome.instanceID.getToken = function(getTokenParams, callback) {};
- /**
- * @typedef {{
- * authorizedEntity: string,
- * scope: string,
- * }}
- */
- chrome.instanceID.DeleteTokenParams;
- /**
- * @param {!chrome.instanceID.DeleteTokenParams} deleteTokenParams
- * @param {function()} callback
- * @see https://developer.chrome.com/extensions/instanceID#method-deleteToken
- */
- chrome.instanceID.deleteToken = function(deleteTokenParams, callback) {};
- /**
- * @param {function()} callback
- * @see https://developer.chrome.com/extensions/instanceID#method-deleteID
- */
- chrome.instanceID.deleteID = function(callback) {};
- /**
- * @const
- * @see https://developer.chrome.com/extensions/instanceID#event-onTokenRefresh
- */
- chrome.instanceID.onTokenRefresh = {};
- /**
- * @param {function()} callback
- * @see https://developer.chrome.com/extensions/instanceID#event-onTokenRefresh
- */
- chrome.instanceID.onTokenRefresh.addListener = function(callback) {};
|