mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-23 12:51:06 +00:00
cda361bf07
Differential Revision: https://phabricator.services.mozilla.com/D199055
76 lines
2.7 KiB
C++
76 lines
2.7 KiB
C++
/* -*- 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 nsContentCreatorFunctions_h__
|
|
#define nsContentCreatorFunctions_h__
|
|
|
|
#include "nsError.h"
|
|
#include "nsCOMPtr.h"
|
|
#include "mozilla/dom/FromParser.h"
|
|
|
|
/**
|
|
* Functions to create content, to be used only inside Gecko
|
|
* (mozilla/content and mozilla/layout).
|
|
*/
|
|
|
|
class nsAtom;
|
|
class nsIContent;
|
|
|
|
class imgRequestProxy;
|
|
class nsGenericHTMLElement;
|
|
|
|
namespace mozilla::dom {
|
|
class Element;
|
|
class NodeInfo;
|
|
struct CustomElementDefinition;
|
|
} // namespace mozilla::dom
|
|
|
|
nsresult NS_NewElement(mozilla::dom::Element** aResult,
|
|
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo,
|
|
mozilla::dom::FromParser aFromParser,
|
|
const nsAString* aIs);
|
|
|
|
nsresult NS_NewElement(
|
|
mozilla::dom::Element** aResult,
|
|
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo,
|
|
mozilla::dom::FromParser aFromParser, nsAtom* aIsAtom = nullptr,
|
|
mozilla::dom::CustomElementDefinition* aDefinition = nullptr);
|
|
|
|
nsresult NS_NewXMLElement(mozilla::dom::Element** aResult,
|
|
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo);
|
|
|
|
nsresult NS_NewHTMLElement(
|
|
mozilla::dom::Element** aResult,
|
|
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo,
|
|
mozilla::dom::FromParser aFromParser, nsAtom* aIsAtom = nullptr,
|
|
mozilla::dom::CustomElementDefinition* aDefinition = nullptr);
|
|
|
|
// First argument should be nsHTMLTag, but that adds dependency to parser
|
|
// for a bunch of files.
|
|
already_AddRefed<nsGenericHTMLElement> CreateHTMLElement(
|
|
uint32_t aNodeType, already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo,
|
|
mozilla::dom::FromParser aFromParser);
|
|
|
|
nsresult NS_NewMathMLElement(
|
|
mozilla::dom::Element** aResult,
|
|
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo);
|
|
|
|
nsresult NS_NewXULElement(
|
|
mozilla::dom::Element** aResult,
|
|
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo,
|
|
mozilla::dom::FromParser aFromParser, nsAtom* aIsAtom = nullptr,
|
|
mozilla::dom::CustomElementDefinition* aDefinition = nullptr);
|
|
|
|
void NS_TrustedNewXULElement(
|
|
mozilla::dom::Element** aResult,
|
|
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo);
|
|
|
|
nsresult NS_NewSVGElement(mozilla::dom::Element** aResult,
|
|
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo,
|
|
mozilla::dom::FromParser aFromParser);
|
|
|
|
#endif // nsContentCreatorFunctions_h__
|