WebKit-https.git
7 years ago[CMAKE] Supply feature defines to CodeGeneratorTestRunner.
ryuan.choi@samsung.com [Wed, 12 Sep 2012 04:24:57 +0000 (04:24 +0000)]
[CMAKE] Supply feature defines to CodeGeneratorTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=96273

Reviewed by Gyuyoung Kim.

.:

* Source/cmake/WebKitFeatures.cmake: Generated FEATURE_DEFINES_WITH_SPACE_SEPARATOR.

Source/WebCore:

* CMakeLists.txt: Extracted FEATURE_DEFINES with space separator to share.
* PlatformBlackBerry.cmake: Ditto.
* UseJSC.cmake: Ditto.
* UseV8.cmake: Ditto.

Tools:

Passed FEATURE_DEFINES_WITH_SPACE_SEPARATOR to CodeGeneratorTestRunner
in order to distinguish compile time options such as ENABLE(TOUCH_EVENTS).

* WebKitTestRunner/CMakeLists.txt:

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

7 years agoJSActivation should inline allocate its registers, and eliminate
ggaren@apple.com [Wed, 12 Sep 2012 04:08:18 +0000 (04:08 +0000)]
JSActivation should inline allocate its registers, and eliminate
'arguments' registers in the common case
https://bugs.webkit.org/show_bug.cgi?id=96427

Reviewed by Filip Pizlo.

This cuts the size class for simple closures down to 64 bytes.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator): Set the usesNonStrictEval
flag, which is new. Use a more specific test for whether a function
uses 'arguments', so we can avoid allocating, initializing, and tearing
off those registers in the common case. Distinguish between capturing
arguments and not, so we can avoid allocating space for arguments in
the torn-off object.

We can make this even more general in the future, with some bytecode
generator refactoring.

(JSC::BytecodeGenerator::resolve): Updated for new interface.

* bytecompiler/BytecodeGenerator.h:
(BytecodeGenerator):
(JSC::BytecodeGenerator::symbolTable): Updated some types.

* heap/Heap.cpp:
(JSC::Heap::isValidAllocation): Allow large allocations, now that they
are both supported and used.

* heap/Heap.h:
(Heap): Added a new form of allocateCell that specifies the full size
of the allocation, to allow for extra space on the end.

* interpreter/CallFrame.h:
(JSC::ExecState::argumentOffset):
(JSC::ExecState::argumentOffsetIncludingThis):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::unwindCallFrame): Refactored this code to be more
specific about tearing off 'arguments' vs activations. This is something
I forgot in my last patch, and it is required now that we can have
acitvations without 'arguments' registers.

* runtime/Arguments.h:
(JSC::Arguments::setRegisters): No need for setRegisters anymore because
the activation object's storage doesn't change.

* runtime/JSActivation.cpp:
(JSC::JSActivation::JSActivation): Initialize our storage manually because
it's not declared to the C++ compiler.

(JSC::JSActivation::visitChildren): No copyAndAppend because our storage
is not out-of-line anymore.

(JSC::JSActivation::symbolTableGet):
(JSC::JSActivation::symbolTablePut):
(JSC::JSActivation::getOwnPropertyNames):
(JSC::JSActivation::symbolTablePutWithAttributes):
(JSC::JSActivation::getOwnPropertySlot):
(JSC::JSActivation::getOwnPropertyDescriptor):
(JSC::JSActivation::argumentsGetter): Refactored isTornOff() testing to
avoid using a data member and to avoid hard-coding any offset assumptions.

* runtime/JSActivation.h:
(JSC):
(JSActivation):
(JSC::JSActivation::create):
(JSC::JSActivation::isDynamicScope):
(JSC::JSActivation::captureStart):
(JSC::JSActivation::storageSize):
(JSC::JSActivation::storageSizeInBytes):
(JSC::JSActivation::registerOffset):
(JSC::JSActivation::tearOff):
(JSC::JSActivation::isTornOff):
(JSC::JSActivation::storage):
(JSC::JSActivation::allocationSize):
(JSC::JSActivation::isValid): New helper functions for doing the math
on our inline storage. Note that in the "AllOfTheThings" tear-off case,
the number of things is not known at compile time, so we store the
number in the argument count register. We can't just copy the raw contents
of the register beacuse we need a value that is safe for precise marking,
and the value in the register file has an invalid tag.

* runtime/JSCell.h:
(JSC::allocateCell): New function for allocating with extra storage
on the end.

* runtime/JSSymbolTableObject.h:
(JSC::JSSymbolTableObject::JSSymbolTableObject):
(JSC::JSSymbolTableObject::finishCreation):
* runtime/JSVariableObject.h:
(JSC::JSVariableObject::JSVariableObject):
(JSVariableObject): Make it easier for subclasses to use their symbol
tables during construction, by passing the table as a constructor argument.

* runtime/SymbolTable.h:
(JSC::SharedSymbolTable::usesNonStrictEval):
(JSC::SharedSymbolTable::setUsesNonStrictEval):
(SharedSymbolTable):
(JSC::SharedSymbolTable::captureMode):
(JSC::SharedSymbolTable::setCaptureMode):
(JSC::SharedSymbolTable::captureStart):
(JSC::SharedSymbolTable::setCaptureStart):
(JSC::SharedSymbolTable::captureEnd):
(JSC::SharedSymbolTable::setCaptureEnd):
(JSC::SharedSymbolTable::parameterCountIncludingThis):
(JSC::SharedSymbolTable::setParameterCountIncludingThis):
(JSC::SharedSymbolTable::SharedSymbolTable): Added data members to more
precisely describe what kind of capture is in play, and to avoid having
data members in the activation. We expect N activations per symbol table,
so this can be a big savings in heavy closure usage.

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

7 years agoFix build break with LLINT on 32bit machine after r128219
ryuan.choi@samsung.com [Wed, 12 Sep 2012 03:36:47 +0000 (03:36 +0000)]
Fix build break with LLINT on 32bit machine after r128219
https://bugs.webkit.org/show_bug.cgi?id=96461

Unreviewed build fix.

* llint/LowLevelInterpreter32_64.asm: Fixed typo.

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

7 years ago[chromium/mac] Fix "Class WebCoreTextFieldCell is implemented in both Chromium Framew...
thakis@chromium.org [Wed, 12 Sep 2012 03:35:59 +0000 (03:35 +0000)]
[chromium/mac] Fix "Class WebCoreTextFieldCell is implemented in both Chromium Framework and /System/Library/Frameworks/WebKit.framework" warning
https://bugs.webkit.org/show_bug.cgi?id=96460

Reviewed by Kent Tamura.

This was added incorrectly in http://trac.webkit.org/changeset/116721

* WebCore.gyp/WebCore.gyp:

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

7 years agoCreate Localizer factory method for LocaleICU
keishi@webkit.org [Wed, 12 Sep 2012 02:24:57 +0000 (02:24 +0000)]
Create Localizer factory method for LocaleICU
https://bugs.webkit.org/show_bug.cgi?id=96363

Reviewed by Kent Tamura.

Source/WebCore:

Preparing to use Localizer instead of LocaleMac/Win/ICU

No new tests. Covered in unit test tests/LocalizedNumberICUTest.cpp

* platform/text/LocaleICU.cpp:
(WebCore::Localizer::create):
(WebCore):

Source/WebKit/chromium:

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

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

7 years agoBuild fixed for http://trac.webkit.org/changeset/128243
msaboff@apple.com [Wed, 12 Sep 2012 01:57:23 +0000 (01:57 +0000)]
Build fixed for trac.webkit.org/changeset/128243

Unreviewed build fix.

Added missing include file needed by 96422 for C++ ICU APIs.

* icu/unicode/chariter.h: Added.

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

7 years agoBuild fixed for http://trac.webkit.org/changeset/128243
msaboff@apple.com [Wed, 12 Sep 2012 01:46:27 +0000 (01:46 +0000)]
Build fixed for trac.webkit.org/changeset/128243

Unreviewed build fix.

Added missing include file needed by 96422 for C++ ICU APIs.

* icu/unicode/bytestream.h: Added.
* icu/unicode/rep.h: Added.
* icu/unicode/std_string.h: Added.
* icu/unicode/strenum.h: Added.
* icu/unicode/stringpiece.h: Added.
* icu/unicode/unistr.h: Added.
* icu/unicode/uobject.h: Added.

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

7 years agoRefactor ValidationMessage class
tkent@chromium.org [Wed, 12 Sep 2012 01:42:19 +0000 (01:42 +0000)]
Refactor ValidationMessage class
https://bugs.webkit.org/show_bug.cgi?id=96365

Reviewed by Hajime Morita.

- Move some code from HTMLFormControlElement to ValidationMessage
- ValidationMessage class holds an element pointer as
HTMLFormControlElement, not FormAssociatedElement.

No new tests because of no behavior changes.

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
Moved some code to ValidationMessage::updateValidationMessage().
(WebCore::HTMLFormControlElement::setNeedsValidityCheck):
Ask ValidationMessage whether it is visible or not.
* html/HTMLFormControlElement.h:
(HTMLFormControlElement): Removed visibleValidationMessage().

* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::ValidationMessage):
Change the argument type: FormAssociatedElement -> HTMLFormControlElement
(WebCore::ValidationMessage::create): ditto.
(WebCore::ValidationMessage::updateValidationMessage):
Added. Moved some code from
HTMLFormControlElement::updateVisibleValidationMessage().
(WebCore::ValidationMessage::buildBubbleTree): toHTMLElement() is not needed.
(WebCore::ValidationMessage::deleteBubbleTree): ditto.
(WebCore::ValidationMessage::isVisible): Added.
* html/ValidationMessage.h:
(ValidationMessage):
 - Change some instance of FormAssociatedElement to HTMLFormControlElement
 - Remove message().
 - Added updateValidationMessage() and isVisible()
 - Made setMessage() private.

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

7 years ago[chromium] Make prioritized texture manager not touch backings array on the main...
commit-queue@webkit.org [Wed, 12 Sep 2012 01:35:47 +0000 (01:35 +0000)]
[chromium] Make prioritized texture manager not touch backings array on the main thread
https://bugs.webkit.org/show_bug.cgi?id=96114

Patch by Christopher Cameron <ccameron@chromium.org> on 2012-09-11
Reviewed by James Robinson.

Take a snapshot of the textures' priorities from the main thread,
and save it in their backings for access by the impl thread.
Update functions that access the sorted backings array to use the
snapshotted values instead of the values that the main thread may
have computed for the next frame.

Make the main thread not touch the m_backings array.  Split
prioritizeTextures into a updateBackingsPriorities function.
In places where the main thread would have touched m_backings,
set a flag specifying that m_backings needs to be re-sorted
before any function that requires it be sorted by priority be
executed.

Update the two functions that require sorted order (acquireBacking
and reduceMemory) to sort the backings array (if needed) before
traversing it.

Updated tests to set correct thread during asserts. Add a test to
verify that requestLate is correctly incorporated into the backing
sorting.

Source/WebCore:

* platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
(WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
(WebCore::CCPrioritizedTextureManager::prioritizeTextures):
(WebCore):
(WebCore::CCPrioritizedTextureManager::prioritizeBackings):
(WebCore::CCPrioritizedTextureManager::requestLate):
(WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
(WebCore::CCPrioritizedTextureManager::reduceMemory):
(WebCore::CCPrioritizedTextureManager::returnBackingTexture):
(WebCore::CCPrioritizedTextureManager::destroyBacking):
(WebCore::CCPrioritizedTextureManager::assertInvariants):
* platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
(CCPrioritizedTextureManager):

Source/WebKit/chromium:

* tests/CCPrioritizedTextureTest.cpp:
(WTF::CCPrioritizedTextureTest::validateTexture):

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

7 years agoBuild fixed for http://trac.webkit.org/changeset/128243
msaboff@apple.com [Wed, 12 Sep 2012 01:25:17 +0000 (01:25 +0000)]
Build fixed for trac.webkit.org/changeset/128243

Unreviewed build fix.

Added missing include file needed by 96422 for C++ ICU APIs.

* icu/unicode/bytestream.h: Added.
* icu/unicode/rep.h: Added.
* icu/unicode/std_string.h: Added.
* icu/unicode/strenum.h: Added.
* icu/unicode/stringpiece.h: Added.
* icu/unicode/unistr.h: Added.
* icu/unicode/uobject.h: Added.

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

7 years agoUpdate bindings test results after http://trac.webkit.org/changeset/128242
abarth@webkit.org [Wed, 12 Sep 2012 01:01:35 +0000 (01:01 +0000)]
Update bindings test results after trac.webkit.org/changeset/128242

* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::V8Float64Array::wrapSlow):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::V8TestCustomNamedGetter::wrapSlow):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::V8TestEventConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::V8TestEventTarget::wrapSlow):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore::V8TestException::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::V8TestMediaQueryListListener::wrapSlow):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructor::wrapSlow):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::wrapSlow):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::wrapSlow):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::wrapSlow):

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

7 years agoBuild fixed for http://trac.webkit.org/changeset/128243
msaboff@apple.com [Wed, 12 Sep 2012 00:53:39 +0000 (00:53 +0000)]
Build fixed for trac.webkit.org/changeset/128243

Rubber stamped by Stephanie Lewis.

Added missing include file needed by 96422.

* icu/unicode/unorm2.h: Added.

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

7 years agoAdd new JSDependentRetained that allows keeping a JSObject alive as long as another...
commit-queue@webkit.org [Wed, 12 Sep 2012 00:41:06 +0000 (00:41 +0000)]
Add new JSDependentRetained that allows keeping a JSObject alive as long as another is alive
https://bugs.webkit.org/show_bug.cgi?id=96034

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-09-11
Reviewed by Geoffrey Garen.

Add new JSDependentRetained (with the same API as V8DependentRetained) that allows keeping
a JSObject alive as long as another is alive. This is useful for keeping callbacks on
wrappers without keeping strong references into the JS heap in C++ which can result in
cycles that create memory leaks.

No new tests needed, this will be used to fix MutationObservers and UndoManager which will have tests.

* GNUmakefile.list.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDependentRetained.h: Added.
(WebCore):
(JSDependentRetained):
(WebCore::JSDependentRetained::JSDependentRetained):
(WebCore::JSDependentRetained::~JSDependentRetained):
(WebCore::JSDependentRetained::get): Get the JSObject value.
(WebCore::JSDependentRetained::isEmpty): Check if the value is still alive.
(WebCore::JSDependentRetained::retain): Sets the owner of the object, should only be used once.
(WebCore::JSDependentRetained::release):
* bindings/v8/V8DependentRetained.h:
(WebCore::V8DependentRetained::V8DependentRetained):
(WebCore::V8DependentRetained::retain): Added this method so the API for JSC and V8 are identical.

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

7 years agoAdd 'any' type to V8 bindings as a synonym for DOMObject
commit-queue@webkit.org [Wed, 12 Sep 2012 00:35:07 +0000 (00:35 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@128248 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix for http://trac.webkit.org/changeset/128244
msaboff@apple.com [Wed, 12 Sep 2012 00:25:34 +0000 (00:25 +0000)]
Unreviewed build fix for 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: https://svn.webkit.org/repository/webkit/trunk@128247 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuild fixed for http://trac.webkit.org/changeset/128243
msaboff@apple.com [Wed, 12 Sep 2012 00:09:44 +0000 (00:09 +0000)]
Build fixed for 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: https://svn.webkit.org/repository/webkit/trunk@128246 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAccelerated compositing should always be forced when using the tiled drawing area
andersca@apple.com [Wed, 12 Sep 2012 00:00:18 +0000 (00:00 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@128245 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agojsStringWithCache shouldn't call StringImpl::characters() for single character strings
msaboff@apple.com [Tue, 11 Sep 2012 23:53:46 +0000 (23:53 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@128244 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUpdate ICU header files to more recent version
msaboff@apple.com [Tue, 11 Sep 2012 23:50:50 +0000 (23:50 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@128243 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[V8] 8% regression in dom_perf
commit-queue@webkit.org [Tue, 11 Sep 2012 23:49:09 +0000 (23:49 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@128242 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd ObjcRuntimeExtras.h to the Xcode project file
psolanki@apple.com [Tue, 11 Sep 2012 23:42:55 +0000 (23:42 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@128241 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSkip spatial-navigation tests on mac-wk2 because they are all failing.
slewis@apple.com [Tue, 11 Sep 2012 23:31:22 +0000 (23:31 +0000)]
Skip spatial-navigation tests on mac-wk2 because they are all failing.
https://bugs.webkit.org/show_bug.cgi?id=96438.

Unreviewed.

* platform/mac-wk2/TestExpectations:

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

7 years agoElementAttributeData: Use subclasses to manage varying object layouts.
kling@webkit.org [Tue, 11 Sep 2012 23:26:12 +0000 (23:26 +0000)]
ElementAttributeData: Use subclasses to manage varying object layouts.
<http://webkit.org/b/94465>

Reviewed by Antti Koivisto.

Add two ElementAttributeData subclasses:

    - MutableElementAttributeData
    - ImmutableElementAttributeData

The ElementAttributeData::m_isMutable bit determines which subclass to cast to when accessing
the attribute storage. Added mutableAttributeVector() and immutableAttributeArray() helpers
to ElementAttributeData (with appropriate assertions.)

This patch removes one step of indirection in the mutable case, since the Vector<Attribute> is no
longer heap-allocated, but part of MutableElementAttributeData.

Added a WTF::deleteOwnedPtr(ElementAttributeData*) specialization so that the appropriate subclass
destructor is called for these objects.

* WebCore.exp.in:
* dom/Element.cpp:
(WebCore::Element::createMutableAttributeData):
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::createImmutable):
(WebCore::ElementAttributeData::create):
(WebCore::ElementAttributeData::ElementAttributeData):
(WebCore::MutableElementAttributeData::MutableElementAttributeData):
(WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
(WebCore::ImmutableElementAttributeData::~ImmutableElementAttributeData):
(WebCore::ElementAttributeData::makeMutableCopy):
(WebCore::ElementAttributeData::addAttribute):
(WebCore::ElementAttributeData::removeAttribute):
(WebCore::ElementAttributeData::reportMemoryUsage):
(WebCore::ElementAttributeData::cloneDataFrom):
(WebCore::ElementAttributeData::clearAttributes):
* dom/ElementAttributeData.h:
(ElementAttributeData):
(WebCore::ElementAttributeData::isMutable):
(ImmutableElementAttributeData):
(MutableElementAttributeData):
(WebCore::MutableElementAttributeData::MutableElementAttributeData):
(WebCore::ElementAttributeData::immutableAttributeArray):
(WebCore::ElementAttributeData::mutableAttributeVector):
(WebCore::ElementAttributeData::length):
(WebCore::ElementAttributeData::attributeItem):

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

7 years agoPass the logical height and logical top into RenderBox::computeLogicalHeight
tony@chromium.org [Tue, 11 Sep 2012 23:20:44 +0000 (23:20 +0000)]
Pass the logical height and logical top into RenderBox::computeLogicalHeight
https://bugs.webkit.org/show_bug.cgi?id=96432

Reviewed by Ojan Vafai.

This allows us to call RenderBox::computeLogicalHeight without first having to call
setLogicalHeight() and setLogicalTop().  Previously, computeLogicalHeight would depend
on these values.

No new tests, this is just a refactor.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::updateLogicalHeight): Pass logicalHeight and logicalTop as params.
(WebCore::RenderBox::computeLogicalHeight): Use passed in values instead of calling logicalHeight/logicalTop.
(WebCore::RenderBox::computePositionedLogicalHeight): Pass the logicalHeight into computePositionedLogicalHeightUsing.
(WebCore::RenderBox::computePositionedLogicalHeightUsing): Pass in the logicalHeight as a parameter.
* rendering/RenderBox.h:
(RenderBox): Update computePositionedLogicalHeightUsing and computeLogicalHeight.

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

7 years agoIndexedDB: Optimize key decode and comparison operations
jsbell@chromium.org [Tue, 11 Sep 2012 23:18:40 +0000 (23:18 +0000)]
IndexedDB: Optimize key decode and comparison operations
https://bugs.webkit.org/show_bug.cgi?id=96037

Reviewed by Tony Chang.

Eliminate memory allocations in code identified as CPU bottlenecks in IDB profiling.

No new tests - just performance work.

* Modules/indexeddb/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::extractEncodedIDBKey): Avoid incremental allocations.
(WebCore::IDBLevelDBCoding::compareEncodedIDBKeys): Rename confusing variables p and q.
(IDBLevelDBCoding):
(WebCore::IDBLevelDBCoding::compare): Rename from decodeAndCompare, and add specializations
for frequently encountered types (e.g. object/index data) that can be compared without a
full decode.

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

7 years agoGet rid of the PluginProcessShim for 64-bit plug-ins
beidson@apple.com [Tue, 11 Sep 2012 23:17:20 +0000 (23:17 +0000)]
Get rid of the PluginProcessShim for 64-bit plug-ins
<rdar://problem/12068560> and https://bugs.webkit.org/show_bug.cgi?id=96415

Reviewed by Anders Carlsson.

* PluginProcess/PluginProcess.h:
(PluginProcess):

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::getCurrentEventButtonState):
(WebKit):
(WebKit::beginModal): Moved from the shim, to be shared with shimmed processes.
(WebKit::endModal): Ditto.
(WebKit::replacedRunModalForWindow): Only used by Cocoa overrides.
(WebKit::PluginProcess::initializeShim):
(WebKit::PluginProcess::initializeCocoaOverrides):

* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain): Only call initializeShim for 32-bit processes, always call initializeCocoaOverrides

* PluginProcess/mac/PluginProcessShim.h:
(PluginProcessShimCallbacks):
* PluginProcess/mac/PluginProcessShim.mm:
(WebKit):
(WebKit::shimModalDialog): Call beginModal/endModal from the shim callbacks.
(WebKit::shimAlert): Ditto.
(WebKit::WebKitPluginProcessShimInitialize): Don't do the Cocoa overrides as they are now handled outside the shim.

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

7 years agoUnreviewed, rolling out r128075
adamk@chromium.org [Tue, 11 Sep 2012 23:08:57 +0000 (23:08 +0000)]
Unreviewed, rolling out r128075
https://bugs.webkit.org/show_bug.cgi?id=96435

Source/WebCore:

Broke chromium content_browsertests and included flaky layout tests

* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
(WebCore::MediaControlRootElementChromium::reset):
(WebCore::MediaControlRootElementChromium::playbackStarted):
(WebCore::MediaControlRootElementChromium::playbackProgressed):
(WebCore::MediaControlRootElementChromium::playbackStopped):
(WebCore::MediaControlRootElementChromium::updateTimeDisplay):
* html/shadow/MediaControlRootElementChromium.h:
(MediaControlPanelEnclosureElement):
(MediaControlRootElementChromium):

LayoutTests:

* platform/chromium-mac/platform/chromium/media/controls-video-sizes-expected.png: Removed.
* platform/chromium/TestExpectations:
* platform/chromium/media/controls-audio-sizes-expected.txt: Removed.
* platform/chromium/media/controls-audio-sizes.html: Removed.
* platform/chromium/media/controls-video-sizes-expected.txt: Removed.
* platform/chromium/media/controls-video-sizes-padding-expected.txt: Removed.
* platform/chromium/media/controls-video-sizes-padding.html: Removed.
* platform/chromium/media/controls-video-sizes.html: Removed.

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

7 years agoOS X port should compile with newer versions of clang
mlilek@apple.com [Tue, 11 Sep 2012 23:06:00 +0000 (23:06 +0000)]
OS X port should compile with newer versions of clang
https://bugs.webkit.org/show_bug.cgi?id=96434

Source/JavaScriptCore:

m_identIsVarDecl is unused - remove it.

Reviewed by Anders Carlsson.

* parser/NodeConstructors.h:
(JSC::ForInNode::ForInNode):
* parser/Nodes.h:
(ForInNode):

Source/WebCore:

Reviewed by Anders Carlsson.

Guard m_hasTouchEventHandler behind ENABLE(TOUCH_EVENTS).
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
* html/HTMLInputElement.h:
(HTMLInputElement):

Fix uninitialized variable.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::createLinearSRGBColorSpace):

Source/WebKit/mac:

m_isTerminated is unused in the Hosted flavor of NetscapePluginStream.

Reviewed by Anders Carlsson.

* Plugins/Hosted/HostedNetscapePluginStream.h:
(HostedNetscapePluginStream):
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):

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

7 years agoUnreviewed gardening.
adamk@chromium.org [Tue, 11 Sep 2012 23:04:11 +0000 (23:04 +0000)]
Unreviewed gardening.

Suppress image failures for gradient-with-scaled-ancestor.html due to
scrollbar diffs.

* platform/chromium/TestExpectations:

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

7 years ago[chromium] rename webkit_resources
dpranke@chromium.org [Tue, 11 Sep 2012 22:47:32 +0000 (22:47 +0000)]
[chromium] rename webkit_resources
https://bugs.webkit.org/show_bug.cgi?id=95874

Reviewed by James Robinson.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:

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

7 years ago[Gtk] allow building with css-shaders
commit-queue@webkit.org [Tue, 11 Sep 2012 22:32:24 +0000 (22:32 +0000)]
[Gtk] allow building with css-shaders
https://bugs.webkit.org/show_bug.cgi?id=95603

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-09-11
Reviewed by Martin Robinson.

.:

if unstable features and accelerated compositing are turned on, and
acceleration backend is opengl, then build CSS Shaders and CSS
Filters.

* configure.ac:

Source/WebCore:

Add support for css filters and shaders in GNUmakefile.am and include
Texture.cpp, Texture.h, TilingData.cpp and TilingData.h in
webcore_sources

No functional change, so no new tests.

* GNUmakefile.am:
* GNUmakefile.list.am:

Source/WebKit/gtk:

Add enable-css-shaders property to WebKit WebSettings, and connects it
to WebCore settings setCSSCustomFilterEnabled.

* webkit/webkitwebsettings.cpp:
(webkit_web_settings_class_init):
(webkit_web_settings_set_property):
(webkit_web_settings_get_property):
* webkit/webkitwebsettingsprivate.h:
* webkit/webkitwebview.cpp:
(webkit_web_view_update_settings):
(webkit_web_view_settings_notify):

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

7 years ago[BlackBerry] add a way to overscroll non-overflown content
commit-queue@webkit.org [Tue, 11 Sep 2012 22:25:29 +0000 (22:25 +0000)]
[BlackBerry] add a way to overscroll non-overflown content
https://bugs.webkit.org/show_bug.cgi?id=96331
PR #195305

Patch by Antonio Gomes <agomes@rim.com> on 2012-09-11
Reviewed by Yong Li.

Check -webkit-overflow-scrolling value for '-blackberry-touch' instead
of checking a custom HTML5 attribute.

No behavioural change. Mostly a rework of r128142.

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::canScrollRenderBox):

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

7 years agoUnreviewed gardening. Update some expectations to reference specific bugs.
jamesr@google.com [Tue, 11 Sep 2012 22:25:24 +0000 (22:25 +0000)]
Unreviewed gardening. Update some expectations to reference specific bugs.

* platform/chromium/TestExpectations:

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

7 years agoRemove StyleResolver::setStyle, because it's no longer used.
dglazkov@chromium.org [Tue, 11 Sep 2012 22:02:13 +0000 (22:02 +0000)]
Remove StyleResolver::setStyle, because it's no longer used.
https://bugs.webkit.org/show_bug.cgi?id=96423

Reviewed by Eric Seidel.

No new tests, simple refactoring.

* css/StyleResolver.h: Removed unused function.

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

7 years agoAX: title attribute is not exposed as the AXDescription on AXImage when there is...
cfleizach@apple.com [Tue, 11 Sep 2012 22:00:35 +0000 (22:00 +0000)]
AX: title attribute is not exposed as the AXDescription on AXImage when there is no other fallback content
https://bugs.webkit.org/show_bug.cgi?id=96412

Reviewed by Jon Honeycutt.

Source/WebCore:

Ensure that if an image has a title attribute, but no alt attribute, it will fallback to use the title attribute
for the descriptive text.

Test: accessibility/img-fallsback-to-title.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityDescription):

LayoutTests:

* accessibility/img-fallsback-to-title.html: Added.
* platform/mac/accessibility/img-fallsback-to-title-expected.txt: Added.

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

7 years ago[BlackBerry] make pickers/dialogs use appendLiteral
rwlbuis@webkit.org [Tue, 11 Sep 2012 21:29:59 +0000 (21:29 +0000)]
[BlackBerry] make pickers/dialogs use appendLiteral
https://bugs.webkit.org/show_bug.cgi?id=96424

Reviewed by Antonio Gomes.

PR 204032

Other pickers were updated in r128204.

* WebCoreSupport/ColorPickerClient.cpp:
(WebCore::ColorPickerClient::generateHTML):
* WebCoreSupport/PagePopupBlackBerry.cpp:
(WebCore::PagePopupBlackBerry::generateHTML):

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

7 years agoClean up functions in RenderLayerBacking.h/.cpp
commit-queue@webkit.org [Tue, 11 Sep 2012 21:10:38 +0000 (21:10 +0000)]
Clean up functions in RenderLayerBacking.h/.cpp
https://bugs.webkit.org/show_bug.cgi?id=96370

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-09-11
Reviewed by Simon Fraser.

Remove 'layer' from function names in RenderLayerBacking

No new test. No change in functionality.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateOpacity):
(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateFilters):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::startTransition):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):

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

7 years ago[chromium] don't include content shell builders in the garden-o-matic view
jochen@chromium.org [Tue, 11 Sep 2012 21:03:12 +0000 (21:03 +0000)]
[chromium] don't include content shell builders in the garden-o-matic view
https://bugs.webkit.org/show_bug.cgi?id=96418

Reviewed by James Robinson.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:

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

7 years agoSource/WebCore: [skia] Switch FEComponentTransfer filter to use skia's SkColorFilter
senorblanco@chromium.org [Tue, 11 Sep 2012 20:54:05 +0000 (20:54 +0000)]
Source/WebCore: [skia] Switch FEComponentTransfer filter to use skia's SkColorFilter
https://bugs.webkit.org/show_bug.cgi?id=95238

Reviewed by Dirk Schulze.

Covered by existing tests in svg/, such as svg/custom/feComponentTransfer-Discrete.svg.

* WebCore.gypi:
* platform/graphics/filters/FEComponentTransfer.cpp:
(WebCore::FEComponentTransfer::platformApplySoftware):
Add a check for the skia implementation.
(WebCore::FEComponentTransfer::getValues):
* platform/graphics/filters/FEComponentTransfer.h:
Factor out the retrieval of LUT values into its own function, so we
can call it from the Skia implementation.
* platform/graphics/filters/skia/FEComponentTransferSkia.cpp: Added.
(WebCore::FEComponentTransfer::platformApplySkia):

LayoutTests: [chromium] Mark some tests as needing a rebaseline due to SVG filters change.
https://bugs.webkit.org/show_bug.cgi?id=95238

Reviewed by Dirk Schulze.

* platform/chromium/TestExpectations:

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

7 years agoCrash on a long press gesture when touch adjustment is enabled.
commit-queue@webkit.org [Tue, 11 Sep 2012 20:36:16 +0000 (20:36 +0000)]
Crash on a long press gesture when touch adjustment is enabled.
https://bugs.webkit.org/show_bug.cgi?id=96313

Patch by Kevin Ellis <kevers@chromium.org> on 2012-09-11
Reviewed by Antonio Gomes.

Source/WebCore:

Fix to ensure that a long-press on a shadow-DOM element does not
trigger a crash in TouchAdjustment::providesContextMenuItems.
Prior to the patch, a null-pointer exception was trigger because
of a null renderer in the check.

Test: touchadjustment/context-menu-shadow-node.html

* page/TouchAdjustment.cpp:
(WebCore::TouchAdjustment::providesContextMenuItems):

LayoutTests:

Add test to ensure that a long-press on a shadow DOM element does
not trigger a crash when determining if an element provides a context
menu.

* touchadjustment/context-menu-shadow-node-expected.txt: Added.
* touchadjustment/context-menu-shadow-node.html: Added.

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

7 years agoUnreviewed, manually rolling out r128175.
zandobersek@gmail.com [Tue, 11 Sep 2012 20:34:08 +0000 (20:34 +0000)]
Unreviewed, manually rolling out r128175.
The patch is causing crashes in debug builds.
http://trac.webkit.org/changeset/128175
https://bugs.webkit.org/show_bug.cgi?id=96284

Source/WebCore:

* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage):

LayoutTests:

* http/tests/misc/non-utf8-header-name-expected.txt: Removed.
* http/tests/misc/non-utf8-header-name.php: Removed.

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

7 years agoUnreviewed, rolling out r128212.
jamesr@google.com [Tue, 11 Sep 2012 20:14:51 +0000 (20:14 +0000)]
Unreviewed, rolling out r128212.
http://trac.webkit.org/changeset/128212
https://bugs.webkit.org/show_bug.cgi?id=96037

Assertion fails on linux 64

* Modules/indexeddb/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
(WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
(IDBLevelDBCoding):
(WebCore::IDBLevelDBCoding::compare):

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

7 years agoLLInt should optimize and profile array length accesses
fpizlo@apple.com [Tue, 11 Sep 2012 20:00:31 +0000 (20:00 +0000)]
LLInt should optimize and profile array length accesses
https://bugs.webkit.org/show_bug.cgi?id=96417

Reviewed by Oliver Hunt.

This fixes the following hole in our array profiling strategy, where the array
is large (more than 1000 elements):

for (var i = 0; i < array.length; ++i) ...

The peeled use of array.length (in the array prologue) will execute only once
before DFG optimization kicks in from the loop's OSR point. Since it executed
only once, it executed in the LLInt. And prior to this patch, the LLInt did
not profile array.length accesses - so the DFG will assume, based on the lack
of profiling, that the access is in fact not an access to the JSArray length
property. That could then impede our ability to hoist the array structure
check, and may make us pessimistic in other ways as well, since the generic
GetById used for the array length access will be viewed as a side-effecting
operation.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::finalizeUnconditionally):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

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

7 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Tue, 11 Sep 2012 19:17:37 +0000 (19:17 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

7 years agoIndexedDB: IDBObjectStore.count() is slow
jsbell@chromium.org [Tue, 11 Sep 2012 19:17:20 +0000 (19:17 +0000)]
IndexedDB: IDBObjectStore.count() is slow
https://bugs.webkit.org/show_bug.cgi?id=96033

Reviewed by Tony Chang.

Avoid decoding record values when performing count() iteration, and factor out common code
used for initializing object store and index cursors. Also, remove unused indexDataId()
methods (which date back to the SQLite backing store), and rename some p's and q's.

No new tests - no functional changes. Covered by existing test:
    LayoutTests/storage/indexeddb/objectstore-count.html

* Modules/indexeddb/IDBBackingStore.h: Expose new (internal) ObjectStoreKeyCursor
(IDBBackingStore):
* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore): Factor out common CursorOptions initialization code. The objectStoreCursorOptions()
function is needed for this patch. The indexCursorOptions() function is not, but eliminates
duplicated code and is a nearly identical refactor.
(WebCore::IDBLevelDBBackingStore::openObjectStoreCursor): Refactor.
(WebCore::IDBLevelDBBackingStore::openObjectStoreKeyCursor): Implement.
(WebCore::IDBLevelDBBackingStore::openIndexKeyCursor): Refactor.
(WebCore::IDBLevelDBBackingStore::openIndexCursor): Ditto.
* Modules/indexeddb/IDBLevelDBBackingStore.h:
(IDBLevelDBBackingStore):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::countInternal): Use ObjectStoreKeyCursor for iteration.

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

7 years agoUnreviewed chromium gardening.
adamk@chromium.org [Tue, 11 Sep 2012 19:14:30 +0000 (19:14 +0000)]
Unreviewed chromium gardening.

Remove bogus rebaseline added in r128105, and remove "flaky"
expectation (since tests seems non-flaky).

* platform/chromium-win-xp/fast/hidpi/gradient-with-scaled-ancestor-expected.png: Removed.
* platform/chromium/TestExpectations:

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

7 years agoRefactor computePercentageLogicalHeight to simplify the logic a bit
ojan@chromium.org [Tue, 11 Sep 2012 19:05:35 +0000 (19:05 +0000)]
Refactor computePercentageLogicalHeight to simplify the logic a bit
https://bugs.webkit.org/show_bug.cgi?id=96329

Reviewed by Tony Chang.

This makes it clear that the value we're computing as we go is the availableHeight.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computePercentageLogicalHeight):

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

7 years agoUnreviewed chromium gardening.
adamk@chromium.org [Tue, 11 Sep 2012 19:04:35 +0000 (19:04 +0000)]
Unreviewed chromium gardening.

Mark compositing/overflow/overflow-scaled-descendant-overflapping as
failing on cr-mac after r127789 and remove bad rebaselines.

* platform/chromium-mac-snowleopard/compositing/overflow/overflow-scaled-descendant-overlapping-expected.png: Removed.
* platform/chromium-mac/compositing/overflow/overflow-scaled-descendant-overlapping-expected.png: Removed.
* platform/chromium/TestExpectations:

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

7 years agoGarden-o-matic should ignore a wider variety of warnings in buildbot json
adamk@chromium.org [Tue, 11 Sep 2012 18:50:13 +0000 (18:50 +0000)]
Garden-o-matic should ignore a wider variety of warnings in buildbot json
https://bugs.webkit.org/show_bug.cgi?id=96411

Reviewed by Adam Barth.

Previously only the exact string "warning" was treated as a warning
result. This patch treats any string with "warning" as a substring
as a warning (e.g., "warnings", as seen on the cr-win buildbots).

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js:
(.):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:

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

7 years agoIndexedDB: Optimize key decode and comparison operations
jsbell@chromium.org [Tue, 11 Sep 2012 18:42:55 +0000 (18:42 +0000)]
IndexedDB: Optimize key decode and comparison operations
https://bugs.webkit.org/show_bug.cgi?id=96037

Reviewed by Tony Chang.

Eliminate memory allocations in code identified as CPU bottlenecks in IDB profiling.

No new tests - just performance work.

* Modules/indexeddb/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::extractEncodedIDBKey): Avoid incremental allocations.
(WebCore::IDBLevelDBCoding::compareEncodedIDBKeys): Rename confusing variables p and q.
(IDBLevelDBCoding):
(WebCore::IDBLevelDBCoding::compare): Rename from decodeAndCompare, and add specializations
for frequently encountered types (e.g. object/index data) that can be compared without a
full decode.

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

7 years ago[BlackBerry] Fix history navigation for error pages.
kpiascik@rim.com [Tue, 11 Sep 2012 18:32:49 +0000 (18:32 +0000)]
[BlackBerry] Fix history navigation for error pages.
https://bugs.webkit.org/show_bug.cgi?id=96410

Reviewed by Rob Buis.

Fix how history navigation handles restoring view state when navigating between error pages.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::FrameLoaderClientBlackBerry):
(WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem):
(WebCore::FrameLoaderClientBlackBerry::restoreViewState):
* WebCoreSupport/FrameLoaderClientBlackBerry.h:
(FrameLoaderClientBlackBerry):

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

7 years agoRestore original value of mock scrollbars enabled in InternalSettings
commit-queue@webkit.org [Tue, 11 Sep 2012 18:31:11 +0000 (18:31 +0000)]
Restore original value of mock scrollbars enabled in InternalSettings
https://bugs.webkit.org/show_bug.cgi?id=87680

Patch by Marcelo Lira <marcelo.lira@openbossa.org> on 2012-09-11
Reviewed by Adam Barth.

Added backup support for mock scrollbars state in
InternalSettings::Backup, and removed support for these
from Qt's DumpRenderTree.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
* testing/InternalSettings.h:
(Backup):

Source/WebKit/qt:

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit2:

* win/WebKit2.def:

Tools:

* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::WebPage::resetSettings):
* DumpRenderTree/qt/TestRunnerQt.cpp:
(TestRunner::setFrameFlatteningEnabled):
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunner):

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

7 years ago[Apple] Install plist for Apple Open Source build system
dino@apple.com [Tue, 11 Sep 2012 18:13:16 +0000 (18:13 +0000)]
[Apple] Install plist for Apple Open Source build system
https://bugs.webkit.org/show_bug.cgi?id=96345

Reviewed by Mark Rowe.

Apple's build system requires a couple of files that describe where
the 3rd party Open Source library came from, and what license it
uses. These files are copied into /usr/local when the project is
being installed.

* ANGLE.plist: Added.
* ANGLE.txt: Added.
* ANGLE.xcodeproj/project.pbxproj:

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

7 years agoImprove console error messages when 'document.domain' blocks cross-origin script...
commit-queue@webkit.org [Tue, 11 Sep 2012 18:12:47 +0000 (18:12 +0000)]
Improve console error messages when 'document.domain' blocks cross-origin script access.
https://bugs.webkit.org/show_bug.cgi?id=96247

Patch by Mike West <mkwst@chromium.org> on 2012-09-11
Reviewed by Adam Barth.

Source/WebCore:

Setting 'document.domain' can produce counterintuitive "cross-origin"
error messages for script access in cases where the property isn't set
to the same value in both the accessor and accessee. This patch adds a
bit more context to the error message to make it clear that both sides
must set the property, and that the values must match.

This shouldn't change any externally visible behavior other than the
error warnings. It's covered by changes to existing tests.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::crossDomainAccessErrorMessage):
    Adding checks for 'document.domain'-related errors, and adding an
    ASSERT that crossDomainAccessErrorMessage is called in cases where
    the accessing frame is actually denied access to the frame being
    accessed.

LayoutTests:

* http/tests/security/cross-frame-access-callback-explicit-domain-DENY-expected.txt:
* http/tests/security/cross-frame-access-child-explicit-domain-expected.txt:
* http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt:
* http/tests/security/cross-frame-access-protocol-expected.txt:
* http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
* http/tests/security/view-source-no-javascript-url-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
* platform/chromium/http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
* platform/chromium/http/tests/security/inactive-document-with-empty-security-origin-expected.txt:
* platform/chromium/http/tests/security/window-named-proto-expected.txt:
    Updating error message.

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

7 years agoFixed a bug where kill-old-processes failed to kill clang++.
mitz@apple.com [Tue, 11 Sep 2012 17:50:22 +0000 (17:50 +0000)]
Fixed a bug where kill-old-processes failed to kill clang++.

Rubber-stamped by Alexey Proskuryakov.

* BuildSlaveSupport/kill-old-processes: Escape the + signs in "clang++"
where it is passed as a regular expression to killall.

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

7 years agoWe should wait longer before killing the PluginProcess.
beidson@apple.com [Tue, 11 Sep 2012 17:42:28 +0000 (17:42 +0000)]
We should wait longer before killing the PluginProcess.
<rdar://problem/12067728> and https://bugs.webkit.org/show_bug.cgi?id=96407

Reviewed by Anders Carlsson.

Currently we kill the PluginProcess 15 seconds after the last plug-in is destroyed.
This is short enough that most users will have the process killed many times during browsing sessions,
which is painful because relaunching the process is I/O and kernel intensive.

In an ideal world we could keep it around forever until the system tells us resources are running low.

In reality we do want to kill it occasionally to get a clean slate from any plug-in leaks.

A reasonable balance for now is to set a minimum lifetime of 30 minutes on the plug-in process and to
extend the termination timer from 15 seconds to 10 minutes.

* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::PluginProcess):
(WebKit::PluginProcess::initializePluginProcess):
(WebKit::PluginProcess::setMinimumLifetime):
(WebKit):
(WebKit::PluginProcess::minimumLifetimeTimerFired):
* PluginProcess/PluginProcess.h:
(PluginProcess):

* Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):
* Shared/Plugins/PluginProcessCreationParameters.h:
(PluginProcessCreationParameters):

* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit):
(WebKit::PluginProcessProxy::didFinishLaunching):

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

7 years agoDeploy StringBuilder::appendNumber() and StringBuilder::appendLiteral() in more places
commit-queue@webkit.org [Tue, 11 Sep 2012 17:40:36 +0000 (17:40 +0000)]
Deploy StringBuilder::appendNumber() and StringBuilder::appendLiteral() in more places
https://bugs.webkit.org/show_bug.cgi?id=96344

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-09-11
Reviewed by Benjamin Poulain.

Use StringBuilder::appendNumber() instead of String::number(). Also deploy
StringBuilder::appendLiteral() instead of String::append() in the surrounding code.

Source/WebCore:

* css/CSSAspectRatioValue.cpp:
(WebCore::CSSAspectRatioValue::customCssText):
* platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
(WebCore):
* svg/SVGPointList.cpp:
(WebCore::SVGPointList::valueAsString):

Source/WebKit/blackberry:

* WebCoreSupport/DatePickerClient.cpp:
(WebCore::DatePickerClient::generateHTML):
* WebCoreSupport/SelectPopupClient.cpp:
(WebCore::SelectPopupClient::generateHTML):

Source/WebKit2:

* Shared/WebMemorySampler.cpp:
(WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
* UIProcess/InspectorServer/WebSocketServerConnection.cpp:
(WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
* UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
(WebKit::WebInspectorServer::inspectorUrlForPageID):
(WebKit::WebInspectorServer::buildPageList):

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

7 years agoClang doesn't optimize away undefined OwnPtr copy constructor
enne@google.com [Tue, 11 Sep 2012 17:39:08 +0000 (17:39 +0000)]
Clang doesn't optimize away undefined OwnPtr copy constructor
https://bugs.webkit.org/show_bug.cgi?id=74625

Reviewed by Anders Carlsson.

Original patch by Anders Carlsson, with a minor edit.

The publicly declared-but-not-defined copy constructor is a compiler
optimization-dependent landmine. Clang often fails to optimize the use
of this function out, leading to internal linkage errors for the missing
definition. gcc doesn't have this problem and optimizes that function
out, leading to code that inconsistently fails to link across platforms.

As a partial fix for this problem, on any compiler that supports C++11
move semantics, replace the bogus copy constructor with the move
constructors.  In the future, if all compilers support this, then the
copy constructor can be removed.

This still leaves other compilers that don't support move semantics
like Visual Studio vulnerable to linking inconsistencies.

* wtf/OwnPtr.h:
(OwnPtr):
(WTF):
(WTF::::OwnPtr):
(WTF::=):

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

7 years agoFix speling error in comment.
andersca@apple.com [Tue, 11 Sep 2012 17:29:54 +0000 (17:29 +0000)]
Fix speling error in comment.

* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::isTransparentSilverlightBackgroundValue):

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

7 years agoRename computeLogicalHeight to updateLogicalHeight
tony@chromium.org [Tue, 11 Sep 2012 17:21:57 +0000 (17:21 +0000)]
Rename computeLogicalHeight to updateLogicalHeight
https://bugs.webkit.org/show_bug.cgi?id=96305

Reviewed by Ojan Vafai.

computeLogicalHeight changes the value of 4 member variables of the
render box, so give it a name that makes it more clear that it is
updating member variables.

No new tests, this is just a refactor.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeInitialRegionRangeForBlock):
(WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::updateLogicalHeight):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
* rendering/RenderBox.h:
(RenderBox):
(WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::layout):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::updateLogicalHeight):
* rendering/RenderFlowThread.h:
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::canvasSizeChanged):
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::updateLogicalHeight):
(WebCore::RenderIFrame::layoutSeamlessly):
(WebCore::RenderIFrame::layout):
* rendering/RenderIFrame.h:
(RenderIFrame):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageDimensionsChanged):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateLogicalHeight):
* rendering/RenderListBox.h:
(RenderListBox):
* rendering/RenderMeter.cpp:
(WebCore::RenderMeter::updateLogicalHeight):
* rendering/RenderMeter.h:
(RenderMeter):
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
* rendering/RenderMultiColumnFlowThread.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::updateLogicalHeight):
* rendering/RenderMultiColumnSet.h:
(RenderMultiColumnSet):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::layout):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::computeControlHeight):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::updateLogicalHeight):
* rendering/RenderTextControl.h:
(RenderTextControl):
* rendering/RenderView.cpp:
(WebCore::RenderView::updateLogicalHeight):
* rendering/RenderView.h:
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::updateLogicalHeight):
* rendering/svg/RenderSVGForeignObject.h:
(RenderSVGForeignObject):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):

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

7 years ago[BlackBerry] InRegion scrollable area dangling pointers were accessed in UI thread
zhajiang@rim.com [Tue, 11 Sep 2012 17:21:03 +0000 (17:21 +0000)]
[BlackBerry] InRegion scrollable area dangling pointers were accessed in UI thread
https://bugs.webkit.org/show_bug.cgi?id=96318

Reviewed by Antonio Gomes.
Patch by Jacky Jiang <zhajiang@rim.com>

PR: 204066
Dangling pointers were accessed in UI thread, as the actual InRegion
scrollable areas of WebKit side had been destroyed before that in
WebKit thread after UI thread set scrolling to false.
Notify the client side to clear InRegion scrollable areas before we
destroy them in WebKit side.

Internally reviewed by Gen Mak and George Staikos.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped):
(BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
* Api/WebPageClient.h:

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

7 years ago[chromium] Fix double call to scrollBegin() when handling scroll gesture
commit-queue@webkit.org [Tue, 11 Sep 2012 16:59:08 +0000 (16:59 +0000)]
[chromium] Fix double call to scrollBegin() when handling scroll gesture
https://bugs.webkit.org/show_bug.cgi?id=95322

Patch by Iain Merrick <husky@chromium.org> on 2012-09-11
Reviewed by James Robinson.

WebCompositorInputHandlerImpl::handleGestureFling() calls scrollBegin() on its
client, then if the result is ScrollStarted, it creates a PlatformGestureCurve
object to handle the fling animation. This patch adds a matching scrollEnd()
before the animation starts.

Now using strict mocks in WebCompositorInputHandlerImplTest, which turns all
unexpected calls into test failures. This ensures that scrollBegin / scrollEnd
happen exactly when we want and at no other times.

* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
* tests/WebCompositorInputHandlerImplTest.cpp:
(WebCompositorInputHandlerImplTest):
(WebKit::TEST_F):

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

7 years ago[BlackBerry] Suppress keyboard requests while processing spell checking suggestions.
mifenton@rim.com [Tue, 11 Sep 2012 16:52:01 +0000 (16:52 +0000)]
[BlackBerry] Suppress keyboard requests while processing spell checking suggestions.
https://bugs.webkit.org/show_bug.cgi?id=96394

Reviewed by Rob Buis.

Suppress the VKB notification when the touch event
is a spell checking request.

PR 192925.

Reviewed Internally by Gen Mak.

* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

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

7 years ago[BlackBerry] Colour Dialog popup request should return proper state.
mifenton@rim.com [Tue, 11 Sep 2012 16:48:14 +0000 (16:48 +0000)]
[BlackBerry] Colour Dialog popup request should return proper state.
https://bugs.webkit.org/show_bug.cgi?id=96392

Reviewed by Rob Buis.

Return proper state from openColorPopup dependent on
whether the popup actually opened.

Reviewed Internally by Chris Hutten-Czapski

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::openColorPopup):

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

7 years agoFix FilterTypeZoom to properly call canvas->restore()
commit-queue@webkit.org [Tue, 11 Sep 2012 16:44:34 +0000 (16:44 +0000)]
Fix FilterTypeZoom to properly call canvas->restore()
https://bugs.webkit.org/show_bug.cgi?id=96082

Patch by Zach Kuznia <zork@chromium.org> on 2012-09-11
Reviewed by Adrienne Walker.

Source/Platform:

Fix zoom filter to properly indicate that it affects pixels.

* chromium/src/WebFilterOperations.cpp:
(WebKit::WebFilterOperations::hasFilterThatMovesPixels):
(WebKit::WebFilterOperations::hasFilterThatAffectsOpacity):

Source/WebCore:

Fix zoom filter to properly call canvas->restore()

* platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
(WebCore::CCRenderSurfaceFilters::apply):

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

7 years ago[GTK] WebKitGtk+ crashes with non-UTF8 HTTP header names
sergio@webkit.org [Tue, 11 Sep 2012 16:42:11 +0000 (16:42 +0000)]
[GTK] WebKitGtk+ crashes with non-UTF8 HTTP header names
https://bugs.webkit.org/show_bug.cgi?id=96284

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Non UTF-8 characters sent as part of a HTTP header name were
causing crashes as String::fromUTF8() was returning NULL for
them. Use String::fromUTF8WithLatin1Fallback() instead.

Test: http/tests/misc/non-utf8-header-name.php

* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage):

LayoutTests:

Added a new test to make sure that WebKitGtk+ does not crash when
a non-UTF8 character is sent as part of a HTTP header name.

* http/tests/misc/non-utf8-header-name-expected.txt: Added.
* http/tests/misc/non-utf8-header-name.php: Added.

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

7 years agoMake sure that md5sum is not setup on non-Chromium Android platforms.
peter@chromium.org [Tue, 11 Sep 2012 16:40:47 +0000 (16:40 +0000)]
Make sure that md5sum is not setup on non-Chromium Android platforms.
https://bugs.webkit.org/show_bug.cgi?id=96393

Patch by Philippe Liard <pliard@google.com> on 2012-09-11
Reviewed by Adam Barth.

Previously md5sum was setup in ChromiumAndroidDriver's constructor
which is also invoked on non-Chromium Android platforms. The following patch
moves this logic to _startup_test() which is guaranteed to be invoked
only on Android.

This also updates the prompt unit test in chromium_android_unittest.py.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver.__init__):
(ChromiumAndroidDriver._setup_md5sum_and_push_data_if_needed):
(ChromiumAndroidDriver._setup_test):

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

7 years ago[Qt][WK2] Unreviewed gardening, skip new failing tests to paint the bot green.
ossy@webkit.org [Tue, 11 Sep 2012 16:08:22 +0000 (16:08 +0000)]
[Qt][WK2] Unreviewed gardening, skip new failing tests to paint the bot green.

* platform/qt-5.0-wk2/Skipped:

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

7 years agoUnreviewed, rolling out r128175.
commit-queue@webkit.org [Tue, 11 Sep 2012 15:42:19 +0000 (15:42 +0000)]
Unreviewed, rolling out r128175.
http://trac.webkit.org/changeset/128175
https://bugs.webkit.org/show_bug.cgi?id=96395

broke hunders of tests for EFL and GTK (Requested by rakuco on
#webkit).

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

Source/WebCore:

* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage):

LayoutTests:

* http/tests/misc/non-utf8-header-name-expected.txt: Removed.
* http/tests/misc/non-utf8-header-name.php: Removed.

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

7 years ago[EFL] Rewrite the EFL-related Find modules
rakuco@webkit.org [Tue, 11 Sep 2012 15:33:04 +0000 (15:33 +0000)]
[EFL] Rewrite the EFL-related Find modules
https://bugs.webkit.org/show_bug.cgi?id=95237

Reviewed by Kenneth Rohde Christiansen.

.:

FindEFL.cmake had several problems which caused unnecessary trouble
when building the EFL port under some setups:

o It looked for some modules (such as ecore) more than once for no
reason, which led to people adding libraries and include paths in
different ways across the build system.

o It depended on pkg-config being present for the searches to
succeed.

o It obtained the library definitions from pkg-config, so
${FOO_LIBRARIES} would be set to something like "foo;bar" which
expanded to "-lfoo -lbar" to the linker. If a wrong -L<path> was
passed before that, the wrong library installation would end up
being picked up.

o Due to the problem above, we also needed to set the LINK_FLAGS
property for each target with the value of ${FOO_LDFLAGS}, which was
also obtained from pkg-config and sort of compensated the fact that
the libraries did not use absolute paths and added the required -L
paths. This also included dependencies for these libraries, so we
ended up including libraries indirectly, which is bad.

We have now replaced that file with a set of Find-modules which are
much more granular, each of them responsible for looking for a
single library and its components and setting library and include
locations the right way (with FIND_PATH() and FIND_LIBRARY()), so
that all the problems above are fixed.

* Source/cmake/EFLHelpers.cmake: Added.
* Source/cmake/FindEDBus.cmake: Added.
* Source/cmake/FindEFL.cmake: Removed.
* Source/cmake/FindEcore.cmake: Added.
* Source/cmake/FindEdje.cmake: Added.
* Source/cmake/FindEeze.cmake: Added.
* Source/cmake/FindEfreet.cmake: Added.
* Source/cmake/FindEina.cmake: Added.
* Source/cmake/FindEvas.cmake: Added.
* Source/cmake/OptionsEfl.cmake:

Source/JavaScriptCore:

* CMakeLists.txt: Stop setting the LINK_FLAGS property.
* PlatformEfl.cmake: Ditto.
* shell/PlatformEfl.cmake: Ditto.

Source/WebCore:

* CMakeLists.txt: Stop setting the LINK_FLAGS property now that no
port sets WebCore_LINK_FLAGS.
* PlatformEfl.cmake: Add libraries and include directories for
each Enlightenment Foundation Library used by the port.

Source/WebKit:

* PlatformEfl.cmake: Stop setting the LINK_FLAGS property and add
libraries and include directories for each Enlightenment
Foundation Library used by the port.

Source/WebKit2:

* CMakeLists.txt: Stop setting the LINK_FLAGS property.
* PlatformEfl.cmake: Add libraries and include directories for
each Enlightenment Foundation Library used by the port.

Source/WTF:

* CMakeLists.txt: Stop setting the LINK_FLAGS property.
* PlatformEfl.cmake: Add libraries and include directories for
each Enlightenment Foundation Library used by the port.

Tools:

* DumpRenderTree/efl/CMakeLists.txt: Stop setting the LINK_FLAGS
property and include all the Enlightenment Foundation Libraries
required by the target.
* EWebLauncher/CMakeLists.txt: Ditto.
* MiniBrowser/efl/CMakeLists.txt: Ditto.
* TestWebKitAPI/PlatformEfl.cmake: Add missing include directories
now that they are not added implicitly.
* WebKitTestRunner/CMakeLists.txt: Stop setting the LINK_FLAGS
property.
* WebKitTestRunner/PlatformEfl.cmake: Stop setting the LINK_FLAGS
property and include all the Enlightenment Foundation Libraries
required by the target.

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

7 years ago[WK2][WKTR] TestRunner needs to implement setApplicationCacheOriginQuota
commit-queue@webkit.org [Tue, 11 Sep 2012 15:23:37 +0000 (15:23 +0000)]
[WK2][WKTR] TestRunner needs to implement setApplicationCacheOriginQuota
https://bugs.webkit.org/show_bug.cgi?id=96379

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-11
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Add Bundle C API to set the application cache quota for a
given security origin. This is needed by WebKitTestRunner
to implement setApplicationCacheOriginQuota().

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetApplicationCacheOriginQuota):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setApplicationCacheOriginQuota):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):

Tools:

Add implementation for setApplicationCacheOriginQuota
to WebKitTestRunner.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setApplicationCacheOriginQuota):
(WTR):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):

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

7 years ago[Qt] [WK2] editing/inserting/typing-tab-designmode tests are failing
commit-queue@webkit.org [Tue, 11 Sep 2012 15:12:28 +0000 (15:12 +0000)]
[Qt] [WK2] editing/inserting/typing-tab-designmode tests are failing
https://bugs.webkit.org/show_bug.cgi?id=91988

Patch by Luciano Wolf <luciano.wolf@openbossa.org> on 2012-09-11
Reviewed by Kenneth Rohde Christiansen.

Tools:

Regular key events generated by Qt for the tab key fill both
keyCode and keyText, so we should do the same for our fake events.

* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
(WTR::EventSenderProxy::keyDown):

LayoutTests:

Unskip related tests.

* platform/qt-5.0-wk2/Skipped:

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

7 years ago[BlackBerry] Take account for single words that exceed our client character limit
commit-queue@webkit.org [Tue, 11 Sep 2012 15:08:43 +0000 (15:08 +0000)]
[BlackBerry] Take account for single words that exceed our client character limit
https://bugs.webkit.org/show_bug.cgi?id=96389

Fix to the processing of long single-line text using getRangeForSpellCheckWithFineGranularity.
This was failing if a single word was longer than our maximum allowed limit.

Internally reviewed by Mike Fenton.

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-09-11
Reviewed by Rob Buis.

* WebKitSupport/InputHandler.cpp:
(WebKit):
(BlackBerry::WebKit::InputHandler::getRangeForSpellCheckWithFineGranularity):

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

7 years ago[Qt] Unreviewed, rolling out 128054, because it broke the Windows build.
ossy@webkit.org [Tue, 11 Sep 2012 15:04:07 +0000 (15:04 +0000)]
[Qt] Unreviewed, rolling out 128054, because it broke the Windows build.

* DerivedSources.pri:

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

7 years ago[WK2][WTR] WebKitTestRunner needs testRunner.setSpatialNavigationEnabled
commit-queue@webkit.org [Tue, 11 Sep 2012 14:49:53 +0000 (14:49 +0000)]
[WK2][WTR] WebKitTestRunner needs testRunner.setSpatialNavigationEnabled
https://bugs.webkit.org/show_bug.cgi?id=96269

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-11
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Added a new setter for spacial navigation enabling to Injected Bundle private API.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetSpatialNavigationEnabled):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setSpatialNavigationEnabled):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):

Tools:

Exported missing testRunner.setSpatialNavigationEnabled() method.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setSpatialNavigationEnabled):
(WTR):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):

LayoutTests:

Unskipped fast/spatial-navigation tests. Put those which still fail to an appropriate group.

* platform/wk2/Skipped:

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

7 years ago[Qt] Fix the build with libwebp
abecsi@webkit.org [Tue, 11 Sep 2012 14:47:21 +0000 (14:47 +0000)]
[Qt] Fix the build with libwebp

Rubber-stamped by Tor Arne Vestbø

The use-flag is called WEBP not LIBWEBP, so use that when appending -lwebp.

* WebCore.pri:

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

7 years agoWeb Inspector: visualize layout root in Timeline
caseq@chromium.org [Tue, 11 Sep 2012 14:34:35 +0000 (14:34 +0000)]
Web Inspector: visualize layout root in Timeline
https://bugs.webkit.org/show_bug.cgi?id=96279

Reviewed by Pavel Feldman.

- pass layout root to InspectorTimelineAgent::didLayout
- show rectangles of the layout root upon hover over the Layout record;

* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didLayoutImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didLayout):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didLayout):
* inspector/InspectorTimelineAgent.h:
(WebCore):
(InspectorTimelineAgent):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createPaintData):
(WebCore::TimelineRecordFactory::addRectData):
(WebCore):
* inspector/TimelineRecordFactory.h:
(TimelineRecordFactory):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._mouseMove):
* page/FrameView.cpp:
(WebCore::FrameView::layout):

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

7 years ago[BlackBerry] SelectionHandler drops caret change notifications
anilsson@rim.com [Tue, 11 Sep 2012 14:30:18 +0000 (14:30 +0000)]
[BlackBerry] SelectionHandler drops caret change notifications
https://bugs.webkit.org/show_bug.cgi?id=96378

Reviewed by Antonio Gomes.

The selection handler deliberately drops caret change notifications
while the input handler is processing changes, to avoid displaying
intermediate state during a complex change.

However, this meant that the client was never informed of the final
caret position.

Fixed by notifying client about caret change after processing ends, if
one or more caret change notifications were dropped during processing.

PR #205073

Reviewed internally by Mike Fenton.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::setProcessingChange):
(WebKit):
* WebKitSupport/InputHandler.h:
(InputHandler):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::SelectionHandler):
(BlackBerry::WebKit::SelectionHandler::inputHandlerDidFinishProcessingChange):
(WebKit):
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
(BlackBerry::WebKit::SelectionHandler::notifyCaretPositionChangedIfNeeded):
* WebKitSupport/SelectionHandler.h:
(SelectionHandler):

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

7 years ago[Blackberry] use ReadOnlyLatin1String to save a deep copy
commit-queue@webkit.org [Tue, 11 Sep 2012 14:18:16 +0000 (14:18 +0000)]
[Blackberry] use ReadOnlyLatin1String to save a deep copy
https://bugs.webkit.org/show_bug.cgi?id=96364

Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-09-11
Reviewed by Yong Li.
Internally reviewed by Yong li.

* platform/network/blackberry/NetworkManager.cpp:
(WebCore::NetworkManager::startJob):

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

7 years agoTools: Support LayoutTests on non-rooted devices for Chromium Android.
commit-queue@webkit.org [Tue, 11 Sep 2012 14:10:48 +0000 (14:10 +0000)]
Tools: Support LayoutTests on non-rooted devices for Chromium Android.
https://bugs.webkit.org/show_bug.cgi?id=95346

Patch by Philippe Liard <pliard@chromium.org> on 2012-09-11
Reviewed by Dirk Pranke.

We were requiring root permissions to sync resource files with the
device by comparing host and device files' timestamp after we
synchronized the device and host clocks.
We now rely on md5sum provided by Chromium to handle data files
synchronization.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort._check_driver_build_up_to_date):
* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver.__init__):
(ChromiumAndroidDriver._setup_test):
(ChromiumAndroidDriver._push_executable):
(ChromiumAndroidDriver._push_test_resources):
(ChromiumAndroidDriver._read_prompt):

LayoutTests: Support LayoutTests on non-rooted Android devices.
https://bugs.webkit.org/show_bug.cgi?id=95346

Patch by Philippe Liard <pliard@chromium.org> on 2012-09-11
Reviewed by Dirk Pranke.

http/tests/cache/resources/subresource-test.js was assuming that the
client and server clocks are the same which is no longer true since we
are getting rid of host/device clock synchronization.

* http/tests/cache/resources/cache-simulator.cgi:
* http/tests/cache/resources/current-time.cgi: Added.
* http/tests/cache/resources/subresource-test.js:
(getServerDate):
(nextTest):
(testComplete):
(runTests):

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

7 years ago[Qt] Fix output paths on Windows
hausmann@webkit.org [Tue, 11 Sep 2012 14:04:32 +0000 (14:04 +0000)]
[Qt] Fix output paths on Windows

Reviewed by Tor Arne Vestbø.

BUILD_ROOT_RELATIVE_TO_OUT_PWD was calculated incorrectly Windows, resulting in an incorrect
DESTDIR transformation at the end of default_post.prf. The calculation should be baased no qmake
paths, which can use drive letters but always use forward slashes. So the use of QMAKE_DIR_SEP is
incorrect here and instead for the calculation we should use forward slashes.

* qmake/mkspecs/features/default_pre.prf:

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

7 years ago[Qt] Fix passing of defines from the build system
vestbo@webkit.org [Tue, 11 Sep 2012 13:55:50 +0000 (13:55 +0000)]
[Qt] Fix passing of defines from the build system

We explicitly have to pass -DENABLE_FOO=0 for every single feature
that's not explicitly enabled in WEBKIT_CONFIG, since Platform.h
will add it's own defaults if the features are not defined.

At some point we might want to run a configure-test to inspect what
Platform.h will do, so we can sync up the build system's view of
the feature-defines with the compile-time situation.

Reviewed by Simon Hausmann.

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

7 years ago[Qt] In-source builds are broken
hausmann@webkit.org [Tue, 11 Sep 2012 13:51:45 +0000 (13:51 +0000)]
[Qt] In-source builds are broken

Reviewed by Tor Arne Vestbø.

The Tools sub-directory contains a Makefile checked into SVN. For in-source builds let's not try to
overwrite it but instead generate a dedicated Makefile.Tools.

* Makefile:
* WebKit.pro:

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

7 years ago[Qt][WK2] Page loading status API lacks a status for intentionally stopped loading
commit-queue@webkit.org [Tue, 11 Sep 2012 13:49:30 +0000 (13:49 +0000)]
[Qt][WK2] Page loading status API lacks a status for intentionally stopped loading
https://bugs.webkit.org/show_bug.cgi?id=83062

Patch by Marcelo Lira <marcelo.lira@openbossa.org> on 2012-09-11
Reviewed by Tor Arne Vestbø.

When the loading of a page is intentionally interrupted, the loading
status is set to the new state LoadStoppedStatus. This reflects
reality more accurately because the page was not fully loaded
(a LoadSucceededStatus), and it wasn't an unexpected error
(a LoadFailedStatus).

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::loadDidStop):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
* UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
* UIProcess/API/qt/tests/qmltests/common/TestWebView.qml:
* UIProcess/qt/QtWebPageLoadClient.cpp:
(WebKit::QtWebPageLoadClient::dispatchLoadStopped):
(WebKit):
(WebKit::QtWebPageLoadClient::dispatchLoadFailed):
* UIProcess/qt/QtWebPageLoadClient.h:
(QtWebPageLoadClient):

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

7 years ago[Qt] Fix --qt option to build-webkit
vestbo@webkit.org [Tue, 11 Sep 2012 13:21:53 +0000 (13:21 +0000)]
[Qt] Fix --qt option to build-webkit

Reviewed by Ossy.

* Scripts/webkitdirs.pm:
(buildQMakeProjects):

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

7 years ago[GTK] WebKitGtk+ crashes with non-UTF8 HTTP header names
sergio@webkit.org [Tue, 11 Sep 2012 13:11:22 +0000 (13:11 +0000)]
[GTK] WebKitGtk+ crashes with non-UTF8 HTTP header names
https://bugs.webkit.org/show_bug.cgi?id=96284

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Non UTF-8 characters sent as part of a HTTP header name were
causing crashes as String::fromUTF8() was returning NULL for
them. Use String::fromUTF8WithLatin1Fallback() instead.

Test: http/tests/misc/non-utf8-header-name.php

* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage):

LayoutTests:

Added a new test to make sure that WebKitGtk+ does not crash when
a non-UTF8 character is sent as part of a HTTP header name.

* http/tests/misc/non-utf8-header-name-expected.txt: Added.
* http/tests/misc/non-utf8-header-name.php: Added.

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

7 years ago[Qt] Add a configure step to the Qt build system
vestbo@webkit.org [Tue, 11 Sep 2012 13:06:39 +0000 (13:06 +0000)]
[Qt] Add a configure step to the Qt build system

This allows building the Qt port using just 'qmake WebKit.pro'. Using
the build-webkit script is still supported, and will add slightly more
logic to the build, such as detecting the need for clean or incremental
builds.

Internally, the build system now uses a new variable, WEBKIT_CONFIG, for
all things related to configuring the build, such as use/have/enable flags,
and these are translated to defines in default_post. Project files should
no longer check contains(DEFINES,...) to detect features, but use the new
enable?(), use?(), and have?() functions. The no_webkit1 and no_webkit2
options have been translated into WEBKIT_CONFIG options as well, and can
be checked using build?().

Reviewed by Simon Hausmann.

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

7 years ago[WK2][WKTR] TestRunner needs to implement clearApplicationCacheForOrigin
commit-queue@webkit.org [Tue, 11 Sep 2012 12:32:24 +0000 (12:32 +0000)]
[WK2][WKTR] TestRunner needs to implement clearApplicationCacheForOrigin
https://bugs.webkit.org/show_bug.cgi?id=96372

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-11
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Add Bundle C API to clear the application cache for a
given origin. This is needed by WebKitTestRunner to
implement clearApplicationCacheForOrigin().

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleClearApplicationCacheForOrigin):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::clearApplicationCacheForOrigin):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):

Tools:

Implement clearApplicationCacheForOrigin() in WebKitTestRunner.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::clearApplicationCacheForOrigin):
(WTR):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):

LayoutTests:

Refresh Skipped list now that clearApplicationCacheForOrigin
is implemented in TestRunner. Some tests were also marked as
failing due to clearAllApplicationCaches() being missing
despite the fact that it is already implemented.

* platform/wk2/Skipped:

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

7 years ago[EFL] Unreviewed build fix after r128065.
rakuco@webkit.org [Tue, 11 Sep 2012 11:59:54 +0000 (11:59 +0000)]
[EFL] Unreviewed build fix after r128065.

* CMakeLists.txt: Link against WTF for FastMalloc symbols, which
are needed when building with SYSTEM_MALLOC off.

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

7 years agoWeb Inspector: Remove no-op TreeElement.prototype.didChange method
apavlov@chromium.org [Tue, 11 Sep 2012 11:54:59 +0000 (11:54 +0000)]
Web Inspector: Remove no-op TreeElement.prototype.didChange method
https://bugs.webkit.org/show_bug.cgi?id=96376

Reviewed by Yury Semikhatsky.

* inspector/front-end/treeoutline.js:
(TreeElement.prototype.set title):
(TreeElement.prototype.set tooltip):
(TreeElement.prototype.set hasChildren):

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

7 years agoDon't ignore .pak files when making an archive for Android
peter@chromium.org [Tue, 11 Sep 2012 11:26:26 +0000 (11:26 +0000)]
Don't ignore .pak files when making an archive for Android
https://bugs.webkit.org/show_bug.cgi?id=96375

Reviewed by Jochen Eisinger.

The .pak files do need to be pushed to the device, which is currently
preventing the layout test runner from correctly pushing all files.

* BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct):

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

7 years ago[WK2][WTR] WebKitTestRunner needs layoutTestController.setMinimumTimerInterval
commit-queue@webkit.org [Tue, 11 Sep 2012 11:21:52 +0000 (11:21 +0000)]
[WK2][WTR] WebKitTestRunner needs layoutTestController.setMinimumTimerInterval
https://bugs.webkit.org/show_bug.cgi?id=96256

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-11
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Added new setter for minimum DOM timer interval to InjectedBundle private API.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetMinimumTimerInterval):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setMinimumTimerInterval):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):

Tools:

Exported TestRunner::setMinimumTimerInterval() method.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setMinimumTimerInterval):
(WTR):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):

LayoutTests:

Unskipped corresponding fast/dom/ tests.

* platform/wk2/Skipped:

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

7 years agoUnreviewed. Rolled DEPS.
peter@chromium.org [Tue, 11 Sep 2012 10:50:48 +0000 (10:50 +0000)]
Unreviewed.  Rolled DEPS.

* DEPS:

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

7 years ago[Qt] New fast/canvas/canvas-lineDash.html introduced in r128116 fails.
ossy@webkit.org [Tue, 11 Sep 2012 10:34:22 +0000 (10:34 +0000)]
[Qt] New fast/canvas/canvas-lineDash.html introduced in r128116 fails.
https://bugs.webkit.org/show_bug.cgi?id=96360

Patch by Szilard Ledan <szledan@inf.u-szeged.hu> on 2012-09-11
Reviewed by Csaba Osztrogonác.

* platform/qt/Skipped:

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

7 years agoMediaStream API: add RTCPeerConnection::onnegotiationneeded
tommyw@google.com [Tue, 11 Sep 2012 10:29:23 +0000 (10:29 +0000)]
MediaStream API: add RTCPeerConnection::onnegotiationneeded
https://bugs.webkit.org/show_bug.cgi?id=96097

Reviewed by Adam Barth.

Source/Platform:

* chromium/public/WebRTCPeerConnectionHandlerClient.h:
(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

This patch adds the last callback to RTCPeerConnection: onnegotiationneeded.
This is called whenever the state in the RTCPeerConnection changes and that
change needs to be sent to the other side.

Test: fast/mediastream/RTCPeerConnection-onnegotiationneeded.html

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::negotiationNeeded):
(WebCore):
* Modules/mediastream/RTCPeerConnection.h:
(RTCPeerConnection):
* Modules/mediastream/RTCPeerConnection.idl:
* dom/EventNames.h:
(WebCore):
* platform/mediastream/RTCPeerConnectionHandlerClient.h:
(RTCPeerConnectionHandlerClient):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::negotiationNeeded):
(WebCore):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
(RTCPeerConnectionHandlerChromium):

Tools:

* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
(MockWebRTCPeerConnectionHandler::addStream):
(MockWebRTCPeerConnectionHandler::removeStream):

LayoutTests:

* fast/mediastream/RTCPeerConnection-onnegotiationneeded-expected.txt: Added.
* fast/mediastream/RTCPeerConnection-onnegotiationneeded.html: Added.

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

7 years agoSort an Xcode project file.
tkent@chromium.org [Tue, 11 Sep 2012 10:11:59 +0000 (10:11 +0000)]
Sort an Xcode project file.

* WebCore.xcodeproj/project.pbxproj:

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

7 years agoRecognize the "--chromium-android" argument in run-webkit-tests
peter@chromium.org [Tue, 11 Sep 2012 10:10:06 +0000 (10:10 +0000)]
Recognize the "--chromium-android" argument in run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=96369

Reviewed by Jochen Eisinger.

Chromium for the Android platform cannot determine the platform based on
the host itself, so we'll use the --chromium-android argument as the build
master passes to run-webkit-tests. Make sure the layout test runner
can pick the right port when doing so.

* Scripts/run-webkit-tests:
* Scripts/webkitpy/layout_tests/port/factory.py:
(port_options):

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

7 years ago[WK2][EFL] Fix compile warnings when enable tiled backing store
commit-queue@webkit.org [Tue, 11 Sep 2012 10:06:58 +0000 (10:06 +0000)]
[WK2][EFL] Fix compile warnings when enable tiled backing store
https://bugs.webkit.org/show_bug.cgi?id=95342

Patch by Kangil Han <kangil.han@samsung.com> on 2012-09-11
Reviewed by Gyuyoung Kim.

Fixed compile time warning messages when enable tiled backing store.

* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_accelerated_compositing_mode_enter): Fixed invalid use of 'EINA_SAFETY_ON_NULL_RETURN_VAL' since it used '!' ahead of evasGl value so it is always null.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setChildren): Replaced 'int' i with 'unsigned' because its comparing value is 'size_t'.
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::renderNextFrame): Replaced 'int' i with 'unsigned' because its comparing value is 'size_t'.
(WebKit::LayerTreeCoordinator::beginContentUpdate): Replaced 'int' i with 'unsigned' because its comparing value is 'size_t'.

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

7 years ago[QT] Fix build with newer qmake from Qt 5
hausmann@webkit.org [Tue, 11 Sep 2012 09:57:38 +0000 (09:57 +0000)]
[QT] Fix build with newer qmake from Qt 5

Rubber-stamped by Tor Arne Vestbø.

Support for "qmake -query QMAKE_MKSPECS" was removed from qmake. Replace
it with the use of QT_HOST_DATA/mkspecs.
Based on patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com>.

* Scripts/webkitdirs.pm:
(builtDylibPathForName):
(qtMakeCommand):

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

7 years ago[Qt] Remove Qt 4 syncqt, no longer needed
vestbo@webkit.org [Tue, 11 Sep 2012 09:54:58 +0000 (09:54 +0000)]
[Qt] Remove Qt 4 syncqt, no longer needed

Reviewed by Simon Hausmann.

* qmake/syncqt-4.8: Removed.

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