Bug 121217 - RenderWidget elements are always HTMLFrameOwnerElement subclasses.
Summary: RenderWidget elements are always HTMLFrameOwnerElement subclasses.
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Andreas Kling
Depends on:
Reported: 2013-09-12 00:28 PDT by Andreas Kling
Modified: 2013-09-16 12:07 PDT (History)
7 users (show)

See Also:

Patch (18.28 KB, patch)
2013-09-12 00:43 PDT, Andreas Kling
koivisto: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Kling 2013-09-12 00:28:52 PDT
RenderWidget elements are always HTMLFrameOwnerElement subclasses.
Comment 1 Andreas Kling 2013-09-12 00:43:34 PDT
Created attachment 211407 [details]
Comment 2 WebKit Commit Bot 2013-09-12 00:44:48 PDT
Attachment 211407 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/page/Frame.cpp', u'Source/WebCore/page/FrameView.cpp', u'Source/WebCore/rendering/RenderEmbeddedObject.cpp', u'Source/WebCore/rendering/RenderEmbeddedObject.h', u'Source/WebCore/rendering/RenderFrame.cpp', u'Source/WebCore/rendering/RenderFrameBase.cpp', u'Source/WebCore/rendering/RenderFrameBase.h', u'Source/WebCore/rendering/RenderIFrame.cpp', u'Source/WebCore/rendering/RenderIFrame.h', u'Source/WebCore/rendering/RenderLayerCompositor.cpp', u'Source/WebCore/rendering/RenderSnapshottedPlugIn.cpp', u'Source/WebCore/rendering/RenderWidget.cpp', u'Source/WebCore/rendering/RenderWidget.h']" exit_code: 1
Source/WebCore/rendering/RenderWidget.h:26:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 14 files

If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Andreas Kling 2013-09-12 02:11:42 PDT
Committed r155598: <http://trac.webkit.org/changeset/155598>
Comment 4 Daniel Bates 2013-09-16 12:07:42 PDT
(In reply to comment #3)
> Committed r155598: <http://trac.webkit.org/changeset/155598>

This broke the build for ports that enable PLUGIN_PROXY_FOR_VIDEO (*), such as iOS WebKit, with a build error of the form:

Source/WebCore/html/HTMLMediaElement.cpp:623:55: error: no matching constructor for initialization of 'WebCore::RenderEmbeddedObject'
In file included from Source/WebCore/html/HTMLMediaElement.cpp:34:
In file included from Source/WebCore/page/ChromeClient.h:35:
Source/WebCore/rendering/RenderEmbeddedObject.h:36:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'WebCore::HTMLMediaElement *' to 'const WebCore::RenderEmbeddedObject' for 1st argument
class RenderEmbeddedObject : public RenderWidget {
Source/WebCore/rendering/RenderEmbeddedObject.h:38:5: note: candidate constructor not viable: no known conversion from 'WebCore::HTMLMediaElement *' to 'WebCore::HTMLFrameOwnerElement *' for 1st argument

Notice that HTMLMediaElement extends HTMLElement (as of r155811) instead of HTMLFrameOwnerElement or some derived class of it.

(*) We should look to setup a bot on build.webkit.org to build with PLUGIN_PROXY_FOR_VIDEO enabled to help catch such build failures.