WebKit-https.git
6 years agoImplement key generation and JWK import for RSASSA-PKCS1-v1_5
ap@apple.com [Wed, 13 Nov 2013 00:40:22 +0000 (00:40 +0000)]
Implement key generation and JWK import for RSASSA-PKCS1-v1_5
https://bugs.webkit.org/show_bug.cgi?id=124236

Release build fix.

* bindings/js/JSCryptoAlgorithmBuilder.cpp: Include TypedArrayInlines.h

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

6 years agoImplement key generation and JWK import for RSASSA-PKCS1-v1_5
ap@apple.com [Wed, 13 Nov 2013 00:32:37 +0000 (00:32 +0000)]
Implement key generation and JWK import for RSASSA-PKCS1-v1_5
https://bugs.webkit.org/show_bug.cgi?id=124236

Reviewed by Sam Weinig.

Source/WebCore:

Tests: crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html
       crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html

* WebCore.xcodeproj/project.pbxproj: Added new files.

* bindings/js/JSCryptoAlgorithmBuilder.cpp:
(WebCore::JSCryptoAlgorithmBuilder::add):
* bindings/js/JSCryptoAlgorithmBuilder.h:
* crypto/CryptoAlgorithmDescriptionBuilder.h:
Added a way to add an Uint8Array, as needed for RSA key.algorithm.publicExponent.

* bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::createAesCbcParams): Removed unneeded JSC prefixes.
(WebCore::createAesKeyGenParams): Ditto.
(WebCore::createHmacParams): Ditto.
(WebCore::createHmacKeyParams): Ditto.
(WebCore::createRsaKeyGenParams): Added.
(WebCore::createRsaSsaKeyParams): Added. WebCrypto currently doesn't specify any
parameters for importKey, so the structure remains blank (unlike with JWK).
(WebCore::createRsaSsaParams): Added (currently unused, will be sued for sign/verify soon).
(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt): Removed unneeded JSC prefixes.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt): Ditto.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign): Added support for RSAES_PKCS1_v1_5.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify): Ditto.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest): Removed unneeded JSC prefixes.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Ditto.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey): Ditto.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits): Ditto.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Added support for RSAES_PKCS1_v1_5.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey): Removed unneeded JSC prefixes.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForWrapKey): Ditto.
(WebCore::JSCryptoAlgorithmDictionary::createParametersForUnwrapKey): Ditto.

* bindings/js/JSCryptoKeySerializationJWK.h:
* bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::getJSArrayFromJSON): Added.
(WebCore::getBigIntegerVectorFromJSON): Added.
(WebCore::createRSASSAKeyParameters): Create parameters for key import. The key
will remember which algorithm it's allowed to be used with.
(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm): Added support for
RS256...RS512 (tha is, RSAES_PKCS1_v1_5 with SHA-256...SHA-512).
(WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence): Split out of keyData().
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): Added code to read
RSA key components from JWK.
(WebCore::JSCryptoKeySerializationJWK::keyData): Call one of the above functions.

* crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Added.
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
Placeholders.

* crypto/CryptoKey.h: (WebCore::CryptoKeyClass): Added RSA key class for poor man's RTTI.

* crypto/CryptoKeyData.h: (WebCore::CryptoKeyData::FormatRSAComponents): Added RSAComponents
for poor man's RTTI.

* crypto/algorithms/CryptoAlgorithmAES_CBC.cpp: (WebCore::CryptoAlgorithmAES_CBC::importKey):
* crypto/algorithms/CryptoAlgorithmHMAC.cpp: (WebCore::CryptoAlgorithmHMAC::importKey):
* crypto/keys/CryptoKeyAES.h:
(WebCore::isCryptoKeyAES):
(WebCore::toCryptoKeyAES):
* crypto/keys/CryptoKeyDataOctetSequence.h:
(WebCore::toCryptoKeyDataOctetSequence):
* crypto/keys/CryptoKeyHMAC.h:
(WebCore::isCryptoKeyHMAC):
(WebCore::toCryptoKeyHMAC):
* crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
(WebCore::CryptoAlgorithmAES_CBC::encrypt):
(WebCore::CryptoAlgorithmAES_CBC::decrypt):
* crypto/mac/CryptoAlgorithmHMACMac.cpp:
(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):
Switched from "as" functions to "is" and "to" ones, as that's more idiomatic.

* crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp: Added.
* crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h: Added.
Glue code for importKey/generateKey for now.

* crypto/keys/CryptoKeyDataRSAComponents.cpp: Added.
(WebCore::CryptoKeyDataRSAComponents::CryptoKeyDataRSAComponents):
(WebCore::CryptoKeyDataRSAComponents::~CryptoKeyDataRSAComponents):
* crypto/keys/CryptoKeyDataRSAComponents.h: Added.
(WebCore::toCryptoKeyDataRSAComponents):
Added a structure to hold RSA key components, extracted from JWK or another format.

* crypto/keys/CryptoKeyRSA.h: Added.
* crypto/mac/CryptoKeyRSAMac.cpp: Added.

* crypto/mac/CryptoAlgorithmRegistryMac.cpp:
(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
Register RSASSA_PKCS1_v1_5.

* crypto/parameters/CryptoAlgorithmHmacKeyParams.h: Added a constructor to make
sure that hasLength is never left uninitialized, even when reading formats that
don't contain a length.

* crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h: Added.
* crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Added.
* crypto/parameters/CryptoAlgorithmRsaSsaParams.h: Added.
Added parameter structures that are needed for RSASSA_PKCS1_v1_5.

LayoutTests:

* crypto/subtle/resources/common.js:
(hexToArrayBuffer): Fixed a typo
(Base64URL.stringify):
(Base64URL.parse):
Added helpers to deal with Base64URL, as needed for JWK.

* crypto/subtle/rsassa-pkcs1-v1_5-generate-key-expected.txt: Added.
* crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html: Added.
* crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-expected.txt: Added.
* crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html: Added.

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

6 years agoMove ValueToString out to its own header file to remove duplication
bjonesbe@adobe.com [Wed, 13 Nov 2013 00:31:31 +0000 (00:31 +0000)]
Move ValueToString out to its own header file to remove duplication
https://bugs.webkit.org/show_bug.cgi?id=124237

Reviewed by Alexandru Chiculita.

The ValueToString struct is used in many places for debugging. Move it
out to its own header file to remove all the duplicated definitions
and make it possible for the specializations to be placed in the
header files with the implementation of the classes they print.

No new tests, no behavior change.

* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLMediaElement.h:
* platform/LayoutUnit.h:
* platform/PODInterval.h:
* platform/PODIntervalTree.h:
* platform/PODRedBlackTree.h:
* platform/ValueToString.h: Added.
* platform/graphics/FloatPolygon.h:
* rendering/FloatingObjects.cpp:
* rendering/FloatingObjects.h:
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.h:
* rendering/RenderFlowThread.h:

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

6 years agoFix GTK build after r159142
commit-queue@webkit.org [Wed, 13 Nov 2013 00:28:05 +0000 (00:28 +0000)]
Fix GTK build after r159142
https://bugs.webkit.org/show_bug.cgi?id=124243

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-12
Reviewed by Anders Carlsson.

Use Vector + ImmutableArray instead of MutableArray

* UIProcess/API/gtk/WebKitContextMenuItem.cpp:
(webkitContextMenuItemCreate):

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

6 years ago[Windows] Unreviewed gardening. Re-add someone Windows expections that were erroneous...
roger_fong@apple.com [Wed, 13 Nov 2013 00:20:53 +0000 (00:20 +0000)]
[Windows] Unreviewed gardening. Re-add someone Windows expections that were erroneously removed.

* platform/win/editing/selection/extend-selection-home-end-expected.txt: Added.
* platform/win/fast/canvas/canvas-draw-canvas-on-canvas-shadow-expected.txt: Added.
* platform/win/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Added.
* platform/win/fast/canvas/canvas-render-layer-expected.txt: Added.
* platform/win/fast/canvas/canvas-scale-shadowBlur-expected.txt: Added.
* platform/win/fast/canvas/canvas-scale-strokePath-shadow-expected.txt: Added.
* platform/win/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Added.
* platform/win/fast/canvas/canvas-strokeRect-alpha-shadow-expected.txt: Added.
* platform/win/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Added.
* platform/win/fast/dom/horizontal-scrollbar-in-rtl-expected.txt: Added.
* platform/win/fast/dom/vertical-scrollbar-in-rtl-expected.txt: Added.
* platform/win/fast/forms/cursor-at-editable-content-boundary-expected.txt: Added.
* platform/win/fast/forms/implicit-submission-expected.txt: Added.
* platform/win/fast/forms/select-popup-pagekeys-expected.txt: Added.
* platform/win/fast/forms/slider-mouse-events-expected.txt: Added.
* platform/win/media/media-can-play-wav-audio-expected.txt:

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

6 years agoRemove ImmutableArray::isMutable
andersca@apple.com [Wed, 13 Nov 2013 00:04:05 +0000 (00:04 +0000)]
Remove ImmutableArray::isMutable
https://bugs.webkit.org/show_bug.cgi?id=124242

Reviewed by Dan Bernstein.

* Shared/API/c/WKMutableArray.cpp:
(WKArrayIsMutable):
* Shared/Cocoa/WKNSArray.mm:
(-[WKNSArray copyWithZone:]):
* Shared/ImmutableArray.h:

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

6 years agoWKMutableArrayRef should be an ImmutableArray
andersca@apple.com [Tue, 12 Nov 2013 23:37:46 +0000 (23:37 +0000)]
WKMutableArrayRef should be an ImmutableArray
https://bugs.webkit.org/show_bug.cgi?id=124239

Reviewed by Sam Weinig.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(ensureObjectStream):
* Shared/API/c/WKMutableArray.cpp:
(WKMutableArrayCreate):
* Shared/API/c/WKSharedAPICast.h:

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

6 years agoFix windows build bustage.
hyatt@apple.com [Tue, 12 Nov 2013 23:14:41 +0000 (23:14 +0000)]
Fix windows build bustage.

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

6 years ago[sh4] Fix load32WithUnalignedHalfWords function in baseline JIT.
commit-queue@webkit.org [Tue, 12 Nov 2013 23:09:39 +0000 (23:09 +0000)]
[sh4] Fix load32WithUnalignedHalfWords function in baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=124233

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-12
Reviewed by Michael Saboff.

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::load32WithUnalignedHalfWords): Do not claim scratch register too early.
Test already covered by fast/regex/pcre-test-1.

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

6 years agoRemove more functionality from MutableArray
andersca@apple.com [Tue, 12 Nov 2013 23:04:46 +0000 (23:04 +0000)]
Remove more functionality from MutableArray
https://bugs.webkit.org/show_bug.cgi?id=124235

Reviewed by Beth Dakin.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeToObjectStream):
* Shared/API/c/WKMutableArray.cpp:
(WKArrayAppendItem):
(WKArrayRemoveItemAtIndex):
* Shared/Cocoa/WKNSArray.mm:
(-[WKNSArray copyWithZone:]):
* Shared/ImmutableArray.h:
(WebKit::ImmutableArray::elements):
* Shared/MutableArray.cpp:
* Shared/MutableArray.h:

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

6 years agoWeb Inspector: ContentFlowTreeContentView should use only one DOMTreeOutline
achicu@adobe.com [Tue, 12 Nov 2013 23:03:59 +0000 (23:03 +0000)]
Web Inspector: ContentFlowTreeContentView should use only one DOMTreeOutline
https://bugs.webkit.org/show_bug.cgi?id=124230

Reviewed by Timothy Hatcher.

Changed ContentFlowTreeContentView to use one DOMTreeOutline by just
populating it with root DOMTreeElements directly. That is very
similar to how DOMTreeOutline works when omitRootDOMNode is used.

Now that ContentFlowTreeContentView has only one DOMTreeOutline,
it makes sense to change its base class to be DOMTreeContentView instead.
Also, with that I've changed its name to ContentFlowDOMTreeContentView.

I had to move all the DOMTree document loading code from DOMTreeContentView to a
new class called FrameDOMTreeContentView. This is used to display the DOM of the
frame objects. FrameDOMTreeContentView is also inheriting from DOMTreeContentView.

Issues that are fixed as a side effect:
- Selection path components are now displaying all the sibling elements for contentFlow.contentNodes
(those are the nodes that have "-webkit-flow-into" set directly).
- Keyboard navigation works for the contentFlow.contentNodes.
- Search is implemented in DOMTreeContentView, so that code now works for flows too.
The DOMAgents's search API will use all the Documents to lookup for nodes, so it might
find DOM nodes that are not part of the flow. This is in line with the behavior for the
frames.

* UserInterface/ContentFlowDOMTreeContentView.js: Renamed from ContentFlowTreeContentView
to better reflect the inheritance from DOMTreeContentView.
(WebInspector.ContentFlowDOMTreeContentView):
(WebInspector.ContentFlowDOMTreeContentView.prototype.closed):
(WebInspector.ContentFlowDOMTreeContentView.prototype._createContentTrees):
(WebInspector.ContentFlowDOMTreeContentView.prototype._contentNodeWasAdded):
(WebInspector.ContentFlowDOMTreeContentView.prototype._contentNodeWasRemoved):
* UserInterface/ContentView.js:
(WebInspector.ContentView):
* UserInterface/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView):
(WebInspector.DOMTreeContentView.prototype.closed):
(WebInspector.DOMTreeContentView.prototype.):
(WebInspector.DOMTreeContentView.prototype._restoreSelectedNodeAfterUpdate):
(WebInspector.DOMTreeContentView.prototype._selectedNodeDidChange):
* UserInterface/FrameDOMTreeContentView.js: Added.
(WebInspector.FrameDOMTreeContentView):
(WebInspector.FrameDOMTreeContentView.prototype.get domTree):
(WebInspector.FrameDOMTreeContentView.prototype.closed):
(WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeAvailable):
(WebInspector.FrameDOMTreeContentView.prototype._rootDOMNodeInvalidated):
(WebInspector.FrameDOMTreeContentView.prototype._requestRootDOMNode):
* UserInterface/Main.html:

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

6 years agoMake RenderBlockRareData be in a hashtable instead of being a member variable.
hyatt@apple.com [Tue, 12 Nov 2013 22:51:12 +0000 (22:51 +0000)]
Make RenderBlockRareData be in a hashtable instead of being a member variable.
https://bugs.webkit.org/show_bug.cgi?id=124056

Reviewed by Anders Carlsson.

Right now RenderBlock has 4 bytes taken up by a m_rareData member that is almost
never allocated. This is better off in a separate hash, so that RenderBlock can
get 4 bytes back.

Since RenderBlockFlow's rare data member was recently removed and folded into
RenderBlock, we need to undo that change and put the rare data member back in
RenderBlockFlow. RenderBlockFlowRareData inheriting from RenderBlockRareData
was not a good idea anyway, since RenderBlockFlows also very rarely need the
RenderBlockRareData members, and were thus paying a heavier cost when the rare
data was created than was necessary.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlockRareData::RenderBlockRareData):
(WebCore::RenderBlock::~RenderBlock):
(WebCore::RenderBlock::hasRareData):
(WebCore::getRareData):
(WebCore::ensureRareData):
(WebCore::RenderBlock::ensureShapeInsideInfo):
(WebCore::RenderBlock::shapeInsideInfo):
(WebCore::RenderBlock::setShapeInsideInfo):
(WebCore::RenderBlock::paginationStrut):
(WebCore::RenderBlock::pageLogicalOffset):
(WebCore::RenderBlock::setPaginationStrut):
(WebCore::RenderBlock::setPageLogicalOffset):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::setMaxMarginBeforeValues):
(WebCore::RenderBlockFlow::setMaxMarginAfterValues):
(WebCore::RenderBlockFlow::setMustDiscardMarginBefore):
(WebCore::RenderBlockFlow::setMustDiscardMarginAfter):
(WebCore::RenderBlockFlow::mustDiscardMarginBefore):
(WebCore::RenderBlockFlow::mustDiscardMarginAfter):
(WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
(WebCore::RenderBlockFlow::setDidBreakAtLineToAvoidWidow):
(WebCore::RenderBlockFlow::clearDidBreakAtLineToAvoidWidow):
(WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):
(WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
(WebCore::RenderBlockFlow::ensureRareBlockFlowData):
(WebCore::RenderBlockFlow::materializeRareBlockFlowData):
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow):
(WebCore::RenderBlockFlow::lineBreakToAvoidWidow):
(WebCore::RenderBlockFlow::didBreakAtLineToAvoidWidow):
(WebCore::RenderBlockFlow::lineGridBox):
(WebCore::RenderBlockFlow::setLineGridBox):
(WebCore::RenderBlockFlow::renderNamedFlowFragment):
(WebCore::RenderBlockFlow::maxPositiveMarginBefore):
(WebCore::RenderBlockFlow::maxNegativeMarginBefore):
(WebCore::RenderBlockFlow::maxPositiveMarginAfter):
(WebCore::RenderBlockFlow::maxNegativeMarginAfter):
(WebCore::RenderBlockFlow::initMaxMarginValues):
(WebCore::RenderBlockFlow::hasRareBlockFlowData):
(WebCore::RenderBlockFlow::rareBlockFlowData):

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

6 years agoRemove most uses of MutableArray
andersca@apple.com [Tue, 12 Nov 2013 22:20:14 +0000 (22:20 +0000)]
Remove most uses of MutableArray
https://bugs.webkit.org/show_bug.cgi?id=124232

Reviewed by Sam Weinig.

* Shared/API/c/WKMutableArray.cpp:
(WKMutableArrayCreate):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageDecoder::baseDecode):
* Shared/WebRenderLayer.h:
(WebKit::WebRenderLayer::create):
(WebKit::WebRenderLayer::WebRenderLayer):
* Shared/WebRenderObject.cpp:
(WebKit::WebRenderObject::WebRenderObject):
* Shared/WebRenderObject.h:
(WebKit::WebRenderObject::create):
(WebKit::WebRenderObject::WebRenderObject):
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
(WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):

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

6 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Tue, 12 Nov 2013 21:51:17 +0000 (21:51 +0000)]
[Win] Unreviewed gardening.

* WTF.vcxproj/WTF.vcxproj.filters: Tidy up filters so files show up
in their proper directories.

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

6 years agoBuild GStreamer files on Windows.
alex.christensen@flexsim.com [Tue, 12 Nov 2013 21:44:40 +0000 (21:44 +0000)]
Build GStreamer files on Windows.
https://bugs.webkit.org/show_bug.cgi?id=124180

Reviewed by Brent Fulgham.

Source/WebCore:

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.vcxproj/copyForwardingHeaders.cmd:
Include gstreamer files in WinCairo build.

Source/WTF:

* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.vcxproj/copy-files.cmd:
Include gobject files in WinCairo build.

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

6 years agoAdd fast/images/pdf-as-image-crop-box.html to the pile of tiny-color-mismatch tests.
timothy_horton@apple.com [Tue, 12 Nov 2013 21:33:32 +0000 (21:33 +0000)]
Add fast/images/pdf-as-image-crop-box.html to the pile of tiny-color-mismatch tests.

* platform/mac-wk2/TestExpectations:

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

6 years agoIntroduce IDBServerConnection (and start moving things to it).
beidson@apple.com [Tue, 12 Nov 2013 21:31:42 +0000 (21:31 +0000)]
Introduce IDBServerConnection (and start moving things to it).
https://bugs.webkit.org/show_bug.cgi?id=124193

Reviewed by Alexey Proskuryakov.

IDBServerConnection will be a purely asynchronous interface for database connections, transactions, and cursors.
Its interface will be 100% asynchronous and callback based - Perfect for an IPC divide.
Eventually none of the IDB<Foo>Backend classes will need IDBBackingStore<Foo> classes at all,
and they’ll all use IDBServerConnection directly.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBServerConnection.h: Added.
(WebCore::IDBServerConnection::~IDBServerConnection):

Concrete implementation that - for now - wraps an IDBBackingStoreLevelDB:
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp: Added.
(WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
(WebCore::IDBServerConnectionLevelDB::deprecatedBackingStore):
(WebCore::IDBServerConnectionLevelDB::isClosed):
(WebCore::IDBServerConnectionLevelDB::getOrEstablishIDBDatabaseMetadata):
(WebCore::IDBServerConnectionLevelDB::deleteDatabase):
(WebCore::IDBServerConnectionLevelDB::close):
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h: Added.

LevelDB created databases get LevelDB server connections:
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
(WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
(WebCore::IDBFactoryBackendLevelDB::open):

Replace most uses of IDBBackingStore with server connection:
* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::create):
(WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
(WebCore::IDBDatabaseBackend::openInternalAsync):
(WebCore::IDBDatabaseBackend::setIndexKeys):
(WebCore::IDBDatabaseBackend::openConnectionInternal):
(WebCore::IDBDatabaseBackend::deleteDatabaseAsync):
(WebCore::IDBDatabaseBackend::close):
* Modules/indexeddb/IDBDatabaseBackend.h:
(WebCore::IDBDatabaseBackend::serverConnection):

Change all the operations to access their DatabaseBackend’s server connection instead
if hanging on to a backing store directly:
* Modules/indexeddb/IDBTransactionBackend.cpp:
(WebCore::IDBTransactionBackend::IDBTransactionBackend):
(WebCore::IDBTransactionBackend::scheduleCreateObjectStoreOperation):
(WebCore::IDBTransactionBackend::scheduleDeleteObjectStoreOperation):
(WebCore::IDBTransactionBackend::scheduleCreateIndexOperation):
(WebCore::IDBTransactionBackend::scheduleDeleteIndexOperation):
(WebCore::IDBTransactionBackend::scheduleGetOperation):
(WebCore::IDBTransactionBackend::schedulePutOperation):
(WebCore::IDBTransactionBackend::scheduleOpenCursorOperation):
(WebCore::IDBTransactionBackend::scheduleCountOperation):
(WebCore::IDBTransactionBackend::scheduleDeleteRangeOperation):
(WebCore::IDBTransactionBackend::scheduleClearOperation):
* Modules/indexeddb/IDBTransactionBackend.h:

* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::CreateObjectStoreOperation::perform):
(WebCore::CreateIndexOperation::perform):
(WebCore::DeleteIndexOperation::perform):
(WebCore::GetOperation::perform):
(WebCore::PutOperation::perform):
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::DeleteRangeOperation::perform):
(WebCore::ClearOperation::perform):
(WebCore::DeleteObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
* Modules/indexeddb/IDBTransactionBackendOperations.h:
(WebCore::CreateObjectStoreOperation::create):
(WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
(WebCore::DeleteObjectStoreOperation::create):
(WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
(WebCore::CreateIndexOperation::create):
(WebCore::CreateIndexOperation::CreateIndexOperation):
(WebCore::DeleteIndexOperation::create):
(WebCore::DeleteIndexOperation::DeleteIndexOperation):
(WebCore::GetOperation::create):
(WebCore::GetOperation::GetOperation):
(WebCore::PutOperation::create):
(WebCore::PutOperation::PutOperation):
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(WebCore::CountOperation::create):
(WebCore::CountOperation::CountOperation):
(WebCore::DeleteRangeOperation::create):
(WebCore::DeleteRangeOperation::DeleteRangeOperation):
(WebCore::ClearOperation::create):
(WebCore::ClearOperation::ClearOperation):
* Modules/indexeddb/IDBTransactionCoordinator.h:

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

6 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Tue, 12 Nov 2013 21:17:23 +0000 (21:17 +0000)]
[Win] Unreviewed gardening.

* WebCore.vcxproj/WebCore.vcxproj.filters: Correct filter file so that source
files show up in their proper directories in Visual Studio.

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

6 years agoUse Vector + ImmutableArray instead of MutableArray
andersca@apple.com [Tue, 12 Nov 2013 21:04:45 +0000 (21:04 +0000)]
Use Vector + ImmutableArray instead of MutableArray
https://bugs.webkit.org/show_bug.cgi?id=124221

Reviewed by Andreas Kling.

* Shared/WebRenderLayer.cpp:
(WebKit::WebRenderLayer::createArrayFromLayerList):
* Shared/WebRenderLayer.h:
* UIProcess/Notifications/WebNotificationProvider.cpp:
(WebKit::WebNotificationProvider::clearNotifications):
* UIProcess/WebPageContextMenuClient.cpp:
(WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(contextMenuItems):
(WKBundlePageCopyContextMenuItems):
(WKBundlePageCopyContextMenuAtPointInWindow):

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

6 years agoLiveness analysis should take less memory in CodeBlock when it is unused
fpizlo@apple.com [Tue, 12 Nov 2013 21:02:12 +0000 (21:02 +0000)]
Liveness analysis should take less memory in CodeBlock when it is unused
https://bugs.webkit.org/show_bug.cgi?id=124225

Reviewed by Mark Hahnenberg.

Basically, I turned CodeBlock::m_livenessAnalysis into a pointer that is null by
default.

* bytecode/BytecodeLivenessAnalysis.cpp:
(JSC::BytecodeLivenessAnalysis::BytecodeLivenessAnalysis):
(JSC::BytecodeLivenessAnalysis::runLivenessFixpoint):
(JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::dumpResults):
(JSC::BytecodeLivenessAnalysis::compute):
* bytecode/BytecodeLivenessAnalysis.h:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::livenessAnalysis):

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

6 years agofast/canvas/webgl/draw-arrays-out-of-bounds.html is flaky on Mavericks WK2 testers...
timothy_horton@apple.com [Tue, 12 Nov 2013 20:57:28 +0000 (20:57 +0000)]
fast/canvas/webgl/draw-arrays-out-of-bounds.html is flaky on Mavericks WK2 testers, fails about 20% of the time
https://bugs.webkit.org/show_bug.cgi?id=124223

Mark as flaky on Mac-Mavericks-WebKit2.

* platform/mac-wk2/TestExpectations:

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

6 years agoSupport unprefixed deconstructing assignment
oliver@apple.com [Tue, 12 Nov 2013 20:55:29 +0000 (20:55 +0000)]
Support unprefixed deconstructing assignment
https://bugs.webkit.org/show_bug.cgi?id=124172

Reviewed by Mark Lam.

Source/JavaScriptCore:

Add support for unprefixed descontructive assignment.

Happily non-reference types on the left hand side of an assignment
are a runtime error, so we're able to defer validation of the binding
pattern to codegen time when we're already doing a lot more work.

We're also able to predicate our attempt to parse on the existence of
'[' or '{' as they are not as common as other constructs.

* bytecompiler/NodesCodegen.cpp:
(JSC::ArrayPatternNode::emitDirectBinding):
* parser/ASTBuilder.h:
* parser/Parser.cpp:
(JSC::::createBindingPattern):
(JSC::::tryParseDeconstructionPatternExpression):
(JSC::::parseDeconstructionPattern):
(JSC::::parseForStatement):
(JSC::::parseAssignmentExpression):
* parser/Parser.h:
(JSC::Parser::createSavePoint):
(JSC::Parser::restoreSavePoint):
* parser/SyntaxChecker.h:

LayoutTests:

Add and expand testing of destructuring assignment

* js/basic-for-of-expected.txt:
* js/destructuring-assignment-expected.txt:
* js/parser-syntax-check-expected.txt:
* js/script-tests/basic-for-of.js:
* js/script-tests/destructuring-assignment.js:
(testDestructuring):
* js/script-tests/parser-syntax-check.js:

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

6 years agoRun JavaScriptCore Objective-C API tests on all supported platforms
aestes@apple.com [Tue, 12 Nov 2013 20:50:45 +0000 (20:50 +0000)]
Run JavaScriptCore Objective-C API tests on all supported platforms
https://bugs.webkit.org/show_bug.cgi?id=124214

Reviewed by Mark Hahnenberg.

Now that we support the API on iOS and on OS X 10.8, there's no reason
to limit the tests to OS X 10.9 (or greater).

* API/tests/CurrentThisInsideBlockGetterTest.h:
* API/tests/CurrentThisInsideBlockGetterTest.mm:
* API/tests/testapi.mm:

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

6 years ago[Windows] Unreviewed gardening of some media tests.
roger_fong@apple.com [Tue, 12 Nov 2013 20:43:16 +0000 (20:43 +0000)]
[Windows] Unreviewed gardening of some media tests.

* platform/win/TestExpectations:

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

6 years agoCodeBlocks should be able to determine bytecode liveness
mhahnenberg@apple.com [Tue, 12 Nov 2013 20:35:34 +0000 (20:35 +0000)]
CodeBlocks should be able to determine bytecode liveness
https://bugs.webkit.org/show_bug.cgi?id=118546

Reviewed by Filip Pizlo.

This will simplify some things in the DFG related to OSR exits and determining
which bytecode variables are live at which points during execution. It will
also be useful for making our conservative GC scan more precise. Currently it
doesn't properly account for liveness while the DFG is running, so it will be
off by default behing a runtime Options flag.

* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/BytecodeBasicBlock.cpp: Added.
(JSC::isBranch): Used to determine the end of basic blocks.
(JSC::isUnconditionalBranch): Used to determine when a branch at the end of a
basic block can't possibly fall through to the next basic block in program order.
(JSC::isTerminal): Also used to detect the end of a block.
(JSC::isThrow):
(JSC::isJumpTarget): Used to correctly separate basic blocks. Any jump destination
must be the head of its own basic block.
(JSC::linkBlocks): Links two blocks together in a bi-direcitonal fashion.
(JSC::computeBytecodeBasicBlocks): Creates a set of basic blocks given a particular
CodeBlock and links them together.
* bytecode/BytecodeBasicBlock.h: Added.
(JSC::BytecodeBasicBlock::isEntryBlock): Entry blocks are a special basic blocks
that indicate the beginning of the function.
(JSC::BytecodeBasicBlock::isExitBlock): Exit blocks are a special basic block that
all blocks that exit the function have as a successor. Entry and exit blocks allows
the various code paths to be more regular.
(JSC::BytecodeBasicBlock::leaderBytecodeOffset): The leader bytecode offset is the
bytecode offset of the first instruction in the block.
(JSC::BytecodeBasicBlock::totalBytecodeLength): The total length of all the bytecodes
in this block.
(JSC::BytecodeBasicBlock::bytecodeOffsets): The bytecode offsets in this particular
basic block. This Vector allows us to iterate over the bytecodes in reverse order
which wouldn't be possible normally since they are of variable size.
(JSC::BytecodeBasicBlock::addPredecessor): Links a block to a specified predecessor.
Only creates one direction of the link.
(JSC::BytecodeBasicBlock::addSuccessor): Same as addPredecessor, but for successors.
(JSC::BytecodeBasicBlock::predecessors): Getter for predecessors.
(JSC::BytecodeBasicBlock::successors): Getter for successors.
(JSC::BytecodeBasicBlock::in): Getter for the liveness info at the head of the block.
(JSC::BytecodeBasicBlock::out): Getter for the liveness info at  the tail of the block.
(JSC::BytecodeBasicBlock::BytecodeBasicBlock):
(JSC::BytecodeBasicBlock::addBytecodeLength): When creating basic blocks we call
this function when we want to add the next bytecode in program order to this block.
* bytecode/BytecodeLivenessAnalysis.cpp: Added.
(JSC::BytecodeLivenessAnalysis::BytecodeLivenessAnalysis):
(JSC::numberOfCapturedVariables): Convenience wrapper. Returns the
number of captured variables for a particular CodeBlock, or 0 if
the CodeBlock has no SymbolTable.
(JSC::captureStart): Ditto, but for captureStart().
(JSC::captureEnd): Ditto, but for captureEnd().
(JSC::isValidRegisterForLiveness): Returns true if the liveness analysis should
track the liveness of a particular operand. We ignore constants, arguments, and
captured variables. We ignore arguments because they're live for the duration of
a function call. We ignore captured variables because we also treat them as live
for the duration of the function. This could probably be improved to be more precise,
but it didn't seem worth it for now.
(JSC::setForOperand): Convenience wrapper that sets the bit in the provided bit
vector for the provided operand. It handles skipping over captured variables.
(JSC::computeUsesForBytecodeOffset): Computes which operands are used by a particular bytecode.
(JSC::computeDefsForBytecodeOffset): Computes which operands are defined by a particular
bytecode. Typically this is just the left-most operand.
(JSC::findBasicBlockWithLeaderOffset):
(JSC::findBasicBlockForBytecodeOffset): Scans over basic blocks to find the block
which contains a particular bytecode offset.
(JSC::computeLocalLivenessForBytecodeOffset): Computes block-local liveness from the
bottom of the block until a specified bytecode offset is reached.
(JSC::computeLocalLivenessForBlock): Computes liveness for the entire block and
stores the resulting liveness at the head.
(JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): Runs backward flow liveness
analysis to fixpoint.
(JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset):
Slow path to get liveness info for non-captured, non-argument variable.
(JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): Returns the liveness
info for both captured and non-captured vars at a particular bytecode offset.
(JSC::BytecodeLivenessAnalysis::dumpResults): Dumps the output of the liveness analysis.
Controlled by new flag in Options.h/.cpp.
(JSC::BytecodeLivenessAnalysis::compute): Creates bytecode basic blocks and runs
full liveness analysis.
* bytecode/BytecodeLivenessAnalysis.h: Added.
(JSC::BytecodeLivenessAnalysis::hasBeenComputed):
(JSC::BytecodeLivenessAnalysis::computeIfNecessary):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::livenessAnalysis):
* bytecode/PreciseJumpTargets.cpp: Refactored to be able to get the jump targets for
a particular bytecode offset for use during bytecode basic block construction.
(JSC::getJumpTargetsForBytecodeOffset):
(JSC::computePreciseJumpTargets):
(JSC::findJumpTargetsForBytecodeOffset):
* bytecode/PreciseJumpTargets.h:
* runtime/Options.cpp:
(JSC::Options::initialize):
* runtime/Options.h:

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

6 years ago"AVF info: hasOfflineRenderer, board-id check : true" in media/track/track-forced...
timothy_horton@apple.com [Tue, 12 Nov 2013 20:30:05 +0000 (20:30 +0000)]
"AVF info: hasOfflineRenderer, board-id check : true" in media/track/track-forced-subtitles-in-band.html
https://bugs.webkit.org/show_bug.cgi?id=124219

Logging that happens unpredictably underneath us; marking the test as flaky on Mavericks for now.

* platform/mac/TestExpectations:

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

6 years agoUnreviewed GTK build fix after r159129.
zandobersek@gmail.com [Tue, 12 Nov 2013 20:19:12 +0000 (20:19 +0000)]
Unreviewed GTK build fix after r159129.

* UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
(webkit_file_chooser_request_select_files): Use ImmutableArray::create() instead.
* UIProcess/API/gtk/WebKitWebViewGroup.cpp:
(toImmutableArray): Ditto.

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

6 years agoStop using WKArrayCreate internally
andersca@apple.com [Tue, 12 Nov 2013 20:16:45 +0000 (20:16 +0000)]
Stop using WKArrayCreate internally
https://bugs.webkit.org/show_bug.cgi?id=124217

Reviewed by Andreas Kling.

* UIProcess/API/mac/WKBrowsingContextGroup.mm:
(createWKArray):
(-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]):
(-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]):
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageCopyContextMenuItems):

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

6 years agoCreated test for testing repaint rects for elements inside relative-positioned regions.
stavila@adobe.com [Tue, 12 Nov 2013 20:05:22 +0000 (20:05 +0000)]
Created test for testing repaint rects for elements inside relative-positioned regions.

[CSS Regions] clip rectangles are incorrectly computed in some positioned elements
https://bugs.webkit.org/show_bug.cgi?id=114722

Reviewed by Mihnea Ovidenie.

* fast/repaint/increasing-region-content-height-expected.txt: Added.
* fast/repaint/increasing-region-content-height.html: Added.

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

6 years agoURTBF after r159129, use create() instead of adopt() everywhere.
ossy@webkit.org [Tue, 12 Nov 2013 19:40:51 +0000 (19:40 +0000)]
URTBF after r159129, use create() instead of adopt() everywhere.

* UIProcess/WebGrammarDetail.cpp:
(WebKit::WebGrammarDetail::guesses):
* UIProcess/efl/WebUIPopupMenuClient.cpp:
(WebUIPopupMenuClient::showPopupMenu):

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

6 years agoAfter http://trac.webkit.org/changeset/159109, update
timothy_horton@apple.com [Tue, 12 Nov 2013 19:40:14 +0000 (19:40 +0000)]
After trac.webkit.org/changeset/159109, update
rebaseline_unittest to use the new GTK bot names.

* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineTest.test_baseline_directory):

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

6 years agoSimplify ImmutableArray creation
andersca@apple.com [Tue, 12 Nov 2013 19:24:01 +0000 (19:24 +0000)]
Simplify ImmutableArray creation
https://bugs.webkit.org/show_bug.cgi?id=124213

Reviewed by Andreas Kling.

Get rid of the various ImmutableArray::adopt functions and have a single create function instead.
Use std::move to avoid unnecessarily copying vector data.

* Shared/API/c/WKArray.cpp:
(WKArrayCreate):
(WKArrayCreateAdoptingValues):
* Shared/Cocoa/WKNSArray.mm:
(-[WKNSArray copyWithZone:]):
* Shared/ImmutableArray.cpp:
(WebKit::ImmutableArray::create):
(WebKit::ImmutableArray::createStringArray):
(WebKit::ImmutableArray::ImmutableArray):
* Shared/ImmutableArray.h:
(WebKit::ImmutableArray::at):
(WebKit::ImmutableArray::size):
(WebKit::ImmutableArray::entries):
* Shared/ImmutableDictionary.cpp:
(WebKit::ImmutableDictionary::keys):
* Shared/MutableArray.cpp:
(WebKit::MutableArray::MutableArray):
(WebKit::MutableArray::append):
(WebKit::MutableArray::reserveCapacity):
(WebKit::MutableArray::removeItemAtIndex):
* Shared/SecurityOriginData.cpp:
(WebKit::performAPICallbackWithSecurityOriginDataVector):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageDecoder::baseDecode):
* Shared/WebArchive.cpp:
(WebKit::WebArchive::subresources):
(WebKit::WebArchive::subframeArchives):
* Shared/WebContextMenuItem.cpp:
(WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextGetInfoForInstalledPlugIns):
* UIProcess/StatisticsRequest.cpp:
(WebKit::StatisticsRequest::completedRequest):
* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
* UIProcess/WebKeyValueStorageManager.cpp:
(WebKit::didGetKeyValueStorageOrigins):
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::didChangeBackForwardList):
* UIProcess/WebPageContextMenuClient.cpp:
(WebKit::WebPageContextMenuClient::showContextMenu):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::relatedPages):
(WebKit::WebPageProxy::didFindStringMatches):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::originsWithApplicationCache):
* WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
(WebKit::InjectedBundleBackForwardListItem::children):
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::childFrames):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::trackedRepaintRects):

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

6 years agoFix accessibility/aria-help after r159067.
timothy_horton@apple.com [Tue, 12 Nov 2013 19:21:09 +0000 (19:21 +0000)]
Fix accessibility/aria-help after r159067.

It's failing everywhere because the path to its script is wrong.

* accessibility/aria-help.html:

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

6 years agoThe last URTBF after r159108 to make GTK happy.
ossy@webkit.org [Tue, 12 Nov 2013 19:18:55 +0000 (19:18 +0000)]
The last URTBF after r159108 to make GTK happy.

* GNUmakefile.am:

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

6 years agoOne more URTBF after r159108, I hope the last one.
ossy@webkit.org [Tue, 12 Nov 2013 19:06:07 +0000 (19:06 +0000)]
One more URTBF after r159108, I hope the last one.

* GNUmakefile.am:

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

6 years ago[iOS] Define JSC_OBJC_API_ENABLED
aestes@apple.com [Tue, 12 Nov 2013 19:01:10 +0000 (19:01 +0000)]
[iOS] Define JSC_OBJC_API_ENABLED
https://bugs.webkit.org/show_bug.cgi?id=124192

Reviewed by Geoffrey Garen.

* API/JSBase.h: JSC_OBJC_API_ENABLED should evaluate to true if
TARGET_OS_IPHONE is true.
* API/JSValue.h: Ensure CG types referenced later in the file are defined.

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

6 years agoRemote Layer Tree: Assertions during layer flushing after replaceSublayer()
timothy_horton@apple.com [Tue, 12 Nov 2013 18:55:22 +0000 (18:55 +0000)]
Remote Layer Tree: Assertions during layer flushing after replaceSublayer()
https://bugs.webkit.org/show_bug.cgi?id=124194

Reviewed by Anders Carlsson.

* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::replaceSublayer):
Only remove the old layer from the children array once (via removeFromSuperlayer).
Update the superlayer backpointer on the new layer.

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

6 years agoAdd ImmutableArray::createStringArray
andersca@apple.com [Tue, 12 Nov 2013 18:32:53 +0000 (18:32 +0000)]
Add ImmutableArray::createStringArray
https://bugs.webkit.org/show_bug.cgi?id=124210

Reviewed by Andreas Kling.

Creating an ImmutableArray of WebStrings is a common operation, so add a
helper function to ImmutableArray that does this from a Vector of Strings.

* Shared/ImmutableArray.cpp:
(WebKit::ImmutableArray::createStringArray):
* Shared/ImmutableArray.h:
* Shared/ImmutableDictionary.cpp:
(WebKit::ImmutableDictionary::keys):
* Shared/WebOpenPanelParameters.cpp:
(WebKit::WebOpenPanelParameters::acceptMIMETypes):
(WebKit::WebOpenPanelParameters::selectedFileNames):
* UIProcess/Plugins/WebPluginSiteDataManager.cpp:
(WebKit::WebPluginSiteDataManager::didGetSitesWithData):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
* UIProcess/WebMediaCacheManagerProxy.cpp:
(WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):

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

6 years ago[WinCairo] Preparation for ENABLE(VIDEO).
alex.christensen@flexsim.com [Tue, 12 Nov 2013 18:22:47 +0000 (18:22 +0000)]
[WinCairo] Preparation for ENABLE(VIDEO).
https://bugs.webkit.org/show_bug.cgi?id=57420

Reviewed by Martin Robinson.

Source/WebCore:

* platform/FileSystem.h:
* platform/graphics/MediaPlayer.cpp:
* rendering/RenderMediaControls.cpp:
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::adjustSliderThumbSize):
Separated CG code from GStreamer code.

Source/WebKit/win:

* FullscreenVideoController.cpp:
Don't compile if using GStreamer.

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

6 years agoRemove body onload handler from html5-8266.html that was causing
akling@apple.com [Tue, 12 Nov 2013 18:19:11 +0000 (18:19 +0000)]
Remove body onload handler from html5-8266.html that was causing
the test to sometimes finish before doing anything interesting.

Unskip Parser/HTML5-8266-FullRender.html now that it's stable.

Rubber-stamped by Antti Koivisto.

* Parser/resources/html5-8266.html:
* Skipped:

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

6 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Tue, 12 Nov 2013 17:56:37 +0000 (17:56 +0000)]
Unreviewed EFL gardening

Skip media/media-source tests, as EFL port does not support MEDIA_SOURCE.

* platform/efl/TestExpectations:

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

6 years agoFix reported build warnings for GTK
commit-queue@webkit.org [Tue, 12 Nov 2013 17:55:00 +0000 (17:55 +0000)]
Fix reported build warnings for GTK
https://bugs.webkit.org/show_bug.cgi?id=123439

Patch by Tibor Meszaros <mtibor@inf.u-szeged.hu> on 2013-11-12
Reviewed by Carlos Garcia Campos.

There was a void method, that has return value in it's documentation, so I removed it.

* bindings/gobject/WebKitDOMCustom.h:

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

6 years agoOne more URTBF after r159108.
ossy@webkit.org [Tue, 12 Nov 2013 17:51:49 +0000 (17:51 +0000)]
One more URTBF after r159108.

* GNUmakefile.am:

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

6 years agoBegin cleaning up handling of ImmutableArray vectors
andersca@apple.com [Tue, 12 Nov 2013 17:40:47 +0000 (17:40 +0000)]
Begin cleaning up handling of ImmutableArray vectors
https://bugs.webkit.org/show_bug.cgi?id=124208

Reviewed by Andreas Kling.

Use range based for to iterate the loops. Use reserveInitialCapacity + uncheckedAppend
when appending vector elements.

* Shared/SecurityOriginData.cpp:
(WebKit::performAPICallbackWithSecurityOriginDataVector):
* Shared/WebArchive.cpp:
(WebKit::WebArchive::subresources):
(WebKit::WebArchive::subframeArchives):
* Shared/WebContextMenuItem.cpp:
(WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
* Shared/WebOpenPanelParameters.cpp:
(WebKit::WebOpenPanelParameters::acceptMIMETypes):
(WebKit::WebOpenPanelParameters::selectedFileNames):
* UIProcess/API/C/mac/WKContextPrivateMac.mm:
(WKContextGetInfoForInstalledPlugIns):
* UIProcess/Plugins/WebPluginSiteDataManager.cpp:
(WebKit::WebPluginSiteDataManager::didGetSitesWithData):
* UIProcess/StatisticsRequest.cpp:
(WebKit::StatisticsRequest::completedRequest):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
* UIProcess/WebMediaCacheManagerProxy.cpp:
(WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
* UIProcess/WebPageContextMenuClient.cpp:
(WebKit::WebPageContextMenuClient::showContextMenu):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::relatedPages):
(WebKit::WebPageProxy::didFindStringMatches):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::originsWithApplicationCache):
* WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
(WebKit::InjectedBundleBackForwardListItem::children):
* WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::trackedRepaintRects):

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

6 years agoFix undefined reference issues in JavaScriptCore build.
commit-queue@webkit.org [Tue, 12 Nov 2013 17:38:07 +0000 (17:38 +0000)]
Fix undefined reference issues in JavaScriptCore build.
https://bugs.webkit.org/show_bug.cgi?id=124152

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-11-12
Reviewed by Michael Saboff.

Missing includes added.

* runtime/SymbolTable.cpp:

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

6 years agoManage StorageThread through std::unique_ptr
zandobersek@gmail.com [Tue, 12 Nov 2013 17:33:10 +0000 (17:33 +0000)]
Manage StorageThread through std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=124197

Reviewed by Anders Carlsson.

New StorageThread objects are crafted through std::make_unique. This removes the need for the static
StorageThread::create() method but requires that the StorageThread constructor is made public.

* storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::StorageSyncManager):
* storage/StorageSyncManager.h:
* storage/StorageThread.cpp:
* storage/StorageThread.h:
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::StorageTracker):
* storage/StorageTracker.h:

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

6 years agoRemove unnecessary PassOwnPtr.h header includes under Source/WebCore/fileapi
zandobersek@gmail.com [Tue, 12 Nov 2013 17:30:16 +0000 (17:30 +0000)]
Remove unnecessary PassOwnPtr.h header includes under Source/WebCore/fileapi
https://bugs.webkit.org/show_bug.cgi?id=124196

Reviewed by Anders Carlsson.

PassOwnPtr is not used anywhere under Source/WebCore/fileapi/, so PassOwnPtr.h inclusions can be removed.

* fileapi/Blob.h:
* fileapi/FileThread.h:
* fileapi/FileThreadTask.h:

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

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 12 Nov 2013 17:25:19 +0000 (17:25 +0000)]
Unreviewed GTK gardening.

* platform/gtk/js/dom/global-constructors-attributes-expected.txt: Rebaseline after new constructors
were made available with enabling the Media Stream feature.

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

6 years agoOne more URTBF after r159108.
ossy@webkit.org [Tue, 12 Nov 2013 16:28:29 +0000 (16:28 +0000)]
One more URTBF after r159108.

* CMakeLists.txt:

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

6 years agoURTBF after r159108.
ossy@webkit.org [Tue, 12 Nov 2013 16:16:11 +0000 (16:16 +0000)]
URTBF after r159108.

* CMakeLists.txt:
* GNUmakefile.list.am:

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

6 years agoWeb Inspector: Crash when closing the Inspector while debugging an exception inside...
achicu@adobe.com [Tue, 12 Nov 2013 15:41:55 +0000 (15:41 +0000)]
Web Inspector: Crash when closing the Inspector while debugging an exception inside a breakpoint condition.
https://bugs.webkit.org/show_bug.cgi?id=124078

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

The crash would happen because the Debugger is not designed to support nested
breaks. For example, when the debugger handles a breakpoint and the Inspector
executes a console command that would hit the breakpoint again, the Debugger
will just ignore the breakpoint.

There were no checks for conditions and actions. Because of that conditions and actions
could trigger exceptions and breakpoints. This patch disables that functionality as it
cannot be supported without a bigger rewrite of the code.

* debugger/Debugger.cpp:
(JSC::TemporaryPausedState::TemporaryPausedState):
(JSC::TemporaryPausedState::~TemporaryPausedState):
(JSC::Debugger::hasBreakpoint):
(JSC::Debugger::pauseIfNeeded):
* debugger/Debugger.h:

LayoutTests:

Checking that the debugger will not crash nor stall when exceptions are throw while the debugger
is already paused. The cases when that can happen include breakpoint conditions, actions, eval
or runtime object inspection.

The current behavior was to ignore the exceptions or breakpoints while executing "console commands"
when the debugger was already paused. I'm extending this mechanism to breakpoint conditions and
actions as the Debugger is not designed to support nested "debugger breaks".

* http/tests/inspector-protocol/resources/protocol-test.js:
(closeTest): Avoid having internals.closeDummyInspectorFrontend and testRunner.notifyDone
in the same function. The debugger will not have a chance to exit the temporary EventLoop
before loading the next test.
* inspector-protocol/debugger/breakpoint-action-detach-expected.txt: Added.
* inspector-protocol/debugger/breakpoint-action-detach.html: Added.
* inspector-protocol/debugger/breakpoint-action-with-exception-expected.txt: Added.
* inspector-protocol/debugger/breakpoint-action-with-exception.html: Added.
* inspector-protocol/debugger/breakpoint-condition-detach-expected.txt: Added.
* inspector-protocol/debugger/breakpoint-condition-detach.html: Added.
* inspector-protocol/debugger/breakpoint-condition-with-exception-expected.txt: Added.
* inspector-protocol/debugger/breakpoint-condition-with-exception.html: Added.
* inspector-protocol/debugger/breakpoint-eval-with-exception-expected.txt: Added.
* inspector-protocol/debugger/breakpoint-eval-with-exception.html: Added.
* inspector-protocol/debugger/breakpoint-inside-conditons-and-actions-expected.txt: Added.
* inspector-protocol/debugger/breakpoint-inside-conditons-and-actions.html: Added.

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

6 years ago[GTK] Update GTK builders in Tools/Scripts/webkitpy/port/builders.py
commit-queue@webkit.org [Tue, 12 Nov 2013 15:23:12 +0000 (15:23 +0000)]
[GTK] Update GTK builders in Tools/Scripts/webkitpy/port/builders.py
https://bugs.webkit.org/show_bug.cgi?id=124144

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2013-11-12
Reviewed by Gustavo Noronha Silva.

Updated the list of GTK builders in Tools/Scripts/webkitpy/port/builders.py
according to http://build.webkit.org/builders.

* Scripts/webkitpy/port/builders.py:

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

6 years agoMove StringReference to Platform/IPC
andersca@apple.com [Tue, 12 Nov 2013 15:21:00 +0000 (15:21 +0000)]
Move StringReference to Platform/IPC
https://bugs.webkit.org/show_bug.cgi?id=124203

Reviewed by Antti Koivisto.

* Platform/IPC/StringReference.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/StringReference.cpp.
(CoreIPC::StringReference::toString):
(CoreIPC::StringReference::encode):
(CoreIPC::StringReference::decode):
(CoreIPC::StringReference::Hash::hash):
* Platform/IPC/StringReference.h: Renamed from Source/WebKit2/Platform/CoreIPC/StringReference.h.
(CoreIPC::StringReference::StringReference):
(CoreIPC::StringReference::isEmpty):
(CoreIPC::StringReference::size):
(CoreIPC::StringReference::data):
(CoreIPC::StringReference::operator==):
(CoreIPC::StringReference::Hash::equal):
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoUnreviewed GTK gardening. Share expectations for vertical text among WK1 and WK2.
mario@webkit.org [Tue, 12 Nov 2013 14:56:28 +0000 (14:56 +0000)]
Unreviewed GTK gardening. Share expectations for vertical text among WK1 and WK2.

* platform/gtk-wk2/fast/repaint/japanese-rl-selection-clear-expected.txt: Removed.
* platform/gtk-wk2/fast/repaint/japanese-rl-selection-repaint-expected.txt: Removed.
* platform/gtk-wk2/fast/repaint/repaint-across-writing-mode-boundary-expected.txt: Removed.
* platform/gtk-wk2/fast/text/international/vertical-text-glyph-test-expected.txt: Removed.
* platform/gtk-wk2/fast/text/justify-ideograph-vertical-expected.txt: Removed.

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

6 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Tue, 12 Nov 2013 14:53:14 +0000 (14:53 +0000)]
Unreviewed EFL gardening

Mark 73 tests as failing/skipped after r158954.

* platform/efl/TestExpectations:

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

6 years agoText on simple lines sometimes paints one pixel off
antti@apple.com [Tue, 12 Nov 2013 14:44:37 +0000 (14:44 +0000)]
Text on simple lines sometimes paints one pixel off
https://bugs.webkit.org/show_bug.cgi?id=124200

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/text/line-runs-simple-lines.html

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::adjustRunOffsets):

    Don't round on run construction time.

(WebCore::SimpleLineLayout::createTextRuns):
* rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::RunResolver::Run::rect):

    Instead round when generating rects.

(WebCore::SimpleLineLayout::RunResolver::Run::baseline):

    Provide the baseline (used by painting) as unrounded FloatPoint.

LayoutTests:

* fast/text/line-runs-rounding-simple-lines-expected.html: Added.
* fast/text/line-runs-rounding-simple-lines.html: Added.

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

6 years agoElements with class names automatically get unique ElementData.
akling@apple.com [Tue, 12 Nov 2013 14:40:29 +0000 (14:40 +0000)]
Elements with class names automatically get unique ElementData.
<https://webkit.org/b/124184>

We were calling Element::ensureUniqueElementData() for all Elements
with a non-empty list of class names. Doing that on parser-fresh
Elements caused us to upgrade them to UniqueElementData despite not
needing it (ElementData::setClass() is a const function for caching
the "cooked" class and can be called on ShareableElementData.)

1.09 MB progression on HTML5 spec at <http://whatwg.org/c>

Reviewed by Antti Koivisto.

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

6 years agoWebkit - Updated Tamil translation
berto@igalia.com [Tue, 12 Nov 2013 14:13:41 +0000 (14:13 +0000)]
Webkit - Updated Tamil translation
https://bugs.webkit.org/show_bug.cgi?id=124142

Patch by Shantha kumar <shkumar@redhat.com> on 2013-11-12
Reviewed by Gustavo Noronha Silva.

* ta.po: updated.

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

6 years agoNeutralize external resource loads in the new HTML5 spec copy.
akling@apple.com [Tue, 12 Nov 2013 14:03:06 +0000 (14:03 +0000)]
Neutralize external resource loads in the new HTML5 spec copy.

Skip Parser/HTML5-8266-FullRender.html until I can make it less flaky.

* Parser/resources/html5-8266.html:
* Skipped:

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

6 years agoImport a fresh version of the full HTML5 spec for perf testing.
akling@apple.com [Tue, 12 Nov 2013 09:44:27 +0000 (09:44 +0000)]
Import a fresh version of the full HTML5 spec for perf testing.

Rubber-stamped by Antti Koivisto.

* Parser/HTML5-8266-FullRender.html: Added.
* Parser/HTML5-8266-ParseOnly.html: Added.
* Parser/resources/html5-8266.html: Added.

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

6 years agoJSC bindings generator should generate deletable JSC functions
zandobersek@gmail.com [Tue, 12 Nov 2013 08:33:35 +0000 (08:33 +0000)]
JSC bindings generator should generate deletable JSC functions
https://bugs.webkit.org/show_bug.cgi?id=122422

Reviewed by Geoffrey Garen.

Source/WebCore:

The JSC functions that the JSC bindings generator generates should be deletable to conform to
the WebIDL specification, which instructs that the WebIDL operations must be configurable (which
translates to the JSC functions being deletable).

The generator will still produce a non-deletable JSC function for operations under almost all
Web-facing interfaces since they're annotated with the OperationsNotDeletable attribute. The
exception here is the Node interface that is having the attribute removed, with the provided
test case testing that all the functions on the Node prototype object are writable, enumerable
and configurable. This behavior conforms to the WebIDL specification and the behaviors of IE
and Firefox. Chrome at the moment still provides non-configurable functions.

Test: fast/dom/webidl-operations-on-node-prototype.html

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Enforce the non-deletable behavior of the JSC function if either the
operation's interface is annotated with the OperationsNotDeletable attribute or the operation itself
is annotated with the NotDeletable attribute.
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Update the JSC generator test baselines.
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
* bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
* bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
* bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
* dom/Node.idl: Remove the OperationsNotDeletable attribute.

LayoutTests:

Test that all the functions on the Node prototype object (apart from the constructor) are
writable, enumerable and configurable, as expected for WebIDL operations. This matches the
WebIDL specification as well as IE and Firefox.

Other affected test cases and baselines are updated to reflect the new behavior.

* fast/dom/webidl-operations-on-node-prototype-expected.txt: Added.
* fast/dom/webidl-operations-on-node-prototype.html: Added.
* js/dom/getOwnPropertyDescriptor-expected.txt:
* js/resources/getOwnPropertyDescriptor.js:
* platform/mac/canvas/philip/tests/type.prototype-expected.txt: Removed.

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

6 years agoInvalidIndex shouldn't be private in GPRInfo and FPRInfo for sh4, mips and arm64...
ossy@webkit.org [Tue, 12 Nov 2013 08:21:05 +0000 (08:21 +0000)]
InvalidIndex shouldn't be private in GPRInfo and FPRInfo for sh4, mips and arm64 architectures.
https://bugs.webkit.org/show_bug.cgi?id=124156

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-12
Reviewed by Michael Saboff.

* jit/FPRInfo.h:
(JSC::FPRInfo::debugName):
* jit/GPRInfo.h:
(JSC::GPRInfo::debugName):

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

6 years agoRemote Layer Tree: Sporadic memory corruption during painting
timothy_horton@apple.com [Tue, 12 Nov 2013 07:56:45 +0000 (07:56 +0000)]
Remote Layer Tree: Sporadic memory corruption during painting
https://bugs.webkit.org/show_bug.cgi?id=124191

Reviewed by Brady Eidson.

Fix a logic error (flipped the logic, didn't flip the operator)
made in the last version of r158982 that caused some crashes because
it allowed us to overrun the end of cgPaintingRects.

* Shared/mac/RemoteLayerBackingStore.mm:
(RemoteLayerBackingStore::drawInContext):

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

6 years agoCodeBlock: Un-segment some Vectors.
akling@apple.com [Tue, 12 Nov 2013 07:56:39 +0000 (07:56 +0000)]
CodeBlock: Un-segment some Vectors.
<https://webkit.org/b/124188>

Turn some SegmentedVectors into Vectors where the final item count
is known at CodeBlock construction time. This removes unnecessary
allocation and indirection.

I've got ~4.5 MB below SegmentedVector<ValueProfile>::ensureSegment
on Membuster3 (peak, before pressure signal) so this should help
take a bit of the edge off there.

Reviewed by Geoffrey Garen.

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

6 years agoUnreviewed, rolling out r159088.
ossy@webkit.org [Tue, 12 Nov 2013 06:43:34 +0000 (06:43 +0000)]
Unreviewed, rolling out r159088.
http://trac.webkit.org/changeset/159088
https://bugs.webkit.org/show_bug.cgi?id=124187

It broke the EFL build, because it removed a used function
(rs=thorton) (Requested by Ossy_night on #webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2013-11-11

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::urlAtProcessExit):
(WebKit::WebPageProxy::loadStateAtProcessExit):

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

6 years agoMake IDBTransaction tasks asynchronous
beidson@apple.com [Tue, 12 Nov 2013 06:35:52 +0000 (06:35 +0000)]
Make IDBTransaction tasks asynchronous
https://bugs.webkit.org/show_bug.cgi?id=124183

Reviewed by Tim Horton.

This is an almost zero-change in behavior.

The one thing that is different is that previously, IDBTransactionBackends would synchronously
run through their entire set of IDBOperation’s without ever returning control to the runloop.

Now, they start one task and then wait for its completion to schedule the start of the next task.

Change IDBOperation’s perform() to take a completion handler so it can be asynchronous.
Add an IDBSynchronousOperation class to handle "Abort" tasks, which never need to perform i/o
and therefore can be entirely synchronous.
* Modules/indexeddb/IDBOperation.h:
(WebCore::IDBSynchronousOperation::~IDBSynchronousOperation):

* Modules/indexeddb/IDBTransactionBackend.cpp:
(WebCore::IDBTransactionBackend::scheduleTask): "Abort tasks" are now IDBSynchronousOperations.
(WebCore::IDBTransactionBackend::abort):
(WebCore::IDBTransactionBackend::taskTimerFired): Instead of running through the entire set of tasks,
  perform a single task asynchronously. The completion handler for the task will reset the task timer
  to asynchronously start the next task.
* Modules/indexeddb/IDBTransactionBackend.h:
(WebCore::IDBTransactionBackend::scheduleTask): "Abort tasks" are now IDBSynchronousOperations.

Update all operations to take completion handlers.
For now, perform things synchronously like before, calling the completion handler when complete.
* Modules/indexeddb/IDBCursorBackend.cpp:
(WebCore::CallOnDestruct::CallOnDestruct): Helper class to make sure completion callbacks are always called perform() exits.
(WebCore::CallOnDestruct::~CallOnDestruct):
(WebCore::IDBCursorBackend::CursorIterationOperation::create):
(WebCore::IDBCursorBackend::CursorAdvanceOperation::create):
(WebCore::IDBCursorBackend::CursorPrefetchIterationOperation::create):
(WebCore::IDBCursorBackend::CursorAdvanceOperation::perform):
(WebCore::IDBCursorBackend::CursorIterationOperation::perform):
(WebCore::IDBCursorBackend::CursorPrefetchIterationOperation::perform):

* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::CallOnDestruct::CallOnDestruct): Helper class to make sure completion callbacks are always called when perform() exits.
(WebCore::CallOnDestruct::~CallOnDestruct):
(WebCore::CreateObjectStoreOperation::perform):
(WebCore::CreateIndexOperation::perform):
(WebCore::DeleteIndexOperation::perform):
(WebCore::GetOperation::perform):
(WebCore::PutOperation::perform):
(WebCore::SetIndexesReadyOperation::perform):
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::DeleteRangeOperation::perform):
(WebCore::ClearOperation::perform):
(WebCore::DeleteObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):

* Modules/indexeddb/IDBTransactionBackendOperations.h:
(WebCore::CreateObjectStoreOperation::create):
(WebCore::DeleteObjectStoreOperation::create):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::create):
(WebCore::CreateObjectStoreAbortOperation::create):
(WebCore::DeleteObjectStoreAbortOperation::create):
(WebCore::IDBDatabaseBackend::VersionChangeAbortOperation::create):
(WebCore::CreateIndexOperation::create):
(WebCore::CreateIndexAbortOperation::create):
(WebCore::DeleteIndexOperation::create):
(WebCore::DeleteIndexAbortOperation::create):
(WebCore::GetOperation::create):
(WebCore::PutOperation::create):
(WebCore::SetIndexesReadyOperation::create):
(WebCore::OpenCursorOperation::create):
(WebCore::CountOperation::create):
(WebCore::DeleteRangeOperation::create):
(WebCore::ClearOperation::create):

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

6 years agoURTBF after r159077 to make GTK build happy.
ossy@webkit.org [Tue, 12 Nov 2013 06:15:22 +0000 (06:15 +0000)]
URTBF after r159077 to make GTK build happy.

* GNUmakefile.list.am:

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

6 years agoWeb Inspector: Remove some unused generated code
commit-queue@webkit.org [Tue, 12 Nov 2013 04:39:59 +0000 (04:39 +0000)]
Web Inspector: Remove some unused generated code
https://bugs.webkit.org/show_bug.cgi?id=124179

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-11-11
Reviewed by Timothy Hatcher.

* inspector/CodeGeneratorInspectorStrings.py:

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

6 years agoClean up static_cast<Element*> usage
gyuyoung.kim@samsung.com [Tue, 12 Nov 2013 04:39:34 +0000 (04:39 +0000)]
Clean up static_cast<Element*> usage
https://bugs.webkit.org/show_bug.cgi?id=124133

Reviewed by Andreas Kling.

We need to use toFoo cast function instead of static_cast<>. Though there is toElement(),
static_cast<Element*> is still being used.

No new tests, no behavior changes.

* bindings/gobject/WebKitDOMPrivate.cpp:
(WebKit::wrap):
* dom/ElementTraversal.h:
(WebCore::::lastWithinTemplate):
(WebCore::::nextTemplate):
(WebCore::::previousTemplate):

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

6 years agoGet rid of the lastResultRegister optimization in the baseline JIT
fpizlo@apple.com [Tue, 12 Nov 2013 03:28:41 +0000 (03:28 +0000)]
Get rid of the lastResultRegister optimization in the baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=124171

Rubber stamped by Mark Hahnenberg.

The baseline JIT no longer needs amazing throughput. And this optimization has caused
way too many OSR exit bugs. And it constrains how much we can do in the DFG/FTL. So,
I'm getting rid of it.

* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
(JSC::DFG::OSRExit::convertToForward):
* dfg/DFGOSRExit.h:
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
* dfg/DFGSpeculativeJIT.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::compileZombieHint):
(JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::observeMovHint):
* ftl/FTLOSRExit.cpp:
(JSC::FTL::OSRExit::OSRExit):
(JSC::FTL::OSRExit::convertToForward):
* ftl/FTLOSRExit.h:
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
* jit/JIT.cpp:
(JSC::JIT::JIT):
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
(JSC::JIT::appendCall):
* jit/JITArithmetic32_64.cpp:
(JSC::JIT::emit_op_lshift):
(JSC::JIT::emitRightShift):
(JSC::JIT::emit_op_bitand):
(JSC::JIT::emit_op_bitor):
(JSC::JIT::emit_op_bitxor):
(JSC::JIT::emit_op_inc):
(JSC::JIT::emit_op_dec):
* jit/JITCall.cpp:
(JSC::JIT::emitPutCallResult):
(JSC::JIT::compileLoadVarargs):
* jit/JITInlines.h:
(JSC::JIT::emitGetFromCallFrameHeaderPtr):
(JSC::JIT::emitGetFromCallFrameHeader32):
(JSC::JIT::emitGetFromCallFrameHeader64):
(JSC::JIT::emitLoadTag):
(JSC::JIT::emitLoadPayload):
(JSC::JIT::emitLoad2):
(JSC::JIT::emitGetVirtualRegister):
(JSC::JIT::emitGetVirtualRegisters):
(JSC::JIT::emitPutVirtualRegister):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_mov):
(JSC::JIT::emit_op_catch):
(JSC::JIT::emit_op_new_func):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_mov):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emit_op_to_number):
(JSC::JIT::emit_op_catch):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emit_op_put_to_scope):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_get_by_pname):
(JSC::JIT::emitResolveClosure):
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emit_op_init_global_const):
* jit/SlowPathCall.h:
(JSC::JITSlowPathCall::call):

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

6 years agoREGRESSION(r158976): Web Inspector: unable to start docked or dock
gns@gnome.org [Tue, 12 Nov 2013 01:55:35 +0000 (01:55 +0000)]
REGRESSION(r158976): Web Inspector: unable to start docked or dock
https://bugs.webkit.org/show_bug.cgi?id=124148

Reviewed by Timothy Hatcher.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::canAttach): check for a level that is greater than 1 rather than 0
to deny attachment, since 1 is the first level of inspectors.

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

6 years agoFrameFilter can just be an std::function instead
andersca@apple.com [Tue, 12 Nov 2013 01:51:39 +0000 (01:51 +0000)]
FrameFilter can just be an std::function instead
https://bugs.webkit.org/show_bug.cgi?id=124176

Reviewed by Tim Horton.

Source/WebCore:

* WebCore.exp.in:
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create):
* loader/archive/cf/LegacyWebArchive.h:

Source/WebKit/mac:

* DOM/WebDOMOperations.mm:
(-[DOMNode webArchiveByFilteringSubframes:]):

Source/WebKit2:

* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::webArchiveData):

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

6 years agoRemove unused Qt cruft
andersca@apple.com [Tue, 12 Nov 2013 01:17:37 +0000 (01:17 +0000)]
Remove unused Qt cruft
https://bugs.webkit.org/show_bug.cgi?id=124174

Reviewed by Tim Horton.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
* UIProcess/WebPageProxy.h:

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

6 years agoREGRESSION (r158927): curly-braces-escaping.html is broken on Mac WebKit2
andersca@apple.com [Tue, 12 Nov 2013 01:08:50 +0000 (01:08 +0000)]
REGRESSION (r158927): curly-braces-escaping.html is broken on Mac WebKit2
https://bugs.webkit.org/show_bug.cgi?id=124164

Reviewed by Alexey Proskuryakov.

Back out the change to use NSSecureCoding for encoding/decoding NSURLRequest and
NSURLResponse objects; turns out the NSURL encoding/decoding doesn't preserve the raw URL bytes.

* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::encodePlatformData):
(CoreIPC::decodePlatformData):

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

6 years agoUnreviewed build fix on CMake Based port since r159077.
ryuan.choi@samsung.com [Tue, 12 Nov 2013 00:52:29 +0000 (00:52 +0000)]
Unreviewed build fix on CMake Based port since r159077.

* CMakeLists.txt:

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

6 years agoREGRESSION (r155660): box-shadow causes overlay scrollbars to be in the wrong positio...
simon.fraser@apple.com [Tue, 12 Nov 2013 00:50:29 +0000 (00:50 +0000)]
REGRESSION (r155660): box-shadow causes overlay scrollbars to be in the wrong position when element is composited (85647)
https://bugs.webkit.org/show_bug.cgi?id=124090

Source/WebCore:

Reviewed by Beth Dakin.

After r155660 we did fewer layouts, so were left with overlay scrollbars in the
wrong locations because nothing would update them after RenderLayerBacking
computed a new offsetFromRenderer.

First part of the fix is to wean positionOverflowControlsLayers() off of
an absolute offset from the root. Do this by not using Widget::frameRect()
to position the layers, but instead RenderLayer::rectFor{Horizontal|Vertical}Scrollbar
which is what we used to position the scrollbars in the first place.

Second part of the fix is to call positionOverflowControlsLayers() from
RenderLayerBacking::updateGraphicsLayerGeometry() if the offsetFromRenderer
changed.

Test: compositing/overflow/overflow-scrollbar-layer-positions.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::positionOverflowControls):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::positionOverflowControlsLayers):
* rendering/RenderLayerBacking.h:

LayoutTests:

Reviewed by Beth Dakin.

Test, but it doesn't actually test the fix until we enable overlay scrollbars
in tests (bug 60716).

* compositing/overflow/overflow-scrollbar-layer-positions-expected.txt: Added.
* compositing/overflow/overflow-scrollbar-layer-positions.html: Added.

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

6 years ago[Win] m_isCompositeFontReference is uninitialized.
bfulgham@apple.com [Tue, 12 Nov 2013 00:33:24 +0000 (00:33 +0000)]
[Win] m_isCompositeFontReference is uninitialized.
https://bugs.webkit.org/show_bug.cgi?id=124170

Reviewed by Tim Horton.

Initialize value to false, as is done in the other constructors for this data type.

* platform/graphics/win/FontPlatformDataCGWin.cpp:
(WebCore::FontPlatformData::FontPlatformData):
* platform/graphics/win/FontPlatformDataCairoWin.cpp:
(WebCore::FontPlatformData::FontPlatformData):
* platform/graphics/win/FontPlatformDataWin.cpp:
(WebCore::FontPlatformData::FontPlatformData):

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

6 years agoActually land a result for the test that I added (and make it a text test).
simon.fraser@apple.com [Tue, 12 Nov 2013 00:21:18 +0000 (00:21 +0000)]
Actually land a result for the test that I added (and make it a text test).

* compositing/tiling/tiled-in-iframe-expected.txt: Added.
* compositing/tiling/tiled-in-iframe.html:

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

6 years agoRemote Layer Tree: Implement Page Overlays
timothy_horton@apple.com [Tue, 12 Nov 2013 00:20:20 +0000 (00:20 +0000)]
Remote Layer Tree: Implement Page Overlays
https://bugs.webkit.org/show_bug.cgi?id=124165
<rdar://problem/15199056>

Reviewed by Anders Carlsson.

Implement page overlays, very similar to how they work in TiledCoreAnimationDrawingArea,
but manipulating the PlatformCALayer tree instead of the CALayer tree directly.

* WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::outOfTreeLayerWasAdded):
(WebKit::RemoteLayerTreeContext::outOfTreeLayerWillBeRemoved):
(WebKit::RemoteLayerTreeContext::flushLayers):
Add a list of out-of-tree GraphicsLayers which are flushed in addition
to the page's GraphicsLayer tree, and functions to manipulate this list.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
Make RemoteLayerTreeDrawingArea a GraphicsLayerClient, so we can get callbacks
from the GraphicsLayers that drive our page overlays.
Override the relevant page overlay functions.
Add storage for the root layer, view size, and a map of PageOverlay->GraphicsLayer.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
Store the root GraphicsLayer for later use.

(WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
Update the size of the page overlays when the DrawingArea's geometry changes.

(WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
Update the page overlay settings when necessary.

(WebKit::RemoteLayerTreeDrawingArea::didInstallPageOverlay):
Create a GraphicsLayer for our page overlay, set it up, and parent it.
Inform the RemoteLayerTreeContext that it will need to flush this GraphicsLayer,
since it's not a part of the page's GraphicsLayer tree.

(WebKit::RemoteLayerTreeDrawingArea::didUninstallPageOverlay):
Tear down our page overlay's GraphicsLayer.

(WebKit::RemoteLayerTreeDrawingArea::setPageOverlayNeedsDisplay):
(WebKit::RemoteLayerTreeDrawingArea::setPageOverlayOpacity):
(WebKit::RemoteLayerTreeDrawingArea::paintContents):
(WebKit::RemoteLayerTreeDrawingArea::deviceScaleFactor):

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

6 years agoAdd a FrameLoadState object and begin moving loading related members from WebFrameProxy
andersca@apple.com [Mon, 11 Nov 2013 23:32:15 +0000 (23:32 +0000)]
Add a FrameLoadState object and begin moving loading related members from WebFrameProxy
https://bugs.webkit.org/show_bug.cgi?id=124163

Reviewed by Beth Dakin.

* UIProcess/API/C/WKFrame.cpp:
(WKFrameGetFrameLoadState):
* UIProcess/FrameLoadState.cpp: Added.
(WebKit::FrameLoadState::FrameLoadState):
(WebKit::FrameLoadState::~FrameLoadState):
* UIProcess/FrameLoadState.h: Added.
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::WebFrameProxy):
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameProxy::didFailProvisionalLoad):
(WebKit::WebFrameProxy::didCommitLoad):
(WebKit::WebFrameProxy::didFinishLoad):
(WebKit::WebFrameProxy::didFailLoad):
(WebKit::WebFrameProxy::didSameDocumentNavigation):
(WebKit::WebFrameProxy::setUnreachableURL):
* UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::frameLoadState):
(WebKit::WebFrameProxy::loadState):
(WebKit::WebFrameProxy::url):
(WebKit::WebFrameProxy::provisionalURL):
(WebKit::WebFrameProxy::unreachableURL):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::activeURL):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::loadStateAtProcessExit):
* WebKit2.xcodeproj/project.pbxproj:

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

6 years ago[Mac] Characters too close together in complex Arabic text
commit-queue@webkit.org [Mon, 11 Nov 2013 23:31:17 +0000 (23:31 +0000)]
[Mac] Characters too close together in complex Arabic text
https://bugs.webkit.org/show_bug.cgi?id=124057

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-11-11
Reviewed by Darin Adler.

Source/WebCore:

We weren't updating our total width variable with run's initial
advance information, leading to widths that were too narrow.

In addition, while initial advances for runs that aren't the first
run are accounted for by baking in the initial advances into the
previous character's advance, the initial advance for the first run
has to be accounted for in ComplexTextController::offsetForPosition.

Test: fast/text/complex-grapheme-cluster-with-initial-advance.html
Test: fast/text/selection-in-initial-advance-region.html

* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances): Update
total width variable
(WebCore::ComplexTextController::offsetOfPosition): Account for
the first run's initial advance.

LayoutTests:

complex-grapheme-cluster-with-initial-advance adds a span around a word in some
complex Arabic text, and expects that the word spacing is the same as without the
span.

selection-in-initial-advance-region simulates a mouse drag across a complex text run
with an initial advance. This makes sure that ComplexTextController::offsetForPosition
doesn't crash when there is an initial advance.

* fast/text/complex-grapheme-cluster-with-initial-advance-expected.html: Added.
* fast/text/complex-grapheme-cluster-with-initial-advance.html: Added.
* fast/text/selection-in-initial-advance-region-expected.txt: added
* fast/text/selection-in-initial-advance-region.html: added

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

6 years agoRemove #include from test input of the *Messages.in processing scripts.
commit-queue@webkit.org [Mon, 11 Nov 2013 23:29:19 +0000 (23:29 +0000)]
Remove #include from test input of the *Messages.in processing scripts.
https://bugs.webkit.org/show_bug.cgi?id=123563

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-11-11
Reviewed by Darin Adler.

* Scripts/webkit2/messages_unittest.py:

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

6 years agoRemove ConstantFoldingPhase's weirdo compile-time optimization
fpizlo@apple.com [Mon, 11 Nov 2013 23:01:53 +0000 (23:01 +0000)]
Remove ConstantFoldingPhase's weirdo compile-time optimization
https://bugs.webkit.org/show_bug.cgi?id=124169

Reviewed by Mark Hahnenberg.

It turns out that this compile-time optimization doesn't optimize compile times
anymore. Kill it with fire.

* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):

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

6 years agoUnreviewed build fix for Win64.
alex.christensen@flexsim.com [Mon, 11 Nov 2013 22:47:29 +0000 (22:47 +0000)]
Unreviewed build fix for Win64.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Fixed 64-bit linker symbols.

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

6 years agoMake IDBBackingStoreTransaction be RefCounted
beidson@apple.com [Mon, 11 Nov 2013 22:41:39 +0000 (22:41 +0000)]
Make IDBBackingStoreTransaction be RefCounted
https://bugs.webkit.org/show_bug.cgi?id=124168

Reviewed by Tim Horton.

This is necessarily to safely add a fully asynchronous interface into the IDB mechanism.

* Modules/indexeddb/IDBBackingStoreInterface.h:
* Modules/indexeddb/IDBBackingStoreTransactionInterface.h:
* Modules/indexeddb/IDBTransactionBackend.h:

* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
* Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:

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

6 years agoEnd of line whitespace should collapse with white-space:pre-wrap; overflow-wrap:break...
antti@apple.com [Mon, 11 Nov 2013 22:39:40 +0000 (22:39 +0000)]
End of line whitespace should collapse with white-space:pre-wrap; overflow-wrap:break-word in all cases
https://bugs.webkit.org/show_bug.cgi?id=124158

Source/WebCore:

Reviewed by Dave Hyatt.

If a word just fits the line but the following space overflows we fail to collapse whitespaces
at the end of the line. This happens because with break-word we end up taking word breaking
code path that does not have pre-wrap whitespace handling.

This patch makes the behavior consistent and also matches Firefox.

Test: fast/text/break-word-pre-wrap.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::BreakingContext::handleText):

    Don't take the word break code path if we are pre-wrap and the current character is space.
    Instead proceed to break the line normally as this is a valid break position.

LayoutTests:

Reviewed by Dave Hyatt.

Added a specific test and updates the test results of some complex tests that demonstrate the same issue.

* fast/text/break-word-pre-wrap-expected.html: Added.
* fast/text/break-word-pre-wrap.html: Added.
* platform/mac/fast/forms/basic-textareas-expected.png:
* platform/mac/fast/forms/basic-textareas-expected.txt:
* platform/mac/fast/forms/basic-textareas-quirks-expected.png:
* platform/mac/fast/forms/basic-textareas-quirks-expected.txt:
* platform/mac-mountainlion/fast/forms/basic-textareas-expected.txt:
* platform/mac-mountainlion/fast/forms/basic-textareas-quirks-expected.txt:

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

6 years agoWeb Inspector: [CSS Shapes] Highlight shape-outside when its element is selected...
betravis@adobe.com [Mon, 11 Nov 2013 22:25:26 +0000 (22:25 +0000)]
Web Inspector: [CSS Shapes] Highlight shape-outside when its element is selected in the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=124071

Reviewed by Timothy Hatcher.

Source/WebCore:

Adding code to pass computed shape information (path and bounds) to the Inspector overlay
canvas, and the code to display it. The code creates a path based on ShapeInfo's computed
shape. The shape highlight draws whenever an element is highlighted, via selection in
the Inspector elements view.

Test: inspector-protocol/model/highlight-shape-outside.html

* inspector/InspectorOverlay.cpp:
(WebCore::localPointToRoot): Convert a local point to be relative to the root view.
(WebCore::appendPathCommandAndPoints): Helper for building a single segment's worth
of the overall path.
(WebCore::appendPathSegment): Build a single segment's worth of the overall path.
(WebCore::buildObjectForShapeOutside): Build an object to pass to the Inspector overlay
that represents the shape.
(WebCore::buildObjectForElementInfo): Call buildObjectForShapeOutside and pass the
resulting object along.
* inspector/InspectorOverlayPage.js:
(pathCommand): Draw a single path command.
(drawPath): Draw the overall path.
(_drawShapeHighlight): Draw the highlight for the given shapeInfo.
(drawNodeHighlight): Call _drawShapeHighlight.
* rendering/shapes/PolygonShape.h:
(WebCore::PolygonShape::polygon): Expose the underlying vertex information for a
PolygonShape.
* rendering/shapes/RasterShape.h:
* rendering/shapes/RectangleShape.h:
(WebCore::RectangleShape::logicalRx): Expose the logical radii for a shape.
(WebCore::RectangleShape::logicalRy): Ditto.
* rendering/shapes/Shape.h:
* rendering/shapes/ShapeInfo.h:
(WebCore::ShapeInfo::computedShapePhysicalBoundingBox): The physical bounds of a
shape in renderer coordinates.
(WebCore::ShapeInfo::shapeToRendererPoint): Convert shape coordinates to renderer
coordinates.
(WebCore::ShapeInfo::shapeToRendererSize): Ditto.
(WebCore::ShapeInfo::ShapeInfo):

LayoutTests:

Test that the information passed to the Inspector overlay properly corresponds to the
underlying shape. Retrieving the shape highlight information involves a series of
steps and has been abstracted into shape-info-helper.js, which supplies
Inspector.shapeOutsideInfo inside an Inspector test, and the ShapeInfoHelper.runShapesTest
method to begin a test.

* inspector-protocol/model/highlight-shape-outside-expected.txt: Added.
* inspector-protocol/model/highlight-shape-outside.html: Added.
* inspector-protocol/resources/shape-info-helper.js: Added.
(window.ShapeInfoHelper): Exposes ShapeInfoHelper.runShapesTest.

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

6 years agoMake bytecode dumping use the right opcode names for inc/dec.
fpizlo@apple.com [Mon, 11 Nov 2013 21:46:37 +0000 (21:46 +0000)]
Make bytecode dumping use the right opcode names for inc/dec.

Rubber stamped by Mark Hahnenberg.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):

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

6 years agoSupport WebCrypto KeyPair interface
ap@apple.com [Mon, 11 Nov 2013 21:20:20 +0000 (21:20 +0000)]
Support WebCrypto KeyPair interface
https://bugs.webkit.org/show_bug.cgi?id=124161

Reviewed by Geoffrey Garen.

No new tests yet, will be tested once generateKey is implemented for any RSA algorithms.

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:
Added new files.

* bindings/js/JSDOMPromise.h: Support returning a key pair via a promise.

* bindings/js/JSCryptoKeyPairCustom.cpp: Added.
(WebCore::JSCryptoKeyPair::visitChildren):
* crypto/CryptoKey.idl:
CryptoKey wrapper is reachable through KeyPair, but it doesn't have (or need)
a back pointer.

* crypto/CryptoKeyPair.cpp: Added.
(WebCore::CryptoKeyPair::CryptoKeyPair):
(WebCore::CryptoKeyPair::~CryptoKeyPair):
* crypto/CryptoKeyPair.h: Added.
(WebCore::CryptoKeyPair::create):
(WebCore::CryptoKeyPair::publicKey):
(WebCore::CryptoKeyPair::privateKey):
* crypto/CryptoKeyPair.idl: Added.

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

6 years agoAX: support helpText() in DumpRenderTree
samuel_white@apple.com [Mon, 11 Nov 2013 21:09:16 +0000 (21:09 +0000)]
AX: support helpText() in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=40194

Reviewed by Chris Fleizach.

Tools:

Implemented stubbed helpText methods so we can move aria-help.html back to LayoutTests/accessibility.

* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::helpText):

LayoutTests:

Moving layout test back to its original location. Shouldn't be platform specific.

* accessibility/aria-help.html: Renamed from LayoutTests/platform/mac/accessibility/aria-help.html.

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

6 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Mon, 11 Nov 2013 21:05:15 +0000 (21:05 +0000)]
Unreviewed EFL gardening

Update test expectations after r158188.

* platform/efl/css2.1/t0804-c5507-padn-r-00-c-ag-expected.png:
* platform/efl/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt:
* platform/efl/css2.1/t0804-c5509-padn-l-00-b-ag-expected.png:
* platform/efl/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt:
* platform/efl/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:

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

6 years agoFix build after r158967
commit-queue@webkit.org [Mon, 11 Nov 2013 21:04:39 +0000 (21:04 +0000)]
Fix build after r158967
https://bugs.webkit.org/show_bug.cgi?id=124160

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-11
Reviewed by Anders Carlsson.

After r158967, gcc debug builds with "-Werror=type-limits" enabled
fail. This patch fixes it.

* rendering/shapes/RasterShape.h:
(WebCore::RasterShapeIntervals::intervalsAt):

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

6 years agoDFG Int52 boxing code may clobber the source without telling anyone
fpizlo@apple.com [Mon, 11 Nov 2013 20:57:51 +0000 (20:57 +0000)]
DFG Int52 boxing code may clobber the source without telling anyone
https://bugs.webkit.org/show_bug.cgi?id=124137

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::boxInt52): This is called in places where source is expected to be unchanged. We never call this expecting super-amazing codegen. So, preserve the source's value the dumb way (by recovering it mathematically).
* jit/AssemblyHelpers.h: Document the invariant for boxInt52.
* jsc.cpp:
(GlobalObject::finishCreation): It's been super annoying that sometimes we say noInline() and sometimes we say neverInlineFunction(). The LayoutTests harnesses ensure that we have something called noInline(), but it's great to also ensure that the shell has it.

LayoutTests:

Reviewed by Mark Hahnenberg.

Write the test as a JSRegress test because we currently need a couple
recompiles to get the bug. JSRegress tests are meant to be longer-running
stress tests and they are usually run with different compilation thresholds, so
that ensures that we will actually hit the relevant code path.

* js/regress/int52-spill-expected.txt: Added.
* js/regress/int52-spill.html: Added.
* js/regress/script-tests/int52-spill.js: Added.
(bar):
(foo):

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

6 years agoExtJS breaks with modern Array.prototype.values API due to use of with()
oliver@apple.com [Mon, 11 Nov 2013 20:53:13 +0000 (20:53 +0000)]
ExtJS breaks with modern Array.prototype.values API due to use of with()
https://bugs.webkit.org/show_bug.cgi?id=123440

Reviewed by Beth Dakin.

Source/JavaScriptCore:

As with our attempt to make Arguments use the Array prototype, ExtJS has
a weird dependency on not adding new APIs to core types.  In this case
Array.prototype.values.  The fix is to remove it, and push for ES6 to drop
the API.

* runtime/ArrayPrototype.cpp:

LayoutTests:

Update tests for removal of Array.prototype.values, and add test to ensure that
it's gone.

* js/Object-getOwnPropertyNames-expected.txt:
* js/array-iterators-expected.txt:
* js/basic-for-of-expected.txt:
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/array-iterators.js:
* js/script-tests/basic-for-of.js:

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

6 years agoFix layout test
oliver@apple.com [Mon, 11 Nov 2013 20:17:49 +0000 (20:17 +0000)]
Fix layout test

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

6 years agoRemove the OperationsNotDeletable attribute from most of the WebIDL interfaces
zandobersek@gmail.com [Mon, 11 Nov 2013 19:58:05 +0000 (19:58 +0000)]
Remove the OperationsNotDeletable attribute from most of the WebIDL interfaces
https://bugs.webkit.org/show_bug.cgi?id=124151

Reviewed by Geoffrey Garen.

The OperationsNotDeletable attribute currently doesn't have any effect, but will soon enforce
non-configurability of operations on the interface that uses the attribute. Non-configurability
of operations is the default behavior at the moment, but will be changed to follow the WebIDL
specification which requires that the operations are configurable (i.e. -- in JSC terms -- deletable).
IE and Firefox already exhibit this behavior in the majority of cases, while Chrome and Opera don't.

The attribute remains in use on the Location interface to mimic the Unforgeable attribute which
also makes operations of an interface non-configurable. Unforgeable attribute will be used instead
when support for it will be added to the JSC bindings generator.

* Modules/battery/BatteryManager.idl:
* Modules/encryptedmedia/MediaKeySession.idl:
* Modules/encryptedmedia/MediaKeys.idl:
* Modules/gamepad/GamepadList.idl:
* Modules/geolocation/Geolocation.idl:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyRange.idl:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBTransaction.idl:
* Modules/indexeddb/IDBVersionChangeEvent.idl:
* Modules/mediacontrols/MediaControlsHost.idl:
* Modules/mediasource/MediaSource.idl:
* Modules/mediasource/SourceBuffer.idl:
* Modules/mediasource/SourceBufferList.idl:
* Modules/mediastream/MediaStream.idl:
* Modules/mediastream/MediaStreamTrack.idl:
* Modules/mediastream/RTCDTMFSender.idl:
* Modules/mediastream/RTCDataChannel.idl:
* Modules/mediastream/RTCPeerConnection.idl:
* Modules/mediastream/RTCStatsReport.idl:
* Modules/mediastream/RTCStatsResponse.idl:
* Modules/networkinfo/NetworkInfoConnection.idl:
* Modules/notifications/Notification.idl:
* Modules/notifications/NotificationCenter.idl:
* Modules/proximity/DeviceProximityEvent.idl:
* Modules/quota/StorageInfo.idl:
* Modules/quota/StorageQuota.idl:
* Modules/speech/SpeechGrammarList.idl:
* Modules/speech/SpeechRecognition.idl:
* Modules/speech/SpeechRecognitionResult.idl:
* Modules/speech/SpeechRecognitionResultList.idl:
* Modules/speech/SpeechSynthesis.idl:
* Modules/webaudio/AnalyserNode.idl:
* Modules/webaudio/AudioBuffer.idl:
* Modules/webaudio/AudioBufferSourceNode.idl:
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/AudioListener.idl:
* Modules/webaudio/AudioNode.idl:
* Modules/webaudio/AudioParam.idl:
* Modules/webaudio/BiquadFilterNode.idl:
* Modules/webaudio/OscillatorNode.idl:
* Modules/webaudio/PannerNode.idl:
* Modules/webdatabase/Database.idl:
* Modules/webdatabase/DatabaseSync.idl:
* Modules/webdatabase/SQLResultSetRowList.idl:
* Modules/webdatabase/SQLTransaction.idl:
* Modules/webdatabase/SQLTransactionSync.idl:
* Modules/websockets/WebSocket.idl:
* crypto/CryptoKey.idl:
* crypto/SubtleCrypto.idl:
* css/CSSHostRule.idl:
* css/CSSMediaRule.idl:
* css/CSSPrimitiveValue.idl:
* css/CSSRuleList.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSStyleSheet.idl:
* css/CSSSupportsRule.idl:
* css/CSSValueList.idl:
* css/DOMWindowCSS.idl:
* css/FontLoader.idl:
* css/MediaList.idl:
* css/MediaQueryList.idl:
* css/MediaQueryListListener.idl:
* css/StyleMedia.idl:
* css/StyleSheet.idl:
* css/StyleSheetList.idl:
* css/WebKitCSSFilterValue.idl:
* css/WebKitCSSKeyframesRule.idl:
* css/WebKitCSSMatrix.idl:
* css/WebKitCSSTransformValue.idl:
* dom/CharacterData.idl:
* dom/ChildNode.idl:
* dom/ClientRectList.idl:
* dom/Clipboard.idl:
* dom/CompositionEvent.idl:
* dom/CustomEvent.idl:
* dom/DOMCoreException.idl:
* dom/DOMImplementation.idl:
* dom/DOMNamedFlowCollection.idl:
* dom/DOMStringList.idl:
* dom/DOMStringMap.idl:
* dom/DataTransferItem.idl:
* dom/DataTransferItemList.idl:
* dom/DeviceMotionEvent.idl:
* dom/DeviceOrientationEvent.idl:
* dom/Document.idl:
* dom/DocumentFragment.idl:
* dom/DocumentType.idl:
* dom/Element.idl:
* dom/Event.idl:
* dom/EventException.idl:
* dom/EventListener.idl:
* dom/EventTarget.idl:
* dom/HashChangeEvent.idl:
* dom/KeyboardEvent.idl:
* dom/MessageEvent.idl:
* dom/MessagePort.idl:
* dom/MouseEvent.idl:
* dom/MutationEvent.idl:
* dom/MutationObserver.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/NodeFilter.idl:
* dom/NodeIterator.idl:
* dom/NodeList.idl:
* dom/Range.idl:
* dom/RangeException.idl:
* dom/ShadowRoot.idl:
* dom/Text.idl:
* dom/TextEvent.idl:
* dom/TouchEvent.idl:
* dom/TouchList.idl:
* dom/TreeWalker.idl:
* dom/UIEvent.idl:
* dom/WebKitNamedFlow.idl:
* dom/WheelEvent.idl:
* fileapi/Blob.idl:
* fileapi/FileException.idl:
* fileapi/FileList.idl:
* fileapi/FileReader.idl:
* fileapi/FileReaderSync.idl:
* html/DOMFormData.idl:
* html/DOMSettableTokenList.idl:
* html/DOMTokenList.idl:
* html/DOMURL.idl:
* html/HTMLAllCollection.idl:
* html/HTMLAnchorElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLCanvasElement.idl:
* html/HTMLCollection.idl:
* html/HTMLDocument.idl:
* html/HTMLElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLFieldSetElement.idl:
* html/HTMLFormControlsCollection.idl:
* html/HTMLFormElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLIFrameElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLKeygenElement.idl:
* html/HTMLMarqueeElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOptionsCollection.idl:
* html/HTMLOutputElement.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTableElement.idl:
* html/HTMLTableRowElement.idl:
* html/HTMLTableSectionElement.idl:
* html/HTMLTextAreaElement.idl:
* html/HTMLVideoElement.idl:
* html/MediaController.idl:
* html/RadioNodeList.idl:
* html/TimeRanges.idl:
* html/canvas/CanvasGradient.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* html/canvas/DOMPath.idl:
* html/canvas/EXTDrawBuffers.idl:
* html/canvas/OESVertexArrayObject.idl:
* html/canvas/WebGLDebugShaders.idl:
* html/canvas/WebGLLoseContext.idl:
* html/canvas/WebGLRenderingContext.idl:
* html/track/AudioTrackList.idl:
* html/track/TextTrack.idl:
* html/track/TextTrackCue.idl:
* html/track/TextTrackCueList.idl:
* html/track/TextTrackList.idl:
* html/track/TextTrackRegionList.idl:
* html/track/VideoTrackList.idl:
* loader/appcache/DOMApplicationCache.idl:
* page/Console.idl:
* page/Crypto.idl:
* page/DOMSecurityPolicy.idl:
* page/DOMSelection.idl:
* page/DOMWindow.idl:
* page/EventSource.idl:
* page/History.idl:
* page/Navigator.idl:
* page/Performance.idl:
* page/PerformanceEntryList.idl:
* page/SpeechInputResultList.idl:
* page/WindowBase64.idl:
* page/WindowTimers.idl:
* plugins/DOMMimeTypeArray.idl:
* plugins/DOMPlugin.idl:
* plugins/DOMPluginArray.idl:
* storage/Storage.idl:
* storage/StorageEvent.idl:
* svg/SVGAngle.idl:
* svg/SVGAnimationElement.idl:
* svg/SVGColor.idl:
* svg/SVGCursorElement.idl:
* svg/SVGDocument.idl:
* svg/SVGElement.idl:
* svg/SVGElementInstanceList.idl:
* svg/SVGException.idl:
* svg/SVGFEDropShadowElement.idl:
* svg/SVGFEGaussianBlurElement.idl:
* svg/SVGFEMorphologyElement.idl:
* svg/SVGFilterElement.idl:
* svg/SVGGraphicsElement.idl:
* svg/SVGLength.idl:
* svg/SVGLengthList.idl:
* svg/SVGMarkerElement.idl:
* svg/SVGMaskElement.idl:
* svg/SVGMatrix.idl:
* svg/SVGNumberList.idl:
* svg/SVGPaint.idl:
* svg/SVGPathElement.idl:
* svg/SVGPathSegList.idl:
* svg/SVGPatternElement.idl:
* svg/SVGPoint.idl:
* svg/SVGPointList.idl:
* svg/SVGSVGElement.idl:
* svg/SVGStringList.idl:
* svg/SVGTests.idl:
* svg/SVGTextContentElement.idl:
* svg/SVGTransform.idl:
* svg/SVGTransformList.idl:
* workers/DedicatedWorkerGlobalScope.idl:
* workers/Worker.idl:
* workers/WorkerGlobalScope.idl:
* workers/WorkerLocation.idl:
* xml/DOMParser.idl:
* xml/XMLHttpRequest.idl:
* xml/XMLHttpRequestException.idl:
* xml/XMLHttpRequestUpload.idl:
* xml/XMLSerializer.idl:
* xml/XPathEvaluator.idl:
* xml/XPathException.idl:
* xml/XPathExpression.idl:
* xml/XPathNSResolver.idl:
* xml/XPathResult.idl:
* xml/XSLTProcessor.idl:

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

6 years agoAdd a testcase for a tiled layer inside an iframe
simon.fraser@apple.com [Mon, 11 Nov 2013 19:49:59 +0000 (19:49 +0000)]
Add a testcase for a tiled layer inside an iframe
https://bugs.webkit.org/show_bug.cgi?id=124159

Reviewed by Tim Horton.

Add a test for a tiled compositing layer inside an iframe.

* compositing/tiling/resources/tiled-layer-tall.html: Added.
* compositing/tiling/tiled-in-iframe.html: Added.

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

6 years agoRemove block based APIs from the WebKit2 C API
andersca@apple.com [Mon, 11 Nov 2013 19:18:32 +0000 (19:18 +0000)]
Remove block based APIs from the WebKit2 C API
https://bugs.webkit.org/show_bug.cgi?id=124157

Reviewed by Sam Weinig.

Source/WebKit2:

Remove most of the block based C APIs from WebKit2. We want to discourage people from using
them since any C API "objects" captured by blocks won't be implicitly retained which
can lead to dangling pointer bugs.

* UIProcess/API/C/WKDatabaseManager.cpp:
* UIProcess/API/C/WKDatabaseManager.h:
* UIProcess/API/C/WKFrame.cpp:
* UIProcess/API/C/WKFrame.h:
* UIProcess/API/C/WKPage.cpp:
* UIProcess/API/C/WKPage.h:
* UIProcess/API/C/WKPagePrivate.h:

Tools:

Update for WK2 changes.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(dumpSource):
(-[WK2BrowserWindowController dumpSourceToConsole:]):

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

6 years ago[CSS Regions] Selection focusNode set to the "region" block, instead of the "source...
commit-queue@webkit.org [Mon, 11 Nov 2013 18:21:05 +0000 (18:21 +0000)]
[CSS Regions] Selection focusNode set to the "region" block, instead of the "source" block
https://bugs.webkit.org/show_bug.cgi?id=120769

Patch by Javier Fernandez <jfernandez@igalia.com> on 2013-11-11
Reviewed by David Hyatt.

Source/WebCore:

When a point hits a Region block, current positionForPoint algorithm determines its
position in the DOM and returns either the start or end offset for such block, since
Region blocks have no children in the DOM.

It's necessary to map the point into Flow Thread coordinates in order to determine
the DOM position of the specific element rendered by the Region.

Top margin, padding and border points should be mapped to the beginning of the Region
block, while bottom points are mapped to the block end. The Left coordinate its just
adjusted to fit in the Flow Thread boundaries, since its not affected by the Flow
direction.

Besides, when inspecting the Flow Thread blocks looking for the last candidate box,
the Region originally associated to the point might be taken into account. Only the
blocks/boxes rendered by the Region are potential candidates.

Tests: fast/regions/selection/position-for-point-1-vert-lr.html
       fast/regions/selection/position-for-point-1-vert-rl.html
       fast/regions/selection/position-for-point-1.html
       fast/regions/selection/position-for-point-vert-lr.html
       fast/regions/selection/position-for-point-vert-rl.html
       fast/regions/selection/position-for-point.html

* rendering/RenderBlock.cpp:
(WebCore::isChildHitTestCandidate):
(WebCore::RenderBlock::positionForPoint):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::positionForPoint): Added.
It just redirects the call to the associated RenderNamedFlowFragment instance.
* rendering/RenderBlockFlow.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::mapRegionPointIntoFlowThreadCoordinates): Added.
It performs the coordinates mapping.
(WebCore::RenderRegion::positionForPoint): Added.
It determines the corresponding LayoutPoint in the FlowThread the Region
is associated to, forwarding the call to the RenderBlock class using the
FlowThread's first child block and such new point.
* rendering/RenderRegion.h:

LayoutTests:

* fast/regions/resources/helper.js:
(selectContentFromIdToPos):
(selectContentFromIdToPosVert):
(.document.onmouseup):
(onMouseUpLogSelectionAndFocus):
* fast/regions/selection/position-for-point-1-expected.txt: Added.
* fast/regions/selection/position-for-point-1-vert-lr-expected.txt: Added.
* fast/regions/selection/position-for-point-1-vert-lr.html: Added.
* fast/regions/selection/position-for-point-1-vert-rl-expected.txt: Added.
* fast/regions/selection/position-for-point-1-vert-rl.html: Added.
* fast/regions/selection/position-for-point-1.html: Added.
* fast/regions/selection/position-for-point-expected.txt: Added.
* fast/regions/selection/position-for-point-vert-lr-expected.txt: Added.
* fast/regions/selection/position-for-point-vert-lr.html: Added.
* fast/regions/selection/position-for-point-vert-rl-expected.txt: Added.
* fast/regions/selection/position-for-point-vert-rl.html: Added.
* fast/regions/selection/position-for-point.html: Added.

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

6 years agoFix CPU(ARM_TRADITIONAL) build after r159039.
rgabor@webkit.org [Mon, 11 Nov 2013 18:14:47 +0000 (18:14 +0000)]
Fix CPU(ARM_TRADITIONAL) build after r159039.
https://bugs.webkit.org/show_bug.cgi?id=124149

Reviewed by Geoffrey Garen.

* assembler/ARMAssembler.h:
(JSC::ARMAssembler::firstRegister):
(JSC::ARMAssembler::lastRegister):
(JSC::ARMAssembler::firstFPRegister):
(JSC::ARMAssembler::lastFPRegister):
* assembler/MacroAssemblerARM.h:
* jit/FPRInfo.h:

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