[CSS Shapes] Image valued shape size and position should conform to the spec
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-01-23  Hans Muller  <hmuller@adobe.com>
2
3         [CSS Shapes] Image valued shape size and position should conform to the spec
4         https://bugs.webkit.org/show_bug.cgi?id=123295
5
6         Reviewed by Andreas Kling.
7
8         Implement image valued shape-outside scaling and translation per the spec,
9         http://dev.w3.org/csswg/css-shapes/#shapes-from-image:
10
11         "The image is sized and positioned as if it were a replaced element whose
12         specified width and height are the same as the element’s used content box size."
13
14         This change doesn't completely fulfill the spec, it's limited to image elements
15         and shape-outside.
16
17         Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html
18                fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html
19                fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html
20                fast/shapes/shape-outside-floats/shape-outside-image-fit-004.html
21
22         * rendering/shapes/Shape.h:
23         * rendering/shapes/Shape.cpp:
24         (WebCore::Shape::createRasterShape):
25         Added an imageRect parameter which specifies where the shape image is to
26         appear relative to the content box. The imageRect implies both scaling and
27         translation of the shape image.
28
29         * rendering/shapes/ShapeInfo.cpp:
30         (WebCore::ShapeInfo<RenderType>::computedShape):
31         (WebCore::getShapeImageRect):
32         For replaced elements, compute the shape's imageRect with
33         RenderReplaced::replacedContentRect().
34
35
36 2014-01-23  Max Vujovic  <mvujovic@adobe.com>
37
38         Remove CSS Custom Filters code and tests
39         https://bugs.webkit.org/show_bug.cgi?id=127382
40
41         Reviewed by Simon Fraser.
42
43         No new tests. Removing functionality.
44
45         * CMakeLists.txt:
46         * Configurations/FeatureDefines.xcconfig:
47         * DerivedSources.cpp:
48         * DerivedSources.make:
49         * GNUmakefile.list.am:
50         * WebCore.order:
51         * WebCore.vcxproj/WebCore.vcxproj:
52         * WebCore.vcxproj/WebCore.vcxproj.filters:
53         * WebCore.xcodeproj/project.pbxproj:
54         * bindings/js/JSCSSRuleCustom.cpp:
55         (WebCore::toJS):
56         * bindings/js/JSCSSValueCustom.cpp:
57         (WebCore::toJS):
58         * bindings/objc/DOMCSS.mm:
59         (kitClass):
60         * css/CSSComputedStyleDeclaration.cpp:
61         (WebCore::ComputedStyleExtractor::valueForFilter):
62         (WebCore::ComputedStyleExtractor::propertyValue):
63         * css/CSSComputedStyleDeclaration.h:
64         * css/CSSGrammar.y.in:
65         * css/CSSParser.cpp:
66         (WebCore::CSSParserContext::CSSParserContext):
67         (WebCore::operator==):
68         (WebCore::CSSParser::CSSParser):
69         (WebCore::CSSParser::parseValue):
70         (WebCore::filterInfoForName):
71         (WebCore::CSSParser::parseFilter):
72         (WebCore::CSSParser::detectAtToken):
73         * css/CSSParser.h:
74         * css/CSSParserMode.h:
75         * css/CSSPropertyNames.in:
76         * css/CSSPropertySourceData.h:
77         * css/CSSRule.h:
78         * css/CSSRule.idl:
79         * css/CSSValue.cpp:
80         (WebCore::CSSValue::equals):
81         (WebCore::CSSValue::cssText):
82         (WebCore::CSSValue::destroy):
83         (WebCore::CSSValue::cloneForCSSOM):
84         * css/CSSValue.h:
85         * css/CSSValueKeywords.in:
86         * css/StyleResolver.cpp:
87         (WebCore::StyleResolver::State::clear):
88         (WebCore::StyleResolver::applyProperty):
89         (WebCore::filterOperationForType):
90         (WebCore::StyleResolver::createFilterOperations):
91         (WebCore::StyleResolver::loadPendingResources):
92         * css/StyleResolver.h:
93         (WebCore::StyleResolver::State::State):
94         * css/StyleRule.cpp:
95         (WebCore::StyleRuleBase::destroy):
96         (WebCore::StyleRuleBase::copy):
97         (WebCore::StyleRuleBase::createCSSOMWrapper):
98         * css/StyleRule.h:
99         * css/StyleSheetContents.cpp:
100         (WebCore::childRulesHaveFailedOrCanceledSubresources):
101         * css/WebKitCSSArrayFunctionValue.cpp: Removed.
102         * css/WebKitCSSArrayFunctionValue.h: Removed.
103         * css/WebKitCSSFilterRule.cpp: Removed.
104         * css/WebKitCSSFilterRule.h: Removed.
105         * css/WebKitCSSFilterRule.idl: Removed.
106         * css/WebKitCSSFilterValue.cpp:
107         (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
108         (WebCore::WebKitCSSFilterValue::customCSSText):
109         * css/WebKitCSSFilterValue.h:
110         * css/WebKitCSSFilterValue.idl:
111         * css/WebKitCSSMatFunctionValue.cpp: Removed.
112         * css/WebKitCSSMatFunctionValue.h: Removed.
113         * css/WebKitCSSMixFunctionValue.cpp: Removed.
114         * css/WebKitCSSMixFunctionValue.h: Removed.
115         * css/WebKitCSSMixFunctionValue.idl: Removed.
116         * css/WebKitCSSShaderValue.cpp: Removed.
117         * css/WebKitCSSShaderValue.h: Removed.
118         * loader/cache/CachedResource.cpp:
119         (WebCore::defaultPriorityForResourceType):
120         * loader/cache/CachedResource.h:
121         * loader/cache/CachedResourceLoader.cpp:
122         (WebCore::createResource):
123         (WebCore::CachedResourceLoader::checkInsecureContent):
124         (WebCore::CachedResourceLoader::canRequest):
125         * loader/cache/CachedResourceLoader.h:
126         * loader/cache/CachedShader.cpp: Removed.
127         * loader/cache/CachedShader.h: Removed.
128         * page/Settings.cpp:
129         (WebCore::Settings::Settings):
130         * page/Settings.h:
131         * page/animation/CSSPropertyAnimation.cpp:
132         (WebCore::blendFilter):
133         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
134         (PlatformCALayerMac::filtersCanBeComposited):
135         * platform/graphics/filters/CustomFilterArrayParameter.h: Removed.
136         * platform/graphics/filters/CustomFilterColorParameter.h: Removed.
137         * platform/graphics/filters/CustomFilterCompiledProgram.cpp: Removed.
138         * platform/graphics/filters/CustomFilterCompiledProgram.h: Removed.
139         * platform/graphics/filters/CustomFilterConstants.h: Removed.
140         * platform/graphics/filters/CustomFilterGlobalContext.cpp: Removed.
141         * platform/graphics/filters/CustomFilterGlobalContext.h: Removed.
142         * platform/graphics/filters/CustomFilterMesh.cpp: Removed.
143         * platform/graphics/filters/CustomFilterMesh.h: Removed.
144         * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
145         * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
146         * platform/graphics/filters/CustomFilterNumberParameter.h: Removed.
147         * platform/graphics/filters/CustomFilterOperation.cpp: Removed.
148         * platform/graphics/filters/CustomFilterOperation.h: Removed.
149         * platform/graphics/filters/CustomFilterParameter.h: Removed.
150         * platform/graphics/filters/CustomFilterParameterList.cpp: Removed.
151         * platform/graphics/filters/CustomFilterParameterList.h: Removed.
152         * platform/graphics/filters/CustomFilterProgram.cpp: Removed.
153         * platform/graphics/filters/CustomFilterProgram.h: Removed.
154         * platform/graphics/filters/CustomFilterProgramClient.h: Removed.
155         * platform/graphics/filters/CustomFilterProgramInfo.cpp: Removed.
156         * platform/graphics/filters/CustomFilterProgramInfo.h: Removed.
157         * platform/graphics/filters/CustomFilterRenderer.cpp: Removed.
158         * platform/graphics/filters/CustomFilterRenderer.h: Removed.
159         * platform/graphics/filters/CustomFilterTransformParameter.h: Removed.
160         * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Removed.
161         * platform/graphics/filters/CustomFilterValidatedProgram.h: Removed.
162         * platform/graphics/filters/FECustomFilter.cpp: Removed.
163         * platform/graphics/filters/FECustomFilter.h: Removed.
164         * platform/graphics/filters/FilterOperation.h:
165         * platform/graphics/filters/FilterOperations.cpp:
166         (WebCore::FilterOperations::outsets):
167         * platform/graphics/filters/FilterOperations.h:
168         * platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Removed.
169         * platform/graphics/filters/ValidatedCustomFilterOperation.h: Removed.
170         * platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Removed.
171         * platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Removed.
172         * platform/graphics/gpu/Texture.cpp:
173         * platform/graphics/texmap/TextureMapper.h:
174         * platform/graphics/texmap/TextureMapperGL.cpp:
175         (WebCore::getPassesRequiredForFilter):
176         (WebCore::BitmapTextureGL::applyFilters):
177         * platform/graphics/texmap/TextureMapperGL.h:
178         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
179         (WebCore::CompositingCoordinator::clearPendingStateChanges):
180         (WebCore::CompositingCoordinator::syncLayerState):
181         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
182         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Removed.
183         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Removed.
184         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
185         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
186         (WebCore::CoordinatedGraphicsScene::commitSceneState):
187         (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
188         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
189         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
190         * rendering/FilterEffectRenderer.cpp:
191         (WebCore::FilterEffectRenderer::FilterEffectRenderer):
192         (WebCore::FilterEffectRenderer::build):
193         (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
194         * rendering/FilterEffectRenderer.h:
195         * rendering/RenderLayer.cpp:
196         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
197         (WebCore::RenderLayer::calculateClipRects):
198         * rendering/RenderLayer.h:
199         * rendering/RenderLayerBacking.cpp:
200         (WebCore::RenderLayerBacking::updateFilters):
201         * rendering/RenderLayerFilterInfo.cpp:
202         (WebCore::RenderLayer::FilterInfo::~FilterInfo):
203         * rendering/RenderLayerFilterInfo.h:
204         * rendering/RenderView.cpp:
205         * rendering/RenderView.h:
206         * rendering/style/StyleCachedShader.cpp: Removed.
207         * rendering/style/StyleCachedShader.h: Removed.
208         * rendering/style/StyleCustomFilterProgram.cpp: Removed.
209         * rendering/style/StyleCustomFilterProgram.h: Removed.
210         * rendering/style/StyleCustomFilterProgramCache.cpp: Removed.
211         * rendering/style/StyleCustomFilterProgramCache.h: Removed.
212         * rendering/style/StylePendingShader.h: Removed.
213         * rendering/style/StyleShader.h: Removed.
214
215 2014-01-22  Jon Honeycutt  <jhoneycutt@apple.com>
216
217         REGRESSION(r161967): Crash in WebCore::CachedSVGDocumentReference::load
218         <https://webkit.org/b/127151>
219         <rdar://problem/15840760>
220
221         There were two issues introduced here; the first is a use-after-free of
222         CachedSVGDocumentReference objects.
223
224         The previous code kept a map from FilterOperation ->
225         RefPtr<WebKitCSSSVGDocumentValue>, which retained the
226         CachedSVGDocument. In r161967, this was changed to use a weak HashSet,
227         which allows stale CachedSVGDocumentReferences in the pending document
228         set if the owning FilterOperation is deleted. To fix this, we'll keep a
229         vector of RefPtr<FilterOperation> with pending SVG documents.
230
231         The second issue is a null deref in CachedSVGDocumentReference::load();
232         CachedResourceLoader::requestSVGDocument() can return 0 if (for
233         example) an invalid URL is passed. r161967 removed a null check as part
234         of the refactoring.
235
236         Reviewed by Dirk Schulze.
237
238         Tests: css3/filters/crash-filter-animation-invalid-url.html
239                css3/filters/crash-invalid-url.html
240
241         * css/StyleResolver.cpp:
242         (WebCore::StyleResolver::State::clear):
243         Use new member var name.
244         (WebCore::StyleResolver::loadPendingSVGDocuments):
245         For each FilterOperation with a pending SVG document, get or create a
246         CachedSVGDocumentReference, and tell it to load. Changed to use new
247         function names.
248         (WebCore::StyleResolver::createFilterOperations):
249         Append the FilterOperation to the list of FilterOperations with
250         unloaded SVG documents.
251
252         * css/StyleResolver.h:
253         Changed from using PendingSVGDocumentSet, a weak set, to
254         a Vector<RefPtr<ReferenceFilterOperation>>.
255         (WebCore::StyleResolver::State::filtersWithPendingSVGDocuments):
256         Return the vector.
257
258         * loader/cache/CachedSVGDocumentReference.cpp:
259         (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
260         Null check m_document rather than checking m_loadRequested.
261         m_loadRequested may be true when m_document is 0.
262         (WebCore::CachedSVGDocumentReference::load):
263         Null check the result of CachedResourceLoader::requestSVGDocument().
264
265         * platform/graphics/filters/FilterOperation.cpp:
266         (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
267         Create, if necessary, and return the CachedSVGDocumentReference.
268
269         * platform/graphics/filters/FilterOperation.h:
270         Replaced createCachedSVGDocumentReference() with
271         getOrCreateCachedSVGDocumentReference(), which makes for slightly
272         cleaner code.
273
274 2014-01-23  Antti Koivisto  <antti@apple.com>
275
276         Don't enable speculative tiles immediately after main load stops progressing
277         https://bugs.webkit.org/show_bug.cgi?id=127507
278
279         Reviewed by Andreas Kling.
280
281         It is common for timers and events to trigger more loading after the initial main frame loading
282         has completed. We should delay a bit before enabling speculative tiles and keep them disabled 
283         if loading still continues.
284
285         * page/FrameView.cpp:
286         (WebCore::FrameView::FrameView):
287         (WebCore::FrameView::adjustTiledBackingCoverage):
288         (WebCore::shouldEnableSpeculativeTilingDuringLoading):
289         (WebCore::FrameView::enableSpeculativeTilingIfNeeded):
290         
291             When load progression stops wait 0.5s before enabling speculative tiles.
292
293         (WebCore::FrameView::speculativeTilingEnableTimerFired):
294         
295             Don't enable speculative tiles if the progression has started again. Instead restart the timer.
296
297         * page/FrameView.h:
298         * rendering/RenderLayerBacking.cpp:
299         (WebCore::RenderLayerBacking::RenderLayerBacking):
300         (WebCore::computeTileCoverage):
301         
302             Move the FrameView level code to FrameView (so we don't need to add a timer to every RenderLayerBacking).
303
304         * rendering/RenderLayerBacking.h:
305
306 2014-01-23  Antti Koivisto  <antti@apple.com>
307
308         Loads started soon after main frame completion should be considered part of the main load
309         https://bugs.webkit.org/show_bug.cgi?id=127504
310
311         Reviewed by Andreas Kling.
312
313         ProgressTracker currently decides that main load is complete when the main frame stops loading. 
314         However it is common that timers and onload events trigger more loads immediately (for example 
315         by inserting iframes) and loading continues visually. These should be considered as part of the
316         main load for paint throttling and speculative tiling coverage purposes.
317
318         * loader/ProgressTracker.cpp:
319         (WebCore::ProgressTracker::ProgressTracker):
320         (WebCore::ProgressTracker::progressStarted):
321         
322             Track whether this is considered part of the main load or not with a boolean. 
323             It is set for subframe loads too if they start loading soon (within 1s) after the main frame load completes.
324
325         (WebCore::ProgressTracker::finalProgressComplete):
326         
327             Get a timestamp.
328
329         (WebCore::ProgressTracker::isMainLoadProgressing):
330
331             New definition of "main load".
332
333         * loader/ProgressTracker.h:
334
335 2014-01-23  peavo@outlook.com  <peavo@outlook.com>
336
337         [WinCairo] Compile error.
338         https://bugs.webkit.org/show_bug.cgi?id=127499
339
340         Reviewed by Brent Fulgham.
341
342         * platform/network/curl/ResourceError.h: Include <winsock2.h> before <curl/curl.h>.
343
344 2014-01-23  Brady Eidson  <beidson@apple.com>
345
346         IDB: Implement cross-thread and IPC plumbing for 'get' support
347         https://bugs.webkit.org/show_bug.cgi?id=127501
348
349         Reviewed by Anders Carlsson.
350
351         Add isolatedCopy to the IDBGetResult object:
352         * Modules/indexeddb/IDBGetResult.h:
353         (WebCore::IDBGetResult::isolatedCopy):
354
355         Add a cross-thread and cross-IPC appropriate object for IDBKeyRanges:
356         * Modules/indexeddb/IDBKeyRangeData.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
357         (WebCore::IDBKeyRangeData::isolatedCopy):
358         * Modules/indexeddb/IDBKeyRangeData.h: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
359         (WebCore::IDBKeyRangeData::IDBKeyRangeData):
360
361         Add a few more cross-thread copiers:
362         * platform/CrossThreadCopier.cpp:
363         (WebCore::IDBGetResult>::copy):
364         (WebCore::IDBKeyRangeData>::copy):
365         * platform/CrossThreadCopier.h:
366
367         Project file gunk:
368         * CMakeLists.txt:
369         * GNUmakefile.list.am:
370         * WebCore.exp.in:
371         * WebCore.xcodeproj/project.pbxproj:
372
373 2014-01-23  Jer Noble  <jer.noble@apple.com>
374
375         [MSE][Mac] Adopt new AVStreamDataParser delegate API
376         https://bugs.webkit.org/show_bug.cgi?id=127498
377
378         Reviewed by Eric Carlson.
379
380         Adopt a new delegate API which passes in whether or not the new AVAsset
381         is discontinuous, implying the AVAsset is entirely new rather than
382         just updated with new information.
383
384         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
385         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]):
386
387 2014-01-23  Tim Horton  <timothy_horton@apple.com>
388
389         PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
390         https://bugs.webkit.org/show_bug.cgi?id=127415
391         <rdar://problem/12482452>
392
393         Reviewed by Sam Weinig.
394
395         * English.lproj/Localizable.strings:
396         * WebCore.exp.in:
397         * platform/LocalizedStrings.cpp:
398         (WebCore::useBlockedPlugInContextMenuTitle):
399         * platform/LocalizedStrings.h:
400         Add a localizable string for the generic case, where the client
401         didn't provide a more specific string for the context menu item.
402
403 2014-01-23  peavo@outlook.com  <peavo@outlook.com>
404
405         [Curl] There is no way to specify cache folder.
406         https://bugs.webkit.org/show_bug.cgi?id=125028
407
408         Reviewed by Brent Fulgham.
409
410         Fixed logical test, disc cache should be disabled if creating cache folder fails.
411
412         * platform/network/curl/CurlCacheManager.cpp:
413         (WebCore::CurlCacheManager::setCacheDirectory):
414
415 2014-01-23  Brady Eidson  <beidson@apple.com>
416
417         Unreviewed build fix.
418
419         * WebCore.xcodeproj/project.pbxproj: Export the new header so WebKit can see it
420
421 2014-01-22  Brent Fulgham  <bfulgham@apple.com>
422
423         [Win] Update project and solution files for 64-bit builds
424         https://bugs.webkit.org/show_bug.cgi?id=127457
425
426         Reviewed by Eric Carlson.
427
428         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Update for VS2013
429         * WebCore.vcxproj/WebCore.submit.sln: Add x64 targets
430         * WebCore.vcxproj/WebCore.vcxproj: Update for VS2013. Also exclude 32-bit specific
431         assembly when building 64-bit target.
432         * WebCore.vcxproj/WebCore.vcxproj.filters: Update for VS2013
433         * config.h: Handle 64-bit type definitions.
434         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
435         (PlatformCAAnimation::setFromValue): Use CGFloat to support 64-bit builds
436         (PlatformCAAnimation::setToValue): Ditto
437         (PlatformCAAnimation::setValues): Ditto
438         * platform/graphics/win/FontCustomPlatformData.cpp:
439         (WebCore::FontCustomPlatformData::fontPlatformData): Add cast to
440         support 32- and 64-bit targets.
441         * platform/graphics/win/GraphicsContextCGWin.cpp:
442         (WebCore::GraphicsContext::drawLineForDocumentMarker): Use CGFloat to
443         support 64-bit builds.
444         * platform/win/PasteboardWin.cpp:
445         (WebCore::Pasteboard::writeURLToDataObject): Specialize std::min to
446         work on 32- and 64-bit code.
447         (WebCore::createGlobalImageFileDescriptor): Ditto
448         * platform/win/StructuredExceptionHandlerSuppressor.cpp:
449         (WebCore::StructuredExceptionHandlerSuppressor::StructuredExceptionHandlerSuppressor):
450         Comment out 32-bit inline assembly.
451         (WebCore::StructuredExceptionHandlerSuppressor::~StructuredExceptionHandlerSuppressor):
452         Ditto
453
454 2014-01-23  Brady Eidson  <beidson@apple.com>
455
456         Make IDBGetResult work with IDBKeyData instead of IDBKey.
457         https://bugs.webkit.org/show_bug.cgi?id=127493
458
459         Reviewed by Eric Carlson.
460
461         Also break it into its own header to work better with IPC messages.
462
463         * Modules/indexeddb/IDBGetResult.h: Added.
464         (WebCore::IDBGetResult::IDBGetResult):
465
466         * Modules/indexeddb/IDBServerConnection.h:
467
468         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
469         (WebCore::GetOperation::perform):
470
471         * WebCore.xcodeproj/project.pbxproj:
472
473 2014-01-23  Mátyás Mustoha  <mmatyas@inf.u-szeged.hu>
474
475         [curl] Add storage limit to cache manager
476         https://bugs.webkit.org/show_bug.cgi?id=125779
477
478         Reviewed by Brent Fulgham.
479
480         Sets a local disc storage size limit for the cache manager
481         used by the curl network backend.
482
483         * platform/network/curl/CurlCacheEntry.cpp:
484         (WebCore::CurlCacheEntry::CurlCacheEntry):
485         (WebCore::CurlCacheEntry::isCached):
486         (WebCore::CurlCacheEntry::saveCachedData):
487         (WebCore::CurlCacheEntry::readCachedData):
488         (WebCore::CurlCacheEntry::didFail):
489         (WebCore::CurlCacheEntry::didFinishLoading):
490         (WebCore::CurlCacheEntry::loadFileToBuffer):
491         (WebCore::CurlCacheEntry::parseResponseHeaders):
492         (WebCore::CurlCacheEntry::entrySize):
493         * platform/network/curl/CurlCacheEntry.h:
494         (WebCore::CurlCacheEntry::requestHeaders):
495         * platform/network/curl/CurlCacheManager.cpp:
496         (WebCore::CurlCacheManager::CurlCacheManager):
497         (WebCore::CurlCacheManager::setStorageSizeLimit):
498         (WebCore::CurlCacheManager::loadIndex):
499         (WebCore::CurlCacheManager::saveIndex):
500         (WebCore::CurlCacheManager::makeRoomForNewEntry):
501         (WebCore::CurlCacheManager::didReceiveResponse):
502         (WebCore::CurlCacheManager::didReceiveData):
503         (WebCore::CurlCacheManager::invalidateCacheEntry):
504         (WebCore::CurlCacheManager::readCachedData):
505         * platform/network/curl/CurlCacheManager.h:
506         (WebCore::CurlCacheManager::cacheDirectory):
507
508 2014-01-23  Carlos Garcia Campos  <cgarcia@igalia.com>
509
510         Unreviewed. Fix automake warning.
511
512         * GNUmakefile.list.am: Remove trailing whitespaces.
513
514 2014-01-23  Mihai Maerean  <mmaerean@adobe.com>
515
516         [CSS Regions] Fix positioning composited layers when the region has overflow:hidden
517         https://bugs.webkit.org/show_bug.cgi?id=124042
518
519         Reviewed by Mihnea Ovidenie.
520
521         If there's a clipping GraphicsLayer on the hierarchy, substract its offset, since it's its
522         parent that positions us.
523
524         Tests: compositing/regions/position-layer-inside-region-overflow-hidden.html
525                compositing/regions/position-layer-inside-overflow-hidden.html
526                compositing/regions/position-layers-inside-region-overflow-hidden.html
527                compositing/regions/position-layers-inside-regions-overflow-hidden.html
528
529         * rendering/RenderLayerBacking.cpp:
530         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): The position
531         must also be correct when the region has box-shadow that inflates the region's layer. The
532         composited layers from the flow thread should be rendered in the same position whether the
533         associated region has clipping or not.
534         Using the position of the clipping layer instead of the location of the clipbox makes it
535         also work with box-shadow that inflates the region's graphics layer.
536
537 2014-01-23  Andrei Bucur  <abucur@adobe.com>
538
539         [CSS Regions] Convert regions iterator loops to range-based loops
540         https://bugs.webkit.org/show_bug.cgi?id=127464
541
542         Reviewed by Antti Koivisto.
543
544         Replace most of the iterator loops in the region implementation with
545         range based for loops. The for loops that iterate only over subsets
546         of collections have not been changed.
547
548         Tests: no new tests, this is a refactoring patch.
549
550         * dom/WebKitNamedFlow.cpp:
551         (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
552         (WebCore::WebKitNamedFlow::getRegionsByContent):
553         (WebCore::WebKitNamedFlow::getRegions):
554         (WebCore::WebKitNamedFlow::getContent):
555         * inspector/InspectorOverlay.cpp:
556         (WebCore::buildObjectForCSSRegionsHighlight):
557         * rendering/RenderFlowThread.cpp:
558         (WebCore::RenderFlowThread::validateRegions):
559         (WebCore::RenderFlowThread::updateLogicalWidth):
560         (WebCore::RenderFlowThread::computeLogicalHeight):
561         (WebCore::RenderFlowThread::repaintRectangleInRegions):
562         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
563         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
564         (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
565         (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
566         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
567         (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
568         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
569         (WebCore::RenderFlowThread::collectLayerFragments):
570         (WebCore::RenderFlowThread::fragmentsBoundingBox):
571         * rendering/RenderNamedFlowFragment.cpp:
572         (WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
573         (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
574         * rendering/RenderNamedFlowThread.cpp:
575         (WebCore::RenderNamedFlowThread::clearContentElements):
576         (WebCore::RenderNamedFlowThread::nextRendererForNode):
577         (WebCore::RenderNamedFlowThread::dependsOn):
578         (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
579         (WebCore::RenderNamedFlowThread::checkInvalidRegions):
580         (WebCore::RenderNamedFlowThread::pushDependencies):
581         (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
582         (WebCore::isContainedInElements):
583         (WebCore::RenderNamedFlowThread::getRanges):
584         (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
585         (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
586         * rendering/RenderTreeAsText.cpp:
587         (WebCore::writeRenderRegionList):
588
589 2014-01-23  László Langó  <llango.u-szeged@partner.samsung.com>
590
591         Range should be constructable.
592         https://bugs.webkit.org/show_bug.cgi?id=115639
593
594         Reviewed by Ryosuke Niwa.
595
596         http://www.w3.org/TR/2013/WD-dom-20131107/#interface-range
597         Now we can do `new Range()` instead of `document.createRange()`.
598
599         Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/47ca40efdf58a4787aa33aa75a35778899b1c002%5E%21
600
601         Test: fast/dom/Range/range-constructor.html
602
603         * dom/Range.cpp:
604         (WebCore::Range::create):
605         * dom/Range.h:
606         * dom/Range.idl:
607
608 2014-01-23  ChangSeok Oh  <changseok.oh@collabora.com>
609
610         Unreviewed build fix for gles after r162565. Add missing definitions.
611
612         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
613         (WebCore::GraphicsContext3D::drawArraysInstanced):
614         (WebCore::GraphicsContext3D::drawElementsInstanced):
615         (WebCore::GraphicsContext3D::vertexAttribDivisor):
616
617 2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
618
619         [GLIB] Use GUniquePtr instead of GOwnPtr
620         https://bugs.webkit.org/show_bug.cgi?id=127431
621
622         Reviewed by Martin Robinson.
623
624         GUniquePtr is a template alias of std::unique_ptr with a custom
625         deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
626         where the output pointer is needed, but it will also be replaced soon.
627
628         * GNUmakefile.list.am:
629         * PlatformGTK.cmake:
630         * accessibility/atk/AXObjectCacheAtk.cpp:
631         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
632         (getAttributeSetForAccessibilityObject):
633         (accessibilityObjectLength):
634         (textExtents):
635         (webkitAccessibleTextGetChar):
636         (numberOfReplacedElementsBeforeOffset):
637         * page/ContextMenuController.cpp:
638         * platform/SharedBuffer.h:
639         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
640         (webKitWebAudioSrcConstructed):
641         (webKitWebAudioSrcLoop):
642         * platform/audio/gtk/AudioBusGtk.cpp:
643         (WebCore::AudioBus::loadPlatformResource):
644         * platform/geoclue/GeolocationProviderGeoclue.cpp:
645         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
646         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
647         (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
648         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
649         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
650         (webKitMediaSrcAddSrc):
651         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
652         (webKitWebSrcStart):
653         (ResourceHandleStreamingClient::wasBlocked):
654         (ResourceHandleStreamingClient::cannotShowURL):
655         * platform/graphics/gtk/ImageBufferGtk.cpp:
656         (WebCore::encodeImage):
657         (WebCore::ImageBuffer::toDataURL):
658         * platform/graphics/gtk/ImageGtk.cpp:
659         (WebCore::getThemeIconFileName):
660         (WebCore::Image::loadPlatformResource):
661         * platform/gtk/ContextMenuGtk.cpp:
662         (WebCore::ContextMenu::itemCount):
663         (WebCore::contextMenuItemVector):
664         * platform/gtk/ContextMenuItemGtk.cpp:
665         (WebCore::createPlatformMenuItemDescription):
666         * platform/gtk/DataObjectGtk.cpp:
667         (WebCore::DataObjectGtk::setURIList):
668         (WebCore::DataObjectGtk::setURL):
669         * platform/gtk/FileSystemGtk.cpp:
670         (WebCore::filenameToString):
671         (WebCore::fileSystemRepresentation):
672         (WebCore::filenameForDisplay):
673         (WebCore::pathGetFileName):
674         (WebCore::applicationDirectoryPath):
675         (WebCore::sharedResourcesPath):
676         (WebCore::directoryName):
677         (WebCore::listDirectory):
678         (WebCore::openTemporaryFile):
679         * platform/gtk/GOwnPtrGtk.cpp: Removed.
680         * platform/gtk/GOwnPtrGtk.h: Removed.
681         * platform/gtk/GUniquePtrGtk.h: Added.
682         * platform/gtk/GamepadsGtk.cpp:
683         (WebCore::GamepadsGtk::GamepadsGtk):
684         * platform/gtk/GtkClickCounter.cpp:
685         (WebCore::GtkClickCounter::shouldProcessButtonEvent):
686         * platform/gtk/GtkInputMethodFilter.cpp:
687         (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
688         * platform/gtk/GtkPopupMenu.cpp:
689         (WebCore::GtkPopupMenu::popUp):
690         (WebCore::GtkPopupMenu::typeAheadFind):
691         * platform/gtk/LanguageGtk.cpp:
692         (WebCore::platformLanguage):
693         * platform/gtk/LocalizedStringsGtk.cpp:
694         (WebCore::imageTitle):
695         (WebCore::localizedMediaTimeDescription):
696         * platform/gtk/PasteboardHelper.cpp:
697         (WebCore::selectionDataToUTF8String):
698         (WebCore::PasteboardHelper::getClipboardContents):
699         (WebCore::PasteboardHelper::fillSelectionData):
700         * platform/gtk/PopupMenuGtk.cpp:
701         (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
702         (WebCore::PopupMenuGtk::show):
703         * platform/gtk/WebKitAuthenticationWidget.cpp:
704         (webkitAuthenticationWidgetInitialize):
705         * platform/network/ResourceHandleInternal.h:
706         * platform/network/gtk/CredentialBackingStore.cpp:
707         (WebCore::credentialForChallengeAsyncReadyCallback):
708         * platform/network/soup/CookieJarSoup.cpp:
709         (WebCore::setCookiesFromDOM):
710         (WebCore::cookiesForSession):
711         (WebCore::getRawCookies):
712         (WebCore::deleteCookie):
713         (WebCore::getHostnamesWithCookies):
714         (WebCore::deleteCookiesForHostname):
715         (WebCore::deleteAllCookies):
716         * platform/network/soup/DNSSoup.cpp:
717         * platform/network/soup/GUniquePtrSoup.h: Added.
718         * platform/network/soup/ResourceErrorSoup.cpp:
719         (WebCore::failingURI):
720         * platform/network/soup/ResourceHandleSoup.cpp:
721         (WebCore::ResourceHandle::ensureReadBuffer):
722         (WebCore::cleanupSoupRequestOperation):
723         (WebCore::createSoupRequestAndMessageForHandle):
724         * platform/network/soup/ResourceRequestSoup.cpp:
725         (WebCore::ResourceRequest::updateSoupMessageMembers):
726         (WebCore::ResourceRequest::updateSoupMessage):
727         * platform/network/soup/ResourceResponseSoup.cpp:
728         * platform/network/soup/SoupURIUtils.cpp:
729         (WebCore::soupURIToKURL):
730         * platform/soup/SharedBufferSoup.cpp:
731         (WebCore::SharedBuffer::SharedBuffer):
732         (WebCore::SharedBuffer::clearPlatformData):
733         (WebCore::SharedBuffer::maybeTransferPlatformData):
734         (WebCore::SharedBuffer::hasPlatformData):
735         * plugins/gtk/PluginPackageGtk.cpp:
736         (WebCore::PluginPackage::fetchInfo):
737         (WebCore::PluginPackage::load):
738
739 2014-01-22  Simon Fraser  <simon.fraser@apple.com>
740
741         Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
742         https://bugs.webkit.org/show_bug.cgi?id=127461
743
744         Reviewed by Andreas Kling.
745
746         The "fixedVisibleContentRect" code path is only used by platforms
747         which enabled TILED_BACKING_STORE, so to reduce confusion, surround
748         this code with #if USE(TILED_BACKING_STORE).
749
750         * page/Frame.cpp:
751         (WebCore::Frame::createView):
752         * page/FrameView.cpp:
753         * page/FrameView.h:
754         * platform/ScrollView.cpp:
755         (WebCore::ScrollView::unscaledVisibleContentSize):
756         (WebCore::ScrollView::visibleContentRect):
757         * platform/ScrollView.h:
758         (WebCore::ScrollView::visibleSize):
759
760 2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
761
762         ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
763         https://bugs.webkit.org/show_bug.cgi?id=126987
764
765         Reviewed by Simon Fraser.
766
767         When "inherit" is specified and there is no parent, Length values have an "Auto" type
768
769         Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html
770
771         * rendering/style/RenderStyle.cpp:
772         (WebCore::RenderStyle::setWordSpacing):
773
774 2014-01-22  Samuel White  <samuel_white@apple.com>
775
776         AX: Can't always increment web sliders.
777         https://bugs.webkit.org/show_bug.cgi?id=127451
778
779         Reviewed by Chris Fleizach.
780
781         Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).
782
783         Test: accessibility/range-alter-by-percent.html
784
785         * accessibility/AccessibilityNodeObject.cpp:
786         (WebCore::AccessibilityNodeObject::changeValueByPercent):
787
788 2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
789
790         Remove CSS3_TEXT_DECORATION define
791         https://bugs.webkit.org/show_bug.cgi?id=127333
792
793         Reviewed by Simon Fraser.
794
795         This is required for unprefixing the text-decoration-* CSS properties.
796
797         No new tests are necessary becase the flag was already on by default.
798
799         * Configurations/FeatureDefines.xcconfig:
800         * css/CSSComputedStyleDeclaration.cpp:
801         (WebCore::renderTextDecorationSkipFlagsToCSSValue):
802         (WebCore::ComputedStyleExtractor::propertyValue):
803         * css/CSSParser.cpp:
804         (WebCore::isColorPropertyID):
805         (WebCore::CSSParser::parseValue):
806         (WebCore::CSSParser::addTextDecorationProperty):
807         (WebCore::CSSParser::parseTextUnderlinePosition):
808         * css/CSSParser.h:
809         * css/CSSPrimitiveValueMappings.h:
810         (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
811         * css/CSSPropertyNames.in:
812         * css/CSSValueKeywords.in:
813         * css/DeprecatedStyleBuilder.cpp:
814         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
815         * css/StylePropertyShorthand.cpp:
816         (WebCore::webkitTextDecorationShorthand):
817         (WebCore::shorthandForProperty):
818         (WebCore::matchingShorthandsForLonghand):
819         * css/StylePropertyShorthand.h:
820         * css/StyleResolver.cpp:
821         (WebCore::shouldApplyPropertyInParseOrder):
822         (WebCore::isValidVisitedLinkProperty):
823         (WebCore::StyleResolver::applyProperty):
824         * platform/graphics/GraphicsContext.h:
825         * platform/graphics/cairo/GraphicsContextCairo.cpp:
826         (WebCore::GraphicsContext::setPlatformStrokeStyle):
827         * platform/graphics/cg/GraphicsContextCG.cpp:
828         (WebCore::GraphicsContext::platformInit):
829         * platform/graphics/wince/GraphicsContextWinCE.cpp:
830         (WebCore::createPen):
831         * rendering/InlineFlowBox.cpp:
832         (WebCore::InlineFlowBox::computeMaxLogicalTop):
833         * rendering/InlineFlowBox.h:
834         * rendering/InlineTextBox.cpp:
835         (WebCore::textDecorationStyleToStrokeStyle):
836         (WebCore::boundingBoxForAllActiveDecorations):
837         (WebCore::InlineTextBox::paintDecoration):
838         * rendering/RenderObject.cpp:
839         (WebCore::decorationColor):
840         * rendering/RootInlineBox.cpp:
841         (WebCore::RootInlineBox::maxLogicalTop):
842         * rendering/RootInlineBox.h:
843         * rendering/style/RenderStyle.cpp:
844         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
845         (WebCore::RenderStyle::colorIncludingFallback):
846         (WebCore::RenderStyle::visitedDependentColor):
847         * rendering/style/RenderStyle.h:
848         * rendering/style/RenderStyleConstants.h:
849         * rendering/style/StyleRareInheritedData.cpp:
850         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
851         (WebCore::StyleRareInheritedData::operator==):
852         * rendering/style/StyleRareInheritedData.h:
853         * rendering/style/StyleRareNonInheritedData.cpp:
854         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
855         (WebCore::StyleRareNonInheritedData::operator==):
856         * rendering/style/StyleRareNonInheritedData.h:
857
858 2014-01-22  Chris Fleizach  <cfleizach@apple.com>
859
860         AX: Do not return an accessible name for an object just because it has tabindex=0
861         https://bugs.webkit.org/show_bug.cgi?id=126914
862
863         Reviewed by Mario Sanchez Prada.
864
865         WebKit has code to return an accessible name for any object that is "generically" focusable (ie. tabindex=0).
866         This behavior, which is not supported in ARIA, has caused many problems for VoiceOver. Often VoiceOver will
867         speak all the text underneath any type of group.
868
869         I think we need to revert this behavior and follow the ARIA spec more closely.
870
871         Test: accessibility/aria-describedby-ensures-visibility.html
872
873         * accessibility/AccessibilityNodeObject.cpp:
874         (WebCore::AccessibilityNodeObject::visibleText):
875         (WebCore::AccessibilityNodeObject::title):
876
877 2014-01-22  Brady Eidson  <beidson@apple.com>
878
879         The IDB backing store get() method shouldn't call IDB callbacks directly
880         https://bugs.webkit.org/show_bug.cgi?id=127453
881
882         Reviewed by Beth Dakin.
883
884         * Modules/indexeddb/IDBServerConnection.h:
885         (WebCore::IDBGetResult::IDBGetResult): Add a new structure to hold all of the
886           possible results of a get() call.
887
888         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
889         (WebCore::IDBServerConnectionLevelDB::get): Don't call IDBCallbacks directly.
890           Instead, return the GetResult to the GetOperation which will make IDBCallbacks.
891         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
892
893         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
894         (WebCore::GetOperation::perform): Get all of the IDBGetResults in the completion callback
895           make the appropriate IDBCallback.
896         * Modules/indexeddb/IDBTransactionBackendOperations.h:
897
898 2014-01-22  Dean Jackson  <dino@apple.com>
899
900         Unreviewed attempt to fix 32-bit builds.
901
902         Use long long rather than GC3Dintptr.
903
904         * html/canvas/ANGLEInstancedArrays.cpp:
905         (WebCore::ANGLEInstancedArrays::drawElementsInstancedANGLE):
906         * html/canvas/ANGLEInstancedArrays.h:
907         * html/canvas/WebGLRenderingContext.cpp:
908         (WebCore::WebGLRenderingContext::drawElementsInstanced):
909         * html/canvas/WebGLRenderingContext.h:
910
911 2014-01-21  Brady Eidson  <beidson@apple.com>
912
913         IDB: "Put" support
914         <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
915
916         Reviewed by Alexey Proskuryakov.
917
918         Add persistent encode/decode for storage to the database:
919         * Modules/indexeddb/IDBKey.cpp:
920         (WebCore::IDBKey::encode):
921         (WebCore::IDBKey::decode):
922         * Modules/indexeddb/IDBKey.h:
923
924         Add a data class to represent IDBKey suitable for crossing IPC:
925         * Modules/indexeddb/IDBKeyData.cpp: Added.
926         (WebCore::IDBKeyData::IDBKeyData):
927         (WebCore::IDBKeyData::maybeCreateIDBKey):
928         (WebCore::IDBKeyData::isolatedCopy):
929         * Modules/indexeddb/IDBKeyData.h: Added.
930         (WebCore::IDBKeyData::IDBKeyData):
931
932         * platform/CrossThreadCopier.cpp:
933         (WebCore::IDBKeyData>::copy):
934         * platform/CrossThreadCopier.h:
935
936         * WebCore.exp.in:
937         * WebCore.xcodeproj/project.pbxproj:
938
939 2014-01-22  Dean Jackson  <dino@apple.com>
940
941         [WebGL] Implement ANGLE_instanced_arrays
942         https://bugs.webkit.org/show_bug.cgi?id=127257
943
944         Reviewed by Brent Fulgham.
945
946         Implement the instanced drawing WebGL extension,
947         ANGLE_instanced_arrays. This is currently Mac-only,
948         but should be portable to other platforms if their
949         OpenGL exposes the functions. It's also done in a way
950         that will make exposing it to WebGL2 simple.
951
952         Test: fast/canvas/webgl/angle-instanced-arrays.html
953
954         * CMakeLists.txt:
955         * DerivedSources.cpp:
956         * DerivedSources.make:
957         * GNUmakefile.list.am:
958         * WebCore.vcxproj/WebCore.vcxproj:
959         * WebCore.vcxproj/WebCore.vcxproj.filters:
960         * WebCore.xcodeproj/project.pbxproj:
961         Add the new files to all the build systems.
962
963         * bindings/js/JSWebGLRenderingContextCustom.cpp:
964         (WebCore::toJS): Link JS side to C++ side.
965
966         * html/canvas/ANGLEInstancedArrays.cpp: Added.
967         (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
968         * html/canvas/ANGLEInstancedArrays.h: Added.
969         * html/canvas/ANGLEInstancedArrays.idl: Added.
970         New boilerplate files that expose the extension methods.
971
972         * html/canvas/WebGLExtension.h: New extension enum.
973
974         * html/canvas/WebGLRenderingContext.cpp:
975         (WebCore::WebGLRenderingContext::validateVertexAttributes): Add an optional
976         parameter representing the number of instance primitives we are asked
977         to draw. Use that for the draw count if looking at an instanced attribute.
978         Also make sure we see at least one non-instanced attribute.
979         (WebCore::WebGLRenderingContext::validateDrawArrays): Update this so it could
980         be used from either drawArrays or drawArraysInstanced.
981         (WebCore::WebGLRenderingContext::drawArrays):
982         (WebCore::WebGLRenderingContext::validateDrawElements): Same here, now can be
983         used by the instanced and non-instanced versions.
984         (WebCore::WebGLRenderingContext::drawElements):
985         (WebCore::WebGLRenderingContext::getExtension): Create and return the new extension.
986         (WebCore::WebGLRenderingContext::getSupportedExtensions): Add new extension to the list.
987         (WebCore::WebGLRenderingContext::getVertexAttrib): Intercept a query to the divisor
988         attribute and return the value we kept in the state.
989         (WebCore::WebGLRenderingContext::drawArraysInstanced): Call the GC3D method.
990         (WebCore::WebGLRenderingContext::drawElementsInstanced): Ditto.
991         (WebCore::WebGLRenderingContext::vertexAttribDivisor): Ditto.
992
993         * html/canvas/WebGLRenderingContext.h: Define the new methods and parameters.
994
995         * html/canvas/WebGLVertexArrayObjectOES.cpp:
996         (WebCore::WebGLVertexArrayObjectOES::setVertexAttribDivisor): Keep a record of the
997         divisor if we set it.
998         * html/canvas/WebGLVertexArrayObjectOES.h:
999         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
1000
1001         * platform/graphics/GraphicsContext3D.h: New enum.
1002         * platform/graphics/mac/GraphicsContext3DMac.mm:
1003         (WebCore::GraphicsContext3D::drawArraysInstanced): The actual calls into OpenGL.
1004         (WebCore::GraphicsContext3D::drawElementsInstanced): Ditto.
1005         (WebCore::GraphicsContext3D::vertexAttribDivisor): Ditto.
1006
1007         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Empty implementations
1008         for non-mac platforms.
1009
1010         * platform/graphics/ios/GraphicsContext3DIOS.h: Define the iOS names for the
1011         functions.
1012
1013 2014-01-22  Zalan Bujtas  <zalan@apple.com>
1014
1015         [CSS Shapes] shape-inside rectangle layout can fail
1016         https://bugs.webkit.org/show_bug.cgi?id=124784
1017
1018         Reviewed by Darin Adler.
1019
1020         Early subpixel rounding/flooring/ceiling can have unwanted
1021         side effect on the final pixel value. Delay pixel
1022         conversions as much as possible.
1023
1024         Existing test is changed to reflect subpixel functionality.
1025
1026         * rendering/shapes/RectangleShape.cpp:
1027         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
1028
1029 2014-01-22  Jochen Eisinger  <jochen@chromium.org>
1030
1031         Add protocolIsInHTTPFamily for strings and use it where appropriate
1032         https://bugs.webkit.org/show_bug.cgi?id=127336
1033
1034         Reviewed by Alexey Proskuryakov.
1035
1036         * html/HTMLAnchorElement.cpp:
1037         (WebCore::HTMLAnchorElement::parseAttribute):
1038         * page/ContentSecurityPolicy.cpp:
1039         (WebCore::CSPSource::schemeMatches):
1040         * page/SecurityPolicy.cpp:
1041         (WebCore::SecurityPolicy::generateReferrerHeader):
1042         * platform/URL.cpp:
1043         (WebCore::protocolIsInHTTPFamily):
1044         * platform/URL.h:
1045
1046 2014-01-22  Zalan Bujtas  <zalan@apple.com>
1047
1048         Subpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox layout.
1049         https://bugs.webkit.org/show_bug.cgi?id=127404
1050
1051         Reviewed by Antti Koivisto.
1052
1053         In order to produce a CSS pixel perfect layout, SimpleLineLayout needs to
1054         round line positions to CSS (integral) position similarly to InlineFlowBox.
1055
1056         Existing tests cover it.
1057
1058         * rendering/SimpleLineLayoutResolver.h:
1059         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
1060         (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
1061
1062 2014-01-22  Joseph Pecoraro  <pecoraro@apple.com>
1063
1064         Unreviewed rollout of r162534, this caused inspector test failures.
1065
1066         * bindings/js/PageScriptDebugServer.cpp:
1067         (WebCore::PageScriptDebugServer::addListener):
1068         (WebCore::PageScriptDebugServer::removeListener):
1069         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1070         (WebCore::PageScriptDebugServer::didRemoveLastListener):
1071         * bindings/js/PageScriptDebugServer.h:
1072         * bindings/js/ScriptDebugServer.cpp:
1073         (WebCore::ScriptDebugServer::ScriptDebugServer):
1074         (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
1075         (WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):
1076         * bindings/js/ScriptDebugServer.h:
1077         * bindings/js/WorkerScriptDebugServer.cpp:
1078         (WebCore::WorkerScriptDebugServer::addListener):
1079         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1080         (WebCore::WorkerScriptDebugServer::removeListener):
1081         * inspector/InspectorProfilerAgent.cpp:
1082
1083 2014-01-22  peavo@outlook.com  <peavo@outlook.com>
1084
1085         Crashes in setTextForIterator
1086         https://bugs.webkit.org/show_bug.cgi?id=127424
1087
1088         Reviewed by Brent Fulgham.
1089
1090         * platform/text/icu/UTextProviderLatin1.cpp:
1091         (WebCore::uTextLatin1Clone): Provide correct buffer size in utext_setup function call.
1092         (WebCore::uTextLatin1Access): Give correct buffer size to memset call.
1093         (WebCore::openLatin1UTextProvider): Ditto.
1094
1095 2014-01-22  Jer Noble  <jer.noble@apple.com>
1096
1097         [Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
1098         https://bugs.webkit.org/show_bug.cgi?id=127430
1099
1100         Reviewed by Eric Carlson.
1101
1102         When other registered media engines cannot load a URL, the engine selection
1103         will eventually pick MediaPlayerPrivateMediaSourceAVFObjC and ask it to load
1104         the URL. Instead of ASSERTing here, simply reject the URL by setting the
1105         network state to FormatError.
1106
1107         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1108         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
1109
1110 2014-01-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1111
1112         [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
1113         https://bugs.webkit.org/show_bug.cgi?id=127119
1114
1115         Reviewed by Mario Sanchez Prada.
1116
1117         At build time, the compiler was not able to determine which Timer's constructor to call in AXObjectCache when
1118         ACCESSIBILITY is not enabled, fixing that.
1119         Also guarding some members in AccessibilityObject that are only being used by EFL and GTK with ACCESSIBILITY.
1120
1121         * accessibility/AXObjectCache.h:
1122         (WebCore::AXObjectCache::AXObjectCache):
1123         * accessibility/AccessibilityObject.h:
1124
1125 2014-01-22  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1126
1127         Refactor calculation of hasRx and hasRy values in SVGPathData
1128         https://bugs.webkit.org/show_bug.cgi?id=127423
1129
1130         Reviewed by Darin Adler.
1131
1132         This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337
1133
1134         * rendering/svg/SVGPathData.cpp:
1135         (WebCore::updatePathFromRectElement):
1136
1137 2014-01-21  Joseph Pecoraro  <pecoraro@apple.com>
1138
1139         Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
1140         https://bugs.webkit.org/show_bug.cgi?id=127409
1141
1142         Reviewed by Timothy Hatcher.
1143
1144         * bindings/js/ScriptDebugServer.h:
1145         * bindings/js/ScriptDebugServer.cpp:
1146         (WebCore::ScriptDebugServer::ScriptDebugServer):
1147         Remove m_recompileTimer and the recompile soon function.
1148         We can just recompile immediately in all existing cases.
1149
1150         * bindings/js/PageScriptDebugServer.h:
1151         * bindings/js/PageScriptDebugServer.cpp:
1152         (WebCore::PageScriptDebugServer::addListener):
1153         (WebCore::PageScriptDebugServer::removeListener):
1154         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1155         (WebCore::PageScriptDebugServer::didAddFirstListener):
1156         (WebCore::PageScriptDebugServer::didRemoveLastListener):
1157         Add a "didAddFirstListener" to match "didRemoveLastListener".
1158         Only recompile functions when we attach the debugger and when
1159         we detach the last listener.
1160
1161         * bindings/js/WorkerScriptDebugServer.cpp:
1162         (WebCore::WorkerScriptDebugServer::addListener):
1163         (WebCore::WorkerScriptDebugServer::removeListener):
1164         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1165         Same thing. Also rearrange the functions to read better.
1166
1167         * inspector/InspectorProfilerAgent.cpp:
1168         Use the direct recompile function instead of the removed "soon" version.
1169
1170 2014-01-22  Robert Sipka  <sipka@inf.u-szeged.hu>
1171
1172         [curl] Improve detecting and handling of SSL client certificate
1173         https://bugs.webkit.org/show_bug.cgi?id=125006
1174
1175         Reviewed by Brent Fulgham.
1176
1177         Add client certificate handling.
1178
1179         * platform/network/ResourceHandle.h:
1180         * platform/network/curl/ResourceError.h:
1181         (WebCore::ResourceError::hasSSLConnectError):
1182         * platform/network/curl/ResourceHandleCurl.cpp:
1183         (WebCore::ResourceHandle::setClientCertificateInfo):
1184         * platform/network/curl/ResourceHandleManager.cpp:
1185         (WebCore::ResourceHandleManager::initializeHandle):
1186         * platform/network/curl/SSLHandle.cpp:
1187         (WebCore::addAllowedClientCertificate):
1188         (WebCore::setSSLClientCertificate):
1189         * platform/network/curl/SSLHandle.h:
1190
1191 2014-01-22  Mihai Maerean  <mmaerean@adobe.com>
1192
1193         [CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
1194         https://bugs.webkit.org/show_bug.cgi?id=127343
1195
1196         Reviewed by Sam Weinig.
1197
1198         RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
1199         contexts which create layers.
1200
1201         No new tests, no functional change.
1202
1203         * rendering/RenderFlowThread.cpp:
1204         (WebCore::RenderFlowThread::hasCompositingRegionDescendant):
1205         * rendering/RenderLayer.cpp:
1206         (WebCore::RenderLayer::calculateClipRects):
1207         * rendering/RenderLayerBacking.cpp:
1208         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
1209         * rendering/RenderLayerCompositor.cpp:
1210         (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
1211         * rendering/RenderNamedFlowFragment.h:
1212
1213 2014-01-22  Antti Koivisto  <antti@apple.com>
1214
1215         Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
1216         https://bugs.webkit.org/show_bug.cgi?id=127426
1217
1218         Reviewed by Anders Carlsson.
1219         
1220         * rendering/RenderLayerCompositor.cpp:
1221         (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
1222         (WebCore::RenderLayerCompositor::frameViewDidScroll):
1223
1224             Factor scroll layer position update to a function.
1225
1226         (WebCore::RenderLayerCompositor::ensureRootLayer):
1227         
1228             Stop calling frameViewDidChangeSize/frameViewDidScroll. Instead call the relevent functions
1229             directly. This avoid unthrottled layer flush that is done when the view actually scrolls.
1230
1231         * rendering/RenderLayerCompositor.h:
1232
1233 2014-01-22  Mihai Tica  <mitica@adobe.com>
1234
1235         [CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
1236         https://bugs.webkit.org/show_bug.cgi?id=127350
1237
1238         Reviewed by Dirk Schulze.
1239
1240         The graphics context of the SVG inherits the blend mode set
1241         on the background layer. Fix consists in drawing the SVG
1242         in a transparency layer.
1243
1244         Test: css3/compositing/background-blend-mode-svg.html
1245
1246         * svg/graphics/SVGImage.cpp:
1247         (WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.
1248
1249 2014-01-22  Antti Koivisto  <antti@apple.com>
1250
1251         Update overlay scrollbars in single pass
1252         https://bugs.webkit.org/show_bug.cgi?id=127289
1253
1254         Reviewed by Anders Carlsson.
1255
1256         * platform/ScrollView.cpp:
1257         (WebCore::ScrollView::updateScrollbars):
1258         
1259             Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
1260
1261 2014-01-22  Mihnea Ovidenie  <mihnea@adobe.com>
1262
1263         [CSSRegions] Incorrect layout of a region pseudo children
1264         https://bugs.webkit.org/show_bug.cgi?id=126146
1265
1266         Reviewed by David Hyatt.
1267
1268         Test: fast/regions/collapse-anonymous-region.html
1269
1270         A region behaviour, styled using -webkit-flow-from, is modeled using an anonymous
1271         block created to fragment the named flow content inside the region. We have to prevent
1272         the behaviour of anonymous children collapsing for this block to make sure that the
1273         region element children are still laid out properly when the region element becomes an ordinary
1274         element.
1275
1276         * rendering/RenderBlockFlow.h:
1277
1278 2014-01-21  Ryuan Choi  <ryuan.choi@samsung.com>
1279
1280         Remove unused "acceleratedCompositingForScrollableFramesEnabled" setting
1281         https://bugs.webkit.org/show_bug.cgi?id=127402
1282
1283         Reviewed by Anders Carlsson.
1284
1285         compositing/iframes/iframe-composited-scrolling.html is updated because
1286         there are no usages in WebCore.
1287
1288         * page/Settings.in:
1289
1290 2014-01-21  Alex Christensen  <achristensen@webkit.org>
1291
1292         Compile fix for using libsoup on Windows.
1293         https://bugs.webkit.org/show_bug.cgi?id=127377
1294
1295         Reviewed by Daniel Bates.
1296
1297         * platform/network/soup/ProxyResolverSoup.cpp:
1298         (soupProxyResolverWkSetProperty):
1299         (soupProxyResolverWkGetProperty):
1300         (soupProxyResolverWkGetProxyURISync):
1301         Replaced uint with unsigned.
1302
1303 2014-01-21  Daniel Bates  <dabates@apple.com>
1304
1305         Break up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()
1306
1307         Following up after <http://trac.webkit.org/changeset/162473>, we should break up
1308         the assertion into two assertions as suggested by Darin Adler. Separating the single
1309         assertion into two assertions makes it straightforward to determine the conjunct that
1310         failed among other benefits.
1311
1312         * html/HTMLMediaElement.cpp:
1313         (WebCore::HTMLMediaElement::parseAttribute):
1314
1315 2014-01-21  Brady Eidson  <beidson@apple.com>
1316
1317         The IDB backing store put() method shouldn't call IDB callbacks directly
1318         https://bugs.webkit.org/show_bug.cgi?id=127399
1319
1320         Reviewed by Beth Dakin.
1321
1322         Refactor the put() callback to take a resulting key or an error.
1323         * Modules/indexeddb/IDBServerConnection.h:
1324
1325         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1326         (WebCore::PutOperation::perform): Call to the backing store, then perform the
1327           appropriate IDB callback whether a key or an error was returned.
1328         * Modules/indexeddb/IDBTransactionBackendOperations.h:
1329
1330         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
1331         (WebCore::IDBServerConnectionLevelDB::put): Don’t call IDB callbacks directly.
1332           Instead, pass the resulting key/error back to the PutOperation.
1333         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
1334
1335 2014-01-21  Jae Hyun Park  <jae.park@company100.net>
1336
1337         Use nullptr in HTMLCanvasElement
1338         https://bugs.webkit.org/show_bug.cgi?id=127388
1339
1340         Reviewed by Gyuyoung Kim.
1341
1342         * html/HTMLCanvasElement.cpp:
1343         (WebCore::HTMLCanvasElement::getContext):
1344         (WebCore::HTMLCanvasElement::drawingContext):
1345         (WebCore::HTMLCanvasElement::existingDrawingContext):
1346
1347 2014-01-21  László Langó  <llango.u-szeged@partner.samsung.com>
1348
1349         Assertion failure in Range::nodeWillBeRemoved
1350         https://bugs.webkit.org/show_bug.cgi?id=121694
1351
1352         Reviewed by Ryosuke Niwa.
1353
1354         Based on Blink a change: https://chromium.googlesource.com/chromium/blink/+/407c1d7b2c45974aa614b3f847ffe9e8fce205fa
1355
1356         This patch fix an assertion failure. Range::nodeWillBeRemoved() might
1357         be called with removed node in ContainerNode, when DOMNodeRemovedFromDocument
1358         event handler calls removeChild(), for node being removed.
1359
1360         Test: fast/dom/Range/remove-twice-crash.html
1361
1362         * dom/ContainerNode.cpp:
1363         (WebCore::ContainerNode::willRemoveChild):
1364         * dom/ContainerNode.h:
1365
1366 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1367
1368         REGRESSION (r161580): Some PDFs render outside their <img>
1369         https://bugs.webkit.org/show_bug.cgi?id=127381
1370         <rdar://problem/15872168>
1371
1372         Reviewed by Simon Fraser.
1373
1374         * platform/graphics/cg/PDFDocumentImage.cpp:
1375         (WebCore::transformContextForPainting):
1376         Only try to make the scale uniform if it isn't already, and use the minimum
1377         of the two original scales when doing so, so that it is absolutely certain
1378         to fit inside space allocated for the image during layout.
1379
1380 2014-01-21  Simon Fraser  <simon.fraser@apple.com>
1381
1382         Remove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect() code
1383         https://bugs.webkit.org/show_bug.cgi?id=127373
1384
1385         Reviewed by Beth Dakin.
1386
1387         Instead of PLATFORM(IOS) #idefs at every call site for viewportConstrainedVisibleContentRect(),
1388         move the #ifdef inside viewportConstrainedVisibleContentRect().
1389         
1390         The one call site that needs special handling is RenderLayerBacking::updateCompositedBounds(),
1391         which needs to avoid clipping fixed layers to the custom fixed position rect, but instead to
1392         visibleContentRect() (which is really the document bounds on iOS). This ensures that the
1393         fixed layers aren't clipped when zooming out.
1394
1395         * page/FrameView.cpp:
1396         (WebCore::FrameView::viewportConstrainedVisibleContentRect):
1397         * rendering/RenderBoxModelObject.cpp:
1398         (WebCore::RenderBoxModelObject::stickyPositionOffset):
1399         * rendering/RenderLayerBacking.cpp:
1400         (WebCore::RenderLayerBacking::updateCompositedBounds):
1401         * rendering/RenderLayerCompositor.cpp:
1402         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
1403         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
1404         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
1405
1406 2014-01-21  Andy Estes  <aestes@apple.com>
1407
1408         [iOS] Allow all clients to link against WebCore
1409         https://bugs.webkit.org/show_bug.cgi?id=127372
1410         
1411         Reviewed by Dan Bernstein.
1412
1413         * Configurations/WebCore.xcconfig:
1414
1415 2014-01-21  Bear Travis  <betravis@adobe.com>
1416
1417         [CSS Shapes] Preserve box-shape order when serializing shape values
1418         https://bugs.webkit.org/show_bug.cgi?id=127200
1419
1420         Reviewed by Dirk Schulze.
1421
1422         Convert the parsed shape-box pair to a CSSValueList rather than directly
1423         adding the box value to BasicShape. The CSSValueList preserves the
1424         shape-box ordering, and cleans up a little bit of the code shared between
1425         clip and shape values.
1426
1427         Modifying existing parsing tests.
1428
1429         * css/CSSComputedStyleDeclaration.cpp:
1430         (WebCore::shapePropertyValue): Factor out code common to generating shape
1431         values.
1432         (WebCore::ComputedStyleExtractor::propertyValue): Generate a CSSValueList when
1433         you have both a shape and a box.
1434         * css/CSSParser.cpp:
1435         (WebCore::CSSParser::parseBasicShapeAndOrBox): Factor out code common to clip
1436         paths and shape properties that parses the [basic-shape || box] syntax from
1437         the CSS Shapes spec.
1438         (WebCore::CSSParser::parseShapeProperty): Parse shape-box pairs as a CSSValueList.
1439         * css/DeprecatedStyleBuilder.cpp:
1440         (WebCore::ApplyPropertyShape::applyValue): Use the CSSValueList for shape-box pairs.
1441         * css/CSSValueList.h:
1442         (WebCore::CSSValueList::itemWithoutBoundsCheck): Add a const version.
1443         * page/animation/CSSPropertyAnimation.cpp:
1444         (WebCore::blendFunc): Specify a box when blending.
1445         * rendering/style/ShapeValue.h:
1446         (WebCore::ShapeValue::createShapeValue): Add a box parameter.
1447         (WebCore::ShapeValue::ShapeValue): Ditto.
1448
1449 2014-01-21  Daniel Bates  <dabates@apple.com>
1450
1451         Fix the iOS Simulator release build
1452
1453         Substitute ASSERT_UNUSED() for ASSERT() to resolve a compiler warning
1454         that the argument platformLayer is unused. The argument platformLayer
1455         is only used in the asserted condition, which isn't compiled in a
1456         release build; => the argument is unused in a release build.
1457
1458         * html/HTMLMediaElement.cpp:
1459         (WebCore::HTMLMediaElement::parseAttribute):
1460
1461 2014-01-21  Zoltan Horvath  <zoltan@webkit.org>
1462
1463         Since MidpointState is a class, it should behave like a class
1464         https://bugs.webkit.org/show_bug.cgi?id=127154
1465
1466         Reviewed by David Hyatt.
1467
1468         I modified MidpointState to behave like a class, updated the call sites also.
1469
1470         No new tests, no behavior change.
1471
1472         * platform/text/BidiResolver.h:
1473         (WebCore::MidpointState::reset):
1474         (WebCore::MidpointState::startIgnoringSpaces):
1475         (WebCore::MidpointState::stopIgnoringSpaces):
1476         (WebCore::MidpointState::midpoints):
1477         (WebCore::MidpointState::numMidpoints):
1478         (WebCore::MidpointState::currentMidpoint):
1479         (WebCore::MidpointState::incrementCurrentMidpoint):
1480         (WebCore::MidpointState::decreaseNumMidpoints):
1481         (WebCore::MidpointState::betweenMidpoints):
1482         (WebCore::MidpointState::setBetweenMidpoints):
1483         (WebCore::MidpointState::addMidpoint): Renamed from deprecatedAddMidpoint, since now
1484         its private, we no longer need to discourage callers from using it.
1485         * rendering/InlineIterator.h:
1486         (WebCore::IsolateTracker::addFakeRunIfNecessary):
1487         * rendering/RenderBlockLineLayout.cpp:
1488         (WebCore::RenderBlockFlow::appendRunsForObject):
1489         (WebCore::constructBidiRunsForLine):
1490         * rendering/line/BreakingContextInlineHeaders.h:
1491         (WebCore::checkMidpoints):
1492         * rendering/line/TrailingObjects.cpp:
1493         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
1494
1495 2014-01-21  Commit Queue  <commit-queue@webkit.org>
1496
1497         Unreviewed, rolling out r162452.
1498         http://trac.webkit.org/changeset/162452
1499         https://bugs.webkit.org/show_bug.cgi?id=127366
1500
1501         broke a few tests on all Mac WebKit1 bots (Requested by
1502         thorton on #webkit).
1503
1504         * WebCore.exp.in:
1505         * page/FocusController.cpp:
1506         (WebCore::FocusController::FocusController):
1507         (WebCore::FocusController::setFocused):
1508         (WebCore::FocusController::setActive):
1509         (WebCore::FocusController::setContentIsVisible):
1510         * page/FocusController.h:
1511         (WebCore::FocusController::isActive):
1512         (WebCore::FocusController::isFocused):
1513         * page/Page.cpp:
1514         (WebCore::Page::Page):
1515         (WebCore::Page::setIsInWindow):
1516         (WebCore::Page::setIsVisuallyIdle):
1517         (WebCore::Page::setIsVisible):
1518         (WebCore::Page::visibilityState):
1519         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
1520         * page/Page.h:
1521         (WebCore::Page::isVisible):
1522         (WebCore::Page::isInWindow):
1523
1524 2014-01-21  Chris Fleizach  <cfleizach@apple.com>
1525
1526         AX: Mac: Expose the visible text of a password field to AX
1527         https://bugs.webkit.org/show_bug.cgi?id=127353
1528
1529         Reviewed by Brent Fulgham.
1530
1531         The Mac platform should now expose the rendered value of password fields through AX.
1532
1533         Test: accessibility/password-field-value.html
1534
1535         * accessibility/AccessibilityRenderObject.cpp:
1536         (WebCore::AccessibilityRenderObject::textLength):
1537         (WebCore::AccessibilityRenderObject::passwordFieldValue):
1538
1539 2014-01-21  Robert Sipka  <sipka@inf.u-szeged.hu>
1540
1541         Support SSL error handling in case of synchronous job.
1542         https://bugs.webkit.org/show_bug.cgi?id=125301
1543
1544         Reviewed by Brent Fulgham.
1545
1546         Set ssl error informations for the users.
1547
1548         * platform/network/curl/ResourceHandleManager.cpp:
1549         (WebCore::ResourceHandleManager::dispatchSynchronousJob):
1550
1551 2014-01-21  Simon Fraser  <simon.fraser@apple.com>
1552
1553         Export systemTotalMemory() and systemMemoryLevel() for MobileSafari
1554         https://bugs.webkit.org/show_bug.cgi?id=127360
1555
1556         Reviewed by Andy Estes.
1557         
1558         MobileSafari inappropriately calls these WebCore functions directly,
1559         so export them.
1560
1561         * WebCore.exp.in:
1562
1563 2014-01-21  Simon Fraser  <simon.fraser@apple.com>
1564
1565         Clean up PLATFORM(IOS) code related to the custom fixed position layout rect
1566         https://bugs.webkit.org/show_bug.cgi?id=127362
1567
1568         Reviewed by Dave Hyatt.
1569
1570         Various platforms customize the rect used to layout position:fixed elements,
1571         and each modified RenderBox::availableLogicalHeight/WidthUsing() in different
1572         ways.
1573         
1574         Clean this up by adding RenderView::clientLogicalWidth/HeightForFixedPosition(),
1575         and moving the platform hacks into it.
1576
1577         * rendering/RenderBox.cpp:
1578         (WebCore::RenderBox::availableLogicalHeightUsing):
1579         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
1580         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
1581         * rendering/RenderView.cpp:
1582         (WebCore::RenderView::clientLogicalWidthForFixedPosition):
1583         (WebCore::RenderView::clientLogicalHeightForFixedPosition):
1584         * rendering/RenderView.h:
1585
1586 2014-01-21  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
1587
1588         ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
1589         <https://webkit.org/b/108184>
1590
1591         Reviewed by Philip Rogers.
1592
1593         In the case a SMILElement timing had a syncbase dependency on an indefinite value
1594         the assert were raised. The assert has been removed and a check has been added
1595         instead that prevents the addition of indefinite times to the time list.
1596
1597         Test: svg/animations/smil-syncbase-self-dependency.svg
1598
1599         * svg/animation/SVGSMILElement.cpp:
1600         (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
1601           ASSERT removed.
1602
1603 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1604
1605         Address late review naming comments after r162453.
1606
1607         * WebCore.xcodeproj/project.pbxproj:
1608         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1609         * platform/graphics/mac/CALayerWebAdditions.h: Removed.
1610         * platform/graphics/mac/CALayerWebAdditions.mm: Removed.
1611         * platform/graphics/mac/WebCoreCALayerExtras.h: Added.
1612         * platform/graphics/mac/WebCoreCALayerExtras.mm: Added.
1613         (-[CALayer web_disableAllActions]):
1614
1615 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1616
1617         Keep CALayer implicit animation disabling code in a single place
1618         https://bugs.webkit.org/show_bug.cgi?id=127355
1619
1620         Reviewed by Simon Fraser.
1621
1622         * WebCore.xcodeproj/project.pbxproj:
1623         Add CALayerWebAdditions.{h,mm}.
1624
1625         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1626         (PlatformCALayerMac::commonInit):
1627         Remove nullActionsDictionary() and use [CALayer(WebAdditions) web_disableAllActions] instead.
1628
1629         * platform/graphics/mac/CALayerWebAdditions.h: Added.
1630         * platform/graphics/mac/CALayerWebAdditions.mm: Added.
1631         (-[CALayer web_disableAllActions]):
1632         Added. Disable all implicit actions on the layer.
1633
1634 2014-01-21  Gavin Barraclough  <barraclough@apple.com>
1635
1636         Change Page, FocusController to use ViewState
1637         https://bugs.webkit.org/show_bug.cgi?id=126533
1638
1639         Reviewed by Tim Horton.
1640
1641         These classes currently maintain a set of separate fields to represent the view state;
1642         combine these into a single field, and allow WebPage to send the combined update rather
1643         than individual changes.
1644
1645         Maintain existing interface for WebKit1 clients.
1646
1647         * WebCore.exp.in:
1648             - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
1649         * page/FocusController.cpp:
1650         (WebCore::FocusController::FocusController):
1651             - Initialize combined m_viewState.
1652         (WebCore::FocusController::setFocused):
1653             - Calls setViewState.
1654         (WebCore::FocusController::setFocusedInternal):
1655             - setFocused -> setFocusedInternal.
1656         (WebCore::FocusController::setViewState):
1657             - Added, update all ViewState flags.
1658         (WebCore::FocusController::setActive):
1659             - Calls setViewState.
1660         (WebCore::FocusController::setActiveInternal):
1661             - setActive -> setActiveInternal.
1662         (WebCore::FocusController::setContentIsVisible):
1663             - Calls setViewState.
1664         (WebCore::FocusController::setContentIsVisibleInternal):
1665             - setContentIsVisible -> setContentIsVisibleInternal.
1666         * page/FocusController.h:
1667         (WebCore::FocusController::isActive):
1668         (WebCore::FocusController::isFocused):
1669         (WebCore::FocusController::contentIsVisible):
1670             - Implemented in terms of ViewState.
1671         * page/Page.cpp:
1672         (WebCore::Page::Page):
1673             - Initialize using PageInitialViewState.
1674         (WebCore::Page::setIsInWindow):
1675             - Calls setViewState.
1676         (WebCore::Page::setIsInWindowInternal):
1677             - setIsInWindow -> setIsInWindowInternal.
1678         (WebCore::Page::setIsVisuallyIdleInternal):
1679             - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
1680         (WebCore::Page::setViewState):
1681             - Added, update all ViewState flags, including FocusController.
1682         (WebCore::Page::setIsVisible):
1683             - Calls setViewState.
1684         (WebCore::Page::setIsVisibleInternal):
1685             - setIsVisible -> setIsVisibleInternal.
1686         (WebCore::Page::visibilityState):
1687             - m_isVisible -> isVisible()
1688         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
1689             - m_isVisible -> isVisible()
1690         * page/Page.h:
1691         (WebCore::Page::isVisible):
1692         (WebCore::Page::isInWindow):
1693             - Implemented in terms of ViewState.
1694         (WebCore::Page::scriptedAnimationsSuspended):
1695             - Combined member fields into ViewState::Flags.
1696
1697 2014-01-21  Lauro Neto  <lauro.neto@openbossa.org>
1698
1699         Remove PLATFORM(NIX) from WebCore
1700         https://bugs.webkit.org/show_bug.cgi?id=127299
1701
1702         Reviewed by Anders Carlsson.
1703
1704         * editing/Editor.cpp:
1705         (WebCore::Editor::cut):
1706         (WebCore::Editor::copy):
1707         (WebCore::Editor::copyImage):
1708         * editing/Editor.h:
1709         * html/HTMLCanvasElement.h:
1710         * loader/EmptyClients.h:
1711         * loader/FrameLoader.cpp:
1712         (WebCore::FrameLoader::defaultObjectContentType):
1713         * page/ChromeClient.h:
1714         * page/DragController.cpp:
1715         (WebCore::DragController::startDrag):
1716         * platform/Cursor.h:
1717         * platform/DragData.h:
1718         * platform/DragImage.h:
1719         * platform/FileSystem.h:
1720         * platform/LocalizedStrings.h:
1721         * platform/Widget.h:
1722         * platform/audio/FFTFrame.h:
1723         * platform/audio/HRTFElevation.cpp:
1724         * platform/cairo/WidgetBackingStore.h:
1725         * platform/graphics/ANGLEWebKitBridge.h:
1726         * platform/graphics/FontPlatformData.h:
1727         * platform/graphics/GLContext.cpp:
1728         (WebCore::GLContext::createContextForWindow):
1729         * platform/graphics/GLContext.h:
1730         * platform/graphics/GraphicsContext3D.h:
1731         * platform/graphics/GraphicsContext3DPrivate.cpp:
1732         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
1733         * platform/graphics/OpenGLESShims.h:
1734         * platform/graphics/OpenGLShims.cpp:
1735         (WebCore::getProcAddress):
1736         * platform/graphics/OpenGLShims.h:
1737         * platform/graphics/PlatformLayer.h:
1738         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1739         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1740         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
1741         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
1742         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
1743         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
1744         (WebCore::Extensions3DOpenGL::supportsExtension):
1745         * platform/graphics/opengl/Extensions3DOpenGL.h:
1746         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1747         * platform/graphics/opengl/Extensions3DOpenGLES.h:
1748         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1749         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1750         (WebCore::GraphicsContext3D::reshape):
1751         * platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
1752         * platform/graphics/texmap/TextureMapper.h:
1753         * platform/network/ResourceHandle.h:
1754         * plugins/PluginPackage.cpp:
1755         * plugins/PluginView.cpp:
1756         (WebCore::PluginView::PluginView):
1757         * plugins/PluginView.h:
1758         * plugins/PluginViewNone.cpp:
1759         * rendering/SimpleLineLayout.cpp:
1760         (WebCore::SimpleLineLayout::canUseFor):
1761
1762 2014-01-21  Eric Carlson  <eric.carlson@apple.com>
1763
1764         Add &lrm; &rlm; and &nbsp; to WebVTT parser
1765         https://bugs.webkit.org/show_bug.cgi?id=85112
1766
1767         Reviewed by Jer Noble.
1768
1769         No new tests, track-webvtt-tc022-entities.html was updated to test this.
1770
1771         * html/track/WebVTTTokenizer.cpp:
1772         (WebCore::WebVTTTokenizer::nextToken): Support RLM, LRM, and NBSP entities.
1773
1774 2014-01-21  Commit Queue  <commit-queue@webkit.org>
1775
1776         Unreviewed, rolling out r162354.
1777         http://trac.webkit.org/changeset/162354
1778         https://bugs.webkit.org/show_bug.cgi?id=127354
1779
1780         Appears to have broken accessibility in a non-trivial way
1781         (Requested by ap on #webkit).
1782
1783         * platform/ScrollView.cpp:
1784         (WebCore::ScrollView::updateScrollbars):
1785
1786 2014-01-21  Commit Queue  <commit-queue@webkit.org>
1787
1788         Unreviewed, rolling out r162445.
1789         http://trac.webkit.org/changeset/162445
1790         https://bugs.webkit.org/show_bug.cgi?id=127351
1791
1792         It broke the 32 bit GTK build (Requested by Ossy on #webkit).
1793
1794         * rendering/style/StyleRareInheritedData.cpp:
1795
1796 2014-01-21  László Langó  <llango.u-szeged@partner.samsung.com>
1797
1798         Wrong struct size when CSS_IMAGE_ORIENTATION and CSS3_TEXT_DECORATION are enabled.
1799         https://bugs.webkit.org/show_bug.cgi?id=127346
1800
1801         Efl build fix.
1802
1803         Reviewed by Csaba Osztrogonác.
1804
1805         * rendering/style/StyleRareInheritedData.cpp:
1806
1807 2014-01-21  Antti Koivisto  <antti@apple.com>
1808
1809         Delay initial layer flush during loading on all platforms
1810         https://bugs.webkit.org/show_bug.cgi?id=127347
1811
1812         Reviewed by Andreas Kling.
1813
1814         To reduce unnecessary repaints enable the same behaviour as iOS already has.
1815
1816         * rendering/RenderLayerCompositor.cpp:
1817         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1818         
1819             Set the initial state of m_layerFlushThrottlingEnabled correctly.
1820
1821         (WebCore::RenderLayerCompositor::scheduleLayerFlush):
1822         (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded):
1823         * rendering/RenderLayerCompositor.h:
1824         
1825             Enable initial layer flush delay on all platforms.
1826
1827 2014-01-21  Mihai Tica  <mitica@adobe.com>
1828
1829         If you set a tiled cross-faded-image or a tiled gradient as
1830         a background layer, -webkit-background-blend-mode doesn't work.
1831         The problem consists in the blendMode parameter not being set
1832         for these specific drawing paths.
1833
1834         https://bugs.webkit.org/show_bug.cgi?id=126888
1835         Reviewed by Dirk Schulze.
1836
1837         Test: css3/compositing/background-blend-mode-tiled-layers.html
1838
1839         * platform/graphics/CrossfadeGeneratedImage.cpp:
1840         (WebCore::CrossfadeGeneratedImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
1841         * platform/graphics/GradientImage.cpp:
1842         (WebCore::GradientImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
1843         * platform/graphics/ImageBuffer.h: Add a BlendMode parameter to the drawPattern method.
1844         * platform/graphics/cairo/ImageBufferCairo.cpp:
1845         (WebCore::ImageBuffer::drawPattern): Add the default BlendMode parameter to the method declaration.
1846         * platform/graphics/cg/ImageBufferCG.cpp:
1847         (WebCore::ImageBuffer::drawPattern): Add and use the blendMode parameter for all the code paths.
1848         * platform/graphics/wince/ImageBufferWinCE.cpp:
1849         (WebCore::BufferedImage::drawPattern): Add the default BlendMode parameter to the method declaration.
1850
1851 2014-01-21  Gurpreet Kaur  <k.gurpreet@samsung.com>
1852
1853         The WebCore.vcxproj.filters doesnot apply
1854         https://bugs.webkit.org/show_bug.cgi?id=127338
1855
1856         Reviewed by Csaba Osztrogonác.
1857
1858         * WebCore.vcxproj/WebCore.vcxproj.filters:
1859         Modified the WebCore.vcxproj.filters so that it is applied when loading
1860         WebCore.vcxproj file.
1861
1862 2014-01-21  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1863
1864         Fix SVG animations which set rx or ry attributes
1865         https://bugs.webkit.org/show_bug.cgi?id=127337
1866
1867         Reviewed by Dirk Schulze.
1868
1869         Test: svg/stroke/animated-non-scaling-rxry.html
1870
1871         Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision
1872
1873         * rendering/svg/RenderSVGRect.cpp:
1874         (WebCore::RenderSVGRect::updateShapeFromElement):
1875         * rendering/svg/SVGPathData.cpp:
1876         (WebCore::updatePathFromRectElement):
1877
1878 2014-01-21  Krzysztof Czech  <k.czech@samsung.com>
1879
1880         [ATK] Expose aria-flowto through ATK_RELATION_FLOWS_TO
1881         https://bugs.webkit.org/show_bug.cgi?id=127291
1882
1883         Reviewed by Mario Sanchez Prada.
1884
1885         Test: accessibility/aria-flowto.html
1886
1887         Expose aria-flowto through ATK_RELATION_FLOWS_TO according to
1888         http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
1889
1890         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1891         (setAtkRelationSetFromCoreObject):
1892
1893 2014-01-20  Ryuan Choi  <ryuan.choi@samsung.com>
1894
1895         [CMAKE] Remove Nix from CMake scripts
1896         https://bugs.webkit.org/show_bug.cgi?id=127264
1897
1898         Reviewed by Anders Carlsson.
1899
1900         * CMakeLists.txt:
1901
1902 2014-01-20  Anders Carlsson  <andersca@apple.com>
1903
1904         Remove an unused PageGroup function
1905         https://bugs.webkit.org/show_bug.cgi?id=127327
1906
1907         Reviewed by Andreas Kling.
1908
1909         * WebCore.exp.in:
1910         * page/PageGroup.cpp:
1911         * page/PageGroup.h:
1912
1913 2014-01-20  Anders Carlsson  <andersca@apple.com>
1914
1915         Move user style sheet handling to UserContentController
1916         https://bugs.webkit.org/show_bug.cgi?id=127322
1917         <rdar://problem/15861296>
1918
1919         Reviewed by Andreas Kling.
1920
1921         * dom/DocumentStyleSheetCollection.cpp:
1922         (WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
1923         * page/PageGroup.cpp:
1924         (WebCore::PageGroup::addUserStyleSheetToWorld):
1925         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
1926         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
1927         (WebCore::PageGroup::removeAllUserContent):
1928         * page/PageGroup.h:
1929         * page/UserContentController.cpp:
1930         (WebCore::UserContentController::addUserStyleSheet):
1931         (WebCore::UserContentController::removeUserStyleSheet):
1932         (WebCore::UserContentController::removeUserStyleSheets):
1933         (WebCore::UserContentController::removeAllUserContent):
1934         (WebCore::UserContentController::invalidateInjectedStyleSheetCacheInAllFrames):
1935         * page/UserContentController.h:
1936         (WebCore::UserContentController::userStyleSheets):
1937
1938 2014-01-20  Benjamin Poulain  <benjamin@webkit.org>
1939
1940         Add a nicer way to iterate over all the attributes of an element
1941         https://bugs.webkit.org/show_bug.cgi?id=127266
1942
1943         Reviewed by Geoffrey Garen.
1944
1945         When using Element::attributeAt() in a loop, the compiler had to generate two kinds of
1946         accessor:
1947         -If the element data is unique, the length and data comes from the attribute Vector.
1948         -If the element data is shared, the data comes from the tail of elementData itself.
1949
1950         The choice was done for every access, which caused the assembly to be a little
1951         hard to follow.
1952         This patch unify the data access by doing everything as a array pointer with offset (getting
1953         that data from Vector when necessary).
1954
1955         To make it easier to do the right thing, a new iterator was added so that range-based loops
1956         can replace all the faulty cases.
1957
1958         * css/SelectorChecker.cpp:
1959         (WebCore::anyAttributeMatches):
1960         * css/SelectorChecker.h:
1961         (WebCore::SelectorChecker::checkExactAttribute):
1962         * dom/DatasetDOMStringMap.cpp:
1963         (WebCore::DatasetDOMStringMap::getNames):
1964         (WebCore::DatasetDOMStringMap::item):
1965         (WebCore::DatasetDOMStringMap::contains):
1966         * dom/Element.cpp:
1967         (WebCore::Element::normalizeAttributes):
1968         (WebCore::Element::detachAllAttrNodesFromElement):
1969         (WebCore::Element::cloneAttributesFromElement):
1970         * dom/Element.h:
1971         (WebCore::Element::attributesIterator):
1972         * dom/ElementData.cpp:
1973         (WebCore::ElementData::isEquivalent):
1974         (WebCore::ElementData::findAttributeIndexByNameSlowCase):
1975         * dom/ElementData.h:
1976         (WebCore::AttributeConstIterator::AttributeConstIterator):
1977         (WebCore::AttributeConstIterator::operator*):
1978         (WebCore::AttributeConstIterator::operator->):
1979         (WebCore::AttributeConstIterator::operator++):
1980         (WebCore::AttributeConstIterator::operator==):
1981         (WebCore::AttributeConstIterator::operator!=):
1982         (WebCore::AttributeIteratorAccessor::AttributeIteratorAccessor):
1983         (WebCore::AttributeIteratorAccessor::begin):
1984         (WebCore::AttributeIteratorAccessor::end):
1985         (WebCore::ElementData::attributesIterator):
1986         * dom/Node.cpp:
1987         (WebCore::Node::isDefaultNamespace):
1988         (WebCore::Node::lookupNamespaceURI):
1989         (WebCore::Node::lookupNamespacePrefix):
1990         (WebCore::Node::compareDocumentPosition):
1991         * dom/StyledElement.cpp:
1992         (WebCore::StyledElement::makePresentationAttributeCacheKey):
1993         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1994         * editing/MarkupAccumulator.cpp:
1995         (WebCore::MarkupAccumulator::appendElement):
1996         * editing/markup.cpp:
1997         (WebCore::completeURLs):
1998         (WebCore::StyledMarkupAccumulator::appendElement):
1999         * html/HTMLEmbedElement.cpp:
2000         (WebCore::HTMLEmbedElement::parametersForPlugin):
2001         * html/HTMLObjectElement.cpp:
2002         (WebCore::HTMLObjectElement::parametersForPlugin):
2003         * inspector/DOMPatchSupport.cpp:
2004         (WebCore::DOMPatchSupport::innerPatchNode):
2005         (WebCore::DOMPatchSupport::createDigest):
2006         * inspector/InspectorDOMAgent.cpp:
2007         (WebCore::InspectorDOMAgent::setAttributesAsText):
2008         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
2009         * inspector/InspectorNodeFinder.cpp:
2010         (WebCore::InspectorNodeFinder::matchesElement):
2011         * page/PageSerializer.cpp:
2012         (WebCore::isCharsetSpecifyingNode):
2013         * xml/XPathNodeSet.cpp:
2014         (WebCore::XPath::NodeSet::traversalSort):
2015         * xml/XPathStep.cpp:
2016         (WebCore::XPath::Step::nodesInAxis):
2017         * xml/parser/XMLDocumentParserLibxml2.cpp:
2018         (WebCore::XMLDocumentParser::XMLDocumentParser):
2019
2020 2014-01-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2021
2022         Do refactor in collectGradientAttributes() and renderStyleForLengthResolve()
2023         https://bugs.webkit.org/show_bug.cgi?id=126869
2024
2025         Reviewed by Dirk Schulze.
2026
2027         Some SVG functions have done a first iteration by using a boolean flag. This is
2028         one of poor implementations. This patch fix it by extracting a logic into a new method.
2029         Additionally it would be good to use do-while() loop instead of using while() in
2030         renderStyleForLengthResolving() because a first condition is always true.
2031
2032         Merge r165358 from blink.
2033
2034         * svg/SVGLengthContext.cpp:
2035         (WebCore::renderStyleForLengthResolving):
2036         * svg/SVGLinearGradientElement.cpp:
2037         (WebCore::setGradientAttributes):
2038         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
2039         * svg/SVGRadialGradientElement.cpp:
2040         (WebCore::setGradientAttributes):
2041         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
2042
2043 2014-01-20  Anders Carlsson  <andersca@apple.com>
2044
2045         UserContentController should keep track of user scripts
2046         https://bugs.webkit.org/show_bug.cgi?id=127317
2047         <rdar://problem/15861296>
2048
2049         Reviewed by Andreas Kling.
2050
2051         Move handling of user scripts from PageGroup to UserContentController.
2052
2053         * page/Frame.cpp:
2054         (WebCore::Frame::injectUserScripts):
2055         * page/PageGroup.cpp:
2056         (WebCore::PageGroup::addUserScriptToWorld):
2057         (WebCore::PageGroup::removeUserScriptFromWorld):
2058         (WebCore::PageGroup::removeUserScriptsFromWorld):
2059         (WebCore::PageGroup::removeAllUserContent):
2060         * page/PageGroup.h:
2061         * page/UserContentController.cpp:
2062         (WebCore::UserContentController::addUserScript):
2063         (WebCore::UserContentController::removeUserScript):
2064         (WebCore::UserContentController::removeUserScripts):
2065         (WebCore::UserContentController::removeAllUserContent):
2066         * page/UserContentController.h:
2067         (WebCore::UserContentController::userScripts):
2068
2069 2014-01-20  Anders Carlsson  <andersca@apple.com>
2070
2071         Give each page a UserContentController
2072         https://bugs.webkit.org/show_bug.cgi?id=127315
2073         <rdar://problem/15861296>
2074
2075         Reviewed by Andreas Kling.
2076
2077         Add a UserContentController object to PageGroup and have the page group set it on any
2078         pages that are added to the page group.
2079
2080         This is another step towards moving handling of user content away from PageGroup and make it
2081         possible for each page to have different user content.
2082
2083         * page/Page.cpp:
2084         (WebCore::Page::~Page):
2085         (WebCore::Page::setUserContentController):
2086         * page/Page.h:
2087         (WebCore::Page::userContentController):
2088         * page/PageGroup.cpp:
2089         (WebCore::PageGroup::PageGroup):
2090         (WebCore::PageGroup::addPage):
2091         (WebCore::PageGroup::removePage):
2092         * page/PageGroup.h:
2093         * page/UserContentController.cpp:
2094         (WebCore::UserContentController::addPage):
2095         (WebCore::UserContentController::removePage):
2096         * page/UserContentController.h:
2097
2098 2014-01-20  Jeremy Jones  <jeremyj@apple.com>
2099
2100         Add AVKit fullscreen video interface.
2101         https://bugs.webkit.org/show_bug.cgi?id=126818
2102
2103         Reviewed by Eric Carlson.
2104
2105         No new tests, no observable change in functionality.
2106
2107         * WebCore.exp.in:
2108         * WebCore.xcodeproj/project.pbxproj:
2109         * html/HTMLMediaElement.cpp:
2110         (WebCore::HTMLMediaElement::parseAttribute):
2111         * html/HTMLMediaElement.h:
2112         Add ability for fullscreen to borrow the AVPlayerLayer.
2113         * page/Settings.cpp:
2114         * page/Settings.h:
2115         (WebCore::Settings::setMediaPlaybackFullscreenAVKit):
2116         (WebCore::Settings::mediaPlaybackFullscreenAVKit):
2117         Add a disabled setting.
2118         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2119         (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
2120         Enabled fullscreen for iOS.
2121         * platform/ios/WebVideoFullscreenControllerAVKit.h: Added.
2122         * platform/ios/WebVideoFullscreenControllerAVKit.mm: Added.
2123         (-[WebAVPlayerController init]):
2124         (-[WebAVPlayerController dealloc]):
2125         (-[WebAVPlayerController forwardingTargetForSelector:]):
2126         (-[WebAVPlayerController shouldDismissForDone]):
2127         (-[WebAVPlayerController play:]):
2128         (-[WebAVPlayerController pause:]):
2129         (-[WebAVPlayerController togglePlayback:]):
2130         (-[WebAVPlayerController isPlaying]):
2131         (-[WebAVPlayerController setPlaying:]):
2132         (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
2133         (-[WebAVPlayerController seekToTime:]):
2134         (-[WebAVPlayerController updateTimingWithCurrentTime:]):
2135         (-[WebAVPlayerController effectiveRate]):
2136         (-[WebAVPlayerController setMediaElement:]):
2137         (-[WebAVPlayerController handleEvent:]):
2138         (-[WebVideoFullscreenController init]):
2139         (-[WebVideoFullscreenController dealloc]):
2140         (-[WebVideoFullscreenController setMediaElement:]):
2141         (-[WebVideoFullscreenController mediaElement]):
2142         (-[WebVideoFullscreenController enterFullscreen:]):
2143         (-[WebVideoFullscreenController exitFullscreen]):
2144         Add WebAVPlayerController for HTMLMediaElememt to interface with AVPlayerViewController.
2145
2146 2014-01-20  Zan Dobersek  <zdobersek@igalia.com>
2147
2148         Replace uses of std::forward<T>(), std::unique_ptr<T>::clear() that landed in r162368
2149         https://bugs.webkit.org/show_bug.cgi?id=127306
2150
2151         Reviewed by Darin Adler.
2152
2153         Address the post-landing reviews of the r162368 commit that moved WebAudio source code to using std::unique_ptr.
2154         std::move() should be used instead of std::forward<T>() in HRTFKernel::create().
2155         Instead of calling std::unique_ptr<T>::reset(), nullptr should be assigned to that smart pointer to reset it.
2156
2157         * Modules/webaudio/ConvolverNode.cpp:
2158         (WebCore::ConvolverNode::uninitialize):
2159         * Modules/webaudio/DynamicsCompressorNode.cpp:
2160         (WebCore::DynamicsCompressorNode::uninitialize):
2161         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
2162         (WebCore::MediaElementAudioSourceNode::setFormat):
2163         * Modules/webaudio/PannerNode.cpp:
2164         (WebCore::PannerNode::uninitialize):
2165         * platform/audio/AudioChannel.h:
2166         (WebCore::AudioChannel::set):
2167         * platform/audio/HRTFDatabaseLoader.cpp:
2168         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
2169         * platform/audio/HRTFKernel.h:
2170         (WebCore::HRTFKernel::create):
2171
2172 2014-01-20  Joseph Pecoraro  <pecoraro@apple.com>
2173
2174         Modernize WebCore/inspector with nullptr
2175         https://bugs.webkit.org/show_bug.cgi?id=127303
2176
2177         Reviewed by Anders Carlsson.
2178
2179         Ran clang-modernize -use-nullptr over WebCore/inspector.
2180
2181         * inspector/ConsoleMessage.cpp:
2182         (WebCore::ConsoleMessage::ConsoleMessage):
2183         * inspector/ConsoleMessage.h:
2184         * inspector/ContentSearchUtils.cpp:
2185         (WebCore::ContentSearchUtils::findMagicComment):
2186         * inspector/DOMEditor.cpp:
2187         (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
2188         * inspector/DOMPatchSupport.cpp:
2189         (WebCore::DOMPatchSupport::patchDocument):
2190         (WebCore::DOMPatchSupport::patchNode):
2191         (WebCore::DOMPatchSupport::diff):
2192         (WebCore::DOMPatchSupport::innerPatchChildren):
2193         * inspector/InspectorApplicationCacheAgent.cpp:
2194         (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
2195         (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
2196         * inspector/InspectorCanvasAgent.cpp:
2197         (WebCore::InspectorCanvasAgent::disable):
2198         (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
2199         (WebCore::InspectorCanvasAgent::frameNavigated):
2200         * inspector/InspectorConsoleAgent.cpp:
2201         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2202         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
2203         (WebCore::InspectorConsoleAgent::clearMessages):
2204         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
2205         (WebCore::InspectorConsoleAgent::didReceiveResponse):
2206         (WebCore::InspectorConsoleAgent::didFailLoading):
2207         * inspector/InspectorConsoleAgent.h:
2208         * inspector/InspectorController.cpp:
2209         (WebCore::InspectorController::inspectedPageDestroyed):
2210         * inspector/InspectorDOMDebuggerAgent.cpp:
2211         (WebCore::InspectorDOMDebuggerAgent::disable):
2212         (WebCore::InspectorDOMDebuggerAgent::discardAgent):
2213         * inspector/InspectorDOMStorageAgent.cpp:
2214         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
2215         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
2216         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
2217         (WebCore::InspectorDOMStorageAgent::findStorageArea):
2218         * inspector/InspectorDatabaseAgent.cpp:
2219         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
2220         (WebCore::InspectorDatabaseAgent::findByFileName):
2221         (WebCore::InspectorDatabaseAgent::databaseForId):
2222         * inspector/InspectorDebuggerAgent.cpp:
2223         (WebCore::InspectorDebuggerAgent::addMessageToConsole):
2224         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2225         (WebCore::InspectorDebuggerAgent::didParseSource):
2226         (WebCore::InspectorDebuggerAgent::didContinue):
2227         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
2228         * inspector/InspectorFrontendHost.cpp:
2229         (WebCore::FrontendMenuProvider::disconnect):
2230         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
2231         (WebCore::InspectorFrontendHost::disconnectClient):
2232         * inspector/InspectorHeapProfilerAgent.cpp:
2233         (WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
2234         * inspector/InspectorIndexedDBAgent.cpp:
2235         (WebCore::assertDocument):
2236         (WebCore::assertIDBFactory):
2237         (WebCore::InspectorIndexedDBAgent::requestData):
2238         * inspector/InspectorInstrumentation.cpp:
2239         (WebCore::frameForScriptExecutionContext):
2240         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
2241         (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
2242         (WebCore::InspectorInstrumentation::consoleAgentEnabled):
2243         (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
2244         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
2245         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
2246         (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
2247         (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
2248         * inspector/InspectorInstrumentation.h:
2249         (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
2250         (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
2251         (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
2252         * inspector/InspectorLayerTreeAgent.cpp:
2253         (WebCore::InspectorLayerTreeAgent::disable):
2254         * inspector/InspectorNodeFinder.cpp:
2255         (WebCore::InspectorNodeFinder::searchUsingXPath):
2256         * inspector/InspectorOverlay.cpp:
2257         (WebCore::buildObjectForElementInfo):
2258         * inspector/InspectorPageAgent.cpp:
2259         (WebCore::InspectorPageAgent::cachedResourceContent):
2260         (WebCore::InspectorPageAgent::sharedBufferContent):
2261         (WebCore::InspectorPageAgent::disable):
2262         (WebCore::InspectorPageAgent::frameForId):
2263         (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
2264         * inspector/InspectorProfilerAgent.cpp:
2265         (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
2266         * inspector/InspectorProfilerAgent.h:
2267         * inspector/InspectorResourceAgent.cpp:
2268         (WebCore::buildObjectForResourceResponse):
2269         (WebCore::InspectorResourceAgent::willSendRequest):
2270         (WebCore::InspectorResourceAgent::didReceiveResponse):
2271         (WebCore::InspectorResourceAgent::didFinishLoading):
2272         (WebCore::InspectorResourceAgent::didFailLoading):
2273         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
2274         (WebCore::InspectorResourceAgent::disable):
2275         * inspector/InspectorRuntimeAgent.cpp:
2276         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
2277         * inspector/InspectorStyleSheet.cpp:
2278         (ParsedStyleSheet::ruleSourceDataAt):
2279         (WebCore::buildSourceRangeObject):
2280         (WebCore::asCSSRuleList):
2281         (WebCore::fillMediaListChain):
2282         (WebCore::InspectorStyle::setPropertyText):
2283         (WebCore::InspectorStyle::populateAllProperties):
2284         (WebCore::InspectorStyle::extractSourceData):
2285         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
2286         (WebCore::InspectorStyleSheet::addRule):
2287         (WebCore::InspectorStyleSheet::ruleForId):
2288         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2289         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
2290         (WebCore::InspectorStyleSheet::buildObjectForRule):
2291         (WebCore::InspectorStyleSheet::styleForId):
2292         (WebCore::InspectorStyleSheet::inspectorStyleForId):
2293         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
2294         * inspector/InspectorStyleSheet.h:
2295         (WebCore::InspectorCSSId::asProtocolValue):
2296         * inspector/InspectorTimelineAgent.cpp:
2297         (WebCore::InspectorTimelineAgent::stop):
2298         (WebCore::InspectorTimelineAgent::willComposite):
2299         (WebCore::InspectorTimelineAgent::page):
2300         * inspector/InspectorWorkerAgent.cpp:
2301         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
2302         * inspector/InstrumentingAgents.cpp:
2303         (WebCore::InstrumentingAgents::InstrumentingAgents):
2304         (WebCore::InstrumentingAgents::reset):
2305         * inspector/NetworkResourcesData.cpp:
2306         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
2307         (WebCore::NetworkResourcesData::xhrReplayData):
2308         (WebCore::NetworkResourcesData::removeCachedResource):
2309         (WebCore::NetworkResourcesData::resourceDataForRequestId):
2310         * inspector/PageConsoleAgent.cpp:
2311         (WebCore::PageConsoleAgent::~PageConsoleAgent):
2312         * inspector/PageDebuggerAgent.cpp:
2313         (WebCore::PageDebuggerAgent::disable):
2314         * inspector/PageRuntimeAgent.cpp:
2315         (WebCore::PageRuntimeAgent::~PageRuntimeAgent):
2316         (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
2317         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
2318         * inspector/ScriptArguments.cpp:
2319         (WebCore::ScriptArguments::globalState):
2320         * inspector/WorkerRuntimeAgent.cpp:
2321         (WebCore::WorkerRuntimeAgent::~WorkerRuntimeAgent):
2322
2323 2014-01-20  Anders Carlsson  <andersca@apple.com>
2324
2325         Add empty UserContentController class
2326         https://bugs.webkit.org/show_bug.cgi?id=127300
2327         <rdar://problem/15861296>
2328
2329         Reviewed by Dan Bernstein.
2330
2331         This is the first step towards moving handling of user scripts and style sheets from
2332         the page group to a separate objects and ultimately make them be settable per page instead of per page group.
2333
2334         * CMakeLists.txt:
2335         * GNUmakefile.list.am:
2336         * WebCore.vcxproj/WebCore.vcxproj:
2337         * WebCore.vcxproj/WebCore.vcxproj.filters:
2338         * WebCore.xcodeproj/project.pbxproj:
2339         * page/UserContentController.cpp: Added.
2340         (WebCore::UserContentController::create):
2341         (WebCore::UserContentController::UserContentController):
2342         (WebCore::UserContentController::~UserContentController):
2343         * page/UserContentController.h: Added.
2344
2345 2014-01-20  Joseph Pecoraro  <pecoraro@apple.com>
2346
2347         Run clang-modernize and let it add a bunch of missing overrides in WebCore/inspector
2348         https://bugs.webkit.org/show_bug.cgi?id=127206
2349
2350         Reviewed by Anders Carlsson.
2351
2352         Let clang-modernize add overrides.
2353
2354         * inspector/DOMEditor.cpp:
2355         * inspector/InspectorApplicationCacheAgent.h:
2356         * inspector/InspectorCSSAgent.h:
2357         * inspector/InspectorCanvasAgent.h:
2358         * inspector/InspectorConsoleAgent.h:
2359         * inspector/InspectorDOMAgent.h:
2360         * inspector/InspectorDOMDebuggerAgent.h:
2361         * inspector/InspectorDOMStorageAgent.h:
2362         * inspector/InspectorDatabaseAgent.cpp:
2363         * inspector/InspectorDatabaseAgent.h:
2364         * inspector/InspectorDebuggerAgent.h:
2365         * inspector/InspectorFrontendHost.cpp:
2366         * inspector/InspectorHeapProfilerAgent.cpp:
2367         (WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
2368         (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
2369         * inspector/InspectorHeapProfilerAgent.h:
2370         * inspector/InspectorHistory.cpp:
2371         * inspector/InspectorIndexedDBAgent.cpp:
2372         * inspector/InspectorIndexedDBAgent.h:
2373         * inspector/InspectorInputAgent.h:
2374         * inspector/InspectorLayerTreeAgent.h:
2375         * inspector/InspectorMemoryAgent.h:
2376         * inspector/InspectorPageAgent.h:
2377         * inspector/InspectorProfilerAgent.cpp:
2378         * inspector/InspectorProfilerAgent.h:
2379         * inspector/InspectorResourceAgent.h:
2380         * inspector/InspectorRuntimeAgent.h:
2381         * inspector/InspectorStyleSheet.h:
2382         * inspector/InspectorTimelineAgent.h:
2383         * inspector/InspectorWorkerAgent.cpp:
2384         * inspector/InspectorWorkerAgent.h:
2385         * inspector/PageConsoleAgent.h:
2386         * inspector/PageDebuggerAgent.h:
2387         * inspector/PageRuntimeAgent.h:
2388         * inspector/WorkerConsoleAgent.h:
2389         * inspector/WorkerDebuggerAgent.cpp:
2390         * inspector/WorkerInspectorController.cpp:
2391         * inspector/WorkerRuntimeAgent.h:
2392
2393 2014-01-20  Zan Dobersek  <zdobersek@igalia.com>
2394
2395         Move WebAudio source code to std::unique_ptr
2396         https://bugs.webkit.org/show_bug.cgi?id=127274
2397
2398         Reviewed by Eric Carlson.
2399
2400         Move from using OwnPtr and PassOwnPtr to using std::unique_ptr and move semantics
2401         in the WebAudio module and the WebAudio code in the platform layer.
2402
2403         * Modules/webaudio/AsyncAudioDecoder.cpp:
2404         * Modules/webaudio/AsyncAudioDecoder.h:
2405         * Modules/webaudio/AudioBasicInspectorNode.cpp:
2406         (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
2407         * Modules/webaudio/AudioBasicProcessorNode.cpp:
2408         (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
2409         * Modules/webaudio/AudioBasicProcessorNode.h:
2410         * Modules/webaudio/AudioBufferSourceNode.cpp:
2411         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
2412         * Modules/webaudio/AudioContext.cpp:
2413         * Modules/webaudio/AudioContext.h:
2414         * Modules/webaudio/AudioDestinationNode.cpp:
2415         (WebCore::AudioDestinationNode::AudioDestinationNode):
2416         * Modules/webaudio/AudioNode.cpp:
2417         (WebCore::AudioNode::addInput):
2418         (WebCore::AudioNode::addOutput):
2419         (WebCore::AudioNode::checkNumberOfChannelsForInput):
2420         * Modules/webaudio/AudioNode.h:
2421         * Modules/webaudio/BiquadFilterNode.cpp:
2422         (WebCore::BiquadFilterNode::BiquadFilterNode):
2423         * Modules/webaudio/BiquadProcessor.cpp:
2424         (WebCore::BiquadProcessor::createKernel):
2425         (WebCore::BiquadProcessor::getFrequencyResponse):
2426         * Modules/webaudio/BiquadProcessor.h:
2427         * Modules/webaudio/ChannelMergerNode.cpp:
2428         (WebCore::ChannelMergerNode::ChannelMergerNode):
2429         * Modules/webaudio/ChannelSplitterNode.cpp:
2430         (WebCore::ChannelSplitterNode::ChannelSplitterNode):
2431         * Modules/webaudio/ConvolverNode.cpp:
2432         (WebCore::ConvolverNode::ConvolverNode):
2433         (WebCore::ConvolverNode::uninitialize):
2434         (WebCore::ConvolverNode::setBuffer):
2435         * Modules/webaudio/ConvolverNode.h:
2436         * Modules/webaudio/DefaultAudioDestinationNode.h:
2437         * Modules/webaudio/DelayNode.cpp:
2438         (WebCore::DelayNode::DelayNode):
2439         * Modules/webaudio/DelayProcessor.cpp:
2440         (WebCore::DelayProcessor::createKernel):
2441         * Modules/webaudio/DelayProcessor.h:
2442         * Modules/webaudio/DynamicsCompressorNode.cpp:
2443         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
2444         (WebCore::DynamicsCompressorNode::initialize):
2445         (WebCore::DynamicsCompressorNode::uninitialize):
2446         * Modules/webaudio/DynamicsCompressorNode.h:
2447         * Modules/webaudio/GainNode.cpp:
2448         (WebCore::GainNode::GainNode):
2449         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
2450         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
2451         (WebCore::MediaElementAudioSourceNode::setFormat):
2452         * Modules/webaudio/MediaElementAudioSourceNode.h:
2453         * Modules/webaudio/MediaStreamAudioDestinationNode.h:
2454         * Modules/webaudio/MediaStreamAudioSource.cpp:
2455         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
2456         (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
2457         * Modules/webaudio/MediaStreamAudioSourceNode.h:
2458         * Modules/webaudio/OscillatorNode.cpp:
2459         (WebCore::OscillatorNode::OscillatorNode):
2460         * Modules/webaudio/PannerNode.cpp:
2461         (WebCore::PannerNode::PannerNode):
2462         (WebCore::PannerNode::uninitialize):
2463         (WebCore::PannerNode::setPanningModel):
2464         * Modules/webaudio/PannerNode.h:
2465         * Modules/webaudio/PeriodicWave.cpp:
2466         (WebCore::PeriodicWave::createBandLimitedTables):
2467         * Modules/webaudio/PeriodicWave.h:
2468         * Modules/webaudio/RealtimeAnalyser.cpp:
2469         (WebCore::RealtimeAnalyser::RealtimeAnalyser):
2470         (WebCore::RealtimeAnalyser::setFftSize):
2471         * Modules/webaudio/RealtimeAnalyser.h:
2472         * Modules/webaudio/ScriptProcessorNode.cpp:
2473         (WebCore::ScriptProcessorNode::ScriptProcessorNode):
2474         * Modules/webaudio/WaveShaperDSPKernel.cpp:
2475         (WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):
2476         * Modules/webaudio/WaveShaperDSPKernel.h:
2477         * Modules/webaudio/WaveShaperNode.cpp:
2478         (WebCore::WaveShaperNode::WaveShaperNode):
2479         * Modules/webaudio/WaveShaperProcessor.cpp:
2480         (WebCore::WaveShaperProcessor::createKernel):
2481         * Modules/webaudio/WaveShaperProcessor.h:
2482         * platform/audio/AudioBus.cpp:
2483         (WebCore::AudioBus::AudioBus):
2484         (WebCore::AudioBus::copyWithGainFrom):
2485         * platform/audio/AudioBus.h:
2486         * platform/audio/AudioChannel.cpp:
2487         * platform/audio/AudioChannel.h:
2488         (WebCore::AudioChannel::AudioChannel):
2489         (WebCore::AudioChannel::set):
2490         * platform/audio/AudioDSPKernelProcessor.h:
2491         * platform/audio/AudioDestination.h:
2492         * platform/audio/AudioResampler.cpp:
2493         (WebCore::AudioResampler::AudioResampler):
2494         (WebCore::AudioResampler::configureChannels):
2495         * platform/audio/AudioResampler.h:
2496         * platform/audio/AudioSession.h:
2497         * platform/audio/DynamicsCompressor.cpp:
2498         (WebCore::DynamicsCompressor::setNumberOfChannels):
2499         * platform/audio/DynamicsCompressor.h:
2500         * platform/audio/DynamicsCompressorKernel.cpp:
2501         (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
2502         * platform/audio/DynamicsCompressorKernel.h:
2503         * platform/audio/FFTFrame.cpp:
2504         (WebCore::FFTFrame::createInterpolatedFrame):
2505         * platform/audio/FFTFrame.h:
2506         * platform/audio/HRTFDatabase.cpp:
2507         (WebCore::HRTFDatabase::HRTFDatabase):
2508         * platform/audio/HRTFDatabase.h:
2509         * platform/audio/HRTFDatabaseLoader.cpp:
2510         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
2511         (WebCore::HRTFDatabaseLoader::load):
2512         * platform/audio/HRTFDatabaseLoader.h:
2513         * platform/audio/HRTFElevation.cpp:
2514         (WebCore::HRTFElevation::createForSubject):
2515         (WebCore::HRTFElevation::createByInterpolatingSlices):
2516         * platform/audio/HRTFElevation.h:
2517         (WebCore::HRTFElevation::HRTFElevation):
2518         * platform/audio/HRTFKernel.cpp:
2519         (WebCore::HRTFKernel::HRTFKernel):
2520         (WebCore::HRTFKernel::createImpulseResponse):
2521         (WebCore::HRTFKernel::createInterpolatedKernel):
2522         * platform/audio/HRTFKernel.h:
2523         (WebCore::HRTFKernel::create):
2524         (WebCore::HRTFKernel::HRTFKernel):
2525         * platform/audio/MultiChannelResampler.cpp:
2526         (WebCore::MultiChannelResampler::MultiChannelResampler):
2527         * platform/audio/MultiChannelResampler.h:
2528         * platform/audio/Panner.cpp:
2529         (WebCore::Panner::create):
2530         * platform/audio/Panner.h:
2531         * platform/audio/Reverb.cpp:
2532         (WebCore::Reverb::initialize):
2533         * platform/audio/Reverb.h:
2534         * platform/audio/ReverbConvolver.h:
2535         * platform/audio/ReverbConvolverStage.cpp:
2536         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
2537         * platform/audio/ReverbConvolverStage.h:
2538         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2539         (WebCore::AudioDestination::create):
2540         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2541         * platform/audio/ios/AudioDestinationIOS.cpp:
2542         (WebCore::AudioDestination::create):
2543         * platform/audio/ios/AudioSessionIOS.mm:
2544         (WebCore::AudioSession::AudioSession):
2545         * platform/audio/mac/AudioDestinationMac.cpp:
2546         (WebCore::AudioDestination::create):
2547         * platform/audio/mac/AudioDestinationMac.h:
2548         * platform/audio/mac/AudioSessionMac.cpp:
2549         (WebCore::AudioSession::AudioSession):
2550
2551 2014-01-20  Morten Stenshorne  <mstensho@opera.com>
2552
2553         Region based multicol: support explicit column breaks
2554         https://bugs.webkit.org/show_bug.cgi?id=123993
2555
2556         Reviewed by David Hyatt.
2557
2558         Merely supporting insertion of explicit (forced) column breaks in
2559         the region based multicol implementation is really simple: just
2560         hook up with what the CSS regions code is already doing.
2561
2562         However, there is one complication: column balancing. In order to
2563         balance columns as nicely as possible when there are explicit
2564         breaks, we need to figure out between which explicit breaks the
2565         implicit breaks will occur (if there's room for any at all).
2566
2567         Tests: fast/multicol/newmulticol/break-after.html
2568                fast/multicol/newmulticol/break-before.html
2569                fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html
2570                fast/multicol/newmulticol/breaks-2-columns-3.html
2571                fast/multicol/newmulticol/breaks-3-columns-3.html
2572                fast/multicol/newmulticol/fixed-height-fill-balance-2.html
2573
2574         * rendering/RenderBlockFlow.cpp:
2575         (WebCore::RenderBlockFlow::applyBeforeBreak):
2576         (WebCore::RenderBlockFlow::applyAfterBreak): Use the already
2577         existing region breaking code when inserting breaks in region
2578         based multicol.
2579         * rendering/RenderFlowThread.h:
2580         * rendering/RenderMultiColumnBlock.cpp:
2581         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
2582         (WebCore::RenderMultiColumnBlock::relayoutForPagination): Avoid
2583         re-balancing if the multicol's contents were not laid out. Apart
2584         from being good for performance, this is now necessary because of
2585         how explicit breaks are implemented.
2586         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
2587         Detect if the contents are going to be laid out, or skipped, so
2588         that we can tell if we need to (re-)balance the columns
2589         afterwards.
2590         * rendering/RenderMultiColumnBlock.h:
2591         * rendering/RenderMultiColumnFlowThread.cpp:
2592         (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
2593         Locate the appropriate multi-column set and call its
2594         addForcedBreak().
2595         * rendering/RenderMultiColumnFlowThread.h:
2596         * rendering/RenderMultiColumnSet.cpp:
2597         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
2598         (WebCore::RenderMultiColumnSet::findRunWithTallestColumns):
2599         (WebCore::RenderMultiColumnSet::distributeImplicitBreaks): Figure
2600         out how many implicit breaks each single "content run" should
2601         contain. The taller the content run, the more implicit breaks.
2602         (WebCore::RenderMultiColumnSet::calculateBalancedHeight): This is
2603         now a const method that only does half of what the old
2604         calculateBalancedHeight() did. The rest (such as actually storing
2605         the new column height) is done by recalculateBalancedHeight().
2606         (WebCore::RenderMultiColumnSet::clearForcedBreaks): Needs to be
2607         called between each layout pass, to clear the list of "content
2608         runs".
2609         (WebCore::RenderMultiColumnSet::addForcedBreak): Only useful when
2610         columns are to be balanced. It receives explicit (forced) breaks
2611         and stores them as "content runs". When layout is done, we'll go
2612         through the list of content runs, and see where implicit breaks
2613         should be inserted (if there's room for any). The goal is to
2614         insert implicit breaks in such a way that the final columns become
2615         as short as possible.
2616         (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
2617         Calculates and sets a new balanced column height. This used to be
2618         done directly in calculateBalancedHeight(), but that method is now
2619         const and it now only calculates the new height and returns it.
2620         (WebCore::RenderMultiColumnSet::prepareForLayout):
2621         * rendering/RenderMultiColumnSet.h: Remove old data members
2622         intended for forced breaks (they were unused), and introduce a
2623         "content run" vector instead. A new content run is triggered by an
2624         explicit break. This is only used when column balancing is
2625         enabled. When not balanced, RenderMultiColumnSet doesn't need to
2626         do anything when explicit breaks are inserted.
2627
2628 2014-01-20  Eric Carlson  <eric.carlson@apple.com>
2629
2630         Allow MediaSessionManager to restrict 'preload' behavior
2631         https://bugs.webkit.org/show_bug.cgi?id=127297
2632
2633         Reviewed by Jer Noble.
2634
2635         Tests: media/video-restricted-no-preload-auto.html
2636                media/video-restricted-no-preload-metadata.html
2637
2638         * html/HTMLMediaElement.cpp:
2639         (WebCore::HTMLMediaElement::parseAttribute): Apply restrictions to preload attribute before
2640             passing to media engine.
2641         (WebCore::HTMLMediaElement::loadResource): Ditto.
2642
2643         * html/HTMLMediaSession.cpp:
2644         (WebCore::HTMLMediaSession::effectivePreloadForElement): New, limit preload according to restrictions.
2645         * html/HTMLMediaSession.h:
2646
2647         * platform/audio/MediaSessionManager.h:
2648         * platform/audio/ios/MediaSessionManagerIOS.mm:
2649         (WebCore::MediaSessionManageriOS::resetRestrictions): Limit preload to metadata only. Drive-by
2650             static deviceClass initialization cleanup.
2651
2652         * testing/Internals.cpp:
2653         (WebCore::Internals::setMediaSessionRestrictions): Support MetadataPreloadingNotPermitted and
2654             AutoPreloadingNotPermitted.
2655
2656 2014-01-20  Andreas Kling  <akling@apple.com>
2657
2658         Let RenderImage construct its RenderImageResource.
2659         <https://webkit.org/b/127290>
2660
2661         Everyone who creates a RenderImage immediately follows up with
2662         creating a RenderImageResource and assigning it to the image.
2663
2664         Let the RenderImage constructor do this instead, and make the
2665         imageResource() accessors return references. This exposed a
2666         number of unnecessary null checks.
2667
2668         Also modernized the touched code with std::unique_ptr.
2669
2670         Reviewed by Antti Koivisto.
2671
2672         * html/HTMLImageElement.cpp:
2673         (WebCore::HTMLImageElement::createElementRenderer):
2674         (WebCore::HTMLImageElement::didAttachRenderers):
2675         * html/HTMLPlugInImageElement.cpp:
2676         (WebCore::HTMLPlugInImageElement::createElementRenderer):
2677         * html/HTMLVideoElement.cpp:
2678         (WebCore::HTMLVideoElement::didAttachRenderers):
2679         (WebCore::HTMLVideoElement::parseAttribute):
2680         * html/ImageInputType.cpp:
2681         (WebCore::ImageInputType::createInputRenderer):
2682         (WebCore::ImageInputType::attach):
2683         * loader/ImageLoader.cpp:
2684         (WebCore::ImageLoader::renderImageResource):
2685         * rendering/RenderElement.cpp:
2686         (WebCore::RenderElement::createFor):
2687         * rendering/RenderImage.cpp:
2688         (WebCore::RenderImage::RenderImage):
2689         (WebCore::RenderImage::~RenderImage):
2690         (WebCore::RenderImage::styleDidChange):
2691         (WebCore::RenderImage::imageChanged):
2692         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded):
2693         (WebCore::RenderImage::updateInnerContentRect):
2694         (WebCore::RenderImage::imageDimensionsChanged):
2695         (WebCore::RenderImage::notifyFinished):
2696         (WebCore::RenderImage::paintReplaced):
2697         (WebCore::RenderImage::paintIntoRect):
2698         (WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):
2699         (WebCore::RenderImage::minimumReplacedHeight):
2700         (WebCore::RenderImage::computeIntrinsicRatioInformation):
2701         (WebCore::RenderImage::embeddedContentBox):
2702         * rendering/RenderImage.h:
2703         (WebCore::RenderImage::imageResource):
2704         (WebCore::RenderImage::cachedImage):
2705         * rendering/RenderImageResource.h:
2706         * rendering/RenderImageResourceStyleImage.h:
2707         * rendering/RenderMedia.cpp:
2708         (WebCore::RenderMedia::RenderMedia):
2709         * rendering/RenderSnapshottedPlugIn.cpp:
2710         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
2711         * rendering/RenderSnapshottedPlugIn.h:
2712         * rendering/RenderVideo.cpp:
2713         (WebCore::RenderVideo::calculateIntrinsicSize):
2714         * rendering/style/ContentData.cpp:
2715         (WebCore::ImageContentData::createContentRenderer):
2716         * rendering/svg/RenderSVGImage.cpp:
2717         (WebCore::RenderSVGImage::RenderSVGImage):
2718         (WebCore::RenderSVGImage::~RenderSVGImage):
2719         (WebCore::RenderSVGImage::updateImageViewport):
2720         (WebCore::RenderSVGImage::paint):
2721         (WebCore::RenderSVGImage::paintForeground):
2722         * rendering/svg/RenderSVGImage.h:
2723         * svg/SVGImageElement.cpp:
2724         (WebCore::SVGImageElement::didAttachRenderers):
2725
2726 2014-01-20  Antti Koivisto  <antti@apple.com>
2727
2728         Update overlay scrollbars in single pass
2729         https://bugs.webkit.org/show_bug.cgi?id=127289
2730
2731         Reviewed by Anders Carlsson.
2732
2733         * platform/ScrollView.cpp:
2734         (WebCore::ScrollView::updateScrollbars):
2735         
2736             Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
2737
2738 2014-01-20  Jochen Eisinger  <jochen@chromium.org>
2739
2740         Never send a non-http(s) referrer header even with a referrer policy
2741         https://bugs.webkit.org/show_bug.cgi?id=127172
2742
2743         Reviewed by Alexey Proskuryakov.
2744
2745         This mirrors the code SecurityPolicy::shouldHideReferrer which is used
2746         for ReferrerPolicyDefault.
2747
2748         No new tests, only affects an embedder that registers other schemes,
2749         e.g. chrome://
2750
2751         * page/SecurityPolicy.cpp:
2752         (WebCore::SecurityPolicy::generateReferrerHeader):
2753
2754 2014-01-20  Mihai Tica  <mitica@adobe.com>
2755
2756         [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
2757         when having -webkit-background-blending applied. Turns out the problem was
2758         the blending parameter not being passed to WebCore::CrossfadeGeneratedImage::draw
2759
2760         https://bugs.webkit.org/show_bug.cgi?id=126887
2761
2762         Reviewed by Dirk Schulze.
2763
2764         Test: css3/compositing/background-blend-mode-crossfade-image.html
2765
2766         * platform/graphics/CrossfadeGeneratedImage.cpp:
2767         (WebCore::CrossfadeGeneratedImage::draw): set blendMode on context.
2768
2769 2013-11-22  Sergio Villar Senin  <svillar@igalia.com>
2770
2771         Null-pointer dereference in WebCore::CSSValue::isPrimitiveValue
2772         https://bugs.webkit.org/show_bug.cgi?id=124769
2773
2774         Reviewed by Andreas Kling.
2775
2776         Test: fast/gradients/crash-on-no-position-separator.html
2777
2778         The function parseFillPosition() may not return valid values for
2779         centerX and centerY if the input data is malformed. We need to
2780         check that we get a valid pair of positions before checking that
2781         they're actually valid primitive values in the assertions.
2782
2783         * css/CSSParser.cpp:
2784         (WebCore::CSSParser::parseRadialGradient):
2785
2786 2014-01-20  Mihai Tica  <mitica@adobe.com>
2787
2788         Background-blend-mode doesn't work for an element with an
2789         SVG image as background and border-style or padding set.
2790         The problem consisted in the drawing path using the default
2791         blending parameter at all times.
2792         https://bugs.webkit.org/show_bug.cgi?id=118894
2793
2794         Reviewed by Dirk Schulze.
2795
2796         Test: css3/compositing/background-blend-mode-data-uri-svg-image.html
2797
2798         * svg/graphics/SVGImage.cpp:
2799         (WebCore::SVGImage::drawPatternForContainer): Pass blendMode to Image::drawPattern.
2800         * svg/graphics/SVGImage.h: Add a blendMode parameter to drawPatternForContainer.
2801         * svg/graphics/SVGImageForContainer.cpp:
2802         (WebCore::SVGImageForContainer::drawPattern): Pass blendMode to drawPatternForContainer call.
2803
2804 2014-01-20  Zalan Bujtas  <zalan@apple.com>
2805
2806         Subpixel layout: setSimpleLineLayoutEnabled() produces different layout when line position has CSS px fractions.
2807         https://bugs.webkit.org/show_bug.cgi?id=126892
2808
2809         Reviewed by Antti Koivisto.
2810
2811         SimpleLineLayout needs to copy normal linebox layout's subpixel rounding strategy to produce
2812         the same layout.
2813
2814         Covered by existing tests.
2815
2816         * rendering/SimpleLineLayoutFunctions.cpp:
2817         (WebCore::SimpleLineLayout::paintFlow):
2818
2819 2014-01-20  Gurpreet Kaur  <k.gurpreet@samsung.com>
2820
2821         Col width is not honored when dynamically updated and it would make table narrower
2822         https://bugs.webkit.org/show_bug.cgi?id=104711
2823
2824         Reviewed by Antti Koivisto.
2825
2826         Increasing the table width by increasing the colgroup width
2827         was working but decreasing the table width by decreasing the
2828         colgroup width is not working.
2829
2830         Test: fast/dom/HTMLTableColElement/resize-table-width-using-col-width.html
2831
2832         * rendering/RenderTableCol.cpp:
2833         (WebCore::RenderTableCol::styleDidChange):
2834         When colgroup width is defined table cell should adjust according to
2835         that. On decreasing colgroup width the cells maxPreferredLogicalWidth
2836         was still set to the earlier value. Setting the
2837         setPreferredLogicalWidthsDirty to true so that cells pref width is
2838         calculated again.
2839
2840 2014-01-20  Edit Balint  <edbalint@inf.u-szeged.hu>
2841
2842         [CoordinatedGraphics] Segmentation fault at  CoordinatedGraphicsScene::clearImageBackingContents
2843
2844         https://bugs.webkit.org/show_bug.cgi?id=125776
2845
2846         Reviewed by Csaba Osztrogonác.
2847
2848         Unexpected behavior occurs in some test cases which leads to segmentation fault.
2849
2850         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
2851         (WebCore::CompositingCoordinator::removeImageBacking):
2852
2853 2014-01-20  Morten Stenshorne  <mstensho@opera.com>
2854
2855         Region based multicol: tall line causes taller multicol container than necessary
2856         https://bugs.webkit.org/show_bug.cgi?id=122550
2857
2858         Detect and report all column breaks, also when there's no pagination strut involved.
2859
2860         This may end up becoming the overall smallest space shortage in some cases,
2861         so we need to report it, to avoid column height over-stretching.
2862
2863         Reviewed by David Hyatt.
2864
2865         Test: fast/multicol/newmulticol/balance10.html
2866
2867         * rendering/RenderBlockFlow.cpp:
2868         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
2869
2870 2014-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2871
2872         [GLIB] GVariant floating references are not correctly handled by GRefPtr
2873         https://bugs.webkit.org/show_bug.cgi?id=127246
2874
2875         Reviewed by Martin Robinson.
2876
2877         Do not adopt GVariant floating references, they will be converted
2878         to a full reference by GRefPtr.
2879
2880         * platform/gtk/PasteboardHelper.cpp:
2881         (WebCore::PasteboardHelper::fillSelectionData):
2882         (WebCore::PasteboardHelper::fillDataObjectFromDropData):
2883
2884 2014-01-19  Jinwoo Song  <jinwoo7.song@samsung.com>
2885
2886         Use unsigned type for the size of CSSParserValueList
2887         https://bugs.webkit.org/show_bug.cgi?id=127211
2888
2889         Reviewed by Andreas Kling.
2890
2891         * css/CSSParser.cpp: Changed variable type from int to unsigned.
2892         (WebCore::CSSParser::parseValue):
2893
2894 2014-01-19  Jaehun Lim  <ljaehun.lim@samsung.com>
2895
2896         Unreviewed build fix after r162293
2897
2898         Fix debug build.
2899
2900         [ 13%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o
2901         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp: In member function ‘void WebCore::HTMLTreeBuilder::processStartTagForInTable(WebCore::AtomicHTMLToken*)’:
2902         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: error: no match for ‘operator!’ in ‘!(WebCore::HTMLTreeBuilder::InsertionMode)12’
2903         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: candidate is:
2904         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: operator!(bool) <built-in>
2905         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note:   no known conversion for argument 1 from ‘WebCore::HTMLTreeBuilder::InsertionMode’ to ‘bool’
2906         make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o] Error 1
2907         make[1]: *** [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
2908         make: *** [all] Error 2
2909
2910         * html/parser/HTMLTreeBuilder.cpp:
2911         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Fix ASSERT.
2912
2913 2014-01-19  Anders Carlsson  <andersca@apple.com>
2914
2915         Stop using MutexTryLocker in WebCore
2916         https://bugs.webkit.org/show_bug.cgi?id=127254
2917
2918         Reviewed by Andreas Kling.
2919
2920         Instead use std::mutex and std::unique_lock with the std::try_to_lock constructor.
2921
2922         * Modules/webaudio/AudioBufferSourceNode.cpp:
2923         (WebCore::AudioBufferSourceNode::process):
2924         (WebCore::AudioBufferSourceNode::setBuffer):
2925         * Modules/webaudio/AudioBufferSourceNode.h:
2926         * Modules/webaudio/AudioParamTimeline.cpp:
2927         (WebCore::AudioParamTimeline::insertEvent):
2928         (WebCore::AudioParamTimeline::cancelScheduledValues):
2929         (WebCore::AudioParamTimeline::valueForContextTime):
2930         (WebCore::AudioParamTimeline::valuesForTimeRange):
2931         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
2932         * Modules/webaudio/AudioParamTimeline.h:
2933         * Modules/webaudio/ConvolverNode.cpp:
2934         (WebCore::ConvolverNode::process):
2935         (WebCore::ConvolverNode::reset):
2936         (WebCore::ConvolverNode::setBuffer):
2937         * Modules/webaudio/ConvolverNode.h:
2938         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
2939         (WebCore::MediaElementAudioSourceNode::setFormat):
2940         (WebCore::MediaElementAudioSourceNode::process):
2941         (WebCore::MediaElementAudioSourceNode::lock):
2942         (WebCore::MediaElementAudioSourceNode::unlock):
2943         * Modules/webaudio/MediaElementAudioSourceNode.h:
2944         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
2945         (WebCore::MediaStreamAudioSourceNode::setFormat):
2946         (WebCore::MediaStreamAudioSourceNode::process):
2947         * Modules/webaudio/MediaStreamAudioSourceNode.h:
2948         * Modules/webaudio/OscillatorNode.cpp:
2949         (WebCore::OscillatorNode::process):
2950         (WebCore::OscillatorNode::setPeriodicWave):
2951         * Modules/webaudio/OscillatorNode.h:
2952         * Modules/webaudio/PannerNode.cpp:
2953         (WebCore::PannerNode::process):
2954         (WebCore::PannerNode::setPanningModel):
2955         * Modules/webaudio/PannerNode.h:
2956         * Modules/webaudio/WaveShaperProcessor.cpp:
2957         (WebCore::WaveShaperProcessor::setCurve):
2958         (WebCore::WaveShaperProcessor::setOversample):
2959         (WebCore::WaveShaperProcessor::process):
2960         * Modules/webaudio/WaveShaperProcessor.h:
2961
2962 2014-01-19  Alberto Garcia  <berto@igalia.com>
2963
2964         Does not build with SVG disabled
2965         https://bugs.webkit.org/show_bug.cgi?id=127248
2966
2967         Reviewed by Sam Weinig.
2968
2969         Add missing #if ENABLE(SVG) guard.
2970
2971         * dom/ElementData.h:
2972
2973 2014-01-19  Anders Carlsson  <andersca@apple.com>
2974
2975         Use a strong enum for HTMLTreeBuilder::InsertionMode
2976         https://bugs.webkit.org/show_bug.cgi?id=127252
2977
2978         Reviewed by Antti Koivisto.
2979
2980         * html/parser/HTMLTreeBuilder.cpp:
2981         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
2982         (WebCore::HTMLTreeBuilder::constructTree):
2983         (WebCore::HTMLTreeBuilder::processDoctypeToken):
2984         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2985         (WebCore::HTMLTreeBuilder::processTemplateStartTag):
2986         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
2987         (WebCore::HTMLTreeBuilder::closeTheCell):
2988         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
2989         (WebCore::HTMLTreeBuilder::processStartTag):
2990         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
2991         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
2992         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
2993         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
2994         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
2995         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
2996         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
2997         (WebCore::HTMLTreeBuilder::processEndTag):
2998         (WebCore::HTMLTreeBuilder::processComment):
2999         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
3000         (WebCore::HTMLTreeBuilder::processEndOfFile):
3001         (WebCore::HTMLTreeBuilder::defaultForInitial):
3002         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
3003         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
3004         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
3005         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
3006         (WebCore::HTMLTreeBuilder::processScriptStartTag):
3007         * html/parser/HTMLTreeBuilder.h:
3008
3009 2014-01-19  Anders Carlsson  <andersca@apple.com>
3010
3011         Convert LoaderRunLoopCF.cpp and WebCoreThreadRun.cpp over to modern threading primitives
3012         https://bugs.webkit.org/show_bug.cgi?id=127251
3013
3014         Reviewed by Antti Koivisto.
3015
3016         Also add a condition to the loaderRunLoop() function to protect against spurious wake-ups.
3017
3018         * platform/ios/wak/WebCoreThreadRun.cpp:
3019         * platform/network/cf/LoaderRunLoopCF.cpp:
3020         (WebCore::loaderRunLoopMutex):
3021         (WebCore::loaderRunLoopConditionVariable):
3022         (WebCore::runLoaderThread):
3023         (WebCore::loaderRunLoop):
3024
3025 2014-01-19  Anders Carlsson  <andersca@apple.com>
3026
3027         Modernize ReverbConvolver
3028         https://bugs.webkit.org/show_bug.cgi?id=127250
3029
3030         Reviewed by Andreas Kling.
3031
3032         Use std::unique_ptr instead of OwnPtr and the STL threading primitives instead of the WTF ones.
3033
3034         * platform/audio/ReverbConvolver.cpp:
3035         (WebCore::ReverbConvolver::ReverbConvolver):
3036         (WebCore::ReverbConvolver::~ReverbConvolver):
3037         (WebCore::ReverbConvolver::backgroundThreadEntry):
3038         (WebCore::ReverbConvolver::process):
3039         * platform/audio/ReverbConvolver.h:
3040
3041 2014-01-18  Andy Estes  <aestes@apple.com>
3042
3043         [iOS] Rename GestureEventIOS.{cpp,h} to GestureEvent.{cpp,h} to fix the build
3044
3045         InFilesCompiler.pm assumes that <interface name>.h exists for each
3046         interface it processes. We renamed GestureEvent.h to GestureEventIOS.h
3047         but kept the interface named GestureEvent, so a non-existant file was
3048         being referenced by InFilesCompiler.pm (this was hard to detect since
3049         GestureEvent.h still existed in the SDK due to not having submitted
3050         WebKitAdditions recently).
3051
3052         Since we cannot rename the GestureEvent interface, and since there is
3053         no conflicting GestureEvent in open source, we can just rename
3054         GestureEventIOS.{cpp,h} back to GestureEvent.{cpp,h}.
3055
3056         * dom/ios/TouchEvents.cpp: Updated to include GestureEvent.cpp.
3057
3058 2014-01-18  Alexey Proskuryakov  <ap@apple.com>
3059
3060         Memory leak in JSSubtleCrypto::wrapKey
3061         https://bugs.webkit.org/show_bug.cgi?id=127241
3062
3063         Reviewed by Sam Weinig.
3064
3065         * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):
3066         Delete algorithmPtr and parametersPtr that aren't smart pointers because of lambdas.
3067
3068 2014-01-18  Andy Estes  <aestes@apple.com>
3069
3070         Fix the iOS Production build.
3071
3072         * Configurations/WebCore.xcconfig:
3073
3074 2014-01-18  Alberto Garcia  <berto@igalia.com>
3075
3076         [CodeGeneratorJS] Sort output of StructureFlags and function parameters
3077
3078         https://bugs.webkit.org/show_bug.cgi?id=127226
3079
3080         Reviewed by Alexey Proskuryakov.
3081
3082         The order of the keys in a hash is undefined and subject to change
3083         between different Perl versions, so we have to sort them to make
3084         sure that the output is always the same.
3085
3086         * bindings/scripts/CodeGeneratorJS.pm:
3087         (GenerateHeader):
3088         (GenerateParametersCheckExpression):
3089         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
3090         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
3091         * bindings/scripts/test/JS/JSTestEventConstructor.h:
3092         * bindings/scripts/test/JS/JSTestEventTarget.h:
3093         * bindings/scripts/test/JS/JSTestException.h:
3094         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
3095         * bindings/scripts/test/JS/JSTestInterface.h:
3096         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3097         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
3098         * bindings/scripts/test/JS/JSTestNode.h:
3099         * bindings/scripts/test/JS/JSTestObj.cpp:
3100         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
3101         * bindings/scripts/test/JS/JSTestObj.h:
3102         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
3103         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3104         * bindings/scripts/test/JS/JSTestTypedefs.h:
3105         * bindings/scripts/test/JS/JSattribute.h:
3106         * bindings/scripts/test/JS/JSreadonly.h:
3107
3108 2014-01-18  Anders Carlsson  <andersca@apple.com>
3109
3110         Replace a couple of uses of WTF::Function with std::function
3111         https://bugs.webkit.org/show_bug.cgi?id=127218
3112
3113         Reviewed by Andreas Kling.
3114
3115         * WebCore.exp.in:
3116         * page/scrolling/ScrollingThread.cpp:
3117         (WebCore::ScrollingThread::dispatch):
3118         (WebCore::ScrollingThread::dispatchBarrier):
3119         (WebCore::ScrollingThread::shared):
3120         (WebCore::ScrollingThread::createThreadIfNeeded):
3121         (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
3122         * page/scrolling/ScrollingThread.h:
3123         * page/scrolling/mac/ScrollingThreadMac.mm:
3124         (WebCore::ScrollingThread::initializeRunLoop):
3125
3126 2014-01-18  Anders Carlsson  <andersca@apple.com>
3127
3128         Modernize HTML parser code
3129         https://bugs.webkit.org/show_bug.cgi?id=127236
3130
3131         Reviewed by Andreas Kling.
3132
3133         * html/parser/AtomicHTMLToken.h:
3134         * html/parser/CSSPreloadScanner.cpp:
3135         (WebCore::CSSPreloadScanner::emitRule):
3136         * html/parser/HTMLDocumentParser.cpp:
3137         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3138         (WebCore::HTMLDocumentParser::detach):
3139         (WebCore::HTMLDocumentParser::stopParsing):
3140         (WebCore::HTMLDocumentParser::pumpTokenizer):
3141         (WebCore::HTMLDocumentParser::insert):
3142         (WebCore::HTMLDocumentParser::append):
3143         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
3144         * html/parser/HTMLDocumentParser.h:
3145         * html/parser/HTMLElementStack.cpp:
3146         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
3147         (WebCore::HTMLElementStack::insertAbove):
3148         (WebCore::HTMLElementStack::pushCommon):
3149         * html/parser/HTMLElementStack.h:
3150         (WebCore::HTMLElementStack::ElementRecord::releaseNext):
3151         (WebCore::HTMLElementStack::ElementRecord::setNext):
3152         * html/parser/HTMLMetaCharsetParser.cpp:
3153         (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
3154         * html/parser/HTMLMetaCharsetParser.h:
3155         * html/parser/HTMLParserScheduler.h:
3156         * html/parser/HTMLPreloadScanner.cpp:
3157         (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
3158         (WebCore::TokenPreloadScanner::scan):
3159         (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
3160         * html/parser/HTMLPreloadScanner.h:
3161         * html/parser/HTMLResourcePreloader.cpp:
3162         (WebCore::HTMLResourcePreloader::takeAndPreload):
3163         (WebCore::HTMLResourcePreloader::preload):
3164         * html/parser/HTMLResourcePreloader.h:
3165         (WebCore::PreloadRequest::PreloadRequest):
3166         * html/parser/HTMLScriptRunner.h:
3167         * html/parser/HTMLToken.h:
3168         (WebCore::HTMLToken::beginDOCTYPE):
3169         (WebCore::HTMLToken::releaseDoctypeData):
3170         * html/parser/HTMLTokenizer.h:
3171         * html/parser/HTMLTreeBuilder.h:
3172         * html/parser/HTMLViewSourceParser.cpp:
3173         (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
3174         * html/parser/HTMLViewSourceParser.h:
3175         * html/parser/XSSAuditor.cpp:
3176         (WebCore::XSSAuditor::init):
3177         (WebCore::XSSAuditor::filterToken):
3178         * html/parser/XSSAuditor.h:
3179         * html/parser/XSSAuditorDelegate.h:
3180         (WebCore::XSSInfo::XSSInfo):
3181         * loader/TextResourceDecoder.cpp:
3182         (WebCore::TextResourceDecoder::checkForHeadCharset):
3183         (WebCore::TextResourceDecoder::checkForMetaCharset):
3184         * loader/TextResourceDecoder.h:
3185
3186 2014-01-18  Benjamin Poulain  <benjamin@webkit.org>
3187
3188         Make ElementData JIT friendly
3189         https://bugs.webkit.org/show_bug.cgi?id=127209
3190
3191         Reviewed by Geoffrey Garen.
3192
3193         The offsets of ElementData's flags were not accessible by the JIT. This patch
3194         refactor ElementData to use explicit flags so that they can be used from
3195         the code generators.
3196
3197         * dom/Element.cpp:
3198         (WebCore::Element::synchronizeAllAttributes):
3199         (WebCore::Element::synchronizeAttribute):
3200         (WebCore::Element::attributeChanged):
3201         (WebCore::Element::removeAttribute):
3202         * dom/ElementData.cpp:
3203         (WebCore::ElementData::destroy):
3204         (WebCore::ElementData::ElementData):
3205         (WebCore::ShareableElementData::ShareableElementData):
3206         (WebCore::ShareableElementData::~ShareableElementData):
3207         (WebCore::ElementData::arraySizeAndFlagsFromOther):
3208         * dom/ElementData.h:
3209         (WebCore::ElementData::hasName):
3210         (WebCore::ElementData::isUnique):
3211         (WebCore::ElementData::updateFlag):
3212         (WebCore::ElementData::arraySize):
3213         (WebCore::ElementData::setHasNameAttribute):
3214         (WebCore::ElementData::styleAttributeIsDirty):
3215         (WebCore::ElementData::setStyleAttributeIsDirty):
3216         (WebCore::ElementData::presentationAttributeStyleIsDirty):
3217         (WebCore::ElementData::setPresentationAttributeStyleIsDirty):
3218         (WebCore::ElementData::animatedSVGAttributesAreDirty):
3219         (WebCore::ElementData::setAnimatedSVGAttributesAreDirty):
3220         (WebCore::ElementData::length):
3221         (WebCore::ElementData::attributeBase):
3222         (WebCore::ElementData::presentationAttributeStyle):
3223         * dom/StyledElement.cpp:
3224         (WebCore::StyledElement::synchronizeStyleAttributeInternal):
3225         (WebCore::StyledElement::attributeChanged):
3226         (WebCore::StyledElement::styleAttributeChanged):
3227         (WebCore::StyledElement::inlineStyleChanged):
3228         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
3229         * dom/StyledElement.h:
3230         (WebCore::StyledElement::invalidateStyleAttribute):
3231         (WebCore::StyledElement::presentationAttributeStyle):
3232         * svg/SVGElement.cpp:
3233         (WebCore::SVGElement::synchronizeAnimatedSVGAttribute):
3234         * svg/SVGElement.h:
3235         (WebCore::SVGElement::invalidateSVGAttributes):
3236
3237 2014-01-18  Zalan Bujtas  <zalan@apple.com>
3238
3239         Subpixel layout: IntRect::infiniteRect() overflows when subpixel layout is enabled.
3240         https://bugs.webkit.org/show_bug.cgi?id=126899
3241
3242         Reviewed by Tim Horton.
3243
3244         Use LayoutUnits when setting the infinite values on IntRect::infiniteRect() to ensure
3245         it won't overflow later when the IntRect gets converted to LayoutRect.
3246
3247         Covered by existing tests.
3248
3249         * platform/graphics/IntRect.h:
3250         (WebCore::IntRect::infiniteRect):
3251
3252 2014-01-18  Anders Carlsson  <andersca@apple.com>
3253
3254         Remove support for the viewsource attribute
3255         https://bugs.webkit.org/show_bug.cgi?id=127232
3256
3257         Reviewed by Andreas Kling.
3258
3259         The 'viewsource' attribute on frames is nonstandard, not used by anyone (the inspector has
3260         its own syntax highlighting) and not audited.
3261
3262         This patch removes parsing of the viewsource attribute and the associated tests. A subsequent
3263         patch will remove the code as well.
3264
3265         * html/HTMLFrameElementBase.cpp:
3266         (WebCore::HTMLFrameElementBase::parseAttribute):
3267
3268 2014-01-18  Anders Carlsson  <andersca@apple.com>
3269
3270         XMLTreeViewer shouldn't use the view source mode
3271         https://bugs.webkit.org/show_bug.cgi?id=127229
3272
3273         Reviewed by Andreas Kling.
3274
3275         Add the relevant styles from view-source.css to XMLViewer.css.
3276
3277         * xml/XMLTreeViewer.cpp:
3278         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
3279         * xml/XMLViewer.css:
3280         (body):
3281         (.comment):
3282         (.tag):
3283         (.attribute-name):
3284         (.attribute-value):
3285         * xml/XMLViewer.js:
3286         (createComment):
3287         (createTag):
3288         (createAttribute):
3289
3290 2014-01-18  Andreas Kling  <akling@apple.com>
3291
3292         Remove unused "touchDragDropEnabled" setting.
3293         <https://webkit.org/b/127227>
3294
3295         Reviewed by Sam Weinig.
3296
3297         * page/Settings.in:
3298
3299 2014-01-18  Brian Burg  <bburg@apple.com>
3300
3301         Web Inspector: Page should use std::unique_ptr for InspectorController
3302         https://bugs.webkit.org/show_bug.cgi?id=127068
3303
3304         Reviewed by Joseph Pecoraro.
3305
3306         Make Page and WorkerGlobalScope keep a std::unique_ptr to InspectorController
3307         and WorkerInspectorController. Store page references and return controller
3308         references where possible.
3309
3310         Convert call sites to use an InspectorController reference.
3311         Convert instantiations of InspectorFrontendClient to use std::unique_ptr.
3312         Convert InspectorOverlay to keep Page references.
3313
3314         * WebCore.exp.in:
3315         * bindings/js/JSDOMWindowBase.cpp:
3316         (WebCore::JSDOMWindowBase::supportsProfiling):
3317         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
3318         * dom/Node.cpp:
3319         (WebCore::Node::inspect):
3320         * inspector/InspectorController.cpp:
3321         (WebCore::InspectorController::InspectorController):
3322         (WebCore::InspectorController::inspectedPageDestroyed):
3323         (WebCore::InspectorController::setInspectorFrontendClient):
3324         (WebCore::InspectorController::hasInspectorFrontendClient):
3325         (WebCore::InspectorController::connectFrontend):
3326         (WebCore::InspectorController::disconnectFrontend):
3327         (WebCore::InspectorController::inspectedPage):
3328         (WebCore::InspectorController::developerExtrasEnabled):
3329         * inspector/InspectorController.h:
3330         * inspector/InspectorFrontendClientLocal.cpp:
3331         (WebCore::InspectorFrontendClientLocal::canAttachWindow):
3332         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
3333         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowWidth):
3334         (WebCore::InspectorFrontendClientLocal::openInNewTab):
3335         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
3336         * inspector/InspectorOverlay.cpp:
3337         (WebCore::InspectorOverlay::InspectorOverlay):
3338         (WebCore::InspectorOverlay::getHighlight):
3339         (WebCore::InspectorOverlay::highlightQuad):
3340         (WebCore::InspectorOverlay::update):
3341         (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
3342         (WebCore::InspectorOverlay::drawQuadHighlight):
3343         (WebCore::InspectorOverlay::overlayPage):
3344         (WebCore::InspectorOverlay::reset):
3345         * inspector/InspectorOverlay.h:
3346         * inspector/InstrumentingAgents.cpp:
3347         (WebCore::instrumentationForPage): remove null checks.
3348         (WebCore::instrumentationForWorkerGlobalScope): remove null checks.
3349         * inspector/WorkerInspectorController.cpp:
3350         (WebCore::WorkerInspectorController::WorkerInspectorController):
3351         (WebCore::WorkerInspectorController::connectFrontend):
3352         (WebCore::WorkerInspectorController::disconnectFrontend):
3353         * inspector/WorkerInspectorController.h:
3354         * loader/FrameLoader.cpp:
3355         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
3356         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
3357         * page/ContextMenuController.cpp:
3358         (WebCore::ContextMenuController::showContextMenu):
3359         (WebCore::ContextMenuController::contextMenuItemSelected):
3360         (WebCore::ContextMenuController::populate):
3361         (WebCore::ContextMenuController::addInspectElementItem):
3362         * page/FrameView.cpp:
3363         (WebCore::FrameView::sendResizeEventIfNeeded):
3364         * page/Page.cpp:
3365         (WebCore::Page::Page):
3366         * page/Page.h:
3367         (WebCore::Page::inspectorController):
3368         * page/PageDebuggable.cpp:
3369         (WebCore::PageDebuggable::hasLocalDebugger):
3370         (WebCore::PageDebuggable::parentProcessIdentifier):
3371         (WebCore::PageDebuggable::connect):
3372         (WebCore::PageDebuggable::disconnect):
3373         (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
3374         (WebCore::PageDebuggable::setIndicating):
3375         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
3376         (WebCore::CompositingCoordinator::syncDisplayState):
3377         * testing/Internals.cpp:
3378         (WebCore::Internals::resetToConsistentState):
3379         (WebCore::Internals::inspectorHighlightRects):
3380         (WebCore::Internals::inspectorHighlightObject):
3381         (WebCore::Internals::emitInspectorDidBeginFrame):
3382         (WebCore::Internals::emitInspectorDidCancelFrame):
3383         (WebCore::Internals::openDummyInspectorFrontend):
3384         (WebCore::Internals::closeDummyInspectorFrontend):
3385         (WebCore::Internals::setInspectorResourcesDataSizeLimits):
3386         (WebCore::Internals::setJavaScriptProfilingEnabled):
3387         * workers/WorkerGlobalScope.cpp:
3388         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
3389         * workers/WorkerGlobalScope.h: remove clearInspector(). 
3390         (WebCore::WorkerGlobalScope::workerInspectorController):
3391         * workers/WorkerMessagingProxy.cpp:
3392         (WebCore::connectToWorkerGlobalScopeInspectorTask):
3393         (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
3394         (WebCore::dispatchOnInspectorBackendTask):
3395         * workers/WorkerThread.cpp:
3396         (WebCore::WorkerThreadShutdownFinishTask::performTask):
3397
3398 2014-01-18  Anders Carlsson  <andersca@apple.com>
3399
3400         Remove ENABLE_THREADED_HTML_PARSER defines everywhere
3401         https://bugs.webkit.org/show_bug.cgi?id=127225
3402
3403         Reviewed by Andreas Kling.
3404
3405         This concludes the removal of over 8.8 million lines of threaded parser code.
3406
3407         * Configurations/FeatureDefines.xcconfig:
3408
3409 2014-01-18  Anders Carlsson  <andersca@apple.com>
3410
3411         Remove the remaining threaded parser code
3412         https://bugs.webkit.org/show_bug.cgi?id=127224
3413
3414         Reviewed by Andreas Kling.
3415
3416         * dom/Document.cpp:
3417         (WebCore::Document::decrementActiveParserCount):
3418         * html/parser/AtomicHTMLToken.h:
3419         * html/parser/HTMLDocumentParser.cpp:
3420         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3421         (WebCore::HTMLDocumentParser::detach):
3422         (WebCore::HTMLDocumentParser::stopParsing):
3423         (WebCore::HTMLDocumentParser::prepareToStopParsing):
3424         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
3425         (WebCore::HTMLDocumentParser::forcePlaintextForTextDocument):
3426         (WebCore::HTMLDocumentParser::insert):
3427         (WebCore::HTMLDocumentParser::append):
3428         (WebCore::HTMLDocumentParser::end):
3429         (WebCore::HTMLDocumentParser::finish):
3430         (WebCore::HTMLDocumentParser::textPosition):
3431         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
3432         * html/parser/HTMLDocumentParser.h:
3433         * html/parser/HTMLParserIdioms.cpp:
3434         * html/parser/HTMLParserIdioms.h:
3435         * html/parser/HTMLTokenizer.cpp:
3436         * html/parser/HTMLTokenizer.h:
3437         * loader/DocumentLoader.cpp:
3438         (WebCore::DocumentLoader::isLoading):
3439         (WebCore::DocumentLoader::checkLoadComplete):
3440         * page/Settings.in:
3441
3442 2014-01-18  Anders Carlsson  <andersca@apple.com>
3443
3444         Remove threaded parser code from the preload scanners
3445         https://bugs.webkit.org/show_bug.cgi?id=127222
3446
3447         Reviewed by Andreas Kling.
3448
3449         * html/parser/CSSPreloadScanner.cpp:
3450         (WebCore::CSSPreloadScanner::CSSPreloadScanner):
3451         Use nullptr.
3452
3453         (WebCore::CSSPreloadScanner::scan):
3454         Move scanCommon here and simplify the code.
3455
3456         * html/parser/CSSPreloadScanner.h:
3457         Remove scanCommon.
3458
3459         * html/parser/HTMLPreloadScanner.cpp:
3460         (WebCore::TokenPreloadScanner::tagIdFor):
3461         TagId is a strong enum now, update enum values.
3462
3463         (WebCore::TokenPreloadScanner::initiatorFor):
3464         Ditto.
3465
3466         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
3467         Ditto.
3468
3469         (WebCore::TokenPreloadScanner::StartTagScanner::match):
3470         Indent this.
3471
3472         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
3473         TagId is a strong enum now, update enum values.
3474
3475         (WebCore::TokenPreloadScanner::StartTagScanner::charset):
3476         Ditto.
3477
3478         (WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
3479         Ditto.
3480
3481         (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
3482         Ditto.
3483
3484         (WebCore::TokenPreloadScanner::scan):
3485         Merge scan and scanCommon.
3486
3487         * html/parser/HTMLPreloadScanner.h:
3488
3489 2014-01-18  Lauro Neto  <lauro.neto@openbossa.org>
3490
3491         Remove Nix files from WebCore
3492         https://bugs.webkit.org/show_bug.cgi?id=127176
3493
3494         Reviewed by Anders Carlsson.
3495
3496         * PlatformNix.cmake: Removed.
3497         * css/mediaControlsNix.css: Removed.
3498         * css/mediaControlsNixFullscreen.css: Removed.
3499         * editing/nix/EditorNix.cpp: Removed.
3500         * page/nix/EventHandlerNix.cpp: Removed.
3501         * platform/audio/nix/AudioBusNix.cpp: Removed.
3502         * platform/audio/nix/AudioDestinationNix.cpp: Removed.
3503         * platform/audio/nix/AudioDestinationNix.h: Removed.
3504         * platform/audio/nix/FFTFrameNix.cpp: Removed.
3505         * platform/graphics/nix/IconNix.cpp: Removed.
3506         * platform/graphics/nix/ImageNix.cpp: Removed.
3507         * platform/nix/CursorNix.cpp: Removed.
3508         * platform/nix/DragDataNix.cpp: Removed.
3509         * platform/nix/DragImageNix.cpp: Removed.
3510         * platform/nix/ErrorsNix.cpp: Removed.
3511         * platform/nix/ErrorsNix.h: Removed.
3512         * platform/nix/FileSystemNix.cpp: Removed.
3513         * platform/nix/GamepadsNix.cpp: Removed.
3514         * platform/nix/LanguageNix.cpp: Removed.
3515         * platform/nix/LocalizedStringsNix.cpp: Removed.
3516         * platform/nix/MIMETypeRegistryNix.cpp: Removed.
3517         * platform/nix/NixKeyboardUtilities.cpp: Removed.
3518         * platform/nix/NixKeyboardUtilities.h: Removed.
3519         * platform/nix/PasteboardNix.cpp: Removed.
3520         * platform/nix/PlatformKeyboardEventNix.cpp: Removed.
3521         * platform/nix/PlatformScreenNix.cpp: Removed.
3522         * platform/nix/RenderThemeNix.cpp: Removed.
3523         * platform/nix/RenderThemeNix.h: Removed.
3524         * platform/nix/ScrollbarThemeNix.cpp: Removed.
3525         * platform/nix/ScrollbarThemeNix.h: Removed.
3526         * platform/nix/SharedTimerNix.cpp: Removed.
3527         * platform/nix/SoundNix.cpp: Removed.
3528         * platform/nix/TemporaryLinkStubs.cpp: Removed.
3529         * platform/nix/WidgetNix.cpp: Removed.
3530         * platform/nix/support/MultiChannelPCMData.cpp: Removed.
3531         * platform/text/nix/TextBreakIteratorInternalICUNix.cpp: Removed.
3532
3533 2014-01-18  Anders Carlsson  <andersca@apple.com>
3534
3535         Remove DocumentParser::pinToMainThread() and related code
3536         https://bugs.webkit.org/show_bug.cgi?id=127221
3537
3538         Reviewed by Andreas Kling.
3539
3540         * dom/Document.cpp:
3541         (WebCore::Document::setContent):
3542         * dom/DocumentParser.h:
3543         * html/parser/HTMLDocumentParser.cpp:
3544         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3545         * html/parser/HTMLDocumentParser.h:
3546         * html/parser/HTMLParserOptions.cpp:
3547         (WebCore::HTMLParserOptions::HTMLParserOptions):
3548         * html/parser/HTMLParserOptions.h:
3549         * html/parser/HTMLTreeBuilder.cpp:
3550         (WebCore::HTMLTreeBuilder::processEndTag):
3551         * loader/DocumentWriter.cpp:
3552         (WebCore::DocumentWriter::replaceDocument):
3553
3554 2014-01-18  Anders Carlsson  <andersca@apple.com>
3555
3556         Remove HTMLParserThread
3557         https://bugs.webkit.org/show_bug.cgi?id=127220
3558
3559         Reviewed by Andreas Kling.
3560
3561         * CMakeLists.txt:
3562         * GNUmakefile.list.am:
3563         * WebCore.vcxproj/WebCore.vcxproj:
3564         * WebCore.vcxproj/WebCore.vcxproj.filters:
3565         * WebCore.xcodeproj/project.pbxproj:
3566         * html/parser/HTMLDocumentParser.cpp:
3567         * html/parser/HTMLParserThread.cpp: Removed.
3568         * html/parser/HTMLParserThread.h: Removed.
3569
3570 2014-01-17  Andreas Kling  <akling@apple.com>
3571
3572         GC soon after responding to fake memory pressure.
3573         <https://webkit.org/b/127210>
3574
3575         Ask JSC to garbage collect "soon" after handling the fake memory
3576         pressure signal on Mac. This seems to stabilize the post-pressure
3577         numbers on Membuster3 a bit on my laptop. The difference is mostly
3578         made up of JSC::CodeBlock objects.
3579
3580         Reviewed by Geoffrey Garen.
3581
3582         * platform/mac/MemoryPressureHandlerMac.mm:
3583         (WebCore::MemoryPressureHandler::install):
3584
3585 2014-01-18  Anders Carlsson  <andersca@apple.com>
3586
3587         Remove files only used by the threaded HTML parser
3588         https://bugs.webkit.org/show_bug.cgi?id=127219
3589         <rdar://problem/13331277>
3590
3591         Reviewed by Andreas Kling.
3592
3593         * CMakeLists.txt:
3594         * GNUmakefile.list.am:
3595         * WebCore.vcxproj/WebCore.vcxproj:
3596         * WebCore.vcxproj/WebCore.vcxproj.filters:
3597         * WebCore.xcodeproj/project.pbxproj:
3598         * html/parser/AtomicHTMLToken.h:
3599         * html/parser/BackgroundHTMLInputStream.cpp: Removed.
3600         * html/parser/BackgroundHTMLInputStream.h: Removed.
3601         * html/parser/BackgroundHTMLParser.cpp: Removed.
3602         * html/parser/BackgroundHTMLParser.h: Removed.
3603         * html/parser/CompactHTMLToken.cpp: Removed.
3604         * html/parser/CompactHTMLToken.h: Removed.
3605         * html/parser/HTMLDocumentParser.cpp:
3606         * html/parser/HTMLDocumentParser.h:
3607         * html/parser/HTMLIdentifier.cpp: Removed.
3608         * html/parser/HTMLIdentifier.h: Removed.
3609         * html/parser/HTMLParserIdioms.h:
3610         * html/parser/HTMLPreloadScanner.h:
3611         * html/parser/HTMLTreeBuilderSimulator.cpp: Removed.
3612         * html/parser/HTMLTreeBuilderSimulator.h: Removed.
3613
3614 2014-01-17  Andreas Kling  <akling@apple.com>
3615
3616         Micro-optimize RenderBoxModelObject::computedCSSPadding().
3617         <https://webkit.org/b/127208>
3618
3619         Make computedCSSPadding() take the Length as a const reference
3620         to avoid creating a temporary copy. This was showing up (0.2%)
3621         on DoYouEvenBench.
3622
3623         Reviewed by Anders Carlsson.
3624
3625         * rendering/RenderBoxModelObject.h:
3626         * rendering/RenderBoxModelObject.cpp:
3627         (WebCore::RenderBoxModelObject::computedCSSPadding):
3628
3629 2014-01-17  Anders Carlsson  <andersca@apple.com>
3630
3631         Add a callOnMainThreadAndWait variant in SocketStreamHandle
3632         https://bugs.webkit.org/show_bug.cgi?id=127180
3633
3634         Reviewed by Geoffrey Garen.
3635
3636         WTF::callOnMainThreadAndWait was only used inside SocketStreamHandleCFNet.cpp, 
3637         so add an improved version there which is implemented in terms of callOnMainThread and
3638         with the bonus of handling spurious wake-ups correctly (the old version didn't).
3639
3640         * platform/network/cf/SocketStreamHandle.h:
3641         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3642         (WebCore::callOnMainThreadAndWait):
3643         (WebCore::SocketStreamHandle::pacExecutionCallback):
3644         (WebCore::SocketStreamHandle::readStreamCallback):
3645         (WebCore::SocketStreamHandle::writeStreamCallback):
3646
3647 2014-01-17  Anders Carlsson  <andersca@apple.com>
3648
3649         Clean up PageCache classes
3650         https://bugs.webkit.org/show_bug.cgi?id=127202
3651
3652         Reviewed by Andreas Kling.
3653
3654         * WebCore.exp.in:
3655         * history/CachedFrame.cpp:
3656         (WebCore::CachedFrameBase::~CachedFrameBase):
3657         (WebCore::CachedFrame::CachedFrame):
3658         (WebCore::CachedFrame::clear):
3659         (WebCore::CachedFrame::setCachedFramePlatformData):
3660         * history/CachedFrame.h:
3661         * history/CachedPage.cpp:
3662         (WebCore::CachedPage::CachedPage):
3663         * history/CachedPage.h:
3664         * history/HistoryItem.h:
3665         (WebCore::HistoryItem::isInPageCache):
3666         * history/PageCache.cpp:
3667         (WebCore::PageCache::add):
3668         (WebCore::PageCache::take):
3669         (WebCore::PageCache::remove):
3670         * history/PageCache.h:
3671         * loader/FrameLoader.cpp:
3672         (WebCore::FrameLoader::commitProvisionalLoad):
3673         * loader/HistoryController.cpp:
3674         (WebCore::HistoryController::invalidateCurrentItemCachedPage):
3675
3676 2014-01-17  Andy Estes  <aestes@apple.com>
3677
3678         Work around a preprocessor warning in mediaControlsApple.js
3679         https://bugs.webkit.org/show_bug.cgi?id=127204
3680
3681         Reviewed by Dan Bernstein.
3682
3683         * Modules/mediacontrols/mediaControlsApple.js: Changed '' to String().
3684
3685 2014-01-17  Daniel Bates  <dabates@apple.com>
3686
3687         Fix the iOS build after <http://trac.webkit.org/changeset/162184>
3688         (https://bugs.webkit.org/show_bug.cgi?id=126856)
3689
3690         Remove symbol for WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator(unsigned short const*, int).
3691         Add symbol for WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator(WTF::StringView).
3692
3693         * WebCore.exp.in:
3694
3695 2014-01-17  Andreas Kling  <akling@apple.com>
3696
3697         Remove unused TOUCH_ADJUSTMENT code.
3698         <https://webkit.org/b/127181>
3699
3700         There are no ports using the ENABLE(TOUCH_ADJUSTMENT) feature
3701         anymore, so nuke it from orbit.
3702
3703         Reviewed by Anders Carlsson.
3704
3705         * page/EventHandler.cpp:
3706         * page/EventHandler.h:
3707         * page/Settings.in:
3708         * page/TouchAdjustment.cpp: Removed.
3709         * page/TouchAdjustment.h: Removed.
3710         * testing/Internals.cpp:
3711         * testing/Internals.h:
3712         * testing/Internals.idl:
3713
3714 2014-01-17  Beth Dakin  <bdakin@apple.com>
3715
3716         Need a way to test the tile cache with margins enabled
3717         https://bugs.webkit.org/show_bug.cgi?id=127194
3718         -and corresponding-
3719         <rdar://problem/15571327>
3720
3721         Reviewed by Tim Horton.
3722
3723         This patch adds a new function to InternalSettings that will allow layout tests to 
3724         flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also         
3725         makes changing that setting take effect immediately. 
3726
3727         To make this setting dynamic, we can no longer generate the Setting function, so 
3728         we have to export the symbol manually.
3729         * WebCore.exp.in:
3730
3731         This new function on FrameView will call into RenderLayerBacking to add or remove 
3732         margins.
3733         * page/FrameView.cpp:
3734         (WebCore::FrameView::setBackgroundExtendsBeyondPage):
3735         * page/FrameView.h:
3736
3737         Again, we’re no longer using the boiler-plate generated Setting functions, so now 
3738         we can call into FrameView to make the background extend.
3739         * page/Settings.cpp:
3740         (WebCore::Settings::Settings):
3741         (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
3742         * page/Settings.h:
3743         (WebCore::Settings::backgroundShouldExtendBeyondPage):
3744         * page/Settings.in:
3745
3746         Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change 
3747         dynamic.
3748         * platform/graphics/ca/mac/TileController.mm:
3749         (WebCore::TileController::setTileMargins):
3750
3751         Move the call to TiledBacking::setTileMargins() into a helper function so that the 
3752         same code can be used for FrameView.
3753         * rendering/RenderLayerBacking.cpp:
3754         (WebCore::RenderLayerBacking::RenderLayerBacking):
3755         (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
3756         * rendering/RenderLayerBacking.h:
3757
3758         New InternalSetting.
3759         * testing/InternalSettings.cpp:
3760         (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage):
3761         * testing/InternalSettings.h:
3762         * testing/InternalSettings.idl:
3763
3764 2014-01-17  Anders Carlsson  <andersca@apple.com>
3765
3766         Remove another unused FrameLoaderClient callback
3767         https://bugs.webkit.org/show_bug.cgi?id=127192
3768
3769         Reviewed by Dan Bernstein.
3770
3771         FrameLoaderClient::dispatchDocumentElementAvailable() was only used by the Chromium port, so remove it.
3772
3773         * html/ImageDocument.cpp:
3774         (WebCore::ImageDocument::createDocumentStructure):
3775         * html/MediaDocument.cpp:
3776         (WebCore::MediaDocumentParser::createDocumentStructure):
3777         * html/PluginDocument.cpp:
3778         (WebCore::PluginDocumentParser::createDocumentStructure):
3779         * html/parser/HTMLConstructionSite.cpp:
3780         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
3781         * loader/EmptyClients.h:
3782         * loader/FrameLoader.cpp:
3783         * loader/FrameLoader.h:
3784         * loader/FrameLoaderClient.h:
3785         * xml/parser/XMLDocumentParserLibxml2.cpp:
3786         (WebCore::XMLDocumentParser::startElementNs):
3787
3788 2014-01-17  Anders Carlsson  <andersca@apple.com>
3789
3790         Remove FrameLoaderClient::didPerformFirstNavigation()
3791         https://bugs.webkit.org/show_bug.cgi?id=127191
3792
3793         Reviewed by Dan Bernstein.
3794
3795         * loader/EmptyClients.h:
3796         * loader/FrameLoader.cpp:
3797         (WebCore::FrameLoader::FrameLoader):
3798         * loader/FrameLoader.h:
3799         * loader/FrameLoaderClient.h:
3800         * loader/HistoryController.cpp:
3801         (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
3802
3803 2014-01-17  Anders Carlsson  <andersca@apple.com>
3804
3805         Move didPerformFirstNavigation() logic to -[WebView _didCommitLoadForFrame:]
3806         https://bugs.webkit.org/show_bug.cgi?id=127189
3807
3808         Reviewed by Dan Bernstein.
3809
3810         * loader/FrameLoaderClient.h:
3811         (WebCore::FrameLoaderClient::didPerformFirstNavigation):
3812         Add an empty implementation of didPerformFirstNavigation() to make it easier to remove it from subclasses.
3813
3814 2014-01-17  Eric Carlson  <eric.carlson@apple.com>
3815
3816         [iOS] HTMLMediaSession should set AudioSession category
3817         https://bugs.webkit.org/show_bug.cgi?id=127137
3818
3819         Reviewed by Sam Weinig.
3820
3821         * html/HTMLMediaSession.cpp:
3822         (WebCore::initializeAudioSession): New, set the audio session to "media" on iOS.
3823         (WebCore::HTMLMediaSession::HTMLMediaSession): Call initializeAudioSession.
3824
3825 2014-01-17  Daniel Bates  <dabates@apple.com>
3826
3827         Fix the iOS build after <http://trac.webkit.org/changeset/162178>
3828         (https://bugs.webkit.org/show_bug.cgi?id=127147)
3829
3830         Declare WebMediaSessionHelper outside of namespace WebCore to resolve error that
3831         "Objective-C declarations may only appear in global scope".
3832
3833         * platform/audio/ios/MediaSessionManagerIOS.mm:
3834
3835 2014-01-17  Bem Jones-Bey  <bjonesbe@adobe.com>
3836
3837         [CSS Shapes] Stacked floats with shape-outside should allow inline content to interact with the non-outermost float
3838         https://bugs.webkit.org/show_bug.cgi?id=122576
3839
3840         Reviewed by David Hyatt.
3841
3842         Make inline content interact with stacked floats with shape-outside
3843         per the spec. This means that content can interact with floats on the
3844         line that are not the outermost float.
3845
3846         This refactors ComputeFloatOffsetAdapter into a superclass and two
3847         subclasses: one adaptor for determining the offset for float layout,
3848         and one for determining the offset for inline layout.
3849
3850         The logic in LineWidth::shrinkAvailableWidthForNewFloatIfNeeded has
3851         been updated to handle stacked floats with shape-outside properly and
3852         has been considerably simplified in the process. It was previously
3853         doing a whole bunch of unnecessary work.
3854
3855         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-stacked-000.html
3856                fast/shapes/shape-outside-floats/shape-outside-floats-stacked-001.html
3857                fast/shapes/shape-outside-floats/shape-outside-floats-stacked-002.html
3858
3859         * rendering/FloatingObjects.cpp:
3860         (WebCore::ComputeFloatOffsetAdapter::~ComputeFloatOffsetAdapter):
3861         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter::ComputeFloatOffsetForFloatLayoutAdapter):
3862         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter::~ComputeFloatOffsetForFloatLayoutAdapter):
3863         (WebCore::ComputeFloatOffsetForLineLayoutAdapter::ComputeFloatOffsetForLineLayoutAdapter):
3864         (WebCore::ComputeFloatOffsetForLineLayoutAdapter::~ComputeFloatOffsetForLineLayoutAdapter):
3865         (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat):
3866         (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
3867         (WebCore::FloatingObjects::logicalLeftOffset):
3868         (WebCore::FloatingObjects::logicalRightOffset):
3869         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
3870         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
3871         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
3872         (WebCore::shapeInfoForFloat):
3873         (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
3874         (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
3875         * rendering/line/LineWidth.cpp:
3876         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
3877         * rendering/shapes/ShapeOutsideInfo.cpp:
3878         (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
3879         * rendering/shapes/ShapeOutsideInfo.h:
3880
3881 2014-01-17  Zoltan Horvath  <zoltan@webkit.org>
3882
3883         [CSS3] Add rendering support for -webkit-text-align-last
3884         https://bugs.webkit.org/show_bug.cgi?id=99584
3885
3886         Reviewed by David Hyatt.
3887
3888         Add support for the text-align-last CSS3 property, according to the latest specification:
3889         http://dev.w3.org/csswg/css-text-3/#text-align-last-property
3890
3891         Tests: fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify.html
3892                fast/css3-text/css3-text-align-last/text-align-last-with-text-align-non-justify.html
3893
3894         * rendering/RenderBlockLineLayout.cpp:
3895         (WebCore::RenderBlockFlow::textAlignmentForLine):
3896         * rendering/style/RenderStyle.cpp:
3897         (WebCore::RenderStyle::changeRequiresLayout):
3898
3899 2014-01-17  Daniel Bates  <dabates@apple.com>
3900
3901         Fix the iOS build after <http://trac.webkit.org/changeset/162208>
3902         (https://bugs.webkit.org/show_bug.cgi?id=127139)
3903
3904         __MAC_OS_X_VERSION_MIN_REQUIRED isn't defined when building for iOS. Instead, explicitly
3905         check that we're not PLATFORM(IOS) to avoid defining the enum value CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain.
3906
3907         * platform/network/cf/CookieJarCFNet.cpp:
3908
3909 2014-01-17  Bear Travis  <betravis@adobe.com>
3910
3911         [CSS Shapes] Basic shapes' computed position should be a horizontal and vertical offset
3912         https://bugs.webkit.org/show_bug.cgi?id=127010
3913
3914         Reviewed by Rob Buis.
3915
3916         This patch updates the computed position values used for blending to be a horizontal
3917         left offset and a vertical top offset. When positions include a center, bottom, or
3918         right position offset, it is converted to the appropriate top/left coordinate as
3919         a calc expression. Serialized values still use the original bottom/right directions
3920         when present, and also omit the top/left keywords where possible.
3921
3922         Updated parsing and animation tests.
3923
3924         * css/BasicShapeFunctions.cpp:
3925         (WebCore::valueForCenterCoordinate): Use the simplified BasicShapeCenterCoordinate,
3926         which includes an offset and whether the direction is from the top/left or bottom/right.
3927         (WebCore::valueForBasicShape): Ditto.
3928         (WebCore::convertToCenterCoordinate): Ditto.
3929         (WebCore::basicShapeForValue): Ditto.
3930         (WebCore::floatValueForCenterCoordinate): Ditto.
3931         * page/animation/CSSPropertyAnimation.cpp:
3932         (WebCore::blendFunc): Remove the RenderBox parameter, which is no longer needed.
3933         * rendering/style/BasicShapes.cpp:
3934         (WebCore::BasicShapeCenterCoordinate::updateComputedLength): Calculate the computed
3935         position offset for this center coordinate.
3936         (WebCore::BasicShapeRectangle::blend): Remove the RenderBox parameter.
3937         (WebCore::DeprecatedBasicShapeCircle::blend): Ditto.
3938         (WebCore::BasicShapeCircle::blend): Ditto.
3939         (WebCore::DeprecatedBasicShapeEllipse::blend): Ditto.
3940         (WebCore::BasicShapeEllipse::blend): Ditto.
3941         (WebCore::BasicShapePolygon::blend): Ditto.
3942         (WebCore::BasicShapeInsetRectangle::blend): Ditto.
3943         (WebCore::BasicShapeInset::blend): Ditto.
3944         * rendering/style/BasicShapes.h:
3945         (WebCore::BasicShapeCenterCoordinate::BasicShapeCenterCoordinate): Simplify
3946         BasicShapeCenterCoordinate to contain an offset and a direction. Also add a
3947         computed length, which is an offset from the top/left direction.
3948         (WebCore::BasicShapeCenterCoordinate::direction):
3949         (WebCore::BasicShapeCenterCoordinate::computedLength):
3950         (WebCore::BasicShapeCenterCoordinate::blend):
3951
3952 2014-01-17  Alexey Proskuryakov  <ap@apple.com>
3953
3954         More non-Mac build fix.
3955
3956         * platform/network/cf/CookieJarCFNet.cpp:
3957
3958 2014-01-16  Myles C. Maxfield  <mmaxfield@apple.com>
3959
3960         Unprefix text-emphasis CSS properties
3961         https://bugs.webkit.org/show_bug.cgi?id=127160
3962
3963         Reviewed by Sam Weinig.
3964
3965         Add synonym CSS properties. We don't want to delete the old ones because
3966         we've shipped with them included.
3967
3968         Test: fast/css3-text/css3-text-decoration/text-decoration-unprefix.html
3969
3970         * css/CSSPropertyNames.in:
3971
3972 2014-01-17  Alberto Garcia  <berto@igalia.com>
3973
3974         [GTK] WebKitGtk/testcopyandpaste fails in debug builds
3975         https://bugs.webkit.org/show_bug.cgi?id=127173
3976
3977         Reviewed by Carlos Garcia Campos.
3978
3979         Remove duplicate "PasteGlobalSelection" entry.
3980
3981         * editing/EditorCommand.cpp:
3982         (WebCore::createCommandMap):
3983
3984 2014-01-14  Andreas Kling  <akling@apple.com>
3985
3986         Pack ResourceRequest harder.
3987         <https://webkit.org/b/126982>
3988
3989         Re-arrange the members of ResourceRequest to reduce padding,
3990         shrinking it by 8 bytes.
3991
3992         Reviewed by Anders Carlsson.
3993
3994         * platform/network/ResourceRequestBase.h:
3995         (WebCore::ResourceRequestBase::ResourceRequestBase):
3996
3997 2014-01-17  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
3998
3999         Remove workaround for compilers not supporting deleted functions
4000         https://bugs.webkit.org/show_bug.cgi?id=127166
4001
4002         Reviewed by Andreas Kling.
4003
4004         * bindings/js/JSLazyEventListener.h:
4005         * dom/ContainerNode.h:
4006         * dom/Document.h:
4007         * dom/Element.h:
4008         * rendering/InlineFlowBox.h:
4009         * rendering/InlineTextBox.h:
4010         * rendering/RenderButton.h:
4011         * rendering/RenderCombineText.h:
4012         * rendering/RenderElement.h:
4013         * rendering/RenderFieldset.h:
4014         * rendering/RenderFileUploadControl.h:
4015         * rendering/RenderFrame.h:
4016         * rendering/RenderFrameBase.h:
4017         * rendering/RenderFrameSet.h:
4018         * rendering/RenderHTMLCanvas.h:
4019         * rendering/RenderIFrame.h:
4020         * rendering/RenderLineBreak.h:
4021         * rendering/RenderListBox.h:
4022         * rendering/RenderListMarker.h:
4023         * rendering/RenderMedia.h:
4024         * rendering/RenderMenuList.h:
4025         * rendering/RenderSnapshottedPlugIn.h:
4026         * rendering/RenderTableCell.h:
4027         * rendering/RenderTableRow.h:
4028         * rendering/RenderTableSection.h:
4029         * rendering/RenderText.h:
4030         * rendering/RenderTextControl.h:
4031         * rendering/RenderTextControlMultiLine.h:
4032         * rendering/RenderTextControlSingleLine.h:
4033         * rendering/RenderVideo.h:
4034         * rendering/RenderWidget.h:
4035         * rendering/svg/RenderSVGBlock.h:
4036         * rendering/svg/RenderSVGForeignObject.h:
4037         * rendering/svg/RenderSVGImage.h:
4038         * rendering/svg/RenderSVGInline.h:
4039         * rendering/svg/RenderSVGRect.h:
4040         * rendering/svg/RenderSVGResourceClipper.h:
4041         * rendering/svg/RenderSVGResourceFilter.h:
4042         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
4043         * rendering/svg/RenderSVGResourceGradient.h:
4044         * rendering/svg/RenderSVGResourceLinearGradient.h:
4045         * rendering/svg/RenderSVGResourceMarker.h:
4046         * rendering/svg/RenderSVGResourceMasker.h:
4047         * rendering/svg/RenderSVGResourcePattern.h:
4048         * rendering/svg/RenderSVGResourceRadialGradient.h:
4049         * rendering/svg/RenderSVGRoot.h:
4050         * rendering/svg/RenderSVGShape.h:
4051         * rendering/svg/RenderSVGTSpan.h:
4052         * rendering/svg/RenderSVGText.h:
4053         * rendering/svg/RenderSVGTextPath.h:
4054         * rendering/svg/RenderSVGTransformableContainer.h:
4055         * rendering/svg/RenderSVGViewportContainer.h:
4056         * xml/XPathValue.h:
4057
4058 2014-01-17  Zan Dobersek  <zdobersek@igalia.com>
4059
4060         [ATK] Modernize the for loops in ATK AX code
4061         https://bugs.webkit.org/show_bug.cgi?id=127120
4062
4063         Reviewed by Mario Sanchez Prada.
4064
4065         Update the for loops to be range-based in ATK accessibility code.
4066         This work is complementary to r161979.
4067
4068         * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
4069         (webkitAccessibleHypertextGetLink):
4070    &nb