[Win] jscore-tests flakey
https://bugs.webkit.org/show_bug.cgi?id=88118

Reviewed by Jessie Berlin.

jsDriver.pl on windows intermittently doesn't get the returned value from jsc,
instead it gets 126.  Added a new option to jsc (-x) which prints the exit
code before exiting.  jsDriver.pl uses this option on Windows and parses the
exit code output for the exit code, removing it before comparing the actual
and expected outputs.  Filed a follow on "FIXME" defect:
[WIN] Intermittent failure for jsc return value to propagate through jsDriver.pl
https://bugs.webkit.org/show_bug.cgi?id=90119

* jsc.cpp:
(CommandLine::CommandLine):
(CommandLine):
(printUsageStatement):
(parseArguments):
(jscmain):
* tests/mozilla/jsDriver.pl:
(execute_tests):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: should make the LevelDB persistant to the directory indicated in PageGroupSettings::indexedDBDataBasePath
https://bugs.webkit.org/show_bug.cgi?id=88338

Reviewed by David Levin.

Source/WebCore:

If the indexedDB runs in main thread it can access the GroupSettings via the document;
otherwise, we need to pass the page GroupSettings to the worker thread so that accessible
to the indexedDB running in WorkerContext.

* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::open):
* workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::create):
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
* workers/DedicatedWorkerThread.h:
(DedicatedWorkerThread):
* workers/DefaultSharedWorkerRepository.cpp:
(SharedWorkerProxy):
(WebCore::SharedWorkerProxy::groupSettings):
(WebCore):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
* workers/SharedWorkerThread.cpp:
(WebCore::SharedWorkerThread::create):
(WebCore::SharedWorkerThread::SharedWorkerThread):
* workers/SharedWorkerThread.h:
(SharedWorkerThread):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerContext):
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::create):
(WorkerThreadStartupData):
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::groupSettings):
(WebCore):
* workers/WorkerThread.h:
(WorkerThread):

Source/WebKit/chromium:

* src/WebSharedWorkerImpl.cpp:
(WebKit::WebSharedWorkerImpl::startWorkerContext):
* src/WebWorkerClientImpl.cpp:
(WebKit::WebWorkerClientImpl::startWorkerContext):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Use SkColor in compositor internals
https://bugs.webkit.org/show_bug.cgi?id=90108

Reviewed by Adrienne Walker.

Source/WebCore:

As the title says, cutting dependencies. If we support color spaces in the compositor we will probably need to
use a more sophisticated type, but for our current use SkColor is sufficient and matches our API better.

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setBackgroundColor):
(WebCore::LayerChromium::setDebugBorderColor):
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
(WebCore::LayerChromium::backgroundColor):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawDebugBorderQuad):
(WebCore::LayerRendererChromium::drawSolidColorQuad):
* platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp:
(WebCore::CCDebugBorderDrawQuad::create):
(WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):
* platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h:
(CCDebugBorderDrawQuad):
(WebCore::CCDebugBorderDrawQuad::color):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::setBackgroundColor):
(WebCore::CCLayerImpl::setDebugBorderColor):
(WebCore::CCLayerImpl::hasDebugBorders):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(CCLayerImpl):
(WebCore::CCLayerImpl::backgroundColor):
(WebCore::CCLayerImpl::debugBorderColor):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::setBackgroundColor):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore::CCLayerTreeHostImpl::backgroundColor):
(WebCore::CCLayerTreeHostImpl::setBackgroundColor):
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::appendQuadInternal):
* platform/graphics/chromium/cc/CCRenderPass.cpp:
(WebCore::CCRenderPass::appendQuadsToFillScreen):
* platform/graphics/chromium/cc/CCRenderPass.h:
(WebCore):
(CCRenderPass):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::appendQuads):
* platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
(WebCore::CCSolidColorDrawQuad::create):
(WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
* platform/graphics/chromium/cc/CCSolidColorDrawQuad.h:
(CCSolidColorDrawQuad):
(WebCore::CCSolidColorDrawQuad::color):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::appendQuads):

Source/WebKit/chromium:

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setBackgroundColor):
* tests/CCLayerImplTest.cpp:
(WebCore::TEST):
* tests/CCLayerTreeHostImplTest.cpp:
* tests/CCSolidColorLayerImplTest.cpp:
(CCLayerTestCommon::TEST):
* tests/LayerChromiumTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Improve keyboardEvent() so a web page could receive a DOM3 spec compliant keyboard event.
https://bugs.webkit.org/show_bug.cgi?id=89637

Patch by Yusuke Sato <yusukes@chromium.org> on 2012-06-27
Reviewed by Tony Chang.

This is a Gtk port of http://crrev.com/142209.

Normalizes event->state to make it Windows/Mac compatible. Since the
way of setting modifier mask on X is very different than Windows/Mac
as shown in http://crbug.com/127142#c8, the normalization is necessary.

* src/gtk/WebInputEventFactory.cpp:
(WebKit):
(WebKit::normalizeEventState):
(WebKit::WebInputEventFactory::keyboardEvent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit: [EFL] Add support for Unit Tests, based on the gtest library.
https://bugs.webkit.org/show_bug.cgi?id=68509

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-06-27
Reviewed by Chang Shu.

Add configuration for building gtest library, testing framework and unit tests.

* PlatformEfl.cmake:

Source/WebKit/efl: [EFL] Implementation of testing framework and unit tests for WebKit-EFL port.
https://bugs.webkit.org/show_bug.cgi?id=68509

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-06-27
Reviewed by Chang Shu.

Testing framework is based on gtest library. Gtest library is part of the WebKit project. Framework is devided into base part and view part.
Base part takes care of efl initialization, defines test macros and prepares test to run. View part is a context of each test.

* tests/UnitTestUtils/EWKTestBase.cpp: Added.
(EWKUnitTests):
(EWKUnitTests::EWKTestBase::init):
(EWKUnitTests::EWKTestBase::shutdown):
(EWKUnitTests::EWKTestBase::shutdownAll):
(EWKUnitTests::EWKTestBase::startTest):
(EWKUnitTests::EWKTestBase::endTest):
(EWKUnitTests::EWKTestBase::createTest):
(EWKUnitTests::EWKTestBase::runTest):
* tests/UnitTestUtils/EWKTestBase.h: Added.
(EWKUnitTests):
(EWKTestBase):
* tests/UnitTestUtils/EWKTestConfig.h: Added.
(Config):
* tests/UnitTestUtils/EWKTestView.cpp: Added.
(EWKUnitTests):
(EWKUnitTests::EWKTestEcoreEvas::EWKTestEcoreEvas):
(EWKUnitTests::EWKTestEcoreEvas::evas):
(EWKUnitTests::EWKTestEcoreEvas::show):
(EWKUnitTests::EWKTestView::EWKTestView):
(EWKUnitTests::EWKTestView::init):
(EWKUnitTests::EWKTestView::show):
(EWKUnitTests::EWKTestView::mainFrame):
(EWKUnitTests::EWKTestView::evas):
(EWKUnitTests::EWKTestView::bindEvents):
* tests/UnitTestUtils/EWKTestView.h: Added.
(EWKUnitTests):
(EWKTestEcoreEvas):
(EWKTestView):
(EWKUnitTests::EWKTestView::webView):
* tests/resources/default_test_page.html: Added.
* tests/test_ewk_view.cpp: Added.
(ewkViewEditableGetCb):
(TEST):
(ewkViewUriGetCb):
* tests/test_runner.cpp: Added.
(parseCustomArguments):
(main):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121398 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Selection overlay can become visible after it has been hidden
https://bugs.webkit.org/show_bug.cgi?id=90105

Patch by Andrew Lo <anlo@rim.com> on 2012-06-27
Reviewed by George Staikos.

When SelectionOverlay::hide is called from UI thread,
rather than setting the override opacity, dispatch to the
WebKit thread, which removes the overlay (normal case).

Internal PR164183.
Internally Reviewed by: Arvid Nilsson.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
(BlackBerry::WebKit::WebPage::selectionOverlay):
* Api/WebPage_p.h:
(WebPagePrivate):
* Api/WebSelectionOverlay.h:
* WebKitSupport/SelectionOverlay.cpp:
(BlackBerry::WebKit::SelectionOverlay::SelectionOverlay):
(BlackBerry::WebKit::SelectionOverlay::hide):
* WebKitSupport/SelectionOverlay.h:
(BlackBerry::WebKit::SelectionOverlay::create):
(SelectionOverlay):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
pattern="" should only accept the empty string
https://bugs.webkit.org/show_bug.cgi?id=89569

Patch by Pablo Flouret <pablof@motorola.com> on 2012-06-27
Reviewed by Kent Tamura.

Source/WebCore:

An empty pattern attribute was being treated essentially as if the
pattern wasn't present.

No new tests. Covered by existing tests (plus a modified one).

* html/BaseTextInputType.cpp:
(WebCore::BaseTextInputType::patternMismatch):
    Check if the pattern attribute is present. If it is then use the
    pattern as is (in the particular case of this bug, an empty pattern
    will only match an empty value).

LayoutTests:

* fast/forms/ValidityState-patternMismatch-expected.txt:
* fast/forms/ValidityState-patternMismatch.html:
    Modified the test to check the results of an empty pattern both with an empty
    value, and with some value specified.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121401 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WinCairo] Unreviewed build correction.  Resync feature defines with
Apple port. Things have drifted apart a little.

* win/tools/vsprops/FeatureDefinesCairo.vsprops: Update to match
Apple port, define some missing features.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121402 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add OVERRIDE to functions in UnthrottledTextureUploader class
https://bugs.webkit.org/show_bug.cgi?id=90130

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-06-27
Reviewed by James Robinson.

No new tests required.

* platform/graphics/chromium/LayerRendererChromium.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Platform] Implement localizedDecimalSeparator function
https://bugs.webkit.org/show_bug.cgi?id=90036

Reviewed by Kent Tamura.

Source/WebCore:

This patch introduces new function localizedDecimalSeparator() when
ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS). It will be used for
displaying millisecond for time fields UI.

Test: WebKit/chromium/tests/LocalizedNumberICUTest.cpp

* platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::localizedDecimalSeparator): Added
* platform/text/LocaleICU.h:
(LocaleICU): Added localizedDecimalSeparator.
* platform/text/LocalizedNumber.h:
* platform/text/LocalizedNumberICU.cpp:
(WebCore::localizedDecimalSeparator): Added.
* platform/text/LocalizedNumberNone.cpp:
(WebCore::localizedDecimalSeparator): Added.
* platform/text/mac/LocalizedNumberMac.mm:
(WebCore::localizedDecimalSeparator): Added.

Source/WebKit/chromium:

This patch adds test case for localizedDecimalSeparator().

* tests/LocalizedNumberICUTest.cpp:
(testDecimalSeparator):
(TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121404 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Use WEBKIT_IMPLEMENTATION == 1 for webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=90094

Reviewed by James Robinson.

This patch adds the WEBKIT_IMPLEMENTATION = 1 define to
WebKitUnitTests.gyp. To get it to compile correctly, some string
and URL code was refactored and fixed.

* WebKit.gypi:
* WebKitUnitTests.gyp:
* public/WebDOMMessageEvent.h:
(WebKit::WebDOMMessageEvent::WebDOMMessageEvent):
* tests/AssociatedURLLoaderTest.cpp:
* tests/EventListenerTest.cpp:
* tests/FrameTestHelpers.cpp:
(WebKit::FrameTestHelpers::loadFrame):
* tests/FrameTestHelpers.h:
* tests/ListenerLeakTest.cpp:
(WebKit::ListenerLeakTest::RunTest):
* tests/PopupMenuTest.cpp:
* tests/RunAllTests.cpp:
* tests/URLTestHelpers.cpp: Added.
(URLTestHelpers):
(WebKit::URLTestHelpers::registerMockedURLFromBaseURL):
(WebKit::URLTestHelpers::registerMockedURLLoad):
* tests/URLTestHelpers.h: Copied from Source/WebKit/chromium/public/WebDOMMessageEvent.h.
(WebKit):
(URLTestHelpers):
(WebKit::URLTestHelpers::toKURL):
* tests/WebFrameTest.cpp:
* tests/WebPageNewSerializerTest.cpp:
* tests/WebPageSerializerTest.cpp:
* tests/WebViewTest.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r121363, r121367, r121384, and
r121390.
http://trac.webkit.org/changeset/121363
http://trac.webkit.org/changeset/121367
http://trac.webkit.org/changeset/121384
http://trac.webkit.org/changeset/121390
https://bugs.webkit.org/show_bug.cgi?id=90134

It broke debug NRWT on GTK and on Qt (Requested by Ossy_NIGHT
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-27

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort):
(ChromiumPort.__init__):
(ChromiumPort._check_file_exists):
(ChromiumPort.default_results_directory):
(ChromiumPort._driver_class):
(ChromiumPort._build_path):
(ChromiumPort._path_to_image_diff):
* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort.baseline_search_path):
* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort.baseline_search_path):
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumPortTest):
* Scripts/webkitpy/layout_tests/port/chromium_win.py:
(ChromiumWinPort.baseline_search_path):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort.__init__):
(WebKitPort._webcore_symbols_string):
(WebKitPort._skipped_tests_for_unsupported_features):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(TestWebKitPort._webcore_symbols_string):
(WebKitPortUnitTests.test_default_options):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WinCairo] Unreviewed build correction.  Accidentally turned on
CSS_FILTERS, which is not available in tree.

* win/tools/vsprops/FeatureDefinesCairo.vsprops: Turn CSS_FILTERS
back off for WinCairo target.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121407 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r121405.
http://trac.webkit.org/changeset/121405
https://bugs.webkit.org/show_bug.cgi?id=90135

broke windows build (Requested by shawnsingh_ on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-27

* WebKit.gypi:
* WebKitUnitTests.gyp:
* public/WebDOMMessageEvent.h:
* tests/AssociatedURLLoaderTest.cpp:
(WebKit::AssociatedURLLoaderTest::AssociatedURLLoaderTest):
(WebKit::AssociatedURLLoaderTest::SetUp):
(WebKit::AssociatedURLLoaderTest::CheckMethodFails):
(WebKit::AssociatedURLLoaderTest::CheckHeaderFails):
(WebKit::AssociatedURLLoaderTest::CheckAccessControlHeaders):
(WebKit::TEST_F):
* tests/EventListenerTest.cpp:
* tests/FrameTestHelpers.cpp:
(WebKit::FrameTestHelpers::registerMockedURLLoad):
(FrameTestHelpers):
(WebKit::FrameTestHelpers::loadFrame):
* tests/FrameTestHelpers.h:
(FrameTestHelpers):
* tests/ListenerLeakTest.cpp:
(WebKit::ListenerLeakTest::RunTest):
* tests/PopupMenuTest.cpp:
(WebKit::SelectPopupMenuTest::registerMockedURLLoad):
(WebKit::SelectPopupMenuTest::loadFrame):
* tests/RunAllTests.cpp:
* tests/URLTestHelpers.cpp: Removed.
* tests/URLTestHelpers.h: Removed.
* tests/WebFrameTest.cpp:
(WebKit::WebFrameTest::registerMockedHttpURLLoad):
(WebKit::WebFrameTest::registerMockedChromeURLLoad):
(WebKit::TEST_F):
* tests/WebPageNewSerializerTest.cpp:
(WebKit::WebPageNewSerializeTest::registerMockedURLLoad):
(WebPageNewSerializeTest):
(WebKit::WebPageNewSerializeTest::setUpCSSTestPage):
(WebKit::WebPageNewSerializeTest::loadURLInTopFrame):
(WebKit::WebPageNewSerializeTest::resourceVectorContains):
(WebKit::TEST_F):
* tests/WebPageSerializerTest.cpp:
(WebKit::WebPageSerializerTest::registerMockedURLLoad):
(WebKit::WebPageSerializerTest::loadURLInTopFrame):
(WebKit::WebPageSerializerTest::webVectorContains):
(WebKit::TEST_F):
* tests/WebViewTest.cpp:
(WebKit::TEST_F):
(WebKit::WebViewTest::testAutoResize):
(WebKit::WebViewTest::testTextInputType):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121408 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r121398.
http://trac.webkit.org/changeset/121398
https://bugs.webkit.org/show_bug.cgi?id=90136

broke efl build (Requested by ryuan on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-27

Source/WebKit:

* PlatformEfl.cmake:

Source/WebKit/efl:

* tests/UnitTestUtils/EWKTestBase.cpp: Removed.
* tests/UnitTestUtils/EWKTestBase.h: Removed.
* tests/UnitTestUtils/EWKTestConfig.h: Removed.
* tests/UnitTestUtils/EWKTestView.cpp: Removed.
* tests/UnitTestUtils/EWKTestView.h: Removed.
* tests/resources/default_test_page.html: Removed.
* tests/test_ewk_view.cpp: Removed.
* tests/test_runner.cpp: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121409 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] 0-length response with no content-type shouldn't download
https://bugs.webkit.org/show_bug.cgi?id=89860

Reviewed by Rob Buis.

RIM PR# 168419

For 0-length response, if we can't get its mimetype from the filename,
we set the mimetype to "text/plain" instead of "application/octet-stream",
so it won't go to download.

Reviewed internally by Charles Wei.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::sendResponseIfNeeded):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Fix the build without TEXTURE_MAPPER_GL.

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121411 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Performance: Optimize Dromaeo/dom-query.html by caching NodeRareData on Document
https://bugs.webkit.org/show_bug.cgi?id=90059

Reviewed by Ryosuke Niwa.

This patch improves performance of document.getElementsBy*().
e.g. the patch makes Dromaeo/dom-query.html 5.4% faster.

Dromaeo/dom-query.html without the patch (Chromium/Linux):
784714 runs/s, 765947 runs/s, 803109 runs/s, 804450 runs/s

Dromaeo/dom-query.html with the patch (Chromium/Linux):
839245 runs/s, 829867 runs/s, 811032 runs/s, 847486 runs/s

Based on the assumption that document.getElementsByClassName(),
document.getElementsByTagName() and document.getElementsByName()
would be used frequently in the real world, this patch implements
a fast path for Document methods that require to access NodeRareData.
Specifically, this patch caches a pointer to NodeRareData on Document,
by which Document can access NodeRareData without looking up a HashMap.

The only performance concern is the overhead of the isDocumentNode() check
that this patch added to Node::ensureRareData. However, I could not
observe any performance regression caused by the overhead.

No tests. No change in behavior.

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setCachedRareData): I didn't inline this method,
since the inlining slightly regressed performance for some reason.
(WebCore):
* dom/Document.h:
(WebCore):
(WebCore::Document::cachedRareData):
(Document):
(~Document): Moved 'm_document = 0' to the tail of the destructor,
since isDocumentNode() has to return true in clearRareData() that is called
in ~Document().
* dom/Node.cpp:
(WebCore::Node::ensureRareData):
(~Node): Moved the assertion into clearRareData().


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening, adding a crash expectation for the
fast/workers/worker-context-gc.html test that started crashing after r121395.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121413 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening, skip a new test to hide an annoying bug
https://bugs.webkit.org/show_bug.cgi?id=87680 (and paint the bot green)

* platform/qt/Skipped:

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