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