Set Chrome version/branch to 26.0.1410.28.

Change-Id: I316d4cc0e552a77fa607e1a65af559c0aa251065
diff --git a/chromeos-base/chromeos-chrome/chromeos-chrome-26.0.1410.4.ebuild b/chromeos-base/chromeos-chrome/chromeos-chrome-26.0.1410.28.ebuild
similarity index 100%
rename from chromeos-base/chromeos-chrome/chromeos-chrome-26.0.1410.4.ebuild
rename to chromeos-base/chromeos-chrome/chromeos-chrome-26.0.1410.28.ebuild
diff --git a/chromeos-base/chromeos-chrome/chromeos-chrome-26.0.1410.28_rc-r1.ebuild b/chromeos-base/chromeos-chrome/chromeos-chrome-26.0.1410.28_rc-r1.ebuild
deleted file mode 100644
index 69c4a7e..0000000
--- a/chromeos-base/chromeos-chrome/chromeos-chrome-26.0.1410.28_rc-r1.ebuild
+++ /dev/null
@@ -1,1022 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-# Usage: by default, downloads chromium browser from the build server.
-# If CHROME_ORIGIN is set to one of {SERVER_SOURCE, LOCAL_SOURCE, LOCAL_BINARY},
-# the build comes from the chromimum source repository (gclient sync),
-# build server, locally provided source, or locally provided binary.
-# If you are using SERVER_SOURCE, a gclient template file that is in the files
-# directory which will be copied automatically during the build and used as
-# the .gclient for 'gclient sync'.
-# If building from LOCAL_SOURCE or LOCAL_BINARY specifying BUILDTYPE
-# will allow you to specify "Debug" or another build type; "Release" is
-# the default.
-# gclient is expected to be in ~/depot_tools if EGCLIENT is not set
-# to gclient path.
-
-EAPI="2"
-inherit autotest-deponly binutils-funcs eutils flag-o-matic git-2 multilib toolchain-funcs
-
-DESCRIPTION="Open-source version of Google Chrome web browser"
-HOMEPAGE="http://www.chromium.org/"
-SRC_URI=""
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-IUSE="-asan +build_tests +chrome_remoting chrome_internal chrome_pdf +chrome_debug -chrome_debug_tests -chrome_media -clang -component_build -content_shell -drm +gold hardfp +highdpi +nacl neon -ninja -oem_wallpaper -pgo_use -pgo_generate +reorder +runhooks +verbose widevine_cdm"
-
-# Do not strip the nacl_helper_bootstrap binary because the binutils
-# objcopy/strip mangles the ELF program headers.
-# TODO(mcgrathr,vapier): This should be removed after portage's prepstrip
-# script is changed to use eu-strip instead of objcopy and strip.
-STRIP_MASK="*/nacl_helper_bootstrap"
-
-# When we get to EAPI=4
-# REQUIRED_USE=<pgo_generate and pgo_use are mutually exclusive>
-REORDER_SUBDIR="reorder"
-
-# Portage version without optional portage suffix.
-CHROME_VERSION="${PV/_*/}"
-
-CHROME_SRC="chrome-src"
-if use chrome_internal; then
-	CHROME_SRC="${CHROME_SRC}-internal"
-fi
-
-# CHROME_CACHE_DIR is used for storing output artifacts, and is always a
-# regular directory inside the chroot (i.e. it's never mounted in, so it's
-# always safe to use cp -al for these artifacts).
-if [[ -z ${CHROME_CACHE_DIR} ]] ; then
-	CHROME_CACHE_DIR="/var/cache/chromeos-chrome/${CHROME_SRC}"
-fi
-addwrite "${CHROME_CACHE_DIR}"
-
-# CHROME_DISTDIR is used for storing the source code, if any source code
-# needs to be unpacked at build time (e.g. in the SERVER_SOURCE scenario.)
-# It will be mounted into the chroot, so it is never safe to use cp -al
-# for these files.
-if [[ -z ${CHROME_DISTDIR} ]] ; then
-	CHROME_DISTDIR="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/${CHROME_SRC}"
-fi
-addwrite "${CHROME_DISTDIR}"
-
-# chrome destination directory
-CHROME_DIR=/opt/google/chrome
-D_CHROME_DIR="${D}/${CHROME_DIR}"
-RELEASE_EXTRA_CFLAGS=()
-
-USE_TCMALLOC="linux_use_tcmalloc=1"
-
-# For compilation/local chrome
-BUILDTYPE="${BUILDTYPE:-Release}"
-BOARD="${BOARD:-${SYSROOT##/build/}}"
-BUILD_OUT="${BUILD_OUT:-out_${BOARD}}"
-# WARNING: We are using a symlink now for the build directory to work around
-# command line length limits. This will cause problems if you are doing
-# parallel builds of different boards/variants.
-# Unsetting BUILD_OUT_SYM will revert this behavior
-BUILD_OUT_SYM="c"
-
-PGO_SUFFIX=".pgo.tar.bz2"
-PGO_LOCATION="gs://chromeos-prebuilt/pgo-job/canonicals/"
-
-add_pgo_arches() {
-	local file a
-	for a in "$@" ; do
-		file="chromeos-chrome-${a}-${PV}${PGO_SUFFIX}"
-		SRC_URI+="pgo_use? ( ${a}? ( ${PGO_LOCATION}${file} ) ) "
-	done
-}
-
-RESTRICT="mirror"
-add_pgo_arches x86 amd64 arm
-
-TEST_FILES=("video_decode_accelerator_unittest" "ppapi_example_video_decode")
-PPAPI_TEST_FILES=(
-	lib{32,64}
-	mock_nacl_gdb
-	nacl_test_data
-	ppapi_nacl_tests_{newlib,glibc}.nmf
-	ppapi_nacl_tests_{newlib,glibc}_{x32,x64,arm}.nexe
-	test_case.html
-	test_case.html.mock-http-headers
-	test_page.css
-	test_url_loader_data
-)
-
-RDEPEND="${RDEPEND}
-	app-arch/bzip2
-	>=app-i18n/ibus-1.4.99
-	arm? ( virtual/opengles )
-	dev-libs/atk
-	dev-libs/glib
-	dev-libs/nspr
-	>=dev-libs/nss-3.12.2
-	dev-libs/libxml2
-	dev-libs/dbus-glib
-	x11-libs/cairo
-	drm? ( x11-libs/libxkbcommon )
-	x11-libs/libXScrnSaver
-	x11-libs/pango
-	>=media-libs/alsa-lib-1.0.19
-	media-libs/fontconfig
-	media-libs/freetype
-	media-libs/libpng
-	media-libs/mesa
-	>=media-sound/adhd-0.0.1-r310
-	net-misc/wget
-	sys-fs/udev
-	sys-libs/zlib
-	x11-libs/libXcomposite
-	x11-libs/libXcursor
-	x11-libs/libXrandr
-	x11-libs/libXScrnSaver
-	chrome_remoting? ( x11-libs/libXtst )
-	x11-apps/setxkbmap
-	!arm? ( x11-libs/libva )"
-
-DEPEND="${DEPEND}
-	${RDEPEND}
-	arm? ( x11-drivers/opengles-headers )
-	chromeos-base/protofiles
-	>=dev-util/gperf-3.0.3
-	>=dev-util/pkgconfig-0.23
-	net-wireless/bluez"
-
-PATCHES=()
-
-AUTOTEST_COMMON="src/chrome/test/chromeos/autotest/files"
-AUTOTEST_DEPS="${AUTOTEST_COMMON}/client/deps"
-AUTOTEST_DEPS_LIST="chrome_test pyauto_dep page_cycler_dep telemetry_dep"
-
-IUSE="${IUSE} +autotest"
-
-export CHROMIUM_HOME=/usr/$(get_libdir)/chromium-browser
-
-QA_TEXTRELS="*"
-QA_EXECSTACK="*"
-QA_PRESTRIPPED="*"
-
-use_nacl() {
-	! use asan && ! use component_build && ! use drm && use nacl
-}
-
-# Like the `usex` helper:
-# Usage: echox [int] [echo-if-true] [echo-if-false]
-# If [int] is 0, then echo the 2nd arg (default of yes), else
-# echo the 3rd arg (default of no).
-echox() {
-	# Like the `usex` helper.
-	[[ ${1:-$?} -eq 0 ]] && echo "${2:-yes}" || echo "${3:-no}"
-}
-echo10() { echox ${1:-$?} 1 0 ; }
-echotf() { echox ${1:-$?} true false ; }
-use10()  { usex $1 1 0 ; }
-usetf()  { usex $1 true false ; }
-set_build_defines() {
-	# General build defines.
-	# TODO(vapier): Check that this should say SYSROOT not ROOT
-	BUILD_DEFINES=(
-		"sysroot=${ROOT}"
-		python_ver=2.6
-		"linux_sandbox_path=${CHROME_DIR}/chrome-sandbox"
-		"${EXTRA_BUILD_ARGS}"
-		"system_libdir=$(get_libdir)"
-		"pkg-config=$(tc-getPKG_CONFIG)"
-		"use_xi2_mt=2"
-	)
-
-	BUILD_DEFINES+=(
-		swig_defines=-DOS_CHROMEOS
-		chromeos=1
-	)
-
-	if use pgo_generate ; then
-		BUILD_DEFINES+=(
-			libraries_for_target=-lgcov
-		)
-		RELEASE_EXTRA_CFLAGS+=(
-			-DPGO_GENERATE
-			-fprofile-generate
-			-fprofile-dir=/tmp/pgo/chrome
-			-Wno-error=maybe-uninitialized
-		)
-	fi
-
-	# Set proper BUILD_DEFINES for the arch
-	case "${ARCH}" in
-	x86)
-		BUILD_DEFINES+=( target_arch=ia32 enable_smooth_scrolling=1 )
-		;;
-	arm)
-		BUILD_DEFINES+=(
-			target_arch=arm
-			arm_float_abi=$(usex hardfp hard softfp)
-			arm_neon=$(use10 neon)
-			armv7=$([[ ${CHOST} == armv7* ]]; echo10)
-			v8_can_use_unaligned_accesses=$([[ ${CHOST} == armv[67]* ]]; echotf)
-			v8_can_use_vfp3_instructions=$([[ ${ARM_FPU} == *vfpv[34]* ]]; echotf)
-			v8_use_arm_eabi_hardfloat=$(usetf hardfp)
-		)
-		if [[ -n "${ARM_FPU}" ]]; then
-			BUILD_DEFINES+=( arm_fpu="${ARM_FPU}" )
-		fi
-		if use chrome_internal; then
-			#http://code.google.com/p/chrome-os-partner/issues/detail?id=1142
-			BUILD_DEFINES+=( internal_pdf=0 )
-		fi
-		;;
-	amd64)
-		BUILD_DEFINES+=( target_arch=x64 enable_smooth_scrolling=1 )
-		;;
-	*)
-		die "Unsupported architecture: ${ARCH}"
-		;;
-	esac
-
-	use_nacl || BUILD_DEFINES+=( disable_nacl=1 )
-
-	use drm && BUILD_DEFINES+=( use_drm=1 )
-
-	# Control inclusion of optional chrome features.
-	if use chrome_remoting; then
-		BUILD_DEFINES+=( remoting=1 )
-	else
-		BUILD_DEFINES+=( remoting=0 )
-	fi
-
-	if use chrome_internal; then
-		#Adding chrome branding specific variables and GYP_DEFINES
-		BUILD_DEFINES+=( branding=Chrome buildtype=Official )
-		export CHROMIUM_BUILD='_google_Chrome'
-		export OFFICIAL_BUILD='1'
-		export CHROME_BUILD_TYPE='_official'
-
-		# For internal builds, don't remove webcore debug symbols by default.
-		REMOVE_WEBCORE_DEBUG_SYMBOLS=${REMOVE_WEBCORE_DEBUG_SYMBOLS:-0}
-	elif use chrome_media; then
-		echo "Building Chromium with additional media codecs and containers."
-		BUILD_DEFINES+=( ffmpeg_branding=ChromeOS proprietary_codecs=1 )
-	fi
-
-	# This saves time and bytes.
-	if [[ "${REMOVE_WEBCORE_DEBUG_SYMBOLS:-1}" == "1" ]]; then
-		BUILD_DEFINES+=( remove_webcore_debug_symbols=1 )
-	fi
-
-	if ! use chrome_debug_tests; then
-		BUILD_DEFINES+=( strip_tests=1 )
-	fi
-
-	if use reorder && ! use clang; then
-		BUILD_DEFINES+=( "order_text_section=${CHROME_DISTDIR}/${REORDER_SUBDIR}/section-ordering-files/orderfile" )
-	fi
-
-	if use clang; then
-		if [[ "${ARCH}" == "x86" || "${ARCH}" == "amd64" ]]; then
-			BUILD_DEFINES+=( clang=1 clang_use_chrome_plugins=0 werror= )
-			USE_TCMALLOC="linux_use_tcmalloc=0"
-
-			# The chrome build system will add -m32 for 32bit arches, and
-			# clang defaults to 64bit because our cros_sdk is 64bit default.
-			export CC="clang" CXX="clang++"
-		else
-			die "Clang is not yet supported for ${ARCH}"
-		fi
-	fi
-
-	if use asan; then
-		if ! use clang; then
-			eerror "Asan requires Clang to run."
-			die "Please set USE=\"${USE} clang\" to enable Clang"
-		fi
-		BUILD_DEFINES+=( asan=1 )
-	fi
-
-	if use component_build; then
-		BUILD_DEFINES+=( component=shared_library )
-	fi
-
-	BUILD_DEFINES+=( "${USE_TCMALLOC}" )
-	BUILD_DEFINES+=( "use_cras=1" )
-
-	# TODO(davidjames): Pass in all CFLAGS this way, once gyp is smart enough
-	# to accept cflags that only apply to the target.
-	if use chrome_debug; then
-		RELEASE_EXTRA_CFLAGS+=(
-			-g
-		)
-	fi
-
-	if ! use chrome_pdf; then
-		BUILD_DEFINES+=( internal_pdf=0 )
-	fi
-
-	if use oem_wallpaper; then
-		BUILD_DEFINES+=( use_oem_wallpaper=1 )
-	fi
-
-	BUILD_DEFINES+=( "release_extra_cflags='${RELEASE_EXTRA_CFLAGS[*]}'" )
-
-	export GYP_GENERATORS="$(usex ninja ninja make)"
-	export GYP_DEFINES="${BUILD_DEFINES[*]}"
-	export builddir_name="${BUILD_OUT}"
-	# Prevents gclient from updating self.
-	export DEPOT_TOOLS_UPDATE=0
-	# Chrome's build overrides the Chrome OS build wrapper's addition
-	# of -fstack-protector-strong, so re-add it to the end of the
-	# command-line, since gcc uses "last flag wins" for stack protector.
-	CXXFLAGS+=" -fstack-protector-strong"
-	# Enable std::vector []-operator bounds checking.
-	CXXFLAGS+=" -D__google_stl_debug_vector=1"
-}
-
-unpack_chrome() {
-	local cmd=( "${CROS_WORKON_SRCROOT}"/chromite/bin/sync_chrome )
-	use chrome_internal && cmd+=( --internal )
-	use chrome_pdf && cmd+=( --pdf )
-	if [[ -n "${CROS_SVN_COMMIT}" ]]; then
-		cmd+=( --revision="${CROS_SVN_COMMIT}" )
-	elif [[ "${CHROME_VERSION}" != "9999" ]]; then
-		cmd+=( --tag="${CHROME_VERSION}" )
-	fi
-	# --reset tells sync_chrome to blow away local changes and to feel
-	# free to delete any directories that get in the way of syncing. This
-	# is needed for unattended operation.
-	cmd+=( --reset --gclient="${EGCLIENT}" "${CHROME_DISTDIR}" )
-	elog "${cmd[*]}"
-	"${cmd[@]}" || die
-}
-
-decide_chrome_origin() {
-	local chrome_workon="=chromeos-base/chromeos-chrome-9999"
-	local cros_workon_file="${ROOT}etc/portage/package.keywords/cros-workon"
-	if [[ -e "${cros_workon_file}" ]] && grep -q "${chrome_workon}" "${cros_workon_file}"; then
-		# LOCAL_SOURCE is the default for cros_workon
-		# Warn the user if CHROME_ORIGIN is already set
-		if [[ -n "${CHROME_ORIGIN}" && "${CHROME_ORIGIN}" != LOCAL_SOURCE ]]; then
-			ewarn "CHROME_ORIGIN is already set to ${CHROME_ORIGIN}."
-			ewarn "This will prevent you from building from your local checkout."
-			ewarn "Please run 'unset CHROME_ORIGIN' to reset Chrome"
-			ewarn "to the default source location."
-		fi
-		: ${CHROME_ORIGIN:=LOCAL_SOURCE}
-	else
-		# By default, pull from server
-		: ${CHROME_ORIGIN:=SERVER_SOURCE}
-	fi
-}
-
-sandboxless_ensure_directory() {
-	local dir
-	for dir in "$@"; do
-		if [[ ! -d "${dir}" ]] ; then
-			# We need root access to create these directories, so we need to
-			# use sudo. This implicitly disables the sandbox.
-			sudo mkdir -p "${dir}" || die
-			sudo chown "${PORTAGE_USERNAME}:portage" "${dir}" || die
-			sudo chmod 0755 "${dir}" || die
-		fi
-	done
-}
-
-src_unpack() {
-	tc-export CC CXX
-	local WHOAMI=$(whoami)
-	export EGCLIENT="${EGCLIENT:-/home/${WHOAMI}/depot_tools/gclient}"
-	export ENINJA="${ENINJA:-/home/${WHOAMI}/depot_tools/ninja}"
-	export DEPOT_TOOLS_UPDATE=0
-
-	# Create storage directories.
-	sandboxless_ensure_directory "${CHROME_DISTDIR}" "${CHROME_CACHE_DIR}"
-
-	# Copy in credentials to fake home directory so that build process
-	# can access svn and ssh if needed.
-	mkdir -p ${HOME}
-	SUBVERSION_CONFIG_DIR=/home/${WHOAMI}/.subversion
-	if [[ -d ${SUBVERSION_CONFIG_DIR} ]]; then
-		cp -rfp ${SUBVERSION_CONFIG_DIR} ${HOME} || die
-	fi
-	SSH_CONFIG_DIR=/home/${WHOAMI}/.ssh
-	if [[ -d ${SSH_CONFIG_DIR} ]]; then
-		cp -rfp ${SSH_CONFIG_DIR} ${HOME} || die
-	fi
-	NET_CONFIG=/home/${WHOAMI}/.netrc
-	if [[ -f ${NET_CONFIG} ]]; then
-		cp -fp ${NET_CONFIG} ${HOME} || die
-	fi
-
-	decide_chrome_origin
-
-	case "${CHROME_ORIGIN}" in
-	LOCAL_SOURCE|SERVER_SOURCE|LOCAL_BINARY|GERRIT_SOURCE)
-		elog "CHROME_ORIGIN VALUE is ${CHROME_ORIGIN}"
-		;;
-	*)
-	die "CHROME_ORIGIN not one of LOCAL_SOURCE, SERVER_SOURCE, LOCAL_BINARY, GERRIT_SOURCE"
-		;;
-	esac
-
-	# Prepare and set CHROME_ROOT based on CHROME_ORIGIN.
-	# CHROME_ROOT is the location where the source code is used for compilation.
-	# If we're in SERVER_SOURCE mode, CHROME_ROOT is CHROME_DISTDIR. In LOCAL_SOURCE
-	# mode, this directory may be set manually to any directory. It may be mounted
-	# into the chroot, so it is not safe to use cp -al for these files.
-	# These are set here because $(whoami) returns the proper user here,
-	# but 'root' at the root level of the file
-	case "${CHROME_ORIGIN}" in
-	(SERVER_SOURCE)
-		elog "Using CHROME_VERSION = ${CHROME_VERSION}"
-		unpack_chrome
-
-		elog "set the chrome source root to ${CHROME_DISTDIR}"
-		elog "From this point onwards there is no difference between \
-			SERVER_SOURCE and LOCAL_SOURCE, since the fetch is done"
-		CHROME_ROOT=${CHROME_DISTDIR}
-		;;
-	(GERRIT_SOURCE)
-		CHROME_ROOT="/home/${WHOAMI}/trunk/chromium"
-		# TODO(rcui): Remove all these addwrite hacks once we start
-		# building off a copy of the source
-		addwrite "${CHROME_ROOT}"
-		# Addwrite to .repo because each project's .git directory links
-		# to the .repo directory.
-		addwrite "/home/${WHOAMI}/trunk/.repo/"
-		# - Make the symlinks from chromium src tree to CrOS source tree
-		# writeable so we can run hooks and reset the checkout.
-		# - We need to explicitly do this because the symlink points to
-		# outside of the CHROME_ROOT.
-		# - We don't know which one is a symlink so do it for
-		#   all files/directories in src/third_party
-		# - chrome_set_ver creates symlinks in src/third_party to simulate
-		#   the cros_deps checkout gclient does.  For details, see
-		#   http://gerrit.chromium.org/gerrit/#change,5692.
-		THIRD_PARTY_DIR="${CHROME_ROOT}/src/third_party"
-		for f in `ls -1 ${THIRD_PARTY_DIR}`
-		do
-			addwrite "${THIRD_PARTY_DIR}/${f}"
-		done
-		;;
-	(LOCAL_SOURCE)
-		: ${CHROME_ROOT:=/home/${WHOAMI}/chrome_root}
-		if [[ ! -d "${CHROME_ROOT}/src" ]]; then
-			die "${CHROME_ROOT} does not contain a valid chromium checkout!"
-		fi
-		addwrite "${CHROME_ROOT}"
-		;;
-	esac
-
-	case "${CHROME_ORIGIN}" in
-	LOCAL_SOURCE|SERVER_SOURCE|GERRIT_SOURCE)
-		set_build_defines
-		;;
-	esac
-
-	# FIXME: This is the normal path where ebuild stores its working data.
-	# Chrome builds inside distfiles because of speed, so we at least make
-	# a symlink here to add compatibility with autotest eclass which uses this.
-	ln -sf "${CHROME_ROOT}" "${WORKDIR}/${P}"
-
-	if use pgo_use && ! use clang; then
-		local PROFILE_DIR="${WORKDIR}/pgo"
-		mkdir "${PROFILE_DIR}"
-		cd "${PROFILE_DIR}"
-		unpack "chromeos-chrome-${ARCH}-${PV}${PGO_SUFFIX}"
-		cd "${WORKDIR}"
-		if [[ -d "${PROFILE_DIR}/chrome" ]]; then
-			append-flags -fprofile-use \
-				-fprofile-correction \
-				-fprofile-dir="${PROFILE_DIR}/chrome"
-
-			# This is required because gcc emits different warnings
-			# for PGO vs. non-PGO. PGO may inline different
-			# functions from non-PGO, leading to different warnings.
-			# crbug.com/112908
-			append-flags -Wno-error=maybe-uninitialized
-			einfo "Using the PGO data"
-		else
-			einfo "USE=+pgo_use, but ${PROFILE_DIR}/chrome not "\
-			      "created from pgo.tar.bz2."
-			die "PGO data supply failed"
-		fi
-	fi
-
-	if use reorder && ! use clang; then
-		EGIT_REPO_URI="http://git.chromium.org/chromiumos/profile/chromium.git"
-		EGIT_COMMIT="88c20da2d91098449373f2e2f5cef35c193b8add"
-		EGIT_PROJECT="${PN}-reorder"
-		if grep -qs ${EGIT_COMMIT} "${CHROME_DISTDIR}/${REORDER_SUBDIR}/.git/HEAD"; then
-			einfo "Reorder profile repo is up to date."
-		else
-			einfo "Reorder profile repo not up-to-date. Fetching..."
-			EGIT_SOURCEDIR="${CHROME_DISTDIR}/${REORDER_SUBDIR}"
-			rm -rf "${EGIT_SOURCEDIR}"
-			git-2_src_unpack
-		fi
-	fi
-}
-
-src_prepare() {
-	if [[ "${CHROME_ORIGIN}" != "LOCAL_SOURCE" &&
-	      "${CHROME_ORIGIN}" != "SERVER_SOURCE" &&
-	      "${CHROME_ORIGIN}" != "GERRIT_SOURCE" ]]; then
-		return
-	fi
-
-	elog "${CHROME_ROOT} should be set here properly"
-	cd "${CHROME_ROOT}/src" || die "Cannot chdir to ${CHROME_ROOT}"
-
-	# We do symlink creation here if appropriate
-	mkdir -p "${CHROME_CACHE_DIR}/src/${BUILD_OUT}"
-	if [[ ! -z "${BUILD_OUT_SYM}" ]]; then
-		rm -rf "${BUILD_OUT_SYM}" || die "Could not remove symlink"
-		ln -sfT "${CHROME_CACHE_DIR}/src/${BUILD_OUT}" "${BUILD_OUT_SYM}" ||
-			die "Could not create symlink for output directory"
-		export builddir_name="${BUILD_OUT_SYM}"
-	fi
-
-
-	# Apply patches for non-localsource builds
-	if [[ "${CHROME_ORIGIN}" == "SERVER_SOURCE" && ${#PATCHES[@]} -gt 0 ]]; then
-		epatch "${PATCHES[@]}"
-	fi
-
-	# The chrome makefiles specify -O and -g flags already, so remove the
-	# portage flags.
-	filter-flags -g -O*
-
-	local WHOAMI=$(whoami)
-	# The hooks may depend on the environment variables we set in this
-	# ebuild (i.e., GYP_DEFINES for gyp_chromium)
-	ECHROME_SET_VER=${ECHROME_SET_VER:=/home/${WHOAMI}/trunk/chromite/bin/chrome_set_ver}
-	einfo "Building Chrome with the following define options:"
-	local opt
-	for opt in "${BUILD_DEFINES[@]}"; do
-		einfo "${opt}"
-	done
-
-	# Get credentials to fake home directory so that built chromium
-	# can access Google services.
-	# First check for Chrome credentials.
-	if [[ ! -d google_apis/internal ]]; then
-		# Then look for ChromeOS supplied credentials.
-		local PRIVATE_OVERLAYS_DIR=/home/${WHOAMI}/trunk/src/private-overlays
-		local GAPI_CONFIG_FILE=${PRIVATE_OVERLAYS_DIR}/chromeos-overlay/googleapikeys
-		# RE to match the allowed names.
-		local NRE="('google_(api_key|default_client_(id|secret))')"
-		# RE to match whitespace.
-		local WS="[[:space:]]*"
-		# RE to match allowed values.
-		local CRE="('[^\\\\']*')"
-		# And combining them into one RE for describing the lines
-		# we want to allow.
-		local TRE="^${WS}${NRE}${WS}[:=]${WS}${CRE}.*"
-		if [[ ! -f "${GAPI_CONFIG_FILE}" ]]; then
-			# Then developer credentials.
-			GAPI_CONFIG_FILE=/home/${WHOAMI}/.googleapikeys
-		fi
-		if [[ -f "${GAPI_CONFIG_FILE}" ]]; then
-			mkdir "${HOME}"/.gyp
-			cat <<-EOF >"${HOME}/.gyp/include.gypi"
-			{
-				'variables': {
-				$(sed -nr -e "/^${TRE}/{s//\1: \4,/;p;}" \
-					"${GAPI_CONFIG_FILE}")
-				}
-			}
-			EOF
-		fi
-	fi
-}
-
-src_configure() {
-	tc-export CXX CC AR AS RANLIB
-	export CC_host=$(tc-getBUILD_CC)
-	export CXX_host=$(tc-getBUILD_CXX)
-	export AR_host=$(tc-getBUILD_AR)
-	if use gold ; then
-		if [[ "${GOLD_SET}" != "yes" ]]; then
-			export GOLD_SET="yes"
-			einfo "Using gold from the following location: $(get_binutils_path_gold)"
-			export CC="${CC} -B$(get_binutils_path_gold)"
-			export CXX="${CXX} -B$(get_binutils_path_gold)"
-		fi
-	else
-		ewarn "gold disabled. Using GNU ld."
-	fi
-
-	# Use g++ as the linker driver.
-	export LD="${CXX}"
-	export LD_host=$(tc-getBUILD_CXX)
-
-	local build_tool_flags=()
-	if use ninja; then
-		build_tool_flags+=(
-			"config=${BUILDTYPE}"
-			"output_dir=${builddir_name}"
-		)
-	fi
-	export GYP_GENERATOR_FLAGS="${build_tool_flags[*]}"
-
-	# TODO(rcui): crosbug.com/20435.  Investigate removal of runhooks
-	# useflag when chrome build switches to Ninja inside the chroot.
-	if use runhooks; then
-		if [[ "${CHROME_ORIGIN}" == "GERRIT_SOURCE" ]]; then
-			# Set the dependency repos to the revision specified in the
-			# .DEPS.git file, and run the hooks in that file.
-			"${ECHROME_SET_VER}" --runhooks || die
-		else
-			[[ -n "${EGCLIENT}" ]] || die EGCLIENT unset
-			[[ -f "${EGCLIENT}" ]] || die EGCLIENT at "${EGCLIENT}" does not exist
-			"${EGCLIENT}" runhooks --force || die  "Failed to run  ${EGCLIENT} runhooks"
-		fi
-	elif [[ "${CHROME_ORIGIN}" == "GERRIT_SOURCE" ]]; then
-		"${ECHROME_SET_VER}" || die
-	fi
-}
-
-chrome_make() {
-	if use ninja; then
-		PATH=${PATH}:/home/$(whoami)/depot_tools ${ENINJA} \
-			${MAKEOPTS} -C "${BUILD_OUT_SYM}/${BUILDTYPE}" $(usex verbose -v "") "$@" || die
-	else
-		emake -r $(usex verbose V=1 "") "BUILDTYPE=${BUILDTYPE}" "$@" || die
-	fi
-}
-
-src_compile() {
-	if [[ "${CHROME_ORIGIN}" != "LOCAL_SOURCE" &&
-	      "${CHROME_ORIGIN}" != "SERVER_SOURCE" &&
-	      "${CHROME_ORIGIN}" != "GERRIT_SOURCE" ]]; then
-		return
-	fi
-
-	cd "${CHROME_ROOT}"/src || die "Cannot chdir to ${CHROME_ROOT}/src"
-
-	local chrome_targets=()
-
-	if [[ -n "${CHROME_TARGET_OVERRIDE}" ]]; then
-		chrome_targets=( ${CHROME_TARGET_OVERRIDE} )
-		einfo "Building custom targets: ${chrome_targets[*]}"
-	elif use content_shell; then
-		chrome_targets=( content_shell chrome_sandbox )
-		einfo "Building content_shell"
-	else
-		chrome_targets=( chrome chrome_sandbox )
-		if use build_tests; then
-			chrome_targets+=( "${TEST_FILES[@]}"
-				pyautolib
-				peerconnection_server
-				chromedriver
-				browser_tests
-				ffmpeg_tests
-				sync_integration_tests )
-			einfo "Building test targets: ${TEST_TARGETS[@]}"
-		fi
-
-		# The default_extensions target is a no-op for external builds, and is
-		# broken with Ninja in this situation. For now, only enable it on
-		# builds where it installs something.
-		if use chrome_internal; then
-			chrome_targets+=( default_extensions )
-		fi
-
-		if use_nacl; then
-			chrome_targets+=( nacl_helper_bootstrap nacl_helper )
-		fi
-
-		if use drm; then
-			chrome_targets+=( aura_demo ash_shell )
-		else
-			chrome_targets+=( libosmesa.so )
-		fi
-	fi
-
-	chrome_make "${chrome_targets[@]}"
-
-	if use build_tests; then
-		install_chrome_test_resources "${WORKDIR}/test_src"
-		install_pyauto_dep_resources "${WORKDIR}/pyauto_src"
-		install_page_cycler_dep_resources "${WORKDIR}/page_cycler_src"
-		install_telemetry_dep_resources "${WORKDIR}/telemetry_src"
-
-		# NOTE: Since chrome is built inside distfiles, we have to get
-		# rid of the previous instance first.
-		# We remove only what we will overwrite with the mv below.
-		local deps="${WORKDIR}/${P}/${AUTOTEST_DEPS}"
-
-		rm -rf "${deps}/chrome_test/test_src"
-		mv "${WORKDIR}/test_src" "${deps}/chrome_test/"
-
-		rm -rf "${deps}/pyauto_dep/test_src"
-		mv "${WORKDIR}/pyauto_src" "${deps}/pyauto_dep/test_src"
-
-		rm -rf "${deps}/page_cycler_dep/test_src"
-		mv "${WORKDIR}/page_cycler_src" "${deps}/page_cycler_dep/test_src"
-
-		rm -rf "${deps}/telemetry_dep/test_src"
-		mv "${WORKDIR}/telemetry_src" "${deps}/telemetry_dep/test_src"
-
-		# HACK: It would make more sense to call autotest_src_prepare in
-		# src_prepare, but we need to call install_chrome_test_resources first.
-		autotest-deponly_src_prepare
-
-		# Remove .svn dirs
-		esvn_clean "${AUTOTEST_WORKDIR}"
-		# Remove .git dirs
-		find "${AUTOTEST_WORKDIR}" -type d -name .git -prune -exec rm -rf {} +
-
-		autotest_src_compile
-	fi
-}
-
-# Turn off the cp -l behavior in autotest, since the source dir and the
-# installation dir live on different bind mounts right now.
-fast_cp() {
-	cp "$@"
-}
-
-install_test_resources() {
-	# Install test resources from chrome source directory to destination.
-	# We keep a cache of test resources inside the chroot to avoid copying
-	# multiple times.
-	local test_dir="${1}"
-	shift
-	local resource cache dest
-	for resource in "$@"; do
-		cache=$(dirname "${CHROME_CACHE_DIR}/src/${resource}")
-		dest=$(dirname "${test_dir}/${resource}")
-		mkdir -p "${cache}" "${dest}"
-		rsync -a --delete --exclude=.svn --exclude=.git \
-			"${CHROME_ROOT}/src/${resource}" "${cache}"
-		cp -al "${CHROME_CACHE_DIR}/src/${resource}" "${dest}"
-	done
-}
-
-install_chrome_test_resources() {
-	# NOTE: This is a duplicate from src_install, because it's required here.
-	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-	local test_dir="${1}"
-
-	echo Copying Chrome tests into "${test_dir}"
-	mkdir -p "${test_dir}/out/Release"
-
-	# Even if chrome_debug_tests is enabled, we don't need to include detailed
-	# debug info for tests in the binary package, so save some time by stripping
-	# everything but the symbol names. Developers who need more detailed debug
-	# info on the tests can use the original unstripped tests from the ${from}
-	# directory.
-	TEST_INSTALL_TARGETS=(
-		"libppapi_tests.so"
-		"browser_tests"
-		"ffmpeg_tests"
-		"peerconnection_server"
-		"sync_integration_tests"
-		"video_decode_accelerator_unittest" )
-
-	for f in "${TEST_INSTALL_TARGETS[@]}"; do
-		$(tc-getSTRIP) --strip-debug \
-			--keep-file-symbols "${from}"/${f} \
-			-o "${test_dir}/out/Release/$(basename ${f})"
-	done
-
-	# Copy over the test data directory; eventually 'all' non-static
-	# Chrome test data will go in here.
-	mkdir "${test_dir}"/out/Release/test_data
-	cp -al "${from}"/test_data "${test_dir}"/out/Release/
-
-	# Add the fake bidi locale
-	mkdir "${test_dir}"/out/Release/pseudo_locales
-	cp -al "${from}"/pseudo_locales/fake-bidi.pak \
-		"${test_dir}"/out/Release/pseudo_locales
-
-	for f in "${TEST_FILES[@]}"; do
-		cp -al "${from}/${f}" "${test_dir}"
-	done
-
-	for f in "${PPAPI_TEST_FILES[@]}"; do
-		cp -al "${from}/${f}" "${test_dir}/out/Release"
-	done
-
-	# Install Chrome test resources.
-	install_test_resources "${test_dir}" \
-		base/base_paths_posix.cc \
-		chrome/test/data \
-		chrome/test/functional \
-		chrome/third_party/mock4js/mock4js.js  \
-		content/common/gpu/testdata \
-		content/test/data \
-		net/data/ssl/certificates \
-		ppapi/tests/test_case.html \
-		ppapi/tests/test_url_loader_data \
-		third_party/bidichecker/bidichecker_packaged.js \
-		third_party/WebKit/Tools/Scripts \
-		third_party/WebKit/LayoutTests/http/tests/websocket/tests
-
-	# Add pdf test data
-	if use chrome_pdf; then
-		install_test_resources "${test_dir}" pdf/test
-	fi
-
-	# Remove test binaries from other platforms
-	if [[ -z "${E_MACHINE}" ]]; then
-		echo E_MACHINE not defined!
-	else
-		cd "${test_dir}"/chrome/test
-		rm -fv $( scanelf -RmyBF%a . | grep -v -e ^${E_MACHINE} )
-	fi
-
-	cp -a "${CHROME_ROOT}"/"${AUTOTEST_DEPS}"/chrome_test/setup_test_links.sh \
-		"${test_dir}"/out/Release
-	# Symlinks to resources in pyauto_dep will be created at runtime.
-}
-
-# Set up the PyAuto files also by copying out the files needed for that.
-# We create a separate dependency because the chrome_test one is about 350MB
-# and PyAuto is a svelte 30MB.
-install_pyauto_dep_resources() {
-	# NOTE: This is a duplicate from src_install, because it's required here.
-	local from="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-	local test_dir="${1}"
-
-	echo "Copying PyAuto framework into ${test_dir}"
-
-	mkdir -p "${test_dir}/out/Release"
-
-	cp -al "${from}"/pyproto "${test_dir}"/out/Release
-	cp -al "${from}"/pyautolib.py "${test_dir}"/out/Release
-
-	# Even if chrome_debug_tests is enabled, we don't need to include
-	# detailed debug info for tests in the binary package, so save some
-	# time by stripping everything but the symbol names. Developers who
-	# need more detailed debug info on the tests can use the original
-	# unstripped tests from the ${from} directory.
-	$(tc-getSTRIP) --strip-debug \
-		--keep-file-symbols "${from}"/_pyautolib.so \
-		-o "${test_dir}"/out/Release/_pyautolib.so
-	$(tc-getSTRIP) --strip-debug \
-		--keep-file-symbols "${from}"/chromedriver \
-		-o "${test_dir}"/out/Release/chromedriver
-	if use component_build; then
-		mkdir -p "${test_dir}/out/Release/lib.target"
-		local src dst
-		for src in "${from}"/lib.target/* ; do
-			dst="${test_dir}/out/Release/${src#${from}}"
-			$(tc-getSTRIP) --strip-debug --keep-file-symbols \
-				"${src}" -o "${dst}"
-		done
-	fi
-
-	cp -a "${CHROME_ROOT}"/"${AUTOTEST_DEPS}"/pyauto_dep/setup_test_links.sh \
-		"${test_dir}"/out/Release
-
-	# Copy PyAuto scripts and suppport libs.
-	install_test_resources "${test_dir}" \
-		chrome/browser/resources/gaia_auth \
-		chrome/test/pyautolib \
-		net/tools/testserver \
-		third_party/pyftpdlib \
-		third_party/pywebsocket \
-		third_party/simplejson \
-		third_party/tlslite \
-		third_party/webdriver
-}
-
-install_page_cycler_dep_resources() {
-	local test_dir="${1}"
-
-	if [[ -r "${CHROME_ROOT}/src/data/page_cycler" ]]; then
-		echo "Copying Page Cycler Data into ${test_dir}"
-		mkdir -p "${test_dir}"
-		install_test_resources "${test_dir}" \
-			data/page_cycler
-	fi
-}
-
-install_telemetry_dep_resources() {
-	local test_dir="${1}"
-
-	if [[ -r "${CHROME_ROOT}/src/tools/telemetry" ]]; then
-		echo "Copying Telemetry Framework into ${test_dir}"
-		mkdir -p "${test_dir}"
-		DEPS_LIST=$(python ${FILESDIR}/get_telemetry_deps.py ${CHROME_ROOT} \
-		            chrome/test)
-		install_test_resources "${test_dir}" $DEPS_LIST
-	fi
-}
-
-src_install() {
-	FROM="${CHROME_CACHE_DIR}/src/${BUILD_OUT}/${BUILDTYPE}"
-
-	# Override default strip flags and lose the '-R .comment'
-	# in order to play nice with the crash server.
-	if [[ -z "${KEEP_CHROME_DEBUG_SYMBOLS}" ]]; then
-		export PORTAGE_STRIP_FLAGS="--strip-unneeded"
-	else
-		export PORTAGE_STRIP_FLAGS="--strip-debug --keep-file-symbols"
-	fi
-
-	# First, things from the chrome build output directory
-	dodir "${CHROME_DIR}"
-	dodir "${CHROME_DIR}"/plugins
-
-	exeinto "${CHROME_DIR}"
-	doexe "${FROM}"/chrome
-	doexe "${FROM}"/libffmpegsumo.so
-	doexe "${FROM}"/libosmesa.so
-	use content_shell && doexe "${FROM}"/content_shell
-	use drm && doexe "${FROM}"/aura_demo
-	use drm && doexe "${FROM}"/ash_shell
-	if use chrome_internal && use chrome_pdf; then
-		doexe "${FROM}"/libpdf.so
-	fi
-	if use chrome_internal && use widevine_cdm; then
-		doexe "${FROM}"/libwidevinecdmadapter.so || die
-		doexe "${FROM}"/libwidevinecdm.so || die
-	fi
-	exeopts -m4755	# setuid the sandbox
-	newexe "${FROM}/chrome_sandbox" chrome-sandbox
-	exeopts -m0755
-
-	if use component_build; then
-		dodir "${CHROME_DIR}/lib.target"
-		exeinto "${CHROME_DIR}/lib.target"
-		for f in "${FROM}"/lib.target/*.so; do
-			doexe "${f}"
-		done
-		exeinto "${CHROME_DIR}"
-	fi
-
-	# enable the chromeos local account, if the environment dictates
-	if [[ -n "${CHROMEOS_LOCAL_ACCOUNT}" ]]; then
-		echo "${CHROMEOS_LOCAL_ACCOUNT}" > "${D_CHROME_DIR}/localaccount"
-	fi
-
-	# add executable NaCl binaries
-	if use_nacl; then
-		doexe "${FROM}"/libppGoogleNaClPluginChrome.so || die
-		doexe "${FROM}"/nacl_helper_bootstrap || die
-	fi
-
-	insinto "${CHROME_DIR}"
-	doins "${FROM}"/chrome-wrapper
-	doins "${FROM}"/chrome.pak
-	doins "${FROM}"/chrome_100_percent.pak
-	use content_shell && doins "${FROM}"/content_shell.pak
-	doins -r "${FROM}"/locales
-	doins -r "${FROM}"/resources
-	doins -r "${FROM}"/extensions
-	doins "${FROM}"/resources.pak
-	doins "${FROM}"/xdg-settings
-	doins "${FROM}"/*.png
-
-	# Add high DPI resources.
-	if use highdpi; then
-		doins "${FROM}"/chrome_200_percent.pak
-	fi
-
-	# add non-executable NaCl files
-	if use_nacl; then
-		doins "${FROM}"/nacl_irt_*.nexe || die
-		doins "${FROM}"/nacl_helper || die
-	fi
-
-	# Copy input_methods.txt so that ibus-m17n can exclude unnnecessary
-	# input methods based on the file.
-	insinto /usr/share/chromeos-assets/input_methods
-	INPUT_METHOD="${CHROME_ROOT}"/src/chrome/browser/chromeos/input_method
-	doins "${INPUT_METHOD}"/input_methods.txt
-
-	# Copy org.chromium.LibCrosService.conf, the D-Bus config file for the
-	# D-Bus service exported by Chrome.
-	insinto /etc/dbus-1/system.d
-	DBUS="${CHROME_ROOT}"/src/chrome/browser/chromeos/dbus
-	doins "${DBUS}"/org.chromium.LibCrosService.conf
-
-	# Chrome test resources
-	# Test binaries are only available when building chrome from source
-	if use build_tests && [[ "${CHROME_ORIGIN}" == "LOCAL_SOURCE" ||
-		"${CHROME_ORIGIN}" == "SERVER_SOURCE" ||
-		"${CHROME_ORIGIN}" == "GERRIT_SOURCE" ]]; then
-		autotest-deponly_src_install
-	fi
-	if use pgo_generate; then
-		local pgo_file_dest="chromeos-chrome-${ARCH}-${PV}${PGO_SUFFIX}"
-		echo "${PGO_LOCATION}${pgo_file_dest}" \
-			> "${D_CHROME_DIR}/profilelocation"
-	fi
-
-	# Fix some perms
-	chmod -R a+r "${D}"
-	find "${D}" -perm /111 -print0 | xargs -0 chmod a+x
-
-	# The following symlinks are needed in order to run chrome.
-	dosym libnss3.so /usr/lib/libnss3.so.1d
-	dosym libnssutil3.so.12 /usr/lib/libnssutil3.so.1d
-	dosym libsmime3.so.12 /usr/lib/libsmime3.so.1d
-	dosym libssl3.so.12 /usr/lib/libssl3.so.1d
-	dosym libplds4.so /usr/lib/libplds4.so.0d
-	dosym libplc4.so /usr/lib/libplc4.so.0d
-	dosym libnspr4.so /usr/lib/libnspr4.so.0d
-}