<applet> plugins are instantiated post-attach (instead of post-layout like for object and embed)
https://bugs.webkit.org/show_bug.cgi?id=118994
<rdar://problem/14511232>

Reviewed by Anders Carlsson.

Make <applet> consistent with <object> and <embed>, deferring plugin
instantiation to post-layout, so that layout is up-to-date if anything
needs it (like RenderEmbeddedObject::isReplacementObscured) during creation.

* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::updateWidget):
Copy code from HTMLObjectElement/HTMLEmbedElement that defers plugin
creation until post-layout tasks. Java is always an NPAPI plugin, so
we should always defer if requested.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153013 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RenderEmbeddedObject::isReplacementObscured should include the arrow in its area-of-interest
https://bugs.webkit.org/show_bug.cgi?id=118995
<rdar://problem/14516421>

Reviewed by Anders Carlsson.

* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
Rename method from replacementTextRect to unavailablePluginIndicatorBounds for accuracy.
Use the bounding box of the indicator's path, which includes the rounded rect behind
the text as well as the arrow button.

(WebCore::RenderEmbeddedObject::isReplacementObscured):
* rendering/RenderEmbeddedObject.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Plug-in unavailability indicator should not be displayed if a blocked plugin's indicator is clipped
https://bugs.webkit.org/show_bug.cgi?id=118998
<rdar://problem/14511268>

Reviewed by Anders Carlsson.

* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateWidget):
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::defaultEventHandler):
(WebCore::HTMLPlugInElement::supportsFocus):
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::createJavaAppletWidget):
(WebCore::SubframeLoader::loadPlugin):
* page/FrameView.cpp:
(WebCore::FrameView::updateWidget):
Rename showsUnavailablePluginIndicator to isPluginUnavailable, since being unavailable
and actually showing the indicator are two totally different things.

* WebCore.exp.in: Expose setUnavailablePluginIndicatorIsHidden.

* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
Rename m_showsUnavailablePluginIndicator to m_isPluginUnavailable.
Add m_isUnavailablePluginIndicatorHidden, defaulting to false.

(WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription):
Set m_isPluginUnavailable when we get an unavailability reason.

(WebCore::RenderEmbeddedObject::paint):
(WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden): Added.

* rendering/RenderEmbeddedObject.h:
(WebCore::RenderEmbeddedObject::isPluginUnavailable): Added.

(WebCore::RenderEmbeddedObject::showsUnavailablePluginIndicator):
Repurpose "showsUnavailablePluginIndicator" to actually represent whether
the indicator is displayed (i.e. the plugin is unavailable, and the
indicator is not hidden).


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DateInputType constructor initiate incorrect base class
https://bugs.webkit.org/show_bug.cgi?id=118962

Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-07-22
Reviewed by Gyuyoung Kim.

No new test required since solving code error

* html/DateInputType.cpp:
(WebCore::DateInputType::DateInputType):
Corrected the base class instantiation in constructor.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153022 268f45cc-cd09-0410-ab3c-d52691b4dbfc