summaryrefslogtreecommitdiffstats
path: root/components/signin
Commit message (Collapse)AuthorAgeFilesLines
* Expose ProfileOAuth2TokenServiceIOSDelegate::AddOrUpdateAccount.bzanotti2016-03-251-1/+1
| | | | | | | | | | | The method can be used to clear the last auth error and trigger a refresh token available notification. BUG=520908 Review URL: https://codereview.chromium.org/1826393003 Cr-Commit-Position: refs/heads/master@{#383299}
* Remove unused GetAuthenticationErrorCategory method.bzanotti2016-03-244-10/+2
| | | | | | | | BUG=520908 Review URL: https://codereview.chromium.org/1828243002 Cr-Commit-Position: refs/heads/master@{#383129}
* Add GetAuthenticationErrorCategory method with gaia_id.bzanotti2016-03-244-8/+58
| | | | | | | | | | | | Also add a default implementation of ProfileOAuth2TokenServiceProvider. Provider should not have pure virtual methods, as this breaks compilation for the provider implementations when changing a method. BUG=520908 Review URL: https://codereview.chromium.org/1826183002 Cr-Commit-Position: refs/heads/master@{#383075}
* Replace usages of DEPRECATED_java_in_dir with java_filesagrieve2016-03-231-1/+2
| | | | | | | | BUG=484854 Review URL: https://codereview.chromium.org/1829823002 Cr-Commit-Position: refs/heads/master@{#382905}
* Remove UnescapeRule::URL_SPECIAL_CHARS from components/mmenke2016-03-231-3/+4
| | | | | | | | | | | | | | | | | | We're removing this, in favor of PATH_SEPARATORS and URL_SPECIAL_CHARS_EXCEPT_PATH_SEPARATORS, to reduce the risk of security issues when unescaping, going forward. All the remaining uses of URL_SPECIAL_CHARS in components/ look safe, so this CL replaces URL_SPECIAL_CHARS with both the new values, maintaining old behavior, except in affiliation_utils.cc, where the behavior clearly serves no purpose, and adding both flags would be confusing. BUG=589257 Review URL: https://codereview.chromium.org/1765993002 Cr-Commit-Position: refs/heads/master@{#382881}
* SameSite: Implement 'Strict'/'Lax' attribute parsing.mkwst2016-03-151-4/+4
| | | | | | | | | | | | | | | | | | | | | | | https://tools.ietf.org/html/draft-west-first-party-cookies-06 introduced the notion of "Strict" or "Lax" enforcement of the "SameSite" attribute. This patch implements the infrastructure changes necessary to support that distinction, but does not yet implement the behavioral change (that is, after this patch, `SameSite` will be rejected, while `SameSite=Strict` and `SameSite=Lax` will have the same behavior that `SameSite` alone has today). Most of this patch is occupied with the fairly mechanical process of swapping out a new 'CookieSameSite' enum for the existing boolean in various constructors and setters. The most interesting piece is the change to the storage backend, which now stores 0, 1, or 2 in the database to represent the possible values, rather than 0 or 1 to represent the boolean. BUG=459154 Review URL: https://codereview.chromium.org/1773133002 Cr-Commit-Position: refs/heads/master@{#381201}
* Puts the new Material Design User Manager behind a flagmahmadi2016-03-104-1/+15
| | | | | | Review URL: https://codereview.chromium.org/1782583003 Cr-Commit-Position: refs/heads/master@{#380451}
* [ios] Cleaned up usage of CR_TEST_REQUIRES_WK_WEB_VIEW.eugenebut2016-03-091-14/+0
| | | | | | | | | | The only supported web view is WKWebView so the macro is unnecessary. BUG=579697 Review URL: https://codereview.chromium.org/1781543002 Cr-Commit-Position: refs/heads/master@{#380157}
* ChromeOS cryptohome should be able to use gaia id as user identifier.alemate2016-03-041-0/+14
| | | | | | | | | | | This CL adds support for using Gaia ID as cryptohome identifier. BUG=462823 TEST=unit tests Review URL: https://codereview.chromium.org/1693383003 Cr-Commit-Position: refs/heads/master@{#379262}
* Change X-CHROME-CONNECTED cookie name to CHROME_CONNECTED.bzanotti2016-02-263-69/+71
| | | | | | | | | | | The new name follows cookie naming guideline. The old cookie will be deleted when a new cookie operation is applied on a domain. BUG=586113 Review URL: https://codereview.chromium.org/1719153002 Cr-Commit-Position: refs/heads/master@{#377859}
* components: Add out-of-line copy ctors for complex classes.vmpstr2016-02-256-0/+10
| | | | | | | | | | | | | | This patch adds out of line copy constructors for classes that our clang-plugin considers heavy. This is an effort to enable copy constructor checks by default. BUG=436357 R=jochen@chromium.org, dcheng@chromium.org, thakis@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1728033002 Cr-Commit-Position: refs/heads/master@{#377717}
* Replace custom password-separated flow switch with features API.anthonyvd2016-02-253-12/+13
| | | | | | | | | | This allows the feature to be controlled via Finch. BUG=533004 Review URL: https://codereview.chromium.org/1733373002 Cr-Commit-Position: refs/heads/master@{#377681}
* AccountId::GetGaiaIdKey should return filename-compatible string.alemate2016-02-231-1/+1
| | | | | | | | | | | This key sring should be safe to use in a file name. BUG=462823 TEST=manual Review URL: https://codereview.chromium.org/1726543002 Cr-Commit-Position: refs/heads/master@{#377120}
* Ignore incorrectly persisted account ids without an email mapping.knn2016-02-191-1/+3
| | | | | | | | | | | | | | | Current prognosis is this has persisted incorrectly from before account email to id migration. Hence we ignore the java side notification for account removal while ATS purges the account during migration. Also added 2 histograms to verify this prognosis. Added in the OAuth2Login namespace to minimize pollution due to debug histograms. BUG=582305 Review URL: https://codereview.chromium.org/1706293002 Cr-Commit-Position: refs/heads/master@{#376505}
* Revert of Release unused web views when under memory pressure. (patchset #5 ↵markusheintz2016-02-193-52/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:100001 of https://codereview.chromium.org/1708643002/ ) Reason for revert: TypedUrlSyncableServiceTest.DeleteUrlAndVisits fails on Win and CROS ASAN: Win: https://build.chromium.org/p/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/46063/steps/components_unittests/logs/TypedUrlSyncableServiceTest.DeleteUrlAndVisits https://build.chromium.org/p/chromium.win/buildstatus?builder=Win7%20Tests%20%28dbg%29%281%29&number=46064 https://build.chromium.org/p/chromium.win/buildstatus?builder=Win7%20Tests%20%28dbg%29%281%29&number=46063 CROS ASAN: https://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/builds/9861/steps/components_unittests/logs/TypedUrlSyncableServiceTest.DeleteUrlAndVisits https://build.chromium.org/p/chromium.memory/buildstatus?builder=Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29&number=9861 Original issue's description: > Release unused web views when under memory pressure. > > AccountConsistencyService and GaiaAuthFetcherIOS both use web views > internally to manipulate cookies. Once allocated, those web views were > never released to avoid having to re-allocate them later (which is > expensive). > > Those web views are now released when they are unused and the app is > under memory pressure. > > BUG=587487 > > Committed: https://crrev.com/8a730bd4d690e5c9f9b3639cbedec5b5dc2bbe12 > Cr-Commit-Position: refs/heads/master@{#376431} TBR=msarda@chromium.org,zea@chromium.org,bzanotti@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=587487 Review URL: https://codereview.chromium.org/1713973003 Cr-Commit-Position: refs/heads/master@{#376445}
* Release unused web views when under memory pressure.bzanotti2016-02-193-0/+52
| | | | | | | | | | | | | | | | AccountConsistencyService and GaiaAuthFetcherIOS both use web views internally to manipulate cookies. Once allocated, those web views were never released to avoid having to re-allocate them later (which is expensive). Those web views are now released when they are unused and the app is under memory pressure. BUG=587487 Review URL: https://codereview.chromium.org/1708643002 Cr-Commit-Position: refs/heads/master@{#376431}
* Add safeguards to re-set the X-CHROME-CONNECTED cookies when necessary.bzanotti2016-02-183-22/+131
| | | | | | | | | | | | When receiving an Add Cookie request from a navigation, re-add the cookie on the domain if there was no previous request or it was executed long ago. BUG=586113 Review URL: https://codereview.chromium.org/1705023002 Cr-Commit-Position: refs/heads/master@{#376138}
* Componentize signin-internals resourcesdroger2016-02-093-0/+360
| | | | | | | | TBR=thakis Review URL: https://codereview.chromium.org/1675203002 Cr-Commit-Position: refs/heads/master@{#374347}
* Implementation of newly designed sign in related histograms for Android.gogerald2016-02-041-0/+6
| | | | | | | | | | This CL is dedicated to implement newly designed sign in related histograms (Signin.SigninStartedAccessPoint, Signin.SigninCompletedAccessPoint, Signin.SigninReason) for Android. Please refer https://docs.google.com/a/google.com/document/d/1-gXYAMXXgsJhk6jxO55RuYJ00JBGermevJZ0sIlk6ko/edit?usp=sharing for details. BUG=532557 Review URL: https://codereview.chromium.org/1578433002 Cr-Commit-Position: refs/heads/master@{#373577}
* Remove incorrect dependency of components_unittests on test_support_ios.sdefresne2016-02-031-6/+0
| | | | | | | | | | | | Since fake_profile_oauth2_token_service_ios_provider.{cc,h} have been moved into components/signin/ios/ (http://crrev.com/1218073006) this dependency is unnecessary, so remove it. BUG=None Review URL: https://codereview.chromium.org/1661933002 Cr-Commit-Position: refs/heads/master@{#373229}
* Update components for new prefs location.brettw2016-02-0119-27/+28
| | | | | | | | | | | | | | | | This is a search-and-replace update for includes with "base/prefs" -> "components/prefs" and the headers re-sorted. DEPS files were updated to allow the components in question to depend on components/prefs. This should be a no-op from a build perspective. BUG=583034 Review URL: https://codereview.chromium.org/1651203002 Cr-Commit-Position: refs/heads/master@{#372780}
* Update GN build files for new prefs location.brettw2016-01-302-5/+4
| | | | | | | | | | Updates references from //base:prefs to //components/prefs/ TBR=jam@chromium.org Review URL: https://codereview.chromium.org/1652573002 Cr-Commit-Position: refs/heads/master@{#372540}
* [Sync] Use last account id instead of email for account equality on Android ↵skym2016-01-291-0/+13
| | | | | | | | | | | | | | | | | and some restructuring. BUG=571698, 571713, 580109 * Moved the check for switching accounts later in the sign in flow process so that it happens after the AccountTrackerService has seeded the system accounts. * Account id is used for account equality if present, with email as a fallback. * SigninInvestigator now emits its metrics about sign ins during Android sign ins. * Refactored pending signin state into a single object to force it to be atomically cleared. * Changing the system accounts now always cancels pending sign in flow, regardless of if seeding is outstanding or not. * Added several TODOs with associated crbugs. Review URL: https://codereview.chromium.org/1577983002 Cr-Commit-Position: refs/heads/master@{#372344}
* Ensure content settings aren't persisted in the guest profileraymes2016-01-281-1/+2
| | | | | | | | | | | | | We used to incorrectly allow content settings to be persisted in the guest profile. This CL prevents them from being persisted and ensures that any existing settings are deleted. BUG=578130 TBR=asanka@chromium.org,bzanotti@chromium.org,droger@chromium.org Review URL: https://codereview.chromium.org/1605453003 Cr-Commit-Position: refs/heads/master@{#371992}
* Implement the new Sync Confirmation dialog on Linux and Windows.anthonyvd2016-01-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | This CL mostly implements the sync confirmation dialog that is shown at the end of the tab modal signin flow described in the associated bug. It allows the user to make an explicit decision about starting sync before it's started and before sign in is completed. TEST= 1. Enable the --enable-password-separated-signin-flow flag in chrome://flags and restart Chrome 2. In a non-signed in Chrome Profile, select "Sign in to Chrome" from the User Menu. 3. Enter valid credentials to sign in to Chrome, the sign in window should close and the sync confirmation window should be shown 4. From that window, clicking "Got it" should close the window and leave the user signed in with sync started. Clicking "Undo" should close the window and leave the user signed out with sync not started. BUG=533004 Review URL: https://codereview.chromium.org/1487283005 Cr-Commit-Position: refs/heads/master@{#371907}
* [Sync] Instrument if users delete or keep their local profile during signout.skym2016-01-256-12/+34
| | | | | | | | BUG=572702 Review URL: https://codereview.chromium.org/1573283006 Cr-Commit-Position: refs/heads/master@{#371290}
* Add AccountId::GetGaiaIdKey method.alemate2016-01-142-0/+11
| | | | | | | | | BUG=462823 TEST=manual Review URL: https://codereview.chromium.org/1581533005 Cr-Commit-Position: refs/heads/master@{#369462}
* Fix AccountInfo uninitialized memory issues.bzanotti2016-01-143-15/+12
| | | | | | | | | | | AccountInfo constructor now correctly initializes all its members. Re-enable the affected tests under MSan. BUG=577333 Review URL: https://codereview.chromium.org/1588913002 Cr-Commit-Position: refs/heads/master@{#369419}
* Properly disable AccountTrackerService tests under MSan.Reilly Grant2016-01-142-4/+4
| | | | | | | | | | | | https://codereview.chromium.org/1583953003/ did not quite properly disable these tests so they still were still running. BUG=577333 TBR=rogerta@chromium.org Review URL: https://codereview.chromium.org/1580343004 . Cr-Commit-Position: refs/heads/master@{#369278}
* Disable two AccountTrackerService tests under MSan.Reilly Grant2016-01-132-0/+12
| | | | | | | | | | | | | AccountInfoTest.UpdateWithSuccessfulUpdate and AccountTrackerServiceTest.SeedAccountInfoFull are failing under MSan. BUG=577333 TBR=bzanotti@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1583953003 . Cr-Commit-Position: refs/heads/master@{#369271}
* Allow partial seeding of accounts in AccountTrackerServicebzanotti2016-01-137-11/+175
| | | | | | | | | BUG=570334 TBR=antrim@chromium.org Review URL: https://codereview.chromium.org/1526303002 Cr-Commit-Position: refs/heads/master@{#369191}
* [Sync] Switch to prefer account id over email for equality, along with some ↵skym2016-01-138-8/+310
| | | | | | | | | | associated metrics. BUG=571698,571713 Review URL: https://codereview.chromium.org/1551003002 Cr-Commit-Position: refs/heads/master@{#369066}
* [Sync] Adding pref kGoogleServicesLastAccountId. Since email/username is no ↵skym2016-01-063-2/+15
| | | | | | | | | | longer immutable, store the account id in kGoogleServicesLastAccountId pref to facilitate future authoritative account equality checks. BUG=571697 Review URL: https://codereview.chromium.org/1546403002 Cr-Commit-Position: refs/heads/master@{#367894}
* Do not crash browser when sign in URL has unsupported access point and reason.gogerald2016-01-051-5/+4
| | | | | | | | | | This CL makes chrome handle manually typed in sign in URL with unsupported access point and/or reason properly. BUG=570648 Review URL: https://codereview.chromium.org/1537993002 Cr-Commit-Position: refs/heads/master@{#367677}
* Convert Pass()→std::move() in //components/[n-z]*dcheng2015-12-265-15/+18
| | | | | | | | | | BUG=557422 R=avi@chromium.org TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/1548203002 Cr-Commit-Position: refs/heads/master@{#366914}
* Clean up header files.avi2015-12-262-0/+4
| | | | | | | | | | BUG=138542 TBR=ben@chromium.org NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1544283002 Cr-Commit-Position: refs/heads/master@{#366903}
* Switch to standard integer types in components/, part 3 of 4.avi2015-12-2544-5/+66
| | | | | | | | | BUG=138542 TBR=blundell@chromium.org Review URL: https://codereview.chromium.org/1551433002 Cr-Commit-Position: refs/heads/master@{#366874}
* Remove enable-iframe-based-signin flag. This affects only desktop chrome. ↵rogerta2015-12-175-20/+0
| | | | | | | | | | | | Users can no longer use the deprecated iframe based sign in flow. This flow has been deprecated since m41. This CL removes the code to get partitions ids and support for page zooming for the old iframe sign in flow. BUG=493846 Review URL: https://codereview.chromium.org/1412453002 Cr-Commit-Position: refs/heads/master@{#365712}
* Get 'gn_all' building on iOS in GN builds.dpranke2015-12-151-0/+16
| | | | | | | | | | | | | | | | | | This gets 'gn_all' building on iOS so we can start adding tryservers to the CQ and turn on the waterfall bots. At the moment WebRTC doesn't quite work on iOS, so we don't build the components that need to depend on it; we add an 'ios_use_webrtc' arg so that we can hack around it locally to build the rest of iOS, but that arg should be deleted and WebRTC fixed. R=sdefresne@chromium.org, brettw@chromium.org BUG=459705, webrtc:5213 CQ_EXTRA_TRYBOTS=tryserver.chromium.mac:ios_dbg_simulator_gn,ios_rel_device_gn Review URL: https://codereview.chromium.org/1467803003 Cr-Commit-Position: refs/heads/master@{#365373}
* Enforce AccountConsistencyService state on startupbzanotti2015-12-141-0/+5
| | | | | | | | | | | | | | | AccountConsistencyService now enforces that its state reflects the state of the WKWebView cookies on startup. This is necessary to gracefully recover from crashes while AccountConsistencyService was running. In most cases, enforcing the state will be a no-op. BUG=569502 Review URL: https://codereview.chromium.org/1521983002 Cr-Commit-Position: refs/heads/master@{#365014}
* [Sync] Enable TokenServiceTableTest tests on macpavely2015-12-112-14/+8
| | | | | | | | | | | | The issue I believe was that test interacts with mac keychain. The solution is to direct test to use MockAppleKeychain instead. R=rogerta@chromium.org BUG=228943 Review URL: https://codereview.chromium.org/1519623002 Cr-Commit-Position: refs/heads/master@{#364832}
* Name the value of the three sign in related UMA histograms.gogerald2015-12-101-2/+5
| | | | | | | | | | Name one of the value of the three sign in related UMA histograms, Signin.SigninStartedAccessPoint, Signin.SigninCompletedAccessPoint and Signin.SigninReason. BUG=532557 Review URL: https://codereview.chromium.org/1514473005 Cr-Commit-Position: refs/heads/master@{#364524}
* Clean ProfileSyncService unittest of most //chrome dependenciesblundell2015-12-091-0/+1
| | | | | | | | | | | | | In preparation for componentization of this unittest to live next to the production code, this CL cleans the test of most //chrome dependencies. The changes are straightforward. BUG=544972 TBR=jochen, droger Review URL: https://codereview.chromium.org/1502963003 Cr-Commit-Position: refs/heads/master@{#364002}
* [Mirror] Add support to start an "Add Account" native flow.bzanotti2015-12-082-2/+7
| | | | | | | | | | | | | | | When GAIA returns a response with the ADD_SESSION command, the "Add Account" flow is shown instead of the "Managed Accounts" UI. This adds the new IDC_SHOW_ADD_ACCOUNT command. The ShowSigninCommand callback is also cleaned as profile swap are now impossible. BUG=390273 Review URL: https://codereview.chromium.org/1507693002 Cr-Commit-Position: refs/heads/master@{#363792}
* Implement newly designed sign-in related histograms for desktop platorms.gogerald2015-12-082-22/+67
| | | | | | | | | | | | This CL splits signin_metrics::Source into signin_metrics::AccessPoint and signin_metrics::Reason. It implements three new histograms Signin.SigninStartedAccessPoint, Signin.SigninCompletedAccessPoint and Signin.SigninReason. These histograms could replace Signin.SigninSource histogram with extra capabilities. https://docs.google.com/a/google.com/document/d/1-gXYAMXXgsJhk6jxO55RuYJ00JBGermevJZ0sIlk6ko/edit?usp=sharingusp=sharing contains details. BUG=532557 Review URL: https://codereview.chromium.org/1473543002 Cr-Commit-Position: refs/heads/master@{#363640}
* Add more components to "gn check"brettw2015-11-272-0/+10
| | | | | | | | | | | | | | | | | | | | | | omnibox search_engines search_provider_logos security_interstitials service_tab_launcher session_manager sessions signin ssl_config ssl_errors This also moves net/test/test_certificate_data.h from net_unittests to net_test_support in both the GYP and the GN builds, because it is being used in a bunch of places outside of net. TBR=dpranke (random GN) TBR=bnc (net) Review URL: https://codereview.chromium.org/1479093002 Cr-Commit-Position: refs/heads/master@{#362027}
* exposes the backoff information for gaia cookie manager and token service in ↵mahmadi2015-11-256-0/+59
| | | | | | | | | | signin-internals BUG=405038 Review URL: https://codereview.chromium.org/1441163002 Cr-Commit-Position: refs/heads/master@{#361723}
* Actually mark list accounts as stale while they're being fetched.bzanotti2015-11-242-2/+30
| | | | | | | | | | | | | GCMS::OnCookieChanged needs to always mark the list accounts as stale, even when they're being fetched. Otherwise, a call to GCMS::ListAccounts could return an invalid list if called right after GCMS::OnCookieChanged. BUG=558367 Review URL: https://codereview.chromium.org/1448983002 Cr-Commit-Position: refs/heads/master@{#361312}
* Run gn --format over all .gn filesagrieve2015-11-201-7/+7
| | | | | | | | | | | | | | | | The recent formatter alphebetizing change is causing a lot of noise in code reviews. Figured it'd be worth a clean-up CL. Exact command I ran: find . -name "*.gn*" -exec gn format --in-place "{}" \; TBR=ddorwin@chromium.org BUG=554928 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1464873002 Cr-Commit-Position: refs/heads/master@{#360891}
* Reland of This CL replaces e-mail with AccountId on user selection screen. ↵hcarmona2015-11-182-2/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1454153002/ ) Reason for revert: This did not fix issues, reverting the revert. Original issue's description: > Revert of This CL replaces e-mail with AccountId on user selection screen. (patchset #12 id:220001 of https://codereview.chromium.org/1440583002/ ) > > Reason for revert: > Suspecting this CL for introducing failures on Mac 10.10 Release (ATI) > > First failure: https://build.chromium.org/p/chromium.gpu/builders/Mac%2010.10%20Release%20%28ATI%29/builds/8148 > > Failing tests: > CastStreamingApiTestWithPixelOutput.EndToEnd > TabCaptureApiPixelTest.EndToEndThroughWebRTC > TabCaptureApiPixelTest.EndToEndWithoutRemoting > > Please update tests. > > Original issue's description: > > This CL replaces e-mail with AccountId on user selection screen. > > > > This CL replaces e-mail with serialized AccountId on user selection screen. > > It also adds simple AccountId Serialize/Deserialize methods suitable for > > passing AccountId to JS code. > > > > This is part of transition to AccountId. > > > > BUG=462823, 552034 > > TEST=manual > > > > Committed: https://crrev.com/1e24fe57a4ca921355bb1506f5a79627647a8c16 > > Cr-Commit-Position: refs/heads/master@{#360319} > > TBR=dzhioev@chromium.org,rogerta@chromium.org,stevenjb@chromium.org,oshima@chromium.org,alemate@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=462823, 552034 > > Committed: https://crrev.com/dede4c3836de2dddda5a484f098bba7152a6779b > Cr-Commit-Position: refs/heads/master@{#360369} TBR=dzhioev@chromium.org,rogerta@chromium.org,stevenjb@chromium.org,oshima@chromium.org,alemate@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=462823, 552034 Review URL: https://codereview.chromium.org/1455263002 Cr-Commit-Position: refs/heads/master@{#360423}