Changeset 167780 in webkit
- Timestamp:
- Apr 24, 2014, 3:48:32 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/fullscreen/full-screen-no-style-sharing-expected.txt (modified) (1 diff)
-
LayoutTests/fullscreen/video-cursor-auto-hide.html (modified) (2 diffs)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/dom/Document.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/RenderFullScreen.cpp (modified) (7 diffs)
-
Source/WebCore/rendering/RenderFullScreen.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r167771 r167780 1 2014-04-24 Commit Queue <commit-queue@webkit.org> 2 3 Unreviewed, rolling out r167441. 4 https://bugs.webkit.org/show_bug.cgi?id=132152 5 6 Caused full screen regressions on vimeo, youtube, and others. 7 (Requested by jernoble on #webkit). 8 9 Reverted changeset: 10 11 "Fullscreen media controls are unusable in pagination mode" 12 https://bugs.webkit.org/show_bug.cgi?id=131705 13 http://trac.webkit.org/changeset/167441 14 1 15 2014-04-24 Zalan Bujtas <zalan@apple.com> 2 16 -
trunk/LayoutTests/fullscreen/full-screen-no-style-sharing-expected.txt
r167441 r167780 1 1 2 2 EVENT(webkitfullscreenchange) TEST(video2.clientWidth==document.body.clientWidth) OK 3 3 END OF TEST -
trunk/LayoutTests/fullscreen/video-cursor-auto-hide.html
r167441 r167780 7 7 <script> 8 8 var wrapper = document.getElementById('wrapper'); 9 var video = document.getElementById('video');10 9 11 10 function checkForHiddenMouse() … … 19 18 if (window.internals) { 20 19 internals.settings.setTimeWithoutMouseMovementBeforeHidingControls(0); 21 videoBox = internals.boundingBox(video);22 eventSender.mouseMoveTo( videoBox.left + videoBox.width / 2, videoBox.top + videoBox.height / 2);20 wrapperBox = internals.boundingBox(wrapper); 21 eventSender.mouseMoveTo(wrapperBox.left + wrapperBox.width / 2, wrapperBox.top + wrapperBox.height / 2); 23 22 testExpected('window.internals.getCurrentCursorInfo()', 'type=Pointer hotSpot=0,0'); 24 23 setTimeout(checkForHiddenMouse, 0); -
trunk/Source/WebCore/ChangeLog
r167777 r167780 1 2014-04-24 Commit Queue <commit-queue@webkit.org> 2 3 Unreviewed, rolling out r167441. 4 https://bugs.webkit.org/show_bug.cgi?id=132152 5 6 Caused full screen regressions on vimeo, youtube, and others. 7 (Requested by jernoble on #webkit). 8 9 Reverted changeset: 10 11 "Fullscreen media controls are unusable in pagination mode" 12 https://bugs.webkit.org/show_bug.cgi?id=131705 13 http://trac.webkit.org/changeset/167441 14 1 15 2014-04-24 Adenilson Cavalcanti <cavalcantii@gmail.com> 2 16 -
trunk/Source/WebCore/dom/Document.cpp
r167743 r167780 5364 5364 } 5365 5365 5366 if (m_fullScreenElement != documentElement()) 5367 RenderFullScreen::wrapRenderer(renderer, renderer ? renderer->parent() : nullptr, *this); 5368 5366 5369 m_fullScreenElement->setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries(true); 5367 5370 … … 5428 5431 5429 5432 if (renderer && m_savedPlaceholderRenderStyle) 5430 renderer-> setPlaceholderStyle(m_savedPlaceholderRenderStyle.releaseNonNull(), m_savedPlaceholderFrameRect);5433 renderer->createPlaceholder(m_savedPlaceholderRenderStyle.releaseNonNull(), m_savedPlaceholderFrameRect); 5431 5434 else if (renderer && m_fullScreenRenderer && m_fullScreenRenderer->placeholder()) { 5432 5435 RenderBlock* placeholder = m_fullScreenRenderer->placeholder(); 5433 renderer-> setPlaceholderStyle(RenderStyle::clone(&placeholder->style()), placeholder->frameRect());5436 renderer->createPlaceholder(RenderStyle::clone(&placeholder->style()), placeholder->frameRect()); 5434 5437 } 5435 5438 -
trunk/Source/WebCore/rendering/RenderFullScreen.cpp
r167441 r167780 32 32 #include "RenderLayer.h" 33 33 #include "RenderLayerCompositor.h" 34 #include "RenderView.h"35 34 36 35 namespace WebCore { … … 52 51 void RenderFullScreenPlaceholder::willBeDestroyed() 53 52 { 54 m_owner. clearPlaceholder();53 m_owner.setPlaceholder(0); 55 54 RenderBlockFlow::willBeDestroyed(); 56 55 } … … 106 105 } 107 106 108 Render Element* RenderFullScreen::wrapRenderer(RenderObject* object, RenderElement* parent, Document& document)107 RenderFullScreen* RenderFullScreen::wrapRenderer(RenderObject* object, RenderElement* parent, Document& document) 109 108 { 110 109 RenderFullScreen* fullscreenRenderer = new RenderFullScreen(document, createFullScreenStyle()); … … 120 119 RenderBlock* containingBlock = object->containingBlock(); 121 120 ASSERT(containingBlock); 122 123 121 // Since we are moving the |object| to a new parent |fullscreenRenderer|, 124 122 // the line box tree underneath our |containingBlock| is not longer valid. 125 123 containingBlock->deleteLines(); 126 124 127 parent->addChild(fullscreenRenderer ->ensurePlaceholder(), object);125 parent->addChild(fullscreenRenderer, object); 128 126 object->removeFromParent(); 129 127 … … 134 132 containingBlock->setNeedsLayoutAndPrefWidthsRecalc(); 135 133 } 136 137 object->view().addChild(fullscreenRenderer);138 134 fullscreenRenderer->addChild(object); 135 fullscreenRenderer->setNeedsLayoutAndPrefWidthsRecalc(); 139 136 } 140 137 document.setFullScreenRenderer(fullscreenRenderer); 141 return fullscreenRenderer ->ensurePlaceholder();138 return fullscreenRenderer; 142 139 } 143 140 144 141 void RenderFullScreen::unwrapRenderer() 145 142 { 146 if (p laceholder() && placeholder()->parent()) {143 if (parent()) { 147 144 RenderObject* child; 148 145 while ((child = firstChild())) { … … 153 150 toRenderBox(child)->clearOverrideSize(); 154 151 child->removeFromParent(); 155 placeholder()->parent()->addChild(child, m_placeholder); 152 parent()->addChild(child, this); 153 parent()->setNeedsLayoutAndPrefWidthsRecalc(); 156 154 } 157 155 } 156 if (placeholder()) 158 157 placeholder()->removeFromParent(); 159 }160 158 removeFromParent(); 161 159 document().setFullScreenRenderer(0); 162 160 } 163 161 164 void RenderFullScreen:: clearPlaceholder()162 void RenderFullScreen::setPlaceholder(RenderBlock* placeholder) 165 163 { 166 m_placeholder = nullptr;164 m_placeholder = placeholder; 167 165 } 168 166 169 RenderBlock* RenderFullScreen::ensurePlaceholder() 170 { 171 if (m_placeholder) 172 return m_placeholder; 173 174 m_placeholder = new RenderFullScreenPlaceholder(*this, RenderStyle::create()); 175 m_placeholder->initializeStyle(); 176 return m_placeholder; 177 } 178 179 void RenderFullScreen::setPlaceholderStyle(PassRef<RenderStyle> style, const LayoutRect& frameRect) 167 void RenderFullScreen::createPlaceholder(PassRef<RenderStyle> style, const LayoutRect& frameRect) 180 168 { 181 169 if (style.get().width().isAuto()) … … 184 172 style.get().setHeight(Length(frameRect.height(), Fixed)); 185 173 186 ensurePlaceholder()->setStyle(std::move(style)); 174 if (m_placeholder) { 175 m_placeholder->setStyle(std::move(style)); 176 return; 177 } 178 179 m_placeholder = new RenderFullScreenPlaceholder(*this, std::move(style)); 180 m_placeholder->initializeStyle(); 181 if (parent()) { 182 parent()->addChild(m_placeholder, this); 183 parent()->setNeedsLayoutAndPrefWidthsRecalc(); 184 } 187 185 } 188 186 -
trunk/Source/WebCore/rendering/RenderFullScreen.h
r167441 r167780 40 40 virtual const char* renderName() const override { return "RenderFullScreen"; } 41 41 42 void clearPlaceholder(); 43 RenderBlock* ensurePlaceholder(); 42 void setPlaceholder(RenderBlock*); 44 43 RenderBlock* placeholder() { return m_placeholder; } 45 void setPlaceholderStyle(PassRef<RenderStyle>, const LayoutRect& frameRect);44 void createPlaceholder(PassRef<RenderStyle>, const LayoutRect& frameRect); 46 45 47 static Render Element* wrapRenderer(RenderObject*, RenderElement*, Document&);46 static RenderFullScreen* wrapRenderer(RenderObject*, RenderElement*, Document&); 48 47 void unwrapRenderer(); 49 48
Note:
See TracChangeset
for help on using the changeset viewer.