New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update patches from Chromium 76.0.3809.87 to Chromium 77.0.3865.10 #3089
-
Update patches from Chromium 76.0.3809.87 to Chromium 77.0.3865.10
mkarolin committedJul 24, 2019 -
Process version shouldn't create a source set.
mkarolin committedJul 24, 2019 GN change disallows sources that aren't a source, header, or object file. We need to pass `process_only` flag to process_version to not create source_set out of the version file. GN change: https://gn.googlesource.com/gn/+/8730b0feb6b991fa47368566501ab9ccfb453c92 commit 8730b0feb6b991fa47368566501ab9ccfb453c92 author Tom Anderson <thomasanderson@chromium.org> Thu May 16 11:00:40 2019 -0700 committer Commit Bot <commit-bot@chromium.org> Thu May 16 21:36:50 2019 +0000 Disallow non-buildable sources in binary targets When adding a file that's not a source, header, or object file to a source_set, loadable_module, shared_library, executable, or static_library, gn will now generate an error like the following: ERROR at //third_party/protobuf/proto_library.gni:369:15: Only source, header, and object files belong in the sources of a source_set. //out/Test/pyproto/google_apis/gcm/protocol/mcs_pb2.py is not one of the valid types. sources = get_target_outputs(":$action_name") ^--------------------------------- See //google_apis/gcm/BUILD.gn:78:1: whence it was called. proto_library("proto") { ^----------------------- See //BUILD.gn:89:7: which caused the file to be included. "//google_apis/gcm:gcm_unit_tests", ^--------------------------------- BUG=77
-
Updated chrome_constants override with the changes in the original.
mkarolin committedJul 25, 2019 Chrominum changes: https://chromium.googlesource.com/chromium/src/+/b2720ad134127a6fdd35f92f44b5b2b946452c1b commit b2720ad134127a6fdd35f92f44b5b2b946452c1b author Nick Harper <nharper@chromium.org> Fri Jul 12 22:07:10 2019 committer Commit Bot <commit-bot@chromium.org> Fri Jul 12 22:07:10 2019 tree f850eb08e89e08373a37378fb43ea76064672a00 parent f070ecdf7436215ee672ff7b84a89f4eee90863c [diff] Remove Channel ID deletion code Bug: 903642, 975114 https://chromium.googlesource.com/chromium/src/+/d1d11f3957428a77097d49e5fb2971b873d11f5d commit d1d11f3957428a77097d49e5fb2971b873d11f5d [log] [tgz] author Xing Liu <xingliu@chromium.org> Tue Apr 30 21:09:55 2019 committer Commit Bot <commit-bot@chromium.org> Tue Apr 30 21:09:55 2019 tree d8778d132d6b3559a7c91fc12ff2873492e8b948 parent 5e42b1a0fb34030b2e78b6453977cf4801bff761 [diff] Notification scheduler: Plumb dependencies to glue class. This CL plumbs dependencies into scheduler glue class, and starts to connects several subsystems together. Tests will be added in following CLs to keep this CL smaller, and there are still many things not implemented in the glue layer yet. TBR=peter@chromium.org Bug: 930968
-
OmniboxInputType::INVALID was renamed to EMPTY.
mkarolin committedJul 25, 2019 Chromium change: https://chromium.googlesource.com/chromium/src/+/e31e15795d599fd8a53d04ed2bf8832e36fa0ead commit e31e15795d599fd8a53d04ed2bf8832e36fa0ead author Yue Ru Sun <yrsun@chromium.org> Fri Jul 19 17:09:57 2019 committer Commit Bot <commit-bot@chromium.org> Fri Jul 19 17:09:57 2019 tree b5d9b74dae9b156ce8c6abb4d635f8d84480ea88 parent fb39b07fe2369060544e7cadc86f82cba2e43bb8 [diff] Sync omnibox type proto change Field name has changed from INVALID to EMPTY in cl/255470920, this patch syncs that change and fix all occurrences. See https://bugs.chromium.org/p/chromium/issues/detail?id=983220 Bug: 983220
-
Updated HandleExternalProtocol signature in BraveContentBrowserClient.
mkarolin committedJul 31, 2019 Chromium change: https://chromium.googlesource.com/chromium/src/+/b6042ed37a482983111cdf1f9d0b09ffe972c309 commit b6042ed37a482983111cdf1f9d0b09ffe972c309 Author: Clark DuVall <cduvall@chromium.org> Date: Mon Jul 15 17:20:45 2019 +0000 Support HandleExternalProtocol on UI thread This allows HandleExternalProtocol to be used on the UI thread in android_webview. This is part of migrating the navigation loader to the UI thread. Bug: 824840
-
Updated signature of BraveExtensionsAPIClient::ShouldHideBrowserNetwo…
mkarolin committedJul 31, 2019 …rkRequest. Chromium change: https://chromium.googlesource.com/chromium/src/+/1d81619dbd351cb570943140bddac7a80559dd76 commit 1d81619dbd351cb570943140bddac7a80559dd76 Author: Clark DuVall <cduvall@chromium.org> Date: Fri Jul 19 19:54:42 2019 +0000 Move WebRequest to the UI thread Now that network service is launched, there is no reason to have WebRequest run on the IO thread. This moves all WebRequest code and the WebRequestProxyingURLLoaderFactory to the UI thread, which eliminates thread hops. For more info, see the Chrome IO Thread Simplification: Planning doc: https://docs.google.com/document/d/1fowGQ8xWBv4YqHj_YbK-S3wpmJQDE7L0-GwNR_vAkHE/edit# Change-Id: I5ba8954c5d91c98c96a66558ecb659b59ff4386c Bug: 980774
-
AddRestoredTab now takes a tab group param.
mkarolin committedJul 31, 2019 For Brave importer profile writer added a nullptr optional for tab group. Chromium change: https://chromium.googlesource.com/chromium/src/+/81999fd6a771e38cccc487364728ba91f5fc17f2 commit 81999fd6a771e38cccc487364728ba91f5fc17f2 Author: Collin Baker <collinbaker@chromium.org> Date: Wed Jun 5 23:12:27 2019 +0000 Save and restore tab groups This implements basic session restore functionality for tab groups. Currently, only whole browser session restore is supported; restoring a window or a tab from the history menu won't restore groups. Bug: 905491
-
content/public interfaces are no longer const.
mkarolin committedJul 31, 2019 Removed const from overrides. Chromium change: https://chromium.googlesource.com/chromium/src/+/4b4eed074e848347f5a5b07d4d4b3fd2f6e13820 commit 4b4eed074e848347f5a5b07d4d4b3fd2f6e13820 Author: Lucas Furukawa Gadani <lfg@chromium.org> Date: Tue Jun 4 23:12:04 2019 +0000 Remove const interfaces from content/public. Tbr: boliu@chromium.org, dvadym@chromium.org, bengr@chromium.org Bug: 908139
-
.idl files aren't allowed in GN sources.
mkarolin committedAug 2, 2019 GN change disallows sources that aren't a source, header, or object file. Changed chromium_src/BUILD.gn to use `midl` action for the google_update_idl.idl file and then list that action as a dep for `google_update` source_set. GN change: https://gn.googlesource.com/gn/+/8730b0feb6b991fa47368566501ab9ccfb453c92 commit 8730b0feb6b991fa47368566501ab9ccfb453c92 author Tom Anderson <thomasanderson@chromium.org> Thu May 16 11:00:40 2019 -0700 committer Commit Bot <commit-bot@chromium.org> Thu May 16 21:36:50 2019 +0000 Disallow non-buildable sources in binary targets When adding a file that's not a source, header, or object file to a source_set, loadable_module, shared_library, executable, or static_library, gn will now generate an error like the following: ERROR at //third_party/protobuf/proto_library.gni:369:15: Only source, header, and object files belong in the sources of a source_set. //out/Test/pyproto/google_apis/gcm/protocol/mcs_pb2.py is not one of the valid types. sources = get_target_outputs(":$action_name") ^--------------------------------- See //google_apis/gcm/BUILD.gn:78:1: whence it was called. proto_library("proto") { ^----------------------- See //BUILD.gn:89:7: which caused the file to be included. "//google_apis/gcm:gcm_unit_tests", ^--------------------------------- BUG=77 -
Readded code to get top document GURL in NavigationRequest.
mkarolin committedAug 2, 2019 We patch NavigationRequest::OnStartChecksComplete to call MaybeHideReferrer. One of the params to MaybeHideReferrer is top document GURL which was available in OnStartCheckComplete. The Chromium change below removed it. Added a chromium_src override that includes GetTopDocumentGURL function that containes the deleted functionality. Chromium change: https://chromium.googlesource.com/chromium/src/+/435bcb58bb2c75be8276f1dde69fc6c9891c45ba commit 435bcb58bb2c75be8276f1dde69fc6c9891c45ba Author: Lukasz Anforowicz <lukasza@chromium.org> Date: Fri Jul 12 20:50:06 2019 +0000 Store |initiator_origin| in FrameNavigationEntry. Changes in this CL ================== This CL: 1. Updates FrameNavigationEntry::UpdateEntry and FrameNavigationEntry's constructor so that they both take |const base::Optional<url::Origin>& initiator_origin| which gets stored in a new FrameNavigationEntry::initiator_origin_ field. 2. Updates callers of FNE::UpdateEntry and FNE's constructor to provide/propagate the initiator as needed. This includes adding an |initiator_origin| parameter to - NavigationEntryImpl's constructor - NavigationEntryImpl::AddOrUpdateFrameEntry - NavigationController::CreateNavigationEntry (the list above is not necessarily exhaustive/complete) 3. Uses the new |FrameNavigationEntry::initiator_origin()| from NavigationEntryImpl::ConstructCommonNavigationParams (which used to always provide |base::nullopt| initiator for history navigations - always treating them as browser-initiated, rather than replaying the original initiator). The changes above makes sure that the right Sec-Fetch-Site http request header is "replayed" during history navigations. The CL adds browser tests and WPT tests to cover the new, desired behavior. Follow-up changes ================= This CL does not: - Use |FrameNavigationEntry::initiator_origin()| in GetOriginForURLLoaderFactory in render_frame_host_impl.cc (this will be done in a follow-up CL at https://crrev.com/c/1672176) - Handle persisting |FrameNavigationEntry::initiator_origin()| for session restore (this is tracked in a separate https://crbug.com/976055). Bug: 946503
-
Moved start of Brave services to BraveBrowserMainExtraParts::PreMainM…
mkarolin committedAug 2, 2019 …essageLoopRun. We used to start a number of our services in BraveBrowserProcessImpl::ResourceDispatcherHostCreated, which was an override of BrowserProcessImpl. However the method was removed in the base class due to Chromium change to remove ChromeResourceDispatcherHostDelegate. Chromium change: https://chromium.googlesource.com/chromium/src/+/c098bc87fdf68370de521a35ade804d1d4ede9c2 commit c098bc87fdf68370de521a35ade804d1d4ede9c2 Author: John Abd-El-Malek <jam@chromium.org> Date: Fri May 31 19:33:55 2019 +0000 Remove ChromeResourceDispatcherHostDelegate as it's not used anymore. Bug: 934009
-
PrefProvider::is_incognito_ was renamed to off_the_record_.
mkarolin committedAug 2, 2019 Updated name in constructor of our override BravePrefProvider. Chromim change: https://chromium.googlesource.com/chromium/src/+/94c80d547af89125e18831420d57562117c8e348 commit 94c80d547af89125e18831420d57562117c8e348 Author: Ramin Halavati <rhalavati@chromium.org> Date: Tue Jun 4 06:13:36 2019 +0000 Replace incognito with off_the_record in ContentSettingsPref*. ContentSettingsPref and ContentSettingsPrefProfovider classes receive an |incognito| argument that actually triggers the off-the-record behavior and is not necessarily an incognito mode specifier. The argument and all related items are renamed to off_the_record to remove ambiguity. Bug: 968028
-
APISignature::ParseArgumentsToJSON signature change.
mkarolin committedAug 5, 2019 The method now returns a struct instrad of having mutliple out params. Chromium change: https://chromium.googlesource.com/chromium/src/+/4ed01619c8ae43d3a1ef1f8acd713aa6aaa3530b commit 4ed01619c8ae43d3a1ef1f8acd713aa6aaa3530b Author: Devlin Cronin <rdevlin.cronin@chromium.org> Date: Thu Jul 18 17:41:55 2019 +0000 [Extensions Bindings] Return a struct from APISignature parsing methods Make APISignature::ParseArgumentsToJSON(), APISignature::ParseArgumentsToV8(), and APISignature::ConvertArgumentsIgnoringSchema() return a struct containing the parse results, including arguments, error, and async response type (callback if one were provided). This will make it easier when we need to provide additional information about if a promise should be returned. No behavior change is expected. Bug: 978538
-
ComponentLoader ctor signature change.
mkarolin committedAug 5, 2019 Updated BraveComponentLoader to use the new constractor signature. Chromium change: https://chromium.googlesource.com/chromium/src/+/be1f920bfb7aa8094f4b89efc297dc32746876d6 commit be1f920bfb7aa8094f4b89efc297dc32746876d6 Author: Michael Giuffrida <michaelpg@chromium.org> Date: Wed Jun 5 22:36:18 2019 +0000 Don't add Kiosk Next Home app in normal sessions The Kiosk Next Home app should only be loaded in Kiosk Next Home sessions (using the pref as a proxy for this). Also removes unused local_state references. Bug: 937549
-
SimplifyHttpsIndicator feature is now on by default.
mkarolin committedAug 5, 2019 We were overriding base::GetFieldTrialParamValueByFeature function call in location_bar_model_impl.cc in chromium_src to force the experiment outcome to OmniboxFieldTrial::kSimplifyHttpsIndicatorParameterBothToLock. The feature is now on by default and the behavior is the same as what we were forcing. Removed the no longer needed override. Chromium change: https://chromium.googlesource.com/chromium/src/+/c26ef30d0961cbcdf2a226792922d73e6a1fc59f commit c26ef30d0961cbcdf2a226792922d73e6a1fc59f Author: Christopher Thompson <cthomp@chromium.org> Date: Fri Jun 7 01:55:45 2019 +0000 Enable SimplifyHttpsIndicator feature by default This also cleans up the various old conditions, keeping the feature flag as a simple binary flag (enabled = lock-only). Also updates tests and removes the console warning and testing config. Bug: 803138
-
Removed Win10 specific welcome UI flow.
mkarolin committedAug 6, 2019 This flow has been removed from Chromium. Chromium changes: https://bugs.chromium.org/p/chromium/issues/detail?id=956680 https://chromium.googlesource.com/chromium/src/+/afd6d11e54a3682cf1e4d0476e598eb234488246 commit afd6d11e54a3682cf1e4d0476e598eb234488246 Author: Hector Carmona <hcarmona@chromium.org> Date: Mon Jun 24 21:07:42 2019 +0000 Navi: Delete entry point for showing chrome://welcome-win10 Bug: 956680 https://chromium.googlesource.com/chromium/src/+/9359944557ddce6a63516df681eb38e0a70829df commit 9359944557ddce6a63516df681eb38e0a70829df Author: Hector Carmona <hcarmona@chromium.org> Date: Wed Jun 26 17:56:25 2019 +0000 Navi: Deprecate kHasSeenWin10PromoPage pref. Bug: 956680
-
mkarolin committed
Aug 6, 2019 signin_pref_names.h is now in components/signin/public/base/. Chromium change: https://chromium.googlesource.com/chromium/src/+/3517170ea99d55a43b030a55409ddc300846d0f9 commit 3517170ea99d55a43b030a55409ddc300846d0f9 Author: Colin Blundell <blundell@chromium.org> Date: Thu Jul 11 08:16:34 2019 +0000 Signin: Restructure //components/signin/core/browser:shared This CL moves the files that are currently in the //components/signin/core/browser:shared GN target into the structure described in this document: https://docs.google.com/document/d/1p_kahITGFgv7PehQ61-thRVR3Hrdaf3tLryMytTRPYs/edit# Namely, files intended for usage by the entire signin component and its consumers are moved into a new //signin/public/base/ directory. Files that are conceptually part of the IdentityManager public interface are moved into //signin/public/identity_manager/. This change was done in two parts: 1. A script that did the code moves and corresponding renames, include path changes, etc. 2. Manual followup that changed GN files and DEPS to reflect the new structure. For ease of reviewing, I uploaded 1 as the original PS and 2 as PS2. TBR=jochen@chromium.org Bug: 952788
-
Use base::Contains instead of ContainsKey.
mkarolin committedAug 6, 2019 ContainsKey/Value have been removed. Chromium change: https://chromium.googlesource.com/chromium/src/+/73c901e63c6f2c1cfab306f4c4873bb30bfba651 commit 73c901e63c6f2c1cfab306f4c4873bb30bfba651 Author: Jan Wilken Dörrie <jdoerrie@chromium.org> Date: Wed Jun 12 09:02:32 2019 +0000 [base] Remove base::Contains{Key,Value} This change removes base::ContainsKey() and base::ContainsValue() from the codebase. In addition, it migrates remaining usages of these methods to using base::Contains instead. These usages were not caught by the search and replace CLs, because they either were added afterwards, or were unqualified and used ADL. TBR=rockot@google.com,blundell@chromium.org Bug: 970209
-
IOThread class has been removed.
mkarolin committedAug 6, 2019 Chromium change: https://chromium.googlesource.com/chromium/src/+/89a5f3ab57a994cd2652c45475c4b83895a40a94 commit 89a5f3ab57a994cd2652c45475c4b83895a40a94 Author: John Abd-El-Malek <jam@chromium.org> Date: Fri Jun 14 18:21:53 2019 +0000 Remove IOThread class as it's not needed anymore. Bug: 934009
-
Fixes compilation of brave_actions_container.h
mkarolin committedAug 6, 2019 -
views::BoxLayout orientation is now a class enum.
mkarolin committedAug 6, 2019 Chromium change: https://chromium.googlesource.com/chromium/src/+/5b9e43d976aca377588875fc59c5348ede02a8b5 commit 5b9e43d976aca377588875fc59c5348ede02a8b5 Author: Hwanseung Lee <hs1217.lee@samsung.com> Date: Tue Jun 25 01:55:32 2019 +0000 Convert enum to enum class for BoxLayout::Orientation Use enum class instead of enum for BoxLayout::Orientation enum class is more type safety. Bug: 940736
-
Fixes RenderViewContextMenu override compilation.
mkarolin committedAug 6, 2019 Removed unnecessary spellcheck/os build flags checks. The flag was causing the include not to happen due to a this change: https://chromium.googlesource.com/chromium/src/+/de74ce301c50fd3a4815faff207c9592416eb337 commit de74ce301c50fd3a4815faff207c9592416eb337 Author: Siye Liu <siliu@microsoft.com> Date: Thu Jun 20 20:44:43 2019 +0000 windows spellchecker integration. This CL aims to implement windows spellchecker integration in Chromium project, so that user can switch to use windows spellchecker or hunspell spellchecker at run time. We need to implement platform agnostic interfaces to integrate windows spellchecker into Chromium. We also need to refactor some code to enable runtime switch between Windows spellchecker and hunspell spellchecker. We have outlines following steps to achieve the goal: (1) Implement spellcheck_platform interface. spellcheck_platform is an interface that platform-specific spellchecker needs to implement. Create spellcheck_platform_win.cc which contains Windows specific logic. All COM calls are happeninn on the background thread. spellcheck_platform API are all async. (2) Refactor SpellCheckHostChromeImpl. SpellCheckHostChromeImpl is a derived class from SpellCheckHost which provides basic spellcheck support. Mac has separate implementation located at spell_check_host_chrome_impl_mac.cc. Windows can share the same implementation, therefore, I move the code to the base derived class at spellcheck_host_chrome_impl.cc and delete mac specific file. (3) Refactor SpellingRequest. SpellingRequest is owned by SpellCheckHostChromeImpl and is currently located at spell_check_host_chrome_impl_mac.cc file. Created seperate files spelling_request.h and spelling_request.cc for defination and declaration of SpellingRequest. (4) Refactor CreateNativeSpellingEngine(). CreateNativeSpellingEngine() used to live in seperate files for different spellcheckers. For platform specific spellchecker, it is located at platform_spelling_engine.cc. For hunspell spellchecker, it is located at hunspell_engine.cc. In order to enable runtime switch between those two spellcheck services, We need to have a uniformed definiation. Therefore, I create a new fine spelling_engine.cc base class and put a uniformed defination of CreateNativeSpellingEngine(). (5) Define USE_RENDERER_SPELLCHECKER build flag We already have USE_BROWSER_SPELLCHECKER build flag. The decision to use platform specific spellcheck or hunspell spellcheck is made at build time. It's not the case anymore. We want to switch between spellcheck services at runtime. use browser spellcheck (platform specific spellcheck) and use renderer spellcheck (hunspll spellcheck) are no longer mutually exclusive. I created USE_RENDERER_SPELLCHECKER build flag to indicate usage of hunspell spellcheck service. (6) create feature flag kWinUseBrowserSpellChecker. In order to enable runtime switch between two spellcheck services. We need to have a feature flag to indicate which spellcheck services to use. I created kWinUseBrowserSpellChecker. The flag only has effect on Windows. (7) Create spellcheck::UseBrowserSpellChecker() In order to enable runtime switch between platform specific spellcheck and hunspell spellcheck, we need a runtime check instead of build time check. I created a runtime check an put it in file spellcheck_features.cc. For Windows, the method will check for feature flag kWinUseBrowserSpellChecker to determine which spellcheck service to use. On all other platforms, it will return build time flag. After these steps, we enabled Windows Spellcheck Services integration and also achieved runtime switch between platform spellchecker and hunspell spellchecker for windows platform. Bug: 463364
-
BookmarkChangeProcessor overrides now use size_t.
mkarolin committedAug 6, 2019 Chromium change: https://chromium.googlesource.com/chromium/src/+/8cf4c23ebbd773240f207a8996941bd0343bd849 commit 8cf4c23ebbd773240f207a8996941bd0343bd849 Author: Peter Kasting <pkasting@chromium.org> Date: Thu Jun 6 00:38:30 2019 +0000 Convert TreeNode{Model} Add/Remove functions to use size_t. This will make it more feasible to replace child_count() with children().size(). This has a large number of followon effects. Bug: 956419
-
BookmarkNode::set_type was removed.
mkarolin committedAug 5, 2019 Type is now passed as a constructor param to BookmarkPermanentNode, so updated our subclass to do the same. Added BraveBookmarkNode class that subclasses BookmarkNode and takes Type as a parameter so that we can construct BookmarkNode of types other than URL and FOLDER. Chromium change: https://chromium.googlesource.com/chromium/src/+/91f0b53ac9a6a8ba83be403ed5937598fbb2cb2d commit 91f0b53ac9a6a8ba83be403ed5937598fbb2cb2d Author: Pauline Leitao <psivieroleitao@google.com> Date: Tue Jul 9 10:13:54 2019 +0000 Make BookmarkNode type immutable BookmarkNode types are currently mutable and either set with a set_type() method or inferred from URL validity. This CL changes this set-up so that type is defined within the constructor and remains unchanged throughout the existence of the BookmarkNode. This is not only more coherent with the concept of type itself, but also removes the redundancy of calling set_type() after having instantiated a BookmarkNode whose type was already automatically set to the same thing. It also rectifies certain incoherences within other parts of the code, such as the need to re-set permanent node types after decoding them, which had previously caused the BookmarkNode type to be changed to Folder. Objectively, this CL does the following: 1. Changed the main BookmarkNode constructor to take in a type instead of calculating it internally. 2. Changed helper BookmarkNode constructors that take in less parameters to compute node type within them based on URL validity. 3. Additional helper BookmarkNode constructors were added to allow for the creation of nodes with explicit type but not every other parameter. 4. Changed the BookmarkPermanentNode constructor to always take in a type instead of inferring it from other pieces of information. Bug: 980301
-
-
TreeNode::GetChild and child_count were removed.
mkarolin committedAug 7, 2019 Updated bookmark_change_processor to use children()[] and children().size() instead. Updated relevant code to use size_t instead of int. Chromium changes: https://chromium.googlesource.com/chromium/src/+/5174590b09badcd86c14d322266039782e94a532 commit 5174590b09badcd86c14d322266039782e94a532 Author: Peter Kasting <pkasting@chromium.org> Date: Fri Jun 28 21:54:55 2019 +0000 Remove TreeNode::GetChild(). Bug: 956419 https://chromium.googlesource.com/chromium/src/+/b0d21f299ba5fd0c51c26f1f440fb1a006fc4753 commit b0d21f299ba5fd0c51c26f1f440fb1a006fc4753 Author: Peter Kasting <pkasting@chromium.org> Date: Tue Jun 25 00:26:16 2019 +0000 Remove instances of TreeNode::child_count(). Bug: 956419