Webviews in Cinder using Chrome Embedded Framework
This allows you to embed web elements in your Cinder app, including WebGL. Web browser behaviour should be mostly the same as Google Chrome.
Warning: This project is rough around the edges. Currently only macOS with Xcode is supported. Windows support may follow soon.
Sample app code is provided in samples/cocCefSample.cpp
, remember to change cocCefSample::
to your app class name.
-
Clone repository in
cinder/blocks/
directory -
Run
sh extract.sh
to extract the compressed Chrome Embedded Framework (built for macOS 64bit). -
Use TinderBox to add the coc-cef block.
-
in
Target -> Build Phases
: add a New Run Script Phase,
Shell: bin/sh
exec install_name_tool -change "@rpath/Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework" "@rpath/Chromium Embedded Framework.framework/Chromium Embedded Framework" "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}"
exit 1
- Duplicate target with same name but append " Helper" (must have a space). Edit the build scheme name for consistency.
- Remove all source target memberships from Target Helper -> Build Phases -> Compile Sources Add Blocks/CoC-CEF/src/process_helper_mac.cpp to the Helper target
- On the main target, under Build Phases -> Copy Files, add Chromium Embedded Framework.framework
- On the main target, under Build Phases -> Target Dependencies, add the Helper target.
- Build the main target, and you are good to go!
- Not currently using the most recent version of CEF
- App doesn't exit cleanly, see here
- Including built CEF framework in repo is not ideal
PRs or general tips & suggestions are welcome!