diff --git a/cef/aux-viewsource.go b/cef/aux-viewsource.go index 7a849723c565a90ed9ca8ca072163963d67b0d55..baea8686c428c081c0679fdc1dc095e66b02cc2c 100644 --- a/cef/aux-viewsource.go +++ b/cef/aux-viewsource.go @@ -46,6 +46,20 @@ func (m *ICefBrowser) createBrowserViewSource() { request.SetHeaderByName(assetserve.AssetsServerHeaderKeyName, assetserve.AssetsServerHeaderKeyValue, true) }) } + viewSourceWindow.Chromium().SetOnBeforePopup(func(sender lcl.IObject, browser *ICefBrowser, frame *ICefFrame, beforePopupInfo *BeforePopupInfo, client *ICefClient, noJavascriptAccess *bool) bool { + wp := NewWindowProperty() + wp.Url = beforePopupInfo.TargetUrl + wp.Title = beforePopupInfo.TargetUrl + wp.WindowType = WT_VIEW_SOURCE + bw := NewLCLBrowserWindow(nil, wp) + bw.SetWidth(800) + bw.SetHeight(600) + bw.EnableDefaultCloseEvent() + QueueAsyncCall(func(id int) { //main thread run + bw.Show() + }) + return true + }) viewSourceWindow.EnableDefaultCloseEvent() QueueAsyncCall(func(id int) { //main thread run viewSourceWindow.Show() diff --git a/cef/types-drag-data.go b/cef/types-drag-data.go index b96491a25f2cce68e70e116e04d6e1150c1e45c9..d4d0955436624e78be05cac8b48dc002c5efb2d0 100644 --- a/cef/types-drag-data.go +++ b/cef/types-drag-data.go @@ -148,9 +148,9 @@ func (m *ICefDragData) GetFileContents(writer *ICefStreamWriter) uint32 { return uint32(r1) } -func (m *ICefDragData) GetFileNames() ([]string, int32) { +func (m *ICefDragData) GetFileNames() []string { if !m.IsValid() { - return nil, 0 + return nil } var result uintptr r1, _, _ := imports.Proc(def.CefDragData_GetFileNames).Call(m.Instance(), uintptr(unsafe.Pointer(&result))) @@ -163,10 +163,10 @@ func (m *ICefDragData) GetFileNames() ([]string, int32) { fileNames[i] = fileNamesList.Strings(int32(i)) } fileNamesList.Free() - return fileNames, int32(count) + return fileNames } } - return nil, 0 + return nil } func (m *ICefDragData) SetLinkUrl(url string) {