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