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