parser/html/nsHtml5OplessBuilder.h
author Gregory Szorc <gps@mozilla.com>
Thu, 27 Jul 2017 14:12:35 -0700
changeset 371571 6504499c1689d9199c355e07164b849f9144ca2f
parent 330797 382a4dd6b1f80fd413fd032ec041aa6294bbd2f2
child 448947 6f3709b3878117466168c40affa7bca0b60cf75b
permissions -rw-r--r--
Bug 1384396 - Detect Watchman Mercurial integration in configure; r=nalexander Configure now detects VCS info. Configure now detects Watchman. We can combine the two so configure can detect if Mercurial is configured with Watchman enabled. This commit does two things: 1) collects the Mercurial config so it is available to downstream checks 2) examines the config for presence and state of the fsmonitor extension We don't yet do anything with the fsmonitor state. But it should be useful soon. Also, the return value is kinda wonky. This will almost certainly be improved as soon as there is an actual consumer. MozReview-Commit-ID: HyHZ2X8VI0h

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

#include "nsHtml5DocumentBuilder.h"

class nsParserBase;

/**
 * This class implements a minimal subclass of nsHtml5DocumentBuilder that
 * works when tree operation queues that are part of the off-the-main-thread
 * parsing machinery are not used and, therefore, nsHtml5TreeOpExecutor is
 * not used.
 *
 * This class is mostly responsible for wrapping tree building in an update
 * batch and resetting various fields in nsContentSink upon finishing.
 */
class nsHtml5OplessBuilder : public nsHtml5DocumentBuilder
{
public:
  nsHtml5OplessBuilder();
  ~nsHtml5OplessBuilder();
  void Start();
  void Finish();
  void SetParser(nsParserBase* aParser);
};

#endif // nsHtml5OplessBuilder_h