OLD | NEW |
| (Empty) |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef DictionaryPluginPlaceholder_h | |
6 #define DictionaryPluginPlaceholder_h | |
7 | |
8 #include "core/html/shadow/PluginPlaceholderElement.h" | |
9 #include "core/plugins/PluginPlaceholder.h" | |
10 #include "core/testing/PluginPlaceholderOptions.h" | |
11 #include "wtf/text/WTFString.h" | |
12 | |
13 namespace blink { | |
14 | |
15 // Manipulates a plugin placeholder element based on a fixed dictionary given. | |
16 // Used for layout tests that examine the formatting of structured placeholders. | |
17 class DictionaryPluginPlaceholder : public NoBaseWillBeGarbageCollected<Dictiona
ryPluginPlaceholder>, public PluginPlaceholder { | |
18 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(DictionaryPluginPlaceholder); | |
19 public: | |
20 static PassOwnPtrWillBeRawPtr<DictionaryPluginPlaceholder> create(Document&
document, const PluginPlaceholderOptions& options) | |
21 { | |
22 RefPtrWillBeRawPtr<PluginPlaceholderElement> placeholder = PluginPlaceho
lderElement::create(document); | |
23 if (options.hasMessage()) | |
24 placeholder->setMessage(options.message()); | |
25 | |
26 if (options.hasCloseable()) | |
27 placeholder->setIsCloseable(options.closeable()); | |
28 | |
29 return adoptPtrWillBeNoop(new DictionaryPluginPlaceholder(placeholder.re
lease())); | |
30 } | |
31 | |
32 #if !ENABLE(OILPAN) | |
33 ~DictionaryPluginPlaceholder() override { } | |
34 #endif | |
35 DEFINE_INLINE_VIRTUAL_TRACE() { visitor->trace(m_pluginPlaceholderElement);
} | |
36 | |
37 void loadIntoContainer(ContainerNode& container) override | |
38 { | |
39 container.removeChildren(); | |
40 container.appendChild(m_pluginPlaceholderElement, ASSERT_NO_EXCEPTION); | |
41 } | |
42 | |
43 private: | |
44 DictionaryPluginPlaceholder(PassRefPtrWillBeRawPtr<PluginPlaceholderElement>
element) : m_pluginPlaceholderElement(element) { } | |
45 | |
46 RefPtrWillBeMember<PluginPlaceholderElement> m_pluginPlaceholderElement; | |
47 }; | |
48 | |
49 } // namespace blink | |
50 | |
51 #endif // DictionaryPluginPlaceholder_h | |
OLD | NEW |