42.0.2311.153

Initial submission of work
This commit is contained in:
Eloston
2015-06-13 12:51:50 -07:00
parent 9456dad229
commit 8536749cd5
54 changed files with 3028 additions and 1 deletions

View File

@@ -1,2 +1,45 @@
# ungoogled-chromium
Patches for Google Chromium
**Patches for Google Chromium to remove integration with Google services and add additional features**
### Features
- Disabled background communication with Google servers
- Disabled safe browsing
- Disabled browser sign-in
- Disabled searching in Omnibox
- Disabled automatic formatting of URL in Omnibox
- Disabled JavaScript dialog boxes from showing when a page is closing
- Added menu item under "More tools" to clear the HTTP authentication cache on-demand
- Disabled persistent per-site settings in Preferences file
- Includes Preferences file with preset settings
## Building
Right now, only Debian build scripts are provided. Windows build scripts will be added in the future.
### Debian and derivatives
**NOTE:** Tested on Debian Jessie 64-bit
mkdir chromium
cd chromium
git clone https://github.com/Eloston/ungoogled-chromium.git src
cd src
./debian/rules download-source
# Run dpkg-checkbuilddeps to find packages needed for building
dpkg-buildpackage -b -uc
Debian packages will appear under chromium/
## TODO
- Add the setuid sandbox as a separate Debian package
- Add additional patches to disable connections with clients2.google.com
- Improve current patches
- Add Windows support
- Add settings menu to manually edit credentials database(?)
## Credits
Debian for build scripts
Google for Chromium

10
debian/README vendored Normal file
View File

@@ -0,0 +1,10 @@
Chromium has an extensive set of command-line flags that change rapidly, so
it's not really practical to include documentation in the package. This page
is kept relatively up to date with that information:
http://peter.sh/experiments/chromium-command-line-switches
The chromium-inspector package provides access to additional web developer
tools. Up-to-date documentation is available at:
https://developer.chrome.com/devtools/index

63
debian/TODO vendored Normal file
View File

@@ -0,0 +1,63 @@
use system libhunspell-dev
use system vpx (should be in sync now)
remove third_party/npapi
disable extensions?
webrtc seems to get built regardles of enable_webrtc=0?
remove sync
don't support breakpad (remove a lot of stuff from breakpad/src/third_party)
remove chrome_elf?
remove cloud_print (not available in printers anyway)?
disable bluetooth
remove third_party/WebKit/Source/wtf/unicode?
remove third_party/khronos (need to handle their changes, including gl2chromium.h from gl2.h)
remove third_party/mesa
remove third_party/liblouis (link liblouis2-dev)?
remove third_party/swig (use swig package)?
remove third_party/ply (use python-ply)?
remove third_party/lzma_sdk?
remove third_party/gpsd?
remove third_party/usb_ids (use usbutils)?
remove third_party/clang_format?
remove third_party/webpagereplay?
remove third_party/chromite?
remove third_party/libyuv (libmagickcore5: /usr/lib/x86_64-linux-gnu/ImageMagick-6.7.7/modules-Q16/coders/yuv.so)?
remove third_party/libmtp (link libmtp-dev)?
remove third_party/libc++ (link libc++-dev, maybe only needed for clang build)?
remove third_party/libc++abi (link libc++abi-dev, maybe only needed for clang build)?
remove third_party/libwebm (package libwebm http://www.webmproject.org/code)?
remove third_party/webgl (package webgl http://www.khronos.org/registry/webgl/sdk)?
remove third_party/pyftpdlib (use python-pyftpdlib)?
remove third_party/pywebsocket (disable or use python-mod/pywebsocket)?
follow instructions in third_party/webdriver/README.chromium to generate atoms.*,
remove third_party/webdriver/pylib/selenium, and use python-selenium
remove base/third_party/xdg_mime (use support in xdg-utils)?
package polymer and use it instead of third_party/polymer
package jstemplate and use it instead of third_party/jstemplate
use system libjingle, libcld2, libphonenumber, libadressinput, cacheinvalidation, dynamic_annotations, angle, smhasher, sfntly, mt19937ar, ...
remove third_party/libXNVCtrl (package currently in contrib, bug #747837)
remove third_party/iccjpeg (currently no library to link against, bug #747839)
remove crypto/third_party/nss?
net/third_party/nss is majorly patched an not likely easy to swap out for system version
base/third_party/icu reproduces stuff from system icu, but uses alternative namespace
remove chrome/test (gyp includes stuff that likely isn't needed from here)?
remove chrome/installer (gyp includes stuff that likely isn't needed from here)?
build with clang.

6
debian/changelog vendored Normal file
View File

@@ -0,0 +1,6 @@
chromium-browser (42.0.2311.153-1) jessie; urgency=low
* Initial Debian build
- Based off of 43.0.2357.65-1~deb8u1
-- Eloston <eloston@mail.com> Fri, 12 Jun 2015 00:00:00 +0000

1
debian/chromedriver.install vendored Normal file
View File

@@ -0,0 +1 @@
out/Release/chromedriver usr/lib/chromium

1
debian/chromium-inspector.install vendored Normal file
View File

@@ -0,0 +1 @@
out/Release/resources/inspector/* usr/share/chromium-inspector

1
debian/chromium-inspector.links vendored Normal file
View File

@@ -0,0 +1 @@
usr/share/chromium-inspector usr/lib/chromium/resources/inspector

1
debian/chromium-l10n.install vendored Normal file
View File

@@ -0,0 +1 @@
out/Release/locales usr/lib/chromium

139
debian/chromium.desktop vendored Normal file
View File

@@ -0,0 +1,139 @@
[Desktop Entry]
Version=1.0
Name=Chromium Web Browser
Name[ast]=Restolador web Chromium
Name[ca]=Navegador web Chromium
Name[de]=Chromium-Webbrowser
Name[es]=Navegador web Chromium
Name[fr]=Navigateur Web Chromium
Name[gl]=Navegador web Chromium
Name[he]=דפדפן האינטרנט Chromium
Name[hr]=Chromium web preglednik
Name[hu]=Chromium webböngésző
Name[id]=Peramban Web Chromium
Name[it]=Browser web Chromium
Name[ja]=Chromium ウェブ・ブラウザ
Name[ko]=Chromium 웹 브라우저
Name[pt_BR]=Chromium Navegador da Internet
Name[ru]=Веб-браузер Chromium
Name[sl]=Chromium spletni brskalnik
Name[sv]=Webbläsaren Chromium
Name[ug]=Chromium توركۆرگۈ
Name[zh_CN]=Chromium 网页浏览器
Name[zh_HK]=Chromium 網頁瀏覽器
Name[zh_TW]=Chromium 網頁瀏覽器
GenericName=Web Browser
GenericName[ar]=متصفح الشبكة
GenericName[ast]=Restolador web
GenericName[bg]=Уеб браузър
GenericName[bn]=ওয়েব ব্রাউজার
GenericName[ca]=Navegador web
GenericName[cs]=WWW prohlížeč
GenericName[da]=Browser
GenericName[de]=Webbrowser
GenericName[el]=Περιηγητής ιστού
GenericName[en_GB]=Web Browser
GenericName[es]=Navegador web
GenericName[et]=Veebibrauser
GenericName[fi]=WWW-selain
GenericName[fil]=Web Browser
GenericName[fr]=Navigateur Web
GenericName[gl]=Navegador web
GenericName[gu]=વેબ બ્રાઉઝર
GenericName[he]=דפדפן אינטרנט
GenericName[hi]=वेब ब्राउज़र
GenericName[hr]=Web preglednik
GenericName[hu]=Webböngésző
GenericName[id]=Peramban Web
GenericName[it]=Browser web
GenericName[ja]=ウェブ・ブラウザ
GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
GenericName[ko]=웹 브라우저
GenericName[lt]=Žiniatinklio naršyklė
GenericName[lv]=Tīmekļa pārlūks
GenericName[ml]=വെബ് ബ്രൌസര്‍
GenericName[mr]=वेब ब्राऊजर
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador da Internet
GenericName[ro]=Navigator de Internet
GenericName[ru]=Веб-браузер
GenericName[sk]=WWW prehliadač
GenericName[sl]=Spletni brskalnik
GenericName[sr]=Интернет прегледник
GenericName[sv]=Webbläsare
GenericName[ta]=இணைய உலாவி
GenericName[te]=మహాతల అన్వేషి
GenericName[th]=เว็บเบราว์เซอร์
GenericName[tr]=Web Tarayıcı
GenericName[ug]=توركۆرگۈ
GenericName[uk]=Навігатор Тенет
GenericName[vi]=Bộ duyệt Web
GenericName[zh_CN]=网页浏览器
GenericName[zh_HK]=網頁瀏覽器
GenericName[zh_TW]=網頁瀏覽器
Comment=Access the Internet
Comment[ar]=الدخول إلى الإنترنت
Comment[ast]=Accesu a Internet
Comment[bg]=Достъп до интернет
Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
Comment[ca]=Accediu a Internet
Comment[cs]=Přístup k internetu
Comment[da]=Få adgang til internettet
Comment[de]=Internetzugriff
Comment[el]=Πρόσβαση στο Διαδίκτυο
Comment[en_GB]=Access the Internet
Comment[es]=Acceda a Internet
Comment[et]=Pääs Internetti
Comment[fi]=Käytä internetiä
Comment[fil]=I-access ang Internet
Comment[fr]=Explorer le Web
Comment[gl]=Acceda a Internet
Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
Comment[he]=גישה לאינטרנט
Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
Comment[hr]=Pristupite Internetu
Comment[hu]=Az internet elérése
Comment[id]=Akses Internet
Comment[it]=Accesso a Internet
Comment[ja]=インターネットにアクセス
Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
Comment[ko]=인터넷에 연결합니다
Comment[lt]=Interneto prieiga
Comment[lv]=Piekļūt internetam
Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക
Comment[mr]=इंटरनेटमध्ये प्रवेश करा
Comment[nb]=Gå til Internett
Comment[nl]=Verbinding maken met internet
Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
Comment[pl]=Skorzystaj z internetu
Comment[pt]=Aceder à Internet
Comment[pt_BR]=Acessar a internet
Comment[ro]=Accesaţi Internetul
Comment[ru]=Доступ в Интернет
Comment[sk]=Prístup do siete Internet
Comment[sl]=Dostop do interneta
Comment[sr]=Приступите Интернету
Comment[sv]=Surfa på Internet
Comment[ta]=இணையத்தை அணுகுதல்
Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి
Comment[th]=เข้าถึงอินเทอร์เน็ต
Comment[tr]=İnternet'e erişin
Comment[ug]=ئىنتېرنېتنى زىيارەت قىلىش
Comment[uk]=Доступ до Інтернету
Comment[vi]=Truy cập Internet
Comment[zh_CN]=访问互联网
Comment[zh_HK]=連線到網際網路
Comment[zh_TW]=連線到網際網路
Exec=/usr/bin/chromium %U
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=chromium
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml_xml;x-scheme-handler/http;x-scheme-handler/https;
StartupWMClass=Chromium
StartupNotify=true

6
debian/chromium.dirs vendored Normal file
View File

@@ -0,0 +1,6 @@
usr/bin
etc/chromium.d
usr/lib/chromium/plugins
usr/lib/chromium/resources

16
debian/chromium.install vendored Normal file
View File

@@ -0,0 +1,16 @@
out/Release/chromium usr/lib/chromium
out/Release/*.so usr/lib/chromium
out/Release/*.bin usr/lib/chromium
out/Release/*.pak usr/lib/chromium
out/Release/icudtl.dat usr/lib/chromium
out/Release/resources/*.pak usr/lib/chromium/locales
debian/presubj usr/share/bug/chromium
debian/master_preferences etc/chromium.d
debian/chromium.xml usr/share/gnome-control-center/default-apps
debian/chromium.desktop usr/share/applications

2
debian/chromium.links vendored Normal file
View File

@@ -0,0 +1,2 @@
usr/share/icons/hicolor/32x32/apps/chromium.xpm usr/share/pixmaps/chromium.xpm
usr/share/icons/hicolor/48x48/apps/chromium.png usr/share/pixmaps/chromium.png

12
debian/chromium.lintian-overrides vendored Normal file
View File

@@ -0,0 +1,12 @@
# sandbox is intentionally suid
#setuid-binary usr/lib/chromium/chrome-sandbox 4755 root/root
# ffmpeg doesn't support pic
shlib-with-non-pic-code usr/lib/chromium/libffmpegsumo.so
# currently unavoidable embedded libraries
embedded-library usr/lib/chromium/libffmpegsumo.so: libavcodec
embedded-library usr/lib/chromium/libffmpegsumo.so: libavutil
embedded-library usr/lib/chromium/chromium: sqlite
embedded-library usr/lib/chromium/chromium: libpng
# temporarily accepting these code copies
embedded-library usr/lib/chromium/chromium: srtp
embedded-library usr/lib/chromium/chromium: lcms2

4
debian/chromium.maintscript vendored Normal file
View File

@@ -0,0 +1,4 @@
# remove wheezy era conffiles (can be removed post-jessie)
rm_conffile /etc/chromium/default 37.0.2062.120-3~
rm_conffile /etc/chromium/master_preferences 37.0.2062.120-3~
rm_conffile /etc/chromium/initial_bookmarks.html 37.0.2062.120-3~

1
debian/chromium.manpages vendored Normal file
View File

@@ -0,0 +1 @@
out/Release/chromium.1

5
debian/chromium.menu vendored Normal file
View File

@@ -0,0 +1,5 @@
?package(chromium):needs="x11" section="Applications/Network/Web Browsing" \
title="Chromium" \
longtitle="Chromium Web Browser" \
command="chromium" \
icon="/usr/share/pixmaps/chromium.xpm"

12
debian/chromium.postinst vendored Normal file
View File

@@ -0,0 +1,12 @@
#!/bin/sh
set -e
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] ; then
update-alternatives --install /usr/bin/x-www-browser \
x-www-browser /usr/bin/chromium 40
update-alternatives --install /usr/bin/gnome-www-browser \
gnome-www-browser /usr/bin/chromium 40
fi
#DEBHELPER#

11
debian/chromium.preinst vendored Normal file
View File

@@ -0,0 +1,11 @@
#!/bin/sh
set -e
# workaround for #766420 (this can be removed post-jessie)
if test "$1" = "upgrade"; then
test ! -d /usr/share/pixmaps/chromium.png || rm -rf /usr/share/pixmaps/chromium.png
test ! -d /usr/share/pixmaps/chromium.xpm || rm -rf /usr/share/pixmaps/chromium.xpm
fi
#DEBHELPER#

10
debian/chromium.prerm vendored Normal file
View File

@@ -0,0 +1,10 @@
#!/bin/sh
set -e
if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ] ; then
update-alternatives --remove x-www-browser /usr/bin/chromium
update-alternatives --remove gnome-www-browser /usr/bin/chromium
fi
#DEBHELPER#

16
debian/chromium.xml vendored Normal file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE default-apps SYSTEM "gnome-da-list.dtd">
<default-apps>
<web-browsers>
<web-browser>
<name>Chromium</name>
<executable>chromium</executable>
<command>/usr/bin/chromium %s</command>
<icon-name>chromium</icon-name>
<run-in-terminal>false</run-in-terminal>
<netscape-remote>true</netscape-remote>
<tab-command>/usr/bin/chromium %s</tab-command>
<win-command>/usr/bin/chromium --new-window %s</win-command>
</web-browser>
</web-browsers>
</default-apps>

1
debian/compat vendored Normal file
View File

@@ -0,0 +1 @@
9

164
debian/control vendored Normal file
View File

@@ -0,0 +1,164 @@
Source: chromium-browser
Section: web
Priority: optional
Maintainer: Debian Chromium Maintainers <pkg-chromium-maint@lists.alioth.debian.org>
Uploaders:
Giuseppe Iuculano <iuculano@debian.org>,
Michael Gilbert <mgilbert@debian.org>,
Vcs-Git: git://anonscm.debian.org/pkg-chromium/pkg-chromium.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-chromium/pkg-chromium.git
Homepage: http://www.chromium.org/Home
Build-Depends:
clang (>= 3.5),
debhelper (>= 9),
gyp,
python3,
pkg-config,
ninja-build,
python-jinja2,
ca-certificates,
wget,
flex,
yasm,
xvfb,
wdiff,
gperf,
bison,
valgrind,
xz-utils,
x11-apps,
xfonts-base,
libglewmx-dev,
libgl1-mesa-dev,
libglu1-mesa-dev,
libegl1-mesa-dev,
libgles2-mesa-dev,
mesa-common-dev,
libgtk2.0-dev,
libglib2.0-dev,
libxt-dev,
libre2-dev,
libpng-dev,
libxss-dev,
libelf-dev,
libvpx-dev,
libssl-dev,
libpci-dev,
libcap-dev,
libdrm-dev,
libusb-dev,
libicu-dev,
libkrb5-dev,
libexif-dev,
libudev-dev,
libopus-dev,
libwebp-dev,
libxtst-dev,
libsrtp-dev,
libjpeg-dev,
libxml2-dev,
libxslt1-dev,
libpulse-dev,
libspeex-dev,
libpam0g-dev,
libsnappy-dev,
libgconf2-dev,
libasound2-dev,
libjsoncpp-dev,
libspeechd-dev,
libminizip-dev,
libhunspell-dev,
libmodpbase64-dev,
libgnome-keyring-dev,
libnss3-dev (>= 3.12.3),
libnspr4-dev (>= 2:4.9),
libcups2-dev (>= 1.5.0),
libevent-dev (>= 1.4.13),
libjs-jquery,
libjs-excanvas,
libjs-jquery-flot,
libgcrypt20-dev,
fonts-ipafont-gothic,
fonts-ipafont-mincho,
Built-Using:
libjs-jquery,
libjs-jquery-flot,
Standards-Version: 3.9.6
Package: chromium
Architecture: i386 amd64
Depends:
${misc:Depends},
${shlibs:Depends},
x11-utils,
xdg-utils,
Suggests:
chromium-l10n,
chromium-inspector,
Provides:
www-browser,
gnome-www-browser,
Description: web browser
Web browser that aims to build a safer, faster, and more stable internet
browsing experience.
.
This package contains the web browser component.
Package: chromium-dbg
Architecture: i386 amd64
Section: debug
Priority: extra
Depends:
${misc:Depends},
chromium (= ${binary:Version}),
Description: web browser - debugging symbols
A web browser that aims to build a safer, faster, and more stable internet
browsing experience.
.
This package contains the debugging symbols.
Package: chromium-l10n
Architecture: all
Section: localization
Depends:
${misc:Depends},
chromium (>= ${source:Version}),
Description: web browser - language packs
Web browser that aims to build a safer, faster, and more stable internet
browsing experience.
.
This package contains language packages for:
am, ar, bg, bn, ca, cs, da, de, el, en-GB, es-419, es, et, fi, fil, fr, gu, he,
hi, hr, hu, id, it, ja, kn, ko, lt, lv, ml, mr, nb, nl, pl, pt-BR, pt-PT,
ro, ru, sk, sl, sr, sv, sw, ta, te, th, tr, uk, vi, zh-CN, zh-TW
Package: chromium-inspector
Architecture: all
Multi-Arch: foreign
Depends:
${misc:Depends},
Recommends:
chromium,
Replaces:
chromium (<< 31.0.1650.48-1),
Description: web browser - page inspection support
Web browser that aims to build a safer, faster, and more stable internet
browsing experience.
.
This package contains the 'inspector', which enables web developers to inspect
elements of a web page at runtime (HTML, JavaScript, CSS, etc.).
Package: chromedriver
Architecture: i386 amd64
Depends:
${misc:Depends},
${shlibs:Depends},
chromium (= ${binary:Version}),
Description: web browser - WebDriver support
Web browser that aims to build a safer, faster, and more stable internet
browsing experience.
.
This package provides a bridge between the browser component and the selenium
automatic webdriver.
.
See http://code.google.com/p/selenium/wiki/ChromeDriver for details.

78
debian/master_preferences vendored Normal file
View File

@@ -0,0 +1,78 @@
{
"alternate_error_pages": {
"enabled": false
},
"autofill": {
"enabled": false
},
"distribution": {
"import_bookmarks": false,
"skip_first_run_ui": true,
"make_chrome_default": false,
"make_chrome_default_for_user": false,
"create_all_shortcuts": true,
"show_welcome_page": false
},
"background_mode": {
"enabled": false
},
"browser": {
"show_home_button": true,
"check_default_browser" : false,
"clear_data": {
"browsing_history": false,
"cache": true,
"download_history": false,
"form_data": true,
"hosted_apps_data": true,
"passwords": true,
"time_period": 4
},
"clear_lso_data_enabled": false,
"custom_chrome_frame": false,
"enable_spellchecking": true
},
"bookmark_bar": {
"show_on_all_tabs": true
},
"default_apps_install_state": 2,
"dns_prefetching": {
"enabled": false
},
"download": {
"directory_upgrade": true,
"extensions_to_open": "",
"prompt_for_download": true
},
"net": {
"network_prediction_options": 2
},
"profile": {
"content_settings": {
"clear_on_exit_migrated": true
},
"default_content_settings": {
"cookies": 4,
"geolocation": 2,
"media-stream": 2,
"mouselock": 2,
"notifications": 2,
"plugins": 3,
"ppapi-broker": 2
},
"password_manager_enabled": false
},
"safebrowsing": {
"enabled": false
},
"savefile": {
"type": 2
},
"search": {
"suggest_enabled": false
},
"translate": {
"enabled": false
}
}

View File

@@ -0,0 +1,13 @@
description: set chromedriver version as undefined
--- a/chrome/test/chromedriver/embed_version_in_cpp.py
+++ b/chrome/test/chromedriver/embed_version_in_cpp.py
@@ -26,7 +26,7 @@ def main():
options, args = parser.parse_args()
version = open(options.version_file, 'r').read().strip()
- revision = lastchange.FetchVersionInfo(None).revision
+ revision = "undefined"
if revision:
match = re.match('([0-9a-fA-F]+)(-refs/heads/master@{#(\d+)})?', revision)

16
debian/patches/clang.patch vendored Normal file
View File

@@ -0,0 +1,16 @@
description: use system clang compilers
author: Michael Gilbert <mgilbert@debian.org>
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -5772,8 +5772,8 @@
['clang==1 and ((OS!="mac" and OS!="ios") or clang_xcode==0) '
'and OS!="win"', {
'make_global_settings': [
- ['CC', '<(make_clang_dir)/bin/clang'],
- ['CXX', '<(make_clang_dir)/bin/clang++'],
+ ['CC', '/usr/bin/clang'],
+ ['CXX', '/usr/bin/clang++'],
['CC.host', '$(CC)'],
['CXX.host', '$(CXX)'],
],

View File

@@ -0,0 +1,110 @@
description: Adds a menu item under "More tools" to clear the HTTP authentication cache on demand
--- a/chrome/app/chrome_command_ids.h
+++ b/chrome/app/chrome_command_ids.h
@@ -187,6 +187,7 @@
#define IDC_DEV_TOOLS_INSPECT 40023
#define IDC_UPGRADE_DIALOG 40024
#define IDC_VIEW_INCOMPATIBILITIES 40025
+#define IDC_CLEAR_HTTP_AUTH_CACHE 40026
#define IDC_SHOW_KEYBOARD_OVERLAY 40027
#define IDC_PROFILING_ENABLED 40028
#define IDC_BOOKMARKS_MENU 40029
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -1496,6 +1496,9 @@ Psst! Incognito mode <ph name="SHORTCUT_KEY">$1<ex>(Ctrl+Shift+N)</ex></ph> may
<message name="IDS_CLEAR_BROWSING_DATA" desc="The text label for the menu item for clearing of browsing data">
&amp;Clear browsing data...
</message>
+ <message name="IDS_CLEAR_HTTP_AUTH_CACHE" desc="The text label for the menu item for clearing the HTTP authentication cache">
+ Clear &amp;HTTP auth cache
+ </message>
<message name="IDS_SHOW_DOWNLOADS" desc="The show downloads menu in the app menu">
&amp;Downloads
</message>
@@ -1542,6 +1545,9 @@ Psst! Incognito mode <ph name="SHORTCUT_KEY">$1<ex>(Ctrl+Shift+N)</ex></ph> may
<message name="IDS_CLEAR_BROWSING_DATA" desc="In Title Case: The text label for the menu item for clearing of browsing data">
&amp;Clear Browsing Data...
</message>
+ <message name="IDS_CLEAR_HTTP_AUTH_CACHE" desc="In Title Case: The text label for the menu item for clearing the HTTP authentication cache">
+ Clear &amp;HTTP Auth Cache
+ </message>
<message name="IDS_SHOW_DOWNLOADS" desc="In Title Case: The show downloads menu in the app menu">
&amp;Downloads
</message>
--- a/chrome/browser/ui/toolbar/wrench_menu_model.cc
+++ b/chrome/browser/ui/toolbar/wrench_menu_model.cc
@@ -301,6 +301,8 @@ void ToolsMenuModel::Build(Browser* browser) {
AddItemWithStringId(IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA);
+ AddItemWithStringId(IDC_CLEAR_HTTP_AUTH_CACHE, IDS_CLEAR_HTTP_AUTH_CACHE);
+
#if defined(OS_CHROMEOS)
AddItemWithStringId(IDC_TAKE_SCREENSHOT, IDS_TAKE_SCREENSHOT);
#endif
@@ -626,6 +628,13 @@ void WrenchMenuModel::LogMenuMetrics(int command_id) {
}
LogMenuAction(MENU_ACTION_CLEAR_BROWSING_DATA);
break;
+ case IDC_CLEAR_HTTP_AUTH_CACHE:
+ if (!uma_action_recorded_) {
+ UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ClearHttpAuthCache",
+ delta);
+ }
+ LogMenuAction(MENU_ACTION_CLEAR_HTTP_AUTH_CACHE);
+ break;
case IDC_VIEW_SOURCE:
if (!uma_action_recorded_)
UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ViewSource", delta);
--- a/chrome/browser/ui/toolbar/wrench_menu_model.h
+++ b/chrome/browser/ui/toolbar/wrench_menu_model.h
@@ -52,6 +52,7 @@ enum WrenchMenuAction {
MENU_ACTION_MANAGE_EXTENSIONS,
MENU_ACTION_TASK_MANAGER,
MENU_ACTION_CLEAR_BROWSING_DATA,
+ MENU_ACTION_CLEAR_HTTP_AUTH_CACHE,
MENU_ACTION_VIEW_SOURCE,
MENU_ACTION_DEV_TOOLS,
MENU_ACTION_DEV_TOOLS_CONSOLE,
--- a/chrome/browser/ui/views/frame/global_menu_bar_x11.cc
+++ b/chrome/browser/ui/views/frame/global_menu_bar_x11.cc
@@ -228,6 +228,7 @@ GlobalMenuBarCommand tools_menu[] = {
{ IDS_TASK_MANAGER, IDC_TASK_MANAGER },
{ IDS_CLEAR_BROWSING_DATA, IDC_CLEAR_BROWSING_DATA },
+ { IDS_CLEAR_HTTP_AUTH_CACHE, IDC_CLEAR_HTTP_AUTH_CACHE },
{ MENU_SEPARATOR, MENU_SEPARATOR },
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -43,6 +43,9 @@
#include "content/public/common/url_constants.h"
#include "extensions/browser/extension_system.h"
#include "ui/events/keycodes/keyboard_codes.h"
+#include "net/url_request/url_request_context.h"
+#include "net/url_request/url_request_context_getter.h"
+#include "net/http/http_transaction_factory.h"
#if defined(OS_MACOSX)
#include "chrome/browser/ui/browser_commands_mac.h"
@@ -744,6 +747,9 @@ void BrowserCommandController::ExecuteCommandWithDisposition(
case IDC_CLEAR_BROWSING_DATA:
ShowClearBrowsingDataDialog(browser_);
break;
+ case IDC_CLEAR_HTTP_AUTH_CACHE:
+ browser_->tab_strip_model()->GetActiveWebContents()->GetBrowserContext()->GetRequestContext()->GetURLRequestContext()->http_transaction_factory()->GetSession()->http_auth_cache()->Clear();
+ break;
case IDC_IMPORT_SETTINGS:
ShowImportDialog(browser_);
break;
@@ -971,6 +977,7 @@ void BrowserCommandController::InitCommandState() {
!guest_session &&
!profile()->IsOffTheRecord());
command_updater_.UpdateCommandEnabled(IDC_CLEAR_BROWSING_DATA, normal_window);
+ command_updater_.UpdateCommandEnabled(IDC_CLEAR_HTTP_AUTH_CACHE, true);
#if defined(OS_CHROMEOS)
command_updater_.UpdateCommandEnabled(IDC_TAKE_SCREENSHOT, true);
command_updater_.UpdateCommandEnabled(IDC_TOUCH_HUD_PROJECTION_TOGGLE, true);

View File

@@ -0,0 +1,13 @@
description: Disable prompt about "unsafe" commandline switches
--- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
+++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
@@ -832,7 +832,6 @@ void StartupBrowserCreatorImpl::AddInfoBarsIfNecessary(
// so we cannot add the info bars to the focused tabs here.
if (is_process_startup == chrome::startup::IS_PROCESS_STARTUP &&
!command_line_.HasSwitch(switches::kTestType)) {
- chrome::ShowBadFlagsPrompt(browser);
ObsoleteSystemInfoBarDelegate::Create(InfoBarService::FromWebContents(
browser->tab_strip_model()->GetActiveWebContents()));

View File

@@ -0,0 +1,20 @@
description: Disables omission of URL elements in Omnibox
--- a/net/base/net_util_icu.cc
+++ b/net/base/net_util_icu.cc
@@ -570,10 +570,10 @@ void AppendFormattedComponent(const std::string& spec,
} // namespace
-const FormatUrlType kFormatUrlOmitNothing = 0;
-const FormatUrlType kFormatUrlOmitUsernamePassword = 1 << 0;
-const FormatUrlType kFormatUrlOmitHTTP = 1 << 1;
-const FormatUrlType kFormatUrlOmitTrailingSlashOnBareHostname = 1 << 2;
+const FormatUrlType kFormatUrlOmitNothing = 1;
+const FormatUrlType kFormatUrlOmitUsernamePassword = 0 << 0;
+const FormatUrlType kFormatUrlOmitHTTP = 0 << 1;
+const FormatUrlType kFormatUrlOmitTrailingSlashOnBareHostname = 0 << 2;
const FormatUrlType kFormatUrlOmitAll = kFormatUrlOmitUsernamePassword |
kFormatUrlOmitHTTP | kFormatUrlOmitTrailingSlashOnBareHostname;

View File

@@ -0,0 +1,15 @@
description: Disables the Google URL Tracker, which is a service that seeks the address to Google for background communication
--- a/components/google/core/browser/google_url_tracker.cc
+++ b/components/google/core/browser/google_url_tracker.cc
@@ -135,6 +135,9 @@ void GoogleURLTracker::StartFetchIfDesirable() {
//
// See comments in header on the class, on RequestServerCheck(), and on the
// various members here for more detail on exactly what the conditions are.
+ already_fetched_ = true;
+ need_to_fetch_ = false;
+ return;
if (in_startup_sleep_ || already_fetched_ || !need_to_fetch_)
return;

View File

@@ -0,0 +1,361 @@
description: Disables searching in the omnibox, hides search options, and disables automatic adding of search engines
--- a/components/omnibox/autocomplete_input.cc
+++ b/components/omnibox/autocomplete_input.cc
@@ -167,7 +167,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse(
*canonicalized_url =
url_fixer::FixupURL(base::UTF16ToUTF8(text), desired_tld);
if (!canonicalized_url->is_valid())
- return metrics::OmniboxInputType::QUERY;
+ return metrics::OmniboxInputType::URL;
if (LowerCaseEqualsASCII(parsed_scheme_utf8, url::kFileScheme)) {
// A user might or might not type a scheme when entering a file URL. In
@@ -188,7 +188,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse(
metrics::OmniboxInputType::Type type =
scheme_classifier.GetInputTypeForScheme(parsed_scheme_utf8);
if (type != metrics::OmniboxInputType::INVALID)
- return type;
+ return metrics::OmniboxInputType::URL;
// We don't know about this scheme. It might be that the user typed a
// URL of the form "username:password@foo.com".
@@ -238,7 +238,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse(
// the option of treating it as a URL if we're wrong.
// Note that SegmentURL() is smart so we aren't tricked by "c:\foo" or
// "www.example.com:81" in this case.
- return metrics::OmniboxInputType::UNKNOWN;
+ return metrics::OmniboxInputType::URL;
}
// Either the user didn't type a scheme, in which case we need to distinguish
@@ -250,7 +250,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse(
// valid, non-standard URL; for standard URLs, an empty host would have
// resulted in an invalid |canonicalized_url| above.)
if (!canonicalized_url->has_host())
- return metrics::OmniboxInputType::QUERY;
+ return metrics::OmniboxInputType::URL;
// Determine the host family. We get this information by (re-)canonicalizing
// the already-canonicalized host rather than using the user's original input,
@@ -297,7 +297,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse(
// without concrete evidence that doing so is necessary.
return (parts->scheme.is_nonempty() ||
(has_known_tld && (original_host.find(' ') == base::string16::npos))) ?
- metrics::OmniboxInputType::UNKNOWN : metrics::OmniboxInputType::QUERY;
+ metrics::OmniboxInputType::URL : metrics::OmniboxInputType::URL;
}
// For hostnames that look like IP addresses, distinguish between IPv6
@@ -311,7 +311,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse(
// IP with a non-zero first octet; IPs with first octet zero are "source
// IPs" and are never navigable as destination addresses.
if (host_info.address[0] == 0)
- return metrics::OmniboxInputType::QUERY;
+ return metrics::OmniboxInputType::URL;
// This is theoretically a navigable IP. We have four cases. The first
// three are:
@@ -355,7 +355,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse(
// scheme/trailing slash.
if ((host_info.family == url::CanonHostInfo::IPV4) &&
(host_info.num_ipv4_components > 1))
- return metrics::OmniboxInputType::QUERY;
+ return metrics::OmniboxInputType::URL;
// If there is more than one recognized non-host component, this is likely to
// be a URL, even if the TLD is unknown (in which case this is likely an
@@ -369,7 +369,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse(
// there _is_ a desired TLD, the user hit ctrl-enter, and we assume that
// implies an attempted navigation.)
if (canonicalized_url->has_username() && desired_tld.empty())
- return metrics::OmniboxInputType::UNKNOWN;
+ return metrics::OmniboxInputType::URL;
// If the host has a known TLD or a port, it's probably a URL. Note that we
// special-case "localhost" as a known hostname.
@@ -386,7 +386,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse(
// returned URL.
if (!parts->path.is_valid() && !canonicalized_url->has_query() &&
canonicalized_url->has_ref())
- return metrics::OmniboxInputType::QUERY;
+ return metrics::OmniboxInputType::URL;
// No scheme, username, port, and no known TLD on the host.
// This could be:
@@ -402,7 +402,7 @@ metrics::OmniboxInputType::Type AutocompleteInput::Parse(
// QUERY. Since this is indistinguishable from the case above, and this
// case is much more likely, claim these are UNKNOWN, which should default
// to the right thing and let users correct us on a case-by-case basis.
- return metrics::OmniboxInputType::UNKNOWN;
+ return metrics::OmniboxInputType::URL;
}
// static
--- a/chrome/browser/resources/options/browser_options.html
+++ b/chrome/browser/resources/options/browser_options.html
@@ -142,7 +142,7 @@
</div>
</section>
</if>
- <section>
+ <section hidden="hidden">
<h3 i18n-content="sectionTitleSearch"></h3>
<div id="search-section-content">
<span id="default-search-engine-label"
--- a/chrome/browser/ui/chrome_pages.cc
+++ b/chrome/browser/ui/chrome_pages.cc
@@ -324,8 +324,6 @@ void ShowAboutChrome(Browser* browser) {
}
void ShowSearchEngineSettings(Browser* browser) {
- content::RecordAction(UserMetricsAction("EditSearchEngines"));
- ShowSettingsSubPage(browser, kSearchEnginesSubPage);
}
#if !defined(OS_ANDROID) && !defined(OS_IOS)
--- a/components/search_engines/template_url_service.cc
+++ b/components/search_engines/template_url_service.cc
@@ -246,95 +246,7 @@ bool TemplateURLService::LoadDefaultSearchProviderFromPrefs(
PrefService* prefs,
scoped_ptr<TemplateURLData>* default_provider_data,
bool* is_managed) {
- if (!prefs || !prefs->HasPrefPath(prefs::kDefaultSearchProviderSearchURL) ||
- !prefs->HasPrefPath(prefs::kDefaultSearchProviderKeyword))
- return false;
-
- const PrefService::Preference* pref =
- prefs->FindPreference(prefs::kDefaultSearchProviderSearchURL);
- *is_managed = pref && pref->IsManaged();
-
- if (!prefs->GetBoolean(prefs::kDefaultSearchProviderEnabled)) {
- // The user doesn't want a default search provider.
- default_provider_data->reset(NULL);
- return true;
- }
-
- base::string16 name =
- base::UTF8ToUTF16(prefs->GetString(prefs::kDefaultSearchProviderName));
- base::string16 keyword =
- base::UTF8ToUTF16(prefs->GetString(prefs::kDefaultSearchProviderKeyword));
- if (keyword.empty())
- return false;
- std::string search_url =
- prefs->GetString(prefs::kDefaultSearchProviderSearchURL);
- // Force URL to be non-empty. We've never supported this case, but past bugs
- // might have resulted in it slipping through; eventually this code can be
- // replaced with a DCHECK(!search_url.empty());.
- if (search_url.empty())
- return false;
- std::string suggest_url =
- prefs->GetString(prefs::kDefaultSearchProviderSuggestURL);
- std::string instant_url =
- prefs->GetString(prefs::kDefaultSearchProviderInstantURL);
- std::string image_url =
- prefs->GetString(prefs::kDefaultSearchProviderImageURL);
- std::string new_tab_url =
- prefs->GetString(prefs::kDefaultSearchProviderNewTabURL);
- std::string search_url_post_params =
- prefs->GetString(prefs::kDefaultSearchProviderSearchURLPostParams);
- std::string suggest_url_post_params =
- prefs->GetString(prefs::kDefaultSearchProviderSuggestURLPostParams);
- std::string instant_url_post_params =
- prefs->GetString(prefs::kDefaultSearchProviderInstantURLPostParams);
- std::string image_url_post_params =
- prefs->GetString(prefs::kDefaultSearchProviderImageURLPostParams);
- std::string icon_url =
- prefs->GetString(prefs::kDefaultSearchProviderIconURL);
- std::string encodings =
- prefs->GetString(prefs::kDefaultSearchProviderEncodings);
- std::string id_string = prefs->GetString(prefs::kDefaultSearchProviderID);
- std::string prepopulate_id =
- prefs->GetString(prefs::kDefaultSearchProviderPrepopulateID);
- const base::ListValue* alternate_urls =
- prefs->GetList(prefs::kDefaultSearchProviderAlternateURLs);
- std::string search_terms_replacement_key = prefs->GetString(
- prefs::kDefaultSearchProviderSearchTermsReplacementKey);
-
- default_provider_data->reset(new TemplateURLData);
- (*default_provider_data)->short_name = name;
- (*default_provider_data)->SetKeyword(keyword);
- (*default_provider_data)->SetURL(search_url);
- (*default_provider_data)->suggestions_url = suggest_url;
- (*default_provider_data)->instant_url = instant_url;
- (*default_provider_data)->image_url = image_url;
- (*default_provider_data)->new_tab_url = new_tab_url;
- (*default_provider_data)->search_url_post_params = search_url_post_params;
- (*default_provider_data)->suggestions_url_post_params =
- suggest_url_post_params;
- (*default_provider_data)->instant_url_post_params = instant_url_post_params;
- (*default_provider_data)->image_url_post_params = image_url_post_params;
- (*default_provider_data)->favicon_url = GURL(icon_url);
- (*default_provider_data)->show_in_default_list = true;
- (*default_provider_data)->alternate_urls.clear();
- for (size_t i = 0; i < alternate_urls->GetSize(); ++i) {
- std::string alternate_url;
- if (alternate_urls->GetString(i, &alternate_url))
- (*default_provider_data)->alternate_urls.push_back(alternate_url);
- }
- (*default_provider_data)->search_terms_replacement_key =
- search_terms_replacement_key;
- base::SplitString(encodings, ';', &(*default_provider_data)->input_encodings);
- if (!id_string.empty() && !*is_managed) {
- int64 value;
- base::StringToInt64(id_string, &value);
- (*default_provider_data)->id = value;
- }
- if (!prepopulate_id.empty() && !*is_managed) {
- int value;
- base::StringToInt(prepopulate_id, &value);
- (*default_provider_data)->prepopulate_id = value;
- }
+ default_provider_data->reset(NULL);
return true;
}
@@ -377,74 +289,6 @@ base::string16 TemplateURLService::CleanUserInputKeyword(
void TemplateURLService::SaveDefaultSearchProviderToPrefs(
const TemplateURL* t_url,
PrefService* prefs) {
- if (!prefs)
- return;
-
- bool enabled = false;
- std::string search_url;
- std::string suggest_url;
- std::string instant_url;
- std::string image_url;
- std::string new_tab_url;
- std::string search_url_post_params;
- std::string suggest_url_post_params;
- std::string instant_url_post_params;
- std::string image_url_post_params;
- std::string icon_url;
- std::string encodings;
- std::string short_name;
- std::string keyword;
- std::string id_string;
- std::string prepopulate_id;
- base::ListValue alternate_urls;
- std::string search_terms_replacement_key;
- if (t_url) {
- DCHECK_EQ(TemplateURL::NORMAL, t_url->GetType());
- enabled = true;
- search_url = t_url->url();
- suggest_url = t_url->suggestions_url();
- instant_url = t_url->instant_url();
- image_url = t_url->image_url();
- new_tab_url = t_url->new_tab_url();
- search_url_post_params = t_url->search_url_post_params();
- suggest_url_post_params = t_url->suggestions_url_post_params();
- instant_url_post_params = t_url->instant_url_post_params();
- image_url_post_params = t_url->image_url_post_params();
- GURL icon_gurl = t_url->favicon_url();
- if (!icon_gurl.is_empty())
- icon_url = icon_gurl.spec();
- encodings = JoinString(t_url->input_encodings(), ';');
- short_name = base::UTF16ToUTF8(t_url->short_name());
- keyword = base::UTF16ToUTF8(t_url->keyword());
- id_string = base::Int64ToString(t_url->id());
- prepopulate_id = base::Int64ToString(t_url->prepopulate_id());
- for (size_t i = 0; i < t_url->alternate_urls().size(); ++i)
- alternate_urls.AppendString(t_url->alternate_urls()[i]);
- search_terms_replacement_key = t_url->search_terms_replacement_key();
- }
- prefs->SetBoolean(prefs::kDefaultSearchProviderEnabled, enabled);
- prefs->SetString(prefs::kDefaultSearchProviderSearchURL, search_url);
- prefs->SetString(prefs::kDefaultSearchProviderSuggestURL, suggest_url);
- prefs->SetString(prefs::kDefaultSearchProviderInstantURL, instant_url);
- prefs->SetString(prefs::kDefaultSearchProviderImageURL, image_url);
- prefs->SetString(prefs::kDefaultSearchProviderNewTabURL, new_tab_url);
- prefs->SetString(prefs::kDefaultSearchProviderSearchURLPostParams,
- search_url_post_params);
- prefs->SetString(prefs::kDefaultSearchProviderSuggestURLPostParams,
- suggest_url_post_params);
- prefs->SetString(prefs::kDefaultSearchProviderInstantURLPostParams,
- instant_url_post_params);
- prefs->SetString(prefs::kDefaultSearchProviderImageURLPostParams,
- image_url_post_params);
- prefs->SetString(prefs::kDefaultSearchProviderIconURL, icon_url);
- prefs->SetString(prefs::kDefaultSearchProviderEncodings, encodings);
- prefs->SetString(prefs::kDefaultSearchProviderName, short_name);
- prefs->SetString(prefs::kDefaultSearchProviderKeyword, keyword);
- prefs->SetString(prefs::kDefaultSearchProviderID, id_string);
- prefs->SetString(prefs::kDefaultSearchProviderPrepopulateID, prepopulate_id);
- prefs->Set(prefs::kDefaultSearchProviderAlternateURLs, alternate_urls);
- prefs->SetString(prefs::kDefaultSearchProviderSearchTermsReplacementKey,
- search_terms_replacement_key);
}
bool TemplateURLService::CanReplaceKeyword(
@@ -1956,67 +1800,8 @@ bool TemplateURLService::AddNoNotify(TemplateURL* template_url,
bool newly_adding) {
DCHECK(template_url);
- if (newly_adding) {
- DCHECK_EQ(kInvalidTemplateURLID, template_url->id());
- DCHECK(std::find(template_urls_.begin(), template_urls_.end(),
- template_url) == template_urls_.end());
- template_url->data_.id = ++next_id_;
- }
-
- template_url->ResetKeywordIfNecessary(search_terms_data(), false);
- // Check whether |template_url|'s keyword conflicts with any already in the
- // model.
- TemplateURL* existing_keyword_turl =
- GetTemplateURLForKeyword(template_url->keyword());
-
- // Check whether |template_url|'s keyword conflicts with any already in the
- // model. Note that we can reach here during the loading phase while
- // processing the template URLs from the web data service. In this case,
- // GetTemplateURLForKeyword() will look not only at what's already in the
- // model, but at the |initial_default_search_provider_|. Since this engine
- // will presumably also be present in the web data, we need to double-check
- // that any "pre-existing" entries we find are actually coming from
- // |template_urls_|, lest we detect a "conflict" between the
- // |initial_default_search_provider_| and the web data version of itself.
- if (template_url->GetType() != TemplateURL::OMNIBOX_API_EXTENSION &&
- existing_keyword_turl &&
- existing_keyword_turl->GetType() != TemplateURL::OMNIBOX_API_EXTENSION &&
- (std::find(template_urls_.begin(), template_urls_.end(),
- existing_keyword_turl) != template_urls_.end())) {
- DCHECK_NE(existing_keyword_turl, template_url);
- // Only replace one of the TemplateURLs if they are either both extensions,
- // or both not extensions.
- bool are_same_type = existing_keyword_turl->GetType() ==
- template_url->GetType();
- if (CanReplace(existing_keyword_turl) && are_same_type) {
- RemoveNoNotify(existing_keyword_turl);
- } else if (CanReplace(template_url) && are_same_type) {
- delete template_url;
- return false;
- } else {
- base::string16 new_keyword =
- UniquifyKeyword(*existing_keyword_turl, false);
- ResetTemplateURLNoNotify(existing_keyword_turl,
- existing_keyword_turl->short_name(), new_keyword,
- existing_keyword_turl->url());
- }
- }
- template_urls_.push_back(template_url);
- AddToMaps(template_url);
-
- if (newly_adding &&
- (template_url->GetType() == TemplateURL::NORMAL)) {
- if (web_data_service_.get())
- web_data_service_->AddKeyword(template_url->data());
-
- // Inform sync of the addition. Note that this will assign a GUID to
- // template_url and add it to the guid_to_template_map_.
- ProcessTemplateURLChange(FROM_HERE,
- template_url,
- syncer::SyncChange::ACTION_ADD);
- }
-
- return true;
+ delete template_url;
+ return false;
}
void TemplateURLService::RemoveNoNotify(TemplateURL* template_url) {

View File

@@ -0,0 +1,161 @@
description: Disables saving site properties to the Preferences file, including per_host_zoom_levels and pattern_pairs keys
--- a/net/http/http_server_properties_manager.cc
+++ b/net/http/http_server_properties_manager.cc
@@ -789,8 +789,6 @@ void HttpServerPropertiesManager::UpdatePrefsOnPrefThread(
SaveSupportsQuicToPrefs(last_quic_address, &http_server_properties_dict);
- setting_prefs_ = true;
- pref_service_->Set(path_, http_server_properties_dict);
setting_prefs_ = false;
// Note that |completion| will be fired after we have written everything to
--- a/chrome/browser/ui/zoom/chrome_zoom_level_prefs.cc
+++ b/chrome/browser/ui/zoom/chrome_zoom_level_prefs.cc
@@ -94,34 +94,6 @@ ChromeZoomLevelPrefs::RegisterDefaultZoomLevelCallback(
void ChromeZoomLevelPrefs::OnZoomLevelChanged(
const content::HostZoomMap::ZoomLevelChange& change) {
- // If there's a manager to aggregate ZoomLevelChanged events, pass this event
- // along. Since we already hold a subscription to our associated HostZoomMap,
- // we don't need to create a separate subscription for this.
- if (zoom_event_manager_)
- zoom_event_manager_->OnZoomLevelChanged(change);
-
- if (change.mode != content::HostZoomMap::ZOOM_CHANGED_FOR_HOST)
- return;
- double level = change.zoom_level;
- DictionaryPrefUpdate update(pref_service_,
- prefs::kPartitionPerHostZoomLevels);
- base::DictionaryValue* host_zoom_dictionaries = update.Get();
- DCHECK(host_zoom_dictionaries);
-
- bool modification_is_removal =
- content::ZoomValuesEqual(level, host_zoom_map_->GetDefaultZoomLevel());
-
- base::DictionaryValue* host_zoom_dictionary = nullptr;
- if (!host_zoom_dictionaries->GetDictionary(partition_key_,
- &host_zoom_dictionary)) {
- host_zoom_dictionary = new base::DictionaryValue();
- host_zoom_dictionaries->Set(partition_key_, host_zoom_dictionary);
- }
-
- if (modification_is_removal)
- host_zoom_dictionary->RemoveWithoutPathExpansion(change.host, nullptr);
- else
- host_zoom_dictionary->SetDoubleWithoutPathExpansion(change.host, level);
}
// TODO(wjmaclean): Remove the dictionary_path once the migration code is
@@ -189,19 +161,6 @@ void ChromeZoomLevelPrefs::InitHostZoomMap(
// Initialize the default zoom level.
host_zoom_map_->SetDefaultZoomLevel(GetDefaultZoomLevelPref());
- // Initialize the HostZoomMap with per-host zoom levels from the persisted
- // zoom-level preference values.
- const base::DictionaryValue* host_zoom_dictionaries =
- pref_service_->GetDictionary(prefs::kPartitionPerHostZoomLevels);
- const base::DictionaryValue* host_zoom_dictionary = nullptr;
- if (host_zoom_dictionaries->GetDictionary(partition_key_,
- &host_zoom_dictionary)) {
- // Since we're calling this before setting up zoom_subscription_ below we
- // don't need to worry that host_zoom_dictionary is indirectly affected
- // by calls to HostZoomMap::SetZoomLevelForHost().
- ExtractPerHostZoomLevels(host_zoom_dictionary,
- true /* sanitize_partition_host_zoom_levels */);
- }
zoom_subscription_ = host_zoom_map_->AddZoomLevelChangedCallback(base::Bind(
&ChromeZoomLevelPrefs::OnZoomLevelChanged, base::Unretained(this)));
}
--- a/chrome/browser/prefs/pref_model_associator.cc
+++ b/chrome/browser/prefs/pref_model_associator.cc
@@ -323,11 +323,6 @@ scoped_ptr<base::Value> PrefModelAssociator::MergePreference(
MergeListValues(local_value, server_value)).Pass();
}
- if (name == prefs::kContentSettingsPatternPairs) {
- return scoped_ptr<base::Value>(
- MergeDictionaryValues(local_value, server_value)).Pass();
- }
-
// If this is not a specially handled preference, server wins.
return scoped_ptr<base::Value>(server_value.DeepCopy()).Pass();
}
--- a/components/content_settings/core/browser/content_settings_pref_provider.cc
+++ b/components/content_settings/core/browser/content_settings_pref_provider.cc
@@ -232,73 +232,6 @@ void PrefProvider::UpdatePref(
ContentSettingsType content_type,
const ResourceIdentifier& resource_identifier,
const base::Value* value) {
- // Ensure that |lock_| is not held by this thread, since this function will
- // send out notifications (by |~DictionaryPrefUpdate|).
- AssertLockNotHeld();
-
- base::AutoReset<bool> auto_reset(&updating_preferences_, true);
- {
- DictionaryPrefUpdate update(prefs_,
- prefs::kContentSettingsPatternPairs);
- base::DictionaryValue* pattern_pairs_settings = update.Get();
-
- // Get settings dictionary for the given patterns.
- std::string pattern_str(CreatePatternString(primary_pattern,
- secondary_pattern));
- base::DictionaryValue* settings_dictionary = NULL;
- bool found = pattern_pairs_settings->GetDictionaryWithoutPathExpansion(
- pattern_str, &settings_dictionary);
-
- if (!found && value) {
- settings_dictionary = new base::DictionaryValue;
- pattern_pairs_settings->SetWithoutPathExpansion(
- pattern_str, settings_dictionary);
- }
-
- if (settings_dictionary) {
- std::string res_dictionary_path;
- if (GetResourceTypeName(content_type, &res_dictionary_path) &&
- !resource_identifier.empty()) {
- base::DictionaryValue* resource_dictionary = NULL;
- found = settings_dictionary->GetDictionary(
- res_dictionary_path, &resource_dictionary);
- if (!found) {
- if (value == NULL)
- return; // Nothing to remove. Exit early.
- resource_dictionary = new base::DictionaryValue;
- settings_dictionary->Set(res_dictionary_path, resource_dictionary);
- }
- // Update resource dictionary.
- if (value == NULL) {
- resource_dictionary->RemoveWithoutPathExpansion(resource_identifier,
- NULL);
- if (resource_dictionary->empty()) {
- settings_dictionary->RemoveWithoutPathExpansion(
- res_dictionary_path, NULL);
- }
- } else {
- resource_dictionary->SetWithoutPathExpansion(
- resource_identifier, value->DeepCopy());
- }
- } else {
- // Update settings dictionary.
- std::string setting_path = GetTypeName(content_type);
- if (value == NULL) {
- settings_dictionary->RemoveWithoutPathExpansion(setting_path,
- NULL);
- settings_dictionary->RemoveWithoutPathExpansion(kLastUsed, NULL);
- } else {
- settings_dictionary->SetWithoutPathExpansion(
- setting_path, value->DeepCopy());
- }
- }
- // Remove the settings dictionary if it is empty.
- if (settings_dictionary->empty()) {
- pattern_pairs_settings->RemoveWithoutPathExpansion(
- pattern_str, NULL);
- }
- }
- }
}

View File

@@ -0,0 +1,65 @@
description: Disables browser sign-in
--- a/components/signin/core/browser/signin_manager.cc
+++ b/components/signin/core/browser/signin_manager.cc
@@ -304,7 +304,7 @@ void SigninManager::OnGoogleServicesUsernamePatternChanged() {
}
bool SigninManager::IsSigninAllowed() const {
- return signin_allowed_.GetValue();
+ return false;
}
void SigninManager::OnSigninAllowedPrefChanged() {
--- a/components/signin/core/browser/signin_manager_base.cc
+++ b/components/signin/core/browser/signin_manager_base.cc
@@ -49,7 +49,7 @@ void SigninManagerBase::Initialize(PrefService* local_state) {
bool SigninManagerBase::IsInitialized() const { return initialized_; }
bool SigninManagerBase::IsSigninAllowed() const {
- return client_->GetPrefs()->GetBoolean(prefs::kSigninAllowed);
+ return false;
}
const std::string& SigninManagerBase::GetAuthenticatedUsername() const {
--- a/chrome/browser/ui/chrome_pages.cc
+++ b/chrome/browser/ui/chrome_pages.cc
@@ -330,37 +330,6 @@ void ShowSearchEngineSettings(Browser* browser) {
#if !defined(OS_ANDROID) && !defined(OS_IOS)
void ShowBrowserSignin(Browser* browser, signin_metrics::Source source) {
- Profile* original_profile = browser->profile()->GetOriginalProfile();
- SigninManagerBase* manager =
- SigninManagerFactory::GetForProfile(original_profile);
- DCHECK(manager->IsSigninAllowed());
- // If the browser's profile is an incognito profile, make sure to use
- // a browser window from the original profile. The user cannot sign in
- // from an incognito window.
- bool switched_browser = false;
- scoped_ptr<ScopedTabbedBrowserDisplayer> displayer;
- if (browser->profile()->IsOffTheRecord()) {
- switched_browser = true;
- displayer.reset(new ScopedTabbedBrowserDisplayer(
- original_profile, chrome::HOST_DESKTOP_TYPE_NATIVE));
- browser = displayer->browser();
- }
-
- signin_metrics::LogSigninSource(source);
-
- // Since the app launcher is a separate application, it might steal focus
- // away from Chrome, and accidentally close the avatar bubble. The same will
- // happen if we had to switch browser windows to show the sign in page. In
- // this case, fallback to the full-tab signin page.
- if (switches::IsNewAvatarMenu() &&
- source != signin_metrics::SOURCE_APP_LAUNCHER && !switched_browser) {
- browser->window()->ShowAvatarBubbleFromAvatarButton(
- BrowserWindow::AVATAR_BUBBLE_MODE_SIGNIN,
- signin::ManageAccountsParams());
- } else {
- NavigateToSingletonTab(browser, GURL(signin::GetPromoURL(source, false)));
- DCHECK_GT(browser->tab_strip_model()->count(), 0);
- }
}
void ShowBrowserSigninOrSettings(

View File

@@ -0,0 +1,35 @@
description: Disables JavaScript dialog boxes that prompt when one tries to close a page
--- a/components/app_modal/javascript_dialog_manager.cc
+++ b/components/app_modal/javascript_dialog_manager.cc
@@ -128,28 +128,7 @@ void JavaScriptDialogManager::RunBeforeUnloadDialog(
const base::string16& message_text,
bool is_reload,
const DialogClosedCallback& callback) {
- const base::string16 title = l10n_util::GetStringUTF16(is_reload ?
- IDS_BEFORERELOAD_MESSAGEBOX_TITLE : IDS_BEFOREUNLOAD_MESSAGEBOX_TITLE);
- const base::string16 footer = l10n_util::GetStringUTF16(is_reload ?
- IDS_BEFORERELOAD_MESSAGEBOX_FOOTER : IDS_BEFOREUNLOAD_MESSAGEBOX_FOOTER);
-
- base::string16 full_message =
- message_text + base::ASCIIToUTF16("\n\n") + footer;
-
- extensions_client_->OnDialogOpened(web_contents);
-
- AppModalDialogQueue::GetInstance()->AddDialog(new JavaScriptAppModalDialog(
- web_contents,
- &javascript_dialog_extra_data_,
- title,
- content::JAVASCRIPT_MESSAGE_TYPE_CONFIRM,
- full_message,
- base::string16(), // default_prompt_text
- false, // display_suppress_checkbox
- true, // is_before_unload_dialog
- is_reload,
- base::Bind(&JavaScriptDialogManager::OnDialogClosed,
- base::Unretained(this), web_contents, callback)));
+ callback.Run(true, base::ASCIIToUTF16("bye-bye"));
}
bool JavaScriptDialogManager::HandleJavaScriptDialog(

View File

@@ -0,0 +1,175 @@
description: Fix building with safe_browsing=0 in gyp flags
--- a/chrome/browser/extensions/blacklist.cc
+++ b/chrome/browser/extensions/blacklist.cc
@@ -272,18 +272,9 @@ void Blacklist::ReturnBlacklistStateMap(
void Blacklist::RequestExtensionsBlacklistState(
const std::set<std::string>& ids, const base::Callback<void()>& callback) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- if (!state_fetcher_)
- state_fetcher_.reset(new BlacklistStateFetcher());
state_requests_.push_back(
make_pair(std::vector<std::string>(ids.begin(), ids.end()), callback));
- for (std::set<std::string>::const_iterator it = ids.begin();
- it != ids.end();
- ++it) {
- state_fetcher_->Request(
- *it,
- base::Bind(&Blacklist::OnBlacklistStateReceived, AsWeakPtr(), *it));
- }
}
void Blacklist::OnBlacklistStateReceived(const std::string& id,
@@ -318,11 +309,10 @@ void Blacklist::OnBlacklistStateReceived(const std::string& id,
void Blacklist::SetBlacklistStateFetcherForTest(
BlacklistStateFetcher* fetcher) {
- state_fetcher_.reset(fetcher);
}
BlacklistStateFetcher* Blacklist::ResetBlacklistStateFetcherForTest() {
- return state_fetcher_.release();
+ return NULL;
}
void Blacklist::AddObserver(Observer* observer) {
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -483,13 +483,6 @@ ProfileImpl::ProfileImpl(
path_, sequenced_task_runner, create_mode == CREATE_MODE_SYNCHRONOUS);
#endif
- scoped_refptr<SafeBrowsingService> safe_browsing_service(
- g_browser_process->safe_browsing_service());
- if (safe_browsing_service.get()) {
- pref_validation_delegate_ =
- safe_browsing_service->CreatePreferenceValidationDelegate(this).Pass();
- }
-
{
// On startup, preference loading is always synchronous so a scoped timer
// will work here.
--- a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
+++ b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
@@ -45,90 +45,6 @@ class InterstitialHTMLSource : public content::URLDataSource {
DISALLOW_COPY_AND_ASSIGN(InterstitialHTMLSource);
};
-SSLBlockingPage* CreateSSLBlockingPage(content::WebContents* web_contents) {
- // Random parameters for SSL blocking page.
- int cert_error = net::ERR_CERT_CONTAINS_ERRORS;
- GURL request_url("https://example.com");
- bool overridable = false;
- bool strict_enforcement = false;
- std::string url_param;
- if (net::GetValueForKeyInQuery(web_contents->GetURL(),
- "url",
- &url_param)) {
- if (GURL(url_param).is_valid())
- request_url = GURL(url_param);
- }
- std::string overridable_param;
- if (net::GetValueForKeyInQuery(web_contents->GetURL(),
- "overridable",
- &overridable_param)) {
- overridable = overridable_param == "1";
- }
- std::string strict_enforcement_param;
- if (net::GetValueForKeyInQuery(web_contents->GetURL(),
- "strict_enforcement",
- &strict_enforcement_param)) {
- strict_enforcement = strict_enforcement_param == "1";
- }
- net::SSLInfo ssl_info;
- ssl_info.cert = new net::X509Certificate(
- request_url.host(), "CA", base::Time::Max(), base::Time::Max());
- // This delegate doesn't create an interstitial.
- int options_mask = 0;
- if (overridable)
- options_mask |= SSLBlockingPage::OVERRIDABLE;
- if (strict_enforcement)
- options_mask |= SSLBlockingPage::STRICT_ENFORCEMENT;
- return new SSLBlockingPage(web_contents,
- cert_error,
- ssl_info,
- request_url,
- options_mask,
- base::Callback<void(bool)>());
-}
-
-SafeBrowsingBlockingPage* CreateSafeBrowsingBlockingPage(
- content::WebContents* web_contents) {
- SBThreatType threat_type = SB_THREAT_TYPE_URL_MALWARE;
- GURL request_url("http://example.com");
- std::string url_param;
- if (net::GetValueForKeyInQuery(web_contents->GetURL(),
- "url",
- &url_param)) {
- if (GURL(url_param).is_valid())
- request_url = GURL(url_param);
- }
- std::string type_param;
- if (net::GetValueForKeyInQuery(web_contents->GetURL(),
- "type",
- &type_param)) {
- if (type_param == "malware") {
- threat_type = SB_THREAT_TYPE_URL_MALWARE;
- } else if (type_param == "phishing") {
- threat_type = SB_THREAT_TYPE_URL_PHISHING;
- } else if (type_param == "clientside_malware") {
- threat_type = SB_THREAT_TYPE_CLIENT_SIDE_MALWARE_URL;
- } else if (type_param == "clientside_phishing") {
- threat_type = SB_THREAT_TYPE_CLIENT_SIDE_PHISHING_URL;
- // Interstitials for client side phishing urls load after the page loads
- // (see SafeBrowsingBlockingPage::IsMainPageLoadBlocked), so there should
- // either be a new navigation entry, or there shouldn't be any pending
- // entries. Clear any pending navigation entries.
- content::NavigationController* controller =
- &web_contents->GetController();
- controller->DiscardNonCommittedEntries();
- }
- }
- SafeBrowsingBlockingPage::UnsafeResource resource;
- resource.url = request_url;
- resource.threat_type = threat_type;
- // Create a blocking page without showing the interstitial.
- return SafeBrowsingBlockingPage::CreateBlockingPage(
- g_browser_process->safe_browsing_service()->ui_manager().get(),
- web_contents,
- resource);
-}
-
} // namespace
InterstitialUI::InterstitialUI(content::WebUI* web_ui)
@@ -175,15 +91,9 @@ void InterstitialHTMLSource::StartDataRequest(
int render_frame_id,
const content::URLDataSource::GotDataCallback& callback) {
scoped_ptr<content::InterstitialPageDelegate> interstitial_delegate;
- if (StartsWithASCII(path, "ssl", true)) {
- interstitial_delegate.reset(CreateSSLBlockingPage(web_contents_));
- } else if (StartsWithASCII(path, "safebrowsing", true)) {
- interstitial_delegate.reset(CreateSafeBrowsingBlockingPage(web_contents_));
- }
std::string html;
- if (interstitial_delegate.get()) {
- html = interstitial_delegate.get()->GetHTMLContents();
+ if (false) {
} else {
html = "<html><head><title>Interstitials</title></head>"
"<body><h2>Choose an interstitial<h2>"
--- a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
+++ b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
@@ -351,9 +351,6 @@ void ChromeResourceDispatcherHostDelegate::RequestBeginning(
content::AppCacheService* appcache_service,
ResourceType resource_type,
ScopedVector<content::ResourceThrottle>* throttles) {
- if (safe_browsing_.get())
- safe_browsing_->OnResourceRequest(request);
-
const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request);
bool is_prerendering =
info->GetVisibilityState() == blink::WebPageVisibilityStatePrerender;

View File

@@ -0,0 +1,25 @@
description: Make popups go to tabs instead
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -367,7 +367,7 @@ WindowOpenDisposition RenderViewImpl::NavigationPolicyToDisposition(
case blink::WebNavigationPolicyNewWindow:
return NEW_WINDOW;
case blink::WebNavigationPolicyNewPopup:
- return NEW_POPUP;
+ return NEW_FOREGROUND_TAB;
default:
NOTREACHED() << "Unexpected WebNavigationPolicy";
return IGNORE_ACTION;
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -1480,7 +1480,7 @@ void BrowserView::Paste() {
WindowOpenDisposition BrowserView::GetDispositionForPopupBounds(
const gfx::Rect& bounds) {
- return NEW_POPUP;
+ return NEW_FOREGROUND_TAB;
}
FindBar* BrowserView::CreateFindBar() {

16
debian/patches/custom/prefs.patch vendored Normal file
View File

@@ -0,0 +1,16 @@
description: Modified version of prefs.patch from Debian's Chromium that points to the correct location
--- a/chrome/browser/first_run/first_run_internal_linux.cc
+++ b/chrome/browser/first_run/first_run_internal_linux.cc
@@ -19,9 +19,7 @@ bool IsOrganicFirstRun() {
base::FilePath MasterPrefsPath() {
// The standard location of the master prefs is next to the chrome binary.
- base::FilePath master_prefs;
- if (!PathService::Get(base::DIR_EXE, &master_prefs))
- return base::FilePath();
+ base::FilePath master_prefs = base::FilePath("/etc/chromium.d");
return master_prefs.AppendASCII(installer::kDefaultMasterPrefs);
}

View File

@@ -0,0 +1,13 @@
description: disable the google api key warning when those aren't found
--- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
+++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
@@ -833,8 +833,6 @@ void StartupBrowserCreatorImpl::AddInfoB
if (is_process_startup == chrome::startup::IS_PROCESS_STARTUP &&
!command_line_.HasSwitch(switches::kTestType)) {
chrome::ShowBadFlagsPrompt(browser);
- GoogleApiKeysInfoBarDelegate::Create(InfoBarService::FromWebContents(
- browser->tab_strip_model()->GetActiveWebContents()));
ObsoleteSystemInfoBarDelegate::Create(InfoBarService::FromWebContents(
browser->tab_strip_model()->GetActiveWebContents()));

16
debian/patches/disable/promo.patch vendored Normal file
View File

@@ -0,0 +1,16 @@
author: Michael Gilbert <mgilbert@debian.org>
description: disable the ad promo system by default
bug-debian: http://bugs.debian.org/634101
--- a/chrome/browser/ui/app_list/app_list_service.cc
+++ b/chrome/browser/ui/app_list/app_list_service.cc
@@ -154,7 +154,7 @@ void AppListService::RegisterPrefs(PrefRegistrySimple* registry) {
// Identifies whether we should show the app launcher promo or not.
// Note that a field trial also controls the showing, so the promo won't show
// unless the pref is set AND the field trial is set to a proper group.
- registry->RegisterBooleanPref(prefs::kShowAppLauncherPromo, true);
+ registry->RegisterBooleanPref(prefs::kShowAppLauncherPromo, false);
}
// static

650
debian/patches/icu.patch vendored Normal file
View File

@@ -0,0 +1,650 @@
--- a/chrome/browser/ui/webui/options/chromeos/system_settings_provider.h
+++ b/chrome/browser/ui/webui/options/chromeos/system_settings_provider.h
@@ -10,7 +10,7 @@
#include "base/string16.h"
#include "chrome/browser/chromeos/cros_settings_provider.h"
#include "chrome/browser/chromeos/system_access.h"
-#include "third_party/icu/public/i18n/unicode/timezone.h"
+#include <unicode/timezone.h>
class Value;
class ListValue;
--- a/app/app_base.gypi
+++ b/app/app_base.gypi
@@ -17,8 +17,7 @@
'../ui/ui.gyp:ui_gfx',
'../net/net.gyp:net',
'../skia/skia.gyp:skia',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/libpng/libpng.gyp:libpng',
'../third_party/sqlite/sqlite.gyp:sqlite',
'../third_party/zlib/zlib.gyp:zlib',
--- a/app/app.gyp
+++ b/app/app.gyp
@@ -22,8 +22,7 @@
'../skia/skia.gyp:skia',
'../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/libpng/libpng.gyp:libpng',
'../third_party/zlib/zlib.gyp:zlib',
'../ui/ui.gyp:ui_base',
--- a/base/base.gyp
+++ b/base/base.gyp
@@ -16,8 +16,7 @@
'msvs_guid': '968F3222-9798-4D21-BE08-15ECB5EF2994',
'dependencies': [
'base',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
],
'conditions': [
['toolkit_uses_gtk==1', {
@@ -234,8 +233,7 @@
'third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
'../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
],
'conditions': [
['toolkit_uses_gtk==1', {
--- a/build/all.gyp
+++ b/build/all.gyp
@@ -34,7 +34,6 @@
'../third_party/codesighs/codesighs.gyp:*',
'../third_party/ffmpeg/ffmpeg.gyp:*',
'../third_party/iccjpeg/iccjpeg.gyp:*',
- '../third_party/icu/icu.gyp:*',
'../third_party/libpng/libpng.gyp:*',
'../third_party/libwebp/libwebp.gyp:*',
'../third_party/libxml/libxml.gyp:*',
--- a/build/linux/system.gyp
+++ b/build/linux/system.gyp
@@ -360,6 +360,26 @@
}]]
},
{
+ 'target_name': 'icu',
+ 'type': 'settings',
+ 'conditions': [
+ ['_toolset=="target"', {
+ 'direct_dependent_settings': {
+ 'cflags': [
+ '<!@()',
+ ],
+ },
+ 'link_settings': {
+ 'ldflags': [
+ '<!@(icu-config --ldflags)',
+ ],
+ 'libraries': [
+ '<!@(icu-config --ldflags-libsonly)',
+ ],
+ },
+ }]]
+ },
+ {
'target_name': 'gnome-keyring',
'type': 'settings',
'conditions': [
--- a/build/temp_gyp/googleurl.gyp
+++ b/build/temp_gyp/googleurl.gyp
@@ -14,9 +14,7 @@
'msvs_guid': 'EF5E94AB-B646-4E5B-A058-52EF07B8351C',
'dependencies': [
'../../base/base.gyp:base',
- '../../third_party/icu/icu.gyp:icudata',
- '../../third_party/icu/icu.gyp:icui18n',
- '../../third_party/icu/icu.gyp:icuuc',
+ '../../build/linux/system.gyp:icu',
],
'sources': [
'../../googleurl/src/gurl.cc',
@@ -73,7 +71,7 @@
'../../base/base.gyp:base_i18n',
'../../base/base.gyp:test_support_base',
'../../testing/gtest.gyp:gtest',
- '../../third_party/icu/icu.gyp:icuuc',
+ '../../build/linux/system.gyp:icu',
],
'sources': [
'../../googleurl/src/gurl_unittest.cc',
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -39,8 +39,7 @@
'../third_party/bzip2/bzip2.gyp:bzip2',
'../third_party/expat/expat.gyp:expat',
'../third_party/hunspell/hunspell.gyp:hunspell',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/libjingle/libjingle.gyp:libjingle',
'../third_party/libphonenumber/libphonenumber.gyp:libphonenumber',
'../third_party/libphonenumber/libphonenumber.gyp:phonenumber_proto',
--- a/chrome/chrome_common.gypi
+++ b/chrome/chrome_common.gypi
@@ -124,8 +124,7 @@
'../printing/printing.gyp:printing',
'../skia/skia.gyp:skia',
'../third_party/bzip2/bzip2.gyp:bzip2',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/libxml/libxml.gyp:libxml',
'../third_party/sqlite/sqlite.gyp:sqlite',
'../third_party/zlib/zlib.gyp:zlib',
@@ -375,8 +374,7 @@
'../gpu/gpu.gyp:gpu_ipc',
'../net/net.gyp:net_resources',
'../net/net.gyp:net',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
],
'conditions': [
['os_posix == 1 and OS != "mac"', {
--- a/chrome/chrome.gyp
+++ b/chrome/chrome.gyp
@@ -427,8 +427,7 @@
'theme_resources',
'theme_resources_standard',
'../skia/skia.gyp:skia',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
],
'include_dirs': [
'..',
@@ -535,7 +534,7 @@
'../base/base.gyp:base',
'../build/temp_gyp/googleurl.gyp:googleurl',
'../jingle/jingle.gyp:notifier',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/sqlite/sqlite.gyp:sqlite',
'app/policy/cloud_policy_codegen.gyp:policy',
'browser/sync/protocol/sync_proto.gyp:sync_proto_cpp',
@@ -1335,7 +1334,7 @@
'../third_party/bzip2/bzip2.gyp:*',
'../third_party/codesighs/codesighs.gyp:*',
'../third_party/iccjpeg/iccjpeg.gyp:*',
- '../third_party/icu/icu.gyp:*',
+ '../build/linux/system.gyp:icu',
'../third_party/libpng/libpng.gyp:*',
'../third_party/libwebp/libwebp.gyp:*',
'../third_party/libxslt/libxslt.gyp:*',
--- a/chrome/chrome_renderer.gypi
+++ b/chrome/chrome_renderer.gypi
@@ -21,8 +21,7 @@
'../skia/skia.gyp:skia',
'../third_party/cld/cld.gyp:cld',
'../third_party/hunspell/hunspell.gyp:hunspell',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/npapi/npapi.gyp:npapi',
'../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
'../ui/gfx/surface/surface.gyp:surface',
--- a/chrome/chrome_tests.gypi
+++ b/chrome/chrome_tests.gypi
@@ -437,7 +437,7 @@
'../net/net.gyp:net_resources',
'../net/net.gyp:net_test_support',
'../skia/skia.gyp:skia',
- '../third_party/icu/icu.gyp:icui18n',
+ '../build/linux/system.gyp:icu',
'../third_party/libpng/libpng.gyp:libpng',
'../third_party/zlib/zlib.gyp:zlib',
'../testing/gtest.gyp:gtest',
@@ -613,8 +613,7 @@
'../skia/skia.gyp:skia',
'../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/libxml/libxml.gyp:libxml',
# run time dependencies
'default_plugin/default_plugin.gyp:default_plugin',
@@ -790,8 +789,7 @@
'../net/net.gyp:net',
'../skia/skia.gyp:skia',
'../testing/gtest.gyp:gtest',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/libxml/libxml.gyp:libxml',
],
'include_dirs': [
@@ -1051,8 +1049,7 @@
'../net/net.gyp:net',
'../skia/skia.gyp:skia',
'../testing/gtest.gyp:gtest',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/libxml/libxml.gyp:libxml',
],
'include_dirs': [
@@ -1119,8 +1116,7 @@
'../net/net.gyp:net',
'../skia/skia.gyp:skia',
'../testing/gtest.gyp:gtest',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
],
'include_dirs': [
'..',
@@ -1192,8 +1188,7 @@
'../skia/skia.gyp:skia',
'../third_party/bzip2/bzip2.gyp:bzip2',
'../third_party/cld/cld.gyp:cld',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/libjingle/libjingle.gyp:libjingle',
'../third_party/libxml/libxml.gyp:libxml',
'../ui/gfx/gl/gl.gyp:gl',
@@ -2232,8 +2227,7 @@
'../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest',
'../third_party/cld/cld.gyp:cld',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../v8/tools/gyp/v8.gyp:v8',
# Runtime dependencies
'../third_party/mesa/mesa.gyp:osmesa',
@@ -3260,8 +3254,7 @@
'../skia/skia.gyp:skia',
'../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/npapi/npapi.gyp:npapi',
'../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
],
@@ -3420,8 +3413,7 @@
'../net/net.gyp:net_test_support',
'../skia/skia.gyp:skia',
'../testing/gtest.gyp:gtest',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
# Runtime dependencies
'../third_party/mesa/mesa.gyp:osmesa',
],
--- a/chrome/default_plugin/default_plugin.gyp
+++ b/chrome/default_plugin/default_plugin.gyp
@@ -14,8 +14,7 @@
':default_plugin_resources',
'<(DEPTH)/base/base.gyp:base',
'<(DEPTH)/net/net.gyp:net_resources',
- '<(DEPTH)/third_party/icu/icu.gyp:icui18n',
- '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
+ '<(DEPTH)/build/linux/system.gyp:icu',
'<(DEPTH)/third_party/libxml/libxml.gyp:libxml',
'<(DEPTH)/third_party/npapi/npapi.gyp:npapi',
'<(DEPTH)/webkit/support/webkit_support.gyp:webkit_resources',
--- a/chrome_frame/chrome_frame.gyp
+++ b/chrome_frame/chrome_frame.gyp
@@ -392,8 +392,7 @@
'../net/net.gyp:net_test_support',
'../skia/skia.gyp:skia',
'../testing/gtest.gyp:gtest',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'chrome_frame_npapi',
'chrome_frame_ie',
'chrome_tab_idl',
--- a/content/content_common.gypi
+++ b/content/content_common.gypi
@@ -11,7 +11,7 @@
'../base/base.gyp:base',
'../ipc/ipc.gyp:ipc',
'../skia/skia.gyp:skia',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/npapi/npapi.gyp:npapi',
'../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
'../ui/gfx/gl/gl.gyp:gl',
--- a/content/content_renderer.gypi
+++ b/content/content_renderer.gypi
@@ -14,8 +14,7 @@
'../ppapi/ppapi_internal.gyp:ppapi_proxy',
'../skia/skia.gyp:skia',
'../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
- '../third_party/icu/icu.gyp:icuuc',
- '../third_party/icu/icu.gyp:icui18n',
+ '../build/linux/system.gyp:icu',
'../third_party/libjingle/libjingle.gyp:libjingle',
'../third_party/libjingle/libjingle.gyp:libjingle_p2p',
'../third_party/npapi/npapi.gyp:npapi',
--- a/net/net.gyp
+++ b/net/net.gyp
@@ -17,8 +17,7 @@
'../build/temp_gyp/googleurl.gyp:googleurl',
'../crypto/crypto.gyp:crypto',
'../sdch/sdch.gyp:sdch',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/zlib/zlib.gyp:zlib',
'net_resources',
'ssl_false_start_blacklist_process#host',
@@ -1034,8 +1033,7 @@
# This is needed to trigger the dll copy step on windows.
# TODO(mark): Specifying this here shouldn't be necessary.
'dependencies': [
- '../third_party/icu/icu.gyp:icudata',
- ],
+ '../build/linux/system.gyp:icu', ],
},
],
],
@@ -1063,7 +1061,7 @@
# TODO(mark): Specifying this here shouldn't be necessary.
[ 'OS == "win"', {
'dependencies': [
- '../third_party/icu/icu.gyp:icudata',
+ '../build/linux/system.gyp:icu',
],
},
],
--- a/printing/printing.gyp
+++ b/printing/printing.gyp
@@ -16,8 +16,7 @@
'../base/base.gyp:base_i18n',
'../build/temp_gyp/googleurl.gyp:googleurl',
'../skia/skia.gyp:skia',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
],
'msvs_guid': '9E5416B9-B91B-4029-93F4-102C1AD5CAF4',
'include_dirs': [
--- a/skia/skia.gyp
+++ b/skia/skia.gyp
@@ -766,7 +766,7 @@
'../build/linux/system.gyp:fontconfig',
'../build/linux/system.gyp:freetype2',
'../third_party/harfbuzz/harfbuzz.gyp:harfbuzz',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
],
'cflags': [
'-Wno-unused',
--- a/third_party/cld/cld.gyp
+++ b/third_party/cld/cld.gyp
@@ -8,7 +8,7 @@
'target_name': 'cld',
'type': 'static_library',
'dependencies': [
- '../icu/icu.gyp:icuuc',
+ '../../build/linux/system.gyp:icu',
],
'include_dirs': [
'.',
--- a/third_party/harfbuzz-ng/harfbuzz.gyp
+++ b/third_party/harfbuzz-ng/harfbuzz.gyp
@@ -60,7 +60,7 @@
},
'dependencies': [
'../../build/linux/system.gyp:freetype2',
- '../../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
],
},
],
--- a/third_party/hunspell/hunspell.gyp
+++ b/third_party/hunspell/hunspell.gyp
@@ -10,7 +10,7 @@
'msvs_guid': 'D5E8DCB2-9C61-446F-8BEE-B18CA0E0936E',
'dependencies': [
'../../base/base.gyp:base',
- '../icu/icu.gyp:icuuc',
+ '../../build/linux/system.gyp:icu',
],
'defines': [
'HUNSPELL_STATIC',
--- a/third_party/libxml/libxml.gyp
+++ b/third_party/libxml/libxml.gyp
@@ -163,11 +163,11 @@
'src/include',
],
'dependencies': [
- '../icu/icu.gyp:icuuc',
+ '../../build/linux/system.gyp:icu',
'../zlib/zlib.gyp:zlib',
],
'export_dependent_settings': [
- '../icu/icu.gyp:icuuc',
+ '../../build/linux/system.gyp:icu',
],
'direct_dependent_settings': {
'defines': [
--- a/third_party/sqlite/sqlite.gyp
+++ b/third_party/sqlite/sqlite.gyp
@@ -97,8 +97,7 @@
'src/src',
],
'dependencies': [
- '../icu/icu.gyp:icui18n',
- '../icu/icu.gyp:icuuc',
+ '../../build/linux/system.gyp:icu',
],
'direct_dependent_settings': {
'include_dirs': [
@@ -131,7 +130,7 @@
'target_name': 'sqlite_shell',
'type': 'executable',
'dependencies': [
- '../icu/icu.gyp:icuuc',
+ '../../build/linux/system.gyp:icu',
'sqlite',
],
'sources': [
--- a/third_party/WebKit/Source/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp
+++ b/third_party/WebKit/Source/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp
@@ -97,8 +97,7 @@
'msvs_guid': 'AA8A5A85-592B-4357-BC60-E0E91E026AF6',
'dependencies': [
'wtf_config',
- '<(chromium_src_dir)/third_party/icu/icu.gyp:icui18n',
- '<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
+ '<(chromium_src_dir)/build/linux/system.gyp:icu',
],
'include_dirs': [
'../',
@@ -157,8 +156,7 @@
},
'export_dependent_settings': [
'wtf_config',
- '<(chromium_src_dir)/third_party/icu/icu.gyp:icui18n',
- '<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
+ '<(chromium_src_dir)/build/linux/system.gyp:icu',
],
'msvs_disabled_warnings': [4127, 4355, 4510, 4512, 4610, 4706],
'conditions': [
--- a/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp
+++ b/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp
@@ -607,7 +607,7 @@
'<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
'<(chromium_src_dir)/testing/gtest.gyp:gtest',
'<(chromium_src_dir)/testing/gmock.gyp:gmock',
- '<(chromium_src_dir)/third_party/icu/icu.gyp:*',
+ '<(chromium_src_dir)/build/linux/system.gyp:icu',
'<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp:libjpeg',
'<(chromium_src_dir)/third_party/libpng/libpng.gyp:libpng',
'<(chromium_src_dir)/third_party/libxml/libxml.gyp:libxml',
@@ -936,7 +936,7 @@
'copy_TestNetscapePlugIn',
'webkit',
'../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf_config',
- '<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
+ '<(chromium_src_dir)/build/linux/system.gyp:icu',
'<(chromium_src_dir)/third_party/mesa/mesa.gyp:osmesa',
'<(chromium_src_dir)/webkit/support/webkit_support.gyp:blob',
'<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
--- a/ui/ui_base.gypi
+++ b/ui/ui_base.gypi
@@ -10,14 +10,12 @@
'dependencies': [
'../base/base.gyp:base',
'../skia/skia.gyp:skia',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'ui_gfx',
],
# Export these dependencies since text_elider.h includes ICU headers.
'export_dependent_settings': [
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
],
'sources': [
'base/accessibility/accessibility_types.h',
--- a/ui/ui_gfx.gypi
+++ b/ui/ui_gfx.gypi
@@ -44,8 +44,7 @@
'../base/base.gyp:base',
'../base/base.gyp:base_i18n',
'../skia/skia.gyp:skia',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../third_party/libpng/libpng.gyp:libpng',
'../third_party/zlib/zlib.gyp:zlib',
'gfx_resources',
--- a/views/views.gyp
+++ b/views/views.gyp
@@ -66,8 +66,7 @@
'../app/app.gyp:app_resources',
'../base/base.gyp:base',
'../skia/skia.gyp:skia',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../ui/base/strings/ui_strings.gyp:ui_strings',
'../ui/gfx/compositor/compositor.gyp:compositor',
'../ui/ui.gyp:ui_base',
@@ -471,8 +470,7 @@
'../skia/skia.gyp:skia',
'../testing/gmock.gyp:gmock',
'../testing/gtest.gyp:gtest',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../ui/base/strings/ui_strings.gyp:ui_strings',
'views',
],
@@ -553,8 +551,7 @@
'../app/app.gyp:app_resources',
'../base/base.gyp:base',
'../skia/skia.gyp:skia',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'views',
],
'include_dirs': [
@@ -639,8 +636,7 @@
'../app/app.gyp:app_resources',
'../base/base.gyp:base',
'../skia/skia.gyp:skia',
- '../third_party/icu/icu.gyp:icui18n',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'views',
],
'include_dirs': [
--- a/webkit/glue/webkit_glue.gypi
+++ b/webkit/glue/webkit_glue.gypi
@@ -118,8 +118,7 @@
'<(DEPTH)/ppapi/ppapi_internal.gyp:ppapi_shared',
'<(DEPTH)/printing/printing.gyp:printing',
'<(DEPTH)/skia/skia.gyp:skia',
- '<(DEPTH)/third_party/icu/icu.gyp:icui18n',
- '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
+ '<(DEPTH)/build/linux/system.gyp:icu',
'<(DEPTH)/third_party/npapi/npapi.gyp:npapi',
'webkit_resources',
'webkit_strings',
--- a/webkit/tools/test_shell/test_shell.gypi
+++ b/webkit/tools/test_shell/test_shell.gypi
@@ -559,7 +559,7 @@
'mac_bundle': 1,
'msvs_guid': '0D04AEC1-6B68-492C-BCCF-808DFD69ABC6',
'dependencies': [
- '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
+ '<(DEPTH)/build/linux/system.gyp:icu',
'npapi_test_common',
],
'sources': [
--- a/chrome/chrome_installer_util.gypi
+++ b/chrome/chrome_installer_util.gypi
@@ -103,8 +103,7 @@
'<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
'<(DEPTH)/courgette/courgette.gyp:courgette_lib',
'<(DEPTH)/third_party/bspatch/bspatch.gyp:bspatch',
- '<(DEPTH)/third_party/icu/icu.gyp:icui18n',
- '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
+ '<(DEPTH)/build/linux/system.gyp:icu',
'<(DEPTH)/third_party/lzma_sdk/lzma_sdk.gyp:lzma_sdk',
],
'sources': [
--- a/ppapi/ppapi_shared.gypi
+++ b/ppapi/ppapi_shared.gypi
@@ -13,7 +13,7 @@
'../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
'../build/temp_gyp/googleurl.gyp:googleurl',
'../skia/skia.gyp:skia',
- '../third_party/icu/icu.gyp:icuuc',
+ '../build/linux/system.gyp:icu',
'../ui/gfx/surface/surface.gyp:surface',
],
'include_dirs': [
--- a/third_party/libphonenumber/libphonenumber.gyp
+++ b/third_party/libphonenumber/libphonenumber.gyp
@@ -32,8 +32,7 @@
'target_name': 'libphonenumber',
'type': 'static_library',
'dependencies': [
- '../icu/icu.gyp:icui18n',
- '../icu/icu.gyp:icuuc',
+ '../../build/linux/system.gyp:icu',
'../protobuf/protobuf.gyp:protobuf_lite',
'../../base/base.gyp:base',
'../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
@@ -118,8 +117,7 @@
'cpp/src/test_metadata.cc',
],
'dependencies': [
- '../icu/icu.gyp:icui18n',
- '../icu/icu.gyp:icuuc',
+ '../../build/linux/system.gyp:icu',
'../protobuf/protobuf.gyp:protobuf_lite',
'../../base/base.gyp:base',
'../../base/base.gyp:test_support_base',
--- a/v8/src/extensions/experimental/experimental.gyp
+++ b/v8/src/extensions/experimental/experimental.gyp
@@ -56,7 +56,7 @@
'../..',
],
'dependencies': [
- '<(icu_src_dir)/icu.gyp:*',
+ '../../../../build/linux/system.gyp:icu',
'js2c_i18n#host',
'../../../tools/gyp/v8.gyp:v8',
],

53
debian/patches/manpage.patch vendored Normal file
View File

@@ -0,0 +1,53 @@
Description: manpage updates/fixes
Forwarded: http://code.google.com/p/chromium/issues/detail?id=73591
Author: Daniel Echeverry <epsilon77@gmail.com>
--- a/chrome/app/resources/manpage.1.in
+++ b/chrome/app/resources/manpage.1.in
@@ -1,5 +1,5 @@
-." This file is processed by chrome.gyp to generate manpages in the
-." build diretory.
+.\" This file is processed by chrome.gyp to generate manpages in the
+.\" build diretory.
.TH @@FILENAME@@ 1 "" "" "USER COMMANDS"
.SH NAME
@@ -20,6 +20,19 @@ This manpage only describes invocation,
@@NAME@@ has hundreds of undocumented command-line flags that are added
and removed at the whim of the developers. Here, we document relatively
stable flags.
+
+.TP
+\fB\-h \fRor\fB \-\-help\fR
+Show help output.
+
+.TP
+\fB\-g \fRor\fB \-\-debug\fR
+Start a debugging session within /usr/bin/gdb.
+
+.TP
+\fB\-\-temp-profile\fR
+Use a throw-away/temporary profile for this session.
+
.TP
\fB\-\-user\-data\-dir\fR=\fIDIR\fR
Specifies the directory that user data (your "profile") is kept in.
@@ -110,6 +123,7 @@ as
See the GTK documentation for more:
.IP
<http://library.gnome.org/devel/gtk/stable/gtk-running.html>
+.IP
<http://library.gnome.org/devel/gtk/stable/gtk-x11.html>
.SH ENVIRONMENT
--- a/chrome/chrome_exe.gypi
+++ b/chrome/chrome_exe.gypi
@@ -136,7 +136,7 @@
}, { # else branding!="Chrome"
'variables': {
'name': 'Chromium',
- 'filename': 'chromium-browser',
+ 'filename': 'chromium',
'confdir': 'chromium',
},
}],

36
debian/patches/nspr.patch vendored Normal file
View File

@@ -0,0 +1,36 @@
Include system copy of prtime.h
--- a/base/base.gypi
+++ b/base/base.gypi
@@ -597,8 +597,6 @@
'third_party/dmg_fp/g_fmt.cc',
'third_party/icu/icu_utf.cc',
'third_party/icu/icu_utf.h',
- 'third_party/nspr/prtime.cc',
- 'third_party/nspr/prtime.h',
'third_party/superfasthash/superfasthash.c',
'third_party/xdg_mime/xdgmime.h',
'thread_task_runner_handle.cc',
--- a/base/time/pr_time_unittest.cc
+++ b/base/time/pr_time_unittest.cc
@@ -6,7 +6,7 @@
#include <time.h>
#include "base/compiler_specific.h"
-#include "base/third_party/nspr/prtime.h"
+#include <nspr/prtime.h>
#include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h"
--- a/base/time/time.cc
+++ b/base/time/time.cc
@@ -13,7 +13,8 @@
#include "base/lazy_instance.h"
#include "base/logging.h"
#include "base/strings/stringprintf.h"
-#include "base/third_party/nspr/prtime.h"
+
+#include <nspr/prtime.h>
namespace base {

13
debian/patches/ps-print.patch vendored Normal file
View File

@@ -0,0 +1,13 @@
description: add ps printing capability
author: Salvatore Bonaccorso
--- a/chrome/browser/ui/libgtk2ui/print_dialog_gtk2.cc
+++ b/chrome/browser/ui/libgtk2ui/print_dialog_gtk2.cc
@@ -343,6 +343,7 @@ void PrintDialogGtk2::ShowDialog(
// Since we only generate PDF, only show printers that support PDF.
// TODO(thestig) Add more capabilities to support?
GtkPrintCapabilities cap = static_cast<GtkPrintCapabilities>(
+ GTK_PRINT_CAPABILITY_GENERATE_PS |
GTK_PRINT_CAPABILITY_GENERATE_PDF |
GTK_PRINT_CAPABILITY_PAGE_SET |
GTK_PRINT_CAPABILITY_COPIES |

23
debian/patches/series vendored Normal file
View File

@@ -0,0 +1,23 @@
manpage.patch
clang.patch
disable/promo.patch
disable/google-api-warning.patch
nspr.patch
system-speech.patch
third-party-cookies-off-by-default.patch
ps-print.patch
chromedriver-revision.patch
custom/prefs.patch
custom/disable-omnibox-searching.patch
custom/disable-formatting-in-omnibox.patch
custom/disable-google-url-tracker.patch
custom/disable-persistent-site-properties.patch
custom/disable-unload-javascript-dialog-box.patch
custom/disable-signin.patch
custom/fix-disabling-safe-browsing.patch
custom/popups-to-tabs.patch
custom/disable-bad-flags-prompt.patch
custom/clear-http-auth-cache-menu-item.patch

53
debian/patches/system-speech.patch vendored Normal file
View File

@@ -0,0 +1,53 @@
description: use system speex
--- a/build/linux/system.gyp
+++ b/build/linux/system.gyp
@@ -904,6 +904,26 @@
],
},
{
+ 'target_name': 'speex',
+ 'type': 'none',
+ 'conditions': [
+ ['_toolset=="target"', {
+ 'direct_dependent_settings': {
+ 'cflags': [
+ '<!@(pkg-config --cflags speex)',
+ ],
+ },
+ 'link_settings': {
+ 'ldflags': [
+ '<!@(pkg-config --libs-only-L --libs-only-other speex)',
+ ],
+ 'libraries': [
+ '<!@(pkg-config --libs-only-l speex)',
+ ],
+ },
+ }]]
+ },
+ {
'target_name': 'gnome_keyring',
'type': 'none',
'conditions': [
--- a/content/browser/speech/audio_encoder.cc
+++ b/content/browser/speech/audio_encoder.cc
@@ -11,7 +11,7 @@
#include "base/strings/string_number_conversions.h"
#include "content/browser/speech/audio_buffer.h"
#include "third_party/flac/include/FLAC/stream_encoder.h"
-#include "third_party/speex/include/speex/speex.h"
+#include <speex/speex.h>
namespace content {
namespace {
--- a/content/content_browser.gypi
+++ b/content/content_browser.gypi
@@ -1987,7 +1987,7 @@
['enable_web_speech==1', {
'dependencies': [
'../third_party/flac/flac.gyp:libflac',
- '../third_party/speex/speex.gyp:libspeex',
+ '../build/linux/system.gyp:speex',
],
}],
['enable_web_speech==0 and OS=="android"', {

View File

@@ -0,0 +1,14 @@
Description: Make default of third-party cookies the most secure for users.
Author: Chad Miller <chad.miller@canonical.com>
--- a/chrome/browser/content_settings/cookie_settings.cc
+++ b/chrome/browser/content_settings/cookie_settings.cc
@@ -68,7 +68,7 @@ void CookieSettings::Factory::RegisterPr
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kBlockThirdPartyCookies,
- false,
+ true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
}

7
debian/presubj vendored Normal file
View File

@@ -0,0 +1,7 @@
Please submit all non-packaging issues (feature requests, etc.) to the upstream
bug tracker first (http://www.crbug.com). Please also include a link to your
upstream report in the Debian bug submission to make it more straightforward to
keep track of issues. Thank you!
If you experience crashes, please read this wiki page to get a useful backtrace:
http://wiki.debian.org/Chromium/Debugging

172
debian/rules vendored Executable file
View File

@@ -0,0 +1,172 @@
#!/usr/bin/make -f
# enable verbose build messages
export DH_VERBOSE=1
# enable all build hardening flags
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
# linker flags to avoid memory allocation issues on i386
# NOTE: Doesn't work with gold linker
#export LDFLAGS+=-Wl,--no-keep-memory -Wl,--reduce-memory-overheads -Wl,--hash-size=7919
# more verbose linker output
export LDFLAGS+=-Wl,--trace -Wl,--stats
# treat all warnings as errors
defines=werror=
defines+=default_apps_list=[] \
default_apps_list_linux_dest=[] \
# use clang instead of gcc
defines+=clang=1
defines+=clang_use_chrome_plugins=
# disabled features
defines+=use_ozone=0 \
use_gconf=0 \
use_allocator=none \
linux_breakpad=0 \
linux_use_libgps=0 \
linux_use_bundled_gold=0 \
linux_use_bundled_binutils=0 \
remoting=0 \
disable_nacl=1 \
enable_remoting_host=0 \
use_gnome_keyring=0 \
linux_link_gsettings=0 \
linux_link_gnome_keyring=0 \
enable_automation=0 \
enable_google_now=0 \
safe_browsing=0 \
enable_hangout_services_extension=0 \
use_official_google_api_keys=0 \
enable_rlz=0 \
enable_prod_wallet_service=0 \
# enabled features
defines+=enable_webrtc=1 \
use_gio=1 \
use_pulseaudio=1 \
linux_link_libpci=1 \
linux_link_libspeechd=1 \
remove_webcore_debug_symbols=1
# system libraries to use
defines+=use_system_re2=1 \
use_system_yasm=1 \
use_system_opus=1 \
use_system_zlib=1 \
use_system_speex=1 \
use_system_expat=1 \
use_system_snappy=1 \
use_system_libpng=1 \
use_system_libxml=1 \
use_system_libjpeg=1 \
use_system_libwebp=1 \
use_system_libxslt=1 \
use_system_libsrtp=1 \
use_system_jsoncpp=1 \
use_system_libevent=1 \
use_system_harfbuzz=1 \
use_system_xdg_utils=1 \
# enable proprietary codecs
defines+=proprietary_codecs=1 \
ffmpeg_branding=ChromeOS \
# use embedded protobuf for now (bug #764911)
defines+=use_system_protobuf=0 \
# icu
defines+=use_system_icu=0 \
#icu_use_data_file_flag=0 \
#want_separate_host_toolset=0 \
# embedded libraries (0 is the default, so just making some notes about the issues)
# use_system_libusb=0 requires modified source that exposes libusb_interrupt_handle_event api
# use_system_libvpx=0 requires modified source that exposes different api
# use_system_sqlite=0 build fails
# use_system_ffmpeg=0 build fails
# can't use system nss since net/third_party/nss is heavily patched
# can't use system ots (open text *summarizer*) since that's not google's ots (open text *sanitizer*)
# make gyp a little more informative
options+=--check \
--debug=includes \
# avoid the need for a special src directory (--depth=. seems to require --no-parallel)
options+=--depth=. \
--no-parallel \
# handle parallel build options
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
njobs=-j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif
# paths to files needed by flot
flotpaths=/usr/share/javascript/jquery/*min.js \
/usr/share/javascript/jquery-flot/*min.js \
# files to exclude from the upstream tarball
excluded=native_client/NOTICE \
third_party/libsrtp/srtp/doc/rfc3711.txt \
%:
dh $@ --parallel
override_dh_auto_configure:
for file in $(flotpaths); do ln -sf $$file third_party/flot; done
GYP_DEFINES="$(defines)" ./build/gyp_chromium $(options)
override_dh_auto_build:
ninja $(njobs) -C out/Release chrome chromedriver
mv out/Release/chrome out/Release/chromium || true
mv out/Release/chrome.1 out/Release/chromium.1 || true
mv out/Release/locales/en-US.pak out/Release/resources || true
override_dh_auto_install:
dh_auto_install
echo "Any files placed in this directory will be sourced prior to executing chromium." \
> debian/chromium/etc/chromium.d/README
# update launcher script with build information
sed 's|@BUILD_DIST@|$(shell cat /etc/debian_version)|' \
< debian/scripts/chromium > debian/chromium/usr/bin/chromium
# move icons into /usr/share
for file in $(shell find chrome/app/theme/chromium -name product_logo_[0-9]* -a ! -name *mono*); do \
ext=$$(echo $$file | cut -d\. -f2); \
siz=$$(echo $$file | cut -d_ -f3 | sed s/\.$$ext//); \
dst=debian/chromium/usr/share/icons/hicolor/$$siz\x$$siz/apps; \
mkdir -p $$dst; \
cp $$file $$dst/chromium.$$ext; \
done
override_dh_fixperms:
dh_fixperms
override_dh_strip:
dh_strip --dbg-package=chromium-dbg
override_dh_auto_clean:
rm -rf out Makefile third_party/flot/*
find . -name \*.mk -execdir rm -rf {} \;
find . -name \*.pyc -execdir rm -rf {} \;
#find . -name config.sub -execdir rm -rf {} \;
#find . -name config.guess -execdir rm -rf {} \;
###################### upstream source downloading ############################
url=https://gsdview.appspot.com/chromium-browser-official
version=$(shell dpkg-parsechangelog --show-field=version | sed s/-.*//)
tarball=chromium-$(version).tar.xz
get-orig-source:
cd .. && wget -c $(url)/$(tarball)
mk-origtargz $(shell for f in $(excluded); do echo --exclude-file $$f; done) ../$(tarball)
download-source:
wget -c $(url)/$(tarball)
tar -xf $(tarball) --strip-components=1
rm $(tarball)
find . -not \( -path ./debian -prune \) -name "*.h" -o -name "*.hh" -o -name "*.hpp" -o -name "*.hxx" -o -name "*.cc" -o -name "*.cpp" -o -name "*.cxx" -o -name "*.c" -o -name "*.h" -o -name "*.json" -o -name "*.js" -o -name "*.html" -o -name "*.htm" -o -name "*.py" -o -name "*.grd" -o -name "*.sql" -o -name "*.idl" -o -name "*.grd" | xargs -L1 -I{} sed -i -r -e 's/google([A-Za-z\-]*)\.com/9oo91e\1\.qjz9zk/g' -e 's/gstatic([A-Za-z\-]*)\.com/95tat1c\1\.qjz9zk/g' -e 's/chrome([A-Za-z\-]*)\.com/ch40me\1\.qjz9zk/g' -e 's/chromium([A-Za-z\-]*)\.org/ch40m1um\1\.qjz9zk/g' -e 's/mozilla([A-Za-z\-]*)\.org/m0z111a\1\.qjz9zk/g' -e 's/facebook([A-Za-z\-]*)\.com/f8c3b00k\1\.qjz9zk/g' -e 's/appspot([A-Za-z\-]*)\.com/8pp2p8t\1\.qjz9zk/g' {}

9
debian/scripts/build-removals vendored Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/sh -xe
rm -rf out
rm -rf third_party/flot/*
find . -name Makefile -execdir rm -f {} \;
find . -name \*.pyc -execdir rm -f {} \;
find . -name \*.mk -execdir rm -f {} \;

105
debian/scripts/chromium vendored Normal file
View File

@@ -0,0 +1,105 @@
#!/bin/sh
# Chromium launcher
# Authors:
# Fabien Tassin <fta@sofaraway.org>
# License: GPLv2 or later
APPNAME=chromium
LIBDIR=/usr/lib/chromium
GDB=/usr/bin/gdb
BUILD_DIST="@BUILD_DIST@"
CHROMIUM_FLAGS="$CHROMIUM_FLAGS --disable-setuid-sandbox --disk-cache-dir=/dev/null --disk-cache-size=1 --media-cache-size=1"
usage () {
echo "$APPNAME [-h|--help] [-g|--debug] [--temp-profile] [options] [URL]"
echo
echo " -g or --debug Start within $GDB"
echo " -h or --help This help screen"
echo " --temp-profile Start with a new and temporary profile"
echo
echo " Other supported options are:"
MANWIDTH=80 man chromium | sed -e '1,/OPTIONS/d; /ENVIRONMENT/,$d'
echo " See 'man chromium' for more details"
}
nosse2="\
The hardware on this system lacks support for the sse2 instruction set.
The upstream chromium project no longer supports this configuration.
For more information, please read and possibly provide input to their
bug tracking system at http://crbug.com/348761."
# Check whether this system supports sse2
if test -z "$(grep sse2 /proc/cpuinfo)"; then
xmessage "$nosse2"
exit 1
fi
# Source additional settings
for file in /etc/chromium.d/*; do
test $file = /etc/chromium.d/README || expr $file : .*\.dpkg > /dev/null || . $file
done
# Set CHROME_VERSION_EXTRA visible in the About dialog and in about:version
DIST="Debian `cat /etc/debian_version`"
if [ "$DIST" = "$BUILD_DIST" ] ; then
export CHROME_VERSION_EXTRA="$DIST"
else
export CHROME_VERSION_EXTRA="Built on $BUILD_DIST, running on $DIST"
fi
want_debug=0
want_temp_profile=0
while [ $# -gt 0 ]; do
case "$1" in
-h | --help | -help )
usage
exit 0 ;;
-g | --debug )
want_debug=1
shift ;;
--temp-profile )
want_temp_profile=1
shift ;;
-- ) # Stop option prcessing
shift
break ;;
* )
break ;;
esac
done
if [ $want_temp_profile -eq 1 ] ; then
TEMP_PROFILE=`mktemp -d`
CHROMIUM_FLAGS="$CHROMIUM_FLAGS --user-data-dir=$TEMP_PROFILE"
fi
if [ $want_debug -eq 1 ] ; then
if [ ! -x $GDB ] ; then
echo "Sorry, can't find usable $GDB. Please install it."
exit 1
fi
tmpfile=`mktemp /tmp/chromiumargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; }
trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
echo "set args $CHROMIUM_FLAGS ${1+"$@"}" > $tmpfile
echo "# Env:"
echo "# LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
echo "# PATH=$PATH"
echo "# GTK_PATH=$GTK_PATH"
echo "# CHROMIUM_FLAGS=$CHROMIUM_FLAGS"
echo "$GDB $LIBDIR/$APPNAME -x $tmpfile"
$GDB "$LIBDIR/$APPNAME" -x $tmpfile
if [ $want_temp_profile -eq 1 ] ; then
rm -rf $TEMP_PROFILE
fi
exit $?
else
if [ $want_temp_profile -eq 0 ] ; then
exec $LIBDIR/$APPNAME $CHROMIUM_FLAGS "$@"
else
# we can't exec here as we need to clean-up the temporary profile
$LIBDIR/$APPNAME $CHROMIUM_FLAGS "$@"
rm -rf $TEMP_PROFILE
fi
fi

View File

@@ -0,0 +1,5 @@
#!/bin/bash
export QUILT_PATCHES=debian/patches
export QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index"
quilt push -a

View File

@@ -0,0 +1,21 @@
#!/bin/bash
TEXT_EDITOR_CMD=my_leafpad
DIFF_CMD="git diff --no-index"
FILE_PATH=$1
if [[ -z "${FILE_PATH}" ]]; then
echo "Usage: $0 <FILE_TO_PATCH>"
exit
fi
if [[ ! -f ${FILE_PATH} ]]; then
echo "File does not exist."
exit
fi
cp ${FILE_PATH} ${FILE_PATH}.orig
${TEXT_EDITOR_CMD} ${FILE_PATH}
read -p "Press [Enter] to continue:"
${DIFF_CMD} ${FILE_PATH}.orig ${FILE_PATH} | tail --lines=+3 | sed "s|${FILE_PATH}.orig|${FILE_PATH}|g" | ${TEXT_EDITOR_CMD}
mv ${FILE_PATH}.orig ${FILE_PATH}

View File

@@ -0,0 +1,5 @@
#!/bin/bash
export QUILT_PATCHES=debian/patches
export QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index"
quilt pop -a

203
debian/scripts/upstream-removals vendored Executable file
View File

@@ -0,0 +1,203 @@
#!/bin/sh -xe
# remove cruft
rm -f .clang-format .DEPS.git .gn LICENSE.chromium_os OWNERS
# remove more cruft
find . -name PRESUB\* -execdir rm -f {} \;
find . -name upload.py -execdir rm -f {} \;
find . -name WATCHLISTS -execdir rm -f {} \;
find . -name .gitignore -execdir rm -f {} \;
find . -name .gitmodules -execdir rm -f {} \;
find . -name .gitattributes -execdir rm -f {} \;
find . -name config.sub -execdir rm -f {} \;
find . -name config.guess -execdir rm -f {} \;
find . -name codereview.settings -execdir rm -f {} \;
# remove unused webkit stuff
rm -rf webkit/data
rm -rf webkit/tools
rm -rf third_party/WebKit/Tools
rm -rf third_party/WebKit/ManualTests
rm -rf third_party/WebKit/LayoutTests
rm -rf third_party/WebKit/PerformanceTests
# remove unused media stuff
rm -rf media/tests
rm -rf media/tools
# remove android directories
find . -name android | xargs rm -rf
rm -rf android_webview
rm -rf third_party/android_opengl
rm -rf third_party/android_platform
rm -rf third_party/android_testrunner
rm -f build/protoc_java.gypi \
build/uiautomator_test.gypi \
components/web_contents_delegate_android.gypi \
# remove chromeos directories
rm -rf chromeos
rm -rf rlz/chromeos
rm -rf chrome/browser/chromeos
# remove windows directories
rm -rf win8
rm -rf rlz/win
rm -rf sdch/win
rm -rf base/win
rm -rf tools/win
rm -rf ui/gfx/win
rm -rf ui/base/win
rm -rf media/audio/win
rm -rf build/toolchain/win
rm -rf chrome/tools/build/win
rm -rf third_party/win_toolchain
# remove mac directories
find . -name mac | xargs rm -rf
rm -rf third_party/apple*
rm -rf third_party/sudden_motion_sensor
rm -rf third_party/google_toolbox_for_mac
# remove ios directories
rm -rf ios
rm -rf rlz/ios
rm -rf sdch/ios
rm -rf base/ios
rm -rf build/ios
rm -rf media/audio/ios
rm -rf build/config/ios
rm -rf build/toolchain/ios
# these would be useful to remove, but the linux build includes stuff here when it probably shouldn't
# rm -rf sandbox/win
# rm -rf build/win
# rm -rf third_party/JSON
# remove wtl (only used in windows build, also incompatible MS-PL license)
rm -rf third_party/wtl
# automatic updater isn't used
rm -rf google_update
# unused third party stuff
rm -rf third_party/d3
rm -rf third_party/cld
rm -rf third_party/gtk+
rm -rf third_party/flac
rm -rf third_party/mozc
rm -rf third_party/gpsd
rm -rf third_party/swig
rm -rf third_party/mtpd
rm -rf third_party/lcov*
rm -rf third_party/libva
rm -rf third_party/jinja2
rm -rf third_party/talloc
rm -rf third_party/ashmem
rm -rf third_party/scons*
rm -rf third_party/bsdiff
rm -rf third_party/bspatch
rm -rf third_party/tlslite
rm -rf third_party/jsr-305
rm -rf third_party/openmax*
rm -rf third_party/eyesfree
rm -rf third_party/binutils
rm -rf third_party/bintrees
rm -rf third_party/mongoose
rm -rf third_party/tcmalloc
rm -rf third_party/jemalloc
rm -rf third_party/chromite
rm -rf third_party/chromevox
rm -rf third_party/pyftpdlib
rm -rf third_party/pyelftools
rm -rf third_party/webtreemap
rm -rf third_party/simplejson
rm -rf third_party/devscripts
rm -rf third_party/markupsafe
rm -rf third_party/active_doc
rm -rf third_party/icon_match
rm -rf third_party/fuzzymatch
rm -rf third_party/v4l2capture
rm -rf third_party/bidichecker
rm -rf third_party/clang_format
rm -rf third_party/libjpeg_turbo
rm -rf third_party/python_gflags
rm -rf third_party/closure_linter
rm -rf third_party/speech-dispatcher
rm -rf third_party/cros_dbus_cplusplus
rm -rf third_party/accessibility-audit
rm -rf third_party/launchpad_translations
rm -rf third_party/instrumented_libraries
rm -rf third_party/google_appengine_cloudstorage
rm -rf third_party/README.chromium.template
# remove trace-viewer cruft
rm -rf third_party/trace-viewer/examples
rm -rf third_party/trace-viewer/test_data
rm -rf third_party/trace-viewer/third_party/gl-matrix
rm -rf third_party/trace-viewer/third_party/polymer
rm -rf third_party/trace-viewer/third_party/Promises
rm -rf third_party/trace-viewer/third_party/pywebsocket
rm -rf third_party/trace-viewer/third_party/tvcm/third_party/polymer
rm -rf third_party/trace-viewer/third_party/tvcm/third_party/closure_linter
rm -rf third_party/trace-viewer/third_party/tvcm/third_party/python_gflags
# remove chrome/third_party stuff
rm -rf chrome/third_party/chromevox
# remove base/third_party stuff
rm -rf base/third_party/nspr
rm -rf base/third_party/valgrind
# remove duplicate third party stuff in the v8 tree
rm -rf v8/third_party
rm -rf v8/src/third_party
# remove ash
rm -rf chrome/browser/ui/ash
rm -rf chrome/browser/ui/views/ash
# remove empty dirs
rm -rf athena
rm -rf chromecast
# remove unused tools
find tools v8/tools -mindepth 1 -maxdepth 1 \
! -name generate-trig-table.py \
! -name protoc_wrapper \
! -name xdisplaycheck \
! -name compile_test \
! -name licenses.py \
! -name generate_* \
! -name idl_parser \
! -name imagediff \
! -name usb_ids \
! -name jsmin.py \
! -name js2c.py \
! -name clang \
! -name grit* \
! -name json* \
! -name gyp \
! -name gn \
-execdir rm -rf {} \;
# remove documentation that isn't included in the binary packages
rm -rf chrome/common/extensions/docs
# remove unsafe symlinks
rm -f third_party/mesa/src/src/gallium/state_trackers/d3d1x/w32api
# put a reminder here
echo "This directory is needed for flot at build time." > third_party/flot/README
# remove unwanted base stuff
for dir in ash; do
find $dir -mindepth 1 -maxdepth 1 ! -name \*.gyp\* -and ! -name chromium -execdir rm -rf {} \; 2>/dev/null;
done
# remove unused third_party stuff
cd third_party
for dir in modp_b64 openssl harfbuzz-ng fontconfig freetype2; do
find $dir -mindepth 1 -maxdepth 1 ! -name \*.gyp\* -and ! -name chromium -execdir rm -rf {} \; 2>/dev/null;
done

1
debian/source/format vendored Normal file
View File

@@ -0,0 +1 @@
3.0 (quilt)