[chromium] pepper plugins sometimes are shifted by 1 pixel
https://bugs.webkit.org/show_bug.cgi?id=94257

Patch by Yuzhu Shen <yzshen@chromium.com> on 2012-08-20
Reviewed by Levi Weintraub.

Change RenderWidget::updateWidgetGeometry() to use LayoutRect instead of IntRect to avoid unwanted truncation
(when converting from FloatRect to IntRect).

This makes sure that the optimized rendering code path of Pepper plugin
(PluginInstance::GetBitmapForOptimizedPluginPaint) has consistent coordinates with the normal WebKit rendering
code path.

No new tests because we don't have Pepper plugin tests in WebKit.

* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::updateWidgetGeometry):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
webkitfullscreenchange not fired properly in iframe.
https://bugs.webkit.org/show_bug.cgi?id=93525

Reviewed by Adam Barth.

webkitCancelFullScreen exits fullscreen by invoking webkitExitFullScreen on topDocument.
However, if webkitDidExitFullScreenForElement is invoked on a descendant document, no events
get dispatched. This change starts the event dispatch delay timer on the document where
webkitCancelFullScreen was called, so that the events get dispatched. In addition, when events
are dispatched, the check whether a node has been removed is changed to also check that the
node isn't in another document, as can happen with frames. Finally, webkitExitFullscreen
is fixed to remove unnecessary code and conform to the spec.

No new tests (the existing fullscreen/exit-full-screen-iframe.html test now passes).

* dom/Document.cpp:
(WebCore::Document::webkitExitFullscreen):
(WebCore::Document::webkitDidExitFullScreenForElement):
(WebCore::Document::fullScreenChangeDelayTimerFired):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Temporarily disable the 20+ crash and 500+ failure options on WK2 bots.
https://bugs.webkit.org/show_bug.cgi?id=94506

Reviewed by Dirk Pranke.

When running WK2 tests, don't add the "abort early" command line options.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(ConfigureBuild.start):
(RunWebKitTests):
(RunWebKitTests.start):
(RunWebKit2Tests.start):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Add tracing for active composited animations
https://bugs.webkit.org/show_bug.cgi?id=84210

Reviewed by James Robinson.

This patch issues the trace events from the animations. Animations will
report when they start and finish on the main and impl threads (via
TRACE_EVENT_ASYNC*), and also issues instant trace events whenever they
change state.

Source/WebCore:

No new tests, only changes tracing behavior.

* platform/graphics/chromium/cc/CCActiveAnimation.cpp:
(WebCore::CCActiveAnimation::CCActiveAnimation):
(WebCore::CCActiveAnimation::~CCActiveAnimation):
(WebCore::CCActiveAnimation::setRunState):
(WebCore::CCActiveAnimation::clone):
(WebCore):
(WebCore::CCActiveAnimation::cloneAndInitialize):
* platform/graphics/chromium/cc/CCActiveAnimation.h:
(WebCore::CCActiveAnimation::isControllingInstance):
(CCActiveAnimation):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
(WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
(WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
(WebCore::CCLayerAnimationController::tickAnimations):

Source/WebKit/chromium:

* src/WebAnimationImpl.cpp:
(WebKit::WebAnimationImpl::cloneToCCAnimation):
* tests/CCAnimationTestCommon.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Update HUD resources as a final step to drawing a frame
https://bugs.webkit.org/show_bug.cgi?id=93743

Reviewed by Adrienne Walker.

The HUD should be painted as a last step, after the whole frame has been
generated. This introduces a new "updateHudTexture" method on the HUD layer
and has the HUD layer save itself on CCLayerTreeHostImpl so that it can
call back to this method.

This allows the CCLayerTreeHostImpl to cause the HUD layer to update its
texture as a final step before drawing the frame, allowing the HUD texture
to contain all possible information about the current frame.

* platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
(WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
(WebCore):
(WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
(WebCore::CCHeadsUpDisplayLayerImpl::updateHudTexture):
* platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
(CCHeadsUpDisplayLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::drawLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore):
(WebCore::CCLayerTreeHostImpl::setHudLayer):
(WebCore::CCLayerTreeHostImpl::hudLayer):
(CCLayerTreeHostImpl):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSP 1.1: The 'plugin-types' warning should include details about explicit type declaration when relevant.
https://bugs.webkit.org/show_bug.cgi?id=94432

Patch by Mike West <mkwst@chromium.org> on 2012-08-20
Reviewed by Adam Barth.

Source/WebCore:

Given a 'plugin-types' Content Security Policy directive, an 'object' or
'embed' tag is blocked if it doesn't include an explicit declaration of
the plugin's expected media type. This restriction should be made clear
in the console warning that's generated.

Existing tests have been adjusted to agree with the new error string.

* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
    If a media type fail to match the policy's restrictions, and the
    declared type attribute is empty, then add another line to the
    console warning, espousing the virtues of explicit declaration.

LayoutTests:

* http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-url-expected.txt:

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