Index: third_party/WebKit/Source/core/layout/LayoutPart.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutPart.cpp b/third_party/WebKit/Source/core/layout/LayoutPart.cpp |
index 5caf85440e2ac78adf0ca76f59fb5f6da0475105..f47a71fa2583d3ee092cfe1c46b0ad39fc658e06 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutPart.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutPart.cpp |
@@ -65,9 +65,9 @@ void LayoutPart::WillBeDestroyed() { |
cache->Remove(this); |
} |
- Element* element = ToElement(GetNode()); |
- if (element && element->IsFrameOwnerElement()) |
- ToHTMLFrameOwnerElement(element)->SetWidget(nullptr); |
+ Node* node = GetNode(); |
+ if (node && node->IsFrameOwnerElement()) |
+ ToHTMLFrameOwnerElement(node)->SetWidget(nullptr); |
LayoutReplaced::WillBeDestroyed(); |
} |
@@ -92,39 +92,24 @@ LayoutPart::~LayoutPart() { |
} |
FrameView* LayoutPart::ChildFrameView() const { |
- // FrameViews are stored in HTMLFrameOwnerElement node. |
- Node* node = GetNode(); |
- if (node && node->IsFrameOwnerElement()) { |
- FrameViewBase* frame_view_base = |
- ToHTMLFrameOwnerElement(node)->OwnedWidget(); |
- if (frame_view_base && frame_view_base->IsFrameView()) |
- return ToFrameView(frame_view_base); |
- } |
+ FrameOrPlugin* frame_or_plugin = GetFrameOrPlugin(); |
+ if (frame_or_plugin && frame_or_plugin->IsFrameView()) |
+ return ToFrameView(frame_or_plugin); |
return nullptr; |
} |
PluginView* LayoutPart::Plugin() const { |
- // Plugins are stored in HTMLPlugInElement node. |
- Node* node = GetNode(); |
- return node && IsHTMLPlugInElement(node) ? ToHTMLPlugInElement(node)->Plugin() |
- : nullptr; |
+ FrameOrPlugin* frame_or_plugin = GetFrameOrPlugin(); |
+ if (frame_or_plugin && frame_or_plugin->IsPluginView()) |
+ return ToPluginView(frame_or_plugin); |
+ return nullptr; |
} |
FrameOrPlugin* LayoutPart::GetFrameOrPlugin() const { |
Node* node = GetNode(); |
- if (node && node->IsFrameOwnerElement()) { |
- FrameViewBase* frame_view_base = |
- ToHTMLFrameOwnerElement(node)->OwnedWidget(); |
- if (frame_view_base) { |
- if (frame_view_base->IsFrameView()) |
- return ToFrameView(frame_view_base); |
- if (frame_view_base->IsRemoteFrameView()) |
- return ToRemoteFrameView(frame_view_base); |
- // Must be either FrameView or RemoteFrameView. |
- NOTREACHED(); |
- } |
- } |
- return Plugin(); |
+ if (node && node->IsFrameOwnerElement()) |
+ return ToHTMLFrameOwnerElement(node)->OwnedWidget(); |
+ return nullptr; |
} |
PaintLayerType LayoutPart::LayerTypeRequired() const { |