DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (c68fe15a81fc)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
# -*- 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 = ("Core", "Storage: IndexedDB")

MOCHITEST_MANIFESTS += [
    'test/mochitest-intl-api.ini',
    'test/mochitest.ini',
]

BROWSER_CHROME_MANIFESTS += ['test/browser.ini']

MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']

XPCSHELL_TESTS_MANIFESTS += [
    'test/unit/xpcshell-child-process.ini',
    'test/unit/xpcshell-parent-process.ini'
]

TEST_DIRS += ['test/gtest']

EXPORTS.mozilla.dom += [
    'FileInfoFwd.h',
    'FlippedOnce.h',
    'IDBCursor.h',
    'IDBCursorType.h',
    'IDBDatabase.h',
    'IDBEvents.h',
    'IDBFactory.h',
    'IDBFileHandle.h',
    'IDBFileRequest.h',
    'IDBIndex.h',
    'IDBKeyRange.h',
    'IDBMutableFile.h',
    'IDBObjectStore.h',
    'IDBRequest.h',
    'IDBTransaction.h',
    'IndexedDatabase.h',
    'IndexedDatabaseManager.h',
    'SafeRefPtr.h',
]

EXPORTS.mozilla.dom.indexedDB += [
    'ActorsChild.h',
    'ActorsParent.h',
    'IDBResult.h',
    'Key.h',
    'KeyPath.h',
    'PermissionRequestBase.h',
    'SerializationHelpers.h',
]

UNIFIED_SOURCES += [
    'ActorsChild.cpp',
    'FileInfo.cpp',
    'IDBCursor.cpp',
    'IDBCursorType.cpp',
    'IDBDatabase.cpp',
    'IDBEvents.cpp',
    'IDBFactory.cpp',
    'IDBFileHandle.cpp',
    'IDBFileRequest.cpp',
    'IDBIndex.cpp',
    'IDBKeyRange.cpp',
    'IDBMutableFile.cpp',
    'IDBObjectStore.cpp',
    'IDBRequest.cpp',
    'IDBTransaction.cpp',
    'IndexedDatabase.cpp',
    'IndexedDatabaseManager.cpp',
    'KeyPath.cpp',
    'PermissionRequestBase.cpp',
    'ReportInternalError.cpp',
    'ScriptErrorHelper.cpp',
]

SOURCES += [
    'ActorsParent.cpp', # This file is huge.
    'Key.cpp', # We disable a warning on this file only
]

IPDL_SOURCES += [
    'PBackgroundIDBCursor.ipdl',
    'PBackgroundIDBDatabase.ipdl',
    'PBackgroundIDBDatabaseFile.ipdl',
    'PBackgroundIDBDatabaseRequest.ipdl',
    'PBackgroundIDBFactory.ipdl',
    'PBackgroundIDBFactoryRequest.ipdl',
    'PBackgroundIDBRequest.ipdl',
    'PBackgroundIDBSharedTypes.ipdlh',
    'PBackgroundIDBTransaction.ipdl',
    'PBackgroundIDBVersionChangeTransaction.ipdl',
    'PBackgroundIndexedDBUtils.ipdl',
]

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

FINAL_LIBRARY = 'xul'

if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
    # Suppress gcc warning about a comparison being always false due to the
    # range of the data type
    SOURCES['Key.cpp'].flags += ['-Wno-error=type-limits']
    CXXFLAGS += ['-Wno-error=shadow']

LOCAL_INCLUDES += [
    '/dom/base',
    '/dom/storage',
    '/ipc/glue',
    '/third_party/sqlite3/src',
    '/xpcom/build',
]

XPIDL_SOURCES += [
    'nsIIDBPermissionsRequest.idl',
]

XPIDL_MODULE = 'dom_indexeddb'