@yuebai008/cli
Version:
Command line interface for rapid qg-minigame development
1 lines • 18.9 kB
JavaScript
import*as Common from"../../core/common/common.js";import*as i18n from"../../core/i18n/i18n.js";import*as SDK from"../../core/sdk/sdk.js";import*as UI from"../../ui/legacy/legacy.js";import*as MobileThrottling from"../mobile_throttling/mobile_throttling.js";import*as EmulationComponents from"../settings/emulation/components/components.js";import networkConfigViewStyles from"./networkConfigView.css.js";const UIStrings={custom:"Custom...",enterACustomUserAgent:"Enter a custom user agent",customUserAgentFieldIsRequired:"Custom user agent field is required",caching:"Caching",disableCache:"Disable cache",networkThrottling:"Network throttling",userAgent:"User agent",selectAutomatically:"Use browser default",acceptedEncoding:"Accepted `Content-Encoding`s",clientHintsStatusText:"User agent updated.",networkConditionsPanelShown:"Network conditions shown"},str_=i18n.i18n.registerUIStrings("panels/network/NetworkConfigView.ts",UIStrings),i18nString=i18n.i18n.getLocalizedString.bind(void 0,str_);let networkConfigViewInstance;export class NetworkConfigView extends UI.Widget.VBox{constructor(){super(!0),this.contentElement.classList.add("network-config"),this.createCacheSection(),this.contentElement.createChild("div").classList.add("panel-section-separator"),this.createNetworkThrottlingSection(),this.contentElement.createChild("div").classList.add("panel-section-separator"),this.createUserAgentSection(),this.contentElement.createChild("div").classList.add("panel-section-separator"),this.createAcceptedEncodingSection()}static instance(e={forceNew:null}){const{forceNew:t}=e;return networkConfigViewInstance&&!t||(networkConfigViewInstance=new NetworkConfigView),networkConfigViewInstance}static createUserAgentSelectAndInput(e){const t=Common.Settings.Settings.instance().createSetting("customUserAgent",""),i=Common.Settings.Settings.instance().createSetting("customUserAgentMetadata",null),o=document.createElement("select");UI.ARIAUtils.setLabel(o,e);const n={title:i18nString(UIStrings.custom),value:"custom"};o.appendChild(new Option(n.title,n.value));for(const e of userAgentGroups){const t=o.createChild("optgroup");t.label=e.title;for(const i of e.values){const e=SDK.NetworkManager.MultitargetNetworkManager.patchUserAgentWithChromeVersion(i.value);t.appendChild(new Option(i.title,e))}}o.selectedIndex=0;const a=UI.UIUtils.createInput("","text");a.value=t.get(),UI.Tooltip.Tooltip.install(a,t.get()),a.placeholder=i18nString(UIStrings.enterACustomUserAgent),a.required=!0,UI.ARIAUtils.setLabel(a,a.placeholder);const l=document.createElement("div");function r(){const e=t.get(),i=o.options;let n=!1;for(let t=0;t<i.length;++t)if(i[t].value===e){o.selectedIndex=t,n=!0;break}n||(o.selectedIndex=0)}return l.classList.add("network-config-input-validation-error"),UI.ARIAUtils.markAsAlert(l),a.value||(l.textContent=i18nString(UIStrings.customUserAgentFieldIsRequired)),r(),o.addEventListener("change",(function(){const e=o.options[o.selectedIndex].value;if(e!==n.value){t.set(e),a.value=e,UI.Tooltip.Tooltip.install(a,e);const o=getUserAgentMetadata(e);i.set(o),SDK.NetworkManager.MultitargetNetworkManager.instance().setCustomUserAgentOverride(e,o)}else i.set(null),a.select();l.textContent="";const r=new CustomEvent("user-agent-change",{detail:{value:e}});o.dispatchEvent(r)}),!1),a.addEventListener("input",(function(){t.get()!==a.value&&(a.value?l.textContent="":l.textContent=i18nString(UIStrings.customUserAgentFieldIsRequired),t.set(a.value),UI.Tooltip.Tooltip.install(a,a.value),r())}),!1),{select:o,input:a,error:l}}createSection(e,t){const i=this.contentElement.createChild("section","network-config-group");return t&&i.classList.add(t),i.createChild("div","network-config-title").textContent=e,i.createChild("div","network-config-fields")}createCacheSection(){this.createSection(i18nString(UIStrings.caching),"network-config-disable-cache").appendChild(UI.SettingsUI.createSettingCheckbox(i18nString(UIStrings.disableCache),Common.Settings.Settings.instance().moduleSetting("cacheDisabled"),!0))}createNetworkThrottlingSection(){const e=i18nString(UIStrings.networkThrottling),t=this.createSection(e,"network-config-throttling").createChild("select","chrome-select");MobileThrottling.ThrottlingManager.throttlingManager().decorateSelectWithNetworkThrottling(t),UI.ARIAUtils.setLabel(t,e)}createUserAgentSection(){const e=i18nString(UIStrings.userAgent),t=this.createSection(e,"network-config-ua"),i=UI.UIUtils.CheckboxLabel.create(i18nString(UIStrings.selectAutomatically),!0);t.appendChild(i);const o=i.checkboxElement,n=Common.Settings.Settings.instance().createSetting("customUserAgentMetadata",null),a=Common.Settings.Settings.instance().createSetting("customUserAgent","");a.addChangeListener((()=>{if(o.checked)return;const e=a.get(),t=getUserAgentMetadata(e);SDK.NetworkManager.MultitargetNetworkManager.instance().setCustomUserAgentOverride(e,t)}));const l=t.createChild("div","network-config-ua-custom");o.addEventListener("change",g);const r=NetworkConfigView.createUserAgentSelectAndInput(e);r.select.classList.add("chrome-select"),l.appendChild(r.select),l.appendChild(r.input),l.appendChild(r.error);const s=l.createChild("div","client-hints-form"),d=new EmulationComponents.UserAgentClientHintsForm.UserAgentClientHintsForm,c=n.get(),u=getUserAgentMetadata(r.select.value);d.value={showMobileCheckbox:!0,showSubmitButton:!0,metaData:c||u||void 0},s.appendChild(d),r.select.addEventListener("user-agent-change",(e=>{const t=e.detail.value,i=t?getUserAgentMetadata(t):null;d.value={metaData:i||void 0,showMobileCheckbox:!0,showSubmitButton:!0},m.textContent=""})),d.addEventListener("clienthintschange",(()=>{r.select.value="custom",m.textContent=""})),d.addEventListener("clienthintssubmit",(e=>{const t=e.detail.value,i=a.get();n.set(t),SDK.NetworkManager.MultitargetNetworkManager.instance().setCustomUserAgentOverride(i,t),m.textContent=i18nString(UIStrings.clientHintsStatusText)}));const m=t.createChild("span","status-text");function g(){const e=!o.checked;l.classList.toggle("checked",e),r.select.disabled=!e,r.input.disabled=!e,r.error.hidden=!e,d.disabled=!e;const t=e?a.get():"",i=e?getUserAgentMetadata(t):null;SDK.NetworkManager.MultitargetNetworkManager.instance().setCustomUserAgentOverride(t,i)}m.textContent="",g()}createAcceptedEncodingSection(){const e=i18nString(UIStrings.acceptedEncoding),t=this.createSection(e,"network-config-accepted-encoding"),i=UI.UIUtils.CheckboxLabel.create(i18nString(UIStrings.selectAutomatically),!0);t.appendChild(i);const o=i.checkboxElement,n=Common.Settings.Settings.instance().createSetting("useCustomAcceptedEncodings",!1),a=Common.Settings.Settings.instance().createSetting("customAcceptedEncodings","gzip,br,deflate");function l(){n.get()?SDK.NetworkManager.MultitargetNetworkManager.instance().setCustomAcceptedEncodingsOverride(""===a.get()?[]:a.get().split(",")):SDK.NetworkManager.MultitargetNetworkManager.instance().clearCustomAcceptedEncodingsOverride()}a.addChangeListener(l),n.addChangeListener(l);const r=t.createChild("div","network-config-accepted-encoding-custom");o.checked=!n.get(),o.addEventListener("change",c);const s=new Map,d={Deflate:"deflate",Gzip:"gzip",Br:"br",Zstd:"zstd"};for(const e of Object.values(d)){const t=UI.UIUtils.CheckboxLabel.create(e,!0);r.appendChild(t),s.set(e,t.checkboxElement)}for(const[e,t]of s)t.checked=a.get().includes(e),t.addEventListener("change",c);function c(){n.set(!o.checked);const e=[];for(const[t,i]of s)i.disabled=o.checked,i.checked&&e.push(t);a.set(e.join(","))}c()}wasShown(){super.wasShown(),this.registerCSSFiles([networkConfigViewStyles]),UI.ARIAUtils.alert(i18nString(UIStrings.networkConditionsPanelShown))}}function getUserAgentMetadata(e){for(const t of userAgentGroups)for(const i of t.values)if(e===SDK.NetworkManager.MultitargetNetworkManager.patchUserAgentWithChromeVersion(i.value))return i.metadata?(SDK.NetworkManager.MultitargetNetworkManager.patchUserAgentMetadataWithChromeVersion(i.metadata),i.metadata):null;return null}export const userAgentGroups=[{title:"Android",values:[{title:"Android (4.0.2) Browser — Galaxy Nexus",value:"Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",metadata:{brands:[{brand:"Not A;Brand",version:"99"},{brand:"Chromium",version:"%s"},{brand:"Google Chrome",version:"%s"}],fullVersion:"%s",platform:"Android",platformVersion:"4.0.2",architecture:"",model:"Galaxy Nexus",mobile:!0}},{title:"Android (2.3) Browser — Nexus S",value:"Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",metadata:{brands:[{brand:"Not A;Brand",version:"99"},{brand:"Chromium",version:"%s"},{brand:"Google Chrome",version:"%s"}],fullVersion:"%s",platform:"Android",platformVersion:"2.3.6",architecture:"",model:"Nexus S",mobile:!0}}]},{title:"BlackBerry",values:[{title:"BlackBerry — BB10",value:"Mozilla/5.0 (BB10; Touch) AppleWebKit/537.1+ (KHTML, like Gecko) Version/10.0.0.1337 Mobile Safari/537.1+",metadata:null},{title:"BlackBerry — PlayBook 2.1",value:"Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML, like Gecko) Version/7.2.1.0 Safari/536.2+",metadata:null},{title:"BlackBerry — 9900",value:"Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.187 Mobile Safari/534.11+",metadata:null}]},{title:"Chrome",values:[{title:"Chrome — Android Mobile",value:"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36",metadata:{brands:[{brand:"Not A;Brand",version:"99"},{brand:"Chromium",version:"%s"},{brand:"Google Chrome",version:"%s"}],fullVersion:"%s",platform:"Android",platformVersion:"6.0",architecture:"",model:"Nexus 5",mobile:!0}},{title:"Chrome — Android Mobile (high-end)",value:"Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36",metadata:{brands:[{brand:"Not A;Brand",version:"99"},{brand:"Chromium",version:"%s"},{brand:"Google Chrome",version:"%s"}],fullVersion:"%s",platform:"Android",platformVersion:"10",architecture:"",model:"Pixel 4",mobile:!0}},{title:"Chrome — Android Tablet",value:"Mozilla/5.0 (Linux; Android 4.3; Nexus 7 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36",metadata:{brands:[{brand:"Not A;Brand",version:"99"},{brand:"Chromium",version:"%s"},{brand:"Google Chrome",version:"%s"}],fullVersion:"%s",platform:"Android",platformVersion:"4.3",architecture:"",model:"Nexus 7",mobile:!0}},{title:"Chrome — iPhone",value:"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/%s Mobile/15E148 Safari/604.1",metadata:null},{title:"Chrome — iPad",value:"Mozilla/5.0 (iPad; CPU OS 13_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/%s Mobile/15E148 Safari/604.1",metadata:null},{title:"Chrome — Chrome OS",value:"Mozilla/5.0 (X11; CrOS x86_64 10066.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36",metadata:{brands:[{brand:"Not A;Brand",version:"99"},{brand:"Chromium",version:"%s"},{brand:"Google Chrome",version:"%s"}],fullVersion:"%s",platform:"Chrome OS",platformVersion:"10066.0.0",architecture:"x86",model:"",mobile:!1}},{title:"Chrome — Mac",value:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36",metadata:{brands:[{brand:"Not A;Brand",version:"99"},{brand:"Chromium",version:"%s"},{brand:"Google Chrome",version:"%s"}],fullVersion:"%s",platform:"macOS",platformVersion:"10_14_6",architecture:"x86",model:"",mobile:!1}},{title:"Chrome — Windows",value:"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36",metadata:{brands:[{brand:"Not A;Brand",version:"99"},{brand:"Chromium",version:"%s"},{brand:"Google Chrome",version:"%s"}],fullVersion:"%s",platform:"Windows",platformVersion:"10.0",architecture:"x86",model:"",mobile:!1}}]},{title:"Firefox",values:[{title:"Firefox — Android Mobile",value:"Mozilla/5.0 (Android 4.4; Mobile; rv:70.0) Gecko/70.0 Firefox/70.0",metadata:null},{title:"Firefox — Android Tablet",value:"Mozilla/5.0 (Android 4.4; Tablet; rv:70.0) Gecko/70.0 Firefox/70.0",metadata:null},{title:"Firefox — iPhone",value:"Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4",metadata:null},{title:"Firefox — iPad",value:"Mozilla/5.0 (iPad; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4",metadata:null},{title:"Firefox — Mac",value:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:70.0) Gecko/20100101 Firefox/70.0",metadata:null},{title:"Firefox — Windows",value:"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:70.0) Gecko/20100101 Firefox/70.0",metadata:null}]},{title:"Googlebot",values:[{title:"Googlebot",value:"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",metadata:null},{title:"Googlebot Desktop",value:"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/%s Safari/537.36",metadata:null},{title:"Googlebot Smartphone",value:"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",metadata:null}]},{title:"Internet Explorer",values:[{title:"Internet Explorer 11",value:"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko",metadata:null},{title:"Internet Explorer 10",value:"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)",metadata:null},{title:"Internet Explorer 9",value:"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",metadata:null},{title:"Internet Explorer 8",value:"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)",metadata:null},{title:"Internet Explorer 7",value:"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)",metadata:null}]},{title:"Microsoft Edge",values:[{title:"Microsoft Edge (Chromium) — Windows",value:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36 Edg/%s",metadata:{brands:[{brand:"Not A;Brand",version:"99"},{brand:"Chromium",version:"%s"},{brand:"Microsoft Edge",version:"%s"}],fullVersion:"%s",platform:"Windows",platformVersion:"10.0",architecture:"x86",model:"",mobile:!1}},{title:"Microsoft Edge (Chromium) — Mac",value:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Chrome/%s Safari/604.1 Edg/%s",metadata:{brands:[{brand:"Not A;Brand",version:"99"},{brand:"Chromium",version:"%s"},{brand:"Microsoft Edge",version:"%s"}],fullVersion:"%s",platform:"macOS",platformVersion:"10_14_6",architecture:"x86",model:"",mobile:!1}},{title:"Microsoft Edge — iPhone",value:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 EdgiOS/44.5.0.10 Mobile/15E148 Safari/604.1",metadata:null},{title:"Microsoft Edge — iPad",value:"Mozilla/5.0 (iPad; CPU OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 EdgiOS/44.5.2 Mobile/15E148 Safari/605.1.15",metadata:null},{title:"Microsoft Edge — Android Mobile",value:"Mozilla/5.0 (Linux; Android 8.1.0; Pixel Build/OPM4.171019.021.D1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Mobile Safari/537.36 EdgA/42.0.0.2057",metadata:{brands:[{brand:"Not A;Brand",version:"99"},{brand:"Chromium",version:"%s"},{brand:"Microsoft Edge",version:"%s"}],fullVersion:"%s",platform:"Android",platformVersion:"8.1.0",architecture:"",model:"Pixel",mobile:!0}},{title:"Microsoft Edge — Android Tablet",value:"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Safari/537.36 EdgA/42.0.0.2057",metadata:{brands:[{brand:"Not A;Brand",version:"99"},{brand:"Chromium",version:"%s"},{brand:"Microsoft Edge",version:"%s"}],fullVersion:"%s",platform:"Android",platformVersion:"6.0.1",architecture:"",model:"Nexus 7",mobile:!0}},{title:"Microsoft Edge (EdgeHTML) — Windows",value:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19042",metadata:null},{title:"Microsoft Edge (EdgeHTML) — XBox",value:"Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19041",metadata:null}]},{title:"Opera",values:[{title:"Opera — Mac",value:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36 OPR/65.0.3467.48",metadata:null},{title:"Opera — Windows",value:"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36 OPR/65.0.3467.48",metadata:null},{title:"Opera (Presto) — Mac",value:"Opera/9.80 (Macintosh; Intel Mac OS X 10.9.1) Presto/2.12.388 Version/12.16",metadata:null},{title:"Opera (Presto) — Windows",value:"Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.16",metadata:null},{title:"Opera Mobile — Android Mobile",value:"Opera/12.02 (Android 4.1; Linux; Opera Mobi/ADR-1111101157; U; en-US) Presto/2.9.201 Version/12.02",metadata:null},{title:"Opera Mini — iOS",value:"Opera/9.80 (iPhone; Opera Mini/8.0.0/34.2336; U; en) Presto/2.8.119 Version/11.10",metadata:null}]},{title:"Safari",values:[{title:"Safari — iPad iOS 13.2",value:"Mozilla/5.0 (iPad; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1",metadata:null},{title:"Safari — iPhone iOS 13.2",value:"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1",metadata:null},{title:"Safari — Mac",value:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15",metadata:null}]},{title:"UC Browser",values:[{title:"UC Browser — Android Mobile",value:"Mozilla/5.0 (Linux; U; Android 8.1.0; en-US; Nexus 6P Build/OPM7.181205.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.11.1.1197 Mobile Safari/537.36",metadata:null},{title:"UC Browser — iOS",value:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X; zh-CN) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/16B92 UCBrowser/12.1.7.1109 Mobile AliApp(TUnionSDK/0.1.20.3)",metadata:null},{title:"UC Browser — Windows Phone",value:"Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920) UCBrowser/10.1.0.563 Mobile",metadata:null}]}];