| OLD | NEW |
| 1 /** | 1 /** |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de) | 4 * (C) 2000 Stefan Schimanski (1Stein@gmx.de) |
| 5 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. | 5 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 383 { | 383 { |
| 384 // Needs to load the plugin immediatedly because this function is called | 384 // Needs to load the plugin immediatedly because this function is called |
| 385 // when JavaScript code accesses the plugin. | 385 // when JavaScript code accesses the plugin. |
| 386 // FIXME: Check if dispatching events here is safe. | 386 // FIXME: Check if dispatching events here is safe. |
| 387 document().updateLayoutIgnorePendingStylesheets(Document::RunPostLayoutTasks
Synchronously); | 387 document().updateLayoutIgnorePendingStylesheets(Document::RunPostLayoutTasks
Synchronously); |
| 388 return existingRenderPart(); | 388 return existingRenderPart(); |
| 389 } | 389 } |
| 390 | 390 |
| 391 bool HTMLPlugInElement::isKeyboardFocusable() const | 391 bool HTMLPlugInElement::isKeyboardFocusable() const |
| 392 { | 392 { |
| 393 if (useFallbackContent() || usePlaceholderContent()) |
| 394 return HTMLElement::isKeyboardFocusable(); |
| 395 |
| 393 if (!document().isActive()) | 396 if (!document().isActive()) |
| 394 return false; | 397 return false; |
| 398 |
| 395 return pluginWidget() && pluginWidget()->isPluginView() && toPluginView(plug
inWidget())->supportsKeyboardFocus(); | 399 return pluginWidget() && pluginWidget()->isPluginView() && toPluginView(plug
inWidget())->supportsKeyboardFocus(); |
| 396 } | 400 } |
| 397 | 401 |
| 398 bool HTMLPlugInElement::hasCustomFocusLogic() const | 402 bool HTMLPlugInElement::hasCustomFocusLogic() const |
| 399 { | 403 { |
| 400 return !hasAuthorShadowRoot(); | 404 return renderer() && renderer()->isEmbeddedObject(); |
| 401 } | 405 } |
| 402 | 406 |
| 403 bool HTMLPlugInElement::isPluginElement() const | 407 bool HTMLPlugInElement::isPluginElement() const |
| 404 { | 408 { |
| 405 return true; | 409 return true; |
| 406 } | 410 } |
| 407 | 411 |
| 408 bool HTMLPlugInElement::rendererIsFocusable() const | 412 bool HTMLPlugInElement::rendererIsFocusable() const |
| 409 { | 413 { |
| 410 if (HTMLFrameOwnerElement::supportsFocus() && HTMLFrameOwnerElement::rendere
rIsFocusable()) | 414 if (HTMLFrameOwnerElement::supportsFocus() && HTMLFrameOwnerElement::rendere
rIsFocusable()) |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 646 return hasAuthorShadowRoot(); | 650 return hasAuthorShadowRoot(); |
| 647 } | 651 } |
| 648 | 652 |
| 649 void HTMLPlugInElement::lazyReattachIfNeeded() | 653 void HTMLPlugInElement::lazyReattachIfNeeded() |
| 650 { | 654 { |
| 651 if (!useFallbackContent() && !usePlaceholderContent() && needsWidgetUpdate()
&& renderer() && !isImageType()) | 655 if (!useFallbackContent() && !usePlaceholderContent() && needsWidgetUpdate()
&& renderer() && !isImageType()) |
| 652 lazyReattachIfAttached(); | 656 lazyReattachIfAttached(); |
| 653 } | 657 } |
| 654 | 658 |
| 655 } | 659 } |
| OLD | NEW |