[BlackBerry] Keep screen updates suspended until after a viewport resize.
https://bugs.webkit.org/show_bug.cgi?id=104041

Reviewed by Adam Treat.

Now that screen and backing store updates can be suspended
and resumed separately from each other, prevent blits for
the whole duration of setViewportSize() and always issue
a blit at the end.

Makes WebPage::setViewportSize() more robust in threaded usage,
easier to read/understand, and gets rid of a couple of FIXMEs.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r136683): css3/calc/background-position-parsing.html failing on EFL Linux 64-bit Debug WK2
https://bugs.webkit.org/show_bug.cgi?id=104131

Reviewed by Antti Koivisto.

css3/calc/background-position-parsing.html assert in debug because we
call CSSParser::validUnit multiple times in a row. The problem was with
validUnit which check calc() values and save the result inside
m_parsedCalculation for later usage. validUnit expects you to
use m_parsedCalculation therefore calling validUnit again with
m_parsedCalculation being set asserts. As parseFillBackgroundPosition
just want to check wether the current value is maybe valid for
background-position we can just relax the check to allow either the
valid keywords or any other units (we will anyway filter the incorrect
values later in the parsing). The most important check at this point
for the shorthand is the validity of the keyword.

No new tests : the assert was covered by css3/calc/background-position-parsing.html.

* css/CSSParser.cpp:
(WebCore::CSSParser::isPotentialPositionValue):
(WebCore::CSSParser::parseFillBackgroundPosition):
* css/CSSParser.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[skia] Improve performance of GraphicsContext::createCompatibleBuffer by using SkDevice:createCompatibleDevice
https://bugs.webkit.org/show_bug.cgi?id=103896

Reviewed by Stephen White.

Source/WebCore:

Refactored GraphicsContext::createCompatibleBuffer (platform common
code) to use platform-specific implementations provided by ImageBuffer.
There is no change in behavior for non-skia ports. The skia
implementation uses skia'a own createCompatibleDevice implementation,
which offers several performance benefits:
1. For accelerated contexts, the backing store may be allocated from
the scratch texture pool, which minimizes texture allocation and
deallocation overhead.
2. The backing store will not be initially cleared if it is known
in advance that fully opaque contents will be drawn into the buffer.
3. For non-accelerated contexts, if the backing store is flagged as
opaque, faster blitter loop implementations will be used for drawing
the buffer contents into other buffers. (e.g. generated opaque gradient
fills)

No new tests: covered by existing layout tests

* platform/graphics/Generator.h:
(Generator):
Added hasAlpha method so that it can be used by GeneratorGeneratedImage
* platform/graphics/GeneratorGeneratedImage.cpp:
(WebCore::GeneratorGeneratedImage::drawPattern):
Passing m_generator->hasAlpha() to createCompatibleBuffer in order to
take advantage of optimizations that apply to opaque buffers.
* platform/graphics/Gradient.h:
(Gradient):
Made hasAlpha virtual so that it now overrides Generator::hasAlpha
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::createCompatibleBuffer):
Refactored to use platform-specific implementation
* platform/graphics/GraphicsContext.h:
* platform/graphics/ImageBuffer.cpp:
(WebCore::createCompatibleBuffer):
Non-skia implementation. Mimics old
GraphicsContext::createCompatibleBuffer
* platform/graphics/ImageBuffer.h:
(ImageBuffer):
New skia-specific constructor
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::createCompatibleBuffer):
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::createCompatibleDevice):
(WebCore):
* platform/graphics/skia/PlatformContextSkia.h:
(PlatformContextSkia):

LayoutTests:

Added image failure expectation for test needing new baselines

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG profiler should display more information
https://bugs.webkit.org/show_bug.cgi?id=104163

Reviewed by Gavin Barraclough.

Added the following:
        
- Distinguish between source counts and bytecode counts.
        
- Add a "full" summary view that shows both kinds of counts, plus inline counts.
        
- Add a "source" command to see the source.
        
- Add a "bytecode" command to see the bytecode and counts.

* Scripts/display-profiler-output:



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