1 # Copyright 2009 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 { 5 'variables': { 6 'chromium_code': 1, 7 }, 8 'targets': [ 9 { 10 'target_name': 'libwebviewchromium', 11 'type': 'shared_library', 12 'android_unmangled_name': 1, 13 'dependencies': [ 14 'android_webview_common', 15 ], 16 'android_enable_fdo': 1, 17 'conditions': [ 18 # Avoid clashes between the versions of this library built with 19 # android_webview_build==1 by using a different name prefix. 20 [ 'android_webview_build==0', { 21 'product_prefix': 'libstandalone', 22 }], 23 [ 'android_webview_build==1', { 24 # When building inside the android tree we also need to depend on all 25 # the java sources generated from templates which will be needed by 26 # android_webview_java in android_webview/Android.mk. 27 'dependencies': [ 28 '../base/base.gyp:base_java_application_state', 29 '../base/base.gyp:base_java_memory_pressure_level_list', 30 '../content/content.gyp:content_gamepad_mapping', 31 '../content/content.gyp:gesture_event_type_java', 32 '../content/content.gyp:page_transition_types_java', 33 '../content/content.gyp:popup_item_type_java', 34 '../content/content.gyp:result_codes_java', 35 '../content/content.gyp:screen_orientation_values_java', 36 '../content/content.gyp:speech_recognition_error_java', 37 '../media/media.gyp:media_android_imageformat_list', 38 '../net/net.gyp:cert_verify_status_android_java', 39 '../net/net.gyp:certificate_mime_types_java', 40 '../net/net.gyp:net_errors_java', 41 '../net/net.gyp:private_key_types_java', 42 '../ui/android/ui_android.gyp:bitmap_format_java', 43 '../ui/android/ui_android.gyp:window_open_disposition_java', 44 ], 45 }], 46 [ 'android_webview_build==1 and use_system_skia==0', { 47 # When not using the system skia there are linker warnings about 48 # overriden hidden symbols which there's no easy way to eliminate; 49 # disable them. http://crbug.com/157326 50 'ldflags': [ 51 '-Wl,--no-fatal-warnings', 52 ], 53 'ldflags!': [ 54 '-Wl,--fatal-warnings', 55 ], 56 }], 57 ], 58 'sources': [ 59 'lib/main/webview_entry_point.cc', 60 ], 61 }, 62 { 63 'target_name': 'android_webview_pak', 64 'type': 'none', 65 'dependencies': [ 66 '<(DEPTH)/content/content_resources.gyp:content_resources', 67 '<(DEPTH)/net/net.gyp:net_resources', 68 '<(DEPTH)/ui/resources/ui_resources.gyp:ui_resources', 69 '<(DEPTH)/webkit/webkit_resources.gyp:webkit_resources', 70 ], 71 'actions': [ 72 { 73 'action_name': 'repack_android_webview_pack', 74 'variables': { 75 'pak_inputs': [ 76 '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak', 77 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak', 78 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_100_percent.pak', 79 '<(SHARED_INTERMEDIATE_DIR)/webkit/blink_resources.pak', 80 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources_100_percent.pak', 81 ], 82 'pak_output': '<(PRODUCT_DIR)/android_webview_apk/assets/webviewchromium.pak', 83 }, 84 'includes': [ '../build/repack_action.gypi' ], 85 }, 86 { 87 'action_name': 'add_en_US_pak_locale', 88 'variables': { 89 'pak_inputs': ['<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.pak'], 90 'pak_output': '<(PRODUCT_DIR)/android_webview_apk/assets/en-US.pak', 91 }, 92 'includes': [ '../build/repack_action.gypi' ], 93 } 94 ], 95 }, 96 { 97 'target_name': 'android_webview_common', 98 'type': 'static_library', 99 'dependencies': [ 100 '../android_webview/native/webview_native.gyp:webview_native', 101 '../components/components.gyp:auto_login_parser', 102 '../components/components.gyp:autofill_content_renderer', 103 '../components/components.gyp:cdm_browser', 104 '../components/components.gyp:cdm_renderer', 105 '../components/components.gyp:data_reduction_proxy_browser', 106 '../components/components.gyp:navigation_interception', 107 '../components/components.gyp:visitedlink_browser', 108 '../components/components.gyp:visitedlink_renderer', 109 '../components/components.gyp:web_contents_delegate_android', 110 '../content/content.gyp:content_app_both', 111 '../content/content.gyp:content_browser', 112 '../gpu/gpu.gyp:command_buffer_service', 113 '../gpu/gpu.gyp:gles2_implementation', 114 '../gpu/gpu.gyp:gl_in_process_context', 115 '../media/media.gyp:media', 116 '../printing/printing.gyp:printing', 117 '../skia/skia.gyp:skia', 118 '../third_party/WebKit/public/blink.gyp:blink', 119 '../ui/gl/gl.gyp:gl', 120 '../ui/shell_dialogs/shell_dialogs.gyp:shell_dialogs', 121 '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu', 122 'android_webview_pak', 123 ], 124 'include_dirs': [ 125 '..', 126 '../skia/config', 127 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/', 128 ], 129 'sources': [ 130 'browser/aw_browser_context.cc', 131 'browser/aw_browser_context.h', 132 'browser/aw_browser_main_parts.cc', 133 'browser/aw_browser_main_parts.h', 134 'browser/aw_browser_permission_request_delegate.h', 135 'browser/aw_contents_client_bridge_base.cc', 136 'browser/aw_contents_client_bridge_base.h', 137 'browser/aw_content_browser_client.cc', 138 'browser/aw_content_browser_client.h', 139 'browser/aw_contents_io_thread_client.h', 140 'browser/aw_cookie_access_policy.cc', 141 'browser/aw_cookie_access_policy.h', 142 'browser/aw_download_manager_delegate.cc', 143 'browser/aw_download_manager_delegate.h', 144 'browser/aw_form_database_service.cc', 145 'browser/aw_form_database_service.h', 146 'browser/aw_gl_surface.cc', 147 'browser/aw_gl_surface.h', 148 'browser/aw_http_auth_handler_base.cc', 149 'browser/aw_http_auth_handler_base.h', 150 'browser/aw_javascript_dialog_manager.cc', 151 'browser/aw_javascript_dialog_manager.h', 152 'browser/aw_login_delegate.cc', 153 'browser/aw_login_delegate.h', 154 'browser/aw_pref_store.cc', 155 'browser/aw_pref_store.h', 156 'browser/aw_quota_manager_bridge.cc', 157 'browser/aw_quota_manager_bridge.h', 158 'browser/aw_quota_permission_context.cc', 159 'browser/aw_quota_permission_context.h', 160 'browser/aw_request_interceptor.cc', 161 'browser/aw_request_interceptor.h', 162 'browser/aw_resource_context.cc', 163 'browser/aw_resource_context.h', 164 'browser/aw_result_codes.h', 165 'browser/aw_web_preferences_populater.cc', 166 'browser/aw_web_preferences_populater.h', 167 'browser/aw_web_resource_response.cc', 168 'browser/aw_web_resource_response.h', 169 'browser/browser_view_renderer.cc', 170 'browser/browser_view_renderer.h', 171 'browser/browser_view_renderer_client.h', 172 'browser/deferred_gpu_command_service.cc', 173 'browser/deferred_gpu_command_service.h', 174 'browser/find_helper.cc', 175 'browser/find_helper.h', 176 'browser/global_tile_manager.cc', 177 'browser/global_tile_manager.h', 178 'browser/global_tile_manager_client.h', 179 'browser/gpu_memory_buffer_factory_impl.cc', 180 'browser/gpu_memory_buffer_factory_impl.h', 181 'browser/hardware_renderer.cc', 182 'browser/hardware_renderer.h', 183 'browser/icon_helper.cc', 184 'browser/icon_helper.h', 185 'browser/input_stream.h', 186 'browser/jni_dependency_factory.h', 187 'browser/gl_view_renderer_manager.cc', 188 'browser/gl_view_renderer_manager.h', 189 'browser/net/android_stream_reader_url_request_job.cc', 190 'browser/net/android_stream_reader_url_request_job.h', 191 'browser/net/aw_network_delegate.cc', 192 'browser/net/aw_network_delegate.h', 193 'browser/net/aw_url_request_context_getter.cc', 194 'browser/net/aw_url_request_context_getter.h', 195 'browser/net/aw_url_request_job_factory.cc', 196 'browser/net/aw_url_request_job_factory.h', 197 'browser/net_disk_cache_remover.cc', 198 'browser/net_disk_cache_remover.h', 199 'browser/net/init_native_callback.h', 200 'browser/net/input_stream_reader.cc', 201 'browser/net/input_stream_reader.h', 202 'browser/parent_compositor_draw_constraints.cc', 203 'browser/parent_compositor_draw_constraints.h', 204 'browser/parent_output_surface.cc', 205 'browser/parent_output_surface.h', 206 'browser/renderer_host/aw_render_view_host_ext.cc', 207 'browser/renderer_host/aw_render_view_host_ext.h', 208 'browser/renderer_host/aw_resource_dispatcher_host_delegate.cc', 209 'browser/renderer_host/aw_resource_dispatcher_host_delegate.h', 210 'browser/renderer_host/print_manager.cc', 211 'browser/renderer_host/print_manager.h', 212 'browser/scoped_allow_wait_for_legacy_web_view_api.h', 213 'browser/scoped_app_gl_state_restore.cc', 214 'browser/scoped_app_gl_state_restore.h', 215 'browser/shared_renderer_state.cc', 216 'browser/shared_renderer_state.h', 217 'common/android_webview_message_generator.cc', 218 'common/android_webview_message_generator.h', 219 'common/aw_content_client.cc', 220 'common/aw_content_client.h', 221 'common/aw_hit_test_data.cc', 222 'common/aw_hit_test_data.h', 223 'common/aw_resource.h', 224 'common/aw_switches.cc', 225 'common/aw_switches.h', 226 'common/devtools_instrumentation.h', 227 'common/print_messages.cc', 228 'common/print_messages.h', 229 'common/render_view_messages.cc', 230 'common/render_view_messages.h', 231 'common/url_constants.cc', 232 'common/url_constants.h', 233 'lib/aw_browser_dependency_factory_impl.cc', 234 'lib/aw_browser_dependency_factory_impl.h', 235 'lib/main/aw_main_delegate.cc', 236 'lib/main/aw_main_delegate.h', 237 'public/browser/draw_gl.h', 238 'renderer/aw_content_renderer_client.cc', 239 'renderer/aw_content_renderer_client.h', 240 'renderer/aw_key_systems.cc', 241 'renderer/aw_key_systems.h', 242 'renderer/aw_permission_client.cc', 243 'renderer/aw_permission_client.h', 244 'renderer/aw_render_process_observer.cc', 245 'renderer/aw_render_process_observer.h', 246 'renderer/aw_render_frame_ext.cc', 247 'renderer/aw_render_frame_ext.h', 248 'renderer/aw_render_view_ext.cc', 249 'renderer/aw_render_view_ext.h', 250 'renderer/print_web_view_helper.cc', 251 'renderer/print_web_view_helper.h', 252 'renderer/print_web_view_helper_android.cc', 253 'renderer/print_web_view_helper_linux.cc', 254 'renderer/print_render_frame_observer.cc', 255 'renderer/print_render_frame_observer.h', 256 ], 257 }, 258 ], 259 'conditions': [ 260 ['android_webview_build==0', { 261 'includes': [ 262 'android_webview_tests.gypi', 263 ], 264 'targets': [ 265 { 266 'target_name': 'android_webview_java', 267 'type': 'none', 268 'dependencies': [ 269 '../components/components.gyp:navigation_interception_java', 270 '../components/components.gyp:web_contents_delegate_android_java', 271 '../content/content.gyp:content_java', 272 '../ui/android/ui_android.gyp:ui_java', 273 ], 274 'variables': { 275 'java_in_dir': '../android_webview/java', 276 }, 277 'includes': [ '../build/java.gypi' ], 278 }, 279 ], 280 }, { # android_webview_build==1 281 'targets': [ 282 { 283 'target_name': 'android_webview_jarjar_ui_resources', 284 'android_unmangled_name': 1, 285 'type': 'none', 286 'variables': { 287 'res_dir': '../ui/android/java/res', 288 'rules_file': '../android_webview/build/jarjar-rules.txt', 289 }, 290 'includes': ['../android_webview/build/jarjar_resources.gypi'], 291 }, 292 { 293 'target_name': 'android_webview_jarjar_content_resources', 294 'android_unmangled_name': 1, 295 'type': 'none', 296 'variables': { 297 'res_dir': '../content/public/android/java/res', 298 'rules_file': '../android_webview/build/jarjar-rules.txt', 299 }, 300 'includes': ['../android_webview/build/jarjar_resources.gypi'], 301 }, 302 { 303 'target_name': 'android_webview_resources', 304 'type': 'none', 305 'android_unmangled_name': 1, 306 'dependencies': [ 307 '../content/content.gyp:content_strings_grd', 308 '../ui/android/ui_android.gyp:ui_strings_grd', 309 'android_webview_jarjar_ui_resources', 310 'android_webview_jarjar_content_resources' 311 ], 312 }, 313 ], 314 }], 315 ], 316 } 317