[Chromium] Implement target-densityDpi viewport property emulation
https://bugs.webkit.org/show_bug.cgi?id=110835

The value is only used in the Chromium port, when the corresponding
setting is enabled.

This is needed for supporting existing WebView-based applications
that rely on this property.

Reviewed by Adam Barth.

Source/WebCore:

* dom/ViewportArguments.cpp:
(WebCore::findTargetDensityDPIValue):
(WebCore):
(WebCore::setViewportFeature):
* dom/ViewportArguments.h:
(WebCore::ViewportArguments::ViewportArguments):
(ViewportArguments):
(WebCore::ViewportArguments::operator==):

Source/WebKit/chromium:

* public/WebSettings.h:
(WebSettings):
* src/ChromeClientImpl.cpp:
(WebKit):
(WebKit::calculateTargetDensityDPIFactor):
(WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::WebSettingsImpl):
(WebKit::WebSettingsImpl::setSupportDeprecatedTargetDensityDPI):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):
(WebKit::WebSettingsImpl::supportDeprecatedTargetDensityDPI):
* tests/WebFrameTest.cpp:
* tests/data/viewport-target-densitydpi-high.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
X-Frame-Options: Blocked frames should not inherit their parent's SecurityOrigin.
https://bugs.webkit.org/show_bug.cgi?id=112903

Reviewed by Adam Barth.

Source/WebCore:

This change brings WebKit in line with IE and Gecko's behavior, both of
which treat the blocked frame as being cross-origin for the purposes of
access checks ('[frame].contentWindow.location.href' is inaccessible,
for example).

* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
    Rather than redirecting to 'about:blank', redirect to a URL which
    does not inherit the SecurityOrigin of the parent.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived):
    Before calling cancelMainResourceLoad, ensure that the frame's
    document is sandboxed into a unique origin so that it doesn't inherit
    the parent's SecurityOrigin.

LayoutTests:

* http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html:
* http/tests/security/XFrameOptions/x-frame-options-deny.html:
* http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny.html:
* http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny.html:
* platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
* platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
* platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
* platform/chromium/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
* platform/chromium/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
* platform/chromium/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:

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