1/*
2 * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
3 *
4 * This file was generated by the dom/make_names.pl script.
5 *
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 *
17 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
18 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
21 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
25 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29
30#include "config.h"
31
32#ifdef SKIP_STATIC_CONSTRUCTORS_ON_GCC
33#define DOM_XMLNS_NAMES_HIDE_GLOBALS 1
34#else
35#define QNAME_DEFAULT_CONSTRUCTOR 1
36#endif
37
38#include "XMLNSNames.h"
39
40namespace WebCore {
41
42namespace XMLNSNames {
43
44using namespace WebCore;
45
46LazyNeverDestroyed<const AtomString> xmlnsNamespaceURI;
47
48#if COMPILER(MSVC)
49#pragma warning(push)
50#pragma warning(disable: 4307)
51#endif
52
53static constexpr StringImpl::StaticStringImpl xmlnsData("xmlns");
54
55#if COMPILER(MSVC)
56#pragma warning(pop)
57#endif
58
59
60// Attributes
61WEBCORE_EXPORT LazyNeverDestroyed<const QualifiedName> xmlnsAttr;
62
63
64const WebCore::QualifiedName* const* getXMLNSAttrs()
65{
66 static const WebCore::QualifiedName* const XMLNSAttrs[] = {
67 &xmlnsAttr.get(),
68 };
69 return XMLNSAttrs;
70}
71
72void init()
73{
74 static bool initialized = false;
75 if (initialized)
76 return;
77 initialized = true;
78
79 // Use placement new to initialize the globals.
80
81 AtomString::init();
82 AtomString xmlnsNS("http://www.w3.org/2000/xmlns/", AtomString::ConstructFromLiteral);
83
84 // Namespace
85 xmlnsNamespaceURI.construct(xmlnsNS);
86
87#ifndef NDEBUG
88 reinterpret_cast<const StringImpl*>(&xmlnsData)->assertHashIsCorrect();
89#endif // NDEBUG
90
91
92 struct AttributesTableEntry {
93 LazyNeverDestroyed<const QualifiedName>* targetAddress;
94 const StaticStringImpl& name;
95 };
96
97 static const AttributesTableEntry attributesTable[] = {
98 { &xmlnsAttr, *(&xmlnsData) },
99 };
100
101 for (auto& entry : attributesTable)
102 entry.targetAddress->construct(nullAtom(), AtomString(&entry.name), xmlnsNS);
103}
104
105} }
106
107