hal/HalLog.h
author Cameron McCormack <cam@mcc.id.au>
Wed, 01 Oct 2014 09:13:57 +1000
changeset 223518 298b1f34d02a31392c1e725fbd68cd114c56df66
parent 222933 932a92a16c29d31db9bb9b1bed8d9d20844ce405
child 264213 9fb7acc6f108dd473fae5df9a29b8ff4ddac915f
permissions -rw-r--r--
Bug 1072724 - Support showing more information about style structs in restyle logs. r=dbaron The MOZ_DEBUG_RESTYLE_STRUCTS environment variable can be set to a comma- separated list of style struct names. When restyle logging is enabled, this will cause the style context tree -- showing cached style struct pointers for those structs specified -- to be logged before each individual restyle is processed. It will also show the struct pointer values involved when swapping structs between style contexts. For example, set MOZ_DEBUG_RESTYLE_STRUCTS=Font,UserInterface to show the cached nsStyleFont and nsStyleUserInterface pointers on the style contexts involved in the restyle process.

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set sw=2 ts=8 et ft=cpp : */
/* 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/. */

#ifndef mozilla_HalLog_h
#define mozilla_HalLog_h

#include "prlog.h"

/*
 * HalLog.h contains internal macros and functions used for logging.
 *
 * This should be considered a private include and not used in non-HAL code.
 * To enable logging in non-debug builds define the PR_FORCE_LOG macro here.
 */

namespace mozilla {

namespace hal {

extern PRLogModuleInfo *GetHalLog();
#define HAL_LOG(...) \
  PR_LOG(mozilla::hal::GetHalLog(), PR_LOG_DEBUG, (__VA_ARGS__))
#define HAL_ERR(...) \
  PR_LOG(mozilla::hal::GetHalLog(), PR_LOG_ERROR, (__VA_ARGS__))

} // namespace hal

} // namespace mozilla

#endif // mozilla_HalLog_h