| Index: chrome/android/chrome_apk.gyp
 | 
| diff --git a/chrome/android/chrome_apk.gyp b/chrome/android/chrome_apk.gyp
 | 
| index b291bfce87b157f80a1243ae7279e563e66ba19b..636601308b945b40f94a95387489987df51e5fc2 100644
 | 
| --- a/chrome/android/chrome_apk.gyp
 | 
| +++ b/chrome/android/chrome_apk.gyp
 | 
| @@ -10,11 +10,8 @@
 | 
|      'chromium_code': 1,
 | 
|      'package_name': 'chrome_public_apk',
 | 
|      'manifest_package': 'org.chromium.chrome',
 | 
| -    'sync_shell_manifest_package': 'org.chromium.chrome.sync_shell',
 | 
|      'chrome_public_apk_manifest': '<(SHARED_INTERMEDIATE_DIR)/chrome_public_apk_manifest/AndroidManifest.xml',
 | 
|      'chrome_public_test_apk_manifest': '<(SHARED_INTERMEDIATE_DIR)/chrome_public_test_apk_manifest/AndroidManifest.xml',
 | 
| -    'chrome_sync_shell_apk_manifest': '<(SHARED_INTERMEDIATE_DIR)/chrome_sync_shell_apk_manifest/AndroidManifest.xml',
 | 
| -    'chrome_sync_shell_test_apk_manifest': '<(SHARED_INTERMEDIATE_DIR)/chrome_sync_shell_test_apk_manifest/AndroidManifest.xml',
 | 
|      # This list is shared with GN.
 | 
|      # Defines a list of source files should be present in the open-source
 | 
|      # chrome-apk but not in the published static_library which is included in the
 | 
| @@ -63,46 +60,23 @@
 | 
|        'includes': [ '../../build/android/jinja_template.gypi' ],
 | 
|      },
 | 
|      {
 | 
| -      # TODO(pvalenzuela): Implement this target with GN:
 | 
| -      # http://crbug.com/475612
 | 
| -      'target_name': 'chrome_sync_shell_template_resources',
 | 
| -      'type': 'none',
 | 
| -      'variables': {
 | 
| -        'jinja_inputs_base_dir': 'java/res_template',
 | 
| -        'jinja_inputs': [
 | 
| -          '<(jinja_inputs_base_dir)/xml/searchable.xml',
 | 
| -          '<(jinja_inputs_base_dir)/xml/syncadapter.xml',
 | 
| -        ],
 | 
| -        'jinja_outputs_zip': '<(PRODUCT_DIR)/res.java/<(_target_name).zip',
 | 
| -        'jinja_variables': [
 | 
| -          'manifest_package=<(sync_shell_manifest_package)',
 | 
| -        ],
 | 
| -      },
 | 
| -      'all_dependent_settings': {
 | 
| -        'variables': {
 | 
| -          'additional_input_paths': ['<(jinja_outputs_zip)'],
 | 
| -          'dependencies_res_zip_paths': ['<(jinja_outputs_zip)'],
 | 
| -        },
 | 
| -      },
 | 
| -      'includes': [ '../../build/android/jinja_template.gypi' ],
 | 
| -    },
 | 
| -    {
 | 
| -      # The base library used in both ChromePublic and ChromeSyncShell.
 | 
| -      'target_name': 'libchrome_public_base',
 | 
| -      'type': 'none',
 | 
| +      # GN: //chrome/android:chrome_public
 | 
| +      'target_name': 'libchrome_public',
 | 
| +      'type': 'shared_library',
 | 
|        'dependencies': [
 | 
|          '../../chrome/chrome.gyp:chrome_android_core',
 | 
|        ],
 | 
|        'include_dirs': [
 | 
|          '../..',
 | 
|        ],
 | 
| -      'direct_dependent_settings': {
 | 
| -        'ldflags': [
 | 
| -          # Some android targets still depend on --gc-sections to link.
 | 
| -          # TODO: remove --gc-sections for Debug builds (crbug.com/159847).
 | 
| -          '-Wl,--gc-sections',
 | 
| -        ],
 | 
| -      },
 | 
| +      'sources': [
 | 
| +        '<@(chrome_public_app_native_sources)',
 | 
| +      ],
 | 
| +      'ldflags': [
 | 
| +        # Some android targets still depend on --gc-sections to link.
 | 
| +        # TODO: remove --gc-sections for Debug builds (crbug.com/159847).
 | 
| +        '-Wl,--gc-sections',
 | 
| +      ],
 | 
|        'conditions': [
 | 
|          # TODO(yfriedman): move this DEP to chrome_android_core to be shared
 | 
|          # between internal/external.
 | 
| @@ -128,34 +102,6 @@
 | 
|        ],
 | 
|      },
 | 
|      {
 | 
| -      # GN: //chrome/android:chrome_public
 | 
| -      'target_name': 'libchrome_public',
 | 
| -      'type': 'shared_library',
 | 
| -      'sources': [
 | 
| -        '<@(chrome_public_app_native_sources)',
 | 
| -      ],
 | 
| -      'dependencies': [
 | 
| -        'libchrome_public_base',
 | 
| -      ],
 | 
| -    },
 | 
| -    {
 | 
| -      # TODO(pvalenzuela): Implement this target with GN:
 | 
| -      # http://crbug.com/475612
 | 
| -      'target_name': 'libchrome_sync_shell',
 | 
| -      'type': 'shared_library',
 | 
| -      'sources': [
 | 
| -        '../browser/android/chrome_entry_point.cc',
 | 
| -        '../browser/android/chrome_sync_shell_main_delegate_initializer.cc',
 | 
| -        '../browser/android/chrome_sync_shell_main_delegate.h',
 | 
| -        '../browser/android/chrome_sync_shell_main_delegate.cc',
 | 
| -      ],
 | 
| -      'dependencies': [
 | 
| -        'libchrome_public_base',
 | 
| -        '../../sync/sync.gyp:sync',
 | 
| -        '../../sync/sync.gyp:test_support_sync_fake_server_android',
 | 
| -      ],
 | 
| -    },
 | 
| -    {
 | 
|        # GN: //chrome/android:chrome_public_apk_manifest
 | 
|        'target_name': 'chrome_public_manifest',
 | 
|        'type': 'none',
 | 
| @@ -166,24 +112,6 @@
 | 
|            'channel=<(android_channel)',
 | 
|            'configuration_policy=<(configuration_policy)',
 | 
|            'manifest_package=<(manifest_package)',
 | 
| -          'min_sdk_version=16',
 | 
| -          'target_sdk_version=22',
 | 
| -        ],
 | 
| -      },
 | 
| -      'includes': [ '../../build/android/jinja_template.gypi' ],
 | 
| -    },
 | 
| -    {
 | 
| -      # TODO(pvalenzuela): Implement this target with GN:
 | 
| -      # http://crbug.com/475612
 | 
| -      'target_name': 'chrome_sync_shell_manifest',
 | 
| -      'type': 'none',
 | 
| -      'variables': {
 | 
| -        'jinja_inputs': ['java/AndroidManifest.xml'],
 | 
| -        'jinja_output': '<(chrome_sync_shell_apk_manifest)',
 | 
| -        'jinja_variables': [
 | 
| -          'channel=<(android_channel)',
 | 
| -          'configuration_policy=<(configuration_policy)',
 | 
| -          'manifest_package=<(sync_shell_manifest_package)',
 | 
|            'min_sdk_version=16',
 | 
|            'target_sdk_version=22',
 | 
|          ],
 | 
| @@ -228,48 +156,6 @@
 | 
|        'includes': [ '../../build/apk_fake_jar.gypi' ],
 | 
|      },
 | 
|      {
 | 
| -      # TODO(pvalenzuela): Implement this target with GN:
 | 
| -      # http://crbug.com/475612
 | 
| -      'target_name': 'chrome_sync_shell_apk',
 | 
| -      'type': 'none',
 | 
| -      'variables': {
 | 
| -        'android_manifest_path': '<(chrome_sync_shell_apk_manifest)',
 | 
| -        'apk_name': 'ChromeSyncShell',
 | 
| -        'native_lib_target': 'libchrome_sync_shell',
 | 
| -        'java_in_dir': 'java',
 | 
| -        'conditions': [
 | 
| -          # Only attempt loading the library from the APK for 64 bit devices
 | 
| -          # until the number of 32 bit devices which don't support this
 | 
| -          # approach falls to a minimal level -  http://crbug.com/390618.
 | 
| -          ['component != "shared_library" and profiling==0 and (target_arch == "arm64" or target_arch == "x86_64")', {
 | 
| -            'load_library_from_zip_file': '<(chrome_apk_load_library_from_zip)',
 | 
| -            'load_library_from_zip': '<(chrome_apk_load_library_from_zip)',
 | 
| -          }],
 | 
| -        ],
 | 
| -      },
 | 
| -      'dependencies': [
 | 
| -        'chrome_android_paks_copy',
 | 
| -        'chrome_sync_shell_template_resources',
 | 
| -        '../chrome.gyp:chrome_java',
 | 
| -        # This exists here because com.google.protobuf.nano is needed in tests,
 | 
| -        # but that code is stripped out via proguard. Adding this deps adds
 | 
| -        # usages and prevents removal of the proto code.
 | 
| -        '../../sync/sync.gyp:test_support_sync_proto_java',
 | 
| -      ],
 | 
| -      'includes': [ 'chrome_apk.gypi' ],
 | 
| -    },
 | 
| -    {
 | 
| -      # GN: N/A
 | 
| -      # chrome_sync_shell_apk creates a .jar as a side effect. Any java targets
 | 
| -      # that need that .jar in their classpath should depend on this target.
 | 
| -      'target_name': 'chrome_sync_shell_apk_java',
 | 
| -      'type': 'none',
 | 
| -      'dependencies': [
 | 
| -        'chrome_sync_shell_apk',
 | 
| -      ],
 | 
| -      'includes': [ '../../build/apk_fake_jar.gypi' ],
 | 
| -    },
 | 
| -    {
 | 
|        # GN: //chrome/android:chrome_shared_test_java
 | 
|        # This target is for sharing tests between both upstream and internal
 | 
|        # trees until sufficient test coverage is upstream.
 | 
| @@ -291,6 +177,7 @@
 | 
|          '../../net/net.gyp:net_java',
 | 
|          '../../net/net.gyp:net_java_test_support',
 | 
|          '../../sync/sync.gyp:sync_java_test_support',
 | 
| +        '../../sync/sync.gyp:sync_javatests',
 | 
|          '../../third_party/android_tools/android_tools.gyp:android_support_v7_appcompat_javalib',
 | 
|          '../../ui/android/ui_android.gyp:ui_javatests',
 | 
|        ],
 | 
| @@ -305,20 +192,6 @@
 | 
|          'jinja_output': '<(chrome_public_test_apk_manifest)',
 | 
|          'jinja_variables': [
 | 
|            'manifest_package=<(manifest_package)',
 | 
| -        ],
 | 
| -      },
 | 
| -      'includes': [ '../../build/android/jinja_template.gypi' ],
 | 
| -    },
 | 
| -    {
 | 
| -      # TODO(pvalenzuela): Implement this target with GN:
 | 
| -      # http://crbug.com/475612
 | 
| -      'target_name': 'chrome_sync_shell_test_apk_manifest',
 | 
| -      'type': 'none',
 | 
| -      'variables': {
 | 
| -        'jinja_inputs': ['sync_shell/javatests/AndroidManifest.xml'],
 | 
| -        'jinja_output': '<(chrome_sync_shell_test_apk_manifest)',
 | 
| -        'jinja_variables': [
 | 
| -          'manifest_package=<(sync_shell_manifest_package)',
 | 
|          ],
 | 
|        },
 | 
|        'includes': [ '../../build/android/jinja_template.gypi' ],
 | 
| @@ -348,37 +221,6 @@
 | 
|          '../../build/android/test_runner.gypi',
 | 
|        ],
 | 
|      },
 | 
| -    {
 | 
| -      # TODO(pvalenzuela): Implement this target with GN:
 | 
| -      # http://crbug.com/475612
 | 
| -      'target_name': 'chrome_sync_shell_test_apk',
 | 
| -      'type': 'none',
 | 
| -      'dependencies': [
 | 
| -        'chrome_sync_shell_apk_java',
 | 
| -        '../../base/base.gyp:base_java',
 | 
| -        '../../base/base.gyp:base_java_test_support',
 | 
| -        '../../chrome/chrome.gyp:chrome_java',
 | 
| -        '../../chrome/chrome.gyp:chrome_java_test_support',
 | 
| -        '../../sync/sync.gyp:sync_java',
 | 
| -        '../../sync/sync.gyp:sync_java_test_support',
 | 
| -        '../../sync/sync.gyp:sync_javatests',
 | 
| -        '../../sync/sync.gyp:test_support_sync_proto_java',
 | 
| -        '../../testing/android/on_device_instrumentation.gyp:broker_java',
 | 
| -        '../../testing/android/on_device_instrumentation.gyp:require_driver_apk',
 | 
| -      ],
 | 
| -      'variables': {
 | 
| -        'android_manifest_path': '<(chrome_sync_shell_test_apk_manifest)',
 | 
| -        'package_name': 'chrome_sync_shell_test',
 | 
| -        'java_in_dir': 'sync_shell/javatests',
 | 
| -        'apk_name': 'ChromeSyncShellTest',
 | 
| -        'is_test_apk': 1,
 | 
| -        'test_type': 'instrumentation',
 | 
| -      },
 | 
| -      'includes': [
 | 
| -        '../../build/java_apk.gypi',
 | 
| -        '../../build/android/test_runner.gypi',
 | 
| -      ],
 | 
| -    },
 | 
|    ],
 | 
|  }
 | 
|  
 | 
| 
 |