Shrink ElementRareData by moving bool flags to NodeRareData.
<http://webkit.org/b/98225>

Reviewed by Antti Koivisto.

Move all bool flags from ElementRareData to the bitfield in its base class NodeRareData.
This shrinks ElementRareData by 8 bytes (on 64-bit) and saves a whopping 58kB on Membuster3.
Also removed some double raredata hash lookups.

* dom/Element.cpp:
(WebCore::Element::detach):
(WebCore::Element::recalcStyle):
(WebCore::Element::ensureShadow):
(WebCore::Element::setStyleAffectedByEmpty):
(WebCore::Element::styleAffectedByEmpty):
(WebCore::Element::setIsInCanvasSubtree):
(WebCore::Element::isInCanvasSubtree):
(WebCore::Element::containsFullScreenElement):
(WebCore::Element::setContainsFullScreenElement):
* dom/ElementRareData.h:
(ElementRareData):
(WebCore::ElementRareData::ElementRareData):
* dom/NodeRareData.h:
(WebCore::NodeRareData::styleAffectedByEmpty):
(WebCore::NodeRareData::setStyleAffectedByEmpty):
(WebCore::NodeRareData::isInCanvasSubtree):
(WebCore::NodeRareData::setIsInCanvasSubtree):
(NodeRareData):
(WebCore::NodeRareData::containsFullScreenElement):
(WebCore::NodeRareData::setContainsFullScreenElement):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] WebKitWebView doesn't emit notify:favicon when it changes in some cases in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=98153

Reviewed by Martin Robinson.

The main problem is that it relies on icon-ready signal to be
emitted by the favicon database, but that signal is only emitted
when the icon is loaded from the network or imported from the
database, but not when the icon is already in memory. The way to
detect if a web page doesn't have a favicon or it's unknown it's
also incorrectly done and the wrong error is returned for pages
not having a favicon.

* UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
(GetFaviconSurfaceAsyncData): Add a GError field.
(getIconSurfaceSynchronously): Add a GError parameter and fill it
accordingly. Use imageForPageURL() instead of
nativeImageForPageURL() because the latter always returns NULL for
empty images, so it's not possible to know whether it's an empty
image or not. If the image is empty is because the web page is
known by the database and it doesn't have a favicon.
(processPendingIconsForURI): Pass the data error to
getIconSurfaceSynchronously(). Don't set the icon if the request
has been cancelled.
(webkitFaviconDatabaseGetFavicon): Pass NULL as error to
getIconSurfaceSynchronously().
(setErrorForAsyncResult): Fill also error for
WEBKIT_FAVICON_DATABASE_ERROR_FAVICON_UNKNOWN.
(webkit_favicon_database_get_favicon): If we get NULL as icon in
the first place, check the error code returned by
getIconSurfaceSynchronously() and return early if the page doesn't
have a favicon. Remove the cancelled signal to avoid race
conditions.
(webkit_favicon_database_get_favicon_finish): Errors are processed
before now, so simply propagate the error if any or return the
favicon.
* UIProcess/API/gtk/WebKitWebView.cpp:
(_WebKitWebViewPrivate): Keep a reference of the favicon.
(webkitWebViewCancelFaviconRequest): Cancel any async operation to
get the favicon.
(webkitWebViewUpdateFavicon): Check if favicon has changed and
save it emitting also notify::favicon signal.
(iconReadyCallback): Only update the favicon if we don't have one
already.
(webkitWebViewFinalize): Call webkitWebViewCancelFaviconRequest().
(getFaviconReadyCallback): Update the favicon.
(webkitWebViewRequestFavicon): Request a new favicon.
(webkitWebViewLoadChanged): Try to get the favicon when the load
has been committed and the URI is the final one.
(webkit_web_view_get_favicon): Return the cached favicon.
* UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
(serverCallback):
(testSetDirectory):
(testGetFavicon):
(testWebViewFavicon):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Update pixel expectations for some css2.1 tests.

* platform/efl/css2.1/20110323/c543-txt-decor-000-expected.png: Added.
* platform/efl/css2.1/20110323/replaced-elements-001-expected.png:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Skeleton code of File system API.
https://bugs.webkit.org/show_bug.cgi?id=91187

Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2012-10-03
Reviewed by Gyuyoung Kim.

Add skeleton code of File System API on EFL port.
Implementation patches will be created later.

No new tests because this is just skeleton code.

* CMakeLists.txt: Add new files which created by other patches in Modules/filesystem/ directory.
* PlatformEfl.cmake: Add AsyncFileSystemEfl.cpp.
* platform/AsyncFileSystem.cpp:
(WebCore):
* platform/efl/AsyncFileSystemEfl.cpp: Added.
* platform/efl/AsyncFileSystemEfl.h: Added.

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