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