Propagate resource-triggered repaints to text node children of <text>

When a paint server is modified, it is marked for layout and its clients
are marked for repaint. In the case of <text> (and <tspan> and other
text content elements), the text nodes (for which the actual painting is
performed) uses their parent (LayoutObject) to get the fill/stroke. This
means that if a repaint is requested for all clients of a resource, the
text nodes will not be notified.
Add and use a new paint invalidation reason for this case:
PaintInvalidationSVGResourceChange
Handle this reason in LayoutSVGText and LayoutSVGInline.
Generalize the ancestorHadPaintInvalidationForLocationChange
functionality, renaming it to forcedSubtreeInvalidationWithinContainer.

BUG=528159

Review URL: https://codereview.chromium.org/1331053002

git-svn-id: svn://svn.chromium.org/blink/trunk@202280 bbb929c8-8fbe-4397-9dbb-9b2b20218538
18 files changed
tree: 8732343dc03b7d2417a50b794391be3019db62e2
  1. third_party/