# Copyright (c) 2012 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. { 'variables': { 'chromium_code': 1, }, 'targets': [ { 'target_name': 'libwebview', 'type': 'shared_library', 'dependencies': [ '<(DEPTH)/chrome/chrome.gyp:browser', '<(DEPTH)/chrome/chrome.gyp:renderer', '<(DEPTH)/content/content.gyp:content', '<(DEPTH)/android_webview/native/webview_native.gyp:webview_native', '<(DEPTH)/chrome/browser/component/components.gyp:web_contents_delegate_android', '<(DEPTH)/chrome/browser/component/components.gyp:browser_component_jni_headers', ], 'include_dirs': [ '<(DEPTH)', '<(DEPTH)/skia/config', ], 'sources': [ 'common/android_webview_message_generator.cc', 'common/android_webview_message_generator.h', 'common/render_view_messages.cc', 'common/render_view_messages.h', 'browser/net/aw_network_delegate.cc', 'browser/net/aw_network_delegate.h', 'browser/renderer_host/aw_render_view_host_ext.cc', 'browser/renderer_host/aw_render_view_host_ext.h', 'browser/renderer_host/aw_resource_dispatcher_host_delegate.cc', 'browser/renderer_host/aw_resource_dispatcher_host_delegate.h', 'browser/aw_cookie_access_policy.cc', 'browser/aw_cookie_access_policy.h', 'lib/aw_browser_dependency_factory_impl.cc', 'lib/aw_browser_dependency_factory_impl.h', 'lib/aw_content_browser_client.cc', 'lib/aw_content_browser_client.h', 'lib/main/aw_main_delegate.cc', 'lib/main/aw_main_delegate.h', 'lib/main/webview_entry_point.cc', 'lib/main/webview_stubs.cc', 'renderer/aw_render_view_ext.cc', 'renderer/aw_render_view_ext.h', ], }, { 'target_name': 'android_webview', 'type' : 'none', 'dependencies': [ 'libwebview', ], 'variables': { 'install_binary_script': 'build/install_binary', }, 'actions': [ { 'action_name': 'libwebview_strip_and_install_in_android', 'inputs': [ '<(SHARED_LIB_DIR)/libwebview.so', ], 'outputs': [ '<(android_product_out)/obj/lib/libwebview.so', '<(android_product_out)/system/lib/libwebview.so', '<(android_product_out)/symbols/system/lib/libwebview.so', '<(android_product_out)/symbols/data/data/org.chromium.android_webview/lib/libwebview.so', ], 'action': [ '<(install_binary_script)', '<@(_inputs)', '<@(_outputs)', ], }, ], }, { 'target_name': 'android_webview_java', 'type': 'none', 'dependencies': [ '<(DEPTH)/content/content.gyp:content_java', '<(DEPTH)/chrome/browser/component/components.gyp:web_contents_delegate_android_java', ], 'variables': { 'package_name': 'android_webview_java', 'java_in_dir': '<(DEPTH)/android_webview/java', }, 'includes': [ '../build/java.gypi' ], }, { 'target_name': 'android_webview_javatests', 'type': 'none', 'dependencies': [ 'android_webview_java', '<(DEPTH)/base/base.gyp:base_java_test_support', '<(DEPTH)/content/content.gyp:content_java', '<(DEPTH)/content/content.gyp:content_javatests', '<(DEPTH)/chrome/browser/component/components.gyp:web_contents_delegate_android_java', ], 'variables': { 'package_name': 'android_webview_javatests', 'java_in_dir': '<(DEPTH)/android_webview/javatests', }, 'includes': [ '../build/java.gypi' ], }, { 'target_name': 'android_webview_apk', 'type': 'none', 'actions': [ { 'action_name': 'copy_base_jar', 'inputs': ['<(PRODUCT_DIR)/lib.java/chromium_base.jar'], 'outputs': ['<(PRODUCT_DIR)/android_webview/java/libs/chromium_base.jar'], 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], }, { 'action_name': 'copy_net_jar', 'inputs': ['<(PRODUCT_DIR)/lib.java/chromium_net.jar'], 'outputs': ['<(PRODUCT_DIR)/android_webview/java/libs/chromium_net.jar'], 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], }, { 'action_name': 'copy_media_jar', 'inputs': ['<(PRODUCT_DIR)/lib.java/chromium_media.jar'], 'outputs': ['<(PRODUCT_DIR)/android_webview/java/libs/chromium_media.jar'], 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], }, { 'action_name': 'copy_content_jar', 'inputs': ['<(PRODUCT_DIR)/lib.java/chromium_content.jar'], 'outputs': ['<(PRODUCT_DIR)/android_webview/java/libs/chromium_content.jar'], 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], }, # TODO: This should be removed once we stop sharing the chrome/ layer JNI # registration code. We currently include this because we reuse the # chrome/ layer JNI registration code (which will crash if these classes # are not present in the APK). { 'action_name': 'copy_chrome_jar', 'inputs': ['<(PRODUCT_DIR)/lib.java/chromium_chrome.jar'], 'outputs': ['<(PRODUCT_DIR)/android_webview/java/libs/chromium_chrome.jar'], 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], }, { 'action_name': 'copy_web_contents_delegate_android_java', 'inputs': ['<(PRODUCT_DIR)/lib.java/chromium_web_contents_delegate_android.jar'], 'outputs': ['<(PRODUCT_DIR)/android_webview/java/libs/chromium_web_contents_delegate_android.jar'], 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], }, { 'action_name': 'copy_android_webview_jar', 'inputs': ['<(PRODUCT_DIR)/lib.java/chromium_android_webview_java.jar'], 'outputs': ['<(PRODUCT_DIR)/android_webview/java/libs/chromium_android_webview_java.jar'], 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], }, { 'action_name': 'copy_android_webview_test_jar', 'inputs': ['<(PRODUCT_DIR)/lib.java/chromium_android_webview_javatests.jar'], 'outputs': ['<(PRODUCT_DIR)/android_webview/java/libs/chromium_android_webview_javatests.jar'], 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], }, { 'action_name': 'copy_chrome_pak', 'inputs': ['<(SHARED_INTERMEDIATE_DIR)/repack/chrome.pak'], 'outputs': ['<(PRODUCT_DIR)/android_webview/assets/chrome.pak'], 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], }, { 'action_name': 'copy_chrome_100_percent_pak', 'inputs': ['<(SHARED_INTERMEDIATE_DIR)/repack/chrome_100_percent.pak'], 'outputs': ['<(PRODUCT_DIR)/android_webview/assets/chrome_100_percent.pak'], 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], }, { 'action_name': 'copy_resources_pak', 'inputs': ['<(SHARED_INTERMEDIATE_DIR)/repack/resources.pak'], 'outputs': ['<(PRODUCT_DIR)/android_webview/assets/resources.pak'], 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], }, { 'action_name': 'copy_en_pak', 'inputs': ['<(SHARED_INTERMEDIATE_DIR)/repack/en-US.pak'], 'outputs': ['<(PRODUCT_DIR)/android_webview/assets/en-US.pak'], 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], }, { 'action_name': 'copy_and_strip_so', 'inputs': ['<(SHARED_LIB_DIR)/libwebview.so'], 'outputs': ['<(PRODUCT_DIR)/android_webview/libs/<(android_app_abi)/libwebview.so'], 'action': [ '