Handle sticky that overflows its container
https://bugs.webkit.org/show_bug.cgi?id=95260

Reviewed by Ojan Vafai.

Source/WebCore:

When an element with position:sticky overflows its container,
don't have the sticky code push it back inside that container.
It will just never get offset in the sticky direction.

Test: fast/css/sticky/sticky-overflowing.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::stickyPositionOffset):

LayoutTests:

Testcase with sticky elements that overflow their containers.

* fast/css/sticky/sticky-overflowing-expected.html: Added.
* fast/css/sticky/sticky-overflowing.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed penultimate rebaseline after r126683.

* platform/chromium/TestExpectations:
Removed 38 tests that got rebaselined.

* editing/execCommand/4580583-1-expected.txt: Renamed from LayoutTests/platform/efl/editing/execCommand/4580583-1-expected.txt.
* editing/execCommand/4580583-2-expected.txt: Renamed from LayoutTests/platform/efl/editing/execCommand/4580583-2-expected.txt.
* fast/block/float/012-expected.txt: Renamed from LayoutTests/platform/efl/fast/block/float/012-expected.txt.
* fast/block/float/013-expected.txt: Renamed from LayoutTests/platform/efl/fast/block/float/013-expected.txt.
* fast/block/float/016-expected.txt:
* fast/block/margin-collapse/041-expected.txt: Renamed from LayoutTests/platform/efl/fast/block/margin-collapse/041-expected.txt.
* fast/block/margin-collapse/043-expected.txt: Renamed from LayoutTests/platform/efl/fast/block/margin-collapse/043-expected.txt.
* fast/block/margin-collapse/057-expected.txt: Renamed from LayoutTests/platform/efl/fast/block/margin-collapse/057-expected.txt.
* fast/css/acid2-expected.txt:
* fast/css/acid2-pixel-expected.txt:
* fast/css/border-height-expected.txt: Renamed from LayoutTests/platform/efl/fast/css/border-height-expected.txt.
* fast/frames/viewsource-attribute-expected.txt: Renamed from LayoutTests/platform/efl/fast/frames/viewsource-attribute-expected.txt.
* fast/frames/viewsource-on-image-file-expected.txt: Renamed from LayoutTests/platform/efl/fast/frames/viewsource-on-image-file-expected.txt.
* fast/inline/inline-padding-disables-text-quirk-expected.txt: Renamed from LayoutTests/platform/efl/fast/inline/inline-padding-disables-text-quirk-expected.txt.
* fast/inline/inline-text-quirk-bpm-expected.txt: Renamed from LayoutTests/platform/efl/fast/inline/inline-text-quirk-bpm-expected.txt.
* fast/layers/scroll-rect-to-visible-expected.txt: Renamed from LayoutTests/platform/efl/fast/layers/scroll-rect-to-visible-expected.txt.
* fast/lists/007-expected.txt: Renamed from LayoutTests/platform/efl/fast/lists/007-expected.txt.
* fast/multicol/block-axis-horizontal-bt-expected.txt: Renamed from LayoutTests/platform/efl/fast/multicol/block-axis-horizontal-bt-expected.txt.
* fast/multicol/block-axis-vertical-lr-expected.txt: Renamed from LayoutTests/platform/efl/fast/multicol/block-axis-vertical-lr-expected.txt.
* fast/multicol/block-axis-vertical-rl-expected.txt: Renamed from LayoutTests/platform/efl/fast/multicol/block-axis-vertical-rl-expected.txt.
* fast/overflow/overflow-rtl-expected.txt:
* fast/overflow/overflow-rtl-inline-scrollbar-expected.txt: Renamed from LayoutTests/platform/efl/fast/overflow/overflow-rtl-inline-scrollbar-expected.txt.
* fast/table/border-collapsing/003-expected.txt: Renamed from LayoutTests/platform/efl/fast/table/border-collapsing/003-expected.txt.
* fast/table/border-collapsing/003-vertical-expected.txt: Renamed from LayoutTests/platform/efl/fast/table/border-collapsing/003-vertical-expected.txt.
* fast/table/border-collapsing/rtl-border-collapsing-expected.txt: Renamed from LayoutTests/platform/efl/fast/table/border-collapsing/rtl-border-collapsing-expected.txt.
* fast/table/colgroup-spanning-groups-rules-expected.txt: Renamed from LayoutTests/platform/efl/fast/table/colgroup-spanning-groups-rules-expected.txt.
* fast/text/basic/015-expected.txt: Renamed from LayoutTests/platform/efl/fast/text/basic/015-expected.txt.
* http/tests/misc/acid2-expected.txt: Renamed from LayoutTests/platform/efl/fast/css/acid2-expected.txt.
Common baselines.

* platform/efl/fast/block/float/016-expected.txt: Removed.
* platform/efl/fast/css/acid2-pixel-expected.txt: Removed.
* platform/efl/fast/overflow/overflow-rtl-expected.txt: Removed.
* platform/efl/http/tests/misc/acid2-expected.txt: Removed.
* platform/gtk/editing/execCommand/4580583-1-expected.txt: Removed.
* platform/gtk/editing/execCommand/4580583-2-expected.txt: Removed.
* platform/gtk/fast/block/float/012-expected.txt: Removed.
* platform/gtk/fast/block/float/013-expected.txt: Removed.
* platform/gtk/fast/block/float/016-expected.txt: Removed.
* platform/gtk/fast/block/margin-collapse/041-expected.txt: Removed.
* platform/gtk/fast/block/margin-collapse/043-expected.txt: Removed.
* platform/gtk/fast/block/margin-collapse/057-expected.txt: Removed.
* platform/gtk/fast/css/acid2-expected.txt: Removed.
* platform/gtk/fast/css/acid2-pixel-expected.txt: Removed.
* platform/gtk/fast/css/border-height-expected.txt: Removed.
* platform/gtk/fast/frames/viewsource-attribute-expected.txt: Removed.
* platform/gtk/fast/frames/viewsource-on-image-file-expected.txt: Removed.
* platform/gtk/fast/inline/inline-padding-disables-text-quirk-expected.txt: Removed.
* platform/gtk/fast/inline/inline-text-quirk-bpm-expected.txt: Removed.
* platform/gtk/fast/layers/scroll-rect-to-visible-expected.txt: Removed.
* platform/gtk/fast/lists/007-expected.txt: Removed.
* platform/gtk/fast/multicol/block-axis-horizontal-bt-expected.txt: Removed.
* platform/gtk/fast/multicol/block-axis-vertical-lr-expected.txt: Removed.
* platform/gtk/fast/multicol/block-axis-vertical-rl-expected.txt: Removed.
* platform/gtk/fast/overflow/overflow-rtl-expected.txt: Removed.
* platform/gtk/fast/overflow/overflow-rtl-inline-scrollbar-expected.txt: Removed.
* platform/gtk/fast/table/border-collapsing/003-expected.txt: Removed.
* platform/gtk/fast/table/border-collapsing/003-vertical-expected.txt: Removed.
* platform/gtk/fast/table/border-collapsing/rtl-border-collapsing-expected.txt: Removed.
* platform/gtk/fast/table/colgroup-spanning-groups-rules-expected.txt: Removed.
* platform/gtk/fast/text/basic/015-expected.txt: Removed.
* platform/gtk/http/tests/misc/acid2-expected.txt: Removed.
* platform/mac-lion/editing/deleting/type-delete-after-quote-expected.txt: Removed.
* platform/mac-lion/editing/execCommand/4580583-1-expected.txt: Removed.
* platform/mac-lion/editing/execCommand/4580583-2-expected.txt: Removed.
* platform/mac-lion/editing/inserting/5418891-expected.txt: Removed.
* platform/mac-lion/editing/inserting/5510537-expected.txt: Removed.
* platform/mac-lion/editing/inserting/6703873-expected.txt: Removed.
* platform/mac-lion/editing/inserting/break-blockquote-after-delete-expected.txt: Removed.
* platform/mac-lion/editing/pasteboard/5006779-expected.txt: Removed.
* platform/mac-lion/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt: Removed.
* platform/mac-lion/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.txt: Removed.
* platform/mac-lion/fast/block/float/012-expected.txt: Removed.
* platform/mac-lion/fast/block/float/013-expected.txt: Removed.
* platform/mac-lion/fast/block/margin-collapse/041-expected.txt: Removed.
* platform/mac-lion/fast/block/margin-collapse/043-expected.txt: Removed.
* platform/mac-lion/fast/block/margin-collapse/057-expected.txt: Removed.
* platform/mac-lion/fast/css/acid2-expected.txt: Removed.
* platform/mac-lion/fast/css/acid2-pixel-expected.txt: Removed.
* platform/mac-lion/fast/css/border-height-expected.txt: Removed.
* platform/mac-lion/fast/frames/viewsource-attribute-expected.txt: Removed.
* platform/mac-lion/fast/frames/viewsource-on-image-file-expected.txt: Removed.
* platform/mac-lion/fast/inline/inline-padding-disables-text-quirk-expected.txt: Removed.
* platform/mac-lion/fast/inline/inline-text-quirk-bpm-expected.txt: Removed.
* platform/mac-lion/fast/layers/scroll-rect-to-visible-expected.txt: Removed.
* platform/mac-lion/fast/lists/007-expected.txt: Removed.
* platform/mac-lion/fast/multicol/block-axis-horizontal-bt-expected.txt: Removed.
* platform/mac-lion/fast/multicol/block-axis-vertical-lr-expected.txt: Removed.
* platform/mac-lion/fast/multicol/block-axis-vertical-rl-expected.txt: Removed.
* platform/mac-lion/fast/overflow/overflow-rtl-expected.txt: Removed.
* platform/mac-lion/fast/overflow/overflow-rtl-inline-scrollbar-expected.txt: Removed.
* platform/mac-lion/fast/table/border-collapsing/003-expected.txt: Removed.
* platform/mac-lion/fast/table/border-collapsing/003-vertical-expected.txt: Removed.
* platform/mac-lion/fast/table/border-collapsing/rtl-border-collapsing-expected.txt: Removed.
* platform/mac-lion/fast/table/colgroup-spanning-groups-rules-expected.txt: Removed.
* platform/mac-lion/fast/text/basic/015-expected.txt: Removed.
* platform/mac-lion/http/tests/misc/acid2-expected.txt: Removed.
Removed those baselines so that they properly fallback to the correct ones.

* platform/chromium-linux-x86/fast/repaint/repaint-across-writing-mode-boundary-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/repaint/repaint-across-writing-mode-boundary-expected.txt.
* platform/chromium-linux-x86/fast/text/monospace-width-cache-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/text/monospace-width-cache-expected.txt.
* platform/chromium-linux/fast/repaint/repaint-across-writing-mode-boundary-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/repaint/repaint-across-writing-mode-boundary-expected.txt.
* platform/chromium-linux/fast/text/monospace-width-cache-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/text/monospace-width-cache-expected.txt.
* platform/chromium-mac-snowleopard/editing/inserting/break-blockquote-after-delete-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/repaint/repaint-across-writing-mode-boundary-expected.txt: Copied from LayoutTests/platform/chromium-mac/fast/repaint/repaint-across-writing-mode-boundary-expected.txt.
* platform/chromium-mac-snowleopard/fast/text/monospace-width-cache-expected.txt: Added.
* platform/chromium-mac/editing/inserting/break-blockquote-after-delete-expected.txt:
* platform/chromium-mac/fast/block/float/013-expected.txt:
* platform/chromium-mac/fast/block/float/016-expected.txt:
* platform/chromium-mac/fast/overflow/overflow-rtl-expected.txt:
* platform/chromium-mac/fast/repaint/repaint-across-writing-mode-boundary-expected.txt:
* platform/chromium-mac/fast/text/monospace-width-cache-expected.txt: Added.
* platform/chromium-win-xp/fast/repaint/repaint-across-writing-mode-boundary-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/repaint/repaint-across-writing-mode-boundary-expected.txt.
* platform/chromium-win-xp/fast/text/monospace-width-cache-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/text/monospace-width-cache-expected.txt.
* platform/chromium-win/editing/deleting/type-delete-after-quote-expected.txt:
* platform/chromium-win/editing/execCommand/4580583-1-expected.txt:
* platform/chromium-win/editing/execCommand/4580583-2-expected.txt:
* platform/chromium-win/editing/inserting/5418891-expected.txt:
* platform/chromium-win/editing/inserting/5510537-expected.txt:
* platform/chromium-win/editing/inserting/6703873-expected.txt:
* platform/chromium-win/editing/inserting/break-blockquote-after-delete-expected.txt:
* platform/chromium-win/editing/pasteboard/5006779-expected.txt:
* platform/chromium-win/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt:
* platform/chromium-win/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.txt:
* platform/chromium-win/fast/block/float/012-expected.txt:
* platform/chromium-win/fast/block/float/013-expected.txt:
* platform/chromium-win/fast/block/float/016-expected.txt:
* platform/chromium-win/fast/block/margin-collapse/041-expected.txt:
* platform/chromium-win/fast/block/margin-collapse/043-expected.txt:
* platform/chromium-win/fast/block/margin-collapse/057-expected.txt:
* platform/chromium-win/fast/css/acid2-expected.txt:
* platform/chromium-win/fast/css/acid2-pixel-expected.txt:
* platform/chromium-win/fast/css/border-height-expected.txt:
* platform/chromium-win/fast/frames/viewsource-attribute-expected.txt:
* platform/chromium-win/fast/frames/viewsource-on-image-file-expected.txt:
* platform/chromium-win/fast/inline/inline-padding-disables-text-quirk-expected.txt:
* platform/chromium-win/fast/inline/inline-text-quirk-bpm-expected.txt:
* platform/chromium-win/fast/layers/scroll-rect-to-visible-expected.txt:
* platform/chromium-win/fast/lists/007-expected.txt:
* platform/chromium-win/fast/multicol/block-axis-horizontal-bt-expected.txt:
* platform/chromium-win/fast/multicol/block-axis-vertical-lr-expected.txt:
* platform/chromium-win/fast/multicol/block-axis-vertical-rl-expected.txt:
* platform/chromium-win/fast/overflow/overflow-rtl-expected.txt:
* platform/chromium-win/fast/overflow/overflow-rtl-inline-scrollbar-expected.txt:
* platform/chromium-win/fast/repaint/repaint-across-writing-mode-boundary-expected.txt:
* platform/chromium-win/fast/table/border-collapsing/003-expected.txt:
* platform/chromium-win/fast/table/border-collapsing/003-vertical-expected.txt:
* platform/chromium-win/fast/table/border-collapsing/rtl-border-collapsing-expected.txt:
* platform/chromium-win/fast/table/colgroup-spanning-groups-rules-expected.txt:
* platform/chromium-win/fast/text/basic/015-expected.txt:
* platform/chromium-win/fast/text/monospace-width-cache-expected.txt:
* platform/chromium-win/http/tests/misc/acid2-expected.txt:
Chromium specific updates.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Content detection should not disrupt the page behaviour
https://bugs.webkit.org/show_bug.cgi?id=94727

Reviewed by Adam Barth.

Source/WebCore:

Tested by WebViewTest::DetectContentAroundPosition.

* dom/Node.cpp:
(WebCore::Node::willRespondToTouchEvents): checks if a node listens to touch events. Very similar to willRespondToMouseClickEvents.
(WebCore):
* dom/Node.h:
(Node):

Source/WebKit/chromium:

Triggers content detection in the embedder on tap gestures and
add checks for the appropriate event listeners in order to prevent
triggering content detection when it would disrupt the page's behaviour.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):
(WebKit::WebViewImpl::detectContentOnTouch):
* tests/WebViewTest.cpp:
* tests/data/content_listeners.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make MediaSource event dispatch asynchronous.
https://bugs.webkit.org/show_bug.cgi?id=95217

Patch by Aaron Colwell <acolwell@chromium.org> on 2012-08-28
Reviewed by Eric Carlson.

Source/WebCore:

Update MediaSource & SourceBufferList to use a GenericEventQueue to dispatch events
instead of using synchronous dispatch.

Test: http/tests/media/media-source/video-media-source-async-events.html

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::MediaSource): Create GenericEventQueue & pass a pointer to SourceBufferList.
(WebCore::MediaSource::addSourceBuffer):
(WebCore::MediaSource::setReadyState): Updated to use new scheduleEvent() helper method.
(WebCore::MediaSource::scheduleEvent): New method for creating events and adding them to the event queue.
(WebCore):
* Modules/mediasource/MediaSource.h: Added GenericEventQueue member and scheduleEvent() signature.
(MediaSource):
* Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::SourceBufferList):
(WebCore::SourceBufferList::remove):
(WebCore::SourceBufferList::createAndFireEvent): Updated to queue events instead of synchronously dispatch them.
* Modules/mediasource/SourceBufferList.h:
(WebCore):
(WebCore::SourceBufferList::create):
(SourceBufferList):

LayoutTests:

- Added a test to verify that MediaSource & SourceBufferList events are dispatched asynchronously.
- Updated a few existing tests that were relying on the old synchronous dispatch.

* http/tests/media/media-source/video-media-source-async-events-expected.txt: Added.
* http/tests/media/media-source/video-media-source-async-events.html: Added.
* http/tests/media/media-source/video-media-source-event-attributes.html:
* http/tests/media/media-source/video-media-source-objects.html:
* http/tests/media/media-source/video-media-source-seek-expected.txt:
* http/tests/media/media-source/video-media-source-state-changes-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSP doesn't turn off eval, etc. in Web Workers
https://bugs.webkit.org/show_bug.cgi?id=93392

Patch by Tom Sepez <tsepez@chromium.org> on 2012-08-28
Reviewed by Adam Barth.

On the JSC side, the blocking of eval() in workers was handled correctly, so it is
a matter of adding calls check the policy for setTimeout and SetInterval.  On the v8
side, it is a matter of handling the above, plus eval().

Source/WebCore: 

On the v8 side, the v8 context isn't available when the callers want to disable eval.
Rather than creating it earlier, which is problematic, remember the setting in the
WorkerContextExecutionProxy and apply before the next call to its evaluate() method.

Tests: http/tests/security/contentSecurityPolicy/worker-eval-blocked.html
       http/tests/security/contentSecurityPolicy/worker-function-function-blocked.html

* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::setTimeout):
(WebCore::JSWorkerContext::setInterval):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
(WebCore::WorkerContextExecutionProxy::evaluate):
(WebCore::WorkerContextExecutionProxy::setEvalAllowed):
(WebCore):
* bindings/v8/WorkerContextExecutionProxy.h:
(WorkerContextExecutionProxy):
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::disableEval):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::SetTimeoutOrInterval):

LayoutTests: 

* http/tests/security/contentSecurityPolicy/resources/worker-eval.js: Added.
* http/tests/security/contentSecurityPolicy/resources/worker-function-function.js: Added.
(fn):
* http/tests/security/contentSecurityPolicy/resources/worker-set-timeout.js:
* http/tests/security/contentSecurityPolicy/worker-eval-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/worker-eval-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/worker-function-function-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/worker-function-function-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/worker-set-timeout-blocked-expected.txt:


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