Chromium Code Reviews| Index: components/test_runner/text_input_controller.cc |
| diff --git a/components/test_runner/text_input_controller.cc b/components/test_runner/text_input_controller.cc |
| index 041eff98c8ac2a543b1279c406917d0c5468d73b..c1044f693c8f8180e0f01d82a94ff12adad6e687 100644 |
| --- a/components/test_runner/text_input_controller.cc |
| +++ b/components/test_runner/text_input_controller.cc |
| @@ -166,8 +166,9 @@ void TextInputController::UnmarkText() { |
| } |
| void TextInputController::DoCommand(const std::string& text) { |
|
yabinh
2016/07/08 01:40:58
mainFrame() can be a remote frame because of OOPI,
|
| - if (view()->mainFrame()) |
| - view()->mainFrame()->executeCommand(blink::WebString::fromUTF8(text)); |
| + if (view()->mainFrame() && view()->mainFrame()->isWebLocalFrame()) |
| + view()->mainFrame()->toWebLocalFrame()->executeCommand( |
| + blink::WebString::fromUTF8(text)); |
| } |
| void TextInputController::SetMarkedText(const std::string& text, |
| @@ -199,14 +200,15 @@ void TextInputController::SetMarkedText(const std::string& text, |
| } |
| bool TextInputController::HasMarkedText() { |
| - return view()->mainFrame() && view()->mainFrame()->hasMarkedText(); |
| + return view()->mainFrame() && view()->mainFrame()->isWebLocalFrame() && |
| + view()->mainFrame()->toWebLocalFrame()->hasMarkedText(); |
| } |
| std::vector<int> TextInputController::MarkedRange() { |
| - if (!view()->mainFrame()) |
| + if (!view()->mainFrame() && !view()->mainFrame()->isWebLocalFrame()) |
| return std::vector<int>(); |
| - blink::WebRange range = view()->mainFrame()->markedRange(); |
| + blink::WebRange range = view()->mainFrame()->toWebLocalFrame()->markedRange(); |
| std::vector<int> int_array(2); |
| int_array[0] = range.startOffset(); |
| int_array[1] = range.endOffset(); |
| @@ -215,10 +217,11 @@ std::vector<int> TextInputController::MarkedRange() { |
| } |
| std::vector<int> TextInputController::SelectedRange() { |
| - if (!view()->mainFrame()) |
| + if (!view()->mainFrame() && !view()->mainFrame()->isWebLocalFrame()) |
| return std::vector<int>(); |
| - blink::WebRange range = view()->mainFrame()->selectionRange(); |
| + blink::WebRange range = |
| + view()->mainFrame()->toWebLocalFrame()->selectionRange(); |
| if (range.isNull()) |
| return std::vector<int>(); |
| std::vector<int> int_array(2); |