1565babdf85bbf11a26321f9873dc48ba1efad74
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-12-12  Andreas Kling  <akling@apple.com>
2
3         StyleResolver::adjustRenderStyle() should take RenderStyle references.
4         <https://webkit.org/b/125623>
5
6         This function doesn't handle null styles being passed, so prevent
7         it at compile time.
8
9         Reviewed by Anders Carlsson.
10
11 2013-12-13  Darin Adler  <darin@apple.com>
12
13         Eliminate awkward virtualComputedStyle construction
14         https://bugs.webkit.org/show_bug.cgi?id=125681
15
16         Reviewed by Andreas Kling.
17
18         * dom/Element.cpp:
19         (WebCore::Element::computedStyle): Tweak coding style a bit.
20
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.
24
25         * dom/Node.cpp:
26         (WebCore::Node::computedStyle): Use a loop instead of recursive virtual calls.
27
28         * dom/Node.h: Made computedStyle virtual and got rid of virtualComputedStyle.
29
30         * svg/SVGElement.cpp:
31         (WebCore::SVGElement::computedStyle): Tweak coding style a bit.
32
33         * svg/SVGElement.h: Made computedStyle virtual (and FINAL) and got rid fo
34         virtualComputedStyle.
35
36 2013-12-13  Darin Adler  <darin@apple.com>
37
38         Fix a couple stray uses of RefPtr that should release
39         https://bugs.webkit.org/show_bug.cgi?id=125679
40
41         Reviewed by Andreas Kling.
42
43         * css/CSSParser.cpp:
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.
47
48 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
49
50         WebCrypto wrapKey operation doesn't check key usage
51         https://bugs.webkit.org/show_bug.cgi?id=125675
52
53         Reviewed by Darin Adler.
54
55         Tests: crypto/subtle/unwrapKey-check-usage.html
56                crypto/subtle/wrapKey-check-usage.html
57
58         * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):
59         Added accidentally omitted code. Other operations are fine.
60
61 2013-12-12  Darin Adler  <darin@apple.com>
62
63         Make some improvements in CSSImageGeneratorValue code
64         https://bugs.webkit.org/show_bug.cgi?id=125676
65
66         Reviewed by Simon Fraser.
67
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.
72
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
78         use nullptr.
79
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.
83
84         * css/CSSValue.cpp: Removed unneeded include of CSSImageGeneratorValue.h.
85
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
97         a lot type name.
98
99         * css/StyleResolver.h: Changed generatedOrPendingFromValue to take the value
100         as a reference instead of a pointer.
101
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.
107
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.
116
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.
121
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.
126
127 2013-12-12  KyungTae Kim  <ktf.kim@samsung.com>
128
129         Improve the find word boundary performance
130         https://bugs.webkit.org/show_bug.cgi?id=125619
131
132         In endWordBoundary case, the textBreakPrevious call in findWordBoundary is unnecessary.
133         So use separate function for endWordBoundary can improve the performance.
134
135         Reviewed by Darin Adler.
136
137         No tests because no operation changes.
138
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):
146
147 2013-12-12  Benjamin Poulain  <bpoulain@apple.com>
148
149         Fix a silly mistake of r160467
150         https://bugs.webkit.org/show_bug.cgi?id=125657
151
152         Reviewed by Alexey Proskuryakov.
153
154         Fix a typo. The validity check was missing the logical not.
155
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):
168
169 2013-12-12  Tim Horton  <timothy_horton@apple.com>
170
171         [wk2] Handle pinch-to-zoom gesture
172         https://bugs.webkit.org/show_bug.cgi?id=125604
173
174         Reviewed by Simon Fraser.
175
176         * WebCore.exp.in:
177         Export some TransformationMatrix functions.
178
179         * WebCore.xcodeproj/project.pbxproj:
180         Make some headers private so that RenderLayerCompositor/Backing can be used from WebKit2.
181
182         * rendering/RenderLayerCompositor.h:
183         (WebCore::RenderLayerCompositor::layerForContentShadow):
184         Add a getter for the content shadow layer.
185
186 2013-12-12  Brady Eidson  <beidson@apple.com>
187
188         DatabaseProcess IndexedDB: Establish a metadata backing store on disk
189         https://bugs.webkit.org/show_bug.cgi?id=125258
190
191         Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.
192
193         Teach CrossThreadCopier how to handle IDBDatabaseMetadata.
194
195         * CMakeLists.txt:
196         * GNUmakefile.list.am:
197         * WebCore.exp.in:
198         * WebCore.xcodeproj/project.pbxproj:
199
200         * Modules/indexeddb/IDBDatabaseMetadata.cpp: Added.
201         (WebCore::IDBDatabaseMetadata::isolatedCopy):
202         (WebCore::IDBObjectStoreMetadata::isolatedCopy):
203         (WebCore::IDBIndexMetadata::isolatedCopy):
204         * Modules/indexeddb/IDBDatabaseMetadata.h:
205
206         * Modules/indexeddb/IDBKeyPath.cpp:
207         (WebCore::IDBKeyPath::isolatedCopy):
208         * Modules/indexeddb/IDBKeyPath.h:
209
210         * platform/CrossThreadCopier.cpp:
211         (WebCore::::copy): Add an IDBDatabaseMetadata specialization.
212         * platform/CrossThreadCopier.h:
213
214 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
215
216         Add support for RSAES-PKCS1-v1_5
217         https://bugs.webkit.org/show_bug.cgi?id=125647
218
219         Build fix.
220
221         * crypto/CommonCryptoUtilities.h: Declare a newly used private constant.
222
223 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
224
225         Add support for RSAES-PKCS1-v1_5
226         https://bugs.webkit.org/show_bug.cgi?id=125647
227
228         Reviewed by Anders Carlsson.
229
230         Tests: crypto/subtle/rsaes-pkcs1-v1_5-decrypt.html
231                crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html
232
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.
237
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.
263
264 2013-12-12  Andreas Kling  <akling@apple.com>
265
266         [Mac] Stop not caching HTTP resources with "Vary" header in response.
267         <https://webkit.org/b/125483>
268         <rdar://problem/11781097>
269
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.
273
274         31.5 MB progression on Membuster3, because we can now mmap those
275         resources from disk once they are in the cache.
276
277         We keep the workaround on PLATFORM(WIN) for now.
278
279         Reviewed by Antti Koivisto.
280
281 2013-12-12  Sam Weinig  <sam@webkit.org>
282
283         Replace uses of WTF::BitArray with std::bitset
284         https://bugs.webkit.org/show_bug.cgi?id=125642
285
286         Reviewed by Anders Carlsson.
287
288         * css/CSSParser.cpp:
289         (WebCore::filterProperties):
290         (WebCore::CSSParser::createStyleProperties):
291         * css/StyleProperties.cpp:
292         (WebCore::StyleProperties::asText):
293
294 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
295
296         Public key in a generated KeyPair should always be extractable
297         https://bugs.webkit.org/show_bug.cgi?id=125643
298
299         Reviewed by Sam Weinig.
300
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.
303
304         Test: crypto/subtle/rsa-oaep-generate-non-extractable-key.html
305
306         * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::generatePair):
307
308 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
309
310         Make algorithm.name return registered name, not normalized one
311         https://bugs.webkit.org/show_bug.cgi?id=125641
312
313         Reviewed by Anders Carlsson.
314
315         Currently, WebCrypto editor's draft stipulates that algorithm name is lowercased
316         as part of normalization.
317
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.
321
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.
324
325         Updated many existing tests.
326
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:
341
342 2013-12-12  Csaba Osztrogonác  <ossy@webkit.org>
343
344         Move CertificateInfo to WebCore
345         https://bugs.webkit.org/show_bug.cgi?id=124720
346
347         Reviewed by Darin Adler.
348
349         Based on the patch by Kwang Yul Seo <skyul@company100.net>
350
351         * GNUmakefile.list.am:
352         * PlatformEfl.cmake:
353         * PlatformGTK.cmake:
354         * WebCore.exp.in:
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.
365
366 2013-12-12  Commit Queue  <commit-queue@webkit.org>
367
368         Unreviewed, rolling out r160417.
369         http://trac.webkit.org/changeset/160417
370         https://bugs.webkit.org/show_bug.cgi?id=125629
371
372         The patch is causing crashes (Requested by zdobersek1 on
373         #webkit).
374
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):
390
391 2013-12-12  Martin Robinson  <mrobinson@igalia.com>
392
393         Remove a few more guards mistakenly added in r160367
394
395         Reviewed by Carlos Garcia Campos
396
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.
399
400         * Modules/battery/BatteryManager.idl:
401         * html/HTMLMediaElement.idl:
402
403 2013-12-11  Darin Adler  <darin@apple.com>
404
405         StylePendingImage needs to correctly manage the CSSValue pointer lifetime
406         https://bugs.webkit.org/show_bug.cgi?id=125468
407
408         Reviewed by Andreas Kling.
409
410         Test: fast/css/pending-image-crash.xhtml
411
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.
415
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.
424
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.
432
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
438         to a new value.
439         * css/CSSImageValue.h: Added detachPendingImage.
440
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.
453
454 2013-12-11  Darin Adler  <darin@apple.com>
455
456         Remove some unneeded code noticed while looking at StylePendingImage
457         https://bugs.webkit.org/show_bug.cgi?id=125618
458
459         Reviewed by Andreas Kling.
460
461         * css/StyleResolver.cpp:
462         (WebCore::StyleResolver::loadPendingImage): Removed redundant function calls.
463
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.
468
469         * rendering/RenderImageResource.h: Removed unneeded usesImageContainerSize
470         and nullImage functions. Also removed unneeded includes.
471
472         * rendering/RenderImageResourceStyleImage.h: Removed unneeded
473         usesImageContainerSize override. Nobody was calling it.
474
475 2013-12-11  Benjamin Poulain  <bpoulain@apple.com>
476
477         Add the CFNetwork implementation of the asynchronous ResourceHandle
478         https://bugs.webkit.org/show_bug.cgi?id=124440
479
480         Reviewed by Alexey Proskuryakov.
481
482         Add a second subclass of ResourceHandleCFURLConnectionDelegate: ResourceHandleCFURLConnectionDelegateWithOperationQueue.
483         The difference is those objects handle the network callback on a different queue.
484
485         Some common code has been refactored in ResourceHandleCFURLConnectionDelegate to reduce duplicated code.
486
487         The initialization of the request and connection is moved to the subclass to clean up initialization.
488
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:
543
544 2013-12-11  David Kilzer  <ddkilzer@apple.com>
545
546         Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
547         <http://webkit.org/b/125329>
548
549         Reviewed by Darin Adler.
550
551         No tests since this is a build fix for:
552
553             $ ./Tools/Scripts/build-webkit --release OTHER_CFLAGS="$inherited -DADDRESS_SANITIZER=1"
554
555         * rendering/InlineBox.cpp:
556         * rendering/InlineBox.h:
557         - Replace ASSERT_DISABLED use with
558           ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for m_hasBadParent.
559
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).
568
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
574           m_hasBadChildList.
575
576 2013-12-11  Ralph Thomas  <ralpht@gmail.com>
577
578         [WebGL] Fix build on GL ES 2.0 targets after r160119
579         https://bugs.webkit.org/show_bug.cgi?id=125541
580
581         Reviewed by Brent Fulgham.
582
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.
585
586         No new tests, no change in functionality.
587
588         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
589         (WebCore::GraphicsContext3D::texSubImage2D):
590
591 2013-12-11  Joseph Pecoraro  <pecoraro@apple.com>
592
593         Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
594         https://bugs.webkit.org/show_bug.cgi?id=125324
595
596         Reviewed by Timothy Hatcher.
597
598         Part 1: Push down core inspector classes.
599
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.
605
606         Part 2: Push Script wrapper classes down into JavaScriptCore/bindings.
607
608           - Move ScriptObject and ScriptValue into JavaScriptCore but namespace Deprecated
609           - Add forwarding headers
610           - Use Deprecated::ScriptObject and Deprecated::ScriptValue everywhere.
611
612         Part 3: Push Down ScriptFunctionCall
613
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.
618
619         Part 4: Extract InspectorTypeBuilder helper functions
620
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.
627
628         No new tests. No change in functionality, just moving things around.
629
630         * CMakeLists.txt:
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.
639         * GNUmakefile.am:
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:
699         * UseJSC.cmake:
700         * WebCore.exp.in:
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):
783         * dom/CustomEvent.h:
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):
811         (Inspector):
812         (ArrayBinding.get_array_item_c_type_text):
813         (Generator.go):
814         (Generator.process_command):
815         * inspector/CodeGeneratorInspectorStrings.py:
816         (void):
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:
1163         * page/Console.cpp:
1164         * page/ContentSecurityPolicy.cpp:
1165         * page/Frame.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:
1180
1181 2013-12-11  Laszlo Vidacs  <lac@inf.u-szeged.hu>
1182
1183         Store SHA1 hash in std::array
1184         https://bugs.webkit.org/show_bug.cgi?id=125446
1185
1186         Reviewed by Darin Adler.
1187
1188         Change Vector to std::array and use typedef.
1189
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):
1196
1197 2013-12-11  Alexey Proskuryakov  <ap@apple.com>
1198
1199         WebCrypto keys should support structured clone
1200         https://bugs.webkit.org/show_bug.cgi?id=125590
1201
1202         Reviewed by Oliver Hunt.
1203
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
1208
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.
1225
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.
1239
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.
1251
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
1257         will assert.
1258
1259         * CMakeLists.txt:
1260         * GNUmakefile.am:
1261         * WebCore.vcxproj/WebCore.vcxproj.filters:
1262         * WebCore.vcxproj/WebCoreCommon.props:
1263         Added crypto/keys to search paths to avoid build breakage.
1264
1265 2013-12-11  Bear Travis  <betravis@adobe.com>
1266
1267         Web Inspector: [CSS Shapes] Highlight margin-shape for shape-outside
1268         https://bugs.webkit.org/show_bug.cgi?id=125175
1269
1270         Reviewed by Darin Adler.
1271
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.
1276
1277         Test: inspector-protocol/model/highlight-shape-outside-margin.html
1278
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:
1298
1299 2013-12-11  Mario Sanchez Prada  <mario.prada@samsung.com>
1300
1301         [ATK] Expose accessibility objects WAI-ARIA landmark roles
1302         https://bugs.webkit.org/show_bug.cgi?id=125584
1303
1304         Reviewed by Chris Fleizach.
1305
1306         Exposed accessibility objects with landmark roles with the proper
1307         AtkRole, to be provided by the next stable release of ATK.
1308
1309         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1310         (webkitAccessibleGetAttributes):
1311         (atkRole):
1312
1313 2013-12-11  José Dapena Paz  <jdapena@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>
1314
1315         [GTK] Add a UPower-based BatteryProvider
1316         https://bugs.webkit.org/show_bug.cgi?id=115719
1317
1318         Reviewed by Martin Robinson.
1319
1320         Introduce the BatteryProviderUPower, a provider of the system's battery status that produces the information
1321         using the upower-glib library.
1322
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.
1325
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.
1329
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.
1338
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).
1345
1346         The implementation is heavily inspired by a similar approach to calculating battery status in GNOME Settings Daemon.
1347
1348         No new tests - no new functionality. The feature is not yet enabled. When enabled, the relevant tests pass.
1349
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.
1358         (WebCore):
1359         (BatteryProviderUPower):
1360         * platform/glib/BatteryProviderUPowerClient.h: Added.
1361         (WebCore):
1362         (BatteryProviderUPowerClient):
1363
1364 2013-12-11  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1365
1366         Improving createOffer and createAnswer LayoutTests
1367         https://bugs.webkit.org/show_bug.cgi?id=125568
1368
1369         Reviewed by Philippe Normand.
1370
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.
1373
1374         Existing tests were updated.
1375
1376         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1377         (WebCore::RTCPeerConnectionHandlerMock::createOffer):
1378
1379 2013-12-11  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1380
1381         [EFL] Fix build with CONTEXT_MENUS flag set OFF
1382         https://bugs.webkit.org/show_bug.cgi?id=125572
1383
1384         Reviewed by Gyuyoung Kim.
1385
1386         dispatchEventAsContextMenuEvent is called regardless of CONTEXT_MENUS flag setting,
1387         thus its definition in InspectorFrontendHost should not be guarded by this flag.
1388
1389         No new tests, no behaviour change.
1390
1391         * inspector/InspectorFrontendHost.cpp:
1392         (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
1393
1394 2013-12-11  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
1395
1396         [CURL] Build fails after r160386.
1397         https://bugs.webkit.org/show_bug.cgi?id=125571
1398
1399         Reviewed by Zoltan Herczeg.
1400
1401         Need no new tests.
1402
1403         Fix a typo in commit r160386 that prevents building with curl.
1404
1405         * platform/network/curl/CurlCacheEntry.cpp:
1406         (WebCore::CurlCacheEntry::generateBaseFilename):
1407
1408 2013-12-11  Rob Buis  <rob.buis@samsung.com>
1409
1410         [CSS Shapes] Take into account fill-rule for polygon interpolation
1411         https://bugs.webkit.org/show_bug.cgi?id=125508
1412
1413         Reviewed by Dirk Schulze.
1414
1415         Implement the polygon fill-rule part of http://dev.w3.org/csswg/css-shapes/#basic-shape-interpolation.
1416
1417         Adapt fast/shapes/shape-outside-floats/shape-outside-animation.html.
1418
1419         * rendering/style/BasicShapes.cpp:
1420         (WebCore::BasicShape::canBlend):
1421
1422 2013-12-11  Mario Sanchez Prada  <mario.prada@samsung.com>
1423
1424         Programmatically-inserted children lack accessibility events
1425         https://bugs.webkit.org/show_bug.cgi?id=100275
1426
1427         Reviewed by Chris Fleizach.
1428
1429         Test: accessibility/children-changed-sends-notification.html
1430
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.
1434
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.
1445
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.
1461
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.
1468
1469 2013-12-11  Andreas Kling  <akling@apple.com>
1470
1471         REGRESSION(r160389): SVG test assertion extravaganza.
1472
1473         Unreviewed. Use getAttribute() instead of fastGetAttribute() for
1474         the "type" attribute since it's animatable on SVG elements.
1475
1476 2013-12-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1477
1478         Set m_nextBreakablePosition as private in InlineIterator, and use it.
1479         https://bugs.webkit.org/show_bug.cgi?id=125482
1480
1481         Reviewed by Andreas Kling.
1482
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.
1485
1486         No new tests, no behavior changes.
1487
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):
1494
1495 2013-12-10  Gurpreet Kaur  <k.gurpreet@samsung.com>
1496
1497         top and bottom black background line not getting displayed
1498         https://bugs.webkit.org/show_bug.cgi?id=21664
1499
1500         Reviewed by Simon Fraser.
1501
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.
1505
1506         Test: fast/dom/HTMLTableElement/empy-table-cell-with-background-color.html
1507
1508         * rendering/AutoTableLayout.cpp:
1509         (WebCore::AutoTableLayout::recalcColumn):
1510         cellHasContent should also be set to true incase background color is
1511         present.
1512
1513 2013-12-10  Beth Dakin  <bdakin@apple.com>
1514
1515         Horizontal rubber-banding without a horizontal scrollbar is distracting
1516         https://bugs.webkit.org/show_bug.cgi?id=125550
1517
1518         Reviewed by Simon Fraser.
1519
1520         Setting the ScrollElasticity to ScrollElasticityAutomatic will make sure we only 
1521         rubber-band horizontally when there is a horizontal scrollbar.
1522
1523         * page/FrameView.cpp:
1524         (WebCore::FrameView::FrameView):
1525
1526 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
1527
1528         Correct a preprocessor guard from a mis-merged patch
1529
1530         In r160367, I mismerged a patch from Gustavo Noronha. This commit
1531         fixes the merge and thus fixes the CMake build.
1532
1533         * html/HTMLMediaElement.idl: Move the preprocessor guard to the correct property.
1534
1535 2013-12-10  Rob Buis  <rob.buis@samsung.com>
1536
1537         Clean up SVGScriptElement
1538         https://bugs.webkit.org/show_bug.cgi?id=125527
1539
1540         Reviewed by Sam Weinig.
1541
1542         Rewrite to not store type in m_type and also remove type getter/setter.
1543
1544         * svg/SVGScriptElement.cpp:
1545         (WebCore::SVGScriptElement::parseAttribute):
1546         (WebCore::SVGScriptElement::typeAttributeValue):
1547         * svg/SVGScriptElement.h:
1548         * svg/SVGScriptElement.idl:
1549
1550 2013-12-10  Laszlo Vidacs  <lac@inf.u-szeged.hu>
1551
1552         Use std::array when computing MD5 checksum
1553         https://bugs.webkit.org/show_bug.cgi?id=125509
1554
1555         Reviewed by Anders Carlsson.
1556
1557         Use MD5::Digest type and MD5::hashSize when computing MD5 checksum.
1558
1559         * platform/network/curl/CurlCacheEntry.cpp:
1560         (WebCore::CurlCacheEntry::generateBaseFilename):
1561
1562 2013-12-10  Mario Sanchez Prada  <mario.prada@samsung.com>
1563
1564         [ATK] Expose splitter elements with ATK_ROLE_SEPARATOR
1565         https://bugs.webkit.org/show_bug.cgi?id=125522
1566
1567         Reviewed by Chris Fleizach.
1568
1569         Expose objects with SplitterRole role as ATK_ROLE_SEPARATOR.
1570
1571         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1572         (atkRole):
1573
1574 2013-12-10  Mario Sanchez Prada  <mario.prada@samsung.com>
1575
1576         [ATK] Elements with role 'alertdialog' should be ATK_ROLE_ALERT
1577         https://bugs.webkit.org/show_bug.cgi?id=125521
1578
1579         Reviewed by Chris Fleizach.
1580
1581         Stop exposing alert dialogs as ATK_ROLE_DIALOG and do it as
1582         ATK_ROLE_ALERT instead.
1583
1584         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1585         (atkRole):
1586
1587 2013-12-10  Brendan Long  <b.long@cablelabs.com>
1588
1589         [GTK][GStreamer] media/video-preload.html is flakily crashing on WK2
1590         https://bugs.webkit.org/show_bug.cgi?id=125411
1591
1592         Reviewed by Philippe Normand.
1593
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}).
1595
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.
1605
1606 2013-12-10  László Langó  <lango@inf.u-szeged.hu>
1607
1608         PageConsole::addMessage should automatically determine column number alongside line number
1609         https://bugs.webkit.org/show_bug.cgi?id=114319
1610
1611         Reviewed by Joseph Pecoraro.
1612
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):
1626         * page/Console.cpp:
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):
1635
1636 2013-12-10  Andreas Kling  <akling@apple.com>
1637
1638         Jettison all StyleResolver data on memory pressure.
1639         <https://webkit.org/b/125498>
1640
1641         The StyleResolver can be rebuilt relatively quickly; we already
1642         have an optimization that discards it some time after last use.
1643
1644         If we find ourseles under serious memory pressure, don't wait for
1645         the timer to kick in, throw everything overboard right away.
1646
1647         ~5MB progression post-pressure on Membuster3.
1648
1649         Reviewed by Anders Carlsson.
1650
1651 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
1652
1653         [GTK] [CMake] Add support for building the DOM bindings
1654         https://bugs.webkit.org/show_bug.cgi?id=116375
1655
1656         Reviewed by Gustavo Noronha Silva.
1657
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.
1661
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.
1670
1671 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
1672
1673         Various fixes for the CMake GTK+ build
1674
1675         Reviewed by Gustavo Noronha.
1676
1677         * PlatformGTK.cmake: Update source list.
1678
1679 2013-12-10  Robert Sipka  <sipka@inf.u-szeged.hu>
1680
1681         [nix][curl] Buildfix after r160310
1682         https://bugs.webkit.org/show_bug.cgi?id=125489
1683
1684         Reviewed by Gustavo Noronha Silva.
1685
1686         Curl doesn't include soup files.
1687
1688         * PlatformNix.cmake:
1689
1690 2013-12-10  Gustavo Noronha Silva  <gns@gnome.org>
1691
1692         [GTK] REGRESSION: www.yahoo.com redirects to the mobile version after UA change
1693         https://bugs.webkit.org/show_bug.cgi?id=125444
1694
1695         Reviewed by Martin Robinson.
1696
1697         * platform/gtk/UserAgentGtk.cpp:
1698         (WebCore::platformVersionForUAString): more correctly pretend we're Mac OS X.
1699         (WebCore::standardUserAgent): ditto.
1700
1701 2013-12-09  Gustavo Noronha Silva  <gns@gnome.org>
1702
1703         [Soup] Send original encoded data size to didReceiveBuffer
1704         https://bugs.webkit.org/show_bug.cgi?id=125410
1705
1706         Reviewed by Martin Robinson.
1707
1708         No tests, the only way to test this seems to be through the inspector UI.
1709
1710         * platform/network/ResourceHandle.h:
1711         * platform/network/ResourceHandleInternal.h:
1712         (WebCore::ResourceHandleInternal::ResourceHandleInternal): data member to track stream
1713         position.
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.
1720
1721 2013-12-09  Andreas Kling  <akling@apple.com>
1722
1723         Clear out font width measurement caches on memory pressure.
1724         <https://webkit.org/b/125481>
1725
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.
1728
1729         Reviewed by Antti Koivisto.
1730
1731 2013-12-09  Seokju Kwon  <seokju@webkit.org>
1732
1733         Web Inspector: Remove enabled() in InspectorRuntimeAgent.
1734         https://bugs.webkit.org/show_bug.cgi?id=125476
1735
1736         Reviewed by Joseph Pecoraro.
1737
1738         Dead code. It's never called anywhere.
1739
1740         No new tests, no behavior change.
1741
1742         * inspector/InspectorRuntimeAgent.h:
1743
1744 2013-12-09  Sam Weinig  <sam@webkit.org>
1745
1746         Replace use of WTF::FixedArray with std::array
1747         https://bugs.webkit.org/show_bug.cgi?id=125475
1748
1749         Reviewed by Anders Carlsson.
1750
1751         * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
1752         * platform/graphics/GlyphMetricsMap.h:
1753
1754 2013-12-09  Benjamin Poulain  <bpoulain@apple.com>
1755
1756         Refactor the CFURLConnectionClient to be the synchronous implementation of an abstract network delegate
1757         https://bugs.webkit.org/show_bug.cgi?id=125379
1758
1759         Reviewed by Alexey Proskuryakov.
1760
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.
1799
1800 2013-12-09  Ryosuke Niwa  <rniwa@webkit.org>
1801
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
1804
1805         Reviewed by Darin Adler.
1806
1807         Merge https://chromium.googlesource.com/chromium/blink/+/3c33d42207cd209bb171083ba66c225f694f2101
1808
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."
1812
1813         New behavior also matches that of Internet Explorer and Firefox.
1814
1815         Tests: fast/forms/input-image-submit.html
1816
1817         * html/ImageInputType.cpp:
1818         (WebCore::ImageInputType::handleDOMActivateEvent): Set m_clickLocation to (0, 0) for simulated events.
1819
1820 2013-12-09  Jer Noble  <jer.noble@apple.com>
1821
1822         [MSE] Add support for VideoPlaybackMetrics.
1823         https://bugs.webkit.org/show_bug.cgi?id=125380
1824
1825         Reviewed by Eric Carlson.
1826
1827         Test: media/media-source/media-source-video-playback-quality.html
1828
1829         Add a new object type VideoPlaybackQuality to be returned by
1830         HTMLMediaElement.getVideoPlaybackQuality().
1831
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.
1836
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.
1848
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:
1855
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):
1868
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.
1884
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):
1892
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:
1908
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:
1914         * CMakeLists.txt:
1915
1916 2013-12-09  Simon Fraser  <simon.fraser@apple.com>
1917
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>
1921
1922         Reviewed by Beth Dakin.
1923         
1924         In ScrollbarThemeMac::setPaintCharacteristicsForScrollbar(), proportion could
1925         end up as NaN if scrollbar->totalSize() were zero. Protect against that.
1926         
1927         Also wrap functions that call into Objective-C with BEGIN_BLOCK_OBJC_EXCEPTIONS/
1928         END_BLOCK_OBJC_EXCEPTIONS.
1929
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):
1937
1938 2013-12-09  Ryosuke Niwa  <rniwa@webkit.org>
1939
1940         Implement Document.cloneNode()
1941         https://bugs.webkit.org/show_bug.cgi?id=11646
1942
1943         Reviewed by Darin Adler.
1944
1945         Merge https://chromium.googlesource.com/chromium/blink/+/dc7879025e01d63be9fcf6a84ca6c9b8b5768a80
1946
1947         Implement the behavior specified in the current DOM4 working draft:
1948         http://www.w3.org/TR/2013/WD-dom-20131107/#dom-node-clonenode
1949
1950         Tests: fast/dom/Document/clone-node.html
1951                fast/dom/HTMLDocument/clone-node-quirks-mode.html
1952                svg/custom/clone-node.html
1953
1954         * dom/Document.cpp:
1955         (WebCore::Document::cloneNode):
1956         (WebCore::Document::cloneDocumentWithoutChildren):
1957         (WebCore::Document::cloneDataFromDocument):
1958         * dom/Document.h:
1959         * html/HTMLDocument.cpp:
1960         (WebCore::HTMLDocument::cloneDocumentWithoutChildren):
1961         * html/HTMLDocument.h:
1962         * svg/SVGDocument.cpp:
1963         (WebCore::SVGDocument::cloneDocumentWithoutChildren):
1964         * svg/SVGDocument.h:
1965
1966 2013-12-09  Andreas Kling  <akling@apple.com>
1967
1968         REGRESSION(r160260): Memory pressure signal causes web process to hang.
1969         <https://webkit.org/b/125465>
1970
1971         Reviewed by Tim Horton.
1972
1973         This command caused all of my web processes to hang:
1974
1975             notifyutil -p org.WebKit.lowMemory
1976
1977         This only happens when the cache pruning code encounters a resource
1978         using purgeable memory.
1979
1980         * loader/cache/MemoryCache.cpp:
1981         (WebCore::MemoryCache::pruneLiveResourcesToSize):
1982
1983             Grab the next CachedResource pointer before continuing the loop.
1984
1985 2013-12-09  peavo@outlook.com  <peavo@outlook.com>
1986
1987         [WinCairo] OpenGL compile error.
1988         https://bugs.webkit.org/show_bug.cgi?id=125383
1989
1990         Reviewed by Darin Adler.
1991
1992         * platform/graphics/opengl/Extensions3DOpenGLES.h: Define GL_HALF_FLOAT_ARB on Windows when OPENGL_ES_2 is used.
1993
1994 2013-12-09  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1995
1996         Fix handling of 'inherit' and 'initial' for grid lines.
1997         https://bugs.webkit.org/show_bug.cgi?id=125223
1998
1999         Reviewed by Darin Adler.
2000
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.
2004
2005         Added tests cases for 'inherit' and 'initial' to the following tests:
2006
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
2010
2011         Patch backported from Blink: https://src.chromium.org/viewvc/blink?revision=149257&view=revision
2012
2013         * css/StyleResolver.cpp:
2014         (WebCore::StyleResolver::applyProperty):
2015         * rendering/style/RenderStyle.h:
2016         * rendering/style/StyleGridItemData.cpp:
2017         (WebCore::StyleGridItemData::StyleGridItemData):
2018
2019 2013-12-09  Joseph Pecoraro  <pecoraro@apple.com>
2020
2021         Web Inspector: Inspector.json and CodeGenerator tweaks
2022         https://bugs.webkit.org/show_bug.cgi?id=125321
2023
2024         Reviewed by Timothy Hatcher.
2025
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.
2030
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.
2037
2038 2013-12-09  Nick Diego Yamane  <nick.yamane@openbossa.org>
2039
2040         [Nix] Fix file name typo in PlatformNix.cmake
2041         https://bugs.webkit.org/show_bug.cgi?id=125457
2042
2043         Reviewed by Gustavo Noronha Silva.
2044
2045         Wrong file name introduced in http://trac.webkit.org/changeset/160310.
2046         * PlatformNix.cmake:
2047
2048 2013-12-09  Brendan Long  <b.long@cablelabs.com>
2049
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
2052
2053         Reviewed by Philippe Normand.
2054
2055         No new tests because this fixes a memory leak.
2056
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.
2059
2060 2013-12-09  Chris Fleizach  <cfleizach@apple.com>
2061
2062         AX: WebKit ignores @alt on IMG elements with role="text"
2063         https://bugs.webkit.org/show_bug.cgi?id=125363
2064
2065         Reviewed by Mario Sanchez Prada.
2066
2067         If an <img> element has a different role, the alt attribute should still be used in the 
2068         name calculation if present.
2069
2070         Test: accessibility/alt-tag-on-image-with-nonimage-role.html
2071
2072         * accessibility/AccessibilityNodeObject.cpp:
2073         (WebCore::AccessibilityNodeObject::usesAltTagForTextComputation):
2074         (WebCore::AccessibilityNodeObject::alternativeText):
2075         (WebCore::AccessibilityNodeObject::accessibilityDescription):
2076         (WebCore::AccessibilityNodeObject::text):
2077         * accessibility/AccessibilityNodeObject.h:
2078
2079 2013-12-08  Martin Robinson  <mrobinson@igalia.com>
2080
2081         [WK2][Soup] Use didReceiveBuffer instead of didReceiveData
2082         https://bugs.webkit.org/show_bug.cgi?id=118598
2083
2084         Reviewed by Gustavo Noronha Silva.
2085
2086         Original patch by Kwang Yul Seo  <skyul@company100.net> and Csaba Osztrogonác  <ossy@webkit.org>.
2087
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.
2091
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
2104         called now.
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.
2113
2114 2013-12-09  Michal Poteralski  <m.poteralski@samsung.com>
2115
2116         DataCloneError exception is not thrown when postMessage's second parameter is the source
2117         port or the target port.
2118
2119         https://bugs.webkit.org/show_bug.cgi?id=124708
2120
2121         Reviewed by Alexey Proskuryakov.
2122
2123         According to specification:
2124         http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#dom-window-postmessage
2125
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.
2130
2131         The proposed solution is change to the correct the exception value.
2132
2133         Tests: fast/dom/Window/postMessage-clone-port-error.html
2134
2135         * dom/MessagePort.cpp:
2136         (WebCore::MessagePort::postMessage): Improve exception value
2137
2138 2013-12-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2139
2140         Unreviewed. Fix the GTK+ build with NetworkProcess enabled.
2141
2142         * GNUmakefile.list.am: Add missing file to compilation.
2143
2144 2013-12-08  Ryosuke Niwa  <rniwa@webkit.org>
2145
2146         getComputedStyle border-radius shorthand omits vertical radius information
2147         https://bugs.webkit.org/show_bug.cgi?id=125394
2148
2149         Reviewed by Andreas Kling.
2150
2151         Merge https://chromium.googlesource.com/chromium/blink/+/4c2866855dddbb28bb7d978ad627acc368af23d0
2152
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.
2156
2157         * css/CSSComputedStyleDeclaration.cpp:
2158         (WebCore::getBorderRadiusShorthandValue):
2159
2160 2013-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2161
2162         [GTK] Do not skip attributes with only custom setter
2163         https://bugs.webkit.org/show_bug.cgi?id=125417
2164
2165         Reviewed by Gustavo Noronha Silva.
2166
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.
2170
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
2180         custom setter.
2181         (GenerateProperty): Do not return early for attributes having
2182         custom setter.
2183         (GenerateFunctions): Do not generate setter for attributes having
2184         a custom setter.
2185
2186 2013-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2187
2188         [GTK] Do not generate new dispatch_event methods marked as deprecated
2189         https://bugs.webkit.org/show_bug.cgi?id=125416
2190
2191         Reviewed by Gustavo Noronha Silva.
2192
2193         * bindings/scripts/CodeGeneratorGObject.pm:
2194         (SkipFunction): Skip dispatch_event methods for objects
2195         implementing EventTarget interface unless they are already
2196         deprecated.
2197         (GenerateFunction): Pass also the parentNode to SkipFunction().
2198
2199 2013-12-05  Jer Noble  <jer.noble@apple.com>
2200
2201         [MSE] Bring end-of-stream algorithm section up to current spec.
2202         https://bugs.webkit.org/show_bug.cgi?id=125270
2203
2204         Reviewed by Darin Adler.
2205
2206         Test: media/media-source/media-source-end-of-stream.html
2207
2208         Separate the "endOfStream()" method from the "end of stream algorithm".
2209
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.
2231
2232 2013-12-04  Jer Noble  <jer.noble@apple.com>
2233
2234         [MSE][Mac] Crash when removing MediaSource from HTMLMediaElement.
2235         https://bugs.webkit.org/show_bug.cgi?id=125269
2236
2237         Reviewed by Sam Weinig.
2238
2239         Fixes the media/media-source/media-source-fastseek.html test when run with MallocScribble enabled.
2240
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
2244         call site.
2245
2246         As a drive-by fix, rename m_parent to m_mediaSource to more accurately reflect what the pointer
2247         points to.
2248
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):
2273
2274 2013-12-07  Zoltan Horvath  <zoltan@webkit.org>
2275
2276         Remove statusWithDirection static function from RenderBlockLineLayout
2277         https://bugs.webkit.org/show_bug.cgi?id=125372
2278
2279         Reviewed by Andreas Kling.
2280
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.
2284
2285         No new tests, no behavior change.
2286
2287         * rendering/RenderBlockLineLayout.cpp:
2288         (WebCore::constructBidiRunsForSegment):
2289
2290 2013-12-07  ChangSeok Oh  <changseok.oh@collabora.com>
2291
2292         Unreviewed. Build fix for gtk port after r160260.
2293
2294         * loader/cache/CachedImage.h: Add missing a header.
2295
2296 2013-12-07  Gustavo Noronha Silva  <gns@gnome.org>
2297
2298         ubuntu software center hits _XReadEvents() error
2299         https://bugs.webkit.org/show_bug.cgi?id=123480
2300
2301         Reviewed by Martin Robinson.
2302
2303         * platform/gtk/WidgetBackingStoreGtkX11.cpp:
2304         (WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11): clear the surface
2305         before freeing the associated pixmap.
2306
2307 2013-12-06  Tim Horton  <timothy_horton@apple.com>
2308
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>
2312
2313         Unreviewed patch to fix review comments...
2314
2315         * platform/graphics/BitmapImage.h:
2316         Dan noticed that these return statements were improperly indented.
2317
2318 2013-12-05  Jer Noble  <jer.noble@apple.com>
2319
2320         [MSE][Mac] Disable AVFoundation when enabling the MockMediaPlayerMediaSource.
2321         https://bugs.webkit.org/show_bug.cgi?id=125338
2322
2323         Reviewed by Darin Adler.
2324
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.
2329
2330         * testing/Internals.cpp:
2331         (WebCore::Internals::initializeMockMediaSource):
2332
2333 2013-12-06  Antti Koivisto  <antti@apple.com>
2334
2335         Use NeverDestroyed instead of DEFINE_STATIC_LOCAL
2336
2337         Reviewed by Anders Carlsson.
2338
2339         * rendering/RenderText.cpp:
2340         (WebCore::originalTextMap):
2341
2342 2013-12-05  Jer Noble  <jer.noble@apple.com>
2343
2344         [MSE] Add a runtime-setting for the MediaSource constructor.
2345         https://bugs.webkit.org/show_bug.cgi?id=125336
2346
2347         Reviewed by Eric Carlson.
2348
2349         Add a Setting to enable the MediaSource constructor.
2350
2351         * Modules/mediasource/MediaSource.idl:
2352         * page/Settings.in:
2353
2354 2013-12-06  Tim Horton  <timothy_horton@apple.com>
2355
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>
2359
2360         Reviewed by Simon Fraser.
2361
2362         No new tests, just an optimization.
2363
2364         Instead of throwing away decoded image data eagerly, allow the operating
2365         system to manage the memory via the standard purgeability mechanism,
2366         where it can.
2367
2368         This improves the performance on some pathological cases (extremely large
2369         animated GIFs) by up to 8x.
2370
2371         * loader/cache/MemoryCache.cpp:
2372         (WebCore::MemoryCache::pruneLiveResourcesToSize):
2373         Don't prune live resources' decoded data if it is purgeable.
2374
2375         * platform/graphics/BitmapImage.cpp:
2376         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
2377         Don't eagerly throw away decoded image data if it's purgeable.
2378
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):
2385
2386 2013-12-06  Antti Koivisto  <antti@apple.com>
2387
2388         Save original text for RenderText to a map
2389         https://bugs.webkit.org/show_bug.cgi?id=125278
2390
2391         Reviewed by Darin Adler.
2392         
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.
2395         
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.
2398
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:
2413
2414 2013-12-04  Jer Noble  <jer.noble@apple.com>
2415
2416         [MSE] Refactor MediaSourceBase back into MediaSource
2417         https://bugs.webkit.org/show_bug.cgi?id=125245
2418
2419         Reviewed by Eric Carlson.
2420
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.
2423
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.
2437
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:
2446
2447         Remove MediaSourceBase.cpp/h from the project file:
2448         * WebCore.xcodeproj/project.pbxproj:
2449         * GNUmakefile.list.am:
2450
2451 2013-12-06  Eric Carlson  <eric.carlson@apple.com>
2452
2453         r159827 broke plug-in snapshotting
2454         https://bugs.webkit.org/show_bug.cgi?id=125365
2455
2456         Reviewed by Dean Jackson.
2457
2458         No new tests, covered by existing tests.
2459
2460         * html/HTMLPlugInImageElement.cpp:
2461         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Return early if there is NOT
2462             a page, not if there IS a page.
2463
2464 2013-12-06  Roger Fong <roger_fong@apple.com> and Brent Fulgham  <bfulgham@apple.com>
2465
2466         [Win] Support compiling with VS2013
2467         https://bugs.webkit.org/show_bug.cgi?id=125353
2468
2469         Reviewed by Anders Carlsson.
2470
2471         * loader/archive/cf/LegacyWebArchive.cpp:
2472         (WebCore::LegacyWebArchive::create): Use nullptr
2473         (WebCore::LegacyWebArchive::createFromSelection): Ditto
2474
2475 2013-11-15  Jer Noble  <jer.noble@apple.com>
2476
2477         [MSE][Mac] Add a new MSE-compatible MediaPlayerPrivate implementation, MediaPlayerPrivateMediaSourceAVFObjC
2478         https://bugs.webkit.org/show_bug.cgi?id=123378
2479
2480         Reviewed by Eric Carlson.
2481
2482         Add an AVFoundation implementation of MediaPlayerPrivate which creates and uses
2483         MediaSourcePrivate and SourceBufferPrivate subclasses.
2484
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:
2490
2491         Add the new files to the project:
2492         * WebCore.xcodeproj/project.pbxproj:
2493
2494         Drive by fix for ports who implement seekDouble():
2495         * platform/graphics/MediaPlayerPrivate.h:
2496         (WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
2497
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.
2513
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):
2574
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):
2597
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:
2644
2645         Add a SOFT_LINK_CLASS_OPTIONAL macro:
2646         * platform/mac/SoftLinking.h:
2647
2648 2013-12-06  Alexey Proskuryakov  <ap@apple.com>
2649
2650         Remove some duplicate checks from SerializedScriptValue
2651         https://bugs.webkit.org/show_bug.cgi?id=125358
2652
2653         Reviewed by Geoffrey Garen.
2654
2655         There is no need to call inherits() before WebCore's toXXX(JSValue) functions.
2656
2657         Also, the result of toArrayBuffer() is a raw pointer, not a RefPtr (it's confusing
2658         because toArrayBufferView returns a RefPtr).
2659
2660         * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::dumpIfTerminal):
2661
2662 2013-12-06  Tim Horton  <timothy_horton@apple.com>
2663
2664         Remove Image::decodedSize()
2665         https://bugs.webkit.org/show_bug.cgi?id=125327
2666
2667         Reviewed by Simon Fraser.
2668
2669         Missed a comment when removing this code.
2670
2671         * svg/graphics/SVGImage.h:
2672
2673 2013-12-06  Rob Buis  <rob.buis@samsung.com>
2674
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
2677
2678         Reviewed by Dirk Schulze.
2679
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.
2683
2684         Change existing test floats/shape-outside-floats-different-writing-modes.html to test the
2685         new behavior.
2686
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:
2694
2695 2013-12-06  Joseph Pecoraro  <pecoraro@apple.com>
2696
2697         Web Inspector: Remove Staging Workaround
2698         https://bugs.webkit.org/show_bug.cgi?id=125354
2699
2700         Reviewed by Timothy Hatcher.
2701
2702         * inspector/CodeGeneratorInspector.py:
2703
2704 2013-12-06  Joseph Pecoraro  <pecoraro@apple.com>
2705
2706         Simplify ScriptFunctionCall by removing dead code.
2707         https://bugs.webkit.org/show_bug.cgi?id=125274
2708
2709         Reviewed by Timothy Hatcher.
2710
2711         * bindings/js/ScriptFunctionCall.cpp:
2712         (WebCore::ScriptFunctionCall::call):
2713         * bindings/js/ScriptFunctionCall.h:
2714
2715 2013-12-06  Daniel Bates  <dabates@apple.com>
2716
2717         [iOS] Upstream WebCore/rendering changes
2718         https://bugs.webkit.org/show_bug.cgi?id=125239
2719
2720         Reviewed by Simon Fraser.
2721
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>
2741         for more details.
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
2774         be specific to iOS.
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.
2957
2958 2013-12-06  Zoltan Horvath  <zoltan@webkit.org>
2959
2960         Clean up the includes of RenderBlock.h 
2961         https://bugs.webkit.org/show_bug.cgi?id=125351
2962
2963         Reviewed by Darin Adler.
2964
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.
2967
2968         No new tests, no behavior change.
2969
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:
2980
2981 2013-12-06  Laszlo Vidacs  <lac@inf.u-szeged.hu>
2982
2983         Define SHA1 hash size in SHA1.h and use it at various places.
2984         https://bugs.webkit.org/show_bug.cgi?id=125345
2985
2986         Reviewed by Darin Adler.
2987
2988         Use SHA1::hashSize instead of local variables.
2989
2990         * Modules/websockets/WebSocketHandshake.cpp:
2991         (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
2992         * platform/network/soup/ResourceHandleSoup.cpp:
2993         (WebCore::HostTLSCertificateSet::computeCertificateHash):
2994
2995 2013-12-06  Dan Bernstein  <mitz@apple.com>
2996
2997         [Cocoa] Add load delegate methods for responding to authentication challenges
2998         https://bugs.webkit.org/show_bug.cgi?id=125333
2999
3000         Reviewed by Darin Adler.
3001
3002         * WebCore.exp.in: Exported core(NSURLCredential *).
3003
3004 2013-12-06  Daniel Bates  <dabates@apple.com>
3005
3006         Rename {adjust, paint}SearchFieldDecoration, {adjust, paint}SearchFieldResultsDecoration
3007         https://bugs.webkit.org/show_bug.cgi?id=125191
3008
3009         Reviewed by Joseph Pecoraro.
3010
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.
3014
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:
3029
3030 2013-12-06  Andreas Kling  <akling@apple.com>
3031
3032         Make remaining CSSValue constructors return PassRef.
3033         <https://webkit.org/b/125337>
3034
3035         Tweak the remaining CSSValue create() helpers to return PassRef
3036         instead of PassRefPtr in the cases where nullptr is never returned.
3037
3038         Reviewed by Anders Carlsson.
3039
3040 2013-12-06  Roger Fong  <roger_fong@apple.com>
3041
3042         Hook into some shader symbol logic following the ANGLE update in r159533.
3043         https://bugs.webkit.org/show_bug.cgi?id=125332.
3044
3045         Reviewed by Brent Fulgham.
3046
3047         No new functionality added.
3048
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.
3067
3068 2013-12-06  Lukasz Gajowy  <l.gajowy@samsung.com>
3069
3070         [ATK] Missing aria roles mappings
3071         https://bugs.webkit.org/show_bug.cgi?id=117729
3072
3073         Reviewed by Mario Sanchez Prada.
3074
3075         Added a few mappings from ARIA roles to ATK roles.
3076
3077         Test: accessibility/aria-mappings.html
3078
3079         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3080         (atkRole):
3081
3082 2013-11-11  Philippe Normand  <pnormand@igalia.com>
3083
3084         [GStreamer] webkitwebaudiosrc element needs to emit stream-start, caps and segment events
3085         https://bugs.webkit.org/show_bug.cgi?id=123015
3086
3087         Reviewed by Martin Robinson.
3088
3089         When the source element starts emitting buffers send along various
3090         events to notify downstream elements.
3091
3092         No new tests, change covered by existing webaudio tests.
3093
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.
3100
3101 2013-12-05  Philippe Normand  <pnormand@igalia.com>
3102
3103         [GStreamer] Audio/Video sink management is incoherent
3104         https://bugs.webkit.org/show_bug.cgi?id=125304
3105
3106         Reviewed by Gustavo Noronha Silva.
3107
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.
3113
3114         No new tests, existing media tests cover this change.
3115
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):
3126
3127 2013-12-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3128
3129         Introduce IMAGE_TYPE_CASTS, and use it
3130         https://bugs.webkit.org/show_bug.cgi?id=125330
3131
3132         Reviewed by Ryosuke Niwa.
3133
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.
3136
3137         No new tests, no behavior changes.
3138
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:
3147
3148 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
3149
3150         Clean up the forwarding headers of RenderBlock.h
3151         https://bugs.webkit.org/show_bug.cgi?id=125323
3152
3153         Reviewed by Ryosuke Niwa.
3154
3155         In this patch, I removed the unnecessary forwarding headers from RenderBlock.h, and moved some to RenderBlockFlow.h.
3156
3157         No new tests, no behavior change.
3158
3159         * rendering/RenderBlock.h: Remove unnecessary forwarding headers.
3160         * rendering/RenderBlockFlow.h: Moved some forwarding headers from RenderBlock.h
3161
3162 2013-12-04  Oliver Hunt  <oliver@apple.com>
3163
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
3166
3167         Reviewed by Geoffrey Garen.
3168
3169         Change bindings codegen to produce static getter functions
3170         with the correct types.  Also update the many custom implementations
3171         to the new type.
3172
3173         No change in behaviour.
3174
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:
3230         (GenerateHeader):
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:
3245
3246 2013-12-05  Tim Horton  <timothy_horton@apple.com>
3247
3248         Remove Image::decodedSize()
3249         https://bugs.webkit.org/show_bug.cgi?id=125327
3250
3251         Reviewed by Sam Weinig.
3252
3253         No new tests, just removing dead code.
3254
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:
3264
3265 2013-12-05  Commit Queue  <commit-queue@webkit.org>
3266
3267         Unreviewed, rolling out r160133.
3268         http://trac.webkit.org/changeset/160133
3269         https://bugs.webkit.org/show_bug.cgi?id=125325
3270
3271         broke bindings tests on all the bots (Requested by thorton on
3272         #webkit).
3273
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:
3329         (GenerateHeader):
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:
3344
3345 2013-12-05  Seokju Kwon  <seokju@webkit.org>
3346
3347         Web Inspector: Remove 'cookiesString' output from Page.getCookies
3348         https://bugs.webkit.org/show_bug.cgi?id=125268
3349
3350         Reviewed by Timothy Hatcher.
3351
3352         Remove 'cookiesString' output from Page.getCookies protocol.
3353         It is no longer meaningful because it is an unused parameter.
3354
3355         No new tests, no behavior change.
3356
3357         * inspector/InspectorPageAgent.cpp:
3358         (WebCore::InspectorPageAgent::getCookies):
3359         * inspector/InspectorPageAgent.h:
3360         * inspector/protocol/Page.json:
3361
3362 2013-12-05  Brian J. Burg  <burg@cs.washington.edu>
3363
3364         Web Inspector: expose node and frame snapshot capabilities.
3365         https://bugs.webkit.org/show_bug.cgi?id=124326
3366
3367         Reviewed by Joseph Pecoraro.
3368
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.
3372
3373         Remove the unimplemented Page.captureScreenshot API.
3374
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.
3380
3381 2013-12-04 Bear Travis <betravis@adobe.com>
3382
3383     [CSS Shapes] Enable CSS Shapes on Windows
3384     https://bugs.webkit.org/show_bug.cgi?id=89957
3385
3386     Reviewed by Brent Fulgham.
3387
3388     * css/CSSPropertyNames.in: Tweak to ensure shapes properties are regenerated.
3389
3390 2013-12-05  Roger Fong  <roger_fong@apple.com>
3391
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>
3395
3396         Reviewed by Brent Fulgham.
3397
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
3401
3402         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
3403         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
3404
3405 2013-12-05  Laszlo Vidacs  <lac@inf.u-szeged.hu>
3406
3407         32bit buildfix after r160151
3408         https://bugs.webkit.org/show_bug.cgi?id=125298
3409
3410         Reviewed by Csaba Osztrogonác.
3411
3412         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3413         (StreamingClient::handleDataReceived):
3414
3415 2013-12-05  Myles C. Maxfield  <mmaxfield@apple.com>
3416
3417         Cropping and drawing ImageBuffers results in uninitialized data being shown
3418         https://bugs.webkit.org/show_bug.cgi?id=125271
3419
3420         Reviewed by Simon Fraser.
3421
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
3425         portion of it.
3426
3427         No new tests are necessary because the existing tests already test this
3428         functionality
3429
3430         * platform/graphics/cg/ImageBufferCG.cpp:
3431         (WebCore::createCroppedImageIfNecessary): Crop to the top left of the
3432         backing store 
3433         (WebCore::ImageBuffer::draw): Draw only the logical portion of the
3434         backing store 
3435
3436 2013-12-05  Joseph Pecoraro  <pecoraro@apple.com>
3437
3438         Remove stale ScriptGlobalObject methods
3439         https://bugs.webkit.org/show_bug.cgi?id=125276
3440
3441         Reviewed by Sam Weinig.
3442
3443         * bindings/js/ScriptObject.cpp:
3444         (WebCore::ScriptGlobalObject::set):
3445         * bindings/js/ScriptObject.h:
3446
3447 2013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
3448
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
3451
3452         Reviewed by Antti Koivisto.
3453
3454         Faithfully update the HTML5 parser after http://html5.org/tools/web-apps-tracker?from=8330&to=8331.
3455
3456         Test: fast/dom/HTMLTemplateElement/no-form-association-2.html
3457
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.
3464
3465         * html/parser/HTMLConstructionSite.h:
3466
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.
3476
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.
3481
3482 2013-12-05  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3483
3484         [MediaStream] Firing negotiationneeded event upon track add/remove on MediaStream
3485         https://bugs.webkit.org/show_bug.cgi?id=125243
3486
3487         Reviewed by Eric Carlson.
3488
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".
3492
3493         Existing tests updated.
3494
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):
3509
3510 2013-12-05  Beth Dakin  <bdakin@apple.com>
3511
3512         Bad repaints on twitter when the tile cache has a margin
3513         https://bugs.webkit.org/show_bug.cgi?id=125263
3514         -and corresponding-
3515         <rdar://problem/15576884>
3516
3517         Reviewed by Tim Horton.
3518
3519         When tiles that used to be margin tiles become real-content tiles, they need to be 
3520         invalidated.
3521
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):
3528
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):
3532
3533         And here is where we invalidate the formerly-margin tiles.
3534         (WebCore::TileController::revalidateTiles):
3535
3536 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
3537
3538         Remove the forward declaration of BidiContext class from RenderBlock.h
3539         https://bugs.webkit.org/show_bug.cgi?id=125265
3540
3541         Reviewed by Csaba Osztrogonác.
3542
3543         No new tests, no behavior change.
3544
3545         * rendering/RenderBlock.h: BidiContext is not used in RenderBlock.h
3546
3547 2013-12-05  Aloisio Almeida Jr  <aloisio.almeida@openbossa.org>
3548
3549         [Cairo] Avoid extra copy when drawing images
3550         https://bugs.webkit.org/show_bug.cgi?id=124209
3551
3552         Reviewed by Carlos Garcia Campos.
3553
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
3557         subsurface.
3558
3559         No new tests. It's an enhancement. Already covered by existing tests.
3560
3561         * platform/graphics/cairo/PlatformContextCairo.cpp:
3562         (WebCore::PlatformContextCairo::drawSurfaceToContext):
3563
3564 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
3565
3566         [CSS Shapes] Fix inset when only a subset of the arguments are defined
3567         https://bugs.webkit.org/show_bug.cgi?id=125277
3568
3569         Reviewed by David Hyatt.
3570
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.
3573
3574         No new tests, I updated the old ones.
3575
3576         * css/BasicShapeFunctions.cpp:
3577         (WebCore::basicShapeForValue):
3578
3579 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3580
3581         [GTK] Do not use deprecated gtk-doc 'Rename to' tag
3582         https://bugs.webkit.org/show_bug.cgi?id=125303
3583
3584         Reviewed by Philippe Normand.
3585
3586         GObject introspection rename-to annotation is available in
3587         since version 0.6.3 so we should use that instead.
3588
3589         * bindings/gobject/WebKitDOMEventTarget.h:
3590
3591 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3592
3593         [GTK] Add missing symbols to WebKitDOMDeprecated.symbols
3594         https://bugs.webkit.org/show_bug.cgi?id=125300
3595
3596         Reviewed by Philippe Normand.
3597
3598         Add webkit_dom_html_element_get_id and
3599         webkit_dom_html_element_set_id to the symbols files.
3600
3601         * bindings/gobject/WebKitDOMDeprecated.symbols:
3602         * bindings/gobject/webkitdom.symbols:
3603
3604 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3605
3606         Unreviewed. Update GObject DOM bindings symbols file after r159711.
3607
3608         * bindings/gobject/webkitdom.symbols:
3609
3610 2013-12-05  Zan Dobersek  <zdobersek@igalia.com>
3611
3612         [GTK] Move platform sources free of layering violations under libPlatform
3613         https://bugs.webkit.org/show_bug.cgi?id=117509
3614
3615         Reviewed by Carlos Garcia Campos.
3616
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.
3619
3620 2013-12-05  László Langó  <lango@inf.u-szeged.hu>
3621
3622         Remove bridge/testqtbindings.cpp.
3623         https://bugs.webkit.org/show_bug.cgi?id=125287
3624
3625         Reviewed by Alexey Proskuryakov.
3626
3627         * bridge/testqtbindings.cpp: Removed. There is no QT anymore.
3628         We don't need this file.
3629
3630 2013-12-04  Gurpreet Kaur  <k.gurpreet@samsung.com>
3631
3632         % unit heights don't work if parent block height is set in vh
3633         https://bugs.webkit.org/show_bug.cgi?id=118516
3634
3635         Reviewed by Simon Fraser.
3636
3637         From Blink r156449 by <srinivasa.ragavan.venkateswaran@intel.com>
3638
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
3643         height.
3644
3645         Tests: fast/css/viewport-percentage-compute-box-height.html
3646                fast/css/viewport-percentage-compute-box-width.html
3647
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.
3653
3654 2013-12-04  Roger Fong  <roger_fong@apple.com>
3655
3656         [Windows] Unreviewed build fix. Copy headers from rendering/line to build directory.
3657
3658         * WebCore.vcxproj/copyForwardingHeaders.cmd:
3659
3660 2013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
3661
3662         bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
3663         https://bugs.webkit.org/show_bug.cgi?id=125208
3664
3665         Rubber-stamped by Anders Carlsson.
3666
3667         Address Darin's comment to use fastGetAttribute instead of getAttribute.
3668
3669         * html/HTMLDocument.cpp:
3670         (WebCore::HTMLDocument::bgColor):
3671         (WebCore::HTMLDocument::fgColor):
3672         (WebCore::HTMLDocument::alinkColor):
3673         (WebCore::HTMLDocument::linkColor):
3674         (WebCore::HTMLDocument::vlinkColor):
3675
3676 2013-12-04  Brian J. Burg  <burg@cs.washington.edu>
3677
3678         Consolidate various frame snapshot capabilities.
3679         https://bugs.webkit.org/show_bug.cgi?id=124325
3680
3681         Reviewed by Darin Adler.
3682
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.
3687
3688         DragImage methods reuse snapshot methods where possible. Inspector
3689         will be able to take snapshots without using drag images.
3690
3691         No new tests, this is a refactoring.
3692
3693         * CMakeLists.txt:
3694         * GNUmakefile.list.am:
3695         * WebCore.exp.in:
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):
3708         * page/Frame.cpp:
3709         * page/Frame.h:
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.
3733
3734 2013-12-04  Benjamin Poulain  <bpoulain@apple.com>
3735
3736         Remove spaces on a blank line to have ResourceHandleCFNet.cpp identical to iOS
3737
3738         Unreviewed.
3739
3740         * platform/network/cf/ResourceHandleCFNet.cpp:
3741         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3742
3743 2013-12-04  Antti Koivisto  <antti@apple.com>
3744
3745         Move pseudo element construction out from Element
3746         https://bugs.webkit.org/show_bug.cgi?id=125257
3747
3748         Reviewed by Anders Carlsson.
3749
3750         This is logically part of the style resolve/render tree construction. This will make future
3751         refactoring easier.
3752
3753         * dom/Element.cpp:
3754         * dom/Element.h:
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):
3764
3765 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
3766
3767         Move TrailingObjects class into its own h/cpp
3768         https://bugs.webkit.org/show_bug.cgi?id=124956
3769
3770         Reviewed by David Hyatt.
3771
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.
3776
3777         No new tests, no behavior change.
3778
3779         * CMakeLists.txt:
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):
3793
3794 2013-12-04  Oliver Hunt  <oliver@apple.com>
3795
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
3798
3799         Reviewed by Geoffrey Garen.
3800
3801         Change bindings codegen to produce static getter functions
3802         with the correct types.  Also update the many custom implementations
3803         to the new type.
3804
3805         No change in behaviour.
3806
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:
3862         (GenerateHeader):
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:
3877
3878 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
3879
3880         [CSS Shapes] Support inset for shape-outside
3881         <https://webkit.org/b/125112>
3882
3883         Reviewed by David Hyatt.
3884
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
3887
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
3893
3894         * platform/LengthSize.h:
3895         (WebCore::LengthSize::floatSize): Add conversion to FloatSize.
3896         * rendering/shapes/Shape.cpp:
3897         (WebCore::Shape::createShape): Handle inset case.
3898
3899 2013-12-04  Bear Travis  <betravis@adobe.com>
3900
3901         Web Inspector: [CSS Shapes] Support raster shape visualizations
3902         https://bugs.webkit.org/show_bug.cgi?id=124080
3903
3904         Reviewed by Joseph Pecoraro.
3905
3906         Create an inspector visualization for a shape created from an image.
3907         The visualization takes each line of the image, combining where possible.
3908
3909         Test added to inspector-protocol/model/highlight-shape-outside.html
3910
3911         * rendering/shapes/RasterShape.cpp:
3912         (WebCore::RasterShapeIntervals::buildBoundsPath): Create a path representing the
3913         RasterShapeIntervals.
3914         * rendering/shapes/RasterShape.h:
3915
3916 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
3917
3918         [CSS Shapes] Remove explicit numbering from BasicShape::Type and CSSBasicShape::Type enums
3919         https://bugs.webkit.org/show_bug.cgi?id=125163
3920
3921         Reviewed by Rob Buis.
3922
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.
3925
3926         No new tests, no behavior change.
3927
3928         * css/CSSBasicShapes.h:
3929         * rendering/style/BasicShapes.h:
3930
3931 2013-12-04  Myles C. Maxfield  <mmaxfield@apple.com>
3932
3933         Allow ImageBuffer to use an IOSurface that is larger than necessary
3934         https://bugs.webkit.org/show_bug.cgi?id=124626
3935
3936         Reviewed by Simon Fraser.
3937
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.
3946
3947         No new tests are necessary because there is no behavior change.
3948
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
3959         backing stores
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
3969
3970 2013-12-03  Dean Jackson  <dino@apple.com>
3971
3972         [WebGL] Support for texImage2D of type HALF_FLOAT_OES
3973         https://bugs.webkit.org/show_bug.cgi?id=110936
3974
3975         Reviewed by Brent Fulgham.
3976
3977         Add support for the HALF_FLOAT_OES texture format from texImage2D
3978         and texSubImage2D.
3979
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
3983
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
3987
3988         * html/canvas/OESTextureHalfFloat.idl: New HALF_FLOAT_OES constant value.
3989         * html/canvas/WebGLRenderingContext.cpp:
3990         (WebCore::WebGLRenderingContext::validateTexFunc): Remove the code that