0
Files
src/docs
Victor Hugo Vianna Silva a0a7abb2db [Sync Model/Engine split] Move files to enforce DEPS hierarchy
CONTEXT:
This is the first in a chain of quite a few CLs to split
components/sync/model*/ and components/sync/engine*/ into separate
targets (spoiler alert: it compiles in the end!). The envisioned setup
for components/sync/ is:
- driver/ -> Control flow and general sync state.
- model/ -> Data flow, used to implement a new data type.
- engine/ -> Internal sync engine code. Driver & Model can depend on
on this, but not the other way around.

nigori/ caveat: Ideally, this would be just "one more data type",
implemented in nigori/ and depending on model/. However, encryption is
an important concept in the engine, which caused Nigori to become
tangled with the engine in non-trivial ways. What we propose for now is:
- As much code as possible stays in nigori/, which can depend on model/
and engine/ (at least for now).
- The code depended upon by the engine is moved to engine/nigori/ (new
directory with no build target). Over time, only general encryption
interfaces should remain there, possibly removing the subdirectory.

CHANGES IN THIS CL:

1) Modify DEPS files according to the described hierarchy.

2) Nigori files moved to engine/nigori.
- cryptographer.h
- keystore_keys_handler.h
- nigori.*

3) entity_data moved from model/ to engine/

It can't stay in model/ because it's heavily used by engine/. Putting
it in engine/ does seem to contradict our wish to hide engine/ from the
outside world, after all this file is necessary for other teams to
implement datatypes.
In truth, it should probably live lower than engine/ in the
dependency graph. Maybe protocol/, but there's not much precedent for
this. We argue that it's fine to have it in engine/ for now, since this
allows us to enforce model->engine via DEPS. Additionally, we wouldn't
be able to hide engine/ now anyway, there's other engine/ code used
outside of sync/.

TBR=sebsg@chromium.org

Bug: 947443
Change-Id: Ifb11db4577eb0fe0a19d93d55be8559d12dec1b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2652625
Commit-Queue: Victor Vianna <victorvianna@google.com>
Reviewed-by: sebsg <sebsg@chromium.org>
Reviewed-by: Maksim Moskvitin <mmoskvitin@google.com>
Reviewed-by: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#848648}
2021-01-29 19:25:24 +00:00
..
2020-10-08 22:56:59 +00:00
2020-11-30 23:05:36 +00:00
2020-10-08 22:56:59 +00:00
2020-11-11 03:17:50 +00:00
2021-01-11 23:31:35 +00:00
2020-10-08 22:56:59 +00:00
2020-10-08 22:56:59 +00:00
2020-09-09 20:57:05 +00:00
2020-12-02 16:55:28 +00:00
2019-12-19 22:06:19 +00:00
2020-12-10 00:39:39 +00:00
2020-10-08 22:56:59 +00:00
2020-09-09 20:57:05 +00:00
2020-10-08 22:56:59 +00:00
2019-12-19 20:54:32 +00:00
2020-04-27 05:34:34 +00:00
2020-08-25 15:27:28 +00:00
2020-08-25 17:15:12 +00:00
2021-01-19 07:27:09 +00:00

Chromium docs

This directory contains chromium project documentation in Gitiles-flavored Markdown. It is automatically rendered by Gitiles.

If you add new documents, please also add a link to them in the Document Index below.

[TOC]

Creating Documentation

Markdown documents must follow the style guide.

Preview local changes using md_browser:

# in chromium checkout
./tools/md_browser/md_browser.py

This is only an estimate. The gitiles view may differ.

  1. Upload a patch to gerrit, or receive a review request. e.g. https://chromium-review.googlesource.com/c/572236
  2. View a specific .md file. e.g. https://chromium-review.googlesource.com/c/572236/2/docs/README.md
  3. Click on gitiles link at top of page.

This gitiles view is the authoritative view, exactly the same as will be used when committed.

Document Index

Checking Out and Building

Design Docs

Integrated Development Environment (IDE) Set Up Guides

Git

Clang

General Development

Testing

Misc Linux-Specific Docs

Misc MacOS-Specific Docs

Misc Windows-Specific Docs

Misc Android-Specific Docs

Misc iOS-Specific Docs

Misc Chrome-OS-Specific Docs

Misc WebUI-Specific Docs

Media

Accessibility

Memory

Memory Infrastructure Timeline Profiling (MemoryInfra)

Metrics

Misc

Mojo & Services

Speed

  • Chrome Speed - Documentation for performance measurements and regressions in Chrome.
  • Chrome Speed Metrics - Documentation about user experience metrics in the web and their JavaScript APIs.

Probably Obsolete