Skip to content
This repository has been archived by the owner on Nov 19, 2022. It is now read-only.

Commit

Permalink
Updates to enable process sandbox for theora sandboxing
Browse files Browse the repository at this point in the history
  • Loading branch information
shravanrn committed Aug 31, 2019
1 parent c7f7715 commit fff8777
Show file tree
Hide file tree
Showing 4 changed files with 267 additions and 5 deletions.
8 changes: 4 additions & 4 deletions builds/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ new_nacl64_cpp: inithasrun
new_ps64_cpp: inithasrun
$(CP) ../image/decoders/moz_copy_new_ps_cpp.build ../image/decoders/moz.build
$(CP) ../image/moz_copy_new_ps_cpp.build ../image/moz.build
$(CP) ../dom/media/platforms/moz_copy.build ../dom/media/platforms/moz.build
$(CP) ../dom/media/platforms/moz_copy_new_ps_cpp.build ../dom/media/platforms/moz.build
$(CP) ../mozconfig64_new_ps_cpp ../mozconfig
$(CP) ../media/libjpeg_naclport/moz_ps.build ../media/libjpeg_naclport/moz.build
$(CP) ../media/libpng_naclport/moz_ps.build ../media/libpng_naclport/moz.build
Expand All @@ -183,8 +183,8 @@ new_ps64_cpp: inithasrun

new_ps64_cpp_mutex: inithasrun
$(CP) ../image/decoders/moz_copy_new_ps_cpp_mutex.build ../image/decoders/moz.build
$(CP) ../image/moz_copy_new_ps_cpp.build ../image/moz.build
$(CP) ../dom/media/platforms/moz_copy.build ../dom/media/platforms/moz.build
$(CP) ../image/moz_copy_new_ps_cpp_mutex.build ../image/moz.build
$(CP) ../dom/media/platforms/moz_copy_new_ps_cpp.build ../dom/media/platforms/moz.build
$(CP) ../mozconfig64_new_ps_cpp_mutex ../mozconfig
$(CP) ../media/libjpeg_naclport/moz_ps.build ../media/libjpeg_naclport/moz.build
$(CP) ../media/libpng_naclport/moz_ps.build ../media/libpng_naclport/moz.build
Expand Down Expand Up @@ -274,7 +274,7 @@ new_nacl64_cpp_dbg: inithasrun
new_ps64_cpp_dbg: inithasrun
$(CP) ../image/decoders/moz_copy_new_ps_cpp.build ../image/decoders/moz.build
$(CP) ../image/moz_copy_new_ps_cpp.build ../image/moz.build
$(CP) ../dom/media/platforms/moz_copy.build ../dom/media/platforms/moz.build
$(CP) ../dom/media/platforms/moz_copy_new_ps_cpp.build ../dom/media/platforms/moz.build
$(CP) ../mozconfig64_new_ps_cpp_debug ../mozconfig
$(CP) ../media/libjpeg_naclport/moz_ps.build ../media/libjpeg_naclport/moz.build
$(CP) ../media/libpng_naclport/moz_ps.build ../media/libpng_naclport/moz.build
Expand Down
2 changes: 1 addition & 1 deletion dom/media/platforms/agnostic/TheoraDecoder.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#define USE_LIBTHEORA
#include "ProcessSandbox.h"
#include "RLBox_Process.h"
using TRLSandbox = RLBox_Process<THEORAProcessSandbox>;
using TRLSandbox = RLBox_Process<TheoraProcessSandbox>;
#undef USE_LIBTHEORA
#endif

Expand Down
130 changes: 130 additions & 0 deletions dom/media/platforms/moz_copy_new_ps_cpp.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

EXPORTS += [
'agnostic/AgnosticDecoderModule.h',
'agnostic/DummyMediaDataDecoder.h',
'agnostic/OpusDecoder.h',
'agnostic/TheoraDecoder.h',
'agnostic/VorbisDecoder.h',
'agnostic/VPXDecoder.h',
'MediaTelemetryConstants.h',
'PDMFactory.h',
'PlatformDecoderModule.h',
'ReorderQueue.h',
'SimpleMap.h',
'wrappers/H264Converter.h',
'wrappers/MediaDataDecoderProxy.h'

]

UNIFIED_SOURCES += [
'agnostic/AgnosticDecoderModule.cpp',
'agnostic/BlankDecoderModule.cpp',
'agnostic/DummyMediaDataDecoder.cpp',
'agnostic/NullDecoderModule.cpp',
'agnostic/OpusDecoder.cpp',
'agnostic/TheoraDecoder.cpp',
'agnostic/VorbisDecoder.cpp',
'agnostic/VPXDecoder.cpp',
'agnostic/WAVDecoder.cpp',
'PDMFactory.cpp',
'wrappers/H264Converter.cpp',
'wrappers/MediaDataDecoderProxy.cpp'
]

DIRS += [
'agnostic/eme',
'agnostic/gmp',
'omx'
]

if CONFIG['MOZ_WMF']:
DIRS += [ 'wmf' ];

if CONFIG['MOZ_FFVPX'] or CONFIG['MOZ_FFMPEG']:
# common code to either FFmpeg or FFVPX
UNIFIED_SOURCES += [
'ffmpeg/FFmpegLibWrapper.cpp',
]

if CONFIG['MOZ_FFVPX']:
DIRS += [
'ffmpeg/ffvpx',
]

if CONFIG['MOZ_FFMPEG']:
DIRS += [
'ffmpeg',
]

if CONFIG['MOZ_AV1']:
EXPORTS += [
'agnostic/AOMDecoder.h',
]
UNIFIED_SOURCES += [
'agnostic/AOMDecoder.cpp',
]

if CONFIG['MOZ_APPLEMEDIA']:
EXPORTS += [
'apple/AppleDecoderModule.h',
]
UNIFIED_SOURCES += [
'apple/AppleATDecoder.cpp',
'apple/AppleCMLinker.cpp',
'apple/AppleDecoderModule.cpp',
'apple/AppleVTDecoder.cpp',
'apple/AppleVTLinker.cpp',
]
OS_LIBS += [
'-framework AudioToolbox',
]

include('/ipc/chromium/chromium-config.mozbuild')

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
EXPORTS += [
'android/AndroidDecoderModule.h',
'android/JavaCallbacksSupport.h',
]
UNIFIED_SOURCES += [
'android/AndroidDecoderModule.cpp',
'android/RemoteDataDecoder.cpp',
]

# Pick from one of the values below
#
# Don't copy sandbox data to intermediate buffers
# DEFINES['USE_SANDBOXING_BUFFERS'] = 0
#
# Copy sandbox data to intermediate buffers
DEFINES['USE_SANDBOXING_BUFFERS'] = 1

# Comment out the following if you want to use the CPP api of NaClSandbox. The value '42' below is disregarded
# DEFINES['NACL_SANDBOX_USE_CPP_API'] = 42
# DEFINES['PROCESS_SANDBOX_USE_CPP_API'] = 42

# Comment out the following if you want to use the CPP api of ProcessSandbox. The value '42' below is disregarded
# DEFINES['NACL_SANDBOX_USE_NEW_CPP_API'] = 42
# DEFINES['WASM_SANDBOX_USE_CPP_API'] = 42
DEFINES['PS_SANDBOX_USE_NEW_CPP_API'] = 42

FINAL_LIBRARY = 'xul'

DEFINES['STARTUP_LIBRARY_PATH'] = '""'
DEFINES['SANDBOX_INIT_APP_THEORA'] = '"ProcessSandbox/ProcessSandbox_otherside_theora64"'

LOCAL_INCLUDES += [
'/../ProcessSandbox',
'/../rlbox_api',
'/media/libtheora_naclport/',
]

if CONFIG['GNU_CXX']:
CXXFLAGS += ['-Wno-error=shadow']

OS_LIBS += ['-L../../../../ProcessSandbox', '-lProcessSandbox_theora64']
132 changes: 132 additions & 0 deletions dom/media/platforms/moz_copy_new_ps_cpp_mutex.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

EXPORTS += [
'agnostic/AgnosticDecoderModule.h',
'agnostic/DummyMediaDataDecoder.h',
'agnostic/OpusDecoder.h',
'agnostic/TheoraDecoder.h',
'agnostic/VorbisDecoder.h',
'agnostic/VPXDecoder.h',
'MediaTelemetryConstants.h',
'PDMFactory.h',
'PlatformDecoderModule.h',
'ReorderQueue.h',
'SimpleMap.h',
'wrappers/H264Converter.h',
'wrappers/MediaDataDecoderProxy.h'

]

UNIFIED_SOURCES += [
'agnostic/AgnosticDecoderModule.cpp',
'agnostic/BlankDecoderModule.cpp',
'agnostic/DummyMediaDataDecoder.cpp',
'agnostic/NullDecoderModule.cpp',
'agnostic/OpusDecoder.cpp',
'agnostic/TheoraDecoder.cpp',
'agnostic/VorbisDecoder.cpp',
'agnostic/VPXDecoder.cpp',
'agnostic/WAVDecoder.cpp',
'PDMFactory.cpp',
'wrappers/H264Converter.cpp',
'wrappers/MediaDataDecoderProxy.cpp'
]

DIRS += [
'agnostic/eme',
'agnostic/gmp',
'omx'
]

if CONFIG['MOZ_WMF']:
DIRS += [ 'wmf' ];

if CONFIG['MOZ_FFVPX'] or CONFIG['MOZ_FFMPEG']:
# common code to either FFmpeg or FFVPX
UNIFIED_SOURCES += [
'ffmpeg/FFmpegLibWrapper.cpp',
]

if CONFIG['MOZ_FFVPX']:
DIRS += [
'ffmpeg/ffvpx',
]

if CONFIG['MOZ_FFMPEG']:
DIRS += [
'ffmpeg',
]

if CONFIG['MOZ_AV1']:
EXPORTS += [
'agnostic/AOMDecoder.h',
]
UNIFIED_SOURCES += [
'agnostic/AOMDecoder.cpp',
]

if CONFIG['MOZ_APPLEMEDIA']:
EXPORTS += [
'apple/AppleDecoderModule.h',
]
UNIFIED_SOURCES += [
'apple/AppleATDecoder.cpp',
'apple/AppleCMLinker.cpp',
'apple/AppleDecoderModule.cpp',
'apple/AppleVTDecoder.cpp',
'apple/AppleVTLinker.cpp',
]
OS_LIBS += [
'-framework AudioToolbox',
]

include('/ipc/chromium/chromium-config.mozbuild')

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
EXPORTS += [
'android/AndroidDecoderModule.h',
'android/JavaCallbacksSupport.h',
]
UNIFIED_SOURCES += [
'android/AndroidDecoderModule.cpp',
'android/RemoteDataDecoder.cpp',
]

# Pick from one of the values below
#
# Don't copy sandbox data to intermediate buffers
# DEFINES['USE_SANDBOXING_BUFFERS'] = 0
#
# Copy sandbox data to intermediate buffers
DEFINES['USE_SANDBOXING_BUFFERS'] = 1

# Comment out the following if you want to use the CPP api of NaClSandbox. The value '42' below is disregarded
# DEFINES['NACL_SANDBOX_USE_CPP_API'] = 42
# DEFINES['PROCESS_SANDBOX_USE_CPP_API'] = 42

# Comment out the following if you want to use the CPP api of ProcessSandbox. The value '42' below is disregarded
# DEFINES['NACL_SANDBOX_USE_NEW_CPP_API'] = 42
# DEFINES['WASM_SANDBOX_USE_CPP_API'] = 42
DEFINES['PS_SANDBOX_USE_NEW_CPP_API'] = 42

DEFINES['PS_SANDBOX_DONT_USE_SPIN'] = 42

FINAL_LIBRARY = 'xul'

DEFINES['STARTUP_LIBRARY_PATH'] = '""'
DEFINES['SANDBOX_INIT_APP_THEORA'] = '"ProcessSandbox/ProcessSandbox_otherside_theora64"'

LOCAL_INCLUDES += [
'/../ProcessSandbox',
'/../rlbox_api',
'/media/libtheora_naclport/',
]

if CONFIG['GNU_CXX']:
CXXFLAGS += ['-Wno-error=shadow']

OS_LIBS += ['-L../../../../ProcessSandbox', '-lProcessSandbox_theora64']

0 comments on commit fff8777

Please sign in to comment.