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