Add ObjcRuntimeExtras.h to the Xcode project file
https://bugs.webkit.org/show_bug.cgi?id=96419

Reviewed by Alexey Proskuryakov.

* WTF.xcodeproj/project.pbxproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] 8% regression in dom_perf
https://bugs.webkit.org/show_bug.cgi?id=96433

Patch by Adam Barth <abarth@chromium.org> on 2012-09-11
Reviewed by Kentaro Hara.

This code used to have a fast path to find the V8PerContextData for DOM
nodes. I tried a bunch of variations, but nothing I can come up with is
as fast as the old fast path, so I've added back the fast path.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateToV8Converters):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/V8DOMWrapper.h:
(V8DOMWrapper):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update ICU header files to more recent version
https://bugs.webkit.org/show_bug.cgi?id=96422

Reviewed by Geoff Garen.

Updated ICU header files to 4.6.1.  Modifications made as part of the merge are:
platform.h - Changed ifndef / define / endif for U_HAVE_UINT8_T, U_HAVE_UINT16_T, U_HAVE_UINT32_T,
    U_HAVE_UINT64_T, U_IS_BIG_ENDIAN and U_ENABLE_TRACING to match the existing platform.h
putil.h (line 132) - Changes defined(U_WINDOWS) to defined(WIN32) || defined(OS2) to match existing putil.h
ustring.h (line 945) - Wrapped macro argument cs with { (const UChar *)cs } to match existing ustring.h
utypes.h (line 545) - Changed defined(U_WINDOWS) to defined(WIN32) to match existing utypes.h

Source/JavaScriptCore: 

* icu/unicode/localpointer.h: Added.
* icu/unicode/parseerr.h:
* icu/unicode/platform.h:
* icu/unicode/putil.h:
* icu/unicode/uchar.h:
* icu/unicode/ucnv.h:
* icu/unicode/ucnv_err.h:
* icu/unicode/ucol.h:
* icu/unicode/uconfig.h:
* icu/unicode/uenum.h:
* icu/unicode/uiter.h:
* icu/unicode/uloc.h:
* icu/unicode/umachine.h:
* icu/unicode/unorm.h:
* icu/unicode/urename.h:
* icu/unicode/uscript.h:
* icu/unicode/uset.h:
* icu/unicode/ustring.h:
* icu/unicode/utf.h:
* icu/unicode/utf16.h:
* icu/unicode/utf8.h:
* icu/unicode/utypes.h:
* icu/unicode/uvernum.h: Added.
* icu/unicode/uversion.h:

Source/WebCore: 

Updated include files without any function change so no new tests.

* icu/unicode/localpointer.h: Added.
* icu/unicode/parseerr.h:
* icu/unicode/platform.h:
* icu/unicode/putil.h:
* icu/unicode/ubrk.h:
* icu/unicode/uchar.h:
* icu/unicode/ucnv.h:
* icu/unicode/ucnv_err.h:
* icu/unicode/ucol.h:
* icu/unicode/ucoleitr.h:
* icu/unicode/uconfig.h:
* icu/unicode/ucsdet.h:
* icu/unicode/uenum.h:
* icu/unicode/uidna.h:
* icu/unicode/uiter.h:
* icu/unicode/uloc.h:
* icu/unicode/umachine.h:
* icu/unicode/unorm.h:
* icu/unicode/urename.h:
* icu/unicode/uscript.h:
* icu/unicode/usearch.h:
* icu/unicode/uset.h:
* icu/unicode/ushape.h:
* icu/unicode/ustring.h:
* icu/unicode/utext.h: Added.
* icu/unicode/utf.h:
* icu/unicode/utf16.h:
* icu/unicode/utf8.h:
* icu/unicode/utypes.h:
* icu/unicode/uvernum.h: Added.
* icu/unicode/uversion.h:

Source/WebKit/mac: 

* icu/unicode/localpointer.h: Added.
* icu/unicode/parseerr.h:
* icu/unicode/platform.h:
* icu/unicode/putil.h:
* icu/unicode/uchar.h:
* icu/unicode/uconfig.h:
* icu/unicode/uidna.h:
* icu/unicode/uiter.h:
* icu/unicode/umachine.h:
* icu/unicode/unorm.h:
* icu/unicode/urename.h:
* icu/unicode/uscript.h:
* icu/unicode/ustring.h:
* icu/unicode/utf.h:
* icu/unicode/utf16.h:
* icu/unicode/utf8.h:
* icu/unicode/utypes.h:
* icu/unicode/uvernum.h: Added.
* icu/unicode/uversion.h:

Source/WTF: 

* icu/unicode/localpointer.h: Added.
* icu/unicode/parseerr.h:
* icu/unicode/platform.h:
* icu/unicode/putil.h:
* icu/unicode/uchar.h:
* icu/unicode/ucnv.h:
* icu/unicode/ucnv_err.h:
* icu/unicode/ucol.h:
* icu/unicode/uconfig.h:
* icu/unicode/uenum.h:
* icu/unicode/uiter.h:
* icu/unicode/uloc.h:
* icu/unicode/umachine.h:
* icu/unicode/unorm.h:
* icu/unicode/urename.h:
* icu/unicode/uscript.h:
* icu/unicode/uset.h:
* icu/unicode/ustring.h:
* icu/unicode/utf.h:
* icu/unicode/utf16.h:
* icu/unicode/utf8.h:
* icu/unicode/utypes.h:
* icu/unicode/uvernum.h: Added.
* icu/unicode/uversion.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
jsStringWithCache shouldn't call StringImpl::characters() for single character strings
https://bugs.webkit.org/show_bug.cgi?id=96439

Reviewed by Geoffrey Garen.

Replaced StringImpl->characters()[0] with operator[] access which is character size aware.
Also fixed the other FIXME so we now use SmallStrings to retunr the single character string.

No functional change, so no new tests.

* bindings/js/JSDOMBinding.h:
(WebCore::jsStringWithCache):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Accelerated compositing should always be forced when using the tiled drawing area
https://bugs.webkit.org/show_bug.cgi?id=96449

Reviewed by Andy Estes.

There's code in WebPage::updatePreferences that will turn off accelerated compositing unless accelerated drawing is enabled.
This should only be done in the non-tiled model, so move the code to DrawingAreaImpl::updatePreferences.

* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::updatePreferences):
This now takes a WebPreferencesStore.

* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::updatePreferences):
Move code here from WebPage::updatePreferences.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Pass the WebPreferencesStore to DrawingArea::updatePreferences.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
Remove call to updatePreferences, it's going to be called by the WebPage object later.

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
This now takes a WebPreferencesStore.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fixed for http://trac.webkit.org/changeset/128243

Rubber stamped by Stephanie Lewis.

Added missing include file needed by 96422.

* icu/unicode/ptypes.h: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128246 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix for http://trac.webkit.org/changeset/128244

Some compilers don't like 0 for operator[](unsigned).  Changed to 0u.

* bindings/js/JSDOMBinding.h:
(WebCore::jsStringWithCache):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add 'any' type to V8 bindings as a synonym for DOMObject
https://bugs.webkit.org/show_bug.cgi?id=96429

Patch by Alec Flett <alecflett@chromium.org> on 2012-09-11
Reviewed by Kentaro Hara.

Adds support for 'any' as a synonym to DOMObject.

Test: TestObj.idl has an attribute 'anyAttribute'.

* bindings/scripts/CodeGeneratorJS.pm:
(AddIncludesForType):
(JSValueToNative):
(NativeToJSValue):
* bindings/scripts/CodeGeneratorV8.pm:
(GetNativeType):
(JSValueToNative):
(GetV8HeaderName):
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::anyAttribute):
(WebDOMTestObj::setAnyAttribute):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):
(webkit_dom_test_obj_get_any_attribute):
(webkit_dom_test_obj_set_any_attribute):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::setJSTestObjAnyAttribute):
* bindings/scripts/test/JS/JSTestObj.h:
(WebCore):
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj anyAttribute]):
(-[DOMTestObj setAnyAttribute:]):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
(WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
(TestObjV8Internal):
(WebCore::TestObjV8Internal::anyAttributeAttrGetter):
(WebCore::TestObjV8Internal::anyAttributeAttrSetter):
(WebCore):

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