| Index: third_party/WebKit/Source/modules/plugins/DOMPlugin.cpp
 | 
| diff --git a/third_party/WebKit/Source/modules/plugins/DOMPlugin.cpp b/third_party/WebKit/Source/modules/plugins/DOMPlugin.cpp
 | 
| index 0518480b573b85aedb40f2af001140d5f4ec59f8..f9a22d6a7210a80081910e7475bffa7a2f4fa031 100644
 | 
| --- a/third_party/WebKit/Source/modules/plugins/DOMPlugin.cpp
 | 
| +++ b/third_party/WebKit/Source/modules/plugins/DOMPlugin.cpp
 | 
| @@ -24,52 +24,48 @@
 | 
|  
 | 
|  namespace blink {
 | 
|  
 | 
| -DOMPlugin::DOMPlugin(PluginData* plugin_data, LocalFrame* frame, unsigned index)
 | 
| -    : ContextClient(frame), plugin_data_(plugin_data), index_(index) {}
 | 
| +DOMPlugin::DOMPlugin(LocalFrame* frame, const PluginInfo& plugin_info)
 | 
| +    : ContextClient(frame), plugin_info_(&plugin_info) {}
 | 
|  
 | 
|  DOMPlugin::~DOMPlugin() {}
 | 
|  
 | 
|  DEFINE_TRACE(DOMPlugin) {
 | 
|    ContextClient::Trace(visitor);
 | 
| +  visitor->Trace(plugin_info_);
 | 
|  }
 | 
|  
 | 
|  String DOMPlugin::name() const {
 | 
| -  return GetPluginInfo().name;
 | 
| +  return plugin_info_->Name();
 | 
|  }
 | 
|  
 | 
|  String DOMPlugin::filename() const {
 | 
| -  return GetPluginInfo().file;
 | 
| +  return plugin_info_->Filename();
 | 
|  }
 | 
|  
 | 
|  String DOMPlugin::description() const {
 | 
| -  return GetPluginInfo().desc;
 | 
| +  return plugin_info_->Description();
 | 
|  }
 | 
|  
 | 
|  unsigned DOMPlugin::length() const {
 | 
| -  return GetPluginInfo().mimes.size();
 | 
| +  return plugin_info_->GetMimeClassInfoSize();
 | 
|  }
 | 
|  
 | 
|  DOMMimeType* DOMPlugin::item(unsigned index) {
 | 
| -  if (index >= GetPluginInfo().mimes.size())
 | 
| -    return nullptr;
 | 
| +  const MimeClassInfo* mime = plugin_info_->GetMimeClassInfo(index);
 | 
|  
 | 
| -  const MimeClassInfo& mime = GetPluginInfo().mimes[index];
 | 
| +  if (!mime)
 | 
| +    return nullptr;
 | 
|  
 | 
| -  const Vector<MimeClassInfo>& mimes = plugin_data_->Mimes();
 | 
| -  for (unsigned i = 0; i < mimes.size(); ++i) {
 | 
| -    if (mimes[i] == mime && plugin_data_->MimePluginIndices()[i] == index_)
 | 
| -      return DOMMimeType::Create(plugin_data_.Get(), GetFrame(), i);
 | 
| -  }
 | 
| -  return nullptr;
 | 
| +  return DOMMimeType::Create(GetFrame(), *mime);
 | 
|  }
 | 
|  
 | 
|  DOMMimeType* DOMPlugin::namedItem(const AtomicString& property_name) {
 | 
| -  const Vector<MimeClassInfo>& mimes = plugin_data_->Mimes();
 | 
| -  for (unsigned i = 0; i < mimes.size(); ++i) {
 | 
| -    if (mimes[i].type == property_name)
 | 
| -      return DOMMimeType::Create(plugin_data_.Get(), GetFrame(), i);
 | 
| -  }
 | 
| -  return nullptr;
 | 
| +  const MimeClassInfo* mime = plugin_info_->GetMimeClassInfo(property_name);
 | 
| +
 | 
| +  if (!mime)
 | 
| +    return nullptr;
 | 
| +
 | 
| +  return DOMMimeType::Create(GetFrame(), *mime);
 | 
|  }
 | 
|  
 | 
|  }  // namespace blink
 | 
| 
 |