diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /third_party/libwebrtc/tools_webrtc/apple | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/tools_webrtc/apple')
-rwxr-xr-x | third_party/libwebrtc/tools_webrtc/apple/copy_framework_header.py | 46 | ||||
-rw-r--r-- | third_party/libwebrtc/tools_webrtc/apple/copy_framework_header_test.py | 35 |
2 files changed, 81 insertions, 0 deletions
diff --git a/third_party/libwebrtc/tools_webrtc/apple/copy_framework_header.py b/third_party/libwebrtc/tools_webrtc/apple/copy_framework_header.py new file mode 100755 index 0000000000..3574a67d2a --- /dev/null +++ b/third_party/libwebrtc/tools_webrtc/apple/copy_framework_header.py @@ -0,0 +1,46 @@ +#!/usr/bin/env vpython3 + +# Copyright (c) 2020 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +import argparse +import re +import sys + + +def _ReplaceDoubleQuote(line): + re_rtc_import = re.compile(r'(\s*)#import\s+"(\S+/|)(\w+\+|)RTC(\w+)\.h"(.*)', + re.DOTALL) + match = re_rtc_import.match(line) + if not match: + return line + + return '%s#import <WebRTC/%sRTC%s.h>%s' % (match.group(1), match.group(3), + match.group(4), match.group(5)) + + +def Process(input_file, output_file): + with open(input_file, 'rb') as fb, open(output_file, 'wb') as fw: + for line in fb.read().decode('UTF-8').splitlines(): + fw.write(_ReplaceDoubleQuote(line).encode('UTF-8')) + fw.write(b"\n") + + +def main(): + parser = argparse.ArgumentParser( + description= + "Copy headers of framework and replace double-quoted includes to" + + " angle-bracketed respectively.") + parser.add_argument('--input', help='Input header files to copy.', type=str) + parser.add_argument('--output', help='Output file.', type=str) + parsed_args = parser.parse_args() + return Process(parsed_args.input, parsed_args.output) + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/third_party/libwebrtc/tools_webrtc/apple/copy_framework_header_test.py b/third_party/libwebrtc/tools_webrtc/apple/copy_framework_header_test.py new file mode 100644 index 0000000000..7b8aceac6d --- /dev/null +++ b/third_party/libwebrtc/tools_webrtc/apple/copy_framework_header_test.py @@ -0,0 +1,35 @@ +#!/usr/bin/env vpython3 + +# Copyright (c) 2020 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +import unittest +from copy_framework_header import _ReplaceDoubleQuote + + +class TestCopyFramework(unittest.TestCase): + def testReplaceDoubleQuote(self): + self.assertEqual(_ReplaceDoubleQuote("""#import "RTCMacros.h\""""), + """#import <WebRTC/RTCMacros.h>""") + self.assertEqual(_ReplaceDoubleQuote("""#import "RTCMacros.h\"\n"""), + """#import <WebRTC/RTCMacros.h>\n""") + self.assertEqual( + _ReplaceDoubleQuote("""#import "UIDevice+RTCDevice.h\"\n"""), + """#import <WebRTC/UIDevice+RTCDevice.h>\n""") + self.assertEqual( + _ReplaceDoubleQuote("#import \"components/video_codec/" + + "RTCVideoDecoderFactoryH264.h\"\n"), + """#import <WebRTC/RTCVideoDecoderFactoryH264.h>\n""") + self.assertEqual( + _ReplaceDoubleQuote( + """@property(atomic, strong) RTC_OBJC_TYPE(RTCVideoFrame) *\n"""), + """@property(atomic, strong) RTC_OBJC_TYPE(RTCVideoFrame) *\n""") + + +if __name__ == '__main__': + unittest.main() |