Advertisement

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 定义了所有在本地存储中被禁止安装的情况,并提供了多种场景下的配置选项以实现安全控制功能。具体包括:

  1. 被禁止的安装
  2. 基于设置页允许的安装
  3. 基于前缀允许的安装
  4. 在测试环境中允许的安装
  5. 定义了所有不允许在本地存储安装的情况的数量

};

  • 扩展默认安装示例

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

访问开发文档:https://chromium.org/developers/design-documents/extensions"How-the-extension-system-works/default-apps]

下载扩展的方法:

代码调试位置:

如何删除'如果没有提供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: 直接参考这个链接吧:

全部评论 (0)

还没有任何评论哟~