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

Side by Side Diff: third_party/WebKit/Source/core/dom/IntersectionObserver.cpp

Issue 2390543002: Reflow comments in core/dom/. (Closed)
Patch Set: Reformat comments in core/dom/. Created 4 years, 2 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 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/dom/IntersectionObserver.h" 5 #include "core/dom/IntersectionObserver.h"
6 6
7 #include "bindings/core/v8/ExceptionState.h" 7 #include "bindings/core/v8/ExceptionState.h"
8 #include "core/css/parser/CSSParserTokenRange.h" 8 #include "core/css/parser/CSSParserTokenRange.h"
9 #include "core/css/parser/CSSTokenizer.h" 9 #include "core/css/parser/CSSTokenizer.h"
10 #include "core/dom/Element.h" 10 #include "core/dom/Element.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 } 56 }
57 57
58 private: 58 private:
59 WeakMember<ExecutionContext> m_context; 59 WeakMember<ExecutionContext> m_context;
60 std::unique_ptr<IntersectionObserver::EventCallback> m_callback; 60 std::unique_ptr<IntersectionObserver::EventCallback> m_callback;
61 }; 61 };
62 62
63 void parseRootMargin(String rootMarginParameter, 63 void parseRootMargin(String rootMarginParameter,
64 Vector<Length>& rootMargin, 64 Vector<Length>& rootMargin,
65 ExceptionState& exceptionState) { 65 ExceptionState& exceptionState) {
66 // TODO(szager): Make sure this exact syntax and behavior is spec-ed somewhere . 66 // TODO(szager): Make sure this exact syntax and behavior is spec-ed
67 // somewhere.
67 68
68 // The root margin argument accepts syntax similar to that for CSS margin: 69 // The root margin argument accepts syntax similar to that for CSS margin:
69 // 70 //
70 // "1px" = top/right/bottom/left 71 // "1px" = top/right/bottom/left
71 // "1px 2px" = top/bottom left/right 72 // "1px 2px" = top/bottom left/right
72 // "1px 2px 3px" = top left/right bottom 73 // "1px 2px 3px" = top left/right bottom
73 // "1px 2px 3px 4px" = top left right bottom 74 // "1px 2px 3px 4px" = top left right bottom
74 CSSTokenizer::Scope tokenizerScope(rootMarginParameter); 75 CSSTokenizer::Scope tokenizerScope(rootMarginParameter);
75 CSSParserTokenRange tokenRange = tokenizerScope.tokenRange(); 76 CSSParserTokenRange tokenRange = tokenizerScope.tokenRange();
76 while (tokenRange.peek().type() != EOFToken && 77 while (tokenRange.peek().type() != EOFToken &&
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 static LayoutUnit computeMargin(const Length& length, 398 static LayoutUnit computeMargin(const Length& length,
398 LayoutUnit referenceLength) { 399 LayoutUnit referenceLength) {
399 if (length.type() == Percent) 400 if (length.type() == Percent)
400 return LayoutUnit( 401 return LayoutUnit(
401 static_cast<int>(referenceLength.toFloat() * length.percent() / 100.0)); 402 static_cast<int>(referenceLength.toFloat() * length.percent() / 100.0));
402 DCHECK_EQ(length.type(), Fixed); 403 DCHECK_EQ(length.type(), Fixed);
403 return LayoutUnit(length.intValue()); 404 return LayoutUnit(length.intValue());
404 } 405 }
405 406
406 void IntersectionObserver::applyRootMargin(LayoutRect& rect) const { 407 void IntersectionObserver::applyRootMargin(LayoutRect& rect) const {
407 // TODO(szager): Make sure the spec is clear that left/right margins are resol ved against 408 // TODO(szager): Make sure the spec is clear that left/right margins are
408 // width and not height. 409 // resolved against width and not height.
409 LayoutUnit topMargin = computeMargin(m_topMargin, rect.height()); 410 LayoutUnit topMargin = computeMargin(m_topMargin, rect.height());
410 LayoutUnit rightMargin = computeMargin(m_rightMargin, rect.width()); 411 LayoutUnit rightMargin = computeMargin(m_rightMargin, rect.width());
411 LayoutUnit bottomMargin = computeMargin(m_bottomMargin, rect.height()); 412 LayoutUnit bottomMargin = computeMargin(m_bottomMargin, rect.height());
412 LayoutUnit leftMargin = computeMargin(m_leftMargin, rect.width()); 413 LayoutUnit leftMargin = computeMargin(m_leftMargin, rect.width());
413 414
414 rect.setX(rect.x() - leftMargin); 415 rect.setX(rect.x() - leftMargin);
415 rect.setWidth(rect.width() + leftMargin + rightMargin); 416 rect.setWidth(rect.width() + leftMargin + rightMargin);
416 rect.setY(rect.y() - topMargin); 417 rect.setY(rect.y() - topMargin);
417 rect.setHeight(rect.height() + topMargin + bottomMargin); 418 rect.setHeight(rect.height() + topMargin + bottomMargin);
418 } 419 }
(...skipping 16 matching lines...) Expand all
435 436
436 DEFINE_TRACE(IntersectionObserver) { 437 DEFINE_TRACE(IntersectionObserver) {
437 visitor->template registerWeakMembers< 438 visitor->template registerWeakMembers<
438 IntersectionObserver, &IntersectionObserver::clearWeakMembers>(this); 439 IntersectionObserver, &IntersectionObserver::clearWeakMembers>(this);
439 visitor->trace(m_callback); 440 visitor->trace(m_callback);
440 visitor->trace(m_observations); 441 visitor->trace(m_observations);
441 visitor->trace(m_entries); 442 visitor->trace(m_entries);
442 } 443 }
443 444
444 } // namespace blink 445 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698