layout/base/nsPresContextInlines.h
author Emilio Cobos Álvarez <emilio@crisal.io>
Wed, 03 Apr 2019 07:02:00 +0000
changeset 467757 60c20a0f320cc769a8da229cdf6edfbbf38d3ed3
parent 466772 5723ddbc5c44979b0c6dfae7d7989f4f532d8913
permissions -rw-r--r--
Bug 1535788 - Make the Document own the StyleSet. r=heycam This is the last step to be able to call matchMedia on display: none iframes. This is green, except for some startup preference query tests that I'm going to address in a blocking bug (making LangGroupFontPrefs global, basically). The setup is similar to the ShadowRoot one, except we don't eagerly keep the StyleSet around up-to-date, we only fill it if it ever had a pres context. Differential Revision: https://phabricator.services.mozilla.com/D23903

/* -*- 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 nsPresContextInlines_h
#define nsPresContextInlines_h

#include "mozilla/PresShell.h"
#include "nsCSSFrameConstructor.h"

inline mozilla::ServoStyleSet* nsPresContext::StyleSet() const {
  return mDocument->StyleSetForPresShellOrMediaQueryEvaluation();
}

inline nsCSSFrameConstructor* nsPresContext::FrameConstructor() {
  return PresShell()->FrameConstructor();
}

#endif  // #ifndef nsPresContextInlines_h