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