TextIndicatorWindow is larger than it needs to be, especially when not bouncing
https://bugs.webkit.org/show_bug.cgi?id=139876
<rdar://problem/19311017>

Reviewed by Sam Weinig.

* page/TextIndicator.cpp:
(WebCore::TextIndicator::wantsBounce):
(WebCore::TextIndicator::wantsContentCrossfade):
(WebCore::TextIndicator::wantsFadeIn):
* page/TextIndicator.h:
* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
(-[WebTextIndicatorView _animationDuration]):
(-[WebTextIndicatorView present]):
(WebCore::TextIndicatorWindow::setTextIndicator):
(-[WebTextIndicatorView _textIndicatorWantsBounce]): Deleted.
(-[WebTextIndicatorView _textIndicatorWantsContentCrossfade]): Deleted.
(-[WebTextIndicatorView _textIndicatorWantsFadeIn]): Deleted.
Move the various switches over TextIndicatorPresentationTransition into TextIndicator.
Adjust the margin; only inflate by the shadow if we're not bouncing.
If we are bouncing, fix the math to more tightly fit the bounce.
Previously we were inflating by way too much, and even when we didn't need to.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Assert that Array elements not copied when changing shape to ArrayStorage type are indeed holes.
<https://webkit.org/b/138118>

Reviewed by Michael Saboff.

* runtime/JSObject.cpp:
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Incorrect dashed and dotted border painting.
https://bugs.webkit.org/show_bug.cgi?id=139872
rdar://problem/18024205

Reviewed by Simon Fraser.

This patch makes dashed/dotted border painting symmetric and consistent.
It also works with subpixel positioning.

Source/WebCore:

Tests: fast/borders/border-painting-correctness-dashed.html
       fast/borders/border-painting-correctness-dotted.html

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawLine):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):

LayoutTests:

* fast/borders/border-painting-correctness-dashed-expected.html: Added.
* fast/borders/border-painting-correctness-dashed.html: Added.
* fast/borders/border-painting-correctness-dotted-expected.html: Added.
* fast/borders/border-painting-correctness-dotted.html: Added.
* fast/borders/resources/border-painting-correctness-dashed-expected.png: Added.
* fast/borders/resources/border-painting-correctness-dotted-expected.png: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sort the Xcode project file.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
compositing/rtl/rtl-fixed-overflow-scrolled.html had a 1600x1200 expected PNG
accidentally checked in, let's land 800x600 again.

* platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.png:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@177660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a SecurityOriginPolicy class
https://bugs.webkit.org/show_bug.cgi?id=139875

Reviewed by Sam Weinig.

This is the first step towards making SecurityOrigin immutable. SecurityOriginPolicy will hold a
SecurityOrigin and will handle things that would otherwise mutate SecurityOrigin.

* CMakeLists.txt:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementation::createHTMLDocument):
* dom/Document.cpp:
(WebCore::Document::create):
(WebCore::Document::open):
(WebCore::Document::cloneDataFromDocument):
(WebCore::Document::initSecurityContext):
* dom/ScriptExecutionContext.h:
* dom/SecurityContext.cpp:
(WebCore::SecurityContext::setSecurityOriginPolicy):
(WebCore::SecurityContext::securityOrigin):
(WebCore::SecurityContext::isSecureTransitionTo):
(WebCore::SecurityContext::enforceSandboxFlags):
(WebCore::SecurityContext::setSecurityOrigin): Deleted.
* dom/SecurityContext.h:
(WebCore::SecurityContext::securityOriginPolicy):
(WebCore::SecurityContext::securityOrigin): Deleted.
* dom/SecurityOriginPolicy.cpp: Added.
(WebCore::SecurityOriginPolicy::create):
(WebCore::SecurityOriginPolicy::SecurityOriginPolicy):
(WebCore::SecurityOriginPolicy::~SecurityOriginPolicy):
* dom/SecurityOriginPolicy.h: Added.
(WebCore::SecurityOriginPolicy::origin):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):
* xml/XMLTreeViewer.cpp:
(WebCore::XMLTreeViewer::transformDocumentToTreeView):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):

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