Remove PassTraits.h
https://bugs.webkit.org/show_bug.cgi?id=121805

Reviewed by Andreas Kling.

We no longer need PassTraits.h, get rid of it.

* GNUmakefile.list.am:
* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/PassTraits.h: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156298 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Delete TestWebKitAPI domain or some keys before running TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=121715 & <rdar://problem/14269434>

Patch by Benjamin Poulain <benjamin@webkit.org> on 2013-09-23
Reviewed by Alexey Proskuryakov.

Previously, initalizing a WebPreference would change the cache model
to WebCacheModelDocumentBrowser. That behavior was due to a stale
preference file on disk.

This patch fixes the tests by resetting the default, and using the proper
default values after initializing WebPreference.

* TestWebKitAPI/Tests/mac/SetAndUpdateCacheModel.mm:
(TestWebKitAPI::TEST): Use the proper initial value, unrelated
to the previous runs.

* TestWebKitAPI/Tests/mac/SetAndUpdateCacheModel.mm:
(TestWebKitAPI::TEST): This test needs b/f cache to be enabled, so change
cache model to the one required.

* TestWebKitAPI/ios/mainIOS.mm:
(main): Reset the preferences before testing.
* TestWebKitAPI/mac/mainMac.mm:
(main): Ditto.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Never use ReturnPC for exception handling and quit using exception check indices as a lame replica of the CodeOrigin index
https://bugs.webkit.org/show_bug.cgi?id=121734

Reviewed by Mark Hahnenberg.
        
Exception handling can deduce where the exception was thrown from by looking at the
code origin that was stored into the call frame header. There is no need to pass any
additional meta-data into the exception throwing logic. But the DFG was still doing it
anyway.
        
This removes all of the logic to pass extra meta-data into lookupExceptionHandler()
and friends. It simplifies a lot of code.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::shrinkToFit):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::codeOrigins):
(JSC::CodeBlock::hasCodeOrigins):
(JSC::CodeBlock::canGetCodeOrigin):
(JSC::CodeBlock::codeOrigin):
* bytecode/CodeOrigin.h:
(JSC::InlineCallFrame::InlineCallFrame):
* bytecode/InlineCallFrameSet.cpp: Added.
(JSC::InlineCallFrameSet::InlineCallFrameSet):
(JSC::InlineCallFrameSet::~InlineCallFrameSet):
(JSC::InlineCallFrameSet::add):
(JSC::InlineCallFrameSet::shrinkToFit):
* bytecode/InlineCallFrameSet.h: Added.
(JSC::InlineCallFrameSet::isEmpty):
(JSC::InlineCallFrameSet::size):
(JSC::InlineCallFrameSet::at):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGCommonData.cpp:
(JSC::DFG::CommonData::addCodeOrigin):
(JSC::DFG::CommonData::shrinkToFit):
* dfg/DFGCommonData.h:
* dfg/DFGDesiredWriteBarriers.cpp:
(JSC::DFG::DesiredWriteBarrier::DesiredWriteBarrier):
(JSC::DFG::DesiredWriteBarrier::trigger):
* dfg/DFGDesiredWriteBarriers.h:
(JSC::DFG::DesiredWriteBarriers::add):
(JSC::DFG::initializeLazyWriteBarrierForInlineCallFrameExecutable):
(JSC::DFG::initializeLazyWriteBarrierForInlineCallFrameCallee):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::Graph):
* dfg/DFGGraph.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::JITCompiler):
(JSC::DFG::JITCompiler::compileExceptionHandlers):
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::emitStoreCodeOrigin):
(JSC::DFG::JITCompiler::exceptionCheck):
(JSC::DFG::JITCompiler::fastExceptionCheck):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGRepatch.cpp:
(JSC::DFG::tryBuildGetByIDList):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheck):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):
(JSC::DFG::SpeculativeJIT::appendCall):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* dfg/DFGVirtualRegisterAllocationPhase.cpp:
(JSC::DFG::VirtualRegisterAllocationPhase::run):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::callPreflight):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitExceptionCheck):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156300 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r155998): when zooming in, tiles are too small
https://bugs.webkit.org/show_bug.cgi?id=121765

Source/WebCore:

Reviewed by Dean Jackson.

In r155998 I made GraphicsLayerCA take root-relative transforms
into account when computing contentsScale, and landed a bunch of
new results which should actually have told me that I broke page
scaling.

We don't want to take page scale into account when computing contentsScale,
because we already do so, so ignore the transform on the layer that
applies page scale (the only transform it should ever has is the page scale).

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateRootRelativeScale):

LayoutTests:

Reviewed by Dean Jackson.

Fix results of tests that showed that we had incorrect tiling
behavior on zooming.

* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156301 268f45cc-cd09-0410-ab3c-d52691b4dbfc
use NOMINMAX instead of #define min min
https://bugs.webkit.org/show_bug.cgi?id=73563

Reviewed by Brent Fulgham.

Use NOMINMAX instead of #define min/max as a cleaner
way of ensuring that Windows system header files don't
define min/max as macro in the first place.

Source/JavaScriptCore:

* config.h:

Source/WebCore:

* WebCorePrefix.h:
* config.h:

Source/WebKit/win:

* WebKitPrefix.h:

Source/WebKit2:

* config.h:

Source/WTF:

* config.h:

Tools:

* DumpRenderTree/DumpRenderTreePrefix.h:
* DumpRenderTree/cg/ImageDiffCG.cpp:
* DumpRenderTree/config.h:
* DumpRenderTree/win/ImageDiffCairo.cpp:
* WebKitTestRunner/WebKitTestRunnerPrefix.h:
* WebKitTestRunner/config.h:

WebKitLibraries:

* win/tools/vsprops/common.props:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156302 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WIN] Implement WebMutableURLRequest::setHTTPBody()
https://bugs.webkit.org/show_bug.cgi?id=91920

Reviewed by Brent Fulgham.

Source/WebCore:

Add a method to FormData for growing the internal buffer with a given size.

* platform/network/FormData.cpp:
(WebCore::FormData::appendData):
(WebCore::FormData::expandDataStore):
* platform/network/FormData.h:

Source/WebKit/win:

* WebMutableURLRequest.cpp:
(WebMutableURLRequest::setHTTPBody):
(WebMutableURLRequest::setHTTPBodyStream):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add hash traits for std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=121807

Reviewed by Antti Koivisto.

Also, convert the thread map over to using std::unique_ptr instead of OwnPtr.

* wtf/HashMap.h:
Remove unnecessary typedefs and add missing calls to std::forward.

* wtf/HashTraits.h:
Add hash trait for std::unique_ptr.

* wtf/RefPtrHashMap.h:
Use std::add_lvalue_reference.

* wtf/ThreadingPthreads.cpp:
(WTF::establishIdentifierForPthreadHandle):
Change ThreadMap to be a hash map from ThreadIdentifier to std::unique_ptr<PthreadState>.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156304 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ListHashSet::removeLast should only remove one element.

* wtf/ListHashSet.h:
(WTF::ListHashSet::removeLast):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156305 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WIN] Add implementation for WebCore::readFromFile()
https://bugs.webkit.org/show_bug.cgi?id=119210

Reviewed by Brent Fulgham.

* platform/win/FileSystemWin.cpp:
(WebCore::readFromFile):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Test the waters and begin using lambdas
https://bugs.webkit.org/show_bug.cgi?id=121809

Reviewed by Andreas Kling.

Source/WebCore:

Use lambdas instead of static functions and function objects.

* css/MediaQuery.cpp:
(WebCore::MediaQuery::MediaQuery):
* dom/MutationObserver.cpp:
(WebCore::MutationObserver::deliverAllMutations):
* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::sortedTrackListForMenu):

Source/WTF:

* wtf/ListDump.h:
(WTF::sortedListDump):
Use std::less instead of a custom lessThan function.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderObject::container() should return a RenderElement*.
<https://webkit.org/b/121811>

Reviewed by Antti Koivisto.

The containing renderer is always a RenderElement.


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