From 897b13b7df70b077412b0a030f19fb8d955408f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salvador=20D=C3=ADaz=20Fau?= Date: Fri, 8 Mar 2024 17:44:43 +0100 Subject: [PATCH] Fixed GetDefaultCEFUserAgent --- demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas | 86 +++++++++-- .../MiniBrowser/MiniBrowser.lpi | 2 +- demos/Lazarus_Windows/MiniBrowser/debug.log | 139 ------------------ .../MiniBrowser/uMiniBrowser.lfm | 2 +- .../MiniBrowser/uMiniBrowser.pas | 129 ++++++++++++---- source/uCEFMiscFunctions.pas | 128 ++++++++++++---- update_CEF4Delphi.json | 2 +- 7 files changed, 272 insertions(+), 216 deletions(-) delete mode 100644 demos/Lazarus_Windows/MiniBrowser/debug.log diff --git a/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas b/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas index 6f681252..1a5b6a12 100644 --- a/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas +++ b/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas @@ -37,6 +37,7 @@ const MINIBROWSER_SHOWFILEDLG = WM_APP + $10F; MINIBROWSER_SELECTCERT = WM_APP + $110; MINIBROWSER_MEDIAACCESSRQST = WM_APP + $111; + MINIBROWSER_SHOWBROWSERINFO = WM_APP + $112; MINIBROWSER_HOMEPAGE = 'https://www.google.com'; @@ -58,11 +59,21 @@ const MINIBROWSER_CONTEXTMENU_DECZOOM = MENU_ID_USER_FIRST + 16; MINIBROWSER_CONTEXTMENU_RESETZOOM = MENU_ID_USER_FIRST + 17; MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN = MENU_ID_USER_FIRST + 18; + MINIBROWSER_CONTEXTMENU_BROWSERINFO = MENU_ID_USER_FIRST + 19; - DEVTOOLS_SCREENSHOT_MSGID = 1; - DEVTOOLS_MHTML_MSGID = 2; + DEVTOOLS_SCREENSHOT_MSGID = 1001; + DEVTOOLS_MHTML_MSGID = 1002; + DEVTOOLS_BROWSERINFO_MSGID = 1003; type + TBrowserInfo = record + protocolVersion : string; + product : string; + revision : string; + userAgent : string; + jsVersion : string; + end; + TMiniBrowserFrm = class(TForm) NavControlPnl: TPanel; NavButtonPnl: TPanel; @@ -203,6 +214,7 @@ type FCertificates : TCefX509CertificateArray; FAllowDownloads : boolean; FJSException : integer; + FBrowserInfo : TBrowserInfo; FMediaAccessCallback : ICefMediaAccessCallback; FRequestingOrigin : string; @@ -227,6 +239,7 @@ type procedure HandleKeyUp(const aMsg : TMsg; var aHandled : boolean); procedure HandleKeyDown(const aMsg : TMsg; var aHandled : boolean); + procedure HandleBrowserInfo(const aResult : ICefValue); procedure InspectRequest(const aRequest : ICefRequest); procedure InspectResponse(const aResponse : ICefResponse); @@ -254,6 +267,7 @@ type procedure ShowFileDialogMsg(var aMessage : TMessage); message MINIBROWSER_SHOWFILEDLG; procedure SelectCertificateMsg(var aMessage : TMessage); message MINIBROWSER_SELECTCERT; procedure MediaAccessRequestMsg(var aMessage : TMessage); message MINIBROWSER_MEDIAACCESSRQST; + procedure ShowBrowserInfoMsg(var aMessage : TMessage); message MINIBROWSER_SHOWBROWSERINFO; procedure WMMove(var aMessage : TWMMove); message WM_MOVE; procedure WMMoving(var aMessage : TMessage); message WM_MOVING; procedure WMEnterMenuLoop(var aMessage: TMessage); message WM_ENTERMENULOOP; @@ -401,6 +415,7 @@ begin model.AddItem(MINIBROWSER_CONTEXTMENU_JSWRITEDOC, 'Modify HTML document'); model.AddItem(MINIBROWSER_CONTEXTMENU_JSPRINTDOC, 'Print using Javascript'); model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWRESPONSE, 'Show server headers'); + model.AddItem(MINIBROWSER_CONTEXTMENU_BROWSERINFO, 'Browser information...'); if DevTools.Visible then model.AddItem(MINIBROWSER_CONTEXTMENU_HIDEDEVTOOLS, 'Hide DevTools') @@ -618,6 +633,12 @@ begin MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN : Chromium1.ExitFullscreen(True); + + MINIBROWSER_CONTEXTMENU_BROWSERINFO : + begin + FPendingMsgID := DEVTOOLS_BROWSERINFO_MSGID; + Chromium1.ExecuteDevToolsMethod(0, 'Browser.getVersion', nil); + end; end else case commandId of @@ -1148,6 +1169,20 @@ begin end; end; +procedure TMiniBrowserFrm.ShowBrowserInfoMsg(var aMessage : TMessage); +var + TempInfo : string; +begin + TempInfo := 'protocolVersion: ' + FBrowserInfo.protocolVersion + CRLF + + 'product: ' + FBrowserInfo.product + CRLF + + 'revision: ' + FBrowserInfo.revision + CRLF + + 'userAgent: ' + FBrowserInfo.userAgent + CRLF + + 'jsVersion: ' + FBrowserInfo.jsVersion + CRLF + CRLF + + 'GetDefaultCEFUserAgent: ' + GetDefaultCEFUserAgent; + + showmessage(TempInfo); +end; + procedure TMiniBrowserFrm.Chromium1ResolvedHostAvailable(Sender: TObject; result: TCefErrorCode; const resolvedIps: TStrings); begin @@ -1505,6 +1540,26 @@ begin Chromium1.ExecuteDevToolsMethod(0, 'Page.captureScreenshot', nil); end; +procedure TMiniBrowserFrm.HandleBrowserInfo(const aResult : ICefValue); +var + TempDict : ICefDictionaryValue; +begin + if (aResult = nil) then exit; + + TempDict := aResult.GetDictionary; + + if (TempDict <> nil) and (TempDict.GetSize > 0) then + begin + FBrowserInfo.protocolVersion := TempDict.GetValue('protocolVersion').GetString; + FBrowserInfo.product := TempDict.GetValue('product').GetString; + FBrowserInfo.revision := TempDict.GetValue('revision').GetString; + FBrowserInfo.userAgent := TempDict.GetValue('userAgent').GetString; + FBrowserInfo.jsVersion := TempDict.GetValue('jsVersion').GetString; + + PostMessage(Handle, MINIBROWSER_SHOWBROWSERINFO, 0, 0); + end; +end; + procedure TMiniBrowserFrm.Chromium1DevToolsMethodResult( Sender : TObject; const browser : ICefBrowser; message_id : Integer; @@ -1522,19 +1577,28 @@ begin if success then begin - TempResult := 1; - FDevToolsMsgValue := ''; - - if (result <> nil) then + if (FPendingMsgID = DEVTOOLS_BROWSERINFO_MSGID) then begin - TempDict := result.GetDictionary; + HandleBrowserInfo(result); + FPendingMsgID := 0; + exit; + end + else + begin + TempResult := 1; + FDevToolsMsgValue := ''; - if (TempDict <> nil) and (TempDict.GetSize > 0) then + if (result <> nil) then begin - TempValue := TempDict.GetValue('data'); + TempDict := result.GetDictionary; - if (TempValue <> nil) and (TempValue.GetType = VTYPE_STRING) then - FDevToolsMsgValue := TempValue.GetString; + if (TempDict <> nil) and (TempDict.GetSize > 0) then + begin + TempValue := TempDict.GetValue('data'); + + if (TempValue <> nil) and (TempValue.GetType = VTYPE_STRING) then + FDevToolsMsgValue := TempValue.GetString; + end; end; end; end diff --git a/demos/Lazarus_Windows/MiniBrowser/MiniBrowser.lpi b/demos/Lazarus_Windows/MiniBrowser/MiniBrowser.lpi index ad9a794f..fe53e3ea 100644 --- a/demos/Lazarus_Windows/MiniBrowser/MiniBrowser.lpi +++ b/demos/Lazarus_Windows/MiniBrowser/MiniBrowser.lpi @@ -66,7 +66,7 @@ - + diff --git a/demos/Lazarus_Windows/MiniBrowser/debug.log b/demos/Lazarus_Windows/MiniBrowser/debug.log deleted file mode 100644 index c25bd108..00000000 --- a/demos/Lazarus_Windows/MiniBrowser/debug.log +++ /dev/null @@ -1,139 +0,0 @@ -[0126/152856.768:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0126/152856.768:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 1 time(s) -[0126/152856.940:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 33 ms -[0126/152856.974:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0126/152856.974:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 2 time(s) -[0126/152857.050:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 27 ms -[0126/152857.050:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0126/152857.050:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0126/152857.050:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 3 time(s) -[0126/152857.159:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 69 ms -[0126/152857.159:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0126/152857.159:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0126/152857.609:INFO:CONSOLE(423)] "Permissions policy violation: unload is not allowed in this document.", source: https://www.google.com/xjs/_/js/k=xjs.hd.en.deT8CnU2Gss.O/am=AAAAAAAAAAAAAAAAAAAAAAAgAAAAQAINhEMANkAAAAAAAySAAIAIRgCiEJAAYABEEPBQNgAAMAECS2ACSBF4JgEAQBNQBRAAAAAAAADBAFEAgQcEAACgAwBAAIUADEgQoAAEAAAAIA8AwQEwiCAAAAAAAAAAAACAABIE4YIEoCCAAAAAAAAAAAAAAEBKmqgwDA/d=1/ed=1/dg=2/br=1/rs=ACT90oHeMQPPTRkeI-3oQbXtjhZkpTNOxw/ee=AfeaP:TkrAjf;Afksuc:wMx0R;BMxAGc:E5bFse;BgS6mb:fidj5d;BjwMce:cXX2Wb;CxXAWb:YyRLvc;DULqB:RKfG5c;DpcR3d:zL72xf;EABSZ:MXZt9d;ESrPQc:mNTJvc;EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;EnlcNd:WeHg4;Erl4fe:FloWmf,FloWmf;F9mqte:UoRcbe;Fmv9Nc:O1Tzwc;G0KhTb:LIaoZ;G6wU6e:hezEbd;GleZL:J1A7Od;HMDDWe:G8QUdb;IBADCc:RYquRb;IoGlCf:b5lhvb;IsdWVc:qzxzOb;JXS8fb:Qj0suc;JbMT3:M25sS;JsbNhc:Xd8iUd;KOxcK:OZqGte;KQzWid:ZMKkN;KcokUb:KiuZBf;KeeMUb:HiPxjc;KpRAue:Tia57b;LBgRLc:SdcwHb,XVMNvd;LEikZe:byfTOb,lsjVmc;LsNahb:ucGLNb;Me32dd:MEeYgc;NPKaK:SdcwHb;NSEoX:lazG7b;Np8Qkd:Dpx6qc;Nyt6ic:jn2sGd;OgagBe:cNTe0;Oj465e:KG2eXe,KG2eXe;OohIYe:mpEAQb;Pjplud:EEDORb,PoEs9b;Q1Ow7b:x5CSu;QGR0gd:Mlhmy;R4IIIb:QWfeKf;R9Ulx:CR7Ufe;RDNBlf:zPRCJb;SLtqO:Kh1xYe;SMDL4c:fTfGO,pnvXVc;SNUn3:ZwDk9d,x8cHvb;ShpF6e:N0pvGc;TxfV6d:YORN0b;U96pRd:FsR04;UDrY1c:eps46d;UVmjEd:EesRsb;UyG7Kb:wQd0G;V2HTTe:RolTY;VGRfx:VFqbr;VN6jIc:ddQyuf;VOcgDe:YquhTb;VsAqSb:PGf2Re;VxQ32b:k0XsBb;WCEKNd:I46Hvd;WDGyFe:jcVOxd;Wfmdue:g3MJlb;XUezZ:sa7lqb;YV5bee:IvPZ6d;ZWEUA:afR4Cf;a56pNe:JEfCwb;aAJE9c:WHW6Ef;aZ61od:arTwJ;bFZ6gf:RsDQqe;bcPXSc:gSZLJb;cEt90b:ws9Tlc;cFTWae:gT8qnd;coJ8e:KvoW8;dIoSBb:ZgGg9b;dLlj2:Qqt3Gf;daB6be:lMxGPd;dtl0hd:lLQWFe;eBAeSb:Ck63tb;eBZ5Nd:audvde;eHDfl:ofjVkb;eO3lse:nFClrf;fWLTFc:TVBJbf;g8nkx:U4MzKc;gaub4:TN6bMe;gtVSi:ekUOYd;h3MYod:cEt90b;hK67qb:QWEO5b;hLUtwc:KB8OKd;heHB1:sFczq;hjRo6e:F62sG;iFQyKf:QIhFr,vfuNJf;imqimf:jKGL2e;io8t5d:sgY6Zb;jY0zg:Q6tNgc;k2Qxcb:XY51pe;kCQyJ:ueyPK;kMFpHd:OTA3Ae;kbAm9d:MkHyGd;lkq0A:JyBE3e;nAFL3:NTMZac,s39S4;oGtAuc:sOXFj;oSUNyd:fTfGO,fTfGO,pnvXVc;oUlnpc:RagDlc;okUaUd:wItadb;pKJiXd:VCenhc;pNsl2d:j9Yuyc;pXdRYb:JKoKVe;pj82le:mg5CW;qZx2Fc:j0xrE;qaS3gd:yiLg6e;qavrXe:zQzcXe;qddgKe:d7YSfd,x4FYXe;rQSrae:C6D5Fc;sP4Vbe:VwDzFe;sTsDMc:kHVSUb;tH4IIe:Ymry6;tosKvd:ZCqP3;trZL0b:qY8PFe;uY49fb:COQbmf;uuQkY:u2V3ud;vGrMZ:lPJJ0c;vfVwPd:lcrkwe;w3bZCb:ZPGaIb;w4rSdf:XKiZ9;w9w86d:dt4g2b;wQlYve:aLUfP;wR5FRb:O1Gjze,TtcOte;wV5Pjc:L8KGxe;whEZac:F4AmNb;xBbsrc:NEW1Qc;yGxLoc:FmAr0c;yxTchf:KUM7Z;z97YGf:oug9te;zOsCQe:Ko78Df;zaIgPb:Qtpxbd/m=cdos,hsm,jsa,mb4ZUb,d,csi,cEt90b,SNUn3,qddgKe,sTsDMc,dtl0hd,eHDfl (423) -[0126/152904.121:ERROR:gles2_cmd_decoder_passthrough.cc(946)] ContextResult::kFatalFailure: fail_if_major_perf_caveat + swiftshader -[0126/152904.132:ERROR:gles2_cmd_decoder_passthrough.cc(946)] ContextResult::kFatalFailure: fail_if_major_perf_caveat + swiftshader -[0126/153007.358:WARNING:sqlite_persistent_store_backend_base.cc(197)] Failed to post task from FlushAndNotifyInBackground@net\extras\sqlite\sqlite_persistent_store_backend_base.cc:246 to client_task_runner_. -[0126/153007.358:WARNING:sqlite_persistent_store_backend_base.cc(197)] Failed to post task from FlushAndNotifyInBackground@net\extras\sqlite\sqlite_persistent_store_backend_base.cc:246 to client_task_runner_. -[0201/144344.616:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0201/144344.616:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 1 time(s) -[0201/144344.693:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 30 ms -[0201/144344.709:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0201/144344.709:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 2 time(s) -[0201/144344.771:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 21 ms -[0201/144344.787:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0201/144344.787:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 3 time(s) -[0201/144344.896:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 72 ms -[0201/144344.896:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0201/144345.167:ERROR:interface_endpoint_client.cc(702)] Message 0 rejected by interface blink.mojom.WidgetHost -[0201/144345.670:INFO:CONSOLE(421)] "Permissions policy violation: unload is not allowed in this document.", source: https://www.google.com/xjs/_/js/k=xjs.hd.en.Xu1x5siTfG0.O/am=AAAAAAAAAAAAAAAAAAAAAAAgAAAAQAINhEMANkAAAAAAAyRAACCCMYAoBEgADIAIAh7KBgAAJiCwBCaAFIFnEgAANAFVAAEAAAAAAAgGiAEEHhAAAIAOAIAAigAMQBCgAAgAAABAHoDgAAYpCAAAAAAAAAAAACCABEG4IAEFAQQAAAAAAAAAAAAAUmmiwjA/d=1/ed=1/dg=2/br=1/rs=ACT90oFAXoTUP5s_Oprq_alxmLzD4OwMeg/ee=AfeaP:TkrAjf;Afksuc:wMx0R;BMxAGc:E5bFse;BgS6mb:fidj5d;BjwMce:cXX2Wb;CxXAWb:YyRLvc;DULqB:RKfG5c;DpcR3d:zL72xf;EABSZ:MXZt9d;ESrPQc:mNTJvc;EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;EnlcNd:WeHg4;Erl4fe:FloWmf,FloWmf;F9mqte:UoRcbe;Fmv9Nc:O1Tzwc;G0KhTb:LIaoZ;G6wU6e:hezEbd;GleZL:J1A7Od;HMDDWe:G8QUdb;IBADCc:RYquRb;IoGlCf:b5lhvb;IsdWVc:qzxzOb;JXS8fb:Qj0suc;JbMT3:M25sS;JsbNhc:Xd8iUd;KOxcK:OZqGte;KQzWid:ZMKkN;KcokUb:KiuZBf;KeeMUb:HiPxjc;KpRAue:Tia57b;LBgRLc:XVMNvd;LEikZe:byfTOb,lsjVmc;LsNahb:ucGLNb;Me32dd:MEeYgc;NPKaK:PVlQOd;NSEoX:lazG7b;Np8Qkd:Dpx6qc;Nyt6ic:jn2sGd;OgagBe:cNTe0;Oj465e:KG2eXe,KG2eXe;OohIYe:mpEAQb;Pjplud:EEDORb,PoEs9b;Q1Ow7b:x5CSu;QGR0gd:Mlhmy;R4IIIb:QWfeKf;R9Ulx:CR7Ufe;RDNBlf:zPRCJb;SLtqO:Kh1xYe;SMDL4c:fTfGO,pnvXVc;SNUn3:ZwDk9d,x8cHvb;ShpF6e:N0pvGc;TxfV6d:YORN0b;U96pRd:FsR04;UDrY1c:eps46d;UVmjEd:EesRsb;UyG7Kb:wQd0G;V2HTTe:RolTY;VGRfx:VFqbr;VN6jIc:ddQyuf;VOcgDe:YquhTb;VsAqSb:PGf2Re;VxQ32b:k0XsBb;WCEKNd:I46Hvd;WDGyFe:jcVOxd;Wfmdue:g3MJlb;XUezZ:sa7lqb;YV5bee:IvPZ6d;ZMvdv:PHFPjb;ZWEUA:afR4Cf;a56pNe:JEfCwb;aAJE9c:WHW6Ef;aZ61od:arTwJ;bFZ6gf:RsDQqe;bcPXSc:gSZLJb;cEt90b:ws9Tlc;cFTWae:gT8qnd;coJ8e:KvoW8;dIoSBb:ZgGg9b;dLlj2:Qqt3Gf;daB6be:lMxGPd;dtl0hd:lLQWFe;eBAeSb:Ck63tb;eBZ5Nd:audvde;eHDfl:ofjVkb;eO3lse:nFClrf;fWLTFc:TVBJbf;g8nkx:U4MzKc;gaub4:TN6bMe;gtVSi:ekUOYd;h3MYod:cEt90b;hK67qb:QWEO5b;hLUtwc:KB8OKd;heHB1:sFczq;hjRo6e:F62sG;iFQyKf:QIhFr,vfuNJf;imqimf:jKGL2e;io8t5d:sgY6Zb;jY0zg:Q6tNgc;k2Qxcb:XY51pe;kCQyJ:ueyPK;kMFpHd:OTA3Ae;kbAm9d:MkHyGd;lkq0A:JyBE3e;nAFL3:NTMZac,s39S4;oGtAuc:sOXFj;oSUNyd:fTfGO,fTfGO,pnvXVc;oUlnpc:RagDlc;okUaUd:wItadb;pKJiXd:VCenhc;pNsl2d:j9Yuyc;pXdRYb:JKoKVe;pj82le:mg5CW;qZx2Fc:j0xrE;qaS3gd:yiLg6e;qavrXe:zQzcXe;qddgKe:d7YSfd,x4FYXe;rQSrae:C6D5Fc;sP4Vbe:VwDzFe;sTsDMc:kHVSUb;tH4IIe:Ymry6;tosKvd:ZCqP3;trZL0b:qY8PFe;uY49fb:COQbmf;uuQkY:u2V3ud;vGrMZ:lPJJ0c;vfVwPd:lcrkwe;w3bZCb:ZPGaIb;w4rSdf:XKiZ9;w9w86d:dt4g2b;wQlYve:aLUfP;wR5FRb:TtcOte;wV5Pjc:L8KGxe;whEZac:F4AmNb;xBbsrc:NEW1Qc;yGxLoc:FmAr0c;yxTchf:KUM7Z;z97YGf:oug9te;zOsCQe:Ko78Df;zaIgPb:Qtpxbd/m=cdos,hsm,jsa,mb4ZUb,d,csi,cEt90b,SNUn3,qddgKe,sTsDMc,dtl0hd,eHDfl (421) -[0203/163043.059:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0203/163043.059:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 1 time(s) -[0203/163043.078:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0203/163043.122:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 27 ms -[0203/163043.138:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0203/163043.138:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0203/163043.138:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 2 time(s) -[0203/163043.200:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 37 ms -[0203/163043.215:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0203/163043.215:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 3 time(s) -[0203/163043.325:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 60 ms -[0203/163043.330:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0203/163043.469:INFO:CONSOLE(421)] "Permissions policy violation: unload is not allowed in this document.", source: https://www.google.com/xjs/_/js/k=xjs.hd.en.4-wbcMM-7bI.O/am=AAAAAAAAAAAAAAAAAAAAAAAgAAAAQAINhEMANkAAAAAwQAIEACIYA4hCgAiAARCCgIeyAQAATEBgCUwAKQQmAQBAE1AFEAAAAAAAgGCAGEDgAQEAAOgAgALAAAQBCoAAAAAA5AEIDmCQggAAAAAAAAAAAAACSBCECxIoCCAAAAAAAAAAAAAAkEoTFYYB/d=1/ed=1/dg=2/br=1/rs=ACT90oHKIv4QYyUhDr3siFwFRVdBT6dkHA/ee=AfeaP:TkrAjf;Afksuc:wMx0R;BMxAGc:E5bFse;BgS6mb:fidj5d;BjwMce:cXX2Wb;CxXAWb:YyRLvc;DULqB:RKfG5c;DpcR3d:zL72xf;EABSZ:MXZt9d;ESrPQc:mNTJvc;EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;EnlcNd:WeHg4;Erl4fe:FloWmf,FloWmf;F9mqte:UoRcbe;Fmv9Nc:O1Tzwc;G0KhTb:LIaoZ;G6wU6e:hezEbd;GleZL:J1A7Od;HMDDWe:G8QUdb;IBADCc:RYquRb;IoGlCf:b5lhvb;IsdWVc:qzxzOb;JXS8fb:Qj0suc;JbMT3:M25sS;JsbNhc:Xd8iUd;KOxcK:OZqGte;KQzWid:ZMKkN;KcokUb:KiuZBf;KeeMUb:HiPxjc;KpRAue:Tia57b;LBgRLc:XVMNvd;LEikZe:byfTOb,lsjVmc;LsNahb:ucGLNb;Me32dd:MEeYgc;NPKaK:PVlQOd;NSEoX:lazG7b;Np8Qkd:Dpx6qc;Nyt6ic:jn2sGd;OgagBe:cNTe0;Oj465e:KG2eXe,KG2eXe;OohIYe:mpEAQb;Pjplud:EEDORb,PoEs9b;Q1Ow7b:x5CSu;QGR0gd:Mlhmy;R4IIIb:QWfeKf;R9Ulx:CR7Ufe;RDNBlf:zPRCJb;SLtqO:Kh1xYe;SMDL4c:fTfGO,pnvXVc;SNUn3:ZwDk9d,x8cHvb;ShpF6e:N0pvGc;TxfV6d:YORN0b;U96pRd:FsR04;UDrY1c:eps46d;UVmjEd:EesRsb;UyG7Kb:wQd0G;V2HTTe:RolTY;VGRfx:VFqbr;VN6jIc:ddQyuf;VOcgDe:YquhTb;VsAqSb:PGf2Re;VxQ32b:k0XsBb;WCEKNd:I46Hvd;WDGyFe:jcVOxd;Wfmdue:g3MJlb;XUezZ:sa7lqb;YV5bee:IvPZ6d;ZMvdv:PHFPjb;ZWEUA:afR4Cf;a56pNe:JEfCwb;aAJE9c:WHW6Ef;aZ61od:arTwJ;bFZ6gf:RsDQqe;bcPXSc:gSZLJb;cEt90b:ws9Tlc;cFTWae:gT8qnd;coJ8e:KvoW8;dIoSBb:ZgGg9b;dLlj2:Qqt3Gf;daB6be:lMxGPd;dtl0hd:lLQWFe;eBAeSb:Ck63tb;eBZ5Nd:audvde;eHDfl:ofjVkb;eO3lse:nFClrf;fWLTFc:TVBJbf;g8nkx:U4MzKc;gaub4:TN6bMe;gtVSi:ekUOYd;h3MYod:cEt90b;hK67qb:QWEO5b;hLUtwc:KB8OKd;heHB1:sFczq;hjRo6e:F62sG;iFQyKf:QIhFr,vfuNJf;imqimf:jKGL2e;io8t5d:sgY6Zb;jY0zg:Q6tNgc;k2Qxcb:XY51pe;kCQyJ:ueyPK;kMFpHd:OTA3Ae;kbAm9d:MkHyGd;lkq0A:JyBE3e;nAFL3:NTMZac,s39S4;oGtAuc:sOXFj;oSUNyd:fTfGO,fTfGO,pnvXVc;oUlnpc:RagDlc;okUaUd:wItadb;pKJiXd:VCenhc;pNsl2d:j9Yuyc;pXdRYb:JKoKVe;pj82le:mg5CW;qZx2Fc:j0xrE;qaS3gd:yiLg6e;qavrXe:zQzcXe;qddgKe:d7YSfd,x4FYXe;rQSrae:C6D5Fc;sP4Vbe:VwDzFe;sTsDMc:kHVSUb;tH4IIe:Ymry6;tosKvd:ZCqP3;trZL0b:qY8PFe;uY49fb:COQbmf;uuQkY:u2V3ud;vGrMZ:lPJJ0c;vfVwPd:lcrkwe;w3bZCb:ZPGaIb;w4rSdf:XKiZ9;w9w86d:dt4g2b;wQlYve:aLUfP;wR5FRb:TtcOte;wV5Pjc:L8KGxe;whEZac:F4AmNb;xBbsrc:NEW1Qc;yGxLoc:FmAr0c;yxTchf:KUM7Z;z97YGf:oug9te;zOsCQe:Ko78Df;zaIgPb:Qtpxbd/m=cdos,hsm,jsa,mb4ZUb,d,csi,cEt90b,SNUn3,qddgKe,sTsDMc,dtl0hd,eHDfl (421) -[0203/163048.895:WARNING:sqlite_persistent_store_backend_base.cc(197)] Failed to post task from FlushAndNotifyInBackground@net\extras\sqlite\sqlite_persistent_store_backend_base.cc:246 to client_task_runner_. -[0203/163048.895:WARNING:sqlite_persistent_store_backend_base.cc(197)] Failed to post task from FlushAndNotifyInBackground@net\extras\sqlite\sqlite_persistent_store_backend_base.cc:246 to client_task_runner_. -[0207/123535.212:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0207/123535.212:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 1 time(s) -[0207/123535.275:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 26 ms -[0207/123535.291:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0207/123535.291:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 2 time(s) -[0207/123535.291:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0207/123535.338:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 27 ms -[0207/123535.354:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0207/123535.354:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0207/123535.354:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 3 time(s) -[0207/123535.463:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 80 ms -[0207/123535.470:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0207/123535.608:INFO:CONSOLE(421)] "Permissions policy violation: unload is not allowed in this document.", source: https://www.google.com/xjs/_/js/k=xjs.hd.en.EwKHZUL6au4.O/am=AAAAAAAAAAAAAAAAAAAAAAAgAAAAQAINhEMANkAAAAAwQAIEACIYA4hCABEAAyAEAQ9lAwAAMAGBJTABpBCYBAAATUAVQAAAAAAAAIIBYgCBBwQAAKADAAoAAxAEKAACAAAAkAcgOIBBCgIAAAAAAAAAAAAIICkQLkigIIAAAAAAAAAAAAAAQCpNVBgG/d=1/ed=1/dg=2/br=1/rs=ACT90oGyvMOoDRe0ZyU4zB7S9EIFVbigiQ/ee=AfeaP:TkrAjf;Afksuc:wMx0R;BMxAGc:E5bFse;BgS6mb:fidj5d;BjwMce:cXX2Wb;CxXAWb:YyRLvc;DULqB:RKfG5c;DpcR3d:zL72xf;EABSZ:MXZt9d;ESrPQc:mNTJvc;EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;EnlcNd:WeHg4;Erl4fe:FloWmf,FloWmf;F9mqte:UoRcbe;Fmv9Nc:O1Tzwc;G0KhTb:LIaoZ;G6wU6e:hezEbd;GleZL:J1A7Od;HMDDWe:G8QUdb;IBADCc:RYquRb;IoGlCf:b5lhvb;IsdWVc:qzxzOb;JXS8fb:Qj0suc;JbMT3:M25sS;JsbNhc:Xd8iUd;KOxcK:OZqGte;KQzWid:ZMKkN;KcokUb:KiuZBf;KeeMUb:HiPxjc;KpRAue:Tia57b;LBgRLc:XVMNvd;LEikZe:byfTOb,lsjVmc;LsNahb:ucGLNb;Me32dd:MEeYgc;NPKaK:PVlQOd;NSEoX:lazG7b;Np8Qkd:Dpx6qc;Nyt6ic:jn2sGd;OgagBe:cNTe0;Oj465e:KG2eXe,KG2eXe;OohIYe:mpEAQb;Pjplud:EEDORb,PoEs9b;Q1Ow7b:x5CSu;QGR0gd:Mlhmy;R4IIIb:QWfeKf;R9Ulx:CR7Ufe;RDNBlf:zPRCJb;SLtqO:Kh1xYe;SMDL4c:fTfGO,pnvXVc;SNUn3:ZwDk9d,x8cHvb;ShpF6e:N0pvGc;TxfV6d:YORN0b;U96pRd:FsR04;UDrY1c:eps46d;UVmjEd:EesRsb;UyG7Kb:wQd0G;V2HTTe:RolTY;VGRfx:VFqbr;VN6jIc:ddQyuf;VOcgDe:YquhTb;VsAqSb:PGf2Re;VxQ32b:k0XsBb;WCEKNd:I46Hvd;WDGyFe:jcVOxd;Wfmdue:g3MJlb;XUezZ:sa7lqb;YV5bee:IvPZ6d;ZMvdv:PHFPjb;ZWEUA:afR4Cf;a56pNe:JEfCwb;aAJE9c:WHW6Ef;aZ61od:arTwJ;bFZ6gf:RsDQqe;bcPXSc:gSZLJb;cEt90b:ws9Tlc;cFTWae:gT8qnd;coJ8e:KvoW8;dIoSBb:ZgGg9b;dLlj2:Qqt3Gf;daB6be:lMxGPd;dtl0hd:lLQWFe;eBAeSb:Ck63tb;eBZ5Nd:audvde;eHDfl:ofjVkb;eO3lse:nFClrf;fWLTFc:TVBJbf;g8nkx:U4MzKc;gaub4:TN6bMe;gtVSi:ekUOYd;h3MYod:cEt90b;hK67qb:QWEO5b;hLUtwc:KB8OKd;heHB1:sFczq;hjRo6e:F62sG;iFQyKf:QIhFr,vfuNJf;imqimf:jKGL2e;io8t5d:sgY6Zb;jY0zg:Q6tNgc;k2Qxcb:XY51pe;kCQyJ:ueyPK;kMFpHd:OTA3Ae;kbAm9d:MkHyGd;lkq0A:JyBE3e;nAFL3:NTMZac,s39S4;oGtAuc:sOXFj;oSUNyd:fTfGO,fTfGO,pnvXVc;oUlnpc:RagDlc;okUaUd:wItadb;pKJiXd:VCenhc;pNsl2d:j9Yuyc;pXdRYb:JKoKVe;pj82le:mg5CW;qZx2Fc:j0xrE;qaS3gd:yiLg6e;qavrXe:zQzcXe;qddgKe:d7YSfd,x4FYXe;rQSrae:C6D5Fc;sP4Vbe:VwDzFe;sTsDMc:kHVSUb;tH4IIe:Ymry6;tosKvd:ZCqP3;trZL0b:qY8PFe;uY49fb:COQbmf;uuQkY:u2V3ud;vGrMZ:lPJJ0c;vfVwPd:lcrkwe;w3bZCb:ZPGaIb;w4rSdf:XKiZ9;w9w86d:dt4g2b;wQlYve:aLUfP;wR5FRb:TtcOte;wV5Pjc:L8KGxe;whEZac:F4AmNb;xBbsrc:NEW1Qc;yGxLoc:FmAr0c;yxTchf:KUM7Z;z97YGf:oug9te;zOsCQe:Ko78Df;zaIgPb:Qtpxbd/m=cdos,hsm,jsa,mb4ZUb,d,csi,cEt90b,SNUn3,qddgKe,sTsDMc,dtl0hd,eHDfl (421) -[0207/123539.320:ERROR:CONSOLE(1)] "Request Autofill.enable failed. {"code":-32601,"message":"'Autofill.enable' wasn't found"}", source: devtools://devtools/core/protocol_client/protocol_client.js (1) -[0208/092718.330:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0208/092718.346:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 1 time(s) -[0208/092718.423:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 39 ms -[0208/092718.423:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0208/092718.423:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0208/092718.423:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 2 time(s) -[0208/092718.454:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 18 ms -[0208/092718.473:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0208/092718.473:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0208/092718.473:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 3 time(s) -[0208/092718.564:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 63 ms -[0208/092718.570:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0208/092718.571:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0208/092718.662:INFO:CONSOLE(410)] "Permissions policy violation: unload is not allowed in this document.", source: https://www.google.com/xjs/_/js/k=xjs.hd.en.HVb3Hhad5dQ.O/am=AAAAAAAAAAAAAAAAAAAAAAAgAAAAQAINhEMANkAAAAAwQAIEACIYA4hCABEAAxCCgIeyAQCYgMASmABSCEwCAIAmoAogAAAAAAAAwQAxgMADAgAA0AGAAsAABAEKgAAAAADkAQgOYJCCAAAAAAAAAAAAAAJIEIQLEigIIAAAAAAAAAAAAACQShMVhgE/d=1/ed=1/dg=2/br=1/rs=ACT90oEzYziGVBf0VIFbCd3R4jNLlyqKug/ee=AfeaP:TkrAjf;Afksuc:wMx0R;BMxAGc:E5bFse;BgS6mb:fidj5d;BjwMce:cXX2Wb;CxXAWb:YyRLvc;DULqB:RKfG5c;DpcR3d:zL72xf;EABSZ:MXZt9d;ESrPQc:mNTJvc;EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;EnlcNd:WeHg4;Erl4fe:FloWmf,FloWmf;F9mqte:UoRcbe;Fmv9Nc:O1Tzwc;G0KhTb:LIaoZ;G6wU6e:hezEbd;GleZL:J1A7Od;HMDDWe:G8QUdb;IBADCc:RYquRb;IoGlCf:b5lhvb;IsdWVc:qzxzOb;JXS8fb:Qj0suc;JbMT3:M25sS;JsbNhc:Xd8iUd;KOxcK:OZqGte;KQzWid:ZMKkN;KcokUb:KiuZBf;KeeMUb:HiPxjc;KpRAue:Tia57b;LBgRLc:XVMNvd;LEikZe:byfTOb,lsjVmc;LsNahb:ucGLNb;Me32dd:MEeYgc;NPKaK:PVlQOd;NSEoX:lazG7b;Np8Qkd:Dpx6qc;Nyt6ic:jn2sGd;OgagBe:cNTe0;Oj465e:KG2eXe,KG2eXe;OohIYe:mpEAQb;Pjplud:EEDORb,PoEs9b;Q1Ow7b:x5CSu;QGR0gd:Mlhmy;R4IIIb:QWfeKf;R9Ulx:CR7Ufe;RDNBlf:zPRCJb;SLtqO:Kh1xYe;SMDL4c:fTfGO,pnvXVc;SNUn3:ZwDk9d,x8cHvb;ShpF6e:N0pvGc;TxfV6d:YORN0b;U96pRd:FsR04;UDrY1c:eps46d;UVmjEd:EesRsb;UyG7Kb:wQd0G;V2HTTe:RolTY;VGRfx:VFqbr;VN6jIc:ddQyuf;VOcgDe:YquhTb;VsAqSb:PGf2Re;VxQ32b:k0XsBb;WCEKNd:I46Hvd;WDGyFe:jcVOxd;Wfmdue:g3MJlb;XUezZ:sa7lqb;YV5bee:IvPZ6d;ZMvdv:PHFPjb;ZWEUA:afR4Cf;a56pNe:JEfCwb;aAJE9c:WHW6Ef;aZ61od:arTwJ;bFZ6gf:RsDQqe;bcPXSc:gSZLJb;cEt90b:ws9Tlc;cFTWae:gT8qnd;coJ8e:KvoW8;dIoSBb:ZgGg9b;dLlj2:Qqt3Gf;daB6be:lMxGPd;dtl0hd:lLQWFe;eBAeSb:Ck63tb;eBZ5Nd:audvde;eHDfl:ofjVkb;eO3lse:nFClrf;fWLTFc:TVBJbf;g8nkx:U4MzKc;gaub4:TN6bMe;gtVSi:ekUOYd;h3MYod:cEt90b;hK67qb:QWEO5b;hLUtwc:KB8OKd;heHB1:sFczq;hjRo6e:F62sG;iFQyKf:QIhFr,vfuNJf;imqimf:jKGL2e;io8t5d:sgY6Zb;jY0zg:Q6tNgc;k2Qxcb:XY51pe;kCQyJ:ueyPK;kMFpHd:OTA3Ae;kbAm9d:MkHyGd;lkq0A:JyBE3e;nAFL3:NTMZac,s39S4;oGtAuc:sOXFj;oSUNyd:fTfGO,fTfGO,pnvXVc;oUlnpc:RagDlc;okUaUd:wItadb;pKJiXd:VCenhc;pNsl2d:j9Yuyc;pXdRYb:JKoKVe;pj82le:mg5CW;qZx2Fc:j0xrE;qaS3gd:yiLg6e;qavrXe:zQzcXe;qddgKe:d7YSfd,x4FYXe;rQSrae:C6D5Fc;sP4Vbe:VwDzFe;sTsDMc:kHVSUb;tH4IIe:Ymry6;tosKvd:ZCqP3;trZL0b:qY8PFe;uY49fb:COQbmf;uuQkY:u2V3ud;vGrMZ:lPJJ0c;vfVwPd:lcrkwe;w3bZCb:ZPGaIb;w4rSdf:XKiZ9;w9w86d:dt4g2b;wQlYve:aLUfP;wR5FRb:TtcOte;wV5Pjc:L8KGxe;whEZac:F4AmNb;xBbsrc:NEW1Qc;yGxLoc:FmAr0c;yxTchf:KUM7Z;z97YGf:oug9te;zOsCQe:Ko78Df;zaIgPb:Qtpxbd/m=cdos,hsm,jsa,mb4ZUb,d,csi,cEt90b,SNUn3,qddgKe,sTsDMc,dtl0hd,eHDfl (410) -[0208/092721.522:ERROR:interface_endpoint_client.cc(702)] Message 0 rejected by interface blink.mojom.WidgetHost -[0208/092721.747:ERROR:gles2_cmd_decoder_passthrough.cc(946)] ContextResult::kFatalFailure: fail_if_major_perf_caveat + swiftshader -[0208/092721.752:ERROR:gles2_cmd_decoder_passthrough.cc(946)] ContextResult::kFatalFailure: fail_if_major_perf_caveat + swiftshader -[0208/092806.223:WARNING:sqlite_persistent_store_backend_base.cc(197)] Failed to post task from FlushAndNotifyInBackground@net\extras\sqlite\sqlite_persistent_store_backend_base.cc:246 to client_task_runner_. -[0208/092806.223:WARNING:sqlite_persistent_store_backend_base.cc(197)] Failed to post task from FlushAndNotifyInBackground@net\extras\sqlite\sqlite_persistent_store_backend_base.cc:246 to client_task_runner_. -[0217/094212.103:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0217/094212.103:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 1 time(s) -[0217/094212.151:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 23 ms -[0217/094212.166:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0217/094212.166:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0217/094212.166:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 2 time(s) -[0217/094212.216:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 20 ms -[0217/094212.216:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0217/094212.226:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=-2147483645 -[0217/094212.226:WARNING:gpu_process_host.cc(1362)] The GPU process has crashed 3 time(s) -[0217/094212.306:WARNING:gpu_process_host.cc(1015)] Reinitialized the GPU process after a crash. The reported initialization time was 60 ms -[0217/094212.314:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer. -[0217/094212.453:INFO:CONSOLE(407)] "Permissions policy violation: unload is not allowed in this document.", source: https://www.google.com/xjs/_/js/k=xjs.hd.en.Xjz3UAwUEWA.O/am=AAAAAAAAAAAAAAAAAAAAAABAAAAAgBBoIBwCsAECAAAAAwkgAAjBCiAKAUIAGIAgCPBQNiAAExBYAhNACoFJAABoAqgCCAAAAAAAQGCAGEDgAQEAgOgAgALAAIIAJUAAAAAA8gAEBxikIAAAAAAAAAAAAIAAJAjCBQkUBBAAAAAAAAAAAAAASKWJCsM/d=1/ed=1/dg=2/br=1/rs=ACT90oGRK1SkBm1xtjsvhMA4xUYY1mTKIw/ee=AfeaP:TkrAjf;Afksuc:wMx0R;BMxAGc:E5bFse;BgS6mb:fidj5d;BjwMce:cXX2Wb;CxXAWb:YyRLvc;DULqB:RKfG5c;Dkk6ge:wJqrrd;DpcR3d:zL72xf;EABSZ:MXZt9d;ESrPQc:mNTJvc;EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;EnlcNd:WeHg4;Erl4fe:FloWmf,FloWmf;F9mqte:UoRcbe;Fmv9Nc:O1Tzwc;G0KhTb:LIaoZ;G6wU6e:hezEbd;GleZL:J1A7Od;HMDDWe:G8QUdb;HqeXPd:cmbnH;IBADCc:RYquRb;IoGlCf:b5lhvb;IsdWVc:qzxzOb;JXS8fb:Qj0suc;JbMT3:M25sS;JsbNhc:Xd8iUd;KOxcK:OZqGte;KQzWid:ZMKkN;KcokUb:KiuZBf;KeeMUb:HiPxjc;KpRAue:Tia57b;LBgRLc:XVMNvd;LEikZe:byfTOb,lsjVmc;LsNahb:ucGLNb;Me32dd:MEeYgc;NPKaK:PVlQOd;NSEoX:lazG7b;Np8Qkd:Dpx6qc;Nyt6ic:jn2sGd;OgagBe:cNTe0;Oj465e:KG2eXe,KG2eXe;OohIYe:mpEAQb;Pjplud:EEDORb,PoEs9b;Q1Ow7b:x5CSu;QGR0gd:Mlhmy;R4IIIb:QWfeKf;R9Ulx:CR7Ufe;RDNBlf:zPRCJb;SLtqO:Kh1xYe;SMDL4c:fTfGO,pnvXVc;SNUn3:ZwDk9d,x8cHvb;ShpF6e:N0pvGc;TxfV6d:YORN0b;U96pRd:FsR04;UDrY1c:eps46d;UVmjEd:EesRsb;UyG7Kb:wQd0G;V2HTTe:RolTY;VGRfx:VFqbr;VN6jIc:ddQyuf;VOcgDe:YquhTb;VsAqSb:PGf2Re;VxQ32b:k0XsBb;WCEKNd:I46Hvd;WDGyFe:jcVOxd;Wfmdue:g3MJlb;XUezZ:sa7lqb;YV5bee:IvPZ6d;ZMvdv:PHFPjb;ZWEUA:afR4Cf;a56pNe:JEfCwb;aAJE9c:WHW6Ef;aZ61od:arTwJ;bFZ6gf:RsDQqe;bcPXSc:gSZLJb;cEt90b:ws9Tlc;cFTWae:gT8qnd;coJ8e:KvoW8;dIoSBb:ZgGg9b;dLlj2:Qqt3Gf;daB6be:lMxGPd;dtl0hd:lLQWFe;eBAeSb:Ck63tb;eBZ5Nd:audvde;eHDfl:ofjVkb;eO3lse:nFClrf;fWLTFc:TVBJbf;g8nkx:U4MzKc;gaub4:TN6bMe;gtVSi:ekUOYd;h3MYod:cEt90b;hK67qb:QWEO5b;heHB1:sFczq;hjRo6e:F62sG;iFQyKf:QIhFr,vfuNJf;imqimf:jKGL2e;io8t5d:sgY6Zb;jY0zg:Q6tNgc;k2Qxcb:XY51pe;kCQyJ:ueyPK;kMFpHd:OTA3Ae;kbAm9d:MkHyGd;lkq0A:JyBE3e;nAFL3:NTMZac,s39S4;oGtAuc:sOXFj;oSUNyd:fTfGO,fTfGO,pnvXVc;oUlnpc:RagDlc;okUaUd:wItadb;pKJiXd:VCenhc;pNsl2d:j9Yuyc;pXdRYb:JKoKVe;pj82le:mg5CW;qZx2Fc:j0xrE;qaS3gd:yiLg6e;qavrXe:zQzcXe;qddgKe:d7YSfd,x4FYXe;rQSrae:C6D5Fc;sP4Vbe:VwDzFe;sTsDMc:kHVSUb;tH4IIe:Ymry6;tosKvd:ZCqP3;trZL0b:qY8PFe;uY49fb:COQbmf;uuQkY:u2V3ud;vGrMZ:lPJJ0c;vfVwPd:lcrkwe;w3bZCb:ZPGaIb;w4rSdf:XKiZ9;w9w86d:dt4g2b;wQlYve:aLUfP;wR5FRb:TtcOte;wV5Pjc:L8KGxe;whEZac:F4AmNb;xBbsrc:NEW1Qc;yGxLoc:FmAr0c;yxTchf:KUM7Z;z97YGf:oug9te;zOsCQe:Ko78Df;zaIgPb:Qtpxbd/m=cdos,hsm,jsa,mb4ZUb,d,csi,cEt90b,SNUn3,qddgKe,sTsDMc,dtl0hd,eHDfl (407) -[0217/094240.396:INFO:CONSOLE(407)] "Permissions policy violation: unload is not allowed in this document.", source: https://www.google.com/xjs/_/js/k=xjs.hd.en.Xjz3UAwUEWA.O/am=AAAAAAAAAAAAAAAAAAAAAABAAAAAgBBoIBwCsAECAAAAAwkgAAjBCiAKAUIAGIAgCPBQNiAAExBYAhNACoFJAABoAqgCCAAAAAAAQGCAGEDgAQEAgOgAgALAAIIAJUAAAAAA8gAEBxikIAAAAAAAAAAAAIAAJAjCBQkUBBAAAAAAAAAAAAAASKWJCsM/d=1/ed=1/dg=2/br=1/rs=ACT90oGRK1SkBm1xtjsvhMA4xUYY1mTKIw/ee=AfeaP:TkrAjf;Afksuc:wMx0R;BMxAGc:E5bFse;BgS6mb:fidj5d;BjwMce:cXX2Wb;CxXAWb:YyRLvc;DULqB:RKfG5c;Dkk6ge:wJqrrd;DpcR3d:zL72xf;EABSZ:MXZt9d;ESrPQc:mNTJvc;EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;EnlcNd:WeHg4;Erl4fe:FloWmf,FloWmf;F9mqte:UoRcbe;Fmv9Nc:O1Tzwc;G0KhTb:LIaoZ;G6wU6e:hezEbd;GleZL:J1A7Od;HMDDWe:G8QUdb;HqeXPd:cmbnH;IBADCc:RYquRb;IoGlCf:b5lhvb;IsdWVc:qzxzOb;JXS8fb:Qj0suc;JbMT3:M25sS;JsbNhc:Xd8iUd;KOxcK:OZqGte;KQzWid:ZMKkN;KcokUb:KiuZBf;KeeMUb:HiPxjc;KpRAue:Tia57b;LBgRLc:XVMNvd;LEikZe:byfTOb,lsjVmc;LsNahb:ucGLNb;Me32dd:MEeYgc;NPKaK:PVlQOd;NSEoX:lazG7b;Np8Qkd:Dpx6qc;Nyt6ic:jn2sGd;OgagBe:cNTe0;Oj465e:KG2eXe,KG2eXe;OohIYe:mpEAQb;Pjplud:EEDORb,PoEs9b;Q1Ow7b:x5CSu;QGR0gd:Mlhmy;R4IIIb:QWfeKf;R9Ulx:CR7Ufe;RDNBlf:zPRCJb;SLtqO:Kh1xYe;SMDL4c:fTfGO,pnvXVc;SNUn3:ZwDk9d,x8cHvb;ShpF6e:N0pvGc;TxfV6d:YORN0b;U96pRd:FsR04;UDrY1c:eps46d;UVmjEd:EesRsb;UyG7Kb:wQd0G;V2HTTe:RolTY;VGRfx:VFqbr;VN6jIc:ddQyuf;VOcgDe:YquhTb;VsAqSb:PGf2Re;VxQ32b:k0XsBb;WCEKNd:I46Hvd;WDGyFe:jcVOxd;Wfmdue:g3MJlb;XUezZ:sa7lqb;YV5bee:IvPZ6d;ZMvdv:PHFPjb;ZWEUA:afR4Cf;a56pNe:JEfCwb;aAJE9c:WHW6Ef;aZ61od:arTwJ;bFZ6gf:RsDQqe;bcPXSc:gSZLJb;cEt90b:ws9Tlc;cFTWae:gT8qnd;coJ8e:KvoW8;dIoSBb:ZgGg9b;dLlj2:Qqt3Gf;daB6be:lMxGPd;dtl0hd:lLQWFe;eBAeSb:Ck63tb;eBZ5Nd:audvde;eHDfl:ofjVkb;eO3lse:nFClrf;fWLTFc:TVBJbf;g8nkx:U4MzKc;gaub4:TN6bMe;gtVSi:ekUOYd;h3MYod:cEt90b;hK67qb:QWEO5b;heHB1:sFczq;hjRo6e:F62sG;iFQyKf:QIhFr,vfuNJf;imqimf:jKGL2e;io8t5d:sgY6Zb;jY0zg:Q6tNgc;k2Qxcb:XY51pe;kCQyJ:ueyPK;kMFpHd:OTA3Ae;kbAm9d:MkHyGd;lkq0A:JyBE3e;nAFL3:NTMZac,s39S4;oGtAuc:sOXFj;oSUNyd:fTfGO,fTfGO,pnvXVc;oUlnpc:RagDlc;okUaUd:wItadb;pKJiXd:VCenhc;pNsl2d:j9Yuyc;pXdRYb:JKoKVe;pj82le:mg5CW;qZx2Fc:j0xrE;qaS3gd:yiLg6e;qavrXe:zQzcXe;qddgKe:d7YSfd,x4FYXe;rQSrae:C6D5Fc;sP4Vbe:VwDzFe;sTsDMc:kHVSUb;tH4IIe:Ymry6;tosKvd:ZCqP3;trZL0b:qY8PFe;uY49fb:COQbmf;uuQkY:u2V3ud;vGrMZ:lPJJ0c;vfVwPd:lcrkwe;w3bZCb:ZPGaIb;w4rSdf:XKiZ9;w9w86d:dt4g2b;wQlYve:aLUfP;wR5FRb:TtcOte;wV5Pjc:L8KGxe;whEZac:F4AmNb;xBbsrc:NEW1Qc;yGxLoc:FmAr0c;yxTchf:KUM7Z;z97YGf:oug9te;zOsCQe:Ko78Df;zaIgPb:Qtpxbd/m=cdos,hsm,jsa,mb4ZUb,d,csi,cEt90b,SNUn3,qddgKe,sTsDMc,dtl0hd,eHDfl (407) -[0217/094242.781:ERROR:gles2_cmd_decoder_passthrough.cc(946)] ContextResult::kFatalFailure: fail_if_major_perf_caveat + swiftshader -[0217/094242.783:ERROR:gles2_cmd_decoder_passthrough.cc(946)] ContextResult::kFatalFailure: fail_if_major_perf_caveat + swiftshader -[0217/094247.964:WARNING:sqlite_persistent_store_backend_base.cc(197)] Failed to post task from FlushAndNotifyInBackground@net\extras\sqlite\sqlite_persistent_store_backend_base.cc:246 to client_task_runner_. -[0217/094247.964:WARNING:sqlite_persistent_store_backend_base.cc(197)] Failed to post task from FlushAndNotifyInBackground@net\extras\sqlite\sqlite_persistent_store_backend_base.cc:246 to client_task_runner_. -[0220/184254.854:ERROR:gpu_process_host.cc(989)] GPU process exited unexpectedly: exit_code=-2147483645 -[0220/184254.854:WARNING:gpu_process_host.cc(1360)] The GPU process has crashed 1 time(s) -[0220/184254.960:WARNING:gpu_process_host.cc(1011)] Reinitialized the GPU process after a crash. The reported initialization time was 17 ms -[0220/184254.976:ERROR:gpu_process_host.cc(989)] GPU process exited unexpectedly: exit_code=-2147483645 -[0220/184254.976:WARNING:gpu_process_host.cc(1360)] The GPU process has crashed 2 time(s) -[0220/184255.053:WARNING:gpu_process_host.cc(1011)] Reinitialized the GPU process after a crash. The reported initialization time was 18 ms -[0220/184255.054:ERROR:gpu_process_host.cc(989)] GPU process exited unexpectedly: exit_code=-2147483645 -[0220/184255.054:WARNING:gpu_process_host.cc(1360)] The GPU process has crashed 3 time(s) -[0220/184255.210:WARNING:gpu_process_host.cc(1011)] Reinitialized the GPU process after a crash. The reported initialization time was 130 ms -[0220/184256.017:ERROR:interface_endpoint_client.cc(707)] Message 0 rejected by interface blink.mojom.WidgetHost -[0220/184256.375:INFO:CONSOLE(407)] "Permissions policy violation: unload is not allowed in this document.", source: https://www.google.com/xjs/_/js/k=xjs.hd.en.Xjz3UAwUEWA.O/am=AAAAAAAAAAAAAAAAAAAAAABAAAAAgBBoIBwCsAECAAAAAwkgAAjBCiAKAUIAGIAgCPBQNgAAExBYAhNACoFJAABogqgCCAAAAAAAQGCAGEDgAQEAAOgAgALAAIIAJUAAAAAA8gAEBxikIAAAAAAAAAAAAIAAJAjCBQkUBBAAAAAAAAAAAAAASKWJCsM/d=1/ed=1/dg=2/br=1/rs=ACT90oEUIw5rqzX71MMAC5o5Aft4udMHtg/ee=AfeaP:TkrAjf;Afksuc:wMx0R;BMxAGc:E5bFse;BgS6mb:fidj5d;BjwMce:cXX2Wb;CxXAWb:YyRLvc;DULqB:RKfG5c;Dkk6ge:wJqrrd;DpcR3d:zL72xf;EABSZ:MXZt9d;ESrPQc:mNTJvc;EVNhjf:pw70Gc;EmZ2Bf:zr1jrb;EnlcNd:WeHg4;Erl4fe:FloWmf,FloWmf;F9mqte:UoRcbe;Fmv9Nc:O1Tzwc;G0KhTb:LIaoZ;G6wU6e:hezEbd;GleZL:J1A7Od;HMDDWe:G8QUdb;HqeXPd:cmbnH;IBADCc:RYquRb;IoGlCf:b5lhvb;IsdWVc:qzxzOb;JXS8fb:Qj0suc;JbMT3:M25sS;JsbNhc:Xd8iUd;KOxcK:OZqGte;KQzWid:ZMKkN;KcokUb:KiuZBf;KeeMUb:HiPxjc;KpRAue:Tia57b;LBgRLc:XVMNvd;LEikZe:byfTOb,lsjVmc;LsNahb:ucGLNb;Me32dd:MEeYgc;NPKaK:PVlQOd;NSEoX:lazG7b;Np8Qkd:Dpx6qc;Nyt6ic:jn2sGd;OgagBe:cNTe0;Oj465e:KG2eXe,KG2eXe;OohIYe:mpEAQb;Pjplud:EEDORb,PoEs9b;Q1Ow7b:x5CSu;QGR0gd:Mlhmy;R4IIIb:QWfeKf;R9Ulx:CR7Ufe;RDNBlf:zPRCJb;SLtqO:Kh1xYe;SMDL4c:fTfGO,pnvXVc;SNUn3:ZwDk9d,x8cHvb;ShpF6e:N0pvGc;TxfV6d:YORN0b;U96pRd:FsR04;UDrY1c:eps46d;UVmjEd:EesRsb;UyG7Kb:wQd0G;V2HTTe:RolTY;VGRfx:VFqbr;VN6jIc:ddQyuf;VOcgDe:YquhTb;VsAqSb:PGf2Re;VxQ32b:k0XsBb;WCEKNd:I46Hvd;WDGyFe:jcVOxd;Wfmdue:g3MJlb;XUezZ:sa7lqb;YV5bee:IvPZ6d;ZMvdv:PHFPjb;ZWEUA:afR4Cf;a56pNe:JEfCwb;aAJE9c:WHW6Ef;aZ61od:arTwJ;bFZ6gf:RsDQqe;bcPXSc:gSZLJb;cEt90b:ws9Tlc;cFTWae:gT8qnd;coJ8e:KvoW8;dIoSBb:ZgGg9b;dLlj2:Qqt3Gf;daB6be:lMxGPd;dtl0hd:lLQWFe;eBAeSb:Ck63tb;eBZ5Nd:audvde;eHDfl:ofjVkb;eO3lse:nFClrf;fWLTFc:TVBJbf;g8nkx:U4MzKc;gaub4:TN6bMe;gtVSi:ekUOYd;h3MYod:cEt90b;hK67qb:QWEO5b;heHB1:sFczq;hjRo6e:F62sG;iFQyKf:QIhFr,vfuNJf;imqimf:jKGL2e;io8t5d:sgY6Zb;jY0zg:Q6tNgc;k2Qxcb:XY51pe;kCQyJ:ueyPK;kMFpHd:OTA3Ae;kbAm9d:MkHyGd;lkq0A:JyBE3e;nAFL3:NTMZac,s39S4;oGtAuc:sOXFj;oSUNyd:fTfGO,fTfGO,pnvXVc;oUlnpc:RagDlc;okUaUd:wItadb;pKJiXd:VCenhc;pNsl2d:j9Yuyc;pXdRYb:JKoKVe;pj82le:mg5CW;qZx2Fc:j0xrE;qaS3gd:yiLg6e;qavrXe:zQzcXe;qddgKe:d7YSfd,x4FYXe;rQSrae:C6D5Fc;sP4Vbe:VwDzFe;sTsDMc:kHVSUb;tH4IIe:Ymry6;tosKvd:ZCqP3;trZL0b:qY8PFe;uY49fb:COQbmf;uuQkY:u2V3ud;vGrMZ:lPJJ0c;vfVwPd:lcrkwe;w3bZCb:ZPGaIb;w4rSdf:XKiZ9;w9w86d:dt4g2b;wQlYve:aLUfP;wR5FRb:TtcOte;wV5Pjc:L8KGxe;whEZac:F4AmNb;xBbsrc:NEW1Qc;yGxLoc:FmAr0c;yxTchf:KUM7Z;z97YGf:oug9te;zOsCQe:Ko78Df;zaIgPb:Qtpxbd/m=cdos,hsm,jsa,mb4ZUb,d,csi,cEt90b,SNUn3,qddgKe,sTsDMc,dtl0hd,eHDfl (407) -[0220/184305.701:WARNING:browser_info.cc(328)] Returning a speculative frame for [11,5] -[0220/184305.794:INFO:CONSOLE(0)] "Third-party cookie will be blocked. Learn more in the Issues tab.", source: https://www.youtube.com/ (0) -[0220/184305.916:WARNING:browser_info.cc(328)] Returning a speculative frame for [11,5] -[0220/184305.916:WARNING:browser_info.cc(328)] Returning a speculative frame for [11,5] -[0220/184305.916:WARNING:browser_info.cc(328)] Returning a speculative frame for [11,5] -[0220/184305.917:WARNING:browser_info.cc(328)] Returning a speculative frame for [11,5] -[0220/184306.062:INFO:CONSOLE(5138)] "LegacyDataMixin will be applied to all legacy elements. -Set `_legacyUndefinedCheck: true` on element class to enable.", source: https://www.youtube.com/s/desktop/09f82e1d/jsbin/desktop_polymer.vflset/desktop_polymer.js (5138) -[0220/184308.442:INFO:CONSOLE(0)] "Third-party cookie will be blocked. Learn more in the Issues tab.", source: https://www.youtube.com/ (0) -[0220/184308.889:INFO:CONSOLE(0)] "requestStorageAccessFor: Permission denied.", source: https://www.youtube.com/ (0) -[0220/184308.890:INFO:CONSOLE(0)] "requestStorageAccessFor: Permission denied.", source: https://www.youtube.com/ (0) -[0220/184308.890:INFO:CONSOLE(0)] "requestStorageAccessFor: Permission denied.", source: https://www.youtube.com/ (0) -[0220/184308.945:INFO:CONSOLE(0)] "Third-party cookie will be blocked. Learn more in the Issues tab.", source: https://www.youtube.com/ (0) -[0220/184309.198:WARNING:browser_info.cc(328)] Returning a speculative frame for [11,14] -[0220/184309.253:INFO:CONSOLE(0)] "Third-party cookie will be blocked. Learn more in the Issues tab.", source: https://www.youtube.com/ (0) -[0220/184309.372:WARNING:browser_info.cc(328)] Returning a speculative frame for [11,14] -[0220/184309.373:WARNING:browser_info.cc(328)] Returning a speculative frame for [11,14] -[0220/184309.373:WARNING:browser_info.cc(328)] Returning a speculative frame for [11,14] -[0220/184309.373:WARNING:browser_info.cc(328)] Returning a speculative frame for [11,14] -[0220/184309.659:INFO:CONSOLE(5142)] "LegacyDataMixin will be applied to all legacy elements. -Set `_legacyUndefinedCheck: true` on element class to enable.", source: https://www.youtube.com/s/desktop/87423d78/jsbin/desktop_polymer.vflset/desktop_polymer.js (5142) -[0220/184311.059:INFO:CONSOLE(0)] "Third-party cookie will be blocked. Learn more in the Issues tab.", source: https://www.youtube.com/ (0) -[0220/184311.416:INFO:CONSOLE(0)] "Third-party cookie will be blocked. Learn more in the Issues tab.", source: https://www.youtube.com/ (0) -[0220/184313.355:WARNING:browser_info.cc(328)] Returning a speculative frame for [12,7] -[0220/184313.360:WARNING:browser_info.cc(328)] Returning a speculative frame for [12,7] -[0220/184313.361:WARNING:browser_info.cc(328)] Returning a speculative frame for [12,7] -[0220/184313.361:WARNING:browser_info.cc(328)] Returning a speculative frame for [12,7] -[0220/184313.362:WARNING:browser_info.cc(328)] Returning a speculative frame for [12,7] -[0220/184313.942:INFO:CONSOLE(0)] "Third-party cookie will be blocked. Learn more in the Issues tab.", source: https://www.youtube.com/watch?v=B0qAKvjH2kg (0) -[0220/184314.471:INFO:CONSOLE(3044)] "LegacyDataMixin will be applied to all legacy elements. -Set `_legacyUndefinedCheck: true` on element class to enable.", source: https://www.youtube.com/s/desktop/87423d78/jsbin/live_chat_polymer.vflset/live_chat_polymer.js (3044) -[0220/184315.684:WARNING:sqlite_persistent_store_backend_base.cc(197)] Failed to post task from FlushAndNotifyInBackground@net\extras\sqlite\sqlite_persistent_store_backend_base.cc:246 to client_task_runner_. -[0220/184315.684:WARNING:sqlite_persistent_store_backend_base.cc(197)] Failed to post task from FlushAndNotifyInBackground@net\extras\sqlite\sqlite_persistent_store_backend_base.cc:246 to client_task_runner_. diff --git a/demos/Lazarus_Windows/MiniBrowser/uMiniBrowser.lfm b/demos/Lazarus_Windows/MiniBrowser/uMiniBrowser.lfm index 9d2aec3a..7b3d66b6 100644 --- a/demos/Lazarus_Windows/MiniBrowser/uMiniBrowser.lfm +++ b/demos/Lazarus_Windows/MiniBrowser/uMiniBrowser.lfm @@ -15,7 +15,7 @@ object MiniBrowserFrm: TMiniBrowserFrm OnDestroy = FormDestroy OnShow = FormShow Position = poScreenCenter - LCLVersion = '3.0.0.3' + LCLVersion = '3.2.0.0' object Splitter1: TSplitter Left = 1179 Height = 663 diff --git a/demos/Lazarus_Windows/MiniBrowser/uMiniBrowser.pas b/demos/Lazarus_Windows/MiniBrowser/uMiniBrowser.pas index 09ca0a6c..26fff7ac 100644 --- a/demos/Lazarus_Windows/MiniBrowser/uMiniBrowser.pas +++ b/demos/Lazarus_Windows/MiniBrowser/uMiniBrowser.pas @@ -11,21 +11,24 @@ uses uCEFWinControl, uCEFChromiumEvents; const - MINIBROWSER_SHOWDEVTOOLS = WM_APP + $101; - MINIBROWSER_HIDEDEVTOOLS = WM_APP + $102; - MINIBROWSER_COPYHTML = WM_APP + $103; - MINIBROWSER_SHOWRESPONSE = WM_APP + $104; - MINIBROWSER_COPYFRAMEIDS = WM_APP + $105; - MINIBROWSER_COPYFRAMENAMES = WM_APP + $106; - MINIBROWSER_SAVEPREFERENCES = WM_APP + $107; - MINIBROWSER_COPYALLTEXT = WM_APP + $108; - MINIBROWSER_TAKESNAPSHOT = WM_APP + $109; - MINIBROWSER_SHOWNAVIGATION = WM_APP + $10A; - MINIBROWSER_COOKIESFLUSHED = WM_APP + $10B; - MINIBROWSER_PDFPRINT_END = WM_APP + $10C; - MINIBROWSER_PREFS_AVLBL = WM_APP + $10D; - MINIBROWSER_DTDATA_AVLBL = WM_APP + $10E; - MINIBROWSER_MEDIAACCESSRQST = WM_APP + $10F; + MINIBROWSER_SHOWDEVTOOLS = WM_APP + $101; + MINIBROWSER_HIDEDEVTOOLS = WM_APP + $102; + MINIBROWSER_COPYHTML = WM_APP + $103; + MINIBROWSER_SHOWRESPONSE = WM_APP + $104; + MINIBROWSER_COPYFRAMEIDS = WM_APP + $105; + MINIBROWSER_COPYFRAMENAMES = WM_APP + $106; + MINIBROWSER_SAVEPREFERENCES = WM_APP + $107; + MINIBROWSER_COPYALLTEXT = WM_APP + $108; + MINIBROWSER_TAKESNAPSHOT = WM_APP + $109; + MINIBROWSER_SHOWNAVIGATION = WM_APP + $10A; + MINIBROWSER_COOKIESFLUSHED = WM_APP + $10B; + MINIBROWSER_PDFPRINT_END = WM_APP + $10C; + MINIBROWSER_PREFS_AVLBL = WM_APP + $10D; + MINIBROWSER_DTDATA_AVLBL = WM_APP + $10E; + MINIBROWSER_SHOWFILEDLG = WM_APP + $10F; + MINIBROWSER_SELECTCERT = WM_APP + $110; + MINIBROWSER_MEDIAACCESSRQST = WM_APP + $111; + MINIBROWSER_SHOWBROWSERINFO = WM_APP + $112; MINIBROWSER_HOMEPAGE = 'https://www.google.com'; @@ -46,12 +49,21 @@ const MINIBROWSER_CONTEXTMENU_INCZOOM = MENU_ID_USER_FIRST + 15; MINIBROWSER_CONTEXTMENU_DECZOOM = MENU_ID_USER_FIRST + 16; MINIBROWSER_CONTEXTMENU_RESETZOOM = MENU_ID_USER_FIRST + 17; - MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN = MENU_ID_USER_FIRST + 18; + MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN = MENU_ID_USER_FIRST + 18; + MINIBROWSER_CONTEXTMENU_BROWSERINFO = MENU_ID_USER_FIRST + 19; - DEVTOOLS_SCREENSHOT_MSGID = 1; - DEVTOOLS_MHTML_MSGID = 2; + DEVTOOLS_SCREENSHOT_MSGID = 1001; + DEVTOOLS_MHTML_MSGID = 1002; + DEVTOOLS_BROWSERINFO_MSGID = 1003; -type +type + TBrowserInfo = record + protocolVersion : string; + product : string; + revision : string; + userAgent : string; + jsVersion : string; + end; { TMiniBrowserFrm } @@ -229,7 +241,8 @@ type FNavigation : TStringList; FShutdownReason : string; FHasShutdownReason : boolean; - FAllowDownloads : boolean; + FAllowDownloads : boolean; + FBrowserInfo : TBrowserInfo; FMediaAccessCallback : ICefMediaAccessCallback; FRequestingOrigin : string; @@ -250,6 +263,7 @@ type procedure HandleKeyUp(const aMsg : TMsg; var aHandled : boolean); procedure HandleKeyDown(const aMsg : TMsg; var aHandled : boolean); + procedure HandleBrowserInfo(const aResult : ICefValue); procedure InspectRequest(const aRequest : ICefRequest); procedure InspectResponse(const aResponse : ICefResponse); @@ -270,7 +284,8 @@ type procedure PrintPDFEndMsg(var aMessage : TMessage); message MINIBROWSER_PDFPRINT_END; procedure PreferencesAvailableMsg(var aMessage : TMessage); message MINIBROWSER_PREFS_AVLBL; procedure DevToolsDataAvailableMsg(var aMessage : TMessage); message MINIBROWSER_DTDATA_AVLBL; - procedure MediaAccessRequestMsg(var aMessage : TMessage); message MINIBROWSER_MEDIAACCESSRQST; + procedure MediaAccessRequestMsg(var aMessage : TMessage); message MINIBROWSER_MEDIAACCESSRQST; + procedure ShowBrowserInfoMsg(var aMessage : TMessage); message MINIBROWSER_SHOWBROWSERINFO; procedure WMMove(var aMessage : TWMMove); message WM_MOVE; procedure WMMoving(var aMessage : TMessage); message WM_MOVING; procedure WMEnterMenuLoop(var aMessage: TMessage); message WM_ENTERMENULOOP; @@ -476,7 +491,8 @@ begin model.AddSeparator; model.AddItem(MINIBROWSER_CONTEXTMENU_JSWRITEDOC, 'Modify HTML document'); model.AddItem(MINIBROWSER_CONTEXTMENU_JSPRINTDOC, 'Print using Javascript'); - model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWRESPONSE, 'Show server headers'); + model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWRESPONSE, 'Show server headers'); + model.AddItem(MINIBROWSER_CONTEXTMENU_BROWSERINFO, 'Browser information...'); if DevTools.Visible then model.AddItem(MINIBROWSER_CONTEXTMENU_HIDEDEVTOOLS, 'Hide DevTools') @@ -592,6 +608,26 @@ begin PostMessage(Handle, CEF_DESTROY, 0, 0); aAction := cbaDelay; end; +end; + +procedure TMiniBrowserFrm.HandleBrowserInfo(const aResult : ICefValue); +var + TempDict : ICefDictionaryValue; +begin + if (aResult = nil) then exit; + + TempDict := aResult.GetDictionary; + + if (TempDict <> nil) and (TempDict.GetSize > 0) then + begin + FBrowserInfo.protocolVersion := TempDict.GetValue('protocolVersion').GetString; + FBrowserInfo.product := TempDict.GetValue('product').GetString; + FBrowserInfo.revision := TempDict.GetValue('revision').GetString; + FBrowserInfo.userAgent := TempDict.GetValue('userAgent').GetString; + FBrowserInfo.jsVersion := TempDict.GetValue('jsVersion').GetString; + + PostMessage(Handle, MINIBROWSER_SHOWBROWSERINFO, 0, 0); + end; end; procedure TMiniBrowserFrm.Chromium1ContextMenuCommand(Sender: TObject; @@ -674,7 +710,13 @@ begin Chromium1.ResetZoomCommand; MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN : - Chromium1.ExitFullscreen(True); + Chromium1.ExitFullscreen(True); + + MINIBROWSER_CONTEXTMENU_BROWSERINFO : + begin + FPendingMsgID := DEVTOOLS_BROWSERINFO_MSGID; + Chromium1.ExecuteDevToolsMethod(0, 'Browser.getVersion', nil); + end; end else case commandId of @@ -1154,19 +1196,28 @@ begin if success then begin - TempResult := 1; - FDevToolsMsgValue := ''; - - if (result <> nil) then + if (FPendingMsgID = DEVTOOLS_BROWSERINFO_MSGID) then begin - TempDict := result.GetDictionary; + HandleBrowserInfo(result); + FPendingMsgID := 0; + exit; + end + else + begin + TempResult := 1; + FDevToolsMsgValue := ''; - if (TempDict <> nil) and (TempDict.GetSize > 0) then + if (result <> nil) then begin - TempValue := TempDict.GetValue('data'); + TempDict := result.GetDictionary; - if (TempValue <> nil) and (TempValue.GetType = VTYPE_STRING) then - FDevToolsMsgValue := TempValue.GetString; + if (TempDict <> nil) and (TempDict.GetSize > 0) then + begin + TempValue := TempDict.GetValue('data'); + + if (TempValue <> nil) and (TempValue.GetType = VTYPE_STRING) then + FDevToolsMsgValue := TempValue.GetString; + end; end; end; end @@ -1317,6 +1368,20 @@ begin TempPermissions.Free; FMediaAccessCallback := nil; end; +end; + +procedure TMiniBrowserFrm.ShowBrowserInfoMsg(var aMessage : TMessage); +var + TempInfo : string; +begin + TempInfo := 'protocolVersion: ' + FBrowserInfo.protocolVersion + CRLF + + 'product: ' + FBrowserInfo.product + CRLF + + 'revision: ' + FBrowserInfo.revision + CRLF + + 'userAgent: ' + FBrowserInfo.userAgent + CRLF + + 'jsVersion: ' + FBrowserInfo.jsVersion + CRLF + CRLF + + 'GetDefaultCEFUserAgent: ' + GetDefaultCEFUserAgent; + + showmessage(TempInfo); end; procedure TMiniBrowserFrm.Chromium1DownloadImageFinished(Sender: TObject; diff --git a/source/uCEFMiscFunctions.pas b/source/uCEFMiscFunctions.pas index 66d504d8..f9f1e4d5 100644 --- a/source/uCEFMiscFunctions.pas +++ b/source/uCEFMiscFunctions.pas @@ -747,6 +747,17 @@ function CefZipDirectory(const srcDir, destFile: ustring; includeHiddenFiles: Bo /// background. /// procedure CefLoadCRLSetsFile(const path : ustring); +/// +/// Return a user-agent string. +/// This function tries to replicate the BuildUserAgentFromOSAndProduct +/// function in Chromium but it's safer to call the 'Browser.getVersion' +/// DevTools method. +/// +/// +/// Chromium source file: content/common/user_agent.cc (BuildUserAgentFromOSAndProduct) +/// See the Browser.getVersion article. +/// +function GetDefaultCEFUserAgent : string; {$IFDEF MSWINDOWS} function CefIsKeyDown(aWparam : WPARAM) : boolean; @@ -760,9 +771,10 @@ procedure DropEffectToDragOperation(aEffect : Longint; var aAllowedOps : TCefDra procedure DragOperationToDropEffect(const aDragOperations : TCefDragOperations; var aEffect: Longint); function GetWindowsMajorMinorVersion(var wMajorVersion, wMinorVersion : DWORD) : boolean; +function GetIsWow64Process2(var aProcessMachine, aNativeMachine : WORD) : boolean; +function IsWowProcess: boolean; function RunningWindows10OrNewer : boolean; function GetDPIForHandle(aHandle : HWND; var aDPI : UINT) : boolean; -function GetDefaultCEFUserAgent : string; {$IFDEF DELPHI14_UP} function TouchPointToPoint(aHandle : HWND; const TouchPoint: TTouchInput): TPoint; function GetDigitizerStatus(var aDigitizerStatus : TDigitizerStatus; aDPI : cardinal = 0) : boolean; @@ -2759,6 +2771,45 @@ begin end; end; +function GetDefaultCEFUserAgent : string; +var + TempOS : string; + TempMajorVer, TempMinorVer : DWORD; +begin + // See GetUserAgentPlatform() and BuildOSCpuInfo() in + // https://source.chromium.org/chromium/chromium/src/+/main:content/common/user_agent.cc + {$IFDEF MSWINDOWS} + TempOS := 'Windows NT '; + + if GetWindowsMajorMinorVersion(TempMajorVer, TempMinorVer) then + TempOS := TempOS + inttostr(TempMajorVer) + '.' + inttostr(TempMinorVer) + else + TempOS := TempOS + '10.0'; // oldest Windows version supported by Chromium + + if IsWowProcess then + TempOS := TempOS + '; WOW64' + else + {$IFDEF TARGET_64BITS} + TempOS := TempOS + '; Win64; x64'; + {$ELSE} + TempOS := TempOS + '; Win32; x86'; + {$ENDIF}; + {$ENDIF} + + {$IFDEF MACOSX} + TempOS := 'Macintosh; Intel Mac OS X 10_15_7'; + {$ENDIF} + + {$IFDEF LINUX} + TempOS := 'X11; Linux ' + {$IFDEF TARGET_64BITS}'x86_64'{$ELSE}'i686'{$ENDIF}; + {$ENDIF} + + Result := 'Mozilla/5.0' + ' (' + TempOS + ') ' + + 'AppleWebKit/537.36 (KHTML, like Gecko) ' + + 'Chrome/' + inttostr(CEF_CHROMEELF_VERSION_MAJOR) + '.0.0.0 ' + + 'Safari/537.36'; +end; + {$IFDEF MSWINDOWS} function CefIsKeyDown(aWparam : WPARAM) : boolean; begin @@ -2960,6 +3011,51 @@ begin end; end; +function GetIsWow64Process2(var aProcessMachine, aNativeMachine : WORD) : boolean; +type + TIsWow64Process2Func = function(hProcess: THandle; ProcessMachine, NativeMachine : PWORD): BOOL; stdcall; +var + TempHandle : THandle; + TempIsWow64Process2Func : TIsWow64Process2Func; +begin + Result := False; + aProcessMachine := 0; + aNativeMachine := 0; + + try + TempHandle := LoadLibrary(Kernel32DLL); + + if (TempHandle <> 0) then + try + {$IFDEF FPC}Pointer({$ENDIF}TempIsWow64Process2Func{$IFDEF FPC}){$ENDIF} := GetProcAddress(TempHandle, 'IsWow64Process2'); + + Result := assigned(TempIsWow64Process2Func) and + TempIsWow64Process2Func(GetCurrentProcess(), @aProcessMachine, @aNativeMachine); + finally + FreeLibrary(TempHandle); + end; + except + on e : exception do + if CustomExceptionHandler('GetIsWow64Process2', e) then raise; + end; +end; + +function IsWowProcess: boolean; +const + IMAGE_FILE_MACHINE_I386 = $014C; + IMAGE_FILE_MACHINE_AMD64 = $8664; +var + Temp64bit : BOOL; + TempProcessMachine, TempNativeMachine : WORD; +begin + if GetIsWow64Process2(TempProcessMachine, TempNativeMachine) then + Result := (TempProcessMachine = IMAGE_FILE_MACHINE_I386) and + (TempNativeMachine = IMAGE_FILE_MACHINE_AMD64) + else + Result := ProcessUnderWow64(GetCurrentProcess(), @Temp64bit) and + Temp64bit; +end; + // GetDpiForWindow is only available in Windows 10 (version 1607) or newer function GetDPIForHandle(aHandle : HWND; var aDPI : UINT) : boolean; type @@ -3001,36 +3097,6 @@ begin Result := GetWindowsMajorMinorVersion(TempMajorVer, TempMinorVer) and (TempMajorVer >= 10); end; -function GetDefaultCEFUserAgent : string; -var - TempOS, TempChromiumVersion : string; - TempMajorVer, TempMinorVer : DWORD; - Temp64bit : BOOL; -begin - if GetWindowsMajorMinorVersion(TempMajorVer, TempMinorVer) and - (TempMajorVer >= 4) then - TempOS := 'Windows NT' - else - TempOS := 'Windows'; - - TempOS := TempOS + ' ' + inttostr(TempMajorVer) + '.' + inttostr(TempMinorVer); - - if ProcessUnderWow64(GetCurrentProcess(), @Temp64bit) and Temp64bit then - TempOS := TempOS + '; WOW64'; - - if (GlobalCEFApp <> nil) then - TempChromiumVersion := GlobalCEFApp.ChromeVersion - else - TempChromiumVersion := inttostr(CEF_CHROMEELF_VERSION_MAJOR) + '.' + - inttostr(CEF_CHROMEELF_VERSION_MINOR) + '.' + - inttostr(CEF_CHROMEELF_VERSION_RELEASE) + '.' + - inttostr(CEF_CHROMEELF_VERSION_BUILD); - - Result := 'Mozilla/5.0' + ' (' + TempOS + ') ' + - 'AppleWebKit/537.36 (KHTML, like Gecko) ' + - 'Chrome/' + TempChromiumVersion + ' Safari/537.36'; -end; - {$IFDEF DELPHI14_UP} function TouchPointToPoint(aHandle : HWND; const TouchPoint: TTouchInput): TPoint; begin diff --git a/update_CEF4Delphi.json b/update_CEF4Delphi.json index 55869b90..d259712e 100644 --- a/update_CEF4Delphi.json +++ b/update_CEF4Delphi.json @@ -2,7 +2,7 @@ "UpdateLazPackages" : [ { "ForceNotify" : true, - "InternalVersion" : 571, + "InternalVersion" : 572, "Name" : "cef4delphi_lazarus.lpk", "Version" : "122.1.10" }