| Index: third_party/WebKit/Source/web/mac/WebSubstringUtil.mm
|
| diff --git a/third_party/WebKit/Source/web/mac/WebSubstringUtil.mm b/third_party/WebKit/Source/web/mac/WebSubstringUtil.mm
|
| index c32db74669ef2c763a1399629e7f4166298cc9fb..c04030c9edb5551cd519e8d517893860aa33e40c 100644
|
| --- a/third_party/WebKit/Source/web/mac/WebSubstringUtil.mm
|
| +++ b/third_party/WebKit/Source/web/mac/WebSubstringUtil.mm
|
| @@ -53,6 +53,9 @@
|
| #include "public/web/WebHitTestResult.h"
|
| #include "public/web/WebRange.h"
|
| #include "public/web/WebView.h"
|
| +#include "public/web/WebWidget.h"
|
| +#include "web/WebFrameWidgetBase.h"
|
| +#include "web/WebFrameWidgetImpl.h"
|
| #include "web/WebLocalFrameImpl.h"
|
| #include "web/WebViewImpl.h"
|
|
|
| @@ -136,9 +139,15 @@ WebPoint getBaselinePoint(FrameView* frameView, const EphemeralRange& range, NSA
|
|
|
| namespace blink {
|
|
|
| -NSAttributedString* WebSubstringUtil::attributedWordAtPoint(WebView* view, WebPoint point, WebPoint& baselinePoint)
|
| +NSAttributedString* WebSubstringUtil::attributedWordAtPoint(WebView* view, WebWidget* widget, WebPoint point, WebPoint& baselinePoint)
|
| {
|
| - HitTestResult result = static_cast<WebViewImpl*>(view)->coreHitTestResultAt(point);
|
| + WebViewImpl* viewImpl = static_cast<WebViewImpl*>(view);
|
| +
|
| + // Either this call is for a main frame's WebView or a local roots WebFrameWidgetImpl.
|
| + if (!viewImpl->mainFrameImpl() && !widget)
|
| + return nil;
|
| +
|
| + HitTestResult result = viewImpl->mainFrameImpl() ? viewImpl->coreHitTestResultAt(point) : static_cast<WebFrameWidgetImpl*>(widget)->coreHitTestResultAt(point);
|
| if (!result.innerNode())
|
| return nil;
|
| LocalFrame* frame = result.innerNode()->document().frame();
|
|
|