[WinCairo] Compile error related to toString function.
https://bugs.webkit.org/show_bug.cgi?id=128607

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-11
Reviewed by Brent Fulgham.

* WebView.cpp:
(toString): Added another toString function to make sure we are not trying to use WTF::toString.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Stop using PLATFORM(MAC) in WebKit2/Shared except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128582

Reviewed by Darin Adler.

* Shared/API/c/WKContextMenuItem.cpp: Removed workaround for Mac Safari 6 compatibility.
(WKContextMenuItemGetTag):
* Shared/API/c/WKDeprecatedFunctions.cpp: Added && !PLATFORM(IOS), because these functions
are not needed on iOS.
* Shared/API/c/WKSharedAPICast.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::toAPI):
(WebKit::toImpl):
* Shared/APIObject.h: Ditto.
* Shared/ChildProcess.cpp: Ditto.
* Shared/ChildProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) around
setApplicationIsDaemon and setQOS. Changed it to USE(APPKIT) around stopNSAppRunLoop.
* Shared/CommandLine.h: Changed PLATFORM(MAC) to OS(UNIX) around parse().
* Shared/DictionaryPopupInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::DictionaryPopupInfo::encode):
(WebKit::DictionaryPopupInfo::decode):
* Shared/DictionaryPopupInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* Shared/Downloads/Download.h: Ditto.
* Shared/DrawingAreaInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* Shared/FontInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::FontInfo::encode):
(WebKit::FontInfo::decode):
* Shared/FontInfo.h: Ditto.
* Shared/LayerTreeContext.h: Ditto.
* Shared/NativeWebKeyboardEvent.h: Changed PLATFORM(MAC) to USE(APPKIT) around
forward-declaration of NSView.
* Shared/NativeWebMouseEvent.h: Ditto.
* Shared/NativeWebWheelEvent.h: Ditto.
* Shared/Network/CustomProtocols/Cocoa: Renamed from mac.
* Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: Renamed from CustomProtocolManagerMac.mm.
* Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerMac.mm: Removed.
* Shared/Network/CustomProtocols/CustomProtocolManager.h: Changed PLATFORM(MAC) to
PLATFORM(COCOA).
* Shared/Network/CustomProtocols/mac: Removed.
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Removed.
* Shared/PlatformPopupMenuData.cpp:  Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):
* Shared/PlatformPopupMenuData.h: Ditto.
* Shared/Plugins/Netscape/PluginInformation.cpp: Ditto.
* Shared/Plugins/PluginModuleInfo.h: Ditto.
* Shared/Plugins/PluginProcessCreationParameters.cpp: Ditto.
(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):
* Shared/Plugins/PluginProcessCreationParameters.h: Ditto.
* Shared/PrintInfo.h: Changed PLATFORM(MAC) to USE(APPKIT) around forward declaration of
NSPrintInfo.
* Shared/SandboxInitializationParameters.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* Shared/TextCheckerState.h: Changed PLATFORM(MAC) to USE(APPKIT).
* Shared/WebArchive.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* Shared/WebArchive.h: Ditto.
* Shared/WebArchiveResource.cpp: Ditto.
* Shared/WebArchiveResource.h: Ditto.
* Shared/WebCoreArgumentCoders.cpp: Ditto.
(IPC::ArgumentCoder<ResourceResponse>::encode):
(IPC::ArgumentCoder<ResourceResponse>::decode):
* Shared/WebCoreArgumentCoders.h: Ditto.
* Shared/WebEvent.h: Ditto.
* Shared/WebEventConversion.cpp: Ditto.
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
* Shared/WebKit2Initialize.cpp: Ditto.
(WebKit::InitializeWebKit2):
* Shared/WebPageCreationParameters.cpp: Ditto.
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h: Ditto.
* Shared/WebPreferencesStore.h: Ditto.
* Shared/WebProcessCreationParameters.cpp: Ditto.
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h: Ditto.
* Shared/WebWheelEvent.cpp: Ditto.
(WebKit::WebWheelEvent::WebWheelEvent):
(WebKit::WebWheelEvent::encode):
(WebKit::WebWheelEvent::decode):
* Shared/cf/ArgumentCodersCF.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION).
(IPC::decode):
* Shared/mac/CommandLineMac.cpp: Removed.
* Shared/mac/PDFKitImports.h: Removed PLATFORM(MAC)
* Shared/posix: Added.
* Shared/posix/CommandLinePOSIX.cpp: Renamed from mac/CommandLineMac.cpp and removed
comment.
* WebKit2.xcodeproj/project.pbxproj: Updated for moves and renames.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
32-bit LLInt writeBarrierOnGlobalObject is wrong
https://bugs.webkit.org/show_bug.cgi?id=128556

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm: Also fixed the value check on 64-bit.

Source/WTF:

* wtf/Platform.h: Removed OBJECT_MARK_LOGGING from Platform.h since it already exists in FeatureDefines.h


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Grid Layout] Support calc() breadth size type
https://bugs.webkit.org/show_bug.cgi?id=103761

Reviewed by Dean Jackson.

Source/WebCore:

We now support using calc() in
-webkit-grid-template-{columns|rows}. This means that we now
match the specification and support all the possible ways to
specify the track breadths.

This includes a fix to CSSCalculationValue that was converting
Length values to CalcExpressionNumber and thus removing all the
info regarding length units (px, em, pt...). That's why things
like calc(10px + 20%) were shown as calc(10 + 20%) in
getComputedStyle() output.

* css/CSSCalculationValue.cpp:
(WebCore::CSSCalcPrimitiveValue::toCalcValue):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::zoomAdjustedPixelValueForLength):
(WebCore::specifiedValueForGridTrackBreadth):
(WebCore::specifiedValueForGridTrackSize):
* css/StyleResolver.cpp:
(WebCore::createGridTrackBreadth):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeUsedBreadthOfMinLength):
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
(WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):

LayoutTests:

Added some more tests for track breadths specified with calc().

* fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
* fast/css-grid-layout/grid-columns-rows-get-set.html:
* fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt:
* fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html:
* fast/css-grid-layout/non-grid-columns-rows-get-set.html:
* fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
* fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js:
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Animation tests are flaky in Release on EWS, too.

* platform/mac/TestExpectations: Removed [ Debug ] from several animation test
expectations.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Stop throwing when attempting to read instance properties directly from the prototype
https://bugs.webkit.org/show_bug.cgi?id=128568

Reviewed by Mark Lam.

Source/WebCore:

A number of websites expect to be able to access instance properties
directly through the prototype.  This is broken behavior but if we
throw an exception the entire site breaks.  This patch simply makes us
return undefined when reading, and logs the error to the console.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttr):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionName):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjConstructorTestSubObj):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjStrictFloat):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjReplaceableAttribute):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::jsattributeReadonly):

LayoutTests:

Update tests to match required behavior.

* js/dom/dom-as-prototype-assignment-exception-expected.txt:
* js/dom/script-tests/dom-as-prototype-assignment-exception.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: AX: Accessibility Node Inspection
https://bugs.webkit.org/show_bug.cgi?id=127447

Patch by James Craig <jcraig@apple.com> on 2014-02-11
Reviewed by Timothy Hatcher.

Source/WebCore:

New methods supporting WebCore::AccessibilityObject::computedRoleString()
used for Accessibility section in WebInspector Node Inspector. Other updates
support the JSON interface for the WebInspectorUI feature.

Test: accessibility/roles-computedRoleString.html

* accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):
(WebCore::ariaRoleMap):
(WebCore::reverseAriaRoleMap):
(WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
(WebCore::AccessibilityObject::computedRoleString):
* accessibility/AccessibilityObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper computedRoleString]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
* inspector/InspectorDOMAgent.h:
* inspector/protocol/DOM.json:

Source/WebInspectorUI:

New Accessibility section in WebInspector Node Inspector.
Version 1.0 only shows computed role. Computed label should come soon.

Removed CSS fixed table layout b/c CSS bug: http://webkit.org/b/128294

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/DOMNode.js:
* UserInterface/DOMNodeDetailsSidebarPanel.js:
* UserInterface/DetailsSection.css:
* UserInterface/InspectorWebBackendCommands.js:

Tools:

New computedRoleString interfaces in DumpRenderTree/WebKitTestRunner
to support LayoutTest coverage of AccessibilityObject::computedRoleString()

* DumpRenderTree/AccessibilityUIElement.cpp:
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

LayoutTests:

New layout verifying AccessibilityObject::computedRoleString()

* accessibility/roles-computedRoleString-expected.txt: Added.
* accessibility/roles-computedRoleString.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB tests on some bots are flakey (timeouts)
<rdar://problem/16038745> and https://bugs.webkit.org/show_bug.cgi?id=128612

Reviewed by Sam Weinig.

Source/WebKit2:

When messing with JSC VM’s and such, always use APIEntryShim instead of JSLockHolder.
*ESPECIALLY* when dealing with multiple threads.

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):

LayoutTests:

* platform/mac-wk2/TestExpectations: Reenable the tests.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
iOS build fix.

* platform/ios/TileGrid.mm:
(WebCore::TileGrid::dropTilesBetweenRects):
(WebCore::TileGrid::dropDistantTiles):
(WebCore::TileGrid::dropInvalidTiles):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[ASan] Fix build failures in Tools due to missing $(inherited) values
<http://webkit.org/b/128485>

Reviewed by Dean Jackson.

* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
- Move $(inherited) from OTHER_LDFLAGS_macosx to OTHER_LDFLAGS.

* DumpRenderTree/mac/Configurations/ImageDiff.xcconfig:
* DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig:
- Add $(inherited) to OTHER_LDFLAGS.

* WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
- Add $(inherited) to OTHER_LDFLAGS, or move from
  OTHER_LDFLAGS_BASE to OTHER_LDFLAGS.
- Extract $(OTHER_LDFLAGS_BASE) from platform-specific settings
  into OTHER_LDFLAGS.


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