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

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLPlugInElement.h

Issue 1483733002: Remove support for NPObjects. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 8 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2004, 2006, 2007, 2008, 2009, 2012 Apple Inc. All rights reserv ed. 4 * Copyright (C) 2004, 2006, 2007, 2008, 2009, 2012 Apple Inc. All rights reserv ed.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 12 matching lines...) Expand all
23 #ifndef HTMLPlugInElement_h 23 #ifndef HTMLPlugInElement_h
24 #define HTMLPlugInElement_h 24 #define HTMLPlugInElement_h
25 25
26 #include "bindings/core/v8/SharedPersistent.h" 26 #include "bindings/core/v8/SharedPersistent.h"
27 #include "core/CoreExport.h" 27 #include "core/CoreExport.h"
28 #include "core/html/HTMLFrameOwnerElement.h" 28 #include "core/html/HTMLFrameOwnerElement.h"
29 #include "core/layout/api/LayoutEmbeddedItem.h" 29 #include "core/layout/api/LayoutEmbeddedItem.h"
30 30
31 #include <v8.h> 31 #include <v8.h>
32 32
33 struct NPObject;
34
35 namespace blink { 33 namespace blink {
36 34
37 class HTMLImageLoader; 35 class HTMLImageLoader;
38 class LayoutPart; 36 class LayoutPart;
39 class Widget; 37 class Widget;
40 38
41 enum PreferPlugInsForImagesOption { 39 enum PreferPlugInsForImagesOption {
42 ShouldPreferPlugInsForImages, 40 ShouldPreferPlugInsForImages,
43 ShouldNotPreferPlugInsForImages 41 ShouldNotPreferPlugInsForImages
44 }; 42 };
45 43
46 class CORE_EXPORT HTMLPlugInElement : public HTMLFrameOwnerElement { 44 class CORE_EXPORT HTMLPlugInElement : public HTMLFrameOwnerElement {
47 public: 45 public:
48 ~HTMLPlugInElement() override; 46 ~HTMLPlugInElement() override;
49 DECLARE_VIRTUAL_TRACE(); 47 DECLARE_VIRTUAL_TRACE();
50 48
51 void resetInstance(); 49 void resetInstance();
50 // TODO(dcheng): Consider removing this, since HTMLEmbedElementLegacyCall
51 // and HTMLObjectElementLegacyCall usage is extremely low.
52 SharedPersistent<v8::Object>* pluginWrapper(); 52 SharedPersistent<v8::Object>* pluginWrapper();
53 Widget* pluginWidget() const; 53 Widget* pluginWidget() const;
54 NPObject* getNPObject();
55 void setPluginFocus(bool focused);
56 bool canProcessDrag() const; 54 bool canProcessDrag() const;
57 const String& url() const { return m_url; } 55 const String& url() const { return m_url; }
58 56
59 // Public for FrameView::addPartToUpdate() 57 // Public for FrameView::addPartToUpdate()
60 bool needsWidgetUpdate() const { return m_needsWidgetUpdate; } 58 bool needsWidgetUpdate() const { return m_needsWidgetUpdate; }
61 void setNeedsWidgetUpdate(bool needsWidgetUpdate) { m_needsWidgetUpdate = ne edsWidgetUpdate; } 59 void setNeedsWidgetUpdate(bool needsWidgetUpdate) { m_needsWidgetUpdate = ne edsWidgetUpdate; }
62 void updateWidget(); 60 void updateWidget();
63 61
64 bool shouldAccelerate() const; 62 bool shouldAccelerate() const;
65 63
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 // Perform checks after we have determined that a plugin will be used to 131 // Perform checks after we have determined that a plugin will be used to
134 // show the object (i.e after allowedToLoadObject). 132 // show the object (i.e after allowedToLoadObject).
135 bool allowedToLoadPlugin(const KURL&, const String& mimeType); 133 bool allowedToLoadPlugin(const KURL&, const String& mimeType);
136 // Perform checks based on the URL and MIME-type of the object to load. 134 // Perform checks based on the URL and MIME-type of the object to load.
137 bool allowedToLoadObject(const KURL&, const String& mimeType); 135 bool allowedToLoadObject(const KURL&, const String& mimeType);
138 bool wouldLoadAsNetscapePlugin(const String& url, const String& serviceType) ; 136 bool wouldLoadAsNetscapePlugin(const String& url, const String& serviceType) ;
139 137
140 void setPersistedPluginWidget(Widget*); 138 void setPersistedPluginWidget(Widget*);
141 139
142 mutable RefPtr<SharedPersistent<v8::Object>> m_pluginWrapper; 140 mutable RefPtr<SharedPersistent<v8::Object>> m_pluginWrapper;
143 NPObject* m_NPObject;
144 bool m_needsWidgetUpdate; 141 bool m_needsWidgetUpdate;
145 bool m_shouldPreferPlugInsForImages; 142 bool m_shouldPreferPlugInsForImages;
146 143
147 // Normally the Widget is stored in HTMLFrameOwnerElement::m_widget. 144 // Normally the Widget is stored in HTMLFrameOwnerElement::m_widget.
148 // However, plugins can persist even when not rendered. In order to 145 // However, plugins can persist even when not rendered. In order to
149 // prevent confusing code which may assume that widget() != null 146 // prevent confusing code which may assume that widget() != null
150 // means the frame is active, we save off m_widget here while 147 // means the frame is active, we save off m_widget here while
151 // the plugin is persisting but not being displayed. 148 // the plugin is persisting but not being displayed.
152 RefPtrWillBeMember<Widget> m_persistedPluginWidget; 149 RefPtrWillBeMember<Widget> m_persistedPluginWidget;
153 }; 150 };
154 151
155 inline bool isHTMLPlugInElement(const HTMLElement& element) 152 inline bool isHTMLPlugInElement(const HTMLElement& element)
156 { 153 {
157 return element.isPluginElement(); 154 return element.isPluginElement();
158 } 155 }
159 156
160 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLPlugInElement); 157 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLPlugInElement);
161 158
162 } // namespace blink 159 } // namespace blink
163 160
164 #endif // HTMLPlugInElement_h 161 #endif // HTMLPlugInElement_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/LocalFrame.cpp ('k') | third_party/WebKit/Source/core/html/HTMLPlugInElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698