New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 673883 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

[USS] Revamp USS error handling using ModelError

Project Member Reported by maxbogue@chromium.org, Dec 13 2016

Issue description

Bridges have access to the processor, which implements SyncErrorFactory but not DataTypeErrorHandler, so they don't actually have a way to report errors back to sync. A concrete example of the issue can be seen in DeviceInfoSyncBridge::OnCommit(), where it is clearly failing to inform sync of a serious error:

https://cs.chromium.org/chromium/src/components/sync/device_info/device_info_sync_bridge.cc?l=388

USS should get a new way of handling errors: a ModelError object that's significantly simpler than SyncError, and a ReportError method on the processor.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jan 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/04ada5a89fbd87369e96d434aa39aee90d20809c

commit 04ada5a89fbd87369e96d434aa39aee90d20809c
Author: maxbogue <maxbogue@chromium.org>
Date: Mon Jan 09 23:35:22 2017

[Sync] Introduce ModelError for USS error handling.

SyncError is confusing to use in model code, because it has features
(error type and model type) that are only needed for inner sync
machinery. This change introduces the simplified ModelError, which only
has a location and a message. If the need arises, it could also get an
error type/desired recovery action value as well, but I'm doubtful
that's necessary and I'm sure we can make something clearer than
SyncError's.

- SyncError replaced by ModelError everywhere below the processor.
- SMTP no longer implements SyncErrorFactory and now just has a
  ReportError method (with one convenience overload).
- SMTP now expects ReportError to be called instead of having error
  objects as callback parameters. This streamlines error handling quite
  a bit.
- Added error handling for Get(All)Data in AutocompleteSyncBridge.

I plan to convert everything between the processor and the controller to
use ModelError in a followup CL.

BUG= 673883 

Review-Url: https://codereview.chromium.org/2618483003
Cr-Commit-Position: refs/heads/master@{#442401}

[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/chrome/browser/sync/test/integration/two_client_uss_sync_test.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/autofill/core/browser/webdata/autocomplete_sync_bridge.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/autofill/core/browser/webdata/autocomplete_sync_bridge.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/autofill/core/browser/webdata/autocomplete_sync_bridge_unittest.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/reading_list/ios/reading_list_model_unittest.mm
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/reading_list/ios/reading_list_store.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/reading_list/ios/reading_list_store.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/reading_list/ios/reading_list_store_unittest.mm
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/BUILD.gn
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/device_info/device_info_sync_bridge.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/device_info/device_info_sync_bridge.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/device_info/device_info_sync_bridge_unittest.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/fake_model_type_change_processor.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/fake_model_type_change_processor.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/fake_model_type_sync_bridge.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/fake_model_type_sync_bridge.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/mock_model_type_store.cc
[add] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/model_error.cc
[add] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/model_error.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/model_type_change_processor.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/model_type_debug_info.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/model_type_debug_info.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/model_type_store.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/model_type_sync_bridge.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/model_type_sync_bridge.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/model_type_sync_bridge_unittest.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/stub_model_type_sync_bridge.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model/stub_model_type_sync_bridge.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model_impl/model_type_store_impl.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model_impl/model_type_store_impl.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model_impl/model_type_store_impl_unittest.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model_impl/shared_model_type_processor.cc
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model_impl/shared_model_type_processor.h
[modify] https://crrev.com/04ada5a89fbd87369e96d434aa39aee90d20809c/components/sync/model_impl/shared_model_type_processor_unittest.cc

Description: Show this description
Summary: [USS] Revamp USS error handling using ModelError (was: [USS] ModelTypeSyncBridge has no way to report errors)
Project Member

Comment 4 by bugdroid1@chromium.org, Jan 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8c8dd627152d4ff7704addbea1c769a56307a7c7

commit 8c8dd627152d4ff7704addbea1c769a56307a7c7
Author: maxbogue <maxbogue@chromium.org>
Date: Tue Jan 10 03:30:33 2017

[Sync] Use ModelError all the way through to ModelTypeController.

ModelError is a simplified error object for use with USS types. This
change replaces all uses of SyncError between the
SharedModelTypeProcessor and the ModelTypeController with ModelError,
so the translation to SyncError happens only when it needs to and not
before, keeping the code simpler and cleaner.

BUG= 673883 

Review-Url: https://codereview.chromium.org/2620773002
Cr-Commit-Position: refs/heads/master@{#442466}

[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/driver/data_type_controller.h
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/driver/directory_data_type_controller.h
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/driver/model_type_controller.cc
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/driver/model_type_controller.h
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/driver/model_type_controller_unittest.cc
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/driver/proxy_data_type_controller.cc
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/driver/proxy_data_type_controller.h
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/model/fake_model_type_change_processor.cc
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/model/fake_model_type_change_processor.h
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/model/model_error.h
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/model/model_type_change_processor.h
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/model/model_type_sync_bridge.cc
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/model/model_type_sync_bridge.h
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/model/model_type_sync_bridge_unittest.cc
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/model_impl/shared_model_type_processor.cc
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/model_impl/shared_model_type_processor.h
[modify] https://crrev.com/8c8dd627152d4ff7704addbea1c769a56307a7c7/components/sync/model_impl/shared_model_type_processor_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jan 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2956e8ee01c51ffab5e2749e8b670855c8d11d99

commit 2956e8ee01c51ffab5e2749e8b670855c8d11d99
Author: maxbogue <maxbogue@chromium.org>
Date: Tue Jan 10 19:45:16 2017

[Sync] Remove ModelError::IsSet() in favor of base::Optional.

This is more idiomatic and cleaner.

BUG= 673883 

Review-Url: https://codereview.chromium.org/2623723002
Cr-Commit-Position: refs/heads/master@{#442661}

[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/chrome/browser/sync/test/integration/two_client_uss_sync_test.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/autofill/core/browser/webdata/autocomplete_sync_bridge.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/autofill/core/browser/webdata/autocomplete_sync_bridge.h
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/reading_list/ios/reading_list_model_unittest.mm
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/reading_list/ios/reading_list_store.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/reading_list/ios/reading_list_store.h
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/reading_list/ios/reading_list_store_unittest.mm
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/device_info/device_info_sync_bridge.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/device_info/device_info_sync_bridge.h
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/device_info/device_info_sync_bridge_unittest.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/driver/model_type_controller.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model/fake_model_type_sync_bridge.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model/fake_model_type_sync_bridge.h
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model/mock_model_type_store.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model/model_error.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model/model_error.h
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model/model_type_store.h
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model/model_type_sync_bridge.h
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model/stub_model_type_sync_bridge.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model/stub_model_type_sync_bridge.h
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model_impl/model_type_store_impl.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model_impl/model_type_store_impl_unittest.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model_impl/shared_model_type_processor.cc
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model_impl/shared_model_type_processor.h
[modify] https://crrev.com/2956e8ee01c51ffab5e2749e8b670855c8d11d99/components/sync/model_impl/shared_model_type_processor_unittest.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Jan 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/892aca45f80c04a7139ab07c7b1c9b9dd8349eec

commit 892aca45f80c04a7139ab07c7b1c9b9dd8349eec
Author: maxbogue <maxbogue@chromium.org>
Date: Tue Jan 10 22:13:58 2017

[Sync] Fail softly in SMTP if an error occurs during startup.

This is a quick fix to stop crashes; I'll do a more robust change in a
followup.

BUG=679657, 673883 

Review-Url: https://codereview.chromium.org/2621923004
Cr-Commit-Position: refs/heads/master@{#442707}

[modify] https://crrev.com/892aca45f80c04a7139ab07c7b1c9b9dd8349eec/components/sync/model_impl/shared_model_type_processor.cc
[modify] https://crrev.com/892aca45f80c04a7139ab07c7b1c9b9dd8349eec/components/sync/model_impl/shared_model_type_processor_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cd717e257a1933d2f8ee61850407db7332093e6a

commit cd717e257a1933d2f8ee61850407db7332093e6a
Author: maxbogue <maxbogue@chromium.org>
Date: Wed Jan 11 19:28:20 2017

[Sync] Don't call start_callback_ if null in SMTP.

Still lost as to why it would be null, but this should stop crashes.

BUG=679657, 673883 

Review-Url: https://codereview.chromium.org/2622223003
Cr-Commit-Position: refs/heads/master@{#442978}

[modify] https://crrev.com/cd717e257a1933d2f8ee61850407db7332093e6a/components/sync/model_impl/shared_model_type_processor.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d462fc419f40c24915a6c32cea50ecb3c5273f65

commit d462fc419f40c24915a6c32cea50ecb3c5273f65
Author: maxbogue <maxbogue@chromium.org>
Date: Thu Jan 19 00:22:03 2017

[Sync] Clean up SMTP startup flow.

- start_error_ renamed model_error_, is always set on error, never
  cleared, and is the permanent indicator that the model is in an
  error state.
- ConnectIfReady now no-ops if called more than once. This could
  happen if the get pending data callback was called synchronously
  and was the source of the crash in 679657.
- Regression test added for the above issue.
- std::move() the key lists for GetData calls for efficiency.
- Cleaned up DCHECKS a bit and used ASSERT or EXPECT in tests instead.
- Remove EntityMap and UpdateMap typedefs in the SMTP header.

BUG= 673883 ,679657

Review-Url: https://codereview.chromium.org/2642493003
Cr-Commit-Position: refs/heads/master@{#444561}

[modify] https://crrev.com/d462fc419f40c24915a6c32cea50ecb3c5273f65/components/sync/model_impl/shared_model_type_processor.cc
[modify] https://crrev.com/d462fc419f40c24915a6c32cea50ecb3c5273f65/components/sync/model_impl/shared_model_type_processor.h
[modify] https://crrev.com/d462fc419f40c24915a6c32cea50ecb3c5273f65/components/sync/model_impl/shared_model_type_processor_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f

commit 5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f
Author: maxbogue <maxbogue@chromium.org>
Date: Fri Jan 20 19:17:57 2017

[Sync] Make SMTP always have the dump stack function.

Previously this was threaded through ModelTypeController, which is bad
because it meant we uploaded completely useless stacks for any errors
in the model code that occurred prior to sync starting up.

Now the function is curried directly into the processor factory
function, so we always have access to it.

BUG= 673883 ,680093

Review-Url: https://codereview.chromium.org/2639393002
Cr-Commit-Position: refs/heads/master@{#445122}

[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/chrome/browser/sync/test/integration/two_client_uss_sync_test.cc
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/autofill/core/browser/webdata/autocomplete_sync_bridge.cc
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/browser_sync/profile_sync_components_factory_impl.cc
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/browser_sync/profile_sync_service.cc
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/reading_list/ios/reading_list_model_unittest.mm
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/driver/data_type_controller.cc
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/driver/data_type_controller.h
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/driver/directory_data_type_controller.cc
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/driver/directory_data_type_controller.h
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/driver/model_type_controller.cc
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/driver/model_type_controller.h
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/driver/model_type_controller_unittest.cc
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/driver/proxy_data_type_controller.cc
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/model/model_type_change_processor.cc
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/model/model_type_change_processor.h
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/model/model_type_sync_bridge.h
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/model_impl/shared_model_type_processor.cc
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/model_impl/shared_model_type_processor.h
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/components/sync/model_impl/shared_model_type_processor_unittest.cc
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/ios/chrome/browser/reading_list/BUILD.gn
[modify] https://crrev.com/5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f/ios/chrome/browser/reading_list/reading_list_model_factory.cc

Status: Fixed (was: Assigned)
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 23 2017

Labels: merge-merged-2987
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e696d653aaf7f2797335f773715711270a0b1b0a

commit e696d653aaf7f2797335f773715711270a0b1b0a
Author: Max Bogue <maxbogue@chromium.org>
Date: Mon Jan 23 18:22:48 2017

[Sync] Make SMTP always have the dump stack function.

Previously this was threaded through ModelTypeController, which is bad
because it meant we uploaded completely useless stacks for any errors
in the model code that occurred prior to sync starting up.

Now the function is curried directly into the processor factory
function, so we always have access to it.

BUG= 673883 ,680093

Review-Url: https://codereview.chromium.org/2639393002
Cr-Commit-Position: refs/heads/master@{#445122}
(cherry picked from commit 5f90a97e73ca55f5bbe2fd23fc67da6c3c92010f)

Review-Url: https://codereview.chromium.org/2650643004 .
Cr-Commit-Position: refs/branch-heads/2987@{#28}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/chrome/browser/sync/test/integration/two_client_uss_sync_test.cc
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/autofill/core/browser/webdata/autocomplete_sync_bridge.cc
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/browser_sync/profile_sync_components_factory_impl.cc
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/browser_sync/profile_sync_service.cc
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/reading_list/ios/reading_list_model_unittest.mm
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/driver/data_type_controller.cc
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/driver/data_type_controller.h
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/driver/directory_data_type_controller.cc
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/driver/directory_data_type_controller.h
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/driver/model_type_controller.cc
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/driver/model_type_controller.h
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/driver/model_type_controller_unittest.cc
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/driver/proxy_data_type_controller.cc
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/model/model_type_change_processor.cc
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/model/model_type_change_processor.h
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/model/model_type_sync_bridge.h
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/model_impl/shared_model_type_processor.cc
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/model_impl/shared_model_type_processor.h
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/components/sync/model_impl/shared_model_type_processor_unittest.cc
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/ios/chrome/browser/reading_list/BUILD.gn
[modify] https://crrev.com/e696d653aaf7f2797335f773715711270a0b1b0a/ios/chrome/browser/reading_list/reading_list_model_factory.cc

Sign in to add a comment