
CEF与PPAPI开发
文章平均质量分 78
从零开始,记录CEF(The Chromium Embedded Framework )和PPAPI插件的学习与开发过程,为使用CEF和PPAPI的同仁们提供参考。
foruok
我的微信公众号——安晓辉生涯,聚焦程序员的职业选择、适应与发展。
展开
-
让基于CEF的应用支持自定义协议
基于CEF开发浏览器或Native与Web混合的富客户端,可以支持自定义协议,当点击网页上的自定义协议链接时,调用系统注册的协议处理程序原创 2016-06-16 14:32:06 · 13411 阅读 · 7 评论 -
给libcef_dll_wrapper生成VS工程
要在Windows下使用CEF开发,C++接口比较方便(libcef.dll导出的是c接口的api),对应的静态库文件是libcef_dll_wrapper.lib,但从cefbuilds.com下载的cef_binary中没有带这个库,需要自己手动编译。可惜cef_binary中也没有libcef_dll_wrapper.lib对应的VS工程。原创 2016-06-08 17:20:45 · 13961 阅读 · 2 评论 -
让一个PPAPI插件充满网页
想让PPAPI插件充满整个网页,像这样就好了……原创 2016-04-13 09:52:55 · 9762 阅读 · 3 评论 -
CEF启动时注册多个ppapi插件
基于CEF开发时,“–register-pepper-plugins”这个参数可以用来注册ppapi插件,一般注册一个,注册多个怎么办呢?原创 2016-04-12 17:55:02 · 15376 阅读 · 4 评论 -
CEF生成JSON数据
在“使用CEF的JSON解析功能”中介绍了使用CefParseJson方法,与之对应的还有一个CefWriteJson方法,可以用来生成JSON串(或二进制)……原创 2016-04-12 13:19:12 · 9798 阅读 · 0 评论 -
PPAPI插件的动态创建、修改、删除
一旦你完成了PPAPI插件的开发,实际使用时可能会有下列需求:动态创建PPAPI插件、删除PPAPI插件、改变PPAPI插件的尺寸原创 2016-03-09 09:48:28 · 5859 阅读 · 0 评论 -
PPAPI插件的全屏切换处理
有时你会想让PPAPI插件全屏(比如播放视频时),这次来看看怎么做。PPAPI和CEF App两侧都要处理。原创 2016-03-08 15:44:20 · 5583 阅读 · 1 评论 -
CEF中访问修改HTML DOM元素
有时你可能想在C++代码中直接操作HTML中的某个元素,比如改变某个按钮的状态(文字、颜色)等,此时可以使用CEF提供的CefDomVisitor、CefDOMDocument、CefDomNode这三个类原创 2016-03-04 08:54:10 · 26071 阅读 · 16 评论 -
Alpha叠加
Alpha值的含义对于 RGBA(或 BGRA )数据, Alpha 通道中存储的 Alpha 值,实际上应该是 Opaque 值,即不透明度。当 Alpha 值为 255 时,表示不透明; Alpha 值为 0 时,表示全透明。原创 2016-03-03 09:05:10 · 5993 阅读 · 0 评论 -
CEF JS与browser进程间的异步通信
基于CEF开发时经常需要在JS和C++代码间通信,我们在CEF中JavaScript与C++交互中讨论了常见的交互方式,不过都是在Renderer进程中,这次来看看如何在JS和Browser进程间通信原创 2016-03-02 15:27:38 · 16377 阅读 · 4 评论 -
Skia往SkBitmap上绘图时画不出来的问题
使用SkBitmap作为SkCanvas后端绘图时画不出来的问题的解决过程……原创 2016-02-23 09:26:45 · 6502 阅读 · 2 评论 -
Skia图片解码模块流程分析
我在在PPAPI插件中使用Skia绘图中说可以在PPAPI插件内使用Skia来绘图。这里面会有一个与色彩空间(像素格式)相关的问题。原创 2016-02-22 09:13:20 · 5988 阅读 · 2 评论 -
Skia构建系统与编译脚本分析
分析了下Skia的ninja构建系统,给定值奠定基础……原创 2016-02-19 16:46:44 · 5649 阅读 · 4 评论 -
使用CEF的JSON解析功能
Cef提供了JSON解析功能,……原创 2016-02-18 18:11:58 · 8634 阅读 · 3 评论 -
使用CEF类库处理HTTP请求
当我们基于CEF开发应用时,可能会有URL请求处理的需求,比如HTTP下载或上传,此时可以利用CEF提供的类库来完成,而不必自己实现或引入其它第三方的类库。原创 2016-02-17 12:39:42 · 14549 阅读 · 11 评论 -
在指定的CEF线程上执行任务
CEF有几种线程,比如TID_UI、比如TID_RENDER,我们可以指定某个任务在某个线程上执行。原创 2016-02-16 13:05:03 · 9918 阅读 · 1 评论 -
CEF中禁止弹出浏览器窗口
使用CEF时,加载的网页,如果里面有链接,指定target=”_blank”,则会弹出一个新的浏览窗口。如果想禁掉,让新页面在当前浏览窗口中显示,可以……原创 2016-02-14 08:58:48 · 16465 阅读 · 4 评论 -
在HTML中给PPAPI插件配置参数
在HTML中,可以通过embed或object标签来配置插件。也可以传递参数给PPAPI插件,CEF会搜集这些配置参数传递给PPAPI。原创 2016-02-05 15:11:14 · 5116 阅读 · 0 评论 -
PPAPI与Browser间使用AsyncIPC通信
在Chromium及CEF的多进程模型下,PPAPI在单独进程中运行,要与Browser通信的话,可以引入新的机制。原创 2016-02-05 12:36:05 · 4731 阅读 · 0 评论 -
Chromium与CEF的多进程模型及相关参数
CEF基于Chromium,也是多进程模型。介绍下常见的与进程相关的参数……原创 2016-02-02 09:07:43 · 13168 阅读 · 0 评论 -
CEF中Browser进程与Render进程间通信
CEF提供了Browser与Browser进程通信的几种机制,我实验了Process Runtime Messages这种方式,用到了CefProcessMessage和CefBrowser::SendProcessMessage()。原创 2016-01-26 07:05:29 · 16897 阅读 · 1 评论 -
CEF中JavaScript与C++交互
在CEF里,JS和Native(C/C++)代码可以很方便的交互,我实现了一个简单的交互示例。原创 2016-01-24 14:01:58 · 44278 阅读 · 15 评论 -
PPAPI中使用OpenGL ES绘图
在PPAPI中使用Chromium的3D图形接口一文中我们介绍了怎么使用PPB_Graphics3D接口,这次看看如何使用OpenGL ES和Graphics 3D来绘图。原创 2016-01-23 09:52:51 · 4355 阅读 · 0 评论 -
PPAPI中使用Chromium的3D图形接口
使用PPAPI的Graphics 3D接口做了一个小示例,鼠标点击插件区域,绘制颜色,效果与ppapi_simple类似。原创 2016-01-22 18:23:43 · 4707 阅读 · 0 评论 -
PPAPI+Skia实现的涂鸦板
在PPAPI插件中使用Skia绘图介绍了如何在PPAPI中使用Skia,文末说回头要提供一个简单的涂鸦板插件,这次我来兑现承诺了。原创 2016-01-21 16:41:40 · 4527 阅读 · 1 评论 -
加载DLL中的图片资源生成Skia中的SkBitmap对象
加载Windows DLL里的图片资源,生成Skia需要的SkBitmap对象原创 2016-01-19 17:13:28 · 3428 阅读 · 0 评论 -
在PPAPI插件中使用Skia绘图
Chrome的PPAPI插件可以自由绘制你想要的东西,如果能结合Skia引擎,就更得心应手了。原创 2016-01-16 09:18:15 · 5118 阅读 · 1 评论 -
Windows下从源码编译Skia
在PPAPI里面绘图,可以结合第三方的图形库,比如cairo、skia,我选择skia,Chrome、Android都用它……原创 2016-01-15 17:53:13 · 8408 阅读 · 0 评论 -
PPAPI插件与浏览器的通信
PPAPI的插件,不能使用JS与浏览器交,应该通过PPB_Messaging接口来完成Plugin和浏览器的交互……原创 2016-01-14 20:24:51 · 11429 阅读 · 4 评论 -
在PPAPI插件中创建本地窗口
实验了一个比较奇特的东西,在PPAPI插件里创建一个本地窗口,叠加在插件在网页的位置上。原创 2016-01-13 21:03:30 · 10117 阅读 · 25 评论 -
PPAPI插件的绘图与输入事件处理
这次我们改造一下graphics_2d_example示例,加入处理鼠标事件的逻辑,演示一下PPAPI插件想要处理输入事件时的代码流程。原创 2016-01-12 21:08:49 · 5451 阅读 · 0 评论 -
编译PPAPI的media_stream_video示例
Windows下从源码编译CEF编译了CEF和PPAPI的C++接口对应的静态库,现在来编译media_stream_video示例了。原创 2016-01-11 21:39:45 · 6751 阅读 · 5 评论 -
Windows下从源码编译CEF
Windows下从源码编译CEF,成功编译出CEF和示例……原创 2016-01-11 18:02:14 · 20557 阅读 · 9 评论 -
PPAPI插件与浏览器的交互过程
上一篇理解了一下PPAPI的设计,并从代码角度理解了一下相关主题,这篇文章关注下面几点:插件实例对象的创建与使用流程;渲染(绘图);处理输入事件原创 2016-01-10 22:06:49 · 10419 阅读 · 5 评论 -
理解PPAPI的设计
理解PPAPI的设计,看看插件的一些关键概念原创 2016-01-09 07:48:45 · 15562 阅读 · 9 评论 -
VS2013编译最简单的PPAPI插件
我想在CEF里使用PPAPI,CEF使用VS 2013 Update 4编译。因此我尝试了使用VS 2013来编译PPAPI插件。原创 2016-01-08 21:56:11 · 12298 阅读 · 3 评论 -
CEF加载PPAPI插件
CEF加载PPAPI plugin的简单示例原创 2016-01-08 21:52:59 · 14633 阅读 · 15 评论 -
CEF Windows开发环境搭建
CEF 的官网介绍的很简洁:A simple framework for embedding chromium browser windows in other applications。具体地说就是一个可以将浏览器功能(页面渲染,JS 执行)嵌入到其他应用程序的框架。原创 2016-01-06 14:23:39 · 39017 阅读 · 13 评论