- ๐คฃ Full-stack system to web
- ๐ฅณ Reverse engineering
- ๐ Fishing
nomi-san / luacef Goto Github PK
View Code? Open in Web Editor NEWLua bindings to Chromium Embedded Framework
License: MIT License
Lua bindings to Chromium Embedded Framework
License: MIT License
The following code return false:
cef.V8Value.CreateBool(true):GetBoolValue()
This is due to the way it's stored by this function:
static int luacef_v8value_create_bool(lua_State* L) {
int i = lua_tointeger(L, 1);
cef_v8value_t* p = cef_v8value_create_bool(i);
luacef_pushuserdata(L, p, __v8value__);
return 1;
}
It should be lua_toboolean(L, 1)
instead of lua_tointeger(L, 1)
.
Platform: Windows 10 x64
GCC: version 7.3.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
Lua: 5.3 x64
The project builds successfully (after changing 'luacef_frame_reg' to 'luacef_Frame_reg' on line 316),
but running the lua code in readme hangs at the first line with error:
C:\lua\lua53.exe: error loading module 'luacef' from file '.\luacef.dll':
The specified procedure could not be found.
stack traceback:
[C]: in ?
[C]: in function 'require'
.\test.lua:1: in main chunk
[C]: in ?
Both the lua code and 'luacef.dll' are in the 'Release' folder of 'cef-minimal'.
Hi ,
I Implimented luacef in my project
But when I try to get Frame via
browser:GetMainFrame()
or
browser:Frame(0)
browser:Frame(1)
browser:Frame(2)
or
browser:GetFocusedFrame()
it returns userdata without any methods
details :
local frame = browser:GetMainFrame()
frame:GetURL() --> attempt to index a userdata value (local 'frame')
for k , v in pairs( getmettable( frame ) ) print(k) end
-->bad argument #1 to 'for iterator' (table expected, got nil)
Thanks in advance for this great project;
All classes from C++ is provided to Lua by using metatable, so they can be freed after called collectgarbage()
multiple times. My old way is too bad, may lead to crash.
client = newClient();
callback = function(client, some_args)
client = nil;
end
client:reg(callback);
In this example, the client
object is one, but can be freed twice.
CEF is written in C++, almost classes that inherited CefBase
contain virtual methods too.
That helps we override them, in CAPI easily.
Lines 118 to 123 in 7a5eee5
Lines 28 to 34 in 7a5eee5
Lines 188 to 198 in 7a5eee5
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.