Called from the constructor, attempts to parse and will throw an error
if it cannot parse. If simple then the "hex" value is guarenteed.
If advanced then both the "rgba" and "hsla" are guarenteed. If it is
a nickname in any way (e.g. "transparent", "black") then this is
guarenteed to be set as well.

platform/network/mac/FormDataStreamMac.mm: (WebCore::setHTTPBody): Use getFileSize() from
FileSystem.h instead of custom code for getting file size. This adds path normalization
necessary with some file systems on Mac. This also loses a S_IFMT check, which didn't seem
important anyway.

PluginView::removeFromUnstartedListIfNecessary() would try to remove
any unstarted PluginView from the Page's set of unstarted plug-ins,
regardless of why the PluginView wasn't started. If we tried to start a
plug-in, but it failed to start, we would hit an assertion in
Page::removeUnstartedPlugin() that asserts that we would only modify the
unstarted plug-ins set if we were not currently starting plug-ins.

Fix this by having PluginView track whether it's waiting to be started,
and to check this before trying to remove itself from the Page's
unstarted plug-ins set.

Reviewed by Darin Adler.

page/Page.cpp:
(WebCore::Page::removeUnstartedPlugin):
Assert that the passed PluginView is in the unstarted set.

plugins/PluginView.cpp:
(WebCore::PluginView::start):
Set that we are not waiting to be started.
(WebCore::PluginView::startOrAddtoUnstartedList):
Set that we are waiting to be started.
(WebCore::PluginView::removeFromUnstartedListIfNecessary):
Check not whether we are started, but whether we are waiting to be
started.
(WebCore::PluginView::PluginView):

rendering/RenderScrollbar.cpp:
(WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for
all values instead of using a default case.

rendering/RenderTreeAsText.cpp:
(WebCore::operator<<): Removed dependency on casting to types that don't
have any public members we need to get at. Instead, use function names to
identify the type rather than doing so much overloading. Changed to use
checked casts.
(WebCore::write): Ditto.

rendering/SVGRenderSupport.cpp:
(WebCore::renderSubtreeToImage): Changed to use a checked cast and also
added a comment about the fact that the code does not do sufficient type
checking before doing the cast.

rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeRenderSVGTextBox): Renamed this from operator<<.
(WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText.
(WebCore::writeSVGText): Renamed this from write.
(WebCore::writeSVGInlineText): Ditto.
(WebCore::writeSVGImage): Ditto.

As a result of this change, we can eliminate the Skia-specific setData()
hack that the Chromium port used to select the desired icon size -- now
callers can just enumerate the frames and ask for the data from the one
they like.

Under the hood, the ICO decoder now keeps vectors for a number of things
(including directory entries and image decoders) where it used to have
single members. However, callers (that I have seen) will only request
one frame from the icon, so practically there aren't going to be lots of
instantiated image decoders.

platform/graphics/ImageSource.h: Move |m_decoder| back to private now that Skia no longer needs to access it.

platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::ICOImageDecoder):
(WebCore::ICOImageDecoder::~ICOImageDecoder): Delete all instantiated per-frame decoders.
(WebCore::ICOImageDecoder::setData): Send data to all instantiated per-frame decoders.
(WebCore::ICOImageDecoder::isSizeAvailable): Use size from icon directory instead of PNG decoder (if applicable) so we can report it without decoding the PNG frames.
(WebCore::ICOImageDecoder::size): Report frame-specific size if BMP decoder is calling. Otherwise, use size from icon directory instead of PNG decoder (if applicable).
(WebCore::ICOImageDecoder::frameSizeAtIndex): Implement.
(WebCore::ICOImageDecoder::setSize): Sanity check value if BMP decoder is calling.
(WebCore::ICOImageDecoder::frameCount): Implement.
(WebCore::ICOImageDecoder::frameBufferAtIndex): Sanity check size for PNG frames.
(WebCore::ICOImageDecoder::compareEntries): Add utility function for sorting entries.
(WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex): Factor out utility function for passing correct data blob to a PNG decoder.
(WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): Split decode() into two pieces.
(WebCore::ICOImageDecoder::decodeDirectory): The first part of the old decode().
(WebCore::ICOImageDecoder::decodeAtIndex): The second part of the old decode(), split off so we avoid decoding an entry until it's requested.
(WebCore::ICOImageDecoder::processDirectory): Add resizing of internal data structures based on directory contents.
(WebCore::ICOImageDecoder::processDirectoryEntries): Sort entries by quality.
(WebCore::ICOImageDecoder::imageTypeAtIndex): Return type to caller instead of setting a member.

The macros in webkit.m4 are not meant to be called multiple times
so we'll make them AC_DEFUN_ONCE. Also make AC_HEADER_STDC and AC_PROG_CXX
AC_REQUIRE to remove the automake warnings when doing autogen.sh.

Lastly, make sure CXXFLAGS and CFLAGS are defined before
AC_PROG_CXX gets expanded so it doesn't add "-g -O2" on Release builds.

Rename queueScriptInIsolatedWorld to evaluateScriptInIsolatedWorld
because I've changed this API to be synchronous instead of asynchronous
to work around some strange behavior in the work_queue_. Turns out we
don't need the complexity of an asynchronous API to test this feature.

ApplicationCacheHost is held in an OwnPtr<> by DocumentLoader. This was done
for compile time friendliness, it results in a smaller include graph for files
dependent on DocumentLoader.h.

loader/FrameLoader.cpp:

loader/MainResourceLoader.cpp:

loader/ResourceLoader.cpp:

Cleanup ussage of ENABLE(xxx) around includes, generally remove those guards.
This was done for readability at the include site. The included files contain appropriate guards,
so they're not needed at the include site.

Ensure that DumpRenderTreeSupport is regenerated when switching between OS versions
by listing the DumpRenderTree binary as a dependency. Xcode has the smarts to rebuild
DumpRenderTree itself when switching OS versions so this dependency removes the need
for any smarts in the Makefile.

Fix --skipped=only mode to honor flags such as --no-http and platform ignored directories by checking
to make sure the Skipped entries are not in the $ignoredDirectories array. Directories commonly included
are (http, media, compositing, wml, wcss).

Make bugzilla tool smart enough to find the commit-queue+ flags and
land those patches.
When we call land-patches with --commit-queue, we should filter the
patches we land to only those that have the commit-queue+ flag set.
That way, when we call bugzilla-tool from a main commit queue process,
we won't land the wrong patches.

This change runs all FileSystem routines through the ChromiumBridge so that
WebKitClients can handle them if they choose to. For now, the only such client
will be the one running in the browser process.

It also adds a method called sandboxEnabled to the Chromium bridge so that the
SQLite file system code can shift its behavior depending on whether we're
inside a sandbox or not.

Implemented the media slider for chromium port. The implementation
is using Skia for drawing the thumb and buffered region instead of
using any native system controls so different platforms would have
the same look and feel.

Make ImageDecoder::frameCount() return a size_t like
ImageSource::frameCount() and BitmapImage::frameCount() already do.

Add ImageDecoder::frameSizeAtIndex() alongside size(), to report the
size of a particular frame. Hook all the
ImageSource::frameSizeAtIndex() implementations to this. No
ImageDecoder implements this yet; that will come in my next change.

Fix the 'pauseAnimationAtTimeOnElementWithId' and 'pauseTransitionAtTimeOnElementWithId' APIs
available to LayoutTests to work with accelerated animations and transitions. Done by sending
the pause time down to the GraphicsLayer, and using it to stop time on the layer.

I also added an assertion to check that the animation has actually started when we
try to pause it, to check that the pause time we compute is valid. This revealed a number
of tests that tried to pause before animations started, required some amount of test fixing.

The macros in webkit.m4 are not meant to be called multiple times
so we'll make them AC_DEFUN_ONCE. Also make AC_HEADER_STDC and AC_PROG_CXX
AC_REQUIRE to remove the automake warnings when doing autogen.sh.

We want to call document() because it's in inline function, instead of
scriptExecutionContext() because it's a virtual function. If we have a
Node*, then we know that the virtual function will always return the
document anyway.

There are more instance of this bug, but I'd like to start with a small
patch and work up.

Web Inspector: Reimplement Elements Panel so that its
interaction with DOM is serialized.

This is a first cut wuth read support for DOM elements
tree as well as some limited editing. No properties, no
styles, no search capabilities are implemented yet.
Set Preferences.useDOMAgent to true in order to try it
out, otherwise disabled by default.

run-webkit-tests invokes "ps" after each test on Mac OS X to determine whether DumpRenderTree is
in the process of crashing. We can do the same test more efficiently with a simple call to sysctl.
I couldn't find any built-in way of doing this directly from perl, so we do it from a simple C module
instead. This speeds up run-webkit-tests by around 8%.

DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport.c: Added.

(processIsCrashing):

DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportTiger.pm: Added. Tiger does not have the SWIG tool

that is used to generate the Perl binding to the C code, so we fall back to the old implementation on Tiger.

run-webkit-tests invokes "ps" after each test on Mac OS X to determine whether DumpRenderTree is
in the process of crashing. We can do the same test more efficiently with a simple call to sysctl.
I couldn't find any built-in way of doing this directly from perl, so we do it from a simple C module
instead. This speeds up run-webkit-tests by around 8%.

Scripts/resolve-ChangeLogs: Used chdirReturningRelativePath()
and determineVCSRoot() to change directories to the root of the
project before running the command and to provide a path for
removeChangeLogArguments() to make sure any ChangeLog arguments
on the command line are still found.
(canonicalRelativePath): Added. Returns a canonical path (e.g.,
stripping 'dir/../' from the path) relative to the current
directory.
(removeChangeLogArguments): Added argument which contains a
relative path that must be prepended to any ChangeLog arguments.
Used canonicalRelativePath() and File::Spec->catfile() to
construct a normalized, relative path to each file.