Convert layout test resource PNGs to sRGB. Some tests, such as
compositing/color-matching/image-color-matching.html, expect that
images with an RGB profile will not be altered when displayed. However,
some of the resources have RGB profiles that are different from sRGB
and actually should change when displayed with color profile support.

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

Patch by Tony Payne <tpayne@chromium.org> on 2012-04-12
Reviewed by Adam Barth.

* compositing/resources/thiswayup.png:
* css3/filters/resources/reference.png:
* fast/media/resources/apple_logo_half_size.png:
* fast/reflections/resources/kate.png:
* svg/as-border-image/resources/large-tiles.png:
* svg/custom/resources/green-checker.png:
* svg/custom/resources/red-checker.png:
* svg/wicd/resources/test-svg-child-object-rightsizing.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114056 268f45cc-cd09-0410-ab3c-d52691b4dbfc
window.open should prepare for seamless navigation by using findFrameForNavigation
https://bugs.webkit.org/show_bug.cgi?id=83835

Reviewed by Ryosuke Niwa.

Before this patch, window.open called FrameTree::find and
Document::canNavigate separately.  This patch refactors the code to
call FrameLoader::findFrameForNavigation, which does both.  This
refactoring prepares window.open to understand seamless navigation,
which will happen in findFrameForNavigation.

This patch should have no behavior change today, but once we merge the
seamless branch, this change will be tested by
https://github.com/eseidel/webkit/blob/seamless/LayoutTests/fast/frames/seamless/seamless-window-open.html

See https://github.com/eseidel/webkit/commit/a0d8b7defbb63047912aefbc8e22bca4f0638c37 for context.

* WebCore.exp.in:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::findFrameForNavigation):
(WebCore::createWindow):
* loader/FrameLoader.h:
(FrameLoader):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
XMLSerializer().serializeToString() doesn't generate the XML declaration markup like Opera and Firefox
https://bugs.webkit.org/show_bug.cgi?id=83432

Reviewed by Ryosuke Niwa.

Source/WebCore:

Serialize the xml declaration exactly as parsed, if present in the document.

Test: fast/dom/dom-parse-serialize-xmldecl.html

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setXMLStandalone): update xmlStandalone to either yes or no.
* dom/Document.h:
(WebCore::Document::xmlStandalone):
(WebCore::Document::xmlStandaloneStatus): xmlStandalone can be unspecified, yes or no.
(WebCore::Document::hasXMLDeclaration):  test if xml declaration is present.
(WebCore::Document::setHasXMLDeclaration):
(Document):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendXMLDeclaration): write xml declaration if present.
(WebCore):
(WebCore::MarkupAccumulator::appendStartMarkup):
* editing/MarkupAccumulator.h:
(MarkupAccumulator):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startDocument): call setHasXmlDeclaration and any declaration strings parsed.
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::startDocument): call setHasXmlDeclaration and any declaration strings parsed.

LayoutTests:

Verify that xml declaration gets serialized if present. The updated test results are improvements.

* fast/dom/dom-parse-serialize-display-expected.txt:
* fast/dom/dom-parse-serialize-expected.txt:
* fast/dom/dom-parse-serialize-xmldecl-expected.txt: Added.
* fast/dom/dom-parse-serialize-xmldecl.html: Added.
* fast/xmlhttprequest/xmlhttprequest-get-expected.txt:
* fast/xsl/xslt-processor-expected.txt:
* http/tests/xmlhttprequest/xml-encoding-expected.txt:
* platform/chromium-mac/fast/xmlhttprequest/xmlhttprequest-get-expected.txt:
* platform/chromium-win/fast/xmlhttprequest/xmlhttprequest-get-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114059 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove FrameLoader:m_isLoadingMainResource, since it is always
false at the only point it is checked.
https://bugs.webkit.org/show_bug.cgi?id=83819

Reviewed by Adam Barth.

No new tests, no functionality change intended.

* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::end): Merge with endIfNotLoadingMainResource(), always end, assert that we're still attached.
* loader/DocumentWriter.h:
* loader/FrameLoader.cpp:
* loader/FrameLoader.h: Remove isLoadingMainResource(), didEndDocument(), and m_isLoadingMainResource.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium][refactoring] merge CCSingleThreadProxy::{commitIfNeeded,doComposite} into commitAndComposite()
https://bugs.webkit.org/show_bug.cgi?id=83837

Reviewed by James Robinson.

- merge CCSingleThreadProxy::commitIfNeeded() and CCSingleThreadProxy::doComposite() into commitAndComposite()

* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::compositeAndReadback): call site updated.
(WebCore::CCSingleThreadProxy::compositeImmediately): ditto.
(WebCore::CCSingleThreadProxy::commitAndComposite):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make layout tests not access apache on localhost:80
https://bugs.webkit.org/show_bug.cgi?id=82197

Patch by Pablo Flouret <pablof@motorola.com> on 2012-04-12
Reviewed by Ryosuke Niwa.

It pollutes the logs of people running a local webserver, and has the
potential for changing the results of tests run locally.

* fast/dom/onerror-img.html:
* fast/js/custom-constructors-expected.txt:
* fast/js/script-tests/custom-constructors.js:
* fast/notifications/notifications-double-show.html:
* fast/notifications/notifications-with-permission.html:
* fast/notifications/notifications-without-permission.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114064 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reset the user preferred language overrides in Internals::reset
https://bugs.webkit.org/show_bug.cgi?id=83845

Reviewed by Ryosuke Niwa.

We don't want setting the language override in one test to affect subsequent tests,
so make sure to reset it in Internals::reset.

* testing/Internals.cpp:
(WebCore::Internals::reset):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add Encrypted Media Extensions events and errors to HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=82974

Patch by David Dorwin <ddorwin@chromium.org> on 2012-04-12
Reviewed by Adam Barth.

The new events and errors are behind the ENABLE(ENCRYPTED_MEDIA) feature define.
Implementation is based on v0.1 of the draft proposal at
http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#events.

Source/WebCore:

Tests: fast/events/constructors/media-key-event-constructor.html
       media/encrypted-media/encrypted-media-constants.html
       media/encrypted-media/encrypted-media-events.html

* WebCore.gypi:
* bindings/v8/Dictionary.cpp:
(WebCore::Dictionary::get):
(WebCore):
* bindings/v8/Dictionary.h:
(WebCore):
(Dictionary):
* dom/EventNames.h:
(WebCore):
* dom/EventNames.in:
* html/HTMLAttributeNames.in:
* html/HTMLMediaElement.cpp:
(WebCore):
(WebCore::HTMLMediaElement::mediaPlayerKeyAdded):
(WebCore::HTMLMediaElement::mediaPlayerKeyError):
(WebCore::HTMLMediaElement::mediaPlayerKeyMessage):
(WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
* html/HTMLMediaElement.h:
(HTMLMediaElement):
* html/HTMLMediaElement.idl:
* html/MediaError.h:
* html/MediaError.idl:
* html/MediaKeyError.h: Added.
(WebCore):
(MediaKeyError):
(WebCore::MediaKeyError::create):
(WebCore::MediaKeyError::code):
(WebCore::MediaKeyError::MediaKeyError):
* html/MediaKeyError.idl: Added.
* html/MediaKeyEvent.cpp: Added.
(WebCore):
(WebCore::MediaKeyEventInit::MediaKeyEventInit):
(WebCore::MediaKeyEvent::MediaKeyEvent):
(WebCore::MediaKeyEvent::~MediaKeyEvent):
(WebCore::MediaKeyEvent::interfaceName):
* html/MediaKeyEvent.h: Added.
(WebCore):
(MediaKeyEventInit):
(MediaKeyEvent):
(WebCore::MediaKeyEvent::create):
(WebCore::MediaKeyEvent::keySystem):
(WebCore::MediaKeyEvent::sessionId):
(WebCore::MediaKeyEvent::initData):
(WebCore::MediaKeyEvent::message):
(WebCore::MediaKeyEvent::defaultURL):
(WebCore::MediaKeyEvent::errorCode):
(WebCore::MediaKeyEvent::systemCode):
* html/MediaKeyEvent.idl: Added.
* page/DOMWindow.idl:
* platform/graphics/MediaPlayer.cpp:
(WebCore):
(WebCore::MediaPlayer::keyAdded):
(WebCore::MediaPlayer::keyError):
(WebCore::MediaPlayer::keyMessage):
(WebCore::MediaPlayer::keyNeeded):
* platform/graphics/MediaPlayer.h:
(MediaPlayerClient):
(WebCore::MediaPlayerClient::mediaPlayerKeyAdded):
(WebCore::MediaPlayerClient::mediaPlayerKeyError):
(WebCore::MediaPlayerClient::mediaPlayerKeyMessage):
(WebCore::MediaPlayerClient::mediaPlayerKeyNeeded):
(MediaPlayer):

Source/WebKit/chromium:

* public/WebMediaPlayerClient.h:
* src/AssertMatchingEnums.cpp:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::keyAdded):
(WebKit):
(WebKit::WebMediaPlayerClientImpl::keyError):
(WebKit::WebMediaPlayerClientImpl::keyMessage):
(WebKit::WebMediaPlayerClientImpl::keyNeeded):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):

LayoutTests:

* fast/events/constructors/media-key-event-constructor-expected.txt: Added.
* fast/events/constructors/media-key-event-constructor.html: Added.
* fast/js/resources/js-test-pre.js:
(shouldBeZero):
(shouldBeEmptyString):
* media/encrypted-media/encrypted-media-constants-expected.txt: Added.
* media/encrypted-media/encrypted-media-constants.html: Added.
* media/encrypted-media/encrypted-media-events-expected.txt: Added.
* media/encrypted-media/encrypted-media-events.html: Added.
* media/video-test.js:
(testExpected):
(testArraysEqual):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Preprocessing text files with modern clang treats double slashes in comments
https://bugs.webkit.org/show_bug.cgi?id=83827

Reviewed by Mark Rowe.

Source/WebCore:

* DerivedSources.make: Pass appropriate flags to both llvm and gcc.

Source/WebKit2:

* DerivedSources.make: Pass appropriate flags to both llvm and gcc.


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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Inline StringImpl::find(UChar, ...)
https://bugs.webkit.org/show_bug.cgi?id=83737

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-12
Reviewed by Geoffrey Garen.

The implementation of StringImpl::find() is a simple branch before invoking one of
two inline functions. The overhead of having a function for StringImpl::find() is significant.

It is better to let the compiler decide if that should be inlined or not.

* wtf/text/StringImpl.cpp:
* wtf/text/StringImpl.h:
(StringImpl):
(WTF::find):
(WTF):
(WTF::reverseFind):
(WTF::StringImpl::find):
* wtf/text/WTFString.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114071 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Improve replaceUsingStringSearch() for case of a single character searchValue
https://bugs.webkit.org/show_bug.cgi?id=83738

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-04-12
Reviewed by Geoffrey Garen.

This patch improves replaceUsingStringSearch() with the following:
-Add a special case for single character search, taking advantage of the faster WTF::find().
-Inline replaceUsingStringSearch().
-Use StringImpl::create() instead of UString::substringSharingImpl() since we know we are in the bounds
 by definition.

This gives less than 1% improvement for the multicharacter replace.
The single character search show about 9% improvement.

* runtime/StringPrototype.cpp:
(JSC::replaceUsingStringSearch):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114072 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r113900): Text tests started failing
https://bugs.webkit.org/show_bug.cgi?id=83724

Reviewed by Dan Bernstein.

Source/WebCore:

* Resources/DefaultFonts.plist.in: Use serif fonts for standard family again,
and updated the list with better fonts for Japanese.

LayoutTests:

* platform/mac/Skipped: unskip the tests.

* platform/mac/fast/ruby/nested-ruby-expected.png:
* platform/mac/fast/ruby/nested-ruby-expected.txt:
* platform/mac/fast/text/international/002-expected.png:
* platform/mac/fast/text/international/002-expected.txt:
Updated for minor rendering differences.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114074 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Move WebVideoFrame into Platform and remove WebCore::VideoFrameChromium wrapper API
https://bugs.webkit.org/show_bug.cgi?id=83851

Reviewed by Adam Barth.

Source/Platform:

Move WebVideoFrame API into Platform.

* Platform.gypi:
* chromium/public/WebVideoFrame.h: Renamed from Source/WebCore/platform/graphics/chromium/VideoFrameChromium.h.
(WebKit):
(WebVideoFrame):
(WebKit::WebVideoFrame::~WebVideoFrame):
(WebKit::WebVideoFrame::format):
(WebKit::WebVideoFrame::width):
(WebKit::WebVideoFrame::height):
(WebKit::WebVideoFrame::planes):
(WebKit::WebVideoFrame::stride):
(WebKit::WebVideoFrame::data):
(WebKit::WebVideoFrame::textureId):
(WebKit::WebVideoFrame::textureTarget):
* chromium/src/WebVideoFrame.cpp: Renamed from Source/WebCore/platform/graphics/chromium/VideoFrameChromium.cpp.
(WebKit):

Source/WebCore:

Remove VideoFrameChromium wrapper and converts WebCore code to using the Platform WebVideoFrame API directly.
Some utility code that previously existed on VideoFrameChromium and only had one caller, such as doing
width/height adjustements for YV12 frames, is moved into the calling code (CCVideoLayerImpl).

Covered by existing media/ and compositing/ layout tests.

* WebCore.gypi:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawYUV):
(WebCore::LayerRendererChromium::drawRGBA):
(WebCore::LayerRendererChromium::copyFrameToTextures):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/VideoFrameProvider.h:
(VideoFrameProvider):
* platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
(WebCore::CCVideoDrawQuad::create):
(WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
* platform/graphics/chromium/cc/CCVideoDrawQuad.h:
(WebKit):
(CCVideoDrawQuad):
(WebCore::CCVideoDrawQuad::frame):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore):
(WebCore::convertVFCFormatToGC3DFormat):
(WebCore::CCVideoLayerImpl::willDraw):
(WebCore::videoFrameDimension):
(WebCore::hasPaddingBytes):
(WebCore::CCVideoLayerImpl::computeVisibleSize):
(WebCore::CCVideoLayerImpl::reserveTextures):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:
(WebKit):

Source/WebKit/chromium:

Moves the WebVideoFrame interface into Platform and removes the now unnecessary VideoFrameChromiumImpl adapter
implementation.

* WebKit.gyp:
* public/WebVideoFrame.h:
* src/AssertMatchingEnums.cpp:
* src/VideoFrameChromiumImpl.cpp: Removed.
* src/VideoFrameChromiumImpl.h: Removed.
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::getCurrentFrame):
(WebKit::WebMediaPlayerClientImpl::putCurrentFrame):
(WebKit::WebMediaPlayerClientImpl::supportsType):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114075 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Extract PerfTest class from PerfTestRunner
https://bugs.webkit.org/show_bug.cgi?id=83847

Reviewed by Hajime Morita.

Extracted PerfTest and ChromiumStylePerfTest from PerfTestRunner. This class abstracts a test
that was previously represented by a tuple.

Also moved the logic to determine whether a given test is chromium style or not from run() to
_collect_tests(). And moved the output parsing algorithms for parser style and chromium style
tests from PerfTestRunner to PerfTest and ChromiumStylePerfTest respectively so that we may
add new types of tests more easily.

* Scripts/webkitpy/performance_tests/perftest.py: Added.
(PerfTest):
(PerfTest.__init__):
(PerfTest.test_name):
(PerfTest.dirname):
(PerfTest.path_or_url):
(PerfTest._should_ignore_line_in_parser_test_result):
(PerfTest.parse_output):
(ChromiumStylePerfTest):
(ChromiumStylePerfTest.__init__):
(ChromiumStylePerfTest.parse_output):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._collect_tests):
(PerfTestsRunner.run):
(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(run_test):
(_tests_for_runner):
(test_run_test_set_with_json_output):
(test_run_test_set_with_json_source):
(test_run_test_set_with_multiple_repositories):
(_collect_tests_and_sort_test_name):
(test_collect_tests):
(test_collect_tests_with_skipped_list):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use _self to represnet self-navigation, like in the HTML5 spec
https://bugs.webkit.org/show_bug.cgi?id=83834

Reviewed by Eric Seidel.

This patch aligns the internal state representation of the FrameLoader
more closely with the HTML5 spec.  Both the null string and "_self"
represent self-navigation, but the HTML5 spec distinguishes them when
navigating seamless iframes.  In that case, "_self" is explicit
self-navigation, whereas a null string will get redirected to the
"master" frame (the closest enclosing non-seamless frame).

This patch shouldn't have any observable behavior changes, but it will
be useful when we merge in the seamless branch from GitHub.
(See https://github.com/eseidel/webkit/commit/df0e71fcacdb0e7e45fe669afe1314cec5b76523
which contains this change.)

Once the seamless branch lands, this change will be tested by a number
of tests in
https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless
including seamless-hyperlink.html.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::loadURL):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114077 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r114075.
http://trac.webkit.org/changeset/114075
https://bugs.webkit.org/show_bug.cgi?id=83857

Breaks compile (Requested by jamesr on #webkit).

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

Source/Platform:

* Platform.gypi:

Source/WebCore:

* WebCore.gypi:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawYUV):
(WebCore::LayerRendererChromium::drawRGBA):
(WebCore::LayerRendererChromium::copyFrameToTextures):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/VideoFrameChromium.cpp: Renamed from Source/Platform/chromium/src/WebVideoFrame.cpp.
(WebCore):
(WebCore::VideoFrameChromium::~VideoFrameChromium):
* platform/graphics/chromium/VideoFrameChromium.h: Copied from Source/Platform/chromium/public/WebVideoFrame.h.
(WebCore):
(VideoFrameChromium):
* platform/graphics/chromium/VideoFrameProvider.h:
(VideoFrameProvider):
* platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
(WebCore::CCVideoDrawQuad::create):
(WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
* platform/graphics/chromium/cc/CCVideoDrawQuad.h:
(CCVideoDrawQuad):
(WebCore::CCVideoDrawQuad::frame):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore):
(WebCore::convertVFCFormatToGC3DFormat):
(WebCore::CCVideoLayerImpl::willDraw):
(WebCore::CCVideoLayerImpl::computeVisibleSize):
(WebCore::CCVideoLayerImpl::reserveTextures):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:

Source/WebKit/chromium:

* WebKit.gyp:
* public/WebVideoFrame.h:
(WebKit):
(WebVideoFrame):
(WebKit::WebVideoFrame::~WebVideoFrame):
(WebKit::WebVideoFrame::format):
(WebKit::WebVideoFrame::width):
(WebKit::WebVideoFrame::height):
(WebKit::WebVideoFrame::planes):
(WebKit::WebVideoFrame::stride):
(WebKit::WebVideoFrame::data):
(WebKit::WebVideoFrame::textureId):
(WebKit::WebVideoFrame::textureTarget):
* src/AssertMatchingEnums.cpp:
* src/VideoFrameChromiumImpl.cpp: Added.
(WebKit):
(WebKit::VideoFrameChromiumImpl::toWebVideoFrame):
(WebKit::VideoFrameChromiumImpl::VideoFrameChromiumImpl):
(WebKit::VideoFrameChromiumImpl::format):
(WebKit::VideoFrameChromiumImpl::width):
(WebKit::VideoFrameChromiumImpl::height):
(WebKit::VideoFrameChromiumImpl::planes):
(WebKit::VideoFrameChromiumImpl::stride):
(WebKit::VideoFrameChromiumImpl::data):
(WebKit::VideoFrameChromiumImpl::requiredTextureSize):
(WebKit::VideoFrameChromiumImpl::hasPaddingBytes):
(WebKit::VideoFrameChromiumImpl::textureId):
(WebKit::VideoFrameChromiumImpl::textureTarget):
* src/VideoFrameChromiumImpl.h: Renamed from Source/Platform/chromium/public/WebVideoFrame.h.
(WebKit):
(VideoFrameChromiumImpl):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::getCurrentFrame):
(WebKit::WebMediaPlayerClientImpl::putCurrentFrame):
(WebKit::WebMediaPlayerClientImpl::supportsType):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Prepare functions in LengthFunctions.h for LayoutUnits
https://bugs.webkit.org/show_bug.cgi?id=83726

Reviewed by Eric Seidel.

Preparing the functions that live in LengthFunctions for sub-pixel layout, which entails
using and returning LayoutUnits instead of integers. There are a number of rendering
classes that are laid out using integers -- see https://trac.webkit.org/wiki/LayoutUnit
for details -- so this also adds integer-specific versions of the length functions for
explicit use in those classes.

No new tests. No change in behavior.

* css/LengthFunctions.h:
(WebCore): Using LayoutUnits for sub-pixel precision and adding integer-specific versions
of minimumValueForLength and valueForLength that truncate.
* css/LengthFunctions.cpp:
(WebCore):
* dom/Document.cpp:
(WebCore::Document::pageSizeAndMarginsInPixels): Document sizes are integral.
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::layOutAxis): The frame tree continues to be integral.
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::timerFired): RenderMarquee scrolling uses integral values.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight): Table layout is integral.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114079 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove V8DOMWindowShell::setLocation
https://bugs.webkit.org/show_bug.cgi?id=83833

Reviewed by Eric Seidel.

V8DOMWindowShell::setLocation is only used by document.location.  It's
more direct for document.location to call Location::setHref directly.
This integrates correctly with the navigation rules for
<iframe seamless>.

(See https://github.com/eseidel/webkit/compare/master...seamless for
more context about the connection with seamless.)

Reviewed on GitHub:
https://github.com/abarth/webkit/commit/48601729d53a6ac39df5a43b22218c91330c3f61

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore):
* bindings/v8/V8DOMWindowShell.h:
(V8DOMWindowShell):
* bindings/v8/custom/V8DocumentLocationCustom.cpp:
(WebCore::V8Document::locationAccessorSetter):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Background filters for composited layers
https://bugs.webkit.org/show_bug.cgi?id=80046

Reviewed by Adrienne Walker.

Source/WebCore:

Adds background filters to LayerChromium/CCLayerImpl. These filters are
applied to any pixels in the contents behind the layer and seen through
it.

This is done by adding a backgroundTexture() to the render surface, which
holds the read-back contents of the target framebuffer, background filter
applied, in the surface's own coordinate space. Then this is drawn back
into the frame buffer before the contents of the surface itself is drawn.

Tests: platform/chromium/compositing/filters/background-filter-blur-off-axis.html
       platform/chromium/compositing/filters/background-filter-blur-outsets.html
       platform/chromium/compositing/filters/background-filter-blur.html

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setBackgroundFilters):
(WebCore):
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
(WebCore::LayerChromium::backgroundFilters):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawBackgroundFilters):
(WebCore):
(WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
(WebCore::LayerRendererChromium::getFramebufferTexture):
(WebCore::LayerRendererChromium::isCurrentRenderSurface):
(WebCore::LayerRendererChromium::useRenderSurface):
(WebCore::LayerRendererChromium::useManagedTexture):
(WebCore::LayerRendererChromium::bindFramebufferToTexture):
(WebCore::LayerRendererChromium::setScissorToRect):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/RenderSurfaceChromium.h:
(WebCore::RenderSurfaceChromium::setBackgroundFilters):
(WebCore::RenderSurfaceChromium::backgroundFilters):
(RenderSurfaceChromium):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::setBackgroundFilters):
(WebCore):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
(WebCore::CCLayerImpl::backgroundFilters):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::subtreeShouldRenderToSeparateSurface):
(WebCore::calculateDrawTransformsAndVisibilityInternal):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::drawableContentRect):
(WebCore::CCRenderSurface::prepareBackgroundTexture):
(WebCore):
(WebCore::CCRenderSurface::releaseBackgroundTexture):
(WebCore::CCRenderSurface::computeDeviceTransform):
(WebCore::CCRenderSurface::computeDeviceBoundingBox):
(WebCore::CCRenderSurface::computeReadbackDeviceBoundingBox):
(WebCore::CCRenderSurface::readbackDeviceContentRect):
(WebCore::copyTextureToFramebuffer):
(WebCore::CCRenderSurface::copyDeviceToBackgroundTexture):
(WebCore::getSkBitmapTextureId):
(WebCore::CCRenderSurface::drawContents):
(WebCore::CCRenderSurface::drawReplica):
(WebCore::CCRenderSurface::drawLayer):
(WebCore::CCRenderSurface::drawSurface):
(WebCore::CCRenderSurface::applyFilters):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(CCRenderSurface):
(WebCore::CCRenderSurface::setBackgroundFilters):
(WebCore::CCRenderSurface::backgroundFilters):
(WebCore::CCRenderSurface::backgroundTexture):
* testing/Internals.cpp:
(WebCore):
(WebCore::Internals::setBackgroundBlurOnNode):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit/chromium:

* tests/CCLayerImplTest.cpp:
(WebCore::TEST):

LayoutTests:

* platform/chromium/compositing/filters/background-filter-blur-expected.png: Added.
* platform/chromium/compositing/filters/background-filter-blur-expected.txt: Added.
* platform/chromium/compositing/filters/background-filter-blur-off-axis-expected.png: Added.
* platform/chromium/compositing/filters/background-filter-blur-off-axis-expected.txt: Added.
* platform/chromium/compositing/filters/background-filter-blur-off-axis.html: Added.
* platform/chromium/compositing/filters/background-filter-blur-outsets-expected.png: Added.
* platform/chromium/compositing/filters/background-filter-blur-outsets-expected.txt: Added.
* platform/chromium/compositing/filters/background-filter-blur-outsets.html: Added.
* platform/chromium/compositing/filters/background-filter-blur.html: Added.


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