REGRESSION(r124168): Null crash in RenderLayer::createScrollbar
https://bugs.webkit.org/show_bug.cgi?id=96863

Reviewed by Abhishek Arya.

Source/WebCore:

After r124168, we synchronously create any overflow:scroll scrollbar on the first style change - we used to wait
until layout was called. The issue is that the logic in RenderLayer assumes that our node is completely attached
when the style change is dispatched. The crash occured because the 'content' image code path in
RenderObject::createObject triggered a style change too early.

Test: scrollbars/scrollbar-content-crash.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
We need a style associated with the new RenderImage to call setImageResource but we don't need to trigger a
style change.

LayoutTests:

* scrollbars/scrollbar-content-crash-expected.txt: Added.
* scrollbars/scrollbar-content-crash.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
TextureMapperGL destructor crashes
https://bugs.webkit.org/show_bug.cgi?id=97942

Patch by Luiz Agostini <luiz.agostini@nokia.com> on 2012-09-28
Reviewed by Noam Rosenthal.

BitmapTextureGL destructor uses a TextureMapperGL instance. The problem is that
BitmapTextureGL objects are destroyed on TextureMapper destructor and at that
time TextureMapperGL specific methods and data are not available any more.

This patch creates a new protected method TextureMapper::clearTexturePool()
that is called in TextureMapperGL's destructor.

* platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::clearTexturePool):
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::~TextureMapperGL):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129956 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix pluralization of Info.plist key.

Rubber-stamped by Anders Carlsson.

* WebProcessService/Info.plist:
* WebProcessServiceForWebKitDevelopment/Info.plist:
It's _MultipleInstances, not _MultipleInstance. :(



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Improve saturation arithmetic support in FractionalLayoutUnit
https://bugs.webkit.org/show_bug.cgi?id=97938

Reviewed by Levi Weintraub.

Source/WebCore:

Fix bug in FractionalLayoutUnit::setValue where greater than or
equals is used instead of greater than to clamp the values.
Add SATURATED_LAYOUT_ARITHMETIC support to round preventing it
from overflowing when adding the fraction.

Test: fast/sub-pixel/large-sizes.html

* platform/FractionalLayoutUnit.h:
(WebCore::FractionalLayoutUnit::round):
(WebCore::FractionalLayoutUnit::setValue):

LayoutTests:

Update large sizes test to better cover values near limit.

* fast/sub-pixel/large-sizes-expected.txt:
* fast/sub-pixel/large-sizes.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129958 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/12398537> WebKit2 lacks API for disabling document.cookie like -[WebView _setCookieEnabled:]
https://bugs.webkit.org/show_bug.cgi?id=97939

Reviewed by Sam Weinig.

* Shared/WebPreferencesStore.h:
(WebKit): Defined CookieEnabled key with a default value of true.
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetCookieEnabled): Added this setter.
(WKPreferencesGetCookieEnabled): Added this getter.
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Added a call to Settings::setCookieEnabled to push the
preference into Settings.



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