|
|
Created:
6 years, 10 months ago by gnana Modified:
6 years, 10 months ago CC:
blink-reviews Base URL:
https://chromium.googlesource.com/chromium/blink.git@master Visibility:
Public. |
DescriptionChrome_Win: Renderer Crash - WebCore::FrameView::setFrameRect
This crash is caused by r166295
ismainframe check needs to be added before using the page
BUG=340580
Patch Set 1 #
Messages
Total messages: 32 (0 generated)
Please have a look
lgtm
The CQ bit was checked by gnanasekar.s@samsung.com
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/core/frame/FrameView.cpp Hunk #1 FAILED at 379. 1 out of 1 hunk FAILED -- saving rejects to file Source/core/frame/FrameView.cpp.rej Patch: Source/core/frame/FrameView.cpp Index: Source/core/frame/FrameView.cpp diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp index 4bf08a4e79bb04b5f000e42c22ce68c24262bf4d..4820c319e34448e46e21b79ef703341fff09be8b 100644 --- a/Source/core/frame/FrameView.cpp +++ b/Source/core/frame/FrameView.cpp @@ -379,13 +379,15 @@ void FrameView::setFrameRect(const IntRect& newRect) // Autosized font sizes depend on the width of the viewing area. if (newRect.width() != oldRect.width()) { - Page* page = m_frame->page(); - bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); - if (isMainFrame() && textAutosizingEnabled) { - TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); - if (textAutosizer) { - for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) - textAutosizer->recalculateMultipliers(); + if (isMainFrame()) { + Page* page = m_frame->page(); + bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); + if (textAutosizingEnabled) { + TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); + if (textAutosizer) { + for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) + textAutosizer->recalculateMultipliers(); + } } } }
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/core/frame/FrameView.cpp Hunk #1 FAILED at 379. 1 out of 1 hunk FAILED -- saving rejects to file Source/core/frame/FrameView.cpp.rej Patch: Source/core/frame/FrameView.cpp Index: Source/core/frame/FrameView.cpp diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp index 4bf08a4e79bb04b5f000e42c22ce68c24262bf4d..4820c319e34448e46e21b79ef703341fff09be8b 100644 --- a/Source/core/frame/FrameView.cpp +++ b/Source/core/frame/FrameView.cpp @@ -379,13 +379,15 @@ void FrameView::setFrameRect(const IntRect& newRect) // Autosized font sizes depend on the width of the viewing area. if (newRect.width() != oldRect.width()) { - Page* page = m_frame->page(); - bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); - if (isMainFrame() && textAutosizingEnabled) { - TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); - if (textAutosizer) { - for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) - textAutosizer->recalculateMultipliers(); + if (isMainFrame()) { + Page* page = m_frame->page(); + bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); + if (textAutosizingEnabled) { + TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); + if (textAutosizer) { + for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) + textAutosizer->recalculateMultipliers(); + } } } }
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/core/frame/FrameView.cpp Hunk #1 FAILED at 379. 1 out of 1 hunk FAILED -- saving rejects to file Source/core/frame/FrameView.cpp.rej Patch: Source/core/frame/FrameView.cpp Index: Source/core/frame/FrameView.cpp diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp index 4bf08a4e79bb04b5f000e42c22ce68c24262bf4d..4820c319e34448e46e21b79ef703341fff09be8b 100644 --- a/Source/core/frame/FrameView.cpp +++ b/Source/core/frame/FrameView.cpp @@ -379,13 +379,15 @@ void FrameView::setFrameRect(const IntRect& newRect) // Autosized font sizes depend on the width of the viewing area. if (newRect.width() != oldRect.width()) { - Page* page = m_frame->page(); - bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); - if (isMainFrame() && textAutosizingEnabled) { - TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); - if (textAutosizer) { - for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) - textAutosizer->recalculateMultipliers(); + if (isMainFrame()) { + Page* page = m_frame->page(); + bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); + if (textAutosizingEnabled) { + TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); + if (textAutosizer) { + for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) + textAutosizer->recalculateMultipliers(); + } } } }
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/core/frame/FrameView.cpp Hunk #1 FAILED at 379. 1 out of 1 hunk FAILED -- saving rejects to file Source/core/frame/FrameView.cpp.rej Patch: Source/core/frame/FrameView.cpp Index: Source/core/frame/FrameView.cpp diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp index 4bf08a4e79bb04b5f000e42c22ce68c24262bf4d..4820c319e34448e46e21b79ef703341fff09be8b 100644 --- a/Source/core/frame/FrameView.cpp +++ b/Source/core/frame/FrameView.cpp @@ -379,13 +379,15 @@ void FrameView::setFrameRect(const IntRect& newRect) // Autosized font sizes depend on the width of the viewing area. if (newRect.width() != oldRect.width()) { - Page* page = m_frame->page(); - bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); - if (isMainFrame() && textAutosizingEnabled) { - TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); - if (textAutosizer) { - for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) - textAutosizer->recalculateMultipliers(); + if (isMainFrame()) { + Page* page = m_frame->page(); + bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); + if (textAutosizingEnabled) { + TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); + if (textAutosizer) { + for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) + textAutosizer->recalculateMultipliers(); + } } } }
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/core/frame/FrameView.cpp Hunk #1 FAILED at 379. 1 out of 1 hunk FAILED -- saving rejects to file Source/core/frame/FrameView.cpp.rej Patch: Source/core/frame/FrameView.cpp Index: Source/core/frame/FrameView.cpp diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp index 4bf08a4e79bb04b5f000e42c22ce68c24262bf4d..4820c319e34448e46e21b79ef703341fff09be8b 100644 --- a/Source/core/frame/FrameView.cpp +++ b/Source/core/frame/FrameView.cpp @@ -379,13 +379,15 @@ void FrameView::setFrameRect(const IntRect& newRect) // Autosized font sizes depend on the width of the viewing area. if (newRect.width() != oldRect.width()) { - Page* page = m_frame->page(); - bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); - if (isMainFrame() && textAutosizingEnabled) { - TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); - if (textAutosizer) { - for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) - textAutosizer->recalculateMultipliers(); + if (isMainFrame()) { + Page* page = m_frame->page(); + bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); + if (textAutosizingEnabled) { + TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); + if (textAutosizer) { + for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) + textAutosizer->recalculateMultipliers(); + } } } }
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/core/frame/FrameView.cpp Hunk #1 FAILED at 379. 1 out of 1 hunk FAILED -- saving rejects to file Source/core/frame/FrameView.cpp.rej Patch: Source/core/frame/FrameView.cpp Index: Source/core/frame/FrameView.cpp diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp index 4bf08a4e79bb04b5f000e42c22ce68c24262bf4d..4820c319e34448e46e21b79ef703341fff09be8b 100644 --- a/Source/core/frame/FrameView.cpp +++ b/Source/core/frame/FrameView.cpp @@ -379,13 +379,15 @@ void FrameView::setFrameRect(const IntRect& newRect) // Autosized font sizes depend on the width of the viewing area. if (newRect.width() != oldRect.width()) { - Page* page = m_frame->page(); - bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); - if (isMainFrame() && textAutosizingEnabled) { - TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); - if (textAutosizer) { - for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) - textAutosizer->recalculateMultipliers(); + if (isMainFrame()) { + Page* page = m_frame->page(); + bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); + if (textAutosizingEnabled) { + TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); + if (textAutosizer) { + for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) + textAutosizer->recalculateMultipliers(); + } } } }
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/core/frame/FrameView.cpp Hunk #1 FAILED at 379. 1 out of 1 hunk FAILED -- saving rejects to file Source/core/frame/FrameView.cpp.rej Patch: Source/core/frame/FrameView.cpp Index: Source/core/frame/FrameView.cpp diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp index 4bf08a4e79bb04b5f000e42c22ce68c24262bf4d..4820c319e34448e46e21b79ef703341fff09be8b 100644 --- a/Source/core/frame/FrameView.cpp +++ b/Source/core/frame/FrameView.cpp @@ -379,13 +379,15 @@ void FrameView::setFrameRect(const IntRect& newRect) // Autosized font sizes depend on the width of the viewing area. if (newRect.width() != oldRect.width()) { - Page* page = m_frame->page(); - bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); - if (isMainFrame() && textAutosizingEnabled) { - TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); - if (textAutosizer) { - for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) - textAutosizer->recalculateMultipliers(); + if (isMainFrame()) { + Page* page = m_frame->page(); + bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); + if (textAutosizingEnabled) { + TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); + if (textAutosizer) { + for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) + textAutosizer->recalculateMultipliers(); + } } } }
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/core/frame/FrameView.cpp Hunk #1 FAILED at 379. 1 out of 1 hunk FAILED -- saving rejects to file Source/core/frame/FrameView.cpp.rej Patch: Source/core/frame/FrameView.cpp Index: Source/core/frame/FrameView.cpp diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp index 4bf08a4e79bb04b5f000e42c22ce68c24262bf4d..4820c319e34448e46e21b79ef703341fff09be8b 100644 --- a/Source/core/frame/FrameView.cpp +++ b/Source/core/frame/FrameView.cpp @@ -379,13 +379,15 @@ void FrameView::setFrameRect(const IntRect& newRect) // Autosized font sizes depend on the width of the viewing area. if (newRect.width() != oldRect.width()) { - Page* page = m_frame->page(); - bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); - if (isMainFrame() && textAutosizingEnabled) { - TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); - if (textAutosizer) { - for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) - textAutosizer->recalculateMultipliers(); + if (isMainFrame()) { + Page* page = m_frame->page(); + bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); + if (textAutosizingEnabled) { + TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); + if (textAutosizer) { + for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) + textAutosizer->recalculateMultipliers(); + } } } }
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/core/frame/FrameView.cpp Hunk #1 FAILED at 379. 1 out of 1 hunk FAILED -- saving rejects to file Source/core/frame/FrameView.cpp.rej Patch: Source/core/frame/FrameView.cpp Index: Source/core/frame/FrameView.cpp diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp index 4bf08a4e79bb04b5f000e42c22ce68c24262bf4d..4820c319e34448e46e21b79ef703341fff09be8b 100644 --- a/Source/core/frame/FrameView.cpp +++ b/Source/core/frame/FrameView.cpp @@ -379,13 +379,15 @@ void FrameView::setFrameRect(const IntRect& newRect) // Autosized font sizes depend on the width of the viewing area. if (newRect.width() != oldRect.width()) { - Page* page = m_frame->page(); - bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); - if (isMainFrame() && textAutosizingEnabled) { - TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); - if (textAutosizer) { - for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) - textAutosizer->recalculateMultipliers(); + if (isMainFrame()) { + Page* page = m_frame->page(); + bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); + if (textAutosizingEnabled) { + TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); + if (textAutosizer) { + for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) + textAutosizer->recalculateMultipliers(); + } } } }
You can also access settings via Frame::settings() or Document::settings(), we have many wrappers like that. Page is a embedding-level concept which is going away. FrameHost is the blink-side cache of page-level concepts and holds thins like Settings. This feels odd, that FrameView needs to know anything about the inspector. The inspector sits on top of Blink. I would expect the inspector to simply change the Settings object and Blink not need to call the inspector to adjust them. :(
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/core/frame/FrameView.cpp Hunk #1 FAILED at 379. 1 out of 1 hunk FAILED -- saving rejects to file Source/core/frame/FrameView.cpp.rej Patch: Source/core/frame/FrameView.cpp Index: Source/core/frame/FrameView.cpp diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp index 4bf08a4e79bb04b5f000e42c22ce68c24262bf4d..4820c319e34448e46e21b79ef703341fff09be8b 100644 --- a/Source/core/frame/FrameView.cpp +++ b/Source/core/frame/FrameView.cpp @@ -379,13 +379,15 @@ void FrameView::setFrameRect(const IntRect& newRect) // Autosized font sizes depend on the width of the viewing area. if (newRect.width() != oldRect.width()) { - Page* page = m_frame->page(); - bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); - if (isMainFrame() && textAutosizingEnabled) { - TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); - if (textAutosizer) { - for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) - textAutosizer->recalculateMultipliers(); + if (isMainFrame()) { + Page* page = m_frame->page(); + bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); + if (textAutosizingEnabled) { + TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); + if (textAutosizer) { + for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) + textAutosizer->recalculateMultipliers(); + } } } }
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/core/frame/FrameView.cpp Hunk #1 FAILED at 379. 1 out of 1 hunk FAILED -- saving rejects to file Source/core/frame/FrameView.cpp.rej Patch: Source/core/frame/FrameView.cpp Index: Source/core/frame/FrameView.cpp diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp index 4bf08a4e79bb04b5f000e42c22ce68c24262bf4d..4820c319e34448e46e21b79ef703341fff09be8b 100644 --- a/Source/core/frame/FrameView.cpp +++ b/Source/core/frame/FrameView.cpp @@ -379,13 +379,15 @@ void FrameView::setFrameRect(const IntRect& newRect) // Autosized font sizes depend on the width of the viewing area. if (newRect.width() != oldRect.width()) { - Page* page = m_frame->page(); - bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); - if (isMainFrame() && textAutosizingEnabled) { - TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); - if (textAutosizer) { - for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) - textAutosizer->recalculateMultipliers(); + if (isMainFrame()) { + Page* page = m_frame->page(); + bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); + if (textAutosizingEnabled) { + TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); + if (textAutosizer) { + for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) + textAutosizer->recalculateMultipliers(); + } } } }
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gnanasekar.s@samsung.com/151363003/1
The CQ bit was unchecked by commit-bot@chromium.org
Failed to apply patch for Source/core/frame/FrameView.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/core/frame/FrameView.cpp Hunk #1 FAILED at 379. 1 out of 1 hunk FAILED -- saving rejects to file Source/core/frame/FrameView.cpp.rej Patch: Source/core/frame/FrameView.cpp Index: Source/core/frame/FrameView.cpp diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp index 4bf08a4e79bb04b5f000e42c22ce68c24262bf4d..4820c319e34448e46e21b79ef703341fff09be8b 100644 --- a/Source/core/frame/FrameView.cpp +++ b/Source/core/frame/FrameView.cpp @@ -379,13 +379,15 @@ void FrameView::setFrameRect(const IntRect& newRect) // Autosized font sizes depend on the width of the viewing area. if (newRect.width() != oldRect.width()) { - Page* page = m_frame->page(); - bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); - if (isMainFrame() && textAutosizingEnabled) { - TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); - if (textAutosizer) { - for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) - textAutosizer->recalculateMultipliers(); + if (isMainFrame()) { + Page* page = m_frame->page(); + bool textAutosizingEnabled = InspectorInstrumentation::overrideTextAutosizing(page, page->settings().textAutosizingEnabled()); + if (textAutosizingEnabled) { + TextAutosizer* textAutosizer = m_frame->document()->textAutosizer(); + if (textAutosizer) { + for (Frame* frame = page->mainFrame(); frame; frame = frame->tree().traverseNext()) + textAutosizer->recalculateMultipliers(); + } } } }
Message was sent while issue was closed.
>> This feels odd, that FrameView needs to know anything about the inspector. The >> inspector sits on top of Blink. I would expect the inspector to simply change >> the Settings object and Blink not need to call the inspector to adjust them. :( @eseidel: https://codereview.chromium.org/146683003/#msg6 explains why this is necessary. In this case, inspector is not configuring the running page, it is rather overriding the settings passed by the embedder. It is not common for inspector and is only used in the code paths related to mobile emulation. Given the OOP iframes context of the conversation though, note, that call sites don't need to resolve to the page, it should look like this instead: bool textAutosizingEnabled = InspectorInstrumentation::overridenTextAutosizing(frame); Today, inspector will resolve to the page to fetch overrides from the page agents on its own. But as OOP iframes emerge, we will be able to locally migrate to the new way of resolving agents for frames. I'll follow up with the patch that removes frame->page transitions in these overrides.
Message was sent while issue was closed.
@eseidel: to make inspector sit on top of Blink for overrides as well, we could intercept WebSettingsImpl::setTextAutosizingEnabled and WebSettingsImpl::setDeviceScaleAdjustment to make them go through the InspectorController. After reading your comment twice, I think you would prefer this option. I'll follow up :) |