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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutBlock.h

Issue 2665823002: Invalidate caret during paint invalidation (Closed)
Patch Set: NeedsRebaseline Created 3 years, 10 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 * (C) 2007 David Smith (catfish.man@gmail.com) 4 * (C) 2007 David Smith (catfish.man@gmail.com)
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc.
6 * All rights reserved. 6 * All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 bool isPointInOverflowControl(HitTestResult&, 479 bool isPointInOverflowControl(HitTestResult&,
480 const LayoutPoint& locationInContainer, 480 const LayoutPoint& locationInContainer,
481 const LayoutPoint& accumulatedOffset) const; 481 const LayoutPoint& accumulatedOffset) const;
482 482
483 void computeBlockPreferredLogicalWidths(LayoutUnit& minLogicalWidth, 483 void computeBlockPreferredLogicalWidths(LayoutUnit& minLogicalWidth,
484 LayoutUnit& maxLogicalWidth) const; 484 LayoutUnit& maxLogicalWidth) const;
485 485
486 bool isSelectionRoot() const; 486 bool isSelectionRoot() const;
487 487
488 public: 488 public:
489 bool hasCursorCaret() const; 489 bool shouldPaintCursorCaret() const;
490 bool hasDragCaret() const; 490 bool shouldPaintDragCaret() const;
491 bool hasCaret() const { return hasCursorCaret() || hasDragCaret(); } 491 bool shouldPaintCarets() const {
492 return shouldPaintCursorCaret() || shouldPaintDragCaret();
493 }
492 494
493 protected: 495 protected:
494 PaintInvalidationReason invalidatePaintIfNeeded( 496 PaintInvalidationReason invalidatePaintIfNeeded(
495 const PaintInvalidationState&) override; 497 const PaintInvalidationState&) override;
496 PaintInvalidationReason invalidatePaintIfNeeded( 498 PaintInvalidationReason invalidatePaintIfNeeded(
497 const PaintInvalidatorContext&) const override; 499 const PaintInvalidatorContext&) const override;
498 500
501 void clearPreviousVisualRects() override;
502
499 private: 503 private:
500 LayoutRect localCaretRect(InlineBox*, 504 LayoutRect localCaretRect(InlineBox*,
501 int caretOffset, 505 int caretOffset,
502 LayoutUnit* extraWidthToEndOfLine = nullptr) final; 506 LayoutUnit* extraWidthToEndOfLine = nullptr) final;
503 bool isInlineBoxWrapperActuallyChild() const; 507 bool isInlineBoxWrapperActuallyChild() const;
504 508
505 Position positionForBox(InlineBox*, bool start = true) const; 509 Position positionForBox(InlineBox*, bool start = true) const;
506 510
507 // End helper functions and structs used by layoutBlockChildren. 511 // End helper functions and structs used by layoutBlockChildren.
508 512
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 // TODO(lunalu): Temporary in order to ensure compatibility with existing 568 // TODO(lunalu): Temporary in order to ensure compatibility with existing
565 // layout test results. 569 // layout test results.
566 virtual void adjustChildDebugRect(LayoutRect&) const {} 570 virtual void adjustChildDebugRect(LayoutRect&) const {}
567 }; 571 };
568 572
569 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock()); 573 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock());
570 574
571 } // namespace blink 575 } // namespace blink
572 576
573 #endif // LayoutBlock_h 577 #endif // LayoutBlock_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/FrameView.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutBlock.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698