WTF project files and property sheets for getting WebKit to compile in VS2010.
https://bugs.webkit.org/show_bug.cgi?id=106986

Reviewed by Timothy Horton and Brent Fulgham.

* WTF.vcproj/WTF.sln:
* WTF.vcxproj: Added.
* WTF.vcxproj/WTF.vcxproj: Added.
* WTF.vcxproj/WTF.vcxproj.filters: Added.
* WTF.vcxproj/WTF.vcxproj.user: Added.
* WTF.vcxproj/WTFCommon.props: Added.
* WTF.vcxproj/WTFDebug.props: Added.
* WTF.vcxproj/WTFGenerated.make: Added.
* WTF.vcxproj/WTFGenerated.vcxproj: Added.
* WTF.vcxproj/WTFGenerated.vcxproj.filters: Added.
* WTF.vcxproj/WTFGenerated.vcxproj.user: Added.
* WTF.vcxproj/WTFGeneratedCommon.props: Added.
* WTF.vcxproj/WTFGeneratedDebug.props: Added.
* WTF.vcxproj/WTFGeneratedRelease.props: Added.
* WTF.vcxproj/WTFPostBuild.cmd: Added.
* WTF.vcxproj/WTFPreBuild.cmd: Added.
* WTF.vcxproj/WTFPreLink.cmd: Added.
* WTF.vcxproj/WTFRelease.props: Added.
* WTF.vcxproj/build-generated-files.sh: Added.
* WTF.vcxproj/copy-files.cmd: Added.
* WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py: Added.
* config.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Assertion parent->inDocument() failed in WebCore::PseudoElement::PseudoElement
https://bugs.webkit.org/show_bug.cgi?id=106224

Reviewed by Ojan Vafai.

Appending a node that contains a <style> and also elements that should have
generated content can cause us to create PseudoElements in nodes that are not
yet inDocument because we may recalcStyle in HTMLStyleElement::insertedInto
triggering a reattach() which could then traverse into the siblings of the
<style> attaching them even though they are not yet inDocument.

This means that we should not assert about the parent of a PseudoElement
being inDocument as this is not always the case.

Instead forward Node::insertedInto and removedFrom notifications to
PseudoElements so they will correctly get their inDocument bit set. Nothing
in the code appears to depend on them being inDocument we just make sure to
set it so they're consistent with the rest of the document.

No new tests, there's no way to test that PseudoElements are really inDocument.

* dom/Element.cpp:
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::PseudoElement):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make CompactHTMLToken a little more compact
https://bugs.webkit.org/show_bug.cgi?id=107317

Reviewed by Darin Adler.

Reduce the size of CompactHTMLToken by two pointers.
The abuse of the attribute vector to store the DOCTYPE strings
is kinda lame, but makes a lot of sense given how rare DOCTYPE tokens are.

The resulting CompactHTMLToken vector should be a smaller malloc and thus faster.
However I saw no perf change on html-parser-srcdoc.html.

* html/parser/CompactHTMLToken.cpp:
(SameSizeAsCompactHTMLToken):
(WebCore):
(WebCore::CompactHTMLToken::CompactHTMLToken):
(WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
* html/parser/CompactHTMLToken.h:
(WebCore::CompactHTMLToken::type):
(CompactHTMLToken):
(WebCore::CompactHTMLToken::publicIdentifier):
(WebCore::CompactHTMLToken::systemIdentifier):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix a race condition on SkBitmap::lockPixels()/unlockPixels() for lazy image decoding
https://bugs.webkit.org/show_bug.cgi?id=107404

Patch by Min Qin <qinmin@chromium.org> on 2013-01-22
Reviewed by Stephen White.

Skbitmap::lockPixels()/unlockPixels() are not threadsafe.
unlike SkPixelRef, these 2 calls are not protected by an internal mutex.
Bugfix, no behaviral change and hard to test as tests will be flaky.

* platform/graphics/chromium/ImageDecodingStore.cpp:
(WebCore::ImageDecodingStore::lockCache):
(WebCore::ImageDecodingStore::unlockCache):
(WebCore::ImageDecodingStore::insertAndLockCache):
(WebCore::ImageDecodingStore::overwriteAndLockCache):
* platform/graphics/chromium/ImageDecodingStore.h:
(ImageDecodingStore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
TRANSFORMATION_MATRIX_USE_X86_64_SSE2 broken for 64-bit Windows builds
https://bugs.webkit.org/show_bug.cgi?id=107498

Reviewed by James Robinson.

Enable TRANSFORMATION_MATRIX_USE_X86_64_SSE2 for 64-bit Windows.

No new tests. Covered by existing tests.

* platform/graphics/transforms/TransformationMatrix.h:
(WebCore):
(TransformationMatrix):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove uses of deprecated unittest.TestCase aliases
https://bugs.webkit.org/show_bug.cgi?id=102252

Reviewed by Adam Barth.

Replace the deprecated assertEquals method of the TestCase interface
used in some webkitpy unittests with the assertEqual method.

* Scripts/webkitpy/common/system/profiler_unittest.py:
(ProfilerFactoryTest._assert_default_profiler_name):
(ProfilerFactoryTest.test_default_profiler_output):
* Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
(GtkPortTest.test_expectations_files):
* Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
(TestHttpServer.test_win32_start_and_stop):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Remove dependency on IDBKey type from IDLs
https://bugs.webkit.org/show_bug.cgi?id=106912

Reviewed by Kentaro Hara.

This is a preamble to wkbug.com/97375 "Remove IDBKey from WebKitIDL"; IDBKey is
not a concept from the Indexed DB spec but a convenient internal type. It was
exposed in the IDL with custom binding code and special cases in the generator
to map from script values to the WebCore type. To remove those special cases
and match the WebIDL in the spec, the IDLs are changed to use "any" and the
implementations now take ScriptValues. This does mean that each call site must
call into IDBBindingUtilities to map from ScriptValue to IDBKey.

No new tests - just a refactor.

* Modules/indexeddb/IDBAny.cpp: Remove IDBKey as a variant type - just use ScriptValue.
* Modules/indexeddb/IDBAny.h:
(WebCore):
(IDBAny):
* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::continueFunction): Now takes any/ScriptValue.
(WebCore):
* Modules/indexeddb/IDBCursor.h:
(WebCore::IDBCursor::continueFunction):
(IDBCursor):
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::deleteFunction):
* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::cmp): Now takes any/ScriptValue.
* Modules/indexeddb/IDBFactory.h:
(IDBFactory):
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::openCursor): Now takes any/ScriptValue.
(WebCore::IDBIndex::count): Now takes any/ScriptValue.
(WebCore::IDBIndex::openKeyCursor): Now takes any/ScriptValue.
(WebCore::IDBIndex::get): Now takes any/ScriptValue.
(WebCore::IDBIndex::getKey): Now takes any/ScriptValue.
* Modules/indexeddb/IDBIndex.h:
(WebCore::IDBIndex::openCursor):
(IDBIndex):
(WebCore::IDBIndex::openKeyCursor):
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::create): Add helper for back-end creation of single-key ranges.
(WebCore):
(WebCore::IDBKeyRange::lowerValue): Impl. of new "any" type accessor exposed to script.
(WebCore::IDBKeyRange::upperValue): Ditto.
(WebCore::IDBKeyRange::only): Now takes any/ScriptValue.
(WebCore::IDBKeyRange::lowerBound): Now takes any/ScriptValue.
(WebCore::IDBKeyRange::upperBound): Now takes any/ScriptValue.
(WebCore::IDBKeyRange::bound): Now takes any/ScriptValue.
* Modules/indexeddb/IDBKeyRange.h:
(IDBKeyRange):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
* Modules/indexeddb/IDBKeyRange.idl:
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get): Now takes any/ScriptValue.
(WebCore::IDBObjectStore::add): Now takes any/ScriptValue.
(WebCore):
(WebCore::IDBObjectStore::put): Now takes any/ScriptValue.
(WebCore::IDBObjectStore::deleteFunction): Now takes any/ScriptValue.
(WebCore::IDBObjectStore::openCursor): Now takes any/ScriptValue.
(WebCore::IDBObjectStore::count): Now takes any/ScriptValue.
* Modules/indexeddb/IDBObjectStore.h:
(IDBObjectStore):
(WebCore::IDBObjectStore::openCursor):
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBRequest.cpp: Result IDBAny type is now ScriptValue.
(WebCore::IDBRequest::onSuccess):
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::scriptValueToIDBKey): The inverse of idbKeyToScriptValue().
(WebCore):
* bindings/js/IDBBindingUtilities.h:
(WebCore):
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::scriptValueToIDBKey): Ditto.
(WebCore):
* bindings/v8/IDBBindingUtilities.h:
(WebCore):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8): Remove IDBKey variant type.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Prettify the output of the override-feature-defines script
https://bugs.webkit.org/show_bug.cgi?id=106542

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-22
Reviewed by Martin Robinson.

The output now clearly lists the feature defines being overridden
along with the default and overriding values for each feature define.

* gtk/override-feature-defines:
(adjust_feature_defines_makefile):
(adjust_feature_defines_makefile.override_feature_define):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Enable the <template> element support in development builds
https://bugs.webkit.org/show_bug.cgi?id=106575

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-22
Reviewed by Martin Robinson.

Source/WebCore: 

Add a missing build target that contains the custom JS bindings.

No new tests - the related tests are being unskipped and mostly pass.

* GNUmakefile.list.am:

Tools: 

Enable the <template> element support in the development builds of the GTK port.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests: 

Remove the skip entry for the layout tests of the element.
Add a failure expectation for a flaky test that's being unskipped.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Enable CSS Image Orientation feature
https://bugs.webkit.org/show_bug.cgi?id=99040

Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-01-22
Reviewed by Martin Robinson.

Tools: 

Enable the CSS Image Orientation feature in the development
builds of the GTK port. The feature is still disabled in the release
builds.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests: 

Remove the general expectation, replacing it with a failure expectation
for the test that's failing due to whitespace problems in the cssText attribute
value after the image orientation attribute is set.

* platform/gtk/TestExpectations:


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