chromium 15 chromium 讓低於30.x.x.x(含)的版本號支援擴充套件安裝
阿新 • • 發佈:2018-12-19
01 自己修改版本號導致 chromium extension 下載失敗
自己修改版本號,如: src\chrome\VERSION
MAJOR=1
MINOR=0
BUILD=0
PATCH=10
自己修改了chromium版號後,在google 外掛市場下載擴充套件外掛時,會產生下載錯誤,主要是谷歌擴充套件商店會進行版本檢查引起的。30.x.x.x以前的版本號,都會失敗。31.x.x.x以後的版本號會正常。
具體錯誤為:Download interrupted
,可以在程式碼中搜索到這個字串。
02 問題分析
主要是在 src\chrome\browser\update_client\chrome_update_query_params_delegate.cc
version_info::GetVersionNumber()
獲取的版本號。只要把這裡修改為原始版本號即可。
std::string ChromeUpdateQueryParamsDelegate::GetExtraParams() { return base::StringPrintf("&prodchannel=%s&prodversion=%s&lang=%s", chrome::GetChannelName().c_str(), version_info::GetVersionNumber().c_str(), GetLang()); }
如,修改為"68.0.3440.105"
:
std::string ChromeUpdateQueryParamsDelegate::GetExtraParams() { return base::StringPrintf("&prodchannel=%s&prodversion=%s&lang=%s", chrome::GetChannelName().c_str(), "68.0.3440.105", GetLang()); }
03 擴充套件安裝過程涉及的幾個主要檔案
src\chrome\browser\update_client\chrome_update_query_params_delegate.cc
src\chrome\browser\extensions\webstore_install_helper.cc
src\chrome\browser\extensions\api\webstore_private\webstore_private_api.cc
src\chrome\browser\extensions\webstore_installer.cc
webstore_installer.cc