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