More Windows test cleanup.

Update the Skipped list and tests for features turned on/off on Windows.

* platform/win/Skipped:
* platform/win/fast/dom/constructed-objects-prototypes-expected.txt: Added.
* platform/win/fast/js/global-constructors-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed WinCE build fix after r117470.

* WebCoreSupport/EditorClientWinCE.h:
(EditorClientWinCE):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118927 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Win] REGRESSION(r118018) fast/js/names.html failing due to JavaScriptExperiments not being
enabled on Windows
https://bugs.webkit.org/show_bug.cgi?id=87858

Skip the test on Windows to get the bots greener.

* platform/win/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed WinCE build fix after r115926.

* WebView.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, removed some tests from the test_expectations file as
they have been regularly passing in the 3 GTK bots for some time.

* platform/gtk/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Build fix for !ENABLE(JIT) after r117823.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG CFA should infer types and values of captured variables
https://bugs.webkit.org/show_bug.cgi?id=87813

Reviewed by Gavin Barraclough.
        
Slight speed-up in V8/earley-boyer (~1%).

* bytecode/CodeBlock.h:
(JSC::CodeBlock::argumentsAreCaptured):
(JSC::CodeBlock::argumentIsCaptured):
(CodeBlock):
* dfg/DFGAbstractState.cpp:
(DFG):
(JSC::DFG::AbstractState::beginBasicBlock):
(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::endBasicBlock):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::clobberWorld):
(JSC::DFG::AbstractState::clobberStructures):
(JSC::DFG::AbstractState::mergeStateAtTail):
(JSC::DFG::AbstractState::merge):
(JSC::DFG::AbstractState::mergeToSuccessors):
* dfg/DFGAbstractState.h:
(JSC::DFG::AbstractState::variables):
(AbstractState):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][DRT] http/tests/navigation/new-window-redirect-history.html does not pass
https://bugs.webkit.org/show_bug.cgi?id=87848

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-30
Reviewed by Csaba Osztrogonác.

Tools:

The reason was that DumpRenderTreeChrome::extraViews() returned copy of the vector
and dumpBackForwardListForWebViews() used iterators belonging actually to different vectors
(browser->extraViews().begin() and browser->extraViews().end()) as if they had belonged to the same vector.

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::extraViews):
* DumpRenderTree/efl/DumpRenderTreeChrome.h:
(DumpRenderTreeChrome):

LayoutTests:

* platform/efl/Skipped: Unskipped http/tests/navigation/new-window-redirect-history.html.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
HashTable.h has using directives for std::pair and std::make_pair
https://bugs.webkit.org/show_bug.cgi?id=29919

Reviewed by Darin Adler.

Source/WebCore:

Change code to use std::pair and std::make_pair.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::postNotification):
* html/MediaFragmentURIParser.cpp:
(WebCore::MediaFragmentURIParser::parseFragments):
* html/parser/HTMLMetaCharsetParser.cpp:
(WebCore::HTMLMetaCharsetParser::processMeta):
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::brokenImage):
* page/PageSerializer.cpp:
(WebCore::isCharsetSpecifyingNode):

Source/WebKit2:

Change code to use std::pair and std::make_pair.

* UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
(WebKit::DynamicLinkerEnvironmentExtractor::processEnvironmentVariable):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::postMessageToInjectedBundle):

Source/WTF:

Change code to use std::pair and std::make_pair. Later patch will remove the
'using' directives.

* wtf/HashTable.h:
(WTF::hashTableSwap):
(HashTable):
* wtf/HashTraits.h:
(PairHashTraits):
(WTF::PairHashTraits::emptyValue):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
mathml/presentation/mo-stretch.html and mroot-pref-width.html tests fail on Mac
https://bugs.webkit.org/show_bug.cgi?id=86786

The test result files below contain slightly improved metrics (usually by a single
pixel) and some other very minor (visually undetectable) pixel changes. To be honest,
I'm not sure what caused all these changes, since a lot of mathml tests have been
skipped or failing for a while. The small metric improvements were not caused by changes
in mathml code - perhaps LayoutUnit rounding or other 1-pixel corrections in logical
width code? At any rate, I'd like to rebaseline these tests, and unskip them and other
mathml tests.

Unreviewed rebaselining/gardening.

* platform/mac-lion/Skipped:
* platform/mac/Skipped:
* platform/mac/mathml/presentation/attributes-expected.png:
* platform/mac/mathml/presentation/fenced-mi-expected.png:
* platform/mac/mathml/presentation/fractions-expected.png:
* platform/mac/mathml/presentation/fractions-expected.txt:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt:
* platform/mac/mathml/presentation/mo-stretch-expected.png:
* platform/mac/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/mathml/presentation/roots-expected.png:
* platform/mac/mathml/presentation/subsup-expected.png:
* platform/mac/mathml/presentation/subsup-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Updating test expectations (css3/filters/custom-filter-property-computed-style,
fast/frames/cached-frame-counter).

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit2: Implement layoutTestController.setPluginsEnabled() in WebKitTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=58593

Source/WebKit2:

Adds the ability to change the pluginsEnabled flag in WebCore::Settings
to WebKitTestRunner's LayoutTestController. The flag is modified via the
public C API of the WebProcess.

Patch by Marcelo Lira <marcelo.lira@openbossa.org> on 2012-05-30
Reviewed by Darin Adler.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetPluginsEnabled):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPluginsEnabled): Calls the setPluginsEnabled
method for the WebCore::Settings of each WebCore::Page in the current
page group.
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):

Tools:

Adds the ability to change the pluginsEnabled flag in WebCore::Settings
to WebKitTestRunner's LayoutTestController. The flag is modified via the
public C API of the WebProcess.

Patch by Marcelo Lira <marcelo.lira@openbossa.org> on 2012-05-30
Reviewed by Darin Adler.

* WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
(WTR::LayoutTestController::setPluginsEnabled): Just calls the
WKBundleSetPluginsEnabled function in the public C API of WebProcess.
* WebKitTestRunner/InjectedBundle/LayoutTestController.h:

LayoutTests:

Unskip passing tests.

Patch by Marcelo Lira <marcelo.lira@openbossa.org> on 2012-05-30
Reviewed by Darin Adler.

* platform/wk2/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Chromium test expectations update.

tex-image-with-format-and-type.html
tex-image-with-format-and-type.html
formaction-attribute.html
terminate-during-sync-operation.html

* platform/chromium/test_expectations.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
mathml/presentation/mo-stretch.html and mroot-pref-width.html tests fail on Mac
https://bugs.webkit.org/show_bug.cgi?id=86786

Somehow these weren't included in r118935.

Unreviewed gardening.

* platform/mac-lion/Skipped:
* platform/mac/Skipped:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        * fast/files/read-blob-async-expected.txt: Updating results to what Mac WK1 bot sees
        (two additional "result: null" lines).



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: eventSender.beginDragWithFiles should be implemented in Windows, which blocked drag and drop related tests.
https://bugs.webkit.org/show_bug.cgi?id=86296

Patch by Xueqing Huang <huangxueqing@baidu.com> on 2012-05-30
Reviewed by Tony Chang.

Test: This change was requirement for eventSender.beginDragWithFiles, update win/Skipped file to remove drag and drop related tests will valiate it.

* platform/win/DragDataWin.cpp:
(WebCore::DragData::numberOfFiles):

Tools: eventSender.beginDragWithFiles should be implemented in Windows, which blocked drag and drop related tests.
https://bugs.webkit.org/show_bug.cgi?id=86296

Patch by Xueqing Huang <huangxueqing@baidu.com> on 2012-05-30
Reviewed by Tony Chang.

* DumpRenderTree/win/DRTDataObject.cpp: Added.
(cfHDropFormat):
(cfFileNameWFormat):
(cfUrlWFormat):
(WCEnumFormatEtc):
(WCEnumFormatEtc::WCEnumFormatEtc):
(WCEnumFormatEtc::QueryInterface):
(WCEnumFormatEtc::AddRef):
(WCEnumFormatEtc::Release):
(WCEnumFormatEtc::Next):
(WCEnumFormatEtc::Skip):
(WCEnumFormatEtc::Reset):
(WCEnumFormatEtc::Clone):
(DRTDataObject::createInstance):
(DRTDataObject::DRTDataObject):
(DRTDataObject::~DRTDataObject):
(DRTDataObject::QueryInterface):
(DRTDataObject::AddRef):
(DRTDataObject::Release):
(DRTDataObject::GetData):
(DRTDataObject::GetDataHere):
(DRTDataObject::QueryGetData):
(DRTDataObject::GetCanonicalFormatEtc):
(DRTDataObject::SetData):
(DRTDataObject::CopyMedium):
(DRTDataObject::EnumFormatEtc):
(DRTDataObject::DAdvise):
(DRTDataObject::DUnadvise):
(DRTDataObject::EnumDAdvise):
(DRTDataObject::clearData):
* DumpRenderTree/win/DRTDataObject.h: Added.
(DRTDataObject):
* DumpRenderTree/win/DRTDropSource.cpp: Added.
(DRTDropSource::DRTDropSource):
(DRTDropSource::~DRTDropSource):
(DRTDropSource::QueryInterface):
(DRTDropSource::AddRef):
(DRTDropSource::Release):
(DRTDropSource::createInstance):
(DRTDropSource::QueryContinueDrag):
(DRTDropSource::GiveFeedback):
* DumpRenderTree/win/DRTDropSource.h: Added.
(DRTDropSource):
* DumpRenderTree/win/DumpRenderTree.vcproj:
* DumpRenderTree/win/EventSender.cpp:
(beginDragWithFilesCallback):

LayoutTests: The tests listed in win/Skipped should be removed after this change, but some of these need to rebaseline in Windows, we do that in bug#87610.
https://bugs.webkit.org/show_bug.cgi?id=86296

Patch by Xueqing Huang <huangxueqing@baidu.com> on 2012-05-30
Reviewed by Tony Chang.

* platform/win/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Factor DeferrableOneShotTimer out of GraphicsContextCG/GeneratorGeneratedImage
https://bugs.webkit.org/show_bug.cgi?id=87824

Reviewed by Simon Fraser.

DeferrableOneShotTimer is a timer which takes a class and method to call (as Timer does),
and a delay. It exposes restart(), stop(), and isActive(), and none of the rest of
the TimerBase interface. On restart(), the timer is started with the given delay,
unless it's already running, in which case a flag is set to automatically restart
the timer when it fires instead of calling the given method. This provides a
low-overhead way to implement a deferrable timer.

No new tests, refactoring.

* platform/Timer.h:
(DeferrableOneShotTimer):
(WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer): New class.
(WebCore::DeferrableOneShotTimer::restart):
(WebCore::DeferrableOneShotTimer::fired):
* platform/graphics/GeneratorGeneratedImage.cpp:
(WebCore::GeneratorGeneratedImage::invalidateCacheTimerFired):
* platform/graphics/GeneratorGeneratedImage.h:
(WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage): Make use of DeferrableOneShotTimer.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::SubimageCacheWithTimer::SubimageCacheWithTimer): Make use of DeferrableOneShotTimer.
(WebCore::SubimageCacheWithTimer::invalidateCacheTimerFired):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Chromium test expectations for fast/layers/scroll-with-transform-composited-layer.html

* platform/chromium/test_expectations.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Clean up V8LazyEventListener to use one less function call
https://bugs.webkit.org/show_bug.cgi?id=87785

Reviewed by Kentaro Hara.

Instead of relying on 'arguments' we rely on 'this'. 'this' cannot be intercepted by a
with-statement so it is safe to use that to bind the context objects. This allows us to
remove one layer of function indirection in the generated code.

Source/WebCore:

Covered by existing tests.

* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::prepareListenerObject):

LayoutTests:

* platform/chromium-win/inspector/debugger/debugger-scripts-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
comparePositions in htmlediting should consider nested Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=87623

Reviewed by Ryosuke Niwa.

Source/WebCore:

comparePositions in htmlediting.cpp didn't consider nested Shadow DOM.
This patch makes it possible to compare the nodes in nested Shadow DOM.

The algorithm is: we calculate the common tree scope of node A and B, and
adjust the nodes to the treeScope, then compare them. If the adjusted nodes
are the same, we check the shadow descendent of each node.

Test: editing/shadow/compare-positions-in-nested-shadow.html

* dom/TreeScope.cpp:
(WebCore::listTreeScopes):
(WebCore):
(WebCore::commonTreeScope):
* dom/TreeScope.h:
(WebCore):
* editing/htmlediting.cpp:
(WebCore::comparePositions):

LayoutTests:

* editing/shadow/compare-positions-in-nested-shadow-expected.txt: Added.
* editing/shadow/compare-positions-in-nested-shadow.html: Added.


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