Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
energye
energy
提交
4b41fbe5
energy
项目概览
energye
/
energy
通知
13
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
energy
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4b41fbe5
编写于
3月 24, 2023
作者:
yanghye
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
upgrade-dev v2.3.34
上级
03766c33
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
56 addition
and
15 deletion
+56
-15
cef/cef-application-callback.go
cef/cef-application-callback.go
+8
-10
cef/cef-ipc-render-channel.go
cef/cef-ipc-render-channel.go
+0
-2
cef/cef-misc-functions.go
cef/cef-misc-functions.go
+7
-0
cef/cef-v8-bind-browser.go
cef/cef-v8-bind-browser.go
+16
-0
cef/cef-v8-bind-render.go
cef/cef-v8-bind-render.go
+20
-2
cef/cef-v8-bind.go
cef/cef-v8-bind.go
+5
-1
未找到文件。
cef/cef-application-callback.go
浏览文件 @
4b41fbe5
...
...
@@ -12,29 +12,27 @@
package
cef
import
(
"fmt"
"github.com/energye/energy/common"
"github.com/energye/energy/consts"
)
// appOnContextCreated 创建应用上下文 - 默认实现
func
appOnContextCreated
(
browser
*
ICefBrowser
,
frame
*
ICefFrame
,
context
*
ICefV8Context
)
{
fmt
.
Println
(
"appOnContextCreated"
,
common
.
Args
.
ProcessType
())
renderIPCCreate
(
browser
.
Identifier
(),
frame
.
Identifier
())
ipcRender
.
initRenderIPC
()
ipcRender
.
makeIPC
(
browser
,
frame
,
context
)
renderIPCCreate
(
browser
.
Identifier
(),
frame
.
Identifier
())
// Go IPC render
ipcRender
.
initRenderIPC
()
// render ipc
ipcRender
.
makeIPC
(
browser
,
frame
,
context
)
// render ipc make
bindRender
.
initBindIPC
()
// render bind
}
// appMainRunCallback 应用运行 - 默认实现
func
appMainRunCallback
()
{
browserIPCCreate
()
ipcBrowser
.
initBrowserIPC
()
browserIPCCreate
()
// Go IPC browser
ipcBrowser
.
initBrowserIPC
()
// browser ipc
bindBrowser
.
initBrowserIPC
()
// browser bind
}
// appWebKitInitialized - webkit - 默认实现
func
appWebKitInitialized
()
{
fmt
.
Println
(
"appWebKitInitialized"
,
common
.
Args
.
ProcessType
())
bindRender
.
makeBind
()
bindRender
.
makeBind
()
// render bind make
}
// renderProcessMessageReceived 渲染进程消息 - 默认实现
...
...
cef/cef-ipc-render-channel.go
浏览文件 @
4b41fbe5
...
...
@@ -12,7 +12,6 @@
package
cef
import
(
"fmt"
"github.com/energye/energy/pkgs/channel"
"github.com/energye/energy/pkgs/json"
)
...
...
@@ -30,7 +29,6 @@ type renderIPCChan struct {
// renderIPCCreate 渲染进程IPC创建
func
renderIPCCreate
(
browserId
int32
,
channelId
int64
)
{
fmt
.
Println
(
"renderIPCCreate"
,
browserId
,
channelId
)
if
renderIPC
==
nil
{
renderIPC
=
new
(
renderIPCChan
)
renderIPC
.
browserId
=
browserId
...
...
cef/cef-misc-functions.go
浏览文件 @
4b41fbe5
...
...
@@ -33,5 +33,12 @@ func WindowInfoAsWindowless(windowInfo, windowParent uintptr, windowName string)
// RegisterExtension 注册JS扩展
func
RegisterExtension
(
name
,
code
string
,
handler
*
ICefV8Handler
)
{
if
isInternalBind
(
name
)
{
return
}
registerExtension
(
name
,
code
,
handler
)
}
func
registerExtension
(
name
,
code
string
,
handler
*
ICefV8Handler
)
{
imports
.
Proc
(
internale_CEFJSRegisterExtension
)
.
Call
(
api
.
PascalStr
(
name
),
api
.
PascalStr
(
code
),
handler
.
Instance
())
}
cef/cef-v8-bind-browser.go
浏览文件 @
4b41fbe5
...
...
@@ -11,7 +11,23 @@
// 基于IPC的字段数据绑定 - 主进程
package
cef
import
"github.com/energye/energy/pkgs/json"
var
bindBrowser
*
bindBrowserProcess
type
bindBrowserProcess
struct
{
}
func
(
m
*
bindBrowserProcess
)
initBrowserIPC
()
{
browserIPC
.
addCallback
(
func
(
channelId
int64
,
data
json
.
JSON
)
bool
{
if
data
!=
nil
&&
data
.
IsObject
()
{
//messageJSON := data.JSONObject()
//messageId := messageJSON.GetIntByKey(ipc_id)// messageId: 同步永远是1
//emitName := messageJSON.GetStringByKey(ipc_event)
//name := messageJSON.GetStringByKey(ipc_name)
//browserId := messageJSON.GetIntByKey(ipc_browser_id)
//argumentList := messageJSON.GetArrayByKey(ipc_argumentList)
}
return
false
})
}
cef/cef-v8-bind-render.go
浏览文件 @
4b41fbe5
...
...
@@ -13,6 +13,7 @@ package cef
import
(
"fmt"
"github.com/energye/energy/pkgs/json"
)
var
bindRender
*
bindRenderProcess
...
...
@@ -21,10 +22,28 @@ type bindRenderProcess struct {
handler
*
ICefV8Handler
}
func
(
m
*
bindRenderProcess
)
initBindIPC
()
{
renderIPC
.
addCallback
(
func
(
channelId
int64
,
data
json
.
JSON
)
bool
{
if
data
!=
nil
{
//messageJSON := data.JSONObject()
//messageId := messageJSON.GetIntByKey(ipc_id)// messageId: 同步永远是1
//name := messageJSON.GetStringByKey(ipc_name)
//argumentList := messageJSON.GetArrayByKey(ipc_argumentList)
//if name == internalIPCJSExecuteGoSyncEventReplay {
// return true
//}
}
return
false
})
}
func
(
m
*
bindRenderProcess
)
makeBind
()
{
m
.
handler
=
V8HandlerRef
.
New
()
m
.
handler
.
Execute
(
func
(
name
string
,
object
*
ICefV8Value
,
arguments
*
TCefV8ValueArray
,
retVal
*
ResultV8Value
,
exception
*
ResultString
)
bool
{
fmt
.
Println
(
"v8Handler.Execute"
,
name
,
renderIPC
)
if
renderIPC
!=
nil
{
}
return
false
})
//注册js
...
...
@@ -37,7 +56,6 @@ func (m *bindRenderProcess) makeBind() {
Object.defineProperty(bind, 'myparam', {
get(){
native function GetMyParam();
//return ipc.emitSync("testEmitSync", ["同步参数", 1, 2, 3, ["aaaa", "bbb", 6666]]);
return GetMyParam();
},
set(v){
...
...
@@ -47,5 +65,5 @@ func (m *bindRenderProcess) makeBind() {
});
})();
`
RegisterExtension
(
"v8/bind"
,
jsCode
,
m
.
handler
)
registerExtension
(
internalBind
,
jsCode
,
m
.
handler
)
}
cef/cef-v8-bind.go
浏览文件 @
4b41fbe5
...
...
@@ -14,9 +14,13 @@ package cef
import
"github.com/energye/energy/common"
const
(
internalBind
=
"bind"
internalBind
=
"
v8/
bind"
)
func
isInternalBind
(
name
string
)
bool
{
return
name
==
internalBind
}
// bindInit 初始化
func
bindInit
()
{
isSingleProcess
:=
application
.
SingleProcess
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录