Changeset 94513 in webkit
- Timestamp:
- Sep 4, 2011 11:43:32 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 2 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r94511 r94513 1 2011-09-04 James Kozianski <koz@chromium.org> 2 3 Unreviewed, rolling out r94510. 4 http://trac.webkit.org/changeset/94510 5 https://bugs.webkit.org/show_bug.cgi?id=66531 6 7 Causes layout test crashes. 8 9 * plugins/fullscreen-plugins-dont-reload-expected.txt: Removed. 10 * plugins/fullscreen-plugins-dont-reload.html: Removed. 11 1 12 2011-09-04 Abhishek Arya <inferno@chromium.org> 2 13 -
trunk/Source/WebCore/ChangeLog
r94512 r94513 1 2011-09-04 James Kozianski <koz@chromium.org> 2 3 Unreviewed, rolling out r94510. 4 http://trac.webkit.org/changeset/94510 5 https://bugs.webkit.org/show_bug.cgi?id=66531 6 7 Causes layout test crashes. 8 9 * dom/Document.cpp: 10 (WebCore::Document::webkitWillEnterFullScreenForElement): 11 (WebCore::Document::webkitDidExitFullScreenForElement): 12 * dom/NodeRenderingContext.cpp: 13 (WebCore::wrapWithRenderFullScreen): 14 (WebCore::NodeRendererFactory::createRendererIfNeeded): 15 * rendering/RenderFullScreen.cpp: 16 (RenderFullScreen::createFullScreenStyle): 17 * rendering/RenderFullScreen.h: 18 1 19 2011-09-04 Abhishek Arya <inferno@chromium.org> 2 20 -
trunk/Source/WebCore/dom/Document.cpp
r94510 r94513 4888 4888 4889 4889 if (m_fullScreenElement != documentElement()) 4890 RenderFullScreen::wrapRenderer(renderer, this);4890 m_fullScreenElement->detach(); 4891 4891 4892 4892 m_fullScreenElement->setContainsFullScreenElementOnAncestorsCrossingFrameBoundaries(true); … … 4939 4939 m_areKeysEnabledInFullScreen = false; 4940 4940 setAnimatingFullScreen(false); 4941 4941 4942 4942 if (m_fullScreenRenderer) 4943 m_fullScreenRenderer->unwrapRenderer(); 4943 m_fullScreenRenderer->remove(); 4944 4945 if (m_fullScreenElement != documentElement()) 4946 m_fullScreenElement->detach(); 4944 4947 4945 4948 m_fullScreenChangeEventTargetQueue.append(m_fullScreenElement.release()); 4949 setFullScreenRenderer(0); 4946 4950 #if USE(ACCELERATED_COMPOSITING) 4947 4951 page()->chrome()->client()->setRootFullScreenLayer(0); -
trunk/Source/WebCore/dom/NodeRenderingContext.cpp
r94510 r94513 321 321 } 322 322 323 #if ENABLE(FULLSCREEN_API) 324 static RenderObject* wrapWithRenderFullScreen(RenderObject* object, Document* document) 325 { 326 RenderFullScreen* fullscreenRenderer = new (document->renderArena()) RenderFullScreen(document); 327 fullscreenRenderer->setStyle(RenderFullScreen::createFullScreenStyle()); 328 // It's possible that we failed to create the new render and end up wrapping nothing. 329 // We'll end up displaying a black screen, but Jer says this is expected. 330 if (object) 331 fullscreenRenderer->addChild(object); 332 document->setFullScreenRenderer(fullscreenRenderer); 333 if (fullscreenRenderer->placeholder()) 334 return fullscreenRenderer->placeholder(); 335 return fullscreenRenderer; 336 } 337 #endif 338 323 339 void NodeRendererFactory::createRendererIfNeeded() 324 340 { … … 341 357 #if ENABLE(FULLSCREEN_API) 342 358 if (document->webkitIsFullScreen() && document->webkitCurrentFullScreenElement() == node) 343 newRenderer = RenderFullScreen::wrapRenderer(newRenderer, document);359 newRenderer = wrapWithRenderFullScreen(newRenderer, document); 344 360 #endif 345 361 -
trunk/Source/WebCore/rendering/RenderFullScreen.cpp
r94510 r94513 80 80 } 81 81 82 static PassRefPtr<RenderStyle>createFullScreenStyle()82 PassRefPtr<RenderStyle> RenderFullScreen::createFullScreenStyle() 83 83 { 84 84 RefPtr<RenderStyle> fullscreenStyle = RenderStyle::createDefaultStyle(); … … 98 98 fullscreenStyle->setWidth(Length(100.0, Percent)); 99 99 fullscreenStyle->setHeight(Length(100.0, Percent)); 100 fullscreenStyle->setLeft(Length(0, WebCore::Fixed));101 fullscreenStyle->setTop(Length(0, WebCore::Fixed));100 fullscreenStyle->setLeft(Length(0, Fixed)); 101 fullscreenStyle->setTop(Length(0, Fixed)); 102 102 103 103 fullscreenStyle->setBackgroundColor(Color::black); 104 104 105 105 return fullscreenStyle.release(); 106 }107 108 RenderObject* RenderFullScreen::wrapRenderer(RenderObject* object, Document* document)109 {110 RenderFullScreen* fullscreenRenderer = new (document->renderArena()) RenderFullScreen(document);111 fullscreenRenderer->setStyle(createFullScreenStyle());112 if (object) {113 if (RenderObject* parent = object->parent()) {114 parent->addChild(fullscreenRenderer, object);115 object->remove();116 }117 fullscreenRenderer->addChild(object);118 }119 document->setFullScreenRenderer(fullscreenRenderer);120 if (fullscreenRenderer->placeholder())121 return fullscreenRenderer->placeholder();122 return fullscreenRenderer;123 }124 125 void RenderFullScreen::unwrapRenderer()126 {127 RenderObject* wrappedRenderer = firstChild();128 if (wrappedRenderer) {129 wrappedRenderer->remove();130 RenderObject* holder = placeholder() ? placeholder() : this;131 RenderObject* parent = holder->parent();132 if (parent)133 parent->addChild(wrappedRenderer, holder);134 }135 remove();136 document()->setFullScreenRenderer(0);137 106 } 138 107 -
trunk/Source/WebCore/rendering/RenderFullScreen.h
r94510 r94513 42 42 void createPlaceholder(PassRefPtr<RenderStyle>, const IntRect& frameRect); 43 43 44 45 static RenderObject* wrapRenderer(RenderObject* renderer, Document*); 46 void unwrapRenderer(); 44 static PassRefPtr<RenderStyle> createFullScreenStyle(); 47 45 48 46 private:
Note: See TracChangeset
for help on using the changeset viewer.