зеркало из https://github.com/mozilla/gecko-dev.git
merge mozilla-central to autoland. r=merge a=merge
This commit is contained in:
Коммит
794abc6fba
2
CLOBBER
2
CLOBBER
|
@ -22,4 +22,4 @@
|
|||
# changes to stick? As of bug 928195, this shouldn't be necessary! Please
|
||||
# don't change CLOBBER for WebIDL changes any more.
|
||||
|
||||
Bug 1408789, Windows compiler change
|
||||
Bug 1163171, Android compiler change
|
||||
|
|
|
@ -8,10 +8,19 @@ AC_DEFUN([MOZ_ANDROID_NDK],
|
|||
case "$target" in
|
||||
*-android*|*-linuxandroid*)
|
||||
dnl $android_platform will be set for us by Python configure.
|
||||
CPPFLAGS="-idirafter $android_platform/usr/include $CPPFLAGS"
|
||||
directory_include_args="-isystem $android_platform/usr/include"
|
||||
|
||||
# clang will do any number of interesting things with host tools unless we tell
|
||||
# it to use the NDK tools.
|
||||
extra_opts="-gcc-toolchain $(dirname $(dirname $TOOLCHAIN_PREFIX))"
|
||||
CPPFLAGS="$extra_opts $CPPFLAGS"
|
||||
ASFLAGS="$extra_opts $ASFLAGS"
|
||||
LDFLAGS="$extra_opts $LDFLAGS"
|
||||
|
||||
CPPFLAGS="$directory_include_args $CPPFLAGS"
|
||||
CFLAGS="-fno-short-enums -fno-exceptions $CFLAGS"
|
||||
CXXFLAGS="-fno-short-enums -fno-exceptions $CXXFLAGS $stlport_cppflags"
|
||||
ASFLAGS="-idirafter $android_platform/usr/include -DANDROID $ASFLAGS"
|
||||
ASFLAGS="$directory_include_args -DANDROID $ASFLAGS"
|
||||
|
||||
dnl Add --allow-shlib-undefined, because libGLESv2 links to an
|
||||
dnl undefined symbol (present on the hardware, just not in the
|
||||
|
|
|
@ -95,21 +95,31 @@ AC_LANG_CPLUSPLUS
|
|||
if test "$GNU_CXX"; then
|
||||
AC_CACHE_CHECK([whether 64-bits std::atomic requires -latomic],
|
||||
ac_cv_needs_atomic,
|
||||
AC_TRY_LINK(
|
||||
[#include <cstdint>
|
||||
#include <atomic>],
|
||||
[ std::atomic<uint64_t> foo; foo = 1; ],
|
||||
ac_cv_needs_atomic=no,
|
||||
_SAVE_LIBS="$LIBS"
|
||||
LIBS="$LIBS -latomic"
|
||||
dnl x86 with clang is a little peculiar. std::atomic does not require
|
||||
dnl linking with libatomic, but using atomic intrinsics does, so we
|
||||
dnl force the setting on for such systems. (This setting is probably
|
||||
dnl applicable to all x86 systems using clang, but Android is currently
|
||||
dnl the one we care most about, and nobody has reported problems on
|
||||
dnl other platforms before this point.)
|
||||
if test "$CC_TYPE" = "clang" -a "$CPU_ARCH" = "x86" -a "$OS_TARGET" = "Android"; then
|
||||
ac_cv_needs_atomic=yes
|
||||
else
|
||||
AC_TRY_LINK(
|
||||
[#include <cstdint>
|
||||
#include <atomic>],
|
||||
[ std::atomic<uint64_t> foo; foo = 1; ],
|
||||
ac_cv_needs_atomic=yes,
|
||||
ac_cv_needs_atomic="do not know; assuming no")
|
||||
LIBS="$_SAVE_LIBS"
|
||||
)
|
||||
ac_cv_needs_atomic=no,
|
||||
_SAVE_LIBS="$LIBS"
|
||||
LIBS="$LIBS -latomic"
|
||||
AC_TRY_LINK(
|
||||
[#include <cstdint>
|
||||
#include <atomic>],
|
||||
[ std::atomic<uint64_t> foo; foo = 1; ],
|
||||
ac_cv_needs_atomic=yes,
|
||||
ac_cv_needs_atomic="do not know; assuming no")
|
||||
LIBS="$_SAVE_LIBS"
|
||||
)
|
||||
fi
|
||||
)
|
||||
if test "$ac_cv_needs_atomic" = yes; then
|
||||
MOZ_NEEDS_LIBATOMIC=1
|
||||
|
|
|
@ -147,14 +147,6 @@ def android_platform(target, android_version, ndk, _):
|
|||
add_old_configure_assignment('android_platform', android_platform)
|
||||
|
||||
|
||||
@depends(android_platform)
|
||||
def extra_toolchain_flags(platform_dir):
|
||||
if not platform_dir:
|
||||
return []
|
||||
return ['-idirafter',
|
||||
os.path.join(platform_dir, 'usr', 'include')]
|
||||
|
||||
|
||||
@depends(target, host, ndk, '--with-android-toolchain', '--help')
|
||||
@checking('for the Android toolchain directory', lambda x: x or 'not found')
|
||||
@imports(_from='os.path', _import='isdir')
|
||||
|
@ -203,6 +195,16 @@ def android_toolchain_prefix_base(target):
|
|||
return target.toolchain
|
||||
|
||||
|
||||
@depends(android_platform, android_toolchain)
|
||||
def extra_toolchain_flags(platform_dir, toolchain_dir):
|
||||
if not platform_dir:
|
||||
return []
|
||||
return ['-isystem',
|
||||
os.path.join(platform_dir, 'usr', 'include'),
|
||||
'-gcc-toolchain',
|
||||
toolchain_dir]
|
||||
|
||||
|
||||
@depends(android_toolchain_prefix_base, android_toolchain)
|
||||
def android_toolchain_prefix(prefix_base, toolchain):
|
||||
if toolchain:
|
||||
|
@ -257,13 +259,17 @@ add_old_configure_assignment('stlport_cppflags', stlport_cppflags)
|
|||
|
||||
@depends(stlport_cppflags, android_platform, android_toolchain,
|
||||
android_toolchain_prefix_base, '--help')
|
||||
@imports(_from='os.path', _import='isdir')
|
||||
def bindgen_cflags_defaults(stlport_cppflags, android_platform, toolchain,
|
||||
toolchain_prefix, _):
|
||||
if not stlport_cppflags:
|
||||
return
|
||||
|
||||
gcc_include = os.path.join(
|
||||
toolchain, 'lib', 'gcc', toolchain_prefix, '4.9')
|
||||
toolchain, 'lib', 'gcc', toolchain_prefix, '4.9.x')
|
||||
if not isdir(gcc_include):
|
||||
gcc_include = os.path.join(
|
||||
toolchain, 'lib', 'gcc', toolchain_prefix, '4.9')
|
||||
|
||||
cflags_format = "%s -isystem %s -gcc-toolchain %s -I%s -I%s"
|
||||
return cflags_format % (stlport_cppflags,
|
||||
|
@ -271,3 +277,26 @@ def bindgen_cflags_defaults(stlport_cppflags, android_platform, toolchain,
|
|||
toolchain,
|
||||
os.path.join(gcc_include, 'include'),
|
||||
os.path.join(gcc_include, 'include-fixed'))
|
||||
|
||||
|
||||
@depends(host, ndk)
|
||||
@imports(_from='os.path', _import='exists')
|
||||
@imports(_from='os.path', _import='isdir')
|
||||
def android_clang_compiler(host, ndk):
|
||||
if not ndk:
|
||||
return
|
||||
|
||||
llvm_path = '%s/toolchains/llvm/prebuilt/%s-%s/bin' % (ndk,
|
||||
host.kernel.lower(),
|
||||
host.cpu)
|
||||
if not isdir(llvm_path) and host.cpu == 'x86_64':
|
||||
llvm_path = toolchain_format % (ndk, host.kernel.lower(), 'x86')
|
||||
|
||||
if not isdir(llvm_path):
|
||||
die("Couldn't find path to LLVM toolchain at %s" % llvm_path)
|
||||
|
||||
clang = '%s/clang' % llvm_path
|
||||
if not exists(clang):
|
||||
die("Couln't find clang in LLVM toolchain at %s" % clang)
|
||||
|
||||
return clang
|
||||
|
|
|
@ -647,11 +647,16 @@ def default_c_compilers(host_or_target):
|
|||
'''
|
||||
assert host_or_target in (host, target)
|
||||
|
||||
@depends(host_or_target, target, toolchain_prefix)
|
||||
def default_c_compilers(host_or_target, target, toolchain_prefix):
|
||||
@depends(host_or_target, target, toolchain_prefix, android_clang_compiler)
|
||||
def default_c_compilers(host_or_target, target, toolchain_prefix, android_clang_compiler):
|
||||
gcc = ('gcc',)
|
||||
if toolchain_prefix and host_or_target is target:
|
||||
gcc = tuple('%sgcc' % p for p in toolchain_prefix) + gcc
|
||||
# Android sets toolchain_prefix and android_clang_compiler, but
|
||||
# we want the latter to take precedence, because the latter can
|
||||
# point at clang, which is what we want to use.
|
||||
if android_clang_compiler and host_or_target is target:
|
||||
gcc = (android_clang_compiler,) + gcc
|
||||
|
||||
if host_or_target.kernel == 'WINNT':
|
||||
return ('cl', 'clang-cl') + gcc + ('clang',)
|
||||
|
@ -876,6 +881,10 @@ def compiler(language, host_or_target, c_compiler=None, other_compiler=None,
|
|||
'Only GCC 4.9 or newer is supported (found version %s).'
|
||||
% info.version)
|
||||
|
||||
if info.type == 'gcc' and host_or_target.os == 'Android':
|
||||
raise FatalCheckError('GCC is not supported on Android.\n'
|
||||
'Please use clang from the Android NDK instead.')
|
||||
|
||||
# If you want to bump the version check here search for
|
||||
# cxx_alignof above, and see the associated comment.
|
||||
if info.type == 'clang' and not info.version:
|
||||
|
|
|
@ -28,9 +28,9 @@ for v in ('OS_CPPFLAGS', 'OS_CFLAGS', 'DEBUG', 'CLANG_PLUGIN', 'OPTIMIZE',
|
|||
flags = []
|
||||
idx = 0
|
||||
for flag in COMPILE_FLAGS[v]:
|
||||
if flag == '-idirafter':
|
||||
if flag == '-isystem':
|
||||
flags.append(''.join(COMPILE_FLAGS[v][idx:idx + 2]))
|
||||
elif flag.startswith(('-m', '-I', '-idirafter')):
|
||||
elif flag.startswith(('-m', '-I', '-isystem')):
|
||||
flags.append(flag)
|
||||
idx += 1
|
||||
COMPILE_FLAGS[v] = flags
|
||||
|
|
|
@ -43,9 +43,9 @@ static MOZ_THREAD_LOCAL(FT_Library) sFTLibrary;
|
|||
#endif
|
||||
|
||||
struct FontTemplate {
|
||||
void *mData;
|
||||
const uint8_t *mData;
|
||||
size_t mSize;
|
||||
int mIndex;
|
||||
uint32_t mIndex;
|
||||
const VecU8 *mVec;
|
||||
RefPtr<UnscaledFont> mUnscaledFont;
|
||||
};
|
||||
|
@ -55,7 +55,7 @@ std::unordered_map<FontKey, FontTemplate> sFontDataTable;
|
|||
|
||||
extern "C" {
|
||||
void
|
||||
AddFontData(wr::FontKey aKey, void *aData, size_t aSize, int aIndex, ArcVecU8 *aVec) {
|
||||
AddFontData(WrFontKey aKey, const uint8_t *aData, size_t aSize, uint32_t aIndex, const ArcVecU8 *aVec) {
|
||||
auto i = sFontDataTable.find(aKey);
|
||||
if (i == sFontDataTable.end()) {
|
||||
FontTemplate font;
|
||||
|
@ -68,7 +68,7 @@ AddFontData(wr::FontKey aKey, void *aData, size_t aSize, int aIndex, ArcVecU8 *a
|
|||
}
|
||||
|
||||
void
|
||||
DeleteFontData(wr::FontKey aKey) {
|
||||
DeleteFontData(WrFontKey aKey) {
|
||||
auto i = sFontDataTable.find(aKey);
|
||||
if (i != sFontDataTable.end()) {
|
||||
sFontDataTable.erase(i);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#![allow(improper_ctypes)] // this is needed so that rustc doesn't complain about passing the &Arc<Vec> to an extern function
|
||||
use webrender_api::*;
|
||||
use bindings::{ByteSlice, MutByteSlice, wr_moz2d_render_cb};
|
||||
use bindings::{ByteSlice, MutByteSlice, wr_moz2d_render_cb, ArcVecU8};
|
||||
use rayon::ThreadPool;
|
||||
|
||||
use std::collections::hash_map::{HashMap, Entry};
|
||||
|
@ -198,7 +198,7 @@ impl BlobImageRenderer for Moz2dImageRenderer {
|
|||
use bindings::WrFontKey;
|
||||
extern "C" {
|
||||
#[allow(improper_ctypes)]
|
||||
fn AddFontData(key: WrFontKey, data: *const u8, size: usize, index: u32, vec: &Arc<Vec<u8>>);
|
||||
fn AddFontData(key: WrFontKey, data: *const u8, size: usize, index: u32, vec: &ArcVecU8);
|
||||
fn DeleteFontData(key: WrFontKey);
|
||||
}
|
||||
|
||||
|
|
|
@ -224,10 +224,39 @@ struct WrState;
|
|||
|
||||
struct WrThreadPool;
|
||||
|
||||
typedef Vec_u8 VecU8;
|
||||
struct IdNamespace {
|
||||
uint32_t mHandle;
|
||||
|
||||
bool operator==(const IdNamespace& aOther) const {
|
||||
return mHandle == aOther.mHandle;
|
||||
}
|
||||
bool operator!=(const IdNamespace& aOther) const {
|
||||
return mHandle != aOther.mHandle;
|
||||
}
|
||||
bool operator<(const IdNamespace& aOther) const {
|
||||
return mHandle < aOther.mHandle;
|
||||
}
|
||||
bool operator<=(const IdNamespace& aOther) const {
|
||||
return mHandle <= aOther.mHandle;
|
||||
}
|
||||
};
|
||||
|
||||
struct FontKey {
|
||||
IdNamespace mNamespace;
|
||||
uint32_t mHandle;
|
||||
|
||||
bool operator==(const FontKey& aOther) const {
|
||||
return mNamespace == aOther.mNamespace &&
|
||||
mHandle == aOther.mHandle;
|
||||
}
|
||||
};
|
||||
|
||||
typedef FontKey WrFontKey;
|
||||
|
||||
typedef Arc_VecU8 ArcVecU8;
|
||||
|
||||
typedef Vec_u8 VecU8;
|
||||
|
||||
struct Epoch {
|
||||
uint32_t mHandle;
|
||||
|
||||
|
@ -375,23 +404,6 @@ struct WrTransformProperty {
|
|||
LayoutTransform transform;
|
||||
};
|
||||
|
||||
struct IdNamespace {
|
||||
uint32_t mHandle;
|
||||
|
||||
bool operator==(const IdNamespace& aOther) const {
|
||||
return mHandle == aOther.mHandle;
|
||||
}
|
||||
bool operator!=(const IdNamespace& aOther) const {
|
||||
return mHandle != aOther.mHandle;
|
||||
}
|
||||
bool operator<(const IdNamespace& aOther) const {
|
||||
return mHandle < aOther.mHandle;
|
||||
}
|
||||
bool operator<=(const IdNamespace& aOther) const {
|
||||
return mHandle <= aOther.mHandle;
|
||||
}
|
||||
};
|
||||
|
||||
typedef IdNamespace WrIdNamespace;
|
||||
|
||||
// Represents RGBA screen colors with floating point numbers.
|
||||
|
@ -772,18 +784,6 @@ struct WrImageDescriptor {
|
|||
|
||||
typedef ExternalImageType WrExternalImageBufferType;
|
||||
|
||||
struct FontKey {
|
||||
IdNamespace mNamespace;
|
||||
uint32_t mHandle;
|
||||
|
||||
bool operator==(const FontKey& aOther) const {
|
||||
return mNamespace == aOther.mNamespace &&
|
||||
mHandle == aOther.mHandle;
|
||||
}
|
||||
};
|
||||
|
||||
typedef FontKey WrFontKey;
|
||||
|
||||
struct FontInstanceOptions {
|
||||
FontRenderMode render_mode;
|
||||
SubpixelDirection subpx_dir;
|
||||
|
@ -873,6 +873,14 @@ typedef TypedRect_u32__DevicePixel DeviceUintRect;
|
|||
* 2. Run `rustup run nightly cbindgen toolkit/library/rust/ --crate webrender_bindings -o gfx/webrender_bindings/webrender_ffi_generated.h`
|
||||
*/
|
||||
|
||||
extern void AddFontData(WrFontKey aKey,
|
||||
const uint8_t *aData,
|
||||
size_t aSize,
|
||||
uint32_t aIndex,
|
||||
const ArcVecU8 *aVec);
|
||||
|
||||
extern void DeleteFontData(WrFontKey aKey);
|
||||
|
||||
extern void gfx_critical_note(const char *aMsg);
|
||||
|
||||
extern bool gfx_use_wrench();
|
||||
|
|
|
@ -153,6 +153,9 @@ USE_LIBS += [
|
|||
'static:js',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_NEEDS_LIBATOMIC']:
|
||||
OS_LIBS += ['atomic']
|
||||
|
||||
OS_LIBS += CONFIG['MOZ_ZLIB_LIBS']
|
||||
|
||||
if CONFIG['GNU_CXX']:
|
||||
|
|
|
@ -563,7 +563,7 @@ load 944909-1.html
|
|||
load 946167-1.html
|
||||
load 947158.html
|
||||
load 949932.html
|
||||
asserts-if(Android,0-1) load 964078.html # bug 989718
|
||||
load 964078.html
|
||||
load 970710.html
|
||||
load 973701-1.xhtml
|
||||
load 973701-2.xhtml
|
||||
|
|
|
@ -60,10 +60,10 @@
|
|||
== text-boundaries-subpixel.html text-boundaries-subpixel-ref.html
|
||||
== counter-hebrew-test.html counter-hebrew-reference.html
|
||||
== counters-hebrew-test.html counters-hebrew-reference.html
|
||||
fails-if(xulRuntime.XPCOMABI.match(/arm/)) == counter-reset-integer-range.html counter-reset-integer-range-ref.html # bug 989718
|
||||
== counter-reset-integer-range.html counter-reset-integer-range-ref.html
|
||||
== counter-ua-limits-00.html counter-ua-limits-00-ref.html
|
||||
== counter-ua-limits-01.html counter-ua-limits-01-ref.html
|
||||
fails-if(xulRuntime.XPCOMABI.match(/arm/)) == counter-ua-limits-02.html counter-ua-limits-02-ref.html # bug 989718
|
||||
== counter-ua-limits-02.html counter-ua-limits-02-ref.html
|
||||
== counter-ua-limits-03.html counter-ua-limits-03-ref.html
|
||||
== counter-ua-limits-list-00.html counter-ua-limits-list-00-ref.html
|
||||
== counter-ua-limits-list-01.html counter-ua-limits-list-01-ref.html
|
||||
|
|
|
@ -7,6 +7,10 @@ if [ "x$IS_NIGHTLY" = "xyes" ]; then
|
|||
MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}
|
||||
fi
|
||||
|
||||
if [ -z "$NO_NDK" ]; then
|
||||
. "$topsrcdir/build/mozconfig.stylo"
|
||||
fi
|
||||
|
||||
MOZ_AUTOMATION_L10N_CHECK=0
|
||||
. "$topsrcdir/build/mozconfig.common"
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
[
|
||||
{
|
||||
"version": "Android NDK r11c",
|
||||
"size": 299040511,
|
||||
"version": "Android NDK r15c + LLVM",
|
||||
"size": 403602514,
|
||||
"visibility": "internal",
|
||||
"digest": "0f9ba6efbc5379225ebe13b956b9f19d055654f9b0ae999b1eb18ca836e1665be820bcc05193ba24c9a328a1bfea63fe814c1f364b28ae29266effaa04eedbee",
|
||||
"digest": "8515b8f615935e9ee81c1ada55ec46a9ebd46ca095b33bf2bf34d794b7737ffa8f32b4e3f410d3f63e2f2510fef7a5836a72c34b942a0687af8ca5a5d50efdb6",
|
||||
"algorithm": "sha512",
|
||||
"filename": "android-ndk.tar.bz2",
|
||||
"unpack": true
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
[
|
||||
{
|
||||
"version": "Android NDK r11c",
|
||||
"size": 299040511,
|
||||
"version": "Android NDK r15c + LLVM",
|
||||
"size": 403602514,
|
||||
"visibility": "internal",
|
||||
"digest": "0f9ba6efbc5379225ebe13b956b9f19d055654f9b0ae999b1eb18ca836e1665be820bcc05193ba24c9a328a1bfea63fe814c1f364b28ae29266effaa04eedbee",
|
||||
"digest": "8515b8f615935e9ee81c1ada55ec46a9ebd46ca095b33bf2bf34d794b7737ffa8f32b4e3f410d3f63e2f2510fef7a5836a72c34b942a0687af8ca5a5d50efdb6",
|
||||
"algorithm": "sha512",
|
||||
"filename": "android-ndk.tar.bz2",
|
||||
"unpack": true
|
||||
|
|
|
@ -96,7 +96,7 @@
|
|||
"bn-BD": {
|
||||
"default": {
|
||||
"visibleDefaultEngines": [
|
||||
"google", "yahoo", "bing", "ddg", "wikipedia-bn"
|
||||
"google", "yahoo", "bing", "duckduckgo", "wikipedia-bn"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
|
@ -43,6 +43,7 @@ nsInputStreamPump::nsInputStreamPump()
|
|||
, mWaitingForInputStreamReady(false)
|
||||
, mCloseWhenDone(false)
|
||||
, mRetargeting(false)
|
||||
, mAsyncStreamIsBuffered(false)
|
||||
, mMutex("nsInputStreamPump")
|
||||
{
|
||||
}
|
||||
|
@ -714,7 +715,7 @@ nsInputStreamPump::OnStateStop()
|
|||
nsresult
|
||||
nsInputStreamPump::CreateBufferedStreamIfNeeded()
|
||||
{
|
||||
if (mAsyncStream) {
|
||||
if (mAsyncStreamIsBuffered) {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -722,6 +723,7 @@ nsInputStreamPump::CreateBufferedStreamIfNeeded()
|
|||
// it, we wrap a nsIBufferedInputStream around it, if needed.
|
||||
|
||||
if (NS_InputStreamIsBuffered(mAsyncStream)) {
|
||||
mAsyncStreamIsBuffered = true;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -733,6 +735,7 @@ nsInputStreamPump::CreateBufferedStreamIfNeeded()
|
|||
// A buffered inputStream must implement nsIAsyncInputStream.
|
||||
mAsyncStream = do_QueryInterface(stream);
|
||||
MOZ_DIAGNOSTIC_ASSERT(mAsyncStream);
|
||||
mAsyncStreamIsBuffered = true;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
|
@ -100,6 +100,7 @@ protected:
|
|||
bool mWaitingForInputStreamReady;
|
||||
bool mCloseWhenDone;
|
||||
bool mRetargeting;
|
||||
bool mAsyncStreamIsBuffered;
|
||||
// Protects state/member var accesses across multiple threads.
|
||||
mozilla::RecursiveMutex mMutex;
|
||||
};
|
||||
|
|
|
@ -49,11 +49,8 @@ PRTimeFromSeconds(uint32_t seconds)
|
|||
|
||||
|
||||
nsresult
|
||||
ClientIDFromCacheKey(const nsACString& key, char ** result)
|
||||
ClientIDFromCacheKey(const nsACString& key, nsACString& result)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
*result = nullptr;
|
||||
|
||||
nsReadingIterator<char> colon;
|
||||
key.BeginReading(colon);
|
||||
|
||||
|
@ -64,21 +61,18 @@ ClientIDFromCacheKey(const nsACString& key, char ** result)
|
|||
key.EndReading(end);
|
||||
|
||||
if (FindCharInReadable(':', colon, end)) {
|
||||
*result = ToNewCString( Substring(start, colon));
|
||||
if (!*result) rv = NS_ERROR_OUT_OF_MEMORY;
|
||||
} else {
|
||||
NS_ASSERTION(false, "FindCharInRead failed to find ':'");
|
||||
rv = NS_ERROR_UNEXPECTED;
|
||||
result.Assign(Substring(start, colon));
|
||||
return NS_OK;
|
||||
}
|
||||
return rv;
|
||||
|
||||
NS_ASSERTION(false, "FindCharInRead failed to find ':'");
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
|
||||
|
||||
nsresult
|
||||
ClientKeyFromCacheKey(const nsCString& key, nsACString &result)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
|
||||
nsReadingIterator<char> start;
|
||||
key.BeginReading(start);
|
||||
|
||||
|
@ -88,10 +82,10 @@ ClientKeyFromCacheKey(const nsCString& key, nsACString &result)
|
|||
if (FindCharInReadable(':', start, end)) {
|
||||
++start; // advance past clientID ':' delimiter
|
||||
result.Assign(Substring(start, end));
|
||||
} else {
|
||||
NS_ASSERTION(false, "FindCharInRead failed to find ':'");
|
||||
rv = NS_ERROR_UNEXPECTED;
|
||||
result.Truncate(0);
|
||||
return NS_OK;
|
||||
}
|
||||
return rv;
|
||||
|
||||
NS_ASSERTION(false, "FindCharInRead failed to find ':'");
|
||||
result.Truncate(0);
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
|
|
|
@ -35,8 +35,8 @@ extern uint32_t SecondsFromPRTime(PRTime prTime);
|
|||
extern PRTime PRTimeFromSeconds(uint32_t seconds);
|
||||
|
||||
|
||||
extern nsresult ClientIDFromCacheKey(const nsACString& key, char ** result);
|
||||
extern nsresult ClientKeyFromCacheKey(const nsCString& key, nsACString &result);
|
||||
extern nsresult ClientIDFromCacheKey(const nsACString& key, nsACString& result);
|
||||
extern nsresult ClientKeyFromCacheKey(const nsCString& key, nsACString& result);
|
||||
|
||||
|
||||
#endif // _nsCache_h
|
||||
|
|
|
@ -272,23 +272,27 @@ NS_IMPL_ISUPPORTS(nsCacheEntryInfo, nsICacheEntryInfo)
|
|||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCacheEntryInfo::GetClientID(char ** clientID)
|
||||
nsCacheEntryInfo::GetClientID(nsACString& aClientID)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(clientID);
|
||||
if (!mCacheEntry) return NS_ERROR_NOT_AVAILABLE;
|
||||
if (!mCacheEntry) {
|
||||
aClientID.Truncate();
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
|
||||
return ClientIDFromCacheKey(*mCacheEntry->Key(), clientID);
|
||||
return ClientIDFromCacheKey(*mCacheEntry->Key(), aClientID);
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCacheEntryInfo::GetDeviceID(char ** deviceID)
|
||||
nsCacheEntryInfo::GetDeviceID(nsACString& aDeviceID)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(deviceID);
|
||||
if (!mCacheEntry) return NS_ERROR_NOT_AVAILABLE;
|
||||
if (!mCacheEntry) {
|
||||
aDeviceID.Truncate();
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
|
||||
*deviceID = NS_strdup(mCacheEntry->GetDeviceID());
|
||||
return *deviceID ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
|
||||
aDeviceID.Assign(mCacheEntry->GetDeviceID());
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -111,32 +111,29 @@ nsCacheEntryDescriptor::~nsCacheEntryDescriptor()
|
|||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCacheEntryDescriptor::GetClientID(char ** result)
|
||||
nsCacheEntryDescriptor::GetClientID(nsACString& aClientID)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(result);
|
||||
|
||||
nsCacheServiceAutoLock lock(LOCK_TELEM(NSCACHEENTRYDESCRIPTOR_GETCLIENTID));
|
||||
if (!mCacheEntry) return NS_ERROR_NOT_AVAILABLE;
|
||||
if (!mCacheEntry) {
|
||||
aClientID.Truncate();
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
|
||||
return ClientIDFromCacheKey(*(mCacheEntry->Key()), result);
|
||||
return ClientIDFromCacheKey(*(mCacheEntry->Key()), aClientID);
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsCacheEntryDescriptor::GetDeviceID(char ** aDeviceID)
|
||||
nsCacheEntryDescriptor::GetDeviceID(nsACString& aDeviceID)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aDeviceID);
|
||||
nsCacheServiceAutoLock lock(LOCK_TELEM(NSCACHEENTRYDESCRIPTOR_GETDEVICEID));
|
||||
if (!mCacheEntry) return NS_ERROR_NOT_AVAILABLE;
|
||||
|
||||
const char* deviceID = mCacheEntry->GetDeviceID();
|
||||
if (!deviceID) {
|
||||
*aDeviceID = nullptr;
|
||||
return NS_OK;
|
||||
if (!mCacheEntry) {
|
||||
aDeviceID.Truncate();
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
|
||||
*aDeviceID = NS_strdup(deviceID);
|
||||
return *aDeviceID ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
|
||||
aDeviceID.Assign(mCacheEntry->GetDeviceID());
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -197,16 +197,14 @@ private:
|
|||
|
||||
NS_IMPL_ISUPPORTS(nsDiskCacheDeviceInfo, nsICacheDeviceInfo)
|
||||
|
||||
NS_IMETHODIMP nsDiskCacheDeviceInfo::GetDescription(char ** aDescription)
|
||||
NS_IMETHODIMP nsDiskCacheDeviceInfo::GetDescription(nsACString& aDescription)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aDescription);
|
||||
*aDescription = NS_strdup("Disk cache device");
|
||||
return *aDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
|
||||
aDescription.AssignLiteral("Disk cache device");
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsDiskCacheDeviceInfo::GetUsageReport(char ** usageReport)
|
||||
NS_IMETHODIMP nsDiskCacheDeviceInfo::GetUsageReport(nsACString& aUsageReport)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(usageReport);
|
||||
nsCString buffer;
|
||||
|
||||
buffer.AssignLiteral(" <tr>\n"
|
||||
|
@ -224,9 +222,7 @@ NS_IMETHODIMP nsDiskCacheDeviceInfo::GetUsageReport(char ** usageReport)
|
|||
buffer.AppendLiteral("</td>\n"
|
||||
" </tr>\n");
|
||||
|
||||
*usageReport = ToNewCString(buffer);
|
||||
if (!*usageReport) return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
aUsageReport.Assign(buffer);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -348,14 +348,14 @@ private:
|
|||
NS_IMPL_ISUPPORTS(nsOfflineCacheDeviceInfo, nsICacheDeviceInfo)
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsOfflineCacheDeviceInfo::GetDescription(char **aDescription)
|
||||
nsOfflineCacheDeviceInfo::GetDescription(nsACString& aDescription)
|
||||
{
|
||||
*aDescription = NS_strdup("Offline cache device");
|
||||
return *aDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
|
||||
aDescription.AssignLiteral("Offline cache device");
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsOfflineCacheDeviceInfo::GetUsageReport(char ** usageReport)
|
||||
nsOfflineCacheDeviceInfo::GetUsageReport(nsACString& aUsageReport)
|
||||
{
|
||||
nsAutoCString buffer;
|
||||
buffer.AssignLiteral(" <tr>\n"
|
||||
|
@ -375,10 +375,7 @@ nsOfflineCacheDeviceInfo::GetUsageReport(char ** usageReport)
|
|||
buffer.AppendLiteral("</td>\n"
|
||||
" </tr>\n");
|
||||
|
||||
*usageReport = ToNewCString(buffer);
|
||||
if (!*usageReport)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
aUsageReport.Assign(buffer);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -590,17 +587,17 @@ public:
|
|||
NS_IMPL_ISUPPORTS(nsOfflineCacheEntryInfo, nsICacheEntryInfo)
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsOfflineCacheEntryInfo::GetClientID(char **result)
|
||||
nsOfflineCacheEntryInfo::GetClientID(nsACString& aClientID)
|
||||
{
|
||||
*result = NS_strdup(mRec->clientID);
|
||||
return *result ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
|
||||
aClientID.Assign(mRec->clientID);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsOfflineCacheEntryInfo::GetDeviceID(char ** deviceID)
|
||||
nsOfflineCacheEntryInfo::GetDeviceID(nsACString& aDeviceID)
|
||||
{
|
||||
*deviceID = NS_strdup(OFFLINE_CACHE_DEVICE_ID);
|
||||
return *deviceID ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
|
||||
aDeviceID.Assign(OFFLINE_CACHE_DEVICE_ID);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
|
|
@ -70,18 +70,16 @@ nsDiskCacheEntry::CreateCacheEntry(nsCacheDevice * device)
|
|||
|
||||
NS_IMPL_ISUPPORTS(nsDiskCacheEntryInfo, nsICacheEntryInfo)
|
||||
|
||||
NS_IMETHODIMP nsDiskCacheEntryInfo::GetClientID(char ** clientID)
|
||||
NS_IMETHODIMP nsDiskCacheEntryInfo::GetClientID(nsACString& aClientID)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(clientID);
|
||||
return ClientIDFromCacheKey(nsDependentCString(mDiskEntry->Key()), clientID);
|
||||
return ClientIDFromCacheKey(nsDependentCString(mDiskEntry->Key()), aClientID);
|
||||
}
|
||||
|
||||
extern const char DISK_CACHE_DEVICE_ID[];
|
||||
NS_IMETHODIMP nsDiskCacheEntryInfo::GetDeviceID(char ** deviceID)
|
||||
NS_IMETHODIMP nsDiskCacheEntryInfo::GetDeviceID(nsACString& aDeviceID)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(deviceID);
|
||||
*deviceID = NS_strdup(mDeviceID);
|
||||
return *deviceID ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
|
||||
aDeviceID.Assign(mDeviceID);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -48,13 +48,13 @@ interface nsICacheDeviceInfo : nsISupports
|
|||
/**
|
||||
* Get a human readable description of the cache device.
|
||||
*/
|
||||
readonly attribute string description;
|
||||
readonly attribute ACString description;
|
||||
|
||||
/**
|
||||
* Get a usage report, statistics, miscellaneous data about
|
||||
* the cache device.
|
||||
*/
|
||||
readonly attribute string usageReport;
|
||||
readonly attribute ACString usageReport;
|
||||
|
||||
/**
|
||||
* Get the number of stored cache entries.
|
||||
|
@ -79,12 +79,12 @@ interface nsICacheEntryInfo : nsISupports
|
|||
/**
|
||||
* Get the client id associated with this cache entry.
|
||||
*/
|
||||
readonly attribute string clientID;
|
||||
readonly attribute ACString clientID;
|
||||
|
||||
/**
|
||||
* Get the id for the device that stores this cache entry.
|
||||
*/
|
||||
readonly attribute string deviceID;
|
||||
readonly attribute ACString deviceID;
|
||||
|
||||
/**
|
||||
* Get the key identifying the cache entry.
|
||||
|
|
|
@ -563,20 +563,17 @@ NS_IMPL_ISUPPORTS(nsMemoryCacheDeviceInfo, nsICacheDeviceInfo)
|
|||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsMemoryCacheDeviceInfo::GetDescription(char ** result)
|
||||
nsMemoryCacheDeviceInfo::GetDescription(nsACString& aDescription)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(result);
|
||||
*result = NS_strdup("Memory cache device");
|
||||
if (!*result) return NS_ERROR_OUT_OF_MEMORY;
|
||||
aDescription.AssignLiteral("Memory cache device");
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsMemoryCacheDeviceInfo::GetUsageReport(char ** result)
|
||||
nsMemoryCacheDeviceInfo::GetUsageReport(nsACString& aUsageReport)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(result);
|
||||
nsCString buffer;
|
||||
nsCString buffer;
|
||||
|
||||
buffer.AssignLiteral(" <tr>\n"
|
||||
" <th>Inactive storage:</th>\n"
|
||||
|
@ -585,8 +582,7 @@ nsMemoryCacheDeviceInfo::GetUsageReport(char ** result)
|
|||
buffer.AppendLiteral(" KiB</td>\n"
|
||||
" </tr>\n");
|
||||
|
||||
*result = ToNewCString(buffer);
|
||||
if (!*result) return NS_ERROR_OUT_OF_MEMORY;
|
||||
aUsageReport.Assign(buffer);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -207,8 +207,8 @@ NS_IMETHODIMP _OldVisitCallbackWrapper::VisitEntry(const char * deviceID,
|
|||
*_retval = true;
|
||||
|
||||
// Read all informative properties from the entry.
|
||||
nsCString clientId;
|
||||
rv = entryInfo->GetClientID(getter_Copies(clientId));
|
||||
nsAutoCString clientId;
|
||||
rv = entryInfo->GetClientID(clientId);
|
||||
if (NS_FAILED(rv))
|
||||
return NS_OK;
|
||||
|
||||
|
|
|
@ -1158,4 +1158,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
|||
|
||||
static const int32_t kUnknownId = -1;
|
||||
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1517682914510000);
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1517769063230000);
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -8,7 +8,7 @@
|
|||
/*****************************************************************************/
|
||||
|
||||
#include <stdint.h>
|
||||
const PRTime gPreloadListExpirationTime = INT64_C(1520102102086000);
|
||||
const PRTime gPreloadListExpirationTime = INT64_C(1520188250195000);
|
||||
%%
|
||||
0.me.uk, 1
|
||||
00001.am, 1
|
||||
|
@ -138,7 +138,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1520102102086000);
|
|||
1750studios.com, 0
|
||||
17hats.com, 1
|
||||
1844329061.rsc.cdn77.org, 1
|
||||
188522.com, 0
|
||||
18888msc.com, 1
|
||||
1888zr.com, 1
|
||||
188dv.com, 1
|
||||
|
@ -447,7 +446,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1520102102086000);
|
|||
99599.net, 1
|
||||
99buffets.com, 1
|
||||
99rst.org, 1
|
||||
9iwan.net, 1
|
||||
9jadirect.com, 1
|
||||
9ss6.com, 1
|
||||
9uelle.jp, 1
|
||||
|
@ -617,6 +615,7 @@ achenar.net, 1
|
|||
achow101.com, 1
|
||||
achromatisch.de, 1
|
||||
achterhoekseveiligheidsbeurs.nl, 1
|
||||
achterstieg.dedyn.io, 1
|
||||
achtzehn.eu, 1
|
||||
achtzehnterachter.de, 1
|
||||
acidbin.co, 1
|
||||
|
@ -762,7 +761,6 @@ adrenaline-gaming.ru, 1
|
|||
adrianajewelry.my, 1
|
||||
adrianbechtold.de, 1
|
||||
adriancitu.com, 1
|
||||
adriancohea.ninja, 1
|
||||
adriancostin.ro, 1
|
||||
adrianmejias.com, 1
|
||||
adrienkohlbecker.com, 1
|
||||
|
@ -1196,7 +1194,6 @@ allinagency.com, 1
|
|||
allinone-ranking150.com, 1
|
||||
allinonecyprus.com, 1
|
||||
allis.studio, 1
|
||||
allladyboys.com, 1
|
||||
allmebel.ru, 1
|
||||
allmend-ru.de, 1
|
||||
allns.fr, 1
|
||||
|
@ -1377,8 +1374,6 @@ anaiscoachpersonal.es, 1
|
|||
anaisypirueta.es, 1
|
||||
anakros.me, 0
|
||||
analgesia.net, 1
|
||||
analpantyhose.org, 1
|
||||
analteengirls.net, 1
|
||||
analyticsinmotion.com, 1
|
||||
analyticum.at, 1
|
||||
analyticum.com, 1
|
||||
|
@ -2161,7 +2156,6 @@ audialbuquerqueparts.com, 1
|
|||
audiblox.co.za, 1
|
||||
audiense.com, 1
|
||||
audio-detector.com, 1
|
||||
audiolibri.org, 1
|
||||
audiophile.ch, 1
|
||||
audiorental.net, 1
|
||||
audisto.com, 1
|
||||
|
@ -2471,7 +2465,6 @@ baliyano.com, 1
|
|||
balkonien.org, 1
|
||||
ball.holdings, 1
|
||||
ballarin.cc, 1
|
||||
ballbusting-cbt.com, 1
|
||||
ballejaune.com, 1
|
||||
ballmerpeak.org, 1
|
||||
ballonsportclub-erlangen.de, 1
|
||||
|
@ -2645,12 +2638,10 @@ bblove.me, 1
|
|||
bblsa.ch, 1
|
||||
bbnx.net, 1
|
||||
bbuio.com, 1
|
||||
bbw-wrestling.com, 1
|
||||
bbw.dating, 1
|
||||
bbwcs.co.uk, 1
|
||||
bbwf.de, 1
|
||||
bbwfacesitting.us, 1
|
||||
bbwteens.org, 1
|
||||
bc-bd.org, 1
|
||||
bc-diffusion.com, 1
|
||||
bcbulle.ch, 1
|
||||
|
@ -2670,7 +2661,6 @@ bda-boulevarddesairs.com, 1
|
|||
bdd.fi, 1
|
||||
bdenzer.xyz, 1
|
||||
bdikaros-network.net, 1
|
||||
bdsmxxxpics.com, 1
|
||||
bdvg.org, 1
|
||||
be-ka-tec.de, 1
|
||||
be-webdesign.com, 1
|
||||
|
@ -2914,6 +2904,7 @@ besthotsales.com, 1
|
|||
bestlashesandbrows.com, 1
|
||||
bestlashesandbrows.hu, 1
|
||||
bestleftwild.com, 1
|
||||
bestmodels.su, 1
|
||||
bestmotherfucking.website, 1
|
||||
bestperfumebrands.com, 1
|
||||
bestschools.top, 1
|
||||
|
@ -3489,7 +3480,6 @@ bodymusclejournal.com, 1
|
|||
bodyworkbymichael.com, 1
|
||||
boeddhashop.nl, 1
|
||||
boekenlegger.nl, 1
|
||||
boel073.nl, 1
|
||||
boernecancerfonden.dk, 1
|
||||
bogdanepureanu.ro, 1
|
||||
bogner.sh, 1
|
||||
|
@ -3897,7 +3887,6 @@ btserv.de, 1
|
|||
btsoft.eu, 1
|
||||
btsow.com, 1
|
||||
btth.pl, 1
|
||||
btxiaobai.com, 1
|
||||
bubba.cc, 1
|
||||
bubblegumblog.com, 1
|
||||
bubblespetspa.com, 1
|
||||
|
@ -4878,7 +4867,6 @@ chowii.com, 1
|
|||
chris-edwards.net, 1
|
||||
chrisb.me, 1
|
||||
chrisb.xyz, 1
|
||||
chrisburnell.com, 1
|
||||
chriscarey.com, 1
|
||||
chriscowley.me.uk, 1
|
||||
chrisdecairos.ca, 1
|
||||
|
@ -5060,7 +5048,6 @@ cjdpenterprises.com.au, 1
|
|||
cjessett.com, 1
|
||||
cjey.me, 1
|
||||
cjr.host, 1
|
||||
cjtkfan.club, 1
|
||||
ck.cx, 1
|
||||
ckennelly.com, 1
|
||||
ckleemann.de, 1
|
||||
|
@ -5151,7 +5138,6 @@ closeli.com, 0
|
|||
closelinksecurity.co.uk, 1
|
||||
closelinksecurity.com, 1
|
||||
closetemail.com, 1
|
||||
closient.com, 1
|
||||
closingholding.com, 1
|
||||
cloud-crowd.com.au, 1
|
||||
cloud-surfer.net, 1
|
||||
|
@ -6470,6 +6456,7 @@ davidnadaski.com, 1
|
|||
davidpearce.com, 1
|
||||
davidpearce.org, 1
|
||||
davidschadlich.com, 1
|
||||
davidscherzer.at, 1
|
||||
davidschlachter.com, 1
|
||||
davidstuff.net, 1
|
||||
davie3.com, 1
|
||||
|
@ -6959,6 +6946,7 @@ dicionarioetimologico.com.br, 1
|
|||
dicionariopopular.com, 1
|
||||
dick.red, 1
|
||||
dickieslife.com, 1
|
||||
dicoding.com, 1
|
||||
didacte.com, 1
|
||||
didche.net, 1
|
||||
diddens.de, 1
|
||||
|
@ -6992,8 +6980,8 @@ dieti.net, 1
|
|||
dietrich.cx, 1
|
||||
dieumfrage.com, 1
|
||||
diff2html.xyz, 1
|
||||
different.cz, 1
|
||||
differenta.ro, 1
|
||||
different.cz, 0
|
||||
differenta.ro, 0
|
||||
diffnow.com, 1
|
||||
difoosion.com, 1
|
||||
digcit.org, 1
|
||||
|
@ -8421,7 +8409,7 @@ epistas.de, 1
|
|||
epizentrum.work, 1
|
||||
epizentrum.works, 1
|
||||
epmcentroitalia.it, 1
|
||||
epoch.com, 1
|
||||
epoch.com, 0
|
||||
epolitiker.com, 1
|
||||
epos-distributor.co.uk, 1
|
||||
eposbirmingham.co.uk, 1
|
||||
|
@ -8549,7 +8537,6 @@ escapeplaza.de, 1
|
|||
escargotbistro.com, 1
|
||||
escavador.com, 1
|
||||
esclear.de, 1
|
||||
escolaengenharia.com.br, 1
|
||||
escontact.ch, 1
|
||||
escortdisplay.com, 1
|
||||
escortmantra.com, 1
|
||||
|
@ -8641,7 +8628,6 @@ eteapparel.com, 1
|
|||
eteesheet.com, 1
|
||||
etelej.com, 0
|
||||
etenendrinken.nu, 1
|
||||
eternalabyss.int.eu.org, 1
|
||||
eth-faucet.net, 1
|
||||
eth0.nl, 1
|
||||
etha.nz, 1
|
||||
|
@ -8876,6 +8862,7 @@ expo-europe.ru, 1
|
|||
expokohler.com, 1
|
||||
exponentialnews.net, 1
|
||||
exporta.cz, 1
|
||||
expoundite.net, 1
|
||||
expowerhps.com, 1
|
||||
express-shina.ru, 1
|
||||
expressemotion.net, 1
|
||||
|
@ -9216,7 +9203,6 @@ felixsanz.com, 1
|
|||
felixseele.de, 1
|
||||
felsing.net, 1
|
||||
femanca.com, 1
|
||||
femdombbw.com, 1
|
||||
feminina.pt, 1
|
||||
femradio.es, 1
|
||||
femtomind.com, 1
|
||||
|
@ -9629,7 +9615,7 @@ fol.tf, 1
|
|||
foliekonsulenten.dk, 1
|
||||
folioapp.io, 1
|
||||
foljeton.dk, 1
|
||||
folkadelic.de, 0
|
||||
folkadelic.de, 1
|
||||
folkfests.org, 1
|
||||
follandviolins.com, 1
|
||||
followback.net, 1
|
||||
|
@ -9841,6 +9827,7 @@ freaksites.dk, 1
|
|||
frebi.org, 1
|
||||
frebib.net, 1
|
||||
freddythechick.uk, 1
|
||||
frederik-braun.com, 1
|
||||
frederikschoell.de, 0
|
||||
fredliang.cn, 1
|
||||
fredloya.com, 1
|
||||
|
@ -10073,7 +10060,6 @@ funksteckdosen24.de, 0
|
|||
funktionel.co, 1
|
||||
funnelweb.xyz, 1
|
||||
funniestclip.com, 1
|
||||
funny-joke-pictures.com, 1
|
||||
funnybikini.com, 1
|
||||
funoverip.net, 1
|
||||
funspins.com, 1
|
||||
|
@ -10296,13 +10282,10 @@ gauthier.dk, 1
|
|||
gautvedt.no, 1
|
||||
gavick.com, 0
|
||||
gavins.stream, 1
|
||||
gay-sissies.com, 1
|
||||
gaycc.cc, 1
|
||||
gayforgenji.com, 1
|
||||
gaygeeks.de, 1
|
||||
gaysfisting.com, 1
|
||||
gaytorrent.ru, 1
|
||||
gayxsite.com, 1
|
||||
gazee.net, 1
|
||||
gazellegames.net, 0
|
||||
gazette.govt.nz, 1
|
||||
|
@ -10488,6 +10471,7 @@ get-asterisk.ru, 1
|
|||
get-erp.ru, 1
|
||||
get-link.info, 1
|
||||
get-on.bid, 1
|
||||
get-refer.com, 1
|
||||
get4x.com, 1
|
||||
geta.pub, 1
|
||||
getbox.me, 1
|
||||
|
@ -10656,7 +10640,6 @@ gixtools.co.uk, 1
|
|||
gixtools.com, 1
|
||||
gixtools.net, 1
|
||||
gixtools.uk, 1
|
||||
gizmo.ovh, 1
|
||||
gj-bochum.de, 1
|
||||
gjcampbell.co.uk, 1
|
||||
gjengset.com, 1
|
||||
|
@ -11810,6 +11793,7 @@ hips.com, 1
|
|||
hipstercat.fr, 1
|
||||
hiqfleet.co.uk, 1
|
||||
hiqfranchise.co.uk, 1
|
||||
hiqhub.co.uk, 1
|
||||
hiqonline.co.uk, 1
|
||||
hirake55.com, 1
|
||||
hiraku.me, 1
|
||||
|
@ -11889,7 +11873,6 @@ hoflerlawfirm.com, 1
|
|||
hogl.dk, 1
|
||||
hohm.in, 1
|
||||
hohnet.com, 1
|
||||
hoiku-navi.com, 1
|
||||
hoikuen-now.top, 1
|
||||
hoken-wakaru.jp, 1
|
||||
hokieprivacy.org, 1
|
||||
|
@ -11998,7 +11981,6 @@ horeizai.net, 1
|
|||
horizonhomes-samui.com, 1
|
||||
horizonshypnosis.ca, 1
|
||||
horkel.cf, 1
|
||||
horning.co, 1
|
||||
hornyforhanzo.com, 1
|
||||
horodance.dk, 1
|
||||
horrendous-servers.com, 1
|
||||
|
@ -12850,7 +12832,7 @@ instagramtweet.com, 1
|
|||
installgentoo.net, 1
|
||||
instant-hack.io, 1
|
||||
instant.io, 1
|
||||
instantsubs.de, 1
|
||||
instantkhabar.com, 1
|
||||
instasex.ch, 1
|
||||
instava.cz, 1
|
||||
instawi.com, 1
|
||||
|
@ -13374,7 +13356,6 @@ jakarta.dating, 1
|
|||
jake.eu.org, 1
|
||||
jake.ml, 1
|
||||
jake.nom.za, 1
|
||||
jakecurtis.de, 1
|
||||
jakeguild.com, 1
|
||||
jakenbake.com, 1
|
||||
jakereynolds.co, 1
|
||||
|
@ -13615,6 +13596,7 @@ jetsieswerda.nl, 1
|
|||
jettlarue.com, 1
|
||||
jetwhiz.com, 1
|
||||
jetzt-elektromobil.de, 1
|
||||
jeugdkans.nl, 1
|
||||
jeva.nl, 1
|
||||
jevisite.ca, 1
|
||||
jeweet.net, 1
|
||||
|
@ -13876,10 +13858,9 @@ joworld.net, 1
|
|||
joyceclerkx.com, 1
|
||||
joyful.house, 1
|
||||
joyfulexpressions.gallery, 1
|
||||
joyofcookingandbaking.com, 1
|
||||
jpdeharenne.be, 1
|
||||
jpeg.io, 1
|
||||
jpgangbang.com, 1
|
||||
jphandjob.com, 1
|
||||
jpmelos.com, 1
|
||||
jpmelos.com.br, 1
|
||||
jpod.cc, 1
|
||||
|
@ -14711,6 +14692,7 @@ konijntjes.nl, 1
|
|||
konings.it, 1
|
||||
koningskwartiertje.nl, 1
|
||||
konklone.com, 1
|
||||
konkurs.ba, 1
|
||||
konoe.studio, 1
|
||||
konosuke.jp, 1
|
||||
konsertoversikt.no, 1
|
||||
|
@ -14853,7 +14835,6 @@ ks-watch.de, 1
|
|||
kschv-rdeck.de, 1
|
||||
ksero.center, 1
|
||||
kshlm.in, 1
|
||||
ksukelife.com, 1
|
||||
kswcosmetics.com, 1
|
||||
ktbnetbank.com, 1
|
||||
kteen.info, 1
|
||||
|
@ -15104,7 +15085,6 @@ lanyang.tk, 1
|
|||
lanzamientovirtual.es, 1
|
||||
lanzarote-online.info, 1
|
||||
laos.dating, 1
|
||||
laospage.com, 1
|
||||
laozhu.me, 1
|
||||
lapassiondutrading.com, 1
|
||||
lapetition.be, 1
|
||||
|
@ -15185,6 +15165,7 @@ laughinggrapepublishing.com, 1
|
|||
laukstein.com, 1
|
||||
launchpad-app2.com, 1
|
||||
lauraandwill.wedding, 1
|
||||
laurakashiwase.com, 1
|
||||
laurasplacefamilysupport.org.au, 1
|
||||
laurelblack.com, 1
|
||||
laurelspaandlash.com, 1
|
||||
|
@ -15415,8 +15396,6 @@ les-ateliers-de-melineo.be, 1
|
|||
les-pingouins.com, 1
|
||||
lesancheslibres.fr, 1
|
||||
lesberger.ch, 1
|
||||
lesbiansslaves.com, 1
|
||||
lesbofight.com, 1
|
||||
lescomptoirsdepierrot.com, 1
|
||||
lesdouceursdeliyana.com, 1
|
||||
leseditionsbraquage.com, 1
|
||||
|
@ -16373,7 +16352,6 @@ malaysian.dating, 1
|
|||
maldives.cx, 1
|
||||
maleexcel.com, 1
|
||||
malenyflorist.com.au, 1
|
||||
malesbdsm.com, 1
|
||||
malgraph.net, 1
|
||||
maliar.fr, 1
|
||||
malibubeachrecoverycenter.com, 1
|
||||
|
@ -16736,7 +16714,6 @@ mattli.us, 1
|
|||
mattmccutchen.net, 1
|
||||
mattonline.me, 1
|
||||
mattwb65.com, 1
|
||||
mattwservices.co.uk, 1
|
||||
matviet.vn, 1
|
||||
matze.co, 1
|
||||
matze.org, 1
|
||||
|
@ -16797,6 +16774,7 @@ mazda626.net, 1
|
|||
maze.fr, 1
|
||||
mazternet.ru, 1
|
||||
mazurlabs.tk, 1
|
||||
mazzotta.me, 1
|
||||
mb-is.info, 1
|
||||
mbaestlein.de, 1
|
||||
mbardot.com, 1
|
||||
|
@ -17149,7 +17127,6 @@ meu-solutions.com, 1
|
|||
meulike.us, 1
|
||||
meupedido.online, 1
|
||||
meusigno.com, 1
|
||||
mevo.xyz, 1
|
||||
mevs.cz, 1
|
||||
mexican.dating, 1
|
||||
mexicom.org, 1
|
||||
|
@ -18151,6 +18128,7 @@ mylawyer.be, 1
|
|||
myleanfactory.de, 1
|
||||
mylene-chandelier.me, 1
|
||||
mylifeabundant.com, 1
|
||||
mylighthost.com, 1
|
||||
myliveupdates.com, 1
|
||||
mylocalsearch.co.uk, 1
|
||||
mylookout.com, 0
|
||||
|
@ -19246,7 +19224,6 @@ nyiad.edu, 1
|
|||
nyip.co.uk, 1
|
||||
nyip.edu, 1
|
||||
nyloc.de, 1
|
||||
nylonfeetporn.com, 1
|
||||
nymphetomania.net, 1
|
||||
nynex.net, 1
|
||||
nyphox.ovh, 1
|
||||
|
@ -19273,7 +19250,6 @@ oatberry.me, 0
|
|||
oauth-dropins.appspot.com, 0
|
||||
obamalibrary.gov, 1
|
||||
obdolbacca.ru, 1
|
||||
oben.pl, 1
|
||||
oberam.de, 1
|
||||
oberhof.co, 1
|
||||
oberhofdrinks.com, 1
|
||||
|
@ -19920,7 +19896,7 @@ paint-it.pink, 1
|
|||
paio2-rec.com, 1
|
||||
paio2.com, 1
|
||||
paipuman.jp, 1
|
||||
paizinhovirgula.com, 0
|
||||
paizinhovirgula.com, 1
|
||||
pajadam.me, 1
|
||||
pajowu.de, 1
|
||||
pajuvuo.fi, 1
|
||||
|
@ -20212,6 +20188,7 @@ paystack.com, 1
|
|||
paytm.in, 1
|
||||
payupay.ru, 1
|
||||
payzang.com, 1
|
||||
pback.se, 1
|
||||
pbcknd.ml, 1
|
||||
pbosquet.com, 1
|
||||
pbraunschdash.com, 1
|
||||
|
@ -23989,7 +23966,6 @@ sidium.de, 1
|
|||
sidnicio.us, 1
|
||||
sidonge.com, 1
|
||||
sidongkim.com, 1
|
||||
sidpod.ru, 1
|
||||
siebeve.be, 1
|
||||
siegemund-frankfurt.de, 1
|
||||
sieh.es, 1
|
||||
|
@ -24250,6 +24226,7 @@ skatn.de, 1
|
|||
skazka.ru, 1
|
||||
skday.com, 1
|
||||
skeeley.com, 1
|
||||
skei.org, 1
|
||||
skepticalsports.com, 1
|
||||
sketchmyroom.com, 1
|
||||
sketchywebsite.net, 1
|
||||
|
@ -24669,7 +24646,6 @@ sonic.sk, 0
|
|||
sonja-daniels.com, 1
|
||||
sonja-kowa.de, 1
|
||||
sonoecoracao.com.br, 1
|
||||
sonyforum.no, 1
|
||||
sonyunlock.nu, 1
|
||||
soomee.be, 1
|
||||
soomee1.be, 1
|
||||
|
@ -24736,6 +24712,7 @@ southamerican.dating, 1
|
|||
southbankregister.com.au, 1
|
||||
southcoastkitesurf.co.uk, 1
|
||||
southernmost.us, 1
|
||||
southernutahinfluencers.com, 1
|
||||
southlakenissanparts.com, 1
|
||||
southmelbourne.apartments, 1
|
||||
southmorangtownhouses.com.au, 1
|
||||
|
@ -24926,7 +24903,6 @@ squido.ch, 1
|
|||
squidparty.com, 1
|
||||
squids.space, 1
|
||||
squirex2.com, 1
|
||||
squirtlesbians.net, 1
|
||||
sqzryang.com, 1
|
||||
sr-cs.net, 1
|
||||
srandom.com, 1
|
||||
|
@ -25437,6 +25413,7 @@ sundaycooks.com, 1
|
|||
sundayfundayjapan.com, 1
|
||||
suneilpatel.com, 1
|
||||
sunfireshop.com.br, 1
|
||||
sunflyer.cn, 0
|
||||
sunfox.cz, 1
|
||||
sunfulong.me, 1
|
||||
sungo.wtf, 1
|
||||
|
@ -25486,7 +25463,7 @@ surao.cz, 1
|
|||
surasak.io, 1
|
||||
surasak.org, 1
|
||||
surasak.xyz, 1
|
||||
surdam.casa, 1
|
||||
surdam.casa, 0
|
||||
sure-it.de, 1
|
||||
surgenet.nl, 1
|
||||
surgeongeneral.gov, 1
|
||||
|
@ -25580,6 +25557,7 @@ swimturk.com.tr, 1
|
|||
swineson.me, 1
|
||||
swingmonkey.com, 1
|
||||
swipetv.ie, 1
|
||||
swiss-connection.net, 1
|
||||
swiss-cyber-experts.ch, 1
|
||||
swisscannabis.club, 1
|
||||
swissdojo.ch, 1
|
||||
|
@ -25834,6 +25812,7 @@ tattvaayoga.com, 1
|
|||
tavolaquadrada.com.br, 1
|
||||
tavsys.net, 1
|
||||
taxaroo.com, 1
|
||||
taxi-24std.de, 1
|
||||
taxi-chamonix.fr, 1
|
||||
taxi-collectif.ch, 1
|
||||
taxicollectif.ch, 1
|
||||
|
@ -26129,6 +26108,7 @@ tetrarch.co, 1
|
|||
tetsai.com, 1
|
||||
tetsugakunomichi.jp, 1
|
||||
tetsumaki.net, 1
|
||||
teulon.eu, 1
|
||||
teuniz.nl, 1
|
||||
teunstuinposters.nl, 0
|
||||
teva-li.com, 1
|
||||
|
@ -26171,7 +26151,6 @@ tgtv.tn, 1
|
|||
tgui.eu, 1
|
||||
tgui.net, 1
|
||||
tgw.com, 1
|
||||
th-bl.de, 1
|
||||
th.search.yahoo.com, 0
|
||||
th3nd.com, 1
|
||||
thackbarth.net, 1
|
||||
|
@ -27117,7 +27096,6 @@ transmithe.net, 1
|
|||
transparentcorp.com, 1
|
||||
transport.eu, 1
|
||||
transporterlock.com, 1
|
||||
transsexualpantyhose.com, 1
|
||||
transverify.com, 1
|
||||
trashnothing.com, 1
|
||||
trask.no, 1
|
||||
|
@ -27267,7 +27245,6 @@ ts-publishers.com, 1
|
|||
tsa-sucks.com, 1
|
||||
tsaro.io, 1
|
||||
tschuermans.be, 1
|
||||
tsdom.net, 1
|
||||
tsedryk.ca, 1
|
||||
tsgbit.net, 1
|
||||
tsicons.com, 1
|
||||
|
@ -27351,7 +27328,6 @@ tursiae.org, 1
|
|||
turtle.ai, 1
|
||||
turtleduckstudios.com, 1
|
||||
turtlepwr.com, 1
|
||||
tusb.ml, 1
|
||||
tutanota.com, 1
|
||||
tutiendaroja.com, 1
|
||||
tutiendarosa.com, 1
|
||||
|
@ -27742,6 +27718,7 @@ urbanietz-immobilien.de, 1
|
|||
urbanmelbourne.info, 1
|
||||
urbannewsservice.com, 1
|
||||
urbansparrow.in, 1
|
||||
urbanstylestaging.com, 1
|
||||
urbanwildlifealliance.org, 1
|
||||
urbexdk.nl, 1
|
||||
urcentral.com, 1
|
||||
|
@ -27911,7 +27888,6 @@ vandermeer.frl, 1
|
|||
vanderrijt.nl, 1
|
||||
vanderstraeten.dynv6.net, 1
|
||||
vanderziel.org, 1
|
||||
vanessabalibridal.com, 1
|
||||
vangeluwedeberlaere.be, 1
|
||||
vanhoudt-usedcars.be, 1
|
||||
vanhoutte.be, 0
|
||||
|
@ -28077,7 +28053,6 @@ verteilergetriebe.info, 1
|
|||
vertner.net, 1
|
||||
veryapt.com, 1
|
||||
verymelon.de, 1
|
||||
veryyounglesbians.com, 1
|
||||
verzick.com, 1
|
||||
ves.vn.ua, 1
|
||||
vescudero.net, 1
|
||||
|
@ -29001,7 +28976,6 @@ wifree.lv, 1
|
|||
wigggle.it, 1
|
||||
wigle.net, 1
|
||||
wiiaam.com, 1
|
||||
wiiforum.no, 1
|
||||
wiimotion.de, 1
|
||||
wijnservices.nl, 0
|
||||
wiki-play.ru, 1
|
||||
|
@ -29481,14 +29455,12 @@ x.st, 1
|
|||
x0r.be, 1
|
||||
x13.com, 1
|
||||
x1616.tk, 1
|
||||
x23.eu, 1
|
||||
x2c0.net, 1
|
||||
x2d2.de, 1
|
||||
x378.ch, 1
|
||||
x509.io, 1
|
||||
x64architecture.com, 1
|
||||
x69.biz, 1
|
||||
x69x.net, 1
|
||||
x7plus.com, 1
|
||||
xa.search.yahoo.com, 0
|
||||
xa1.uk, 1
|
||||
|
@ -29749,8 +29721,6 @@ xwaretech.info, 1
|
|||
xx0r.eu, 1
|
||||
xxffo.com, 1
|
||||
xxiz.com, 1
|
||||
xxx3dbdsm.com, 1
|
||||
xxxladyboysporn.com, 1
|
||||
xyfun.net, 1
|
||||
xyndrac.net, 1
|
||||
xyngular-health.com, 1
|
||||
|
@ -29796,6 +29766,7 @@ yarcom.ru, 0
|
|||
yarogneva.ru, 1
|
||||
yarravilletownhouses.com.au, 1
|
||||
yaru.one, 1
|
||||
yatesun.com, 1
|
||||
yatorie.net, 1
|
||||
yatsuenpoon.com, 1
|
||||
yaucy.win, 1
|
||||
|
@ -30064,6 +30035,7 @@ yveshield.com, 1
|
|||
yveslegendre.fr, 1
|
||||
yvesx.com, 1
|
||||
yvonnehaeusser.de, 1
|
||||
ywyz.tech, 1
|
||||
yyc.city, 1
|
||||
yyyy.xyz, 1
|
||||
z-konzept-nutrition.ru, 1
|
||||
|
@ -30111,7 +30083,6 @@ zappbuildapps.com, 1
|
|||
zaratan.fr, 1
|
||||
zarmarket.org, 1
|
||||
zarpo.com.br, 1
|
||||
zary.me, 1
|
||||
zaufanatrzeciastrona.pl, 1
|
||||
zavec.com.ec, 1
|
||||
zavetaji.lv, 1
|
||||
|
|
|
@ -25,6 +25,7 @@ android-api-16/debug:
|
|||
tooltool-downloads: internal
|
||||
toolchains:
|
||||
- android-sdk-linux
|
||||
- linux64-clang
|
||||
- linux64-rust-android
|
||||
- linux64-sccache
|
||||
- proguard-jar
|
||||
|
@ -56,6 +57,7 @@ android-x86/opt:
|
|||
tooltool-downloads: internal
|
||||
toolchains:
|
||||
- android-sdk-linux
|
||||
- linux64-clang
|
||||
- linux64-rust-android
|
||||
- linux64-sccache
|
||||
- proguard-jar
|
||||
|
@ -91,6 +93,7 @@ android-x86-nightly/opt:
|
|||
tooltool-downloads: internal
|
||||
toolchains:
|
||||
- android-sdk-linux
|
||||
- linux64-clang
|
||||
- linux64-rust-android
|
||||
- linux64-sccache
|
||||
- proguard-jar
|
||||
|
@ -122,6 +125,7 @@ android-api-16/opt:
|
|||
tooltool-downloads: internal
|
||||
toolchains:
|
||||
- android-sdk-linux
|
||||
- linux64-clang
|
||||
- linux64-rust-android
|
||||
- linux64-sccache
|
||||
- proguard-jar
|
||||
|
@ -157,6 +161,7 @@ android-api-16-nightly/opt:
|
|||
tooltool-downloads: internal
|
||||
toolchains:
|
||||
- android-sdk-linux
|
||||
- linux64-clang
|
||||
- linux64-rust-android
|
||||
- linux64-sccache
|
||||
- proguard-jar
|
||||
|
@ -189,6 +194,7 @@ android-x86-old-id/opt:
|
|||
run-on-projects: [ 'mozilla-central' ]
|
||||
toolchains:
|
||||
- android-sdk-linux
|
||||
- linux64-clang
|
||||
- linux64-rust-android
|
||||
- linux64-sccache
|
||||
- proguard-jar
|
||||
|
@ -225,6 +231,7 @@ android-x86-old-id-nightly/opt:
|
|||
run-on-projects: [ 'mozilla-central' ]
|
||||
toolchains:
|
||||
- android-sdk-linux
|
||||
- linux64-clang
|
||||
- linux64-rust-android
|
||||
- linux64-sccache
|
||||
- proguard-jar
|
||||
|
@ -257,6 +264,7 @@ android-api-16-old-id/opt:
|
|||
run-on-projects: [ 'mozilla-central' ]
|
||||
toolchains:
|
||||
- android-sdk-linux
|
||||
- linux64-clang
|
||||
- linux64-rust-android
|
||||
- linux64-sccache
|
||||
- proguard-jar
|
||||
|
@ -293,6 +301,7 @@ android-api-16-old-id-nightly/opt:
|
|||
run-on-projects: [ 'mozilla-central' ]
|
||||
toolchains:
|
||||
- android-sdk-linux
|
||||
- linux64-clang
|
||||
- linux64-rust-android
|
||||
- linux64-sccache
|
||||
- proguard-jar
|
||||
|
@ -337,6 +346,7 @@ android-api-16-gradle/opt:
|
|||
toolchains:
|
||||
- android-gradle-dependencies
|
||||
- android-sdk-linux
|
||||
- linux64-clang
|
||||
- linux64-rust-android
|
||||
- linux64-sccache
|
||||
- proguard-jar
|
||||
|
@ -368,6 +378,7 @@ android-aarch64/opt:
|
|||
tooltool-downloads: internal
|
||||
toolchains:
|
||||
- android-sdk-linux
|
||||
- linux64-clang
|
||||
- linux64-rust-android
|
||||
- linux64-sccache
|
||||
- proguard-jar
|
||||
|
@ -403,6 +414,7 @@ android-aarch64-nightly/opt:
|
|||
tooltool-downloads: internal
|
||||
toolchains:
|
||||
- android-sdk-linux
|
||||
- linux64-clang
|
||||
- linux64-rust-android
|
||||
- linux64-sccache
|
||||
- proguard-jar
|
||||
|
|
|
@ -570,17 +570,19 @@ simple_keyfile('Pocket API')
|
|||
option('--enable-stylo', nargs='?', choices=('build',),
|
||||
help='Include Stylo in the build and/or enable it at runtime')
|
||||
|
||||
@depends('--enable-stylo', '--help', target)
|
||||
def stylo_config(value, _, target):
|
||||
@depends('--enable-stylo', '--help', target, milestone)
|
||||
def stylo_config(value, _, target, milestone):
|
||||
build_stylo = None
|
||||
enable_stylo = None
|
||||
|
||||
# If nothing is specified, default to building and enabling Stylo where it
|
||||
# is known to work.
|
||||
if value.origin == 'default':
|
||||
# Build stylo on Android Nighly, but this is still turned off yet.
|
||||
if target.os == 'Android':
|
||||
# Stylo on Android is happening Later(tm).
|
||||
pass
|
||||
if milestone.is_nightly:
|
||||
build_stylo = True
|
||||
enable_stylo = None
|
||||
else:
|
||||
build_stylo = True
|
||||
enable_stylo = True
|
||||
|
|
Загрузка…
Ссылка в новой задаче