chromium相关问题集合--持续更新中
- Q: 如何替换chromium浏览器中的图标?
A: 替换src\chrome\app\theme\chromium下面相关的图片;
- Q: chrome应用可以分为哪些类型?
A:
case Manifest::TYPE_EXTENSION:
case Manifest::TYPE/Them App:
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:
Which origin does an extension come from?
INVALID_LOCATION remains unchanged; it represents a default state with no specific location value assigned.
NUM_LOCATIONS
};

改写说明
采用一个偏好JSON文件(仅限于Mac OS X和Linux系统)
使用Windows注册表(仅限于Windows系统)
src/chrome/common/extensions/docs/templates/articles/external_extensions.html
- Q: 以什么理由来通知系统我们需要通过本地安装呢?
该 enum 定义了所有在本地存储中被禁止安装的情况,并提供了多种场景下的配置选项以实现安全控制功能。具体包括:
- 被禁止的安装
- 基于设置页允许的安装
- 基于前缀允许的安装
- 在测试环境中允许的安装
- 定义了所有不允许在本地存储安装的情况的数量
};
- 扩展默认安装示例
source.google.chromium.web.ext.approximate-transport-interface manage.google.chromium.web.effective-extension management_api-test-case.cc: 102
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?
最新版本的chromium(发布日期为2014年3月18日)已停止提供独立于vs的编译选项,在编译时需采用nanja或其增强版 nanja+vs进行操作,请参考此处获取详细指导
- Q: chromium代码由于网络的原因很难下载源码,怎么办?
可以将网上的他人编译成果直接复制至本地使用,并通过以下途径获取资源:pan.baidu.com。在操作前务必仔细阅读相关说明文件。其中主要涉及的问题包括VS和SDK等开发环境相关的路径配置不正确,请确保代码目录与原项目的编译路径一致后再进行操作;若有相关错误提示,请参考官方文档进行调整即可完成设置
- Q:chromium release版本在那里看?
A: 来自源代码仓库的Chrome发布版本及 svn 发布版本
- Q: 如何开始学习chromium?
建议访问此处:http://chromium.hiju.com/ 以及 http://www.chromium.org/Home.
- Q:如何开始调试chromium?启动时默认的动作执行在是如何开始的?
第A行位于src\chrome\browser\chrome_browser_main.cc文件中对应的具体函数调用位置为ChromeBrowserMainParts::PreMainMessageLoopRunImpl()这一部分代码
- window 平台cmd下能用什么命令看一个进程的父进程的PID?
A: process explorer
- 在哪里可以了解到chromium设计的策略?
A: http://www.chromium.org/administrators/policy-list-3
- 如何修改安装后第一次运行时显示的欢迎页面?
A: 在src/chrome/browser/resources/locale_settings.grd文件里寻找并定位到该URL的位置,并将其设置为自己拥有。
- 如何给chromium添加默认的extension
A 具体参考这里
1. http://developer.chrome.com/extensions/external_extensions
2. http://dev.chromium.org/administrators/pre-installed-extensions
3. http://dev.chromium.org/administrators/configuring-other-preferences
4. http://open.chrome.360.cn/extension_dev/external_extensions.html
下载扩展的方法:
代码调试位置:

如何删除'如果没有提供Google API密钥,则导致Chromium的部分功能无法使用'的警告信息?
从第900行去除GoogleApiKeysInfoBarDelegate::Create(InfoBarService::FromWebContents( browser->tab_strip_model()->GetActiveWebContents()));
- chrome安装目录下各个dll文件的作用
A: http://bbs.kafan.cn/thread-1439185-1-1.html
- Chromium有那些主要功能模块?
A:
base - 基础组件/核心模块/功能实现(整合了所有基本操作)
- chrome安装目录下各个dll文件的作用
A:
chrome.dll:浏览器的内核文件,执行chrome几乎所有的功能;
blink_web.dll:
content.dll: 包含核心多线程的沙盒机制模块,请访问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
A:
1.
2. https://support.google.com/chrome/answer/2918032?hl=en&rd=1
- 编译cef3时报错类型冲突,估计chromium也会遇到吧
发现C++编译器警告C2011:在文件c:\program files (x86)\microsoft sdks\windows\v7.0a\include\wtypes.h中,
_COAUTHIDENTITY变量被重新声明为struct类型的变量,
并发现其对应的标准库文件c:\program files (x86)\microsoft sdks\windows\v7.0a\include\wtypes.base.h中对此处变量有相同的声明记录。
类似地,
发现C++编译器警告C2011:在文件c:\program files (x86)\microsoft sdks windows\v7.0ainclude wtypes h中,
_COAUTHINFO变量也被重新声明为struct类型的变量,
并发现其对应的标准库文件c program files x86 microsoft sdks windows 8.0 include shared wtypesbase h中有对此处变量的相应引用记录。
在控制台导航至C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include,并在此目录下执行移动或复制WTypes.h.到目标位置。
Q: chromium扩展中permissions是在哪里注册的?
A: 直接参考这个链接吧:
