Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Side by Side Diff: Source/core/plugins/testing/DictionaryPluginPlaceholder.h

Issue 698533003: Implement support for closing shadow DOM plugin placeholders. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: mkwst comments Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef DictionaryPluginPlaceholder_h 5 #ifndef DictionaryPluginPlaceholder_h
6 #define DictionaryPluginPlaceholder_h 6 #define DictionaryPluginPlaceholder_h
7 7
8 #include "bindings/core/v8/Dictionary.h" 8 #include "bindings/core/v8/Dictionary.h"
9 #include "core/html/shadow/PluginPlaceholderElement.h" 9 #include "core/html/shadow/PluginPlaceholderElement.h"
10 #include "core/plugins/PluginPlaceholder.h" 10 #include "core/plugins/PluginPlaceholder.h"
11 #include "wtf/text/WTFString.h" 11 #include "wtf/text/WTFString.h"
12 12
13 namespace blink { 13 namespace blink {
14 14
15 // Manipulates a plugin placeholder element based on a fixed dictionary given. 15 // Manipulates a plugin placeholder element based on a fixed dictionary given.
16 // Used for layout tests that examine the formatting of structured placeholders. 16 // Used for layout tests that examine the formatting of structured placeholders.
17 class DictionaryPluginPlaceholder : public NoBaseWillBeGarbageCollected<Dictiona ryPluginPlaceholder>, public PluginPlaceholder { 17 class DictionaryPluginPlaceholder : public NoBaseWillBeGarbageCollected<Dictiona ryPluginPlaceholder>, public PluginPlaceholder {
18 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(DictionaryPluginPlaceholder); 18 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(DictionaryPluginPlaceholder);
19 public: 19 public:
20 static PassOwnPtrWillBeRawPtr<DictionaryPluginPlaceholder> create(Document& document, const Dictionary& options) 20 static PassOwnPtrWillBeRawPtr<DictionaryPluginPlaceholder> create(Document& document, const Dictionary& options)
21 { 21 {
22 RefPtrWillBeRawPtr<PluginPlaceholderElement> placeholder = PluginPlaceho lderElement::create(document); 22 RefPtrWillBeRawPtr<PluginPlaceholderElement> placeholder = PluginPlaceho lderElement::create(document);
23 String stringValue; 23 String stringValue;
24 if (DictionaryHelper::get(options, "message", stringValue)) 24 if (DictionaryHelper::get(options, "message", stringValue))
25 placeholder->setMessage(stringValue); 25 placeholder->setMessage(stringValue);
26 26
27 bool booleanValue;
28 if (DictionaryHelper::get(options, "closeable", booleanValue))
29 placeholder->setIsCloseable(booleanValue);
30
27 return adoptPtrWillBeNoop(new DictionaryPluginPlaceholder(placeholder.re lease())); 31 return adoptPtrWillBeNoop(new DictionaryPluginPlaceholder(placeholder.re lease()));
28 } 32 }
29 33
30 #if !ENABLE(OILPAN) 34 #if !ENABLE(OILPAN)
31 virtual ~DictionaryPluginPlaceholder() override { } 35 virtual ~DictionaryPluginPlaceholder() override { }
32 #endif 36 #endif
33 virtual void trace(Visitor* visitor) { visitor->trace(m_pluginPlaceholderEle ment); } 37 virtual void trace(Visitor* visitor) { visitor->trace(m_pluginPlaceholderEle ment); }
34 38
35 virtual void loadIntoContainer(ContainerNode& container) override 39 virtual void loadIntoContainer(ContainerNode& container) override
36 { 40 {
37 container.removeChildren(); 41 container.removeChildren();
38 container.appendChild(m_pluginPlaceholderElement, ASSERT_NO_EXCEPTION); 42 container.appendChild(m_pluginPlaceholderElement, ASSERT_NO_EXCEPTION);
39 } 43 }
40 44
41 private: 45 private:
42 DictionaryPluginPlaceholder(PassRefPtrWillBeRawPtr<PluginPlaceholderElement> element) : m_pluginPlaceholderElement(element) { } 46 DictionaryPluginPlaceholder(PassRefPtrWillBeRawPtr<PluginPlaceholderElement> element) : m_pluginPlaceholderElement(element) { }
43 47
44 RefPtrWillBeMember<PluginPlaceholderElement> m_pluginPlaceholderElement; 48 RefPtrWillBeMember<PluginPlaceholderElement> m_pluginPlaceholderElement;
45 }; 49 };
46 50
47 } // namespace blink 51 } // namespace blink
48 52
49 #endif // DictionaryPluginPlaceholder_h 53 #endif // DictionaryPluginPlaceholder_h
OLDNEW
« no previous file with comments | « Source/core/html/shadow/PluginPlaceholderElement.js ('k') | Source/web/PluginPlaceholderImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698