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

Side by Side Diff: third_party/WebKit/Source/web/WebHelperPluginImpl.h

Issue 2886113002: Introduce WebPluginContainerBase to abstract WebPluginContainerImpl. (Closed)
Patch Set: Rebase Created 3 years, 7 months 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 24 matching lines...) Expand all
35 #include "platform/wtf/Allocator.h" 35 #include "platform/wtf/Allocator.h"
36 #include "platform/wtf/Noncopyable.h" 36 #include "platform/wtf/Noncopyable.h"
37 #include "platform/wtf/RefPtr.h" 37 #include "platform/wtf/RefPtr.h"
38 #include "platform/wtf/text/WTFString.h" 38 #include "platform/wtf/text/WTFString.h"
39 #include "public/web/WebHelperPlugin.h" 39 #include "public/web/WebHelperPlugin.h"
40 40
41 namespace blink { 41 namespace blink {
42 42
43 class HTMLObjectElement; 43 class HTMLObjectElement;
44 class WebLocalFrameBase; 44 class WebLocalFrameBase;
45 class WebPluginContainerImpl; 45 class WebPluginContainerBase;
46 46
47 // Utility class to host helper plugins for media. Internally, it creates a 47 // Utility class to host helper plugins for media. Internally, it creates a
48 // detached HTMLPluginElement to host the plugin and uses 48 // detached HTMLPluginElement to host the plugin and uses
49 // LocalFrameClient::createPlugin() to instantiate the requested plugin. 49 // LocalFrameClient::createPlugin() to instantiate the requested plugin.
50 class WebHelperPluginImpl final : public WebHelperPlugin { 50 class WebHelperPluginImpl final : public WebHelperPlugin {
51 WTF_MAKE_NONCOPYABLE(WebHelperPluginImpl); 51 WTF_MAKE_NONCOPYABLE(WebHelperPluginImpl);
52 USING_FAST_MALLOC(WebHelperPluginImpl); 52 USING_FAST_MALLOC(WebHelperPluginImpl);
53 53
54 public: 54 public:
55 // WebHelperPlugin methods: 55 // WebHelperPlugin methods:
56 WebPlugin* GetPlugin() override; 56 WebPlugin* GetPlugin() override;
57 void Destroy() override; 57 void Destroy() override;
58 58
59 private: 59 private:
60 friend class WebHelperPlugin; 60 friend class WebHelperPlugin;
61 61
62 WebHelperPluginImpl(); 62 WebHelperPluginImpl();
63 63
64 bool Initialize(const String& plugin_type, WebLocalFrameBase*); 64 bool Initialize(const String& plugin_type, WebLocalFrameBase*);
65 void ReallyDestroy(TimerBase*); 65 void ReallyDestroy(TimerBase*);
66 66
67 Timer<WebHelperPluginImpl> destruction_timer_; 67 Timer<WebHelperPluginImpl> destruction_timer_;
68 Persistent<HTMLObjectElement> object_element_; 68 Persistent<HTMLObjectElement> object_element_;
69 Persistent<WebPluginContainerImpl> plugin_container_; 69 Persistent<WebPluginContainerBase> plugin_container_;
70 }; 70 };
71 71
72 } // namespace blink 72 } // namespace blink
73 73
74 #endif // WebHelperPluginImpl_h 74 #endif // WebHelperPluginImpl_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698