| # Copyright 2017 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. | 
 |  | 
 | import("//build/config/android/rules.gni") | 
 |  | 
 | java_binary("bytecode_processor") { | 
 |   sources = [ | 
 |     "java/org/chromium/bytecode/ByteCodeProcessor.java", | 
 |     "java/org/chromium/bytecode/ClassPathValidator.java", | 
 |     "java/org/chromium/bytecode/TypeUtils.java", | 
 |   ] | 
 |   main_class = "org.chromium.bytecode.ByteCodeProcessor" | 
 |   deps = [ | 
 |     "//third_party/android_deps:org_ow2_asm_asm_java", | 
 |     "//third_party/android_deps:org_ow2_asm_asm_util_java", | 
 |   ] | 
 |   wrapper_script_name = "helper/bytecode_processor" | 
 |   enable_bytecode_checks = false | 
 | } | 
 |  | 
 | # A bytecode rewriter that replaces all calls to | 
 | # `FragmentActivity Fragment.getActivity()` with | 
 | # `Activity Fragment.getActivity()`. | 
 | java_binary("fragment_activity_replacer") { | 
 |   main_class = "org.chromium.bytecode.FragmentActivityReplacer" | 
 |   deps = [ ":fragment_activity_replacer_java" ] | 
 |   wrapper_script_name = "helper/fragment_activity_replacer" | 
 | } | 
 |  | 
 | # A bytecode rewriter that replaces all calls to | 
 | # `FragmentActivity Fragment.getActivity()` with | 
 | # `Activity Fragment.getActivity()`  followed by a cast to FragmentActivity. | 
 | # Prefer :fragment_activity_replacer. This rewriter should only be used for | 
 | # libraries that rely on getActivity() returning a FragmentActivity *and* are | 
 | # not going to be used in an app that contains multiple copies of the AndroidX | 
 | # Fragment library (i.e. WebLayer). | 
 | java_binary("fragment_activity_replacer_single_androidx") { | 
 |   main_class = "org.chromium.bytecode.FragmentActivityReplacer" | 
 |   deps = [ ":fragment_activity_replacer_java" ] | 
 |   wrapper_script_name = "helper/fragment_activity_replacer_single_androidx" | 
 |   wrapper_script_args = [ "--single-androidx" ] | 
 | } | 
 |  | 
 | java_library("fragment_activity_replacer_java") { | 
 |   visibility = [ ":*" ] | 
 |   sources = [ | 
 |     "java/org/chromium/bytecode/ByteCodeRewriter.java", | 
 |     "java/org/chromium/bytecode/FragmentActivityReplacer.java", | 
 |   ] | 
 |   deps = [ | 
 |     "//third_party/android_deps:org_ow2_asm_asm_commons_java", | 
 |     "//third_party/android_deps:org_ow2_asm_asm_java", | 
 |     "//third_party/android_deps:org_ow2_asm_asm_util_java", | 
 |   ] | 
 | } |