1cb93a386Sopenharmony_ci
2cb93a386Sopenharmony_ci---
3cb93a386Sopenharmony_cititle: "Chrome changes"
4cb93a386Sopenharmony_cilinkTitle: "Chrome changes"
5cb93a386Sopenharmony_ci
6cb93a386Sopenharmony_ci---
7cb93a386Sopenharmony_ci
8cb93a386Sopenharmony_ci
9cb93a386Sopenharmony_ciIf your change modifies the Skia API, you may also need to land a change in Chromium.
10cb93a386Sopenharmony_ci
11cb93a386Sopenharmony_ciThe strategy you use to synchronize changes in the Skia and Chromium
12cb93a386Sopenharmony_cirepositories may differ based on the nature of the change, but in general, we
13cb93a386Sopenharmony_cirecommend using build flag suppressions \(defines\)\.
14cb93a386Sopenharmony_ciWe also prefer making the old code path opt-in where possible.
15cb93a386Sopenharmony_ci
16cb93a386Sopenharmony_ciMethod 1 \(preferred\) \- Make the old code path opt\-in for Chromium
17cb93a386Sopenharmony_ci
18cb93a386Sopenharmony_ci  * Add new code to Skia, leaving the old code in place.
19cb93a386Sopenharmony_ci  * Deprecate the old code path so that it must be enabled with a flag such as
20cb93a386Sopenharmony_ci    'SK_SUPPORT_LEGACY_XXX'.
21cb93a386Sopenharmony_ci  * Synchronize the above changes in Skia with a Chromium commit to
22cb93a386Sopenharmony_ci    'skia/skia_common.gypi' or 'skia/config/SkUserConfig.h' to enable the
23cb93a386Sopenharmony_ci    deprecated Skia API.
24cb93a386Sopenharmony_ci      * Note that the code suppression cannot exist in both the header file and
25cb93a386Sopenharmony_ci      the gyp file, it should only reside in one location.
26cb93a386Sopenharmony_ci  * Test the new or updated Skia API within Chromium.
27cb93a386Sopenharmony_ci  * Remove the flag and code when the legacy code path is no longer in use.
28cb93a386Sopenharmony_ci
29cb93a386Sopenharmony_ciMethod 2 \- Make the new code path opt\-in for Chromium
30cb93a386Sopenharmony_ci
31cb93a386Sopenharmony_ci  * Add new code to Skia, suppressed by a flag.
32cb93a386Sopenharmony_ci  * Leave the old code path in place.
33cb93a386Sopenharmony_ci  * Set the flag in Chromium's 'skia/skia_common.gypi' or
34cb93a386Sopenharmony_ci    'skia/config/SkUserConfig.h' to enable the new or updated Skia API.
35cb93a386Sopenharmony_ci  * Test the new or updated Skia API within Chromium.
36cb93a386Sopenharmony_ci  * Remove the code suppression \(and code\) when the legacy API is no longer
37cb93a386Sopenharmony_ci    in use.
38cb93a386Sopenharmony_ci
39cb93a386Sopenharmony_ciIf your changes will affect Blink layout tests, see detailed instructions about
40cb93a386Sopenharmony_cihow to synchronize the changes between Skia, Blink, and Chromium [here](../blink).
41cb93a386Sopenharmony_ci
42