A RenderView should always have a corresponding FrameView.
Created attachment 209461 [details] EWS experiment
Attachment 209461 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/accessibility/AccessibilityRenderObject.cpp', u'Source/WebCore/editing/FrameSelection.cpp', u'Source/WebCore/rendering/InlineFlowBox.cpp', u'Source/WebCore/rendering/RenderBlock.cpp', u'Source/WebCore/rendering/RenderBox.cpp', u'Source/WebCore/rendering/RenderBoxModelObject.cpp', u'Source/WebCore/rendering/RenderEmbeddedObject.cpp', u'Source/WebCore/rendering/RenderHTMLCanvas.cpp', u'Source/WebCore/rendering/RenderImage.cpp', u'Source/WebCore/rendering/RenderLayer.cpp', u'Source/WebCore/rendering/RenderLayerBacking.cpp', u'Source/WebCore/rendering/RenderLayerCompositor.cpp', u'Source/WebCore/rendering/RenderLayerModelObject.cpp', u'Source/WebCore/rendering/RenderListBox.cpp', u'Source/WebCore/rendering/RenderObject.cpp', u'Source/WebCore/rendering/RenderScrollbarPart.cpp', u'Source/WebCore/rendering/RenderText.cpp', u'Source/WebCore/rendering/RenderTheme.cpp', u'Source/WebCore/rendering/RenderThemeMac.mm', u'Source/WebCore/rendering/RenderView.cpp', u'Source/WebCore/rendering/RenderView.h', u'Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm', u'Source/WebKit/mac/WebView/WebFullScreenController.mm', u'Source/WebKit2/WebProcess/FullScreen/WebFullScreenManager.cpp']" exit_code: 1 Source/WebCore/rendering/RenderView.cpp:520: Should have only a single space after a punctuation in a comment. [whitespace/comments] [5] Total errors found: 1 in 24 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 209461 [details] EWS experiment Attachment 209461 [details] did not pass efl-ews (efl): Output: http://webkit-queues.appspot.com/results/1542305
Comment on attachment 209461 [details] EWS experiment Attachment 209461 [details] did not pass qt-ews (qt): Output: http://webkit-queues.appspot.com/results/1555241
Comment on attachment 209461 [details] EWS experiment Attachment 209461 [details] did not pass efl-wk2-ews (efl-wk2): Output: http://webkit-queues.appspot.com/results/1526661
Comment on attachment 209461 [details] EWS experiment Attachment 209461 [details] did not pass qt-wk2-ews (qt-wk2): Output: http://webkit-queues.appspot.com/results/1546291
Created attachment 209463 [details] Proposed patch
Comment on attachment 209463 [details] Proposed patch Attachment 209463 [details] did not pass qt-ews (qt): Output: http://webkit-queues.appspot.com/results/1525974
Comment on attachment 209463 [details] Proposed patch Attachment 209463 [details] did not pass efl-wk2-ews (efl-wk2): Output: http://webkit-queues.appspot.com/results/1525975
Comment on attachment 209463 [details] Proposed patch Attachment 209463 [details] did not pass efl-ews (efl): Output: http://webkit-queues.appspot.com/results/1557166
Comment on attachment 209463 [details] Proposed patch Attachment 209463 [details] did not pass gtk-ews (gtk): Output: http://webkit-queues.appspot.com/results/1520989
Comment on attachment 209463 [details] Proposed patch Attachment 209463 [details] did not pass qt-wk2-ews (qt-wk2): Output: http://webkit-queues.appspot.com/results/1546301
Created attachment 209464 [details] Proposed patch
Committed r154488: <http://trac.webkit.org/changeset/154488>
Comment on attachment 209464 [details] Proposed patch View in context: https://bugs.webkit.org/attachment.cgi?id=209464&action=review > Source/WebCore/rendering/RenderBox.cpp:2992 > + FrameView* frameView = view() ? &view()->frameView() : 0; > if (fixedElementLaysOutRelativeToFrame(frame, frameView)) > return (view()->isHorizontalWritingMode() ? frameView->visibleWidth() : frameView->visibleHeight()) / frame->frameScaleFactor(); Some of this stuff could probably be converted to be even more & based in the future.
(In reply to comment #15) > (From update of attachment 209464 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=209464&action=review > > > Source/WebCore/rendering/RenderBox.cpp:2992 > > + FrameView* frameView = view() ? &view()->frameView() : 0; > > if (fixedElementLaysOutRelativeToFrame(frame, frameView)) > > return (view()->isHorizontalWritingMode() ? frameView->visibleWidth() : frameView->visibleHeight()) / frame->frameScaleFactor(); > > Some of this stuff could probably be converted to be even more & based in the future. It is not clear at all why the code above is safe. Not the fault of this patch but still.