layout/style/ServoComputedDataInlines.h
author Xidorn Quan <me@upsuper.org>
Wed, 16 May 2018 15:35:59 +1000
changeset 472710 ce7798f62689e38772e62ca85dc0b4e3d4e35781
child 505383 6f3709b3878117466168c40affa7bca0b60cf75b
permissions -rw-r--r--
Bug 1461933 - Remove ServoBindings.h from ComputedStyleInline.h. r=emilio For doing this, ServoComputedData is split into separate files, so that files don't need to include ServoBindings.h just for accessing style structs from ComputedStyles. MozReview-Commit-ID: DPAd7PUUCl9

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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_ServoComputedDataInlines_h
#define mozilla_ServoComputedDataInlines_h

#include "mozilla/ServoComputedData.h"
#include "nsStyleStruct.h"

namespace mozilla {
  #define STYLE_STRUCT(name_) struct Gecko##name_ {nsStyle##name_ gecko;};
  #include "nsStyleStructList.h"
  #undef STYLE_STRUCT
}

#define STYLE_STRUCT(name_) \
  const nsStyle##name_* ServoComputedData::GetStyle##name_() const { return &name_.mPtr->gecko; }
#include "nsStyleStructList.h"
#undef STYLE_STRUCT

#endif // mozilla_ServoComputedDataInlines_h