1 2013-12-12 Andreas Kling <akling@apple.com>
3 StyleResolver::adjustRenderStyle() should take RenderStyle references.
4 <https://webkit.org/b/125623>
6 This function doesn't handle null styles being passed, so prevent
9 Reviewed by Anders Carlsson.
11 2013-12-13 Darin Adler <darin@apple.com>
13 Eliminate awkward virtualComputedStyle construction
14 https://bugs.webkit.org/show_bug.cgi?id=125681
16 Reviewed by Andreas Kling.
19 (WebCore::Element::computedStyle): Tweak coding style a bit.
21 * dom/Element.h: Marked computedStyle virtual and got rid of virtualComputedStyle.
22 This fixes a bug that we would not call SVGElement::computedStyle if we called
23 it through an Element pointer or reference. Not sure how to get test coverage for this.
26 (WebCore::Node::computedStyle): Use a loop instead of recursive virtual calls.
28 * dom/Node.h: Made computedStyle virtual and got rid of virtualComputedStyle.
31 (WebCore::SVGElement::computedStyle): Tweak coding style a bit.
33 * svg/SVGElement.h: Made computedStyle virtual (and FINAL) and got rid fo
36 2013-12-13 Darin Adler <darin@apple.com>
38 Fix a couple stray uses of RefPtr that should release
39 https://bugs.webkit.org/show_bug.cgi?id=125679
41 Reviewed by Andreas Kling.
44 (WebCore::CSSParser::parseFilter): Add calls to release, in
45 one case rearranging the order of operations slightly so we
46 don't release the pointer before using it.
48 2013-12-12 Alexey Proskuryakov <ap@apple.com>
50 WebCrypto wrapKey operation doesn't check key usage
51 https://bugs.webkit.org/show_bug.cgi?id=125675
53 Reviewed by Darin Adler.
55 Tests: crypto/subtle/unwrapKey-check-usage.html
56 crypto/subtle/wrapKey-check-usage.html
58 * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):
59 Added accidentally omitted code. Other operations are fine.
61 2013-12-12 Darin Adler <darin@apple.com>
63 Make some improvements in CSSImageGeneratorValue code
64 https://bugs.webkit.org/show_bug.cgi?id=125676
66 Reviewed by Simon Fraser.
68 * css/CSSCrossfadeValue.cpp:
69 (WebCore::subimageKnownToBeOpaque): Take a reference to the CSSValue, since
70 it's known not to be null. Used checked cast.
71 (WebCore::CSSCrossfadeValue::knownToBeOpaque): Updated to pass a reference.
73 * css/CSSImageGeneratorValue.cpp:
74 (WebCore::CSSImageGeneratorValue::saveCachedImageForSize): Use
75 make_unique instead of adoptPtr.
76 (WebCore::CSSImageGeneratorValue::subimageIsPending): Use checked cast.
77 (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue): Ditto, also
80 * css/CSSImageGeneratorValue.h: Removed unneeded includes, added some forward
81 declarations, used unique_ptr instead of OwnPtr, and used CSS_VALUE_TYPE_CASTS
82 macro to create cast functions.
84 * css/CSSValue.cpp: Removed unneeded include of CSSImageGeneratorValue.h.
86 * css/StyleResolver.cpp:
87 (WebCore::StyleResolver::State::clear): Use nullptr instead of 0.
88 (WebCore::StyleResolver::applyProperty): Use checked cast and pass references
89 instead of pointers to StyleGeneratedImage::create.
90 (WebCore::StyleResolver::styleImage): Use checked cast and pass references
91 instead of pointers to generatedOrPendingFromValue.
92 (WebCore::StyleResolver::generatedOrPendingFromValue): Take the value as a
93 reference instead of a pointer.
94 (WebCore::StyleResolver::loadPendingImage): Pass a refernece instead of a
95 pointer to StyleGeneratedImage::create.
96 (WebCore::StyleResolver::loadPendingImages): Use auto for iteration instead of
99 * css/StyleResolver.h: Changed generatedOrPendingFromValue to take the value
100 as a reference instead of a pointer.
102 * page/animation/CSSPropertyAnimation.cpp:
103 (WebCore::blendFilter): Pass a reference insted of a pointer to
104 StyleGeneratedImage::create.
105 (WebCore::crossfadeBlend): Ditto.
106 (WebCore::blendFunc): Ditto. Also use references for local variables.
108 * rendering/style/StyleGeneratedImage.cpp:
109 (WebCore::StyleGeneratedImage::StyleGeneratedImage): Use PassRef instead of
110 PassRefPtr for the argument type.
111 (WebCore::StyleGeneratedImage::cssValue): Updated since m_imageGeneratorValue
112 is now a Ref instead of a RefPtr. Sadly this requires a const_cast that we can
113 come back and get rid of later.
114 (WebCore::StyleGeneratedImage::imageSize): Ditto.
115 (WebCore::StyleGeneratedImage::image): Ditto.
117 * rendering/style/StyleGeneratedImage.h: Changed create function and constructor
118 to take a PassRef. Made imageValue non-const since it returns a non-const value,
119 to be consistent with "conceptual const". Changed m_imageGeneratorValue to be a
120 Ref instead of a RefPtr.
122 * rendering/style/StyleImage.h: Made WrappedImagePtr be const void*, since it's
123 a pointer used only for equality checks. Not a great idiom, but fine to use a
124 const pointer instead of non-const, and avoids the const_cast we'd otherwise
125 need in StyleGeneratedImage::data.
127 2013-12-12 KyungTae Kim <ktf.kim@samsung.com>
129 Improve the find word boundary performance
130 https://bugs.webkit.org/show_bug.cgi?id=125619
132 In endWordBoundary case, the textBreakPrevious call in findWordBoundary is unnecessary.
133 So use separate function for endWordBoundary can improve the performance.
135 Reviewed by Darin Adler.
137 No tests because no operation changes.
139 * editing/VisibleUnits.cpp: Use findEndWordBoundary in endWordBoundary
140 (WebCore::endWordBoundary):
141 * platform/text/TextBoundaries.cpp: Add findEndWordBoundary function
142 (WebCore::findEndWordBoundary):
143 * platform/text/TextBoundaries.h:
144 * platform/text/mac/TextBoundaries.mm: Add findEndWordBoundary function
145 (WebCore::findEndWordBoundary):
147 2013-12-12 Benjamin Poulain <bpoulain@apple.com>
149 Fix a silly mistake of r160467
150 https://bugs.webkit.org/show_bug.cgi?id=125657
152 Reviewed by Alexey Proskuryakov.
154 Fix a typo. The validity check was missing the logical not.
156 * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
157 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
158 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
159 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
160 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
161 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
162 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
163 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
164 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
165 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
166 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
167 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
169 2013-12-12 Tim Horton <timothy_horton@apple.com>
171 [wk2] Handle pinch-to-zoom gesture
172 https://bugs.webkit.org/show_bug.cgi?id=125604
174 Reviewed by Simon Fraser.
177 Export some TransformationMatrix functions.
179 * WebCore.xcodeproj/project.pbxproj:
180 Make some headers private so that RenderLayerCompositor/Backing can be used from WebKit2.
182 * rendering/RenderLayerCompositor.h:
183 (WebCore::RenderLayerCompositor::layerForContentShadow):
184 Add a getter for the content shadow layer.
186 2013-12-12 Brady Eidson <beidson@apple.com>
188 DatabaseProcess IndexedDB: Establish a metadata backing store on disk
189 https://bugs.webkit.org/show_bug.cgi?id=125258
191 Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.
193 Teach CrossThreadCopier how to handle IDBDatabaseMetadata.
196 * GNUmakefile.list.am:
198 * WebCore.xcodeproj/project.pbxproj:
200 * Modules/indexeddb/IDBDatabaseMetadata.cpp: Added.
201 (WebCore::IDBDatabaseMetadata::isolatedCopy):
202 (WebCore::IDBObjectStoreMetadata::isolatedCopy):
203 (WebCore::IDBIndexMetadata::isolatedCopy):
204 * Modules/indexeddb/IDBDatabaseMetadata.h:
206 * Modules/indexeddb/IDBKeyPath.cpp:
207 (WebCore::IDBKeyPath::isolatedCopy):
208 * Modules/indexeddb/IDBKeyPath.h:
210 * platform/CrossThreadCopier.cpp:
211 (WebCore::::copy): Add an IDBDatabaseMetadata specialization.
212 * platform/CrossThreadCopier.h:
214 2013-12-12 Alexey Proskuryakov <ap@apple.com>
216 Add support for RSAES-PKCS1-v1_5
217 https://bugs.webkit.org/show_bug.cgi?id=125647
221 * crypto/CommonCryptoUtilities.h: Declare a newly used private constant.
223 2013-12-12 Alexey Proskuryakov <ap@apple.com>
225 Add support for RSAES-PKCS1-v1_5
226 https://bugs.webkit.org/show_bug.cgi?id=125647
228 Reviewed by Anders Carlsson.
230 Tests: crypto/subtle/rsaes-pkcs1-v1_5-decrypt.html
231 crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html
233 * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
234 * crypto/algorithms/CryptoAlgorithmAES_KW.h:
235 Removed meaningless parameters arguments from private functions. The base arguments
236 class is always empty.
238 * WebCore.xcodeproj/project.pbxproj:
239 * bindings/js/JSCryptoAlgorithmDictionary.cpp:
240 (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
241 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
242 * bindings/js/JSCryptoKeySerializationJWK.cpp:
243 (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
244 (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
245 (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
246 * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp: Added.
247 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::CryptoAlgorithmRSAES_PKCS1_v1_5):
248 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::~CryptoAlgorithmRSAES_PKCS1_v1_5):
249 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::create):
250 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::identifier):
251 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::keyAlgorithmMatches):
252 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
253 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):
254 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
255 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
256 * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h: Added.
257 * crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp: Added.
258 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
259 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
260 * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
261 (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
262 Added support for this algorithm.
264 2013-12-12 Andreas Kling <akling@apple.com>
266 [Mac] Stop not caching HTTP resources with "Vary" header in response.
267 <https://webkit.org/b/125483>
268 <rdar://problem/11781097>
270 Remove the workaround preventing resources with the "Vary" header
271 from going into cache, as the CFNetwork cache has supported this
272 for quite a while now.
274 31.5 MB progression on Membuster3, because we can now mmap those
275 resources from disk once they are in the cache.
277 We keep the workaround on PLATFORM(WIN) for now.
279 Reviewed by Antti Koivisto.
281 2013-12-12 Sam Weinig <sam@webkit.org>
283 Replace uses of WTF::BitArray with std::bitset
284 https://bugs.webkit.org/show_bug.cgi?id=125642
286 Reviewed by Anders Carlsson.
289 (WebCore::filterProperties):
290 (WebCore::CSSParser::createStyleProperties):
291 * css/StyleProperties.cpp:
292 (WebCore::StyleProperties::asText):
294 2013-12-12 Alexey Proskuryakov <ap@apple.com>
296 Public key in a generated KeyPair should always be extractable
297 https://bugs.webkit.org/show_bug.cgi?id=125643
299 Reviewed by Sam Weinig.
301 The spec doesn't explain how generateKey works with key pairs (there are open bugs
302 about that). Making public keys non-extractable makes no sense one way or another.
304 Test: crypto/subtle/rsa-oaep-generate-non-extractable-key.html
306 * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::generatePair):
308 2013-12-12 Alexey Proskuryakov <ap@apple.com>
310 Make algorithm.name return registered name, not normalized one
311 https://bugs.webkit.org/show_bug.cgi?id=125641
313 Reviewed by Anders Carlsson.
315 Currently, WebCrypto editor's draft stipulates that algorithm name is lowercased
316 as part of normalization.
318 But it makes little sense to register algorithms as mixed (mostly upper) case, yet
319 return the name lowercased. Other implementations don't bother respecting this,
320 and signs are that the spec will change.
322 I'd like to match other implementations here, because sticking to the spec only
323 makes us fail 3rd party test suites for no good reason.
325 Updated many existing tests.
327 * crypto/CryptoAlgorithmRegistry.cpp:
328 (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
329 (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
330 * crypto/CryptoAlgorithmRegistry.h:
331 * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
332 * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
333 * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
334 * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
335 * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
336 * crypto/algorithms/CryptoAlgorithmSHA1.cpp:
337 * crypto/algorithms/CryptoAlgorithmSHA224.cpp:
338 * crypto/algorithms/CryptoAlgorithmSHA256.cpp:
339 * crypto/algorithms/CryptoAlgorithmSHA384.cpp:
340 * crypto/algorithms/CryptoAlgorithmSHA512.cpp:
342 2013-12-12 Csaba Osztrogonác <ossy@webkit.org>
344 Move CertificateInfo to WebCore
345 https://bugs.webkit.org/show_bug.cgi?id=124720
347 Reviewed by Darin Adler.
349 Based on the patch by Kwang Yul Seo <skyul@company100.net>
351 * GNUmakefile.list.am:
355 * WebCore.xcodeproj/project.pbxproj:
356 * platform/network/mac/CertificateInfo.h: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.h.
357 (WebCore::CertificateInfo::setCertificateChain): Added, because WebCoreArgumentCoders needs it.
358 * platform/network/mac/CertificateInfoMac.mm: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.mm.
359 (WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersMac.mm.
360 * platform/network/soup/CertificateInfo.cpp: Copied from Source/WebKit2/Shared/WebCertificateInfo.h.
361 (WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersSoup.cpp.
362 * platform/network/soup/CertificateInfo.h: Renamed from Source/WebKit2/Shared/soup/CertificateInfo.h.
363 (WebCore::CertificateInfo::setCertificate): Added, because WebCoreArgumentCoders needs it.
364 (WebCore::CertificateInfo::setTLSErrors): Added, because WebCoreArgumentCoders needs it.
366 2013-12-12 Commit Queue <commit-queue@webkit.org>
368 Unreviewed, rolling out r160417.
369 http://trac.webkit.org/changeset/160417
370 https://bugs.webkit.org/show_bug.cgi?id=125629
372 The patch is causing crashes (Requested by zdobersek1 on
375 * accessibility/AXObjectCache.cpp:
376 (WebCore::AXObjectCache::~AXObjectCache):
377 (WebCore::AXObjectCache::remove):
378 * accessibility/AXObjectCache.h:
379 (WebCore::AXObjectCache::detachWrapper):
380 * accessibility/atk/AXObjectCacheAtk.cpp:
381 (WebCore::AXObjectCache::detachWrapper):
382 (WebCore::AXObjectCache::attachWrapper):
383 (WebCore::AXObjectCache::postPlatformNotification):
384 * accessibility/ios/AXObjectCacheIOS.mm:
385 (WebCore::AXObjectCache::detachWrapper):
386 * accessibility/mac/AXObjectCacheMac.mm:
387 (WebCore::AXObjectCache::detachWrapper):
388 * accessibility/win/AXObjectCacheWin.cpp:
389 (WebCore::AXObjectCache::detachWrapper):
391 2013-12-12 Martin Robinson <mrobinson@igalia.com>
393 Remove a few more guards mistakenly added in r160367
395 Reviewed by Carlos Garcia Campos
397 r160367 was too liberal in hiding APIs from the GObject DOM bindings.
398 We should expose the BatteryManager and the text and audio tracks.
400 * Modules/battery/BatteryManager.idl:
401 * html/HTMLMediaElement.idl:
403 2013-12-11 Darin Adler <darin@apple.com>
405 StylePendingImage needs to correctly manage the CSSValue pointer lifetime
406 https://bugs.webkit.org/show_bug.cgi?id=125468
408 Reviewed by Andreas Kling.
410 Test: fast/css/pending-image-crash.xhtml
412 Disconnect the reference counted StylePendingImage from the CSSValue that owns
413 it when it's not needed any more, otherwise we could end up using a pointer
414 that might no longer be valid.
416 * css/CSSCursorImageValue.cpp:
417 (WebCore::CSSCursorImageValue::detachPendingImage): Added. Calls detachFromCSSValue
418 on the current image if it is a StylePendingImage.
419 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Call detachPendingImage.
420 (WebCore::CSSCursorImageValue::cachedImage): Call detachPendingImage before changing
421 m_image to a new value.
422 (WebCore::CSSCursorImageValue::clearCachedImage): Ditto.
423 * css/CSSCursorImageValue.h: Added detachPendingImage.
425 * css/CSSImageSetValue.cpp:
426 (WebCore::CSSImageSetValue::detachPendingImage): Added. Calls detachFromCSSValue
427 on the current image set if it is a StylePendingImage.
428 (WebCore::CSSImageSetValue::~CSSImageSetValue): Call detachPendingImage.
429 (WebCore::CSSImageSetValue::cachedImageSet): Call detachPendingImage before changing
430 m_imageSet to a new value.
431 * css/CSSImageSetValue.h: Added detachPendingImage.
433 * css/CSSImageValue.cpp:
434 (WebCore::CSSImageValue::detachPendingImage): Added. Calls detachFromCSSValue on the
435 current image if it is a StylePendingImage.
436 (WebCore::CSSImageValue::~CSSImageValue): Call detachPendingImage.
437 (WebCore::CSSImageValue::cachedImage): Call detachPendingImage before changing m_image
439 * css/CSSImageValue.h: Added detachPendingImage.
441 * rendering/style/StylePendingImage.h:
442 (WebCore::StylePendingImage::cssImageValue): Added a null check.
443 (WebCore::StylePendingImage::cssImageGeneratorValue): Added a null check.
444 (WebCore::StylePendingImage::cssCursorImageValue): Added a null check.
445 (WebCore::StylePendingImage::cssImageSetValue): Added a null check.
446 (WebCore::StylePendingImage::detachFromCSSValue): Added. Sets m_value to null since
447 the style is no longer using this StylePendingImage.
448 (WebCore::StylePendingImage::data): Changed to use the "this" pointer since all we
449 need is some arbitrary pointer uniquely identifying the image. Before loading the image,
450 we have no suitable weak identifier, so it suffices to use the unique pointer to each
451 StylePendingImage object. This function is used only in a limited way; it would be nice
452 to find a way to make the code less strange long term.
454 2013-12-11 Darin Adler <darin@apple.com>
456 Remove some unneeded code noticed while looking at StylePendingImage
457 https://bugs.webkit.org/show_bug.cgi?id=125618
459 Reviewed by Andreas Kling.
461 * css/StyleResolver.cpp:
462 (WebCore::StyleResolver::loadPendingImage): Removed redundant function calls.
464 * rendering/RenderImageResource.cpp: Removed unneeded nullImage and
465 usesImageContainerSize member functions.
466 (WebCore::RenderImageResource::image): Use Image::nullImage directly instead of
467 through RenderImageResourceImage::nullImage.
469 * rendering/RenderImageResource.h: Removed unneeded usesImageContainerSize
470 and nullImage functions. Also removed unneeded includes.
472 * rendering/RenderImageResourceStyleImage.h: Removed unneeded
473 usesImageContainerSize override. Nobody was calling it.
475 2013-12-11 Benjamin Poulain <bpoulain@apple.com>
477 Add the CFNetwork implementation of the asynchronous ResourceHandle
478 https://bugs.webkit.org/show_bug.cgi?id=124440
480 Reviewed by Alexey Proskuryakov.
482 Add a second subclass of ResourceHandleCFURLConnectionDelegate: ResourceHandleCFURLConnectionDelegateWithOperationQueue.
483 The difference is those objects handle the network callback on a different queue.
485 Some common code has been refactored in ResourceHandleCFURLConnectionDelegate to reduce duplicated code.
487 The initialization of the request and connection is moved to the subclass to clean up initialization.
489 * WebCore.xcodeproj/project.pbxproj:
490 * platform/network/ResourceHandle.h:
491 * platform/network/ResourceHandleClient.cpp:
492 (WebCore::ResourceHandleClient::willCacheResponseAsync):
493 * platform/network/ResourceHandleClient.h:
494 * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp: Added.
495 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::ResourceHandleCFURLConnectionDelegateWithOperationQueue):
496 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::~ResourceHandleCFURLConnectionDelegateWithOperationQueue):
497 (WebCore::connectionWasCancelled):
498 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest):
499 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupConnectionScheduling):
500 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
501 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
502 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
503 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
504 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
505 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
506 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
507 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
508 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
509 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
510 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
511 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillSendRequest):
512 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueDidReceiveResponse):
513 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueShouldUseCredentialStorage):
514 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillCacheResponse):
515 (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueCanAuthenticateAgainstProtectionSpace):
516 * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h: Copied from Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h.
517 * platform/network/cf/ResourceHandleCFNet.cpp:
518 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
519 (WebCore::ResourceHandle::createCFURLConnection):
520 (WebCore::ResourceHandle::start):
521 (WebCore::ResourceHandle::shouldUseCredentialStorage):
522 (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
523 (WebCore::ResourceHandle::continueWillSendRequest):
524 (WebCore::ResourceHandle::continueDidReceiveResponse):
525 (WebCore::ResourceHandle::continueShouldUseCredentialStorage):
526 (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
527 (WebCore::ResourceHandle::continueWillCacheResponse):
528 * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
529 (WebCore::ResourceHandleCFURLConnectionDelegate::releaseHandle):
530 (WebCore::ResourceHandleCFURLConnectionDelegate::synthesizeRedirectResponseIfNecessary):
531 (WebCore::ResourceHandleCFURLConnectionDelegate::createResourceRequest):
532 * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
533 * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
534 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupRequest):
535 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupConnectionScheduling):
536 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
537 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillSendRequest):
538 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueDidReceiveResponse):
539 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueShouldUseCredentialStorage):
540 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillCacheResponse):
541 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueCanAuthenticateAgainstProtectionSpace):
542 * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
544 2013-12-11 David Kilzer <ddkilzer@apple.com>
546 Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
547 <http://webkit.org/b/125329>
549 Reviewed by Darin Adler.
551 No tests since this is a build fix for:
553 $ ./Tools/Scripts/build-webkit --release OTHER_CFLAGS="$inherited -DADDRESS_SANITIZER=1"
555 * rendering/InlineBox.cpp:
556 * rendering/InlineBox.h:
557 - Replace ASSERT_DISABLED use with
558 ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for m_hasBadParent.
560 * rendering/InlineFlowBox.cpp:
561 (WebCore::InlineFlowBox::~InlineFlowBox):
562 - Use !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED instead of
563 #ifndef NDEBUG since this calls setHasBadParent().
564 (WebCore::InlineFlowBox::checkConsistency):
565 - Move ASSERT(!m_hasBadChildList) outside of
566 #if CHECK_CONSISTENCY and change to
567 ASSERT_WITH_SECURITY_IMPLICATION(!m_hasBadChildList).
569 * rendering/InlineFlowBox.h:
570 (WebCore::InlineFlowBox::InlineFlowBox):
571 (WebCore::InlineFlowBox::setHasBadChildList):
572 - Change #ifndef NDEBUG to
573 #if !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for code using
576 2013-12-11 Ralph Thomas <ralpht@gmail.com>
578 [WebGL] Fix build on GL ES 2.0 targets after r160119
579 https://bugs.webkit.org/show_bug.cgi?id=125541
581 Reviewed by Brent Fulgham.
583 GL ES 2.0 doesn't define GL_HALF_FLOAT_ARB, so pass through HALF_FLOAT_OES (which is defined for GL ES 2.0).
584 This change also reverts r160324 which incorrectly defined GL_HALF_FLOAT_ARB for the Windows ANGLE target.
586 No new tests, no change in functionality.
588 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
589 (WebCore::GraphicsContext3D::texSubImage2D):
591 2013-12-11 Joseph Pecoraro <pecoraro@apple.com>
593 Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
594 https://bugs.webkit.org/show_bug.cgi?id=125324
596 Reviewed by Timothy Hatcher.
598 Part 1: Push down core inspector classes.
600 - Move InspectAgentBase, InspectorAgentRegistry, InspectorBackendDispatcher, InspectorValues
601 down to JavaScriptCore and into the Inspector namespace.
602 - Add forwarding headers for JavaScriptCore/inspector files.
603 - Use the Inspector namespace where appropriate.
604 - Rename InspectorBaseAgent to InspectorAgentBase for clarity.
606 Part 2: Push Script wrapper classes down into JavaScriptCore/bindings.
608 - Move ScriptObject and ScriptValue into JavaScriptCore but namespace Deprecated
609 - Add forwarding headers
610 - Use Deprecated::ScriptObject and Deprecated::ScriptValue everywhere.
612 Part 3: Push Down ScriptFunctionCall
614 - Move ScriptFunctionCall to JavaScriptCore/bindings into namespace Deprecated.
615 - Give constructor a function to all for a different JSC::call, because
616 WebCore ScriptFunctionCall's use JSMainThreadExecState when isMainThread.
617 - Prefer Deprecated::ScriptFunctionCall everywhere it is used in WebCore.
619 Part 4: Extract InspectorTypeBuilder helper functions
621 - There is a chunk of InspectorTypeBuilder that never changes. Extract it into
622 its own file, InspectorTypeBuilder.h in JSC/inspector, Inspector namespace.
623 - This moves TypeBuilder from namespace WebCore to namespace Inspector
624 - Rename the WebCore generated InspectorTypeBuilder to InspectorWebTypeBuilders,
625 eventually the CodeGenerator script will do this for more then TypeBuilders
626 and there will be "JS" TypeBuilders and "Web" TypeBuilders files.
628 No new tests. No change in functionality, just moving things around.
631 * ForwardingHeaders/bindings/ScriptFunctionCall.h: Added.
632 * ForwardingHeaders/bindings/ScriptObject.h: Added.
633 * ForwardingHeaders/bindings/ScriptValue.h: Added.
634 * ForwardingHeaders/inspector/InspectorAgentBase.h: Added.
635 * ForwardingHeaders/inspector/InspectorAgentRegistry.h: Added.
636 * ForwardingHeaders/inspector/InspectorBackendDispatcher.h: Added.
637 * ForwardingHeaders/inspector/InspectorTypeBuilder.h: Added.
638 * ForwardingHeaders/inspector/InspectorValues.h: Added.
640 * GNUmakefile.list.am:
641 * Modules/indexeddb/IDBAny.cpp:
642 (WebCore::IDBAny::scriptValue):
643 (WebCore::IDBAny::IDBAny):
644 * Modules/indexeddb/IDBAny.h:
645 * Modules/indexeddb/IDBCursor.cpp:
646 (WebCore::IDBCursor::key):
647 (WebCore::IDBCursor::primaryKey):
648 (WebCore::IDBCursor::value):
649 (WebCore::IDBCursor::update):
650 (WebCore::IDBCursor::continueFunction):
651 (WebCore::IDBCursor::setValueReady):
652 * Modules/indexeddb/IDBCursor.h:
653 * Modules/indexeddb/IDBFactory.cpp:
654 (WebCore::IDBFactory::cmp):
655 * Modules/indexeddb/IDBFactory.h:
656 * Modules/indexeddb/IDBIndex.cpp:
657 (WebCore::IDBIndex::openCursor):
658 (WebCore::IDBIndex::count):
659 (WebCore::IDBIndex::openKeyCursor):
660 (WebCore::IDBIndex::get):
661 (WebCore::IDBIndex::getKey):
662 * Modules/indexeddb/IDBIndex.h:
663 (WebCore::IDBIndex::openCursor):
664 (WebCore::IDBIndex::openKeyCursor):
665 * Modules/indexeddb/IDBKeyRange.cpp:
666 (WebCore::IDBKeyRange::lowerValue):
667 (WebCore::IDBKeyRange::upperValue):
668 (WebCore::IDBKeyRange::only):
669 (WebCore::IDBKeyRange::lowerBound):
670 (WebCore::IDBKeyRange::upperBound):
671 (WebCore::IDBKeyRange::bound):
672 * Modules/indexeddb/IDBKeyRange.h:
673 (WebCore::IDBKeyRange::lowerBound):
674 (WebCore::IDBKeyRange::upperBound):
675 (WebCore::IDBKeyRange::bound):
676 * Modules/indexeddb/IDBObjectStore.cpp:
677 (WebCore::IDBObjectStore::get):
678 (WebCore::generateIndexKeysForValue):
679 (WebCore::IDBObjectStore::add):
680 (WebCore::IDBObjectStore::put):
681 (WebCore::IDBObjectStore::deleteFunction):
682 (WebCore::IDBObjectStore::openCursor):
683 (WebCore::IDBObjectStore::count):
684 * Modules/indexeddb/IDBObjectStore.h:
685 * Modules/indexeddb/IDBRequest.cpp:
686 (WebCore::IDBRequest::setResultCursor):
687 (WebCore::IDBRequest::onSuccess):
688 (WebCore::IDBRequest::onSuccessInternal):
689 * Modules/indexeddb/IDBRequest.h:
690 * Modules/mediastream/CapabilityRange.cpp:
691 (WebCore::scriptValue):
692 (WebCore::CapabilityRange::min):
693 (WebCore::CapabilityRange::max):
694 * Modules/mediastream/CapabilityRange.h:
695 * Modules/mediastream/MediaTrackConstraint.h:
696 * Modules/mediastream/RTCIceCandidate.cpp:
697 * Modules/plugins/QuickTimePluginReplacement.cpp:
698 * Modules/plugins/QuickTimePluginReplacement.h:
701 * WebCore.vcxproj/WebCore.vcxproj:
702 * WebCore.vcxproj/WebCore.vcxproj.filters:
703 * WebCore.xcodeproj/project.pbxproj:
704 * bindings/js/Dictionary.h:
705 (WebCore::Dictionary::getEventListener):
706 * bindings/js/IDBBindingUtilities.cpp:
707 (WebCore::createIDBKeyFromScriptValueAndKeyPath):
708 (WebCore::injectIDBKeyIntoScriptValue):
709 (WebCore::canInjectIDBKeyIntoScriptValue):
710 (WebCore::deserializeIDBValue):
711 (WebCore::deserializeIDBValueBuffer):
712 (WebCore::idbKeyToScriptValue):
713 (WebCore::scriptValueToIDBKey):
714 * bindings/js/IDBBindingUtilities.h:
715 * bindings/js/JSBindingsAllInOne.cpp:
716 * bindings/js/JSDictionary.cpp:
717 (WebCore::JSDictionary::convertValue):
718 * bindings/js/JSDictionary.h:
719 * bindings/js/JSHTMLCanvasElementCustom.cpp:
720 (WebCore::JSHTMLCanvasElement::getContext):
721 * bindings/js/JSInjectedScriptHostCustom.cpp:
722 (WebCore::InjectedScriptHost::scriptValueAsNode):
723 (WebCore::InjectedScriptHost::nodeAsScriptValue):
724 (WebCore::JSInjectedScriptHost::inspectedObject):
725 (WebCore::JSInjectedScriptHost::inspect):
726 * bindings/js/JSInjectedScriptManager.cpp:
727 (WebCore::InjectedScriptManager::createInjectedScript):
728 * bindings/js/JSMainThreadExecState.cpp:
729 (WebCore::functionCallHandlerFromAnyThread):
730 * bindings/js/JSMainThreadExecState.h:
731 (WebCore::JSMainThreadExecState::currentState):
732 * bindings/js/JSMessageEventCustom.cpp:
733 (WebCore::JSMessageEvent::data):
734 (WebCore::handleInitMessageEvent):
735 * bindings/js/ScheduledAction.cpp:
736 * bindings/js/ScriptCallStackFactory.cpp:
737 (WebCore::createScriptArguments):
738 * bindings/js/ScriptController.cpp:
739 (WebCore::ScriptController::evaluateInWorld):
740 (WebCore::ScriptController::evaluate):
741 (WebCore::ScriptController::executeScriptInWorld):
742 (WebCore::ScriptController::executeScript):
743 (WebCore::ScriptController::executeIfJavaScriptURL):
744 * bindings/js/ScriptController.h:
745 * bindings/js/ScriptDebugServer.cpp:
746 (WebCore::ScriptDebugServer::setScriptSource):
747 (WebCore::ScriptDebugServer::updateCallStack):
748 (WebCore::ScriptDebugServer::dispatchDidPause):
749 (WebCore::ScriptDebugServer::runScript):
750 * bindings/js/ScriptDebugServer.h:
751 * bindings/js/ScriptGlobalObject.cpp: Renamed from Source/WebCore/bindings/js/ScriptObject.cpp.
752 (WebCore::handleException):
753 (WebCore::ScriptGlobalObject::set):
754 (WebCore::ScriptGlobalObject::get):
755 (WebCore::ScriptGlobalObject::remove):
756 * bindings/js/ScriptGlobalObject.h: Copied from Source/WebCore/inspector/ScriptCallStack.h.
757 (WebCore::ScriptGlobalObject::ScriptGlobalObject):
758 * bindings/js/ScriptObject.h: Removed.
759 * bindings/js/ScriptProfile.cpp:
760 (WebCore::buildInspectorObjectFor):
761 (WebCore::ScriptProfile::buildInspectorObjectForHead):
762 (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
763 * bindings/js/ScriptProfile.h:
764 * bindings/js/ScriptProfiler.cpp:
765 (WebCore::ScriptProfiler::objectByHeapObjectId):
766 (WebCore::ScriptProfiler::getHeapObjectId):
767 * bindings/js/ScriptProfiler.h:
768 * bindings/js/ScriptState.h:
769 * bindings/js/SerializedScriptValue.cpp:
770 (WebCore::SerializedScriptValue::deserializeForInspector):
771 (WebCore::SerializedScriptValue::serialize):
772 (WebCore::SerializedScriptValue::deserialize):
773 * bindings/js/SerializedScriptValue.h:
774 * bindings/js/WorkerScriptController.cpp:
775 (WebCore::WorkerScriptController::evaluate):
776 (WebCore::WorkerScriptController::setException):
777 * bindings/js/WorkerScriptController.h:
778 * bindings/scripts/CodeGeneratorJS.pm:
779 * bindings/scripts/test/JS/JSTestObj.cpp:
780 (WebCore::setJSTestObjAnyAttribute):
781 * dom/CustomEvent.cpp:
782 (WebCore::CustomEvent::initCustomEvent):
784 (WebCore::CustomEvent::detail):
785 * dom/MessageEvent.cpp:
786 (WebCore::MessageEvent::MessageEvent):
787 (WebCore::MessageEvent::initMessageEvent):
788 * dom/MessageEvent.h:
789 (WebCore::MessageEvent::create):
790 (WebCore::MessageEvent::dataAsScriptValue):
791 * dom/PopStateEvent.h:
792 (WebCore::PopStateEvent::state):
793 * dom/ScriptElement.cpp:
794 * html/HTMLMediaElement.cpp:
795 * html/parser/XSSAuditor.cpp:
796 * html/parser/XSSAuditorDelegate.cpp:
797 * inspector/CodeGeneratorInspector.py:
798 (RawTypes.BaseType.get_raw_validator_call_text):
799 (RawTypes.Object.get_array_item_raw_c_type_text):
800 (RawTypes.Any.get_array_item_raw_c_type_text):
801 (RawTypes.Array.get_array_item_raw_c_type_text):
802 (CommandReturnPassModel.OptOutput.get_return_var_type):
803 (CommandReturnPassModel.OptOutput.get_output_parameter_type):
804 (TypeModel.ExactlyInt.get_input_param_type_text):
805 (TypeModel.ExactlyInt.get_opt_output_type_):
806 (TypeModel.init_class):
807 (TypeBindings.create_named_type_declaration.Helper):
808 (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
809 (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
810 (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
812 (ArrayBinding.get_array_item_c_type_text):
814 (Generator.process_command):
815 * inspector/CodeGeneratorInspectorStrings.py:
817 (InspectorFrontend_h):
818 (InspectorBackendDispatchers_h):
819 * inspector/ConsoleMessage.cpp:
820 (WebCore::messageSourceValue):
821 (WebCore::messageTypeValue):
822 (WebCore::messageLevelValue):
823 (WebCore::ConsoleMessage::addToFrontend):
824 * inspector/ConsoleMessage.h:
825 * inspector/ContentSearchUtils.cpp:
826 (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
827 (WebCore::ContentSearchUtils::searchInTextByLines):
828 * inspector/ContentSearchUtils.h:
829 * inspector/InjectedScript.cpp:
830 (WebCore::InjectedScript::InjectedScript):
831 (WebCore::InjectedScript::evaluate):
832 (WebCore::InjectedScript::callFunctionOn):
833 (WebCore::InjectedScript::evaluateOnCallFrame):
834 (WebCore::InjectedScript::getFunctionDetails):
835 (WebCore::InjectedScript::getProperties):
836 (WebCore::InjectedScript::getInternalProperties):
837 (WebCore::InjectedScript::nodeForObjectId):
838 (WebCore::InjectedScript::releaseObject):
839 (WebCore::InjectedScript::wrapCallFrames):
840 (WebCore::InjectedScript::wrapObject):
841 (WebCore::InjectedScript::wrapTable):
842 (WebCore::InjectedScript::wrapNode):
843 (WebCore::InjectedScript::findObjectById):
844 (WebCore::InjectedScript::inspectNode):
845 (WebCore::InjectedScript::releaseObjectGroup):
846 (WebCore::InjectedScript::nodeAsScriptValue):
847 * inspector/InjectedScript.h:
848 * inspector/InjectedScriptBase.cpp:
849 (WebCore::InjectedScriptBase::InjectedScriptBase):
850 (WebCore::InjectedScriptBase::initialize):
851 (WebCore::InjectedScriptBase::injectedScriptObject):
852 (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
853 (WebCore::InjectedScriptBase::makeCall):
854 (WebCore::InjectedScriptBase::makeEvalCall):
855 * inspector/InjectedScriptBase.h:
856 * inspector/InjectedScriptCanvasModule.cpp:
857 (WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
858 (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
859 (WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
860 (WebCore::InjectedScriptCanvasModule::markFrameEnd):
861 (WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
862 (WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
863 (WebCore::InjectedScriptCanvasModule::traceLog):
864 (WebCore::InjectedScriptCanvasModule::replayTraceLog):
865 (WebCore::InjectedScriptCanvasModule::resourceInfo):
866 (WebCore::InjectedScriptCanvasModule::resourceState):
867 * inspector/InjectedScriptCanvasModule.h:
868 * inspector/InjectedScriptHost.cpp:
869 (WebCore::InjectedScriptHost::inspectImpl):
870 (WebCore::InjectedScriptHost::InspectableObject::get):
871 * inspector/InjectedScriptHost.h:
872 * inspector/InjectedScriptManager.cpp:
873 (WebCore::InjectedScriptManager::injectedScriptFor):
874 * inspector/InjectedScriptManager.h:
875 * inspector/InjectedScriptModule.cpp:
876 (WebCore::InjectedScriptModule::ensureInjected):
877 * inspector/InspectorAgent.cpp:
878 (WebCore::InspectorAgent::InspectorAgent):
879 (WebCore::InspectorAgent::didCreateFrontendAndBackend):
880 (WebCore::InspectorAgent::inspect):
881 * inspector/InspectorAgent.h:
882 * inspector/InspectorAllInOne.cpp:
883 * inspector/InspectorApplicationCacheAgent.cpp:
884 (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
885 (WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
886 (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
887 (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
888 (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
889 (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
890 (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
891 * inspector/InspectorApplicationCacheAgent.h:
892 * inspector/InspectorCSSAgent.cpp:
893 (WebCore::SelectorProfile::toInspectorObject):
894 (WebCore::InspectorCSSAgent::InspectorCSSAgent):
895 (WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
896 (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
897 (WebCore::InspectorCSSAgent::getInlineStylesForNode):
898 (WebCore::InspectorCSSAgent::getComputedStyleForNode):
899 (WebCore::InspectorCSSAgent::getAllStyleSheets):
900 (WebCore::InspectorCSSAgent::getStyleSheet):
901 (WebCore::InspectorCSSAgent::setStyleText):
902 (WebCore::InspectorCSSAgent::setPropertyText):
903 (WebCore::InspectorCSSAgent::toggleProperty):
904 (WebCore::InspectorCSSAgent::setRuleSelector):
905 (WebCore::InspectorCSSAgent::addRule):
906 (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
907 (WebCore::InspectorCSSAgent::getNamedFlowCollection):
908 (WebCore::InspectorCSSAgent::stopSelectorProfiler):
909 (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
910 (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
911 (WebCore::InspectorCSSAgent::collectStyleSheets):
912 (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
913 (WebCore::InspectorCSSAgent::detectOrigin):
914 (WebCore::InspectorCSSAgent::buildObjectForRule):
915 (WebCore::InspectorCSSAgent::buildArrayForRuleList):
916 (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
917 (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
918 (WebCore::InspectorCSSAgent::buildArrayForRegions):
919 (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
920 * inspector/InspectorCSSAgent.h:
921 * inspector/InspectorCanvasAgent.cpp:
922 (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
923 (WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
924 (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
925 (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
926 (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
927 (WebCore::InspectorCanvasAgent::injectedScriptCanvasModule):
928 * inspector/InspectorCanvasAgent.h:
929 * inspector/InspectorCanvasInstrumentation.h:
930 (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
931 (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
932 * inspector/InspectorClient.cpp:
933 * inspector/InspectorClient.h:
934 * inspector/InspectorConsoleAgent.cpp:
935 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
936 (WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
937 (WebCore::InspectableHeapObject::get):
938 * inspector/InspectorConsoleAgent.h:
939 * inspector/InspectorController.cpp:
940 * inspector/InspectorController.h:
941 * inspector/InspectorDOMAgent.cpp:
942 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
943 (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
944 (WebCore::InspectorDOMAgent::getDocument):
945 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
946 (WebCore::InspectorDOMAgent::querySelectorAll):
947 (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
948 (WebCore::InspectorDOMAgent::getEventListenersForNode):
949 (WebCore::InspectorDOMAgent::getSearchResults):
950 (WebCore::InspectorDOMAgent::resolveNode):
951 (WebCore::InspectorDOMAgent::getAttributes):
952 (WebCore::InspectorDOMAgent::buildObjectForNode):
953 (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
954 (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
955 (WebCore::InspectorDOMAgent::buildObjectForEventListener):
956 (WebCore::InspectorDOMAgent::didCommitLoad):
957 (WebCore::InspectorDOMAgent::didInsertDOMNode):
958 (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
959 * inspector/InspectorDOMAgent.h:
960 * inspector/InspectorDOMDebuggerAgent.cpp:
961 (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
962 (WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
963 (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
964 * inspector/InspectorDOMDebuggerAgent.h:
965 * inspector/InspectorDOMStorageAgent.cpp:
966 (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
967 (WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
968 (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
969 (WebCore::InspectorDOMStorageAgent::storageId):
970 (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
971 * inspector/InspectorDOMStorageAgent.h:
972 * inspector/InspectorDatabaseAgent.cpp:
973 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
974 (WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
975 (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
976 * inspector/InspectorDatabaseAgent.h:
977 * inspector/InspectorDatabaseResource.cpp:
978 (WebCore::InspectorDatabaseResource::bind):
979 * inspector/InspectorDebuggerAgent.cpp:
980 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
981 (WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
982 (WebCore::breakpointActionTypeForString):
983 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
984 (WebCore::InspectorDebuggerAgent::setBreakpoint):
985 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
986 (WebCore::scriptToInspectorObject):
987 (WebCore::InspectorDebuggerAgent::searchInContent):
988 (WebCore::InspectorDebuggerAgent::setScriptSource):
989 (WebCore::InspectorDebuggerAgent::getFunctionDetails):
990 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
991 (WebCore::InspectorDebuggerAgent::compileScript):
992 (WebCore::InspectorDebuggerAgent::runScript):
993 (WebCore::InspectorDebuggerAgent::currentCallFrames):
994 (WebCore::InspectorDebuggerAgent::didParseSource):
995 (WebCore::InspectorDebuggerAgent::didPause):
996 (WebCore::InspectorDebuggerAgent::didContinue):
997 (WebCore::InspectorDebuggerAgent::clear):
998 * inspector/InspectorDebuggerAgent.h:
999 * inspector/InspectorForwarding.h:
1000 * inspector/InspectorFrontendClientLocal.cpp:
1001 (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
1002 * inspector/InspectorFrontendHost.cpp:
1003 (WebCore::FrontendMenuProvider::create):
1004 (WebCore::FrontendMenuProvider::disconnect):
1005 (WebCore::FrontendMenuProvider::FrontendMenuProvider):
1006 (WebCore::FrontendMenuProvider::contextMenuItemSelected):
1007 (WebCore::FrontendMenuProvider::contextMenuCleared):
1008 (WebCore::InspectorFrontendHost::showContextMenu):
1009 * inspector/InspectorHeapProfilerAgent.cpp:
1010 (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
1011 (WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
1012 (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
1013 (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
1014 (WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
1015 (WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
1016 * inspector/InspectorHeapProfilerAgent.h:
1017 * inspector/InspectorIndexedDBAgent.cpp:
1018 (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
1019 (WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
1020 * inspector/InspectorIndexedDBAgent.h:
1021 * inspector/InspectorInputAgent.cpp:
1022 (WebCore::InspectorInputAgent::InspectorInputAgent):
1023 (WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
1024 * inspector/InspectorInputAgent.h:
1025 * inspector/InspectorInstrumentation.cpp:
1026 * inspector/InspectorInstrumentation.h:
1027 * inspector/InspectorLayerTreeAgent.cpp:
1028 (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
1029 (WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
1030 (WebCore::InspectorLayerTreeAgent::layersForNode):
1031 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
1032 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
1033 (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
1034 (WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
1035 (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
1036 * inspector/InspectorLayerTreeAgent.h:
1037 * inspector/InspectorMemoryAgent.cpp:
1038 (WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
1039 (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
1040 * inspector/InspectorMemoryAgent.h:
1041 * inspector/InspectorOverlay.cpp:
1042 * inspector/InspectorOverlay.h:
1043 * inspector/InspectorPageAgent.cpp:
1044 (WebCore::InspectorPageAgent::resourceTypeJson):
1045 (WebCore::InspectorPageAgent::cachedResourceTypeJson):
1046 (WebCore::InspectorPageAgent::InspectorPageAgent):
1047 (WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
1048 (WebCore::buildObjectForCookie):
1049 (WebCore::buildArrayForCookies):
1050 (WebCore::InspectorPageAgent::getCookies):
1051 (WebCore::InspectorPageAgent::getResourceTree):
1052 (WebCore::InspectorPageAgent::searchInResource):
1053 (WebCore::buildObjectForSearchResult):
1054 (WebCore::InspectorPageAgent::searchInResources):
1055 (WebCore::InspectorPageAgent::buildObjectForFrame):
1056 (WebCore::InspectorPageAgent::buildObjectForFrameTree):
1057 * inspector/InspectorPageAgent.h:
1058 * inspector/InspectorProfilerAgent.cpp:
1059 (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
1060 (WebCore::InspectorProfilerAgent::createProfileHeader):
1061 (WebCore::InspectorProfilerAgent::createSnapshotHeader):
1062 (WebCore::InspectorProfilerAgent::getProfileHeaders):
1063 (WebCore::InspectorProfilerAgent::getCPUProfile):
1064 (WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
1065 (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
1066 (WebCore::InspectorProfilerAgent::getHeapObjectId):
1067 * inspector/InspectorProfilerAgent.h:
1068 * inspector/InspectorResourceAgent.cpp:
1069 (WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
1070 (WebCore::buildObjectForTiming):
1071 (WebCore::buildObjectForResourceRequest):
1072 (WebCore::buildObjectForResourceResponse):
1073 (WebCore::buildObjectForCachedResource):
1074 (WebCore::InspectorResourceAgent::willSendRequest):
1075 (WebCore::InspectorResourceAgent::didReceiveResponse):
1076 (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1077 (WebCore::InspectorResourceAgent::buildInitiatorObject):
1078 (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
1079 (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
1080 (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
1081 (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
1082 (WebCore::InspectorResourceAgent::InspectorResourceAgent):
1083 * inspector/InspectorResourceAgent.h:
1084 * inspector/InspectorRuntimeAgent.cpp:
1085 (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1086 (WebCore::buildErrorRangeObject):
1087 (WebCore::InspectorRuntimeAgent::parse):
1088 (WebCore::InspectorRuntimeAgent::evaluate):
1089 (WebCore::InspectorRuntimeAgent::callFunctionOn):
1090 (WebCore::InspectorRuntimeAgent::getProperties):
1091 * inspector/InspectorRuntimeAgent.h:
1092 * inspector/InspectorStyleSheet.cpp:
1093 (WebCore::buildSourceRangeObject):
1094 (WebCore::buildMediaObject):
1095 (WebCore::fillMediaListChain):
1096 (WebCore::InspectorStyle::buildObjectForStyle):
1097 (WebCore::InspectorStyle::buildArrayForComputedStyle):
1098 (WebCore::InspectorStyle::styleWithProperties):
1099 (WebCore::InspectorStyleSheet::create):
1100 (WebCore::InspectorStyleSheet::InspectorStyleSheet):
1101 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
1102 (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
1103 (WebCore::selectorsFromSource):
1104 (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
1105 (WebCore::InspectorStyleSheet::buildObjectForRule):
1106 (WebCore::InspectorStyleSheet::buildObjectForStyle):
1107 (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1108 (WebCore::InspectorStyleSheet::buildArrayForRuleList):
1109 (WebCore::InspectorStyleSheetForInlineStyle::create):
1110 (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
1111 * inspector/InspectorStyleSheet.h:
1112 (WebCore::InspectorCSSId::InspectorCSSId):
1113 (WebCore::InspectorStyleSheet::canBind):
1114 * inspector/InspectorStyleTextEditor.cpp:
1115 * inspector/InspectorTimelineAgent.cpp:
1116 (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
1117 (WebCore::toProtocol):
1118 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
1119 (WebCore::InspectorTimelineAgent::setDOMCounters):
1120 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1121 (WebCore::InspectorTimelineAgent::sendEvent):
1122 * inspector/InspectorTimelineAgent.h:
1123 (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
1124 * inspector/InspectorWebAgentBase.h: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.h.
1125 (WebCore::InspectorAgentBase::InspectorAgentBase):
1126 * inspector/InspectorWorkerAgent.cpp:
1127 (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
1128 (WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
1129 * inspector/InspectorWorkerAgent.h:
1130 * inspector/InstrumentingAgents.cpp:
1131 * inspector/NetworkResourcesData.cpp:
1132 * inspector/PageConsoleAgent.cpp:
1133 (WebCore::InspectableNode::get):
1134 * inspector/PageDebuggerAgent.cpp:
1135 * inspector/PageDebuggerAgent.h:
1136 * inspector/PageRuntimeAgent.cpp:
1137 (WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
1138 * inspector/PageRuntimeAgent.h:
1139 * inspector/ScriptArguments.cpp:
1140 (WebCore::ScriptArguments::create):
1141 (WebCore::ScriptArguments::ScriptArguments):
1142 (WebCore::ScriptArguments::argumentAt):
1143 (WebCore::ScriptArguments::getFirstArgumentAsString):
1144 * inspector/ScriptArguments.h:
1145 * inspector/ScriptCallFrame.cpp:
1146 (WebCore::ScriptCallFrame::buildInspectorObject):
1147 * inspector/ScriptCallFrame.h:
1148 * inspector/ScriptCallStack.cpp:
1149 (WebCore::ScriptCallStack::buildInspectorArray):
1150 * inspector/ScriptCallStack.h:
1151 * inspector/ScriptDebugListener.h:
1152 * inspector/TimelineRecordFactory.cpp:
1153 * inspector/TimelineRecordFactory.h:
1154 (WebCore::TimelineRecordFactory::createWebSocketCreateData):
1155 (WebCore::TimelineRecordFactory::createGenericWebSocketData):
1156 * inspector/WorkerConsoleAgent.cpp:
1157 * inspector/WorkerDebuggerAgent.cpp:
1158 * inspector/WorkerInspectorController.cpp:
1159 * inspector/WorkerInspectorController.h:
1160 * inspector/WorkerRuntimeAgent.cpp:
1161 (WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
1162 * inspector/WorkerRuntimeAgent.h:
1164 * page/ContentSecurityPolicy.cpp:
1166 * page/PageConsole.cpp:
1167 * plugins/PluginView.cpp:
1168 (WebCore::PluginView::performRequest):
1169 * testing/Internals.cpp:
1170 (WebCore::Internals::parserMetaData):
1171 * testing/Internals.h:
1172 * workers/SharedWorkerGlobalScope.cpp:
1173 (WebCore::createConnectEvent):
1174 * workers/WorkerGlobalScope.cpp:
1175 (WebCore::WorkerGlobalScope::importScripts):
1176 * workers/WorkerThread.cpp:
1177 * xml/XMLTreeViewer.cpp:
1178 * xml/parser/XMLDocumentParser.cpp:
1179 * xml/parser/XMLDocumentParserLibxml2.cpp:
1181 2013-12-11 Laszlo Vidacs <lac@inf.u-szeged.hu>
1183 Store SHA1 hash in std::array
1184 https://bugs.webkit.org/show_bug.cgi?id=125446
1186 Reviewed by Darin Adler.
1188 Change Vector to std::array and use typedef.
1190 * Modules/websockets/WebSocketHandshake.cpp:
1191 (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
1192 * inspector/DOMPatchSupport.cpp:
1193 (WebCore::DOMPatchSupport::createDigest):
1194 * platform/network/soup/ResourceHandleSoup.cpp:
1195 (WebCore::HostTLSCertificateSet::computeCertificateHash):
1197 2013-12-11 Alexey Proskuryakov <ap@apple.com>
1199 WebCrypto keys should support structured clone
1200 https://bugs.webkit.org/show_bug.cgi?id=125590
1202 Reviewed by Oliver Hunt.
1204 Tests: crypto/subtle/aes-postMessage.html
1205 crypto/subtle/hmac-postMessage.html
1206 crypto/subtle/postMessage-worker.html
1207 crypto/subtle/rsa-postMessage.html
1209 * crypto/CryptoAlgorithmIdentifier.h:
1210 (WebCore::CryptoAlgorithmIdentifier):
1211 * bindings/js/JSCryptoAlgorithmDictionary.cpp:
1212 (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
1213 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
1214 (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
1215 (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
1216 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
1217 (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
1218 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
1219 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
1220 (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
1221 (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
1222 AES_KW was added to WebCrypto spec editor's draft yesterday night. Now that we're
1223 adding a matching enum for structired clone serialization, it's as good a time as
1224 any to update the order of values to match.
1226 * bindings/js/SerializedScriptValue.cpp:
1227 (WebCore::countUsages):
1228 (WebCore::CloneSerializer::dumpIfTerminal):
1229 (WebCore::CloneSerializer::write):
1230 (WebCore::CloneDeserializer::read):
1231 (WebCore::CloneDeserializer::readHMACKey):
1232 (WebCore::CloneDeserializer::readAESKey):
1233 (WebCore::CloneDeserializer::readRSAKey):
1234 (WebCore::CloneDeserializer::readCryptoKey):
1235 (WebCore::CloneDeserializer::readTerminal):
1236 Added serialization/deserialization for CryptoKey. This doesn't update version
1237 number, because we don't currently store structured clones in persistent storage -
1238 and even if we did, we wouldn't want to invalidate everything users already stored.
1240 * crypto/CryptoAlgorithmRegistry.cpp:
1241 (WebCore::CryptoAlgorithmRegistry::shared):
1242 (WebCore::registryMutex):
1243 (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
1244 (WebCore::CryptoAlgorithmRegistry::nameForIdentifier):
1245 (WebCore::CryptoAlgorithmRegistry::create):
1246 (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
1247 * crypto/CryptoKey.idl:
1248 With structured clone, it is now possible to send a Key to a web worker. That's
1249 of no practical use because the crypto API is not exposed in workers, but we
1250 shouldn't crash anyway.
1252 * crypto/keys/CryptoKeyAES.cpp:
1253 (WebCore::CryptoKeyAES::CryptoKeyAES):
1254 (WebCore::CryptoKeyAES::isValidAESAlgorithm):
1255 * crypto/keys/CryptoKeyAES.h:
1256 Exposed isValidAESAlgorithm, so that a caller could know whether the constructor
1261 * WebCore.vcxproj/WebCore.vcxproj.filters:
1262 * WebCore.vcxproj/WebCoreCommon.props:
1263 Added crypto/keys to search paths to avoid build breakage.
1265 2013-12-11 Bear Travis <betravis@adobe.com>
1267 Web Inspector: [CSS Shapes] Highlight margin-shape for shape-outside
1268 https://bugs.webkit.org/show_bug.cgi?id=125175
1270 Reviewed by Darin Adler.
1272 In addition to highlighting the shape, also highlight the shape created
1273 by shape-margin with a slightly more transparent color. This patch modifies
1274 the shape info passed to the Inspector Overlay to include a path for both
1275 the raw shape and the shape with margin.
1277 Test: inspector-protocol/model/highlight-shape-outside-margin.html
1279 * inspector/InspectorOverlay.cpp:
1280 (WebCore::buildObjectForShapeOutside): Call Shape::buildDisplayPaths rather than
1281 Shape::buildPath, and pass along any relevant paths to the Inspector overlay.
1282 * inspector/InspectorOverlayPage.js:
1283 (_drawShapeHighlight): Draw the margin shape in addition to the raw shape.
1284 * rendering/shapes/BoxShape.cpp:
1285 (WebCore::addRoundedRect): Add a rounded rect to the path.
1286 (WebCore::BoxShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
1287 * rendering/shapes/BoxShape.h:
1288 * rendering/shapes/PolygonShape.cpp:
1289 (WebCore::addPolygon): Add a set of vertices as a polygon to the path.
1290 (WebCore::PolygonShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
1291 * rendering/shapes/PolygonShape.h:
1292 * rendering/shapes/RasterShape.h:
1293 (WebCore::RasterShape::buildDisplayPaths): Ditto.
1294 * rendering/shapes/RectangleShape.cpp:
1295 (WebCore::RectangleShape::buildDisplayPaths): Ditto.
1296 * rendering/shapes/RectangleShape.h:
1297 * rendering/shapes/Shape.h:
1299 2013-12-11 Mario Sanchez Prada <mario.prada@samsung.com>
1301 [ATK] Expose accessibility objects WAI-ARIA landmark roles
1302 https://bugs.webkit.org/show_bug.cgi?id=125584
1304 Reviewed by Chris Fleizach.
1306 Exposed accessibility objects with landmark roles with the proper
1307 AtkRole, to be provided by the next stable release of ATK.
1309 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1310 (webkitAccessibleGetAttributes):
1313 2013-12-11 José Dapena Paz <jdapena@igalia.com> and Zan Dobersek <zdobersek@igalia.com>
1315 [GTK] Add a UPower-based BatteryProvider
1316 https://bugs.webkit.org/show_bug.cgi?id=115719
1318 Reviewed by Martin Robinson.
1320 Introduce the BatteryProviderUPower, a provider of the system's battery status that produces the information
1321 using the upower-glib library.
1323 The BatteryProviderUPower creates a new UPower client when the provider should start emitting updates and hooks
1324 up to device alteration signals. These only fire recalculation of the battery status when a battery device is altered.
1326 When recalculating, every battery device is taken into account, accumulating the energy capacities when both empty
1327 and full, the current rate of energy charging/discharging, and the battery status (whether the device is charging or
1328 discharging). This gives a set of data that covers the overall battery status of the system.
1330 This data is then used to calculate the battery status as perceived by the WebCore implementation. Charging is determined
1331 by examining the integral sign of the current combined energy rate. Charging and discharging times are calculated, when
1332 appropriate, by dividing the chargable/dischargable capacity with the current combined energy rate. The battery level is
1333 calculated by dividing the current energy capacity with the full energy capacity (i.e. the combined capacity of all
1334 the batteries that the system possesses). The status is (indirectly) passed onto BatteryManager by invoking the
1335 updateBatteryStatus method on the client, with the first parameter representing the battery charging/discharging state,
1336 the second parameter representing the time left until the battery is fully charged (when charging) or fully
1337 depleted (when discharging), and the third parameter representing the current battery level.
1339 Whenever the implementation cannot provide any information about the battery status of the system, the client's
1340 updateBatteryStatus method is invoked with the first parameter reporting the unavailability of any information
1341 about the battery status. The other two parameters can be omitted as they default to 0 when not given and are neither
1342 available nor useful in such circumstances. The client should handle such an update by reporting the 'default' battery
1343 status - charging, the battery level being at 1.0 and both the charging and discharging time having the value of
1344 the positive infinity (as per the Battery Status API specification).
1346 The implementation is heavily inspired by a similar approach to calculating battery status in GNOME Settings Daemon.
1348 No new tests - no new functionality. The feature is not yet enabled. When enabled, the relevant tests pass.
1350 * GNUmakefile.list.am: Add the BatteryProviderUPower(Client) build targets.
1351 * platform/glib/BatteryProviderUPower.cpp: Added.
1352 (powerDeviceAlterationCallback):
1353 (BatteryProviderUPower::BatteryProviderUPower):
1354 (BatteryProviderUPower::startUpdating):
1355 (BatteryProviderUPower::stopUpdating):
1356 (BatteryProviderUPower::updateBatteryStatus):
1357 * platform/glib/BatteryProviderUPower.h: Added.
1359 (BatteryProviderUPower):
1360 * platform/glib/BatteryProviderUPowerClient.h: Added.
1362 (BatteryProviderUPowerClient):
1364 2013-12-11 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
1366 Improving createOffer and createAnswer LayoutTests
1367 https://bugs.webkit.org/show_bug.cgi?id=125568
1369 Reviewed by Philippe Normand.
1371 The constraints parameter should be optional in both. Also adding tests to check if we already have a local SDP
1372 when creating an answer.
1374 Existing tests were updated.
1376 * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1377 (WebCore::RTCPeerConnectionHandlerMock::createOffer):
1379 2013-12-11 Michał Pakuła vel Rutka <m.pakula@samsung.com>
1381 [EFL] Fix build with CONTEXT_MENUS flag set OFF
1382 https://bugs.webkit.org/show_bug.cgi?id=125572
1384 Reviewed by Gyuyoung Kim.
1386 dispatchEventAsContextMenuEvent is called regardless of CONTEXT_MENUS flag setting,
1387 thus its definition in InspectorFrontendHost should not be guarded by this flag.
1389 No new tests, no behaviour change.
1391 * inspector/InspectorFrontendHost.cpp:
1392 (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
1394 2013-12-11 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
1396 [CURL] Build fails after r160386.
1397 https://bugs.webkit.org/show_bug.cgi?id=125571
1399 Reviewed by Zoltan Herczeg.
1403 Fix a typo in commit r160386 that prevents building with curl.
1405 * platform/network/curl/CurlCacheEntry.cpp:
1406 (WebCore::CurlCacheEntry::generateBaseFilename):
1408 2013-12-11 Rob Buis <rob.buis@samsung.com>
1410 [CSS Shapes] Take into account fill-rule for polygon interpolation
1411 https://bugs.webkit.org/show_bug.cgi?id=125508
1413 Reviewed by Dirk Schulze.
1415 Implement the polygon fill-rule part of http://dev.w3.org/csswg/css-shapes/#basic-shape-interpolation.
1417 Adapt fast/shapes/shape-outside-floats/shape-outside-animation.html.
1419 * rendering/style/BasicShapes.cpp:
1420 (WebCore::BasicShape::canBlend):
1422 2013-12-11 Mario Sanchez Prada <mario.prada@samsung.com>
1424 Programmatically-inserted children lack accessibility events
1425 https://bugs.webkit.org/show_bug.cgi?id=100275
1427 Reviewed by Chris Fleizach.
1429 Test: accessibility/children-changed-sends-notification.html
1431 Emit children-changed::add and children-changed::remove whenever
1432 an object has been added/removed to the accessibility hierarchy,
1433 that is, when a new AtkObject is being attached/detached.
1435 * accessibility/AXObjectCache.h: Added new enumeration to know
1436 when we are detaching a wrapper because of the cache or the
1437 element is being destroyed, so we can use that information.
1438 (WebCore::AXObjectCache::detachWrapper): Added a new parameter and
1439 updated all the prototypes in different ports.
1440 * accessibility/AXObjectCache.cpp:
1441 (WebCore::AXObjectCache::~AXObjectCache): Call detachWrapper()
1442 specifying that we do it because the cache is being destroyed.
1443 (WebCore::AXObjectCache::remove): Call detachWrapper() specifying
1444 that we do it because an accessible element is being destroyed.
1446 * accessibility/atk/AXObjectCacheAtk.cpp:
1447 (WebCore::AXObjectCache::detachWrapper): Emit the children-changed
1448 signal when needed. We rely on the cached reference to the parent
1449 AtkObject (using the implementation of atk_object_get_parent from
1450 the AtkObject class) to find the right object to emit the signal
1451 from here, since the accessibility hierarchy from WebCore will no
1452 longer be accessible at this point.
1453 (WebCore::AXObjectCache::attachWrapper): Emit the children-change
1454 signal from here unless we are in the middle of a layout update,
1455 trying to provide as much information (e.g. the offset) as possible.
1456 (WebCore::AXObjectCache::postPlatformNotification): Make sure we
1457 update (touch) the subtree under an accessibility object whenever
1458 we receive AXChildrenChanded from WebCore, to ensure that those
1459 objects will also be visible rightaway to ATs, and that those get
1460 properly notified of the event at that very same moment.
1462 * accessibility/ios/AXObjectCacheIOS.mm:
1463 (WebCore::AXObjectCache::detachWrapper): Updated function signature.
1464 * accessibility/mac/AXObjectCacheMac.mm:
1465 (WebCore::AXObjectCache::detachWrapper): Ditto.
1466 * accessibility/win/AXObjectCacheWin.cpp:
1467 (WebCore::AXObjectCache::detachWrapper): Ditto.
1469 2013-12-11 Andreas Kling <akling@apple.com>
1471 REGRESSION(r160389): SVG test assertion extravaganza.
1473 Unreviewed. Use getAttribute() instead of fastGetAttribute() for
1474 the "type" attribute since it's animatable on SVG elements.
1476 2013-12-11 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1478 Set m_nextBreakablePosition as private in InlineIterator, and use it.
1479 https://bugs.webkit.org/show_bug.cgi?id=125482
1481 Reviewed by Andreas Kling.
1483 InlineIterator has been exported m_nextBreakablePosition as public though it is member variable.
1484 This patch set it as private, and add getter/setter functions for it.
1486 No new tests, no behavior changes.
1488 * rendering/InlineIterator.h:
1489 (WebCore::InlineIterator::InlineIterator):
1490 (WebCore::InlineIterator::nextBreakablePosition):
1491 (WebCore::InlineIterator::setNextBreakablePosition):
1492 * rendering/line/BreakingContextInlineHeaders.h:
1493 (WebCore::BreakingContext::handleText):
1495 2013-12-10 Gurpreet Kaur <k.gurpreet@samsung.com>
1497 top and bottom black background line not getting displayed
1498 https://bugs.webkit.org/show_bug.cgi?id=21664
1500 Reviewed by Simon Fraser.
1502 The table cell's background was not being displayed. Since the table
1503 cell had no child correct offsetWidth was not being set even if table
1504 width is being defined.
1506 Test: fast/dom/HTMLTableElement/empy-table-cell-with-background-color.html
1508 * rendering/AutoTableLayout.cpp:
1509 (WebCore::AutoTableLayout::recalcColumn):
1510 cellHasContent should also be set to true incase background color is
1513 2013-12-10 Beth Dakin <bdakin@apple.com>
1515 Horizontal rubber-banding without a horizontal scrollbar is distracting
1516 https://bugs.webkit.org/show_bug.cgi?id=125550
1518 Reviewed by Simon Fraser.
1520 Setting the ScrollElasticity to ScrollElasticityAutomatic will make sure we only
1521 rubber-band horizontally when there is a horizontal scrollbar.
1523 * page/FrameView.cpp:
1524 (WebCore::FrameView::FrameView):
1526 2013-12-10 Martin Robinson <mrobinson@igalia.com>
1528 Correct a preprocessor guard from a mis-merged patch
1530 In r160367, I mismerged a patch from Gustavo Noronha. This commit
1531 fixes the merge and thus fixes the CMake build.
1533 * html/HTMLMediaElement.idl: Move the preprocessor guard to the correct property.
1535 2013-12-10 Rob Buis <rob.buis@samsung.com>
1537 Clean up SVGScriptElement
1538 https://bugs.webkit.org/show_bug.cgi?id=125527
1540 Reviewed by Sam Weinig.
1542 Rewrite to not store type in m_type and also remove type getter/setter.
1544 * svg/SVGScriptElement.cpp:
1545 (WebCore::SVGScriptElement::parseAttribute):
1546 (WebCore::SVGScriptElement::typeAttributeValue):
1547 * svg/SVGScriptElement.h:
1548 * svg/SVGScriptElement.idl:
1550 2013-12-10 Laszlo Vidacs <lac@inf.u-szeged.hu>
1552 Use std::array when computing MD5 checksum
1553 https://bugs.webkit.org/show_bug.cgi?id=125509
1555 Reviewed by Anders Carlsson.
1557 Use MD5::Digest type and MD5::hashSize when computing MD5 checksum.
1559 * platform/network/curl/CurlCacheEntry.cpp:
1560 (WebCore::CurlCacheEntry::generateBaseFilename):
1562 2013-12-10 Mario Sanchez Prada <mario.prada@samsung.com>
1564 [ATK] Expose splitter elements with ATK_ROLE_SEPARATOR
1565 https://bugs.webkit.org/show_bug.cgi?id=125522
1567 Reviewed by Chris Fleizach.
1569 Expose objects with SplitterRole role as ATK_ROLE_SEPARATOR.
1571 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1574 2013-12-10 Mario Sanchez Prada <mario.prada@samsung.com>
1576 [ATK] Elements with role 'alertdialog' should be ATK_ROLE_ALERT
1577 https://bugs.webkit.org/show_bug.cgi?id=125521
1579 Reviewed by Chris Fleizach.
1581 Stop exposing alert dialogs as ATK_ROLE_DIALOG and do it as
1582 ATK_ROLE_ALERT instead.
1584 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1587 2013-12-10 Brendan Long <b.long@cablelabs.com>
1589 [GTK][GStreamer] media/video-preload.html is flakily crashing on WK2
1590 https://bugs.webkit.org/show_bug.cgi?id=125411
1592 Reviewed by Philippe Normand.
1594 No new tests because this fixes flakeyness in existing tests (media/video-preload.html, and various tests in media/track/{audio,in-band,video}).
1596 * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
1597 (webkitTextCombinerPadGetProperty): Copy tag list to prevent concurrent modification problems.
1598 (webkitTextCombinerPadEvent): Add locking.
1599 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1600 (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): Call tagsChanged() because we need it to setup m_tags.
1601 (WebCore::TrackPrivateBaseGStreamer::disconnect): Clear m_tags.
1602 (WebCore::TrackPrivateBaseGStreamer::tagsChanged): Lookup the tags while we're in this callback, because it's the only time we can guarantee that the input-selector won't unref them.
1603 (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Use m_tags.
1604 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Add m_tags and a mutex.
1606 2013-12-10 László Langó <lango@inf.u-szeged.hu>
1608 PageConsole::addMessage should automatically determine column number alongside line number
1609 https://bugs.webkit.org/show_bug.cgi?id=114319
1611 Reviewed by Joseph Pecoraro.
1613 * dom/InlineStyleSheetOwner.cpp:
1614 (WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):
1615 * dom/ScriptElement.cpp:
1616 (WebCore::ScriptElement::ScriptElement):
1617 * dom/ScriptableDocumentParser.h:
1618 * dom/StyledElement.cpp:
1619 (WebCore::StyledElement::styleAttributeChanged):
1620 * html/parser/HTMLDocumentParser.cpp:
1621 (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
1622 (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
1623 * html/parser/HTMLDocumentParser.h:
1624 * inspector/InspectorResourceAgent.cpp:
1625 (WebCore::InspectorResourceAgent::buildInitiatorObject):
1627 (WebCore::internalAddMessage):
1628 * page/PageConsole.cpp:
1629 (WebCore::PageConsole::printSourceURLAndPosition):
1630 (WebCore::PageConsole::addMessage):
1631 * page/PageConsole.h:
1632 * xml/parser/XMLDocumentParser.h:
1633 * xml/parser/XMLDocumentParserLibxml2.cpp:
1634 (WebCore::XMLDocumentParser::error):
1636 2013-12-10 Andreas Kling <akling@apple.com>
1638 Jettison all StyleResolver data on memory pressure.
1639 <https://webkit.org/b/125498>
1641 The StyleResolver can be rebuilt relatively quickly; we already
1642 have an optimization that discards it some time after last use.
1644 If we find ourseles under serious memory pressure, don't wait for
1645 the timer to kick in, throw everything overboard right away.
1647 ~5MB progression post-pressure on Membuster3.
1649 Reviewed by Anders Carlsson.
1651 2013-12-10 Martin Robinson <mrobinson@igalia.com>
1653 [GTK] [CMake] Add support for building the DOM bindings
1654 https://bugs.webkit.org/show_bug.cgi?id=116375
1656 Reviewed by Gustavo Noronha Silva.
1658 The CMake build is more complete than the autotools counterpart, so autotools doesn't consider
1659 some supplemental IDL attributes when building the DOM bindings. To prevent API breaks we should
1660 protect these attributes from DOM binding generation.
1662 * Modules/battery/BatteryManager.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
1663 * Modules/battery/NavigatorBattery.idl: Ditto.
1664 * Modules/mediastream/HTMLMediaElementMediaStream.idl: Ditto.
1665 * Modules/networkinfo/NavigatorNetworkInfoConnection.idl: Ditto.
1666 * Modules/networkinfo/NetworkInfoConnection.idl: Ditto.
1667 * PlatformGTK.cmake: Add build steps for building the bindings.
1668 * dom/Document.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
1669 * html/HTMLMediaElement.idl: Ditto.
1671 2013-12-10 Martin Robinson <mrobinson@igalia.com>
1673 Various fixes for the CMake GTK+ build
1675 Reviewed by Gustavo Noronha.
1677 * PlatformGTK.cmake: Update source list.
1679 2013-12-10 Robert Sipka <sipka@inf.u-szeged.hu>
1681 [nix][curl] Buildfix after r160310
1682 https://bugs.webkit.org/show_bug.cgi?id=125489
1684 Reviewed by Gustavo Noronha Silva.
1686 Curl doesn't include soup files.
1688 * PlatformNix.cmake:
1690 2013-12-10 Gustavo Noronha Silva <gns@gnome.org>
1692 [GTK] REGRESSION: www.yahoo.com redirects to the mobile version after UA change
1693 https://bugs.webkit.org/show_bug.cgi?id=125444
1695 Reviewed by Martin Robinson.
1697 * platform/gtk/UserAgentGtk.cpp:
1698 (WebCore::platformVersionForUAString): more correctly pretend we're Mac OS X.
1699 (WebCore::standardUserAgent): ditto.
1701 2013-12-09 Gustavo Noronha Silva <gns@gnome.org>
1703 [Soup] Send original encoded data size to didReceiveBuffer
1704 https://bugs.webkit.org/show_bug.cgi?id=125410
1706 Reviewed by Martin Robinson.
1708 No tests, the only way to test this seems to be through the inspector UI.
1710 * platform/network/ResourceHandle.h:
1711 * platform/network/ResourceHandleInternal.h:
1712 (WebCore::ResourceHandleInternal::ResourceHandleInternal): data member to track stream
1714 * platform/network/soup/ResourceHandleSoup.cpp:
1715 (WebCore::ResourceHandle::currentStreamPosition): obtains the current stream position by querying
1716 the first seekable input stream we find.
1717 (WebCore::nextMultipartResponsePartCallback): store the position before we start reading a new part.
1718 (WebCore::sendRequestCallback): store the position before we start reading the response body.
1719 (WebCore::readCallback): pass the position delta to didReceiveData.
1721 2013-12-09 Andreas Kling <akling@apple.com>
1723 Clear out font width measurement caches on memory pressure.
1724 <https://webkit.org/b/125481>
1726 The data kept in WidthCaches can be regenerated on demand. Throwing
1727 it away when we're under memory pressure buys us ~4MB on Membuster3.
1729 Reviewed by Antti Koivisto.
1731 2013-12-09 Seokju Kwon <seokju@webkit.org>
1733 Web Inspector: Remove enabled() in InspectorRuntimeAgent.
1734 https://bugs.webkit.org/show_bug.cgi?id=125476
1736 Reviewed by Joseph Pecoraro.
1738 Dead code. It's never called anywhere.
1740 No new tests, no behavior change.
1742 * inspector/InspectorRuntimeAgent.h:
1744 2013-12-09 Sam Weinig <sam@webkit.org>
1746 Replace use of WTF::FixedArray with std::array
1747 https://bugs.webkit.org/show_bug.cgi?id=125475
1749 Reviewed by Anders Carlsson.
1751 * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
1752 * platform/graphics/GlyphMetricsMap.h:
1754 2013-12-09 Benjamin Poulain <bpoulain@apple.com>
1756 Refactor the CFURLConnectionClient to be the synchronous implementation of an abstract network delegate
1757 https://bugs.webkit.org/show_bug.cgi?id=125379
1759 Reviewed by Alexey Proskuryakov.
1761 * WebCore.vcxproj/WebCore.vcxproj:
1762 * WebCore.vcxproj/WebCore.vcxproj.filters:
1763 * WebCore.xcodeproj/project.pbxproj:
1764 * platform/network/ResourceHandle.h:
1765 * platform/network/ResourceHandleInternal.h:
1766 * platform/network/cf/ResourceHandleCFNet.cpp:
1767 (WebCore::ResourceHandle::createCFURLConnection):
1768 * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp: Added.
1769 (WebCore::ResourceHandleCFURLConnectionDelegate::ResourceHandleCFURLConnectionDelegate):
1770 (WebCore::ResourceHandleCFURLConnectionDelegate::~ResourceHandleCFURLConnectionDelegate):
1771 (WebCore::ResourceHandleCFURLConnectionDelegate::willSendRequestCallback):
1772 (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveResponseCallback):
1773 (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataCallback):
1774 (WebCore::ResourceHandleCFURLConnectionDelegate::didFinishLoadingCallback):
1775 (WebCore::ResourceHandleCFURLConnectionDelegate::didFailCallback):
1776 (WebCore::ResourceHandleCFURLConnectionDelegate::willCacheResponseCallback):
1777 (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveChallengeCallback):
1778 (WebCore::ResourceHandleCFURLConnectionDelegate::didSendBodyDataCallback):
1779 (WebCore::ResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
1780 (WebCore::ResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpaceCallback):
1781 (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataArrayCallback):
1782 (WebCore::ResourceHandleCFURLConnectionDelegate::makeConnectionClient):
1783 * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h: Added.
1784 * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Added.
1785 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::SynchronousResourceHandleCFURLConnectionDelegate):
1786 (WebCore::synthesizeRedirectResponseIfNecessary):
1787 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
1788 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
1789 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveData):
1790 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading):
1791 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFail):
1792 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willCacheResponse):
1793 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveChallenge):
1794 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didSendBodyData):
1795 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
1796 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpace):
1797 (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveDataArray):
1798 * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: Added.
1800 2013-12-09 Ryosuke Niwa <rniwa@webkit.org>
1802 REGRESSION(r136280): input[type=image] should assume coords of 0,0 when activated without physically clicking
1803 https://bugs.webkit.org/show_bug.cgi?id=125392
1805 Reviewed by Darin Adler.
1807 Merge https://chromium.googlesource.com/chromium/blink/+/3c33d42207cd209bb171083ba66c225f694f2101
1809 Activating an image button with the keyboard or element.click() should result in selected coords of (0,0) per
1810 http://www.w3.org/TR/2013/CR-html5-20130806/forms.html#image-button-state-(type=image)
1811 "If the user activates the control without explicitly selecting a coordinate, then the coordinate (0,0) must be assumed."
1813 New behavior also matches that of Internet Explorer and Firefox.
1815 Tests: fast/forms/input-image-submit.html
1817 * html/ImageInputType.cpp:
1818 (WebCore::ImageInputType::handleDOMActivateEvent): Set m_clickLocation to (0, 0) for simulated events.
1820 2013-12-09 Jer Noble <jer.noble@apple.com>
1822 [MSE] Add support for VideoPlaybackMetrics.
1823 https://bugs.webkit.org/show_bug.cgi?id=125380
1825 Reviewed by Eric Carlson.
1827 Test: media/media-source/media-source-video-playback-quality.html
1829 Add a new object type VideoPlaybackQuality to be returned by
1830 HTMLMediaElement.getVideoPlaybackQuality().
1832 HTMLMediaElements must separately track a droppedVideoFrame count, as
1833 certain operations on SourceBuffer will drop incoming frames, which must
1834 be accounted for. Reset this count when the media engine changes, which is
1835 indicitive of a new media load requset starting.
1837 Add the new VideoPlaybackQuality class:
1838 * Modules/mediasource/VideoPlaybackQuality.cpp: Added.
1839 (WebCore::VideoPlaybackQuality::create):
1840 (WebCore::VideoPlaybackQuality::VideoPlaybackQuality):
1841 * Modules/mediasource/VideoPlaybackQuality.h: Added.
1842 (WebCore::VideoPlaybackQuality::creationTime):
1843 (WebCore::VideoPlaybackQuality::totalVideoFrames):
1844 (WebCore::VideoPlaybackQuality::droppedVideoFrames):
1845 (WebCore::VideoPlaybackQuality::corruptedVideoFrames):
1846 (WebCore::VideoPlaybackQuality::totalFrameDelay):
1847 * Modules/mediasource/VideoPlaybackQuality.idl: Added.
1849 Add support for the new class to HTMLMediaElement:
1850 * html/HTMLMediaElement.cpp:
1851 (HTMLMediaElement::shouldUseVideoPluginProxy):
1852 (HTMLMediaElement::getVideoPlaybackQuality):
1853 * html/HTMLMediaElement.h:
1854 * html/HTMLMediaElement.idl:
1856 Report the video quality metrics from the MediaPlayer:
1857 * platform/graphics/MediaPlayer.cpp:
1858 (WebCore::MediaPlayer::totalVideoFrames):
1859 (WebCore::MediaPlayer::droppedVideoFrames):
1860 (WebCore::MediaPlayer::corruptedVideoFrames):
1861 (WebCore::MediaPlayer::totalFrameDelay):
1862 * platform/graphics/MediaPlayer.h:
1863 * platform/graphics/MediaPlayerPrivate.h:
1864 (WebCore::MediaPlayerPrivateInterface::totalVideoFrames):
1865 (WebCore::MediaPlayerPrivateInterface::droppedVideoFrames):
1866 (WebCore::MediaPlayerPrivateInterface::corruptedVideoFrames):
1867 (WebCore::MediaPlayerPrivateInterface::totalFrameDelay):
1869 Correctly report the dropped frame count:
1870 * Modules/mediasource/SourceBuffer.cpp:
1871 (WebCore::SourceBuffer::TrackBuffer::TrackBuffer): needsRandomAccessFlag defaults to true.
1872 (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Check the sync status of the incoming sample.
1873 (WebCore::SourceBuffer::didDropSample): Notify the media element of a dropped frame.
1874 * Modules/mediasource/SourceBuffer.h:
1875 * html/HTMLMediaElement.cpp:
1876 (WebCore::HTMLMediaElement::HTMLMediaElement):
1877 (HTMLMediaElement::mediaPlayerEngineUpdated): Reset m_droppedFrameCount.
1878 (HTMLMediaElement::getVideoPlaybackQuality): Return a new VideoPlaybackQuality object.
1879 * html/HTMLMediaElement.h:
1880 (WebCore::HTMLMediaElement::incrementDroppedFrameCount): Simple incrementer.
1881 * platform/MediaSample.h:
1882 (WebCore::MediaSample::isSync): Convenience function.
1883 (WebCore::MediaSample::isNonDisplaying): Ditto.
1885 Add support in the AVFoundation MediaSource Engine:
1886 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
1887 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1888 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalVideoFrames):
1889 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::droppedVideoFrames):
1890 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::corruptedVideoFrames):
1891 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):
1893 Add support in the Mock MediaSource Engine:
1894 * platform/mock/mediasource/MockBox.h:
1895 * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
1896 (WebCore::MockMediaPlayerMediaSource::totalVideoFrames): Simple accessor.
1897 (WebCore::MockMediaPlayerMediaSource::droppedVideoFrames): Ditto.
1898 (WebCore::MockMediaPlayerMediaSource::corruptedVideoFrames): Ditto.
1899 (WebCore::MockMediaPlayerMediaSource::totalFrameDelay): Ditto.
1900 * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
1901 * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
1902 (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):
1903 * platform/mock/mediasource/MockMediaSourcePrivate.h:
1904 * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
1905 (WebCore::MockSourceBufferPrivate::enqueueSample): Increment the frame counts based on
1906 the incoming sample.
1907 * platform/mock/mediasource/MockSourceBufferPrivate.h:
1909 Add the new files to the project:
1910 * bindings/gobject/GNUmakefile.am:
1911 * DerivedSources.make:
1912 * WebCore.xcodeproj/project.pbxproj:
1913 * GNUMakefile.list.am:
1916 2013-12-09 Simon Fraser <simon.fraser@apple.com>
1918 Avoid divide by zero in scrollbar code, and protect against Obj-C exceptions
1919 https://bugs.webkit.org/show_bug.cgi?id=125469
1920 <rdar://problem/15535772>
1922 Reviewed by Beth Dakin.
1924 In ScrollbarThemeMac::setPaintCharacteristicsForScrollbar(), proportion could
1925 end up as NaN if scrollbar->totalSize() were zero. Protect against that.
1927 Also wrap functions that call into Objective-C with BEGIN_BLOCK_OBJC_EXCEPTIONS/
1928 END_BLOCK_OBJC_EXCEPTIONS.
1930 * platform/mac/ScrollbarThemeMac.mm:
1931 (WebCore::ScrollbarThemeMac::scrollbarThickness):
1932 (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
1933 (WebCore::ScrollbarThemeMac::minimumThumbLength):
1934 (WebCore::ScrollbarThemeMac::updateEnabledState):
1935 (WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
1936 (WebCore::scrollbarPainterPaint):
1938 2013-12-09 Ryosuke Niwa <rniwa@webkit.org>
1940 Implement Document.cloneNode()
1941 https://bugs.webkit.org/show_bug.cgi?id=11646
1943 Reviewed by Darin Adler.
1945 Merge https://chromium.googlesource.com/chromium/blink/+/dc7879025e01d63be9fcf6a84ca6c9b8b5768a80
1947 Implement the behavior specified in the current DOM4 working draft:
1948 http://www.w3.org/TR/2013/WD-dom-20131107/#dom-node-clonenode
1950 Tests: fast/dom/Document/clone-node.html
1951 fast/dom/HTMLDocument/clone-node-quirks-mode.html
1952 svg/custom/clone-node.html
1955 (WebCore::Document::cloneNode):
1956 (WebCore::Document::cloneDocumentWithoutChildren):
1957 (WebCore::Document::cloneDataFromDocument):
1959 * html/HTMLDocument.cpp:
1960 (WebCore::HTMLDocument::cloneDocumentWithoutChildren):
1961 * html/HTMLDocument.h:
1962 * svg/SVGDocument.cpp:
1963 (WebCore::SVGDocument::cloneDocumentWithoutChildren):
1964 * svg/SVGDocument.h:
1966 2013-12-09 Andreas Kling <akling@apple.com>
1968 REGRESSION(r160260): Memory pressure signal causes web process to hang.
1969 <https://webkit.org/b/125465>
1971 Reviewed by Tim Horton.
1973 This command caused all of my web processes to hang:
1975 notifyutil -p org.WebKit.lowMemory
1977 This only happens when the cache pruning code encounters a resource
1978 using purgeable memory.
1980 * loader/cache/MemoryCache.cpp:
1981 (WebCore::MemoryCache::pruneLiveResourcesToSize):
1983 Grab the next CachedResource pointer before continuing the loop.
1985 2013-12-09 peavo@outlook.com <peavo@outlook.com>
1987 [WinCairo] OpenGL compile error.
1988 https://bugs.webkit.org/show_bug.cgi?id=125383
1990 Reviewed by Darin Adler.
1992 * platform/graphics/opengl/Extensions3DOpenGLES.h: Define GL_HALF_FLOAT_ARB on Windows when OPENGL_ES_2 is used.
1994 2013-12-09 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
1996 Fix handling of 'inherit' and 'initial' for grid lines.
1997 https://bugs.webkit.org/show_bug.cgi?id=125223
1999 Reviewed by Darin Adler.
2001 'initial' and 'inherit' are always allowed values for CSS properties.
2002 As the CSSParser handles them automatically, those 2 values were never
2003 taken care of in StyleResolver, leading to crashes.
2005 Added tests cases for 'inherit' and 'initial' to the following tests:
2007 fast/css-grid-layout/grid-item-column-row-get-set.html
2008 fast/css-grid-layout/grid-item-end-after-get-set.html
2009 fast/css-grid-layout/grid-item-start-before-get-set.html
2011 Patch backported from Blink: https://src.chromium.org/viewvc/blink?revision=149257&view=revision
2013 * css/StyleResolver.cpp:
2014 (WebCore::StyleResolver::applyProperty):
2015 * rendering/style/RenderStyle.h:
2016 * rendering/style/StyleGridItemData.cpp:
2017 (WebCore::StyleGridItemData::StyleGridItemData):
2019 2013-12-09 Joseph Pecoraro <pecoraro@apple.com>
2021 Web Inspector: Inspector.json and CodeGenerator tweaks
2022 https://bugs.webkit.org/show_bug.cgi?id=125321
2024 Reviewed by Timothy Hatcher.
2026 * inspector/protocol/Runtime.json:
2027 Runtime.js was depending on Network.FrameId. This is a layering
2028 violation, so ideally we can fix this later. For now, just copy
2029 the FrameId type into Runtime. They are strings so all is good.
2031 * inspector/CodeGeneratorInspector.py:
2032 (Generator.EventMethodStructTemplate.append_epilog):
2033 * inspector/CodeGeneratorInspectorStrings.py:
2034 Improve --help usage information.
2035 Make the script work with a single domain json file.
2036 Add ASCIILiteral's where appropriate.
2038 2013-12-09 Nick Diego Yamane <nick.yamane@openbossa.org>
2040 [Nix] Fix file name typo in PlatformNix.cmake
2041 https://bugs.webkit.org/show_bug.cgi?id=125457
2043 Reviewed by Gustavo Noronha Silva.
2045 Wrong file name introduced in http://trac.webkit.org/changeset/160310.
2046 * PlatformNix.cmake:
2048 2013-12-09 Brendan Long <b.long@cablelabs.com>
2050 [GStreamer] Memory leak due to incorrect use of gst_tag_list_merge in TextCombinerGStreamer
2051 https://bugs.webkit.org/show_bug.cgi?id=125452
2053 Reviewed by Philippe Normand.
2055 No new tests because this fixes a memory leak.
2057 * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
2058 (webkitTextCombinerPadEvent): Use gst_tag_list_insert instead of gst_tag_list_merge, since we don't want to create a new list.
2060 2013-12-09 Chris Fleizach <cfleizach@apple.com>
2062 AX: WebKit ignores @alt on IMG elements with role="text"
2063 https://bugs.webkit.org/show_bug.cgi?id=125363
2065 Reviewed by Mario Sanchez Prada.
2067 If an <img> element has a different role, the alt attribute should still be used in the
2068 name calculation if present.
2070 Test: accessibility/alt-tag-on-image-with-nonimage-role.html
2072 * accessibility/AccessibilityNodeObject.cpp:
2073 (WebCore::AccessibilityNodeObject::usesAltTagForTextComputation):
2074 (WebCore::AccessibilityNodeObject::alternativeText):
2075 (WebCore::AccessibilityNodeObject::accessibilityDescription):
2076 (WebCore::AccessibilityNodeObject::text):
2077 * accessibility/AccessibilityNodeObject.h:
2079 2013-12-08 Martin Robinson <mrobinson@igalia.com>
2081 [WK2][Soup] Use didReceiveBuffer instead of didReceiveData
2082 https://bugs.webkit.org/show_bug.cgi?id=118598
2084 Reviewed by Gustavo Noronha Silva.
2086 Original patch by Kwang Yul Seo <skyul@company100.net> and Csaba Osztrogonác <ossy@webkit.org>.
2088 Switch from using didReceiveData to didReceiveBuffer for the Soup backend and
2089 let SharedBuffer wrap a SoupBuffer. This is necessary because the NetworkProcess
2090 only supports getting data via SharedBuffer.
2092 * GNUmakefile.list.am: Add the new SharedBufferSoup.cpp file to the list.
2093 * PlatformEfl.cmake:
2094 * PlatformGTK.cmake:
2095 * PlatformNix.cmake:
2096 * platform/SharedBuffer.cpp: We no longer used the no-op version of the platformFoo methods.
2097 * platform/SharedBuffer.h: Ditto.
2098 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Use didReceiveBuffer instead of didReceiveData.
2099 * platform/network/ResourceHandleInternal.h: Have only a m_soupBuffer member instead of three to manage the buffer.
2100 * platform/network/soup/GOwnPtrSoup.cpp: Add support for SoupBuffer.
2101 * platform/network/soup/GOwnPtrSoup.h: Ditto.
2102 * platform/network/soup/ResourceHandleSoup.cpp:
2103 (WebCore::WebCoreSynchronousLoader::didReceiveData): ASSERT_NOT_REACHED here, since it should never be
2105 (WebCore::WebCoreSynchronousLoader::didReceiveBuffer): Handle this call properly.
2106 (WebCore::ResourceHandle::ensureReadBuffer): Now we package up our buffer into a SoupBuffer.
2107 (WebCore::redirectSkipCallback): Use the new m_soupBuffer member.
2108 (WebCore::cleanupSoupRequestOperation): Ditto.
2109 (WebCore::nextMultipartResponsePartCallback): Ditto.
2110 (WebCore::sendRequestCallback): Ditto.
2111 (WebCore::readCallback):
2112 * platform/soup/SharedBufferSoup.cpp: Added.
2114 2013-12-09 Michal Poteralski <m.poteralski@samsung.com>
2116 DataCloneError exception is not thrown when postMessage's second parameter is the source
2117 port or the target port.
2119 https://bugs.webkit.org/show_bug.cgi?id=124708
2121 Reviewed by Alexey Proskuryakov.
2123 According to specification:
2124 http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#dom-window-postmessage
2126 If the method was invoked with a second argument transfer then if any of the objects in the
2127 transfer are either the source port or the target port (if any), then a DataCloneError
2128 exception should be thrown. Currently an InvalidStateError exception is thrown what is an
2129 incorrect behaviour.
2131 The proposed solution is change to the correct the exception value.
2133 Tests: fast/dom/Window/postMessage-clone-port-error.html
2135 * dom/MessagePort.cpp:
2136 (WebCore::MessagePort::postMessage): Improve exception value
2138 2013-12-09 Carlos Garcia Campos <cgarcia@igalia.com>
2140 Unreviewed. Fix the GTK+ build with NetworkProcess enabled.
2142 * GNUmakefile.list.am: Add missing file to compilation.
2144 2013-12-08 Ryosuke Niwa <rniwa@webkit.org>
2146 getComputedStyle border-radius shorthand omits vertical radius information
2147 https://bugs.webkit.org/show_bug.cgi?id=125394
2149 Reviewed by Andreas Kling.
2151 Merge https://chromium.googlesource.com/chromium/blink/+/4c2866855dddbb28bb7d978ad627acc368af23d0
2153 getComputedStyle of border-radius shows the vertical radius components if they differ from their horizontal counterpants.
2154 We were incorrectly detecting this case and over simplifying the results of getComputedStyle.
2155 This patch ensures we only hide the vertical values if they are identical to the horizontal values.
2157 * css/CSSComputedStyleDeclaration.cpp:
2158 (WebCore::getBorderRadiusShorthandValue):
2160 2013-12-08 Carlos Garcia Campos <cgarcia@igalia.com>
2162 [GTK] Do not skip attributes with only custom setter
2163 https://bugs.webkit.org/show_bug.cgi?id=125417
2165 Reviewed by Gustavo Noronha Silva.
2167 For attributes with a custom setter, we now generate the code as a
2168 read-only attribute with a getter method, unless it also has a
2169 custom getter in which case the attribute is skipped.
2171 * bindings/gobject/GNUmakefile.am: Generate WebKitDOMMediaController
2172 that is now required by an attribute having a custom setter.
2173 * bindings/gobject/WebKitDOMCustom.cpp: Remove methods that are now generated.
2174 * bindings/gobject/WebKitDOMCustom.h: Ditto.
2175 * bindings/gobject/WebKitDOMCustom.symbols: Ditto.
2176 * bindings/gobject/webkitdom.symbols: Add new symbols.
2177 * bindings/scripts/CodeGeneratorGObject.pm:
2178 (SkipAttribute): Do not skip attributes having a custom setter.
2179 (GetWriteableProperties): Do not include attributes having a
2181 (GenerateProperty): Do not return early for attributes having
2183 (GenerateFunctions): Do not generate setter for attributes having
2186 2013-12-08 Carlos Garcia Campos <cgarcia@igalia.com>
2188 [GTK] Do not generate new dispatch_event methods marked as deprecated
2189 https://bugs.webkit.org/show_bug.cgi?id=125416
2191 Reviewed by Gustavo Noronha Silva.
2193 * bindings/scripts/CodeGeneratorGObject.pm:
2194 (SkipFunction): Skip dispatch_event methods for objects
2195 implementing EventTarget interface unless they are already
2197 (GenerateFunction): Pass also the parentNode to SkipFunction().
2199 2013-12-05 Jer Noble <jer.noble@apple.com>
2201 [MSE] Bring end-of-stream algorithm section up to current spec.
2202 https://bugs.webkit.org/show_bug.cgi?id=125270
2204 Reviewed by Darin Adler.
2206 Test: media/media-source/media-source-end-of-stream.html
2208 Separate the "endOfStream()" method from the "end of stream algorithm".
2210 * Modules/mediasource/MediaSource.cpp:
2211 (WebCore::SourceBufferIsUpdating): Added predicate function.
2212 (WebCore::MediaSource::endOfStream): Call streamEndedWithError().
2213 (WebCore::MediaSource::streamEndedWithError): Added.
2214 * Modules/mediasource/MediaSource.h:
2215 * Modules/mediasource/SourceBuffer.cpp:
2216 (WebCore::SourceBuffer::appendBufferTimerFired): Call streamEndedWithError().
2217 (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
2218 * Modules/mediasource/SourceBuffer.h:
2219 * html/HTMLMediaElement.cpp:
2220 (HTMLMediaElement::mediaLoadingFailedFatally): Renamed from mediaEngineError.
2221 (HTMLMediaElement::mediaLoadingFailed): Call renamed method.
2222 * html/HTMLMediaElement.h:
2223 * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
2224 (WebCore::MediaSourcePrivateAVFObjC::markEndOfStream): Set load state to Loaded.
2225 * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
2226 (WebCore::MockMediaPlayerMediaSource::setNetworkState): Simple setter.
2227 * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
2228 * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
2229 (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate): Set the intitial duration to NaN.
2230 (WebCore::MockMediaSourcePrivate::markEndOfStream): Set load state to Loaded.
2232 2013-12-04 Jer Noble <jer.noble@apple.com>
2234 [MSE][Mac] Crash when removing MediaSource from HTMLMediaElement.
2235 https://bugs.webkit.org/show_bug.cgi?id=125269
2237 Reviewed by Sam Weinig.
2239 Fixes the media/media-source/media-source-fastseek.html test when run with MallocScribble enabled.
2241 It's possible for a SourceBufferPrivateAVFObjC to outlive its MediaSourcePrivateAVFObjC, so
2242 make sure to clear the pointer from the former to the latter when the latter is destroyed.
2243 That means we now have to check to see if the pointer to the latter is still valid at every
2246 As a drive-by fix, rename m_parent to m_mediaSource to more accurately reflect what the pointer
2249 * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
2250 (WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC): Clear the SourceBuffer's backpointer.
2251 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
2252 (WebCore::SourceBufferPrivateAVFObjC::clearMediaSource):
2253 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2254 (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): Rename m_parent -> m_mediaSource.
2255 (WebCore::SourceBufferPrivateAVFObjC::append): Check m_mediaSource before calling.
2256 (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Ditto.
2257 (WebCore::SourceBufferPrivateAVFObjC::readyState): Ditto.
2258 (WebCore::SourceBufferPrivateAVFObjC::setReadyState): Ditto.
2259 (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled): Ditto.
2260 (WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples): Ditto.
2261 (WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.
2262 (WebCore::SourceBufferPrivateAVFObjC::setActive): Ditto.
2263 * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
2264 (WebCore::MockMediaSourcePrivate::~MockMediaSourcePrivate): Clear the SourceBuffer's backpointer.
2265 * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
2266 (WebCore::MockSourceBufferPrivate::MockSourceBufferPrivate): Rename m_parent -> m_mediaSource.
2267 (WebCore::MockSourceBufferPrivate::removedFromMediaSource): Check m_mediaSource before calling.
2268 (WebCore::MockSourceBufferPrivate::readyState): Ditto.
2269 (WebCore::MockSourceBufferPrivate::setReadyState): Ditto.
2270 (WebCore::MockSourceBufferPrivate::setActive): Ditto.
2271 * platform/mock/mediasource/MockSourceBufferPrivate.h:
2272 (WebCore::MockSourceBufferPrivate::clearMediaSource):
2274 2013-12-07 Zoltan Horvath <zoltan@webkit.org>
2276 Remove statusWithDirection static function from RenderBlockLineLayout
2277 https://bugs.webkit.org/show_bug.cgi?id=125372
2279 Reviewed by Andreas Kling.
2281 I run into a FIXME about using BidiStatus constructor rather than statusWithDirection,
2282 once it's implemented. BidiStatus has got the appropriate constructor now, so I removed
2283 statusWithDirection and updated the code to use the constructor of BidiStatus.
2285 No new tests, no behavior change.
2287 * rendering/RenderBlockLineLayout.cpp:
2288 (WebCore::constructBidiRunsForSegment):
2290 2013-12-07 ChangSeok Oh <changseok.oh@collabora.com>
2292 Unreviewed. Build fix for gtk port after r160260.
2294 * loader/cache/CachedImage.h: Add missing a header.
2296 2013-12-07 Gustavo Noronha Silva <gns@gnome.org>
2298 ubuntu software center hits _XReadEvents() error
2299 https://bugs.webkit.org/show_bug.cgi?id=123480
2301 Reviewed by Martin Robinson.
2303 * platform/gtk/WidgetBackingStoreGtkX11.cpp:
2304 (WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11): clear the surface
2305 before freeing the associated pixmap.
2307 2013-12-06 Tim Horton <timothy_horton@apple.com>
2309 [mac] Keep around more decoded image data, since it's purgeable
2310 https://bugs.webkit.org/show_bug.cgi?id=125273
2311 <rdar://problem/13205438>
2313 Unreviewed patch to fix review comments...
2315 * platform/graphics/BitmapImage.h:
2316 Dan noticed that these return statements were improperly indented.
2318 2013-12-05 Jer Noble <jer.noble@apple.com>
2320 [MSE][Mac] Disable AVFoundation when enabling the MockMediaPlayerMediaSource.
2321 https://bugs.webkit.org/show_bug.cgi?id=125338
2323 Reviewed by Darin Adler.
2325 The MediaSource API has some assumptions which break if more than one installed
2326 media engine supports MediaSources at the same time. So when enabling the mock
2327 media source engine in DRT or WKTR, disable AVFoundation so that only the mock
2328 engine will support media source loading.
2330 * testing/Internals.cpp:
2331 (WebCore::Internals::initializeMockMediaSource):
2333 2013-12-06 Antti Koivisto <antti@apple.com>
2335 Use NeverDestroyed instead of DEFINE_STATIC_LOCAL
2337 Reviewed by Anders Carlsson.
2339 * rendering/RenderText.cpp:
2340 (WebCore::originalTextMap):
2342 2013-12-05 Jer Noble <jer.noble@apple.com>
2344 [MSE] Add a runtime-setting for the MediaSource constructor.
2345 https://bugs.webkit.org/show_bug.cgi?id=125336
2347 Reviewed by Eric Carlson.
2349 Add a Setting to enable the MediaSource constructor.
2351 * Modules/mediasource/MediaSource.idl:
2354 2013-12-06 Tim Horton <timothy_horton@apple.com>
2356 [mac] Keep around more decoded image data, since it's purgeable
2357 https://bugs.webkit.org/show_bug.cgi?id=125273
2358 <rdar://problem/13205438>
2360 Reviewed by Simon Fraser.
2362 No new tests, just an optimization.
2364 Instead of throwing away decoded image data eagerly, allow the operating
2365 system to manage the memory via the standard purgeability mechanism,
2368 This improves the performance on some pathological cases (extremely large
2369 animated GIFs) by up to 8x.
2371 * loader/cache/MemoryCache.cpp:
2372 (WebCore::MemoryCache::pruneLiveResourcesToSize):
2373 Don't prune live resources' decoded data if it is purgeable.
2375 * platform/graphics/BitmapImage.cpp:
2376 (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
2377 Don't eagerly throw away decoded image data if it's purgeable.
2379 * loader/cache/CachedImage.h:
2380 * loader/cache/CachedResource.h:
2381 (WebCore::CachedResource::decodedDataIsPurgeable):
2382 * platform/graphics/BitmapImage.h:
2383 * platform/graphics/Image.h:
2384 (WebCore::Image::decodedDataIsPurgeable):
2386 2013-12-06 Antti Koivisto <antti@apple.com>
2388 Save original text for RenderText to a map
2389 https://bugs.webkit.org/show_bug.cgi?id=125278
2391 Reviewed by Darin Adler.
2393 Currently the original text is fetched from the Text node. This is one of the few things
2394 where we use the RenderText node pointer and is stopping Text nodes from being anonymous.
2396 It is very rare of original text to differ from the actual text so we can just squirrel the
2397 original to a map when it differs. This is also simplifies the code.
2399 * rendering/RenderQuote.cpp:
2400 (WebCore::RenderQuote::styleDidChange):
2401 (WebCore::RenderQuote::updateDepth):
2402 * rendering/RenderText.cpp:
2403 (WebCore::originalTextMap):
2404 (WebCore::RenderText::RenderText):
2405 (WebCore::RenderText::~RenderText):
2406 (WebCore::RenderText::styleDidChange):
2407 (WebCore::RenderText::originalText):
2408 (WebCore::RenderText::setTextInternal):
2409 (WebCore::RenderText::setText):
2410 * rendering/RenderText.h:
2411 * rendering/RenderTextFragment.cpp:
2412 * rendering/RenderTextFragment.h:
2414 2013-12-04 Jer Noble <jer.noble@apple.com>
2416 [MSE] Refactor MediaSourceBase back into MediaSource
2417 https://bugs.webkit.org/show_bug.cgi?id=125245
2419 Reviewed by Eric Carlson.
2421 Now that the legacy WebKitMediaSource has been removed, there is no reason to have
2422 a separate MediaSource and MediaSourceBase. Re-integrate the two.
2424 Copy all the methods from MediaSource into MediaSourceBase, and rename the class MediaSource:
2425 * Modules/mediasource/MediaSource.cpp: Copied from MediaSourceBase.cpp.
2426 (WebCore::MediaSource::create): Copied from MediaSource.cpp.
2427 (WebCore::MediaSource::addSourceBuffer): Ditto.
2428 (WebCore::MediaSource::removeSourceBuffer): Ditto.
2429 (WebCore::MediaSource::isTypeSupported): Ditto.
2430 (WebCore::MediaSource::eventTargetInterface): Ditto.
2431 (WebCore::MediaSource::sourceBufferDidChangeAcitveState): Ditto.
2432 * Modules/mediasource/MediaSource.h: Copied from MediaSourceBase.h.
2433 (WebCore::MediaSource::sourceBuffers): Copied from MediaSource.h.
2434 (WebCore::MediaSource::activeSourceBuffers): Copied from MediaSource.h.
2435 * Modules/mediasource/MediaSourceBase.cpp: Removed.
2436 * Modules/mediasource/MediaSourceBase.h: Removed.
2438 Change all references to MediaSourceBase into MediaSource:
2439 * Modules/mediasource/DOMURLMediaSource.cpp:
2440 (WebCore::DOMURLMediaSource::createObjectURL):
2441 * Modules/mediasource/DOMURLMediaSource.h:
2442 * Modules/mediasource/MediaSourceRegistry.cpp:
2443 (WebCore::MediaSourceRegistry::registerURL):
2444 (WebCore::MediaSourceRegistry::unregisterURL):
2445 * Modules/mediasource/MediaSourceRegistry.h:
2447 Remove MediaSourceBase.cpp/h from the project file:
2448 * WebCore.xcodeproj/project.pbxproj:
2449 * GNUmakefile.list.am:
2451 2013-12-06 Eric Carlson <eric.carlson@apple.com>
2453 r159827 broke plug-in snapshotting
2454 https://bugs.webkit.org/show_bug.cgi?id=125365
2456 Reviewed by Dean Jackson.
2458 No new tests, covered by existing tests.
2460 * html/HTMLPlugInImageElement.cpp:
2461 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Return early if there is NOT
2462 a page, not if there IS a page.
2464 2013-12-06 Roger Fong <roger_fong@apple.com> and Brent Fulgham <bfulgham@apple.com>
2466 [Win] Support compiling with VS2013
2467 https://bugs.webkit.org/show_bug.cgi?id=125353
2469 Reviewed by Anders Carlsson.
2471 * loader/archive/cf/LegacyWebArchive.cpp:
2472 (WebCore::LegacyWebArchive::create): Use nullptr
2473 (WebCore::LegacyWebArchive::createFromSelection): Ditto
2475 2013-11-15 Jer Noble <jer.noble@apple.com>
2477 [MSE][Mac] Add a new MSE-compatible MediaPlayerPrivate implementation, MediaPlayerPrivateMediaSourceAVFObjC
2478 https://bugs.webkit.org/show_bug.cgi?id=123378
2480 Reviewed by Eric Carlson.
2482 Add an AVFoundation implementation of MediaPlayerPrivate which creates and uses
2483 MediaSourcePrivate and SourceBufferPrivate subclasses.
2485 Add the new media engine to the list of installed engines:
2486 * platform/MediaSample.h:
2487 * platform/graphics/MediaPlayer.cpp:
2488 (WebCore::installedMediaEngines):
2489 * platform/graphics/MediaPlayer.h:
2491 Add the new files to the project:
2492 * WebCore.xcodeproj/project.pbxproj:
2494 Drive by fix for ports who implement seekDouble():
2495 * platform/graphics/MediaPlayerPrivate.h:
2496 (WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
2498 Add new Video and AudioTrackPrivate types which handle their own enable state:
2499 * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp: Added
2500 (WebCore::AudioTrackPrivateMediaSourceAVFObjC::AudioTrackPrivateMediaSourceAVFObjC):
2501 (WebCore::AudioTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
2502 (WebCore::AudioTrackPrivateMediaSourceAVFObjC::setAssetTrack):
2503 (WebCore::AudioTrackPrivateMediaSourceAVFObjC::assetTrack):
2504 (WebCore::AudioTrackPrivateMediaSourceAVFObjC::setEnabled):
2505 * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h: Added
2506 * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.cpp: Added.
2507 (WebCore::VideoTrackPrivateMediaSourceAVFObjC::VideoTrackPrivateMediaSourceAVFObjC):
2508 (WebCore::VideoTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
2509 (WebCore::VideoTrackPrivateMediaSourceAVFObjC::setAssetTrack):
2510 (WebCore::VideoTrackPrivateMediaSourceAVFObjC::assetTrack):
2511 (WebCore::VideoTrackPrivateMediaSourceAVFObjC::setSelected):
2512 * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h: Added.
2514 Add a new MediaPlayerPrivate which can handle MediaSource objects:
2515 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: Added.
2516 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: Added.
2517 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
2518 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):
2519 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):
2520 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::create):
2521 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable):
2522 (WebCore::mimeTypeCache):
2523 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::getSupportedTypes):
2524 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType):
2525 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
2526 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cancelLoad):
2527 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareToPlay):
2528 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformMedia):
2529 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
2530 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play):
2531 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
2532 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause):
2533 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal):
2534 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused):
2535 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsScanning):
2536 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize):
2537 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasVideo):
2538 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAudio):
2539 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVisible):
2540 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble):
2541 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble):
2542 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble):
2543 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
2544 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
2545 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
2546 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seeking):
2547 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble):
2548 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::networkState):
2549 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::readyState):
2550 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
2551 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble):
2552 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable):
2553 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):
2554 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::didLoadingProgress):
2555 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setSize):
2556 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paint):
2557 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):
2558 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAvailableVideoFrame):
2559 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsAcceleratedRendering):
2560 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
2561 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::movieLoadType):
2562 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareForRendering):
2563 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::engineDescription):
2564 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::languageOfPrimaryAudioTrack):
2565 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::extraMemoryCost):
2566 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
2567 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::destroyLayer):
2568 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateDuration):
2569 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateStates):
2570 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState):
2571 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setNetworkState):
2572 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
2573 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):
2575 Add a new MediaSourcePrivate implementation:
2576 * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h: Added.
2577 (WebCore::MediaSourcePrivateAVFObjC::player):
2578 (WebCore::MediaSourcePrivateAVFObjC::activeSourceBuffers):
2579 * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: Added.
2580 (WebCore::MediaSourcePrivateAVFObjC::create):
2581 (WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC):
2582 (WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC):
2583 (WebCore::MediaSourcePrivateAVFObjC::addSourceBuffer):
2584 (WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer):
2585 (WebCore::MediaSourcePrivateAVFObjC::duration):
2586 (WebCore::MediaSourcePrivateAVFObjC::setDuration):
2587 (WebCore::MediaSourcePrivateAVFObjC::markEndOfStream):
2588 (WebCore::MediaSourcePrivateAVFObjC::unmarkEndOfStream):
2589 (WebCore::MediaSourcePrivateAVFObjC::readyState):
2590 (WebCore::MediaSourcePrivateAVFObjC::setReadyState):
2591 (WebCore::MediaSourcePrivateAVFObjC::sourceBufferPrivateDidChangeActiveState):
2592 (WebCore::MediaSourcePrivateAVFObjCHasAudio):
2593 (WebCore::MediaSourcePrivateAVFObjC::hasAudio):
2594 (WebCore::MediaSourcePrivateAVFObjCHasVideo):
2595 (WebCore::MediaSourcePrivateAVFObjC::hasVideo):
2596 (WebCore::MediaSourcePrivateAVFObjC::seekToTime):
2598 Add a new SourceBufferPrivate implementation:
2599 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: Added.
2600 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Added.
2601 (-[WebAVStreamDataParserListener initWithParser:parent:WebCore::]):
2602 (-[WebAVStreamDataParserListener dealloc]):
2603 (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]):
2604 (-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]):
2605 (-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]):
2606 (-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]):
2607 (WebCore::MediaSampleAVFObjC::create):
2608 (WebCore::MediaSampleAVFObjC::~MediaSampleAVFObjC):
2609 (WebCore::MediaSampleAVFObjC::MediaSampleAVFObjC):
2610 (WebCore::MediaSampleAVFObjC::platformSample):
2611 (WebCore::CMSampleBufferIsRandomAccess):
2612 (WebCore::MediaSampleAVFObjC::flags):
2613 (WebCore::MediaDescriptionAVFObjC::create):
2614 (WebCore::MediaDescriptionAVFObjC::~MediaDescriptionAVFObjC):
2615 (WebCore::MediaDescriptionAVFObjC::MediaDescriptionAVFObjC):
2616 (WebCore::SourceBufferPrivateAVFObjC::create):
2617 (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
2618 (WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
2619 (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
2620 (WebCore::SourceBufferPrivateAVFObjC::didFailToParseStreamDataWithError):
2621 (WebCore::callProcessCodedFrameForEachSample):
2622 (WebCore::SourceBufferPrivateAVFObjC::didProvideMediaDataForTrackID):
2623 (WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
2624 (WebCore::SourceBufferPrivateAVFObjC::didReachEndOfTrackWithTrackID):
2625 (WebCore::SourceBufferPrivateAVFObjC::setClient):
2626 (WebCore::SourceBufferPrivateAVFObjC::append):
2627 (WebCore::SourceBufferPrivateAVFObjC::abort):
2628 (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource):
2629 (WebCore::SourceBufferPrivateAVFObjC::readyState):
2630 (WebCore::SourceBufferPrivateAVFObjC::setReadyState):
2631 (WebCore::SourceBufferPrivateAVFObjC::evictCodedFrames):
2632 (WebCore::SourceBufferPrivateAVFObjC::isFull):
2633 (WebCore::SourceBufferPrivateAVFObjC::hasVideo):
2634 (WebCore::SourceBufferPrivateAVFObjC::hasAudio):
2635 (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
2636 (WebCore::createNonDisplayingCopy):
2637 (WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples):
2638 (WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
2639 (WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples):
2640 (WebCore::SourceBufferPrivateAVFObjC::setActive):
2641 (WebCore::SourceBufferPrivateAVFObjC::fastSeekTimeForMediaTime):
2642 (WebCore::SourceBufferPrivateAVFObjC::seekToTime):
2643 * platform/mac/PlatformClockCM.h:
2645 Add a SOFT_LINK_CLASS_OPTIONAL macro:
2646 * platform/mac/SoftLinking.h:
2648 2013-12-06 Alexey Proskuryakov <ap@apple.com>
2650 Remove some duplicate checks from SerializedScriptValue
2651 https://bugs.webkit.org/show_bug.cgi?id=125358
2653 Reviewed by Geoffrey Garen.
2655 There is no need to call inherits() before WebCore's toXXX(JSValue) functions.
2657 Also, the result of toArrayBuffer() is a raw pointer, not a RefPtr (it's confusing
2658 because toArrayBufferView returns a RefPtr).
2660 * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::dumpIfTerminal):
2662 2013-12-06 Tim Horton <timothy_horton@apple.com>
2664 Remove Image::decodedSize()
2665 https://bugs.webkit.org/show_bug.cgi?id=125327
2667 Reviewed by Simon Fraser.
2669 Missed a comment when removing this code.
2671 * svg/graphics/SVGImage.h:
2673 2013-12-06 Rob Buis <rob.buis@samsung.com>
2675 [CSS Shapes] ShapeOutsideInfo needs to use the parent's writing mode when calculating offsets
2676 https://bugs.webkit.org/show_bug.cgi?id=124680
2678 Reviewed by Dirk Schulze.
2680 Do not take the writing-mode property on the float into account for shape-outside.
2681 Add a virtual method writingMode() in order to do this for shape-outside but
2682 keep old behavior (element writingMode) for shape-inside.
2684 Change existing test floats/shape-outside-floats-different-writing-modes.html to test the
2687 * rendering/shapes/ShapeInfo.cpp:
2688 (WebCore::::computedShape):
2689 * rendering/shapes/ShapeInfo.h:
2690 (WebCore::ShapeInfo::writingMode):
2691 * rendering/shapes/ShapeOutsideInfo.cpp:
2692 (WebCore::ShapeOutsideInfo::writingMode):
2693 * rendering/shapes/ShapeOutsideInfo.h:
2695 2013-12-06 Joseph Pecoraro <pecoraro@apple.com>
2697 Web Inspector: Remove Staging Workaround
2698 https://bugs.webkit.org/show_bug.cgi?id=125354
2700 Reviewed by Timothy Hatcher.
2702 * inspector/CodeGeneratorInspector.py:
2704 2013-12-06 Joseph Pecoraro <pecoraro@apple.com>
2706 Simplify ScriptFunctionCall by removing dead code.
2707 https://bugs.webkit.org/show_bug.cgi?id=125274
2709 Reviewed by Timothy Hatcher.
2711 * bindings/js/ScriptFunctionCall.cpp:
2712 (WebCore::ScriptFunctionCall::call):
2713 * bindings/js/ScriptFunctionCall.h:
2715 2013-12-06 Daniel Bates <dabates@apple.com>
2717 [iOS] Upstream WebCore/rendering changes
2718 https://bugs.webkit.org/show_bug.cgi?id=125239
2720 Reviewed by Simon Fraser.
2722 * WebCore.xcodeproj/project.pbxproj:
2723 * rendering/InlineBox.cpp:
2724 (WebCore::InlineBox::previousOnLineExists): Added.
2725 * rendering/InlineBox.h:
2726 * rendering/InlineTextBox.cpp:
2727 (WebCore::InlineTextBox::paintCompositionBackground): Modified to query RenderStyle
2728 on iOS for the composition fill color. Added FIXME to make this platform-independent.
2729 (WebCore::InlineTextBox::paintDecoration): Added iOS-specific decoration code.
2730 (WebCore::lineStyleForMarkerType):
2731 (WebCore::InlineTextBox::paintDocumentMarkers): Added iOS-specific code. Also, added
2732 FIXME to make this code platform-independent.
2733 * rendering/RenderBlock.cpp:
2734 (WebCore::RenderBlock::paint): Ditto.
2735 (WebCore::positionForPointRespectingEditingBoundaries): Added iOS-specific code.
2736 * rendering/RenderBlock.h: Changed access control of logical{Left, Right}SelectionOffset()
2737 from private to protected so that these methods can be used from RenderImage::collectSelectionRects().
2738 * rendering/RenderBox.cpp:
2739 (WebCore::RenderBox::borderRadii): Added.
2740 (WebCore::RenderBox::paintBoxDecorations): Added iOS-specific workaround. See <rdar://problem/6209763>
2742 (WebCore::RenderBox::computeRectForRepaint): Added iOS-specific code.
2743 (WebCore::customContainingBlockWidth): Added; guarded by PLATFORM(IOS).
2744 (WebCore::customContainingBlockHeight): Added; guarded by PLATFORM(IOS).
2745 (WebCore::customContainingBlockLogicalWidth): Added; guarded by PLATFORM(IOS).
2746 (WebCore::customContainingBlockLogicalHeight): Added; guarded by PLATFORM(IOS).
2747 (WebCore::customContainingBlockAvailableLogicalHeight): Added; guarded by PLATFORM(IOS).
2748 (WebCore::RenderBox::availableLogicalHeightUsing): Added iOS-specific code; calls customContainingBlockAvailableLogicalHeight().
2749 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Added iOS-specific code; calls customContainingBlockLogicalWidth().
2750 (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): Added iOS-specific code; calls customContainingBlockLogicalHeight().
2751 (WebCore::RenderBox::layoutOverflowRectForPropagation): Added iOS-specific code.
2752 * rendering/RenderBox.h:
2753 * rendering/RenderBoxModelObject.cpp:
2754 (WebCore::RenderBoxModelObject::stickyPositionOffset): Use FrameView::customFixedPositionLayoutRect()
2755 instead of FrameView::viewportConstrainedVisibleContentRect().
2756 * rendering/RenderButton.cpp:
2757 (WebCore::RenderButton::layout): Added; iOS-specific. Includes FIXME comment.
2758 See <rdar://problem/7675493> for more details.
2759 * rendering/RenderElement.cpp:
2760 (WebCore::RenderElement::styleWillChange): Added iOS-specific code.
2761 (WebCore::RenderElement::styleDidChange): Modified to only call areCursorsEqual() and
2762 EventHandler::scheduleCursorUpdate() on a non-iOS port.
2763 * rendering/RenderEmbeddedObject.cpp:
2764 (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Added iOS-specific code.
2765 (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason): This method has an empty implementation for iOS.
2766 (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription): Ditto.
2767 * rendering/RenderFileUploadControl.cpp:
2768 (WebCore::nodeHeight):
2769 (WebCore::RenderFileUploadControl::maxFilenameWidth): Added iOS-specific code.
2770 (WebCore::RenderFileUploadControl::paintObject): Ditto.
2771 (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
2772 * rendering/RenderFrameSet.cpp:
2773 (WebCore::RenderFrameSet::positionFrames): Ditto; Also added FIXME comment as this code may not
2775 * rendering/RenderIFrame.h: Added iOS-specific workaround to RenderObject::renderName(). Added
2776 FIXME comment to determine whether this workaround is still applicable.
2777 * rendering/RenderImage.cpp:
2778 (WebCore::RenderImage::collectSelectionRects): Added; guarded by PLATFORM(IOS).
2779 (WebCore::RenderImage::paintAreaElementFocusRing): This method has an empty implementation for iOS.
2780 * rendering/RenderImage.h:
2781 * rendering/RenderInline.cpp:
2782 (WebCore::RenderInline::absoluteQuadsForSelection): Added; guarded by PLATFORM(IOS).
2783 * rendering/RenderInline.h:
2784 * rendering/RenderLayer.cpp:
2785 (WebCore::RenderLayer::RenderLayer): Added iOS-specific member initialization.
2786 (WebCore::RenderLayer::~RenderLayer): Added iOS-specific code.
2787 (WebCore::RenderLayer::willBeDestroyed): Added; iOS-specific.
2788 (WebCore::RenderLayer::hasAcceleratedTouchScrolling): Ditto.
2789 (WebCore::RenderLayer::handleTouchEvent): Ditto.
2790 (WebCore::RenderLayer::registerAsTouchEventListenerForScrolling): Ditto.
2791 (WebCore::RenderLayer::unregisterAsTouchEventListenerForScrolling): Ditto.
2792 (WebCore::RenderLayer::updateNeedsCompositedScrolling): Added iOS-specific code as we use UIKit
2793 to composite our scroll bars.
2794 (WebCore::RenderLayer::scrollTo): Added iOS-specific code.
2795 (WebCore::RenderLayer::scrollRectToVisible): Ditto.
2796 (WebCore::RenderLayer::styleChanged): Modified to make use of the passed StyleDifference on iOS.
2797 (WebCore::RenderLayer::visibleContentRect): Added; iOS-specific.
2798 (WebCore::RenderLayer::didStartScroll): Ditto.
2799 (WebCore::RenderLayer::didEndScroll): Ditto.
2800 (WebCore::RenderLayer::didUpdateScroll): Ditto.
2801 (WebCore::RenderLayer::invalidateScrollbarRect): Added iOS-specific code.
2802 (WebCore::RenderLayer::invalidateScrollCornerRect): Ditto.
2803 (WebCore::RenderLayer::verticalScrollbarWidth): Ditto.
2804 (WebCore::RenderLayer::horizontalScrollbarHeight): Ditto.
2805 (WebCore::RenderLayer::updateScrollableAreaSet): Ditto.
2806 (WebCore::RenderLayer::updateScrollInfoAfterLayout): Add iOS-specific workaround with FIXME. See
2807 <rdar://problem/15579797> for more details.
2808 (WebCore::RenderLayer::paintOverflowControls): Added iOS-specific code.
2809 (WebCore::RenderLayer::calculateClipRects): Ditto.
2810 * rendering/RenderLayer.h:
2811 * rendering/RenderLayerBacking.cpp:
2812 (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Modified to not apply page scale on iOS
2813 as we apply a page scale at a different time in the code.
2814 (WebCore::RenderLayerBacking::layerWillBeDestroyed): Added; guarded by PLATFORM(IOS).
2815 (WebCore::layerOrAncestorIsTransformedOrScrolling): Added iOS-specific variant with FIXME comment.
2816 (WebCore::RenderLayerBacking::shouldClipCompositedBounds): Added iOS-specific code.
2817 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Ditto.
2818 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Ditto.
2819 (WebCore::RenderLayerBacking::registerScrollingLayers): Ditto.
2820 (WebCore::RenderLayerBacking::updateScrollingLayers): Ditto.
2821 (WebCore::RenderLayerBacking::containsPaintedContent): Call RenderLayer::hasBoxDecorationsOrBackground()
2822 when building on iOS Simulator.
2823 (WebCore::RenderLayerBacking::parentForSublayers): Added iOS-specific code and FIXME comment.
2824 (WebCore::RenderLayerBacking::paintsIntoWindow): Opt-into coordinated graphics code path.
2825 (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Added iOS-specific code.
2826 (WebCore::RenderLayerBacking::paintIntoLayer): Compile-out ASSERT_NOT_REACHED for iOS and added FIXME comment.
2827 * rendering/RenderLayerBacking.h:
2828 * rendering/RenderLayerCompositor.cpp:
2829 (WebCore::RenderLayerCompositor::scheduleLayerFlush): Added iOS-specific code.
2830 (WebCore::RenderLayerCompositor::chromeClient): Added; guarded by PLATFORM(IOS).
2831 (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Added iOS-specific code.
2832 (WebCore::scrollbarHasDisplayNone): Added; iOS-specific.
2833 (WebCore::updateScrollingLayerWithClient): Ditto.
2834 (WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush): Ditto.
2835 (WebCore::RenderLayerCompositor::didFlushChangesForLayer): Added iOS-specific code.
2836 (WebCore::RenderLayerCompositor::didChangeVisibleRect): Ditto.
2837 (WebCore::RenderLayerCompositor::addToOverlapMap): Don't apply page scale factor on iOS. We apply
2838 the page scale factor at a different time in the code. Also, added FIXME comment.
2839 (WebCore::RenderLayerCompositor::computeCompositingRequirements): Added iOS-specific workaround.
2840 See <rdar://problem/8348337> for more details.
2841 (WebCore::RenderLayerCompositor::setIsInWindow): Use non-Mac code path for iOS.
2842 (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames): Added iOS-specific code.
2843 (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto.
2844 (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Ditto.
2845 (WebCore::RenderLayerCompositor::reasonsForCompositing): Ditto.
2846 (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Opt-into calling
2847 AnimationController::isRunningAnimationOnRenderer() on iOS.
2848 (WebCore::RenderLayerCompositor::requiresCompositingForScrolling): Added; guarded by PLATFORM(IOS).
2849 (WebCore::isStickyInAcceleratedScrollingLayerOrViewport): Added iOS-specific code.
2850 (WebCore::isViewportConstrainedFixedOrStickyLayer): Ditto.
2851 (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Use FrameView::customFixedPositionLayoutRect()
2852 instead of FrameView::viewportConstrainedVisibleContentRect().
2853 (WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles): Ditto.
2854 (WebCore::RenderLayerCompositor::ensureRootLayer): Ditto.
2855 (WebCore::RenderLayerCompositor::computeFixedViewportConstraints): Use FrameView::customFixedPositionLayoutRect()
2856 instead of FrameView::viewportConstrainedVisibleContentRect().
2857 (WebCore::RenderLayerCompositor::computeStickyViewportConstraints): Ditto.
2858 (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer): This method has an empty implementation for iOS
2859 as we batch update viewport-constrained layers in the iOS-specific method, RenderLayerCompositor::updateCustomLayersAfterFlush().
2860 (WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer): Ditto.
2861 (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers): Added; guarded by PLATFORM(IOS).
2862 (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers): Ditto.
2863 (WebCore::RenderLayerCompositor::registerAllScrollingLayers): Ditto.
2864 (WebCore::RenderLayerCompositor::unregisterAllScrollingLayers): Ditto.
2865 (WebCore::RenderLayerCompositor::scrollingLayerAddedOrUpdated): Ditto.
2866 (WebCore::RenderLayerCompositor::scrollingLayerRemoved): Ditto.
2867 (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded): Ditto.
2868 * rendering/RenderLayerCompositor.h:
2869 * rendering/RenderLayerFilterInfo.h: Added iOS-specific Clang workaround to ignore
2870 an unused private field.
2871 * rendering/RenderMenuList.cpp:
2872 (WebCore::selectedOptionCount): Added; guarded by PLATFORM(IOS).
2873 (WebCore::RenderMenuList::RenderMenuList): On iOS we don't make use of RenderMenuList::m_popupIsVisible.
2874 (WebCore::RenderMenuList::~RenderMenuList): On iOS we don't make use of RenderMenuList::m_popup.
2875 (WebCore::RenderMenuList::adjustInnerStyle): Add iOS-specific code.
2876 (RenderMenuList::updateFromElement): On iOS we don't make use of RenderMenuList::m_popup.
2877 (RenderMenuList::setTextFromOption): Add iOS-specific code.
2878 (RenderMenuList::showPopup): Define RenderMenuList::showPopup() to ASSERT_NOT_REACHED() on iOS as
2879 we don't make use of RenderMenuList::m_popup.
2880 (RenderMenuList::hidePopup): This method has an empty implementation for iOS as we don't make use
2881 of RenderMenuList::m_popup.
2882 (RenderMenuList::popupDidHide): This method has an empty implementation for iOS as we don't make use
2883 of RenderMenuList::m_popupIsVisible.
2884 * rendering/RenderMenuList.h:
2885 * rendering/RenderObject.cpp:
2886 (WebCore::RenderObject::columnNumberForOffset): Added; guarded by PLATFORM(IOS). Also, added a FIXME comment to
2887 make this function return an unsigned integer instead of a signed integer.
2888 (WebCore::RenderObject::collectSelectionRects): Added; guarded by PLATFORM(IOS).
2889 (WebCore::RenderObject::destroy): Added iOS-specific code.
2890 (WebCore::RenderObject::innerLineHeight): Added.
2891 (WebCore::RenderObject::willRenderImage): Added iOS-specific code.
2892 * rendering/RenderObject.h: Change the access control of RenderObject::drawLineForBoxSide() from protected to
2893 public so that it can be used from RenderThemeIOS::adjustMenuListButtonStyle().
2894 (WebCore::RenderObject::absoluteQuadsForSelection):
2895 * rendering/RenderScrollbar.h: Change the access control of RenderScrollbar::getScrollbarPseudoStyle() from
2896 private to public so that it can be used from the iOS-specific static function, scrollbarHasDisplayNone,
2897 defined in RenderLayerCompositor.cpp.
2898 * rendering/RenderSearchField.cpp:
2899 (WebCore::RenderSearchField::itemText): Added iOS-specific code.
2900 * rendering/RenderText.cpp:
2901 (WebCore::RenderText::collectSelectionRects): Added; guarded by PLATFORM(IOS).
2902 (WebCore::RenderText::setTextInternal): Added iOS-specific code.
2903 * rendering/RenderText.h:
2904 * rendering/RenderTextControl.cpp:
2905 (WebCore::RenderTextControl::adjustInnerTextStyle): Ditto.
2906 (WebCore::RenderTextControl::canScroll): Added; guarded by PLATFORM(IOS).
2907 (WebCore::RenderTextControl::innerLineHeight): Ditto.
2908 * rendering/RenderTextControl.h:
2909 * rendering/RenderTextControlMultiLine.cpp:
2910 (WebCore::RenderTextControlMultiLine::getAvgCharWidth): Compile-out code when building for iOS.
2911 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): Added iOS-specific code.
2912 * rendering/RenderTextControlSingleLine.cpp:
2913 (WebCore::RenderTextControlSingleLine::layout): Ditto.
2914 (WebCore::RenderTextControlSingleLine::getAvgCharWidth): Compile-out code when building for iOS.
2915 (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth): Ditto.
2916 * rendering/RenderTextLineBoxes.cpp:
2917 (WebCore::lineDirectionPointFitsInBox): Ditto.
2918 (WebCore::RenderTextLineBoxes::positionForPoint): Added iOS-specific code.
2919 * rendering/RenderTheme.cpp:
2920 (WebCore::RenderTheme::paintBorderOnly): Ditto.
2921 (WebCore::RenderTheme::paintDecorations): Modified to call the control-specific paint*Decorations().
2922 * rendering/RenderTheme.h:
2923 (WebCore::RenderTheme::paintCheckboxDecorations): Added.
2924 (WebCore::RenderTheme::paintRadioDecorations): Added.
2925 (WebCore::RenderTheme::paintButtonDecorations): Added.
2926 (WebCore::RenderTheme::paintTextFieldDecorations): Added.
2927 (WebCore::RenderTheme::paintTextAreaDecorations): Added.
2928 (WebCore::RenderTheme::paintMenuListDecorations): Added.
2929 (WebCore::RenderTheme::paintPushButtonDecorations): Added.
2930 (WebCore::RenderTheme::paintSquareButtonDecorations): Added.
2931 (WebCore::RenderTheme::paintFileUploadIconDecorations): Added.
2932 (WebCore::RenderTheme::paintSliderThumbDecorations): Added.
2933 (WebCore::RenderTheme::paintSearchFieldDecorations): Added.
2934 * rendering/RenderThemeIOS.h: Added.
2935 * rendering/RenderThemeIOS.mm: Added.
2936 * rendering/RenderThemeMac.h: Don't compile the contents of this file when building for iOS.
2937 * rendering/RenderThemeMac.mm: Ditto.
2938 * rendering/RenderVideo.cpp:
2939 (WebCore::RenderVideo::calculateIntrinsicSize): Compile-out code when building for iOS.
2940 * rendering/RenderView.cpp:
2941 (WebCore::RenderView::availableLogicalHeight): Add iOS-specific workaround. See <rdar://problem/7166808>.
2942 (WebCore::fixedPositionOffset): Added; used in iOS-specific code (e.g. RenderView::mapLocalToContainer()).
2943 (WebCore::RenderView::mapLocalToContainer): Use WebCore::fixedPositionOffset() instead of
2944 FrameView::scrollOffsetForFixedPosition().
2945 (WebCore::RenderView::pushMappingToContainer): Ditto.
2946 (WebCore::RenderView::mapAbsoluteToLocalPoint): Ditto.
2947 (WebCore::RenderView::repaintViewRectangle): Ditto.
2948 (WebCore::RenderView::computeRectForRepaint): Ditto.
2949 (WebCore::isFixedPositionInViewport): Added; used in RenderView::hasCustomFixedPosition().
2950 (WebCore::RenderView::hasCustomFixedPosition): Added; guarded by PLATFORM(IOS).
2951 * rendering/RenderView.h:
2952 * rendering/RenderWidget.cpp:
2953 (WebCore::RenderWidget::willBeDestroyed): Added iOS-specific code.
2954 * rendering/RootInlineBox.cpp:
2955 (WebCore::RootInlineBox::ascentAndDescentForBox): Ditto.
2956 * rendering/break_lines.cpp: Only include header <CoreServices/CoreServices.h> when building for Mac.
2958 2013-12-06 Zoltan Horvath <zoltan@webkit.org>
2960 Clean up the includes of RenderBlock.h
2961 https://bugs.webkit.org/show_bug.cgi?id=125351
2963 Reviewed by Darin Adler.
2965 I turned some header includes into forward declarations. I also removed /
2966 moved out some includes, which don't belong to RenderBlock.h anymore.
2968 No new tests, no behavior change.
2970 * editing/VisibleUnits.cpp:
2971 * html/HTMLInputElement.cpp:
2972 * html/HTMLTextAreaElement.cpp:
2973 * html/TextFieldInputType.cpp:
2974 * html/TextInputType.cpp:
2975 * rendering/InlineElementBox.cpp:
2976 * rendering/RenderBlock.h:
2977 * rendering/RenderBlockFlow.cpp:
2978 * rendering/line/LineBreaker.h:
2979 * rendering/line/LineWidth.cpp:
2981 2013-12-06 Laszlo Vidacs <lac@inf.u-szeged.hu>
2983 Define SHA1 hash size in SHA1.h and use it at various places.
2984 https://bugs.webkit.org/show_bug.cgi?id=125345
2986 Reviewed by Darin Adler.
2988 Use SHA1::hashSize instead of local variables.
2990 * Modules/websockets/WebSocketHandshake.cpp:
2991 (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
2992 * platform/network/soup/ResourceHandleSoup.cpp:
2993 (WebCore::HostTLSCertificateSet::computeCertificateHash):
2995 2013-12-06 Dan Bernstein <mitz@apple.com>
2997 [Cocoa] Add load delegate methods for responding to authentication challenges
2998 https://bugs.webkit.org/show_bug.cgi?id=125333
3000 Reviewed by Darin Adler.
3002 * WebCore.exp.in: Exported core(NSURLCredential *).
3004 2013-12-06 Daniel Bates <dabates@apple.com>
3006 Rename {adjust, paint}SearchFieldDecoration, {adjust, paint}SearchFieldResultsDecoration
3007 https://bugs.webkit.org/show_bug.cgi?id=125191
3009 Reviewed by Joseph Pecoraro.
3011 Towards upstreaming the iOS concept of render theme decorations, we should rename
3012 RenderTheme::{adjust, paint}SearchFieldDecorationStyle and RenderTheme::{adjust, paint}SearchFieldResultsDecoration
3013 to avoid ambiguity with the iOS concept.
3015 * platform/efl/RenderThemeEfl.cpp:
3016 * platform/efl/RenderThemeEfl.h:
3017 * platform/gtk/RenderThemeGtk.cpp:
3018 * platform/gtk/RenderThemeGtk.h:
3019 * rendering/RenderTheme.cpp:
3020 * rendering/RenderTheme.h:
3021 * rendering/RenderThemeMac.h:
3022 * rendering/RenderThemeMac.mm:
3023 * rendering/RenderThemeSafari.cpp:
3024 * rendering/RenderThemeSafari.h:
3025 * rendering/RenderThemeWin.cpp:
3026 * rendering/RenderThemeWin.h:
3027 * rendering/RenderThemeWinCE.cpp:
3028 * rendering/RenderThemeWinCE.h:
3030 2013-12-06 Andreas Kling <akling@apple.com>
3032 Make remaining CSSValue constructors return PassRef.
3033 <https://webkit.org/b/125337>
3035 Tweak the remaining CSSValue create() helpers to return PassRef
3036 instead of PassRefPtr in the cases where nullptr is never returned.
3038 Reviewed by Anders Carlsson.
3040 2013-12-06 Roger Fong <roger_fong@apple.com>
3042 Hook into some shader symbol logic following the ANGLE update in r159533.
3043 https://bugs.webkit.org/show_bug.cgi?id=125332.
3045 Reviewed by Brent Fulgham.
3047 No new functionality added.
3049 * html/canvas/WebGLRenderingContext.cpp: Add some error checking for errors related to
3050 shader symbols that exist across both vertex and fragment shaders.
3051 (WebCore::WebGLRenderingContext::linkProgram):
3052 * platform/graphics/ANGLEWebKitBridge.cpp: Add logic for handling varyings
3053 and add new fields to the ANGLEShaderSymbol struct.
3054 (WebCore::getSymbolInfo):
3055 * platform/graphics/ANGLEWebKitBridge.h:
3056 * platform/graphics/GraphicsContext3D.h: Add those same fields to the SymbolInfo struct
3057 as well so that we can access them from our shader source map.
3058 Also add a map of varyings along side the uniforms and attributes.
3059 (WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo):
3060 (WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap):
3061 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
3062 (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
3063 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3064 (WebCore::GraphicsContext3D::areProgramSymbolsValid): Will be filled in later, this method
3065 will use the shader source map to check for issues with unused varyings and precisions
3066 mismatches of shader symbols that exist across both the vertex and fragment shaders.
3068 2013-12-06 Lukasz Gajowy <l.gajowy@samsung.com>
3070 [ATK] Missing aria roles mappings
3071 https://bugs.webkit.org/show_bug.cgi?id=117729
3073 Reviewed by Mario Sanchez Prada.
3075 Added a few mappings from ARIA roles to ATK roles.
3077 Test: accessibility/aria-mappings.html
3079 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3082 2013-11-11 Philippe Normand <pnormand@igalia.com>
3084 [GStreamer] webkitwebaudiosrc element needs to emit stream-start, caps and segment events
3085 https://bugs.webkit.org/show_bug.cgi?id=123015
3087 Reviewed by Martin Robinson.
3089 When the source element starts emitting buffers send along various
3090 events to notify downstream elements.
3092 No new tests, change covered by existing webaudio tests.
3094 * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
3095 (webkit_web_audio_src_init): Initialize segment.
3096 (webKitWebAudioSrcConstructed): Give an explicit name to each
3097 queue added in front of the interleave element.
3098 (webKitWebAudioSrcLoop): Before sending the first buffers push
3099 stream-start, caps and segment events on each queue's sinkpad.
3101 2013-12-05 Philippe Normand <pnormand@igalia.com>
3103 [GStreamer] Audio/Video sink management is incoherent
3104 https://bugs.webkit.org/show_bug.cgi?id=125304
3106 Reviewed by Gustavo Noronha Silva.
3108 Allow subclasses of MediaPlayerPrivateGStreamerBase to create
3109 custom audio/video sinks in a coherent manner using
3110 create{Audio,Video}Sink methods. Convenience getters are also
3111 available. Also removed some un-needed member variables in the
3112 playbin-based player.
3114 No new tests, existing media tests cover this change.
3116 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3117 (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
3118 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
3119 (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
3120 (WebCore::MediaPlayerPrivateGStreamer::audioSink):
3121 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
3122 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3123 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3124 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
3125 (WebCore::MediaPlayerPrivateGStreamerBase::createAudioSink):
3127 2013-12-05 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3129 Introduce IMAGE_TYPE_CASTS, and use it
3130 https://bugs.webkit.org/show_bug.cgi?id=125330
3132 Reviewed by Ryosuke Niwa.
3134 As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
3135 BitmapImage and SVGImage can use it to generate toFoo() type case helper functions.
3137 No new tests, no behavior changes.
3139 * loader/cache/CachedImage.cpp:
3140 (WebCore::CachedImage::imageSizeForRenderer):
3141 (WebCore::CachedImage::resumeAnimatingImagesForLoader):
3142 * platform/graphics/BitmapImage.h:
3143 * platform/graphics/Image.h:
3144 * platform/mac/DragImageMac.mm:
3145 (WebCore::createDragImageFromImage):
3146 * svg/graphics/SVGImage.h:
3148 2013-12-05 Zoltan Horvath <zoltan@webkit.org>
3150 Clean up the forwarding headers of RenderBlock.h
3151 https://bugs.webkit.org/show_bug.cgi?id=125323
3153 Reviewed by Ryosuke Niwa.
3155 In this patch, I removed the unnecessary forwarding headers from RenderBlock.h, and moved some to RenderBlockFlow.h.
3157 No new tests, no behavior change.
3159 * rendering/RenderBlock.h: Remove unnecessary forwarding headers.
3160 * rendering/RenderBlockFlow.h: Moved some forwarding headers from RenderBlock.h
3162 2013-12-04 Oliver Hunt <oliver@apple.com>
3164 Refactor static getter function prototype to include thisValue in addition to the base object
3165 https://bugs.webkit.org/show_bug.cgi?id=124461
3167 Reviewed by Geoffrey Garen.
3169 Change bindings codegen to produce static getter functions
3170 with the correct types. Also update the many custom implementations
3173 No change in behaviour.
3175 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3176 (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
3177 (WebCore::cssPropertyGetterCallback):
3178 * bindings/js/JSDOMBinding.cpp:
3179 (WebCore::objectToStringFunctionGetter):
3180 * bindings/js/JSDOMBinding.h:
3181 * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
3182 (WebCore::JSDOMMimeTypeArray::nameGetter):
3183 * bindings/js/JSDOMPluginArrayCustom.cpp:
3184 (WebCore::JSDOMPluginArray::nameGetter):
3185 * bindings/js/JSDOMPluginCustom.cpp:
3186 (WebCore::JSDOMPlugin::nameGetter):
3187 * bindings/js/JSDOMStringMapCustom.cpp:
3188 (WebCore::JSDOMStringMap::nameGetter):
3189 * bindings/js/JSDOMWindowCustom.cpp:
3190 (WebCore::nonCachingStaticFunctionGetter):
3191 (WebCore::childFrameGetter):
3192 (WebCore::indexGetter):
3193 (WebCore::namedItemGetter):
3194 * bindings/js/JSHTMLAllCollectionCustom.cpp:
3195 (WebCore::JSHTMLAllCollection::nameGetter):
3196 * bindings/js/JSHTMLCollectionCustom.cpp:
3197 (WebCore::JSHTMLCollection::nameGetter):
3198 * bindings/js/JSHTMLDocumentCustom.cpp:
3199 (WebCore::JSHTMLDocument::nameGetter):
3200 * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
3201 (WebCore::JSHTMLFormControlsCollection::nameGetter):
3202 * bindings/js/JSHTMLFormElementCustom.cpp:
3203 (WebCore::JSHTMLFormElement::nameGetter):
3204 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
3205 (WebCore::JSHTMLFrameSetElement::nameGetter):
3206 * bindings/js/JSHistoryCustom.cpp:
3207 (WebCore::nonCachingStaticBackFunctionGetter):
3208 (WebCore::nonCachingStaticForwardFunctionGetter):
3209 (WebCore::nonCachingStaticGoFunctionGetter):
3210 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3211 (WebCore::JSJavaScriptCallFrame::scopeType):
3212 * bindings/js/JSLocationCustom.cpp:
3213 (WebCore::nonCachingStaticReplaceFunctionGetter):
3214 (WebCore::nonCachingStaticReloadFunctionGetter):
3215 (WebCore::nonCachingStaticAssignFunctionGetter):
3216 * bindings/js/JSNamedNodeMapCustom.cpp:
3217 (WebCore::JSNamedNodeMap::nameGetter):
3218 * bindings/js/JSNodeListCustom.cpp:
3219 (WebCore::JSNodeList::nameGetter):
3220 * bindings/js/JSPluginElementFunctions.cpp:
3221 (WebCore::pluginElementPropertyGetter):
3222 * bindings/js/JSPluginElementFunctions.h:
3223 * bindings/js/JSRTCStatsResponseCustom.cpp:
3224 (WebCore::JSRTCStatsResponse::nameGetter):
3225 * bindings/js/JSStorageCustom.cpp:
3226 (WebCore::JSStorage::nameGetter):
3227 * bindings/js/JSStyleSheetListCustom.cpp:
3228 (WebCore::JSStyleSheetList::nameGetter):
3229 * bindings/scripts/CodeGeneratorJS.pm:
3231 (GenerateImplementation):
3232 (GenerateParametersCheck):
3233 * bridge/runtime_array.cpp:
3234 (JSC::RuntimeArray::lengthGetter):
3235 (JSC::RuntimeArray::indexGetter):
3236 * bridge/runtime_array.h:
3237 * bridge/runtime_method.cpp:
3238 (JSC::RuntimeMethod::lengthGetter):
3239 * bridge/runtime_method.h:
3240 * bridge/runtime_object.cpp:
3241 (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
3242 (JSC::Bindings::RuntimeObject::fieldGetter):
3243 (JSC::Bindings::RuntimeObject::methodGetter):
3244 * bridge/runtime_object.h:
3246 2013-12-05 Tim Horton <timothy_horton@apple.com>
3248 Remove Image::decodedSize()
3249 https://bugs.webkit.org/show_bug.cgi?id=125327
3251 Reviewed by Sam Weinig.
3253 No new tests, just removing dead code.
3255 * platform/graphics/BitmapImage.cpp:
3256 (WebCore::BitmapImage::resetAnimation):
3257 * platform/graphics/BitmapImage.h:
3258 * platform/graphics/GeneratedImage.h:
3259 * platform/graphics/Image.h:
3260 * platform/graphics/cg/PDFDocumentImage.cpp:
3261 * platform/graphics/cg/PDFDocumentImage.h:
3262 * svg/graphics/SVGImage.h:
3263 * svg/graphics/SVGImageForContainer.h:
3265 2013-12-05 Commit Queue <commit-queue@webkit.org>
3267 Unreviewed, rolling out r160133.
3268 http://trac.webkit.org/changeset/160133
3269 https://bugs.webkit.org/show_bug.cgi?id=125325
3271 broke bindings tests on all the bots (Requested by thorton on
3274 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3275 (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
3276 (WebCore::cssPropertyGetterCallback):
3277 * bindings/js/JSDOMBinding.cpp:
3278 (WebCore::objectToStringFunctionGetter):
3279 * bindings/js/JSDOMBinding.h:
3280 * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
3281 (WebCore::JSDOMMimeTypeArray::nameGetter):
3282 * bindings/js/JSDOMPluginArrayCustom.cpp:
3283 (WebCore::JSDOMPluginArray::nameGetter):
3284 * bindings/js/JSDOMPluginCustom.cpp:
3285 (WebCore::JSDOMPlugin::nameGetter):
3286 * bindings/js/JSDOMStringMapCustom.cpp:
3287 (WebCore::JSDOMStringMap::nameGetter):
3288 * bindings/js/JSDOMWindowCustom.cpp:
3289 (WebCore::nonCachingStaticFunctionGetter):
3290 (WebCore::childFrameGetter):
3291 (WebCore::indexGetter):
3292 (WebCore::namedItemGetter):
3293 * bindings/js/JSHTMLAllCollectionCustom.cpp:
3294 (WebCore::JSHTMLAllCollection::nameGetter):
3295 * bindings/js/JSHTMLCollectionCustom.cpp:
3296 (WebCore::JSHTMLCollection::nameGetter):
3297 * bindings/js/JSHTMLDocumentCustom.cpp:
3298 (WebCore::JSHTMLDocument::nameGetter):
3299 * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
3300 (WebCore::JSHTMLFormControlsCollection::nameGetter):
3301 * bindings/js/JSHTMLFormElementCustom.cpp:
3302 (WebCore::JSHTMLFormElement::nameGetter):
3303 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
3304 (WebCore::JSHTMLFrameSetElement::nameGetter):
3305 * bindings/js/JSHistoryCustom.cpp:
3306 (WebCore::nonCachingStaticBackFunctionGetter):
3307 (WebCore::nonCachingStaticForwardFunctionGetter):
3308 (WebCore::nonCachingStaticGoFunctionGetter):
3309 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3310 (WebCore::JSJavaScriptCallFrame::scopeType):
3311 * bindings/js/JSLocationCustom.cpp:
3312 (WebCore::nonCachingStaticReplaceFunctionGetter):
3313 (WebCore::nonCachingStaticReloadFunctionGetter):
3314 (WebCore::nonCachingStaticAssignFunctionGetter):
3315 * bindings/js/JSNamedNodeMapCustom.cpp:
3316 (WebCore::JSNamedNodeMap::nameGetter):
3317 * bindings/js/JSNodeListCustom.cpp:
3318 (WebCore::JSNodeList::nameGetter):
3319 * bindings/js/JSPluginElementFunctions.cpp:
3320 (WebCore::pluginElementPropertyGetter):
3321 * bindings/js/JSPluginElementFunctions.h:
3322 * bindings/js/JSRTCStatsResponseCustom.cpp:
3323 (WebCore::JSRTCStatsResponse::nameGetter):
3324 * bindings/js/JSStorageCustom.cpp:
3325 (WebCore::JSStorage::nameGetter):
3326 * bindings/js/JSStyleSheetListCustom.cpp:
3327 (WebCore::JSStyleSheetList::nameGetter):
3328 * bindings/scripts/CodeGeneratorJS.pm:
3330 (GenerateImplementation):
3331 (GenerateParametersCheck):
3332 * bridge/runtime_array.cpp:
3333 (JSC::RuntimeArray::lengthGetter):
3334 (JSC::RuntimeArray::indexGetter):
3335 * bridge/runtime_array.h:
3336 * bridge/runtime_method.cpp:
3337 (JSC::RuntimeMethod::lengthGetter):
3338 * bridge/runtime_method.h:
3339 * bridge/runtime_object.cpp:
3340 (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
3341 (JSC::Bindings::RuntimeObject::fieldGetter):
3342 (JSC::Bindings::RuntimeObject::methodGetter):
3343 * bridge/runtime_object.h:
3345 2013-12-05 Seokju Kwon <seokju@webkit.org>
3347 Web Inspector: Remove 'cookiesString' output from Page.getCookies
3348 https://bugs.webkit.org/show_bug.cgi?id=125268
3350 Reviewed by Timothy Hatcher.
3352 Remove 'cookiesString' output from Page.getCookies protocol.
3353 It is no longer meaningful because it is an unused parameter.
3355 No new tests, no behavior change.
3357 * inspector/InspectorPageAgent.cpp:
3358 (WebCore::InspectorPageAgent::getCookies):
3359 * inspector/InspectorPageAgent.h:
3360 * inspector/protocol/Page.json:
3362 2013-12-05 Brian J. Burg <burg@cs.washington.edu>
3364 Web Inspector: expose node and frame snapshot capabilities.
3365 https://bugs.webkit.org/show_bug.cgi?id=124326
3367 Reviewed by Joseph Pecoraro.
3369 This adds snapshotRect() and snapshotNode() to the Page domain.
3370 Both methods create snapshots using FrameSnapshotting APIs
3371 and send images to the inspector frontend as a data URL.
3373 Remove the unimplemented Page.captureScreenshot API.
3375 * inspector/InspectorPageAgent.cpp:
3376 (WebCore::InspectorPageAgent::snapshotNode): Added.
3377 (WebCore::InspectorPageAgent::snapshotRect): Added.
3378 * inspector/InspectorPageAgent.h:
3379 * inspector/protocol/Page.json: Added new protocol APIs.
3381 2013-12-04 Bear Travis <betravis@adobe.com>
3383 [CSS Shapes] Enable CSS Shapes on Windows
3384 https://bugs.webkit.org/show_bug.cgi?id=89957
3386 Reviewed by Brent Fulgham.
3388 * css/CSSPropertyNames.in: Tweak to ensure shapes properties are regenerated.
3390 2013-12-05 Roger Fong <roger_fong@apple.com>
3392 [WebGL] Make sure we satisfy uniform and varying packing restrictions.
3393 https://bugs.webkit.org/show_bug.cgi?id=125124.
3394 <rdar://problem/15203291>
3396 Reviewed by Brent Fulgham.
3398 Tests covered by WebGL Khronos conformance tests:
3399 webgl/1.0.2/conformance/glsl/misc/shader-uniform-packing-restrictions.html
3400 webgl/1.0.2/conformance/glsl/misc/shader-varying-packing-restrictions.html
3402 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
3403 (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
3405 2013-12-05 Laszlo Vidacs <lac@inf.u-szeged.hu>
3407 32bit buildfix after r160151
3408 https://bugs.webkit.org/show_bug.cgi?id=125298
3410 Reviewed by Csaba Osztrogonác.
3412 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3413 (StreamingClient::handleDataReceived):
3415 2013-12-05 Myles C. Maxfield <mmaxfield@apple.com>
3417 Cropping and drawing ImageBuffers results in uninitialized data being shown
3418 https://bugs.webkit.org/show_bug.cgi?id=125271
3420 Reviewed by Simon Fraser.
3422 createCroppedImageIfNecessary() crops to the bottom left of the ImageBuffer
3423 backing store instead of the top left. In addition, ImageBuffer::draw()
3424 draws the entire ImageBuffer's backing store instead of just the relevant
3427 No new tests are necessary because the existing tests already test this
3430 * platform/graphics/cg/ImageBufferCG.cpp:
3431 (WebCore::createCroppedImageIfNecessary): Crop to the top left of the
3433 (WebCore::ImageBuffer::draw): Draw only the logical portion of the
3436 2013-12-05 Joseph Pecoraro <pecoraro@apple.com>
3438 Remove stale ScriptGlobalObject methods
3439 https://bugs.webkit.org/show_bug.cgi?id=125276
3441 Reviewed by Sam Weinig.
3443 * bindings/js/ScriptObject.cpp:
3444 (WebCore::ScriptGlobalObject::set):
3445 * bindings/js/ScriptObject.h:
3447 2013-12-04 Ryosuke Niwa <rniwa@webkit.org>
3449 Change how the form element pointer affects parsing template elements, to reduce weirdness in templates
3450 https://bugs.webkit.org/show_bug.cgi?id=125279
3452 Reviewed by Antti Koivisto.
3454 Faithfully update the HTML5 parser after http://html5.org/tools/web-apps-tracker?from=8330&to=8331.
3456 Test: fast/dom/HTMLTemplateElement/no-form-association-2.html
3458 * html/parser/HTMLConstructionSite.cpp:
3459 (WebCore::HTMLConstructionSite::insertHTMLFormElement): Don't the form element pointer if the context
3460 element or its ancestor is a template element.
3461 (WebCore::HTMLConstructionSite::insideTemplateElement): Added.
3462 (WebCore::HTMLConstructionSite::createHTMLElement): Renamed openElementsContainTemplateElement to
3463 insideTemplateElement to reflect the true semantics of the boolean.
3465 * html/parser/HTMLConstructionSite.h:
3467 * html/parser/HTMLTreeBuilder.cpp:
3468 (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ignore the form element pointer if there
3469 is a template element on the stack of open elements. This faithfully reflects what's being said in the
3470 specification. We should probably make isParsingTemplateContents more efficient by storing a boolean
3471 and then wrap from() in some helper function but that should probbaly happen in a separate patch.
3472 (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
3473 (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
3474 (WebCore::HTMLTreeBuilder::processEndTagForInBody): Don't unset or rely on the form element pointer
3475 when there is a template element on the stack of open elements.
3477 * html/parser/HTMLTreeBuilder.h:
3478 (WebCore::HTMLTreeBuilder::isParsingTemplateContents): Added a trivial implementation for when
3479 TEMPLATE_ELEMENT is disabled.
3480 (WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents): Merged two implementations.
3482 2013-12-05 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
3484 [MediaStream] Firing negotiationneeded event upon track add/remove on MediaStream
3485 https://bugs.webkit.org/show_bug.cgi?id=125243
3487 Reviewed by Eric Carlson.
3489 Spec states that: In particular, if an RTCPeerConnection object is consuming a MediaStream on which a track is
3490 added, by, e.g., the addTrack() method being invoked, the RTCPeerConnection object must fire the
3491 "negotiationneeded" event. Removal of media components must also trigger "negotiationneeded".
3493 Existing tests updated.
3495 * Modules/mediastream/MediaStream.cpp:
3496 (WebCore::MediaStream::addTrack):
3497 (WebCore::MediaStream::removeTrack):
3498 (WebCore::MediaStream::addObserver):
3499 (WebCore::MediaStream::removeObserver):
3500 * Modules/mediastream/MediaStream.h:
3501 * Modules/mediastream/RTCPeerConnection.cpp:
3502 (WebCore::RTCPeerConnection::~RTCPeerConnection):
3503 (WebCore::RTCPeerConnection::addStream):
3504 (WebCore::RTCPeerConnection::removeStream):
3505 (WebCore::RTCPeerConnection::didAddOrRemoveTrack):
3506 * Modules/mediastream/RTCPeerConnection.h:
3507 * platform/mock/RTCPeerConnectionHandlerMock.cpp:
3508 (WebCore::RTCPeerConnectionHandlerMock::addStream):
3510 2013-12-05 Beth Dakin <bdakin@apple.com>
3512 Bad repaints on twitter when the tile cache has a margin
3513 https://bugs.webkit.org/show_bug.cgi?id=125263
3515 <rdar://problem/15576884>
3517 Reviewed by Tim Horton.
3519 When tiles that used to be margin tiles become real-content tiles, they need to be
3522 Two new helper functions will make it so that we don’t have to manually factor out
3523 the margin from the bounds in more than one place in the code.
3524 * platform/graphics/ca/mac/TileController.h:
3525 * platform/graphics/ca/mac/TileController.mm:
3526 (WebCore::TileController::boundsWithoutMargin):
3527 (WebCore::TileController::boundsAtLastRevalidateWithoutMargin):
3529 Here is one existing place where we used to factor out the margin, but now we can
3530 call boundsWithoutMargin().
3531 (WebCore::TileController::adjustRectAtTileIndexForMargin):
3533 And here is where we invalidate the formerly-margin tiles.
3534 (WebCore::TileController::revalidateTiles):
3536 2013-12-05 Zoltan Horvath <zoltan@webkit.org>
3538 Remove the forward declaration of BidiContext class from RenderBlock.h
3539 https://bugs.webkit.org/show_bug.cgi?id=125265
3541 Reviewed by Csaba Osztrogonác.
3543 No new tests, no behavior change.
3545 * rendering/RenderBlock.h: BidiContext is not used in RenderBlock.h
3547 2013-12-05 Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
3549 [Cairo] Avoid extra copy when drawing images
3550 https://bugs.webkit.org/show_bug.cgi?id=124209
3552 Reviewed by Carlos Garcia Campos.
3554 This commit applies some changes proposed after the original patch has
3555 been landed. It fixes the logic to create the subsurface (as it was
3556 inverted). It also remove an unnecessary RefPtr variable to hold the
3559 No new tests. It's an enhancement. Already covered by existing tests.
3561 * platform/graphics/cairo/PlatformContextCairo.cpp:
3562 (WebCore::PlatformContextCairo::drawSurfaceToContext):
3564 2013-12-05 Zoltan Horvath <zoltan@webkit.org>
3566 [CSS Shapes] Fix inset when only a subset of the arguments are defined
3567 https://bugs.webkit.org/show_bug.cgi?id=125277
3569 Reviewed by David Hyatt.
3571 I thought Length's default value is fixed-0, but actually it's auto-0. For the optional arguments
3572 of inset shape, we need to use fixed-0, so I updated the code and the tests to use that explicitly.
3574 No new tests, I updated the old ones.
3576 * css/BasicShapeFunctions.cpp:
3577 (WebCore::basicShapeForValue):
3579 2013-12-05 Carlos Garcia Campos <cgarcia@igalia.com>
3581 [GTK] Do not use deprecated gtk-doc 'Rename to' tag
3582 https://bugs.webkit.org/show_bug.cgi?id=125303
3584 Reviewed by Philippe Normand.
3586 GObject introspection rename-to annotation is available in
3587 since version 0.6.3 so we should use that instead.
3589 * bindings/gobject/WebKitDOMEventTarget.h:
3591 2013-12-05 Carlos Garcia Campos <cgarcia@igalia.com>
3593 [GTK] Add missing symbols to WebKitDOMDeprecated.symbols
3594 https://bugs.webkit.org/show_bug.cgi?id=125300
3596 Reviewed by Philippe Normand.
3598 Add webkit_dom_html_element_get_id and
3599 webkit_dom_html_element_set_id to the symbols files.
3601 * bindings/gobject/WebKitDOMDeprecated.symbols:
3602 * bindings/gobject/webkitdom.symbols:
3604 2013-12-05 Carlos Garcia Campos <cgarcia@igalia.com>
3606 Unreviewed. Update GObject DOM bindings symbols file after r159711.
3608 * bindings/gobject/webkitdom.symbols:
3610 2013-12-05 Zan Dobersek <zdobersek@igalia.com>
3612 [GTK] Move platform sources free of layering violations under libPlatform
3613 https://bugs.webkit.org/show_bug.cgi?id=117509
3615 Reviewed by Carlos Garcia Campos.
3617 * GNUmakefile.list.am: Move additional source files located in the platform layer under libPlatform.
3618 All moved sources are free of layering violations and thus ready for the migration.
3620 2013-12-05 László Langó <lango@inf.u-szeged.hu>
3622 Remove bridge/testqtbindings.cpp.
3623 https://bugs.webkit.org/show_bug.cgi?id=125287
3625 Reviewed by Alexey Proskuryakov.
3627 * bridge/testqtbindings.cpp: Removed. There is no QT anymore.
3628 We don't need this file.
3630 2013-12-04 Gurpreet Kaur <k.gurpreet@samsung.com>
3632 % unit heights don't work if parent block height is set in vh
3633 https://bugs.webkit.org/show_bug.cgi?id=118516
3635 Reviewed by Simon Fraser.
3637 From Blink r156449 by <srinivasa.ragavan.venkateswaran@intel.com>
3639 An element having height as percentage needs to have the
3640 containingblock's height or availableheight to calculate its
3641 own height. The containing block having a height set in vh
3642 unit was not being considered for calculating the child's
3645 Tests: fast/css/viewport-percentage-compute-box-height.html
3646 fast/css/viewport-percentage-compute-box-width.html
3648 * rendering/RenderBox.cpp:
3649 (WebCore::RenderBox::computePercentageLogicalHeight):
3650 Correct child's height(in pecentage) was not being calculated
3651 incase of parent having height set in vh unit. Added condition
3652 to calculate the containing block height in terms of viewport size.
3654 2013-12-04 Roger Fong <roger_fong@apple.com>
3656 [Windows] Unreviewed build fix. Copy headers from rendering/line to build directory.
3658 * WebCore.vcxproj/copyForwardingHeaders.cmd:
3660 2013-12-04 Ryosuke Niwa <rniwa@webkit.org>
3662 bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
3663 https://bugs.webkit.org/show_bug.cgi?id=125208
3665 Rubber-stamped by Anders Carlsson.
3667 Address Darin's comment to use fastGetAttribute instead of getAttribute.
3669 * html/HTMLDocument.cpp:
3670 (WebCore::HTMLDocument::bgColor):
3671 (WebCore::HTMLDocument::fgColor):
3672 (WebCore::HTMLDocument::alinkColor):
3673 (WebCore::HTMLDocument::linkColor):
3674 (WebCore::HTMLDocument::vlinkColor):
3676 2013-12-04 Brian J. Burg <burg@cs.washington.edu>
3678 Consolidate various frame snapshot capabilities.
3679 https://bugs.webkit.org/show_bug.cgi?id=124325
3681 Reviewed by Darin Adler.
3683 Various snapshot creation methods had duplicated code and were split
3684 between Frame, DragImage, and platform-specific implementationss.
3685 This patch puts WebCore snapshot methods into FrameSnapshotting
3686 and removes platform implementations where possible.
3688 DragImage methods reuse snapshot methods where possible. Inspector
3689 will be able to take snapshots without using drag images.
3691 No new tests, this is a refactoring.
3694 * GNUmakefile.list.am:
3696 * WebCore.vcxproj/WebCore.vcxproj:
3697 * WebCore.vcxproj/WebCore.vcxproj.filters:
3698 * WebCore.xcodeproj/project.pbxproj:
3699 * bindings/objc/DOM.mm:
3700 (-[DOMNode renderedImage]):
3701 (-[DOMRange renderedImageForcingBlackText:]):
3702 * dom/Clipboard.cpp:
3703 (WebCore::Clipboard::createDragImage):
3704 * dom/ClipboardMac.mm:
3705 (WebCore::Clipboard::createDragImage):
3706 * page/DragController.cpp:
3707 (WebCore::DragController::startDrag):
3710 * page/FrameSnapshotting.cpp: Added.
3711 (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
3712 (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
3713 (WebCore::snapshotFrameRect): Move most buffer logic to here.
3714 (WebCore::snapshotSelection): Moved from Frame.
3715 (WebCore::snapshotNode): Moved from Frame.
3716 * page/FrameSnapshotting.h: Added.
3717 * page/mac/FrameMac.mm: Removed.
3718 * page/mac/FrameSnapshottingMac.h: Removed.
3719 * page/mac/FrameSnapshottingMac.mm: Removed.
3720 * page/win/FrameWin.cpp: remove duplicate implementation.
3721 * page/win/FrameWin.h: Fix an incorrect parameter name.
3722 * platform/DragImage.cpp:
3723 (WebCore::ScopedNodeDragState::ScopedNodeDragState):
3724 (WebCore::ScopedNodeDragState::~ScopedNodeDragState):
3725 (WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
3726 (WebCore::createDragImageForNode):
3727 (WebCore::createDragImageForSelection):
3728 (WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
3729 (WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
3730 (WebCore::createDragImageForRange): Moved from Frame.
3731 (WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
3732 (WebCore::createDragImageForLink): use nullptr.
3734 2013-12-04 Benjamin Poulain <bpoulain@apple.com>
3736 Remove spaces on a blank line to have ResourceHandleCFNet.cpp identical to iOS
3740 * platform/network/cf/ResourceHandleCFNet.cpp:
3741 (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3743 2013-12-04 Antti Koivisto <antti@apple.com>
3745 Move pseudo element construction out from Element
3746 https://bugs.webkit.org/show_bug.cgi?id=125257
3748 Reviewed by Anders Carlsson.
3750 This is logically part of the style resolve/render tree construction. This will make future
3755 * style/StyleResolveTree.cpp:
3756 (WebCore::Style::beforeOrAfterPseudoElement):
3757 (WebCore::Style::setBeforeOrAfterPseudoElement):
3758 (WebCore::Style::clearBeforeOrAfterPseudoElement):
3759 (WebCore::Style::needsPseudeElement):
3760 (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
3761 (WebCore::Style::attachRenderTree):
3762 (WebCore::Style::updateBeforeOrAfterPseudoElement):
3763 (WebCore::Style::resolveTree):
3765 2013-12-04 Zoltan Horvath <zoltan@webkit.org>
3767 Move TrailingObjects class into its own h/cpp
3768 https://bugs.webkit.org/show_bug.cgi?id=124956
3770 Reviewed by David Hyatt.
3772 Since I moved space-ignoring inline functions into MidpointState in r160074,
3773 I can nicely separate TrailingObjects class from BreakingContextInlineHeader.h.
3774 This change improves the readability, and it's part of the RenderBlockLineLayout
3775 refactoring campaign, which is tracked under bug #121261.
3777 No new tests, no behavior change.
3780 * GNUmakefile.list.am:
3781 * WebCore.vcxproj/WebCore.vcxproj:
3782 * WebCore.xcodeproj/project.pbxproj:
3783 * rendering/RenderBlock.h:
3784 * rendering/RenderBlockFlow.h:
3785 * rendering/line/BreakingContextInlineHeaders.h:
3786 * rendering/line/TrailingObjects.cpp: Added.
3787 (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
3788 * rendering/line/TrailingObjects.h: Added.
3789 (WebCore::TrailingObjects::TrailingObjects):
3790 (WebCore::TrailingObjects::setTrailingWhitespace):
3791 (WebCore::TrailingObjects::clear):
3792 (WebCore::TrailingObjects::appendBoxIfNeeded):
3794 2013-12-04 Oliver Hunt <oliver@apple.com>
3796 Refactor static getter function prototype to include thisValue in addition to the base object
3797 https://bugs.webkit.org/show_bug.cgi?id=124461
3799 Reviewed by Geoffrey Garen.
3801 Change bindings codegen to produce static getter functions
3802 with the correct types. Also update the many custom implementations
3805 No change in behaviour.
3807 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3808 (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
3809 (WebCore::cssPropertyGetterCallback):
3810 * bindings/js/JSDOMBinding.cpp:
3811 (WebCore::objectToStringFunctionGetter):
3812 * bindings/js/JSDOMBinding.h:
3813 * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
3814 (WebCore::JSDOMMimeTypeArray::nameGetter):
3815 * bindings/js/JSDOMPluginArrayCustom.cpp:
3816 (WebCore::JSDOMPluginArray::nameGetter):
3817 * bindings/js/JSDOMPluginCustom.cpp:
3818 (WebCore::JSDOMPlugin::nameGetter):
3819 * bindings/js/JSDOMStringMapCustom.cpp:
3820 (WebCore::JSDOMStringMap::nameGetter):
3821 * bindings/js/JSDOMWindowCustom.cpp:
3822 (WebCore::nonCachingStaticFunctionGetter):
3823 (WebCore::childFrameGetter):
3824 (WebCore::indexGetter):
3825 (WebCore::namedItemGetter):
3826 * bindings/js/JSHTMLAllCollectionCustom.cpp:
3827 (WebCore::JSHTMLAllCollection::nameGetter):
3828 * bindings/js/JSHTMLCollectionCustom.cpp:
3829 (WebCore::JSHTMLCollection::nameGetter):
3830 * bindings/js/JSHTMLDocumentCustom.cpp:
3831 (WebCore::JSHTMLDocument::nameGetter):
3832 * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
3833 (WebCore::JSHTMLFormControlsCollection::nameGetter):
3834 * bindings/js/JSHTMLFormElementCustom.cpp:
3835 (WebCore::JSHTMLFormElement::nameGetter):
3836 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
3837 (WebCore::JSHTMLFrameSetElement::nameGetter):
3838 * bindings/js/JSHistoryCustom.cpp:
3839 (WebCore::nonCachingStaticBackFunctionGetter):
3840 (WebCore::nonCachingStaticForwardFunctionGetter):
3841 (WebCore::nonCachingStaticGoFunctionGetter):
3842 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3843 (WebCore::JSJavaScriptCallFrame::scopeType):
3844 * bindings/js/JSLocationCustom.cpp:
3845 (WebCore::nonCachingStaticReplaceFunctionGetter):
3846 (WebCore::nonCachingStaticReloadFunctionGetter):
3847 (WebCore::nonCachingStaticAssignFunctionGetter):
3848 * bindings/js/JSNamedNodeMapCustom.cpp:
3849 (WebCore::JSNamedNodeMap::nameGetter):
3850 * bindings/js/JSNodeListCustom.cpp:
3851 (WebCore::JSNodeList::nameGetter):
3852 * bindings/js/JSPluginElementFunctions.cpp:
3853 (WebCore::pluginElementPropertyGetter):
3854 * bindings/js/JSPluginElementFunctions.h:
3855 * bindings/js/JSRTCStatsResponseCustom.cpp:
3856 (WebCore::JSRTCStatsResponse::nameGetter):
3857 * bindings/js/JSStorageCustom.cpp:
3858 (WebCore::JSStorage::nameGetter):
3859 * bindings/js/JSStyleSheetListCustom.cpp:
3860 (WebCore::JSStyleSheetList::nameGetter):
3861 * bindings/scripts/CodeGeneratorJS.pm:
3863 (GenerateImplementation):
3864 (GenerateParametersCheck):
3865 * bridge/runtime_array.cpp:
3866 (JSC::RuntimeArray::lengthGetter):
3867 (JSC::RuntimeArray::indexGetter):
3868 * bridge/runtime_array.h:
3869 * bridge/runtime_method.cpp:
3870 (JSC::RuntimeMethod::lengthGetter):
3871 * bridge/runtime_method.h:
3872 * bridge/runtime_object.cpp:
3873 (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
3874 (JSC::Bindings::RuntimeObject::fieldGetter):
3875 (JSC::Bindings::RuntimeObject::methodGetter):
3876 * bridge/runtime_object.h:
3878 2013-12-04 Zoltan Horvath <zoltan@webkit.org>
3880 [CSS Shapes] Support inset for shape-outside
3881 <https://webkit.org/b/125112>
3883 Reviewed by David Hyatt.
3885 This patch adds inset support for shape-outside. Parsing has previously landed in r159968.
3886 Specification: http://dev.w3.org/csswg/css-shapes/#supported-basic-shapes
3888 Tests: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left.html
3889 fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right.html
3890 fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left.html
3891 fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right.html
3892 fast/shapes/shape-outside-floats/shape-outside-floats-inset.html
3894 * platform/LengthSize.h:
3895 (WebCore::LengthSize::floatSize): Add conversion to FloatSize.
3896 * rendering/shapes/Shape.cpp:
3897 (WebCore::Shape::createShape): Handle inset case.
3899 2013-12-04 Bear Travis <betravis@adobe.com>
3901 Web Inspector: [CSS Shapes] Support raster shape visualizations
3902 https://bugs.webkit.org/show_bug.cgi?id=124080
3904 Reviewed by Joseph Pecoraro.
3906 Create an inspector visualization for a shape created from an image.
3907 The visualization takes each line of the image, combining where possible.
3909 Test added to inspector-protocol/model/highlight-shape-outside.html
3911 * rendering/shapes/RasterShape.cpp:
3912 (WebCore::RasterShapeIntervals::buildBoundsPath): Create a path representing the
3913 RasterShapeIntervals.
3914 * rendering/shapes/RasterShape.h:
3916 2013-12-04 Zoltan Horvath <zoltan@webkit.org>
3918 [CSS Shapes] Remove explicit numbering from BasicShape::Type and CSSBasicShape::Type enums
3919 https://bugs.webkit.org/show_bug.cgi?id=125163
3921 Reviewed by Rob Buis.
3923 I don't see any reason to have explicit numbering for the Type enum in our [CSS]BasicShape classes.
3924 I removed numbering, which will decrease for instance the merge conflicts on Type changes.
3926 No new tests, no behavior change.
3928 * css/CSSBasicShapes.h:
3929 * rendering/style/BasicShapes.h:
3931 2013-12-04 Myles C. Maxfield <mmaxfield@apple.com>
3933 Allow ImageBuffer to use an IOSurface that is larger than necessary
3934 https://bugs.webkit.org/show_bug.cgi?id=124626
3936 Reviewed by Simon Fraser.
3938 Because creating ImageBuffer's backing store can be so expensive, it
3939 would be beneficial to have a pool of pre-created backing stores
3940 available. However, this means that ImageBuffer might have to use a
3941 backing store that is larger than the exact dimensions that it needs.
3942 This patch adds a field, m_backingStoreSize, to CG's ImageBufferData
3943 class, and uses this new field when performing ImageBuffer operations
3944 to allow for larger-than-necessary backing stores. Content is always
3945 drawn in the top left corner of the backing store.
3947 No new tests are necessary because there is no behavior change.
3949 * platform/graphics/ImageBuffer.h:
3950 (WebCore::ImageBuffer::baseTransform): The base transform has to put
3951 content at the top left corner instead of bottom left
3952 * platform/graphics/cg/ImageBufferCG.cpp:
3953 (WebCore::createCroppedImageIfNecessary): Convenience function to figure out
3954 the dimensions of the backing texture in user space
3955 (WebCore::ImageBuffer::ImageBuffer): Set up new m_backingStoreSize member
3956 (WebCore::maybeCropToBounds): Some ImageBuffer API functions require
3957 outputting an image with logical size. This function performs the cropping
3958 (WebCore::ImageBuffer::copyImage): Updated for larger-than-necessary
3960 (WebCore::ImageBuffer::copyNativeImage): Ditto
3961 (WebCore::ImageBuffer::draw): Ditto
3962 (WebCore::ImageBuffer::clip): Ditto
3963 (WebCore::ImageBuffer::putByteArray): Ditto
3964 (WebCore::ImageBuffer::toDataURL): Ditto
3965 * platform/graphics/cg/ImageBufferDataCG.cpp:
3966 (WebCore::ImageBufferData::getData): Ditto
3967 (WebCore::ImageBufferData::putData): Ditto
3968 * platform/graphics/cg/ImageBufferDataCG.h: New m_backingStoreSize field
3970 2013-12-03 Dean Jackson <dino@apple.com>
3972 [WebGL] Support for texImage2D of type HALF_FLOAT_OES
3973 https://bugs.webkit.org/show_bug.cgi?id=110936
3975 Reviewed by Brent Fulgham.
3977 Add support for the HALF_FLOAT_OES texture format from texImage2D
3980 A lot of this patch comes from the original patch on the bug
3981 by Nayan Kumar, and the Blink commit:
3982 https://codereview.chromium.org/13842017
3984 Tests: fast/canvas/webgl/oes-texture-half-float-with-canvas.html
3985 fast/canvas/webgl/oes-texture-half-float-with-image.html
3986 fast/canvas/webgl/oes-texture-half-float-with-video.html
3988 * html/canvas/OESTextureHalfFloat.idl: New HALF_FLOAT_OES constant value.
3989 * html/canvas/WebGLRenderingContext.cpp:
3990 (WebCore::WebGLRenderingContext::validateTexFunc): Remove the code that