[Chromium] Reset ScriptInstance in HTMLPlugInElement on WebPluginContainerImpl::setPlugin
https://bugs.webkit.org/show_bug.cgi?id=86535

Source/WebCore:

Reviewed by Darin Fisher.

When we swap out WebPluginImpls for the Browser Plugin, the HTMLPlugInElement continues
to use a now invalid ScriptInstance, so we reset the ScriptInstance on WebPluginContainerImpl::setPlugin

* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::resetInstance):
(WebCore):
* html/HTMLPlugInElement.h:
(HTMLPlugInElement):

Source/WebKit/chromium:

Reviewed by Darin Fisher.

* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setPlugin):
(WebKit):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Move createMessagePortChannel to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=85764

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
(Platform):
(WebKit::Platform::createMessagePortChannel):
* chromium/public/WebMessagePortChannel.h: Added.
(WebKit):
(WebMessagePortChannel):
(WebKit::WebMessagePortChannel::~WebMessagePortChannel):
* chromium/public/WebMessagePortChannelClient.h: Added.
(WebKit):
(WebMessagePortChannelClient):
(WebKit::WebMessagePortChannelClient::~WebMessagePortChannelClient):

Source/WebKit/chromium:

* WebKit.gyp:
* public/WebMessagePortChannel.h:
* public/platform/WebKitPlatformSupport.h:
(WebKit):
(WebKit::WebKitPlatformSupport::injectIDBKeyIntoSerializedValue):
* src/PlatformMessagePortChannel.cpp:
(WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
* src/PlatformMessagePortChannel.h:
* src/SharedWorkerRepository.cpp:
* src/WebSharedWorkerImpl.cpp:
* src/WebWorkerClientImpl.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Enable Fullscreen API
https://bugs.webkit.org/show_bug.cgi?id=85870

Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-05-15
Reviewed by Antonio Gomes.

.:

Enable FULLSCREEN_API on the Efl port.

* Source/cmake/OptionsEfl.cmake:

Source/WebKit/efl:

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::supportsFullScreenForElement):
Add check routine if the full screen is enabled by page setting.
* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
Add full screen setting to be true.

Tools:

Enable full screen api feature on the EFL port.
There are two failed test cases under LayoutTests/fullscreen.
They are going to be fixed with other patch.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

* platform/efl/Skipped: Remove fullscreen/video-controls-override.html.
* platform/efl/fullscreen/full-screen-iframe-zIndex-expected.png: Added.
* platform/efl/fullscreen/full-screen-placeholder-expected.txt: Added.
* platform/efl/fullscreen/full-screen-remove-ancestor-after-expected.png: Added.
* platform/efl/fullscreen/full-screen-render-inline-expected.txt: Added.
* platform/efl/fullscreen/full-screen-stacking-context-expected.png: Added.
* platform/efl/fullscreen/full-screen-zIndex-after-expected.png: Added.
* platform/efl/fullscreen/full-screen-zIndex-expected.png: Added.
* platform/efl/fullscreen/parent-flow-inline-with-block-child-expected.png: Added.
* platform/efl/fullscreen/parent-flow-inline-with-block-child-expected.txt: Added.
* platform/efl/test_expectations.txt: Remove fullscreen and media/video-play-require-user-gesture.html
  - Add full-screen-keyboard-disabled.html and video-controls-drag.html to the efl's test_expectation.txt

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117205 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MHTML files should be loadable from all schemes considered local,
not just file:

https://bugs.webkit.org/show_bug.cgi?id=86540

Patch by Greg Spencer <gspencer@chromium.org> on 2012-05-15
Reviewed by Adam Barth.

Current tests should assure that loading is still allowed locally.

* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::continueAfterContentPolicy):
* loader/archive/mhtml/MHTMLArchive.cpp:
(WebCore::MHTMLArchive::create):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117206 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GStreamer] build a static list of mime-types
https://bugs.webkit.org/show_bug.cgi?id=86331

Reviewed by Martin Robinson.

Don't bother parsing the gstreamer typefind factories and doing
ugly hacks around this. Instead build a static list and let our
::supportsType() method return MediaPlayer::MayBeSupported or
MediaPlayer::IsSupported for them. Playback will still fail if a
demuxer or decoder is missing for one of these mime-types but we
will handle that case more properly soon by fixing bug 34085 and
bug 34318.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening for Qt.

These tests were unskipped but their expectations were not up-to-date.

* platform/qt/fast/borders/inline-mask-overlay-image-outset-expected.txt:
* platform/qt/fast/borders/inline-mask-overlay-image-outset-vertical-rl-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117208 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Remove some unused gyp lines
https://bugs.webkit.org/show_bug.cgi?id=86545

Reviewed by Dirk Pranke.

mac_framework_dirs adds directories to search for frameworks
(similar to -I for includes), it doesn't add any frameworks.
Having something that ends in .framewok in mac_framework_dirs
doesn't make sense.

No intended functionality change.

* WebCore.gyp/WebCore.gyp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename Node::shadowTreeRootNode() to Node::shadowRoot()
https://bugs.webkit.org/show_bug.cgi?id=86449

Reviewed by Darin Adler.

Source/WebCore:

Since Node::shadowTreeRootNode() returns always a ShadowRoot now, shadowRoot() is
mure suitable than shadowTreeRootNode().

This patch changes the method name.

No new tests, no change in behavior.

* WebCore.order:
* dom/Node.cpp:
(WebCore::Node::rendererIsEditable):
(WebCore::Node::shadowAncestorNode):
(WebCore::Node::shadowRoot):
* dom/Node.h:
(Node):
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::NodeRenderingContext):
* dom/Range.cpp:
(WebCore::Range::shadowRoot):
* dom/Range.h:
(Range):
* editing/Editor.cpp:
(WebCore::Editor::nextVisibleRange):
(WebCore::Editor::countMatchesForText):
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleReplacedElement):
* editing/htmlediting.cpp:
(WebCore::indexForVisiblePosition):
* html/shadow/ContentSelectorQuery.cpp:
(WebCore::ContentSelectorQuery::matches):
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::parseAttribute):
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::detach):
* page/EventHandler.cpp:
(WebCore::instanceAssociatedWithShadowTreeElement):
* svg/SVGElement.cpp:
(WebCore::SVGElement::correspondingElement):
(WebCore::collectInstancesForSVGElement):

Source/WebKit/chromium:

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::scopeStringMatches):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Rebaselined run-bindings-tests results.

* bindings/scripts/test/JS/JSFloat64Array.cpp:
(WebCore::JSFloat64Array::getOwnPropertySlot):
(WebCore::JSFloat64Array::getOwnPropertyDescriptor):
(WebCore::JSFloat64Array::put):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::getOwnPropertySlot):
(WebCore::JSTestEventTarget::getOwnPropertyDescriptor):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117211 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Guard Netscape plug-in code with ENABLE(NETSCAPE_PLUGIN_API)
https://bugs.webkit.org/show_bug.cgi?id=86496

Reviewed by Sam Weinig.

Ensure that WebKit2 can compile with ENABLE_NETSCAPE_PLUGIN_API disabled.

* Shared/Plugins/Netscape/NetscapePluginModule.cpp:
* Shared/Plugins/Netscape/NetscapePluginModule.h:
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
* Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::getPluginInfo):
* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
* WebProcess/Plugins/Netscape/JSNPMethod.h:
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
* WebProcess/Plugins/Netscape/JSNPObject.h:
* WebProcess/Plugins/Netscape/NPJSObject.cpp:
* WebProcess/Plugins/Netscape/NPJSObject.h:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
* WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
* WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_GetValue):
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
* WebProcess/Plugins/Netscape/NetscapePluginStream.h:
* WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
* WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
* WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp:
* WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
* WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
* WebProcess/Plugins/PluginController.h:
(PluginController):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::Stream::didFinishLoading):
(WebKit::PluginView::PluginView):
(WebKit::PluginView::~PluginView):
(WebKit::PluginView::scriptObject):
(WebKit):
* WebProcess/Plugins/PluginView.h:
(PluginView):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getSitesWithPluginData):
(WebKit::WebProcess::clearPluginSiteData):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r117204.
http://trac.webkit.org/changeset/117204
https://bugs.webkit.org/show_bug.cgi?id=86559

causing win compilation failures (Requested by pilgrim_google_
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-05-15

Source/Platform:

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
(Platform):
* chromium/public/WebMessagePortChannel.h: Removed.
* chromium/public/WebMessagePortChannelClient.h: Removed.

Source/WebKit/chromium:

* WebKit.gyp:
* public/WebMessagePortChannel.h:
(WebKit):
(WebMessagePortChannel):
(WebKit::WebMessagePortChannel::~WebMessagePortChannel):
* public/platform/WebKitPlatformSupport.h:
(WebKit):
(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::createMessagePortChannel):
* src/PlatformMessagePortChannel.cpp:
(WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
* src/PlatformMessagePortChannel.h:
* src/SharedWorkerRepository.cpp:
* src/WebSharedWorkerImpl.cpp:
* src/WebWorkerClientImpl.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] CCTimer::isActive() is incorrect inside tick callback
https://bugs.webkit.org/show_bug.cgi?id=86513

Source/WebCore:

This patch implements CCTimer::isActive() by clearing the task pointer
when the timer fires.

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-05-15
Reviewed by James Robinson.

No new tests. Existing tests updated accordingly.

* platform/graphics/chromium/cc/CCTimer.cpp:
(WebCore::CCTimerTask::performTask):
* rendering/RenderLayerBacking.cpp:

Source/WebKit/chromium:

Update test cases to verify CCTimer::isActive() values.

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-05-15
Reviewed by James Robinson.

* tests/CCTimerTest.cpp:
(WebKitTests::TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fixed a typo.

* Scripts/copy-webkitlibraries-to-product-directory:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117215 268f45cc-cd09-0410-ab3c-d52691b4dbfc
regression(111639): Issue with simultaneous CSS animations
https://bugs.webkit.org/show_bug.cgi?id=85929

Source/WebCore:

Currently, previousTimeToNextService is just saving the previous CompositeAnimation::timeToNextService
for AnimationControllerPrivate::updateAnimationTimerForRenderer, however CompositeAnimation::timeToNextService
is also called and used by updateAnimationTimer. Make sure we save the existing timeToNextService from
both places, updateAnimationTimerForRenderer and updateAnimationTimer.

Reviewed by Dean Jackson.

Test: animations/fill-mode-forwards.html

* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
(WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
(WebCore::AnimationControllerPrivate::updateAnimationTimer):
* page/animation/AnimationControllerPrivate.h:
(AnimationControllerPrivate):

LayoutTests:

Reviewed by Dean Jackson.

* animations/fill-mode-forwards-expected.txt: Added.
* animations/fill-mode-forwards.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed chromium test expectation update after r117206

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][DRT] Fix eventSender key providing
https://bugs.webkit.org/show_bug.cgi?id=84710

Patch by Kangil Han <kangil.han@samsung.com> on 2012-05-15
Reviewed by Andreas Kling.

Currently eventSender doesn't provide key event correctly.
For example, 'Right' will be visible when 'right arrow' key event is fired.
Given circumstance, nothing has to be shown.
Therefore, this patch fixed incorrectly provided key event.

Tools:

* DumpRenderTree/efl/EventSender.cpp:
(KeyEventInfo::KeyEventInfo):
(KeyEventInfo):
(keyPadNameFromJSValue):
(keyNameFromJSValue):
(createKeyEventInfo):
(sendKeyDown):

LayoutTests:

* platform/efl/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Worker] Web Worker lacks test for posting structured data message.
https://bugs.webkit.org/show_bug.cgi?id=86556

Patch by Li Yin <li.yin@intel.com> on 2012-05-15
Reviewed by David Levin.

From http://www.w3.org/TR/2012/CR-workers-20120501/#communicating-with-a-dedicated-worker
Structured data can be sent over the communication channel.

* fast/workers/resources/worker-structure-message.js: Added.
(self.onmessage):
* fast/workers/worker-structure-message-expected.txt: Added.
* fast/workers/worker-structure-message.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit2 would fail to build on Windows if Netscape plug-ins were disabled.

* UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
(WebKit::PluginInfoStore::getPluginInfo): Return false if ENABLE_NETSCAPE_PLUGIN_API is false.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix Qt5/Mac build after r117212 by adding missing NETSCAPE_PLUGIN_API guards
https://bugs.webkit.org/show_bug.cgi?id=86577

Reviewed by Andy Estes.

* Shared/Plugins/Netscape/NetscapePluginModuleNone.cpp:
* UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
(WebKit::PluginInfoStore::getPluginInfo):
* WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Enhance an API of BackingStore::drawContents
https://bugs.webkit.org/show_bug.cgi?id=86447

Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-05-15
Reviewed by George Staikos.

Enhance the current APIs by adding parameters of id and destination
contentSize, because chrome browser may want different contents from
the same webview at different times.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::renderContents):
(BlackBerry::WebKit::BackingStore::drawContents):
* Api/BackingStore.h:
* Api/BackingStore_p.h:
(BackingStorePrivate):

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