startupcache/moz.build
author Nicholas Nethercote <nnethercote@mozilla.com>
Thu, 22 Oct 2015 22:48:40 -0700
changeset 269446 588e410c0ddb76ce261c9c0bd344b1ad634fcb32
parent 260092 c646a88160d7b65f755f4dcfa5dec8626a77bcd5
permissions -rw-r--r--
Bug 1187784 (part 8) - Replace nsBaseHashtable::EnumerateRead() calls in layout/ with iterators. r=heycam. This fixes a type bug in CSSVariableDeclarations::MapRuleInfoInto(). The existing code passes aRuleData->mVariables.get(), which has type |CSSVariableDeclarations*|, into the |void*| parameter to EnumerateRead(). It then extracts that in EnumerateVariableForMapRuleInfoInto() via a cast to a different type, |nsDataHashtable<nsStringHashKey, nsString>*|. It's missing an intermediate access of CSSVariableDeclarations::mVariables. It's likely that this hasn't (seemingly) caused problems prior to now because mVariables is the only field in CSSVariableDeclarations, so mVariables->mVariables is at the same address as mVariables.

# -*- Mode: python; c-basic-offset: 4; 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/.

if not CONFIG['MOZ_B2G']:
    TEST_DIRS += ['test']

XPIDL_SOURCES += [
    'nsIStartupCache.idl',
]

XPIDL_MODULE = 'startupcache'

EXPORTS.mozilla.scache += [
    'StartupCache.h',
    'StartupCacheUtils.h',
]

# These files cannot be built in unified mode because they rely on plarena.h.
SOURCES += [
    'StartupCache.cpp',
    'StartupCacheModule.cpp',
    'StartupCacheUtils.cpp',
]

FINAL_LIBRARY = 'xul'