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 | |
396 if (!document().isActive()) | 393 if (!document().isActive()) |
397 return false; | 394 return false; |
398 | |
399 return pluginWidget() && pluginWidget()->isPluginView() && toPluginView(plug
inWidget())->supportsKeyboardFocus(); | 395 return pluginWidget() && pluginWidget()->isPluginView() && toPluginView(plug
inWidget())->supportsKeyboardFocus(); |
400 } | 396 } |
401 | 397 |
402 bool HTMLPlugInElement::hasCustomFocusLogic() const | 398 bool HTMLPlugInElement::hasCustomFocusLogic() const |
403 { | 399 { |
404 return renderer() && renderer()->isEmbeddedObject(); | 400 return !hasAuthorShadowRoot(); |
405 } | 401 } |
406 | 402 |
407 bool HTMLPlugInElement::isPluginElement() const | 403 bool HTMLPlugInElement::isPluginElement() const |
408 { | 404 { |
409 return true; | 405 return true; |
410 } | 406 } |
411 | 407 |
412 bool HTMLPlugInElement::rendererIsFocusable() const | 408 bool HTMLPlugInElement::rendererIsFocusable() const |
413 { | 409 { |
414 if (HTMLFrameOwnerElement::supportsFocus() && HTMLFrameOwnerElement::rendere
rIsFocusable()) | 410 if (HTMLFrameOwnerElement::supportsFocus() && HTMLFrameOwnerElement::rendere
rIsFocusable()) |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
650 return hasAuthorShadowRoot(); | 646 return hasAuthorShadowRoot(); |
651 } | 647 } |
652 | 648 |
653 void HTMLPlugInElement::lazyReattachIfNeeded() | 649 void HTMLPlugInElement::lazyReattachIfNeeded() |
654 { | 650 { |
655 if (!useFallbackContent() && !usePlaceholderContent() && needsWidgetUpdate()
&& renderer() && !isImageType()) | 651 if (!useFallbackContent() && !usePlaceholderContent() && needsWidgetUpdate()
&& renderer() && !isImageType()) |
656 lazyReattachIfAttached(); | 652 lazyReattachIfAttached(); |
657 } | 653 } |
658 | 654 |
659 } | 655 } |
OLD | NEW |