summaryrefslogtreecommitdiffstats
path: root/dom/indexedDB/moz.build
blob: ca62d61ada8b7be7b1609eaabf453bd8cb6a3016 (plain)
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
# -*- 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-private.ini",
    "test/mochitest-regular.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 += [
    "DatabaseFileInfoFwd.h",
    "FlippedOnce.h",
    "IDBCursor.h",
    "IDBCursorType.h",
    "IDBDatabase.h",
    "IDBEvents.h",
    "IDBFactory.h",
    "IDBIndex.h",
    "IDBKeyRange.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",
    "SerializationHelpers.h",
    "ThreadLocal.h",
]

UNIFIED_SOURCES += [
    "ActorsChild.cpp",
    "ActorsParentCommon.cpp",
    "DatabaseFileInfo.cpp",
    "DBSchema.cpp",
    "IDBCursor.cpp",
    "IDBCursorType.cpp",
    "IDBDatabase.cpp",
    "IDBEvents.cpp",
    "IDBFactory.cpp",
    "IDBIndex.cpp",
    "IDBKeyRange.cpp",
    "IDBObjectStore.cpp",
    "IDBRequest.cpp",
    "IDBTransaction.cpp",
    "IndexedDatabase.cpp",
    "IndexedDatabaseManager.cpp",
    "IndexedDBCipherKeyManager.cpp",
    "IndexedDBCommon.cpp",
    "KeyPath.cpp",
    "ProfilerHelpers.cpp",
    "ReportInternalError.cpp",
    "SchemaUpgrades.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",
    "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"]

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

XPIDL_SOURCES += [
    "nsIIDBPermissionsRequest.idl",
]

XPIDL_MODULE = "dom_indexeddb"