WebKit之Chromium零散知识
来源:互联网 发布:淘宝购物流程入门教程 编辑:程序博客网 时间:2024/06/05 07:12
- Q: 如何替换chromium浏览器中的图标?
A: 替换src\chrome\app\theme\chromium下面相关的图片;
- Q: chrome应用可以分为哪些类型?
A:
case Manifest::TYPE_EXTENSION:
case Manifest::TYPE_THEME:case Manifest::TYPE_USER_SCRIPT:
case Manifest::TYPE_HOSTED_APP:
case Manifest::TYPE_LEGACY_PACKAGED_APP:
case Manifest::TYPE_PLATFORM_APP:
case Manifest::TYPE_SHARED_MODULE:
- Q: extension是可以通过哪些发方式来加载?
A:
// What an extension was loaded from.
// NOTE: These values are stored as integers in the preferences and used
// in histograms so don't remove or reorder existing items. Just append
// to the end.
enum Location {
INVALID_LOCATION,
INTERNAL, // A crx file from the internal Extensions directory.
EXTERNAL_PREF, // A crx file from an external directory (via prefs).
EXTERNAL_REGISTRY, // A crx file from an external directory (via eg the
// registry on Windows).
UNPACKED, // From loading an unpacked extension from the
// extensions settings page.
COMPONENT, // An integral component of Chrome itself, which
// happens to be implemented as an extension. We don't
// show these in the management UI.
EXTERNAL_PREF_DOWNLOAD, // A crx file from an external directory (via
// prefs), installed from an update URL.
EXTERNAL_POLICY_DOWNLOAD, // A crx file from an external directory (via
// admin policies), installed from an update URL.
COMMAND_LINE, // --load-extension.
EXTERNAL_POLICY, // A crx file from an external directory (via admin
// policies), cached locally and installed from the
// cache.
EXTERNAL_COMPONENT, // Similar to COMPONENT in that it's considered an
// internal implementation detail of chrome, but
// installed from an update URL like the *DOWNLOAD ones.
NUM_LOCATIONS
};
An extension that's installed automatically is known as an external extension. Google Chrome supports two ways of installing external extensions:
Using a preferences JSON file (Mac OS X and Linux only)Using the Windows registry (Windows only)src/chrome/common/extensions/docs/templates/articles/external_extensions.html
- Q: 以什么理由来通知系统我们需要通过本地安装呢?
enum OffStoreInstallAllowReason {
OffStoreInstallDisallowed,
OffStoreInstallAllowedFromSettingsPage,
OffStoreInstallAllowedBecausePref,
OffStoreInstallAllowedInTest,
NumOffStoreInstallAllowReasons
};
- 扩展默认安装示例
- IN_PROC_BROWSER_TEST_F(ExtensionManagementApiTest, Basics) {
- LoadExtensions();
- base::FilePath basedir = test_data_dir_.AppendASCII("management");
- InstallNamedExtension(basedir, "internal_extension", Manifest::INTERNAL);
- InstallNamedExtension(basedir, "external_extension",
- Manifest::EXTERNAL_PREF);
- InstallNamedExtension(basedir, "admin_extension",
- Manifest::EXTERNAL_POLICY_DOWNLOAD);
- ASSERT_TRUE(RunExtensionSubtest("management/test", "basics.html"));
- }
- Q: 如何编译chromium?
A: 最新的chromium(2014-03-18)已经不再支持单独的vs编译方式,需要用nanja或者nanja+vs的方式来编译,具体参考这里。
- Q: chromium代码由于网络的原因很难下载源码,怎么办?
A: 可以从网上下载别人编译好的放到自己的本地,可以从这里下载http://pan.baidu.com/s/1kTofGc3,请仔细看说明后在动手。但代码目录一定要和原编译人的一样,也可以按如下操作解决,说白了就是vs、sdk等有些变量的路径查找不到。具体详细讨论看这里
http://code.google.com/p/chromium/issues/detail?id=353425
Delete depot_tools\win_toolchain and reinstal it (by running gclient runhooks) error wont happen in new partition.
- Q:chromium release版本在那里看?
A: http://src.chromium.org/viewvc/chrome/releases和http://src.chromium.org/svn/releases/
- Q: 如何开始学习chromium?
- Q:如何开始调试chromium?启动时默认的动作执行在是如何开始的?
- window 平台cmd下能用什么命令看一个进程的父进程的PID?
- 在哪里可以了解到chromium设计的策略?
- 如何修改安装后第一次运行时显示的欢迎页面?
- 如何给chromium添加默认的extension
- Q: 如何移除"缺少 Google API 密钥,因此 Chromium 的部分功能将无法使用"的提示?
browser->tab_strip_model()->GetActiveWebContents()));
- chrome安装目录下各个dll文件的作用
- Chromium有那些主要功能模块?
ash - aura she'll
breakpad - 崩溃捕捉
chrome - 所有的功能都集中在这里,包含content
cryoto - 加密解密
nataive libary - 替代activex的技术
media - 音频解码
ipc - 进程间通信
jingle - p2p库
net - 网络通信组件
ui -----------
- chrome安装目录下各个dll文件的作用
chrome.dll:浏览器的内核文件,执行chrome几乎所有的功能;
blink_web.dll:
content.dll: 提供内核多进程的sandbox功能的模块,具体看http://www.chromium.org/developers/content-module
resources.pak:是chrome的资源文件,包括很多如chrome://开头的页面资源等
icudtl.dat:
nacl_irt_x86_32.nexe: Google Native Client相关插件
net.dll:网络模块
v8.dll:javascript解析引擎模块;
nacl_irt_x86_64.nexe:NACL模块,
mksnapshot.ia32.exe:
d3dcompiler_46.dll: 硬件加速匹配模块
blink_platform.dll
sync.dll:
skia.dll:
media.dll:
chrome_200_percent.pak: 高DPI资源,应该是theme资源
nacl64.exe: 难道可以直接运行window上的传统app?
cc.dll:
gpu.dll
webkit_storage_browser.dll
crnss.dll
ash.dll
ppapi_proxy.dll
icui18n.dll
base_win64.dll:base 64编解码库
chrome_100_percent.pak:普通DPI theme资源包
views.dll
base.dll
protoc.exe
policy_component.dll
ffmpegsumo.dll
gcm.dll
gfx.dll
keyboard_resources.pak:
wifi_component.dll:
ppapi_shared.dll
ppapi_shared_win64.dll
yasm.exe
translator.dll
ui_base.dll
libGLESv2.dll
app_list.dll
wtf.dll
message_center.dll
url_matcher.dll
gl_wrapper.dll
gles2_implementation.dll
aura.dll
compositor.dll
crssl.dll
crnspr.dll
metro_driver.dll
content_resources.pak
ipc_win64.dll
printing.dll
net_with_v8.dll
protobuf_lite.dll
base_prefs.dll
events.dll
ipc.dll
delegate_execute.exe
gin.dll
wm_core.dll
url_lib.dll
webkit_storage_common.dll
keyboard.dll
native_theme.dll
gfx_geometry.dll
ash_with_content.dll
wow_helper.exe
gesture_detection.dll
webkit_gpu.dll
webkit_compositor_bindings.dll
webview.dll
shell_dialogs.dll
webdata_common.dll
ppapi_host.dll
blink_heap.dll
chrome_elf.dll
libEGL.dll
webkit_common.dll
mojo_common_lib.dll
webkit_child.dll
shared_memory_support.dll
keyed_service_content.dll
blink_common.dll
browser_ui_views.dll
surface.dll
wtf_unittest_helpers.dll
libvpx_obj_int_extract.exe
mojo_system.dll
locales:
- chromium中定义的url常量在什么地方?
A: src\chrome\common\url_constants.cc
- Chrome增加一个New Tab时都干了些什么?
A:
1. http://blog.csdn.net/zero_lee/article/details/7896856
2. https://support.google.com/chrome/answer/2918032?hl=en&rd=1
- 编译cef3时报错类型冲突,估计chromium也会遇到吧
2> C:\Program Files (x86)\Windows Kits\8.0\Include\shared\wtypesbase.h(260) : 参见“_COAUTHIDENTITY”的声明
2>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\wtypes.h(512): error C2011: “_COAUTHINFO”:“struct”类型重定义
2> C:\Program Files (x86)\Windows Kits\8.0\Include\shared\wtypesbase.h(271) : 参见“_COAUTHINFO”的声明
A: 进入C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include,重命名WTypes.h.
Q: chromium扩展中permissions是在哪里注册的?
A: 直接参考这个链接吧:http://blog.csdn.net/talking12391239/article/details/40374241
- WebKit之Chromium零散知识
- WebKit之零散记忆
- WebKit之零散记录
- WebKit之零散笔记记录
- WebKit之Chromium多进程模型分析
- WebKit之Chromium的Render进程分析
- WebKit之基于Chromium的二次开发
- WebKit之chromium进程创建过程分析
- 零散知识
- 零散知识
- WebKit之Chromium多线程模型的设计与分析
- WebKit之Chromium加载网络加速初步研究
- WebKit之Chromium的UI绘制流程初探
- WebKit/Chromium(webview)
- 琐记之零散知识点(java相关的零散知识都丢这里)
- Objective-C学习笔记-之零散的知识
- 理解WebKit和Chromium: Chromium硬件加速合成
- 理解WebKit和Chromium: Chromium硬件加速合成
- Python基础(三)之tuple类型
- Hibernate的单向N-1关联(一)
- [Boost基础]函数与回调——ref引用
- IOS学习 UITableView 基本属性
- android文件分段下载
- WebKit之Chromium零散知识
- C 语言分割字符串
- size_t
- 深入理解Java内存模型
- 【Eclipse】2、使用eclipse软件编译并执行代码
- 【Codeforces650C】Table Compression【并查集】【拓扑排序】
- 学生信息管理系统之问题总结(1)
- Java中的String为什么是不可变的?
- 当写烂代码的人离职之后....