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