mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 03:05:34 +00:00
b9a40e754b
This patch puts the transformed pretty print DOM into a Shadow DOM. The stylesheet is loaded with an @import in a <style> block, so the monospace stylesheet had to be left out. The XBL binding is kept, pending removal when Shadow DOM ships. It's still needed to handle the case when Shadow DOM is pref'd off too. MozReview-Commit-ID: DQRsXB8tumF --HG-- extra : rebase_source : 6edc3d82392af4d98de454a5228328379a0fb7ee
60 lines
1.7 KiB
C++
60 lines
1.7 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/* 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 nsXMLPrettyPrinter_h__
|
|
#define nsXMLPrettyPrinter_h__
|
|
|
|
#include "nsStubDocumentObserver.h"
|
|
#include "nsCOMPtr.h"
|
|
|
|
class nsIDocument;
|
|
|
|
class nsXMLPrettyPrinter : public nsStubDocumentObserver
|
|
{
|
|
public:
|
|
nsXMLPrettyPrinter();
|
|
|
|
NS_DECL_ISUPPORTS
|
|
|
|
// nsIMutationObserver
|
|
NS_DECL_NSIMUTATIONOBSERVER_ATTRIBUTECHANGED
|
|
NS_DECL_NSIMUTATIONOBSERVER_CONTENTAPPENDED
|
|
NS_DECL_NSIMUTATIONOBSERVER_CONTENTINSERTED
|
|
NS_DECL_NSIMUTATIONOBSERVER_CONTENTREMOVED
|
|
NS_DECL_NSIMUTATIONOBSERVER_NODEWILLBEDESTROYED
|
|
|
|
/**
|
|
* This will prettyprint the document if the document is loaded in a
|
|
* displayed window.
|
|
*
|
|
* @param aDocument document to prettyprint
|
|
* @param [out] aDidPrettyPrint if true, and error not returned, actually
|
|
* went ahead with prettyprinting the document.
|
|
*/
|
|
nsresult PrettyPrint(nsIDocument* aDocument, bool* aDidPrettyPrint);
|
|
|
|
/**
|
|
* Unhook the prettyprinter
|
|
*/
|
|
void Unhook();
|
|
private:
|
|
virtual ~nsXMLPrettyPrinter();
|
|
|
|
/**
|
|
* Signals for unhooking by setting mUnhookPending if the node changed is
|
|
* not in the shadow root tree nor in anonymous content.
|
|
*
|
|
* @param aContent content that has changed
|
|
*/
|
|
void MaybeUnhook(nsIContent* aContent);
|
|
|
|
nsIDocument* mDocument; //weak. Set as long as we're observing the document
|
|
bool mUnhookPending;
|
|
};
|
|
|
|
nsresult NS_NewXMLPrettyPrinter(nsXMLPrettyPrinter** aPrinter);
|
|
|
|
#endif //nsXMLPrettyPrinter_h__
|