Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(474)

Side by Side Diff: Source/core/dom/Element.cpp

Issue 22454003: Support subtitles for native fullscreen video (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: add dangling pointer check Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Peter Kelly (pmk@post.com) 4 * (C) 2001 Peter Kelly (pmk@post.com)
5 * (C) 2001 Dirk Mueller (mueller@kde.org) 5 * (C) 2001 Dirk Mueller (mueller@kde.org)
6 * (C) 2007 David Smith (catfish.man@gmail.com) 6 * (C) 2007 David Smith (catfish.man@gmail.com)
7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc. All rights reserved. 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc. All rights reserved.
8 * (C) 2007 Eric Seidel (eric@webkit.org) 8 * (C) 2007 Eric Seidel (eric@webkit.org)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 1335 matching lines...) Expand 10 before | Expand all | Expand 10 after
1346 if (hasRareData()) { 1346 if (hasRareData()) {
1347 ElementRareData* data = elementRareData(); 1347 ElementRareData* data = elementRareData();
1348 if (data->needsFocusAppearanceUpdateSoonAfterAttach()) { 1348 if (data->needsFocusAppearanceUpdateSoonAfterAttach()) {
1349 if (isFocusable() && document().focusedElement() == this) 1349 if (isFocusable() && document().focusedElement() == this)
1350 document().updateFocusAppearanceSoon(false /* don't restore sele ction */); 1350 document().updateFocusAppearanceSoon(false /* don't restore sele ction */);
1351 data->setNeedsFocusAppearanceUpdateSoonAfterAttach(false); 1351 data->setNeedsFocusAppearanceUpdateSoonAfterAttach(false);
1352 } 1352 }
1353 } 1353 }
1354 1354
1355 InspectorInstrumentation::didRecalculateStyleForElement(this); 1355 InspectorInstrumentation::didRecalculateStyleForElement(this);
1356
1357 if (FullscreenElementStack::isActiveFullScreenElement(this)) {
1358 RenderView* view = document().topDocument()->renderView();
1359 ASSERT(view);
1360 view->setCurrentFullscreenRenderer(renderer());
1361 }
1356 } 1362 }
1357 1363
1358 void Element::unregisterNamedFlowContentNode() 1364 void Element::unregisterNamedFlowContentNode()
1359 { 1365 {
1360 if (RuntimeEnabledFeatures::cssRegionsEnabled() && inNamedFlow() && document ().renderView()) 1366 if (RuntimeEnabledFeatures::cssRegionsEnabled() && inNamedFlow() && document ().renderView())
1361 document().renderView()->flowThreadController()->unregisterNamedFlowCont entNode(this); 1367 document().renderView()->flowThreadController()->unregisterNamedFlowCont entNode(this);
1362 } 1368 }
1363 1369
1364 void Element::detach(const AttachContext& context) 1370 void Element::detach(const AttachContext& context)
1365 { 1371 {
1372 if (FullscreenElementStack::isActiveFullScreenElement(this)) {
1373 RenderView* view = document().topDocument()->renderView();
1374 if (view)
1375 view->setCurrentFullscreenRenderer(0);
1376 }
1377
1366 WidgetHierarchyUpdatesSuspensionScope suspendWidgetHierarchyUpdates; 1378 WidgetHierarchyUpdatesSuspensionScope suspendWidgetHierarchyUpdates;
1367 unregisterNamedFlowContentNode(); 1379 unregisterNamedFlowContentNode();
1368 cancelFocusAppearanceUpdate(); 1380 cancelFocusAppearanceUpdate();
1369 if (hasRareData()) { 1381 if (hasRareData()) {
1370 ElementRareData* data = elementRareData(); 1382 ElementRareData* data = elementRareData();
1371 data->setPseudoElement(BEFORE, 0); 1383 data->setPseudoElement(BEFORE, 0);
1372 data->setPseudoElement(AFTER, 0); 1384 data->setPseudoElement(AFTER, 0);
1373 data->setPseudoElement(BACKDROP, 0); 1385 data->setPseudoElement(BACKDROP, 0);
1374 data->clearComputedStyle(); 1386 data->clearComputedStyle();
1375 data->resetDynamicRestyleObservations(); 1387 data->resetDynamicRestyleObservations();
(...skipping 2265 matching lines...) Expand 10 before | Expand all | Expand 10 after
3641 } 3653 }
3642 return 0; 3654 return 0;
3643 } 3655 }
3644 3656
3645 Attribute* UniqueElementData::attributeItem(unsigned index) 3657 Attribute* UniqueElementData::attributeItem(unsigned index)
3646 { 3658 {
3647 ASSERT_WITH_SECURITY_IMPLICATION(index < length()); 3659 ASSERT_WITH_SECURITY_IMPLICATION(index < length());
3648 return &m_attributeVector.at(index); 3660 return &m_attributeVector.at(index);
3649 } 3661 }
3650 3662
3663 void Element::didBecomeFullscreenElement()
3664 {
3665 RenderView* view = document().topDocument()->renderView();
3666 ASSERT(view);
3667 view->setCurrentFullscreenRenderer(renderer());
3668 }
3669
3670 void Element::willStopBeingFullscreenElement()
3671 {
3672 RenderView* view = document().topDocument()->renderView();
3673 ASSERT(view);
3674 view->setCurrentFullscreenRenderer(0);
3675 }
3676
3651 } // namespace WebCore 3677 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698