The 'body' of seamless IFrames should default to 'margin: 0'
https://bugs.webkit.org/show_bug.cgi?id=90834

Reviewed by Eric Seidel.

Source/WebCore:

Documents displayed in seamless iframes should override the 'body'
element's normal 8px default margins with 0px, in order to ensure that
contents are displayed flush with the boundries of the seamless box.[1]

This patch does so by adding a new user agent stylesheet for seamless
documents, and teaching the StyleResolver how and when to apply it.

[1]: http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Jul/0039.html

Test: fast/frames/seamless/seamless-body-margin.html

* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.vcproj/WebCore.vcproj:
* CMakeLists.txt:
    Added a new CSS file! Let's tell everyone!
* css/StyleResolver.cpp:
(WebCore):
(WebCore::loadSeamlessStyle):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectFeatures):
(WebCore::StyleResolver::reportMemoryUsage):
    Load the new stylesheet, and apply it to the document in
    matchUARules iff the document should be displayed seamlessly.
* css/seamless.css: Added.
(body):
    Stylesheet containing defaults for seamless documents.

LayoutTests:

* fast/frames/seamless/seamless-body-margin-expected.txt: Added.
* fast/frames/seamless/seamless-body-margin.html: Added.
    New test to explicitly check 'body' margins.
* fast/frames/seamless/resources/nested-seamless.html:
* fast/frames/seamless/resources/quirks-square.html:
* fast/frames/seamless/resources/two-inline-blocks.html:
* fast/frames/seamless/seamless-inherited-origin-expected.txt:
* fast/frames/seamless/seamless-inherited-origin.html:
    Updated these tests to remove the assumption that the body had an
    8px margin.


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