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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutInline.cpp

Issue 2855843002: Reland "Sync requestFullscreen() and exitFullscreen() algorithms with the spec" (Closed)
Patch Set: Reland "Sync requestFullscreen() and exitFullscreen() algorithms with the spec" Created 3 years, 6 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
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 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc.
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 LayoutObject* before_child, 402 LayoutObject* before_child,
403 LayoutBoxModelObject* old_cont) { 403 LayoutBoxModelObject* old_cont) {
404 DCHECK(IsDescendantOf(from_block)); 404 DCHECK(IsDescendantOf(from_block));
405 405
406 // If we're splitting the inline containing the fullscreened element, 406 // If we're splitting the inline containing the fullscreened element,
407 // |beforeChild| may be the layoutObject for the fullscreened element. 407 // |beforeChild| may be the layoutObject for the fullscreened element.
408 // However, that layoutObject is wrapped in a LayoutFullScreen, so |this| is 408 // However, that layoutObject is wrapped in a LayoutFullScreen, so |this| is
409 // not its parent. Since the splitting logic expects |this| to be the parent, 409 // not its parent. Since the splitting logic expects |this| to be the parent,
410 // set |beforeChild| to be the LayoutFullScreen. 410 // set |beforeChild| to be the LayoutFullScreen.
411 if (Fullscreen* fullscreen = Fullscreen::FromIfExists(GetDocument())) { 411 if (Fullscreen* fullscreen = Fullscreen::FromIfExists(GetDocument())) {
412 const Element* full_screen_element = fullscreen->CurrentFullScreenElement(); 412 const Element* fullscreen_element = fullscreen->FullscreenElement();
413 if (full_screen_element && before_child && 413 if (fullscreen_element && before_child &&
414 before_child->GetNode() == full_screen_element) 414 before_child->GetNode() == fullscreen_element)
415 before_child = fullscreen->FullScreenLayoutObject(); 415 before_child = fullscreen->FullScreenLayoutObject();
416 } 416 }
417 417
418 // FIXME: Because splitting is O(n^2) as tags nest pathologically, we cap the 418 // FIXME: Because splitting is O(n^2) as tags nest pathologically, we cap the
419 // depth at which we're willing to clone. 419 // depth at which we're willing to clone.
420 // There will eventually be a better approach to this problem that will let us 420 // There will eventually be a better approach to this problem that will let us
421 // nest to a much greater depth (see bugzilla bug 13430) but for now we have a 421 // nest to a much greater depth (see bugzilla bug 13430) but for now we have a
422 // limit. This *will* result in incorrect rendering, but the alternative is to 422 // limit. This *will* result in incorrect rendering, but the alternative is to
423 // hang forever. 423 // hang forever.
424 const unsigned kCMaxSplitDepth = 200; 424 const unsigned kCMaxSplitDepth = 200;
(...skipping 1126 matching lines...) Expand 10 before | Expand all | Expand 10 after
1551 paint_invalidator.InvalidateDisplayItemClient(*box, invalidation_reason); 1551 paint_invalidator.InvalidateDisplayItemClient(*box, invalidation_reason);
1552 } 1552 }
1553 1553
1554 // TODO(lunalu): Not to just dump 0, 0 as the x and y here 1554 // TODO(lunalu): Not to just dump 0, 0 as the x and y here
1555 LayoutRect LayoutInline::DebugRect() const { 1555 LayoutRect LayoutInline::DebugRect() const {
1556 IntRect lines_box = EnclosingIntRect(LinesBoundingBox()); 1556 IntRect lines_box = EnclosingIntRect(LinesBoundingBox());
1557 return LayoutRect(IntRect(0, 0, lines_box.Width(), lines_box.Height())); 1557 return LayoutRect(IntRect(0, 0, lines_box.Width(), lines_box.Height()));
1558 } 1558 }
1559 1559
1560 } // namespace blink 1560 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698