bc3d6e8a27ec2a63de695e2a4fa2dcc162d6c2e3
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-11-03  Zan Dobersek  <zdobersek@igalia.com>
2
3         PingLoader objects unnecessarily pass through OwnPtr
4         https://bugs.webkit.org/show_bug.cgi?id=122942
5
6         Reviewed by Darin Adler.
7
8         There's no need to store new PingLoader objects into an OwnPtr just to leak them out a few lines later
9         into an unused variable. New objects are created through a new helper method and then left unmanaged as
10         they're guaranteed to destroy themselves when they receive a response of any kind.
11
12         * loader/PingLoader.cpp:
13         (WebCore::PingLoader::loadImage): Call the new createPingLoader method to spawn the PingLoader.
14         (WebCore::PingLoader::sendPing): Ditto.
15         (WebCore::PingLoader::sendViolationReport): Ditto.
16         (WebCore::PingLoader::createPingLoader): A helper method that creates a new PingLoader object
17         * loader/PingLoader.h: Declare the new PingLoader::createPingLoader method.
18
19 2013-11-03  Andreas Kling  <akling@apple.com>
20
21         HTMLOptionsCollection is always rooted at a HTMLSelectElement.
22         <https://webkit.org/b/123719>
23
24         Tighten up HTMLOptionsCollection by making the constructor take
25         a HTMLSelectElement& and adding a HTMLSelectElement& getter instead
26         of casting all over the place. Removed now-pointless assertions.
27
28         Reviewed by Sam Weinig.
29
30 2013-11-03  Andreas Kling  <akling@apple.com>
31
32         RenderTextFragment: Tighten first-letter logic.
33         <https://webkit.org/b/123714>
34
35         Reviewed by Antti Koivisto.
36
37         * editing/TextIterator.cpp:
38         (WebCore::firstRenderTextInFirstLetter):
39
40             Use iterator helper to find first RenderText child.
41
42         (WebCore::TextIterator::handleTextNodeFirstLetter):
43
44             Tightening through type inference.
45
46         * rendering/RenderBlock.cpp:
47         (WebCore::RenderBlock::updateFirstLetterStyle):
48         (WebCore::RenderBlock::createFirstLetterRenderer):
49         * rendering/RenderTextFragment.h:
50
51             The first letter renderer is always a RenderBoxModelObject,
52             so make the code deal in that instead of RenderObject.
53
54         * rendering/RenderChildIterator.h:
55         (WebCore::RenderChildIteratorAdapter::first):
56         (WebCore::RenderChildIteratorAdapter::last):
57
58             Remove excess ampersands that were keeping this from building.
59
60 2013-11-03  Andreas Kling  <akling@apple.com>
61
62         CSSPrimitiveValue identifier constructors should return PassRef.
63         <https://webkit.org/b/123712>
64
65         Make CSSPrimitiveValue::createIdentifier() and the corresponding
66         CSSValuePool helper return PassRef<CSSPrimitiveValue>.
67
68         Reviewed by Antti Koivisto.
69
70 2013-11-03  Andreas Kling  <akling@apple.com>
71
72         Use RenderChildIterator in two more loops.
73         <https://webkit.org/b/123713>
74
75         Switch two more renderer child traversal loops to childrenOfType.
76
77         Reviewed by Antti Koivisto.
78
79 2013-11-03  Andreas Kling  <akling@apple.com>
80
81         CSSShadowValue constructor should return PassRef.
82         <https://webkit.org/b/123711>
83
84         Make CSSShadowValue::create() return a PassRef since it will never
85         return null.
86
87         Reviewed by Sam Weinig.
88
89 2013-11-03  Andreas Kling  <akling@apple.com>
90
91         CSSLineBoxContainValue constructor should return PassRef.
92         <https://webkit.org/b/123710>
93
94         Make CSSLineBoxContainValue::create() return a PassRef since it
95         will never return null.
96
97         Reviewed by Sam Weinig.
98
99 2013-11-03  Antti Koivisto  <antti@apple.com>
100
101         LiveNodeLists should have non-null ContainerNode as root
102         https://bugs.webkit.org/show_bug.cgi?id=123709
103
104         Reviewed by Andreas Kling.
105
106         After moving ChildNodeList off from LiveNodeList the root is now always at least a ContainerNode.
107
108         * dom/ContainerNode.cpp:
109         (WebCore::ContainerNode::getElementsByTagName):
110         (WebCore::ContainerNode::getElementsByTagNameNS):
111         (WebCore::ContainerNode::getElementsByName):
112         (WebCore::ContainerNode::getElementsByClassName):
113         (WebCore::ContainerNode::radioNodeList):
114         
115             Also these move from Node to ContainerNode to make tighter typing work.
116
117 2013-11-03  Antti Koivisto  <antti@apple.com>
118
119         Switch createContextualFragment to element iterator
120         https://bugs.webkit.org/show_bug.cgi?id=123704
121
122         Reviewed by Andreas Kling.
123
124         * editing/FrameSelection.cpp:
125         (WebCore::scanForForm):
126         
127             Use type helpers instead of hasTagName
128
129         * editing/markup.cpp:
130         (WebCore::collectElementsToRemoveFromFragment):
131         (WebCore::removeElementFromFragmentPreservingChildren):
132         (WebCore::createContextualFragment):
133         * html/HTMLFormElement.cpp:
134         (WebCore::HTMLFormElement::formElementIndex):
135         
136             Use type helpers instead of hasTagName
137
138         * html/HTMLTagNames.in:
139         
140             Generate type helpers for <html>.
141
142 2013-11-03  Antti Koivisto  <antti@apple.com>
143
144         ChildNodeList should not be LiveNodeList
145         https://bugs.webkit.org/show_bug.cgi?id=123708
146
147         Reviewed by Sam Weinig.
148
149         ChildNodeList is a poor fit to be a LiveNodeList. It is heavily special-cased. It is also
150         the only subtype that returns non-Elements thus preventing tightening.
151
152         * bindings/js/JSNodeListCustom.cpp:
153         (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
154         
155             Support new types.
156
157         * dom/ChildNodeList.cpp:
158         (WebCore::EmptyNodeList::~EmptyNodeList):
159         (WebCore::ChildNodeList::ChildNodeList):
160         (WebCore::ChildNodeList::~ChildNodeList):
161         (WebCore::ChildNodeList::length):
162         (WebCore::childFromFirst):
163         (WebCore::childFromLast):
164         (WebCore::ChildNodeList::nodeBeforeCached):
165         (WebCore::ChildNodeList::nodeAfterCached):
166         (WebCore::ChildNodeList::item):
167         (WebCore::ChildNodeList::namedItem):
168         (WebCore::ChildNodeList::invalidateCache):
169         
170             Implement the same caching optimizations as LiveNodeList with tighter, less generic code.
171
172         * dom/ChildNodeList.h:
173         
174             Inherit ChildNodeList directly from NodeList.
175
176             Add new EmptyNodeList type. This is only ever used if NodeList is requested for a non-container node.
177             It allows tighter typing in ChildNodeList.
178
179         * dom/LiveNodeList.cpp:
180         (WebCore::LiveNodeList::namedItem):
181         * dom/LiveNodeList.h:
182         (WebCore::LiveNodeListBase::LiveNodeListBase):
183         (WebCore::LiveNodeListBase::~LiveNodeListBase):
184         (WebCore::LiveNodeList::LiveNodeList):
185         
186             Remove ChildNodeList specific code and branches.
187
188         * dom/Node.cpp:
189         (WebCore::Node::childNodes):
190         
191             Return EmptyNodeList for non-containers.
192
193         * dom/NodeList.h:
194         (WebCore::NodeList::~NodeList):
195         (WebCore::NodeList::isLiveNodeList):
196         (WebCore::NodeList::isChildNodeList):
197         (WebCore::NodeList::isEmptyNodeList):
198         
199             For isReachableFromOpaqueRoots.
200
201         * dom/NodeRareData.h:
202         (WebCore::NodeListsNodeData::ensureChildNodeList):
203         (WebCore::NodeListsNodeData::removeChildNodeList):
204         (WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
205         (WebCore::NodeListsNodeData::removeEmptyChildNodeList):
206         (WebCore::NodeListsNodeData::NodeListsNodeData):
207         (WebCore::NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList):
208         
209             EmptyNodeList support.
210
211         * html/CollectionType.h:
212         * html/HTMLCollection.cpp:
213         (WebCore::shouldOnlyIncludeDirectChildren):
214         (WebCore::rootTypeFromCollectionType):
215         (WebCore::invalidationTypeExcludingIdAndNameAttributes):
216         (WebCore::isMatchingElement):
217         (WebCore::LiveNodeListBase::itemBefore):
218         (WebCore::LiveNodeListBase::traverseLiveNodeListFirstElement):
219         (WebCore::LiveNodeListBase::traverseLiveNodeListForwardToOffset):
220         (WebCore::LiveNodeListBase::item):
221         (WebCore::LiveNodeListBase::itemBeforeOrAfterCachedItem):
222         
223             Remove ChildNodeList specific code and branches.
224
225 2013-11-03  Patrick Gansterer  <paroga@webkit.org>
226
227         [WINCE] Replace OwnPtr with GDIObject
228         https://bugs.webkit.org/show_bug.cgi?id=123670
229
230         Reviewed by Anders Carlsson.
231
232         * page/win/FrameGdiWin.cpp:
233         (WebCore::imageFromRect):
234         * platform/graphics/wince/FontPlatformData.cpp:
235         (WebCore::FixedSizeFontData::create):
236         (WebCore::FontPlatformData::hfont):
237         (WebCore::FontPlatformData::getScaledFontHandle):
238         * platform/graphics/wince/GraphicsContextWinCE.cpp:
239         (WebCore::createPen):
240         (WebCore::createBrush):
241         (WebCore::GraphicsContext::drawRect):
242         (WebCore::GraphicsContext::drawLine):
243         (WebCore::GraphicsContext::drawEllipse):
244         (WebCore::GraphicsContext::drawConvexPolygon):
245         (WebCore::GraphicsContext::fillRect):
246         (WebCore::GraphicsContext::clip):
247         (WebCore::GraphicsContext::strokeRect):
248         (WebCore::GraphicsContext::fillRoundedRect):
249         (WebCore::GraphicsContext::drawRoundCorner):
250         (WebCore::GraphicsContext::fillPath):
251         (WebCore::GraphicsContext::strokePath):
252         (WebCore::GraphicsContext::drawText):
253         * platform/graphics/wince/ImageWinCE.cpp:
254         (WebCore::BitmapImage::getHBITMAPOfSize):
255         * platform/graphics/wince/SharedBitmap.cpp:
256         (WebCore::SharedBitmap::createHandle):
257         (WebCore::SharedBitmap::draw):
258         (WebCore::SharedBitmap::clipBitmap):
259         (WebCore::drawPatternSimple):
260         (WebCore::SharedBitmap::drawPattern):
261         (WebCore::SharedBitmap::DCProvider::getDC):
262         * platform/graphics/wince/SharedBitmap.h:
263
264 2013-11-03  Antti Koivisto  <antti@apple.com>
265
266         Add helpers for partial descendant traversal to element iterators
267         https://bugs.webkit.org/show_bug.cgi?id=123703
268
269         Reviewed by Andreas Kling.
270
271         * dom/ElementAncestorIterator.h:
272         (WebCore::lineageOfType):
273         
274             lineageOfType definition didn't match the declaration.
275
276         * dom/ElementDescendantIterator.h:
277         (WebCore::::find):
278         (WebCore::::from):
279         
280             Add find and from for getting begin iterator for partial traversals.
281
282         * editing/FrameSelection.cpp:
283         (WebCore::scanForForm):
284         (WebCore::FrameSelection::currentForm):
285         * html/HTMLFormElement.cpp:
286         (WebCore::HTMLFormElement::formElementIndex):
287         (WebCore::HTMLFormElement::findClosestFormAncestor):
288         
289             Use them in a few places.
290
291 2013-11-03  Andreas Kling  <akling@apple.com>
292
293         Inline RenderStyle functions for getting/setting pseudo style bits.
294         <https://webkit.org/b/123702>
295
296         hasPseudoStyle() actually shows up on html5-full-render.html,
297         and it's pretty crazy to eat the cost of a function call just
298         to do some basic bit twiddling.
299
300         Reviewed by Antti Koivisto.
301
302 2013-11-03  Xabier Rodriguez Calvar  <calvaris@igalia.com>
303
304         Remove HTMLMediaElement.initialTime
305         https://bugs.webkit.org/show_bug.cgi?id=123572
306
307         Reviewed by Eric Carlson.
308
309         Patch based on one by: philipj@opera.com
310         Blink review URL: https://codereview.chromium.org/35033002
311
312         initialTime has been removed from the HTMLMediaElement.
313
314         * bindings/gobject/WebKitDOMCustom.cpp:
315         (webkit_dom_html_media_element_get_initial_time):
316         * bindings/gobject/WebKitDOMCustom.h:
317         * bindings/gobject/WebKitDOMCustom.symbols: Added phony function.
318         * html/HTMLMediaElement.cpp:
319         * html/HTMLMediaElement.h:
320         * html/HTMLMediaElement.idl: Removed HTMLMediaElement::initialTime.
321
322 2013-11-02  Alexey Proskuryakov  <ap@apple.com>
323
324         Implement generateKey for HMAC and AES-CBC
325         https://bugs.webkit.org/show_bug.cgi?id=123669
326
327         Reviewed by Dan Bernstein.
328
329         Tests: crypto/subtle/aes-cbc-generate-key.html
330                crypto/subtle/hmac-generate-key.html
331
332         * WebCore.xcodeproj/project.pbxproj: Added new files.
333
334         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
335         (WebCore::createAesKeyGenParams): Added bindings for AesKeyGenParams.
336         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Handle
337         algorithms that generate AES and HMAC keys.
338
339         * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::generateKey): Added.
340
341         * crypto/CryptoAlgorithmAesKeyGenParams.h: Added.
342
343         * crypto/CryptoKey.cpp: (WebCore::CryptoKey::randomData):
344         * crypto/CryptoKey.h:
345         * crypto/CryptoKeyMac.cpp: Added
346         Expose a function that produces random data for symmetric crypto keys. Cross-platform
347         implementation uses ARC4 code from WTF, while Mac uses a system function that
348         provides a FIPS validated random number generator.
349
350         * crypto/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::generate):
351         * crypto/CryptoKeyAES.h:
352         Added a function that creates AES keys.
353
354         * crypto/SubtleCrypto.idl: Added generateKey.
355
356         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
357         (WebCore::CryptoAlgorithmAES_CBC::generateKey): Added.
358
359         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
360         (WebCore::CryptoAlgorithmHMAC::generateKey): Added.
361
362         * crypto/keys/CryptoKeyHMAC.cpp: (WebCore::CryptoKeyHMAC::generate):
363         * crypto/keys/CryptoKeyHMAC.h:
364         Added a function that creates HMAC keys.
365
366         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: Removed generateKey stub, the implementation
367         ended up in cross-platform file.
368
369         * crypto/mac/CryptoAlgorithmHMACMac.cpp: Ditto.
370
371 2013-11-02  Christophe Dumez  <ch.dumez@samsung.com>
372
373         EnforceRange doesn't enforce range of a short
374         https://bugs.webkit.org/show_bug.cgi?id=123661
375
376         Reviewed by Alexey Proskuryakov.
377
378         Handle Web IDL short / unsigned short types as per the
379         specification:
380         - http://www.w3.org/TR/WebIDL/#es-short
381         - http://www.w3.org/TR/WebIDL/#es-unsigned-short
382
383         Specifically, we used to treat short / unsigned short as 32bit
384         integers, which was wrong. We now properly handle them as 16bit
385         integers.
386
387         No new tests, added test cases to js/dom/webidl-type-mapping.html.
388
389         * WebCore.exp.in:
390         * bindings/js/JSDOMBinding.cpp:
391         (WebCore::toSmallerInt):
392         (WebCore::toSmallerUInt):
393         (WebCore::toInt8):
394         (WebCore::toUInt8):
395         (WebCore::toInt16):
396         (WebCore::toUInt16):
397         * bindings/js/JSDOMBinding.h:
398         * bindings/scripts/CodeGeneratorJS.pm:
399         (JSValueToNative):
400         * bindings/scripts/test/JS/JSTestObj.cpp:
401         (WebCore::setJSTestObjShortAttr):
402         (WebCore::setJSTestObjUnsignedShortAttr):
403         * testing/TypeConversions.h:
404         (WebCore::TypeConversions::testShort):
405         (WebCore::TypeConversions::setTestShort):
406         (WebCore::TypeConversions::testEnforceRangeShort):
407         (WebCore::TypeConversions::setTestEnforceRangeShort):
408         (WebCore::TypeConversions::testUnsignedShort):
409         (WebCore::TypeConversions::setTestUnsignedShort):
410         (WebCore::TypeConversions::testEnforceRangeUnsignedShort):
411         (WebCore::TypeConversions::setTestEnforceRangeUnsignedShort):
412         * testing/TypeConversions.idl:
413
414 2013-11-02  Patrick Gansterer  <paroga@webkit.org>
415
416         Cleanup OpenTypeUtilities
417         https://bugs.webkit.org/show_bug.cgi?id=123686
418
419         Reviewed by Darin Adler.
420
421         Merge the WinCE specific code into the general Windows code to
422         make the compilation of WinCE port on WinNT easier.
423
424         * platform/graphics/opentype/OpenTypeUtilities.cpp:
425         (WebCore::renameFont):
426         (WebCore::renameAndActivateFont):
427         * platform/graphics/opentype/OpenTypeUtilities.h:
428         * platform/graphics/win/FontCustomPlatformData.cpp:
429         (WebCore::createFontCustomPlatformData):
430         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
431         (WebCore::createFontCustomPlatformData):
432         * platform/graphics/wince/FontCustomPlatformData.cpp:
433         (WebCore::createFontCustomPlatformData):
434
435 2013-11-02  Andreas Kling  <akling@apple.com>
436
437         CSSFontFaceSrcValue constructors should return PassRef.
438         <https://webkit.org/b/123692>
439
440         Make functions that return non-null CSSFontFaceSrcValues return
441         PassRef instead of PassRefPtr. Tweak some call sites to be
442         slightly more efficient.
443
444         Reviewed by Anders Carlsson.
445
446 2013-11-02  Andreas Kling  <akling@apple.com>
447
448         CSSStyleSheet::contents() should return a reference.
449         <https://webkit.org/b/123689>
450
451         Make CSSStyleSheet::contents() return a StyleSheetContents& instead
452         of a pointer. The object was already stored in a Ref.
453
454         Reviewed by Anders Carlsson.
455
456 2013-11-02  Andreas Kling  <akling@apple.com>
457
458         CSSReflectValue constructor should return PassRef.
459         <https://webkit.org/b/123963>
460
461         Make CSSReflectValue::create() return a PassRef. Tweak one call
462         site to be slightly more efficient.
463
464         Reviewed by Anders Carlsson.
465
466 2013-11-02  Andreas Kling  <akling@apple.com>
467
468         CSSFontFeatureValue constructor should return PassRef.
469         <https://webkit.org/b/123691>
470
471         Make CSSFontFeatureValue::create() return PassRef, since it never
472         returns null. Tweak one call site to be slightly more efficient.
473
474         Reviewed by Anders Carlsson.
475
476 2013-11-02  Andreas Kling  <akling@apple.com>
477
478         Tighten typing in SVGResources::buildCachedResources().
479         <https://webkit.org/b/123690>
480
481         Make this function take a RenderElement&/SVGRenderStyle& pair instead
482         of a RenderObject*/SVGRenderStyle* pair. Also tweaked the code a bit,
483         removing ampersands and asserts as appropriate.
484
485         Reviewed by Anders Carlsson.
486
487 2013-11-02  Andreas Kling  <akling@apple.com>
488
489         CSSImageValue constructors should return PassRef.
490         <https://webkit.org/b/123688>
491
492         Make the CSSImageValue::create() helpers return PassRef.
493         Tightened call sites to avoid null checks and destructor calls.
494
495         Reviewed by Anders Carlsson.
496
497 2013-11-02  Patrick Gansterer  <paroga@webkit.org>
498
499         Fix compilation of SynchronousLoaderClient
500         https://bugs.webkit.org/show_bug.cgi?id=123676
501
502         Reviewed by Darin Adler.
503
504         Assign a ResourceRequest varibale an empty ResourceRequest instead of 0.
505         The current solution only works for ports which can create a
506         ResourceRequest from a pointer, which might not be true for all ports.
507
508         * platform/network/SynchronousLoaderClient.cpp:
509         (WebCore::SynchronousLoaderClient::willSendRequest):
510
511 2013-11-02  Patrick Gansterer  <paroga@webkit.org>
512
513         Port LoggingWin.cpp to WinCE
514         https://bugs.webkit.org/show_bug.cgi?id=123678
515
516         Reviewed by Darin Adler.
517
518         This makes it easier to use a common list of files
519         for the different Windows ports later.
520
521         * PlatformWin.cmake:
522         * platform/win/LoggingWin.cpp:
523         (WebCore::logLevelString):
524
525 2013-11-02  Patrick Gansterer  <paroga@webkit.org>
526
527         Fix UnicodeWchar after r157330.
528         https://bugs.webkit.org/show_bug.cgi?id=123668
529
530         Reviewed by Darin Adler.
531
532         * editing/TextIterator.cpp:
533         (WebCore::SearchBuffer::append):
534         * platform/graphics/wince/FontWinCE.cpp:
535         (WebCore::generateComponents):
536         * platform/graphics/wince/GraphicsContextWinCE.cpp:
537         (WebCore::GraphicsContext::drawText):
538         * platform/text/wchar/TextBreakIteratorWchar.cpp:
539         (WebCore::isCharStop):
540         (WebCore::isLineStop):
541         (WebCore::isSentenceStop):
542         (WebCore::WordBreakIterator::next):
543         (WebCore::WordBreakIterator::previous):
544
545 2013-11-02  Andreas Kling  <akling@apple.com>
546
547         Use RenderChildIterator in a couple of places.
548         <https://webkit.org/b/123684>
549
550         Added isRendererOfType() for RenderBox and RenderBlock and switch
551         some loops over to using childrenOfType<>. Also sprinkled const
552         and references on touched code.
553
554         Reviewed by Antti Koivisto.
555
556 2013-11-02  Zan Dobersek  <zdobersek@igalia.com>
557
558         Manage FileReaderLoader through std::unique_ptr
559         https://bugs.webkit.org/show_bug.cgi?id=123666
560
561         Reviewed by Anders Carlsson.
562
563         Construct FileReaderLoader objects through std::make_unique and store them in std::unique_ptr.
564
565         * fileapi/FileReader.cpp:
566         (WebCore::FileReader::readInternal):
567         * fileapi/FileReader.h:
568
569 2013-11-02  Andreas Kling  <akling@apple.com>
570
571         Add a child renderer iterator.
572         <https://webkit.org/b/123662>
573
574         Introduce an ElementIterator-style iterator for renderers and put
575         it to use in a childrenOfType() implementation.
576
577         It's used just like the Element iterators:
578
579         auto sections = childrenOfType<RenderTableSection>(*this);
580         for (auto section = sections.begin(), section = sections.end(); section != sections.end(); ++section)
581             section->thisOrThat();
582
583         Just like the DOM counterpart, it relies on a templatized helper:
584
585             bool isRendererOfType<T>(const RenderObject&)
586
587         This patch puts the iterator to use in a couple of random places.
588
589         Reviewed by Antti Koivisto.
590
591 2013-11-02  Alexey Proskuryakov  <ap@apple.com>
592
593         Implement remaining SHA variations for WebCrypto
594         https://bugs.webkit.org/show_bug.cgi?id=123659
595
596         Reviewed by Anders Carlsson.
597
598         Tests: crypto/subtle/sha-224.html
599                crypto/subtle/sha-256.html
600                crypto/subtle/sha-384.html
601                crypto/subtle/sha-512.html
602
603         * WebCore.xcodeproj/project.pbxproj:
604         * crypto/algorithms/CryptoAlgorithmSHA224.cpp: Added.
605         (WebCore::CryptoAlgorithmSHA224::CryptoAlgorithmSHA224):
606         (WebCore::CryptoAlgorithmSHA224::~CryptoAlgorithmSHA224):
607         (WebCore::CryptoAlgorithmSHA224::create):
608         (WebCore::CryptoAlgorithmSHA224::identifier):
609         * crypto/algorithms/CryptoAlgorithmSHA224.h: Added.
610         * crypto/algorithms/CryptoAlgorithmSHA256.cpp: Added.
611         (WebCore::CryptoAlgorithmSHA256::CryptoAlgorithmSHA256):
612         (WebCore::CryptoAlgorithmSHA256::~CryptoAlgorithmSHA256):
613         (WebCore::CryptoAlgorithmSHA256::create):
614         (WebCore::CryptoAlgorithmSHA256::identifier):
615         * crypto/algorithms/CryptoAlgorithmSHA256.h: Added.
616         * crypto/algorithms/CryptoAlgorithmSHA384.cpp: Added.
617         (WebCore::CryptoAlgorithmSHA384::CryptoAlgorithmSHA384):
618         (WebCore::CryptoAlgorithmSHA384::~CryptoAlgorithmSHA384):
619         (WebCore::CryptoAlgorithmSHA384::create):
620         (WebCore::CryptoAlgorithmSHA384::identifier):
621         * crypto/algorithms/CryptoAlgorithmSHA384.h: Added.
622         * crypto/algorithms/CryptoAlgorithmSHA512.cpp: Added.
623         (WebCore::CryptoAlgorithmSHA512::CryptoAlgorithmSHA512):
624         (WebCore::CryptoAlgorithmSHA512::~CryptoAlgorithmSHA512):
625         (WebCore::CryptoAlgorithmSHA512::create):
626         (WebCore::CryptoAlgorithmSHA512::identifier):
627         * crypto/algorithms/CryptoAlgorithmSHA512.h: Added.
628         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
629         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
630         * crypto/mac/CryptoAlgorithmSHA224Mac.cpp: Added.
631         (WebCore::CryptoAlgorithmSHA224::digest):
632         * crypto/mac/CryptoAlgorithmSHA256Mac.cpp: Added.
633         (WebCore::CryptoAlgorithmSHA256::digest):
634         * crypto/mac/CryptoAlgorithmSHA384Mac.cpp: Added.
635         (WebCore::CryptoAlgorithmSHA384::digest):
636         * crypto/mac/CryptoAlgorithmSHA512Mac.cpp: Added.
637         (WebCore::CryptoAlgorithmSHA512::digest):
638
639 2013-11-02  Patrick Gansterer  <paroga@webkit.org>
640
641         Various small WinCE build fixes
642
643         * editing/TextIterator.cpp:
644         (WebCore::SearchBuffer::append):
645         * platform/graphics/BitmapImage.h:
646         * platform/graphics/wince/ImageWinCE.cpp:
647         (WebCore::BitmapImage::getHBITMAPOfSize):
648         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
649         * platform/graphics/wince/PlatformPathWinCE.h:
650         * platform/win/PopupMenuWin.h:
651         * rendering/RenderThemeWinCE.cpp:
652         (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
653
654 2013-11-01  Alexey Proskuryakov  <ap@apple.com>
655
656         Add WebCrypto AES-CBC
657         https://bugs.webkit.org/show_bug.cgi?id=123647
658
659         Reviewed by Anders Carlsson.
660
661         Tests: crypto/subtle/aes-cbc-192-encrypt-decrypt.html
662                crypto/subtle/aes-cbc-256-encrypt-decrypt.html
663                crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html
664                crypto/subtle/aes-cbc-encrypt-decrypt.html
665                crypto/subtle/aes-cbc-invalid-length.html
666                crypto/subtle/aes-cbc-wrong-key-class.html
667
668         * WebCore.xcodeproj/project.pbxproj: Added new files.
669         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
670         (WebCore::getProperty): Factored out a function to get a property as JSValue.
671         (WebCore::getHashAlgorithm): Use it.
672         (WebCore::createAesCbcParams): Added converter for AesCbcParams.
673         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt): Support AES_CBC.
674         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt): Ditto.
675         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Support all
676         algorithms, all the new ones just have trivial dictionaries.
677         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey): Ditto.
678
679         * bindings/js/JSCryptoOperationData.cpp: Added.
680         (WebCore::sequenceOfCryptoOperationDataFromJSValue):
681         (WebCore::cryptoOperationDataFromJSValue):
682         * bindings/js/JSCryptoOperationData.h: Added.
683         Moved CryptoOperationData bindings out of JSSubtleCryptoCustom.cpp, so that we
684         could use them in JSCryptoAlgorithmDictionary.cpp.
685
686         * bindings/js/JSDOMPromise.h: (WebCore::PromiseWrapper::reject): Added a specialization
687         to reject with null result. The spec doesn't actually say how algorithms fail.
688
689         * bindings/js/JSSubtleCryptoCustom.cpp:
690         (WebCore::JSSubtleCrypto::encrypt): Added.
691         (WebCore::JSSubtleCrypto::decrypt): Ditto.
692         (WebCore::JSSubtleCrypto::sign): Style fix.
693
694         * crypto/CryptoAlgorithmAesCbcParams.h: Added.
695
696         * crypto/CryptoKey.h:
697         (WebCore::CryptoKeyClass):
698         * crypto/keys/CryptoKeyHMAC.h:
699         (WebCore::asCryptoKeyHMAC):
700         Added poor man's RTTI, so that we can safely upcast Keys passed fro JavaScript code.
701
702         * crypto/CryptoKeyAES.cpp: Added.
703         (WebCore::CryptoKeyAES::CryptoKeyAES):
704         (WebCore::CryptoKeyAES::~CryptoKeyAES):
705         (WebCore::CryptoKeyAES::buildAlgorithmDescription):
706         * crypto/CryptoKeyAES.h: Added.
707         (WebCore::asCryptoKeyAES):
708         AES keys are the same for all algorithms, but they still need to remember the algorithm.
709
710         * crypto/SubtleCrypto.idl: Added encrypt/decrypt.
711
712         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp: Added.
713         (WebCore::CryptoAlgorithmAES_CBC::CryptoAlgorithmAES_CBC):
714         (WebCore::CryptoAlgorithmAES_CBC::~CryptoAlgorithmAES_CBC):
715         (WebCore::CryptoAlgorithmAES_CBC::create):
716         (WebCore::CryptoAlgorithmAES_CBC::identifier):
717         (WebCore::CryptoAlgorithmAES_CBC::importKey):
718         (WebCore::CryptoAlgorithmAES_CBC::exportKey):
719         * crypto/algorithms/CryptoAlgorithmAES_CBC.h: Added.
720         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: Added.
721         (WebCore::transformAES_CBC):
722         (WebCore::CryptoAlgorithmAES_CBC::encrypt):
723         (WebCore::CryptoAlgorithmAES_CBC::decrypt):
724         (WebCore::CryptoAlgorithmAES_CBC::generateKey):
725         Added.
726
727         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
728         (WebCore::CryptoAlgorithmHMAC::sign):
729         (WebCore::CryptoAlgorithmHMAC::verify):
730         Check key class before casting it to CryptoKeyHMAC.
731
732         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
733         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register AES-CBC
734         on Mac, so that it can be used.
735
736 2013-11-01  Andreas Kling  <akling@apple.com>
737
738         SVGRenderStyle accessors should return references.
739         <https://webkit.org/b/123656>
740
741         RenderStyle::svgStyle() and accessSVGStyle() never return null,
742         so make them return references instead.
743         
744         This flushed out a myriad of pointless null checks and assertions.
745
746         Reviewed by Anders Carlsson.
747
748 2013-11-01  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
749
750         Removing MediaStreamTrackVector and MediaStreamSourceVector typedefs
751         https://bugs.webkit.org/show_bug.cgi?id=123648
752
753         Reviewed by Eric Carlson.
754
755         No new tests needed.
756
757         * Modules/mediastream/MediaStream.cpp:
758         (WebCore::MediaStream::create):
759         (WebCore::MediaStream::clone):
760         (WebCore::MediaStream::cloneMediaStreamTrackVector):
761         (WebCore::MediaStream::addTrack):
762         (WebCore::MediaStream::removeTrack):
763         (WebCore::MediaStream::haveTrackWithSource):
764         (WebCore::MediaStream::getTrackById):
765         (WebCore::MediaStream::trackVectorForType):
766         * Modules/mediastream/MediaStream.h:
767         * Modules/mediastream/MediaStreamTrack.h:
768         * Modules/mediastream/UserMediaRequest.cpp:
769         (WebCore::UserMediaRequest::callSuccessHandler):
770         * Modules/webaudio/AudioContext.cpp:
771         (WebCore::AudioContext::createMediaStreamSource):
772         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
773         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
774         * platform/mediastream/MediaStreamDescriptor.cpp:
775         (WebCore::MediaStreamDescriptor::create):
776         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
777         * platform/mediastream/MediaStreamDescriptor.h:
778         * platform/mediastream/MediaStreamSource.h:
779
780 2013-11-01  Andreas Kling  <akling@apple.com>
781
782         createFontFaceValue() should be smarter about overgrown cache.
783         <https://webkit.org/b/123643>
784
785         Instead of clearing the whole font-face value cache when it passes
786         128 entries, just delete one entry at random.
787
788         Reviewed by Geoffrey Garen.
789
790 2013-11-01  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
791
792         Fixing mac code to use new MediaStreamDescriptor create method
793         https://bugs.webkit.org/show_bug.cgi?id=123653
794
795         Reviewed by Eric Carlson.
796
797         No new tests needed.
798
799         * platform/mediastream/mac/MediaStreamCenterMac.cpp:
800         (WebCore::MediaStreamCenterMac::createMediaStream):
801
802 2013-11-01  Andreas Kling  <akling@apple.com>
803
804         Re-use existing RenderStyle local in textWidth().
805         <https://webkit.org/b/123392>
806
807         We already have the RenderStyle cached in a local here, so avoid
808         getting it from RenderText since that has to go via the parent.
809
810         Reviewed by Antti Koivisto.
811
812 2013-11-01  Andreas Kling  <akling@apple.com>
813
814         Neuter WTF_MAKE_FAST_ALLOCATED in GLOBAL_FASTMALLOC_NEW builds.
815         <https://webkit.org/b/123639>
816
817         WebCore::TimerBase really needed to have the new/delete operators
818         overridden, in order for WebCore::SuspendableTimer to be able to
819         choose that "operator new" out of the two it inherits.
820
821         Reviewed by Anders Carlsson.
822
823 2013-11-01  Andreas Kling  <akling@apple.com>
824
825         CSSCanvasValue construction helper should return PassRef.
826         <https://webkit.org/b/123650>
827
828         Return PassRef instead of PassRefPtr from functions that return
829         ownership-passing pointers that are known to be non-null.
830
831         Reviewed by Anders Carlsson.
832
833 2013-11-01  Joseph Pecoraro  <pecoraro@apple.com>
834
835         Move CF/Mac WTF String implementations down into WTF
836         https://bugs.webkit.org/show_bug.cgi?id=123635
837
838         Reviewed by Sam Weinig.
839
840         * WebCore.vcxproj/WebCore.vcxproj:
841         * WebCore.vcxproj/WebCore.vcxproj.filters:
842         * WebCore.xcodeproj/project.pbxproj:
843
844 2013-11-01  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
845
846         Removing unnecessary early returns in addTrack, removeTrack and removeRemoteSource methods
847         https://bugs.webkit.org/show_bug.cgi?id=123644
848
849         Reviewed by Eric Carlson.
850
851         No new tests needed.
852
853         * Modules/mediastream/MediaStream.cpp:
854         (WebCore::MediaStream::addTrack):
855         (WebCore::MediaStream::removeTrack):
856         (WebCore::MediaStream::removeRemoteSource):
857         (WebCore::MediaStream::trackVectorForType):
858         * Modules/mediastream/MediaStream.h:
859
860 2013-11-01  Andreas Kling  <akling@apple.com>
861
862         CSSAspectRatioValue construction helper should return PassRef.
863         <https://webkit.org/b/123645>
864
865         Return PassRef instead of PassRefPtr from functions that return
866         ownership-passing pointers that are known to be non-null.
867
868         Reviewed by Darin Adler.
869
870 2013-11-01  Myles C. Maxfield  <mmaxfield@apple.com>
871
872         Initial implementation of text-decoration-skip ink
873         https://bugs.webkit.org/show_bug.cgi?id=121806
874
875         Reviewed by Darin Adler.
876
877         text-decoration-skip: ink is implemented by the following steps:
878         1. Before drawing any decorations, figure out the bounding box for the decorations that will be drawn
879         2. Create an ImageBuffer with these dimensions
880         3. Draw text into this ImageBuffer with a thicker stroke
881         4. Apply the ImageBuffer as a mask to the context
882         5. Draw decorations like normal
883         6. Clean up
884
885         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink.html
886
887         * platform/graphics/cg/GraphicsContextCG.cpp:
888         (WebCore::computeLineBoundsAndAntialiasingModeForText): Don't call GraphicsContext::roundToDevicePixels
889         when painting is disabled
890         * rendering/InlineTextBox.cpp:
891         (WebCore::InlineTextBox::paint): Pass the TextPainter to paintDecoration
892         (WebCore::computeUnderlineOffset): Small cleanup
893         (WebCore::getWavyStrokeControlPointDistance): Pulling out of strokeWavyTextDecoration()
894         (WebCore::getWavyStrokeStep): Ditto
895         (WebCore::strokeWavyTextDecoration): Use the previous 2 functions
896         (WebCore::getSingleDecorationBoundingBox): Pulling out repeated code into a function
897         (WebCore::getDecorationBoundingBox): Compute the bounding box for an underline which
898         hasn't been drawn yet
899         (WebCore::InlineTextBox::paintDecoration): Construct a mask and apply it to the GraphicsContext
900         * rendering/InlineTextBox.h: paintDecoration needs the TextPainter
901         * rendering/style/RenderStyle.cpp:
902         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline): Redraw the underline when
903         text-decoration-skip changes
904
905 2013-11-01  Andreas Kling  <akling@apple.com>
906
907         CSS 'initial' and 'inherit' value constructors should return PassRef.
908         <https://webkit.org/b/123641>
909
910         Make the helpers involved in constructing CSS{Initial,Inherited}Value
911         all return PassRef instead of PassRefPtr. This avoids generating
912         pointless null checks at the call sites.
913
914         Reviewed by Darin Adler.
915
916 2013-11-01  Andreas Kling  <akling@apple.com>
917
918         Kill RenderArena.
919         <https://webkit.org/b/123634>
920
921         There are no remaining users of the RenderArena allocator.
922
923         Reviewed by Geoffrey Garen.
924
925 2013-11-01  James Craig  <jcraig@apple.com>
926
927         AX: Regression: media controls are no longer accessible
928         https://bugs.webkit.org/show_bug.cgi?id=121990
929
930         Reviewed by Jer Noble.
931
932         Updated existing test coverage.
933         Added ARIA roles, attrs, and labels to the new media controls shadow DOM.
934         Localization will be handled in http://webkit.org/b/120956
935
936         * Modules/mediacontrols/mediaControlsApple.js:
937         (Controller.prototype.UIString):
938         (Controller.prototype.createControls):
939         (Controller.prototype.handleLoadStart):
940         (Controller.prototype.handleError):
941         (Controller.prototype.handleAbort):
942         (Controller.prototype.handleSuspend):
943         (Controller.prototype.handleStalled):
944         (Controller.prototype.handleWaiting):
945         (Controller.prototype.handleFullscreenChange):
946         (Controller.prototype.handleMuteButtonClicked):
947         (Controller.prototype.handleMinButtonClicked):
948         (Controller.prototype.handleMaxButtonClicked):
949         (Controller.prototype.handleVolumeSliderChange):
950         (Controller.prototype.updatePlaying):
951
952 2013-11-01  Andreas Kling  <akling@apple.com>
953
954         Take BidiRuns out of the arena.
955         <https://webkit.org/b/123630>
956
957         Stop arena-allocating BidiRun objects and use regular new/delete.
958
959         With this, there are no remaining clients of RenderArena.
960         It will be removed in a subsequent patch.
961
962         Reviewed by Anders Carlsson.
963
964 2013-11-01  Afonso R. Costa Jr.  <afonso.costa@samsung.com>
965
966         Expose setApplicationCacheOriginQuota via window.internals
967         https://bugs.webkit.org/show_bug.cgi?id=87838
968
969         Reviewed by Joseph Pecoraro.
970
971         Also reset the default origin quota in resetToConsistentState().
972
973         * testing/Internals.cpp: Add setApplicationCacheOriginQuota.
974         (WebCore::Internals::resetToConsistentState): Reset the default origin
975         quota.
976         (WebCore::Internals::setApplicationCacheOriginQuota): Added.
977         * testing/Internals.h: Add setApplicationCacheOriginQuota.
978         * testing/Internals.idl: Ditto.
979
980 2013-11-01  Nick Diego Yamane  <nick.yamane@openbossa.org>
981
982         Explicitly initialize RefCounted base class in MediaStreamTrack's constructors
983         https://bugs.webkit.org/show_bug.cgi?id=123620
984
985         Reviewed by Andreas Kling.
986
987         No new tests needed.
988
989         * Modules/mediastream/MediaStreamTrack.cpp:
990         (WebCore::MediaStreamTrack::MediaStreamTrack):
991
992 2013-11-01  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
993
994         Adding addRemoteTrack and removeRemoteTrack functions to MediaStreamDescriptor and MediaStream
995         https://bugs.webkit.org/show_bug.cgi?id=123477
996
997         Reviewed by Eric Carlson.
998
999         When the backend report that a remote track has been added or removed by a remote peer, we must be able to add
1000         it to its MediaStream
1001
1002         No new tests needed.
1003
1004         * Modules/mediastream/MediaStream.cpp:
1005         (WebCore::MediaStream::addTrack): Splitted in two parts that can be used by old addTrack and new addRemoteTrack.
1006         (WebCore::MediaStream::removeTrack): Splitted in two parts that can be used by old removeTrack and new
1007         removeRemoteTrack.
1008         (WebCore::MediaStream::addRemoteSource): Reusing code in new addTrack method.
1009         (WebCore::MediaStream::removeRemoteSource): Refactored.
1010         (WebCore::MediaStream::addRemoteTrack): Added.
1011         (WebCore::MediaStream::removeRemoteTrack): Added.
1012         (WebCore::MediaStream::getTrackVectorForType): Helper method that returns a vector of tracks according to
1013         track's type (Audio or Video).
1014
1015         * Modules/mediastream/MediaStream.h:
1016         * Modules/mediastream/MediaStreamTrack.cpp:
1017         (WebCore::MediaStreamTrack::MediaStreamTrack):
1018         * platform/mediastream/MediaStreamDescriptor.cpp:
1019         (WebCore::MediaStreamDescriptor::addRemoteTrack): Added.
1020         (WebCore::MediaStreamDescriptor::removeRemoteTrack): Added.
1021         * platform/mediastream/MediaStreamDescriptor.h:
1022
1023 2013-11-01  Brendan Long  <b.long@cablelabs.com>
1024
1025         [GStreamer] Support audio and video tracks
1026         https://bugs.webkit.org/show_bug.cgi?id=117039
1027
1028         Reviewed by Philippe Normand.
1029
1030         Tests: media/track/audio/audio-track-mkv-vorbis-addtrack.html
1031                media/track/audio/audio-track-mkv-vorbis-enabled.html
1032                media/track/audio/audio-track-mkv-vorbis-language.html
1033                media/track/in-band/track-in-band-kate-ogg-addtrack.html
1034                media/track/in-band/track-in-band-srt-mkv-addtrack.html
1035                media/track/video/video-track-mkv-theora-addtrack.html
1036                media/track/video/video-track-mkv-theora-language.html
1037                media/track/video/video-track-mkv-theora-selected.html
1038
1039         * GNUmakefile.list.am: Add audio and video track files.
1040         * PlatformEfl.cmake: Same.
1041         * html/HTMLMediaElement.cpp:
1042         (WebCore::HTMLMediaElement::audioTrackEnabledChanged): Schedule "change" event.
1043         (WebCore::HTMLMediaElement::videoTrackSelectedChanged): Same.
1044         * html/track/AudioTrack.cpp:
1045         (WebCore::AudioTrack::setEnabled): Call m_private->setEnabled
1046         (WebCore::AudioTrack::enabledChanged): Added callback.
1047         (WebCore::AudioTrack::labelChanged): Same.
1048         (WebCore::AudioTrack::languageChanged): Same.
1049         (WebCore::AudioTrack::willRemoveAudioTrackPrivate): Use ASSERT_UNUSED for consistence.
1050         * html/track/AudioTrack.h: Add new enabled, label and language callbacks.
1051         * html/track/VideoTrack.cpp:
1052         (WebCore::VideoTrack::setSelected): Call m_private->setEnabled
1053         (WebCore::VideoTrack::selectedChanged): Added callback.
1054         (WebCore::VideoTrack::labelChanged): Same.
1055         (WebCore::VideoTrack::languageChanged): Same.
1056         (WebCore::VideoTrack::willRemoveVideoTrackPrivate): Use ASSERT_UNUSED for consistence.
1057         * html/track/VideoTrack.h: Add new selected, label and language callbacks.
1058         * platform/graphics/AudioTrackPrivate.h:
1059         (WebCore::AudioTrackPrivate::setEnabled): Call m_client->enabledChanged
1060         * platform/graphics/VideoTrackPrivate.h:
1061         (WebCore::VideoTrackPrivate::setSelected): Call m_client->selectedChanged
1062         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
1063         (WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer): Add ASSERT(m_pad)
1064         (WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfTagsChanged): Look at all tag events instead of just the first one.
1065         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1066         (WebCore::mediaPlayerPrivateVideoSinkCapsChangedCallback): Separated callback when caps change from callback when number of videos change.
1067         (WebCore::mediaPlayerPrivateVideoCapsChangeTimeoutCallback): Same.
1068         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Initialize m_videoCapsTimerHandler.
1069         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): Disconnect audio and video tracks and remove callbacks.
1070         (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged): Separated callback when caps change from callback when number of videos change.
1071         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): Create video tracks for each stream.
1072         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps): Separated callback when caps change from callback when number of videos change.
1073         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): Create audio tracks for each stream.
1074         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Add audio and video tracks, and a pointer to keep track of the default audio stream.
1075         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp: Added.
1076         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: Added.
1077         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Add GRefPtr<GstTagList>
1078         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp: Added, handles tags and "active" property of audio and video tracks.
1079         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Added.
1080         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp: Added.
1081         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: Added.
1082
1083 2013-11-01  Patrick Gansterer  <paroga@webkit.org>
1084
1085         Buildfix for !ENABLE(INSPECTOR) after 157288.
1086
1087         * inspector/InspectorInstrumentation.h:
1088         (WebCore::InspectorInstrumentation::willDispatchEvent):
1089
1090 2013-11-01  Mario Sanchez Prada  <mario.prada@samsung.com>
1091
1092         [ATK] Avoid explicit traversal of text controls and the render tree in AtkText implementation
1093         https://bugs.webkit.org/show_bug.cgi?id=123153
1094
1095         Reviewed by Chris Fleizach.
1096
1097         Remove functions from the AtkText implementation that manually
1098         walk the render tree to compose the text for a exposed objects in
1099         certain cases (e.g. anonymous blocks, text controls).
1100
1101         The reason for this change is that the current implementation
1102         follows an error-prone approach, since by doing things like
1103         manually walking the render tree from here we are not properly
1104         considering all the possible scenarios that might happen when
1105         traversing text. This, however, is a task that is better suited
1106         for the TextIterator, which is already written to consider all
1107         those cases and to emit the proper character in every single
1108         situation: text nodes, replaced objects and so on.
1109
1110         So, by removing all that too specific code (textForObject() and
1111         textForRenderer() mainly) from WebKitAccessibleInterfaceText.cpp
1112         and relying in AccessibilityObject::textUnderElement(), which it
1113         ends up using the TextIterator for certain cases, we have a much
1114         better and robust method of retrieving the text associated with an
1115         instance of AtkObject implementing the AtkText interface.
1116
1117         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1118         (webkitAccessibleTextGetText): Removed call to textForObject(), now that
1119         we have just removed that function, together with textForRenderer().
1120
1121         Make AccessibilityRenderObject::textUnderElement() able to deal with
1122         anonymous blocks directly, by creating a range based in the boundaries
1123         defined by the first and last child renderers for that block. This will
1124         make possible to treat an anonymous block as a whole instead of having
1125         to rely in the concatenation of each of its children, as it does now.
1126
1127         * accessibility/AccessibilityRenderObject.cpp:
1128         (WebCore::AccessibilityRenderObject::textUnderElement): Added a new code
1129         path to deal with anonymous blocks for text renderers, or when including
1130         all the children is explicitly requested.
1131
1132         Modified TextIterator so text for children of replaced objects are
1133         ignored if we are emmiting the special character for those objects.
1134
1135         * editing/TextIterator.cpp:
1136         (WebCore::TextIterator::handleReplacedElement): Make sure no children are
1137         handled a replaced object if m_emitsObjectReplacementCharacters is set.
1138         * editing/TextIterator.h: Updated m_emitsObjectReplacementCharacters
1139         description to reflect the new behavior.
1140
1141 2013-11-01  Alexey Proskuryakov  <ap@apple.com>
1142
1143         Add a Mac WebCrypto implementation of HMAC importKey/sign/verify
1144         https://bugs.webkit.org/show_bug.cgi?id=123598
1145
1146         Reviewed by Anders Carlsson.
1147
1148         Test: crypto/subtle/hmac-sign-verify.html
1149
1150         * WebCore.xcodeproj/project.pbxproj:
1151         * bindings/js/JSSubtleCryptoCustom.cpp: Added property svn:eol-style.
1152         (WebCore::createAlgorithmFromJSValue):
1153         (WebCore::cryptoOperationDataFromJSValue):
1154         (WebCore::cryptoKeyFormatFromJSValue):
1155         (WebCore::cryptoKeyUsagesFromJSValue):
1156         (WebCore::JSSubtleCrypto::sign):
1157         (WebCore::JSSubtleCrypto::verify):
1158         (WebCore::JSSubtleCrypto::digest):
1159         (WebCore::JSSubtleCrypto::importKey):
1160         * crypto/SubtleCrypto.idl:
1161         * crypto/algorithms/CryptoAlgorithmHMAC.cpp: Added.
1162         (WebCore::CryptoAlgorithmHMAC::CryptoAlgorithmHMAC):
1163         (WebCore::CryptoAlgorithmHMAC::~CryptoAlgorithmHMAC):
1164         (WebCore::CryptoAlgorithmHMAC::create):
1165         (WebCore::CryptoAlgorithmHMAC::identifier):
1166         (WebCore::CryptoAlgorithmHMAC::importKey):
1167         (WebCore::CryptoAlgorithmHMAC::exportKey):
1168         * crypto/algorithms/CryptoAlgorithmHMAC.h: Added.
1169         * crypto/keys: Added.
1170         * crypto/keys/CryptoKeyHMAC.cpp: Added.
1171         (WebCore::CryptoKeyHMAC::CryptoKeyHMAC):
1172         (WebCore::CryptoKeyHMAC::~CryptoKeyHMAC):
1173         (WebCore::CryptoKeyHMAC::buildAlgorithmDescription):
1174         * crypto/keys/CryptoKeyHMAC.h: Added.
1175         * crypto/mac/CryptoAlgorithmHMACMac.cpp: Added.
1176         (WebCore::getCommonCryptoAlgorithm):
1177         (WebCore::calculateSignature):
1178         (WebCore::CryptoAlgorithmHMAC::sign):
1179         (WebCore::CryptoAlgorithmHMAC::verify):
1180         (WebCore::CryptoAlgorithmHMAC::generateKey):
1181         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
1182         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
1183
1184 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
1185
1186         Web Inspector: Clean up a few Inspector interfaces
1187         https://bugs.webkit.org/show_bug.cgi?id=123594
1188
1189         Reviewed by Timothy Hatcher.
1190
1191         * WebCore.exp.in:
1192         * inspector/InjectedScriptHost.cpp:
1193         * inspector/InspectorBaseAgent.h:
1194         (WebCore::InspectorBaseAgentInterface::name):
1195         * inspector/InspectorConsoleAgent.cpp:
1196         * inspector/InspectorConsoleAgent.h:
1197         (WebCore::InspectorConsoleAgent::enabled):
1198         * inspector/InspectorController.cpp:
1199         (WebCore::InspectorController::profilerEnabled):
1200         * inspector/InspectorController.h:
1201         * inspector/InspectorDebuggerAgent.cpp:
1202         * inspector/InspectorDebuggerAgent.h:
1203         (WebCore::InspectorDebuggerAgent::enabled):
1204         * inspector/InspectorRuntimeAgent.h:
1205         (WebCore::InspectorRuntimeAgent::enabled):
1206
1207 2013-10-31  Tim Horton  <timothy_horton@apple.com>
1208
1209         Remote Layer Tree: Vend layer contents via IOSurfaces
1210         https://bugs.webkit.org/show_bug.cgi?id=123600
1211
1212         Reviewed by Anders Carlsson.
1213
1214         * WebCore.exp.in:
1215         Export sRGBColorSpaceRef.
1216
1217         * WebCore.xcodeproj/project.pbxproj:
1218         Expose GraphicsContextCG.h.
1219
1220 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
1221
1222         Remove unused Page::setDebuggerForAllPages
1223         https://bugs.webkit.org/show_bug.cgi?id=123602
1224
1225         Reviewed by Timothy Hatcher.
1226
1227         * page/Page.cpp:
1228         * page/Page.h:
1229
1230 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
1231
1232         Web Inspector: Remove InspectorState
1233         https://bugs.webkit.org/show_bug.cgi?id=123547
1234
1235         Reviewed by Timothy Hatcher.
1236
1237         * CMakeLists.txt:
1238         * GNUmakefile.list.am:
1239         * WebCore.vcxproj/WebCore.vcxproj:
1240         * WebCore.vcxproj/WebCore.vcxproj.filters:
1241         * WebCore.xcodeproj/project.pbxproj:
1242         * inspector/InspectorAgent.cpp:
1243         (WebCore::InspectorAgent::InspectorAgent):
1244         * inspector/InspectorAgent.h:
1245         (WebCore::InspectorAgent::create):
1246         * inspector/InspectorAllInOne.cpp:
1247         * inspector/InspectorApplicationCacheAgent.cpp:
1248         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
1249         * inspector/InspectorApplicationCacheAgent.h:
1250         (WebCore::InspectorApplicationCacheAgent::create):
1251         * inspector/InspectorBaseAgent.cpp:
1252         (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
1253         * inspector/InspectorBaseAgent.h:
1254         (WebCore::InspectorBaseAgent::InspectorBaseAgent):
1255         * inspector/InspectorCSSAgent.cpp:
1256         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
1257         * inspector/InspectorCSSAgent.h:
1258         (WebCore::InspectorCSSAgent::create):
1259         * inspector/InspectorCanvasAgent.cpp:
1260         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
1261         * inspector/InspectorCanvasAgent.h:
1262         (WebCore::InspectorCanvasAgent::create):
1263         * inspector/InspectorClient.h:
1264         * inspector/InspectorConsoleAgent.cpp:
1265         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1266         * inspector/InspectorConsoleAgent.h:
1267         * inspector/InspectorController.cpp:
1268         (WebCore::InspectorController::InspectorController):
1269         (WebCore::InspectorController::connectFrontend):
1270         (WebCore::InspectorController::disconnectFrontend):
1271         * inspector/InspectorController.h:
1272         * inspector/InspectorDOMAgent.cpp:
1273         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1274         * inspector/InspectorDOMAgent.h:
1275         (WebCore::InspectorDOMAgent::create):
1276         * inspector/InspectorDOMDebuggerAgent.cpp:
1277         (WebCore::InspectorDOMDebuggerAgent::create):
1278         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
1279         * inspector/InspectorDOMDebuggerAgent.h:
1280         * inspector/InspectorDOMStorageAgent.cpp:
1281         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
1282         * inspector/InspectorDOMStorageAgent.h:
1283         (WebCore::InspectorDOMStorageAgent::create):
1284         * inspector/InspectorDatabaseAgent.cpp:
1285         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
1286         * inspector/InspectorDatabaseAgent.h:
1287         (WebCore::InspectorDatabaseAgent::create):
1288         * inspector/InspectorDebuggerAgent.cpp:
1289         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1290         * inspector/InspectorDebuggerAgent.h:
1291         * inspector/InspectorHeapProfilerAgent.cpp:
1292         (WebCore::InspectorHeapProfilerAgent::create):
1293         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
1294         * inspector/InspectorHeapProfilerAgent.h:
1295         * inspector/InspectorIndexedDBAgent.cpp:
1296         (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
1297         * inspector/InspectorIndexedDBAgent.h:
1298         (WebCore::InspectorIndexedDBAgent::create):
1299         * inspector/InspectorInputAgent.cpp:
1300         (WebCore::InspectorInputAgent::InspectorInputAgent):
1301         * inspector/InspectorInputAgent.h:
1302         (WebCore::InspectorInputAgent::create):
1303         * inspector/InspectorLayerTreeAgent.cpp:
1304         (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
1305         * inspector/InspectorLayerTreeAgent.h:
1306         (WebCore::InspectorLayerTreeAgent::create):
1307         * inspector/InspectorMemoryAgent.cpp:
1308         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
1309         (WebCore::InspectorMemoryAgent::create):
1310         * inspector/InspectorMemoryAgent.h:
1311         * inspector/InspectorPageAgent.cpp:
1312         (WebCore::InspectorPageAgent::create):
1313         (WebCore::InspectorPageAgent::InspectorPageAgent):
1314         * inspector/InspectorPageAgent.h:
1315         * inspector/InspectorProfilerAgent.cpp:
1316         (WebCore::PageProfilerAgent::PageProfilerAgent):
1317         (WebCore::InspectorProfilerAgent::create):
1318         (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
1319         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
1320         * inspector/InspectorProfilerAgent.h:
1321         * inspector/InspectorResourceAgent.cpp:
1322         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
1323         * inspector/InspectorResourceAgent.h:
1324         (WebCore::InspectorResourceAgent::create):
1325         * inspector/InspectorRuntimeAgent.cpp:
1326         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1327         * inspector/InspectorRuntimeAgent.h:
1328         * inspector/InspectorState.cpp: Removed.
1329         * inspector/InspectorState.h: Removed.
1330         * inspector/InspectorStateClient.h: Removed.
1331         * inspector/InspectorTimelineAgent.cpp:
1332         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1333         * inspector/InspectorTimelineAgent.h:
1334         (WebCore::InspectorTimelineAgent::create):
1335         * inspector/InspectorWorkerAgent.cpp:
1336         (WebCore::InspectorWorkerAgent::create):
1337         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
1338         * inspector/InspectorWorkerAgent.h:
1339         * inspector/PageConsoleAgent.cpp:
1340         (WebCore::PageConsoleAgent::PageConsoleAgent):
1341         * inspector/PageConsoleAgent.h:
1342         (WebCore::PageConsoleAgent::create):
1343         * inspector/PageDebuggerAgent.cpp:
1344         (WebCore::PageDebuggerAgent::create):
1345         (WebCore::PageDebuggerAgent::PageDebuggerAgent):
1346         * inspector/PageDebuggerAgent.h:
1347         * inspector/PageRuntimeAgent.cpp:
1348         (WebCore::PageRuntimeAgent::PageRuntimeAgent):
1349         * inspector/PageRuntimeAgent.h:
1350         (WebCore::PageRuntimeAgent::create):
1351         * inspector/WorkerConsoleAgent.cpp:
1352         (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
1353         * inspector/WorkerConsoleAgent.h:
1354         (WebCore::WorkerConsoleAgent::create):
1355         * inspector/WorkerDebuggerAgent.cpp:
1356         (WebCore::WorkerDebuggerAgent::create):
1357         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
1358         * inspector/WorkerDebuggerAgent.h:
1359         * inspector/WorkerInspectorController.cpp:
1360         (WebCore::WorkerInspectorController::WorkerInspectorController):
1361         (WebCore::WorkerInspectorController::connectFrontend):
1362         (WebCore::WorkerInspectorController::disconnectFrontend):
1363         * inspector/WorkerInspectorController.h:
1364         * inspector/WorkerRuntimeAgent.cpp:
1365         (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
1366         * inspector/WorkerRuntimeAgent.h:
1367         (WebCore::WorkerRuntimeAgent::create):
1368         * workers/DefaultSharedWorkerRepository.cpp:
1369         (WebCore::SharedWorkerProxy::postMessageToPageInspector):
1370         * workers/WorkerMessagingProxy.cpp:
1371         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
1372         * workers/WorkerMessagingProxy.h:
1373         * workers/WorkerReportingProxy.h:
1374
1375 2013-10-31  Brady Eidson  <beidson@apple.com>
1376
1377         Split PendingDeleteCall into its own header
1378         https://bugs.webkit.org/show_bug.cgi?id=123597
1379
1380         Reviewed by Beth “Okay I guess so, bro” Dakin.
1381
1382         * GNUmakefile.list.am:
1383         * WebCore.xcodeproj/project.pbxproj:
1384
1385         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1386         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
1387         (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
1388         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1389
1390         * Modules/indexeddb/IDBPendingDeleteCall.h: Added.
1391         (WebCore::IDBPendingDeleteCall::create):
1392         (WebCore::IDBPendingDeleteCall::callbacks):
1393         (WebCore::IDBPendingDeleteCall::IDBPendingDeleteCall):
1394
1395 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
1396
1397         Web Inspector: Convert some InspectorObject member variables to HashSet/HashMap
1398         https://bugs.webkit.org/show_bug.cgi?id=123579
1399
1400         Reviewed by Timothy Hatcher.
1401
1402         * inspector/InspectorDOMDebuggerAgent.h:
1403         * inspector/InspectorDOMDebuggerAgent.cpp:
1404         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
1405         (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
1406         (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
1407         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
1408         (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
1409         (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
1410         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
1411         Make m_eventListenerBreakpoints and m_xhrBreakpoints HashSet.
1412
1413         * inspector/InspectorDebuggerAgent.h:
1414         * inspector/InspectorDebuggerAgent.cpp:
1415         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1416         (WebCore::InspectorDebuggerAgent::disable):
1417         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1418         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
1419         (WebCore::InspectorDebuggerAgent::didParseSource):
1420         Make m_javaScriptBreakpoints a HashMap.
1421
1422 2013-10-31  Youenn Fablet  <youennf@gmail.com>
1423
1424         Correct the elapsedTime calculation in SVG animations
1425         https://bugs.webkit.org/show_bug.cgi?id=119289
1426
1427         Reviewed by Brent Fulgham.
1428
1429         Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/338f9badca7fb7880abdb0cecd5f02493c1f7d2e
1430
1431         Test: svg/animations/getCurrentTime-pause-unpause.html
1432
1433         * svg/animation/SMILTimeContainer.cpp:
1434         (WebCore::SMILTimeContainer::SMILTimeContainer):
1435         (WebCore::SMILTimeContainer::elapsed):
1436         (WebCore::SMILTimeContainer::begin):
1437         (WebCore::SMILTimeContainer::pause):
1438         (WebCore::SMILTimeContainer::resume):
1439         (WebCore::SMILTimeContainer::setElapsed):
1440         * svg/animation/SMILTimeContainer.h:
1441
1442 2013-10-31  Andreas Kling  <akling@apple.com>
1443
1444         Manage line-grid RootInlineBox with unique_ptr.
1445         <https://webkit.org/b/123583>
1446
1447         Use smart pointers for the RenderBlockFlow's optional line-grid box
1448         instead of manual new/delete.
1449
1450         Reviewed by Antti Koivisto.
1451
1452 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
1453
1454         Enable WebCrypto on Mac
1455         https://bugs.webkit.org/show_bug.cgi?id=123587
1456
1457         Reviewed by Anders Carlsson.
1458
1459         * Configurations/FeatureDefines.xcconfig: Enable it.
1460
1461         * bindings/js/JSCryptoAlgorithmDictionary.cpp: Build fix.
1462
1463         * crypto/CryptoAlgorithmRegistry.cpp: (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
1464         Special case empty keys to avoid upsetting HashMap.
1465
1466         * crypto/algorithms/CryptoAlgorithmSHA1.cpp: (WebCore::CryptoAlgorithmSHA1::create):
1467         Build fix. Can't use make_unique, because constructor is private.
1468
1469 2013-10-31  Myles C. Maxfield  <mmaxfield@apple.com>
1470
1471         Underline bounds cannot be queried before underline itself is drawn
1472         https://bugs.webkit.org/show_bug.cgi?id=123310
1473
1474         Reviewed by Dean Jackson.
1475
1476         GraphicsContext's drawLineForText function is used to draw underlines,
1477         strikethroughs, and overlines. Before drawing the line, this function
1478         modifies the bounds given to it in order to make underlines crisp. However,
1479         this means that it is impossible to know where an underline will be drawn
1480         before drawing it. This patch pulls out this adjustment computation into
1481         GraphicsContext::computeLineBoundsForText, then passes the result to
1482         drawLineForText
1483
1484         Because there should be no observable difference, no tests need to be updated.
1485
1486         * platform/graphics/GraphicsContext.h: Signature of new computeLineBoundsForText
1487         function
1488         * platform/graphics/blackberry/PathBlackBerry.cpp:
1489         (WebCore::GraphicsContext::computeLineBoundsForText): Implement new function
1490         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1491         (WebCore::GraphicsContext::computeLineBoundsForText): Ditto
1492         (WebCore::GraphicsContext::drawLineForText): Use computeLineBoundsForText
1493         * platform/graphics/cg/GraphicsContextCG.cpp:
1494         (WebCore::computeLineBoundsAndAntialiasingModeForText): Static function that
1495         performs the actual bounds computation
1496         (WebCore::GraphicsContext::computeLineBoundsForText): Calls
1497         computeLineBoundsAndAntialiasingModeForText
1498         (WebCore::GraphicsContext::drawLineForText): Use new function
1499         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1500         (WebCore::GraphicsContext::computeLineBoundsForText): Implement new function
1501
1502 2013-10-31  Beth Dakin  <bdakin@apple.com>
1503
1504         Repro scrolling crash with scrollbars that use setPresentationValue on the 
1505         scrolling thread
1506         https://bugs.webkit.org/show_bug.cgi?id=123549
1507         -and corresponding-
1508         <rdar://problem/15246606>
1509
1510         Reviewed by Brady Eidson.
1511
1512         Here's another speculative fix. If a scrollbar was removed, we would not properly 
1513         inform the scrolling thread. Instead of checking supportsUpdateOnSecondaryThread() 
1514         before calling setScrollbarPaintersFromScrollbars(), check it from within 
1515         setScrollbarPaintersFromScrollbars(), and this will allow the ScrollbarPainter to 
1516         be properly updated.
1517
1518         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1519         (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
1520         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
1521         (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
1522
1523 2013-10-31  Csaba Osztrogonác  <ossy@webkit.org>
1524
1525         Unreviewed typo fix after 158386. (buildfix after r158365)
1526
1527         * Modules/mediastream/UserMediaRequest.cpp:
1528         (WebCore::UserMediaRequest::callSuccessHandler):
1529
1530 2013-10-31  Myles C. Maxfield  <mmaxfield@apple.com>
1531
1532         Move CSS3 text decoration implementation behind ENABLE(CSS3_TEXT_DECORATION)
1533         https://bugs.webkit.org/show_bug.cgi?id=123541
1534
1535         Reviewed by Tim Horton.
1536
1537         Enabled CSS3 text decoration tests
1538
1539         * css/CSSComputedStyleDeclaration.cpp:
1540         (WebCore::renderTextDecorationStyleFlagsToCSSValue): Mapping internal
1541         representation to a CSSValue
1542         (WebCore::ComputedStyleExtractor::propertyValue): Ditto
1543         * css/CSSParser.cpp: Moving parsing functions behind new flag
1544         (WebCore::isColorPropertyID):
1545         (WebCore::CSSParser::parseValue):
1546         (WebCore::CSSParser::addTextDecorationProperty):
1547         (WebCore::CSSParser::parseTextDecorationSkip):
1548         (WebCore::CSSParser::parseTextUnderlinePosition):
1549         * css/CSSParser.h:
1550         * css/CSSPrimitiveValueMappings.h:
1551         * css/CSSPropertyNames.in: Marking the new properties behind new flag
1552         * css/CSSValueKeywords.in: Marking new values behind new flag
1553         * css/DeprecatedStyleBuilder.cpp:
1554         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1555         * css/StylePropertyShorthand.cpp:
1556         (WebCore::shorthandForProperty): Move text decoration shorthand
1557         (WebCore::matchingShorthandsForLonghand):
1558         * css/StylePropertyShorthand.h:
1559         * css/StyleResolver.cpp:
1560         (WebCore::isValidVisitedLinkProperty):
1561         (WebCore::StyleResolver::applyProperty):
1562         * platform/graphics/GraphicsContext.h:
1563         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1564         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1565         * platform/graphics/cg/GraphicsContextCG.cpp:
1566         (WebCore::GraphicsContext::drawLine):
1567         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1568         (WebCore::createPen):
1569         * rendering/InlineFlowBox.cpp:
1570         * rendering/InlineFlowBox.h:
1571         * rendering/InlineTextBox.cpp:
1572         (WebCore::textDecorationStyleToStrokeStyle):
1573         (WebCore::computeUnderlineOffset):
1574         (WebCore::InlineTextBox::paintDecoration):
1575         * rendering/RenderObject.cpp:
1576         (WebCore::decorationColor):
1577         * rendering/RootInlineBox.cpp:
1578         * rendering/RootInlineBox.h:
1579         * rendering/style/RenderStyle.cpp:
1580         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
1581         (WebCore::RenderStyle::colorIncludingFallback):
1582         (WebCore::RenderStyle::visitedDependentColor):
1583         * rendering/style/RenderStyle.h:
1584         * rendering/style/RenderStyleConstants.h:
1585         * rendering/style/StyleRareInheritedData.cpp:
1586         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1587         (WebCore::StyleRareInheritedData::operator==):
1588         * rendering/style/StyleRareInheritedData.h:
1589         * rendering/style/StyleRareNonInheritedData.cpp:
1590         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1591         (WebCore::StyleRareNonInheritedData::operator==):
1592         * rendering/style/StyleRareNonInheritedData.h:
1593
1594 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
1595
1596         [WebCrypto] Add SHA-1
1597         https://bugs.webkit.org/show_bug.cgi?id=123582
1598
1599         Reviewed by Anders Carlsson.
1600
1601         Tests: security/crypto-subtle-arguments.html
1602                security/crypto-subtle-sha1.html
1603
1604         * WebCore.xcodeproj/project.pbxproj: Added new files.
1605
1606         * bindings/js/JSSubtleCryptoCustom.cpp:
1607         (WebCore::createAlgorithmFromJSValue):
1608         (WebCore::sequenceOfCryptoOperationDataFromJSValue):
1609         (WebCore::JSSubtleCrypto::digest):
1610         * crypto/SubtleCrypto.idl:
1611         Added bindings for crypto.digest.
1612
1613         * crypto/algorithms: Added.
1614         * crypto/algorithms/CryptoAlgorithmSHA1.cpp: Added.
1615         * crypto/algorithms/CryptoAlgorithmSHA1.h: Added.
1616         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
1617         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register SHA-1.
1618
1619         * crypto/mac/CryptoAlgorithmSHA1Mac.cpp: Added.
1620         (WebCore::CryptoAlgorithmSHA1::digest): Performs the work synchronously, because
1621         otherwise we'd have to copy the data first, which is crazy for something as simple
1622         as hashing. We can change to a dispatch queue later if we find that it's actually
1623         better to copy and do the work asynchronously.
1624
1625 2013-10-31  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
1626
1627         REGRESSION(r158348): Breaks Debug build
1628         https://bugs.webkit.org/show_bug.cgi?id=123562
1629
1630         Reviewed by Brady Eidson.
1631
1632         Remove an unnecessary check that cause compilation failure.
1633
1634         No new tests since this just fixes the build failure.
1635
1636         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1637         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
1638
1639 2013-10-31  Csaba Osztrogonác  <ossy@webkit.org>
1640
1641         One more speculative buildfix after r158365.
1642
1643         * Modules/mediastream/UserMediaRequest.cpp:
1644         (WebCore::UserMediaRequest::callSuccessHandler):
1645
1646 2013-10-31  Csaba Osztrogonác  <ossy@webkit.org>
1647
1648         One more speculative buildfix after r158365.
1649
1650         * Modules/mediastream/RTCPeerConnection.cpp:
1651         (WebCore::RTCPeerConnection::didAddRemoteStream):
1652
1653 2013-10-31  Csaba Osztrogonác  <ossy@webkit.org>
1654
1655         Speculative buildfix after r158365.
1656
1657         * Modules/mediastream/VideoStreamTrack.cpp:
1658         (WebCore::VideoStreamTrack::create):
1659         (WebCore::VideoStreamTrack::VideoStreamTrack):
1660         * Modules/mediastream/VideoStreamTrack.h:
1661
1662 2013-10-31  Myles C. Maxfield  <mmaxfield@apple.com>
1663
1664         Decorated text sometimes does not draw its decorations
1665         https://bugs.webkit.org/show_bug.cgi?id=123539
1666
1667         Reviewed by Antti Koivisto.
1668
1669         Decorated text should opt-out of the simple line layout, because
1670         SimpleLineLayout::paintFlow doesn't draw decorations
1671
1672         Fixes fast/css3-text/css3-text-decoration/text-decoration-color.html
1673
1674         * rendering/SimpleLineLayout.cpp:
1675         (WebCore::SimpleLineLayout::canUseFor):
1676
1677 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
1678
1679         Web Inspector: Remove last member variable uses of InspectorState from Agents
1680         https://bugs.webkit.org/show_bug.cgi?id=123540
1681
1682         Reviewed by Timothy Hatcher.
1683
1684         * inspector/InspectorDOMDebuggerAgent.h:
1685         * inspector/InspectorDOMDebuggerAgent.cpp:
1686         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
1687         (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
1688         (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
1689         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
1690         (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
1691         (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
1692         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
1693         DOMDebuggerAgentState::eventListenerBreakpoints -> m_eventListenerBreakpoints.
1694         DOMDebuggerAgentState::xhrBreakpoints -> m_xhrBreakpoints.
1695
1696         * inspector/InspectorDebuggerAgent.h:
1697         * inspector/InspectorDebuggerAgent.cpp:
1698         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1699         (WebCore::InspectorDebuggerAgent::disable):
1700         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1701         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
1702         (WebCore::InspectorDebuggerAgent::didParseSource):
1703         DebuggerAgentState::javaScriptBreakpoints -> m_javaScriptBreakpoints.
1704
1705         * inspector/InspectorPageAgent.h:
1706         * inspector/InspectorPageAgent.cpp:
1707         (WebCore::InspectorPageAgent::disable):
1708         (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
1709         (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
1710         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
1711         PageAgentState::pageAgentScriptsToEvaluateOnLoad -> m_scriptsToEvaluateOnLoad.
1712         This is a lazily created InspectorObject member variable.
1713
1714         * inspector/InspectorResourceAgent.h:
1715         * inspector/InspectorResourceAgent.cpp:
1716         (WebCore::InspectorResourceAgent::willSendRequest):
1717         (WebCore::InspectorResourceAgent::disable):
1718         (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
1719         ResourceAgentState::extraRequestHeaders -> m_extraRequestHeaders.
1720         This is a lazily created InspectorObject member variable.
1721
1722 2013-10-31  Philippe Normand  <pnormand@igalia.com>
1723
1724         Unreviewed, one more build fix after r158365.
1725
1726         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
1727         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
1728
1729 2013-10-31  Beth Dakin  <bdakin@apple.com>
1730
1731         Repro scrolling crash with scrollbars that use setPresentationValue on the 
1732         scrolling thread
1733         https://bugs.webkit.org/show_bug.cgi?id=123549
1734         -and corresponding-
1735         <rdar://problem/15246606>
1736
1737         Reviewed by Darin Adler.
1738
1739         Speculative fix. I think if we retain the ScrollbarPainters, we should avoid this 
1740         crash.
1741
1742         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
1743
1744 2013-10-31  Philippe Normand  <pnormand@igalia.com>
1745
1746         Unreviewed, MediaStream build fix after r158365.
1747
1748         * Modules/mediastream/MediaStream.cpp:
1749         (WebCore::MediaStream::clone):
1750
1751 2013-10-31  Sam Weinig  <sam@webkit.org>
1752
1753         Pass an Element by reference to the PseudoElement constructor
1754         https://bugs.webkit.org/show_bug.cgi?id=123576
1755
1756         Reviewed by Andreas Kling.
1757
1758         * dom/Element.cpp:
1759         (WebCore::Element::createPseudoElementIfNeeded):
1760         * dom/PseudoElement.cpp:
1761         (WebCore::PseudoElement::PseudoElement):
1762         * dom/PseudoElement.h:
1763
1764 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
1765
1766         Fix a mis-merge.
1767
1768         * WebCore.xcodeproj/project.pbxproj: Remove duplicate CryptoAlgorithmRegistryMac.cpp.
1769
1770 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
1771
1772         Add bindings code for crypto algorithm dictionaries
1773         https://bugs.webkit.org/show_bug.cgi?id=123476
1774
1775         Reviewed by Sam Weinig.
1776
1777         JSCryptoAlgorithmDictionary reads the Algorithm, much like JSDictionary does in
1778         simpler cases. We should see about bringing them closer together (perhaps replacing
1779         with autogenerated code).
1780
1781         * crypto/parameters: Added.
1782         * crypto/parameters/CryptoAlgorithmHmacKeyParams.h: Added.
1783         * crypto/parameters/CryptoAlgorithmHmacParams.h: Added.
1784         Added a couple specific dictionaries as an example.
1785
1786         * WebCore.xcodeproj/project.pbxproj: Added JSCryptoAlgorithmDictionary.
1787         * bindings/js/JSCryptoAlgorithmDictionary.cpp: Added.
1788         (WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier):
1789         (WebCore::getHashAlgorithm):
1790         (WebCore::createHmacParams):
1791         (WebCore::createHmacKeyParams):
1792         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
1793         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
1794         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
1795         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
1796         * bindings/js/JSCryptoAlgorithmDictionary.h: Added.
1797
1798 2013-10-31  Sam Weinig  <sam@webkit.org>
1799
1800         Pass ScriptExecutionContext by reference to from the bindings constructors
1801         https://bugs.webkit.org/show_bug.cgi?id=123575
1802
1803         Reviewed by Andreas Kling.
1804
1805         Since we null check the ScriptExecutionContext before creating the c++ class,
1806         we should be passing by reference.
1807
1808 2013-10-31  Zhuang Zhigang  <zhuangzg@cn.fujitsu.com>
1809
1810         Paint the input tag of range type on WinCE port.
1811         https://bugs.webkit.org/show_bug.cgi?id=123199
1812
1813         Reviewed by Brent Fulgham.        
1814
1815         * rendering/RenderThemeWinCE.cpp:
1816         (WebCore::RenderThemeWinCE::paintSliderTrack):
1817         (WebCore::RenderThemeWinCE::paintSliderThumb):
1818
1819 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
1820
1821         Add a crypto algorithm abstraction
1822         https://bugs.webkit.org/show_bug.cgi?id=123474
1823
1824         Reviewed by Sam Weinig.
1825
1826         This works slightly differently than WebCrypto implies. We have separate classes
1827         for algorithm and its parameters, while WebCrypto puts them in the same dictionary.
1828
1829         * WebCore.xcodeproj/project.pbxproj: Added new files.
1830
1831         * crypto/CryptoAlgorithm.cpp: Added. As most algorithms don't implement most
1832         operations, default implementations just raise an exception.
1833         * crypto/CryptoAlgorithm.h: Added.
1834
1835         * crypto/CryptoAlgorithmParameters.h: Added. Base class for numerous future parameter
1836         dictionaries, such as HmacParams or HmacKeyParams.
1837
1838         * crypto/CryptoAlgorithmRegistry.cpp: Added.
1839         * crypto/CryptoAlgorithmRegistry.h: Added.
1840         The registry decouples universal bindings code from algorithms that may or may not
1841         be implemented on each platform.
1842
1843         * crypto/mac: Added.
1844         * crypto/mac/CryptoAlgorithmRegistryMac.cpp: Added.
1845         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Algorithms implemented
1846         on Mac will be registered by this function.
1847
1848 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
1849
1850         REGRESSION(r158333): http/tests/xmlhttprequest/response-encoding.html and xmlhttprequest-overridemimetype-content-type-header.html are failing
1851         https://bugs.webkit.org/show_bug.cgi?id=123548
1852
1853         Reviewed by Brady Eidson.
1854
1855         We had code that made sure that cached 200 responses weren't used for conditional
1856         requests. But it didn't work the other way - cached 304 responses got reused for
1857         subsequent unconditional requests!
1858
1859         Adding the test uncovered this bug.
1860
1861         * loader/cache/CachedRawResource.cpp: (WebCore::shouldIgnoreHeaderForCacheReuse):
1862         Should never ignore conditional headers. Code in determineRevalidationPolicy
1863         was already undoing this for conditional requests, but we also shouldn't use
1864         WebCore cache if it holds a 304 response to conditional request.
1865
1866         * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::determineRevalidationPolicy):
1867         Even though the changed code is only for raw resources, I think that we can never
1868         get a conditional request here any more.
1869
1870 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
1871
1872         CryptoAlgorithmDescriptionBuilder should support producing nested algorithms
1873         https://bugs.webkit.org/show_bug.cgi?id=123461
1874
1875         Reviewed by Darin Adler.
1876
1877         To add a nested algorithm, clone a builder with createEmptyClone(), fill it,
1878         and add it using add().
1879
1880         * bindings/js/JSCryptoAlgorithmBuilder.h:
1881         * crypto/CryptoAlgorithmDescriptionBuilder.h:
1882         * bindings/js/JSCryptoAlgorithmBuilder.cpp:
1883         (WebCore::JSCryptoAlgorithmBuilder::createEmptyClone):
1884         (WebCore::JSCryptoAlgorithmBuilder::add): Keep VM in a local variable for marginally
1885         better performance.
1886
1887 2013-10-31  Philippe Normand  <pnormand@igalia.com>
1888
1889         [WK2][GTK] enable-media-stream Setting
1890         https://bugs.webkit.org/show_bug.cgi?id=123145
1891
1892         Reviewed by Anders Carlsson.
1893
1894         * page/Settings.in: new mediaStreamEnabled setting.
1895
1896 2013-10-31  Zan Dobersek  <zdobersek@igalia.com>
1897
1898         Manage SVGPathByteStream through std::unique_ptr
1899         https://bugs.webkit.org/show_bug.cgi?id=123467
1900
1901         Reviewed by Anders Carlsson.
1902
1903         Manage SVGPathByteStream objects through std::unique_ptr. Constructors for the class are made public
1904         so std::make_unique can be used with the class.
1905
1906         * svg/SVGAnimatedPath.cpp:
1907         (WebCore::SVGAnimatedPathAnimator::constructFromString):
1908         (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
1909         (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
1910         * svg/SVGAnimatedType.cpp:
1911         (WebCore::SVGAnimatedType::createPath):
1912         * svg/SVGAnimatedType.h:
1913         * svg/SVGPathByteStream.h:
1914         (WebCore::SVGPathByteStream::SVGPathByteStream): Takes a const Data object that's then copied.
1915         (WebCore::SVGPathByteStream::copy): Made const.
1916         * svg/SVGPathByteStreamBuilder.cpp: Remove an unnecessary include.
1917         * svg/SVGPathByteStreamBuilder.h: Ditto.
1918         * svg/SVGPathElement.cpp:
1919         (WebCore::SVGPathElement::SVGPathElement):
1920         * svg/SVGPathElement.h:
1921         * svg/SVGPathUtilities.cpp:
1922         (WebCore::appendSVGPathByteStreamFromSVGPathSeg):
1923         (WebCore::addToSVGPathByteStream):
1924
1925 2013-10-31  Marcin Bychawski  <m.bychawski@samsung.com>
1926
1927         Removing m_maxDeadCapacity condition in fast path in MemoryCache::prune().
1928         https://bugs.webkit.org/show_bug.cgi?id=115631
1929
1930         Reviewed by Brent Fulgham.
1931
1932         If the m_maxDeadSize and m_deadSize are both 0, the method unnecessairly tries to prune resources.
1933
1934         No new tests, covered by existing ones.
1935
1936         * loader/cache/MemoryCache.cpp:
1937         (WebCore::MemoryCache::prune):
1938
1939 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
1940
1941         Web Inspector: Remove stale optional native memory instrumentation protocol params
1942         https://bugs.webkit.org/show_bug.cgi?id=123552
1943
1944         Reviewed by Timothy Hatcher.
1945
1946         * inspector/Inspector.json:
1947         * inspector/InspectorTimelineAgent.cpp:
1948         (WebCore::InspectorTimelineAgent::start):
1949         * inspector/InspectorTimelineAgent.h:
1950
1951 2013-10-31  Zan Dobersek  <zdobersek@igalia.com>
1952
1953         [GTK] Undefined references to RenderObject::style() when disabling video support
1954         https://bugs.webkit.org/show_bug.cgi?id=123492
1955
1956         Reviewed by Carlos Garcia Campos.
1957
1958         * platform/gtk/RenderThemeGtk2.cpp: Disabling video support removes indirect inclusion of the RenderElement.h
1959         header, causing undefined references to RenderObject::style(). The RenderElement.h header should be included
1960         instead of RenderObject.h as the former defines the RenderObject::style() inline and also includes the latter.
1961         * platform/gtk/RenderThemeGtk3.cpp: Ditto.
1962
1963 2013-10-31  Robert Plociennik  <r.plociennik@samsung.com>
1964
1965         [EFL] accessibility/textbox-role-reports-selection.html is failing
1966         https://bugs.webkit.org/show_bug.cgi?id=112017
1967
1968         Reviewed by Mario Sanchez Prada.
1969
1970         getSelectionOffsetsForObject() now returns proper start/end offsets for
1971         selections "touching" the object's front border.
1972
1973         No new tests, covered by existing ones.
1974
1975         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1976         (getSelectionOffsetsForObject):
1977
1978 2013-10-31  Ryuan Choi  <ryuan.choi@samsung.com>
1979
1980         [EFL][GLES] OpenGL should be optional
1981         https://bugs.webkit.org/show_bug.cgi?id=123399
1982
1983         Reviewed by Noam Rosenthal.
1984
1985         * CMakeLists.txt: Make OpenGL dependencies as optional.
1986         * PlatformEfl.cmake:
1987         Move OpenGL macro to OptionsEfl.cmake and make Xcomposite and XRender as optional.
1988         * platform/graphics/OpenGLESShims.h:
1989         Removed GL_COLOR_ATTACHMENT0_EXT because it was added to gl2ext.h since r153064
1990         * platform/graphics/surfaces/GraphicsSurfaceToken.h:
1991         Removed wrong GLX guard.
1992         (WebCore::GraphicsSurfaceToken::GraphicsSurfaceToken):
1993         (WebCore::GraphicsSurfaceToken::operator!=):
1994         (WebCore::GraphicsSurfaceToken::isValid):
1995         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1996         Removed unnecessary OpenGLShims.h
1997
1998 2013-10-30  Santosh Mahto  <santosh.ma@samsung.com>
1999
2000         [webcore/editing] remove extra header includes from cpp files.
2001         https://bugs.webkit.org/show_bug.cgi?id=123524
2002
2003         Reviewed by Ryosuke Niwa.
2004
2005         Removing redundant header files.
2006
2007         * editing/AlternativeTextController.cpp:
2008         * editing/ApplyBlockElementCommand.cpp:
2009         * editing/ApplyStyleCommand.cpp:
2010         * editing/BreakBlockquoteCommand.cpp:
2011         * editing/DeleteButton.cpp:
2012         * editing/DeleteButtonController.cpp:
2013         * editing/DeleteSelectionCommand.cpp:
2014         * editing/DictationCommand.cpp:
2015         * editing/EditCommand.cpp:
2016         * editing/EditingStyle.cpp:
2017         * editing/EditorCommand.cpp:
2018         * editing/FrameSelection.cpp:
2019         * editing/IndentOutdentCommand.cpp:
2020         * editing/InsertLineBreakCommand.cpp:
2021         * editing/InsertParagraphSeparatorCommand.cpp:
2022         * editing/MarkupAccumulator.h:
2023         * editing/RemoveFormatCommand.cpp:
2024         * editing/RenderedPosition.cpp:
2025         * editing/ReplaceSelectionCommand.cpp:
2026         * editing/SpellChecker.cpp:
2027         * editing/SpellingCorrectionCommand.cpp:
2028         * editing/SurroundingText.cpp:
2029         * editing/TextCheckingHelper.cpp:
2030         * editing/TextIterator.cpp:
2031         * editing/TypingCommand.cpp:
2032         * editing/VisibleSelection.cpp:
2033         * editing/VisibleUnits.cpp:
2034         * editing/WrapContentsInDummySpanCommand.cpp:
2035         * editing/htmlediting.cpp:
2036
2037 2013-10-30  Brady Eidson  <beidson@apple.com>
2038
2039         IDB Database versions are uint64_t, not int64_t
2040         https://bugs.webkit.org/show_bug.cgi?id=123556
2041
2042         Reviewed by Alexey Proskuryakov.
2043
2044         * Modules/indexeddb/IDBBackingStoreInterface.h:
2045
2046         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2047         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
2048         (WebCore::IDBDatabaseBackendImpl::openConnection):
2049         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2050
2051         * Modules/indexeddb/IDBFactoryBackendInterface.h:
2052
2053         * Modules/indexeddb/IDBPendingOpenCall.h:
2054         (WebCore::IDBPendingOpenCall::create):
2055         (WebCore::IDBPendingOpenCall::version):
2056         (WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
2057
2058         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2059         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
2060
2061         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2062         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
2063         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2064
2065         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2066         (WebCore::IDBFactoryBackendLevelDB::open):
2067         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
2068
2069 2013-10-30  Brendan Long  <b.long@cablelabs.com>
2070
2071         [Gtk] Build is failing after r158317
2072         https://bugs.webkit.org/show_bug.cgi?id=123544
2073
2074         Reviewed by Alexey Proskuryakov.
2075
2076         No new tests since this just fixes the build.
2077
2078         * GNUmakefile.list.am: Add JSCryptoKey.cpp and JSCryptoKey.h
2079
2080 2013-10-30  Andreas Kling  <akling@apple.com>
2081
2082         Manage EllipsisBox objects with unique_ptr.
2083         <https://webkit.org/b/123554>
2084
2085         Use smart pointers to store ellipsis boxes instead of new/delete.
2086
2087         Reviewed by Anders Carlsson.
2088
2089 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
2090
2091         [Gtk] Build is failing after r158317
2092         https://bugs.webkit.org/show_bug.cgi?id=123544
2093
2094         Use a correct style for JSC includes.
2095
2096         * ForwardingHeaders/runtime/JSPromise.h: Added.
2097         * ForwardingHeaders/runtime/JSPromiseResolver.h: Added.
2098         * bindings/js/JSDOMPromise.h:
2099
2100 2013-10-30  Andreas Kling  <akling@apple.com>
2101
2102         Replace InlineBox::destroy() with regular virtual destruction.
2103         <https://webkit.org/b/123550>
2104
2105         Move logic out of destroy() and its overloads into good ol' virtual
2106         destructors instead.
2107
2108         Reviewed by Anders Carlsson.
2109
2110 2013-10-30  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2111
2112         Simplifying MediaStream and MediStreamDescriptor creation
2113         https://bugs.webkit.org/show_bug.cgi?id=123443
2114
2115         Reviewed by Eric Carlson.
2116
2117         The internal process of creating a MediaStream and MediaStreamDescriptor was quite confusing and spread.
2118         We can take advantage of the platform implementation of MediaStreamTrack (aka MediaStreamTrackPrivate)
2119         and simplify the whole process.
2120         A new constructor that receives vectors of MediaStreamTrackPrivate objects were added, then the check
2121         if a source already exists or if the tracks are all ended are now made in MediaStreamDescriptor.
2122
2123         No new tests needed.
2124
2125         * Modules/mediastream/MediaStream.cpp:
2126         (WebCore::MediaStream::create): Removed unnecessary variables in one create method and using new
2127         MediaStreamDescriptor::create method that receives vector of MediaStreamTrackPrivate objects as parameter.
2128
2129         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
2130         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode): Removed passing flag to
2131         MediaStreamDescriptor create.
2132
2133         * platform/mediastream/MediaStreamDescriptor.cpp:
2134         (WebCore::MediaStreamDescriptor::create): Removed EndedAtCreationFlag parameter, because this is being
2135         handled inside constructor by analyzing the tracks or sources passed.
2136         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Adding new constructor that receives vector of
2137         MediaStreamTrackPrivate as parameter.
2138
2139         (WebCore::MediaStreamDescriptor::addTrack): Changed to store the track's source in the object.
2140
2141         (WebCore::MediaStreamDescriptor::removeTrack):
2142         * platform/mediastream/MediaStreamDescriptor.h:
2143         (WebCore::MediaStreamDescriptor::numberOfAudioTracks):
2144         (WebCore::MediaStreamDescriptor::audioTracks):
2145         (WebCore::MediaStreamDescriptor::numberOfVideoTracks):
2146         (WebCore::MediaStreamDescriptor::videoTracks):
2147         * platform/mock/MockMediaStreamCenter.cpp:
2148         (WebCore::MockMediaStreamCenter::createMediaStream): Removing flag that is being passed to
2149         MediaStreamDescriptor's create method.
2150
2151 2013-10-30  Brent Fulgham  <bfulgham@apple.com>
2152
2153         [Win] Legible Output callbacks should happen on notification queue
2154         https://bugs.webkit.org/show_bug.cgi?id=123545
2155
2156         Reviewed by Eric Carlson.
2157
2158         Modify the callback creation for Legible Output items so that they
2159         are made on our notification queue. The use of the main queue was a
2160         holdover from some temporary code used during earlier development.
2161
2162         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2163         (WebCore::AVFWrapper::AVFWrapper): Assert this happens on the main thread.
2164         (WebCore::AVFWrapper::~AVFWrapper): Ditto.
2165         (WebCore::destroyAVFWrapper): Ditto.
2166         (WebCore::AVFWrapper::createPlayer): Ditto.
2167         (WebCore::AVFWrapper::createPlayerItem): Ditto.
2168         Also, instruct LegibleOutput callbacks to happen on our notification
2169         queue, rather than the main thread.
2170         (WebCore::AVFWrapper::createAVCFVideoLayer): Assert this happens on the main thread.
2171         (WebCore::AVFWrapper::destroyVideoLayer): Ditto.
2172         (WebCore::AVFWrapper::createImageGenerator): Ditto.
2173         (WebCore::AVFWrapper::destroyImageGenerator): Ditto.
2174
2175 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
2176
2177         XHR.response is null when requesting empty file as arraybuffer
2178         https://bugs.webkit.org/show_bug.cgi?id=123457
2179
2180         Reviewed by Sam Weinig.
2181
2182         Test: http/tests/xmlhttprequest/response-empty-arraybuffer.html
2183
2184         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseArrayBuffer): Don't do this.
2185
2186 2013-10-30  Samuel White  <samuel_white@apple.com>
2187
2188         AX: AXFocused not exposed on ARIA menuitems
2189         https://bugs.webkit.org/show_bug.cgi?id=123494
2190
2191         Reviewed by Chris Fleizach.
2192
2193         ARIA menuitems should expose AXFocused accessibility attribute.
2194
2195         Test: platform/mac/accessibility/aria-menuitem-focus.html
2196
2197         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2198         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2199
2200 2013-10-30  Joseph Pecoraro  <pecoraro@apple.com>
2201
2202         Web Inspector: Remove basic uses of InspectorState from agents
2203         https://bugs.webkit.org/show_bug.cgi?id=123534
2204
2205         Reviewed by Timothy Hatcher.
2206
2207         * inspector/InspectorAgent.h:
2208         * inspector/InspectorAgent.cpp:
2209         (WebCore::InspectorAgent::InspectorAgent):
2210         (WebCore::InspectorAgent::enable):
2211         (WebCore::InspectorAgent::disable):
2212         (WebCore::InspectorAgent::evaluateForTestInFrontend):
2213         (WebCore::InspectorAgent::inspect):
2214         InspectorAgentState::inspectorAgentEnabled -> m_enabled.
2215
2216         * inspector/InspectorApplicationCacheAgent.cpp:
2217         (WebCore::InspectorApplicationCacheAgent::enable):
2218         Remove unused state.
2219
2220         * inspector/InspectorCSSAgent.cpp:
2221         (WebCore::InspectorCSSAgent::enable):
2222         (WebCore::InspectorCSSAgent::disable):
2223         (WebCore::InspectorCSSAgent::startSelectorProfiler):
2224         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
2225         Remove unused states. Make CSSAgentState::isSelectorProfiling check profile object exists or not.
2226
2227         * inspector/InspectorCanvasAgent.cpp:
2228         (WebCore::InspectorCanvasAgent::enable):
2229         (WebCore::InspectorCanvasAgent::disable):
2230         Remove unused state, member variable already existed.
2231
2232         * inspector/InspectorConsoleAgent.h:
2233         * inspector/InspectorConsoleAgent.cpp:
2234         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2235         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
2236         (WebCore::InspectorConsoleAgent::enable):
2237         (WebCore::InspectorConsoleAgent::disable):
2238         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
2239         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
2240         ConsoleAgentState::consoleMessagesEnabled already had m_enabled.
2241         ConsoleAgentState::monitoringXHR -> m_monitoringXHREnabled.
2242         
2243         * inspector/InspectorDOMAgent.h:
2244         * inspector/InspectorDOMAgent.cpp:
2245         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2246         (WebCore::InspectorDOMAgent::clearFrontend):
2247         (WebCore::InspectorDOMAgent::setDocument):
2248         (WebCore::InspectorDOMAgent::getDocument):
2249         (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
2250         DOMAgentState::documentRequested -> m_documentRequested.
2251
2252         * inspector/InspectorDOMDebuggerAgent.h:
2253         * inspector/InspectorDOMDebuggerAgent.cpp:
2254         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
2255         (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
2256         (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
2257         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
2258         DOMDebuggerAgentState::pauseOnAllXHRs -> m_pauseOnAllXHRsEnabled.
2259
2260         * inspector/InspectorDOMStorageAgent.h:
2261         * inspector/InspectorDOMStorageAgent.cpp:
2262         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
2263         (WebCore::InspectorDOMStorageAgent::enable):
2264         (WebCore::InspectorDOMStorageAgent::disable):
2265         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
2266         DOMStorageAgentState::domStorageAgentEnabled -> m_enabled.
2267
2268         * inspector/InspectorDatabaseAgent.cpp:
2269         (WebCore::InspectorDatabaseAgent::enable):
2270         (WebCore::InspectorDatabaseAgent::disable):
2271         Remove unused state, m_enabled already existed.
2272
2273         * inspector/InspectorDebuggerAgent.h:
2274         * inspector/InspectorDebuggerAgent.cpp:
2275         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2276         (WebCore::InspectorDebuggerAgent::enable):
2277         (WebCore::InspectorDebuggerAgent::disable):
2278         (WebCore::InspectorDebuggerAgent::enabled):
2279         (WebCore::InspectorDebuggerAgent::clearFrontend):
2280         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsImpl):
2281         DebuggerAgentState::pauseOnExceptionsState removed, never read.
2282         DebuggerAgentState::debuggerEnabled -> m_enabled.
2283
2284         * inspector/InspectorHeapProfilerAgent.h:
2285         * inspector/InspectorHeapProfilerAgent.cpp:
2286         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
2287         (WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
2288         (WebCore::InspectorHeapProfilerAgent::clearFrontend):
2289         (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
2290         HeapProfilerAgentState::profileHeadersRequested -> m_profileHeadersRequested.
2291
2292         * inspector/InspectorIndexedDBAgent.cpp:
2293         (WebCore::InspectorIndexedDBAgent::enable):
2294         (WebCore::InspectorIndexedDBAgent::disable):
2295         Remove unused state, never read.
2296
2297         * inspector/InspectorLayerTreeAgent.cpp:
2298         (WebCore::InspectorLayerTreeAgent::enable):
2299         (WebCore::InspectorLayerTreeAgent::disable):
2300         Remove unused state, did not need to be read.
2301
2302         * inspector/InspectorPageAgent.h:
2303         * inspector/InspectorPageAgent.cpp:
2304         (WebCore::InspectorPageAgent::InspectorPageAgent):
2305         (WebCore::InspectorPageAgent::webViewResized):
2306         (WebCore::InspectorPageAgent::enable):
2307         (WebCore::InspectorPageAgent::disable):
2308         (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
2309         (WebCore::InspectorPageAgent::deviceMetricsChanged):
2310         (WebCore::InspectorPageAgent::setShowPaintRects):
2311         (WebCore::InspectorPageAgent::setShowDebugBorders):
2312         (WebCore::InspectorPageAgent::setShowFPSCounter):
2313         (WebCore::InspectorPageAgent::setContinuousPaintingEnabled):
2314         (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
2315         (WebCore::InspectorPageAgent::applyScreenWidthOverride):
2316         (WebCore::InspectorPageAgent::applyScreenHeightOverride):
2317         (WebCore::InspectorPageAgent::didPaint):
2318         (WebCore::InspectorPageAgent::didLayout):
2319         (WebCore::InspectorPageAgent::updateTouchEventEmulationInPage):
2320         (WebCore::InspectorPageAgent::setTouchEmulationEnabled):
2321         (WebCore::InspectorPageAgent::setEmulatedMedia):
2322         (WebCore::InspectorPageAgent::applyEmulatedMedia):
2323         PageAgentState::pageAgentScreenWidthOverride -> m_screenWidthOverride.
2324         PageAgentState::pageAgentScreenHeightOverride -> m_screenHeightOverride.
2325         PageAgentState::pageAgentFontScaleFactorOverride -> m_fontScaleFactorOverride.
2326         PageAgentState::pageAgentFitWindow -> m_fitWindowOverride.
2327         PageAgentState::pageAgentShowPaintRects -> m_showPaintRects.
2328         PageAgentState::pageAgentEmulatedMedia -> m_emulatedMedia.
2329         Remove other unused states.
2330
2331         * inspector/InspectorProfilerAgent.h:
2332         * inspector/InspectorProfilerAgent.cpp:
2333         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
2334         (WebCore::InspectorProfilerAgent::addProfile):
2335         (WebCore::InspectorProfilerAgent::enable):
2336         (WebCore::InspectorProfilerAgent::disable):
2337         (WebCore::InspectorProfilerAgent::getProfileHeaders):
2338         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
2339         (WebCore::InspectorProfilerAgent::start):
2340         (WebCore::InspectorProfilerAgent::stop):
2341         (WebCore::InspectorProfilerAgent::enabled):
2342         ProfilerAgentState::profileHeadersRequested -> m_profileHeadersRequested.
2343         Remove other unused states.
2344
2345         * inspector/InspectorResourceAgent.h:
2346         * inspector/InspectorResourceAgent.cpp:
2347         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
2348         (WebCore::InspectorResourceAgent::willSendRequest):
2349         (WebCore::InspectorResourceAgent::applyUserAgentOverride):
2350         (WebCore::InspectorResourceAgent::enable):
2351         (WebCore::InspectorResourceAgent::disable):
2352         (WebCore::InspectorResourceAgent::setUserAgentOverride):
2353         (WebCore::InspectorResourceAgent::setCacheDisabled):
2354         (WebCore::InspectorResourceAgent::mainFrameNavigated):
2355         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
2356         ResourceAgentState::resourceAgentEnabled -> m_enabled.
2357         ResourceAgentState::cacheDisabled -> m_cacheDisabled.
2358         ResourceAgentState::userAgentOverride -> m_userAgentOverride (this already existed and was unused).
2359
2360         * inspector/InspectorTimelineAgent.h:
2361         * inspector/InspectorTimelineAgent.cpp:
2362         (WebCore::InspectorTimelineAgent::start):
2363         (WebCore::InspectorTimelineAgent::stop):
2364         (WebCore::InspectorTimelineAgent::setDOMCounters):
2365         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2366         TimelineAgentState::timelineAgentEnabled -> m_enabled.
2367         TimelineAgentState::includeDomCounters -> m_includeDOMCounters.
2368         Remove other unused states.
2369
2370         * inspector/InspectorWorkerAgent.h:
2371         * inspector/InspectorWorkerAgent.cpp:
2372         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
2373         (WebCore::InspectorWorkerAgent::clearFrontend):
2374         (WebCore::InspectorWorkerAgent::enable):
2375         (WebCore::InspectorWorkerAgent::disable):
2376         (WebCore::InspectorWorkerAgent::setAutoconnectToWorkers):
2377         (WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart):
2378         (WebCore::InspectorWorkerAgent::didStartWorkerGlobalScope):
2379         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
2380         WorkerAgentState::workerInspectionEnabled -> m_enabled.
2381         WorkerAgentState::autoconnectToWorkers -> m_shouldPauseDedicatedWorkerOnStart.
2382
2383         * inspector/PageRuntimeAgent.cpp:
2384         (WebCore::PageRuntimeAgent::enable):
2385         (WebCore::PageRuntimeAgent::disable):
2386         Remove unused state, not read.
2387
2388 2013-10-30  Ryosuke Niwa  <rniwa@webkit.org>
2389
2390         Remove code for Mac Lion
2391         https://bugs.webkit.org/show_bug.cgi?id=123542
2392
2393         Reviewed by Anders Carlsson.
2394
2395         Removed the code for Mac OS X 10.7.
2396
2397         * platform/graphics/ImageBuffer.h:
2398         * platform/graphics/cg/ImageBufferCG.cpp:
2399         (WebCore::ImageBuffer::ImageBuffer):
2400         (WebCore::ImageBuffer::context):
2401         (WebCore::ImageBuffer::flushContext):
2402         * platform/graphics/cg/ImageBufferDataCG.h:
2403         * platform/graphics/cg/ImageSourceCG.cpp:
2404         (WebCore::imageSourceOptions):
2405         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2406         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
2407         * platform/mac/ScrollAnimatorMac.mm:
2408         (WebCore::scrollAnimationEnabledForSystem):
2409         * platform/mac/ScrollElasticityController.mm:
2410         (WebCore::reboundDeltaForElasticDelta):
2411         * platform/mac/ThemeMac.mm:
2412         (WebCore::updateStates):
2413         (WebCore::paintCheckbox):
2414         (WebCore::paintRadio):
2415         (WebCore::paintButton):
2416         * platform/mac/WebCoreNSCellExtras.h:
2417         * platform/mac/WebCoreNSCellExtras.m:
2418         * rendering/RenderThemeMac.mm:
2419         (WebCore::RenderThemeMac::paintTextField):
2420         (WebCore::RenderThemeMac::paintMenuList):
2421         (WebCore::RenderThemeMac::setPopupButtonCellState):
2422         (WebCore::RenderThemeMac::textField):
2423
2424 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
2425
2426         85 inspector tests asserting in DrawingAreaProxyImpl::updateAcceleratedCompositingMode()
2427         when there is a stale WebKitTestRunner preference
2428         https://bugs.webkit.org/show_bug.cgi?id=115115
2429
2430         Reviewed by Darin Adler.
2431
2432         * page/Settings.cpp:
2433         (WebCore::Settings::setMockScrollbarsEnabled):
2434         (WebCore::Settings::setUsesOverlayScrollbars):
2435         Added FIXMEs.
2436
2437 2013-10-30  Andreas Kling  <akling@apple.com>
2438
2439         Take line boxes out of the arena.
2440         <https://webkit.org/b/123533>
2441
2442         Stop arena-allocating line boxes so we can move forward on improving
2443         render tree memory management. This will also allow more rendering
2444         code to take advantage of malloc optimizations.
2445
2446         This will likely regress performance on some micro-benchmarks, but
2447         it's something we want to do sooner rather than later so we have time
2448         to restabilize it. All improvements to the simple line layout's
2449         coverage will help with recouping whatever is regressed.
2450
2451         BiDi runs are the only remaining user of the arena now.
2452
2453         Reviewed by Antti Koivisto
2454
2455 2013-10-30  Joseph Pecoraro  <pecoraro@apple.com>
2456
2457         Web Inspector: Remove InspectorAgent::restore functionality
2458         https://bugs.webkit.org/show_bug.cgi?id=123525
2459
2460         Reviewed by Timothy Hatcher.
2461
2462         Remove unused InspectorAgent restore functionality.
2463
2464         * inspector/InspectorApplicationCacheAgent.cpp:
2465         * inspector/InspectorApplicationCacheAgent.h:
2466         * inspector/InspectorBaseAgent.cpp:
2467         * inspector/InspectorBaseAgent.h:
2468         * inspector/InspectorCSSAgent.cpp:
2469         * inspector/InspectorCSSAgent.h:
2470         * inspector/InspectorCanvasAgent.cpp:
2471         * inspector/InspectorCanvasAgent.h:
2472         * inspector/InspectorConsoleAgent.cpp:
2473         * inspector/InspectorConsoleAgent.h:
2474         * inspector/InspectorController.cpp:
2475         * inspector/InspectorController.h:
2476         * inspector/InspectorDOMAgent.cpp:
2477         * inspector/InspectorDOMAgent.h:
2478         * inspector/InspectorDatabaseAgent.cpp:
2479         * inspector/InspectorDatabaseAgent.h:
2480         * inspector/InspectorDebuggerAgent.cpp:
2481         * inspector/InspectorDebuggerAgent.h:
2482         * inspector/InspectorHeapProfilerAgent.cpp:
2483         * inspector/InspectorHeapProfilerAgent.h:
2484         * inspector/InspectorIndexedDBAgent.cpp:
2485         * inspector/InspectorIndexedDBAgent.h:
2486         * inspector/InspectorLayerTreeAgent.cpp:
2487         * inspector/InspectorLayerTreeAgent.h:
2488         * inspector/InspectorPageAgent.cpp:
2489         * inspector/InspectorPageAgent.h:
2490         * inspector/InspectorProfilerAgent.cpp:
2491         * inspector/InspectorProfilerAgent.h:
2492         * inspector/InspectorResourceAgent.cpp:
2493         * inspector/InspectorResourceAgent.h:
2494         * inspector/InspectorTimelineAgent.cpp:
2495         * inspector/InspectorTimelineAgent.h:
2496         * inspector/InspectorWorkerAgent.cpp:
2497         * inspector/InspectorWorkerAgent.h:
2498         * inspector/PageRuntimeAgent.cpp:
2499         * inspector/PageRuntimeAgent.h:
2500         * inspector/WorkerInspectorController.cpp:
2501         * inspector/WorkerInspectorController.h:
2502
2503 2013-10-30  Jer Noble  <jer.noble@apple.com>
2504
2505         REGRESSION(r158288): media/media-can-play-mpeg4-video.html fails
2506         https://bugs.webkit.org/show_bug.cgi?id=123530
2507
2508         Reviewed by Eric Carlson.
2509
2510         Lower case the mime type before passing it along to MediaPlayer.
2511
2512         * html/HTMLMediaElement.cpp:
2513         (WebCore::HTMLMediaElement::canPlayType):
2514         (WebCore::HTMLMediaElement::selectNextSourceChild):
2515
2516 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
2517
2518         Add a way to fulfill promises from DOM code
2519         https://bugs.webkit.org/show_bug.cgi?id=123466
2520
2521         Reviewed by Sam Weinig.
2522
2523         This is not perfect, as it strongly ties DOM code to JavaScript. In the future, we
2524         can make it better e.g. by subclassing, so that only a base interface would be exposed.
2525
2526         * GNUmakefile.list.am:
2527         * WebCore.vcxproj/WebCore.vcxproj:
2528         * WebCore.vcxproj/WebCore.vcxproj.filters:
2529         * bindings/js/JSBindingsAllInOne.cpp:
2530         * WebCore.xcodeproj/project.pbxproj:
2531         Added JSDOMPromise.
2532
2533         * bindings/js/JSDOMPromise.cpp: Added.
2534
2535         * bindings/js/JSDOMPromise.h: Added.
2536         (WebCore::PromiseWrapper::create):
2537         (WebCore::PromiseWrapper::fulfill): A random set of specializations that I needed
2538         in WebCrypto code so far.
2539         (WebCore::PromiseWrapper::reject): Ditto.
2540
2541 2013-10-30  Santosh Mahto  <santosh.ma@samsung.com>
2542
2543         contentEditable deleting lists when list items are block level
2544         https://bugs.webkit.org/show_bug.cgi?id=122602
2545
2546         Reviewed by Ryosuke Niwa.
2547
2548         When listitems are styled with display:block/float then inserting paragraph
2549         twice at end of listitem delete entire list. Generally when listitem is empty
2550         then we delete the listitem on inserting paragraph. In this issue, on inserting
2551         first paragraph one empty listitem is created, and on inserting second paragraph
2552         we try to delete that empty listitem. but it misbehave becasue of incomplete 
2553         definition of htmlediting::isLisItem() and entire list is deleted.
2554
2555         htmlediting::isListItem() check only render object to decide whether it is 
2556         list or not, so if any LI element is block level then isListItem return false.
2557         Now after this patch if parent of current node is list element then node is
2558         treated as listItem.
2559
2560         Test: editing/execCommand/hit-enter-twice-atendof-block-styled-listitem.html
2561
2562         * editing/htmlediting.cpp:
2563         (WebCore::isListItem): Modified condition to check if parent node is list;
2564
2565 2013-10-30  Jer Noble  <jer.noble@apple.com>
2566
2567         Unreviewed EFL build fix; give MediaEngineSupportParameters struct a default constructor.
2568
2569         * Modules/mediasource/MediaSource.cpp:
2570         (WebCore::MediaSource::isTypeSupported):
2571         * dom/DOMImplementation.cpp:
2572         (WebCore::DOMImplementation::createDocument):
2573         * html/HTMLMediaElement.cpp:
2574         (WebCore::HTMLMediaElement::canPlayType):
2575         (WebCore::HTMLMediaElement::selectNextSourceChild):
2576         * platform/graphics/MediaPlayer.h:
2577         (WebCore::MediaEngineSupportParameters::MediaEngineSupportParameters):
2578
2579 2013-10-30  Andreas Kling  <akling@apple.com>
2580
2581         Let Page::renderTreeSize() be the number of renderers.
2582         <https://webkit.org/b/123518>
2583         <rdar://problem/15348679>
2584
2585         The old metric was "number of bytes allocated in RenderArena" and
2586         that was heading towards obsolescence, fast.
2587
2588         Instead, keep a count of RenderObjects instantiated on RenderView.
2589         While a bit ugly, this lets us move forward with rendering memory
2590         model improvements without breaking features.
2591
2592         Reviewed by Beth Dakin.
2593
2594 2013-10-30  Myles C. Maxfield  <mmaxfield@apple.com>
2595
2596         WebKit/win/WebKitGraphics.h:void WebDrawText(WebTextRenderInfo*); is never called
2597         https://bugs.webkit.org/show_bug.cgi?id=123485
2598
2599         Reviewed by Brent Fulgham.
2600
2601         WebDrawText is the only caller of WebCoreDrawTextAtPoint, so we can
2602         delete that as well.
2603
2604         Because there is no behavior difference, no new tests are necessary.
2605
2606         * platform/win/WebCoreTextRenderer.cpp:
2607         * platform/win/WebCoreTextRenderer.h:
2608
2609 2013-10-30  Csaba Osztrogonác  <ossy@webkit.org>
2610
2611         URTBF after r158289.
2612
2613         * CMakeLists.txt:
2614         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2615         (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
2616
2617 2013-10-30  Dong-Gwan Kim  <donggwan.kim@samsung.com>
2618
2619         Build fails with EGLConfigSelector.cpp when OpenGL ES is not used
2620         https://bugs.webkit.org/show_bug.cgi?id=119037
2621
2622         Reviewed by Brent Fulgham.
2623
2624         Build fix for EGLConfigSelector.cpp
2625
2626         No new tests, no behavior change.
2627
2628         * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
2629         (WebCore::EGLConfigSelector::createConfig):
2630
2631 2013-10-30  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2632
2633         Explicitly initialize base class in MediStreamTrackPrivate copy constructor
2634         https://bugs.webkit.org/show_bug.cgi?id=123473
2635
2636         Reviewed by Eric Carlson.
2637
2638         No new tests needed.
2639
2640         Ports that enable -Werror=extra must do that to compile.
2641
2642         * platform/mediastream/MediaStreamTrackPrivate.cpp:
2643         (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
2644
2645 2013-10-30  Ryosuke Niwa  <rniwa@webkit.org>
2646
2647         Mac build fix after r158291.
2648
2649         * html/HTMLMediaElement.cpp:
2650         (WebCore::HTMLMediaElement::canPlayType):
2651
2652 2013-10-30  Commit Queue  <commit-queue@webkit.org>
2653
2654         Unreviewed, rolling out r158243.
2655         http://trac.webkit.org/changeset/158243
2656         https://bugs.webkit.org/show_bug.cgi?id=123520
2657
2658         Change was wrong (Requested by smfr on #webkit).
2659
2660         * platform/graphics/GraphicsContext.h:
2661         * platform/graphics/blackberry/PathBlackBerry.cpp:
2662         (WebCore::GraphicsContext::drawLineForText):
2663         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2664         (WebCore::GraphicsContext::drawLineForText):
2665         * platform/graphics/cg/GraphicsContextCG.cpp:
2666         (WebCore::GraphicsContext::drawLineForText):
2667         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2668         (WebCore::GraphicsContext::drawLineForText):
2669         * platform/win/WebCoreTextRenderer.cpp:
2670         (WebCore::doDrawTextAtPoint):
2671         * rendering/InlineTextBox.cpp:
2672         (WebCore::InlineTextBox::paintDecoration):
2673         (WebCore::InlineTextBox::paintCompositionUnderline):
2674
2675 2013-10-30  peavo@outlook.com  <peavo@outlook.com>
2676
2677         Favicons are flipped in vertical direction in WinCairo builds.
2678         https://bugs.webkit.org/show_bug.cgi?id=102077
2679
2680         Reviewed by Brent Fulgham.
2681
2682         * platform/graphics/win/ImageCairoWin.cpp:
2683         (WebCore::BitmapImage::getHBITMAPOfSize):
2684
2685 2013-10-30  Jer Noble  <jer.noble@apple.com>
2686
2687         [MSE] Add MediaSource compatable loading functions to MediaPlayer
2688         https://bugs.webkit.org/show_bug.cgi?id=123353
2689
2690         Reviewed by Eric Carlson.
2691
2692         Add methods to MediaPlayer to allow it to select the correct MediaPlayerFactory
2693         when attempting to load a MediaSource URL.
2694
2695         * Modules/mediasource/MediaSource.cpp:
2696         (WebCore::MediaSource::addSourceBuffer):
2697         (WebCore::MediaSource::isTypeSupported):
2698         * html/HTMLMediaElement.cpp:
2699         (WebCore::HTMLMediaElement::loadResource):
2700         (WebCore::HTMLMediaElement::canPlayType):
2701         (WebCore::HTMLMediaElement::selectNextSourceChild):
2702         * platform/graphics/MediaPlayer.cpp:
2703         (WebCore::MediaPlayer::load):
2704         (WebCore::MediaPlayer::supportsType):
2705         * platform/graphics/MediaPlayer.h:
2706         * dom/DOMImplementation.cpp:
2707         (WebCore::DOMImplementation::createDocument):
2708
2709         Remove the isSupportedMediaSourceMIMEType() method:
2710         * platform/MIMETypeRegistry.h:
2711         * platform/efl/MIMETypeRegistryEfl.cpp:
2712         * platform/mac/MIMETypeRegistryMac.mm:
2713
2714
2715 2013-10-30  Brady Eidson  <beidson@apple.com>
2716
2717         IDBCursorBackendLevelDB should be made cross-platform
2718         https://bugs.webkit.org/show_bug.cgi?id=123513
2719
2720         Rubberstamped by Andreas Kling.
2721
2722         Because of all the already-done refactoring, this is basically a file-move and global rename.
2723
2724         * CMakeLists.txt:
2725         * GNUmakefile.list.am:
2726         * WebCore.xcodeproj/project.pbxproj:
2727         * WebCore.vcxproj/WebCore.vcxproj:
2728
2729         * Modules/indexeddb/IDBCursorBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp.
2730         * Modules/indexeddb/IDBCursorBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h.
2731
2732         * Modules/indexeddb/IDBCursorBackendInterface.h:
2733
2734         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2735
2736 2013-10-29  Jer Noble  <jer.noble@apple.com>
2737
2738         [MSE] Remove legacy Media Source APIs (WebKitMediaSource, WebKitSourceBuffer, WebKitSourceBufferList)
2739         https://bugs.webkit.org/show_bug.cgi?id=123463
2740
2741         Reviewed by Eric Carlson.
2742
2743         No new tests; updated test results.
2744
2745         Remove all reference to WebKitMediaSource, WebKitSourceBuffer, and WebKitSourceBufferList.
2746
2747         * CMakeLists.txt:
2748         * DerivedSources.cpp:
2749         * DerivedSources.make:
2750         * GNUmakefile.list.am:
2751         * Modules/mediasource/DOMURLMediaSource.idl:
2752         * Modules/mediasource/WebKitMediaSource.cpp: Removed.
2753         * Modules/mediasource/WebKitMediaSource.h: Removed.
2754         * Modules/mediasource/WebKitMediaSource.idl: Removed.
2755         * Modules/mediasource/WebKitSourceBuffer.cpp: Removed.
2756         * Modules/mediasource/WebKitSourceBuffer.h: Removed.
2757         * Modules/mediasource/WebKitSourceBuffer.idl: Removed.
2758         * Modules/mediasource/WebKitSourceBufferList.cpp: Removed.
2759         * Modules/mediasource/WebKitSourceBufferList.h: Removed.
2760         * Modules/mediasource/WebKitSourceBufferList.idl: Removed.
2761         * WebCore.xcodeproj/project.pbxproj:
2762         * dom/EventTargetFactory.in:
2763
2764 2013-10-30  Antti Koivisto  <antti@apple.com>
2765
2766         Unbreak the release build.
2767
2768         * rendering/SimpleLineLayoutFunctions.cpp:
2769
2770 2013-10-30  Liangjun Zeng  <lizeng@blackberry.com>
2771
2772         Fix memory leaks in platform/image-encoders/JPEGImageEncoder.cpp
2773         https://bugs.webkit.org/show_bug.cgi?id=118781
2774
2775         Reviewed by Brent Fulgham.
2776
2777         We can find the function "jpeg_finish_compress" call the function "jpeg_abort" at the end.
2778         And the comments of "jpeg_abort" is "Abort processing of a JPEG compression operation,
2779         but don't destroy the object itself". (We can find these in the "jcapimin.c" of jpeg)
2780         So the compression object destroy need be called.
2781         No new tests because this doesn't change functionality.
2782
2783         * platform/image-encoders/JPEGImageEncoder.cpp:
2784         (WebCore::compressRGBABigEndianToJPEG):
2785
2786 2013-10-30  Antti Koivisto  <antti@apple.com>
2787
2788         Add debug settings for simple line layout
2789         https://bugs.webkit.org/show_bug.cgi?id=123514
2790
2791         Reviewed by Andreas Kling.
2792
2793         * WebCore.exp.in:
2794         * page/Settings.in:
2795         
2796             Add simpleLineLayoutEnabled and simpleLineLayoutDebugBordersEnabled.
2797
2798         * rendering/SimpleLineLayout.cpp:
2799         (WebCore::SimpleLineLayout::canUseFor):
2800         * rendering/SimpleLineLayoutFunctions.cpp:
2801         (WebCore::SimpleLineLayout::paintDebugBorders):
2802         (WebCore::SimpleLineLayout::paintFlow):
2803
2804 2013-10-30  peavo@outlook.com  <peavo@outlook.com>
2805
2806         [Curl] Cookies are sometimes not set in download request.
2807         https://bugs.webkit.org/show_bug.cgi?id=123445
2808
2809         Reviewed by Brent Fulgham.
2810
2811         Sometimes cookies are not set in the download request because the cookie file cannot be opened,
2812         it's already been opened by the ResourceHandleManager for writing.
2813         This can be fixed by getting the cookie list from the share handle in ResourceHandleManager instead.
2814         This will also improve performance, as there is no need to read and parse the cookie file for each download.
2815
2816         * platform/network/curl/CurlDownload.cpp:
2817         (WebCore::CurlDownload::init): Use share handle to get cookie list.
2818
2819 2013-10-30  ChangSeok Oh  <changseok.oh@collabora.com>
2820
2821         Unguard Element::childShouldCreateRenderer
2822         https://bugs.webkit.org/show_bug.cgi?id=123496
2823
2824         Reviewed by Andreas Kling.
2825
2826         Make Element::childShouldCreateRenderer normally accessible. Guarding it with flags
2827         just leaves potential build issues.
2828
2829         No new tests since no functionality changed.
2830
2831         * dom/Element.cpp:
2832         (WebCore::Element::childShouldCreateRenderer):
2833         * dom/Element.h:
2834
2835 2013-10-30  Jer Noble  <jer.noble@apple.com>
2836
2837         [MSE] Make MediaSourcePrivate, SourceBufferPrivate classes RefCounted.
2838         https://bugs.webkit.org/show_bug.cgi?id=123350
2839
2840         Reviewed by Darin Adler.
2841
2842         Make the MediaSourcePrivate and SourceBufferPrivate classes RefCounted so that
2843         they can be referenced both by MediaSource/SourceBuffer, and by the MediaPlayerPrivate
2844         which creates them.
2845
2846         Change OwnPtr -> RefPtr everywhere:
2847         * Modules/mediasource/MediaSource.cpp:
2848         (WebCore::MediaSource::addSourceBuffer):
2849         * Modules/mediasource/MediaSourceBase.cpp:
2850         (WebCore::MediaSourceBase::setPrivateAndOpen):
2851         (WebCore::MediaSourceBase::createSourceBufferPrivate):
2852         * Modules/mediasource/MediaSourceBase.h:
2853         * Modules/mediasource/SourceBuffer.cpp:
2854         (WebCore::SourceBuffer::create):
2855         (WebCore::SourceBuffer::SourceBuffer):
2856         * Modules/mediasource/SourceBuffer.h:
2857         * Modules/mediasource/WebKitMediaSource.cpp:
2858         (WebCore::WebKitMediaSource::addSourceBuffer):
2859         * Modules/mediasource/WebKitSourceBuffer.cpp:
2860         (WebCore::WebKitSourceBuffer::create):
2861         (WebCore::WebKitSourceBuffer::WebKitSourceBuffer):
2862         * Modules/mediasource/WebKitSourceBuffer.h:
2863         * html/HTMLMediaSource.h:
2864         * platform/graphics/MediaSourcePrivate.h:
2865         * platform/graphics/SourceBufferPrivate.h:
2866         (WebCore::SourceBufferPrivate::SourceBufferPrivate):
2867
2868 2013-10-30  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2869
2870         Remove unused runtime enabled
2871         https://bugs.webkit.org/show_bug.cgi?id=123509
2872
2873         Reviewed by Anders Carlsson.
2874
2875         Some of the runtime enabled features were only ever used by the V8 bindings
2876         and can be removed as no WebKit code sets or reads them.
2877
2878         * bindings/generic/RuntimeEnabledFeatures.cpp:
2879         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
2880         * bindings/generic/RuntimeEnabledFeatures.h:
2881
2882 2013-10-30  Antti Koivisto  <antti@apple.com>
2883
2884         Make SimpleLineLayout::Layout a class
2885         https://bugs.webkit.org/show_bug.cgi?id=123508
2886
2887         Reviewed by Mario Sanchez Prada.
2888
2889         Improve encapsulation.
2890
2891 2013-10-30  Antti Koivisto  <antti@apple.com>
2892
2893         REGRESSION(r158214): It made zillion tests crash on GTK and EFL
2894         https://bugs.webkit.org/show_bug.cgi?id=123505
2895
2896         * rendering/SimpleLineLayout.h: Add WTF_MAKE_FAST_ALLOCATED
2897
2898 2013-10-29  Philippe Normand  <pnormand@igalia.com>
2899
2900         [GStreamer] Store video-sink in a bin
2901         https://bugs.webkit.org/show_bug.cgi?id=122831
2902
2903         Reviewed by Gustavo Noronha Silva.
2904
2905         For the upcoming mediastream playback support the player will
2906         handle a non-playbin-based pipeline that will require a slightly
2907         different video rendering chain. This patch generalizes the
2908         encapsulation of the video sink in a bin, just like the audio sink
2909         case.
2910
2911         No new tests, no change in functionality.
2912
2913 2013-10-29  Ryosuke Niwa  <rniwa@webkit.org>
2914
2915         REGRESSION(r154614): Opening and closing a picture on Facebook resets scroll position
2916         https://bugs.webkit.org/show_bug.cgi?id=122882
2917
2918         Reviewed by Anders Carlsson.
2919
2920         scrollLeft and scrollTop have to continue to function in the strict mode for the Web compatiblity.
2921         In particular, www.facebook.com and build.webkit.org depend on this behavior as of October 29th, 2013.
2922
2923         * html/HTMLBodyElement.cpp:
2924         (WebCore::HTMLBodyElement::scrollLeft):
2925         (WebCore::HTMLBodyElement::setScrollLeft):
2926         (WebCore::HTMLBodyElement::scrollTop):
2927         (WebCore::HTMLBodyElement::setScrollTop):
2928
2929 2013-10-29  Brady Eidson  <beidson@apple.com>
2930
2931         IDBTransactionBackend should be cross platform
2932         https://bugs.webkit.org/show_bug.cgi?id=123449
2933
2934         Reviewed by Beth Dakin.
2935
2936         - Rename IDBTransactionBackendLevelDB to IDBTransactionBackendImpl
2937         - Rename IDBTransactionBackendLevelDBOperations to IDBTransactionBackendOperations
2938         - Move their files from the leveldb subdirectory to the indexeddb directory
2939
2940         * CMakeLists.txt:
2941         * GNUmakefile.list.am:
2942         * WebCore.xcodeproj/project.pbxproj:
2943
2944         * Modules/indexeddb/IDBTransactionBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp.
2945         * Modules/indexeddb/IDBTransactionBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h.
2946         * Modules/indexeddb/IDBTransactionBackendOperations.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp.
2947         * Modules/indexeddb/IDBTransactionBackendOperations.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h.
2948
2949         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
2950         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
2951         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2952         (WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
2953
2954 2013-10-29  Sam Weinig  <sam@webkit.org>
2955
2956         Modernize DatasetDOMStringMap and ClassList a bit
2957         https://bugs.webkit.org/show_bug.cgi?id=123491
2958
2959         Reviewed by Andreas Kling.
2960
2961         * dom/DatasetDOMStringMap.cpp:
2962         * dom/DatasetDOMStringMap.h:
2963         * dom/Element.cpp:
2964         * dom/ElementRareData.h:
2965         * html/ClassList.cpp:
2966         * html/ClassList.h:
2967         Pass the owner Element by reference and store in a std::unique_ptr.
2968
2969 2013-10-29  Brady Eidson  <beidson@apple.com>
2970
2971         Attempted build-fix after http://trac.webkit.org/changeset/158234
2972
2973         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2974         (WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction): Implement this!
2975
2976 2013-10-29  Andreas Kling  <akling@apple.com>
2977
2978         ElementData construction helpers should return PassRef.
2979         <https://webkit.org/b/123487>
2980
2981         Make functions that create new ElementData objects return appropriate
2982         PassRef pointers instead of PassRefPtr.
2983
2984         Reviewed by Anders Carlsson.
2985
2986 2013-10-29  Ryosuke Niwa  <rniwa@webkit.org>
2987
2988         GTK+ build fix attempt after r158220.
2989
2990         * GNUmakefile.list.am:
2991
2992 2013-10-29  Brady Eidson  <beidson@apple.com>
2993
2994         Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface
2995         https://bugs.webkit.org/show_bug.cgi?id=123483
2996
2997         Reviewed by Andreas Kling.
2998
2999         * Modules/indexeddb/IDBCursorBackendInterface.h:
3000         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
3001         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
3002         * Modules/indexeddb/IDBFactoryBackendInterface.h:
3003         * Modules/indexeddb/IDBTransactionBackendInterface.h:
3004
3005         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
3006         (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
3007         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
3008         (WebCore::IDBCursorBackendLevelDB::create):
3009
3010         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3011         (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
3012         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
3013
3014         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
3015         (WebCore::IDBTransactionBackendLevelDB::registerOpenCursor):
3016         (WebCore::IDBTransactionBackendLevelDB::unregisterOpenCursor):
3017         (WebCore::IDBTransactionBackendLevelDB::closeOpenCursors):
3018         (WebCore::IDBTransactionBackendLevelDB::createCursorBackend):
3019         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
3020
3021         * WebCore.xcodeproj/project.pbxproj: Export a required header.
3022
3023 2013-10-29  Seokju Kwon  <seokju@webkit.org>
3024
3025         Remove mutable keyword from member variables of XMLHttpRequest
3026         https://bugs.webkit.org/show_bug.cgi?id=123481
3027
3028         Reviewed by Andreas Kling.
3029
3030         No new tests, no change in functionality.
3031
3032         * xml/XMLHttpRequest.h: Remove mutable keyword as these are no longer used in const functions.
3033
3034 2013-10-29  Myles C. Maxfield  <mmaxfield@apple.com>
3035
3036         Underline bounds cannot be queried before underline itself is drawn
3037         https://bugs.webkit.org/show_bug.cgi?id=123310
3038
3039         Reviewed by Simon Fraser
3040
3041         GraphicsContext's drawLineForText function is used to draw underlines,
3042         strikethroughs, and overlines. Before drawing the line, this function
3043         modifies the bounds given to it in order to make underlines crisp. However,  
3044         this means that it is impossible to know where an underline will be drawn
3045         before drawing it. This patch pulls out this adjustment computation into 
3046         InlineTextBox, then passes the result to drawLineForText.
3047
3048         Because there should be no observable difference, no tests need to be updated.
3049
3050         * platform/graphics/GraphicsContext.h: Changing the signature of drawLineForText
3051         so it can accept bounds from our helper function
3052         * platform/graphics/blackberry/PathBlackBerry.cpp:
3053         (WebCore::GraphicsContext::drawLineForText): Update to work with new
3054         signature of drawLineForText
3055         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3056         (WebCore::GraphicsContext::drawLineForText): Ditto
3057         * platform/graphics/cg/GraphicsContextCG.cpp:
3058         (WebCore::GraphicsContext::drawLineForText): Ditto
3059         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3060         (WebCore::GraphicsContext::drawLineForText): Ditto
3061         * platform/win/WebCoreTextRenderer.cpp:
3062         (WebCore::doDrawTextAtPoint): Update the last call site of drawLineForText
3063         * rendering/InlineTextBox.cpp:
3064         (WebCore::computeBoundsForUnderline): Pure function that computes the adjusted
3065         bounds of the underline about to be drawn
3066         (WebCore::drawLineForText): calls computeBoundsForUnderline and then
3067         GraphicsContext::drawLineForText
3068         (WebCore::InlineTextBox::paintDecoration): Use new drawLineForText function
3069         (WebCore::InlineTextBox::paintCompositionUnderline): Ditto
3070
3071 2013-10-29  Alexey Proskuryakov  <ap@apple.com>
3072
3073         Beef up CryptoKey
3074         https://bugs.webkit.org/show_bug.cgi?id=123462
3075
3076         Fix a mismerge, remove duplicate CryptoKeyType declaration.
3077
3078         * crypto/CryptoKey.h:
3079
3080 2013-10-29  Alexey Proskuryakov  <ap@apple.com>
3081
3082         Beef up CryptoKey
3083         https://bugs.webkit.org/show_bug.cgi?id=123462
3084
3085         Reviewed by Sam Weinig.
3086
3087         * WebCore.xcodeproj/project.pbxproj: Added new files.
3088
3089         * crypto/CryptoAlgorithmIdentifier.h: Added an enum with all registered algorithms
3090         (they don't have to be all implemented in any port).
3091
3092         * crypto/CryptoKey.cpp:
3093         (WebCore::CryptoKey::CryptoKey): Initialize base class variables.
3094         (WebCore::CryptoKey::type): Convert internal representation for bindings use.
3095         (WebCore::CryptoKey::buildAlgorithmDescription): Ditto. This function is supposed
3096         to be called by derived classes before adding other keyes.
3097         (WebCore::CryptoKey::usages): Convert internal representation for bindings use.
3098
3099         * crypto/CryptoKey.h:
3100         (WebCore::CryptoKey::extractable): Expose for bindings.
3101         (WebCore::CryptoKey::allows): A faster way to check allowed key usage from C++ code.
3102
3103         * crypto/CryptoKey.idl: Added SkipVTableValidation, because validation doesn't work
3104         with derived classes. Corrected "usages" attribute name.
3105
3106         * crypto/CryptoKeyFormat.h: Added. 
3107         * crypto/CryptoKeyType.h: Added.
3108         * crypto/CryptoKeyUsage.h: Added.
3109         Added enums used by CryptoKey.
3110
3111 2013-10-29  Hugo Parente Lima  <hugo.lima@openbossa.org>
3112
3113         Adding Nix files in Source/Platform to trunk
3114         https://bugs.webkit.org/show_bug.cgi?id=118331
3115
3116         Reviewed by Benjamin Poulain.
3117
3118         Add Nix WebAudio implementation that just forward some calls to our API.
3119         This patch is part of the upstream process, tests will be landed by other patches.
3120
3121         * platform/audio/nix/AudioBusNix.cpp: Added.
3122         * platform/audio/nix/AudioDestinationNix.cpp: Added.
3123         * platform/audio/nix/AudioDestinationNix.h: Added.
3124         * platform/audio/nix/FFTFrameNix.cpp: Added.
3125         * platform/nix/support/MultiChannelPCMData.cpp: Added.
3126
3127 2013-10-29  Brady Eidson  <beidson@apple.com>
3128
3129         Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface::Transaction.
3130         https://bugs.webkit.org/show_bug.cgi?id=123475
3131
3132         Reviewed by Tim Horton.
3133
3134         Currently it's using IDBBackingStoreLevelDB::Transaction, which hinders the goal of:
3135         https://bugs.webkit.org/show_bug.cgi?id=123449 - IDBTransactionBackend should be cross platform
3136
3137         * Modules/indexeddb/IDBBackingStoreInterface.h:
3138
3139         * Modules/indexeddb/IDBIndexWriter.cpp:
3140         (WebCore::IDBIndexWriter::writeIndexKeys):
3141         (WebCore::IDBIndexWriter::verifyIndexKeys):
3142         (WebCore::IDBIndexWriter::addingKeyAllowed):
3143         * Modules/indexeddb/IDBIndexWriter.h:
3144
3145         * Modules/indexeddb/IDBTransactionBackendInterface.h:
3146
3147         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3148         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseIntVersion):
3149         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseMetaData):
3150         (WebCore::IDBBackingStoreLevelDB::createObjectStore):
3151         (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
3152         (WebCore::IDBBackingStoreLevelDB::getRecord):
3153         (WebCore::IDBBackingStoreLevelDB::putRecord):
3154         (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
3155         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
3156         (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
3157         (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
3158         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
3159         (WebCore::IDBBackingStoreLevelDB::createIndex):
3160         (WebCore::IDBBackingStoreLevelDB::deleteIndex):
3161         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
3162         (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
3163         (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
3164         (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
3165         (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
3166         (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
3167         (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
3168         (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
3169         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
3170
3171         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
3172         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
3173         (WebCore::IDBTransactionBackendLevelDB::abort):
3174         (WebCore::IDBTransactionBackendLevelDB::commit):
3175         (WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
3176         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
3177
3178 2013-10-29  Dean Jackson  <dino@apple.com>
3179
3180         Move InlineTextBox's text painting to it's own class
3181         https://bugs.webkit.org/show_bug.cgi?id=123355
3182
3183         Reinstate the LGPL license. I incorrectly told Myles to
3184         use another license on these new files.
3185
3186         * rendering/TextPainter.cpp:
3187         * rendering/TextPainter.h:
3188
3189 2013-10-29  Myles C. Maxfield  <mmaxfield@apple.com>
3190
3191         Move InlineTextBox's text painting to it's own class
3192         https://bugs.webkit.org/show_bug.cgi?id=123355
3193
3194         Reviewed by Dean Jackson.
3195
3196         Implementing text-decoration-skip: ink requires drawing text
3197         twice (once regularly, and once with a thick outline into a mask).
3198         This patch pulls out the relevant text drawing code from
3199         InlineTextBox into a new class, called TextPainter, which can be re-used
3200         to draw text multiple times.
3201
3202         Because there should be no observable difference, no tests need to be updated.
3203
3204         * CMakeLists.txt: Adding new TextPainter class
3205         * GNUmakefile.list.am: Adding new TextPainter class
3206         * WebCore.vcxproj/WebCore.vcxproj: Adding new TextPainter class
3207         * WebCore.vcxproj/WebCore.vcxproj.filters: Adding new TextPainter
3208         class
3209         * WebCore.xcodeproj/project.pbxproj: Adding new TextPainter class
3210         * rendering/InlineTextBox.cpp:
3211         (WebCore::InlineTextBox::paint): Moving text drawing code from
3212         this function
3213         * rendering/RenderingAllInOne.cpp: Adding new TextPainter class
3214         * rendering/TextPainter.cpp: Added.
3215         (WebCore::TextPainter::TextPainter):
3216         (WebCore::drawTextOrEmphasisMarks):
3217         (WebCore::paintTextWithShadows):
3218         (WebCore::rotation):
3219         (WebCore::TextPainter::paintText): New location for text drawing
3220         code
3221         (WebCore::TextPainter::paintTextInContext):
3222         * rendering/TextPainter.h: Added.
3223         (WebCore::SavedDrawingStateForMask::SavedDrawingStateForMask):
3224         (WebCore::TextPainter::boxRect):
3225
3226 2013-10-29  Jer Noble  <jer.noble@apple.com>
3227
3228         [MSE] [Mac] Enable MediaSource on the Mac
3229         https://bugs.webkit.org/show_bug.cgi?id=122484
3230
3231         Reviewed by Darin Adler.
3232
3233         Enable ENABLE_MEDIA_SOURCE.
3234
3235         * Configurations/FeatureDefines.xcconfig:
3236
3237 2013-10-29  Tim Horton  <timothy_horton@apple.com>
3238
3239         Build fix after 158223; make TileController use float for scales.
3240
3241         This matches what we do in other places, and fixes the constant
3242         issue with exporting symbols that include CGFloat.
3243
3244         * WebCore.exp.in:
3245         * platform/graphics/ca/mac/TileController.h:
3246         (WebCore::TileController::scale):
3247         * platform/graphics/ca/mac/TileController.mm:
3248         (WebCore::TileController::setScale):
3249
3250 2013-10-29  Antti Koivisto  <antti@apple.com>
3251
3252         Try to keep MSVC happy.
3253
3254         * rendering/SimpleLineLayout.h:
3255         (WebCore::SimpleLineLayout::Run::Run):
3256
3257 2013-10-29  Tim Horton  <timothy_horton@apple.com>
3258
3259         More correct build fix after 158223.
3260
3261         Only fails in release because it's inline.
3262
3263         * WebCore.exp.in:
3264
3265 2013-10-29  Antti Koivisto  <antti@apple.com>
3266
3267         Use left/right instead of left/width for simple text runs
3268         https://bugs.webkit.org/show_bug.cgi?id=123465
3269
3270         Reviewed by Andreas Kling.
3271
3272         This simplifies the code a bit.
3273
3274         * rendering/SimpleLineLayout.cpp:
3275         (WebCore::SimpleLineLayout::adjustRunOffsets):
3276         (WebCore::SimpleLineLayout::create):
3277         * rendering/SimpleLineLayout.h:
3278         (WebCore::SimpleLineLayout::Run::Run):
3279         * rendering/SimpleLineLayoutResolver.h:
3280         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
3281
3282 2013-10-29  Tim Horton  <timothy_horton@apple.com>
3283
3284         Try fixing the Mac build (though I have no idea why
3285         this wouldn't fail locally)...
3286
3287         * WebCore.exp.in:
3288
3289 2013-10-29  Tim Horton  <timothy_horton@apple.com>
3290
3291         Remote Layer Tree: Support tiled drawing and use it for the main frame
3292         https://bugs.webkit.org/show_bug.cgi?id=123422
3293
3294         Reviewed by Simon Fraser.
3295
3296         * WebCore.exp.in:
3297         * WebCore.xcodeproj/project.pbxproj:
3298
3299 2013-10-29  Eric Carlson  <eric.carlson@apple.com>
3300
3301         [Mac MediaStream] implement AVFoundation backed MediaStreamSource
3302         https://bugs.webkit.org/show_bug.cgi?id=123316
3303
3304         Reviewed by Jer Noble
3305
3306         No new tests, existing tests updated.
3307
3308         * CMakeLists.txt: Add MediaStreamSourceStates.cpp.
3309
3310         * Modules/mediastream/MediaSourceStates.cpp:
3311         (WebCore::MediaSourceStates::MediaSourceStates): m_SourceStates -> m_sourceStates.
3312         (WebCore::MediaSourceStates::sourceType): Ditto.
3313         (WebCore::MediaSourceStates::facingMode): Ditto.
3314         * Modules/mediastream/MediaSourceStates.h: Ditto.
3315         * Modules/mediastream/MediaSourceStates.idl: Mark some attributes as optional.
3316
3317         * Modules/mediastream/MediaStream.cpp:
3318         (WebCore::MediaStream::addTrack):
3319         (WebCore::MediaStream::removeTrack):
3320         (WebCore::MediaStream::addRemoteSource):
3321         (WebCore::MediaStream::removeRemoteSource):
3322
3323         * Modules/mediastream/MediaStreamCapabilities.cpp:
3324         (WebCore::MediaStreamCapabilities::sourceType): MediaSourceStates -> MediaStreamSourceStates
3325         (WebCore::MediaStreamCapabilities::facingMode): Ditto.
3326
3327         * Modules/mediastream/MediaStreamTrack.cpp:
3328         (WebCore::MediaStreamTrack::MediaStreamTrack): Don't observe source changes directly, let the
3329             private track do that. Change private track parameter to ref because it can't be NULL.
3330         (WebCore::MediaStreamTrack::~MediaStreamTrack): Ditto.
3331         (WebCore::MediaStreamTrack::setSource): Pass through to private track.
3332         (WebCore::MediaStreamTrack::stopped): Ditto.
3333         (WebCore::MediaStreamTrack::states): Ditto.
3334         (WebCore::MediaStreamTrack::capabilities): Ditto.
3335         (WebCore::MediaStreamTrack::applyConstraints): Ditto.
3336         (WebCore::MediaStreamTrack::stopProducingData): Ditto.
3337         (WebCore::MediaStreamTrack::trackReadyStateChanged): Renamed from sourceStateChanged. Don't
3338             schedule an 'ended' event if called as a side effect of the stop() method having been
3339             called as per spec.
3340         (WebCore::MediaStreamTrack::trackMutedChanged): Renamed from sourceMutedChanged.
3341         (WebCore::MediaStreamTrack::trackEnabledChanged): Renamed from sourceEnabledChanged.
3342         (WebCore::MediaStreamTrack::stop): Pass through to private track.
3343         * Modules/mediastream/MediaStreamTrack.h:
3344         (WebCore::MediaStreamTrack::Observer::~Observer): Add virtual destructor.
3345
3346         * Modules/mediastream/UserMediaRequest.cpp:
3347         (WebCore::UserMediaRequest::callSuccessHandler): Set track, not source, constraints.
3348
3349         * WebCore.xcodeproj/project.pbxproj: Add new files.
3350
3351         * bindings/js/JSMediaSourceStatesCustom.cpp:
3352         (WebCore::JSMediaSourceStates::facingMode): Return jsUndefined when the facing mode
3353             is Unknown.
3354
3355         * platform/mediastream/MediaStreamCenter.h: Remove unused class forward defines and
3356             undefined method prototype.
3357
3358         * platform/mediastream/MediaStreamDescriptor.cpp:
3359         (WebCore::MediaStreamDescriptor::addSource): ASSERT if source is kind None.
3360         (WebCore::MediaStreamDescriptor::removeSource): Ditto.
3361         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
3362
3363         * platform/mediastream/MediaStreamSource.cpp:
3364         (WebCore::MediaStreamSource::setReadyState): Call startProducingData when readyState changes
3365             to Live, stopProducingData when it changes to Ended.
3366         (WebCore::MediaStreamSource::removeObserver): Call stop() when there are no more observers.
3367         (WebCore::MediaStreamSource::setEnabled): If passed false, do nothing unless all observers
3368             are disabled. Call startProducingData/stopProducingData when becoming enabled/disabled.
3369         (WebCore::MediaStreamSource::stop): Don't bother checking to see if other observers have
3370             stopped, the spec says that track.stop() should permanently stop the track's source.
3371         * platform/mediastream/MediaStreamSource.h:
3372         (WebCore::MediaStreamSource::name): Make virtual so derived classes can override.
3373         (WebCore::MediaStreamSource::setName): Ditto.
3374         (WebCore::MediaStreamSource::readyState): Ditto.
3375         (WebCore::MediaStreamSource::enabled): Ditto.
3376         (WebCore::MediaStreamSource::muted): Ditto.
3377         (WebCore::MediaStreamSource::setReadonly): Ditto.
3378         (WebCore::MediaStreamSource::remote): Ditto.
3379         (WebCore::MediaStreamSource::setRemote): Ditto.
3380         (WebCore::MediaStreamSource::startProducingData): Added.
3381         (WebCore::MediaStreamSource::stopProducingData): Added.
3382
3383         * platform/mediastream/MediaStreamSourceCapabilities.h: Move MediaStreamSourceStates to
3384             its own file.
3385
3386         * platform/mediastream/MediaStreamSourceStates.cpp: Added.
3387         (WebCore::MediaStreamSourceStates::facingMode): Moved here from MediaSourceStates so the 
3388             strings are available to platform code.
3389         (WebCore::MediaStreamSourceStates::sourceType): Ditto.
3390         * platform/mediastream/MediaStreamSourceStates.h: Added, moved from MediaStreamSourceCapabilities.h.
3391
3392         * platform/mediastream/MediaStreamTrackPrivate.cpp:
3393         (WebCore::MediaStreamTrackPrivate::create): Pass private track to constructor as PassRefPtr.
3394         (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate): Initialize member variables.
3395         (WebCore::MediaStreamTrackPrivate::~MediaStreamTrackPrivate): Unregister as source observer.
3396         (WebCore::MediaStreamTrackPrivate::setSource): Unregister/register as source observer.
3397         (WebCore::MediaStreamTrackPrivate::setEnabled): Enable/disable source, call client.
3398         (WebCore::MediaStreamTrackPrivate::stop): New. Set readyState to Ended, optionally stop source.
3399         (WebCore::MediaStreamTrackPrivate::setReadyState): Inline the logic from shouldFireTrackReadyStateChanged.
3400         (WebCore::MediaStreamTrackPrivate::constraints): New, passthrough to the source.
3401         (WebCore::MediaStreamTrackPrivate::states): Ditto.
3402         (WebCore::MediaStreamTrackPrivate::type): Ditto.
3403         (WebCore::MediaStreamTrackPrivate::capabilities): Ditto.
3404         (WebCore::MediaStreamTrackPrivate::applyConstraints): Ditto.
3405         (WebCore::MediaStreamTrackPrivate::sourceReadyStateChanged): React to source changes.
3406         (WebCore::MediaStreamTrackPrivate::sourceMutedChanged): Ditto.
3407         (WebCore::MediaStreamTrackPrivate::sourceEnabledChanged): Ditto.
3408         (WebCore::MediaStreamTrackPrivate::observerIsEnabled): Respond to source query.
3409         (WebCore::MediaStreamTrackPrivate::observerIsStopped): Ditto.
3410         * platform/mediastream/MediaStreamTrackPrivate.h:
3411
3412         * platform/mediastream/mac/AVAudioCaptureSource.h: Added.
3413         * platform/mediastream/mac/AVAudioCaptureSource.mm: Added.
3414
3415         * platform/mediastream/mac/AVCaptureDeviceManager.h: Added.
3416         * platform/mediastream/mac/AVCaptureDeviceManager.mm: Added.
3417
3418         * platform/mediastream/mac/AVMediaCaptureSource.h: Added.
3419         * platform/mediastream/mac/AVMediaCaptureSource.mm: Added.
3420
3421         * platform/mediastream/mac/AVVideoCaptureSource.h: Added.
3422         * platform/mediastream/mac/AVVideoCaptureSource.mm: Added.
3423
3424         * platform/mediastream/mac/MediaStreamCenterMac.cpp:
3425         (WebCore::MediaStreamCenterMac::validateRequestConstraints): Implement.
3426         (WebCore::MediaStreamCenterMac::createMediaStream): Ditto.
3427         (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Ditto.
3428
3429         * platform/mock/MockMediaStreamCenter.cpp:
3430         (WebCore::initializeMockSources): Update for MediaStreamSourceStates changes.
3431         (WebCore::MockMediaStreamCenter::createMediaStream):
3432
3433 2013-10-29  Zoltan Horvath  <zoltan@webkit.org>
3434
3435         [CSS Regions][CSS Shapes] Layout error when the shape has negative top coordinate and it's applied on the second region
3436         <https://webkit.org/b/123346>
3437
3438         Reviewed by David Hyatt.
3439
3440         We have a layout error when there is a shape applied on the second region, and it has a negative 'top' coordinate.
3441         Since shapeInsideInfo::shapeLogicalTop() can return negative numbers, we need to check for it, when we're positioning
3442         the first line in the region.
3443
3444         Test: fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html
3445
3446         * rendering/RenderBlockLineLayout.cpp:
3447         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
3448
3449 2013-10-29  Brady Eidson  <beidson@apple.com>
3450
3451         Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
3452         https://bugs.webkit.org/show_bug.cgi?id=123451
3453
3454         Reviewed by NOBODY (My bad, non-reviewed, non-building code got in there)
3455
3456         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3457         (WebCore::IDBDatabaseBackendImpl::processPendingCalls): Remove the auto line I was trying from review feedback.
3458
3459 2013-10-29  Brady Eidson  <beidson@apple.com>
3460
3461         Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
3462         https://bugs.webkit.org/show_bug.cgi?id=123451
3463
3464         Reviewed by Andreas Kling.
3465
3466         This involves:
3467         - Splitting out IDBTransactionBackendLevelDB::Operation into its own header
3468         - Splitting out IDBDatabaseBackendImpl::PendingOpenCall into its own header
3469         - Reworking the LevelDB Operations to handle the base class IDBTransactionBackendInterface
3470         - Adding virtual methods in a few of the *Interface classes to support the above
3471
3472         * GNUmakefile.list.am:
3473         * WebCore.xcodeproj/project.pbxproj:
3474
3475         * Modules/indexeddb/IDBCallbacks.h:
3476
3477         * Modules/indexeddb/IDBCursorBackendInterface.h:
3478
3479         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3480         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
3481         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
3482         (WebCore::IDBDatabaseBackendImpl::openConnection):
3483         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
3484         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
3485         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
3486
3487         * Modules/indexeddb/IDBOperation.h: Added.
3488         (WebCore::IDBOperation::~IDBOperation):
3489
3490         * Modules/indexeddb/IDBPendingOpenCall.h: Added.
3491         (WebCore::IDBPendingOpenCall::create):
3492         (WebCore::IDBPendingOpenCall::callbacks):
3493         (WebCore::IDBPendingOpenCall::databaseCallbacks):
3494         (WebCore::IDBPendingOpenCall::version):
3495         (WebCore::IDBPendingOpenCall::transactionId):
3496         (WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
3497
3498         * Modules/indexeddb/IDBRequest.h:
3499
3500         * Modules/indexeddb/IDBTransactionBackendInterface.h:
3501
3502         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
3503         (WebCore::IDBCursorBackendLevelDB::CursorIterationOperation::create):
3504         (WebCore::IDBCursorBackendLevelDB::CursorAdvanceOperation::create):
3505         (WebCore::IDBCursorBackendLevelDB::CursorPrefetchIterationOperation::create):
3506         (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
3507         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
3508
3509         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
3510         (WebCore::IDBTransactionBackendLevelDB::scheduleTask):
3511         (WebCore::IDBTransactionBackendLevelDB::abort):
3512         (WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
3513         (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
3514         (WebCore::IDBTransactionBackendLevelDB::scheduleOpenCursorOperation):
3515         (WebCore::IDBTransactionBackendLevelDB::scheduleCountOperation):
3516         (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteRangeOperation):
3517         (WebCore::IDBTransactionBackendLevelDB::scheduleClearOperation):
3518         (WebCore::IDBTransactionBackendLevelDB::createCursorBackend):
3519         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
3520
3521         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
3522         (WebCore::CreateObjectStoreOperation::perform):
3523         (WebCore::CreateIndexOperation::perform):
3524         (WebCore::CreateIndexAbortOperation::perform):
3525         (WebCore::DeleteIndexOperation::perform):
3526         (WebCore::DeleteIndexAbortOperation::perform):
3527         (WebCore::OpenCursorOperation::perform):
3528         (WebCore::DeleteObjectStoreOperation::perform):
3529         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
3530         (WebCore::CreateObjectStoreAbortOperation::perform):
3531         (WebCore::DeleteObjectStoreAbortOperation::perform):
3532         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
3533         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
3534         (WebCore::CreateObjectStoreOperation::create):
3535         (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
3536         (WebCore::DeleteObjectStoreOperation::create):
3537         (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
3538         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::create):
3539         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::VersionChangeOperation):
3540         (WebCore::CreateObjectStoreAbortOperation::create):
3541         (WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
3542         (WebCore::DeleteObjectStoreAbortOperation::create):
3543         (WebCore::DeleteObjectStoreAbortOperation::DeleteObjectStoreAbortOperation):
3544         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::create):
3545         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::VersionChangeAbortOperation):
3546         (WebCore::CreateIndexOperation::create):
3547         (WebCore::CreateIndexOperation::CreateIndexOperation):
3548         (WebCore::CreateIndexAbortOperation::create):
3549         (WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
3550         (WebCore::DeleteIndexOperation::create):
3551         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
3552         (WebCore::DeleteIndexAbortOperation::create):
3553         (WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
3554         (WebCore::GetOperation::create):
3555         (WebCore::GetOperation::GetOperation):
3556         (WebCore::PutOperation::create):
3557         (WebCore::PutOperation::PutOperation):
3558         (WebCore::SetIndexesReadyOperation::create):
3559         (WebCore::SetIndexesReadyOperation::SetIndexesReadyOperation):
3560         (WebCore::OpenCursorOperation::create):
3561         (WebCore::OpenCursorOperation::OpenCursorOperation):
3562         (WebCore::CountOperation::create):
3563         (WebCore::CountOperation::CountOperation):
3564         (WebCore::DeleteRangeOperation::create):
3565         (WebCore::DeleteRangeOperation::DeleteRangeOperation):
3566         (WebCore::ClearOperation::create):
3567         (WebCore::ClearOperation::ClearOperation):
3568
3569 2013-10-29  Antti Koivisto  <antti@apple.com>
3570
3571         Make SimpleLineLayout::Layout a variable size object
3572         https://bugs.webkit.org/show_bug.cgi?id=123459
3573
3574         Reviewed by Andreas Kling.
3575
3576         Less memory, less indirection.
3577
3578         * rendering/SimpleLineLayout.cpp:
3579         (WebCore::SimpleLineLayout::canUseFor):
3580         (WebCore::SimpleLineLayout::create):
3581         (WebCore::SimpleLineLayout::Layout::create):
3582         (WebCore::SimpleLineLayout::Layout::Layout):
3583         * rendering/SimpleLineLayout.h:
3584         * rendering/SimpleLineLayoutFunctions.cpp:
3585         (WebCore::SimpleLineLayout::hitTestFlow):
3586         * rendering/SimpleLineLayoutFunctions.h:
3587         (WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
3588         (WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
3589         (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
3590         (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
3591         (WebCore::SimpleLineLayout::containsTextCaretOffset):
3592         (WebCore::SimpleLineLayout::isTextRendered):
3593         * rendering/SimpleLineLayoutResolver.h:
3594         (WebCore::SimpleLineLayout::RunResolver::end):
3595
3596 2013-10-29  Andreas Kling  <akling@apple.com>
3597
3598         RenderObject::outlineStyleForRepaint() should return a reference.
3599         <https://webkit.org/b/123453>
3600
3601         Kill a FIXME and make outlineStyleForRepaint() return a RenderStyle&.
3602
3603         Reviewed by Antti Koivisto.
3604
3605 2013-10-29  Andreas Kling  <akling@apple.com>
3606
3607         Move more of SVG resources cache to using RenderElement.
3608         <https://webkit.org/b/123452>
3609
3610         Make some more RenderSVGResourcesCache methods take RenderElement&
3611         instead of RenderObject*.
3612
3613         Also removed a double hash lookup in removeResourcesFromRenderer().
3614
3615         Reviewed by Antti Koivisto.
3616
3617 2013-10-29  Joseph Pecoraro  <pecoraro@apple.com>
3618
3619         Web Inspector: Remove old Inspector.json version files and generators
3620         https://bugs.webkit.org/show_bug.cgi?id=123426
3621
3622         Reviewed by Timothy Hatcher.
3623
3624         * CMakeLists.txt:
3625         * DerivedSources.make:
3626         * GNUmakefile.am:
3627         * GNUmakefile.list.am:
3628         * WebCore.xcodeproj/project.pbxproj:
3629         * inspector/Inspector-0.1.json: Removed.
3630         * inspector/Inspector-1.0.json: Removed.
3631         * inspector/generate-inspector-protocol-version: Removed.
3632
3633 2013-10-29  Philippe Normand  <pnormand@igalia.com>
3634
3635         [GTK] DOM bindings documentation errors
3636         https://bugs.webkit.org/show_bug.cgi?id=123448
3637
3638         Reviewed by Carlos Garcia Campos.
3639
3640         * bindings/gobject/WebKitDOMCustom.h: Basic documentation for
3641         return types.
3642         * bindings/scripts/CodeGeneratorGObject.pm:
3643         (GenerateFunction): Generate Returns documentation tag for
3644         non-void return types and provide basic documentation.
3645         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
3646         Reset tests results.
3647         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
3648         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
3649         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
3650         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
3651         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
3652         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3653         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
3654         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
3655         * bindings/scripts/test/GObject/WebKitDOMattribute.h:
3656
3657 2013-10-24  Brent Fulgham  <bfulgham@apple.com>
3658
3659         Invalid cast in WebCore::toRenderMathMLBlock
3660         https://bugs.webkit.org/show_bug.cgi?id=121728
3661         rdar://problem/15046151
3662
3663         Reviewed by Dean Jackson.
3664
3665         Tested by: mathml/arbitrary-markup.html
3666
3667         * dom/Element.h: Expose childShouldCreateRenderer for
3668         MathML as well as SVG builds.
3669         * dom/Node.h: 
3670         (WebCore::Node::isMathMLElement): Added.
3671         * mathml/MathMLElement.cpp:
3672         (WebCore::MathMLElement::create): Create as MathML Element.
3673         (WebCore::MathMLElement::childShouldCreateRenderer):
3674         Only allow the child to emit a renderer if it is a
3675         MathML element.
3676         * mathml/MathMLElement.h:
3677
3678 2013-10-29  Andreas Kling  <akling@apple.com>
3679
3680         SVG: applyStrokeStyleToContext should take a RenderElement&.
3681         <https://webkit.org/b/123447>
3682
3683         ..and a RenderStyle& too, for that matter.
3684
3685         Reviewed by Anders Carlsson.
3686
3687         * rendering/svg/SVGRenderSupport.h:
3688         * rendering/svg/SVGRenderSupport.cpp:
3689         (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
3690
3691             Have this take a RenderElement& and RenderStyle& instead of
3692             raw pointers. Tweaked a silly-looking loop.
3693
3694         * rendering/svg/RenderSVGShape.h:
3695         * rendering/svg/RenderSVGShape.cpp:
3696
3697             Moved BoundingRectStrokeStyleApplier helper class into the
3698             cpp file since it wasn't being used anywhere else.
3699
3700         * rendering/svg/RenderSVGResourceGradient.cpp:
3701         (WebCore::RenderSVGResourceGradient::applyResource):
3702         * rendering/svg/RenderSVGResourcePattern.cpp:
3703         (WebCore::RenderSVGResourcePattern::applyResource):
3704         * rendering/svg/RenderSVGResourceSolidColor.cpp:
3705         (WebCore::RenderSVGResourceSolidColor::applyResource):
3706
3707             Remove ampersands.
3708
3709 2013-10-29  Antti Koivisto  <antti@apple.com>
3710
3711         Multiple runs per line on simple line path
3712         https://bugs.webkit.org/show_bug.cgi?id=123446
3713
3714         Reviewed by Andreas Kling.
3715
3716         By allowing multiple runs per line we can support text flows with consecutive whitespaces in the middle.
3717
3718         * rendering/SimpleLineLayout.cpp:
3719         (WebCore::SimpleLineLayout::canUseFor):
3720         
3721             Remove space test.
3722             The improved test coverage found a few more cases that we need to disallow.
3723
3724         (WebCore::SimpleLineLayout::adjustRunOffsets):
3725             
3726             Round the run positions and widths so they match line boxes.
3727             Adjust for text-align.
3728
3729         (WebCore::SimpleLineLayout::create):
3730         
3731             Split lines with consecutive spaces into runs.
3732
3733         * rendering/SimpleLineLayout.h:
3734         (WebCore::SimpleLineLayout::Run::Run):
3735         * rendering/SimpleLineLayoutFunctions.cpp:
3736         (WebCore::SimpleLineLayout::hitTestFlow):
3737         (WebCore::SimpleLineLayout::collectFlowOverflow):
3738         (WebCore::SimpleLineLayout::computeTextBoundingBox):
3739         * rendering/SimpleLineLayoutResolver.h:
3740         (WebCore::SimpleLineLayout::RunResolver::Iterator::resolver):
3741         (WebCore::SimpleLineLayout::RunResolver::Iterator::lineIndex):
3742         (WebCore::SimpleLineLayout::RunResolver::Run::Run):
3743         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
3744         (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
3745         (WebCore::SimpleLineLayout::RunResolver::Run::text):
3746         (WebCore::SimpleLineLayout::RunResolver::Run::lineIndex):
3747         (WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
3748         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator++):
3749         
3750             Removed unnecessary operators.
3751
3752         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator==):
3753         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator!=):
3754         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator*):
3755         (WebCore::SimpleLineLayout::RunResolver::Iterator::simpleRun):
3756         (WebCore::SimpleLineLayout::RunResolver::RunResolver):
3757         (WebCore::SimpleLineLayout::RunResolver::begin):
3758         (WebCore::SimpleLineLayout::RunResolver::end):
3759         
3760             Resolver -> RunResolver
3761
3762         (WebCore::SimpleLineLayout::LineResolver::Iterator::Iterator):
3763         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator++):
3764         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator==):
3765         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator!=):
3766         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
3767         (WebCore::SimpleLineLayout::LineResolver::LineResolver):
3768         (WebCore::SimpleLineLayout::LineResolver::begin):
3769         (WebCore::SimpleLineLayout::LineResolver::end):
3770         
3771             Add LineResolver around RunResolver. It resolves the line rectangles.
3772
3773         (WebCore::SimpleLineLayout::runResolver):
3774         (WebCore::SimpleLineLayout::lineResolver):
3775
3776 2013-10-29  Chris Fleizach  <cfleizach@apple.com>
3777
3778         AX: elements with explicit tabindex should expose AXFocused as writable, since mouse clicks can focus it
3779         https://bugs.webkit.org/show_bug.cgi?id=121335
3780
3781         Reviewed by Mario Sanchez Prada.
3782
3783         Re-order logic that determines if a <span> should appear as an accessible element. 
3784         The change is that if an element canSetFocus() it should always be in the AX tree.
3785
3786         Test: accessibility/tabindex-elements-are-accessible.html
3787
3788         * accessibility/AccessibilityRenderObject.cpp:
3789         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
3790         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3791
3792 2013-10-29  Philippe Normand  <pnormand@igalia.com>
3793
3794         [GTK] enable media-stream in build-webkit
3795         https://bugs.webkit.org/show_bug.cgi?id=123144
3796
3797         Reviewed by Martin Robinson.
3798
3799         * GNUmakefile.list.am: Add new MediaStream files to the GTK port build.
3800
3801 2013-10-28  Chris Fleizach  <cfleizach@apple.com>
3802
3803         AX: Webkit does not expose AXRequired on input type=file
3804         https://bugs.webkit.org/show_bug.cgi?id=123376
3805
3806         Reviewed by Mario Sanchez Prada.
3807
3808         File upload buttons should expose AXRequired, since they take an input state.
3809
3810         * accessibility/AccessibilityNodeObject.cpp:
3811         (WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
3812         (WebCore::AccessibilityNodeObject::alternativeText):
3813
3814 2013-10-29  Jinwoo Song  <jinwoo7.song@samsung.com>
3815
3816         Re-enable simple line layout for EFL
3817         https://bugs.webkit.org/show_bug.cgi?id=123402
3818
3819         Reviewed by Antti Koivisto.
3820
3821         * rendering/SimpleLineLayout.cpp:
3822         (WebCore::SimpleLineLayout::canUseFor): 8-bit TextRun support is now enabled for EFL port, so the port
3823         can use the simple line layout.
3824
3825 2013-10-29  Zan Dobersek  <zdobersek@igalia.com>
3826
3827         Unreviewed, follow-up to r158185. Export the required symbol.
3828         This should fix the Mac debug build.
3829
3830         * WebCore.exp.in:
3831
3832 2013-10-29  Santosh Mahto  <santosh.ma@samsung.com>
3833
3834         Text selected with double-click gets unselected after DOM modification
3835         https://bugs.webkit.org/show_bug.cgi?id=114227
3836
3837         Reviewed by Ryosuke Niwa.
3838
3839         Before this patch when selection is done by double-click (start and base remain
3840         same) and DOM is modified then selection gets vanished. This does not
3841         happen when selection is done by dragging mouse. This happens because
3842         on double-click base and extent remain the same and on DOM
3843         modification we update the selection with base and extent, so we loose
3844         the selection. Since in double-click case start/end contain the
3845         correct selection, same should be used after dom modification to
3846         update selection.
3847
3848         Test: editing/selection/double-click-selection-with-dom-mutation.html
3849
3850         * editing/FrameSelection.cpp:
3851         (WebCore::FrameSelection::textWasReplaced): use start/end to update
3852         selection in case double click selection. Added a check for base !=
3853         extent, if base != extent use base/extent to update the selection
3854         otherwise use start/end with directionality check.
3855
3856 2013-10-29  Mihnea Ovidenie  <mihnea@adobe.com>
3857
3858         [CSSRegions] Display anonymous regions in DRT
3859         https://bugs.webkit.org/show_bug.cgi?id=122963
3860
3861         Reviewed by Alexandru Chiculita.
3862
3863         After https://bugs.webkit.org/show_bug.cgi?id=119135, css regions are modelled using an anonymous
3864         RenderNamedFlowFragment object inside the block having a valid -webkit-flow-from.
3865         This patch changes the way elements | pseudo-elements with -webkit-flow-from are displayed
3866         in test dumps.
3867
3868         Before:
3869             RenderRegion {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
3870         After:
3871             RenderBlock (positioned) {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
3872                 RenderNamedFlowFragment at (1,1) size 50x50
3873
3874         Before:
3875             Flow Threads
3876                 Thread with flow-name 'article'
3877                 Regions for flow 'article'
3878                     RenderRegion {DIV} #region_1
3879                     RenderRegion {DIV} #region_2
3880         After:
3881             Named flows
3882                 Named flow 'article'
3883                 Regions for named flow 'article'
3884                     RenderNamedFlowFragment (anonymous child of {DIV::before} #region_1)
3885                     RenderNamedFlowFragment (anonymous child of {DIV} #region_2)
3886
3887         Changed existing tests based on the new dumps.
3888
3889         * rendering/RenderBlock.cpp:
3890         (WebCore::RenderBlock::renderName):
3891         * rendering/RenderNamedFlowFragment.h: Add a comment explaining the purpose of the class.
3892         * rendering/RenderRegion.h:
3893         * rendering/RenderTreeAsText.cpp:
3894         (WebCore::write):
3895         (WebCore::writeRenderRegionList): Adjust function to display info for anonymous regions too.
3896         (WebCore::writeRenderNamedFlowThreads): Separate dump of valid and invalid regions for a named flow.
3897
3898 2013-10-29  Zan Dobersek  <zdobersek@igalia.com>
3899
3900         Move writeIndent, overloaded << operators from RenderTreeAsText to TextStream
3901         https://bugs.webkit.org/show_bug.cgi?id=116012
3902
3903         Reviewed by Simon Fraser.
3904
3905         The writeIndent method and overloaded << operators for writing out vectors and points and rectangles
3906         of various types are not specific to the render tree nor do they depend on any rendering-specific interface.
3907
3908         * page/scrolling/ScrollingStateNode.cpp:
3909         * page/scrolling/ScrollingStateNode.h:
3910         (ScrollingStateNode): Remove the writeIndent declaration, it's functionally the same as the TextStream method.
3911         * platform/graphics/GraphicsLayer.cpp:
3912         * platform/graphics/GraphicsLayer.h:
3913         (GraphicsLayer): Ditto.
3914         * platform/graphics/filters/DistantLightSource.cpp: Remove the RenderTreeAsText.h inclusion or replace it with
3915         the inclusion of the TextStream.h header where required. The writeIndent method is now declared there.
3916         * platform/graphics/filters/FEBlend.cpp: Ditto.
3917         * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
3918         * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
3919         * platform/graphics/filters/FEComposite.cpp: Ditto.
3920         * platform/graphics/filters/FEConvolveMatrix.cpp: Ditto.
3921         * platform/graphics/filters/FECustomFilter.cpp: Ditto.
3922         * platform/graphics/filters/FEDiffuseLighting.cpp: Ditto.
3923         * platform/graphics/filters/FEDisplacementMap.cpp: Ditto.
3924         * platform/graphics/filters/FEDropShadow.cpp: Ditto.
3925         * platform/graphics/filters/FEFlood.cpp: Ditto.
3926         * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
3927         * platform/graphics/filters/FEMerge.cpp: Ditto.
3928         * platform/graphics/filters/FEMorphology.cpp: Ditto.
3929         * platform/graphics/filters/FEOffset.cpp: Ditto.
3930         * platform/graphics/filters/FESpecularLighting.cpp: Ditto.
3931         * platform/graphics/filters/FETurbulence.cpp: Ditto.
3932         * platform/graphics/filters/SourceAlpha.cpp: Ditto.
3933         * platform/graphics/filters/SourceGraphic.cpp: Ditto.
3934         * platform/text/TextStream.cpp: Move the writeIndent and operators' definitions here.
3935         (WebCore::operator<<):
3936         (WebCore):
3937         (WebCore::writeIndent):
3938         * platform/text/TextStream.h: Move the writeIndent and operators' declarations here.
3939         (WebCore):
3940         (TextStream):
3941         (WebCore::TextStream::operator<<):
3942         * rendering/RenderTreeAsText.cpp: Move the writeIndent and operators' definitions into TextStream.
3943         (WebCore):
3944         * rendering/RenderTreeAsText.h: Move the writeIndent and operators' declarations into TextStream.
3945         (WebCore):
3946
3947 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
3948
3949         Clean up ScopedEventQueue
3950         https://bugs.webkit.org/show_bug.cgi?id=123408
3951
3952         Reviewed by Darin Adler.
3953
3954         Clean up the ScopedEventQueue implementation. ScopedEventQueue::instance() should return a reference to a
3955         NeverDestroyed<ScopedEventQueue> object. The static ScopedEventQueue::s_instance pointer is removed.
3956
3957         The ScopedEventQueue destructor, the dispatchAllEvents method and the scope level incrementation/decrementation
3958         methods are made private. NeverDestroyed<ScopedEventQueue> and EventQueueScope are made friends of the
3959         ScopedEventQueue class so they can access the constructor and the incrementation/decrementation methods, respectively.
3960
3961         ScopedEventQueue method definitions are reordered to follow the order of their declarations in the header file.
3962         ScopedEventQueue::dispatchAllEvents() now uses std::move to efficiently dispatch and clear all currently queued events.
3963
3964         * dom/EventDispatcher.cpp:
3965         (WebCore::EventDispatcher::dispatchScopedEvent):
3966         * dom/ScopedEventQueue.cpp:
3967         (WebCore::ScopedEventQueue::instance):
3968         (WebCore::ScopedEventQueue::dispatchAllEvents):
3969         * dom/ScopedEventQueue.h:
3970         (WebCore::EventQueueScope::EventQueueScope):
3971         (WebCore::EventQueueScope::~EventQueueScope):
3972
3973 2013-10-28  Andreas Kling  <akling@apple.com>
3974
3975         applyTextTransform() should take a const RenderStyle&.
3976         <https://webkit.org/b/123434>
3977
3978         This function is always called with an existing RenderStyle object.
3979
3980         Reviewed by Anders Carlsson.
3981
3982 2013-10-28  Andreas Kling  <akling@apple.com>
3983
3984         RenderSVGResource::applyResource() should take a const RenderStyle&.
3985         <https://webkit.org/b/123433>
3986
3987         These functions are always called with an existing RenderStyle object
3988         so let them take a const reference instead of a raw pointer.
3989         Also sprinkled some missing OVERRIDEs.
3990
3991         Reviewed by Anders Carlsson.
3992
3993 2013-10-28  Andreas Kling  <akling@apple.com>
3994
3995         Remove unused RenderTextControl::textBaseStyle().
3996         <https://webkit.org/b/123432>
3997
3998         Reviewed by Anders Carlsson.
3999
4000 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
4001
4002         HTML input type objects should be managed through std::unique_ptr
4003         https://bugs.webkit.org/show_bug.cgi?id=123160
4004
4005         Reviewed by Darin Adler.
4006
4007         Make the constructors of the InputType subclasses public. This makes it possible to use std::make_unique on these classes
4008         and makes the T::create() helpers redundant. New instances of these classes are now managed through std::unique_ptr.
4009
4010         InputType::create() now uses a NeverDestroyed InputTypeFactoryMap that maps type names to InputTypeFactoryFunctions and
4011         gets populated when the method is first called and the map is still empty. Certain types are not added to the factory map
4012         if they're disabled at runtime.
4013
4014         The factory is used to create the new InputType object if the requested type was found in the map, and TextInputType is used otherwise.
4015
4016         * html/ButtonInputType.cpp:
4017         * html/ButtonInputType.h:
4018         (WebCore::ButtonInputType::ButtonInputType):
4019         * html/CheckboxInputType.cpp:
4020         * html/CheckboxInputType.h:
4021         (WebCore::CheckboxInputType::CheckboxInputType):
4022         * html/ColorInputType.cpp:
4023         * html/ColorInputType.h:
4024         (WebCore::ColorInputType::ColorInputType):
4025         * html/DateInputType.cpp:
4026         * html/DateInputType.h:
4027         * html/DateTimeInputType.cpp:
4028         * html/DateTimeInputType.h:
4029         (WebCore::DateTimeInputType::DateTimeInputType):
4030         * html/DateTimeLocalInputType.cpp:
4031         * html/DateTimeLocalInputType.h:
4032         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
4033         * html/EmailInputType.cpp:
4034         * html/EmailInputType.h:
4035         (WebCore::EmailInputType::EmailInputType):
4036         * html/FileInputType.cpp:
4037         * html/FileInputType.h:
4038         * html/HTMLInputElement.cpp:
4039         (WebCore::HTMLInputElement::updateType):
4040         * html/HTMLInputElement.h:
4041         * html/HiddenInputType.cpp:
4042         * html/HiddenInputType.h:
4043         (WebCore::HiddenInputType::HiddenInputType):
4044         * html/ImageInputType.cpp:
4045         (WebCore::ImageInputType::ImageInputType):
4046         * html/ImageInputType.h:
4047         * html/InputType.cpp:
4048         (WebCore::createInputType): A templated helper that constructs a new InputType subclass object through std::make_unique.
4049         (WebCore::populateInputTypeFactoryMap): Populates the passed-in map with type-createInputType<T> pairs.
4050         (WebCore::InputType::create): Get the InputTypeFactoryFunction for the specified type, or fall back to TextInputType.
4051         (WebCore::InputType::createText):
4052         * html/InputType.h:
4053         * html/MonthInputType.cpp:
4054         * html/MonthInputType.h:
4055         (WebCore::MonthInputType::MonthInputType):
4056         * html/NumberInputType.cpp:
4057         * html/NumberInputType.h:
4058         (WebCore::NumberInputType::NumberInputType):
4059         * html/PasswordInputType.cpp:
4060         * html/PasswordInputType.h:
4061         (WebCore::PasswordInputType::PasswordInputType):
4062         * html/RadioInputType.cpp:
4063         * html/RadioInputType.h:
4064         (WebCore::RadioInputType::RadioInputType):
4065         * html/RangeInputType.cpp:
4066         * html/RangeInputType.h:
4067         * html/ResetInputType.cpp:
4068         * html/ResetInputType.h:
4069         (WebCore::ResetInputType::ResetInputType):
4070         * html/SearchInputType.cpp:
4071         (WebCore::SearchInputType::SearchInputType):
4072         * html/SearchInputType.h:
4073         * html/SubmitInputType.cpp:
4074         * html/SubmitInputType.h:
4075         (WebCore::SubmitInputType::SubmitInputType):
4076         * html/TelephoneInputType.cpp:
4077         * html/TelephoneInputType.h:
4078         (WebCore::TelephoneInputType::TelephoneInputType):
4079         * html/TextInputType.cpp:
4080         * html/TextInputType.h:
4081         (WebCore::TextInputType::TextInputType):
4082         * html/TimeInputType.cpp:
4083         * html/TimeInputType.h:
4084         * html/URLInputType.cpp:
4085         * html/URLInputType.h:
4086         (WebCore::URLInputType::URLInputType):
4087         * html/WeekInputType.cpp:
4088         * html/WeekInputType.h:
4089         (WebCore::WeekInputType::WeekInputType):
4090
4091 2013-10-28  Brady Eidson  <beidson@apple.com>
4092
4093         Refactor IDB factory creation.
4094         https://bugs.webkit.org/show_bug.cgi?id=123347
4095
4096         Reviewed by Andreas Kling.
4097
4098         - Rework how database directory location is passed around.
4099         - Make (some) SecurityOrigin arguments be references instead of pointers.
4100         - Add two SecurityOrigin arguments to opening databases for future use.
4101
4102         * Modules/indexeddb/IDBFactory.cpp:
4103         (WebCore::IDBFactory::openInternal):
4104
4105         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
4106         (WebCore::IDBFactoryBackendInterface::create):
4107         * Modules/indexeddb/IDBFactoryBackendInterface.h:
4108
4109         * Modules/indexeddb/PageGroupIndexedDatabase.cpp:
4110         (WebCore::PageGroupIndexedDatabase::PageGroupIndexedDatabase):
4111         (WebCore::PageGroupIndexedDatabase::from):