REGRESSION(r138729): crash and assertion failures in WebKit::WebProcess::plugInDidReceiveUserInteraction
https://bugs.webkit.org/show_bug.cgi?id=106042
<rdar://problem/12953469>

Reviewed by Brady Eidson.

Source/WebKit2:

The assertion is hit if plugin snapshotting is disabled, and the user interacts with a plug-in that
comes from an origin not found in the cached dictionary. The proper fix is to check for whether the
setting is enabled. Otherwise, that origin should be in the dictionary since the plugin is running.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginDidReceiveUserInteraction): Check for the setting, and avoid the whole code
path if snapshotting is disabled.

LayoutTests:

* platform/mac-wk2/TestExpectations: Unskip the crashing tests.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Rename low latency rendering mode setting to vsync notification
https://bugs.webkit.org/show_bug.cgi?id=106020

Patch by Sami Kyostila <skyostil@chromium.org> on 2013-01-03
Reviewed by James Robinson.

Source/Platform:

Rename low latency rendering mode setting to vsync notification because
the old name was ambiguous and bad. This setting is meant to control
whether the renderer uses a vsync signal provided by the browser to
schedule rendering.

Source/WebKit/chromium:

Rename low latency rendering mode setting to vsync notification because
the old name was ambiguous and bad. This setting is meant to control
whether the renderer uses a vsync signal provided by the browser to
schedule rendering.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138765 268f45cc-cd09-0410-ab3c-d52691b4dbfc
onload callback for <track> element attached to <video> does not fire
https://bugs.webkit.org/show_bug.cgi?id=103258

Patch by Antoine Quint <graouts@apple.com> on 2013-01-03
Reviewed by Eric Carlson.

Source/WebCore: 

We now correctly implement the track processing model per the latest spec at
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#start-the-track-processing-model.
        
For a <track> to load, three conditions must be met:
        
1. it must have a non-empty src
2. it must have a mode other than "disabled" (the default)
3. it must have a parent media element
        
We used to only check if we were able to load upon setting the track's src,
whereas a change of any of those conditions should have done this, which this
patch now correctly implements.
        
We also correctly implement the load model asynchronously after step 4, per
the spec, hence the split of the code previously entirely contained in
HTMLTrackElement::scheduleLoad() in another method fired on a timer.

Test: media/track/track-element-load-event.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::textTrackModeChanged):
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::HTMLTrackElement):
(WebCore::HTMLTrackElement::insertedInto):
(WebCore::HTMLTrackElement::parseAttribute):
(WebCore::HTMLTrackElement::scheduleLoad):
(WebCore):
(WebCore::HTMLTrackElement::loadTimerFired):
(WebCore::HTMLTrackElement::textTrackModeChanged):
* html/HTMLTrackElement.h:
* html/track/TextTrack.cpp:
(WebCore::TextTrack::removeAllCues):
(WebCore):
* html/track/TextTrack.h:
(TextTrack):

LayoutTests: 

As a result of fixing this bug, a few new failures were uncovered and TestExpectations
needed to be updated to take this into account. Additionally, some existing tests were
incorrect or outdated and were fixed as well. Finally, a new test was added to thoroughly
test the various conditions required for a <track> element to successfully load.

* fast/events/constructors/track-event-constructor.html: Update the test to correctly set
a non-disabled mode on the text track such that it may load per the rules enforced with this patch.
* http/tests/security/text-track-crossorigin.html: Update the test to correctly set a non-disabled
mode on the text track such that it may load per the rules enforced with this patch.
* media/track/track-add-track-expected.txt: Update the output to match changes made to test.
* media/track/track-add-track.html: Update the test to correctly set a non-disabled mode on
the text track such that it may load per the rules enforced with this patch. Also, ensure
the .readyState of the text track is correctly assumed to be NONE vs. LOADING as it would
have to wait until the next run loop to be changed to anything but NONE.
* media/track/track-element-load-event-expected.txt: Added.
* media/track/track-element-load-event.html: Added.
* media/track/track-load-from-src-readyState.html: Update the test to correctly set a
non-disabled mode on the text track such that it may load per the rules enforced with
this patch.
* platform/chromium/TestExpectations: Skip tests that now fail instead of timing out.
* platform/efl/TestExpectations: Skip tests that now fail instead of timing out.
* platform/gtk/TestExpectations: Skip tests that now fail instead of timing out.
* platform/mac/TestExpectations: Skip tests that now fail instead of timing out.
* platform/qt/TestExpectations: Skip tests that now fail instead of timing out.
* platform/win/TestExpectations: Skip tests that now fail instead of timing out.


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