storage/moz.build
author alwu <alwu@mozilla.com>
Mon, 07 Jan 2019 19:57:48 +0000
changeset 512757 0e229bbdaae5c8fa9f83796c628a4fdf88f057ba
parent 428528 df5b4f5fe775d341647f85abcf9a0ca0aa573a67
child 512885 c69cf0bb19cd8d0814011546f5e3e2e6185eb0cd
permissions -rw-r--r--
Bug 1513039 - part5 : log warning when autoplay is blocked. r=cpearce,karlt Wrap 'nsContentUtils::ReportToConsole()' to reduce necessary input parameters and call it when we need to log error or warning message. Show the warning when autoplay is blocked. For web audio, this restores the console messages removed in part4 and also reports the same message when the AudioContext is blocked in the constructor. Differential Revision: https://phabricator.services.mozilla.com/D14330

# -*- 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/.

with Files("**"):
    BUG_COMPONENT = ("Toolkit", "Storage")

DIRS += ['build']

TEST_DIRS += ['test']

XPIDL_SOURCES += [
    'mozIStorageAggregateFunction.idl',
    'mozIStorageAsyncConnection.idl',
    'mozIStorageAsyncStatement.idl',
    'mozIStorageBaseStatement.idl',
    'mozIStorageBindingParams.idl',
    'mozIStorageBindingParamsArray.idl',
    'mozIStorageCompletionCallback.idl',
    'mozIStorageConnection.idl',
    'mozIStorageError.idl',
    'mozIStorageFunction.idl',
    'mozIStoragePendingStatement.idl',
    'mozIStorageProgressHandler.idl',
    'mozIStorageResultSet.idl',
    'mozIStorageRow.idl',
    'mozIStorageService.idl',
    'mozIStorageStatement.idl',
    'mozIStorageStatementCallback.idl',
    'mozIStorageVacuumParticipant.idl',
    'mozIStorageValueArray.idl',
]

XPIDL_MODULE = 'storage'

EXPORTS += [
    'mozStorageHelper.h',
]

EXPORTS.mozilla += [
    'storage.h',
]

# NOTE When adding something to this list, you probably need to add it to the
#      storage.h file too.
EXPORTS.mozilla.storage += [
    'mozStorageAsyncStatementParams.h',
    'mozStorageStatementParams.h',
    'mozStorageStatementRow.h',
    'StatementCache.h',
    'Variant.h',
    'Variant_inl.h',
]
# SEE ABOVE NOTE!

UNIFIED_SOURCES += [
    'FileSystemModule.cpp',
    'mozStorageArgValueArray.cpp',
    'mozStorageAsyncStatement.cpp',
    'mozStorageAsyncStatementExecution.cpp',
    'mozStorageAsyncStatementJSHelper.cpp',
    'mozStorageAsyncStatementParams.cpp',
    'mozStorageBindingParamsArray.cpp',
    'mozStorageError.cpp',
    'mozStoragePrivateHelpers.cpp',
    'mozStorageResultSet.cpp',
    'mozStorageRow.cpp',
    'mozStorageService.cpp',
    'mozStorageSQLFunctions.cpp',
    'mozStorageStatement.cpp',
    'mozStorageStatementJSHelper.cpp',
    'mozStorageStatementParams.cpp',
    'mozStorageStatementRow.cpp',
    'SQLCollations.cpp',
    'StorageBaseStatementInternal.cpp',
    'TelemetryVFS.cpp',
    'VacuumManager.cpp',
]

# These files need to be built separately because they #include variantToSQLiteT_impl.h.
SOURCES += [
    'mozStorageBindingParams.cpp',
    'mozStorageConnection.cpp',
]

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

FINAL_LIBRARY = 'xul'

# Don't use the jemalloc allocator on Android, because we can't guarantee
# that Gecko will configure sqlite before it is first used (bug 730495).
#
# Don't use the jemalloc allocator when using system sqlite. Linked in libraries
# (such as NSS) might trigger an initialization of sqlite and allocation
# of memory using the default allocator, prior to the storage service
# registering its allocator, causing memory management failures (bug 938730).
# However, this is not an issue if both the jemalloc allocator and the default
# allocator are the same thing.
#
# Note: On Windows our sqlite build assumes we use jemalloc.  If you disable
# MOZ_STORAGE_MEMORY on Windows, you will also need to change the "ifdef
# MOZ_MEMORY" options in db/sqlite3/src/Makefile.in.
if CONFIG['MOZ_MEMORY'] and not CONFIG['MOZ_SYSTEM_SQLITE']:
    if CONFIG['OS_TARGET'] != 'Android':
        DEFINES['MOZ_STORAGE_MEMORY'] = True

# This is the default value.  If we ever change it when compiling sqlite, we
# will need to change it here as well.
DEFINES['SQLITE_MAX_LIKE_PATTERN_LENGTH'] = 50000

# See Sqlite moz.build for reasoning about TEMP_STORE.
# For system sqlite we cannot use the compile time option, so we use a pragma.
if CONFIG['MOZ_SYSTEM_SQLITE'] and (CONFIG['OS_TARGET'] == 'Android'
                                    or CONFIG['HAVE_64BIT_BUILD']):
    DEFINES['MOZ_MEMORY_TEMP_STORE_PRAGMA'] = True

LOCAL_INCLUDES += [
    '/db/sqlite3/src',
    '/dom/base',
]

CXXFLAGS += CONFIG['SQLITE_CFLAGS']