[{"data":1,"prerenderedAt":2945},["ShallowReactive",2],{"navigation_docs":3,"-messaging-api":133,"-messaging-api-surround":2942},[4,22,51,62,73,84,99,118],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Get Started","/get-started","0.get-started",[9,13,17],{"title":10,"path":11,"stem":12},"Introduction","/get-started/introduction","0.get-started/0.introduction",{"title":14,"path":15,"stem":16},"Browser Support","/get-started/browser-support","0.get-started/1.browser-support",{"title":18,"path":19,"stem":20},"Contributing","/get-started/contributing","0.get-started/2.contributing",false,{"title":23,"path":24,"stem":25,"children":26,"page":21},"Fake Browser","/fake-browser","fake-browser",[27,31,35,39,43,47],{"title":28,"path":29,"stem":30},"Installation","/fake-browser/installation","fake-browser/0.installation",{"title":32,"path":33,"stem":34},"Testing Frameworks","/fake-browser/testing-frameworks","fake-browser/1.testing-frameworks",{"title":36,"path":37,"stem":38},"Triggering Events","/fake-browser/triggering-events","fake-browser/2.triggering-events",{"title":40,"path":41,"stem":42},"Resetting State","/fake-browser/reseting-state","fake-browser/3.reseting-state",{"title":44,"path":45,"stem":46},"Implemented Apis","/fake-browser/implemented-apis","fake-browser/4.implemented-apis",{"title":48,"path":49,"stem":50},"Api","/fake-browser/api","fake-browser/api",{"title":52,"path":53,"stem":54,"children":55,"page":21},"Isolated Element","/isolated-element","isolated-element",[56,59],{"title":28,"path":57,"stem":58},"/isolated-element/installation","isolated-element/0.installation",{"title":48,"path":60,"stem":61},"/isolated-element/api","isolated-element/api",{"title":63,"path":64,"stem":65,"children":66,"page":21},"Job Scheduler","/job-scheduler","job-scheduler",[67,70],{"title":28,"path":68,"stem":69},"/job-scheduler/installation","job-scheduler/0.installation",{"title":48,"path":71,"stem":72},"/job-scheduler/api","job-scheduler/api",{"title":74,"path":75,"stem":76,"children":77,"page":21},"Match Patterns","/match-patterns","match-patterns",[78,81],{"title":28,"path":79,"stem":80},"/match-patterns/installation","match-patterns/0.installation",{"title":48,"path":82,"stem":83},"/match-patterns/api","match-patterns/api",{"title":85,"path":86,"stem":87,"children":88,"page":21},"Messaging","/messaging","messaging",[89,92,96],{"title":28,"path":90,"stem":91},"/messaging/installation","messaging/0.installation",{"title":93,"path":94,"stem":95},"Protocol Maps","/messaging/protocol-maps","messaging/1.protocol-maps",{"title":48,"path":97,"stem":98},"/messaging/api","messaging/api",{"title":100,"path":101,"stem":102,"children":103,"page":21},"Proxy Service","/proxy-service","proxy-service",[104,107,111,115],{"title":28,"path":105,"stem":106},"/proxy-service/installation","proxy-service/0.installation",{"title":108,"path":109,"stem":110},"Defining Services","/proxy-service/defining-services","proxy-service/1.defining-services",{"title":112,"path":113,"stem":114},"Service Keys","/proxy-service/service-keys","proxy-service/2.service-keys",{"title":48,"path":116,"stem":117},"/proxy-service/api","proxy-service/api",{"title":119,"path":120,"stem":121,"children":122,"page":21},"Storage","/storage","storage",[123,126,130],{"title":28,"path":124,"stem":125},"/storage/installation","storage/0.installation",{"title":127,"path":128,"stem":129},"Typescript","/storage/typescript","storage/1.typescript",{"title":48,"path":131,"stem":132},"/storage/api","storage/api",{"id":134,"title":48,"body":135,"description":170,"extension":2937,"links":2938,"meta":2939,"navigation":623,"path":97,"seo":2940,"stem":98,"__hash__":2941},"docs/messaging/api.md",{"type":136,"value":137,"toc":2891},"minimark",[138,141,146,158,164,225,229,234,280,283,289,320,331,334,348,354,375,381,386,449,455,460,550,560,568,574,578,764,770,848,863,866,872,950,961,967,970,1109,1115,1150,1157,1160,1182,1188,1205,1209,1214,1264,1268,1274,1309,1312,1323,1326,1332,1770,1773,1776,1800,1806,1953,1960,1965,2059,2064,2070,2172,2175,2181,2214,2217,2222,2330,2333,2336,2385,2391,2424,2427,2441,2446,2454,2506,2509,2515,2518,2544,2547,2605,2611,2633,2636,2643,2649,2688,2691,2694,2720,2726,2743,2747,2752,2801,2807,2843,2855,2864,2867,2873,2875,2887],[139,140],"hr",{},[142,143,145],"h2",{"id":144},"description","description: \"\"",[147,148,149,150],"alert",{},"See ",[151,152,154],"a",{"href":153},"/messaging/installation/",[155,156,157],"code",{},"@webext-core/messaging",[142,159,161],{"id":160},"basemessagingconfig",[155,162,163],{},"BaseMessagingConfig",[165,166,171],"pre",{"className":167,"code":168,"language":169,"meta":170,"style":170},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","interface BaseMessagingConfig {\n  logger?: Logger;\n  throwOnUnknownMessageFormat?: boolean;\n}\n","ts","",[155,172,173,190,206,219],{"__ignoreMap":170},[174,175,178,182,186],"span",{"class":176,"line":177},"line",1,[174,179,181],{"class":180},"spNyl","interface",[174,183,185],{"class":184},"sBMFI"," BaseMessagingConfig",[174,187,189],{"class":188},"sMK4o"," {\n",[174,191,193,197,200,203],{"class":176,"line":192},2,[174,194,196],{"class":195},"swJcz","  logger",[174,198,199],{"class":188},"?:",[174,201,202],{"class":184}," Logger",[174,204,205],{"class":188},";\n",[174,207,209,212,214,217],{"class":176,"line":208},3,[174,210,211],{"class":195},"  throwOnUnknownMessageFormat",[174,213,199],{"class":188},[174,215,216],{"class":184}," boolean",[174,218,205],{"class":188},[174,220,222],{"class":176,"line":221},4,[174,223,224],{"class":188},"}\n",[226,227,228],"p",{},"Shared configuration between all the different messengers.",[230,231,233],"h3",{"id":232},"properties","Properties",[235,236,237,262],"ul",{},[238,239,240,249,250,253,254,257,258,261],"li",{},[241,242,243],"em",{},[244,245,246],"strong",{},[155,247,248],{},"logger?: Logger"," (default: ",[155,251,252],{},"console",")",[255,256],"br",{},"The logger to use when logging messages. Set to ",[155,259,260],{},"null"," to disable logging.",[238,263,264,249,271,253,274,276,277,279],{},[241,265,266],{},[244,267,268],{},[155,269,270],{},"throwOnUnknownMessageFormat?: boolean",[155,272,273],{},"false",[255,275],{},"When a message is received that doesn't follow ",[155,278,157],{},"'s format, it is ignored.",[226,281,282],{},"Set this value to true to throw an error instead of ignoring it.",[142,284,286],{"id":285},"customeventmessage",[155,287,288],{},"CustomEventMessage",[165,290,292],{"className":167,"code":291,"language":169,"meta":170,"style":170},"interface CustomEventMessage {\n  event: CustomEvent;\n}\n",[155,293,294,303,316],{"__ignoreMap":170},[174,295,296,298,301],{"class":176,"line":177},[174,297,181],{"class":180},[174,299,300],{"class":184}," CustomEventMessage",[174,302,189],{"class":188},[174,304,305,308,311,314],{"class":176,"line":192},[174,306,307],{"class":195},"  event",[174,309,310],{"class":188},":",[174,312,313],{"class":184}," CustomEvent",[174,315,205],{"class":188},[174,317,318],{"class":176,"line":208},[174,319,224],{"class":188},[226,321,322,323,326,327,330],{},"Additional fields available on the ",[155,324,325],{},"Message"," from a ",[155,328,329],{},"CustomEventMessenger",".",[230,332,233],{"id":333},"properties-1",[235,335,336],{},[238,337,338,345,347],{},[241,339,340],{},[244,341,342],{},[155,343,344],{},"event: CustomEvent",[255,346],{},"The event that was fired, resulting in the message being passed.",[142,349,351],{"id":350},"customeventmessagingconfig",[155,352,353],{},"CustomEventMessagingConfig",[165,355,357],{"className":167,"code":356,"language":169,"meta":170,"style":170},"interface CustomEventMessagingConfig extends NamespaceMessagingConfig {}\n",[155,358,359],{"__ignoreMap":170},[174,360,361,363,366,369,372],{"class":176,"line":177},[174,362,181],{"class":180},[174,364,365],{"class":184}," CustomEventMessagingConfig",[174,367,368],{"class":180}," extends",[174,370,371],{"class":184}," NamespaceMessagingConfig",[174,373,374],{"class":188}," {}\n",[226,376,377,378,330],{},"Configuration passed into ",[155,379,380],{},"defineCustomEventMessaging",[142,382,384],{"id":383},"customeventmessenger",[155,385,329],{},[165,387,389],{"className":167,"code":388,"language":169,"meta":170,"style":170},"type CustomEventMessenger\u003CTProtocolMap extends Record\u003Cstring, any>> =\n  GenericMessenger\u003CTProtocolMap, CustomEventMessage, []>;\n",[155,390,391,427],{"__ignoreMap":170},[174,392,393,396,399,402,405,407,410,412,415,418,421,424],{"class":176,"line":177},[174,394,395],{"class":180},"type",[174,397,398],{"class":184}," CustomEventMessenger",[174,400,401],{"class":188},"\u003C",[174,403,404],{"class":184},"TProtocolMap",[174,406,368],{"class":180},[174,408,409],{"class":184}," Record",[174,411,401],{"class":188},[174,413,414],{"class":184},"string",[174,416,417],{"class":188},",",[174,419,420],{"class":184}," any",[174,422,423],{"class":188},">>",[174,425,426],{"class":188}," =\n",[174,428,429,432,434,436,438,440,442,446],{"class":176,"line":192},[174,430,431],{"class":184},"  GenericMessenger",[174,433,401],{"class":188},[174,435,404],{"class":184},[174,437,417],{"class":188},[174,439,300],{"class":184},[174,441,417],{"class":188},[174,443,445],{"class":444},"sTEyZ"," []",[174,447,448],{"class":188},">;\n",[226,450,451,452,330],{},"Messenger returned by ",[155,453,454],{},"defineCustomEventMessenger",[142,456,458],{"id":457},"definecustomeventmessaging",[155,459,380],{},[165,461,463],{"className":167,"code":462,"language":169,"meta":170,"style":170},"function defineCustomEventMessaging\u003C\n  TProtocolMap extends Record\u003Cstring, any> = Record\u003Cstring, any>,\n>(config: CustomEventMessagingConfig): CustomEventMessenger\u003CTProtocolMap> {\n  // ...\n}\n",[155,464,465,477,513,539,545],{"__ignoreMap":170},[174,466,467,470,474],{"class":176,"line":177},[174,468,469],{"class":180},"function",[174,471,473],{"class":472},"s2Zo4"," defineCustomEventMessaging",[174,475,476],{"class":188},"\u003C\n",[174,478,479,482,484,486,488,490,492,494,497,500,502,504,506,508,510],{"class":176,"line":192},[174,480,481],{"class":184},"  TProtocolMap",[174,483,368],{"class":180},[174,485,409],{"class":184},[174,487,401],{"class":188},[174,489,414],{"class":184},[174,491,417],{"class":188},[174,493,420],{"class":184},[174,495,496],{"class":188},">",[174,498,499],{"class":188}," =",[174,501,409],{"class":184},[174,503,401],{"class":188},[174,505,414],{"class":184},[174,507,417],{"class":188},[174,509,420],{"class":184},[174,511,512],{"class":188},">,\n",[174,514,515,518,522,524,526,529,531,533,535,537],{"class":176,"line":208},[174,516,517],{"class":188},">(",[174,519,521],{"class":520},"sHdIc","config",[174,523,310],{"class":188},[174,525,365],{"class":184},[174,527,528],{"class":188},"):",[174,530,398],{"class":184},[174,532,401],{"class":188},[174,534,404],{"class":184},[174,536,496],{"class":188},[174,538,189],{"class":188},[174,540,541],{"class":176,"line":221},[174,542,544],{"class":543},"sHwdD","  // ...\n",[174,546,548],{"class":176,"line":547},5,[174,549,224],{"class":188},[226,551,552,553,555,556,559],{},"Creates a ",[155,554,329],{},". This messenger is backed by the ",[155,557,558],{},"CustomEvent"," APIs. It can be\nused to communicate between:",[235,561,562,565],{},[238,563,564],{},"Content script and website",[238,566,567],{},"Content script and injected script",[226,569,570,573],{},[155,571,572],{},"sendMessage"," does not accept any additional arguments..",[230,575,577],{"id":576},"examples","Examples",[165,579,581],{"className":167,"code":580,"language":169,"meta":170,"style":170},"interface WebsiteMessengerSchema {\n  initInjectedScript(data: ...): void;\n}\n\nexport const websiteMessenger = defineCustomEventMessenger\u003CinitInjectedScript>();\n\n// Content script\nwebsiteMessenger.sendMessage(\"initInjectedScript\", ...);\n\n// Injected script\nwebsiteMessenger.onMessage(\"initInjectedScript\", (...) => {\n  // ...\n})\n\n*\n",[155,582,583,592,615,619,625,655,660,666,694,699,705,739,744,753,758],{"__ignoreMap":170},[174,584,585,587,590],{"class":176,"line":177},[174,586,181],{"class":180},[174,588,589],{"class":184}," WebsiteMessengerSchema",[174,591,189],{"class":188},[174,593,594,597,600,603,605,608,610,613],{"class":176,"line":192},[174,595,596],{"class":195},"  initInjectedScript",[174,598,599],{"class":188},"(",[174,601,602],{"class":520},"data",[174,604,310],{"class":188},[174,606,607],{"class":444}," ...",[174,609,528],{"class":188},[174,611,612],{"class":184}," void",[174,614,205],{"class":188},[174,616,617],{"class":176,"line":208},[174,618,224],{"class":188},[174,620,621],{"class":176,"line":221},[174,622,624],{"emptyLinePlaceholder":623},true,"\n",[174,626,627,631,634,637,640,643,645,648,650,653],{"class":176,"line":547},[174,628,630],{"class":629},"s7zQu","export",[174,632,633],{"class":180}," const",[174,635,636],{"class":444}," websiteMessenger ",[174,638,639],{"class":188},"=",[174,641,642],{"class":472}," defineCustomEventMessenger",[174,644,401],{"class":188},[174,646,647],{"class":184},"initInjectedScript",[174,649,496],{"class":188},[174,651,652],{"class":444},"()",[174,654,205],{"class":188},[174,656,658],{"class":176,"line":657},6,[174,659,624],{"emptyLinePlaceholder":623},[174,661,663],{"class":176,"line":662},7,[174,664,665],{"class":543},"// Content script\n",[174,667,669,672,674,676,678,681,684,686,688,690,692],{"class":176,"line":668},8,[174,670,671],{"class":444},"websiteMessenger",[174,673,330],{"class":188},[174,675,572],{"class":472},[174,677,599],{"class":444},[174,679,680],{"class":188},"\"",[174,682,647],{"class":683},"sfazB",[174,685,680],{"class":188},[174,687,417],{"class":188},[174,689,607],{"class":188},[174,691,253],{"class":444},[174,693,205],{"class":188},[174,695,697],{"class":176,"line":696},9,[174,698,624],{"emptyLinePlaceholder":623},[174,700,702],{"class":176,"line":701},10,[174,703,704],{"class":543},"// Injected script\n",[174,706,708,710,712,715,717,719,721,723,725,728,731,734,737],{"class":176,"line":707},11,[174,709,671],{"class":444},[174,711,330],{"class":188},[174,713,714],{"class":472},"onMessage",[174,716,599],{"class":444},[174,718,680],{"class":188},[174,720,647],{"class":683},[174,722,680],{"class":188},[174,724,417],{"class":188},[174,726,727],{"class":444}," (",[174,729,730],{"class":188},"...",[174,732,733],{"class":444},") ",[174,735,736],{"class":180},"=>",[174,738,189],{"class":188},[174,740,742],{"class":176,"line":741},12,[174,743,544],{"class":543},[174,745,747,750],{"class":176,"line":746},13,[174,748,749],{"class":188},"}",[174,751,752],{"class":444},")\n",[174,754,756],{"class":176,"line":755},14,[174,757,624],{"emptyLinePlaceholder":623},[174,759,761],{"class":176,"line":760},15,[174,762,763],{"class":188},"*\n",[142,765,767],{"id":766},"defineextensionmessaging",[155,768,769],{},"defineExtensionMessaging",[165,771,773],{"className":167,"code":772,"language":169,"meta":170,"style":170},"function defineExtensionMessaging\u003C\n  TProtocolMap extends Record\u003Cstring, any> = Record\u003Cstring, any>,\n>(config?: ExtensionMessagingConfig): ExtensionMessenger\u003CTProtocolMap> {\n  // ...\n}\n",[155,774,775,784,816,840,844],{"__ignoreMap":170},[174,776,777,779,782],{"class":176,"line":177},[174,778,469],{"class":180},[174,780,781],{"class":472}," defineExtensionMessaging",[174,783,476],{"class":188},[174,785,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814],{"class":176,"line":192},[174,787,481],{"class":184},[174,789,368],{"class":180},[174,791,409],{"class":184},[174,793,401],{"class":188},[174,795,414],{"class":184},[174,797,417],{"class":188},[174,799,420],{"class":184},[174,801,496],{"class":188},[174,803,499],{"class":188},[174,805,409],{"class":184},[174,807,401],{"class":188},[174,809,414],{"class":184},[174,811,417],{"class":188},[174,813,420],{"class":184},[174,815,512],{"class":188},[174,817,818,820,822,824,827,829,832,834,836,838],{"class":176,"line":208},[174,819,517],{"class":188},[174,821,521],{"class":520},[174,823,199],{"class":188},[174,825,826],{"class":184}," ExtensionMessagingConfig",[174,828,528],{"class":188},[174,830,831],{"class":184}," ExtensionMessenger",[174,833,401],{"class":188},[174,835,404],{"class":184},[174,837,496],{"class":188},[174,839,189],{"class":188},[174,841,842],{"class":176,"line":221},[174,843,544],{"class":543},[174,845,846],{"class":176,"line":547},[174,847,224],{"class":188},[226,849,850,851,854,855,858,859,862],{},"Returns an ",[155,852,853],{},"ExtensionMessenger"," that is backed by the ",[155,856,857],{},"browser.runtime.sendMessage"," and\n",[155,860,861],{},"browser.tabs.sendMessage"," APIs.",[226,864,865],{},"It can be used to send messages to and from the background page/service worker.",[142,867,869],{"id":868},"definewindowmessaging",[155,870,871],{},"defineWindowMessaging",[165,873,875],{"className":167,"code":874,"language":169,"meta":170,"style":170},"function defineWindowMessaging\u003C\n  TProtocolMap extends Record\u003Cstring, any> = Record\u003Cstring, any>,\n>(config: WindowMessagingConfig): WindowMessenger\u003CTProtocolMap> {\n  // ...\n}\n",[155,876,877,886,918,942,946],{"__ignoreMap":170},[174,878,879,881,884],{"class":176,"line":177},[174,880,469],{"class":180},[174,882,883],{"class":472}," defineWindowMessaging",[174,885,476],{"class":188},[174,887,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916],{"class":176,"line":192},[174,889,481],{"class":184},[174,891,368],{"class":180},[174,893,409],{"class":184},[174,895,401],{"class":188},[174,897,414],{"class":184},[174,899,417],{"class":188},[174,901,420],{"class":184},[174,903,496],{"class":188},[174,905,499],{"class":188},[174,907,409],{"class":184},[174,909,401],{"class":188},[174,911,414],{"class":184},[174,913,417],{"class":188},[174,915,420],{"class":184},[174,917,512],{"class":188},[174,919,920,922,924,926,929,931,934,936,938,940],{"class":176,"line":208},[174,921,517],{"class":188},[174,923,521],{"class":520},[174,925,310],{"class":188},[174,927,928],{"class":184}," WindowMessagingConfig",[174,930,528],{"class":188},[174,932,933],{"class":184}," WindowMessenger",[174,935,401],{"class":188},[174,937,404],{"class":184},[174,939,496],{"class":188},[174,941,189],{"class":188},[174,943,944],{"class":176,"line":221},[174,945,544],{"class":543},[174,947,948],{"class":176,"line":547},[174,949,224],{"class":188},[226,951,952,953,956,957,960],{},"Returns a ",[155,954,955],{},"WindowMessenger",". It is backed by the ",[155,958,959],{},"window.postMessage"," API.  It can be used to\ncommunicate between:",[235,962,963,965],{},[238,964,564],{},[238,966,567],{},[230,968,577],{"id":969},"examples-1",[165,971,973],{"className":167,"code":972,"language":169,"meta":170,"style":170},"interface WebsiteMessengerSchema {\n  initInjectedScript(data: ...): void;\n}\n\nexport const websiteMessenger = defineWindowMessaging\u003CinitInjectedScript>();\n\n// Content script\nwebsiteMessenger.sendMessage(\"initInjectedScript\", ...);\n\n// Injected script\nwebsiteMessenger.onMessage(\"initInjectedScript\", (...) => {\n  // ...\n})\n",[155,974,975,983,1001,1005,1009,1031,1035,1039,1063,1067,1071,1099,1103],{"__ignoreMap":170},[174,976,977,979,981],{"class":176,"line":177},[174,978,181],{"class":180},[174,980,589],{"class":184},[174,982,189],{"class":188},[174,984,985,987,989,991,993,995,997,999],{"class":176,"line":192},[174,986,596],{"class":195},[174,988,599],{"class":188},[174,990,602],{"class":520},[174,992,310],{"class":188},[174,994,607],{"class":444},[174,996,528],{"class":188},[174,998,612],{"class":184},[174,1000,205],{"class":188},[174,1002,1003],{"class":176,"line":208},[174,1004,224],{"class":188},[174,1006,1007],{"class":176,"line":221},[174,1008,624],{"emptyLinePlaceholder":623},[174,1010,1011,1013,1015,1017,1019,1021,1023,1025,1027,1029],{"class":176,"line":547},[174,1012,630],{"class":629},[174,1014,633],{"class":180},[174,1016,636],{"class":444},[174,1018,639],{"class":188},[174,1020,883],{"class":472},[174,1022,401],{"class":188},[174,1024,647],{"class":184},[174,1026,496],{"class":188},[174,1028,652],{"class":444},[174,1030,205],{"class":188},[174,1032,1033],{"class":176,"line":657},[174,1034,624],{"emptyLinePlaceholder":623},[174,1036,1037],{"class":176,"line":662},[174,1038,665],{"class":543},[174,1040,1041,1043,1045,1047,1049,1051,1053,1055,1057,1059,1061],{"class":176,"line":668},[174,1042,671],{"class":444},[174,1044,330],{"class":188},[174,1046,572],{"class":472},[174,1048,599],{"class":444},[174,1050,680],{"class":188},[174,1052,647],{"class":683},[174,1054,680],{"class":188},[174,1056,417],{"class":188},[174,1058,607],{"class":188},[174,1060,253],{"class":444},[174,1062,205],{"class":188},[174,1064,1065],{"class":176,"line":696},[174,1066,624],{"emptyLinePlaceholder":623},[174,1068,1069],{"class":176,"line":701},[174,1070,704],{"class":543},[174,1072,1073,1075,1077,1079,1081,1083,1085,1087,1089,1091,1093,1095,1097],{"class":176,"line":707},[174,1074,671],{"class":444},[174,1076,330],{"class":188},[174,1078,714],{"class":472},[174,1080,599],{"class":444},[174,1082,680],{"class":188},[174,1084,647],{"class":683},[174,1086,680],{"class":188},[174,1088,417],{"class":188},[174,1090,727],{"class":444},[174,1092,730],{"class":188},[174,1094,733],{"class":444},[174,1096,736],{"class":180},[174,1098,189],{"class":188},[174,1100,1101],{"class":176,"line":741},[174,1102,544],{"class":543},[174,1104,1105,1107],{"class":176,"line":746},[174,1106,749],{"class":188},[174,1108,752],{"class":444},[142,1110,1112],{"id":1111},"extensionmessage",[155,1113,1114],{},"ExtensionMessage",[165,1116,1118],{"className":167,"code":1117,"language":169,"meta":170,"style":170},"interface ExtensionMessage {\n  sender: Runtime.MessageSender;\n}\n",[155,1119,1120,1129,1146],{"__ignoreMap":170},[174,1121,1122,1124,1127],{"class":176,"line":177},[174,1123,181],{"class":180},[174,1125,1126],{"class":184}," ExtensionMessage",[174,1128,189],{"class":188},[174,1130,1131,1134,1136,1139,1141,1144],{"class":176,"line":192},[174,1132,1133],{"class":195},"  sender",[174,1135,310],{"class":188},[174,1137,1138],{"class":184}," Runtime",[174,1140,330],{"class":188},[174,1142,1143],{"class":184},"MessageSender",[174,1145,205],{"class":188},[174,1147,1148],{"class":176,"line":208},[174,1149,224],{"class":188},[226,1151,322,1152,1154,1155,330],{},[155,1153,325],{}," from an ",[155,1156,853],{},[230,1158,233],{"id":1159},"properties-2",[235,1161,1162],{},[238,1163,1164,1171,1173,1174,330],{},[241,1165,1166],{},[244,1167,1168],{},[155,1169,1170],{},"sender: Runtime.MessageSender",[255,1172],{},"Information about where the message came from. See\n",[151,1175,1179],{"href":1176,"rel":1177},"https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/MessageSender",[1178],"nofollow",[155,1180,1181],{},"Runtime.MessageSender",[142,1183,1185],{"id":1184},"extensionmessagingconfig",[155,1186,1187],{},"ExtensionMessagingConfig",[165,1189,1191],{"className":167,"code":1190,"language":169,"meta":170,"style":170},"interface ExtensionMessagingConfig extends BaseMessagingConfig {}\n",[155,1192,1193],{"__ignoreMap":170},[174,1194,1195,1197,1199,1201,1203],{"class":176,"line":177},[174,1196,181],{"class":180},[174,1198,826],{"class":184},[174,1200,368],{"class":180},[174,1202,185],{"class":184},[174,1204,374],{"class":188},[226,1206,377,1207,330],{},[155,1208,769],{},[142,1210,1212],{"id":1211},"extensionmessenger",[155,1213,853],{},[165,1215,1217],{"className":167,"code":1216,"language":169,"meta":170,"style":170},"type ExtensionMessenger\u003CTProtocolMap extends Record\u003Cstring, any>> =\n  GenericMessenger\u003CTProtocolMap, ExtensionMessage, ExtensionSendMessageArgs>;\n",[155,1218,1219,1245],{"__ignoreMap":170},[174,1220,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243],{"class":176,"line":177},[174,1222,395],{"class":180},[174,1224,831],{"class":184},[174,1226,401],{"class":188},[174,1228,404],{"class":184},[174,1230,368],{"class":180},[174,1232,409],{"class":184},[174,1234,401],{"class":188},[174,1236,414],{"class":184},[174,1238,417],{"class":188},[174,1240,420],{"class":184},[174,1242,423],{"class":188},[174,1244,426],{"class":188},[174,1246,1247,1249,1251,1253,1255,1257,1259,1262],{"class":176,"line":192},[174,1248,431],{"class":184},[174,1250,401],{"class":188},[174,1252,404],{"class":184},[174,1254,417],{"class":188},[174,1256,1126],{"class":184},[174,1258,417],{"class":188},[174,1260,1261],{"class":184}," ExtensionSendMessageArgs",[174,1263,448],{"class":188},[226,1265,451,1266,330],{},[155,1267,769],{},[142,1269,1271],{"id":1270},"extensionsendmessageargs",[155,1272,1273],{},"ExtensionSendMessageArgs",[165,1275,1277],{"className":167,"code":1276,"language":169,"meta":170,"style":170},"type ExtensionSendMessageArgs = [arg?: number | SendMessageOptions];\n",[155,1278,1279],{"__ignoreMap":170},[174,1280,1281,1283,1285,1287,1290,1293,1295,1298,1301,1304,1307],{"class":176,"line":177},[174,1282,395],{"class":180},[174,1284,1261],{"class":184},[174,1286,499],{"class":188},[174,1288,1289],{"class":444}," [",[174,1291,1292],{"class":184},"arg",[174,1294,199],{"class":188},[174,1296,1297],{"class":184}," number",[174,1299,1300],{"class":188}," |",[174,1302,1303],{"class":184}," SendMessageOptions",[174,1305,1306],{"class":444},"]",[174,1308,205],{"class":188},[226,1310,1311],{},"Send message accepts either:",[235,1313,1314,1317,1320],{},[238,1315,1316],{},"No arguments to send to background",[238,1318,1319],{},"A tabId number to send to a specific tab",[238,1321,1322],{},"A SendMessageOptions object to target a specific tab and frame",[226,1324,1325],{},"You cannot message between tabs directly. It must go through the background script.",[142,1327,1329],{"id":1328},"genericmessenger",[155,1330,1331],{},"GenericMessenger",[165,1333,1335],{"className":167,"code":1334,"language":169,"meta":170,"style":170},"interface GenericMessenger\u003C\n  TProtocolMap extends Record\u003Cstring, any>,\n  TMessageExtension,\n  TSendMessageArgs extends any[],\n> {\n  sendMessage\u003CTType extends keyof TProtocolMap>(\n    this: void,\n    type: TType,\n    ...args: GetDataType\u003CTProtocolMap[TType]> extends undefined\n      ? [data?: undefined, ...args: TSendMessageArgs]\n      : never\n  ): Promise\u003CGetReturnType\u003CTProtocolMap[TType]>>;\n  sendMessage\u003CTType extends keyof TProtocolMap>(\n    this: void,\n    type: TType,\n    data: GetDataType\u003CTProtocolMap[TType]>,\n    ...args: TSendMessageArgs\n  ): Promise\u003CGetReturnType\u003CTProtocolMap[TType]>>;\n  onMessage\u003CTType extends keyof TProtocolMap>(\n    this: void,\n    type: TType,\n    onReceived: (\n      message: Message\u003CTProtocolMap, TType> & TMessageExtension,\n    ) => void | MaybePromise\u003CGetReturnType\u003CTProtocolMap[TType]>>,\n  ): RemoveListenerCallback;\n  removeAllListeners(this: void): void;\n}\n",[155,1336,1337,1346,1364,1372,1386,1392,1413,1424,1436,1467,1495,1503,1529,1545,1555,1565,1587,1599,1622,1640,1651,1662,1673,1702,1734,1744,1765],{"__ignoreMap":170},[174,1338,1339,1341,1344],{"class":176,"line":177},[174,1340,181],{"class":180},[174,1342,1343],{"class":184}," GenericMessenger",[174,1345,476],{"class":188},[174,1347,1348,1350,1352,1354,1356,1358,1360,1362],{"class":176,"line":192},[174,1349,481],{"class":184},[174,1351,368],{"class":180},[174,1353,409],{"class":184},[174,1355,401],{"class":188},[174,1357,414],{"class":184},[174,1359,417],{"class":188},[174,1361,420],{"class":184},[174,1363,512],{"class":188},[174,1365,1366,1369],{"class":176,"line":208},[174,1367,1368],{"class":184},"  TMessageExtension",[174,1370,1371],{"class":188},",\n",[174,1373,1374,1377,1379,1381,1384],{"class":176,"line":221},[174,1375,1376],{"class":184},"  TSendMessageArgs",[174,1378,368],{"class":180},[174,1380,420],{"class":184},[174,1382,1383],{"class":444},"[]",[174,1385,1371],{"class":188},[174,1387,1388,1390],{"class":176,"line":547},[174,1389,496],{"class":188},[174,1391,189],{"class":188},[174,1393,1394,1397,1399,1402,1404,1407,1410],{"class":176,"line":657},[174,1395,1396],{"class":195},"  sendMessage",[174,1398,401],{"class":188},[174,1400,1401],{"class":184},"TType",[174,1403,368],{"class":180},[174,1405,1406],{"class":188}," keyof",[174,1408,1409],{"class":184}," TProtocolMap",[174,1411,1412],{"class":188},">(\n",[174,1414,1415,1418,1420,1422],{"class":176,"line":662},[174,1416,1417],{"class":629},"    this",[174,1419,310],{"class":188},[174,1421,612],{"class":184},[174,1423,1371],{"class":188},[174,1425,1426,1429,1431,1434],{"class":176,"line":668},[174,1427,1428],{"class":520},"    type",[174,1430,310],{"class":188},[174,1432,1433],{"class":184}," TType",[174,1435,1371],{"class":188},[174,1437,1438,1441,1444,1446,1449,1451,1453,1456,1458,1460,1462,1464],{"class":176,"line":696},[174,1439,1440],{"class":188},"    ...",[174,1442,1443],{"class":520},"args",[174,1445,310],{"class":188},[174,1447,1448],{"class":184}," GetDataType",[174,1450,401],{"class":188},[174,1452,404],{"class":184},[174,1454,1455],{"class":444},"[",[174,1457,1401],{"class":184},[174,1459,1306],{"class":444},[174,1461,496],{"class":188},[174,1463,368],{"class":180},[174,1465,1466],{"class":184}," undefined\n",[174,1468,1469,1472,1474,1476,1478,1481,1483,1485,1487,1489,1492],{"class":176,"line":701},[174,1470,1471],{"class":188},"      ?",[174,1473,1289],{"class":444},[174,1475,602],{"class":184},[174,1477,199],{"class":188},[174,1479,1480],{"class":184}," undefined",[174,1482,417],{"class":188},[174,1484,607],{"class":188},[174,1486,1443],{"class":184},[174,1488,310],{"class":188},[174,1490,1491],{"class":184}," TSendMessageArgs",[174,1493,1494],{"class":444},"]\n",[174,1496,1497,1500],{"class":176,"line":707},[174,1498,1499],{"class":188},"      :",[174,1501,1502],{"class":184}," never\n",[174,1504,1505,1508,1511,1513,1516,1518,1520,1522,1524,1526],{"class":176,"line":741},[174,1506,1507],{"class":188},"  ):",[174,1509,1510],{"class":184}," Promise",[174,1512,401],{"class":188},[174,1514,1515],{"class":184},"GetReturnType",[174,1517,401],{"class":188},[174,1519,404],{"class":184},[174,1521,1455],{"class":444},[174,1523,1401],{"class":184},[174,1525,1306],{"class":444},[174,1527,1528],{"class":188},">>;\n",[174,1530,1531,1533,1535,1537,1539,1541,1543],{"class":176,"line":746},[174,1532,1396],{"class":195},[174,1534,401],{"class":188},[174,1536,1401],{"class":184},[174,1538,368],{"class":180},[174,1540,1406],{"class":188},[174,1542,1409],{"class":184},[174,1544,1412],{"class":188},[174,1546,1547,1549,1551,1553],{"class":176,"line":755},[174,1548,1417],{"class":629},[174,1550,310],{"class":188},[174,1552,612],{"class":184},[174,1554,1371],{"class":188},[174,1556,1557,1559,1561,1563],{"class":176,"line":760},[174,1558,1428],{"class":520},[174,1560,310],{"class":188},[174,1562,1433],{"class":184},[174,1564,1371],{"class":188},[174,1566,1568,1571,1573,1575,1577,1579,1581,1583,1585],{"class":176,"line":1567},16,[174,1569,1570],{"class":520},"    data",[174,1572,310],{"class":188},[174,1574,1448],{"class":184},[174,1576,401],{"class":188},[174,1578,404],{"class":184},[174,1580,1455],{"class":444},[174,1582,1401],{"class":184},[174,1584,1306],{"class":444},[174,1586,512],{"class":188},[174,1588,1590,1592,1594,1596],{"class":176,"line":1589},17,[174,1591,1440],{"class":188},[174,1593,1443],{"class":520},[174,1595,310],{"class":188},[174,1597,1598],{"class":184}," TSendMessageArgs\n",[174,1600,1602,1604,1606,1608,1610,1612,1614,1616,1618,1620],{"class":176,"line":1601},18,[174,1603,1507],{"class":188},[174,1605,1510],{"class":184},[174,1607,401],{"class":188},[174,1609,1515],{"class":184},[174,1611,401],{"class":188},[174,1613,404],{"class":184},[174,1615,1455],{"class":444},[174,1617,1401],{"class":184},[174,1619,1306],{"class":444},[174,1621,1528],{"class":188},[174,1623,1625,1628,1630,1632,1634,1636,1638],{"class":176,"line":1624},19,[174,1626,1627],{"class":195},"  onMessage",[174,1629,401],{"class":188},[174,1631,1401],{"class":184},[174,1633,368],{"class":180},[174,1635,1406],{"class":188},[174,1637,1409],{"class":184},[174,1639,1412],{"class":188},[174,1641,1643,1645,1647,1649],{"class":176,"line":1642},20,[174,1644,1417],{"class":629},[174,1646,310],{"class":188},[174,1648,612],{"class":184},[174,1650,1371],{"class":188},[174,1652,1654,1656,1658,1660],{"class":176,"line":1653},21,[174,1655,1428],{"class":520},[174,1657,310],{"class":188},[174,1659,1433],{"class":184},[174,1661,1371],{"class":188},[174,1663,1665,1668,1670],{"class":176,"line":1664},22,[174,1666,1667],{"class":472},"    onReceived",[174,1669,310],{"class":188},[174,1671,1672],{"class":444}," (\n",[174,1674,1676,1679,1681,1684,1686,1688,1690,1692,1694,1697,1700],{"class":176,"line":1675},23,[174,1677,1678],{"class":520},"      message",[174,1680,310],{"class":188},[174,1682,1683],{"class":184}," Message",[174,1685,401],{"class":188},[174,1687,404],{"class":184},[174,1689,417],{"class":188},[174,1691,1433],{"class":184},[174,1693,496],{"class":188},[174,1695,1696],{"class":188}," &",[174,1698,1699],{"class":184}," TMessageExtension",[174,1701,1371],{"class":188},[174,1703,1705,1708,1710,1712,1714,1717,1719,1721,1723,1725,1727,1729,1731],{"class":176,"line":1704},24,[174,1706,1707],{"class":444},"    ) ",[174,1709,736],{"class":180},[174,1711,612],{"class":184},[174,1713,1300],{"class":188},[174,1715,1716],{"class":184}," MaybePromise",[174,1718,401],{"class":188},[174,1720,1515],{"class":184},[174,1722,401],{"class":188},[174,1724,404],{"class":184},[174,1726,1455],{"class":444},[174,1728,1401],{"class":184},[174,1730,1306],{"class":444},[174,1732,1733],{"class":188},">>,\n",[174,1735,1737,1739,1742],{"class":176,"line":1736},25,[174,1738,1507],{"class":188},[174,1740,1741],{"class":184}," RemoveListenerCallback",[174,1743,205],{"class":188},[174,1745,1747,1750,1752,1755,1757,1759,1761,1763],{"class":176,"line":1746},26,[174,1748,1749],{"class":195},"  removeAllListeners",[174,1751,599],{"class":188},[174,1753,1754],{"class":629},"this",[174,1756,310],{"class":188},[174,1758,612],{"class":184},[174,1760,528],{"class":188},[174,1762,612],{"class":184},[174,1764,205],{"class":188},[174,1766,1768],{"class":176,"line":1767},27,[174,1769,224],{"class":188},[226,1771,1772],{},"Messaging interface shared by all messengers.",[226,1774,1775],{},"Type parameters accept:",[235,1777,1778,1783,1792],{},[238,1779,1780,1782],{},[155,1781,404],{}," to define the data and return types of messages.",[238,1784,1785,1788,1789,1791],{},[155,1786,1787],{},"TMessageExtension"," to define additional fields that are available on a message inside\n",[155,1790,714],{},"'s callback",[238,1793,1794,1797,1798],{},[155,1795,1796],{},"TSendMessageArgs"," to define a list of additional arguments for ",[155,1799,572],{},[142,1801,1803],{"id":1802},"getdatatype",[155,1804,1805],{},"GetDataType",[165,1807,1809],{"className":167,"code":1808,"language":169,"meta":170,"style":170},"type GetDataType\u003CT> = T extends (...args: infer Args) => any\n  ? Args[\"length\"] extends 0 | 1\n    ? Args[0]\n    : never\n  : T extends ProtocolWithReturn\u003Cany, any>\n    ? T[\"BtVgCTPYZu\"]\n    : T;\n",[155,1810,1811,1852,1883,1897,1904,1928,1945],{"__ignoreMap":170},[174,1812,1813,1815,1817,1819,1822,1824,1826,1829,1831,1834,1836,1838,1841,1844,1846,1849],{"class":176,"line":177},[174,1814,395],{"class":180},[174,1816,1448],{"class":184},[174,1818,401],{"class":188},[174,1820,1821],{"class":184},"T",[174,1823,496],{"class":188},[174,1825,499],{"class":188},[174,1827,1828],{"class":184}," T",[174,1830,368],{"class":180},[174,1832,1833],{"class":188}," (...",[174,1835,1443],{"class":520},[174,1837,310],{"class":188},[174,1839,1840],{"class":188}," infer",[174,1842,1843],{"class":184}," Args",[174,1845,253],{"class":188},[174,1847,1848],{"class":180}," =>",[174,1850,1851],{"class":184}," any\n",[174,1853,1854,1857,1859,1861,1863,1866,1868,1871,1874,1878,1880],{"class":176,"line":192},[174,1855,1856],{"class":188},"  ?",[174,1858,1843],{"class":184},[174,1860,1455],{"class":444},[174,1862,680],{"class":188},[174,1864,1865],{"class":683},"length",[174,1867,680],{"class":188},[174,1869,1870],{"class":444},"] ",[174,1872,1873],{"class":180},"extends",[174,1875,1877],{"class":1876},"sbssI"," 0",[174,1879,1300],{"class":188},[174,1881,1882],{"class":1876}," 1\n",[174,1884,1885,1888,1890,1892,1895],{"class":176,"line":208},[174,1886,1887],{"class":188},"    ?",[174,1889,1843],{"class":184},[174,1891,1455],{"class":444},[174,1893,1894],{"class":1876},"0",[174,1896,1494],{"class":444},[174,1898,1899,1902],{"class":176,"line":221},[174,1900,1901],{"class":188},"    :",[174,1903,1502],{"class":184},[174,1905,1906,1909,1911,1913,1916,1918,1921,1923,1925],{"class":176,"line":547},[174,1907,1908],{"class":188},"  :",[174,1910,1828],{"class":184},[174,1912,368],{"class":180},[174,1914,1915],{"class":184}," ProtocolWithReturn",[174,1917,401],{"class":188},[174,1919,1920],{"class":184},"any",[174,1922,417],{"class":188},[174,1924,420],{"class":184},[174,1926,1927],{"class":188},">\n",[174,1929,1930,1932,1934,1936,1938,1941,1943],{"class":176,"line":657},[174,1931,1887],{"class":188},[174,1933,1828],{"class":184},[174,1935,1455],{"class":444},[174,1937,680],{"class":188},[174,1939,1940],{"class":683},"BtVgCTPYZu",[174,1942,680],{"class":188},[174,1944,1494],{"class":444},[174,1946,1947,1949,1951],{"class":176,"line":662},[174,1948,1901],{"class":188},[174,1950,1828],{"class":184},[174,1952,205],{"class":188},[226,1954,1955,1956,1959],{},"Given a function declaration, ",[155,1957,1958],{},"ProtocolWithReturn",", or a value, return the message's data type.",[142,1961,1963],{"id":1962},"getreturntype",[155,1964,1515],{},[165,1966,1968],{"className":167,"code":1967,"language":169,"meta":170,"style":170},"type GetReturnType\u003CT> = T extends (...args: any[]) => infer R\n  ? R\n  : T extends ProtocolWithReturn\u003Cany, any>\n    ? T[\"RrhVseLgZW\"]\n    : void;\n",[155,1969,1970,2008,2014,2034,2051],{"__ignoreMap":170},[174,1971,1972,1974,1977,1979,1981,1983,1985,1987,1989,1991,1993,1995,1997,1999,2001,2003,2005],{"class":176,"line":177},[174,1973,395],{"class":180},[174,1975,1976],{"class":184}," GetReturnType",[174,1978,401],{"class":188},[174,1980,1821],{"class":184},[174,1982,496],{"class":188},[174,1984,499],{"class":188},[174,1986,1828],{"class":184},[174,1988,368],{"class":180},[174,1990,1833],{"class":188},[174,1992,1443],{"class":520},[174,1994,310],{"class":188},[174,1996,420],{"class":184},[174,1998,1383],{"class":444},[174,2000,253],{"class":188},[174,2002,1848],{"class":180},[174,2004,1840],{"class":188},[174,2006,2007],{"class":184}," R\n",[174,2009,2010,2012],{"class":176,"line":192},[174,2011,1856],{"class":188},[174,2013,2007],{"class":184},[174,2015,2016,2018,2020,2022,2024,2026,2028,2030,2032],{"class":176,"line":208},[174,2017,1908],{"class":188},[174,2019,1828],{"class":184},[174,2021,368],{"class":180},[174,2023,1915],{"class":184},[174,2025,401],{"class":188},[174,2027,1920],{"class":184},[174,2029,417],{"class":188},[174,2031,420],{"class":184},[174,2033,1927],{"class":188},[174,2035,2036,2038,2040,2042,2044,2047,2049],{"class":176,"line":221},[174,2037,1887],{"class":188},[174,2039,1828],{"class":184},[174,2041,1455],{"class":444},[174,2043,680],{"class":188},[174,2045,2046],{"class":683},"RrhVseLgZW",[174,2048,680],{"class":188},[174,2050,1494],{"class":444},[174,2052,2053,2055,2057],{"class":176,"line":547},[174,2054,1901],{"class":188},[174,2056,612],{"class":184},[174,2058,205],{"class":188},[226,2060,1955,2061,2063],{},[155,2062,1958],{},", or a value, return the message's return type.",[142,2065,2067],{"id":2066},"logger",[155,2068,2069],{},"Logger",[165,2071,2073],{"className":167,"code":2072,"language":169,"meta":170,"style":170},"interface Logger {\n  debug(...args: any[]): void;\n  log(...args: any[]): void;\n  warn(...args: any[]): void;\n  error(...args: any[]): void;\n}\n",[155,2074,2075,2083,2105,2126,2147,2168],{"__ignoreMap":170},[174,2076,2077,2079,2081],{"class":176,"line":177},[174,2078,181],{"class":180},[174,2080,202],{"class":184},[174,2082,189],{"class":188},[174,2084,2085,2088,2091,2093,2095,2097,2099,2101,2103],{"class":176,"line":192},[174,2086,2087],{"class":195},"  debug",[174,2089,2090],{"class":188},"(...",[174,2092,1443],{"class":520},[174,2094,310],{"class":188},[174,2096,420],{"class":184},[174,2098,1383],{"class":444},[174,2100,528],{"class":188},[174,2102,612],{"class":184},[174,2104,205],{"class":188},[174,2106,2107,2110,2112,2114,2116,2118,2120,2122,2124],{"class":176,"line":208},[174,2108,2109],{"class":195},"  log",[174,2111,2090],{"class":188},[174,2113,1443],{"class":520},[174,2115,310],{"class":188},[174,2117,420],{"class":184},[174,2119,1383],{"class":444},[174,2121,528],{"class":188},[174,2123,612],{"class":184},[174,2125,205],{"class":188},[174,2127,2128,2131,2133,2135,2137,2139,2141,2143,2145],{"class":176,"line":221},[174,2129,2130],{"class":195},"  warn",[174,2132,2090],{"class":188},[174,2134,1443],{"class":520},[174,2136,310],{"class":188},[174,2138,420],{"class":184},[174,2140,1383],{"class":444},[174,2142,528],{"class":188},[174,2144,612],{"class":184},[174,2146,205],{"class":188},[174,2148,2149,2152,2154,2156,2158,2160,2162,2164,2166],{"class":176,"line":547},[174,2150,2151],{"class":195},"  error",[174,2153,2090],{"class":188},[174,2155,1443],{"class":520},[174,2157,310],{"class":188},[174,2159,420],{"class":184},[174,2161,1383],{"class":444},[174,2163,528],{"class":188},[174,2165,612],{"class":184},[174,2167,205],{"class":188},[174,2169,2170],{"class":176,"line":657},[174,2171,224],{"class":188},[226,2173,2174],{},"Interface used to log text to the console when sending and receiving messages.",[142,2176,2178],{"id":2177},"maybepromise",[155,2179,2180],{},"MaybePromise",[165,2182,2184],{"className":167,"code":2183,"language":169,"meta":170,"style":170},"type MaybePromise\u003CT> = Promise\u003CT> | T;\n",[155,2185,2186],{"__ignoreMap":170},[174,2187,2188,2190,2192,2194,2196,2198,2200,2202,2204,2206,2208,2210,2212],{"class":176,"line":177},[174,2189,395],{"class":180},[174,2191,1716],{"class":184},[174,2193,401],{"class":188},[174,2195,1821],{"class":184},[174,2197,496],{"class":188},[174,2199,499],{"class":188},[174,2201,1510],{"class":184},[174,2203,401],{"class":188},[174,2205,1821],{"class":184},[174,2207,496],{"class":188},[174,2209,1300],{"class":188},[174,2211,1828],{"class":184},[174,2213,205],{"class":188},[226,2215,2216],{},"Either a Promise of a type, or that type directly. Used to indicate that a method can by sync or\nasync.",[142,2218,2220],{"id":2219},"message",[155,2221,325],{},[165,2223,2225],{"className":167,"code":2224,"language":169,"meta":170,"style":170},"interface Message\u003C\n  TProtocolMap extends Record\u003Cstring, any>,\n  TType extends keyof TProtocolMap,\n> {\n  id: number;\n  data: GetDataType\u003CTProtocolMap[TType]>;\n  type: TType;\n  timestamp: number;\n}\n",[155,2226,2227,2235,2253,2266,2272,2283,2304,2315,2326],{"__ignoreMap":170},[174,2228,2229,2231,2233],{"class":176,"line":177},[174,2230,181],{"class":180},[174,2232,1683],{"class":184},[174,2234,476],{"class":188},[174,2236,2237,2239,2241,2243,2245,2247,2249,2251],{"class":176,"line":192},[174,2238,481],{"class":184},[174,2240,368],{"class":180},[174,2242,409],{"class":184},[174,2244,401],{"class":188},[174,2246,414],{"class":184},[174,2248,417],{"class":188},[174,2250,420],{"class":184},[174,2252,512],{"class":188},[174,2254,2255,2258,2260,2262,2264],{"class":176,"line":208},[174,2256,2257],{"class":184},"  TType",[174,2259,368],{"class":180},[174,2261,1406],{"class":188},[174,2263,1409],{"class":184},[174,2265,1371],{"class":188},[174,2267,2268,2270],{"class":176,"line":221},[174,2269,496],{"class":188},[174,2271,189],{"class":188},[174,2273,2274,2277,2279,2281],{"class":176,"line":547},[174,2275,2276],{"class":195},"  id",[174,2278,310],{"class":188},[174,2280,1297],{"class":184},[174,2282,205],{"class":188},[174,2284,2285,2288,2290,2292,2294,2296,2298,2300,2302],{"class":176,"line":657},[174,2286,2287],{"class":195},"  data",[174,2289,310],{"class":188},[174,2291,1448],{"class":184},[174,2293,401],{"class":188},[174,2295,404],{"class":184},[174,2297,1455],{"class":444},[174,2299,1401],{"class":184},[174,2301,1306],{"class":444},[174,2303,448],{"class":188},[174,2305,2306,2309,2311,2313],{"class":176,"line":662},[174,2307,2308],{"class":195},"  type",[174,2310,310],{"class":188},[174,2312,1433],{"class":184},[174,2314,205],{"class":188},[174,2316,2317,2320,2322,2324],{"class":176,"line":668},[174,2318,2319],{"class":195},"  timestamp",[174,2321,310],{"class":188},[174,2323,1297],{"class":184},[174,2325,205],{"class":188},[174,2327,2328],{"class":176,"line":696},[174,2329,224],{"class":188},[226,2331,2332],{},"Contains information about the message received.",[230,2334,233],{"id":2335},"properties-3",[235,2337,2338,2350,2364,2373],{},[238,2339,2340,2347,2349],{},[241,2341,2342],{},[244,2343,2344],{},[155,2345,2346],{},"id: number",[255,2348],{},"A semi-unique, auto-incrementing number used to trace messages being sent.",[238,2351,2352,2359,2361,2362],{},[241,2353,2354],{},[244,2355,2356],{},[155,2357,2358],{},"data: GetDataType\u003CTProtocolMap[TType]>",[255,2360],{},"The data that was passed into ",[155,2363,572],{},[238,2365,2366],{},[241,2367,2368],{},[244,2369,2370],{},[155,2371,2372],{},"type: TType",[238,2374,2375,2382,2384],{},[241,2376,2377],{},[244,2378,2379],{},[155,2380,2381],{},"timestamp: number",[255,2383],{},"The timestamp the message was sent in MS since epoch.",[142,2386,2388],{"id":2387},"namespacemessagingconfig",[155,2389,2390],{},"NamespaceMessagingConfig",[165,2392,2394],{"className":167,"code":2393,"language":169,"meta":170,"style":170},"interface NamespaceMessagingConfig extends BaseMessagingConfig {\n  namespace: string;\n}\n",[155,2395,2396,2408,2420],{"__ignoreMap":170},[174,2397,2398,2400,2402,2404,2406],{"class":176,"line":177},[174,2399,181],{"class":180},[174,2401,371],{"class":184},[174,2403,368],{"class":180},[174,2405,185],{"class":184},[174,2407,189],{"class":188},[174,2409,2410,2413,2415,2418],{"class":176,"line":192},[174,2411,2412],{"class":195},"  namespace",[174,2414,310],{"class":188},[174,2416,2417],{"class":184}," string",[174,2419,205],{"class":188},[174,2421,2422],{"class":176,"line":208},[174,2423,224],{"class":188},[230,2425,233],{"id":2426},"properties-4",[235,2428,2429],{},[238,2430,2431,2438,2440],{},[241,2432,2433],{},[244,2434,2435],{},[155,2436,2437],{},"namespace: string",[255,2439],{},"A string used to ensure the messenger only sends messages to and listens for messages from\nother messengers of the same type, with the same namespace.",[142,2442,2444],{"id":2443},"protocolwithreturn",[155,2445,1958],{},[226,2447,2448,2449,2453],{},":::danger Deprecated\nUse the function syntax instead: ",[151,2450,2451],{"href":2451,"rel":2452},"https://webext-core.aklinker1.io/messaging/protocol-maps.html#syntax",[1178],"\n:::",[165,2455,2457],{"className":167,"code":2456,"language":169,"meta":170,"style":170},"interface ProtocolWithReturn\u003CTData, TReturn> {\n  BtVgCTPYZu: TData;\n  RrhVseLgZW: TReturn;\n}\n",[155,2458,2459,2479,2491,2502],{"__ignoreMap":170},[174,2460,2461,2463,2465,2467,2470,2472,2475,2477],{"class":176,"line":177},[174,2462,181],{"class":180},[174,2464,1915],{"class":184},[174,2466,401],{"class":188},[174,2468,2469],{"class":184},"TData",[174,2471,417],{"class":188},[174,2473,2474],{"class":184}," TReturn",[174,2476,496],{"class":188},[174,2478,189],{"class":188},[174,2480,2481,2484,2486,2489],{"class":176,"line":192},[174,2482,2483],{"class":195},"  BtVgCTPYZu",[174,2485,310],{"class":188},[174,2487,2488],{"class":184}," TData",[174,2490,205],{"class":188},[174,2492,2493,2496,2498,2500],{"class":176,"line":208},[174,2494,2495],{"class":195},"  RrhVseLgZW",[174,2497,310],{"class":188},[174,2499,2474],{"class":184},[174,2501,205],{"class":188},[174,2503,2504],{"class":176,"line":221},[174,2505,224],{"class":188},[226,2507,2508],{},"Used to add a return type to a message in the protocol map.",[2510,2511,2512],"blockquote",{},[226,2513,2514],{},"Internally, this is just an object with random keys for the data and return types.",[230,2516,233],{"id":2517},"properties-5",[235,2519,2520,2532],{},[238,2521,2522,2529,2531],{},[241,2523,2524],{},[244,2525,2526],{},[155,2527,2528],{},"BtVgCTPYZu: TData",[255,2530],{},"Stores the data type. Randomly named so that it isn't accidentally implemented.",[238,2533,2534,2541,2543],{},[241,2535,2536],{},[244,2537,2538],{},[155,2539,2540],{},"RrhVseLgZW: TReturn",[255,2542],{},"Stores the return type. Randomly named so that it isn't accidentally implemented.",[230,2545,577],{"id":2546},"examples-2",[165,2548,2550],{"className":167,"code":2549,"language":169,"meta":170,"style":170},"interface ProtocolMap {\n  // data is a string, returns undefined\n  type1: string;\n  // data is a string, returns a number\n  type2: ProtocolWithReturn\u003Cstring, number>;\n}\n",[155,2551,2552,2561,2566,2577,2582,2601],{"__ignoreMap":170},[174,2553,2554,2556,2559],{"class":176,"line":177},[174,2555,181],{"class":180},[174,2557,2558],{"class":184}," ProtocolMap",[174,2560,189],{"class":188},[174,2562,2563],{"class":176,"line":192},[174,2564,2565],{"class":543},"  // data is a string, returns undefined\n",[174,2567,2568,2571,2573,2575],{"class":176,"line":208},[174,2569,2570],{"class":195},"  type1",[174,2572,310],{"class":188},[174,2574,2417],{"class":184},[174,2576,205],{"class":188},[174,2578,2579],{"class":176,"line":221},[174,2580,2581],{"class":543},"  // data is a string, returns a number\n",[174,2583,2584,2587,2589,2591,2593,2595,2597,2599],{"class":176,"line":547},[174,2585,2586],{"class":195},"  type2",[174,2588,310],{"class":188},[174,2590,1915],{"class":184},[174,2592,401],{"class":188},[174,2594,414],{"class":184},[174,2596,417],{"class":188},[174,2598,1297],{"class":184},[174,2600,448],{"class":188},[174,2602,2603],{"class":176,"line":657},[174,2604,224],{"class":188},[142,2606,2608],{"id":2607},"removelistenercallback",[155,2609,2610],{},"RemoveListenerCallback",[165,2612,2614],{"className":167,"code":2613,"language":169,"meta":170,"style":170},"type RemoveListenerCallback = () => void;\n",[155,2615,2616],{"__ignoreMap":170},[174,2617,2618,2620,2622,2624,2627,2629,2631],{"class":176,"line":177},[174,2619,395],{"class":180},[174,2621,1741],{"class":184},[174,2623,499],{"class":188},[174,2625,2626],{"class":188}," ()",[174,2628,1848],{"class":180},[174,2630,612],{"class":184},[174,2632,205],{"class":188},[226,2634,2635],{},"Call to ensure an active listener has been removed.",[226,2637,2638,2639,2642],{},"If the listener has already been removed with ",[155,2640,2641],{},"Messenger.removeAllListeners",", this is a noop.",[142,2644,2646],{"id":2645},"sendmessageoptions",[155,2647,2648],{},"SendMessageOptions",[165,2650,2652],{"className":167,"code":2651,"language":169,"meta":170,"style":170},"interface SendMessageOptions {\n  tabId: number;\n  frameId?: number;\n}\n",[155,2653,2654,2662,2673,2684],{"__ignoreMap":170},[174,2655,2656,2658,2660],{"class":176,"line":177},[174,2657,181],{"class":180},[174,2659,1303],{"class":184},[174,2661,189],{"class":188},[174,2663,2664,2667,2669,2671],{"class":176,"line":192},[174,2665,2666],{"class":195},"  tabId",[174,2668,310],{"class":188},[174,2670,1297],{"class":184},[174,2672,205],{"class":188},[174,2674,2675,2678,2680,2682],{"class":176,"line":208},[174,2676,2677],{"class":195},"  frameId",[174,2679,199],{"class":188},[174,2681,1297],{"class":184},[174,2683,205],{"class":188},[174,2685,2686],{"class":176,"line":221},[174,2687,224],{"class":188},[226,2689,2690],{},"Options for sending a message to a specific tab/frame",[230,2692,233],{"id":2693},"properties-6",[235,2695,2696,2708],{},[238,2697,2698,2705,2707],{},[241,2699,2700],{},[244,2701,2702],{},[155,2703,2704],{},"tabId: number",[255,2706],{},"The tab to send a message to",[238,2709,2710,2717,2719],{},[241,2711,2712],{},[244,2713,2714],{},[155,2715,2716],{},"frameId?: number",[255,2718],{},"The frame to send a message to. 0 represents the main frame.",[142,2721,2723],{"id":2722},"windowmessagingconfig",[155,2724,2725],{},"WindowMessagingConfig",[165,2727,2729],{"className":167,"code":2728,"language":169,"meta":170,"style":170},"interface WindowMessagingConfig extends NamespaceMessagingConfig {}\n",[155,2730,2731],{"__ignoreMap":170},[174,2732,2733,2735,2737,2739,2741],{"class":176,"line":177},[174,2734,181],{"class":180},[174,2736,928],{"class":184},[174,2738,368],{"class":180},[174,2740,371],{"class":184},[174,2742,374],{"class":188},[226,2744,377,2745,330],{},[155,2746,871],{},[142,2748,2750],{"id":2749},"windowmessenger",[155,2751,955],{},[165,2753,2755],{"className":167,"code":2754,"language":169,"meta":170,"style":170},"type WindowMessenger\u003CTProtocolMap extends Record\u003Cstring, any>> =\n  GenericMessenger\u003CTProtocolMap, {}, WindowSendMessageArgs>;\n",[155,2756,2757,2783],{"__ignoreMap":170},[174,2758,2759,2761,2763,2765,2767,2769,2771,2773,2775,2777,2779,2781],{"class":176,"line":177},[174,2760,395],{"class":180},[174,2762,933],{"class":184},[174,2764,401],{"class":188},[174,2766,404],{"class":184},[174,2768,368],{"class":180},[174,2770,409],{"class":184},[174,2772,401],{"class":188},[174,2774,414],{"class":184},[174,2776,417],{"class":188},[174,2778,420],{"class":184},[174,2780,423],{"class":188},[174,2782,426],{"class":188},[174,2784,2785,2787,2789,2791,2793,2796,2799],{"class":176,"line":192},[174,2786,431],{"class":184},[174,2788,401],{"class":188},[174,2790,404],{"class":184},[174,2792,417],{"class":188},[174,2794,2795],{"class":188}," {},",[174,2797,2798],{"class":184}," WindowSendMessageArgs",[174,2800,448],{"class":188},[142,2802,2804],{"id":2803},"windowsendmessageargs",[155,2805,2806],{},"WindowSendMessageArgs",[165,2808,2810],{"className":167,"code":2809,"language":169,"meta":170,"style":170},"type WindowSendMessageArgs = [targetOrigin?: string, targetWindow?: Window];\n",[155,2811,2812],{"__ignoreMap":170},[174,2813,2814,2816,2818,2820,2822,2825,2827,2829,2831,2834,2836,2839,2841],{"class":176,"line":177},[174,2815,395],{"class":180},[174,2817,2798],{"class":184},[174,2819,499],{"class":188},[174,2821,1289],{"class":444},[174,2823,2824],{"class":184},"targetOrigin",[174,2826,199],{"class":188},[174,2828,2417],{"class":184},[174,2830,417],{"class":188},[174,2832,2833],{"class":184}," targetWindow",[174,2835,199],{"class":188},[174,2837,2838],{"class":184}," Window",[174,2840,1306],{"class":444},[174,2842,205],{"class":188},[226,2844,2845,2846,2848,2849,2851,2852,2854],{},"For a ",[155,2847,955],{},", ",[155,2850,572],{}," requires an additional argument, the ",[155,2853,2824],{},". It\ndefines which frames inside the page should receive the message.",[2510,2856,2857],{},[226,2858,149,2859,2863],{},[151,2860,2861],{"href":2861,"rel":2862},"https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage#targetorigin",[1178]," for more\ndetails.",[226,2865,2866],{},"message is posted on window which can as per your need like\nparent window in iframe -> window.parent\niframe content window -> iframe.contentWindow\nopener\toriginal window -> window.opener\nby default global window is used to send mesage",[226,2868,2869,2871],{},[255,2870],{},[255,2872],{},[139,2874],{},[226,2876,2877],{},[241,2878,2879,2880],{},"API reference generated by ",[151,2881,2884],{"href":2882,"rel":2883},"https://github.com/aklinker1/webext-core/blob/main/docs/generate-api-references.ts",[1178],[155,2885,2886],{},"docs/generate-api-references.ts",[2888,2889,2890],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":170,"searchDepth":192,"depth":192,"links":2892},[2893,2894,2897,2900,2901,2902,2905,2906,2909,2912,2913,2914,2915,2916,2917,2918,2919,2920,2923,2926,2930,2931,2934,2935,2936],{"id":144,"depth":192,"text":145},{"id":160,"depth":192,"text":163,"children":2895},[2896],{"id":232,"depth":208,"text":233},{"id":285,"depth":192,"text":288,"children":2898},[2899],{"id":333,"depth":208,"text":233},{"id":350,"depth":192,"text":353},{"id":383,"depth":192,"text":329},{"id":457,"depth":192,"text":380,"children":2903},[2904],{"id":576,"depth":208,"text":577},{"id":766,"depth":192,"text":769},{"id":868,"depth":192,"text":871,"children":2907},[2908],{"id":969,"depth":208,"text":577},{"id":1111,"depth":192,"text":1114,"children":2910},[2911],{"id":1159,"depth":208,"text":233},{"id":1184,"depth":192,"text":1187},{"id":1211,"depth":192,"text":853},{"id":1270,"depth":192,"text":1273},{"id":1328,"depth":192,"text":1331},{"id":1802,"depth":192,"text":1805},{"id":1962,"depth":192,"text":1515},{"id":2066,"depth":192,"text":2069},{"id":2177,"depth":192,"text":2180},{"id":2219,"depth":192,"text":325,"children":2921},[2922],{"id":2335,"depth":208,"text":233},{"id":2387,"depth":192,"text":2390,"children":2924},[2925],{"id":2426,"depth":208,"text":233},{"id":2443,"depth":192,"text":1958,"children":2927},[2928,2929],{"id":2517,"depth":208,"text":233},{"id":2546,"depth":208,"text":577},{"id":2607,"depth":192,"text":2610},{"id":2645,"depth":192,"text":2648,"children":2932},[2933],{"id":2693,"depth":208,"text":233},{"id":2722,"depth":192,"text":2725},{"id":2749,"depth":192,"text":955},{"id":2803,"depth":192,"text":2806},"md",null,{},{"title":48,"description":170},"d41fIhxSNowppo-A3CaivxpvPCfm4Ny8lCVg4ErHM8Y",[2943,2944],{"title":93,"path":94,"stem":95,"description":170,"children":-1},{"title":28,"path":105,"stem":106,"description":170,"children":-1},1779299497383]