| Index: third_party/WebKit/Source/core/page/FocusController.cpp
|
| diff --git a/third_party/WebKit/Source/core/page/FocusController.cpp b/third_party/WebKit/Source/core/page/FocusController.cpp
|
| index f267514ae2781e2e1731943f323cbb95f3d6587c..5daaa0921899108d2d9bd6ff48a94fcdfce0423b 100644
|
| --- a/third_party/WebKit/Source/core/page/FocusController.cpp
|
| +++ b/third_party/WebKit/Source/core/page/FocusController.cpp
|
| @@ -176,6 +176,9 @@ inline void dispatchEventsOnWindowAndFocusedElement(Document* document, bool foc
|
| if (document->focusedElement() && isHTMLPlugInElement(document->focusedElement()))
|
| toHTMLPlugInElement(document->focusedElement())->setPluginFocus(focused);
|
|
|
| + if (document->focusedElement() && document->focusedElement()->isFrameletElement())
|
| + toHTMLFrameOwnerElement(document->focusedElement())->ownedWidget()->setFocus(focused, WebFocusTypeNone);
|
| +
|
| // Do not fire events while modal dialogs are up. See https://bugs.webkit.org/show_bug.cgi?id=33962
|
| if (Page* page = document->page()) {
|
| if (page->defersLoading())
|
| @@ -779,7 +782,7 @@ bool FocusController::advanceFocusInDocumentOrder(LocalFrame* frame, Node* start
|
| return true;
|
| }
|
|
|
| - if (element->isFrameOwnerElement() && (!isHTMLPlugInElement(*element) || !element->isKeyboardFocusable())) {
|
| + if (element->isFrameOwnerElement() && ((!element->isFrameletElement() && !isHTMLPlugInElement(*element)) || !element->isKeyboardFocusable())) {
|
| // We focus frames rather than frame owners.
|
| // FIXME: We should not focus frames that have no scrollbars, as focusing them isn't useful to the user.
|
| HTMLFrameOwnerElement* owner = toHTMLFrameOwnerElement(element);
|
|
|