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