845d58e9c726e0854de995a214102e2b4a759d61
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-02-02  Andreas Kling  <akling@apple.com>
2
3         Minor SVGRootInlineBox cleanup.
4         <https://webkit.org/b/128094>
5
6         Remove two virtual functions and sprinkle some missing overrides.
7
8         Reviewed by Anders Carlsson.
9
10         * rendering/svg/SVGRootInlineBox.h:
11
12 2014-01-30  Oliver Hunt  <oliver@apple.com>
13
14         Push DOM attributes into the prototype chain
15         https://bugs.webkit.org/show_bug.cgi?id=127969
16
17         Reviewed by Mark Lam.
18
19         This patch does the actual work of moving dom attributes up the
20         prototype chain. There are still a few class and edge cases
21         where we can't do this without impacting existing behaviour,
22         but they can be fixed separately in later patches.
23
24         * bindings/js/JSDOMBinding.h:
25         (WebCore::getStaticPropertySlotEntryWithoutCaching):
26         (WebCore::getStaticPropertySlotEntryWithoutCaching<JSDOMWrapper>):
27         * bindings/scripts/CodeGeneratorJS.pm:
28         (GenerateGetOwnPropertySlotBody):
29         (HasComplexGetOwnProperty):
30         (ConstructorShouldBeOnInstance):
31         (AttributeShouldBeOnInstance):
32         (InstanceAttributeCount):
33         (PrototypeAttributeCount):
34         (InstanceOverridesGetOwnPropertySlot):
35         (PrototypeOverridesGetOwnPropertySlot):
36         (GenerateAttributesHashTable):
37         (GenerateImplementation):
38
39 2014-02-02  Andreas Kling  <akling@apple.com>
40
41         RenderSVGResourceContainer clients are always RenderElement.
42         <https://webkit.org/b/128088>
43
44         All clients of RenderSVGResourceContainer are going to be RenderElement,
45         so make the interface take RenderElement& instead of RenderObject*.
46
47         Also modernized the code a bit with C++11 range for loops.
48
49         Reviewed by Sam Weinig.
50
51         * rendering/svg/RenderSVGResourceContainer.cpp:
52         (WebCore::RenderSVGResourceContainer::addClient):
53         (WebCore::RenderSVGResourceContainer::removeClient):
54         * rendering/svg/RenderSVGResourceContainer.h:
55         * rendering/svg/SVGResourcesCache.cpp:
56         (WebCore::SVGResourcesCache::addResourcesFromRenderer):
57         (WebCore::SVGResourcesCache::removeResourcesFromRenderer):
58
59 2014-02-02  Zalan Bujtas  <zalan@apple.com>
60
61         Subpixel rendering: Use floorf/roundf/fabs in device snapping helpers.
62         https://bugs.webkit.org/show_bug.cgi?id=128075
63
64         Reviewed by Darin Adler.
65
66         No change in functionality.
67
68         * platform/LayoutUnit.h:
69         (WebCore::roundToDevicePixel):
70         (WebCore::floorToDevicePixel):
71         * platform/graphics/cg/GraphicsContextCG.cpp:
72         (WebCore::GraphicsContext::platformInit):
73
74 2014-02-02  Andreas Kling  <akling@apple.com>
75
76         SVGDocumentExtensions::resourcesCache() should return a reference.
77         <https://webkit.org/b/128087>
78
79         The SVGResourcesCache is always present when the Document is using
80         SVG extensions, so make this return a reference and propagate that
81         knowledge to the call site.
82
83         This gets rid of an assertion and some rickety looking ->'s.
84         Also converted a loop to use C++11 range for syntax.
85
86         Reviewed by Sam Weinig.
87
88         * rendering/svg/SVGResourcesCache.cpp:
89         (WebCore::resourcesCacheFromRenderer):
90         (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
91         (WebCore::SVGResourcesCache::clientStyleChanged):
92         (WebCore::SVGResourcesCache::clientWasAddedToTree):
93         (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
94         (WebCore::SVGResourcesCache::clientDestroyed):
95         (WebCore::SVGResourcesCache::resourceDestroyed):
96         * svg/SVGDocumentExtensions.h:
97         (WebCore::SVGDocumentExtensions::resourcesCache):
98
99 2014-02-02  Andreas Kling  <akling@apple.com>
100
101         RenderSVGInlineText::computeNewScaledFontForStyle() should take references.
102         <https://webkit.org/b/128086>
103
104         Make computeNewScaledFontForStyle() take renderer and style by reference
105         instead of taking a pointer and asserting that it's non-null.
106
107         Reviewed by Darin Adler.
108
109         * rendering/svg/RenderSVGInlineText.cpp:
110         (WebCore::RenderSVGInlineText::updateScaledFont):
111         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
112         * rendering/svg/RenderSVGInlineText.h:
113         * rendering/svg/RenderSVGResourceClipper.cpp:
114         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
115         * rendering/svg/RenderSVGResourceContainer.cpp:
116         (WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting):
117         * rendering/svg/RenderSVGResourceFilter.cpp:
118         (WebCore::RenderSVGResourceFilter::applyResource):
119         * rendering/svg/RenderSVGResourceGradient.cpp:
120         (WebCore::createMaskAndSwapContextForTextGradient):
121         (WebCore::clipToTextMask):
122         * rendering/svg/RenderSVGResourceMasker.cpp:
123         (WebCore::RenderSVGResourceMasker::applyResource):
124         * rendering/svg/RenderSVGResourcePattern.cpp:
125         (WebCore::RenderSVGResourcePattern::buildPattern):
126         * rendering/svg/SVGInlineTextBox.cpp:
127         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
128         * rendering/svg/SVGRenderingContext.cpp:
129         (WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
130         (WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
131         * rendering/svg/SVGRenderingContext.h:
132
133 2014-02-02  Darin Adler  <darin@apple.com>
134
135         Still more characters -> deprecatedCharacters (EWS keeps finding more)
136         https://bugs.webkit.org/show_bug.cgi?id=128076
137
138         Reviewed by Andreas Kling.
139
140         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
141         (WebCore::HarfBuzzShaper::setFontFeatures):
142         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
143         Use deprecatedCharacters.
144
145 2014-02-02  Zalan Bujtas  <zalan@apple.com>
146
147         Subpixel rendering: Enable subpixel positioning/sizing/hairline border painting.
148         https://bugs.webkit.org/show_bug.cgi?id=128009
149
150         Reviewed by Simon Fraser.
151
152         Snap and clip to device pixels when painting boxes. Enable hairline painting
153         for solid border.
154
155         No existing context to test this functionality yet.
156
157         * rendering/RenderBoxModelObject.cpp:
158         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
159         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
160         * rendering/RenderObject.cpp:
161         (WebCore::RenderObject::drawLineForBoxSide):
162         * rendering/style/RenderStyle.cpp:
163         (WebCore::RenderStyle::getRoundedBorderFor):
164         (WebCore::RenderStyle::getRoundedInnerBorderFor):
165
166 2014-02-02  Sam Weinig  <sam@webkit.org>
167
168         Add some missing override keywords
169         https://bugs.webkit.org/show_bug.cgi?id=128082
170
171         Reviewed by Antti Koivisto.
172
173         * loader/DocumentThreadableLoader.h:
174         * loader/LinkLoader.h:
175         * loader/TextTrackLoader.h:
176         * xml/parser/XMLDocumentParser.h:
177
178 2014-02-02  Brady Eidson  <beidson@apple.com>
179
180         IDB: Support IDBFactory.deleteDatabase()
181         https://bugs.webkit.org/show_bug.cgi?id=128060
182
183         Reviewed by Filip Pizlo and Maciej Stachowiak (filesystem parts also Tim Hatcher and Simon Fraser)
184
185         * Modules/indexeddb/IDBDatabaseBackend.cpp:
186         (WebCore::IDBDatabaseBackend::deleteDatabaseAsync):
187
188         * Modules/indexeddb/IDBFactory.cpp:
189         (WebCore::IDBFactory::deleteDatabase):
190
191         Change factory-level deleteDatabase to take opening and main frame origins:
192         * Modules/indexeddb/IDBFactoryBackendInterface.h:
193         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
194         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
195         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
196
197         * Modules/indexeddb/IDBServerConnection.h:
198         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
199
200         * WebCore.exp.in:
201
202 2014-02-02  Zalan Bujtas  <zalan@apple.com>
203
204         Subpixel rendering: Introduce device pixel snapping helper functions.
205         https://bugs.webkit.org/show_bug.cgi?id=128049
206
207         Reviewed by Simon Fraser.
208
209         These functions help device pixel snapping during painting. They follow the logic of
210         the corresponding pixelSnappedInt* functions.
211
212         No change in functionality.
213
214         * platform/LayoutUnit.h:
215         (WebCore::roundToDevicePixel):
216         (WebCore::floorToDevicePixel):
217         (WebCore::snapSizeToPixel):
218         (WebCore::snapSizeToDevicePixel):
219         * platform/graphics/GraphicsContext.cpp:
220         (WebCore::GraphicsContext::GraphicsContext):
221         * platform/graphics/GraphicsContext.h:
222         (WebCore::GraphicsContext::pixelSnappingFactor):
223         * platform/graphics/LayoutRect.h:
224         (WebCore::pixelSnappedForPainting):
225         * platform/graphics/cg/GraphicsContextCG.cpp:
226         (WebCore::GraphicsContext::platformInit):
227
228 2014-02-02  Zalan Bujtas  <zalan@apple.com>
229
230         Floor thickness and length after switching from int to float.
231         https://bugs.webkit.org/show_bug.cgi?id=128071
232
233         Reviewed by Antti Koivisto.
234
235         This is a temporary solution to fix the assertion on empty line drawing until after
236         device pixel snapping is added.
237
238         Covered by existing tests.
239
240         * rendering/RenderObject.cpp:
241         (WebCore::RenderObject::drawLineForBoxSide):
242
243 2014-02-02  Antti Koivisto  <antti@apple.com>
244
245         Remove StyleScopeResolver
246         https://bugs.webkit.org/show_bug.cgi?id=128069
247
248         Reviewed by Anders Carlsson.
249
250         This is dead code.
251
252         * CMakeLists.txt:
253         * GNUmakefile.list.am:
254         * WebCore.xcodeproj/project.pbxproj:
255         * css/DocumentRuleSets.cpp:
256         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
257         (WebCore::DocumentRuleSets::collectFeatures):
258         * css/DocumentRuleSets.h:
259         * css/ElementRuleCollector.h:
260         (WebCore::ElementRuleCollector::ElementRuleCollector):
261         * css/RuleSet.cpp:
262         (WebCore::RuleSet::addChildRules):
263         * css/StyleResolver.cpp:
264         (WebCore::StyleResolver::pushParentElement):
265         (WebCore::StyleResolver::popParentElement):
266         (WebCore::StyleResolver::locateSharedStyle):
267         (WebCore::StyleResolver::styleForElement):
268         * css/StyleResolver.h:
269         (WebCore::StyleResolver::document):
270         * css/StyleScopeResolver.cpp: Removed.
271         * css/StyleScopeResolver.h: Removed.
272         * style/StyleResolveTree.cpp:
273         (WebCore::Style::attachShadowRoot):
274         (WebCore::Style::resolveShadowTree):
275
276 2014-02-02  Zalan Bujtas  <zalan@apple.com>
277
278         Subpixel rendering: Make BorderEdge/RoundedRect::Radii LayoutUnit aware.
279         https://bugs.webkit.org/show_bug.cgi?id=128036
280
281         Reviewed by Darin Adler.
282
283         Covered by existing tests.
284
285         * platform/LayoutUnit.h:
286         (WebCore::LayoutUnit::operator++):
287         * rendering/RenderBoxModelObject.cpp:
288         (WebCore::BorderEdge::BorderEdge):
289         (WebCore::BorderEdge::usedWidth):
290         (WebCore::BorderEdge::getDoubleBorderStripeWidths):
291         (WebCore::RenderBoxModelObject::paintOneBorderSide):
292         (WebCore::RenderBoxModelObject::paintBorder):
293         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
294         (WebCore::calculateSideRectIncludingInner):
295         * rendering/RenderObject.cpp:
296         (WebCore::RenderObject::drawLineForBoxSide):
297         * rendering/RenderObject.h:
298         * rendering/style/BorderData.h:
299         (WebCore::BorderData::borderLeftWidth):
300         (WebCore::BorderData::borderRightWidth):
301         (WebCore::BorderData::borderTopWidth):
302         (WebCore::BorderData::borderBottomWidth):
303         * rendering/style/RenderStyle.cpp:
304         (WebCore::calcRadiiFor):
305         (WebCore::calcConstraintScaleFor):
306         (WebCore::RenderStyle::getRoundedInnerBorderFor):
307         * rendering/style/RenderStyle.h:
308
309 2014-02-01  Hunseop Jeong  <hs85.jeong@samsung.com>
310
311         REGRESSION(r163234) Debug build is broken
312         https://bugs.webkit.org/show_bug.cgi?id=128059
313
314         Unreviewed. Debug build is broken with INDEXED_DATABASE.
315
316         * Modules/indexeddb/IDBKeyData.cpp:
317         (WebCore::IDBKeyData::loggingString): Added the default: case.
318
319 2014-02-01  Zalan Bujtas  <zalan@apple.com>
320
321         Subpixel rendering: LayoutUnit operator++ is broken.
322         https://bugs.webkit.org/show_bug.cgi?id=128056
323
324         Reviewed by Darin Adler.
325
326         Add pre-increment operator++.
327
328         * platform/LayoutUnit.h:
329         (WebCore::LayoutUnit::operator++):
330
331 2014-02-01  Darin Adler  <darin@apple.com>
332
333         More characters -> deprecatedCharacters (based on more EWS complaints)
334         https://bugs.webkit.org/show_bug.cgi?id=128063
335
336         Reviewed by Anders Carlsson.
337
338         * editing/SmartReplace.cpp:
339         (WebCore::addAllCodePoints):
340         (WebCore::getSmartSet):
341         * platform/win/WebCoreTextRenderer.cpp:
342         (WebCore::doDrawTextAtPoint):
343         Use deprecatedCharacters.
344
345 2014-02-01  Darin Adler  <darin@apple.com>
346
347         Use deprecatedCharacters in a few more places (non-Mac-build sites found by EWS)
348         https://bugs.webkit.org/show_bug.cgi?id=128042
349
350         Reviewed by Sam Weinig.
351
352         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
353         (WebCore::IDBLevelDBCoding::encodeString):
354         * platform/graphics/win/FontCacheWin.cpp:
355         (WebCore::FontCache::systemFallbackForCharacters):
356         (WebCore::createGDIFont):
357         (WebCore::FontCache::getTraitsInFamily):
358         * platform/network/DataURL.cpp:
359         (WebCore::handleDataURL):
360         * platform/win/BString.cpp:
361         (WebCore::BString::BString):
362         * platform/win/ClipboardUtilitiesWin.cpp:
363         (WebCore::createGlobalData):
364         * platform/win/FileSystemWin.cpp:
365         (WebCore::pathByAppendingComponent):
366         (WebCore::fileSystemRepresentation):
367         * platform/win/PasteboardWin.cpp:
368         (WebCore::filesystemPathFromUrlOrTitle):
369         (WebCore::Pasteboard::writeURLToDataObject):
370         (WebCore::createGlobalImageFileDescriptor):
371         * platform/win/PopupMenuWin.cpp:
372         (WebCore::PopupMenuWin::calculatePositionAndSize):
373         Call deprecatedCharacters instead of characters.
374
375 2014-02-01  Enrica Casucci  <enrica@apple.com>
376
377         Add support for ActionSheets in WK2 for iOS.
378         https://bugs.webkit.org/show_bug.cgi?id=127586
379         <rdar://problem/15283667>
380
381         Reviewed by Benjamin Poulain.
382
383         Updates the localizable strings for action sheets.
384
385         * English.lproj/Localizable.strings:
386
387 2014-02-01  Maciej Stachowiak  <mjs@apple.com>
388
389         Factor URL decomposition methods (from URLUtils interface) into a base template
390         https://bugs.webkit.org/show_bug.cgi?id=128052
391
392         Reviewed by Sam Weinig.
393
394         Refactoring only; no new tests.
395
396         * html/DOMURL.cpp:
397         * html/DOMURL.h:
398         (WebCore::DOMURL::href): Moved to header and made inline.
399         * html/URLUtils.h: Added. 
400         (WebCore::URLUtils::href): Downcast and call the derived class.
401         (WebCore::URLUtils::setHref): Downcast and call the derived class.
402         Functions below factored out from DOMURL.cpp.
403         (WebCore::URLUtils<T>::toString):
404         (WebCore::URLUtils<T>::origin):
405         (WebCore::URLUtils<T>::protocol):
406         (WebCore::URLUtils<T>::setProtocol):
407         (WebCore::URLUtils<T>::username):
408         (WebCore::URLUtils<T>::setUsername):
409         (WebCore::URLUtils<T>::password):
410         (WebCore::URLUtils<T>::setPassword):
411         (WebCore::URLUtils<T>::host):
412         (WebCore::parsePortFromStringPosition):
413         (WebCore::URLUtils<T>::setHost):
414         (WebCore::URLUtils<T>::hostname):
415         (WebCore::URLUtils<T>::setHostname):
416         (WebCore::URLUtils<T>::port):
417         (WebCore::URLUtils<T>::setPort):
418         (WebCore::URLUtils<T>::pathname):
419         (WebCore::URLUtils<T>::setPathname):
420         (WebCore::URLUtils<T>::search):
421         (WebCore::URLUtils<T>::setSearch):
422         (WebCore::URLUtils<T>::hash):
423         (WebCore::URLUtils<T>::setHash):
424
425         Add mention of new header.
426         * GNUmakefile.list.am: 
427         * WebCore.vcxproj/WebCore.vcxproj:
428         * WebCore.vcxproj/WebCore.vcxproj.filters:
429         * WebCore.xcodeproj/project.pbxproj:
430
431 2014-02-01  Benjamin Poulain  <bpoulain@apple.com>
432
433         Improve the JavaScript bindings of DatasetDOMStringMap
434         https://bugs.webkit.org/show_bug.cgi?id=127971
435
436         Unriewed.
437
438         * dom/DatasetDOMStringMap.cpp:
439         * dom/DatasetDOMStringMap.h:
440         Follow up for r163239. Darin pointed out the #includes are wrong.
441
442 2014-02-01  Brady Eidson  <beidson@apple.com>
443
444         IDB: Implement IDBObjectStore.delete()
445         https://bugs.webkit.org/show_bug.cgi?id=127880
446
447         Reviewed by Sam Weinig.
448
449         * Modules/indexeddb/IDBKeyData.cpp:
450         (WebCore::IDBKeyData::compare): Make this const.
451         * Modules/indexeddb/IDBKeyData.h:
452
453         * Modules/indexeddb/IDBKeyRangeData.cpp:
454         (WebCore::IDBKeyRangeData::isExactlyOneKey): Returns whether or not
455           the key range is known to represent precisely one key.
456         * Modules/indexeddb/IDBKeyRangeData.h:
457
458         * WebCore.exp.in:
459
460 2014-02-01  Anders Carlsson  <andersca@apple.com>
461
462         SVGTextLayoutAttributesBuilder shouldn't use RenderText::deprecatedCharacters()
463         https://bugs.webkit.org/show_bug.cgi?id=128048
464
465         Reviewed by Sam Weinig.
466
467         Change UChar*& lastCharacter to bool& lastCharacterWasSpace since that's what the parameter was used for.
468
469         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
470         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
471         Initialize lastCharacterWasSpace to true to match the previous behavior.
472
473         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForForSubtree):
474         Ditto.
475
476         (WebCore::processRenderSVGInlineText):
477         Take a reference instead of a pointer, get the character using RenderText::operator[] and compute lastCharacterWasSpace.
478
479         (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
480         This now takes a bool reference instead.
481
482         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
483
484 2014-02-01  Brady Eidson  <beidson@apple.com>
485
486         IDB: Index cursor complete advance() and iterate() support
487         <rdar://problem/15941916> and https://bugs.webkit.org/show_bug.cgi?id=127870
488
489         Reviewed by Dan Bernstein.
490
491         * Modules/indexeddb/IDBRequest.cpp:
492         (WebCore::IDBRequest::onSuccess): Always use the value buffer for the script object.
493
494 2014-02-01  Alexey Proskuryakov  <ap@apple.com>
495
496         Update WebCrypto JWK mapping to use key_ops
497         https://bugs.webkit.org/show_bug.cgi?id=127609
498
499         Reviewed by Sam Weinig.
500
501         Updated JWK support ot match current editor draft.
502
503         * bindings/js/JSCryptoKeySerializationJWK.cpp:
504         (WebCore::getJSArrayFromJSON): Fixed this previously untested function to actually work.
505         (WebCore::tryJWKKeyOpsValue):
506         (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
507         (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable): Removed an old comment,
508         these things are now specced.
509         (WebCore::addToJSON): Made static functions file static, there is no reason for
510         them to be class members.
511         (WebCore::buildJSONForOctetSequence):
512         (WebCore::buildJSONForRSAComponents):
513         (WebCore::addBoolToJSON):
514         (WebCore::addJWKAlgorithmToJSON):
515         (WebCore::addUsagesToJSON):
516         (WebCore::JSCryptoKeySerializationJWK::serialize):
517         * bindings/js/JSCryptoKeySerializationJWK.h:
518
519         * crypto/mac/CryptoAlgorithmAES_KWMac.cpp:
520         (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
521         (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
522         Check for length, so that we don't fail silently.
523
524 2014-02-01  David Kilzer  <ddkilzer@apple.com>
525
526         Add security-checked casts for all WebCore::CachedResource subclasses
527         <http://webkit.org/b/127988>
528
529         Reviewed by Darin Adler.
530
531         * inspector/InspectorPageAgent.cpp:
532         (WebCore::InspectorPageAgent::cachedResourceContent):
533         * inspector/InspectorResourceAgent.cpp:
534         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
535         - Switch from static_cast<>() to security-checked cast.
536
537         * loader/cache/CachedCSSStyleSheet.h:
538         (WebCore::toCachedCSSStyleSheet): Add.
539         * loader/cache/CachedFont.h:
540         (WebCore::toCachedFont): Add.
541
542         * loader/cache/CachedImage.h: Make CachedImageManual final.
543
544         * loader/cache/CachedRawResource.cpp:
545         (WebCore::CachedRawResource::CachedRawResource): Add assert that
546         only MainResource or RawResource types are used to construct a
547         CachedRawResource.  This may be a security issue depending on
548         what code exists that uses the type() value to cast to a
549         CachedResource subclass.
550         (WebCore::CachedRawResource::switchClientsToRevalidatedResource):
551         Switch from static_cast<>() to toCachedRawResource().
552
553         * loader/cache/CachedRawResource.h:
554         (WebCore::toCachedRawResource): Add.
555         * loader/cache/CachedResource.h:
556         (WebCore::CachedResource::isMainOrRawResource): Add.  A
557         CachedRawResource could be either a MainResource or a
558         RawResource.  Currently only used in assertions.
559
560         * loader/cache/CachedResourceLoader.cpp:
561         (WebCore::CachedResourceLoader::requestFont):
562         (WebCore::CachedResourceLoader::requestTextTrack):
563         (WebCore::CachedResourceLoader::requestCSSStyleSheet):
564         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
565         (WebCore::CachedResourceLoader::requestScript):
566         (WebCore::CachedResourceLoader::requestXSLStyleSheet):
567         (WebCore::CachedResourceLoader::requestSVGDocument):
568         (WebCore::CachedResourceLoader::requestRawResource):
569         (WebCore::CachedResourceLoader::requestMainResource):
570         - Switch from static_cast<>() to security-checked cast.
571
572         * loader/cache/CachedSVGDocument.h:
573         (WebCore::toCachedSVGDocument): Add.
574         * loader/cache/CachedScript.h:
575         (WebCore::toCachedScript): Add.
576         * loader/cache/CachedTextTrack.h:
577         (WebCore::toCachedTextTrack): Add.
578         * loader/cache/CachedXSLStyleSheet.h:
579         (WebCore::toCachedXSLStyleSheet): Add.
580
581 2014-02-01  Xabier Rodriguez Calvar  <calvaris@igalia.com>
582
583         Unreviewed. Fixed GTK+ CMake build after r162922.
584
585         * PlatformGTK.cmake: Removed SoupURIUtils.cpp from the
586         compilation.
587
588 2014-02-01  Benjamin Poulain  <bpoulain@apple.com>
589
590         Improve the JavaScript bindings of DatasetDOMStringMap
591         https://bugs.webkit.org/show_bug.cgi?id=127971
592
593         Reviewed by Sam Weinig.
594
595         Instead of querying contains() followed by item(), just get the item
596         at once in the custom binding.
597
598         Test: fast/dom/dataset-name-getter-properties.html
599
600         * bindings/js/JSDOMStringMapCustom.cpp:
601         (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
602         * dom/DOMStringMap.idl:
603         * dom/DatasetDOMStringMap.cpp:
604         (WebCore::DatasetDOMStringMap::item):
605         * dom/DatasetDOMStringMap.h:
606
607 2014-01-31  Benjamin Poulain  <bpoulain@apple.com>
608
609         Remove LEGACY_VIEWPORT_ADAPTION
610         https://bugs.webkit.org/show_bug.cgi?id=128028
611
612         Reviewed by Anders Carlsson.
613
614         The code is incorrect and was only supported by Nix.
615
616         * dom/Document.cpp:
617         (WebCore::Document::childrenChanged):
618         * dom/ViewportArguments.h:
619         * html/HTMLMetaElement.cpp:
620         (WebCore::HTMLMetaElement::process):
621
622 2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
623
624         Release build fix after r163234. Don't always export the symbol that doesn't exist under NDEBUG.
625
626         * WebCore.exp.in:
627
628 2014-01-31  Brady Eidson  <beidson@apple.com>
629
630         IDB: Index cursors use wrong deserialization for the retrieved value
631         https://bugs.webkit.org/show_bug.cgi?id=128035
632
633         Reviewed by Dan Bernstein.
634
635         For the cursor operations, add an IDBKey value result in the callbacks.
636         If an already deserialized IDBKey value exists it will be preferred over the serialized buffer.
637
638         Change some of the onSuccess() callback formats:
639         * Modules/indexeddb/IDBCallbacks.h:
640         * Modules/indexeddb/IDBRequest.cpp:
641         (WebCore::IDBRequest::onSuccess): Selectively choose between the IDBKey or the SharedBuffer value
642           when choosed what to convert to the ScriptValue.
643         * Modules/indexeddb/IDBRequest.h:
644
645         Let the IDBCursorBackend hold both a value buffer and a value key:
646         * Modules/indexeddb/IDBCursorBackend.cpp:
647         (WebCore::IDBCursorBackend::updateCursorData):
648         (WebCore::IDBCursorBackend::clear):
649         * Modules/indexeddb/IDBCursorBackend.h:
650         (WebCore::IDBCursorBackend::valueBuffer):
651         (WebCore::IDBCursorBackend::valueKey):
652
653         * Modules/indexeddb/IDBCursorBackendOperations.cpp:
654         (WebCore::CursorAdvanceOperation::perform):
655         (WebCore::CursorIterationOperation::perform):
656
657         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
658         (WebCore::OpenCursorOperation::perform):
659
660         * Modules/indexeddb/IDBServerConnection.h:
661         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
662         (WebCore::IDBServerConnectionLevelDB::openCursor):
663         (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
664         (WebCore::IDBServerConnectionLevelDB::cursorIterate):
665         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
666
667         Add IDBKey/IDBKeyData debug logging utilities:
668         * Modules/indexeddb/IDBKey.cpp:
669         (WebCore::IDBKey::loggingString):
670         * Modules/indexeddb/IDBKey.h:
671         * Modules/indexeddb/IDBKeyData.cpp:
672         (WebCore::IDBKeyData::loggingString):
673         * Modules/indexeddb/IDBKeyData.h:
674
675         * WebCore.exp.in:
676
677 2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
678
679         Debug build fix after r163232. Call hasEditableStyle() instead of isContentEditable() which
680         can trigger a layout synchronously inside paintCaret. This matches the code before r163232.
681
682         * rendering/RenderBlock.cpp:
683         (WebCore::RenderBlock::paintCaret):
684
685 2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
686
687         Remove inline member functions of FrameSelection that access m_selection
688         https://bugs.webkit.org/show_bug.cgi?id=127986
689
690         Reviewed by Enrica Casucci.
691
692         Removed numerous inline member functions of FrameSelection that depend on m_selection.
693
694         This is needed to ensure all accesses to m_selection happen through FrameSelection::selection(),
695         which in turn, allows us to update its call sites to use either validated selection that editing
696         and rendering code uses or invalidated selection that's exposed to JavaScript.
697
698         * WebCore.exp.in:
699         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
700         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
701         (-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
702         * bindings/objc/DOMUIKitExtensions.mm:
703         (-[DOMRange move:inDirection:]):
704         (-[DOMRange extend:inDirection:]):
705         * dom/Element.cpp:
706         (WebCore::Element::updateFocusAppearance):
707         * editing/Editor.cpp:
708         (WebCore::Editor::canEdit):
709         (WebCore::Editor::canEditRichly):
710         (WebCore::Editor::canDHTMLCut):
711         (WebCore::Editor::canDHTMLCopy):
712         (WebCore::Editor::canCopy):
713         (WebCore::Editor::canDelete):
714         (WebCore::Editor::replaceSelectionWithFragment):
715         (WebCore::Editor::tryDHTMLCopy):
716         (WebCore::Editor::tryDHTMLCut):
717         (WebCore::Editor::applyStyle):
718         (WebCore::Editor::applyParagraphStyle):
719         (WebCore::Editor::cut):
720         (WebCore::Editor::copy):
721         (WebCore::Editor::paste):
722         (WebCore::Editor::setComposition):
723         (WebCore::Editor::guessesForMisspelledOrUngrammatical):
724         (WebCore::Editor::markMisspellingsAfterTypingToWord):
725         (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
726         (WebCore::Editor::markAndReplaceFor):
727         (WebCore::Editor::getCompositionSelection):
728         (WebCore::Editor::selectionStartHasMarkerFor):
729         * editing/EditorCommand.cpp:
730         (WebCore::expandSelectionToGranularity):
731         (WebCore::enabledInRichlyEditableText):
732         (WebCore::enabledRangeInEditableText):
733         (WebCore::enabledRangeInRichlyEditableText):
734         * editing/FrameSelection.cpp:
735         (WebCore::CaretBase::updateCaretRect):
736         (WebCore::FrameSelection::recomputeCaretRect):
737         (WebCore::FrameSelection::selectAll):
738         (WebCore::FrameSelection::updateAppearance):
739         (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl):
740         (WebCore::FrameSelection::setFocusedElementIfNeeded):
741         (WebCore::FrameSelection::currentForm):
742         (WebCore::FrameSelection::revealSelection):
743         (WebCore::FrameSelection::setSelectionFromNone):
744         * editing/FrameSelection.h:
745         (WebCore::FrameSelection::isCaretOrRange):
746         * editing/RemoveFormatCommand.cpp:
747         (WebCore::RemoveFormatCommand::doApply):
748         * editing/VisibleSelection.cpp:
749         (WebCore::VisibleSelection::isInPasswordField):
750         * editing/VisibleSelection.h:
751         * editing/mac/EditorMac.mm:
752         (WebCore::Editor::canCopyExcludingStandaloneImages):
753         (WebCore::Editor::readSelectionFromPasteboard):
754         * html/HTMLAnchorElement.cpp:
755         (WebCore::HTMLAnchorElement::defaultEventHandler):
756         (WebCore::HTMLAnchorElement::setActive):
757         * html/HTMLTextFormControlElement.cpp:
758         (WebCore::HTMLTextFormControlElement::computeSelectionStart):
759         (WebCore::HTMLTextFormControlElement::computeSelectionEnd):
760         * page/ContextMenuController.cpp:
761         (WebCore::ContextMenuController::contextMenuItemSelected):
762         (WebCore::ContextMenuController::populate):
763         * page/DragController.cpp:
764         (WebCore::DragController::dragIsMove):
765         (WebCore::setSelectionToDragCaret):
766         (WebCore::DragController::concludeEditDrag):
767         (WebCore::DragController::startDrag):
768         * page/EventHandler.cpp:
769         (WebCore::nodeIsNotBeingEdited):
770         (WebCore::EventHandler::sendContextMenuEvent):
771         (WebCore::EventHandler::sendContextMenuEventForKey):
772         (WebCore::EventHandler::handleDrag):
773         * page/FocusController.cpp:
774         (WebCore::FocusController::advanceFocusInDocumentOrder):
775         (WebCore::clearSelectionIfNeeded):
776         * page/ios/FrameIOS.mm:
777         (WebCore::Frame::caretRect):
778         (WebCore::Frame::rectForScrollToVisible):
779         (WebCore::Frame::styleAtSelectionStart):
780         (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionStart):
781         (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionEnd):
782         (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionStart):
783         (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionEnd):
784         (WebCore::Frame::interpretationsForCurrentRoot):
785         * rendering/RenderBlock.cpp:
786         (WebCore::RenderBlock::paintCaret):
787
788 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
789
790         Pass the viewport rect and scroll origin independently into the scrolling tree, and make things floats
791         https://bugs.webkit.org/show_bug.cgi?id=128032
792
793         Reviewed by Tim Horton.
794
795         Pass the viewport rect and scroll offset independently into the ScrollingTree
796         via the ScrollingStateScrollingNode, since on iOS the scroll offset doesn't
797         always correspond to the viewport rect.
798         
799         Make the viewport rect and the scroll origin be float-based, since on
800         Retina screens and with zooming these can both be non-integral.
801
802         No behavior change.
803         
804         * WebCore.exp.in:
805         * page/scrolling/AsyncScrollingCoordinator.cpp:
806         (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
807         (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
808         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
809         * page/scrolling/AsyncScrollingCoordinator.h:
810         (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
811         * page/scrolling/ScrollingStateScrollingNode.cpp:
812         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
813         (WebCore::ScrollingStateScrollingNode::setViewportConstrainedObjectRect):
814         (WebCore::ScrollingStateScrollingNode::setScrollPosition):
815         (WebCore::ScrollingStateScrollingNode::dumpProperties):
816         * page/scrolling/ScrollingStateScrollingNode.h:
817         * page/scrolling/ScrollingTree.cpp:
818         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
819         (WebCore::ScrollingTree::commitNewTreeState):
820         (WebCore::ScrollingTree::mainFrameScrollPosition):
821         (WebCore::ScrollingTree::setMainFrameScrollPosition):
822         * page/scrolling/ScrollingTree.h:
823         * page/scrolling/ScrollingTreeNode.h:
824         * page/scrolling/ScrollingTreeScrollingNode.cpp:
825         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
826         * page/scrolling/ScrollingTreeScrollingNode.h:
827         (WebCore::ScrollingTreeScrollingNode::scrollPosition):
828         (WebCore::ScrollingTreeScrollingNode::viewportConstrainedObjectRect):
829         * page/scrolling/ThreadedScrollingTree.cpp:
830         (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
831         * page/scrolling/ThreadedScrollingTree.h:
832         * page/scrolling/ios/ScrollingTreeIOS.cpp:
833         (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
834         * page/scrolling/ios/ScrollingTreeIOS.h:
835         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
836         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
837         (WebCore::ScrollingTreeScrollingNodeIOS::scrollPosition):
838         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPosition):
839         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
840         (WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
841         (WebCore::ScrollingTreeScrollingNodeIOS::minimumScrollPosition):
842         (WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):
843         * page/scrolling/mac/ScrollingTreeFixedNode.h:
844         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
845         (WebCore::ScrollingTreeFixedNode::parentScrollPositionDidChange):
846         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
847         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
848         (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
849         (WebCore::ScrollingTreeScrollingNodeMac::absoluteScrollPosition):
850         (WebCore::ScrollingTreeScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
851         (WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
852         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPosition):
853         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
854         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
855         (WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition):
856         (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
857         (WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
858         (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
859         * page/scrolling/mac/ScrollingTreeStickyNode.h:
860         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
861         (WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
862         * platform/graphics/FloatPoint.h:
863         (WebCore::FloatPoint::shrunkTo):
864
865 2014-01-30  Andy Estes  <aestes@apple.com>
866
867         [Cocoa] Add NEFilterSource support to ContentFilterMac
868         https://bugs.webkit.org/show_bug.cgi?id=127979
869
870         Reviewed by Sam Weinig.
871
872         Update ContentFilterMac to work with both WebFilterEvaluator and
873         NEFilterSource, if enabled.
874
875         * platform/ContentFilter.h: Set HAVE_NE_FILTER_SOURCE based on platform
876         conditionals, and forward-declare NEFilterSource.
877         * platform/mac/ContentFilterMac.mm: Included NEFilterSource.h if the SDK
878         has it; declared the class directly if not. Also soft-linked
879         NetworkExtension.framework.
880         (WebCore::ContentFilter::ContentFilter): Initialized
881         m_neFilterSourceStatus to NEFilterSourceStatusNeedsMoreData and created
882         m_platformContentFilter and m_neFilterSource objects if their
883         respective filters were enabled.
884         (WebCore::ContentFilter::isEnabled): Returned true if either filter is
885         enabled.
886         (WebCore::ContentFilter::addData): Added incoming data to each filter
887         that is enabled.
888         (WebCore::ContentFilter::finishedAddingData): Notified each enabled
889         filter that we are finished adding data.
890         (WebCore::ContentFilter::needsMoreData): Returned true if either filter
891         needs more data.
892         (WebCore::ContentFilter::didBlockData): Returned true if either filter
893         blocked data.
894         (WebCore::ContentFilter::getReplacementData): Returned
895         m_replacementData. Commented that this will currently return a null
896         string if NEFilterSource blocked the load.
897
898 2014-01-31  Oliver Hunt  <oliver@apple.com>
899
900         Rollout r163195 and related patches
901
902         * CMakeLists.txt:
903         * ForwardingHeaders/runtime/JSStringInlines.h: Removed.
904         * Modules/plugins/QuickTimePluginReplacement.cpp:
905         * bindings/js/JSIDBAnyCustom.cpp:
906         * bindings/js/JSIDBDatabaseCustom.cpp:
907         * bindings/js/JSIDBObjectStoreCustom.cpp:
908         * bindings/js/JSNodeFilterCondition.cpp:
909
910 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
911
912         Even when in fixed layout mode, some platforms need to do layout after a viewport change
913         https://bugs.webkit.org/show_bug.cgi?id=128003
914
915         Reviewed by Andreas Kling.
916         
917         Re-land 163182 with a less aggresive check in visibleContentsResized() for
918         needing to layout.
919
920         iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
921         elements relative to a variable viewport. This code assumed that fixed layout
922         implies a fixed viewport.
923         
924         Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.
925         
926         Also removed RenderView::hasCustomFixedPosition() which is no longer used.
927         
928         * page/FrameView.cpp:
929         (WebCore::FrameView::shouldLayoutAfterViewportChange):
930         (WebCore::FrameView::visibleContentsResized):
931         * page/FrameView.h:
932         * rendering/RenderView.cpp:
933         * rendering/RenderView.h:
934
935 2014-01-31  Alexey Proskuryakov  <ap@apple.com>
936
937         Expose creation and modification times for LocalStorage
938         https://bugs.webkit.org/show_bug.cgi?id=128018
939
940         Reviewed by Anders Carlsson.
941
942         * WebCore.exp.in: Export FileSystem functions to get file times.
943
944 2014-01-30  Maciej Stachowiak  <mjs@apple.com>
945
946         Implement (most of) URL API
947         https://bugs.webkit.org/show_bug.cgi?id=127795
948
949         Reviewed by Alexey Proskuryakov.
950
951         Tests: fast/dom/DOMURL/get-href-attribute-port.html
952                fast/dom/DOMURL/invalid-url-getters.html
953                fast/dom/DOMURL/set-href-attribute-hash.html
954                fast/dom/DOMURL/set-href-attribute-host.html
955                fast/dom/DOMURL/set-href-attribute-hostname.html
956                fast/dom/DOMURL/set-href-attribute-pathname.html
957                fast/dom/DOMURL/set-href-attribute-port.html
958                fast/dom/DOMURL/set-href-attribute-protocol.html
959                fast/dom/DOMURL/set-href-attribute-search.html
960                fast/dom/DOMURL/set-href-attribute-whitespace.html
961                fast/dom/DOMURL/url-constructor.html
962                fast/dom/DOMURL/url-origin.html
963                fast/dom/DOMURL/url-password.html
964                fast/dom/DOMURL/url-username.html
965
966         * CMakeLists.txt: Update for new IDL file.
967         * DerivedSources.make: ditto
968         * GNUmakefile.list.am: ditto
969         * html/DOMURL.cpp: Implement URL() constructor and instance methods; cribbed from
970         HTMLAnchorElement mostly
971         (WebCore::DOMURL::DOMURL):
972         (WebCore::DOMURL::href):
973         (WebCore::DOMURL::setHref):
974         (WebCore::DOMURL::toString):
975         (WebCore::DOMURL::origin):
976         (WebCore::DOMURL::protocol):
977         (WebCore::DOMURL::setProtocol):
978         (WebCore::DOMURL::username):
979         (WebCore::DOMURL::setUsername):
980         (WebCore::DOMURL::password):
981         (WebCore::DOMURL::setPassword):
982         (WebCore::DOMURL::host):
983         (WebCore::parsePortFromStringPosition):
984         (WebCore::DOMURL::setHost):
985         (WebCore::DOMURL::hostname):
986         (WebCore::DOMURL::setHostname):
987         (WebCore::DOMURL::port):
988         (WebCore::DOMURL::setPort):
989         (WebCore::DOMURL::pathname):
990         (WebCore::DOMURL::setPathname):
991         (WebCore::DOMURL::search):
992         (WebCore::DOMURL::setSearch):
993         (WebCore::DOMURL::hash):
994         (WebCore::DOMURL::setHash):
995         * html/DOMURL.h:
996         (WebCore::DOMURL::create):
997         * html/DOMURL.idl: Update for new methods.
998         * html/URLUtils.idl: Added. New IDL file that contains most of the interface.
999
1000 2014-01-31  Bem Jones-Bey  <bjonesbe@adobe.com>
1001
1002         Create clipping path from <box> value
1003         https://bugs.webkit.org/show_bug.cgi?id=126205
1004
1005         Reviewed by Dirk Schulze.
1006
1007         This implements <box> values for border, content, and padding boxes.
1008         Since margin box is not implemented as a reference box, this does not
1009         implement margin box value.
1010
1011         Tests: css3/masking/clip-path-border-box.html
1012                css3/masking/clip-path-content-box.html
1013                css3/masking/clip-path-padding-box.html
1014
1015         * rendering/ClipPathOperation.h:
1016         (WebCore::BoxClipPathOperation::pathForReferenceRect): Implement.
1017         * rendering/RenderLayer.cpp:
1018         (WebCore::computeReferenceBox): Pull out reference box calculation.
1019         (WebCore::RenderLayer::setupClipPath): Add support for <box> values.
1020         * rendering/shapes/ShapeInfo.cpp:
1021         (WebCore::ShapeInfo<RenderType>::computedShape): Add FIXME comment.
1022
1023 2014-01-29  Oliver Hunt  <oliver@apple.com>
1024
1025         Make it possible to implement JS builtins in JS
1026         https://bugs.webkit.org/show_bug.cgi?id=127887
1027
1028         Reviewed by Michael Saboff.
1029
1030         Updating for the newly required headers.
1031
1032         Test: js/regress/array-prototype-every.html
1033
1034         * ForwardingHeaders/runtime/JSStringInlines.h: Added.
1035         * Modules/plugins/QuickTimePluginReplacement.cpp:
1036         * bindings/js/JSIDBAnyCustom.cpp:
1037         * bindings/js/JSIDBDatabaseCustom.cpp:
1038         * bindings/js/JSIDBObjectStoreCustom.cpp:
1039
1040 2014-01-31  Beth Dakin  <bdakin@apple.com>
1041
1042         Build fix.
1043
1044         * rendering/RenderLayerCompositor.cpp:
1045         (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
1046
1047 2014-01-31  Timothy Hatcher  <timothy@apple.com>
1048
1049         Properly handle cases where a profile couldn't be recorded and null is returned.
1050
1051         <rdar://problem/15957993> Crash with Inspector open at WebCore::ScriptProfile::buildInspectorObject
1052
1053         Reviewed by Joseph Pecoraro.
1054
1055         * inspector/InspectorTimelineAgent.cpp:
1056         (WebCore::InspectorTimelineAgent::didCallFunction): Null check profile.
1057         (WebCore::InspectorTimelineAgent::didEvaluateScript): Ditto.
1058
1059 2014-01-31  Beth Dakin  <bdakin@apple.com>
1060
1061         Extended background should only create margin tiles for pages with background 
1062         images
1063         https://bugs.webkit.org/show_bug.cgi?id=127876
1064         -and corresponding-
1065         <rdar://problem/15827632>
1066
1067         Reviewed by Simon Fraser.
1068
1069         Settings::backgroundShouldExtendBeyondPage() doesn't need to create margin tiles
1070         for pages with simple background colors. Instead, those pages should achieve the 
1071         same effect by setting a background color on RenderLayerCompositor's
1072         m_layerForOverhangAreas. For now, we should only create tiles when there is a 
1073         background image. We may want to extend this to other types of complicated 
1074         backgrounds in the future.
1075
1076         This patch makes callers that only care about the value of the setting always call 
1077         Settings::backgroundShouldExtendBeyondPage() rather than asking about margin 
1078         tiles. And callers that want to know about margin tiles can either keep querying 
1079         that directly or they can call FrameView::hasExtendedBackgroundRectForPainting(). 
1080         An extended background does not necessarily require an extended background rect 
1081         for painting, and this new FrameView function can make that distinction. 
1082
1083         When setBackgroundExtendsBeyondPage() is called, call RenderLayerCompositor:: 
1084         setRootExtendedBackgroundColor() with either the document background color, or an 
1085         invalid color, depending on whether you have or do not have an extended 
1086         background. Also call needsExtendedBackgroundRectForPainting() to determine if we 
1087         also need to extend the background rect, and then call 
1088         setHasExtendedBackgroundRectForPainting() with its value.
1089         * page/FrameView.cpp:
1090         (WebCore::FrameView::setBackgroundExtendsBeyondPage):
1091         (WebCore::FrameView::hasExtendedBackgroundRectForPainting):
1092
1093          Right now we only need to extend the background rect for documents with 
1094         background images on the root. This may be extended in the future.
1095         (WebCore::FrameView::needsExtendedBackgroundRectForPainting):
1096         (WebCore::FrameView::setHasExtendedBackgroundRectForPainting):
1097         (WebCore::FrameView::extendedBackgroundRectForPainting):
1098         * page/FrameView.h:
1099
1100         Expose defaultTileWidth and defaultTileHeight from TiledBacking.h so that we can 
1101         access the values from RenderLayerBacking.
1102         * platform/graphics/TiledBacking.h:
1103         * platform/graphics/ca/mac/TileController.mm:
1104
1105         hasExtendedBackgroundForPainting() is now called 
1106         hasExtendedBackgroundRectForPainting() to distinguish 
1107         the case where an extended RECT is needed.
1108         * rendering/RenderBox.cpp:
1109         (WebCore::RenderBox::repaintLayerRectsForImage):
1110         * rendering/RenderBoxModelObject.cpp:
1111         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1112
1113         Call setHasExtendedBackgroundRectForPainting() if relevant.
1114         * rendering/RenderElement.cpp:
1115         (WebCore::RenderElement::styleWillChange):
1116
1117         Don't call setTiledBackingHasMargins() right in the constructor because we only
1118         want margins if we have a background image, and we won't have that information
1119         yet.
1120         * rendering/RenderLayerBacking.cpp:
1121         (WebCore::RenderLayerBacking::RenderLayerBacking):
1122
1123         Clean up the variable name here. We are only setting margins when we need to 
1124         extend the background rect for painting. Also make us of newly-exposed 
1125         defaultTileWidth and Height.
1126         (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
1127
1128         Remove RenderLayerBacking::tiledBackingHasMargin() since there aren't any more
1129         callers.
1130         * rendering/RenderLayerBacking.h:
1131         (WebCore::RenderLayerBacking::usingTiledBacking):
1132
1133         setMasksToBounds(false) based on the Setting, and not based on whether there are 
1134         tile margins.
1135         * rendering/RenderLayerCompositor.cpp:
1136         (WebCore::RenderLayerCompositor::updateBacking):
1137
1138         Return false from RenderLayerCompositor::requiresContentShadowLayer() if there is 
1139         an extended background.
1140         (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
1141
1142         Setting the background color on m_layerForOverhangAreas is all we need to do to 
1143         create the extended background effect on pages that only have background colors. 
1144         (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
1145         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1146
1147         Remove mainFrameBackingIsTiledWithMargin() since there aren't any more callers,
1148         and add setRootExtendedBackgroundColor() so that we can update the color from 
1149         RenderView.
1150         * rendering/RenderLayerCompositor.h:
1151
1152         Revert the code that was added to paint background color here, since this should 
1153         all be covered by calling RenderLayerCompositor::setExtendedBackgroundColor(). 
1154         More complicated backgrounds will run through the full background painting code.
1155         * rendering/RenderView.cpp:
1156         (WebCore::RenderView::paintBoxDecorations):
1157         (WebCore::RenderView::backgroundRect):
1158
1159 2014-01-31  Jochen Eisinger  <jochen@chromium.org>
1160
1161         Remove FrameLoader's reloadWithOverrideURL and reloadWithRequest
1162         https://bugs.webkit.org/show_bug.cgi?id=128005
1163
1164         Reviewed by Darin Adler.
1165
1166         The former was used by chromium-android to implement the "request
1167         desktop version" feature, but is no longer used. After removing it,
1168         the latter is only invoked by reload(), so we can merge the method
1169         with it.
1170
1171         No new tests, just removing dead code.
1172
1173         * loader/FrameLoader.cpp:
1174         (WebCore::FrameLoader::reload):
1175         * loader/FrameLoader.h:
1176
1177 2014-01-31  Commit Queue  <commit-queue@webkit.org>
1178
1179         Unreviewed, rolling out r163182.
1180         http://trac.webkit.org/changeset/163182
1181         https://bugs.webkit.org/show_bug.cgi?id=128012
1182
1183         Broke lots of tests (Requested by smfr on #webkit).
1184
1185         * page/FrameView.cpp:
1186         (WebCore::FrameView::visibleContentsResized):
1187         * page/FrameView.h:
1188         * rendering/RenderView.cpp:
1189         (WebCore::isFixedPositionInViewport):
1190         (WebCore::RenderView::hasCustomFixedPosition):
1191         * rendering/RenderView.h:
1192
1193 2014-01-31  Brady Eidson  <beidson@apple.com>
1194
1195         IDB: openCursor() needs to prime the cursor with first position values
1196         https://bugs.webkit.org/show_bug.cgi?id=128008
1197
1198         Reviewed by Alexey Proskuryakov.
1199
1200         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1201         (WebCore::OpenCursorOperation::perform): If the server connection returns initial keys/values
1202           for the cursor, store them.
1203
1204         * Modules/indexeddb/IDBServerConnection.h:
1205
1206         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
1207         (WebCore::IDBServerConnectionLevelDB::openCursor):
1208         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
1209
1210 2014-01-31  Hans Muller  <hmuller@adobe.com>
1211
1212         [CSS Shapes] Image valued shape can fail
1213         https://bugs.webkit.org/show_bug.cgi?id=127588
1214
1215         Reviewed by Dean Jackson.
1216
1217         Correct the handling of image valued shapes that extend into or beyond the
1218         margin box. This can happen when object-fit causes one dimension of the shape
1219         to be greater than the corresponding margin box dimension.
1220
1221         Made some simplifications in RasterShapeIntervals::computeShapeMarginIntervals()
1222         by making the shapeMargin parameter an int, removing some unnecessary variables.
1223
1224         Revised the RasterShapeIntervals class. It's now a just a list of size() interval-lists,
1225         with valid indices: -offset() <= y < size() - offset(), or minY() to maxY(). If margin-top
1226         and shape-margin are specified, then offset() is the larger of shape-margin and margin-top.
1227         Similarly size() is the vertical size of the margin-box or the content-box expanded by
1228         shape-margin, whichever is larger. See computeShapeMarginIntervals().
1229
1230         Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-005.html
1231                fast/shapes/shape-outside-floats/shape-outside-image-fit-006.html
1232
1233         * rendering/shapes/RasterShape.cpp:
1234         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
1235         (WebCore::RasterShape::marginIntervals):
1236         * rendering/shapes/RasterShape.h:
1237         (WebCore::RasterShapeIntervals::RasterShapeIntervals):
1238         (WebCore::RasterShapeIntervals::offset):
1239         (WebCore::RasterShapeIntervals::minY):
1240         (WebCore::RasterShapeIntervals::maxY):
1241         (WebCore::RasterShapeIntervals::intervalsAt):
1242         * rendering/shapes/Shape.cpp:
1243         (WebCore::Shape::createRasterShape):
1244         * rendering/shapes/Shape.h:
1245         * rendering/shapes/ShapeInfo.cpp:
1246
1247         (WebCore::getShapeImageReplacedRect):
1248         The rect that the image will be drawn into. This rect can imply image
1249         scaling and translation.
1250
1251         (WebCore::getShapeImageMarginRect):
1252         The margin rect relative too the (0,0 origin) shape content rect.
1253
1254         (WebCore::ShapeInfo<RenderType>::computedShape):
1255
1256 2014-01-31  Andreas Kling  <akling@apple.com>
1257
1258         Deduplicate Document::encoding().
1259         <https://webkit.org/b/128000>
1260
1261         Make Document::encoding() return an AtomicString so we don't duplicate
1262         the string every time it's called.
1263
1264         215 KB progression on Membuster3.
1265
1266         Reviewed by Simon Fraser.
1267
1268         * dom/Document.h:
1269         * dom/Document.cpp:
1270         (WebCore::Document::encoding):
1271
1272 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
1273
1274         Even when in fixed layout mode, some platforms need to do layout after a viewport change
1275         https://bugs.webkit.org/show_bug.cgi?id=128003
1276
1277         Reviewed by Andreas Kling.
1278
1279         iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
1280         elements relative to a variable viewport. This code assumed that fixed layout
1281         implies a fixed viewport.
1282         
1283         Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.
1284         
1285         Also removed RenderView::hasCustomFixedPosition() which is no longer used.
1286         
1287         * page/FrameView.cpp:
1288         (WebCore::FrameView::shouldLayoutAfterViewportChange):
1289         (WebCore::FrameView::visibleContentsResized):
1290         * page/FrameView.h:
1291         * rendering/RenderView.cpp:
1292         * rendering/RenderView.h:
1293
1294 2014-01-31  Zan Dobersek  <zdobersek@igalia.com>
1295
1296         Guard GLContextEGL::platformContext() with USE(3D_GRAPHICS)
1297         https://bugs.webkit.org/show_bug.cgi?id=120214
1298
1299         Reviewed by Philippe Normand.
1300
1301         Guard the GLContextEGL::platformContext() declaration and definiton with USE(3D_GRAPHICS)
1302         since this guard is used in the GLContext class, from which the GLContextEGL class overrides
1303         this method.
1304
1305         * platform/graphics/egl/GLContextEGL.cpp:
1306         * platform/graphics/egl/GLContextEGL.h:
1307
1308 2014-01-31  Beth Dakin  <bdakin@apple.com>
1309
1310         Sideways 'wobble' when scrolling with trackpad on Mavericks
1311         https://bugs.webkit.org/show_bug.cgi?id=127521
1312         -and corresponding-
1313         <rdar://problem/14137306>
1314
1315         Reviewed by Simon Fraser.
1316
1317         This patch takes http://trac.webkit.org/changeset/154535 which introduced 
1318         filtering wheel events for overflow areas to try to make them less sensitive to X 
1319         deltas when scrolling in a primarily Y direction, and it factors that code out 
1320         into its own class, now called WheelEventDeltaTracker. So now this new class can 
1321         use the same code to filter events for WebKit2’s EventDispatcher.
1322
1323         Files for WheelEventDeltaTracker.
1324         * CMakeLists.txt:
1325         * GNUmakefile.list.am:
1326         * WebCore.vcxproj/WebCore.vcxproj:
1327         * WebCore.vcxproj/WebCore.vcxproj.filters:
1328         * WebCore.xcodeproj/project.pbxproj:
1329
1330         WK2 needs these new WheelEventDeltaTracker functions.
1331         * WebCore.exp.in:
1332
1333         Move a bunch of code over to WheelEventDeltaTracker and use
1334         m_recentWheelEventTracker to serve the same purpose.
1335         * page/EventHandler.cpp:
1336         (WebCore::EventHandler::EventHandler):
1337         (WebCore::EventHandler::handleWheelEvent):
1338         (WebCore::EventHandler::defaultWheelEventHandler):
1339         * page/EventHandler.h:
1340
1341         Allow horizontal rubber banding now that we have some event filtering in place.
1342         * page/FrameView.cpp:
1343         (WebCore::FrameView::FrameView):
1344
1345         New files. Most of this code was from EventHandler.
1346         * page/WheelEventDeltaTracker.cpp: Added.
1347         (WebCore::WheelEventDeltaTracker::WheelEventDeltaTracker):
1348         (WebCore::WheelEventDeltaTracker::~WheelEventDeltaTracker):
1349         (WebCore::WheelEventDeltaTracker::beginTrackingDeltas):
1350         (WebCore::WheelEventDeltaTracker::endTrackingDeltas):
1351         (WebCore::WheelEventDeltaTracker::recordWheelEventDelta):
1352         (WebCore::deltaIsPredominantlyVertical):
1353         (WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):
1354         * page/WheelEventDeltaTracker.h: Added.
1355         (WebCore::WheelEventDeltaTracker::isTrackingDeltas):
1356
1357         New function to clone events while zero-ing out certain deltas.
1358         * platform/PlatformWheelEvent.h:
1359         (WebCore::PlatformWheelEvent::copyIgnoringHorizontalDelta):
1360         (WebCore::PlatformWheelEvent::copyIgnoringVerticalDelta):
1361
1362 2014-01-31  Simon Fraser  <simon.fraser@apple.com>
1363
1364         Don't do logging from Range::collectSelectionRects() on iOS
1365         https://bugs.webkit.org/show_bug.cgi?id=127999
1366
1367         Reviewed by Enrica Casucci.
1368
1369         Remove some logging code that printed Range stuff in debug builds.
1370
1371         * dom/Range.cpp:
1372         (WebCore::Range::collectSelectionRects):
1373
1374 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
1375
1376         Make iOS fixed layer registration more like OS X
1377         https://bugs.webkit.org/show_bug.cgi?id=127983
1378
1379         Reviewed by Antti Koivisto.
1380
1381         Remove some #if PLATFORM(IOS) in the code related to registering
1382         viewport-constrained layers. The code behaves correctly now in WK1
1383         and WK2 based on the presence of a ScrollingCoordinator.
1384
1385         * rendering/RenderLayerCompositor.cpp:
1386         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1387         (WebCore::nearestScrollingCoordinatorAncestor):
1388         (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):
1389         (WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer):
1390
1391 2014-01-31  Commit Queue  <commit-queue@webkit.org>
1392
1393         Unreviewed, rolling out r163165.
1394         http://trac.webkit.org/changeset/163165
1395         https://bugs.webkit.org/show_bug.cgi?id=127997
1396
1397         broke 2 fast/table tests (Requested by kling on #webkit).
1398
1399         * rendering/RenderTable.cpp:
1400         (WebCore::RenderTable::updateLogicalWidth):
1401         (WebCore::RenderTable::computePreferredLogicalWidths):
1402
1403 2014-01-31  Anders Carlsson  <andersca@apple.com>
1404
1405         Don't allocate a new XMLHttpRequestStaticData every time staticData() is called
1406         https://bugs.webkit.org/show_bug.cgi?id=127996
1407
1408         Reviewed by Andreas Kling.
1409
1410         std::once_flag should be static.
1411
1412         * xml/XMLHttpRequest.cpp:
1413         (WebCore::staticData):
1414
1415 2014-01-31  Zalan Bujtas  <zalan@apple.com>
1416
1417         Subpixel rendering: Change RenderBoxModelObject's border functions' signature to support subpixel border painting.
1418         https://bugs.webkit.org/show_bug.cgi?id=127975
1419
1420         Reviewed by Simon Fraser.
1421
1422         From int to LayoutUnit.
1423
1424         Covered by existing tests. No change in functionality.
1425
1426         * platform/text/TextStream.cpp:
1427         (WebCore::TextStream::operator<<):
1428         * platform/text/TextStream.h:
1429         * rendering/RenderBoxModelObject.cpp:
1430         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1431         * rendering/RenderBoxModelObject.h:
1432         (WebCore::RenderBoxModelObject::borderTop):
1433         (WebCore::RenderBoxModelObject::borderBottom):
1434         (WebCore::RenderBoxModelObject::borderLeft):
1435         (WebCore::RenderBoxModelObject::borderRight):
1436         (WebCore::RenderBoxModelObject::borderBefore):
1437         (WebCore::RenderBoxModelObject::borderAfter):
1438         (WebCore::RenderBoxModelObject::borderStart):
1439         (WebCore::RenderBoxModelObject::borderEnd):
1440         * rendering/RenderElement.cpp:
1441         (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
1442         * rendering/RenderTable.cpp:
1443         (WebCore::RenderTable::borderBefore):
1444         (WebCore::RenderTable::borderAfter):
1445         * rendering/RenderTable.h:
1446         * rendering/RenderTableCell.cpp:
1447         (WebCore::RenderTableCell::borderLeft):
1448         (WebCore::RenderTableCell::borderRight):
1449         (WebCore::RenderTableCell::borderTop):
1450         (WebCore::RenderTableCell::borderBottom):
1451         (WebCore::RenderTableCell::borderStart):
1452         (WebCore::RenderTableCell::borderEnd):
1453         (WebCore::RenderTableCell::borderBefore):
1454         (WebCore::RenderTableCell::borderAfter):
1455         * rendering/RenderTableCell.h:
1456
1457 2014-01-31  Brady Eidson  <beidson@apple.com>
1458
1459         IDB: Index writing
1460         <rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868
1461
1462         Reviewed by Anders Carlsson.
1463
1464         * Modules/indexeddb/IDBDatabaseBackend.cpp:
1465         (WebCore::IDBDatabaseBackend::openConnectionInternal): Remove outdated comment and ASSERT.
1466
1467         * Modules/indexeddb/IDBObjectStore.cpp:
1468         (WebCore::IDBObjectStore::createIndex): Conditionalize a block of code that is LevelDB-only.
1469
1470         Remove getColumnBlob().  Nobody used it, and it was dangerous because it reset the statement:
1471         * platform/sql/SQLiteStatement.cpp:
1472         * platform/sql/SQLiteStatement.h:
1473         * WebCore.exp.in:
1474
1475 2014-01-30  László Langó  <lango@inf.u-szeged.hu>
1476
1477         [CSS Grid Layout] Do log(n) search in the named line vectors when positioning named line spans.
1478         https://bugs.webkit.org/show_bug.cgi?id=125396
1479
1480         Reviewed by Andreas Kling.
1481
1482         Implement the suggested FIXMEs and do a log search in the named line
1483         vectors. This maintains the previous (somewhat tricky) behavior by
1484         using std::lower_bound and std::upper_bound. No difference in existing
1485         performance tests, but should scale much better for big grids.
1486
1487         Backported from Blink:
1488         https://chromium.googlesource.com/chromium/blink/+/9fc477af0be708c490a6b90e65e412b0c22b161f
1489
1490         No new tests, no behavior change.
1491
1492         * rendering/RenderGrid.cpp:
1493         (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
1494         (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
1495
1496 2014-01-31  László Langó  <lango@inf.u-szeged.hu>
1497
1498         Fix table sizing when 'max-width' is used.
1499         https://bugs.webkit.org/show_bug.cgi?id=115156
1500
1501         Reviewed by Andreas Kling.
1502
1503         r143534 make <table> abide by 'max-width' all the time which is wrong.
1504         Per the CSS specification, a table should be wide enough to fit its
1505         content, regardless of 'max-width'.
1506
1507         r140479 fixed part of the regression from that change but made the
1508         same fatal mistake by constraining min-content to fit 'max-width'.
1509
1510         The fix is to avoid constraining min-content and ensure that the table
1511         logical width is at least its min-content size.
1512
1513         Backported from Blink:
1514         https://chromium.googlesource.com/chromium/blink/+/0bca0dec4895aeeb2054ba36316e984e4ebed06f
1515
1516         Test: fast/table/html-table-width-max-width-constrained.html
1517
1518         * rendering/RenderTable.cpp:
1519         (WebCore::RenderTable::updateLogicalWidth):
1520         (WebCore::RenderTable::computePreferredLogicalWidths):
1521
1522 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
1523
1524         Fix iOS build after r163156.
1525         
1526         Need to convert LayoutSizes to FloatSizes.
1527
1528         * bindings/objc/DOMUIKitExtensions.mm:
1529         (-[DOMNode borderRadii]):
1530
1531 2014-01-30  Zalan Bujtas  <zalan@apple.com>
1532
1533         Subpixel rendering: Change drawRect()/drawLine() signature to support subpixel rendering.
1534         https://bugs.webkit.org/show_bug.cgi?id=127961
1535
1536         Reviewed by Simon Fraser.
1537
1538         IntRect/IntPoint -> FloatRect/FloatPoint.
1539
1540         Covered by existing tests. No change in functionality.
1541
1542         * platform/graphics/GraphicsContext.h:
1543         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1544         (WebCore::GraphicsContext::drawRect):
1545         (WebCore::GraphicsContext::drawLine):
1546         * platform/graphics/cg/GraphicsContextCG.cpp:
1547         (WebCore::GraphicsContext::drawRect):
1548         (WebCore::GraphicsContext::drawLine): Keep 'distance' int for DottedStroke and DashedStroke for now.
1549         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1550         (WebCore::GraphicsContext::drawRect):
1551         (WebCore::GraphicsContext::drawLine):
1552
1553 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
1554
1555         Remove ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers() which is no longer used
1556         https://bugs.webkit.org/show_bug.cgi?id=127981
1557
1558         Reviewed by Andreas Kling.
1559
1560         setLayerIsContainerForFixedPositionLayers() was only used by Chromium and Blackberry,
1561         so remove it.
1562         
1563         This allows the removal of RenderLayerBacking::registerScrollingLayers(),
1564         moving the single useful line of code to the caller.
1565
1566         * page/scrolling/ScrollingCoordinator.h:
1567         * rendering/RenderLayerBacking.cpp:
1568         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1569         * rendering/RenderLayerBacking.h:
1570         * rendering/RenderLayerCompositor.cpp:
1571         (WebCore::RenderLayerCompositor::ensureRootLayer):
1572
1573 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
1574
1575         Some fixed position elements disappear in WK2 on iOS
1576         https://bugs.webkit.org/show_bug.cgi?id=127977
1577
1578         Reviewed by Tim Horton.
1579
1580         Use the appropriate rectangle to ensure that on iOS we don't 
1581         consider a fixed element outside the viewport when zoomed in,
1582         and therefore never make a compositing layer for it.
1583
1584         Also remove the iOS-specific code in RenderLayerCompositor::requiresCompositingForPosition(),
1585         since it's OK to use the common code. Doing so requires that we
1586         set the "acceleratedCompositingForFixedPositionEnabled" setting to true
1587         for iOS, so do so.
1588
1589         * page/Settings.cpp:
1590         * page/Settings.in:
1591         * rendering/RenderLayerCompositor.cpp:
1592         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
1593
1594 2014-01-30  Zalan Bujtas  <zalan@apple.com>
1595
1596         Subpixel rendering: Make RoundedRect layout unit aware.
1597         https://bugs.webkit.org/show_bug.cgi?id=127779
1598
1599         Reviewed by Simon Fraser.
1600
1601         In order to draw hairline borders, RoundedRect needs to be
1602         LayoutUnit based.
1603
1604         No change in behavior.
1605
1606         * platform/graphics/GraphicsContext.cpp:
1607         (WebCore::GraphicsContext::fillRoundedRect):
1608         * platform/graphics/GraphicsContext.h:
1609         * platform/graphics/RoundedRect.cpp:
1610         (WebCore::RoundedRect::Radii::scale):
1611         (WebCore::RoundedRect::Radii::expand):
1612         (WebCore::RoundedRect::inflateWithRadii):
1613         (WebCore::RoundedRect::RoundedRect):
1614         (WebCore::RoundedRect::intersectsQuad):
1615         * platform/graphics/RoundedRect.h:
1616         (WebCore::RoundedRect::Radii::Radii):
1617         (WebCore::RoundedRect::Radii::setTopLeft):
1618         (WebCore::RoundedRect::Radii::setTopRight):
1619         (WebCore::RoundedRect::Radii::setBottomLeft):
1620         (WebCore::RoundedRect::Radii::setBottomRight):
1621         (WebCore::RoundedRect::Radii::topLeft):
1622         (WebCore::RoundedRect::Radii::topRight):
1623         (WebCore::RoundedRect::Radii::bottomLeft):
1624         (WebCore::RoundedRect::Radii::bottomRight):
1625         (WebCore::RoundedRect::Radii::expand):
1626         (WebCore::RoundedRect::Radii::shrink):
1627         (WebCore::RoundedRect::rect):
1628         (WebCore::RoundedRect::setRect):
1629         (WebCore::RoundedRect::move):
1630         (WebCore::RoundedRect::inflate):
1631         (WebCore::RoundedRect::expandRadii):
1632         (WebCore::RoundedRect::shrinkRadii):
1633         * platform/graphics/ShadowBlur.cpp:
1634         (WebCore::ScratchBuffer::setCachedShadowValues):
1635         (WebCore::ScratchBuffer::setCachedInsetShadowValues):
1636         (WebCore::computeSliceSizesFromRadii):
1637         (WebCore::ShadowBlur::templateSize):
1638         (WebCore::ShadowBlur::drawRectShadow):
1639         (WebCore::ShadowBlur::drawInsetShadow):
1640         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
1641         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
1642         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
1643         (WebCore::ShadowBlur::drawRectShadowWithTiling):
1644         (WebCore::ShadowBlur::drawLayerPieces):
1645         (WebCore::ShadowBlur::beginShadowLayer):
1646         * platform/graphics/ShadowBlur.h:
1647         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1648         (WebCore::GraphicsContext::clipOut):
1649         (WebCore::GraphicsContext::fillRoundedRect):
1650         (WebCore::GraphicsContext::fillRectWithRoundedHole):
1651         * platform/graphics/cg/GraphicsContextCG.cpp:
1652         (WebCore::GraphicsContext::platformInit):
1653         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1654         (WebCore::GraphicsContext::clipOut):
1655         (WebCore::GraphicsContext::fillRoundedRect):
1656         * rendering/RenderBoxModelObject.cpp:
1657         (WebCore::RenderBoxModelObject::paintOneBorderSide):
1658         (WebCore::calculateSideRect):
1659         (WebCore::RenderBoxModelObject::paintBorderSides):
1660         (WebCore::RenderBoxModelObject::paintBorder):
1661         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
1662         (WebCore::calculateSideRectIncludingInner):
1663         (WebCore::calculateAdjustedInnerBorder):
1664         (WebCore::areaCastingShadowInHole):
1665         (WebCore::RenderBoxModelObject::paintBoxShadow):
1666         * rendering/RenderBoxModelObject.h:
1667         * rendering/RenderThemeSafari.cpp:
1668         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
1669         (WebCore::RenderThemeSafari::paintSliderTrack):
1670
1671 2014-01-30  Martin Robinson  <mrobinson@igalia.com>
1672
1673         [GTK] [CMake] Add support for building against GTK+ 2
1674         https://bugs.webkit.org/show_bug.cgi?id=127959
1675
1676         Reviewed by Anders Carlsson.
1677
1678         * PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.
1679
1680 2014-01-30  Jessie Berlin  <jberlin@apple.com>
1681
1682         Speculative build fix.
1683
1684         * page/animation/CSSPropertyAnimation.cpp:
1685
1686 2014-01-30  Zalan Bujtas  <zalan@apple.com>
1687
1688         Subpixel rendering: Change BorderData's width from unsigned to float to enable subpixel border painting.
1689         https://bugs.webkit.org/show_bug.cgi?id=127949
1690
1691         Reviewed by Andreas Kling.
1692
1693         Covered by existing tests. No change in functionality.
1694
1695         * css/DeprecatedStyleBuilder.cpp:
1696         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1697         * page/animation/CSSPropertyAnimation.cpp:
1698         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1699         * rendering/RenderTable.cpp:
1700         (WebCore::RenderTable::calcBorderStart):
1701         (WebCore::RenderTable::calcBorderEnd):
1702         * rendering/style/BorderValue.h:
1703         (WebCore::BorderValue::BorderValue):
1704         (WebCore::BorderValue::width):
1705         * rendering/style/RenderStyle.cpp:
1706         (WebCore::RenderStyle::borderBeforeWidth):
1707         (WebCore::RenderStyle::borderAfterWidth):
1708         (WebCore::RenderStyle::borderStartWidth):
1709         (WebCore::RenderStyle::borderEndWidth):
1710         * rendering/style/RenderStyle.h:
1711
1712 2014-01-30  David Kilzer  <ddkilzer@apple.com>
1713
1714         Add security-checked cast for WebCore::CachedImage
1715         <http://webkit.org/b/127967>
1716
1717         Reviewed by Darin Adler.
1718
1719         * loader/cache/CachedImage.h:
1720         (WebCore::toCachedImage): Add.
1721         (WebCore::toCachedImageManual): Add.
1722         * loader/cache/CachedResource.h:
1723         (CACHED_RESOURCE_TYPE_CASTS): Add macro.
1724
1725         * loader/cache/CachedImage.cpp:
1726         (WebCore::CachedImage::switchClientsToRevalidatedResource):
1727         (WebCore::CachedImage::resumeAnimatingImagesForLoader):
1728         * loader/cache/CachedResourceLoader.cpp:
1729         (WebCore::CachedResourceLoader::requestImage):
1730         * loader/cache/MemoryCache.cpp:
1731         (WebCore::MemoryCache::removeImageFromCache):
1732         - Use toCachedImage() and toCachedImageManual().
1733
1734 2014-01-30  Simon Fraser  <simon.fraser@apple.com>
1735
1736         Fixed position objects are clipped in iOS WK2
1737         https://bugs.webkit.org/show_bug.cgi?id=127974
1738
1739         Reviewed by Darin Adler.
1740         
1741         We clip compositing layers for fixed position objects to the viewport
1742         to avoid huge layers. However, because iOS changes the fixed position
1743         rect when zooming, we need a different rect for iOS.
1744         
1745         In WK1 (when we have a platformWidget), we can use
1746         visibleContentRect(ScrollableArea::LegacyIOSDocumentVisibleRect)
1747         which is effectively the whole document. However in WK2 this is
1748         the real visibleContentRect(), so there we use unscaledDocumentRect().
1749
1750         * page/FrameView.cpp:
1751         (WebCore::FrameView::viewportConstrainedExtentRect):
1752         * page/FrameView.h:
1753         * rendering/RenderLayerBacking.cpp:
1754         (WebCore::RenderLayerBacking::updateCompositedBounds):
1755
1756 2014-01-28  Timothy Hatcher  <timothy@apple.com>
1757
1758         Add column number and call timing support to LegacyProfiler.
1759
1760         https://bugs.webkit.org/show_bug.cgi?id=127764
1761
1762         Reviewed by Joseph Pecoraro.
1763
1764         * bindings/js/ScriptProfile.cpp:
1765         (WebCore::ScriptProfile::idleTime):
1766         (WebCore::buildInspectorObjectFor):
1767         (WebCore::ScriptProfile::buildInspectorObject):
1768         * bindings/js/ScriptProfile.h:
1769         * inspector/InspectorHeapProfilerAgent.cpp:
1770         (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
1771         * inspector/InspectorProfilerAgent.cpp:
1772         (WebCore::InspectorProfilerAgent::createSnapshotHeader):
1773         (WebCore::InspectorProfilerAgent::getCPUProfile):
1774         * inspector/ScriptProfileNode.idl:
1775         * inspector/TimelineRecordFactory.cpp:
1776         (WebCore::TimelineRecordFactory::appendProfile):
1777         * inspector/protocol/Profiler.json:
1778
1779 2014-01-26  Timothy Hatcher  <timothy@apple.com>
1780
1781         Include profile with FunctionCall and EvaluateScript Timeline records.
1782
1783         https://bugs.webkit.org/show_bug.cgi?id=127663
1784
1785         Reviewed by Joseph Pecoraro.
1786
1787         * bindings/js/JSCallbackData.cpp:
1788         (WebCore::JSCallbackData::invokeCallback):
1789         * bindings/js/JSEventListener.cpp:
1790         (WebCore::JSEventListener::handleEvent):
1791         * bindings/js/JSMutationCallback.cpp:
1792         (WebCore::JSMutationCallback::call):
1793         * bindings/js/ScheduledAction.cpp:
1794         (WebCore::ScheduledAction::executeFunctionInContext):
1795         * bindings/js/ScriptController.cpp:
1796         (WebCore::ScriptController::evaluateInWorld):
1797         * inspector/InspectorController.cpp:
1798         (WebCore::InspectorController::didCallInjectedScriptFunction):
1799         * inspector/InspectorController.h:
1800         * inspector/InspectorInstrumentation.cpp:
1801         (WebCore::InspectorInstrumentation::didCallFunctionImpl):
1802         (WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
1803         * inspector/InspectorInstrumentation.h:
1804         (WebCore::InspectorInstrumentation::didCallFunction):
1805         (WebCore::InspectorInstrumentation::didEvaluateScript):
1806         * inspector/InspectorTimelineAgent.cpp:
1807         (WebCore::InspectorTimelineAgent::willCallFunction):
1808         (WebCore::InspectorTimelineAgent::didCallFunction):
1809         (WebCore::InspectorTimelineAgent::willEvaluateScript):
1810         (WebCore::InspectorTimelineAgent::didEvaluateScript):
1811         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1812         * inspector/InspectorTimelineAgent.h:
1813         * inspector/TimelineRecordFactory.cpp:
1814         (WebCore::TimelineRecordFactory::appendProfile):
1815         * inspector/TimelineRecordFactory.h:
1816         * inspector/WorkerInspectorController.cpp:
1817         (WebCore::WorkerInspectorController::didCallInjectedScriptFunction):
1818         * inspector/WorkerInspectorController.h:
1819
1820 2014-01-30  Joseph Pecoraro  <pecoraro@apple.com>
1821
1822         Remove now-empty ScriptController::setCaptureCallStackForUncaughtExceptions
1823         https://bugs.webkit.org/show_bug.cgi?id=127964
1824
1825         Reviewed by Timothy Hatcher.
1826
1827         Remove empty function. It was only needed by v8 at one point.
1828
1829         * bindings/js/ScriptController.h:
1830         * bindings/js/ScriptController.cpp:
1831         Remove empty function.
1832
1833         * inspector/InspectorConsoleAgent.h:
1834         * inspector/InspectorConsoleAgent.cpp:
1835         (WebCore::InspectorConsoleAgent::enable):
1836         (WebCore::InspectorConsoleAgent::disable):
1837         Remove callers and related tracking state.
1838
1839 2014-01-30  Roger Fong  <roger_fong@apple.com>
1840
1841         WebGL load policy should be queried for the top level document.
1842         https://bugs.webkit.org/show_bug.cgi?id=127937.
1843         <rdar://problem/15950122>
1844
1845         Reviewed by Timothy Horton.
1846
1847         * html/HTMLCanvasElement.cpp:
1848         (WebCore::HTMLCanvasElement::getContext):
1849
1850 2014-01-27  Jeffrey Pfau  <jpfau@apple.com>
1851
1852         Add a method for schemes to be registered as supporting cache partitioning
1853         https://bugs.webkit.org/show_bug.cgi?id=127739
1854
1855         Reviewed by Darin Adler.
1856
1857         Currently, this assumes that schemes supporting cache partitioning
1858         also support (scheme, host) doubles for the scheme. Furthermore,
1859         the scheme is currently discarded when partitioning and is only
1860         checked to ensure that partitioning is supported for that scheme: it
1861         is assumed that all origins with the same host double should be binned
1862         together, regardless of scheme.
1863
1864         * WebCore.exp.in:
1865         * page/SecurityOrigin.cpp:
1866         (WebCore::SecurityOrigin::cachePartition):
1867         * platform/SchemeRegistry.cpp:
1868         (WebCore::CachePartitioningSchemes):
1869         (WebCore::SchemeRegistry::registerURLSchemeAsCachePartitioned):
1870         (WebCore::SchemeRegistry::shouldPartitionCacheForURLScheme):
1871         * platform/SchemeRegistry.h:
1872
1873 2014-01-30  Jer Noble  <jer.noble@apple.com>
1874
1875         [iOS] Convert blocks to lambdas in iOS Fullscreen code.
1876         https://bugs.webkit.org/show_bug.cgi?id=127946
1877
1878         Reviewed by Anders Carlsson.
1879
1880         Pushing a block into a std::function will eventually cause a crash, since std::function
1881         does not know about Block_copy and Block_release.
1882
1883         Lamdas can be intrinsicly converted to blocks, but not vice versa. Switch over all the
1884         blocks in the new iOS Fullscreen code to use lamdas, and use the ref-counted this object
1885         directly rather than implicitly.
1886
1887         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1888         (-[WebVideoFullscreenController exitFullscreen]):
1889         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1890         (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
1891         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
1892         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
1893
1894 2014-01-30  Martin Robinson  <mrobinson@igalia.com>
1895
1896         [GTK] [CMake] Add a "make dist" target
1897         https://bugs.webkit.org/show_bug.cgi?id=116378
1898
1899         Reviewed by Gustavo Noronha Silva.
1900
1901         * CMakeLists.txt: Don't build WebKitVersion.h for WebKitGTK+. We don't use it
1902         and we don't want to distribute the dependency.
1903
1904 2014-01-30  Brady Eidson  <beidson@apple.com>
1905
1906         IDB: ObjectStore cursor advance() support
1907         <rdar://problem/15779645> and https://bugs.webkit.org/show_bug.cgi?id=127866
1908
1909         Reviewed by Sam Weinig.
1910
1911         Add IDBKeyData sorting for database collation:
1912         * Modules/indexeddb/IDBKeyData.cpp:
1913         (WebCore::IDBKeyData::compare):
1914         * Modules/indexeddb/IDBKeyData.h:
1915
1916         * WebCore.exp.in:
1917
1918         * platform/sql/SQLiteTransaction.h:
1919         (WebCore::SQLiteTransaction::database):
1920
1921 2014-01-30  David Kilzer  <ddkilzer@apple.com>
1922
1923         De-virtual-ize CachedResource::isImage()
1924         <http://webkit.org/b/127936>
1925
1926         Reviewed by Andreas Kling.
1927
1928         Also replace explicit type() checks with isImage().
1929
1930         * loader/SubresourceLoader.cpp:
1931         (WebCore::SubresourceLoader::willSendRequest): Use isImage().
1932         * loader/cache/CachedImage.h:
1933         (WebCore::CachedResource::isImage): Remove virtual override.
1934         * loader/cache/CachedResource.h:
1935         (WebCore::CachedResource::isImage): Check type() instead of
1936         defining a virtual method that returns false by default.
1937         * loader/cache/CachedResourceLoader.cpp:
1938         (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred): Use isImage().
1939
1940 2014-01-30  Eric Carlson  <eric.carlson@apple.com>
1941
1942         [iOS] don't update media layers on main thread when using AVFoundation
1943         https://bugs.webkit.org/show_bug.cgi?id=127931
1944
1945         Reviewed by Simon Fraser.
1946
1947         * platform/graphics/GraphicsLayerClient.h:
1948         (WebCore::GraphicsLayerClient::mediaLayerMustBeUpdatedOnMainThread): Add mediaLayerMustBeUpdatedOnMainThread.
1949
1950         * platform/graphics/ca/GraphicsLayerCA.cpp:
1951         (WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread): Ask the client if graphics layers
1952             should be updated on the main thread.
1953
1954         * rendering/RenderLayerBacking.cpp:
1955         (WebCore::RenderLayerBacking::mediaLayerMustBeUpdatedOnMainThread): New, check settings to see
1956             if video plug-in proxy is enabled.
1957         * rendering/RenderLayerBacking.h:
1958
1959 2014-01-30  Jer Noble  <jer.noble@apple.com>
1960
1961         [MediaControls][iOS] Fix a couple of UI bugs in the iOS Media Controls
1962         https://bugs.webkit.org/show_bug.cgi?id=127929
1963
1964         Reviewed by Eric Carlson.
1965
1966         Two UI bugs in the iOS Media Controls: the text in the controls should use the apple
1967         system font rather than the webkit small control font, and the buttons in the controls
1968         are clipped due to an "off by one" error when calculating the SVG image dimensions.
1969
1970         * Modules/mediacontrols/mediaControlsiOS.css:
1971         (::-webkit-media-controls):
1972         (audio::-webkit-media-controls-play-button):
1973         (audio::-webkit-media-controls-fullscreen-button):
1974         (audio::-webkit-media-controls-time-remaining-display):
1975
1976 2014-01-30  Jeremy Jones  <jeremyj@apple.com>
1977
1978         Refactor WebVideoFullscreenController separating AVKit from MediaElement.
1979         https://bugs.webkit.org/show_bug.cgi?id=127762
1980
1981         Reviewed by Jer Noble.
1982
1983         Refactor WebVideoFullscreenControllerAVKit implementation into two abstract interfaces with concrete implementations: 
1984         WebVideoFullscreenModel, WebVideoFullscreenInterface, WebVideoFullscreenModelMediaElement, WebVideoFullscreenInterfaceAVKit.
1985
1986         * WebCore.xcodeproj/project.pbxproj:
1987         * platform/ios/WebVideoFullscreenControllerAVKit.h:
1988         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1989         (-[WebVideoFullscreenController init]):
1990         (-[WebVideoFullscreenController dealloc]):
1991         (-[WebVideoFullscreenController enterFullscreen:]):
1992         (-[WebVideoFullscreenController exitFullscreen]):
1993         * platform/ios/WebVideoFullscreenInterface.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
1994         (WebCore::WebVideoFullscreenInterface::~WebVideoFullscreenInterface):
1995         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Added.
1996         (WebCore::WebVideoFullscreenInterfaceAVKit::~WebVideoFullscreenInterfaceAVKit):
1997         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Added.
1998         (NS_ENUM):
1999         (-[WebAVPlayerController init]):
2000         (-[WebAVPlayerController dealloc]):
2001         (-[WebAVPlayerController forwardingTargetForSelector:]):
2002         (-[WebAVPlayerController playerViewController:shouldDismissWithReason:]):
2003         (-[WebAVPlayerController play:]):
2004         (-[WebAVPlayerController pause:]):
2005         (-[WebAVPlayerController togglePlayback:]):
2006         (-[WebAVPlayerController isPlaying]):
2007         (-[WebAVPlayerController setPlaying:]):
2008         (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
2009         (-[WebAVPlayerController seekToTime:]):
2010         (:m_videoFullscreenModel):
2011         (WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
2012         (WebVideoFullscreenInterfaceAVKit::setDuration):
2013         (WebVideoFullscreenInterfaceAVKit::setCurrentTime):
2014         (WebVideoFullscreenInterfaceAVKit::setRate):
2015         (WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
2016         (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
2017         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
2018         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
2019         * platform/ios/WebVideoFullscreenModel.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
2020         (WebCore::WebVideoFullscreenModel::~WebVideoFullscreenModel):
2021         * platform/ios/WebVideoFullscreenModelMediaElement.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
2022         (WebCore::WebVideoFullscreenModelMediaElement::~WebVideoFullscreenModelMediaElement):
2023         (WebCore::WebVideoFullscreenModelMediaElement::setWebVideoFullscreenInterface):
2024         * platform/ios/WebVideoFullscreenModelMediaElement.mm: Added.
2025         (WebVideoFullscreenModelMediaElement::setMediaElement):
2026         (WebVideoFullscreenModelMediaElement::handleEvent):
2027         (WebVideoFullscreenModelMediaElement::requestExitFullScreen):
2028         (WebVideoFullscreenModelMediaElement::play):
2029         (WebVideoFullscreenModelMediaElement::pause):
2030         (WebVideoFullscreenModelMediaElement::togglePlayState):
2031         (WebVideoFullscreenModelMediaElement::seekToTime):
2032         (WebVideoFullscreenModelMediaElement::didExitFullscreen):
2033
2034 2014-01-30  Jer Noble  <jer.noble@apple.com>
2035
2036         [MediaControls][iOS] Add a "start load" button.
2037         https://bugs.webkit.org/show_bug.cgi?id=127861
2038
2039         Reviewed by Eric Carlson.
2040
2041         Add a "start load" button which replaces the controls on platforms
2042         where inline playback is not allowed, or when playback without a
2043         user gesture is not allowed.
2044
2045         Add an accessor to MediaControlsHost to query whether inline playback is allowed.:
2046         * Modules/mediacontrols/MediaControlsHost.cpp:
2047         (WebCore::MediaControlsHost::mediaPlaybackAllowsInline):
2048         * Modules/mediacontrols/MediaControlsHost.h:
2049         * Modules/mediacontrols/MediaControlsHost.idl:
2050         * html/HTMLMediaElement.h:
2051         (WebCore::HTMLMediaElement::mediaSession):
2052
2053         Update the base controller to allow more functions to be overridden:
2054         * Modules/mediacontrols/mediaControlsApple.js:
2055         (Controller):
2056         (Controller.prototype.shouldHaveAnyUI):
2057         (Controller.prototype.updateBase):
2058         (Controller.prototype.setControlsType):
2059         (Controller.prototype.updateControls):
2060         (Controller.prototype.handleFullscreenChange):
2061
2062         Add the new button, and allow for switching between "start", "inline", and "fullscreen" controls:
2063         * Modules/mediacontrols/mediaControlsiOS.js:
2064         (ControllerIOS.prototype.addVideoListeners):
2065         (ControllerIOS.prototype.removeVideoListeners):
2066         (ControllerIOS.prototype.createBase):
2067         (ControllerIOS.prototype.shouldHaveStartPlaybackButton):
2068         (ControllerIOS.prototype.shouldHaveControls):
2069         (ControllerIOS.prototype.shouldHaveAnyUI):
2070         (ControllerIOS.prototype.createControls):
2071         (ControllerIOS.prototype.setControlsType):
2072         (ControllerIOS.prototype.addStartPlaybackControls):
2073         (ControllerIOS.prototype.removeStartPlaybackControls):
2074         (ControllerIOS.prototype.updateControls):
2075         (ControllerIOS.prototype.handleStartPlaybackButtonTouchStart):
2076         (ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd):
2077         (ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel):
2078         (ControllerIOS.prototype.handleReadyStateChange):
2079
2080         Add the new art:
2081         * Modules/mediacontrols/mediaControlsiOS.css:
2082         (audio::-webkit-media-controls-start-playback-button):
2083         (audio::-webkit-media-controls-start-playback-button.failed):
2084
2085 2014-01-30  Tim Horton  <timothy_horton@apple.com>
2086
2087         WebKit2 View Gestures (Swipe): Provide a way for clients to provide views to swipe
2088         https://bugs.webkit.org/show_bug.cgi?id=127891
2089         <rdar://problem/15931413>
2090
2091         Reviewed by Anders Carlsson.
2092
2093         * WebCore.exp.in:
2094         A surprising export.
2095
2096 2014-01-30  Beth Dakin  <bdakin@apple.com>
2097
2098         https://bugs.webkit.org/show_bug.cgi?id=127371
2099         Explore new API that could be used to help build infinitely scrolling websites
2100         -and corresponding-
2101         <rdar://problem/15244768>
2102
2103         Reviewed by Sam Weinig.
2104
2105         This patch adds 4 new events called webkitwillrevealbottom, webkitwillrevealtop, 
2106         webkitwillrevealleft, and webkitwillrevealright. These events will fire when the 
2107         user has scrolled close to corresponding edge of the document. Right now that is 
2108         defined to be one viewport away from the corresponding edge. 
2109
2110         FrameView::scrollPositionChanged() and 
2111         FrameView::scrollPositionChangedViaPlatformWidget() now take two parameters 
2112         representing the old scroll position and the new position.
2113         * WebCore.exp.in:
2114
2115         New events.
2116         * dom/Document.h:
2117         * dom/Document.idl:
2118         * dom/Element.h:
2119         * dom/Element.idl:
2120         * dom/EventNames.h:
2121         * html/HTMLAttributeNames.in:
2122         * html/HTMLElement.cpp:
2123         (WebCore::populateEventNameForAttributeLocalNameMap):
2124         * page/DOMWindow.h:
2125         * page/DOMWindow.idl:
2126
2127         Send oldPosition and newPosition to scrollPositionChanged().
2128         * page/FrameView.cpp:
2129         (WebCore::FrameView::setFixedVisibleContentRect):
2130         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
2131
2132         After sending scroll events, also call sendWillRevealEdgeEventsIfNeeded() to send 
2133         the see if we should send the new will-reveal events.
2134         (WebCore::FrameView::scrollPositionChanged):
2135
2136         Use the old position and the new position to determine if the events should be 
2137         sent.
2138         (WebCore::FrameView::sendWillRevealEdgeEventsIfNeeded):
2139
2140         Send new parameters to scrollPositionChanged().
2141         (WebCore::FrameView::scrollTo):
2142         (WebCore::FrameView::wheelEvent):
2143         * page/FrameView.h:
2144
2145 2014-01-30  Szabolcs David  <davidsz@inf.u-szeged.hu>
2146
2147         [curl] Improve realm string parsing in WWW-Authenticate headers
2148         https://bugs.webkit.org/show_bug.cgi?id=127421
2149
2150         Reviewed by Brent Fulgham.
2151
2152         The realm string contains quotes at the beginning and end - this is the
2153         opposite of the libsoup implementation. Furthermore, if the header is
2154         concatenated from two or more another headers, it contains more incorrect part.
2155
2156         * platform/network/curl/ResourceHandleManager.cpp:
2157         (WebCore::removeLeadingAndTrailingQuotes):
2158         (WebCore::getProtectionSpace):
2159
2160 2014-01-30  Anders Carlsson  <andersca@apple.com>
2161
2162         Modernize HTTPHeaderMap iteration
2163         https://bugs.webkit.org/show_bug.cgi?id=127915
2164
2165         Reviewed by Andreas Kling.
2166
2167         * inspector/InspectorResourceAgent.cpp:
2168         (WebCore::buildObjectForHeaders):
2169         (WebCore::InspectorResourceAgent::willLoadXHR):
2170         (WebCore::InspectorResourceAgent::replayXHR):
2171         * loader/CrossOriginAccessControl.cpp:
2172         (WebCore::isSimpleCrossOriginAccessRequest):
2173         (WebCore::createAccessControlPreflightRequest):
2174         * loader/CrossOriginPreflightResultCache.cpp:
2175         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
2176         * loader/DocumentLoader.cpp:
2177         (WebCore::DocumentLoader::responseReceived):
2178         * loader/appcache/ApplicationCacheStorage.cpp:
2179         (WebCore::ApplicationCacheStorage::store):
2180         * loader/cache/CachedRawResource.cpp:
2181         (WebCore::CachedRawResource::canReuse):
2182         * loader/cache/CachedResource.cpp:
2183         (WebCore::CachedResource::updateResponseAfterRevalidation):
2184         * platform/network/HTTPHeaderMap.cpp:
2185         (WebCore::HTTPHeaderMap::copyData):
2186         * platform/network/ResourceRequestBase.cpp:
2187         (WebCore::ResourceRequestBase::addHTTPHeaderFields):
2188         * platform/network/cf/ResourceRequestCFNet.cpp:
2189         (WebCore::setHeaderFields):
2190         * platform/network/mac/ResourceRequestMac.mm:
2191         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2192         * xml/XMLHttpRequest.cpp:
2193         (WebCore::XMLHttpRequest::getAllResponseHeaders):
2194
2195 2014-01-30  Antti Koivisto  <antti@apple.com>
2196
2197         WebPage::determinePrimarySnapshottedPlugIn is slow
2198         https://bugs.webkit.org/show_bug.cgi?id=127905
2199
2200         Reviewed by Anders Carlsson.
2201
2202         * WebCore.exp.in: New exports
2203         * WebCore.xcodeproj/project.pbxproj:
2204         * html/HTMLPlugInImageElement.h:
2205         (WebCore::HTMLPlugInImageElement>): Add isElementOfType<>
2206
2207 2014-01-30  Csaba Osztrogonác  <ossy@webkit.org>
2208
2209         [SOUP] Fix the build if !ENABLE(WEB_TIMING)
2210         https://bugs.webkit.org/show_bug.cgi?id=127906
2211
2212         Reviewed by Gustavo Noronha Silva.
2213
2214         * platform/network/soup/SoupNetworkSession.cpp:
2215
2216 2014-01-30  Andrei Bucur  <abucur@adobe.com>
2217
2218         Remove the ACCELERATED_COMPOSITING flag
2219         https://bugs.webkit.org/show_bug.cgi?id=127833
2220
2221         Reviewed by Antti Koivisto.
2222
2223         Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
2224         mandatory.
2225
2226         Tests: No new tests, no functional change.
2227
2228         * css/MediaQueryEvaluator.cpp:
2229         (WebCore::transform_3dMediaFeatureEval):
2230         * css/StyleResolver.cpp:
2231         (WebCore::StyleResolver::canShareStyleWithElement):
2232         * dom/Document.cpp:
2233         (WebCore::Document::setVisualUpdatesAllowed):
2234         (WebCore::Document::recalcStyle):
2235         (WebCore::Document::createRenderTree):
2236         (WebCore::Document::documentWillBecomeInactive):
2237         (WebCore::Document::documentDidResumeFromPageCache):
2238         (WebCore::Document::windowScreenDidChange):
2239         * dom/PseudoElement.cpp:
2240         (WebCore::PseudoElement::~PseudoElement):
2241         * history/CachedFrame.cpp:
2242         (WebCore::CachedFrameBase::CachedFrameBase):
2243         (WebCore::CachedFrameBase::restore):
2244         (WebCore::CachedFrame::CachedFrame):
2245         * history/CachedFrame.h:
2246         * history/CachedPage.cpp:
2247         (WebCore::CachedPage::restore):
2248         * history/CachedPage.h:
2249         * history/PageCache.cpp:
2250         (WebCore::PageCache::PageCache):
2251         (WebCore::PageCache::markPagesForDeviceScaleChanged):
2252         * history/PageCache.h:
2253         * html/HTMLCanvasElement.cpp:
2254         (WebCore::HTMLCanvasElement::getContext):
2255         (WebCore::HTMLCanvasElement::reset):
2256         (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
2257         (WebCore::HTMLCanvasElement::createImageBuffer):
2258         * html/HTMLMediaElement.cpp:
2259         (WebCore::HTMLMediaElement::parseAttribute):
2260         * html/HTMLMediaElement.h:
2261         * html/canvas/CanvasRenderingContext.h:
2262         * html/canvas/CanvasRenderingContext2D.cpp:
2263         (WebCore::CanvasRenderingContext2D::didDraw):
2264         * html/canvas/CanvasRenderingContext2D.h:
2265         * html/canvas/WebGLRenderingContext.cpp:
2266         (WebCore::WebGLRenderingContext::markContextChanged):
2267         (WebCore::WebGLRenderingContext::reshape):
2268         (WebCore::WebGLRenderingContext::platformLayer):
2269         * html/canvas/WebGLRenderingContext.h:
2270         * inspector/InspectorController.cpp:
2271         (WebCore::InspectorController::InspectorController):
2272         * inspector/InspectorInstrumentation.cpp:
2273         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2274         (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
2275         * inspector/InspectorInstrumentation.h:
2276         (WebCore::InspectorInstrumentation::pseudoElementDestroyed):
2277         * inspector/InspectorLayerTreeAgent.cpp:
2278         * inspector/InstrumentingAgents.cpp:
2279         (WebCore::InstrumentingAgents::InstrumentingAgents):
2280         (WebCore::InstrumentingAgents::reset):
2281         * inspector/InstrumentingAgents.h:
2282         * loader/EmptyClients.h:
2283         * page/ChromeClient.h:
2284         * page/Frame.cpp:
2285         (WebCore::Frame::layerTreeAsText):
2286         (WebCore::Frame::deviceOrPageScaleFactorChanged):
2287         * page/Frame.h:
2288         * page/FrameView.cpp:
2289         (WebCore::FrameView::setFrameRect):
2290         (WebCore::FrameView::scheduleLayerFlushAllowingThrottling):
2291         (WebCore::FrameView::hasCompositedContent):
2292         (WebCore::FrameView::hasCompositedContentIncludingDescendants):
2293         (WebCore::FrameView::hasCompositingAncestor):
2294         (WebCore::FrameView::enterCompositingMode):
2295         (WebCore::FrameView::isEnclosedInCompositingLayer):
2296         (WebCore::FrameView::flushCompositingStateIncludingSubframes):
2297         (WebCore::FrameView::isSoftwareRenderable):
2298         (WebCore::FrameView::layout):
2299         (WebCore::FrameView::contentsInCompositedLayer):
2300         (WebCore::FrameView::scrollContentsFastPath):
2301         (WebCore::FrameView::scrollContentsSlowPath):
2302         (WebCore::FrameView::setIsOverlapped):
2303         (WebCore::FrameView::delegatesScrollingDidChange):
2304         (WebCore::FrameView::scrollPositionChanged):
2305         (WebCore::FrameView::updateCompositingLayersAfterScrolling):
2306         (WebCore::FrameView::visibleContentsResized):
2307         (WebCore::FrameView::addedOrRemovedScrollbar):
2308         (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
2309         (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
2310         (WebCore::FrameView::adjustTiledBackingCoverage):
2311         (WebCore::FrameView::hasExtendedBackground):
2312         (WebCore::FrameView::extendedBackgroundRect):
2313         (WebCore::FrameView::setBackgroundExtendsBeyondPage):
2314         (WebCore::FrameView::performPostLayoutTasks):
2315         (WebCore::FrameView::paintContents):
2316         (WebCore::FrameView::setTracksRepaints):
2317         (WebCore::FrameView::resetTrackedRepaints):
2318         (WebCore::FrameView::setScrollingPerformanceLoggingEnabled):
2319         (WebCore::FrameView::setExposedRect):
2320         * page/FrameView.h:
2321         * page/Page.cpp:
2322         (WebCore::Page::setPageScaleFactor):
2323         (WebCore::Page::setDeviceScaleFactor):
2324         * page/Settings.cpp:
2325         (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
2326         * page/animation/AnimationBase.cpp:
2327         (WebCore::AnimationBase::freezeAtTime):
2328         * page/animation/AnimationController.cpp:
2329         (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
2330         * page/animation/CSSPropertyAnimation.cpp:
2331         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
2332         (WebCore::CSSPropertyAnimation::blendProperties):
2333         (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
2334         * page/animation/CSSPropertyAnimation.h:
2335         * page/animation/CompositeAnimation.cpp:
2336         (WebCore::CompositeAnimation::updateTransitions):
2337         * page/animation/ImplicitAnimation.cpp:
2338         (WebCore::ImplicitAnimation::animate):
2339         (WebCore::ImplicitAnimation::startAnimation):
2340         (WebCore::ImplicitAnimation::pauseAnimation):
2341         (WebCore::ImplicitAnimation::endAnimation):
2342         (WebCore::ImplicitAnimation::timeToNextService):
2343         * page/animation/KeyframeAnimation.cpp:
2344         (WebCore::KeyframeAnimation::animate):
2345         (WebCore::KeyframeAnimation::startAnimation):
2346         (WebCore::KeyframeAnimation::pauseAnimation):
2347         (WebCore::KeyframeAnimation::endAnimation):
2348         (WebCore::KeyframeAnimation::timeToNextService):
2349         * page/ios/FrameIOS.mm:
2350         (WebCore::Frame::viewportOffsetChanged):
2351         (WebCore::Frame::containsTiledBackingLayers):
2352         * page/scrolling/AsyncScrollingCoordinator.cpp:
2353         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
2354         * page/scrolling/ScrollingCoordinator.cpp:
2355         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
2356         (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
2357         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
2358         (WebCore::ScrollingCoordinator::scrollLayerForFrameView):
2359         (WebCore::ScrollingCoordinator::headerLayerForFrameView):
2360         (WebCore::ScrollingCoordinator::footerLayerForFrameView):
2361         (WebCore::ScrollingCoordinator::counterScrollingLayerForFrameView):
2362         (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
2363         * page/scrolling/ScrollingCoordinator.h:
2364         * platform/ScrollView.cpp:
2365         (WebCore::positionScrollCornerLayer):
2366         (WebCore::ScrollView::positionScrollbarLayers):
2367         (WebCore::ScrollView::paintScrollbars):
2368         (WebCore::ScrollView::paint):
2369         * platform/ScrollableArea.cpp:
2370         (WebCore::ScrollableArea::invalidateScrollbar):
2371         (WebCore::ScrollableArea::invalidateScrollCorner):
2372         (WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
2373         (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
2374         (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
2375         (WebCore::ScrollableArea::hasLayerForScrollCorner):
2376         * platform/ScrollableArea.h:
2377         * platform/ScrollbarTheme.h:
2378         * platform/efl/EflScreenUtilities.cpp:
2379         (WebCore::applyFallbackCursor):
2380         * platform/graphics/GraphicsContext3D.h:
2381         * platform/graphics/GraphicsContext3DPrivate.cpp:
2382         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2383         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2384         * platform/graphics/GraphicsContext3DPrivate.h:
2385         * platform/graphics/GraphicsLayer.cpp:
2386         * platform/graphics/GraphicsLayer.h:
2387         * platform/graphics/GraphicsLayerAnimation.cpp:
2388         * platform/graphics/GraphicsLayerAnimation.h:
2389         * platform/graphics/GraphicsLayerClient.h:
2390         * platform/graphics/GraphicsLayerFactory.h:
2391         * platform/graphics/GraphicsLayerUpdater.cpp:
2392         * platform/graphics/GraphicsLayerUpdater.h:
2393         * platform/graphics/ImageBuffer.cpp:
2394         * platform/graphics/ImageBuffer.h:
2395         * platform/graphics/MediaPlayer.cpp:
2396         (WebCore::MediaPlayer::platformLayer):
2397         (WebCore::MediaPlayer::supportsAcceleratedRendering):
2398         * platform/graphics/MediaPlayer.h:
2399         * platform/graphics/MediaPlayerPrivate.h:
2400         * platform/graphics/PlatformLayer.h:
2401         * platform/graphics/TextTrackRepresentation.cpp:
2402         * platform/graphics/TextTrackRepresentation.h:
2403         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2404         (WebCore::MediaPlayerPrivateAVFoundation::currentRenderingMode):
2405         (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
2406         (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
2407         (WebCore::MediaPlayerPrivateAVFoundation::tearDownVideoRendering):
2408         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2409         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
2410         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2411         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
2412         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
2413         * platform/graphics/ca/GraphicsLayerCA.cpp:
2414         * platform/graphics/ca/GraphicsLayerCA.h:
2415         * platform/graphics/ca/LayerFlushScheduler.cpp:
2416         * platform/graphics/ca/LayerFlushScheduler.h:
2417         * platform/graphics/ca/LayerFlushSchedulerClient.h:
2418         * platform/graphics/ca/PlatformCAAnimation.h:
2419         * platform/graphics/ca/PlatformCAFilters.h:
2420         * platform/graphics/ca/PlatformCALayer.h:
2421         * platform/graphics/ca/PlatformCALayerClient.h:
2422         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
2423         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2424         (PlatformCAAnimation::copyTimingFunctionsFrom):
2425         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
2426         * platform/graphics/ca/mac/PlatformCALayerMac.h:
2427         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2428         (PlatformCALayerMac::enumerateRectsBeingDrawn):
2429         * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h:
2430         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
2431         * platform/graphics/ca/win/CACFLayerTreeHost.h:
2432         * platform/graphics/ca/win/CACFLayerTreeHostClient.h:
2433         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
2434         * platform/graphics/ca/win/LayerChangesFlusher.h:
2435         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
2436         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
2437         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2438         (PlatformCAAnimation::copyTimingFunctionsFrom):
2439         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
2440         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2441         (PlatformCALayerWin::createCompatibleLayer):
2442         * platform/graphics/ca/win/PlatformCALayerWin.h:
2443         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
2444         (PlatformCALayerWinInternal::drawTile):
2445         * platform/graphics/ca/win/PlatformCALayerWinInternal.h:
2446         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
2447         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
2448         * platform/graphics/cairo/DrawingBufferCairo.cpp:
2449         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
2450         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
2451         (WebCore::GraphicsContext3D::platformLayer):
2452         * platform/graphics/cairo/ImageBufferCairo.cpp:
2453         (WebCore::ImageBuffer::platformLayer):
2454         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2455         (WebCore::GraphicsContext3D::platformLayer):
2456         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2457         * platform/graphics/efl/GraphicsContext3DPrivate.h:
2458         * platform/graphics/gpu/DrawingBuffer.h:
2459         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
2460         * platform/graphics/gpu/TilingData.cpp:
2461         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
2462         (WebCore::DrawingBuffer::frontColorBuffer):
2463         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2464         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
2465         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
2466         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2467         * platform/graphics/ios/MediaPlayerPrivateIOS.h:
2468         * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
2469         (WebCore::MediaPlayerPrivateIOS::supportsAcceleratedRendering):
2470         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2471         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2472         (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
2473         (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
2474         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
2475         (WebCore::MediaPlayerPrivateQTKit::platformLayer):
2476         (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
2477         (WebCore::MediaPlayerPrivateQTKit::layerHostChanged):
2478         (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
2479         (-[WebCoreMovieObserver layerHostChanged:]):
2480         * platform/graphics/mac/WebGLLayer.h:
2481         * platform/graphics/mac/WebGLLayer.mm:
2482         * platform/graphics/mac/WebLayer.h:
2483         * platform/graphics/mac/WebLayer.mm:
2484         * platform/graphics/mac/WebTiledLayer.h:
2485         * platform/graphics/mac/WebTiledLayer.mm:
2486         * platform/graphics/opengl/GLDefs.h:
2487         * platform/graphics/opengl/GLPlatformContext.cpp:
2488         * platform/graphics/opengl/GLPlatformContext.h:
2489         * platform/graphics/opengl/GLPlatformSurface.cpp:
2490         * platform/graphics/opengl/GLPlatformSurface.h:
2491         * platform/graphics/surfaces/GLTransportSurface.cpp:
2492         * platform/graphics/surfaces/GLTransportSurface.h:
2493         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
2494         * platform/graphics/surfaces/glx/GLXContext.cpp:
2495         * platform/graphics/surfaces/glx/GLXContext.h:
2496         * platform/graphics/surfaces/glx/GLXSurface.cpp:
2497         * platform/graphics/surfaces/glx/GLXSurface.h:
2498         * platform/graphics/texmap/TextureMapper.cpp:
2499         * platform/graphics/texmap/TextureMapper.h:
2500         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
2501         * platform/graphics/texmap/TextureMapperBackingStore.h:
2502         * platform/graphics/texmap/TextureMapperFPSCounter.cpp:
2503         * platform/graphics/texmap/TextureMapperFPSCounter.h:
2504         * platform/graphics/texmap/TextureMapperGL.cpp:
2505         * platform/graphics/texmap/TextureMapperGL.h:
2506         * platform/graphics/texmap/TextureMapperLayer.cpp:
2507         * platform/graphics/texmap/TextureMapperLayer.h:
2508         * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
2509         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
2510         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
2511         * platform/graphics/texmap/TextureMapperTile.cpp:
2512         * platform/graphics/texmap/TextureMapperTile.h:
2513         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
2514         * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
2515         * platform/graphics/win/GraphicsContext3DWin.cpp:
2516         (WebCore::GraphicsContext3D::platformLayer):
2517         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
2518         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
2519         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
2520         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
2521         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2522         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
2523         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
2524         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
2525         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
2526         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer):
2527         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
2528         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
2529         (WebCore::CreateCGImageFromPixelBuffer):
2530         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
2531         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode):
2532         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::preferredRenderingMode):
2533         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
2534         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
2535         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering):
2536         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
2537         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
2538         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
2539         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode):
2540         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
2541         * platform/graphics/win/WKCAImageQueue.cpp:
2542         * platform/graphics/win/WKCAImageQueue.h:
2543         * platform/mac/ScrollbarThemeMac.h:
2544         * platform/mac/ScrollbarThemeMac.mm:
2545         * plugins/PluginViewBase.h:
2546         * rendering/FlowThreadController.cpp:
2547         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
2548         * rendering/FlowThreadController.h:
2549         * rendering/RenderBox.cpp:
2550         (WebCore::RenderBox::styleWillChange):
2551         (WebCore::isCandidateForOpaquenessTest):
2552         (WebCore::layersUseImage):
2553         (WebCore::RenderBox::imageChanged):
2554         * rendering/RenderBoxModelObject.cpp:
2555         (WebCore::RenderBoxModelObject::suspendAnimations):
2556         (WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):
2557         * rendering/RenderBoxModelObject.h:
2558         * rendering/RenderElement.cpp:
2559         (WebCore::RenderElement::adjustStyleDifference):
2560         (WebCore::RenderElement::setStyle):
2561         (WebCore::RenderElement::styleWillChange):
2562         * rendering/RenderEmbeddedObject.cpp:
2563         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
2564         * rendering/RenderEmbeddedObject.h:
2565         * rendering/RenderFlowThread.cpp:
2566         (WebCore::RenderFlowThread::RenderFlowThread):
2567         (WebCore::RenderFlowThread::layout):
2568         (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
2569         * rendering/RenderFlowThread.h:
2570         * rendering/RenderFullScreen.cpp:
2571         * rendering/RenderImage.cpp:
2572         (WebCore::RenderImage::imageDimensionsChanged):
2573         (WebCore::RenderImage::notifyFinished):
2574         * rendering/RenderLayer.cpp:
2575         (WebCore::RenderLayer::RenderLayer):
2576         (WebCore::RenderLayer::~RenderLayer):
2577         (WebCore::RenderLayer::canRender3DTransforms):
2578         (WebCore::RenderLayer::paintsWithFilters):
2579         (WebCore::RenderLayer::updateLayerPositions):
2580         (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive):
2581         (WebCore::RenderLayer::currentTransform):
2582         (WebCore::RenderLayer::updateDescendantDependentFlags):
2583         (WebCore::RenderLayer::checkIfDescendantClippingContextNeedsUpdate):
2584         (WebCore::RenderLayer::shouldRepaintAfterLayout):
2585         (WebCore::RenderLayer::enclosingFilterRepaintLayer):
2586         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
2587         (WebCore::RenderLayer::clippingRootForPainting):
2588         (WebCore::RenderLayer::addChild):
2589         (WebCore::RenderLayer::removeChild):
2590         (WebCore::RenderLayer::removeOnlyThisLayer):
2591         (WebCore::RenderLayer::scrollTo):
2592         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
2593         (WebCore::RenderLayer::invalidateScrollbarRect):
2594         (WebCore::RenderLayer::invalidateScrollCornerRect):
2595         (WebCore::RenderLayer::positionOverflowControls):
2596         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2597         (WebCore::RenderLayer::paintOverflowControls):
2598         (WebCore::shouldDoSoftwarePaint):
2599         (WebCore::RenderLayer::paintLayer):
2600         (WebCore::RenderLayer::calculateClipRects):
2601         * rendering/RenderLayer.h:
2602         * rendering/RenderLayerBacking.cpp:
2603         * rendering/RenderLayerBacking.h:
2604         * rendering/RenderLayerCompositor.cpp:
2605         * rendering/RenderLayerCompositor.h:
2606         * rendering/RenderNamedFlowThread.cpp:
2607         (WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
2608         * rendering/RenderNamedFlowThread.h:
2609         * rendering/RenderObject.cpp:
2610         (WebCore::RenderObject::containerForRepaint):
2611         (WebCore::RenderObject::repaintUsingContainer):
2612         * rendering/RenderTreeAsText.cpp:
2613         (WebCore::write):
2614         * rendering/RenderVideo.cpp:
2615         (WebCore::RenderVideo::updatePlayer):
2616         (WebCore::RenderVideo::acceleratedRenderingStateChanged):
2617         * rendering/RenderVideo.h:
2618         * rendering/RenderView.cpp:
2619         (WebCore::RenderView::paintBoxDecorations):
2620         (WebCore::RenderView::repaintRootContents):
2621         (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
2622         (WebCore::RenderView::repaintViewAndCompositedLayers):
2623         (WebCore::RenderView::setMaximalOutlineSize):
2624         (WebCore::RenderView::compositor):
2625         (WebCore::RenderView::setIsInWindow):
2626         * rendering/RenderView.h:
2627         * rendering/RenderWidget.cpp:
2628         (WebCore::RenderWidget::setWidgetGeometry):
2629         (WebCore::RenderWidget::requiresAcceleratedCompositing):
2630         * rendering/RenderWidget.h:
2631         * rendering/style/RenderStyle.cpp:
2632         (WebCore::RenderStyle::changeRequiresLayout):
2633         (WebCore::RenderStyle::changeRequiresLayerRepaint):
2634         (WebCore::RenderStyle::changeRequiresRecompositeLayer):
2635         (WebCore::RenderStyle::diff):
2636         * rendering/style/RenderStyle.h:
2637         * rendering/style/RenderStyleConstants.h:
2638         * rendering/style/StyleRareNonInheritedData.cpp:
2639         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2640         (WebCore::StyleRareNonInheritedData::operator==):
2641         * rendering/style/StyleRareNonInheritedData.h:
2642         * testing/Internals.cpp:
2643         (WebCore::Internals::resetToConsistentState):
2644         (WebCore::Internals::setHeaderHeight):
2645         (WebCore::Internals::setFooterHeight):
2646
2647 2014-01-30  Krzysztof Czech  <k.czech@samsung.com>
2648
2649         AX: Clean up AccessibilityRenderObject
2650         https://bugs.webkit.org/show_bug.cgi?id=127838
2651
2652         Reviewed by Chris Fleizach.
2653
2654         Reducing some code by implementing ariaElementsFromAttribute.
2655         It is used as a helper for other methods.
2656
2657         No new tests. Covered by existing ones.
2658
2659         * accessibility/AccessibilityRenderObject.cpp:
2660         (WebCore::AccessibilityRenderObject::ariaElementsFromAttribute):
2661         (WebCore::AccessibilityRenderObject::ariaFlowToElements):
2662         (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
2663         (WebCore::AccessibilityRenderObject::ariaOwnsElements):
2664         * accessibility/AccessibilityRenderObject.h:
2665
2666 2014-01-29  Commit Queue  <commit-queue@webkit.org>
2667
2668         Unreviewed, rolling out r163048.
2669         http://trac.webkit.org/changeset/163048
2670         https://bugs.webkit.org/show_bug.cgi?id=127890
2671
2672         Caused many crashes, detected by EWS prior to landing
2673         (Requested by ap on #webkit).
2674
2675         * Modules/mediacontrols/MediaControlsHost.cpp:
2676         (WebCore::MediaControlsHost::sortedTrackListForMenu):
2677         (WebCore::MediaControlsHost::displayNameForTrack):
2678         (WebCore::MediaControlsHost::captionDisplayMode):
2679         * WebCore.exp.in:
2680         * WebCore.vcxproj/WebCore.vcxproj:
2681         * WebCore.vcxproj/WebCore.vcxproj.filters:
2682         * WebCore.xcodeproj/project.pbxproj:
2683         * css/DocumentRuleSets.cpp:
2684         (WebCore::DocumentRuleSets::initUserStyle):
2685         * css/InspectorCSSOMWrappers.cpp:
2686         (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection):
2687         * dom/Document.cpp:
2688         (WebCore::Document::setCompatibilityMode):
2689         (WebCore::Document::registerForCaptionPreferencesChangedCallbacks):
2690         (WebCore::Document::captionPreferencesChanged):
2691         * dom/DocumentStyleSheetCollection.cpp:
2692         * dom/DocumentStyleSheetCollection.h:
2693         * html/HTMLMediaElement.cpp:
2694         (WebCore::HTMLMediaElement::HTMLMediaElement):
2695         (WebCore::HTMLMediaElement::parseAttribute):
2696         * html/shadow/MediaControlElements.cpp:
2697         (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
2698         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
2699         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
2700         * page/CaptionStyleSheetMediaAF.cpp: Removed.
2701         * page/CaptionStyleSheetMediaAF.h: Removed.
2702         * page/CaptionUserPreferences.cpp:
2703         (WebCore::CaptionUserPreferences::CaptionUserPreferences):
2704         (WebCore::CaptionUserPreferences::notify):
2705         (WebCore::CaptionUserPreferences::setCaptionDisplayMode):
2706         (WebCore::CaptionUserPreferences::userPrefersCaptions):
2707         (WebCore::CaptionUserPreferences::setUserPrefersCaptions):
2708         (WebCore::CaptionUserPreferences::userPrefersSubtitles):
2709         (WebCore::CaptionUserPreferences::setUserPrefersSubtitles):
2710         (WebCore::CaptionUserPreferences::userPrefersTextDescriptions):
2711         (WebCore::CaptionUserPreferences::setUserPrefersTextDescriptions):
2712         (WebCore::CaptionUserPreferences::captionPreferencesChanged):
2713         (WebCore::CaptionUserPreferences::textTrackSelectionScore):
2714         (WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride):
2715         (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
2716         * page/CaptionUserPreferences.h:
2717         (WebCore::CaptionUserPreferences::captionsStyleSheetOverride):
2718         (WebCore::CaptionUserPreferences::setInterestedInCaptionPreferenceChanges):
2719         (WebCore::CaptionUserPreferences::testingMode):
2720         (WebCore::CaptionUserPreferences::setTestingMode):
2721         (WebCore::CaptionUserPreferences::pageGroup):
2722         * page/CaptionUserPreferencesMediaAF.cpp:
2723         (WebCore::userCaptionPreferencesChangedNotificationCallback):
2724         (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
2725         (WebCore::CaptionUserPreferencesMediaAF::userPrefersCaptions):
2726         (WebCore::CaptionUserPreferencesMediaAF::userPrefersSubtitles):
2727         (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
2728         (WebCore::CaptionUserPreferencesMediaAF::captionPreferencesChanged):
2729         (WebCore::CaptionUserPreferencesMediaAF::captionsWindowCSS):
2730         (WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS):
2731         (WebCore::CaptionUserPreferencesMediaAF::captionsTextColor):
2732         (WebCore::CaptionUserPreferencesMediaAF::captionsTextColorCSS):
2733         (WebCore::CaptionUserPreferencesMediaAF::windowRoundedCornerRadiusCSS):
2734         (WebCore::CaptionUserPreferencesMediaAF::captionsEdgeColorForTextColor):
2735         (WebCore::CaptionUserPreferencesMediaAF::cssPropertyWithTextEdgeColor):
2736         (WebCore::CaptionUserPreferencesMediaAF::colorPropertyCSS):
2737         (WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS):
2738         (WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):
2739         (WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride):
2740         (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore):
2741         (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
2742         * page/CaptionUserPreferencesMediaAF.h:
2743         * page/Page.cpp:
2744         * page/Page.h:
2745         * page/PageGroup.cpp:
2746         (WebCore::PageGroup::captionPreferencesChanged):
2747         (WebCore::PageGroup::captionPreferences):
2748         * page/PageGroup.h:
2749         * testing/InternalSettings.cpp:
2750         (WebCore::InternalSettings::setShouldDisplayTrackKind):
2751         (WebCore::InternalSettings::shouldDisplayTrackKind):
2752         * testing/Internals.cpp:
2753         (WebCore::Internals::resetToConsistentState):
2754         (WebCore::Internals::Internals):
2755         (WebCore::Internals::captionsStyleSheetOverride):
2756         (WebCore::Internals::setCaptionsStyleSheetOverride):
2757         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
2758         (WebCore::Internals::setCaptionDisplayMode):
2759
2760 2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
2761
2762         Remove ENABLE(JAVASCRIPT_DEBUGGER) leftovers
2763         https://bugs.webkit.org/show_bug.cgi?id=127845
2764
2765         Reviewed by Joseph Pecoraro.
2766
2767         * Configurations/FeatureDefines.xcconfig:
2768         * bindings/js/JSDOMWindowBase.cpp:
2769         (WebCore::JSDOMWindowBase::supportsProfiling):
2770
2771 2014-01-29  Gavin Barraclough  <barraclough@apple.com>
2772
2773         Add IsVisibleOrOccluded to ViewState
2774         https://bugs.webkit.org/show_bug.cgi?id=127875
2775
2776         Reviewed by Anders Carlsson.
2777
2778         * page/ViewState.h:
2779             - added IsVisibleOrOccluded
2780
2781 2014-01-29  Ryosuke Niwa  <rniwa@webkit.org>
2782
2783         EventHandler::handleMouseReleaseEvent shouldn't call updateSelectionCachesIfSelectionIsInsideTextFormControl
2784         and selectFrameElementInParentIfFullySelected
2785         https://bugs.webkit.org/show_bug.cgi?id=127834
2786
2787         Reviewed by Alexey Proskuryakov.
2788
2789         Removed the calls and made setNonDirectionalSelectionIfNeeded pass in UserTriggered option.
2790
2791         In addition, removed the rather error-prone function override of setSelection since TextGranularity,
2792         which is an enum, could be implicitly coerced into SetSelectionOptions which is a typedefed unsigned int.
2793
2794         * editing/FrameSelection.cpp:
2795         (WebCore::FrameSelection::setSelectionByMouseIfDifferent): Renamed from setNonDirectionalSelectionIfNeeded.
2796         Pass in DoNotRevealSelection to avoid revealing the selection to preserve the existing behavior.
2797         There are two layout tests that fail without this.
2798         (WebCore::FrameSelection::setSelection): Check the newly addeed DoNotRevealSelection option.
2799         (WebCore::FrameSelection::wordSelectionContainingCaretSelection): Call
2800
2801         * editing/FrameSelection.h: Made updateSelectionCachesIfSelectionIsInsideTextFormControl and
2802         selectFrameElementInParentIfFullySelected private as they are no longer called outside of FrameSelection.
2803
2804         * page/EventHandler.cpp:
2805         (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
2806         (WebCore::EventHandler::updateSelectionForMouseDrag):
2807         (WebCore::EventHandler::handleMouseReleaseEvent): Removed calls to the functions.
2808
2809 2014-01-29  Jer Noble  <jer.noble@apple.com>
2810
2811         Unreviewed iOS build fix after 163050.
2812
2813         Import CALayer.h explicitly as (on iOS) it is not included by other headers.
2814
2815         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2816
2817 2014-01-29  Jer Noble  <jer.noble@apple.com>
2818
2819         Unreviewed Mac Build fix after r163046.
2820
2821         Forward define AVSampleLayerDisplayLayer and its methods.
2822
2823         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2824
2825 2014-01-26  Sam Weinig  <sam@webkit.org>
2826
2827         CaptionUserPreferences should not be on the PageGroup if they are not really per-PageGroup (Part 1)
2828         https://bugs.webkit.org/show_bug.cgi?id=127666
2829
2830         Reviewed by Eric Carlson.
2831
2832         This patch:
2833         - Makes CaptionUserPreferences a singleton (temporary) that is accessed
2834           via Page.
2835         - Simplifies overriding system preferences by requiring that a Document be
2836           be passed so the correct Settings object can be obtained (and not just a 
2837           random one).
2838         - Stops using UserStyleSheets for captions style injection, and instead
2839           adds a new style sheet to the DocumentStyleSheetCollection.
2840         - Move caption style sheet creation into its own file - CaptionStyleSheetMediaAF.h/cpp
2841
2842         * WebCore.vcxproj/WebCore.vcxproj:
2843         * WebCore.vcxproj/WebCore.vcxproj.filters:
2844         * WebCore.xcodeproj/project.pbxproj:
2845         Add new files.
2846
2847         * WebCore.exp.in:
2848         Update exports.
2849
2850         * css/DocumentRuleSets.cpp:
2851         * css/InspectorCSSOMWrappers.cpp:
2852         * dom/Document.cpp:
2853         * dom/DocumentStyleSheetCollection.cpp:
2854         * dom/DocumentStyleSheetCollection.h:
2855         Switch from using the user style sheet mechanism, which is meant for, you guessed it, users,
2856         to an explicit caption style sheet.
2857
2858         * Modules/mediacontrols/MediaControlsHost.cpp:
2859         * html/HTMLMediaElement.cpp:
2860         * html/shadow/MediaControlElements.cpp:
2861         Get the CaptionUserPreferences via the Page.
2862
2863         * page/CaptionStyleSheetMediaAF.cpp: Added.
2864         * page/CaptionStyleSheetMediaAF.h: Added.
2865         Move caption style sheet creation here. If the global style changes, the sheet is invalidated
2866         and this is called again.
2867
2868         * page/CaptionUserPreferences.cpp:
2869         * page/CaptionUserPreferences.h:
2870         - Removes unused m_havePreferences member.
2871         - Change userPrefersFoo() functions to take a Document&. Use it to check its Settings.
2872         - Remove setUserPrefersFoo() functions and just set the Settings directly.
2873         - Move all the testing only pieces together.
2874         
2875         * page/CaptionUserPreferencesMediaAF.cpp:
2876         * page/CaptionUserPreferencesMediaAF.h:
2877         - Extract caption style sheet creation into CaptionStyleSheetMediaAF.h/cpp
2878         - Stop waiting for an interested party, and just register for appearance change
2879           notifications right away. Media elements are common enough that this should not
2880           make a difference.
2881
2882         * page/Page.cpp:
2883         (WebCore::Page::updateStyleForAllPagesForCaptionPreferencesChanged):
2884         Add helper to call captionPreferencesChanged() on all the Pages.
2885
2886         (WebCore::Page::captionPreferences):
2887         Add accessor for the CaptionUserPreferences. Currently this returns a singleton, but I plan
2888         to extract the singleton aspects of it into another class, and leave the per-Page parts here.
2889
2890         * page/Page.h:
2891         * page/PageGroup.cpp:
2892         * page/PageGroup.h:
2893         Remove CaptionUserPreferences from here.
2894
2895         * testing/InternalSettings.cpp:
2896         (WebCore::InternalSettings::setShouldDisplayTrackKind):
2897         (WebCore::InternalSettings::shouldDisplayTrackKind):
2898         Override the settings for the page directly.
2899
2900         * testing/Internals.cpp:
2901         (WebCore::Internals::resetToConsistentState):
2902         (WebCore::Internals::Internals):
2903         (WebCore::Internals::captionsStyleSheetOverride):
2904         (WebCore::Internals::setCaptionsStyleSheetOverride):
2905         (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
2906         (WebCore::Internals::setCaptionDisplayMode):
2907         Get the CaptionUserPreferences via the Page.
2908
2909 2014-01-29  Jer Noble  <jer.noble@apple.com>
2910
2911         [MSE][Mac] In SourceBufferPrivateAVFObjC, only include those headers actually necessary to compile.
2912         https://bugs.webkit.org/show_bug.cgi?id=127846
2913
2914         Reviewed by Darin Adler.
2915
2916         To work around a compile issue, only include those paths containing classes and typedefs
2917         which are used within SourceBufferPrivateAVFObjC, rather than all of AVFoundation.
2918
2919         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2920
2921 2014-01-29  Brady Eidson  <beidson@apple.com>
2922
2923         IDB: Fully implement IDBKeyData encoding/decoding
2924         https://bugs.webkit.org/show_bug.cgi?id=127863
2925
2926         Rubberstamped by Alexey Proskuryakov.
2927
2928         * platform/KeyedCoding.h:
2929
2930         * Modules/indexeddb/IDBKeyData.cpp:
2931         (WebCore::IDBKeyData::encode):
2932         (WebCore::IDBKeyData::decode):
2933
2934         * WebCore.exp.in:
2935
2936 2014-01-29  Bem Jones-Bey  <bjonesbe@adobe.com>
2937
2938         clip-path swaps bottom radii for the inset shape
2939         https://bugs.webkit.org/show_bug.cgi?id=127859
2940
2941         Reviewed by Dirk Schulze.
2942
2943         The bottom right and bottom left radii were passed in the wrong order,
2944         causing the wrong corner to be clipped in the resultant rendering.
2945
2946         Test: css3/masking/clip-path-inset-corners.html
2947
2948         * rendering/style/BasicShapes.cpp:
2949         (WebCore::BasicShapeInset::path): Change the parameter order to be
2950         correct.
2951
2952 2014-01-29  Jer Noble  <jer.noble@apple.com>
2953
2954         [MediaControls][iOS] Hook up the fullscreen button
2955         https://bugs.webkit.org/show_bug.cgi?id=127850
2956
2957         Reviewed by Eric Carlson.
2958
2959         For the fullscreen button, do the same thing we do for the play button: handle touchstart,
2960         touchend, and touchcancel, and perform the action (i.e., 'click') on touchend.
2961
2962         * Modules/mediacontrols/mediaControlsiOS.js:
2963         (ControllerIOS.prototype.createControls): Add listeners for the fullscreenButton.
2964         (ControllerIOS.prototype.isFullScreen): Override.
2965         (ControllerIOS.prototype.handleFullscreenButtonClicked): Override.
2966         (ControllerIOS.prototype.handleFullscreenTouchStart): Added.
2967         (ControllerIOS.prototype.handleFullscreenTouchEnd): Added.
2968         (ControllerIOS.prototype.handleFullscreenTouchCancel): Added.
2969
2970 2014-01-29  Brady Eidson  <beidson@apple.com>
2971
2972         IDB: Opening an existing database is broken
2973         https://bugs.webkit.org/show_bug.cgi?id=127851
2974
2975         Reviewed by Tim Hatcher.
2976
2977         * Modules/indexeddb/IDBDatabaseBackend.cpp:
2978         (WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
2979         (WebCore::IDBDatabaseBackend::didOpenInternalAsync): Remember if this method has completed.
2980         (WebCore::IDBDatabaseBackend::processPendingCalls): If didOpenInternalAsync hasn’t
2981           been called yet, then it is incorrect to process any pending calls right now.
2982         * Modules/indexeddb/IDBDatabaseBackend.h:
2983
2984 2014-01-29  Oliver Hunt  <oliver@apple.com>
2985
2986         This dereference should not actually be necessary, and
2987         is producing deprecation warnings with newer perls
2988
2989         * bindings/scripts/CodeGeneratorJS.pm:
2990         (GenerateAttributesHashTable):
2991
2992 2014-01-28  Oliver Hunt  <oliver@apple.com>
2993
2994         Make DOM attributes appear to be faux accessor properties
2995         https://bugs.webkit.org/show_bug.cgi?id=127797
2996
2997         Reviewed by Michael Saboff.
2998
2999         Refactor the bindings generator, and make sure we emit
3000         the CustomAccessor flag on properties that should 
3001         appear to be accessors.
3002
3003         * bindings/scripts/CodeGeneratorJS.pm:
3004         (GenerateGetOwnPropertySlotBody):
3005         (GenerateAttributesHashTable):
3006         (GenerateImplementation):
3007
3008 2014-01-29  Alex Christensen  <achristensen@webkit.org>
3009
3010         Prepare for accelerated compositing on WinCairo.
3011         https://bugs.webkit.org/show_bug.cgi?id=127843
3012
3013         Reviewed by Anders Carlsson.
3014
3015         * platform/network/curl/ResourceHandleManager.cpp:
3016         (WebCore::setupFormData):
3017         Remove VS2005 warning workaround.
3018         * WebCore.vcxproj/WebCore.vcxproj:
3019         Remove StyleCachedImageSet.cpp and CSSImageSetValue.cpp from the Win64 build
3020         to avoid warnings because they are also included in StyleAllInOne.cpp and
3021         CSSAllInOne.cpp, respectively.
3022
3023 2014-01-28  Michael Saboff  <msaboff@apple.com>
3024
3025         Merge the jsCStack branch
3026         https://bugs.webkit.org/show_bug.cgi?id=127763
3027
3028         Reviewed by Mark Hahnenberg.
3029
3030         Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
3031         up to changeset 162958.
3032
3033 2014-01-29  Dan Bernstein  <mitz@apple.com>
3034
3035         Fixed the iOS build.
3036
3037         * bindings/js/JSDOMWindowCustom.cpp: Updated for header renames.
3038
3039 2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
3040
3041         Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
3042         https://bugs.webkit.org/show_bug.cgi?id=127840
3043
3044         Reviewed by Mark Lam.
3045
3046         * bindings/js/JSDOMWindowBase.cpp:
3047         (WebCore::JSDOMWindowBase::supportsProfiling):
3048         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
3049         * bindings/js/PageScriptDebugServer.cpp:
3050         * bindings/js/PageScriptDebugServer.h:
3051         * bindings/js/ScriptProfile.cpp:
3052         * bindings/js/ScriptProfile.h:
3053         * bindings/js/ScriptProfileNode.h:
3054         * bindings/js/ScriptProfiler.cpp:
3055         * bindings/js/ScriptProfiler.h:
3056         * bindings/js/WorkerScriptDebugServer.cpp:
3057         * bindings/js/WorkerScriptDebugServer.h:
3058         * inspector/InspectorConsoleAgent.h:
3059         * inspector/InspectorConsoleInstrumentation.h:
3060         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
3061         * inspector/InspectorController.cpp:
3062         (WebCore::InspectorController::InspectorController):
3063         (WebCore::InspectorController::resume):
3064         * inspector/InspectorController.h:
3065         * inspector/InspectorDOMDebuggerAgent.cpp:
3066         * inspector/InspectorDOMDebuggerAgent.h:
3067         * inspector/InspectorHeapProfilerAgent.cpp:
3068         * inspector/InspectorHeapProfilerAgent.h:
3069         * inspector/InspectorInstrumentation.cpp:
3070         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
3071         (WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
3072         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
3073         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
3074         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
3075         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
3076         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
3077         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
3078         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
3079         (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
3080         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3081         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
3082         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
3083         (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
3084         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
3085         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
3086         * inspector/InspectorInstrumentation.h:
3087         * inspector/InspectorProfilerAgent.cpp:
3088         * inspector/InspectorProfilerAgent.h:
3089         * inspector/InstrumentingAgents.cpp:
3090         (WebCore::InstrumentingAgents::InstrumentingAgents):
3091         (WebCore::InstrumentingAgents::reset):
3092         * inspector/InstrumentingAgents.h:
3093         * inspector/PageDebuggerAgent.cpp:
3094         * inspector/PageDebuggerAgent.h:
3095         * inspector/ScriptProfile.idl:
3096         * inspector/ScriptProfileNode.idl:
3097         * inspector/WebDebuggerAgent.cpp:
3098         * inspector/WebDebuggerAgent.h:
3099         * inspector/WorkerDebuggerAgent.cpp:
3100         * inspector/WorkerDebuggerAgent.h:
3101         * inspector/WorkerInspectorController.cpp:
3102         (WebCore::WorkerInspectorController::WorkerInspectorController):
3103         (WebCore::WorkerInspectorController::resume):
3104         * inspector/WorkerInspectorController.h:
3105         * inspector/WorkerRuntimeAgent.cpp:
3106         (WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
3107         * inspector/WorkerRuntimeAgent.h:
3108         * loader/FrameLoader.cpp:
3109         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
3110         * page/Console.cpp:
3111         * page/Console.h:
3112         * page/Console.idl:
3113         * testing/Internals.cpp:
3114         (WebCore::Internals::resetToConsistentState):
3115         * workers/WorkerMessagingProxy.cpp:
3116         (WebCore::connectToWorkerGlobalScopeInspectorTask):
3117         (WebCore::WorkerMessagingProxy::connectToInspector):
3118         (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
3119         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
3120         (WebCore::dispatchOnInspectorBackendTask):
3121         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
3122
3123 2014-01-29  Eric Carlson  <eric.carlson@apple.com>
3124
3125         [iOS] cleanup MediaPlayer.cpp
3126         https://bugs.webkit.org/show_bug.cgi?id=127821
3127
3128         Reviewed by Jer Noble.
3129
3130         Don't register MediaPlayerPrivateIOS unless the runtime setting for media player proxy is set.
3131
3132         * platform/graphics/MediaPlayer.cpp: Don't define PlatformMediaEngineClassName on iOS
3133         (WebCore::installedMediaEngines): Drive by cleanup to return early if registration has
3134             already happened.
3135         (WebCore::MediaPlayer::MediaPlayer): Don't force-register the first media engine unless 
3136             isVideoPluginProxyEnabled returns true.
3137
3138 2014-01-29  Youenn Fablet  <youennf@gmail.com>
3139
3140         Have XHR.getResponseHeader() return null and XHR.getAllResponseHeader() return the empty string in initial ready states
3141         https://bugs.webkit.org/show_bug.cgi?id=125840
3142
3143         Reviewed by Alexey Proskuryakov.
3144
3145         Merging https://chromium.googlesource.com/chromium/blink/+/d201caf874a0bd6f101f517462b3cf1d8c5fce3d
3146         This patch makes it clear that null/empty string is returned whenever the error flag is set.
3147         This new code path is covered by the added test.
3148         
3149         Test: http/tests/xmlhttprequest/response-access-on-error.html
3150
3151         * xml/XMLHttpRequest.cpp:
3152         (WebCore::XMLHttpRequest::getAllResponseHeaders):
3153         (WebCore::XMLHttpRequest::getResponseHeader):
3154         * xml/XMLHttpRequest.h:
3155         * xml/XMLHttpRequest.idl:
3156
3157 2014-01-29  Antti Koivisto  <antti@apple.com>
3158
3159         REGRESSION (r162947): Repaint test results are different between WK1 and WK2
3160         https://bugs.webkit.org/show_bug.cgi?id=127814
3161
3162         Reviewed by Anders Carlsson.
3163
3164         * page/FrameView.cpp:
3165         (WebCore::FrameView::repaintContentRectangle):
3166         
3167             Move repaint rect logging to RenderView.
3168
3169         * rendering/RenderView.cpp:
3170         (WebCore::RenderView::repaintViewRectangle):
3171         
3172             Record raw repaint rects instead of optimized ones.
3173
3174 2014-01-29  Brady Eidson  <beidson@apple.com>
3175
3176         IDB: Serialize IDBKeyDatas to disk, not IDBKeys
3177         https://bugs.webkit.org/show_bug.cgi?id=127829
3178
3179         Reviewed by Tim Horton.
3180
3181         Move encode/decode from IDBKey to IDBKeyData.
3182
3183         * Modules/indexeddb/IDBKey.cpp:
3184         * Modules/indexeddb/IDBKey.h:
3185
3186         * Modules/indexeddb/IDBKeyData.cpp:
3187         (WebCore::IDBKeyData::IDBKeyData):
3188         (WebCore::IDBKeyData::encode):
3189         (WebCore::IDBKeyData::decode):
3190         * Modules/indexeddb/IDBKeyData.h:
3191
3192         * WebCore.exp.in:
3193
3194 2014-01-29  Antti Koivisto  <antti@apple.com>
3195
3196         REGRESSION (r162947): css3/flexbox/multiline-justify-content.html and css3/flexbox/position-absolute-child.html are timing out
3197         https://bugs.webkit.org/show_bug.cgi?id=127809
3198
3199         Reviewed by Anders Carlsson.
3200
3201         These tests generate very large number of small repaint rectangles that overwhelm the region code.
3202
3203         * page/FrameView.cpp:
3204         (WebCore::FrameView::repaintContentRectangle):
3205         * platform/graphics/Region.h:
3206         (WebCore::Region::gridSize):
3207         (WebCore::Region::Shape::gridSize):
3208         
3209             Add accessor for getting the current region grid complexity.
3210
3211         * rendering/RenderView.cpp:
3212         (WebCore::RenderView::repaintViewRectangle):
3213         
3214             If the region gets very complex merge the repaint rects into a single big rectangle.
3215
3216 2014-01-29  Radu Stavila  <stavila@adobe.com>
3217
3218         [CSSRegions] Unable to scroll a scrollable container for regions using mouse wheel
3219         https://bugs.webkit.org/show_bug.cgi?id=123886
3220
3221         When an element flowed into a scrollable region is scrolled using the mouse wheel, the event 
3222         needs to be propagated to the region containing that element, on top of which the cursor
3223         is located.
3224
3225         Reviewed by Antti Koivisto.
3226
3227         Tests: fast/regions/wheel-scroll-abspos.html
3228                fast/regions/wheel-scroll.html
3229
3230         * page/EventHandler.cpp:
3231         (WebCore::scrollNode):
3232         (WebCore::EventHandler::defaultWheelEventHandler):
3233         * rendering/RenderBox.cpp:
3234         (WebCore::RenderBox::scroll):
3235         (WebCore::RenderBox::scrollWithWheelEventLocation):
3236         * rendering/RenderBox.h:
3237         * rendering/RenderFlowThread.cpp:
3238         (WebCore::RenderFlowThread::regionFromAbsolutePointAndBox):
3239         * rendering/RenderFlowThread.h:
3240
3241 2014-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3242
3243         REGRESSION(r162922): [SOUP] Several tests are failing in EFL and GTK+ after r162922
3244         https://bugs.webkit.org/show_bug.cgi?id=127836
3245
3246         Reviewed by Gustavo Noronha Silva.
3247
3248         The problem is that I assumed that several things done in
3249         ResourceRequest::soupURI() were always desired, so I moved them to
3250         URL. This patch restores the previous behaviour, so that those
3251         tings are only done right before making a request.
3252
3253         * platform/network/soup/ResourceRequestSoup.cpp:
3254         (WebCore::ResourceRequest::createSoupURI):
3255         * platform/soup/URLSoup.cpp:
3256         (WebCore::URL::createSoupURI):
3257
3258 2014-01-29  Krzysztof Czech  <k.czech@samsung.com>
3259
3260         [ATK] Expose aria-describedby with ATK_RELATION_DESCRIBED_BY
3261         https://bugs.webkit.org/show_bug.cgi?id=121684
3262
3263         Reviewed by Mario Sanchez Prada.
3264
3265         Exposed aria-describedby by ATK_RELATION_DESCRIBED_BY.
3266         Moved elementsFromAttribut to AccessibilityObject to have common interface
3267         for AccessibilityNodeObject and AccessibilityRenderObject. Implemented
3268         supportsARIADescribedBy and ariaDescribedByElements to better deal with aria-describedby attribute.
3269
3270         No new tests. Covered by existed one.
3271
3272         * accessibility/AccessibilityNodeObject.cpp:
3273         * accessibility/AccessibilityNodeObject.h:
3274         * accessibility/AccessibilityObject.cpp:
3275         (WebCore::AccessibilityObject::elementsFromAttribute):
3276         * accessibility/AccessibilityObject.h:
3277         (WebCore::AccessibilityObject::supportsARIADescribedBy):
3278         (WebCore::AccessibilityObject::ariaDescribedByElements):
3279         * accessibility/AccessibilityRenderObject.cpp:
3280         (WebCore::AccessibilityRenderObject::supportsARIADescribedBy):
3281         (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
3282         * accessibility/AccessibilityRenderObject.h:
3283         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3284         (setAtkRelationSetFromCoreObject):
3285
3286 2014-01-29  Sergio Villar Senin  <svillar@igalia.com>
3287
3288         [CSS Grid Layout] minmax() should be a CSSFunction instead of a CSSValueList
3289         https://bugs.webkit.org/show_bug.cgi?id=127057
3290
3291         Reviewed by Antti Koivisto.
3292
3293         We were incorrectly dumping minmax(x,y) as "x y" instead of
3294         "minmax(x,y)". That's because we were treating minmax() internally
3295         as a CSSValueList instead of a CSSFunction. Replaced that and also
3296         added some extra information to our tests in order to check that
3297         we don't regress. From now on the CSS grid layout testing helper
3298         functions print not only the computed style but also the contents
3299         of element.style.webkitGridDefinition{Columns|Rows}.
3300
3301         * css/CSSFunctionValue.h:
3302         (WebCore::CSSFunctionValue::arguments):
3303         * css/CSSParser.cpp:
3304         (WebCore::CSSParser::parseGridTrackList):
3305         (WebCore::CSSParser::parseGridTrackRepeatFunction):
3306         (WebCore::CSSParser::parseGridTrackSize):
3307         * css/CSSParser.h:
3308         * css/StyleResolver.cpp:
3309         (WebCore::createGridTrackSize):
3310
3311 2014-01-29  Ryosuke Niwa  <rniwa@webkit.org>
3312
3313         Rename notifyRendererOfSelectionChange
3314         https://bugs.webkit.org/show_bug.cgi?id=127831
3315
3316         Reviewed by Antti Koivisto.
3317
3318         Renamed notifyRendererOfSelectionChange to updateSelectionCachesIfSelectionIsInsideTextFormControl.
3319
3320         * WebCore.order: Removed the exported symbol name as it's not used in WebKit or WebKit2 code.
3321         * editing/FrameSelection.cpp:
3322         (WebCore::FrameSelection::setSelection):
3323         (WebCore::FrameSelection::selectAll):
3324         (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl): Don't update the style since the existence
3325         of text form control's shadow DOM no longer depends on renderer.
3326         * editing/FrameSelection.h:
3327         * html/HTMLTextFormControlElement.cpp:
3328         (WebCore::HTMLTextFormControlElement::selectionChanged): Don't check renderer() for the same reason.
3329         * page/EventHandler.cpp:
3330         (WebCore::EventHandler::handleMouseReleaseEvent):
3331
3332 2014-01-28  Jer Noble  <jer.noble@apple.com>
3333
3334         [Mac] Handle NSURLAuthenticationMethodServerTrust challenges from -resourceLoader:shouldWaitForResponseToAuthenticationChallenge:
3335         https://bugs.webkit.org/show_bug.cgi?id=127806
3336
3337         Reviewed by Eric Carlson.
3338
3339         In addition to the normal "user/password" NSURLAuthenticationChallenges, the 
3340         -resourceLoader:shouldWaitForResponseToAuthenticationChallenge: delegate method will
3341         ask us to confirm server certificate chains. Rather than pop up an authentication
3342         dialog (which won't work anyway) we will now just drop such requests and continue
3343         on normally.
3344
3345         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3346         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
3347
3348 2014-01-28  Commit Queue  <commit-queue@webkit.org>
3349
3350         Unreviewed, rolling out r162987.
3351         http://trac.webkit.org/changeset/162987
3352         https://bugs.webkit.org/show_bug.cgi?id=127825
3353
3354         Broke Mountain Lion build (Requested by andersca on #webkit).
3355
3356         * bindings/scripts/CodeGeneratorJS.pm:
3357         (GenerateGetOwnPropertySlotBody):
3358         (GenerateAttributesHashTable):
3359         (GenerateImplementation):
3360         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3361         (WebCore::jsTestActiveDOMObjectConstructor):
3362         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3363         (WebCore::jsTestCustomNamedGetterConstructor):
3364         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3365         (WebCore::jsTestEventConstructorConstructor):
3366         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3367         (WebCore::jsTestEventTargetConstructor):
3368         * bindings/scripts/test/JS/JSTestException.cpp:
3369         (WebCore::jsTestExceptionConstructor):
3370         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
3371         (WebCore::jsTestGenerateIsReachableConstructor):
3372         * bindings/scripts/test/JS/JSTestInterface.cpp:
3373         (WebCore::jsTestInterfaceConstructor):
3374         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3375         (WebCore::jsTestMediaQueryListListenerConstructor):
3376         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3377         (WebCore::jsTestNamedConstructorConstructor):
3378         * bindings/scripts/test/JS/JSTestNode.cpp:
3379         (WebCore::jsTestNodeConstructor):
3380         * bindings/scripts/test/JS/JSTestObj.cpp:
3381         (WebCore::jsTestObjConstructor):
3382         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3383         (WebCore::jsTestOverloadedConstructorsConstructor):
3384         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3385         (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
3386         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3387         (WebCore::jsTestTypedefsConstructor):
3388         * bindings/scripts/test/JS/JSattribute.cpp:
3389         (WebCore::jsattributeConstructor):
3390         * bindings/scripts/test/JS/JSreadonly.cpp:
3391         (WebCore::jsreadonlyConstructor):
3392
3393 2014-01-28  Enrica Casucci  <enrica@apple.com>
3394
3395         Add support for ActionSheets in WK2 for iOS.
3396         https://bugs.webkit.org/show_bug.cgi?id=127586
3397         <rdar://problem/15283667>
3398
3399         Reviewed by Benjamin Poulain.
3400
3401         This patch contains some WebCore changes required to
3402         implement support for ActionSheets.
3403         It adds copyURL implementation for iOS in the Editor
3404         class and fixes some bugs in the iOS specific pasteboard
3405         writing code.
3406         The changes to Localizable.strings are the result of
3407         running update-webkit-localizedstrings script.
3408
3409         * English.lproj/Localizable.strings:
3410         * WebCore.exp.in:
3411         * editing/Editor.cpp:
3412         * editing/Editor.h:
3413         * editing/ios/EditorIOS.mm:
3414         (WebCore::Editor::writeImageToPasteboard):
3415         * platform/ios/PasteboardIOS.mm:
3416         (WebCore::Pasteboard::write):
3417         * platform/ios/PlatformPasteboardIOS.mm:
3418         (WebCore::PlatformPasteboard::write):
3419
3420 2014-01-28  Andy Estes  <aestes@apple.com>
3421
3422         [iOS] REGRESSION (r162663): Webpages have strange artifacts or corruption around tile boundaries
3423         https://bugs.webkit.org/show_bug.cgi?id=127823
3424
3425         Reviewed by Daniel Bates.
3426
3427         Original patch by Simon Fraser.
3428
3429         * platform/ScrollView.cpp: Specify LegacyIOSDocumentViewRect when calling visibleContentRect().
3430
3431 2014-01-28  Zoltan Horvath  <zoltan@webkit.org>
3432
3433         [CSS Shapes] Adjust inset sizing syntax to the latest specification
3434         https://bugs.webkit.org/show_bug.cgi?id=127785
3435
3436         Reviewed by Bem Jones-Bey.
3437
3438         According to the latest CSS Shapes specification [1], the width arguments of inset should
3439         follow the syntax of the margin shorthand, which let us set all four insets with one, two
3440         or four values. This patch updates the behavior and updates the affected tests.
3441
3442         [1] http://dev.w3.org/csswg/css-shapes/#funcdef-inset
3443
3444         Existing tests have been updated.
3445
3446         * css/CSSParser.cpp:
3447         (WebCore::CSSParser::parseInsetRoundedCorners):
3448         (WebCore::CSSParser::parseBasicShapeInset):
3449
3450 2014-01-28  Oliver Hunt  <oliver@apple.com>
3451
3452         Make DOM attributes appear to be faux accessor properties
3453         https://bugs.webkit.org/show_bug.cgi?id=127797
3454
3455         Reviewed by Michael Saboff.
3456
3457         Refactor the bindings generator, and make sure we emit
3458         the CustomAccessor flag on properties that should 
3459         appear to be accessors.
3460
3461         * bindings/scripts/CodeGeneratorJS.pm:
3462         (GenerateGetOwnPropertySlotBody):
3463         (GenerateAttributesHashTable):
3464         (GenerateImplementation):
3465
3466 2014-01-27  Chris Fleizach  <cfleizach@apple.com>
3467
3468         AX: Support @scope in HTML tables
3469         https://bugs.webkit.org/show_bug.cgi?id=127688
3470
3471         Reviewed by Mario Sanchez Prada.
3472
3473         Add support for scope attribute so that row headers and column headers
3474         are now exposed at the table cell level where appropriate.
3475
3476         Test: platform/mac/accessibility/table-scope.html
3477
3478         * accessibility/AccessibilityARIAGridCell.cpp:
3479         (WebCore::AccessibilityARIAGridCell::parentTable):
3480         * accessibility/AccessibilityARIAGridCell.h:
3481         * accessibility/AccessibilityARIAGridRow.cpp:
3482         (WebCore::AccessibilityARIAGridRow::parentTable):
3483         * accessibility/AccessibilityARIAGridRow.h:
3484         * accessibility/AccessibilityTable.cpp:
3485         (WebCore::AccessibilityTable::columns):
3486         (WebCore::AccessibilityTable::rows):
3487         * accessibility/AccessibilityTable.h:
3488         * accessibility/AccessibilityTableCell.cpp:
3489         (WebCore::AccessibilityTableCell::parentTable):
3490         (WebCore::AccessibilityTableCell::isTableHeaderCell):
3491         (WebCore::AccessibilityTableCell::isTableCellInSameRowGroup):
3492         (WebCore::AccessibilityTableCell::isTableCellInSameColGroup):
3493         (WebCore::AccessibilityTableCell::columnHeaders):
3494         (WebCore::AccessibilityTableCell::rowHeaders):
3495         * accessibility/AccessibilityTableCell.h:
3496         * accessibility/AccessibilityTableRow.cpp:
3497         (WebCore::AccessibilityTableRow::parentTable):
3498         * accessibility/AccessibilityTableRow.h:
3499         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3500         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
3501         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3502
3503 2014-01-28  Brent Fulgham  <bfulgham@apple.com>
3504
3505         Improve latching behavior for wheel events
3506         https://bugs.webkit.org/show_bug.cgi?id=127386
3507         <rdar://problem/12176858>
3508
3509         Reviewed by Simon Fraser.
3510
3511         * page/scrolling/ScrollingTree.cpp:
3512         (WebCore::ScrollingTree::clearLatchedNode): Added
3513         (WebCore::ScrollingTree::latchedNode): Added
3514         (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
3515         (WebCore::ScrollingTree::ScrollingTree): Initialize new value used for tracking
3516         scroll latching state.
3517         (WebCore::ScrollingTree::setLatchedNode): Added
3518         (WebCore::ScrollingTree::setOrClearLatchedNode): Added
3519         Set latched node when beginning a swipe event, or clear latched node when scroll/momentum ends.
3520         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
3521         latched node and stay in fast scrolling mode if possible. If the current event should
3522         start a swipe event, clear the current latched node so we can correctly find and assign
3523         the new latch node.
3524         * page/scrolling/ScrollingTree.h:
3525         (WebCore::ScrollingTree::hasLatchedNode): Added
3526         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3527         (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
3528         based on wheel event state and position of mouse pointer in the document.
3529         * platform/ScrollAnimator.cpp:
3530         (ScrollAnimator::handleWheelEvent): Always treat PlatformWheelEventPhaseMayBegin
3531         as successfully handled so that it does not "bubble back up" to the root of
3532         the scrolling tree.   
3533
3534 2014-01-23  Myles C. Maxfield  <mmaxfield@apple.com>
3535
3536         ASSERT_WITH_SECURITY_IMPLICATION in WebCore::InlineTextBox::paint
3537         https://bugs.webkit.org/show_bug.cgi?id=114586
3538
3539         Reviewed by Dave Hyatt.
3540
3541         Taken mostly from https://chromium.googlesource.com/chromium/blink/+/cb2297db16f2e9328cb4dd8b552093d6b22340a8
3542
3543         If RenderQuote is a subclass of RenderObject, it can't be split by the first-letter CSS pseudoclass.
3544         Instead, we should make it a subclass of RenderElement, so that it can be split properly.
3545
3546         Test: fast/css-generated-content/quote-first-letter.html
3547
3548         * dom/PseudoElement.cpp:
3549         (WebCore::PseudoElement::didRecalcStyle):
3550         * rendering/RenderQuote.cpp:
3551         (WebCore::RenderQuote::RenderQuote):
3552         (WebCore::RenderQuote::willBeDestroyed):
3553         (WebCore::RenderQuote::willBeRemovedFromTree):
3554         (WebCore::RenderQuote::styleDidChange):
3555         (WebCore::RenderQuote::updateText):
3556         (WebCore::RenderQuote::computeText):
3557         (WebCore::RenderQuote::updateDepth):
3558         * rendering/RenderQuote.h:
3559         * rendering/style/ContentData.cpp:
3560         (WebCore::QuoteContentData::createContentRenderer):
3561
3562 2014-01-28  Antti Koivisto  <antti@apple.com>
3563
3564         Document::topDocument() should return a reference
3565         https://bugs.webkit.org/show_bug.cgi?id=127786
3566
3567         Reviewed by Darin Adler.
3568
3569         * accessibility/AccessibilityObject.cpp:
3570         (WebCore::AccessibilityObject::mainFrame):
3571         (WebCore::AccessibilityObject::topDocument):
3572         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3573         (-[WebAccessibilityObjectWrapper accessibilityContainer]):
3574         * dom/Document.cpp:
3575         (WebCore::Document::~Document):
3576         (WebCore::Document::createRenderTree):
3577         (WebCore::Document::destroyRenderTree):
3578         (WebCore::Document::clearAXObjectCache):
3579         (WebCore::Document::existingAXObjectCache):
3580         (WebCore::Document::axObjectCache):
3581         (WebCore::Document::implicitClose):
3582         (WebCore::Document::topDocument):
3583         (WebCore::Document::topOrigin):
3584         (WebCore::Document::webkitCancelFullScreen):
3585         (WebCore::Document::webkitDidExitFullScreenForElement):
3586         * dom/Document.h:
3587         * page/DOMWindow.cpp:
3588         (WebCore::DOMWindow::incrementScrollEventListenersCount):
3589         (WebCore::DOMWindow::decrementScrollEventListenersCount):
3590         * rendering/RenderEmbeddedObject.cpp:
3591         (WebCore::RenderEmbeddedObject::isReplacementObscured):
3592         * rendering/RenderView.cpp:
3593         (WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
3594         
3595 2014-01-28  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
3596
3597         Sticky positioning is broken for table rows
3598         https://bugs.webkit.org/show_bug.cgi?id=112024
3599
3600         Reviewed by Simon Fraser.
3601
3602         Enable sticky positioning for table elements. 
3603         Also includes fix for bug ​wkb.ug/105654
3604         I don't have access to this bug, but from related commit message I 
3605         assume it says about "Heap use after free problem".
3606         Debugging showed that it wasn't heap use after free. 
3607         The real problem that RenderObject::container() returns object which is
3608         not RenderBlock and it is used as RenderBlock in 
3609         RenderBox::containingBlockLogicalHeightForPositioned() method.
3610         Added extra isRenderBlock check and search for containingBlock if 
3611         current block is not RenderBlock.
3612         
3613         Tests: fast/css/sticky/sticky-table-row-top.html
3614                fast/css/sticky/sticky-table-thead-top.html
3615
3616         * css/StyleResolver.cpp:
3617         (WebCore::StyleResolver::adjustRenderStyle):
3618         * rendering/RenderBox.cpp:
3619         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
3620         * rendering/RenderTableRow.h:
3621
3622 2014-01-28  Myles C. Maxfield  <mmaxfield@apple.com>
3623
3624         Fixing several incorrect assumptions with handling isolated inlines.
3625         https://bugs.webkit.org/show_bug.cgi?id=127608
3626
3627         Reviewed by Simon Fraser.
3628
3629         Fixing capitalization.
3630
3631         * rendering/RenderBlockLineLayout.cpp:
3632         (WebCore::setUpResolverToResumeInIsolate):
3633         (WebCore::constructBidiRunsForSegment):
3634
3635 2014-01-28  Myles C. Maxfield  <mmaxfield@apple.com>
3636
3637         Fixing several incorrect assumptions with handling isolated inlines.
3638         https://bugs.webkit.org/show_bug.cgi?id=127608
3639
3640         Reviewed by Dave Hyatt.
3641
3642         First, when an isolated inline spans multiple lines, we aren't guaranteed
3643         to exit BidiResolver with a nested inline count of zero. Removing the
3644         assert that says otherwise.
3645         
3646         Previously in constructBidiRunsForSegment, we called bidiFirst in
3647         an attempt to properly setup the isolatedResolver for any dom/style
3648         that applied, but this only worked on the first line the isolated
3649         inline appeared in. Adding a function that approaches this properly
3650         by recursing through the parents of the starting object for the line
3651         and post-fixing direction attributes to the resolver.
3652         
3653         Finally, addressing an issue where the line following a removed isolated
3654         inline (with a continuation) failed to be marked dirty.
3655
3656         Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/72698f203b1c50900e535b80945563b92b7eef23
3657
3658         Tests: fast/text/nested-bidi-assert.html
3659                fast/text/nested-bidi-with-continuation-crash.html
3660
3661         * platform/text/BidiResolver.h:
3662         (WebCore::Run>::~BidiResolver):
3663         * rendering/RenderBlockLineLayout.cpp:
3664         (WebCore::setupResolverToResumeInIsolate):
3665         (WebCore::constructBidiRunsForSegment):
3666         * rendering/RenderLineBoxList.cpp:
3667         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
3668
3669 2014-01-28  Antti Koivisto  <antti@apple.com>
3670
3671         REGRESSION(r162837): 5% regression on html5-full-render and 3% regression in DoYouEvenBench
3672         https://bugs.webkit.org/show_bug.cgi?id=127722
3673
3674         Reviewed by Darin Adler.
3675
3676         Accumulate repaint region in RendeView instead of flushing rects directly to the system.
3677
3678         * dom/Document.cpp:
3679         (WebCore::Document::recalcStyle):
3680         (WebCore::Document::updateLayout):
3681         (WebCore::Document::topDocument):
3682         
3683             Make less silly.
3684
3685         * page/FrameView.cpp:
3686         (WebCore::FrameView::layout):
3687         * rendering/RenderView.cpp:
3688         (WebCore::RenderView::repaintViewRectangle):
3689         (WebCore::RenderView::flushAccumulatedRepaintRegion):
3690         (WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
3691         (WebCore::RenderView::RepaintRegionAccumulator::~RepaintRegionAccumulator):
3692         * rendering/RenderView.h:
3693
3694 2014-01-28  Jeremy Jones  <jeremyj@apple.com>
3695
3696         HTMLMediaElement::m_platformLayerBorrowed is uninitialized.
3697         https://bugs.webkit.org/show_bug.cgi?id=127759
3698
3699         Reviewed by Eric Carlson.
3700
3701         Initalize m_platformLayerBorrowed to false.
3702
3703         * html/HTMLMediaElement.cpp:
3704         (WebCore::HTMLMediaElement::HTMLMediaElement):
3705
3706 2014-01-28  Jer Noble  <jer.noble@apple.com>
3707
3708         [Mac] Use explicit, rather than canonical, AudioFormatFlags and types.
3709         https://bugs.webkit.org/show_bug.cgi?id=127781
3710
3711         Reviewed by Eric Carlson.
3712
3713         Since every mac platform uses Float32 audio samples, use these types explicitly
3714         rather than the implicit, canonical AudioSampleType type. Once we're using Float32
3715         explicity, we can also use the explicit kAudioFormatFlagsNativeFloatPacked flag
3716         rather than the canonical version.
3717
3718         * platform/audio/mac/AudioDestinationMac.cpp:
3719         (WebCore::AudioDestinationMac::configure):
3720         * platform/audio/mac/AudioFileReaderMac.cpp:
3721         (WebCore::AudioFileReader::createBus):
3722
3723 2014-01-27  Alexey Proskuryakov  <ap@apple.com>
3724
3725         Expose SQL database creation and modification times
3726         https://bugs.webkit.org/show_bug.cgi?id=127728
3727
3728         Reviewed by Brady Eidson.
3729
3730         * platform/FileSystem.h:
3731         * platform/posix/FileSystemPOSIX.cpp:
3732         (WebCore::getFileCreationTime):
3733         * platform/win/FileSystemWin.cpp:
3734         (WebCore::getFileCreationTimeFromFindData):
3735         (WebCore::getFileCreationTime):
3736         Added functions to get file creation times. Not all OSes support that, but Darwin
3737         and Windows do, as (I think) various BSD flavors.
3738
3739         * platform/gtk/FileSystemGtk.cpp: Added a stub for getFileCreationTime().
3740
3741         * platform/sql/SQLiteFileSystem.h:
3742         * platform/sql/SQLiteFileSystem.cpp:
3743         (WebCore::SQLiteFileSystem::databaseCreationTime):
3744         (WebCore::SQLiteFileSystem::databaseModificationTime):
3745         Expose it in the same strange manner other database file operations are.
3746
3747         * Modules/webdatabase/DatabaseDetails.h:
3748         (WebCore::DatabaseDetails::DatabaseDetails):
3749         (WebCore::DatabaseDetails::creationTime):
3750         (WebCore::DatabaseDetails::modificationTime):
3751         Added creation and modification times to DatabaseDetails.
3752
3753         * Modules/webdatabase/DatabaseManager.cpp:
3754         (WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
3755         (WebCore::DatabaseManager::openDatabaseBackend):
3756         ProposedDatabase is an unfortunate mechanism for communicating quota errors to the
3757         client, we should really straighten it up. But for now, just leave the times uninitialized.
3758
3759         * Modules/webdatabase/DatabaseBackendBase.cpp: (WebCore::DatabaseBackendBase::details):
3760         This code path is for handling quota errors, so there is no need to initialize most
3761         of DatabaseDetails here as well.
3762
3763         * Modules/webdatabase/DatabaseTracker.cpp: (WebCore::DatabaseTracker::detailsForNameAndOrigin):
3764         * Modules/webdatabase/DatabaseTracker.h:
3765         Fill in database file times. Inlined and removed usageForDatabase function to
3766         avoid rebuilding the path multiple times.
3767
3768 2014-01-28  Jer Noble  <jer.noble@apple.com>
3769
3770         Setting muted attribute on <video> element is not reflected in controls
3771         https://bugs.webkit.org/show_bug.cgi?id=127726
3772
3773         Reviewed by Eric Carlson.
3774
3775         If the 'muted' IDL attribute is queried after the 'muted' and 'src' content attributes are
3776         set but before loading begins, it will return 'false' until loading begins, but with no
3777         way to query whether that value is valid, nor firing a volumechange event when its value
3778         changes.
3779
3780         The HTML spec says that the 'muted' content attribute controls whether audio output is
3781         muted "when the media element is created", not when loading begins, but we don't
3782         necessarily have a signal that the element is fully parsed.  Additionally, this means its
3783         impossible to make an element via script and get this behavior.
3784
3785         So the new behavior is that the 'muted' IDL attribute will always reflect the 'muted'
3786         content attribute up until one of the following three conditions:
3787
3788         - The 'muted' IDL attribute is set via script.
3789         - The element is inserted in the document.
3790         - The element begins loading.
3791
3792         After the first one of the above conditions, the 'muted' IDL attribute will no longer
3793         change when the 'muted' content attribute changes.
3794
3795         * html/HTMLMediaElement.cpp:
3796         (WebCore::HTMLMediaElement::HTMLMediaElement):
3797         (WebCore::HTMLMediaElement::parseAttribute):
3798         * html/HTMLMediaElement.h:
3799
3800 2014-01-28  Anders Carlsson  <andersca@apple.com>
3801
3802         Add stubbed out VisitedLinkProvider class
3803         https://bugs.webkit.org/show_bug.cgi?id=127744
3804
3805         Reviewed by Andreas Kling.
3806
3807         This is a first step towards moving responsibility of visited links from 
3808         the page group to a separate object.
3809
3810         * CMakeLists.txt:
3811         * GNUmakefile.list.am:
3812         * WebCore.vcxproj/WebCore.vcxproj:
3813         * WebCore.vcxproj/WebCore.vcxproj.filters:
3814         * WebCore.xcodeproj/project.pbxproj:
3815         * page/PageGroup.cpp:
3816         (WebCore::PageGroup::PageGroup):
3817         * page/PageGroup.h:
3818         (WebCore::PageGroup::visitedLinkProvider):
3819         * page/VisitedLinkProvider.cpp: Added.
3820         (WebCore::VisitedLinkProvider::VisitedLinkProvider):
3821         (WebCore::VisitedLinkProvider::~VisitedLinkProvider):
3822         * page/VisitedLinkProvider.h: Added.
3823         (WebCore::VisitedLinkProvider::create):
3824
3825 2014-01-28  Gurpreet Kaur  <k.gurpreet@samsung.com>
3826
3827         Add support for menclose element
3828         https://bugs.webkit.org/show_bug.cgi?id=85729
3829
3830         Reviewed by Chris Fleizach.
3831
3832         Added support for menclose element. MathML <menclose> element renders
3833         its content inside an enclosing notation specified by the notation
3834         attribute. The notation attribute can have values longdiv, box, left,
3835         right, top, bottom , radical, madruwb, actuarial, roundedbox, circle,
3836         updiagonalstrike, downdiagonalstrike, verticalstrike and
3837         horizontalstrike.
3838
3839         Tests: mathml/presentation/menclose-add-children.html
3840                mathml/presentation/menclose-notation-attribute-add.html
3841                mathml/presentation/menclose-notation-attribute-change-value.html
3842                mathml/presentation/menclose-notation-attribute-remove.html
3843                mathml/presentation/menclose-notation-attribute-set1.html
3844                mathml/presentation/menclose-notation-attribute-set2.html
3845                mathml/presentation/menclose-notation-no-overlap.html
3846                mathml/presentation/menclose-notation-radical.html
3847                mathml/presentation/menclose-remove-children.html
3848
3849         * CMakeLists.txt:
3850         * GNUmakefile.list.am:
3851         * WebCore.vcxproj/WebCore.vcxproj:
3852         * WebCore.vcxproj/WebCore.vcxproj.filters:
3853         * WebCore.xcodeproj/project.pbxproj:
3854         * css/mathml.css:
3855         (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
3856         (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose):
3857         * mathml/MathMLAllInOne.cpp:
3858         * mathml/MathMLElement.h:
3859         * mathml/MathMLInlineContainerElement.cpp:
3860         * mathml/MathMLMencloseElement.cpp: Added.
3861         (WebCore::MathMLMencloseElement::MathMLMencloseElement):
3862         (WebCore::MathMLMencloseElement::create):
3863         (WebCore::MathMLMencloseElement::createElementRenderer):
3864         (WebCore::MathMLMencloseElement::isPresentationAttribute):
3865         (WebCore::MathMLMencloseElement::finishParsingChildren):
3866         (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
3867         (WebCore::MathMLMencloseElement::longDivLeftPadding):
3868         * mathml/MathMLMencloseElement.h: Added.
3869         (WebCore::toMathMLMencloseElement):
3870         * mathml/mathattrs.in:
3871         * mathml/mathtags.in:
3872         * rendering/mathml/RenderMathMLMenclose.cpp: Added.
3873         (WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
3874         (WebCore::RenderMathMLMenclose::addChild):
3875         (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
3876         (WebCore::RenderMathMLMenclose::updateLogicalHeight):
3877         (WebCore::RenderMathMLMenclose::paint):
3878         (WebCore::RenderMathMLMenclose::checkNotationalValuesValidity):
3879         * rendering/mathml/RenderMathMLMenclose.h: Added.
3880         * rendering/mathml/RenderMathMLRoot.cpp:
3881         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
3882         * rendering/mathml/RenderMathMLRoot.h:
3883         * rendering/mathml/RenderMathMLSquareRoot.cpp:
3884         (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
3885         (WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer):
3886         * rendering/mathml/RenderMathMLSquareRoot.h:
3887         Added new file related to menclose element implementation. Menclose
3888         element is created and while parsing its notation attribute based on
3889         its values like top, left CSSBorder properties are applied and for
3890         values like circle, verticalstrike, longidv its taken care in paint.
3891         For radical value an anonymous RenderMathMLSquareRoot is created as
3892         a child of menclose.
3893
3894 2014-01-28  Krzysztof Czech  <k.czech@samsung.com>
3895
3896         [ATK] accessibility/range-alter-by-percent.html is failing after r162587.
3897         https://bugs.webkit.org/show_bug.cgi?id=127774
3898
3899         Reviewed by Mario Sanchez Prada.
3900
3901         Implicit value of step in range type elements should be one or larger.
3902
3903         No new tests. Covered by exiting one.
3904
3905         * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
3906         (webkitAccessibleValueGetMinimumIncrement):
3907
3908 2014-01-28  Mark Rowe  <mrowe@apple.com>
3909
3910         <https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.
3911
3912         Reviewed by Ryosuke Niwa.
3913
3914         * accessibility/mac/AXObjectCacheMac.mm:
3915         (WebCore::AXObjectCache::postPlatformNotification):
3916         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3917         (-[WebAccessibilityObjectWrapper renderWidgetChildren]):
3918         * platform/audio/mac/AudioDestinationMac.cpp:
3919         (WebCore::AudioDestinationMac::configure):
3920         * platform/audio/mac/AudioFileReaderMac.cpp:
3921         (WebCore::AudioFileReader::createBus):
3922
3923 2014-01-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3924
3925         [SOUP] Remove soupURIToKURL
3926         https://bugs.webkit.org/show_bug.cgi?id=127104
3927
3928         Reviewed by Martin Robinson.
3929
3930         In favor of a URL constructor receiving a SoupURI. Also add a
3931         method to URL to create a soupURI.
3932
3933         * GNUmakefile.list.am: Remove SoupURIUtils and add URLSoup.
3934         * PlatformEfl.cmake: Ditto.
3935         * PlatformGTK.cmake: Ditto.
3936         * platform/URL.h: Add URL constructor receiving a SoupURI and
3937         createSoupURI() to create a new soupURI for the URL.
3938         * platform/network/soup/CookieJarSoup.cpp:
3939         (WebCore::setCookiesFromDOM): Use URL::createSoupURI().
3940         (WebCore::cookiesForSession): Ditto.
3941         (WebCore::getRawCookies): Ditto.
3942         (WebCore::deleteCookie): Ditto.
3943         * platform/network/soup/ResourceHandleSoup.cpp:
3944         (WebCore::doRedirect): Use the new URL constructor instead of
3945         soupURIToKURL.
3946         (WebCore::createSoupRequestAndMessageForHandle): Use URL::createSoupURI().
3947         * platform/network/soup/ResourceRequest.h: Rename soupURI as
3948         createSoupURI to make it clear that the method returns a newly
3949         created SoupURI.
3950         * platform/network/soup/ResourceRequestSoup.cpp:
3951         (WebCore::ResourceRequest::updateSoupMessageMembers): Use URL::createSoupURI().
3952         (WebCore::ResourceRequest::updateSoupMessage): Ditto.
3953         (WebCore::ResourceRequest::updateFromSoupMessage): Use the new URL
3954         constructor instead of soupURIToKURL.
3955         (WebCore::ResourceRequest::createSoupURI): Use URL::createSoupURI().
3956         * platform/network/soup/ResourceResponseSoup.cpp:
3957         (WebCore::ResourceResponse::updateFromSoupMessage): Use the new
3958         URL constructor instead of soupURIToKURL.
3959         * platform/network/soup/SoupURIUtils.cpp: Removed.
3960         * platform/network/soup/SoupURIUtils.h: Removed.
3961         * platform/soup/URLSoup.cpp: Added.
3962         (WebCore::URL::URL):
3963         (WebCore::URL::createSoupURI):
3964
3965 2014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
3966
3967         [GTK] Avoid unnecessary string duplications in FileSystemGtk
3968         https://bugs.webkit.org/show_bug.cgi?id=127469
3969
3970         Reviewed by Martin Robinson.
3971
3972         We are using fileSystemRepresentation() everywhere internally
3973         which returns a CString that always duplicates the string.
3974         Add unescapedFilename() internal helper function that returns a
3975         GUniquePtr and used it everywhere instead of fileSystemRepresentation().
3976
3977         * platform/gtk/FileSystemGtk.cpp:
3978         (WebCore::unescapedFilename):
3979         (WebCore::fileSystemRepresentation):
3980         (WebCore::filenameForDisplay):
3981         (WebCore::fileExists):
3982         (WebCore::deleteFile):
3983         (WebCore::deleteEmptyDirectory):
3984         (WebCore::getFileStat):
3985         (WebCore::getFileSize):
3986         (WebCore::getFileModificationTime):
3987         (WebCore::getFileMetadata):
3988         (WebCore::pathByAppendingComponent):
3989         (WebCore::makeAllDirectories):
3990         (WebCore::pathGetFileName):
3991         (WebCore::directoryName):
3992         (WebCore::listDirectory):
3993         (WebCore::openFile):
3994
3995 2014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
3996
3997         [GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
3998         https://bugs.webkit.org/show_bug.cgi?id=127614
3999
4000         Reviewed by Gustavo Noronha Silva.
4001
4002         Add API to set the page identifier that initiated the request to
4003         ResourceRequest, and remove the initiatingPageID() method from the
4004         NetworkingContext class.
4005
4006         * platform/network/NetworkingContext.h:
4007         * platform/network/ResourceHandle.h:
4008         * platform/network/soup/ResourceHandleSoup.cpp:
4009         (WebCore::createSoupRequestAndMessageForHandle):
4010         * platform/network/soup/ResourceRequest.h:
4011         (WebCore::ResourceRequest::ResourceRequest):
4012         (WebCore::ResourceRequest::initiatingPageID):
4013         (WebCore::ResourceRequest::setInitiatingPageID):
4014         * platform/network/soup/ResourceRequestSoup.cpp:
4015         (WebCore::ResourceRequest::updateSoupRequest):
4016         (WebCore::ResourceRequest::updateFromSoupRequest):
4017
4018 2014-01-27  Tim Horton  <timothy_horton@apple.com>
4019
4020         Lots of varied and random crashes on the scrolling thread (ScrollbarPainters are going away)
4021         https://bugs.webkit.org/show_bug.cgi?id=127734
4022         <rdar://problem/15906263>
4023
4024         Reviewed by Simon Fraser.
4025
4026         * page/scrolling/ScrollingStateScrollingNode.h:
4027         Retain the ScrollbarPainters in the scrolling state tree.
4028
4029 2014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
4030
4031         Unreviewed iOS build fix. FALLTHROUGHs for iOS.
4032
4033         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
4034         (-[WebAccessibilityObjectWrapper accessibilityTraits]):
4035         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
4036
4037 2014-01-27  Roger Fong  <roger_fong@apple.com>
4038
4039         WebGLLoadPolicy::WebGLAsk is an unnecessary value.
4040         https://bugs.webkit.org/show_bug.cgi?id=127755
4041
4042         Reviewed by Anders Carlsson.
4043
4044         * html/HTMLCanvasElement.cpp:
4045         (WebCore::HTMLCanvasElement::getContext):
4046         * loader/FrameLoaderTypes.h:
4047
4048 2014-01-27  Brady Eidson  <beidson@apple.com>
4049
4050         IDB: Cursor support - Messaging, IPC, Threading plumbing
4051         https://bugs.webkit.org/show_bug.cgi?id=127736
4052
4053         Reviewed by Sam Weinig.
4054
4055         * Modules/indexeddb/IDBCursorBackendOperations.h:
4056         (WebCore::CursorIterationOperation::cursorID):
4057         (WebCore::CursorAdvanceOperation::cursorID):
4058
4059         * Modules/indexeddb/IDBTransactionBackendOperations.h:
4060         (WebCore::OpenCursorOperation::transactionID):
4061
4062         * WebCore.exp.in:
4063
4064 2014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
4065
4066         WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
4067         https://bugs.webkit.org/show_bug.cgi?id=127671
4068
4069         Reviewed by Ryosuke Niwa.
4070
4071         * Configurations/Base.xcconfig:
4072         Enable the warning.
4073
4074         * css/StyleResolver.cpp:
4075         (WebCore::StyleResolver::applyProperty):
4076         Caught a bug. CSSPropertyWebkitAlt could fall through to CSSPropertyQuotes.
4077
4078         * css/SVGCSSParser.cpp:
4079         (WebCore::CSSParser::parseSVGValue):
4080         Caught a bug. CSSPropertyWebkitSvgShadow could fall through to CSSPropertyMaskType.
4081
4082         * platform/Decimal.cpp:
4083         (WebCore::Decimal::fromString):