您的位置:首页 > 其它

chromium相关问题集合--持续更新中

2014-03-18 15:23 429 查看
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: 以什么理由来通知系统我们需要通过本地安装呢?

A:
  enum OffStoreInstallAllowReason {

    OffStoreInstallDisallowed,

    OffStoreInstallAllowedFromSettingsPage,

    OffStoreInstallAllowedBecausePref,

    OffStoreInstallAllowedInTest,

    NumOffStoreInstallAllowReasons

  };

扩展默认安装示例
A: src\chrome\browser\extensions\api\management\management_apitest.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?

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?
A:
请到这里http://chromium.hiju.com/ 和http://www.chromium.org/Home上开始学习。

Q:如何开始调试chromium?启动时默认的动作执行在是如何开始的?

A: src\chrome\browser\chrome_browser_main.cc:ChromeBrowserMainParts::PreMainMessageLoopRunImpl() :1094

window 平台cmd下能用什么命令看一个进程的父进程的PID?

A: process explorer

在哪里可以了解到chromium设计的策略?

A: http://www.chromium.org/administrators/policy-list-3
如何修改安装后第一次运行时显示的欢迎页面?

A: src\chrome\browser\resources\locale_settings.grd中搜索IDS_WELCOME_PAGE_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 5.  http://www.chromium.org/developers/design-documents/extensions/how-the-extension-system-works/default-apps
下载扩展的方法:http://blog.csdn.net/talking12391239/article/details/22877451

代码调试位置:



Q: 如何移除"缺少 Google API 密钥,因此 Chromium
的部分功能将无法使用"的提示?
A: src\chrome\browser\ui\startup\startup_browser_creator_impl.cc:StartupBrowserCreatorImpl::AddInfoBarsIfNecessary: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 - 基础模块,放最基本的操作封装
ash - aura she'll
breakpad - 崩溃捕捉
chrome - 所有的功能都集中在这里,包含content
cryoto - 加密解密
nataive libary - 替代activex的技术
media - 音频解码
ipc - 进程间通信
jingle - p2p库
net - 网络通信组件
ui -----------

chrome安装目录下各个dll文件的作用
A:
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也会遇到吧
c:\program files (x86)\microsoft sdks\windows\v7.0a\include\wtypes.h(501): error C2011: “_COAUTHIDENTITY”:“struct”类型重定义
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐