Index: Source/core/inspector/InspectorCSSAgent.cpp |
diff --git a/Source/core/inspector/InspectorCSSAgent.cpp b/Source/core/inspector/InspectorCSSAgent.cpp |
index 96ac18ac034ce84a5037f948d34b9e15ea38d5e8..08a9f1bf77b733a359b595b0237f8fa51b43e9f7 100644 |
--- a/Source/core/inspector/InspectorCSSAgent.cpp |
+++ b/Source/core/inspector/InspectorCSSAgent.cpp |
@@ -793,22 +793,16 @@ void InspectorCSSAgent::getPlatformFontsForNode(ErrorString* errorString, int no |
for (size_t i = 0; i < textNodes.size(); ++i) { |
RenderText* renderer = textNodes[i]->renderer(); |
collectPlatformFontsForRenderer(renderer, &fontStats); |
- |
- if (!renderer->isTextFragment()) |
- continue; |
- |
- // If we're the remaining text from a first-letter then our previous |
- // sibling has to be the first-letter renderer. |
- RenderObject* previous = renderer->previousSibling(); |
- if (!previous) |
- continue; |
- |
- if (!previous->isPseudoElement() || !previous->node()->isFirstLetterPseudoElement()) |
- continue; |
- |
- // The first-letter pseudoElement only has one child, which is the |
- // first-letter renderer. |
- collectPlatformFontsForRenderer(toRenderText(previous->slowFirstChild()), &fontStats); |
+ if (renderer->isTextFragment()) { |
+ RenderTextFragment* textFragment = toRenderTextFragment(renderer); |
+ if (textFragment->firstLetter()) { |
+ RenderBoxModelObject* firstLetter = textFragment->firstLetter(); |
+ for (RenderObject* current = firstLetter->slowFirstChild(); current; current = current->nextSibling()) { |
+ if (current->isText()) |
+ collectPlatformFontsForRenderer(toRenderText(current), &fontStats); |
+ } |
+ } |
+ } |
} |
platformFonts = TypeBuilder::Array<TypeBuilder::CSS::PlatformFontUsage>::create(); |